refresh priv to pub

This commit is contained in:
KholdFuzion 2020-02-19 21:28:20 -06:00
parent 499d6a5b2f
commit 3a796978db
200 changed files with 202305 additions and 198732 deletions

44
.gitignore vendored
View File

@ -1,27 +1,24 @@
*.z64
build/*
.*~
*.rz
.vscode/settings.json
.vscode/c_cpp_properties.json
*.tmp
.vscode/ipch/*
ge007.u.bin
.vscode/launch.json
.vscode/settings.json
*.rz
*.tmp
*.z64
/.vs
lib/libultra_rom.a
ge007.u.elf
baserom.u.dump
ge007.u.dump
assets/ge007.u.29E560.Globalimagetable_commandblock.bin
021990.bin
0219D0.bin
assets/animationtable_data.bin
assets/animationtable_entries.bin
assets/font/*.bin
assets/ge007.j.118660.jfont_chardata.bin
assets/ge007.u.117880.jfont_dl.bin
assets/ge007.u.117940.jfont_chardata.bin
assets/ge007.j.118660.jfont_chardata.bin
assets/ge007.u.123040.efont_chardata.bin
assets/ge007.u.29D160.Globalimagetable.bin
assets/ge007.u.29E560.Globalimagetable_commandblock.bin
assets/ge007.u.2A4D50.usedby7F008DE4.bin
assets/font/*.bin
assets/images/split/*.bin
assets/music/*.bin
assets/music/*.ctl
@ -29,21 +26,24 @@ assets/music/*.tbl
assets/obseg/bg/*.bin
assets/obseg/chr/*.bin
assets/obseg/gun/*.bin
assets/obseg/ob__ob_end.seg
assets/obseg/prop/*.bin
assets/obseg/setup/*.bin
assets/obseg/setup/u/*.bin
assets/obseg/setup/e/*.bin
assets/obseg/setup/j/*.bin
assets/obseg/setup/u/*.bin
assets/obseg/stan/*.bin
assets/obseg/text/*.bin
assets/obseg/text/u/*.bin
assets/obseg/text/e/*.bin
assets/obseg/text/j/*.bin
assets/obseg/ob__ob_end.seg
assets/obseg/text/u/*.bin
assets/ramrom/*.bin
build/*
data_seg
ge007.e.bin
ge007.e.elf
ge007.j.bin
ge007.j.elf
data_seg
021990.bin
.vscode/launch.json
0219D0.bin
ge007.u.bin
ge007.u.elf
lib/libultra_rom.a

21
CppProperties.json Normal file
View File

@ -0,0 +1,21 @@
{
"configurations": [
{
"name": "MIPS3-DEBUG",
"configurationType": "Debug",
"generator": "Unix Makefiles",
"includePath": [
"${env.INCLUDE}",
"${workspaceRoot}\\**",
""
],
"wslPath": "${defaultWSLPath}",
"defines": [
"TRI4_Ext",
"DEBUG"
]
//"compilerPath": "/usr/",
}
]
}

View File

@ -55,7 +55,7 @@ BUILD_DIR := build/$(COUNTRYCODE)
include assets/Makefile.obseg
include assets/Makefile.music
BUILD_SUB_DIRS := \
src src/game src/rarezip libultra assets assets/obseg \
src src/game src/rarezip src/libultra assets assets/obseg \
assets/obseg/brief assets/obseg/chr assets/obseg/gun assets/obseg/prop \
assets/obseg/text assets/obseg/bg assets/obseg/setup assets/obseg/stan \
assets/music assets/ramrom assets/images assets/images/split assets/font
@ -80,8 +80,8 @@ CODEFILES := $(foreach dir,src,$(wildcard $(dir)/*.c))
CODEOBJECTS := $(foreach file,$(CODEFILES),$(BUILD_DIR)/$(file:.c=.o))
LIBULTRA := lib/libultra_rom.a
ULTRAFILES := libultra/libultra.s
ULTRAOBJECTS := $(BUILD_DIR)/libultra/libultra.o
ULTRAFILES := $(foreach dir,src/libultra,$(wildcard $(dir)/*.s))
ULTRAOBJECTS := $(foreach file,$(ULTRAFILES),$(BUILD_DIR)/$(file:.s=.o))
GAMEFILES := $(foreach dir,src/game,$(wildcard $(dir)/*.c))
GAMEOBJECTS := $(foreach file,$(GAMEFILES),$(BUILD_DIR)/$(file:.c=.o))
@ -89,6 +89,12 @@ GAMEOBJECTS := $(foreach file,$(GAMEFILES),$(BUILD_DIR)/$(file:.c=.o))
ROMFILES := assets/romfiles.s
ROMOBJECTS := $(BUILD_DIR)/assets/romfiles.o
GLOBALIMAGETABLEFILES := assets/GlobalImageTable.c
GLOBALIMAGETABLEOBJECTS := $(BUILD_DIR)/assets/GlobalImageTable.o
ROMFILES2 := assets/romfiles2.s
ROMOBJECTS2 := $(BUILD_DIR)/assets/romfiles2.o
RAMROM_FILES := assets/ramrom/ramrom.s
RAMROM_OBJECTS := $(BUILD_DIR)/assets/ramrom/ramrom.o
@ -152,6 +158,10 @@ $(BUILD_DIR)/%.o: src/%.s
$(BUILD_DIR)/src/%.o: src/%.s
$(AS) $(ASFLAGS) -o $@ $<
$(BUILD_DIR)/assets/%.o: assets/%.c
$(ASM_PREPROC) $(OPTIMIZATION) $< | $(CC) -c $(CFLAGS) tools/asmpreproc/include-stdin.c -o $@ $(OPTIMIZATION)
$(ASM_PREPROC) $(OPTIMIZATION) $< --post-process $@ --assembler "$(AS) $(ASFLAGS)" --asm-prelude tools/asmpreproc/prelude.s
$(BUILD_DIR)/assets/%.o: assets/%.s
$(AS) $(ASFLAGS) -o $@ $<
@ -178,7 +188,7 @@ $(BUILD_DIR)/src/%.o: src/%.c
$(BUILD_DIR)/$(OBSEGMENT): $(OBSEG_RZ) $(IMAGE_OBJS)
$(APPELF): $(ULTRAOBJECTS) $(HEADEROBJECTS) $(OBSEG_RZ) $(BUILD_DIR)/$(OBSEGMENT) $(MUSIC_RZ_FILES) $(BOOTOBJECTS) $(CODEOBJECTS) $(GAMEOBJECTS) $(RZOBJECTS) $(ROMOBJECTS) $(RAMROM_OBJECTS) $(FONT_OBJECTS) $(MUSIC_OBJECTS) $(OBSEG_OBJECTS)
$(APPELF): $(ULTRAOBJECTS) $(HEADEROBJECTS) $(OBSEG_RZ) $(BUILD_DIR)/$(OBSEGMENT) $(MUSIC_RZ_FILES) $(BOOTOBJECTS) $(CODEOBJECTS) $(GAMEOBJECTS) $(RZOBJECTS) $(ROMOBJECTS) $(GLOBALIMAGETABLEOBJECTS) $(ROMOBJECTS2) $(RAMROM_OBJECTS) $(FONT_OBJECTS) $(MUSIC_OBJECTS) $(OBSEG_OBJECTS)
$(LD) $(LDFLAGS) -o $@
$(APPBIN): $(APPELF)

693
assets/GlobalImageTable.c Normal file
View File

@ -0,0 +1,693 @@
#include "ultra64.h"
#include "bondconstants.h"
#include "bondtypes.h"
struct sGlobalImageTable GlobalImageTable = {
{ //globalDL_0x000
0xE7000000, 0x00000000,
0xBA001402, 0x00000000,
0xB900031D, 0x00504B50,
0xBA001001, 0x00000000,
0xFC121824, 0xFF33FFFF,
0xBB000001, 0xFFFFFFFF,
0xFD700000, 0xABCD083A,
0xF5700000, 0x07000000,
0xE6000000, 0x00000000,
0xF3000000, 0x0761F125,
0xF5680E00, 0x00018060,
0xF2000000, 0x000DC0DC,
0xBA000E02, 0x00000000,
0xE7000000, 0x00000000,
0xB8000000, 0x00000000
},
{ //globalDL_0x078
0xE7000000, 0x00000000,
0xBA001402, 0x00100000,
0xB900031D, 0x0C184B50,
0xBA001001, 0x00000000,
0xFC111404, 0xFF13FFFF,
0xBB000001, 0xFFFFFFFF,
0xFD700000, 0xABCD0824,
0xF5700000, 0x07000000,
0xE6000000, 0x00000000,
0xF3000000, 0x0761F125,
0xF5680E00, 0x00018060,
0xF2000000, 0x000DC0DC,
0xFD100000, 0xABCD0825,
0xF5100188, 0x07000000,
0xE6000000, 0x00000000,
0xF3000000, 0x070DF200,
0xF5100988, 0x01090A42,
0xF2000000, 0x010DC0DC,
0xBA000E02, 0x00000000,
0xE7000000, 0x00000000,
0xB8000000, 0x00000000
},
{ //globalDL_0x120
0xE7000000, 0x00000000,
0xBA001402, 0x00100000,
0xB900031D, 0x0C184B50,
0xBA001001, 0x00000000,
0xFC111404, 0xFF13FFFF,
0xBB000001, 0xFFFFFFFF,
0xFD700000, 0xABCD0828,
0xF5700000, 0x07000000,
0xE6000000, 0x00000000,
0xF3000000, 0x0761F125,
0xF5680E00, 0x00018060,
0xF2000000, 0x000DC0DC,
0xFD100000, 0xABCD0829,
0xF5100188, 0x07000000,
0xE6000000, 0x00000000,
0xF3000000, 0x070DF200,
0xF5100988, 0x01090A42,
0xF2000000, 0x010DC0DC,
0xBA000E02, 0x00000000,
0xE7000000, 0x00000000,
0xB8000000, 0x00000000
},
{ //globalDL_0x1c8
0xE7000000, 0x00000000,
0xBA001402, 0x00100000,
0xB900031D, 0x0C184B50,
0xBA001001, 0x00000000,
0xFC111404, 0xFF13FFFF,
0xBB000001, 0xFFFFFFFF,
0xFD700000, 0xABCD0832,
0xF5700000, 0x07000000,
0xE6000000, 0x00000000,
0xF3000000, 0x0761F125,
0xF5680E00, 0x00018060,
0xF2000000, 0x000DC0DC,
0xFD100000, 0xABCD0833,
0xF5100188, 0x07000000,
0xE6000000, 0x00000000,
0xF3000000, 0x070DF200,
0xF5100988, 0x01090A42,
0xF2000000, 0x010DC0DC,
0xBA000E02, 0x00000000,
0xE7000000, 0x00000000,
0xB8000000, 0x00000000
},
{ //globalDL_0x270
0xE7000000, 0x00000000,
0xBA001402, 0x00100000,
0xB900031D, 0x0C184B50,
0xBA001001, 0x00000000,
0xFC111404, 0xFF13FFFF,
0xBB000001, 0xFFFFFFFF,
0xFD700000, 0xABCD0834,
0xF5700000, 0x07000000,
0xE6000000, 0x00000000,
0xF3000000, 0x0761F125,
0xF5680E00, 0x00018060,
0xF2000000, 0x000DC0DC,
0xFD100000, 0xABCD0835,
0xF5100188, 0x07000000,
0xE6000000, 0x00000000,
0xF3000000, 0x070DF200,
0xF5100988, 0x01090A42,
0xF2000000, 0x010DC0DC,
0xBA000E02, 0x00000000,
0xE7000000, 0x00000000,
0xB8000000, 0x00000000
},
{ //globalDL_0x318
0xE7000000, 0x00000000,
0xBA001402, 0x00100000,
0xB900031D, 0x0C184B50,
0xBA001001, 0x00000000,
0xFC111404, 0xFF13FFFF,
0xBB000001, 0xFFFFFFFF,
0xFD700000, 0xABCD0836,
0xF5700000, 0x07000000,
0xE6000000, 0x00000000,
0xF3000000, 0x0761F125,
0xF5680E00, 0x00018060,
0xF2000000, 0x000DC0DC,
0xFD100000, 0xABCD0837,
0xF5100188, 0x07000000,
0xE6000000, 0x00000000,
0xF3000000, 0x070DF200,
0xF5100988, 0x01090A42,
0xF2000000, 0x010DC0DC,
0xBA000E02, 0x00000000,
0xE7000000, 0x00000000,
0xB8000000, 0x00000000
},
{ //globalDL_0x3c0
0xE7000000, 0x00000000,
0xBA001402, 0x00100000,
0xB900031D, 0x0C184B50,
0xBA001001, 0x00000000,
0xFC111404, 0xFF13FFFF,
0xBB000001, 0xFFFFFFFF,
0xFD700000, 0xABCD0838,
0xF5700000, 0x07000000,
0xE6000000, 0x00000000,
0xF3000000, 0x0761F125,
0xF5680E00, 0x00018060,
0xF2000000, 0x000DC0DC,
0xFD100000, 0xABCD0839,
0xF5100188, 0x07000000,
0xE6000000, 0x00000000,
0xF3000000, 0x070DF200,
0xF5100988, 0x01090A42,
0xF2000000, 0x010DC0DC,
0xBA000E02, 0x00000000,
0xE7000000, 0x00000000,
0xB8000000, 0x00000000
},
{ //globalDL_0x468
0xE7000000, 0x00000000,
0xBA001402, 0x00100000,
0xB900031D, 0x0C184B50,
0xBA001001, 0x00000000,
0xFC111404, 0xFF13FFFF,
0xBB000001, 0xFFFFFFFF,
0xFD700000, 0xABCD083A,
0xF5700000, 0x07000000,
0xE6000000, 0x00000000,
0xF3000000, 0x0761F125,
0xF5680E00, 0x00018060,
0xF2000000, 0x000DC0DC,
0xFD100000, 0xABCD083B,
0xF5100188, 0x07000000,
0xE6000000, 0x00000000,
0xF3000000, 0x070DF200,
0xF5100988, 0x01090A42,
0xF2000000, 0x010DC0DC,
0xBA000E02, 0x00000000,
0xE7000000, 0x00000000,
0xB8000000, 0x00000000
},
{ //globalDL_0x510
0xE7000000, 0x00000000,
0xBA001402, 0x00100000,
0xB900031D, 0x0C184B50,
0xBA001001, 0x00000000,
0xFC111404, 0xFF13FFFF,
0xBB000001, 0xFFFFFFFF,
0xFD700000, 0xABCD083C,
0xF5700000, 0x07000000,
0xE6000000, 0x00000000,
0xF3000000, 0x0761F125,
0xF5680E00, 0x00018060,
0xF2000000, 0x000DC0DC,
0xFD100000, 0xABCD083D,
0xF5100188, 0x07000000,
0xE6000000, 0x00000000,
0xF3000000, 0x070DF200,
0xF5100988, 0x01090A42,
0xF2000000, 0x010DC0DC,
0xBA000E02, 0x00000000,
0xE7000000, 0x00000000,
0xB8000000, 0x00000000
},
{ //globalDL_0x5b8
0xE7000000, 0x00000000,
0xBA001402, 0x00100000,
0xB900031D, 0x0C184B50,
0xBA001001, 0x00000000,
0xFC111404, 0xFF13FFFF,
0xBB000001, 0xFFFFFFFF,
0xFD700000, 0xABCD083E,
0xF5700000, 0x07000000,
0xE6000000, 0x00000000,
0xF3000000, 0x0761F125,
0xF5680E00, 0x00018060,
0xF2000000, 0x000DC0DC,
0xFD100000, 0xABCD083F,
0xF5100188, 0x07000000,
0xE6000000, 0x00000000,
0xF3000000, 0x070DF200,
0xF5100988, 0x01090A42,
0xF2000000, 0x010DC0DC,
0xBA000E02, 0x00000000,
0xE7000000, 0x00000000,
0xB8000000, 0x00000000
},
{ //globalDL_0x660
0xE7000000, 0x00000000,
0xBA001402, 0x00100000,
0xB900031D, 0x0C184B50,
0xBA001001, 0x00000000,
0xFC111404, 0xFF13FFFF,
0xBB000001, 0xFFFFFFFF,
0xFD700000, 0xABCD0840,
0xF5700000, 0x07000000,
0xE6000000, 0x00000000,
0xF3000000, 0x0761F125,
0xF5680E00, 0x00018060,
0xF2000000, 0x000DC0DC,
0xFD100000, 0xABCD0841,
0xF5100188, 0x07000000,
0xE6000000, 0x00000000,
0xF3000000, 0x070DF200,
0xF5100988, 0x01090A42,
0xF2000000, 0x010DC0DC,
0xBA000E02, 0x00000000,
0xE7000000, 0x00000000,
0xB8000000, 0x00000000
},
{ //globalDL_0x708
0xE7000000, 0x00000000,
0xBA001402, 0x00100000,
0xB900031D, 0x0C184B50,
0xBA001001, 0x00000000,
0xFC111404, 0xFF13FFFF,
0xBB000001, 0xFFFFFFFF,
0xFD700000, 0xABCD0826,
0xF5700000, 0x07000000,
0xE6000000, 0x00000000,
0xF3000000, 0x0761F125,
0xF5680E00, 0x00018060,
0xF2000000, 0x000DC0DC,
0xFD100000, 0xABCD0827,
0xF5100188, 0x07000000,
0xE6000000, 0x00000000,
0xF3000000, 0x070DF200,
0xF5100988, 0x01090A42,
0xF2000000, 0x010DC0DC,
0xBA000E02, 0x00000000,
0xE7000000, 0x00000000,
0xB8000000, 0x00000000
},
{ //globalDL_0x7b0
0xE7000000, 0x00000000,
0xBA001402, 0x00100000,
0xB900031D, 0x0C184B50,
0xBA001001, 0x00000000,
0xFC111404, 0xFF13FFFF,
0xBB000001, 0xFFFFFFFF,
0xFD700000, 0xABCD082A,
0xF5700000, 0x07000000,
0xE6000000, 0x00000000,
0xF3000000, 0x0761F125,
0xF5680E00, 0x00018060,
0xF2000000, 0x000DC0DC,
0xFD100000, 0xABCD082B,
0xF5100188, 0x07000000,
0xE6000000, 0x00000000,
0xF3000000, 0x070DF200,
0xF5100988, 0x01090A42,
0xF2000000, 0x010DC0DC,
0xBA000E02, 0x00000000,
0xE7000000, 0x00000000,
0xB8000000, 0x00000000
},
{ //globalDL_0x858
0xE7000000, 0x00000000,
0xBA001402, 0x00100000,
0xB900031D, 0x0C184B50,
0xBA001001, 0x00000000,
0xFC111404, 0xFF13FFFF,
0xBB000001, 0xFFFFFFFF,
0xFD700000, 0xABCD082C,
0xF5700000, 0x07000000,
0xE6000000, 0x00000000,
0xF3000000, 0x0761F125,
0xF5680E00, 0x00018060,
0xF2000000, 0x000DC0DC,
0xFD100000, 0xABCD082D,
0xF5100188, 0x07000000,
0xE6000000, 0x00000000,
0xF3000000, 0x070DF200,
0xF5100988, 0x01090A42,
0xF2000000, 0x010DC0DC,
0xBA000E02, 0x00000000,
0xE7000000, 0x00000000,
0xB8000000, 0x00000000
},
{ //globalDL_0x900
0xE7000000, 0x00000000,
0xBA001402, 0x00100000,
0xB900031D, 0x0C184B50,
0xBA001001, 0x00000000,
0xFC111404, 0xFF13FFFF,
0xBB000001, 0xFFFFFFFF,
0xFD700000, 0xABCD082E,
0xF5700000, 0x07000000,
0xE6000000, 0x00000000,
0xF3000000, 0x0761F125,
0xF5680E00, 0x00018060,
0xF2000000, 0x000DC0DC,
0xFD100000, 0xABCD082F,
0xF5100188, 0x07000000,
0xE6000000, 0x00000000,
0xF3000000, 0x070DF200,
0xF5100988, 0x01090A42,
0xF2000000, 0x010DC0DC,
0xBA000E02, 0x00000000,
0xE7000000, 0x00000000,
0xB8000000, 0x00000000
},
{ //globalDL_0x9a8
0xE7000000, 0x00000000,
0xBA001402, 0x00100000,
0xB900031D, 0x0C184B50,
0xBA001001, 0x00000000,
0xFC111404, 0xFF13FFFF,
0xBB000001, 0xFFFFFFFF,
0xFD700000, 0xABCD0830,
0xF5700000, 0x07000000,
0xE6000000, 0x00000000,
0xF3000000, 0x0761F125,
0xF5680E00, 0x00018060,
0xF2000000, 0x000DC0DC,
0xFD100000, 0xABCD0831,
0xF5100188, 0x07000000,
0xE6000000, 0x00000000,
0xF3000000, 0x070DF200,
0xF5100988, 0x01090A42,
0xF2000000, 0x010DC0DC,
0xBA000E02, 0x00000000,
0xE7000000, 0x00000000,
0xB8000000, 0x00000000
},
{ //globalDL_0xa50
0xE7000000, 0x00000000,
0xBA001402, 0x00000000,
0xB900031D, 0x00552078,
0xBA001001, 0x00000000,
0xFC121824, 0xFF33FFFF,
0xBB000001, 0xFFFFFFFF,
0xFD700000, 0xABCD03F7,
0xF5700000, 0x07000000,
0xE6000000, 0x00000000,
0xF3000000, 0x071FF200,
0xE7000000, 0x00000000,
0xF5680800, 0x00014050,
0xF2000000, 0x0007C07C,
0xBA000E02, 0x00000000,
0xB8000000, 0x00000000
},
{ //s_genericimage
{0x858, 0x36, 0x36, 3, F_IA, D_8BIT, MIRROR, MIRROR, 0}
},
{ //s_impactimages
{0x878, 0x30, 0x30, 6, F_IA, D_8BIT, MIRROR, MIRROR, 0},
{0x879, 0x40, 0x20, 7, F_IA, D_8BIT, MIRROR, MIRROR, 0},
{0x87A, 0x40, 0x40, 0, F_IA, D_8BIT, MIRROR, MIRROR, 0},
{0xCE, 0x40, 0x20, 7, F_IA, D_8BIT, MIRROR, MIRROR, 0},
{0x878, 0x30, 0x30, 6, F_IA, D_8BIT, MIRROR, MIRROR, 0},
{0x878, 0x30, 0x30, 6, F_IA, D_8BIT, MIRROR, MIRROR, 0},
{0x878, 0x30, 0x30, 6, F_IA, D_8BIT, MIRROR, MIRROR, 0},
{0x87B, 0x20, 0x20, 0, F_IA, D_8BIT, MIRROR, MIRROR, 0},
{0x87C, 0x20, 0x20, 0, F_RGBA, D_16BIT, MIRROR, MIRROR, 0},
{0x5C3, 0x20, 0x20, 6, F_RGBA, D_16BIT, MIRROR, MIRROR, 0},
{0x87D, 0x20, 0x20, 6, F_RGBA, D_16BIT, MIRROR, MIRROR, 0},
{0x5C4, 0x20, 0x20, 6, F_RGBA, D_16BIT, MIRROR, MIRROR, 0},
{0x87E, 0x20, 0x20, 6, F_RGBA, D_16BIT, MIRROR, MIRROR, 0},
{0x87F, 0x20, 0x20, 6, F_RGBA, D_16BIT, MIRROR, MIRROR, 0},
{0x5C6, 0x20, 0x20, 6, F_RGBA, D_16BIT, MIRROR, MIRROR, 0},
{0x5C7, 0x20, 0x20, 6, F_RGBA, D_16BIT, MIRROR, MIRROR, 0},
{0x87A, 0x40, 0x40, 0, F_IA, D_8BIT, MIRROR, MIRROR, 0},
{0x878, 0x30, 0x30, 6, F_IA, D_8BIT, MIRROR, MIRROR, 0},
{0x878, 0x30, 0x30, 6, F_IA, D_8BIT, MIRROR, MIRROR, 0},
{0x878, 0x30, 0x30, 6, F_IA, D_8BIT, MIRROR, MIRROR, 0}
},
{ //s_explosion_smokeimages
{0x880, 0x40, 0x40, 0, F_IA, D_8BIT, 0, 0, 0},
{0x881, 0x40, 0x40, 0, F_IA, D_8BIT, 0, 0, 0},
{0x882, 0x40, 0x40, 0, F_IA, D_8BIT, 0, 0, 0},
{0x883, 0x40, 0x40, 0, F_IA, D_8BIT, 0, 0, 0},
{0x884, 0x40, 0x40, 0, F_IA, D_8BIT, 0, 0, 0},
{0x885, 0x40, 0x40, 0, F_IA, D_8BIT, 0, 0, 0}
},
{ //s_scattered_explosions
{0x886, 0x40, 0x40, 0, F_IA, D_8BIT, 0, 0, 0},
{0x887, 0x40, 0x40, 0, F_IA, D_8BIT, 0, 0, 0},
{0x888, 0x40, 0x40, 0, F_IA, D_8BIT, 0, 0, 0},
{0x889, 0x40, 0x40, 0, F_IA, D_8BIT, 0, 0, 0},
{0x88A, 0x40, 0x40, 0, F_IA, D_8BIT, 0, 0, 0}
},
{ //s_flareimage1
{0x8B5, 0x40, 0x40, 0, F_IA, D_8BIT, 0, 0, 0}
},
{ //s_flareimage2
{0x8B6, 0x40, 0x40, 0, F_IA, D_8BIT, 0, 0, 0}
},
{ //s_flareimage3
{0x850, 0x10, 0x20, 6, F_RGBA, D_32BIT, 0, 0, 0}
},
{ //s_flareimage4
{0x857, 0x10, 0x20, 6, F_RGBA, D_32BIT, 0, 0, 0}
},
{ //s_flareimage5
{0x856, 0x20, 0x20, 0, F_RGBA, D_32BIT, 0, 0, 0}
},
{ //s_ammo9mmimage
{0x8B7, 5, 0xC, 0, F_RGBA, D_32BIT, MIRROR, MIRROR, 0}
},
{ //s_rifleammoimage
{0x8B8, 5, 0x1C, 0, F_RGBA, D_32BIT, MIRROR, MIRROR, 0}
},
{ //s_shotgunammoimage
{0x877, 6, 0x14, 0, F_RGBA, D_32BIT, MIRROR, MIRROR, 0}
},
{ //s_knifeammoimage
{0x876, 6, 0x18, 0, F_RGBA, D_32BIT, MIRROR, MIRROR, 0}
},
{ //s_glammoimage
{0x875, 8, 0x15, 0, F_RGBA, D_32BIT, 0, MIRROR, 0}
},
{ //s_rocketammoimage
{0x871, 7, 0x16, 0, F_RGBA, D_32BIT, MIRROR, MIRROR, 0}
},
{ //s_genericmineammoimage
{0x872, 0xE, 0xE, 0, F_RGBA, D_32BIT, MIRROR, MIRROR, 0}
},
{ //s_grenadeammoimage
{0x873, 0xE, 0x12, 0, F_RGBA, D_32BIT, MIRROR, MIRROR, 0}
},
{ //s_magnumammoimage
{0x874, 5, 0xF, 0, F_RGBA, D_32BIT, MIRROR, MIRROR, 0}
},
{ //s_goldengunammoimage
{0x8B9, 5, 0xC, 0, F_RGBA, D_32BIT, MIRROR, MIRROR, 0}
},
{ //s_remotemineammoimage
{0x8BA, 0xE, 0xE, 0, F_RGBA, D_32BIT, MIRROR, MIRROR, 0}
},
{ //s_timedmineammoimage
{0x8BE, 0xE, 0xE, 0, F_RGBA, D_32BIT, MIRROR, MIRROR, 0}
},
{ //s_proxmineammoimage
{0x8BB, 0xE, 0xE, 0, F_RGBA, D_32BIT, MIRROR, MIRROR, 0}
},
{ //s_tankammoimage
{0x9A0, 7, 0x16, 0, F_IA, D_8BIT, MIRROR, MIRROR, 0}
},
{ //s_crosshairimage
{0x8BC, 0x20, 0x20, 0, F_RGBA, D_32BIT, 0, 0, 0}
},
{ //s_betacrosshairimage
{0x8BD, 0x20, 0x20, 0, F_RGBA, D_32BIT, 0, 0, 0}
},
{ //s_glassoverlayimage
{0x292, 0x20, 1, 6, F_IA, D_8BIT, 0, 0, 0},
{0x28E, 0x36, 0x36, 3, F_IA, D_8BIT, MIRROR, MIRROR, 0}
},
{ //s_monitorimages
{0x88B, 0x20, 0x20, 0, F_I, D_8BIT, 0, 0, 0},
{0x88C, 0x80, 0x10, 0, F_I, D_8BIT, 0, 0, 0},
{0x88D, 0x80, 0x10, 0, F_I, D_8BIT, 0, 0, 0},
{0x88E, 0x80, 0x10, 0, F_I, D_8BIT, 0, 0, 0},
{0x88F, 0x80, 0x10, 0, F_I, D_8BIT, 0, 0, 0},
{0x890, 0x80, 0x10, 0, F_I, D_8BIT, 0, 0, 0},
{0x891, 0x80, 0x10, 0, F_I, D_8BIT, 0, 0, 0},
{0x892, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0},
{0x893, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0},
{0x894, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0},
{0x895, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0},
{0x4A1, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0},
{0x896, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0},
{0x897, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0},
{0x4A2, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0},
{0x4A3, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0},
{0x898, 0x10, 0x10, 5, F_I, D_8BIT, 0, 0, 0},
{0x246, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0},
{0x247, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0},
{0x248, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0},
{0x899, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0},
{0x89A, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0},
{0x89B, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0},
{0x89C, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0},
{0x245, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0},
{0x89D, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0},
{0x89E, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0},
{0x8B3, 0x40, 0x40, 0, F_I, D_8BIT, 0, 0, 0},
{0x8AF, 0x20, 0x20, 0, F_I, D_8BIT, 0, 0, 0},
{0x8B0, 0x20, 0x20, 0, F_I, D_8BIT, 0, 0, 0},
{0x8B1, 0x20, 0x20, 0, F_I, D_8BIT, 0, 0, 0},
{0x8B2, 0x20, 0x20, 0, F_I, D_8BIT, 0, 0, 0},
{0x8AB, 0x20, 0x20, 0, F_I, D_8BIT, 0, 0, 0},
{0x8AC, 0x20, 0x20, 0, F_I, D_8BIT, 0, 0, 0},
{0x8AD, 0x20, 0x20, 0, F_I, D_8BIT, 0, 0, 0},
{0x8AE, 0x20, 0x20, 0, F_I, D_8BIT, 0, 0, 0},
{0x8AA, 0x20, 0x20, 0, F_I, D_8BIT, 0, 0, 0},
{0x89F, 0x20, 0x20, 0, F_I, D_8BIT, 0, 0, 0},
{0x8A0, 0x20, 0x20, 0, F_I, D_8BIT, 0, 0, 0},
{0x8A1, 0x20, 0x20, 0, F_I, D_8BIT, 0, 0, 0},
{0x8A2, 0x20, 0x20, 6, F_I, D_8BIT, 0, 0, 0},
{0x8A3, 0x20, 0x20, 6, F_I, D_8BIT, 0, 0, 0},
{0x8A4, 0x20, 0x20, 6, F_I, D_8BIT, 0, 0, 0},
{0x8A5, 0x20, 0x20, 6, F_I, D_8BIT, 0, 0, 0},
{0x8A6, 0x80, 0x30, 0, F_I, D_8BIT, 0, MIRROR, 0},
{0x8A7, 0x10, 0x10, 5, F_I, D_8BIT, 0, 0, 0},
{0x8A8, 0x10, 0x10, 5, F_I, D_8BIT, 0, 0, 0},
{0x8A9, 0x10, 0x10, 5, F_I, D_8BIT, 0, 0, 0},
{0x8D7, 0x36, 0x36, 0, F_IA, D_8BIT, MIRROR, MIRROR, 0},
{0x345, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0}
},
{ //s_skywaterimages
{0x8B4, 0x40, 0x40, 0, F_IA, D_8BIT, 0, 0, 0},
{0x5E4, 0x40, 0x40, 0, F_I, D_8BIT, 0, 0, 0},
{0x5E5, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0}
},
{ //s_mainfolderimages
{0, 0x20, 0x1C, 0, F_RGBA, D_32BIT, 0, MIRROR, 0},
{2, 0x20, 0x1C, 0, F_RGBA, D_32BIT, 0, MIRROR, 0},
{3, 0x7A, 0x12, 0, F_IA, D_8BIT, MIRROR, MIRROR, 0},
{1, 0xF, 0xF, 0, F_IA, D_8BIT, MIRROR, MIRROR, 0},
{4, 0x14, 0x14, 0, F_IA, D_8BIT, MIRROR, MIRROR, 0},
{0xA47, 0x10, 0x10, 0, F_I, D_8BIT, 0, 0, 0}
},
{ //s_mpradarimages
{0xC8, 0x20, 0x20, 6, F_RGBA, D_16BIT, 0, 0, 0}
},
{ //s_mpcharselimages
{0xA2A, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA2B, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA2C, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA2D, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA32, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA33, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA34, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA35, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA36, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA37, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA38, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA39, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA2E, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA2F, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA30, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA31, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA48, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA49, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA4A, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA4B, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA4C, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA4D, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA4E, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA4F, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA50, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA51, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA52, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA53, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA54, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA55, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA56, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA57, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA58, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA59, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA5A, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA5B, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA5C, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA5D, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA5E, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA5F, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA60, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA61, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA62, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA63, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA64, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA65, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA66, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA67, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA68, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA69, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA6A, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA6B, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA6C, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA6D, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA6E, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA6F, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA7A, 0x41, 0x43, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA7B, 0x41, 0x43, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA7C, 0x41, 0x43, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA7D, 0x41, 0x43, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA86, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA85, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA83, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0},
{0xA84, 0x41, 0x41, 7, F_I, D_4BIT, MIRROR, MIRROR, 0}
},
{ //s_mpstageselimages
{0xA20, 0x44, 0x2C, 0, F_I, D_8BIT, MIRROR, MIRROR, 0},
{0xA16, 0x44, 0x2C, 0, F_I, D_8BIT, MIRROR, MIRROR, 0},
{0xA12, 0x44, 0x2C, 0, F_I, D_8BIT, MIRROR, MIRROR, 0},
{0xA19, 0x44, 0x2C, 0, F_I, D_8BIT, MIRROR, MIRROR, 0},
{0xA14, 0x44, 0x2C, 0, F_I, D_8BIT, MIRROR, MIRROR, 0},
{0xA1E, 0x44, 0x2C, 0, F_I, D_8BIT, MIRROR, MIRROR, 0},
{0xA1B, 0x44, 0x2C, 0, F_I, D_8BIT, MIRROR, MIRROR, 0},
{0xA24, 0x44, 0x2C, 0, F_I, D_8BIT, MIRROR, MIRROR, 0},
{0xA17, 0x44, 0x2C, 0, F_I, D_8BIT, MIRROR, MIRROR, 0},
{0xA15, 0x44, 0x2C, 0, F_I, D_8BIT, MIRROR, MIRROR, 0},
{0xA18, 0x44, 0x2C, 0, F_I, D_8BIT, MIRROR, MIRROR, 0},
{0xA1A, 0x44, 0x2C, 0, F_I, D_8BIT, MIRROR, MIRROR, 0},
{0xA7E, 0x44, 0x2C, 0, F_I, D_8BIT, MIRROR, MIRROR, 0},
{0xA7F, 0x44, 0x2C, 0, F_I, D_8BIT, MIRROR, MIRROR, 0},
{0xA80, 0x44, 0x2C, 0, F_I, D_8BIT, MIRROR, MIRROR, 0},
{0xA81, 0x44, 0x2C, 0, F_I, D_8BIT, MIRROR, MIRROR, 0},
{0xA87, 0x44, 0x2C, 0, F_I, D_8BIT, MIRROR, MIRROR, 0}
}
};

View File

@ -34,253 +34,5 @@ _animation_dataSegmentRomStart:
.incbin "assets/animationtable_data.bin"
.global _animation_dataSegmentRomEnd
_animation_dataSegmentRomEnd:
# enum image_format, mappedto_2
.set rgba, 0
.set yuv, 1
.set ci, 2
.set ia, 3
.set i, 4
# ---------------------------------------------------------------------------
# enum image_bitdepth, mappedto_3
.set D_4BIT, 0
.set D_8BIT, 1
.set D_16BIT, 2
.set D_32BIT, 3
# ---------------------------------------------------------------------------
# enum cm_flags, mappedto_4
.set clamp, 1
.set mirror, 2
.macro texture_entry index, width, height, level, format, depth, flagsS, flagsT, pad
.word \index
.byte \width
.byte \height
.byte \level
.byte \format
.byte \depth
.byte \flagsS
.byte \flagsT
.byte \pad
.endm
.global _GlobalimagetableSegmentRomStart
_GlobalimagetableSegmentRomStart:
.incbin "assets/ge007.u.29D160.Globalimagetable.bin"
texture_entry 0x858, 0x36, 0x36, 3, ia, D_8BIT, mirror, mirror, 0
texture_entry 0x878, 0x30, 0x30, 6, ia, D_8BIT, mirror, mirror, 0
texture_entry 0x879, 0x40, 0x20, 7, ia, D_8BIT, mirror, mirror, 0
texture_entry 0x87A, 0x40, 0x40, 0, ia, D_8BIT, mirror, mirror, 0
texture_entry 0xCE, 0x40, 0x20, 7, ia, D_8BIT, mirror, mirror, 0
texture_entry 0x878, 0x30, 0x30, 6, ia, D_8BIT, mirror, mirror, 0
texture_entry 0x878, 0x30, 0x30, 6, ia, D_8BIT, mirror, mirror, 0
texture_entry 0x878, 0x30, 0x30, 6, ia, D_8BIT, mirror, mirror, 0
texture_entry 0x87B, 0x20, 0x20, 0, ia, D_8BIT, mirror, mirror, 0
texture_entry 0x87C, 0x20, 0x20, 0, rgba, D_16BIT, mirror, mirror, 0
texture_entry 0x5C3, 0x20, 0x20, 6, rgba, D_16BIT, mirror, mirror, 0
texture_entry 0x87D, 0x20, 0x20, 6, rgba, D_16BIT, mirror, mirror, 0
texture_entry 0x5C4, 0x20, 0x20, 6, rgba, D_16BIT, mirror, mirror, 0
texture_entry 0x87E, 0x20, 0x20, 6, rgba, D_16BIT, mirror, mirror, 0
texture_entry 0x87F, 0x20, 0x20, 6, rgba, D_16BIT, mirror, mirror, 0
texture_entry 0x5C6, 0x20, 0x20, 6, rgba, D_16BIT, mirror, mirror, 0
texture_entry 0x5C7, 0x20, 0x20, 6, rgba, D_16BIT, mirror, mirror, 0
texture_entry 0x87A, 0x40, 0x40, 0, ia, D_8BIT, mirror, mirror, 0
texture_entry 0x878, 0x30, 0x30, 6, ia, D_8BIT, mirror, mirror, 0
texture_entry 0x878, 0x30, 0x30, 6, ia, D_8BIT, mirror, mirror, 0
texture_entry 0x878, 0x30, 0x30, 6, ia, D_8BIT, mirror, mirror, 0
texture_entry 0x880, 0x40, 0x40, 0, ia, D_8BIT, 0, 0, 0
texture_entry 0x881, 0x40, 0x40, 0, ia, D_8BIT, 0, 0, 0
texture_entry 0x882, 0x40, 0x40, 0, ia, D_8BIT, 0, 0, 0
texture_entry 0x883, 0x40, 0x40, 0, ia, D_8BIT, 0, 0, 0
texture_entry 0x884, 0x40, 0x40, 0, ia, D_8BIT, 0, 0, 0
texture_entry 0x885, 0x40, 0x40, 0, ia, D_8BIT, 0, 0, 0
texture_entry 0x886, 0x40, 0x40, 0, ia, D_8BIT, 0, 0, 0
texture_entry 0x887, 0x40, 0x40, 0, ia, D_8BIT, 0, 0, 0
texture_entry 0x888, 0x40, 0x40, 0, ia, D_8BIT, 0, 0, 0
texture_entry 0x889, 0x40, 0x40, 0, ia, D_8BIT, 0, 0, 0
texture_entry 0x88A, 0x40, 0x40, 0, ia, D_8BIT, 0, 0, 0
texture_entry 0x8B5, 0x40, 0x40, 0, ia, D_8BIT, 0, 0, 0
texture_entry 0x8B6, 0x40, 0x40, 0, ia, D_8BIT, 0, 0, 0
texture_entry 0x850, 0x10, 0x20, 6, rgba, D_32BIT, 0, 0, 0
texture_entry 0x857, 0x10, 0x20, 6, rgba, D_32BIT, 0, 0, 0
texture_entry 0x856, 0x20, 0x20, 0, rgba, D_32BIT, 0, 0, 0
texture_entry 0x8B7, 5, 0xC, 0, rgba, D_32BIT, mirror, mirror, 0
texture_entry 0x8B8, 5, 0x1C, 0, rgba, D_32BIT, mirror, mirror, 0
texture_entry 0x877, 6, 0x14, 0, rgba, D_32BIT, mirror, mirror, 0
texture_entry 0x876, 6, 0x18, 0, rgba, D_32BIT, mirror, mirror, 0
texture_entry 0x875, 8, 0x15, 0, rgba, D_32BIT, 0, mirror, 0
texture_entry 0x871, 7, 0x16, 0, rgba, D_32BIT, mirror, mirror, 0
texture_entry 0x872, 0xE, 0xE, 0, rgba, D_32BIT, mirror, mirror, 0
texture_entry 0x873, 0xE, 0x12, 0, rgba, D_32BIT, mirror, mirror, 0
texture_entry 0x874, 5, 0xF, 0, rgba, D_32BIT, mirror, mirror, 0
texture_entry 0x8B9, 5, 0xC, 0, rgba, D_32BIT, mirror, mirror, 0
texture_entry 0x8BA, 0xE, 0xE, 0, rgba, D_32BIT, mirror, mirror, 0
texture_entry 0x8BE, 0xE, 0xE, 0, rgba, D_32BIT, mirror, mirror, 0
texture_entry 0x8BB, 0xE, 0xE, 0, rgba, D_32BIT, mirror, mirror, 0
texture_entry 0x9A0, 7, 0x16, 0, ia, D_8BIT, mirror, mirror, 0
texture_entry 0x8BC, 0x20, 0x20, 0, rgba, D_32BIT, 0, 0, 0
texture_entry 0x8BD, 0x20, 0x20, 0, rgba, D_32BIT, 0, 0, 0
texture_entry 0x292, 0x20, 1, 6, ia, D_8BIT, 0, 0, 0
texture_entry 0x28E, 0x36, 0x36, 3, ia, D_8BIT, mirror, mirror, 0
texture_entry 0x88B, 0x20, 0x20, 0, i, D_8BIT, 0, 0, 0
texture_entry 0x88C, 0x80, 0x10, 0, i, D_8BIT, 0, 0, 0
texture_entry 0x88D, 0x80, 0x10, 0, i, D_8BIT, 0, 0, 0
texture_entry 0x88E, 0x80, 0x10, 0, i, D_8BIT, 0, 0, 0
texture_entry 0x88F, 0x80, 0x10, 0, i, D_8BIT, 0, 0, 0
texture_entry 0x890, 0x80, 0x10, 0, i, D_8BIT, 0, 0, 0
texture_entry 0x891, 0x80, 0x10, 0, i, D_8BIT, 0, 0, 0
texture_entry 0x892, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0
texture_entry 0x893, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0
texture_entry 0x894, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0
texture_entry 0x895, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0
texture_entry 0x4A1, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0
texture_entry 0x896, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0
texture_entry 0x897, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0
texture_entry 0x4A2, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0
texture_entry 0x4A3, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0
texture_entry 0x898, 0x10, 0x10, 5, i, D_8BIT, 0, 0, 0
texture_entry 0x246, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0
texture_entry 0x247, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0
texture_entry 0x248, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0
texture_entry 0x899, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0
texture_entry 0x89A, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0
texture_entry 0x89B, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0
texture_entry 0x89C, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0
texture_entry 0x245, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0
texture_entry 0x89D, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0
texture_entry 0x89E, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0
texture_entry 0x8B3, 0x40, 0x40, 0, i, D_8BIT, 0, 0, 0
texture_entry 0x8AF, 0x20, 0x20, 0, i, D_8BIT, 0, 0, 0
texture_entry 0x8B0, 0x20, 0x20, 0, i, D_8BIT, 0, 0, 0
texture_entry 0x8B1, 0x20, 0x20, 0, i, D_8BIT, 0, 0, 0
texture_entry 0x8B2, 0x20, 0x20, 0, i, D_8BIT, 0, 0, 0
texture_entry 0x8AB, 0x20, 0x20, 0, i, D_8BIT, 0, 0, 0
texture_entry 0x8AC, 0x20, 0x20, 0, i, D_8BIT, 0, 0, 0
texture_entry 0x8AD, 0x20, 0x20, 0, i, D_8BIT, 0, 0, 0
texture_entry 0x8AE, 0x20, 0x20, 0, i, D_8BIT, 0, 0, 0
texture_entry 0x8AA, 0x20, 0x20, 0, i, D_8BIT, 0, 0, 0
texture_entry 0x89F, 0x20, 0x20, 0, i, D_8BIT, 0, 0, 0
texture_entry 0x8A0, 0x20, 0x20, 0, i, D_8BIT, 0, 0, 0
texture_entry 0x8A1, 0x20, 0x20, 0, i, D_8BIT, 0, 0, 0
texture_entry 0x8A2, 0x20, 0x20, 6, i, D_8BIT, 0, 0, 0
texture_entry 0x8A3, 0x20, 0x20, 6, i, D_8BIT, 0, 0, 0
texture_entry 0x8A4, 0x20, 0x20, 6, i, D_8BIT, 0, 0, 0
texture_entry 0x8A5, 0x20, 0x20, 6, i, D_8BIT, 0, 0, 0
texture_entry 0x8A6, 0x80, 0x30, 0, i, D_8BIT, 0, mirror, 0
texture_entry 0x8A7, 0x10, 0x10, 5, i, D_8BIT, 0, 0, 0
texture_entry 0x8A8, 0x10, 0x10, 5, i, D_8BIT, 0, 0, 0
texture_entry 0x8A9, 0x10, 0x10, 5, i, D_8BIT, 0, 0, 0
texture_entry 0x8D7, 0x36, 0x36, 0, ia, D_8BIT, mirror, mirror, 0
texture_entry 0x345, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0
texture_entry 0x8B4, 0x40, 0x40, 0, ia, D_8BIT, 0, 0, 0
texture_entry 0x5E4, 0x40, 0x40, 0, i, D_8BIT, 0, 0, 0
texture_entry 0x5E5, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0
texture_entry 0, 0x20, 0x1C, 0, rgba, D_32BIT, 0, mirror, 0
texture_entry 2, 0x20, 0x1C, 0, rgba, D_32BIT, 0, mirror, 0
texture_entry 3, 0x7A, 0x12, 0, ia, D_8BIT, mirror, mirror, 0
texture_entry 1, 0xF, 0xF, 0, ia, D_8BIT, mirror, mirror, 0
texture_entry 4, 0x14, 0x14, 0, ia, D_8BIT, mirror, mirror, 0
texture_entry 0xA47, 0x10, 0x10, 0, i, D_8BIT, 0, 0, 0
texture_entry 0xC8, 0x20, 0x20, 6, rgba, D_16BIT, 0, 0, 0
texture_entry 0xA2A, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA2B, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA2C, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA2D, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA32, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA33, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA34, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA35, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA36, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA37, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA38, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA39, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA2E, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA2F, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA30, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA31, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA48, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA49, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA4A, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA4B, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA4C, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA4D, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA4E, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA4F, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA50, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA51, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA52, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA53, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA54, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA55, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA56, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA57, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA58, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA59, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA5A, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA5B, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA5C, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA5D, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA5E, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA5F, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA60, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA61, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA62, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA63, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA64, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA65, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA66, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA67, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA68, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA69, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA6A, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA6B, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA6C, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA6D, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA6E, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA6F, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA7A, 0x41, 0x43, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA7B, 0x41, 0x43, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA7C, 0x41, 0x43, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA7D, 0x41, 0x43, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA86, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA85, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA83, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA84, 0x41, 0x41, 7, i, D_4BIT, mirror, mirror, 0
texture_entry 0xA20, 0x44, 0x2C, 0, i, D_8BIT, mirror, mirror, 0
texture_entry 0xA16, 0x44, 0x2C, 0, i, D_8BIT, mirror, mirror, 0
texture_entry 0xA12, 0x44, 0x2C, 0, i, D_8BIT, mirror, mirror, 0
texture_entry 0xA19, 0x44, 0x2C, 0, i, D_8BIT, mirror, mirror, 0
texture_entry 0xA14, 0x44, 0x2C, 0, i, D_8BIT, mirror, mirror, 0
texture_entry 0xA1E, 0x44, 0x2C, 0, i, D_8BIT, mirror, mirror, 0
texture_entry 0xA1B, 0x44, 0x2C, 0, i, D_8BIT, mirror, mirror, 0
texture_entry 0xA24, 0x44, 0x2C, 0, i, D_8BIT, mirror, mirror, 0
texture_entry 0xA17, 0x44, 0x2C, 0, i, D_8BIT, mirror, mirror, 0
texture_entry 0xA15, 0x44, 0x2C, 0, i, D_8BIT, mirror, mirror, 0
texture_entry 0xA18, 0x44, 0x2C, 0, i, D_8BIT, mirror, mirror, 0
texture_entry 0xA1A, 0x44, 0x2C, 0, i, D_8BIT, mirror, mirror, 0
texture_entry 0xA7E, 0x44, 0x2C, 0, i, D_8BIT, mirror, mirror, 0
texture_entry 0xA7F, 0x44, 0x2C, 0, i, D_8BIT, mirror, mirror, 0
texture_entry 0xA80, 0x44, 0x2C, 0, i, D_8BIT, mirror, mirror, 0
texture_entry 0xA81, 0x44, 0x2C, 0, i, D_8BIT, mirror, mirror, 0
texture_entry 0xA87, 0x44, 0x2C, 0, i, D_8BIT, mirror, mirror, 0
.word 0
.word 0
.global _GlobalimagetableSegmentRomEnd
_GlobalimagetableSegmentRomEnd:
.global _GlobalimagetablecmdblkSegmentRomStart
_GlobalimagetablecmdblkSegmentRomStart:
.incbin "assets/ge007.u.29E560.Globalimagetable_commandblock.bin"
.global _GlobalimagetablecmdblkSegmentRomEnd
_GlobalimagetablecmdblkSegmentRomEnd:
.global unknown2
unknown2:
.incbin "assets/ge007.u.2A4D50.usedby7F008DE4.bin"
.global unknown2_end
unknown2_end:

15
assets/romfiles2.s Normal file
View File

@ -0,0 +1,15 @@
.section .romfiles, "a"
.global _GlobalimagetableSegmentRomEnd
_GlobalimagetableSegmentRomEnd:
.global _GlobalimagetablecmdblkSegmentRomStart
_GlobalimagetablecmdblkSegmentRomStart:
.incbin "assets/ge007.u.29E560.Globalimagetable_commandblock.bin"
.global _GlobalimagetablecmdblkSegmentRomEnd
_GlobalimagetablecmdblkSegmentRomEnd:
.global unknown2
unknown2:
.incbin "assets/ge007.u.2A4D50.usedby7F008DE4.bin"
.global unknown2_end
unknown2_end:

View File

@ -3,7 +3,7 @@
1195360,6784,assets/ge007.u.123040.efont_chardata.bin,0,1
1202144,1482432,assets/animationtable_entries.bin,0,1
2684576,59360,assets/animationtable_data.bin,0,1
2743936,5120,assets/ge007.u.29D160.Globalimagetable.bin,0,1
2743936,5120,assets/ge007.u.29D160.Globalimagetable.bin,0,0
2749056,26608,assets/ge007.u.29E560.Globalimagetable_commandblock.bin,0,1
2775664,107904,assets/ge007.u.2A4D50.usedby7F008DE4.bin,0,1
2883568,20992,assets/ramrom/ramrom_Dam_1.bin,0,1

1 1148320 192 assets/ge007.u.117880.jfont_dl.bin 0 1
3 1195360 6784 assets/ge007.u.123040.efont_chardata.bin 0 1
4 1202144 1482432 assets/animationtable_entries.bin 0 1
5 2684576 59360 assets/animationtable_data.bin 0 1
6 2743936 5120 assets/ge007.u.29D160.Globalimagetable.bin 0 1 0
7 2749056 26608 assets/ge007.u.29E560.Globalimagetable_commandblock.bin 0 1
8 2775664 107904 assets/ge007.u.2A4D50.usedby7F008DE4.bin 0 1
9 2883568 20992 assets/ramrom/ramrom_Dam_1.bin 0 1

View File

@ -3,7 +3,7 @@
1192000,6784,assets/ge007.u.123040.efont_chardata.bin,0,1
1198784,1482432,assets/animationtable_entries.bin,0,1
2681216,59360,assets/animationtable_data.bin,0,1
2740576,2760,assets/ge007.u.29D160.Globalimagetable.bin,0,1
2740576,2760,assets/ge007.u.29D160.Globalimagetable.bin,0,0
2745696,26608,assets/ge007.u.29E560.Globalimagetable_commandblock.bin,0,1
2772304,107904,assets/ge007.u.2A4D50.usedby7F008DE4.bin,0,1
2880208,20992,assets/ramrom/ramrom_Dam_1.bin,0,1

1 1144960 192 assets/ge007.u.117880.jfont_dl.bin 0 1
3 1192000 6784 assets/ge007.u.123040.efont_chardata.bin 0 1
4 1198784 1482432 assets/animationtable_entries.bin 0 1
5 2681216 59360 assets/animationtable_data.bin 0 1
6 2740576 2760 assets/ge007.u.29D160.Globalimagetable.bin 0 1 0
7 2745696 26608 assets/ge007.u.29E560.Globalimagetable_commandblock.bin 0 1
8 2772304 107904 assets/ge007.u.2A4D50.usedby7F008DE4.bin 0 1
9 2880208 20992 assets/ramrom/ramrom_Dam_1.bin 0 1

7056
ge007.e.ld

File diff suppressed because it is too large Load Diff

View File

@ -58,9 +58,7 @@ SECTIONS
build/j/src/deb_print.o (.text);
build/j/src/debug_getlastRA.o (.text);
build/j/src/ramrom.o (.text);
build/j/src/boss.o (.text);
build/j/src/music.o (.text);
build/j/src/snd.o (.text);
build/j/src/memp.o (.text);
@ -72,12 +70,92 @@ SECTIONS
build/j/src/pi.o (.text);
build/j/src/vi.o (.text);
build/j/src/debugmenu.o (.text);
build/j/src/joy.o (.text);
build/j/src/joy_rumble.o (.text);
build/j/src/rmon.o (.text);
build/j/libultra/libultra.o (.text);
build/j/src/libultra/osPiRawStartDma.o (.text);
build/j/src/libultra/osPiGetStatus.o (.text);
build/j/src/libultra/osInitialize.o (.text);
build/j/src/libultra/osWritebackDCacheAll.o (.text);
build/j/src/libultra/osInvalICache.o (.text);
build/j/src/libultra/osUnmapTLB.o (.text);
build/j/src/libultra/__osGetFpcCsr.o (.text);
build/j/src/libultra/__osSetFpcCsr.o (.text);
build/j/src/libultra/osCreateThread.o (.text);
build/j/src/libultra/osStartThread.o (.text);
build/j/src/libultra/osCreateMesgQueue.o (.text);
build/j/src/libultra/osStopThread.o (.text);
build/j/src/libultra/osSetThreadPri.o (.text);
build/j/src/libultra/osGetCount.o (.text);
build/j/src/libultra/osCreateViManager.o (.text);
build/j/src/libultra/osViModeTable.o (.text);
build/j/src/libultra/osSetEventMesg.o (.text);
build/j/src/libultra/osViSetEvent.o (.text);
build/j/src/libultra/osSetIntMask.o (.text);
build/j/src/libultra/osRecvMesg.o (.text);
build/j/src/libultra/osSendMesg.o (.text);
build/j/src/libultra/osViSetMode.o (.text);
build/j/src/libultra/osViSetXScale.o (.text);
build/j/src/libultra/osViSetYScale.o (.text);
build/j/src/libultra/osViRepeatLine.o (.text);
build/j/src/libultra/osViBlack.o (.text);
build/j/src/libultra/osSpTaskYielded.o (.text);
build/j/src/libultra/osDpGetCounters.o (.text);
build/j/src/libultra/osViGetCurrentFramebuffer.o (.text);
build/j/src/libultra/osViGetNextFramebuffer.o (.text);
build/j/src/libultra/osViSwapBuffer.o (.text);
build/j/src/libultra/osDpSetStatus.o (.text);
build/j/src/libultra/osSpTaskLoad.o (.text);
build/j/src/libultra/osDpSetNextBuffer.o (.text);
build/j/src/libultra/osSpTaskYield.o (.text);
build/j/src/libultra/__osGetTLBHi.o (.text);
build/j/src/libultra/osVirtualToPhysical.o (.text);
build/j/src/libultra/osAiSetFrequency.o (.text);
build/j/src/libultra/alInit.o (.text);
build/j/src/libultra/osGetTime.o (.text);
build/j/src/libultra/ll.o (.text);
build/j/src/libultra/osAiGetLength.o (.text);
build/j/src/libultra/syn.o (.text);
build/j/src/libultra/osPiStartDma.o (.text);
build/j/src/libultra/osViSetSpecialFeatures.o (.text);
build/j/src/libultra/_bcopy.o (.text);
build/j/src/libultra/guPerspective.o (.text);
build/j/src/libultra/Mtx.o (.text);
build/j/src/libultra/__osGetCurrFaultedThread.o (.text);
build/j/src/libultra/exception.o (.text);
build/j/src/libultra/__osDequeueThread.o (.text);
build/j/src/libultra/osYieldThread.o (.text);
build/j/src/libultra/osInvalDCache.o (.text);
build/j/src/libultra/osWritebackDCache.o (.text);
build/j/src/libultra/osSetTimer.o (.text);
build/j/src/libultra/alHeapInit.o (.text);
build/j/src/libultra/alBnkfNew.o (.text);
build/j/src/libultra/__CSP.o (.text);
build/j/src/libultra/alSeqpSetBank.o (.text);
build/j/src/libultra/alCSPGetState.o (.text);
build/j/src/libultra/csequencer.o (.text);
build/j/src/libultra/alCSPSetSeq.o (.text);
build/j/src/libultra/alCSPPlay.o (.text);
build/j/src/libultra/alCSPStop.o (.text);
build/j/src/libultra/alCSPSetVol.o (.text);
build/j/src/libultra/alEvtq.o (.text);
build/j/src/libultra/alSynAddPlayer.o (.text);
build/j/src/libultra/alSynAllocVoice.o (.text);
build/j/src/libultra/alSynSetVol.o (.text);
build/j/src/libultra/alSynStartVoice.o (.text);
build/j/src/libultra/alSynSetPan.o (.text);
build/j/src/libultra/alSynSetPitch.o (.text);
build/j/src/libultra/alSynSetFXMix.o (.text);
build/j/src/libultra/alSynStopVoice.o (.text);
build/j/src/libultra/alSynFreeVoice.o (.text);
build/j/src/libultra/alCents2Ratio.o (.text);
build/j/src/libultra/osPiReadIo.o (.text);
build/j/src/libultra/string.o (.text);
build/j/src/libultra/_Printf.o (.text);
build/j/src/libultra/osCreatePiManager.o (.text);
build/j/src/libultra/libultra.o (.text);
/*build/j/src/libultra/libultra.a:libultra.o (.text);*/
}
_codeSegmentEnd = ADDR(.code) + SIZEOF(.code);
_codeSegmentRomEnd = _codeSegmentRomStart + SIZEOF(.code);
@ -165,6 +243,7 @@ SECTIONS
build/j/src/game/chr.o (.text);
build/j/src/game/chr2.o (.text);
build/j/src/game/chrai.o (.text);
build/j/src/game/chrobjhandler.o (.text);
build/j/src/game/loadobjectmodel.o (.text);
build/j/src/game/objective_status.o (.text);
build/j/src/game/objective_status2.o (.text);
@ -242,6 +321,8 @@ SECTIONS
_romfiles_117880SegmentRomStart = _gameSegmentRomEnd;
.romfiles_117880 _romfiles_117880SegmentRomStart : AT(_romfiles_117880SegmentRomStart) {
build/j/assets/romfiles.o (.romfiles);
build/j/assets/GlobalImageTable.o (.data);
build/j/assets/romfiles2.o (.romfiles);
build/j/assets/ramrom/ramrom.o (.ramrom);
build/j/assets/font/font.o (.font);
build/j/assets/music/music.o (.music);
@ -267,10 +348,7 @@ SECTIONS
_imagesSegmentStart = ADDR(.images);
_imagesSegmentRomStart = _obsegSegmentRomEnd;
.images _imagesSegmentRomStart : AT(_imagesSegmentRomStart) {
_image1_start = .;
build/j/assets/images/split/image1.o (.data);
_image1_end = .;
_image1_size = (_image1_end - _image1_start);
build/j/assets/images/split/image1.o (.data);
build/j/assets/images/split/image2.o (.data);
build/j/assets/images/split/image3.o (.data);
build/j/assets/images/split/image4.o (.data);
@ -3018,7 +3096,89 @@ SECTIONS
build/j/src/joy.o (.data);
build/j/src/joy_rumble.o (.data);
build/j/src/rmon.o (.data);
build/j/libultra/libultra.o (.data);
build/j/src/libultra/osPiRawStartDma.o (.data);
build/j/src/libultra/osPiGetStatus.o (.data);
build/j/src/libultra/osInitialize.o (.data);
build/j/src/libultra/osWritebackDCacheAll.o (.data);
build/j/src/libultra/osInvalICache.o (.data);
build/j/src/libultra/osUnmapTLB.o (.data);
build/j/src/libultra/__osGetFpcCsr.o (.data);
build/j/src/libultra/__osSetFpcCsr.o (.data);
build/j/src/libultra/osCreateThread.o (.data);
build/j/src/libultra/osStartThread.o (.data);
build/j/src/libultra/osCreateMesgQueue.o (.data);
build/j/src/libultra/osStopThread.o (.data);
build/j/src/libultra/osSetThreadPri.o (.data);
build/j/src/libultra/osGetCount.o (.data);
build/j/src/libultra/osCreateViManager.o (.data);
build/j/src/libultra/osViModeTable.o (.data);
build/j/src/libultra/osSetEventMesg.o (.data);
build/j/src/libultra/osViSetEvent.o (.data);
build/j/src/libultra/osSetIntMask.o (.data);
build/j/src/libultra/osRecvMesg.o (.data);
build/j/src/libultra/osSendMesg.o (.data);
build/j/src/libultra/osViSetMode.o (.data);
build/j/src/libultra/osViSetXScale.o (.data);
build/j/src/libultra/osViSetYScale.o (.data);
build/j/src/libultra/osViRepeatLine.o (.data);
build/j/src/libultra/osViBlack.o (.data);
build/j/src/libultra/osSpTaskYielded.o (.data);
build/j/src/libultra/osDpGetCounters.o (.data);
build/j/src/libultra/osViGetCurrentFramebuffer.o (.data);
build/j/src/libultra/osViGetNextFramebuffer.o (.data);
build/j/src/libultra/osViSwapBuffer.o (.data);
build/j/src/libultra/osDpSetStatus.o (.data);
build/j/src/libultra/osSpTaskLoad.o (.data);
build/j/src/libultra/osDpSetNextBuffer.o (.data);
build/j/src/libultra/osSpTaskYield.o (.data);
build/j/src/libultra/__osGetTLBHi.o (.data);
build/j/src/libultra/osVirtualToPhysical.o (.data);
build/j/src/libultra/osAiSetFrequency.o (.data);
build/j/src/libultra/alInit.o (.data);
build/j/src/libultra/osGetTime.o (.data);
build/j/src/libultra/ll.o (.data);
build/j/src/libultra/osAiGetLength.o (.data);
build/j/src/libultra/syn.o (.data);
build/j/src/libultra/osPiStartDma.o (.data);
build/j/src/libultra/osViSetSpecialFeatures.o (.data);
build/j/src/libultra/_bcopy.o (.data);
build/j/src/libultra/guPerspective.o (.data);
build/j/src/libultra/Mtx.o (.data);
build/j/src/libultra/__osGetCurrFaultedThread.o (.data);
build/j/src/libultra/exception.o (.data);
build/j/src/libultra/__osDequeueThread.o (.data);
build/j/src/libultra/osYieldThread.o (.data);
build/j/src/libultra/osInvalDCache.o (.data);
build/j/src/libultra/osWritebackDCache.o (.data);
build/j/src/libultra/osSetTimer.o (.data);
build/j/src/libultra/alHeapInit.o (.data);
build/j/src/libultra/alBnkfNew.o (.data);
build/j/src/libultra/__CSP.o (.data);
build/j/src/libultra/alSeqpSetBank.o (.data);
build/j/src/libultra/alCSPGetState.o (.data);
build/j/src/libultra/csequencer.o (.data);
build/j/src/libultra/alCSPSetSeq.o (.data);
build/j/src/libultra/alCSPPlay.o (.data);
build/j/src/libultra/alCSPStop.o (.data);
build/j/src/libultra/alCSPSetVol.o (.data);
build/j/src/libultra/alEvtq.o (.data);
build/j/src/libultra/alSynAddPlayer.o (.data);
build/j/src/libultra/alSynAllocVoice.o (.data);
build/j/src/libultra/alSynSetVol.o (.data);
build/j/src/libultra/alSynStartVoice.o (.data);
build/j/src/libultra/alSynSetPan.o (.data);
build/j/src/libultra/alSynSetPitch.o (.data);
build/j/src/libultra/alSynSetFXMix.o (.data);
build/j/src/libultra/alSynStopVoice.o (.data);
build/j/src/libultra/alSynFreeVoice.o (.data);
build/j/src/libultra/alCents2Ratio.o (.data);
build/j/src/libultra/osPiReadIo.o (.data);
build/j/src/libultra/string.o (.data);
build/j/src/libultra/_Printf.o (.data);
build/j/src/libultra/osCreatePiManager.o (.data);
build/j/src/libultra/libultra.o (.data);
/*build/j/src/libultra/libultra.a:libultra.o (.data);*/
build/j/src/aspboot.o (.rodata);
build/j/src/boot.o (.rodata);
@ -3052,7 +3212,89 @@ SECTIONS
build/j/src/joy.o (.rodata);
build/j/src/joy_rumble.o (.rodata);
build/j/src/rmon.o (.rodata);
build/j/libultra/libultra.o (.rodata);
build/j/src/libultra/osPiRawStartDma.o (.rodata);
build/j/src/libultra/osPiGetStatus.o (.rodata);
build/j/src/libultra/osInitialize.o (.rodata);
build/j/src/libultra/osWritebackDCacheAll.o (.rodata);
build/j/src/libultra/osInvalICache.o (.rodata);
build/j/src/libultra/osUnmapTLB.o (.rodata);
build/j/src/libultra/__osGetFpcCsr.o (.rodata);
build/j/src/libultra/__osSetFpcCsr.o (.rodata);
build/j/src/libultra/osCreateThread.o (.rodata);
build/j/src/libultra/osStartThread.o (.rodata);
build/j/src/libultra/osCreateMesgQueue.o (.rodata);
build/j/src/libultra/osStopThread.o (.rodata);
build/j/src/libultra/osSetThreadPri.o (.rodata);
build/j/src/libultra/osGetCount.o (.rodata);
build/j/src/libultra/osCreateViManager.o (.rodata);
build/j/src/libultra/osViModeTable.o (.rodata);
build/j/src/libultra/osSetEventMesg.o (.rodata);
build/j/src/libultra/osViSetEvent.o (.rodata);
build/j/src/libultra/osSetIntMask.o (.rodata);
build/j/src/libultra/osRecvMesg.o (.rodata);
build/j/src/libultra/osSendMesg.o (.rodata);
build/j/src/libultra/osViSetMode.o (.rodata);
build/j/src/libultra/osViSetXScale.o (.rodata);
build/j/src/libultra/osViSetYScale.o (.rodata);
build/j/src/libultra/osViRepeatLine.o (.rodata);
build/j/src/libultra/osViBlack.o (.rodata);
build/j/src/libultra/osSpTaskYielded.o (.rodata);
build/j/src/libultra/osDpGetCounters.o (.rodata);
build/j/src/libultra/osViGetCurrentFramebuffer.o (.rodata);
build/j/src/libultra/osViGetNextFramebuffer.o (.rodata);
build/j/src/libultra/osViSwapBuffer.o (.rodata);
build/j/src/libultra/osDpSetStatus.o (.rodata);
build/j/src/libultra/osSpTaskLoad.o (.rodata);
build/j/src/libultra/osDpSetNextBuffer.o (.rodata);
build/j/src/libultra/osSpTaskYield.o (.rodata);
build/j/src/libultra/__osGetTLBHi.o (.rodata);
build/j/src/libultra/osVirtualToPhysical.o (.rodata);
build/j/src/libultra/osAiSetFrequency.o (.rodata);
build/j/src/libultra/alInit.o (.rodata);
build/j/src/libultra/osGetTime.o (.rodata);
build/j/src/libultra/ll.o (.rodata);
build/j/src/libultra/osAiGetLength.o (.rodata);
build/j/src/libultra/syn.o (.rodata);
build/j/src/libultra/osPiStartDma.o (.rodata);
build/j/src/libultra/osViSetSpecialFeatures.o (.rodata);
build/j/src/libultra/_bcopy.o (.rodata);
build/j/src/libultra/guPerspective.o (.rodata);
build/j/src/libultra/Mtx.o (.rodata);
build/j/src/libultra/__osGetCurrFaultedThread.o (.rodata);
build/j/src/libultra/exception.o (.rodata);
build/j/src/libultra/__osDequeueThread.o (.rodata);
build/j/src/libultra/osYieldThread.o (.rodata);
build/j/src/libultra/osInvalDCache.o (.rodata);
build/j/src/libultra/osWritebackDCache.o (.rodata);
build/j/src/libultra/osSetTimer.o (.rodata);
build/j/src/libultra/alHeapInit.o (.rodata);
build/j/src/libultra/alBnkfNew.o (.rodata);
build/j/src/libultra/__CSP.o (.rodata);
build/j/src/libultra/alSeqpSetBank.o (.rodata);
build/j/src/libultra/alCSPGetState.o (.rodata);
build/j/src/libultra/csequencer.o (.rodata);
build/j/src/libultra/alCSPSetSeq.o (.rodata);
build/j/src/libultra/alCSPPlay.o (.rodata);
build/j/src/libultra/alCSPStop.o (.rodata);
build/j/src/libultra/alCSPSetVol.o (.rodata);
build/j/src/libultra/alEvtq.o (.rodata);
build/j/src/libultra/alSynAddPlayer.o (.rodata);
build/j/src/libultra/alSynAllocVoice.o (.rodata);
build/j/src/libultra/alSynSetVol.o (.rodata);
build/j/src/libultra/alSynStartVoice.o (.rodata);
build/j/src/libultra/alSynSetPan.o (.rodata);
build/j/src/libultra/alSynSetPitch.o (.rodata);
build/j/src/libultra/alSynSetFXMix.o (.rodata);
build/j/src/libultra/alSynStopVoice.o (.rodata);
build/j/src/libultra/alSynFreeVoice.o (.rodata);
build/j/src/libultra/alCents2Ratio.o (.rodata);
build/j/src/libultra/osPiReadIo.o (.rodata);
build/j/src/libultra/string.o (.rodata);
build/j/src/libultra/_Printf.o (.rodata);
build/j/src/libultra/osCreatePiManager.o (.rodata);
build/j/src/libultra/libultra.o (.rodata);
/*build/j/src/libultra/libultra.a:libultra.o (.rodata);*/
build/j/src/game/initgamedata.o (.data);
build/j/src/game/initweaponanigroups.o (.data);
@ -3108,6 +3350,7 @@ SECTIONS
build/j/src/game/chr.o (.data);
build/j/src/game/chr2.o (.data);
build/j/src/game/chrai.o (.data);
build/j/src/game/chrobjhandler.o (.data);
build/j/src/game/loadobjectmodel.o (.data);
build/j/src/game/objective_status.o (.data);
build/j/src/game/objective_status2.o (.data);
@ -3229,6 +3472,7 @@ SECTIONS
build/j/src/game/chr.o (.rodata);
build/j/src/game/chr2.o (.rodata);
build/j/src/game/chrai.o (.rodata);
build/j/src/game/chrobjhandler.o (.rodata);
build/j/src/game/loadobjectmodel.o (.rodata);
build/j/src/game/objective_status.o (.rodata);
build/j/src/game/objective_status2.o (.rodata);
@ -3337,7 +3581,90 @@ SECTIONS
build/j/src/joy.o (.bss);
build/j/src/joy_rumble.o (.bss);
build/j/src/rmon.o (.bss);
build/j/libultra/libultra.o (.bss);
build/j/src/libultra/osPiRawStartDma.o (.bss);
build/j/src/libultra/osPiGetStatus.o (.bss);
build/j/src/libultra/osInitialize.o (.bss);
build/j/src/libultra/osWritebackDCacheAll.o (.bss);
build/j/src/libultra/osInvalICache.o (.bss);
build/j/src/libultra/osUnmapTLB.o (.bss);
build/j/src/libultra/__osGetFpcCsr.o (.bss);
build/j/src/libultra/__osSetFpcCsr.o (.bss);
build/j/src/libultra/osCreateThread.o (.bss);
build/j/src/libultra/osStartThread.o (.bss);
build/j/src/libultra/osCreateMesgQueue.o (.bss);
build/j/src/libultra/osStopThread.o (.bss);
build/j/src/libultra/osSetThreadPri.o (.bss);
build/j/src/libultra/osGetCount.o (.bss);
build/j/src/libultra/osCreateViManager.o (.bss);
build/j/src/libultra/osViModeTable.o (.bss);
build/j/src/libultra/osSetEventMesg.o (.bss);
build/j/src/libultra/osViSetEvent.o (.bss);
build/j/src/libultra/osSetIntMask.o (.bss);
build/j/src/libultra/osRecvMesg.o (.bss);
build/j/src/libultra/osSendMesg.o (.bss);
build/j/src/libultra/osViSetMode.o (.bss);
build/j/src/libultra/osViSetXScale.o (.bss);
build/j/src/libultra/osViSetYScale.o (.bss);
build/j/src/libultra/osViRepeatLine.o (.bss);
build/j/src/libultra/osViBlack.o (.bss);
build/j/src/libultra/osSpTaskYielded.o (.bss);
build/j/src/libultra/osDpGetCounters.o (.bss);
build/j/src/libultra/osViGetCurrentFramebuffer.o (.bss);
build/j/src/libultra/osViGetNextFramebuffer.o (.bss);
build/j/src/libultra/osViSwapBuffer.o (.bss);
build/j/src/libultra/osDpSetStatus.o (.bss);
build/j/src/libultra/osSpTaskLoad.o (.bss);
build/j/src/libultra/osDpSetNextBuffer.o (.bss);
build/j/src/libultra/osSpTaskYield.o (.bss);
build/j/src/libultra/__osGetTLBHi.o (.bss);
build/j/src/libultra/osVirtualToPhysical.o (.bss);
build/j/src/libultra/osAiSetFrequency.o (.bss);
build/j/src/libultra/alInit.o (.bss);
build/j/src/libultra/osGetTime.o (.bss);
build/j/src/libultra/ll.o (.bss);
build/j/src/libultra/osAiGetLength.o (.bss);
build/j/src/libultra/syn.o (.bss);
build/j/src/libultra/osPiStartDma.o (.bss);
build/j/src/libultra/osViSetSpecialFeatures.o (.bss);
build/j/src/libultra/_bcopy.o (.bss);
build/j/src/libultra/guPerspective.o (.bss);
build/j/src/libultra/Mtx.o (.bss);
build/j/src/libultra/__osGetCurrFaultedThread.o (.bss);
build/j/src/libultra/exception.o (.bss);
build/j/src/libultra/__osDequeueThread.o (.bss);
build/j/src/libultra/osYieldThread.o (.bss);
build/j/src/libultra/osInvalDCache.o (.bss);
build/j/src/libultra/osWritebackDCache.o (.bss);
build/j/src/libultra/osSetTimer.o (.bss);
build/j/src/libultra/alHeapInit.o (.bss);
build/j/src/libultra/alBnkfNew.o (.bss);
build/j/src/libultra/__CSP.o (.bss);
build/j/src/libultra/alSeqpSetBank.o (.bss);
build/j/src/libultra/alCSPGetState.o (.bss);
build/j/src/libultra/csequencer.o (.bss);
build/j/src/libultra/alCSPSetSeq.o (.bss);
build/j/src/libultra/alCSPPlay.o (.bss);
build/j/src/libultra/alCSPStop.o (.bss);
build/j/src/libultra/alCSPSetVol.o (.bss);
build/j/src/libultra/alEvtq.o (.bss);
build/j/src/libultra/alSynAddPlayer.o (.bss);
build/j/src/libultra/alSynAllocVoice.o (.bss);
build/j/src/libultra/alSynSetVol.o (.bss);
build/j/src/libultra/alSynStartVoice.o (.bss);
build/j/src/libultra/alSynSetPan.o (.bss);
build/j/src/libultra/alSynSetPitch.o (.bss);
build/j/src/libultra/alSynSetFXMix.o (.bss);
build/j/src/libultra/alSynStopVoice.o (.bss);
build/j/src/libultra/alSynFreeVoice.o (.bss);
build/j/src/libultra/alCents2Ratio.o (.bss);
build/j/src/libultra/osPiReadIo.o (.bss);
build/j/src/libultra/string.o (.bss);
build/j/src/libultra/_Printf.o (.bss);
build/j/src/libultra/osCreatePiManager.o (.bss);
build/j/src/libultra/libultra.o (.bss);
/*build/j/src/libultra/libultra.a:libultra.o (.bss);*/
build/j/src/game/initgamedata.o (.bss);
build/j/src/game/initweaponanigroups.o (.bss);
build/j/src/game/initactorpropstuff.o (.bss);
@ -3392,6 +3719,7 @@ SECTIONS
build/j/src/game/chr.o (.bss);
build/j/src/game/chr2.o (.bss);
build/j/src/game/chrai.o (.bss);
build/j/src/game/chrobjhandler.o (.bss);
build/j/src/game/loadobjectmodel.o (.bss);
build/j/src/game/objective_status.o (.bss);
build/j/src/game/objective_status2.o (.bss);
@ -3510,6 +3838,8 @@ SECTIONS
build/j/assets/romfiles.o (.text);
build/j/assets/romfiles.o (.data);
build/j/assets/romfiles2.o (.text);
build/j/assets/romfiles2.o (.data);
build/j/assets/ramrom/ramrom.o (.text);
build/j/assets/ramrom/ramrom.o (.data);
build/j/assets/font/font.o (.text);
@ -3529,6 +3859,7 @@ SECTIONS
build/j/src/gspboot.o (.rodata);
build/j/src/_start.o (.bss);
build/j/assets/romfiles.o (.bss);
build/j/assets/romfiles2.o (.bss);
build/j/assets/ramrom/ramrom.o (.bss);
build/j/assets/font/font.o (.bss);
build/j/assets/music/music.o (.bss);

View File

@ -73,7 +73,89 @@ SECTIONS
build/u/src/joy.o (.text);
build/u/src/joy_rumble.o (.text);
build/u/src/rmon.o (.text);
build/u/libultra/libultra.o (.text);
build/u/src/libultra/osPiRawStartDma.o (.text);
build/u/src/libultra/osPiGetStatus.o (.text);
build/u/src/libultra/osInitialize.o (.text);
build/u/src/libultra/osWritebackDCacheAll.o (.text);
build/u/src/libultra/osInvalICache.o (.text);
build/u/src/libultra/osUnmapTLB.o (.text);
build/u/src/libultra/__osGetFpcCsr.o (.text);
build/u/src/libultra/__osSetFpcCsr.o (.text);
build/u/src/libultra/osCreateThread.o (.text);
build/u/src/libultra/osStartThread.o (.text);
build/u/src/libultra/osCreateMesgQueue.o (.text);
build/u/src/libultra/osStopThread.o (.text);
build/u/src/libultra/osSetThreadPri.o (.text);
build/u/src/libultra/osGetCount.o (.text);
build/u/src/libultra/osCreateViManager.o (.text);
build/u/src/libultra/osViModeTable.o (.text);
build/u/src/libultra/osSetEventMesg.o (.text);
build/u/src/libultra/osViSetEvent.o (.text);
build/u/src/libultra/osSetIntMask.o (.text);
build/u/src/libultra/osRecvMesg.o (.text);
build/u/src/libultra/osSendMesg.o (.text);
build/u/src/libultra/osViSetMode.o (.text);
build/u/src/libultra/osViSetXScale.o (.text);
build/u/src/libultra/osViSetYScale.o (.text);
build/u/src/libultra/osViRepeatLine.o (.text);
build/u/src/libultra/osViBlack.o (.text);
build/u/src/libultra/osSpTaskYielded.o (.text);
build/u/src/libultra/osDpGetCounters.o (.text);
build/u/src/libultra/osViGetCurrentFramebuffer.o (.text);
build/u/src/libultra/osViGetNextFramebuffer.o (.text);
build/u/src/libultra/osViSwapBuffer.o (.text);
build/u/src/libultra/osDpSetStatus.o (.text);
build/u/src/libultra/osSpTaskLoad.o (.text);
build/u/src/libultra/osDpSetNextBuffer.o (.text);
build/u/src/libultra/osSpTaskYield.o (.text);
build/u/src/libultra/__osGetTLBHi.o (.text);
build/u/src/libultra/osVirtualToPhysical.o (.text);
build/u/src/libultra/osAiSetFrequency.o (.text);
build/u/src/libultra/alInit.o (.text);
build/u/src/libultra/osGetTime.o (.text);
build/u/src/libultra/ll.o (.text);
build/u/src/libultra/osAiGetLength.o (.text);
build/u/src/libultra/syn.o (.text);
build/u/src/libultra/osPiStartDma.o (.text);
build/u/src/libultra/osViSetSpecialFeatures.o (.text);
build/u/src/libultra/_bcopy.o (.text);
build/u/src/libultra/guPerspective.o (.text);
build/u/src/libultra/Mtx.o (.text);
build/u/src/libultra/__osGetCurrFaultedThread.o (.text);
build/u/src/libultra/exception.o (.text);
build/u/src/libultra/__osDequeueThread.o (.text);
build/u/src/libultra/osYieldThread.o (.text);
build/u/src/libultra/osInvalDCache.o (.text);
build/u/src/libultra/osWritebackDCache.o (.text);
build/u/src/libultra/osSetTimer.o (.text);
build/u/src/libultra/alHeapInit.o (.text);
build/u/src/libultra/alBnkfNew.o (.text);
build/u/src/libultra/__CSP.o (.text);
build/u/src/libultra/alSeqpSetBank.o (.text);
build/u/src/libultra/alCSPGetState.o (.text);
build/u/src/libultra/csequencer.o (.text);
build/u/src/libultra/alCSPSetSeq.o (.text);
build/u/src/libultra/alCSPPlay.o (.text);
build/u/src/libultra/alCSPStop.o (.text);
build/u/src/libultra/alCSPSetVol.o (.text);
build/u/src/libultra/alEvtq.o (.text);
build/u/src/libultra/alSynAddPlayer.o (.text);
build/u/src/libultra/alSynAllocVoice.o (.text);
build/u/src/libultra/alSynSetVol.o (.text);
build/u/src/libultra/alSynStartVoice.o (.text);
build/u/src/libultra/alSynSetPan.o (.text);
build/u/src/libultra/alSynSetPitch.o (.text);
build/u/src/libultra/alSynSetFXMix.o (.text);
build/u/src/libultra/alSynStopVoice.o (.text);
build/u/src/libultra/alSynFreeVoice.o (.text);
build/u/src/libultra/alCents2Ratio.o (.text);
build/u/src/libultra/osPiReadIo.o (.text);
build/u/src/libultra/string.o (.text);
build/u/src/libultra/_Printf.o (.text);
build/u/src/libultra/osCreatePiManager.o (.text);
build/u/src/libultra/libultra.o (.text);
/*build/u/src/libultra/libultra.a:libultra.o (.text);*/
}
_codeSegmentEnd = ADDR(.code) + SIZEOF(.code);
_codeSegmentRomEnd = _codeSegmentRomStart + SIZEOF(.code);
@ -161,6 +243,7 @@ SECTIONS
build/u/src/game/chr.o (.text);
build/u/src/game/chr2.o (.text);
build/u/src/game/chrai.o (.text);
build/u/src/game/chrobjhandler.o (.text);
build/u/src/game/loadobjectmodel.o (.text);
build/u/src/game/objective_status.o (.text);
build/u/src/game/objective_status2.o (.text);
@ -238,6 +321,8 @@ SECTIONS
_romfiles_117880SegmentRomStart = _gameSegmentRomEnd;
.romfiles_117880 _romfiles_117880SegmentRomStart : AT(_romfiles_117880SegmentRomStart) {
build/u/assets/romfiles.o (.romfiles);
build/u/assets/GlobalImageTable.o (.data);
build/u/assets/romfiles2.o (.romfiles);
build/u/assets/ramrom/ramrom.o (.ramrom);
build/u/assets/font/font.o (.font);
build/u/assets/music/music.o (.music);
@ -3014,7 +3099,89 @@ SECTIONS
build/u/src/joy.o (.data);
build/u/src/joy_rumble.o (.data);
build/u/src/rmon.o (.data);
build/u/libultra/libultra.o (.data);
build/u/src/libultra/osPiRawStartDma.o (.data);
build/u/src/libultra/osPiGetStatus.o (.data);
build/u/src/libultra/osInitialize.o (.data);
build/u/src/libultra/osWritebackDCacheAll.o (.data);
build/u/src/libultra/osInvalICache.o (.data);
build/u/src/libultra/osUnmapTLB.o (.data);
build/u/src/libultra/__osGetFpcCsr.o (.data);
build/u/src/libultra/__osSetFpcCsr.o (.data);
build/u/src/libultra/osCreateThread.o (.data);
build/u/src/libultra/osStartThread.o (.data);
build/u/src/libultra/osCreateMesgQueue.o (.data);
build/u/src/libultra/osStopThread.o (.data);
build/u/src/libultra/osSetThreadPri.o (.data);
build/u/src/libultra/osGetCount.o (.data);
build/u/src/libultra/osCreateViManager.o (.data);
build/u/src/libultra/osViModeTable.o (.data);
build/u/src/libultra/osSetEventMesg.o (.data);
build/u/src/libultra/osViSetEvent.o (.data);
build/u/src/libultra/osSetIntMask.o (.data);
build/u/src/libultra/osRecvMesg.o (.data);
build/u/src/libultra/osSendMesg.o (.data);
build/u/src/libultra/osViSetMode.o (.data);
build/u/src/libultra/osViSetXScale.o (.data);
build/u/src/libultra/osViSetYScale.o (.data);
build/u/src/libultra/osViRepeatLine.o (.data);
build/u/src/libultra/osViBlack.o (.data);
build/u/src/libultra/osSpTaskYielded.o (.data);
build/u/src/libultra/osDpGetCounters.o (.data);
build/u/src/libultra/osViGetCurrentFramebuffer.o (.data);
build/u/src/libultra/osViGetNextFramebuffer.o (.data);
build/u/src/libultra/osViSwapBuffer.o (.data);
build/u/src/libultra/osDpSetStatus.o (.data);
build/u/src/libultra/osSpTaskLoad.o (.data);
build/u/src/libultra/osDpSetNextBuffer.o (.data);
build/u/src/libultra/osSpTaskYield.o (.data);
build/u/src/libultra/__osGetTLBHi.o (.data);
build/u/src/libultra/osVirtualToPhysical.o (.data);
build/u/src/libultra/osAiSetFrequency.o (.data);
build/u/src/libultra/alInit.o (.data);
build/u/src/libultra/osGetTime.o (.data);
build/u/src/libultra/ll.o (.data);
build/u/src/libultra/osAiGetLength.o (.data);
build/u/src/libultra/syn.o (.data);
build/u/src/libultra/osPiStartDma.o (.data);
build/u/src/libultra/osViSetSpecialFeatures.o (.data);
build/u/src/libultra/_bcopy.o (.data);
build/u/src/libultra/guPerspective.o (.data);
build/u/src/libultra/Mtx.o (.data);
build/u/src/libultra/__osGetCurrFaultedThread.o (.data);
build/u/src/libultra/exception.o (.data);
build/u/src/libultra/__osDequeueThread.o (.data);
build/u/src/libultra/osYieldThread.o (.data);
build/u/src/libultra/osInvalDCache.o (.data);
build/u/src/libultra/osWritebackDCache.o (.data);
build/u/src/libultra/osSetTimer.o (.data);
build/u/src/libultra/alHeapInit.o (.data);
build/u/src/libultra/alBnkfNew.o (.data);
build/u/src/libultra/__CSP.o (.data);
build/u/src/libultra/alSeqpSetBank.o (.data);
build/u/src/libultra/alCSPGetState.o (.data);
build/u/src/libultra/csequencer.o (.data);
build/u/src/libultra/alCSPSetSeq.o (.data);
build/u/src/libultra/alCSPPlay.o (.data);
build/u/src/libultra/alCSPStop.o (.data);
build/u/src/libultra/alCSPSetVol.o (.data);
build/u/src/libultra/alEvtq.o (.data);
build/u/src/libultra/alSynAddPlayer.o (.data);
build/u/src/libultra/alSynAllocVoice.o (.data);
build/u/src/libultra/alSynSetVol.o (.data);
build/u/src/libultra/alSynStartVoice.o (.data);
build/u/src/libultra/alSynSetPan.o (.data);
build/u/src/libultra/alSynSetPitch.o (.data);
build/u/src/libultra/alSynSetFXMix.o (.data);
build/u/src/libultra/alSynStopVoice.o (.data);
build/u/src/libultra/alSynFreeVoice.o (.data);
build/u/src/libultra/alCents2Ratio.o (.data);
build/u/src/libultra/osPiReadIo.o (.data);
build/u/src/libultra/string.o (.data);
build/u/src/libultra/_Printf.o (.data);
build/u/src/libultra/osCreatePiManager.o (.data);
build/u/src/libultra/libultra.o (.data);
/*build/u/src/libultra/libultra.a:libultra.o (.data);*/
build/u/src/aspboot.o (.rodata);
build/u/src/boot.o (.rodata);
@ -3048,7 +3215,89 @@ SECTIONS
build/u/src/joy.o (.rodata);
build/u/src/joy_rumble.o (.rodata);
build/u/src/rmon.o (.rodata);
build/u/libultra/libultra.o (.rodata);
build/u/src/libultra/osPiRawStartDma.o (.rodata);
build/u/src/libultra/osPiGetStatus.o (.rodata);
build/u/src/libultra/osInitialize.o (.rodata);
build/u/src/libultra/osWritebackDCacheAll.o (.rodata);
build/u/src/libultra/osInvalICache.o (.rodata);
build/u/src/libultra/osUnmapTLB.o (.rodata);
build/u/src/libultra/__osGetFpcCsr.o (.rodata);
build/u/src/libultra/__osSetFpcCsr.o (.rodata);
build/u/src/libultra/osCreateThread.o (.rodata);
build/u/src/libultra/osStartThread.o (.rodata);
build/u/src/libultra/osCreateMesgQueue.o (.rodata);
build/u/src/libultra/osStopThread.o (.rodata);
build/u/src/libultra/osSetThreadPri.o (.rodata);
build/u/src/libultra/osGetCount.o (.rodata);
build/u/src/libultra/osCreateViManager.o (.rodata);
build/u/src/libultra/osViModeTable.o (.rodata);
build/u/src/libultra/osSetEventMesg.o (.rodata);
build/u/src/libultra/osViSetEvent.o (.rodata);
build/u/src/libultra/osSetIntMask.o (.rodata);
build/u/src/libultra/osRecvMesg.o (.rodata);
build/u/src/libultra/osSendMesg.o (.rodata);
build/u/src/libultra/osViSetMode.o (.rodata);
build/u/src/libultra/osViSetXScale.o (.rodata);
build/u/src/libultra/osViSetYScale.o (.rodata);
build/u/src/libultra/osViRepeatLine.o (.rodata);
build/u/src/libultra/osViBlack.o (.rodata);
build/u/src/libultra/osSpTaskYielded.o (.rodata);
build/u/src/libultra/osDpGetCounters.o (.rodata);
build/u/src/libultra/osViGetCurrentFramebuffer.o (.rodata);
build/u/src/libultra/osViGetNextFramebuffer.o (.rodata);
build/u/src/libultra/osViSwapBuffer.o (.rodata);
build/u/src/libultra/osDpSetStatus.o (.rodata);
build/u/src/libultra/osSpTaskLoad.o (.rodata);
build/u/src/libultra/osDpSetNextBuffer.o (.rodata);
build/u/src/libultra/osSpTaskYield.o (.rodata);
build/u/src/libultra/__osGetTLBHi.o (.rodata);
build/u/src/libultra/osVirtualToPhysical.o (.rodata);
build/u/src/libultra/osAiSetFrequency.o (.rodata);
build/u/src/libultra/alInit.o (.rodata);
build/u/src/libultra/osGetTime.o (.rodata);
build/u/src/libultra/ll.o (.rodata);
build/u/src/libultra/osAiGetLength.o (.rodata);
build/u/src/libultra/syn.o (.rodata);
build/u/src/libultra/osPiStartDma.o (.rodata);
build/u/src/libultra/osViSetSpecialFeatures.o (.rodata);
build/u/src/libultra/_bcopy.o (.rodata);
build/u/src/libultra/guPerspective.o (.rodata);
build/u/src/libultra/Mtx.o (.rodata);
build/u/src/libultra/__osGetCurrFaultedThread.o (.rodata);
build/u/src/libultra/exception.o (.rodata);
build/u/src/libultra/__osDequeueThread.o (.rodata);
build/u/src/libultra/osYieldThread.o (.rodata);
build/u/src/libultra/osInvalDCache.o (.rodata);
build/u/src/libultra/osWritebackDCache.o (.rodata);
build/u/src/libultra/osSetTimer.o (.rodata);
build/u/src/libultra/alHeapInit.o (.rodata);
build/u/src/libultra/alBnkfNew.o (.rodata);
build/u/src/libultra/__CSP.o (.rodata);
build/u/src/libultra/alSeqpSetBank.o (.rodata);
build/u/src/libultra/alCSPGetState.o (.rodata);
build/u/src/libultra/csequencer.o (.rodata);
build/u/src/libultra/alCSPSetSeq.o (.rodata);
build/u/src/libultra/alCSPPlay.o (.rodata);
build/u/src/libultra/alCSPStop.o (.rodata);
build/u/src/libultra/alCSPSetVol.o (.rodata);
build/u/src/libultra/alEvtq.o (.rodata);
build/u/src/libultra/alSynAddPlayer.o (.rodata);
build/u/src/libultra/alSynAllocVoice.o (.rodata);
build/u/src/libultra/alSynSetVol.o (.rodata);
build/u/src/libultra/alSynStartVoice.o (.rodata);
build/u/src/libultra/alSynSetPan.o (.rodata);
build/u/src/libultra/alSynSetPitch.o (.rodata);
build/u/src/libultra/alSynSetFXMix.o (.rodata);
build/u/src/libultra/alSynStopVoice.o (.rodata);
build/u/src/libultra/alSynFreeVoice.o (.rodata);
build/u/src/libultra/alCents2Ratio.o (.rodata);
build/u/src/libultra/osPiReadIo.o (.rodata);
build/u/src/libultra/string.o (.rodata);
build/u/src/libultra/_Printf.o (.rodata);
build/u/src/libultra/osCreatePiManager.o (.rodata);
build/u/src/libultra/libultra.o (.rodata);
/*build/u/src/libultra/libultra.a:libultra.o (.rodata);*/
build/u/src/game/initgamedata.o (.data);
build/u/src/game/initweaponanigroups.o (.data);
@ -3104,6 +3353,7 @@ SECTIONS
build/u/src/game/chr.o (.data);
build/u/src/game/chr2.o (.data);
build/u/src/game/chrai.o (.data);
build/u/src/game/chrobjhandler.o (.data);
build/u/src/game/loadobjectmodel.o (.data);
build/u/src/game/objective_status.o (.data);
build/u/src/game/objective_status2.o (.data);
@ -3225,6 +3475,7 @@ SECTIONS
build/u/src/game/chr.o (.rodata);
build/u/src/game/chr2.o (.rodata);
build/u/src/game/chrai.o (.rodata);
build/u/src/game/chrobjhandler.o (.rodata);
build/u/src/game/loadobjectmodel.o (.rodata);
build/u/src/game/objective_status.o (.rodata);
build/u/src/game/objective_status2.o (.rodata);
@ -3333,7 +3584,90 @@ SECTIONS
build/u/src/joy.o (.bss);
build/u/src/joy_rumble.o (.bss);
build/u/src/rmon.o (.bss);
build/u/libultra/libultra.o (.bss);
build/u/src/libultra/osPiRawStartDma.o (.bss);
build/u/src/libultra/osPiGetStatus.o (.bss);
build/u/src/libultra/osInitialize.o (.bss);
build/u/src/libultra/osWritebackDCacheAll.o (.bss);
build/u/src/libultra/osInvalICache.o (.bss);
build/u/src/libultra/osUnmapTLB.o (.bss);
build/u/src/libultra/__osGetFpcCsr.o (.bss);
build/u/src/libultra/__osSetFpcCsr.o (.bss);
build/u/src/libultra/osCreateThread.o (.bss);
build/u/src/libultra/osStartThread.o (.bss);
build/u/src/libultra/osCreateMesgQueue.o (.bss);
build/u/src/libultra/osStopThread.o (.bss);
build/u/src/libultra/osSetThreadPri.o (.bss);
build/u/src/libultra/osGetCount.o (.bss);
build/u/src/libultra/osCreateViManager.o (.bss);
build/u/src/libultra/osViModeTable.o (.bss);
build/u/src/libultra/osSetEventMesg.o (.bss);
build/u/src/libultra/osViSetEvent.o (.bss);
build/u/src/libultra/osSetIntMask.o (.bss);
build/u/src/libultra/osRecvMesg.o (.bss);
build/u/src/libultra/osSendMesg.o (.bss);
build/u/src/libultra/osViSetMode.o (.bss);
build/u/src/libultra/osViSetXScale.o (.bss);
build/u/src/libultra/osViSetYScale.o (.bss);
build/u/src/libultra/osViRepeatLine.o (.bss);
build/u/src/libultra/osViBlack.o (.bss);
build/u/src/libultra/osSpTaskYielded.o (.bss);
build/u/src/libultra/osDpGetCounters.o (.bss);
build/u/src/libultra/osViGetCurrentFramebuffer.o (.bss);
build/u/src/libultra/osViGetNextFramebuffer.o (.bss);
build/u/src/libultra/osViSwapBuffer.o (.bss);
build/u/src/libultra/osDpSetStatus.o (.bss);
build/u/src/libultra/osSpTaskLoad.o (.bss);
build/u/src/libultra/osDpSetNextBuffer.o (.bss);
build/u/src/libultra/osSpTaskYield.o (.bss);
build/u/src/libultra/__osGetTLBHi.o (.bss);
build/u/src/libultra/osVirtualToPhysical.o (.bss);
build/u/src/libultra/osAiSetFrequency.o (.bss);
build/u/src/libultra/alInit.o (.bss);
build/u/src/libultra/osGetTime.o (.bss);
build/u/src/libultra/ll.o (.bss);
build/u/src/libultra/osAiGetLength.o (.bss);
build/u/src/libultra/syn.o (.bss);
build/u/src/libultra/osPiStartDma.o (.bss);
build/u/src/libultra/osViSetSpecialFeatures.o (.bss);
build/u/src/libultra/_bcopy.o (.bss);
build/u/src/libultra/guPerspective.o (.bss);
build/u/src/libultra/Mtx.o (.bss);
build/u/src/libultra/__osGetCurrFaultedThread.o (.bss);
build/u/src/libultra/exception.o (.bss);
build/u/src/libultra/__osDequeueThread.o (.bss);
build/u/src/libultra/osYieldThread.o (.bss);
build/u/src/libultra/osInvalDCache.o (.bss);
build/u/src/libultra/osWritebackDCache.o (.bss);
build/u/src/libultra/osSetTimer.o (.bss);
build/u/src/libultra/alHeapInit.o (.bss);
build/u/src/libultra/alBnkfNew.o (.bss);
build/u/src/libultra/__CSP.o (.bss);
build/u/src/libultra/alSeqpSetBank.o (.bss);
build/u/src/libultra/alCSPGetState.o (.bss);
build/u/src/libultra/csequencer.o (.bss);
build/u/src/libultra/alCSPSetSeq.o (.bss);
build/u/src/libultra/alCSPPlay.o (.bss);
build/u/src/libultra/alCSPStop.o (.bss);
build/u/src/libultra/alCSPSetVol.o (.bss);
build/u/src/libultra/alEvtq.o (.bss);
build/u/src/libultra/alSynAddPlayer.o (.bss);
build/u/src/libultra/alSynAllocVoice.o (.bss);
build/u/src/libultra/alSynSetVol.o (.bss);
build/u/src/libultra/alSynStartVoice.o (.bss);
build/u/src/libultra/alSynSetPan.o (.bss);
build/u/src/libultra/alSynSetPitch.o (.bss);
build/u/src/libultra/alSynSetFXMix.o (.bss);
build/u/src/libultra/alSynStopVoice.o (.bss);
build/u/src/libultra/alSynFreeVoice.o (.bss);
build/u/src/libultra/alCents2Ratio.o (.bss);
build/u/src/libultra/osPiReadIo.o (.bss);
build/u/src/libultra/string.o (.bss);
build/u/src/libultra/_Printf.o (.bss);
build/u/src/libultra/osCreatePiManager.o (.bss);
build/u/src/libultra/libultra.o (.bss);
/*build/u/src/libultra/libultra.a:libultra.o (.bss);*/
build/u/src/game/initgamedata.o (.bss);
build/u/src/game/initweaponanigroups.o (.bss);
build/u/src/game/initactorpropstuff.o (.bss);
@ -3388,6 +3722,7 @@ SECTIONS
build/u/src/game/chr.o (.bss);
build/u/src/game/chr2.o (.bss);
build/u/src/game/chrai.o (.bss);
build/u/src/game/chrobjhandler.o (.bss);
build/u/src/game/loadobjectmodel.o (.bss);
build/u/src/game/objective_status.o (.bss);
build/u/src/game/objective_status2.o (.bss);
@ -3506,6 +3841,8 @@ SECTIONS
build/u/assets/romfiles.o (.text);
build/u/assets/romfiles.o (.data);
build/u/assets/romfiles2.o (.text);
build/u/assets/romfiles2.o (.data);
build/u/assets/ramrom/ramrom.o (.text);
build/u/assets/ramrom/ramrom.o (.data);
build/u/assets/font/font.o (.text);
@ -3525,6 +3862,7 @@ SECTIONS
build/u/src/gspboot.o (.rodata);
build/u/src/_start.o (.bss);
build/u/assets/romfiles.o (.bss);
build/u/assets/romfiles2.o (.bss);
build/u/assets/ramrom/ramrom.o (.bss);
build/u/assets/font/font.o (.bss);
build/u/assets/music/music.o (.bss);

View File

@ -3862,7 +3862,7 @@ glabel guMtxL2F
/* 010D78 70010178 27BD0010 */ addiu $sp, $sp, 0x10
/* 010D7C 7001017C 00000000 */ nop
glabel ultra_70010180
glabel __osGetCurrFaultedThread
/* 010D80 70010180 3C028002 */ lui $v0, 0x8002
/* 010D84 70010184 03E00008 */ jr $ra
/* 010D88 70010188 8C427734 */ lw $v0, 0x7734($v0)

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -13,38 +13,67 @@ basename: "ge007.e"
ranges:
- [0x00000000, 0x000040, "header", "header"]
- [0x00000040, 0x001000, "bin", "boot"]
- [0x00001000, 0x01F850, "asm", "code", 0x80000400]
- [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, "entry"]
- [0x80000450, "establishrootTLB"]
- [0x800004BC, "get_rodata_vaddr"]
- [0x800004C8, "get_cdataSegmentRomStart"]
- [0x800004D4, "get_cdataSegmentRomEnd"]
- [0x800004E0, "get_rarezipSegmentRomStart"]
- [0x800004EC, "get_rarezipSegmentRomEnd"]
- [0x800004F8, "jump_decompressfile"]
- [0x80000510, "init"]
- [0x800006F0, "stack_init"]
- [0x800006FC, "proc_700006FC"]
- [0x80000718, "idle_entry"]
- [0x80000738, "start_idle_thread"]
- [0x80000790, "start_rmon_thread"]
- [0x800007EC, "setup_message_queue_for_scheduler"]
- [0x8000089C, "main_entry"]
- [0x80000908, "setuplastentryofdebughandler"]
- [0x80000970, "stderr.activated.set"]
- [0x8000097C, "stderr.enable.set"]
- [0x80000988, "stderr.permitted.set"]
- [0x80000994, "user.Compare"]
- [0x800009A0, "testtodisplaystderrandupdatecount"]
- [0x800009F8, "testtodisplaystderrorevery16thframe"]
- [0x80000A88, "storecurrentcountto800230a4"]
- [0x80000AAC, "scheduler"]
- [0x80000C70, "proc_70000C70"]
- [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

View File

@ -99,7 +99,7 @@ labels:
- [0x70003c10, "set_coloroutputmode_32bit"]
- [0x70003c1c, "get_video_settings2_frameb"]
- [0x70003c2c, "get_video_settings1_frameb"]
- [0x70003c3c, "set_video2buf_offset28"]
- [0x70003c3c, "set_video2buf_frameb"]
- [0x70003c4c, "get_80060824"]
- [0x70003c58, "video_related_F"]
- [0x70003eb4, "video_related_10"]
@ -122,7 +122,7 @@ labels:
- [0x70004514, "get_video2_settings_ulx"]
- [0x70004524, "get_video2_settings_uly"]
- [0x70004534, "set_video2_settings_offset_24"]
- [0x70004544, "video_related_1F"]
- [0x70004544, "setvideo_far"]
- [0x70004590, "video_related_21"]
- [0x700045dc, "video_related_23"]
- [0x700045ec, "video_related_24"]
@ -240,23 +240,23 @@ labels:
- [0x70009274, "sfx_c_70009264"]
- [0x70009294, "sfx_c_70009284"]
- [0x70009390, "something_with_memp_c_debug"]
- [0x700093bc, "check_memflag_tokens"]
- [0x70009524, "memp_related_0"]
- [0x70009730, "allocate_bytes_in_bank"]
- [0x70009814, "memp_related_1"]
- [0x70009900, "nulled_list_all8_mem_alloc_banks_sizes"]
- [0x70009920, "memp_related_3"]
- [0x70009980, "memp_related_4"]
- [0x700099ac, "reset_mem_bank_a0"]
- [0x700099d4, "memp_related_6"]
- [0x70009a20, "swap_entries"]
- [0x70009a44, "merge_alloc_entries"]
- [0x70009a60, "sort_merge_entries_in_alloc_table"]
- [0x70009b28, "memp_related_7"]
- [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, "mem_related_model_room_buffers"]
- [0x70009c84, "memaAllocRoomBuffer"]
- [0x70009d7c, "something_with_mema_c_debug"]
- [0x70009da8, "reset_memtable_base_allocation"]
- [0x70009da8, "mempInitMallocTable"]
- [0x70009e20, "mem_related_calls_sort_merge_entries"]
- [0x70009e44, "mem_related_something_find_first"]
- [0x70009fb8, "mem_related_something_find_first_0"]
@ -264,7 +264,7 @@ labels:
- [0x7000a050, "mem_related_allocated_table_related"]
- [0x7000a074, "mem_related_something_first_related"]
- [0x7000a110, "generate_list_alloc_mem"]
- [0x7000a2ac, "generate_lists_before_after_mem_merge"]
- [0x7000a2ac, "memaGenerateListsBeforeAfterMerge"]
- [0x7000a308, "mem_related_something_first_related_0"]
- [0x7000a380, "mem_related_0"]
- [0x7000a3ec, "mem_related_1"]
@ -277,7 +277,7 @@ labels:
- [0x7000a6b0, "check_token"]
- [0x7000a780, "textpointer_load_parse_something"]
- [0x7000a7b0, "something_with_strings"]
- [0x7000a80c, "string_load_parse_something"]
- [0x7000a80c, "string_append_from_obseg_textbank"]
- [0x7000a85c, "something_with_strings_0"]
- [0x7000a8a8, "string_related"]
- [0x7000a908, "strtol_related"]
@ -433,7 +433,7 @@ labels:
- [0x70010050, "guMtxIdentF"]
- [0x700100d8, "guMtxIdent"]
- [0x70010108, "guMtxL2F"]
- [0x700101c0, "ultra_70010180"]
- [0x700101c0, "__osGetCurrFaultedThread"]
- [0x700101d0, "__osExceptionPreamble"]
- [0x700101e0, "__osException"]
- [0x700103d0, "next_interrupt"]
@ -767,7 +767,7 @@ labels:
- [0x7f001928, "sub_GAME_7F001928"]
- [0x7f001940, "sub_GAME_7F001940"]
- [0x7f001958, "write_monitor_ani_control_blocks"]
- [0x7f001b08, "initialize_80071E00_to_80071E78"]
- [0x7f001b08, "initialize_temp_mine_table"]
- [0x7f001b50, "load_proptype"]
- [0x7f001bd4, "sub_GAME_7F001BD4"]
- [0x7f001d9c, "prepare_load_objects"]
@ -1084,7 +1084,7 @@ labels:
- [0x7f01e064, "sub_GAME_7F01DEB4"]
- [0x7f01e140, "sub_GAME_7F01DF90"]
- [0x7f01e43c, "check_if_valid_folder_num"]
- [0x7f01e470, "doesFolderHaveStageUnlockedAtDifficulty"]
- [0x7f01e470, "isStageUnlockedAtDifficulty"]
- [0x7f01e6b4, "sub_GAME_7F01E504"]
- [0x7f01e7a8, "unlock_stage_in_folder_on_difficulty"]
- [0x7f01e910, "sub_GAME_7F01E760"]
@ -1569,7 +1569,7 @@ labels:
- [0x7f04f810, "apped_text_ammotype"]
- [0x7f04fb8c, "set_sound_effect_for_ammo_collection"]
- [0x7f04fc14, "set_sound_effect_for_weapontype_collection"]
- [0x7f04fd24, "display_ammo_type_collection_text"]
- [0x7f04fd24, "prepare_ammo_type_collection_text"]
- [0x7f04fdfc, "display_text_when_ammo_collected"]
- [0x7f04fe6c, "add_ammo_to_inventory"]
- [0x7f050040, "get_ammo_in_magazine"]
@ -1595,7 +1595,7 @@ labels:
- [0x7f052058, "add_obj_to_temp_proxmine_table"]
- [0x7f052090, "remove_obj_from_temp_proxmine_table"]
- [0x7f0520c8, "detonate_proxmine_In_range"]
- [0x7f0521c4, "sub_GAME_7F051CC8"]
- [0x7f0521c4, "check_guard_detonate_proxmine"]
- [0x7f052270, "link_objects"]
- [0x7f05228c, "complete_object_data_block_return_position_entry"]
- [0x7f0522d4, "sub_GAME_7F051DD8"]
@ -1655,24 +1655,24 @@ labels:
- [0x7f056328, "stop_alarm"]
- [0x7f05634c, "is_alarm_on"]
- [0x7f056360, "init_trigger_toxic_gas_effect"]
- [0x7f0563f4, "sub_GAME_7F055EF8"]
- [0x7f0563f4, "check_deactivate_gas_sound"]
- [0x7f056434, "check_if_toxic_gas_activated"]
- [0x7f056460, "sub_GAME_7F055F64"]
- [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, "sub_GAME_7F0561E0"]
- [0x7f0566dc, "if_enabled_reset_clock"]
- [0x7f05670c, "sub_GAME_7F056210"]
- [0x7f056aec, "sub_GAME_7F0565F0"]
- [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, "sub_GAME_7F056B1C"]
- [0x7f05701c, "check_if_object_type_has_been_loaded"]
- [0x7f0570a8, "sub_GAME_7F056BA8"]
- [0x7f057138, "load_model"]
- [0x7f0571a0, "sub_GAME_7F056CA0"]
@ -1700,7 +1700,7 @@ labels:
- [0x7f0583c0, "cosf"]
- [0x7f0583cc, "sinf"]
- [0x7f0584e4, "func_7F057FC4"]
- [0x7f0584f0, "init_0x40_bytes_data_at_address_last_word_1_0"]
- [0x7f0584f0, "reset_array_of_0x10_floats"]
- [0x7f058540, "sub_GAME_7F058020"]
- [0x7f058588, "sub_GAME_7F058068"]
- [0x7f0585b8, "sub_GAME_7F058098"]
@ -1804,13 +1804,13 @@ labels:
- [0x7f05d3dc, "sub_GAME_7F05CEBC"]
- [0x7f05d420, "get_itemtype_in_hand"]
- [0x7f05d438, "get_ptr_itemheader_in_hand"]
- [0x7f05d450, "sub_GAME_7F05CF30"]
- [0x7f05d468, "sub_GAME_7F05CF48"]
- [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, "sub_GAME_7F05D078"]
- [0x7f05d598, "getCurrentWeaponOrItem"]
- [0x7f05d5a8, "used_to_load_1st_person_model_on_demand"]
- [0x7f05d854, "sub_GAME_7F05D334"]
- [0x7f05d954, "get_next_weapon_in_cycle_for_hand"]
@ -2286,7 +2286,7 @@ labels:
- [0x7f08a554, "sub_GAME_7F089E4C"]
- [0x7f08a5ac, "check_if_bond_is_invincible"]
- [0x7f08a5dc, "check_if_healthbar_timer_greater_than_0"]
- [0x7f08a60c, "get_BONDdata_field19C"]
- [0x7f08a60c, "get_BONDdata_bondfadefracnew"]
- [0x7f08a61c, "get_curplay_horizontal_rotation_in_degrees"]
- [0x7f08a648, "get_curplay_vertical_rotation_in_degrees"]
- [0x7f08a670, "sub_GAME_7F089F38"]
@ -2311,7 +2311,7 @@ labels:
- [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_FUN_7f08ac40"]
- [0x7f08ac40, "jp_display_string_in_lower_left_corner"]
- [0x7f08ac6c, "sub_GAME_7F08A4E4"]
- [0x7f08ad84, "sub_GAME_7F08A5FC"]
- [0x7f08b0dc, "sub_GAME_7F08A900"]
@ -2355,7 +2355,7 @@ labels:
- [0x7f08d7d4, "sub_GAME_7F08CE70"]
- [0x7f08d870, "sub_GAME_7F08CF0C"]
- [0x7f08d8e4, "sub_GAME_7F08CF80"]
- [0x7f08d924, "sub_GAME_7F08CFC0"]
- [0x7f08d924, "checkforgoldengun"]
- [0x7f08d944, "sub_GAME_7F08CFE0"]
- [0x7f08d99c, "sub_GAME_7F08D038"]
- [0x7f08da84, "sub_GAME_7F08D108"]
@ -2430,8 +2430,8 @@ labels:
- [0x7f090fa4, "sub_GAME_7F0904C4"]
- [0x7f090fe8, "sub_GAME_7F090508"]
- [0x7f09102c, "sub_GAME_7F09054C"]
- [0x7f091070, "unknown_libname_68"]
- [0x7f091078, "nullsub_35"]
- [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"]
@ -2470,18 +2470,18 @@ labels:
- [0x7f0920f8, "sub_GAME_7F091618"]
- [0x7f09214c, "sub_GAME_7F09166C"]
- [0x7f0921d4, "sub_GAME_7F0916F4"]
- [0x7f092220, "sub_GAME_7F091740"]
- [0x7f09225c, "sub_GAME_7F09177C"]
- [0x7f09241c, "sub_GAME_7F09193C"]
- [0x7f09253c, "sub_GAME_7F091A5C"]
- [0x7f092558, "sub_GAME_7F091A78"]
- [0x7f09258c, "sub_GAME_7F091AAC"]
- [0x7f092644, "sub_GAME_7F091B64"]
- [0x7f092fb8, "sub_GAME_7F092438"]
- [0x7f093240, "sub_GAME_7F0926C0"]
- [0x7f0932f4, "sub_GAME_7F092774"]
- [0x7f09333c, "sub_GAME_7F0927BC"]
- [0x7f093374, "sub_GAME_7F0927F4"]
- [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"]
@ -2491,11 +2491,11 @@ labels:
- [0x7f094618, "sub_GAME_7F093A78"]
- [0x7f09479c, "sub_GAME_7F093BFC"]
- [0x7f0947e8, "sub_GAME_7F093C48"]
- [0x7f094828, "sub_GAME_7F093C88"]
- [0x7f094828, "addpoint5tofloat"]
- [0x7f094850, "sub_GAME_7F093CB0"]
- [0x7f094b44, "sub_GAME_7F093FA4"]
- [0x7f094e38, "sub_GAME_7F094298"]
- [0x7f094fcc, "sub_GAME_7F09442C"]
- [0x7f094fcc, "store_stagenum_to_copyof_stagenum"]
- [0x7f094fd8, "sub_GAME_7F094438"]
- [0x7f095028, "sub_GAME_7F094488"]
- [0x7f097f28, "sub_GAME_7F097388"]
@ -2512,9 +2512,9 @@ labels:
- [0x7f09bcfc, "sub_GAME_7F09B15C"]
- [0x7f09bd7c, "set_cur_player_screen_size"]
- [0x7f09bd98, "set_cur_player_viewport_size"]
- [0x7f09bdb4, "sub_GAME_7F09B214"]
- [0x7f09bdc4, "sub_GAME_7F09B224"]
- [0x7f09bdd4, "sub_GAME_7F09B234"]
- [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"]
@ -2585,9 +2585,9 @@ labels:
- [0x7f0a53c4, "sub_GAME_7F0A4824"]
- [0x7f0a5400, "nullsub_7F0A4860"]
- [0x7f0a5408, "init_watch_at_start_of_stage"]
- [0x7f0a5638, "sub_GAME_7F0A4A98"]
- [0x7f0a5638, "controller_deadzone_related"]
- [0x7f0a56e0, "sub_GAME_7F0A4B40"]
- [0x7f0a5914, "sub_GAME_7F0A4D74"]
- [0x7f0a5914, "controllerCheckDualControllerTypesAllowed"]
- [0x7f0a5960, "cur_player_get_control_type"]
- [0x7f0a5970, "cur_player_set_control_type"]
- [0x7f0a59d8, "get_cur_player_look_vertical_inverted"]
@ -2611,17 +2611,17 @@ labels:
- [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_enabled_0"]
- [0x7f0a5b44, "set_controlstick_lr_disabled"]
- [0x7f0a5b50, "sub_GAME_7F0A4FB0"]
- [0x7f0a5b8c, "sub_GAME_7F0A4FEC"]
- [0x7f0a5bc8, "sub_GAME_7F0A5028"]
- [0x7f0a5bec, "sub_GAME_7F0A504C"]
- [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, "sub_GAME_7F0A5100"]
- [0x7f0a5cc4, "sub_GAME_7F0A5124"]
- [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"]
@ -2665,7 +2665,7 @@ labels:
- [0x7f0a9900, "sub_GAME_7F0A8D40"]
- [0x7f0a9a90, "sub_GAME_7F0A8ED0"]
- [0x7f0a9bac, "sub_GAME_7F0A8FEC"]
- [0x7f0a9d40, "sub_GAME_7F0A9180"]
- [0x7f0a9d40, "call_sfx_c_700091C8"]
- [0x7f0a9d60, "sub_GAME_7F0A91A0"]
- [0x7f0a9d88, "sub_GAME_7F0A91C8"]
- [0x7f0a9f18, "sub_GAME_7F0A9358"]
@ -2678,12 +2678,12 @@ labels:
- [0x7f0aa678, "sub_GAME_7F0A9AB8"]
- [0x7f0ab388, "sub_GAME_7F0AA7C8"]
- [0x7f0ab980, "sub_GAME_7F0AADC0"]
- [0x7f0ac034, "sub_GAME_7F0AB48C"]
- [0x7f0ac040, "sub_GAME_7F0AB498"]
- [0x7f0ac04c, "sub_GAME_7F0AB4A4"]
- [0x7f0ac058, "sub_GAME_7F0AB4B0"]
- [0x7f0ac034, "zero_D_80040998"]
- [0x7f0ac040, "zero_D_8004099C"]
- [0x7f0ac04c, "zero_D_800409A4"]
- [0x7f0ac058, "return_arg0_7F0AB4B0"]
- [0x7f0ac060, "sub_GAME_7F0AB4B8"]
- [0x7f0ac34c, "sub_GAME_7F0AB7A4"]
- [0x7f0ac34c, "set_pparam1toparam2_disablejoylr_playsfx"]
- [0x7f0ac380, "sub_GAME_7F0AB7D8"]
- [0x7f0ac4b0, "sub_GAME_7F0AB908"]
- [0x7f0ac7c4, "sub_GAME_7F0ABC1C"]
@ -2692,11 +2692,11 @@ labels:
- [0x7f0accc8, "sub_GAME_7F0AC120"]
- [0x7f0acd10, "sub_GAME_7F0AC168"]
- [0x7f0ad5d0, "sub_GAME_7F0ACA28"]
- [0x7f0ad720, "null_init_main"]
- [0x7f0ad728, "sub_GAME_7F0ACB78"]
- [0x7f0ad738, "sub_GAME_7F0ACB88"]
- [0x7f0ad744, "sub_GAME_7F0ACB94"]
- [0x7f0ad750, "sub_GAME_7F0ACBA0"]
- [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"]
@ -2810,7 +2810,7 @@ labels:
- [0x7f0b4be4, "sub_GAME_7F0B4034"]
- [0x7f0b4c34, "sub_GAME_7F0B4084"]
- [0x7f0b4c84, "sub_GAME_7F0B40D4"]
- [0x7f0b4cd4, "sub_GAME_7F0B4124"]
- [0x7f0b4cd4, "load_bg_file"]
- [0x7f0b5390, "sub_GAME_7F0B47E0"]
- [0x7f0b53c0, "sub_GAME_7F0B4810"]
- [0x7f0b53e0, "get_room_data_float2"]
@ -2953,16 +2953,16 @@ labels:
- [0x7f0bd92c, "load_bg_bytes_at_offset_to_membank"]
- [0x7f0bd9bc, "load_rom_resource_index_to_membank"]
- [0x7f0bdb90, "load_resource_index_to_buffer"]
- [0x7f0bdcb0, "get_temp_remaining_buffer_for_index"]
- [0x7f0bdccc, "get_remaining_buffer_for_index"]
- [0x7f0bdcb0, "get_pc_remaining_buffer_for_index"]
- [0x7f0bdccc, "get_rom_remaining_buffer_for_index"]
- [0x7f0bdce8, "sub_GAME_7F0BD138"]
- [0x7f0bdd38, "sub_GAME_7F0BD188"]
- [0x7f0bdd38, "get_pc_buffer_remaining_value"]
- [0x7f0bdd6c, "something_mem_bank_a0"]
- [0x7f0bdde4, "sub_GAME_7F0BD234"]
- [0x7f0bde04, "get_index_num_of_named_resource"]
- [0x7f0bdf34, "sub_GAME_7F0BD384"]
- [0x7f0bdf3c, "sub_GAME_7F0BD38C"]
- [0x7f0bdf94, "sub_GAME_7F0BD3E4"]
- [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"]
@ -2982,9 +2982,9 @@ labels:
- [0x7f0be4ac, "sub_GAME_7F0BD8FC"]
- [0x7f0be4b8, "something_with_lvl_c_debug"]
- [0x7f0be534, "sub_GAME_7F0BD984"]
- [0x7f0be574, "sub_GAME_7F0BD9C4"]
- [0x7f0be59c, "sub_GAME_7F0BD9EC"]
- [0x7f0be5e8, "sub_GAME_7F0BDA38"]
- [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"]
@ -3234,7 +3234,7 @@ labels:
- [0x7f0d3128, "sub_GAME_7F0D2448"]
- [0x7f0d3144, "sub_GAME_7F0D2464"]
- [0x7f0d31f8, "sub_GAME_7F0D2518"]
- [0x7f0d3400, "sub_GAME_7F0D2720"]
- [0x7f0d3400, "getmusictrack_or_randomtrack"]
- [0x7f0d3528, "sub_GAME_7F0D2848"]
- [0x7f0d3570, "sub_GAME_7F0D2890"]
- [0x7f0d35c0, "sub_GAME_7F0D28E0"]
@ -3354,7 +3354,7 @@ labels:
- [0x80024438, "bootswitch_sound"]
- [0x8002443c, "F32_800243FC"]
- [0x80024440, "ptr_memp_c_debug_debug_notice_list"]
- [0x80024444, "tied_to_mem_management"]
- [0x80024444, "needmemallocation"]
- [0x80024454, "D_80024414"]
- [0x80024458, "D_80024418"]
- [0x8002445c, "D_8002441C"]
@ -4258,7 +4258,7 @@ labels:
- [0x80030b18, "D_80030AD8"]
- [0x80030b1c, "D_80030ADC"]
- [0x80030b20, "D_80030AE0"]
- [0x80030b24, "D_80030AE4"]
- [0x80030b24, "ptr_gas_sound"]
- [0x80030b28, "clock_drawn_flag"]
- [0x80030b2c, "clock_enable"]
- [0x80030b30, "clock_time"]
@ -4406,11 +4406,11 @@ labels:
- [0x80032488, "D_80032448"]
- [0x80032494, "D_80032454"]
- [0x80032498, "D_80032458"]
- [0x8003249c, "size_right_item_buffer"]
- [0x8003249c, "size_item_buffer"]
- [0x800324a0, "size_left_item_buffer"]
- [0x800324a4, "D_80032464"]
- [0x800324ac, "ejected_cartridge"]
- [0x800324d4, "stru_D_80032494"]
- [0x800324d4, "default_weaponstats"]
- [0x80032544, "GfistZ_stats"]
- [0x800325b4, "GknifeZ_stats"]
- [0x80032624, "GthrowknifeZ_stats"]
@ -4894,9 +4894,9 @@ labels:
- [0x80037028, "show_debug_menu_flag"]
- [0x8003702c, "grab_rgb_screenshot_flag"]
- [0x80037030, "grab_jpeg_screenshot_flag"]
- [0x80037034, "D_80037004"]
- [0x80037038, "D_80037008"]
- [0x8003703c, "D_8003700C"]
- [0x80037034, "player_pos_x"]
- [0x80037038, "player_pos_y"]
- [0x8003703c, "player_pos_z"]
- [0x80037040, "D_80037010"]
- [0x80037044, "stanbondx"]
- [0x80037048, "stanbondy"]
@ -5684,7 +5684,7 @@ labels:
- [0x80040b7c, "D_80040B4C"]
- [0x80040b80, "D_80040B50"]
- [0x80040b84, "D_80040B54"]
- [0x80040b88, "D_80040B58"]
- [0x80040b88, "mTrack2Vol"]
- [0x80040b8c, "D_80040B5C"]
- [0x80040b90, "D_80040B60"]
- [0x80040b94, "D_80040B64"]
@ -5990,7 +5990,7 @@ labels:
- [0x80044e40, "fog_tables"]
- [0x80045f80, "fog_tables2"]
- [0x80046060, "D_80046030"]
- [0x80046080, "D_80046050"]
- [0x80046080, "ob_c_debug_notice_list_entry"]
- [0x80046084, "file_resource_table"]
- [0x80048304, "file_entry_max"]
- [0x80048310, "D_800482E0"]
@ -6002,13 +6002,13 @@ labels:
- [0x80048390, "lvl_c_debug_notice_list"]
- [0x80048394, "current_stage_to_load"]
- [0x80048398, "D_80048368"]
- [0x8004839c, "D_8004836C"]
- [0x8004839c, "musictrack1_playing"]
- [0x800483a0, "controls_locked_flag"]
- [0x800483a4, "clock_timer"]
- [0x800483a8, "global_timer_delta"]
- [0x800483ac, "global_timer"]
- [0x800483b0, "D_80048380"]
- [0x800483b4, "D_jpunk"]
- [0x800483b4, "jp_global_timer_delta"]
- [0x800483b8, "difficulty_0"]
- [0x800483bc, "D_80048388"]
- [0x800483c0, "D_8004838C"]
@ -6035,7 +6035,7 @@ labels:
- [0x80048414, "D_800483E0"]
- [0x80048418, "D_800483E4"]
- [0x80048420, "ramrom_table"]
- [0x80048498, "ramrom_blkbuf_1"]
- [0x80048498, "ptr_active_demofile"]
- [0x8004849c, "ramrom_blkbuf_2"]
- [0x800484a0, "ramrom_blkbuf_3"]
- [0x800484a4, "is_ramrom_flag"]
@ -6060,20 +6060,20 @@ labels:
- [0x80048500, "j_text_trigger"]
- [0x80048504, "LnameX_lookuptable"]
- [0x80048670, "loaded_text_index"]
- [0x800486a0, "type_0_stru_800490F0"]
- [0x80048760, "type_1_stru_800490F0"]
- [0x80048820, "type_D_stru_800490F0"]
- [0x800488e0, "type_2_stru_800490F0"]
- [0x800489a0, "type_3_stru_800490F0"]
- [0x80048a60, "type_4_stru_800490F0"]
- [0x80048b20, "type_5_stru_800490F0"]
- [0x80048be0, "type_6_stru_800490F0"]
- [0x80048ca0, "type_7_stru_800490F0"]
- [0x80048d60, "type_8_stru_800490F0"]
- [0x80048e20, "type_9_stru_800490F0"]
- [0x80048ee0, "type_A_stru_800490F0"]
- [0x80048fa0, "type_B_stru_800490F0"]
- [0x80049060, "type_C_stru_800490F0"]
- [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"]
@ -6258,8 +6258,8 @@ labels:
- [0x80051a20, "D_800519F0"]
- [0x80051a24, "D_800519F4"]
- [0x80051a28, "D_800519F8"]
- [0x80051a2c, "D_800519FC"]
- [0x80051a30, "D_80051A00"]
- [0x80051a2c, "menu01_aspect"]
- [0x80051a30, "menu01_pageheight"]
- [0x80051a34, "D_80051A04"]
- [0x80051a38, "D_80051A08"]
- [0x80051a3c, "D_80051A0C"]
@ -6284,8 +6284,8 @@ labels:
- [0x80051a88, "D_80051A58"]
- [0x80051a8c, "D_80051A5C"]
- [0x80051a90, "jpt_scenario_specific_settings_mp"]
- [0x80051ab0, "D_80051A80"]
- [0x80051ab4, "D_80051A84"]
- [0x80051ab0, "menu0E_aspect"]
- [0x80051ab4, "menu0E_pageheight"]
- [0x80051ab8, "D_80051A88"]
- [0x80051abc, "D_80051A8C"]
- [0x80051ac0, "D_80051A90"]

View File

@ -146,7 +146,7 @@ labels:
- [0x70003C10, "coloroutputmode_0"]
- [0x70003C1C, "get_video2buf_offset28"]
- [0x70003C2C, "get_video1buf_offset28"]
- [0x70003C3C, "set_video2buf_offset28"]
- [0x70003C3C, "set_video2buf_frameb"]
- [0x70003C4C, "get_80060824"]
- [0x70003C58, "video_related_F"]
- [0x70003EB4, "video_related_10"]
@ -169,7 +169,7 @@ labels:
- [0x70004514, "get_video2_settings_ulx"]
- [0x70004524, "get_video2_settings_uly"]
- [0x70004534, "set_video2_settings_offset_24"]
- [0x70004544, "video_related_1F"]
- [0x70004544, "setvideo_far"]
- [0x70004590, "video_related_21"]
- [0x700045DC, "video_related_23"]
- [0x700045EC, "video_related_24"]
@ -289,24 +289,24 @@ labels:
- [0x70009284, "music_related_42"]
# file asm/code/memp.s
- [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"]
- [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, "swap_entries"]
- [0x70009A34, "merge_alloc_entries"]
- [0x70009A50, "sort_merge_entries_in_alloc_table"]
- [0x70009B18, "memp_related_7"]
- [0x70009A10, "memaSwap"]
- [0x70009A34, "memaMerge"]
- [0x70009A50, "memaSortMergeEntries"]
- [0x70009B18, "memaSortMergeAllEntries"]
- [0x70009B60, "mem_related"]
- [0x70009C74, "mem_related_model_room_buffers"]
- [0x70009C74, "memaAllocRoomBuffer"]
- [0x70009D6C, "something_with_mema_c_debug"]
- [0x70009D98, "reset_memtable_base_allocation"]
- [0x70009D98, "mempInitMallocTable"]
- [0x70009E10, "mem_related_calls_sort_merge_entries"]
- [0x70009E34, "mem_related_something_find_first"]
- [0x70009FA8, "mem_related_something_find_first_0"]
@ -314,7 +314,7 @@ labels:
- [0x7000A040, "mem_related_allocated_table_related"]
- [0x7000A064, "mem_related_something_first_related"]
- [0x7000A100, "generate_list_alloc_mem"]
- [0x7000A29C, "generate_lists_before_after_mem_merge"]
- [0x7000A29C, "memaGenerateListsBeforeAfterMerge"]
- [0x7000A2F8, "mem_related_something_first_related_0"]
- [0x7000A370, "mem_related_0"]
- [0x7000A3DC, "mem_related_1"]
@ -330,7 +330,7 @@ labels:
# file asm/code/string_stuff.s
- [0x7000A770, "textpointer_load_parse_something"]
- [0x7000A7A0, "something_with_strings"]
- [0x7000A7FC, "string_load_parse_something"]
- [0x7000A7FC, "string_append_from_obseg_textbank"]
- [0x7000A84C, "something_with_strings_0"]
- [0x7000A898, "string_related"]
- [0x7000A8F8, "strtol_related"]
@ -495,7 +495,7 @@ labels:
- [0x70010010, "guMtxIdentF"]
- [0x70010098, "guMtxIdent"]
- [0x700100C8, "guMtxL2F"]
- [0x70010180, "ultra_70010180"]
- [0x70010180, "__osGetCurrFaultedThread"]
- [0x70010190, "__osExceptionPreamble"]
- [0x700101A0, "__osException"]
- [0x70010390, "next_interrupt"]
@ -848,7 +848,7 @@ labels:
- [0x7F001928, "sub_GAME_7F001928"]
- [0x7F001940, "sub_GAME_7F001940"]
- [0x7F001958, "write_monitor_ani_control_blocks"]
- [0x7F001B08, "initialize_80071E00_to_80071E78"]
- [0x7F001B08, "initialize_temp_mine_table"]
# file asm/game/loadmorestuff.s
- [0x7F001B50, "load_proptype"]
- [0x7F001BD4, "sub_GAME_7F001BD4"]
@ -2169,7 +2169,7 @@ labels:
- [0x7F04F7EC, "ammo_sfx_pickup_knife"]
- [0x7F04F800, "ammo_sfx_pickup_default"]
- [0x7F04F810, "set_sound_effect_for_weapontype_collection"]
- [0x7F04F920, "display_ammo_type_collection_text"]
- [0x7F04F920, "prepare_ammo_type_collection_text"]
- [0x7F04F9F8, "display_text_when_ammo_collected"]
- [0x7F04FA68, "add_ammo_to_inventory"]
- [0x7F04FC3C, "get_ammo_in_magazine"]
@ -2247,7 +2247,7 @@ labels:
- [0x7F051B5C, "add_obj_to_temp_proxmine_table"]
- [0x7F051B94, "remove_obj_from_temp_proxmine_table"]
- [0x7F051BCC, "detonate_proxmine_In_range"]
- [0x7F051CC8, "sub_GAME_7F051CC8"]
- [0x7F051CC8, "check_guard_detonate_proxmine"]
- [0x7F051D74, "link_objects"]
- [0x7F051D90, "complete_object_data_block_return_position_entry"]
- [0x7F051DD8, "sub_GAME_7F051DD8"]
@ -2318,18 +2318,18 @@ labels:
- [0x7F055E2C, "stop_alarm"]
- [0x7F055E50, "is_alarm_on"]
- [0x7F055E64, "init_trigger_toxic_gas_effect"]
- [0x7F055EF8, "sub_GAME_7F055EF8"]
- [0x7F055EF8, "check_deactivate_gas_sound"]
- [0x7F055F38, "check_if_toxic_gas_activated"]
- [0x7F055F64, "sub_GAME_7F055F64"]
- [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, "sub_GAME_7F0561E0"]
- [0x7F0561E0, "if_enabled_reset_clock"]
- [0x7F056210, "sub_GAME_7F056210"]
- [0x7F0565F0, "sub_GAME_7F0565F0"]
- [0x7F0565F0, "handle_alarm_gas_timer_calldamage"]
- [0x7F056690, "sub_GAME_7F056690"]
- [0x7F05677C, "drop_inventory"]
# file asm/game/7F056850.s
@ -2381,7 +2381,7 @@ labels:
- [0x7F056A74, "object_size_type_2E"]
- [0x7F056A7C, "object_size_type_default"]
- [0x7F056A88, "sub_GAME_7F056A88"]
- [0x7F056B1C, "sub_GAME_7F056B1C"]
- [0x7F056B1C, "check_if_object_type_has_been_loaded"]
- [0x7F056BA8, "sub_GAME_7F056BA8"]
- [0x7F056C38, "load_model"]
- [0x7F056CA0, "sub_GAME_7F056CA0"]
@ -2420,7 +2420,7 @@ labels:
- [0x7F057EA0, "cosf"]
- [0x7F057EAC, "sinf"]
# file asm/game/7F057FD0.s
- [0x7F057FD0, "init_0x40_bytes_data_at_address_last_word_1_0"]
- [0x7F057FD0, "reset_array_of_0x10_floats"]
- [0x7F058020, "sub_GAME_7F058020"]
- [0x7F058068, "sub_GAME_7F058068"]
- [0x7F058098, "sub_GAME_7F058098"]
@ -2533,13 +2533,13 @@ labels:
- [0x7F05CEBC, "sub_GAME_7F05CEBC"]
- [0x7F05CF00, "get_itemtype_in_hand"]
- [0x7F05CF18, "get_ptr_itemheader_in_hand"]
- [0x7F05CF30, "sub_GAME_7F05CF30"]
- [0x7F05CF48, "sub_GAME_7F05CF48"]
- [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, "sub_GAME_7F05D078"]
- [0x7F05D078, "getCurrentWeaponOrItem"]
- [0x7F05D088, "used_to_load_1st_person_model_on_demand"]
- [0x7F05D334, "sub_GAME_7F05D334"]
- [0x7F05D434, "get_next_weapon_in_cycle_for_hand"]
@ -3097,7 +3097,7 @@ labels:
- [0x7F089E4C, "sub_GAME_7F089E4C"]
- [0x7F089EA4, "check_if_bond_is_invincible"]
- [0x7F089EBC, "check_if_healthbar_timer_greater_than_0"]
- [0x7F089ED4, "get_BONDdata_field19C"]
- [0x7F089ED4, "get_BONDdata_bondfadefracnew"]
- [0x7F089EE4, "get_curplay_horizontal_rotation_in_degrees"]
- [0x7F089F10, "get_curplay_vertical_rotation_in_degrees"]
- [0x7F089F38, "sub_GAME_7F089F38"]
@ -3166,7 +3166,7 @@ labels:
- [0x7F08CE70, "sub_GAME_7F08CE70"]
- [0x7F08CF0C, "sub_GAME_7F08CF0C"]
- [0x7F08CF80, "sub_GAME_7F08CF80"]
- [0x7F08CFC0, "sub_GAME_7F08CFC0"]
- [0x7F08CFC0, "checkforgoldengun"]
- [0x7F08CFE0, "sub_GAME_7F08CFE0"]
- [0x7F08D038, "sub_GAME_7F08D038"]
- [0x7F08D108, "sub_GAME_7F08D108"]
@ -3244,8 +3244,8 @@ labels:
- [0x7F0904C4, "dbgStanViewProcess"]
- [0x7F090508, "dbgBondViewProcess"]
- [0x7F09054C, "sub_GAME_7F09054C"]
- [0x7F090590, "unknown_libname_68"]
- [0x7F090598, "nullsub_35"]
- [0x7F090590, "removed_do_debug_profile_flag_false"]
- [0x7F090598, "removed_do_debug_profile_flag_true"]
- [0x7F0905A0, "debug_menu_processor"]
- [0x7F090778, "debug_stanview"]
- [0x7F090788, "debug_bondview"]
@ -3354,13 +3354,13 @@ labels:
- [0x7F09166C, "sub_GAME_7F09166C"]
- [0x7F0916F4, "sub_GAME_7F0916F4"]
# file asm/game/7F091740.s
- [0x7F091740, "sub_GAME_7F091740"]
- [0x7F09177C, "sub_GAME_7F09177C"]
- [0x7F09193C, "sub_GAME_7F09193C"]
- [0x7F091A5C, "sub_GAME_7F091A5C"]
- [0x7F091A78, "sub_GAME_7F091A78"]
- [0x7F091AAC, "sub_GAME_7F091AAC"]
- [0x7F091B64, "sub_GAME_7F091B64"]
- [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"]
@ -3395,7 +3395,7 @@ labels:
- [0x7F092340, "cheats_debug_unlockcheat"]
- [0x7F092380, "cheats_debug_unlocklevel"]
- [0x7F092428, "cheats_debug_return_saved_ra"]
- [0x7F092438, "sub_GAME_7F092438"]
- [0x7F092438, "cheatDisplayMessageActivateCheat"]
- [0x7F0924D8, "cheat_button_invincibility"]
- [0x7F092508, "cheat_button_all_guns"]
- [0x7F092538, "cheat_button_line_mode"]
@ -3408,10 +3408,10 @@ labels:
- [0x7F092668, "cheat_button_fast_mode"]
- [0x7F092698, "cheat_button_debug_mode"]
- [0x7F0926B0, "cheat_button_default"]
- [0x7F0926C0, "sub_GAME_7F0926C0"]
- [0x7F092774, "sub_GAME_7F092774"]
- [0x7F0927BC, "sub_GAME_7F0927BC"]
- [0x7F0927F4, "sub_GAME_7F0927F4"]
- [0x7F0926C0, "cheatDisableAllCheats"]
- [0x7F092774, "cheatGetMenuTextPointer"]
- [0x7F0927BC, "cheatCheckIfOn"]
- [0x7F0927F4, "set_DKMode"]
# file asm/game/7F092890.s
- [0x7F092890, "sub_GAME_7F092890"]
# file asm/game/7F092E50.s
@ -3424,11 +3424,11 @@ labels:
- [0x7F093A78, "sub_GAME_7F093A78"]
- [0x7F093BFC, "sub_GAME_7F093BFC"]
- [0x7F093C48, "sub_GAME_7F093C48"]
- [0x7F093C88, "sub_GAME_7F093C88"]
- [0x7F093C88, "addpoint5tofloat"]
- [0x7F093CB0, "sub_GAME_7F093CB0"]
- [0x7F093FA4, "sub_GAME_7F093FA4"]
- [0x7F094298, "sub_GAME_7F094298"]
- [0x7F09442C, "sub_GAME_7F09442C"]
- [0x7F09442C, "store_stagenum_to_copyof_stagenum"]
- [0x7F094438, "sub_GAME_7F094438"]
- [0x7F094488, "sub_GAME_7F094488"]
- [0x7F0957A4, "def_7F094A38"]
@ -3447,9 +3447,9 @@ labels:
- [0x7F09B15C, "sub_GAME_7F09B15C"]
- [0x7F09B1DC, "set_cur_player_screen_size"]
- [0x7F09B1F8, "set_cur_player_viewport_size"]
- [0x7F09B214, "sub_GAME_7F09B214"]
- [0x7F09B224, "sub_GAME_7F09B224"]
- [0x7F09B234, "sub_GAME_7F09B234"]
- [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"]
@ -3554,9 +3554,9 @@ labels:
# file asm/game/7F0A4860.s
- [0x7F0A4860, "nullsub_46"]
- [0x7F0A4868, "init_watch_at_start_of_stage"]
- [0x7F0A4A98, "sub_GAME_7F0A4A98"]
- [0x7F0A4A98, "controller_deadzone_related"]
- [0x7F0A4B40, "sub_GAME_7F0A4B40"]
- [0x7F0A4D74, "sub_GAME_7F0A4D74"]
- [0x7F0A4D74, "controllerCheckDualControllerTypesAllowed"]
- [0x7F0A4DC0, "cur_player_get_control_type"]
- [0x7F0A4DD0, "cur_player_set_control_type"]
- [0x7F0A4E38, "get_cur_player_look_vertical_inverted"]
@ -3583,14 +3583,14 @@ labels:
- [0x7F0A4FA4, "set_controlstick_lr_enabled"]
- [0x7F0A4FB0, "sub_GAME_7F0A4FB0"]
- [0x7F0A4FEC, "sub_GAME_7F0A4FEC"]
- [0x7F0A5028, "sub_GAME_7F0A5028"]
- [0x7F0A504C, "sub_GAME_7F0A504C"]
- [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, "sub_GAME_7F0A5100"]
- [0x7F0A5124, "sub_GAME_7F0A5124"]
- [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"]
@ -3637,7 +3637,7 @@ labels:
- [0x7F0A8D40, "sub_GAME_7F0A8D40"]
- [0x7F0A8ED0, "sub_GAME_7F0A8ED0"]
- [0x7F0A8FEC, "sub_GAME_7F0A8FEC"]
- [0x7F0A9180, "sub_GAME_7F0A9180"]
- [0x7F0A9180, "call_sfx_c_700091C8"]
- [0x7F0A91A0, "sub_GAME_7F0A91A0"]
- [0x7F0A91C8, "sub_GAME_7F0A91C8"]
- [0x7F0A9358, "sub_GAME_7F0A9358"]
@ -3650,12 +3650,12 @@ labels:
- [0x7F0A9AB8, "sub_GAME_7F0A9AB8"]
- [0x7F0AA7C8, "sub_GAME_7F0AA7C8"]
- [0x7F0AADC0, "sub_GAME_7F0AADC0"]
- [0x7F0AB48C, "sub_GAME_7F0AB48C"]
- [0x7F0AB498, "sub_GAME_7F0AB498"]
- [0x7F0AB4A4, "sub_GAME_7F0AB4A4"]
- [0x7F0AB4B0, "sub_GAME_7F0AB4B0"]
- [0x7F0AB48C, "zero_D_80040998"]
- [0x7F0AB498, "zero_D_8004099C"]
- [0x7F0AB4A4, "zero_D_800409A4"]
- [0x7F0AB4B0, "return_arg0_7F0AB4B0"]
- [0x7F0AB4B8, "sub_GAME_7F0AB4B8"]
- [0x7F0AB7A4, "sub_GAME_7F0AB7A4"]
- [0x7F0AB7A4, "set_pparam1toparam2_disablejoylr_playsfx"]
- [0x7F0AB7D8, "sub_GAME_7F0AB7D8"]
- [0x7F0AB908, "sub_GAME_7F0AB908"]
- [0x7F0ABC1C, "sub_GAME_7F0ABC1C"]
@ -3666,11 +3666,11 @@ labels:
- [0x7F0AC8EC, "def_7F0AC3B0"]
- [0x7F0ACA28, "sub_GAME_7F0ACA28"]
- [0x7F0ACB5C, "def_7F0ACAC8"]
- [0x7F0ACB70, "null_init_main"]
- [0x7F0ACB78, "sub_GAME_7F0ACB78"]
- [0x7F0ACB88, "sub_GAME_7F0ACB88"]
- [0x7F0ACB94, "sub_GAME_7F0ACB94"]
- [0x7F0ACBA0, "sub_GAME_7F0ACBA0"]
- [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"]
@ -3786,7 +3786,7 @@ labels:
- [0x7F0B4034, "sub_GAME_7F0B4034"]
- [0x7F0B4084, "sub_GAME_7F0B4084"]
- [0x7F0B40D4, "sub_GAME_7F0B40D4"]
- [0x7F0B4124, "sub_GAME_7F0B4124"]
- [0x7F0B4124, "load_bg_file"]
- [0x7F0B47E0, "sub_GAME_7F0B47E0"]
- [0x7F0B4810, "sub_GAME_7F0B4810"]
- [0x7F0B4830, "sub_GAME_7F0B4830"]
@ -3960,16 +3960,16 @@ labels:
- [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"]
- [0x7F0BD100, "get_pc_remaining_buffer_for_index"]
- [0x7F0BD11C, "get_rom_remaining_buffer_for_index"]
- [0x7F0BD138, "sub_GAME_7F0BD138"]
- [0x7F0BD188, "sub_GAME_7F0BD188"]
- [0x7F0BD188, "get_pc_buffer_remaining_value"]
- [0x7F0BD1BC, "something_mem_bank_a0"]
- [0x7F0BD234, "sub_GAME_7F0BD234"]
- [0x7F0BD254, "get_index_num_of_named_resource"]
- [0x7F0BD384, "sub_GAME_7F0BD384"]
- [0x7F0BD38C, "sub_GAME_7F0BD38C"]
- [0x7F0BD3E4, "sub_GAME_7F0BD3E4"]
- [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"]
@ -3990,9 +3990,9 @@ labels:
- [0x7F0BD8FC, "sub_GAME_7F0BD8FC"]
- [0x7F0BD908, "something_with_lvl_c_debug"]
- [0x7F0BD984, "sub_GAME_7F0BD984"]
- [0x7F0BD9C4, "sub_GAME_7F0BD9C4"]
- [0x7F0BD9EC, "sub_GAME_7F0BD9EC"]
- [0x7F0BDA38, "sub_GAME_7F0BDA38"]
- [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"]
@ -4311,7 +4311,7 @@ labels:
- [0x7F0D2464, "sub_GAME_7F0D2464"]
- [0x7F0D2518, "sub_GAME_7F0D2518"]
# file asm/game/7F0D2720.s
- [0x7F0D2720, "sub_GAME_7F0D2720"]
- [0x7F0D2720, "getmusictrack_or_randomtrack"]
- [0x7F0D2848, "sub_GAME_7F0D2848"]
- [0x7F0D2890, "sub_GAME_7F0D2890"]
# file asm/game/spectrum.s
@ -4394,7 +4394,7 @@ labels:
- [0x80024348, "music3len"]
- [0x80024358, "music_array_tempo_maybe"]
- [0x800243F8, "bootswitch_sound"]
- [0x80024404, "tied_to_mem_management"]
- [0x80024404, "needmemallocation"]
- [0x80024460, "randseed"]
- [0x80024470, "strstr_numstings"]
- [0x80024474, "strstr_ptrcurrent_string"]
@ -7690,20 +7690,18 @@ labels:
- [0x80063730, "ptr_3rd_music_ctrl_block"]
- [0x80063734, "ptr_musicdatatable"]
- [0x80063BB0, "memory_bank_ptrs"]
- [0x80063BF0, "ptr_model_room_buf_pri"]
- [0x80063BF8, "dword_CODE_bss_80063BF8"]
- [0x80063C1C, "dword_CODE_bss_80063C1C"]
- [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_first_entry_in_alloc_table"]
- [0x80063C38, "ptr_table_allocated_mem_blocks + 0x10"]
- [0x80063C3C, "dword_CODE_bss_80063C3C"]
- [0x80063C48, "dword_CODE_bss_80063C48"]
- [0x80064C08, "dword_CODE_bss_80064C08"]
- [0x80064C10, "dword_CODE_bss_80064C10"]
- [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"]
@ -8049,7 +8047,7 @@ labels:
- [0x80071DF0, "dword_CODE_bss_80071DF0"]
- [0x80071DF4, "dword_CODE_bss_80071DF4"]
- [0x80071DF8, "dword_CODE_bss_80071DF8"]
- [0x80071E00, "dword_CODE_bss_80071E00"]
- [0x80071E00, "temp_mine_table"]
- [0x80071E04, "dword_CODE_bss_80071E04"]
- [0x80071E08, "dword_CODE_bss_80071E08"]
- [0x80071E78, "gas_damage_flag"]
@ -8203,7 +8201,7 @@ labels:
- [0x80079FD0, "player3_player_data"]
- [0x8007A040, "player4_player_data"]
- [0x8007A0B0, "ptr_BONDdata"]
- [0x8007A0B4, "cur_player_stat_ptr"]
- [0x8007A0B4, "pPlayersPerm"]
- [0x8007A0B8, "player_num"]
- [0x8007A0BC, "random_byte"]
- [0x8007A0C0, "dword_CODE_bss_8007A0C0"]
@ -8304,7 +8302,7 @@ labels:
- [0x80083450, "dword_CODE_bss_80083450"]
- [0x80083900, "dword_CODE_bss_80083900"]
- [0x80083DB0, "dword_CODE_bss_80083DB0"]
- [0x800888B0, "ptr_resource_data"]
- [0x800888B0, "resource_lookup_data_array"]
- [0x800888C4, "ptr_res_data_next"]
- [0x800888D8, "dword_CODE_bss_800888D8"]
- [0x8008C230, "ptr_mgfx0_alloc_start"]
@ -8328,15 +8326,15 @@ labels:
- [0x8008C5F8, "dword_CODE_bss_8008C5F8"]
- [0x8008C600, "dword_CODE_bss_8008C600"]
- [0x8008C604, "dword_CODE_bss_8008C604"]
- [0x8008C608, "dword_CODE_bss_8008C608"]
- [0x8008C608, "music_slot_active"]
- [0x8008C60C, "dword_CODE_bss_8008C60C"]
- [0x8008C610, "dword_CODE_bss_8008C610"]
- [0x8008C614, "dword_CODE_bss_8008C614"]
- [0x8008C618, "dword_CODE_bss_8008C618"]
- [0x8008C618, "music_slot_minutes"]
- [0x8008C61C, "dword_CODE_bss_8008C61C"]
- [0x8008C620, "dword_CODE_bss_8008C620"]
- [0x8008C624, "dword_CODE_bss_8008C624"]
- [0x8008C628, "dword_CODE_bss_8008C628"]
- [0x8008C628, "music_slot_seconds"]
- [0x8008C62C, "dword_CODE_bss_8008C62C"]
- [0x8008C630, "dword_CODE_bss_8008C630"]
- [0x8008C634, "dword_CODE_bss_8008C634"]
@ -8370,7 +8368,7 @@ labels:
- [0x8008D0A4, "img_curdatatable"]
- [0x8008D0A8, "img_bitcount"]
- [0x8008D0B0, "globalbank_rdram_offset"]
- [0x8008D0B4, "ptr_explosionDL"]
- [0x8008D0B4, "pGlobalimagetable"]
- [0x8008D0B8, "image"]
- [0x8008D0BC, "impactimages"]
- [0x8008D0C0, "explosion_smokeimages"]

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -66,7 +66,7 @@
//=============================================================================
// commands with a vehicle/aircraft prefix can only be executed by vehicle/aircraft
// objects. these types of objects do not use a chr struct. most non-vehicle
// commands will crash if they try to access caller's chr struct
// commands will crash if they try to access caller's chr struct
//=============================================================================
// ai commands with label argument
//=============================================================================
@ -192,9 +192,9 @@
// command D7 - hud flags
#define HUD_HIDE_ALL 0x00 // hide all
#define HUD_SHOW_TEXT_TOP 0x01 // hide all but top text
#define HUD_SHOW_TEXT_BOTTOM 0x02 // hide all but bottom text
#define HUD_SHOW_HUD_COUNTDOWN 0x04 // hide all but hud countdown
#define HUD_SHOW_TEXT_TOP 0x01 // don't hide top text
#define HUD_SHOW_TEXT_BOTTOM 0x02 // don't hide bottom text
#define HUD_SHOW_HUD_COUNTDOWN 0x04 // don't hide hud countdown
// command 94/95/96/97/98/99 chr->BITFIELD - used for ai list GLIST_FIRE_RAND_ANIM_SUBROUTINE
#define BITFIELD_DONT_POINT_AT_BOND 0x01 // if set, don't point at bond
@ -259,7 +259,13 @@
#define if_local_timer_seconds_greater_than(seconds, label) \
if_local_timer_greater_than((SECS_TO_TIMER60(seconds)), label)
#define camera_wait_for_loading \
#define camera_transition_from_bond \
bond_hide_weapons \
ai_sleep \
ai_sleep \
ai_sleep
#define camera_transition_to_bond \
ai_sleep \
ai_sleep \
ai_sleep
@ -326,7 +332,7 @@
// info: used for ai list parser to check when list ends
//=============================================================================
// note: not recommended to execute this command - to finish a list create an
// infinite loop (goto_loop_infinite) or jump to glist end routine when list has
// infinite loop (goto_loop_infinite) or jump to GLIST_END_ROUTINE when list has
// finished tasks
//===========================================================================*/
#define ai_list_end_ID 0x04
@ -565,7 +571,7 @@
// command id: 16
// info: update guard's aim/fire target, goto label if successful
//=============================================================================
// note: this command only works if guard is currently aiming at a target
// note: this command only works if guard is currently aiming at a target.
// bitfield argument is used to set the target type (pad/bond/chr).
// use TARGET_# flags for bitfield argument
//===========================================================================*/
@ -582,7 +588,7 @@
// command id: 17
// info: make guard continuously face target, goto label if successful
//=============================================================================
// note: if guard was shot while facing target, guard will snap out of facing state
// note: if guard was shot while facing target, guard will snap out of facing state.
// bitfield argument is used to set the target type (pad/bond/chr).
// use TARGET_# flags for bitfield argument. command can't use TARGET_AIM_ONLY flag
//===========================================================================*/
@ -705,7 +711,8 @@
// command id: 20
// info: makes guard walk a predefined path within setup
//=============================================================================
// note: usually paired with goto glist 0005/0007
// note: usually paired with goto GLIST_DETECT_BOND_DEAF_NO_CLONE_NO_IDLE_ANIM
// or GLIST_DETECT_BOND_NO_CLONE_NO_IDLE_ANIM
//===========================================================================*/
#define guard_start_patrol_ID 0x20
#define guard_start_patrol_LENGTH 0x02
@ -1605,17 +1612,17 @@
object_tag,
/*=============================================================================
// name: object_detach_from_chr
// name: object_drop_from_chr
// command id: 60
// info: detach tagged object from chr and drop to ground
// info: drop tagged object held/attached to chr
//=============================================================================
// note: item must be attached to a chr. embedded objects will not drop, only
// works with attached objects. props can be damaged on drop
// note: item must be held/attached to a chr. embedded objects will not drop,
// only works with attached objects. props can be damaged on drop
//===========================================================================*/
#define object_detach_from_chr_ID 0x60
#define object_detach_from_chr_LENGTH 0x02
#define object_detach_from_chr(object_tag) \
object_detach_from_chr_ID, \
#define object_drop_from_chr_ID 0x60
#define object_drop_from_chr_LENGTH 0x02
#define object_drop_from_chr(object_tag) \
object_drop_from_chr_ID, \
object_tag,
/*=============================================================================
@ -2312,7 +2319,7 @@
// name: guard_set_health_total
// command id: 8F
// info: set guard's total health - the higher the value, the more shots needed
// to kill guard.
// to kill guard.
//=============================================================================
// note: sets to chr->maxdamage. default health is 4.0f (0x0028/40 dec for argument).
// argument is converted to float and divided by 10 before setting to maxdamage.
@ -2353,8 +2360,8 @@
//=============================================================================
// note: sets to chr->speedrating. default speed is 0 - argument is signed.
// negative values will make guard animate slower - this affects firing animations.
// command does not use 007 reaction speed modifier. do not use values above 0x60
// or it may crash
// command does not use 007 reaction speed modifier. do not use values above/below
// 100 or it may crash
//===========================================================================*/
#define guard_set_speed_rating_ID 0x91
#define guard_set_speed_rating_LENGTH 0x02
@ -2490,9 +2497,11 @@
// command id: 9A
// info: set bits in objective bitfield on
//=============================================================================
// note: can be used to store a mission unique objective flag, which can be set
// note: can be used to store a mission unique objective flag, which can be linked
// to mission objectives. it can also be used to store miscellaneous flags used
// by other ai lists
// by other ai lists. if a mission objective is changed while in third person,
// it will not be updated on the briefing page - all mission objectives status
// are locked while in third person
//===========================================================================*/
#define objective_bitfield_set_on_ID 0x9A
#define objective_bitfield_set_on_LENGTH 0x05
@ -2505,9 +2514,11 @@
// command id: 9B
// info: set bits in objective bitfield off
//=============================================================================
// note: can be used to store a mission unique objective flag, which can be set
// note: can be used to store a mission unique objective flag, which can be linked
// to mission objectives. it can also be used to store miscellaneous flags used
// by other ai lists
// by other ai lists. if a mission objective is changed while in third person,
// it will not be updated on the briefing page - all mission objectives status
// are locked while in third person
//===========================================================================*/
#define objective_bitfield_set_off_ID 0x9B
#define objective_bitfield_set_off_LENGTH 0x05
@ -3290,7 +3301,7 @@
// command id: D2
// info: exits the level
//=============================================================================
// note: recommend not to use this command, instead goto glist exit level for
// note: recommend not to use this command, instead goto GLIST_EXIT_LEVEL for
// exit cutscene list. retail game has a glitch with hires mode that needs to
// execute this command in a loop, check cuba's 1000 list
//===========================================================================*/
@ -3307,8 +3318,8 @@
// note: unused command, never used in retail game. tagged items within inventory
// will become invalid after command - only weapons are safe. command must have
// 3 ai_sleep commands before executing this command or else engine will crash
// on console (use macro camera_wait_for_loading). if camera mode is already in
// third person then you don't need to do the above
// on console (use camera_transition_to_bond). mission time is resumed on return
// to first person view
//===========================================================================*/
#define camera_return_to_bond_ID 0xD3
#define camera_return_to_bond_LENGTH 0x01
@ -3320,9 +3331,10 @@
// command id: D4
// info: change view to pad and look at bond
//=============================================================================
// note: command must have 3 ai_sleep commands before executing this command or
// else engine will crash on console (use macro camera_wait_for_loading).
// note: command must have a bond_hide_weapons command and 3 ai_sleep commands
// before executing this command or else engine will crash (use camera_transition_from_bond).
// if camera mode is already in third person then you don't need to do the above.
// mission time is paused while in third person
//===========================================================================*/
#define camera_look_at_bond_from_pad_ID 0xD4
#define camera_look_at_bond_from_pad_LENGTH 0x03
@ -3335,11 +3347,12 @@
// command id: D5
// info: change view to tagged camera's position and rotation
//=============================================================================
// note: command must have 3 ai_sleep commands before executing this command or
// else engine will crash on console (use macro camera_wait_for_loading).
// note: command must have a bond_hide_weapons command and 3 ai_sleep commands
// before executing this command or else engine will crash (use camera_transition_from_bond).
// if camera mode is already in third person then you don't need to do the above.
// only look at bond if flag is set. unused flag may have separated look at bond
// as x/y flags instead of a single flag - for retail unused flag does nothing
// as x/y flags instead of a single flag - for retail unused flag does nothing.
// mission time is paused while in third person
//===========================================================================*/
#define camera_switch_ID 0xD5
#define camera_switch_LENGTH 0x06
@ -3366,34 +3379,35 @@
label,
/*=============================================================================
// name: hud_hide_and_lock_controls
// name: hud_hide_and_lock_controls_and_pause_mission_time
// command id: D7
// info: hide hud elements and lock player controls
// info: hide hud elements, lock player control and stop mission time.
// command is commonly used for exit mission lists
//=============================================================================
// note: argument flag will not hide element on command execution. this is
// needed for dialog or countdown while in cinema mode. flags can be combined
// needed for dialog/hud countdown while in cinema mode. flags can be combined
// together to show multiple elements. sequential executions of D7 can be used
// to hide more elements, but once an element has been hidden it cannot be shown
// again until command D8 is executed. bond can take damage while in locked state.
// use HUD_# flags for bitfield argument
//===========================================================================*/
#define hud_hide_and_lock_controls_ID 0xD7
#define hud_hide_and_lock_controls_LENGTH 0x02
#define hud_hide_and_lock_controls(bitfield) \
hud_hide_and_lock_controls_ID, \
#define hud_hide_and_lock_controls_and_pause_mission_time_ID 0xD7
#define hud_hide_and_lock_controls_and_pause_mission_time_LENGTH 0x02
#define hud_hide_and_lock_controls_and_pause_mission_time(bitfield) \
hud_hide_and_lock_controls_and_pause_mission_time_ID, \
bitfield,
/*=============================================================================
// name: hud_show_all
// name: hud_show_all_and_unlock_controls_and_resume_mission_time
// command id: D8
// info: show all hud elements that have been disabled by D7
// info: show all hud elements, unlock player control and resume mission time
//=============================================================================
// note: should only be executed after D7 command
//===========================================================================*/
#define hud_show_all_ID 0xD8
#define hud_show_all_LENGTH 0x01
#define hud_show_all \
hud_show_all_ID,
#define hud_show_all_and_unlock_controls_and_resume_mission_time_ID 0xD8
#define hud_show_all_and_unlock_controls_and_resume_mission_time_LENGTH 0x01
#define hud_show_all_and_unlock_controls_and_resume_mission_time \
hud_show_all_and_unlock_controls_and_resume_mission_time_ID,
/*=============================================================================
// name: chr_try_teleporting_to_pad
@ -3618,14 +3632,17 @@
gas_leak_and_switch_fog_ID,
/*=============================================================================
// name: mission_time_stop_and_exit_level_on_button_input
// name: trigger_fade_and_exit_level_on_button_press
// command id: EA
// info: stop the mission time and exit level if player 1 pressed any buttons
// info: if player pressed any button, fade to black and exit level
//=============================================================================
// note: this command activates a state where game will fade to black when button
// input is detected from controller 1. command does not pause mission time
//===========================================================================*/
#define mission_time_stop_and_exit_level_on_button_input_ID 0xEA
#define mission_time_stop_and_exit_level_on_button_input_LENGTH 0x01
#define mission_time_stop_and_exit_level_on_button_input \
mission_time_stop_and_exit_level_on_button_input_ID,
#define trigger_fade_and_exit_level_on_button_press_ID 0xEA
#define trigger_fade_and_exit_level_on_button_press_LENGTH 0x01
#define trigger_fade_and_exit_level_on_button_press \
trigger_fade_and_exit_level_on_button_press_ID,
/*=============================================================================
// name: if_bond_is_dead
@ -3666,9 +3683,9 @@
// command id: EE
// info: change view to orbit a pad with set speed
//=============================================================================
// note: command must have 3 ai_sleep commands before executing this command or
// else engine will crash on console (use macro camera_wait_for_loading). if camera
// mode is already in third person then you don't need to do the above.
// note: command must have a bond_hide_weapons command and 3 ai_sleep commands
// before executing this command or else engine will crash (use camera_transition_from_bond).
// if camera mode is already in third person then you don't need to do the above.
// arguments:
// lat_distance: camera distance from pad, 100 units per meter. argument is unsigned
// vert_distance: camera distance from pad, 100 units per meter. argument is signed
@ -3679,6 +3696,7 @@
// y_pos_offset: offset the relative y position for pad (boom/jib), argument is signed
// initial_rotation: uses compass direction like target commands (14-17)
// but inverted - hex N: 0000 E: C000 S: 8000: W: 4000
// mission time is paused while in third person
//===========================================================================*/
#define camera_orbit_pad_ID 0xEE
#define camera_orbit_pad_LENGTH 0x0D

View File

@ -18,7 +18,7 @@
#define CHR_OBJECTIVE -2 /* objective ai list chr ID */
#define CHR_FREE -1 /* chr IDs when free'd (killed or removed from level) */
#define CHR_SPAWN_NUM_START 5000 /* default chr num for spawned guards with ai command BD/BE */
#define CHR_CLONED_NUM_START 9000 /* default chr num for cloed guards with ai command C1 */
#define CHR_CLONED_NUM_START 10000 /* default chr num for cloed guards with ai command C1 */
#define PAD_PRESET 9000 /* stored as chr->padpreset1 */
@ -1023,6 +1023,26 @@ typedef enum CAMERAMODE {
UNK10_CAM
} CAMERAMODE;
typedef enum IMAGE_FORMAT {
F_RGBA,
F_YUV,
F_CI,
F_IA,
F_I
} IMAGE_FORMAT;
typedef enum IMAGE_BITDEPTH {
D_4BIT,
D_8BIT,
D_16BIT,
D_32BIT
} IMAGE_BITDEPTH;
typedef enum CM_FLAGS {
CLAMP = 1,
MIRROR =2
} CM_FLAGS;
/* motion capture actor: duncan botwood */
/* motion capture assistance: b jones */
/* recorded using 'flock of birds' system by ascension technology corporation, in a freezing metal barn in the depths of winter */
@ -1117,7 +1137,7 @@ typedef enum ANIMATIONS {
ANIM_aim_running_right_one_handed_weapon = 86,
ANIM_aim_running_left_one_handed_weapon = 87,
ANIM_aim_sprinting_one_handed_weapon = 88,
ANIM_jogging_one_handed_weapon = 89,
ANIM_running_one_handed_weapon = 89,
ANIM_sprinting_one_handed_weapon = 90,
ANIM_null91 = 91, /* invalid slot */
ANIM_null92 = 92, /* invalid slot */
@ -1132,7 +1152,7 @@ typedef enum ANIMATIONS {
ANIM_holster_one_handed_weapon_and_cross_arms = 101,
ANIM_cock_one_handed_weapon_turn_around_and_stand_up = 102,
ANIM_draw_one_handed_weapon_and_turn_around = 103,
ANIM_step_foward_and_hold_one_handed_weapon = 104,
ANIM_step_forward_and_hold_one_handed_weapon = 104,
ANIM_holster_one_handed_weapon_and_adjust_suit = 105,
ANIM_idle_unarmed = 106,
ANIM_walking_unarmed = 107,
@ -1253,9 +1273,9 @@ typedef enum ACT_TYPE {
} ACT_TYPE;
// character flags
#define CHRFLAG_00000001 0x00000001 // unknown
#define CHRFLAG_SUNGLASSES 0x00000002 // sunglasses
#define CHRFLAG_00000004 0x00000004 // unknown
#define CHRFLAG_INIT 0x00000001 // initialize chr
#define CHRFLAG_CLONE 0x00000002 // clone on heard gunfire (used by GLIST_DETECT_BOND_SPAWN_CLONE_ON_HEARD_GUNFIRE)
#define CHRFLAG_NEAR_MISS 0x00000004 // chr was just nearly shot (sometimes set on direct hit)
#define CHRFLAG_HAS_BEEN_ON_SCREEN 0x00000008 // chr has been on screen before
#define CHRFLAG_INVINCIBLE 0x00000010 // invincible
#define CHRFLAG_00000020 0x00000020 // unknown
@ -1276,7 +1296,7 @@ typedef enum ACT_TYPE {
#define CHRFLAG_COUNT_DEATH_AS_CIVILIAN 0x00100000 // count death as civilian killed
#define CHRFLAG_WAS_HIT 0x00200000 // chr has been hit (even if invincible)
#define CHRFLAG_00400000 0x00400000 // unknown
#define CHRFLAG_00800000 0x00800000 // unknown
#define CHRFLAG_CULL_USING_HITBOX 0x00800000 // cull chr using hitbox instead of tile/clipping (useful with lock y pos flag)
#define CHRFLAG_01000000 0x01000000 // unknown
#define CHRFLAG_02000000 0x02000000 // unknown
#define CHRFLAG_04000000 0x04000000 // unknown

View File

@ -2,8 +2,8 @@
#define _BOND_H_
#include "ultra64.h"
extern u16 cfb_16_a[];
extern u16 cfb_16_b[];
extern u8 cfb_16_a[];
extern u8 cfb_16_b[];
extern u32 *_codeSegmentStart;
extern u32 *_codeSegmentEnd;

View File

@ -1,7 +1,7 @@
#ifndef _BONDTYPES_H_
#define _BONDTYPES_H_
#include "ultra64.h"
#include "bondconstants.h"
struct rgba_val{
u8 r;
u8 g;
@ -192,4 +192,131 @@ struct CHRdata {
int * handle_positiondata_hat;
};
struct object_standard {
u16 extrascale:2;
u8 hidden2:1;
u8 type:1;
u16 obj;
u16 pad;
u32 flags;
u32 flags2;
void * runtime_ptr_obj_posdata;
void * runtime_ptr_obj_instance_controller;
void * runtime_MATRIX0;
void * runtime_MATRIX1;
void * runtime_MATRIX2;
void * runtime_MATRIX3;
void * runtime_MATRIX4;
void * runtime_MATRIX5;
void * runtime_MATRIX6;
void * runtime_MATRIX7;
void * runtime_MATRIX8;
void * runtime_MATRIX9;
void * runtime_MATRIXA;
void * runtime_MATRIXB;
void * runtime_MATRIXC;
void * runtime_MATRIXD;
void * runtime_MATRIXE;
void * runtime_MATRIXF;
f32 runtime_x_pos;
f32 runtime_y_pos;
f32 runtime_z_pos;
int runtime_bitflags;
int ptr_allocated_collisiondata_block;
int field_6C;
float field_70;
short damage;
short maxdamage;
char field_78;
char field_79;
char field_7A;
char field_7B;
char field_7C;
char field_7D;
char field_7E;
char field_7F;
};
struct watchMenuObjectiveText {
u32 id;
enum WATCH_BRIEFING_PAGE menu;
u16 reserved;
u16 text;
struct watchMenuObjectiveText * nextentry;
};
//!FIXME all but text field cannot be trusted
struct objective_entry {
u32 id;
enum WATCH_BRIEFING_PAGE menu;
u16 reserved;
u16 text;
struct watchMenuObjectiveText * nextentry;
};
typedef struct sImageTableEntry {
u32 index;
u8 width;
u8 height;
u8 level;
u8 format;
u8 depth;
u8 flagsS;
u8 flagsT;
u8 pad;
} sImageTableEntry;
typedef struct sGlobalImageTable {
u32 globalDL_0x000[30];
u32 globalDL_0x078[42];
u32 globalDL_0x120[42];
u32 globalDL_0x1c8[42];
u32 globalDL_0x270[42];
u32 globalDL_0x318[42];
u32 globalDL_0x3c0[42];
u32 globalDL_0x468[42];
u32 globalDL_0x510[42];
u32 globalDL_0x5b8[42];
u32 globalDL_0x660[42];
u32 globalDL_0x708[42];
u32 globalDL_0x7b0[42];
u32 globalDL_0x858[42];
u32 globalDL_0x900[42];
u32 globalDL_0x9a8[42];
u32 globalDL_0xa50[30];
struct sImageTableEntry s_genericimage[1];
struct sImageTableEntry s_impactimages[20];
struct sImageTableEntry s_explosion_smokeimages[6];
struct sImageTableEntry s_scattered_explosions[5];
struct sImageTableEntry s_flareimage1[1];
struct sImageTableEntry s_flareimage2[1];
struct sImageTableEntry s_flareimage3[1];
struct sImageTableEntry s_flareimage4[1];
struct sImageTableEntry s_flareimage5[1];
struct sImageTableEntry s_ammo9mmimage[1];
struct sImageTableEntry s_rifleammoimage[1];
struct sImageTableEntry s_shotgunammoimage[1];
struct sImageTableEntry s_knifeammoimage[1];
struct sImageTableEntry s_glammoimage[1];
struct sImageTableEntry s_rocketammoimage[1];
struct sImageTableEntry s_genericmineammoimage[1];
struct sImageTableEntry s_grenadeammoimage[1];
struct sImageTableEntry s_magnumammoimage[1];
struct sImageTableEntry s_goldengunammoimage[1];
struct sImageTableEntry s_remotemineammoimage[1];
struct sImageTableEntry s_timedmineammoimage[1];
struct sImageTableEntry s_proxmineammoimage[1];
struct sImageTableEntry s_tankammoimage[1];
struct sImageTableEntry s_crosshairimage[1];
struct sImageTableEntry s_betacrosshairimage[1];
struct sImageTableEntry s_glassoverlayimage[2];
struct sImageTableEntry s_monitorimages[50];
struct sImageTableEntry s_skywaterimages[3];
struct sImageTableEntry s_mainfolderimages[6];
struct sImageTableEntry s_mpradarimages[1];
struct sImageTableEntry s_mpcharselimages[64];
struct sImageTableEntry s_mpstageselimages[17];
} sGlobalImageTable;
#endif

View File

@ -157,12 +157,12 @@ void init_mainthread_data(void)
current_m_malloc_value = (s32) (strtol(check_token(1, "-m"), 0, 0) << 0xa);
}
temp_s0 = (osVirtualToPhysical(&room_model_buffer) | 0x80000000);
check_memflag_tokens(temp_s0, (return_ptr_TLBallocatedblock() - temp_s0));
reset_mem_bank_a0(6);
mempCheckMemflagTokens(temp_s0, (return_ptr_TLBallocatedblock() - temp_s0));
mempResetBank(6);
init_LnameX();
something_with_lvl_c_debug();
something_with_boss_c_debug();
null_init_main();
null_init_main_7f0acb70();
null_init_main_0();
default_player_perspective_and_height();
store_osgetcount();
@ -287,9 +287,9 @@ void mainloop(void)
sp1DC = 0;
reset_mem_bank_5();
if (check_token(1, &aLevel__0) != 0)
if (check_token(1, "-level_") != 0)
{
temp_ret = check_token(1, &aLevel__1);
temp_ret = check_token(1, "-level_");
current_stage_num = (s32) ((temp_ret->unk1 + (temp_ret->unk0 * 0xa)) + -0x210);
}
if (current_stage_num != 0x5a)
@ -298,10 +298,10 @@ void mainloop(void)
set_selected_folder_num(0);
set_selected_difficulty(0);
set_solo_and_ptr_briefing(current_stage_num);
if (check_token(1, &aHard) != 0)
if (check_token(1, "-hard") != 0)
{
set_selected_difficulty(*check_token(1, &aHard_1) + -0x30);
set_difficulty(*check_token(1, &aHard_2) + -0x30);
set_selected_difficulty(*check_token(1, "-hard") + -0x30);
set_difficulty(*check_token(1, "-hard") + -0x30);
}
}
increment_random_num(osGetCount());
@ -384,13 +384,13 @@ loop_18:
}
strtok((&memallocstringtable + (phi_s0_3 * 8))->unk4, &memallocstringtable);
}
reset_mem_bank_a0(4);
mempResetBank(4);
something_mem_bank_a0(4);
if (check_token(1, &aMa) != 0)
{
current_ma_malloc_value = (s32) (strtol(check_token(1, &aMa_0), 0, 0) << 0xa);
}
reset_memtable_base_allocation(allocate_bytes_in_bank(current_ma_malloc_value, 4), current_ma_malloc_value);
mempInitMallocTable(mempAllocBytesInBank(current_ma_malloc_value, 4), current_ma_malloc_value);
reset_play_data_ptrs();
phi_s1 = 0;
if (current_stage_num != 0x5a)
@ -566,8 +566,8 @@ loop_44:
temp_s3_3 = temp_s3_3 + 8;
if (show_mem_use_flag != 0)
{
nulled_list_all8_mem_alloc_banks_sizes();
generate_lists_before_after_mem_merge();
nulled_mempLoopAllMemBanks();
memaGenerateListsBeforeAfterMerge();
removed_debug_routine(temp_s3_3);
nullsub_41(0);
show_mem_use_flag = 0;
@ -619,7 +619,7 @@ loop_58:
}
unload_stage_text_data();
stop_demo_playback();
memp_related_6(4);
mempNullNextEntryInBank(4);
something_mem_bank_a0(4);
current_stage_num = (?32) loadedstage;
loadedstage = -1;
@ -826,7 +826,7 @@ glabel mainloop
/* 006EE4 700062E4 0C002963 */ jal strtok
/* 006EE8 700062E8 8DC40004 */ lw $a0, 4($t6)
.L700062EC:
/* 006EEC 700062EC 0C002667 */ jal reset_mem_bank_a0
/* 006EEC 700062EC 0C002667 */ jal mempResetBank
/* 006EF0 700062F0 24040004 */ li $a0, 4
/* 006EF4 700062F4 0FC2F46F */ jal something_mem_bank_a0
/* 006EF8 700062F8 24040004 */ li $a0, 4
@ -849,11 +849,11 @@ glabel mainloop
.L7000633C:
/* 006F3C 7000633C 3C048002 */ lui $a0, %hi(current_ma_malloc_value)
/* 006F40 70006340 8C8441B0 */ lw $a0, %lo(current_ma_malloc_value)($a0)
/* 006F44 70006344 0C0025C8 */ jal allocate_bytes_in_bank
/* 006F44 70006344 0C0025C8 */ jal mempAllocBytesInBank
/* 006F48 70006348 24050004 */ li $a1, 4
/* 006F4C 7000634C 3C058002 */ lui $a1, %hi(current_ma_malloc_value)
/* 006F50 70006350 8CA541B0 */ lw $a1, %lo(current_ma_malloc_value)($a1)
/* 006F54 70006354 0C002766 */ jal reset_memtable_base_allocation
/* 006F54 70006354 0C002766 */ jal mempInitMallocTable
/* 006F58 70006358 00402025 */ move $a0, $v0
/* 006F5C 7000635C 0FC268CB */ jal reset_play_data_ptrs
/* 006F60 70006360 00000000 */ nop
@ -1134,9 +1134,9 @@ glabel mainloop
/* 007374 70006774 26730008 */ addiu $s3, $s3, 8
/* 007378 70006778 1100000B */ beqz $t0, .L700067A8
/* 00737C 7000677C 00000000 */ nop
/* 007380 70006780 0C00263C */ jal nulled_list_all8_mem_alloc_banks_sizes
/* 007380 70006780 0C00263C */ jal nulled_mempLoopAllMemBanks
/* 007384 70006784 00000000 */ nop
/* 007388 70006788 0C0028A7 */ jal generate_lists_before_after_mem_merge
/* 007388 70006788 0C0028A7 */ jal memaGenerateListsBeforeAfterMerge
/* 00738C 7000678C 00000000 */ nop
/* 007390 70006790 0FC2F5DD */ jal removed_debug_routine
/* 007394 70006794 02602025 */ move $a0, $s3
@ -1224,7 +1224,7 @@ glabel mainloop
/* 0074B8 700068B8 00000000 */ nop
/* 0074BC 700068BC 0FC3023F */ jal stop_demo_playback
/* 0074C0 700068C0 00000000 */ nop
/* 0074C4 700068C4 0C002671 */ jal memp_related_6
/* 0074C4 700068C4 0C002671 */ jal mempNullNextEntryInBank
/* 0074C8 700068C8 24040004 */ li $a0, 4
/* 0074CC 700068CC 0FC2F46F */ jal something_mem_bank_a0
/* 0074D0 700068D0 24040004 */ li $a0, 4

View File

@ -1,5 +1,5 @@
#include "ultra64.h"
#include "bondgame.h"
u16 cfb_16_a[320*240];
u16 cfb_16_b[320*240];
u8 cfb_16_a[320*240*2];
u8 cfb_16_b[320*240*2];

View File

@ -11,7 +11,7 @@
*/
/* bss */
char dword_CODE_bss_80060890[0x400];
extern char dword_CODE_bss_80060890[0x400];
@ -104,7 +104,7 @@ u32 get_entry_of_size_in_debug_notice_list(s32 arg0)
return debug_notice_list_data;
}
debug_notice_list_data = (u32) (temp_v0 - arg0);
return allocate_bytes_in_bank(6);
return mempAllocBytesInBank(6);
}
#else
GLOBAL_ASM(
@ -123,7 +123,7 @@ glabel get_entry_of_size_in_debug_notice_list
/* 0059A8 70004DA8 00441023 */ subu $v0, $v0, $a0
/* 0059AC 70004DAC 3C018002 */ lui $at, %hi(debug_notice_list_data)
/* 0059B0 70004DB0 AC2232F8 */ sw $v0, %lo(debug_notice_list_data)($at)
/* 0059B4 70004DB4 0C0025C8 */ jal allocate_bytes_in_bank
/* 0059B4 70004DB4 0C0025C8 */ jal mempAllocBytesInBank
/* 0059B8 70004DB8 24050006 */ li $a1, 6
/* 0059BC 70004DBC 10000005 */ b .L70004DD4
/* 0059C0 70004DC0 8FBF0014 */ lw $ra, 0x14($sp)

View File

@ -83,7 +83,7 @@ glabel thread5_translate_7F_address
/* 005BCC 70004FCC 24060001 */ li $a2, 1
/* 005BD0 70004FD0 0C00374C */ jal osSetIntMask
/* 005BD4 70004FD4 24040001 */ li $a0, 1
/* 005BD8 70004FD8 0C004060 */ jal ultra_70010180
/* 005BD8 70004FD8 0C004060 */ jal __osGetCurrFaultedThread
/* 005BDC 70004FDC 00408025 */ move $s0, $v0
/* 005BE0 70004FE0 3C018006 */ lui $at, %hi(ptr_tlbthread_maybe)
/* 005BE4 70004FE4 1040FFF6 */ beqz $v0, .L70004FC0

View File

@ -1722,13 +1722,14 @@ glabel sub_GAME_7F0B40D4
#ifdef NONMATCHING
void sub_GAME_7F0B4124(void) {
void load_bg_file(STAGENUM stagenum)
{
}
#else
GLOBAL_ASM(
.text
glabel sub_GAME_7F0B4124
glabel load_bg_file
/* 0E8C54 7F0B4124 27BDFF48 */ addiu $sp, $sp, -0xb8
/* 0E8C58 7F0B4128 AFB20020 */ sw $s2, 0x20($sp)
/* 0E8C5C 7F0B412C 3C128004 */ lui $s2, %hi(D_80041400)
@ -1801,7 +1802,7 @@ glabel sub_GAME_7F0B4124
/* 0E8D5C 7F0B422C 360F000F */ ori $t7, $s0, 0xf
/* 0E8D60 7F0B4230 25F00001 */ addiu $s0, $t7, 1
/* 0E8D64 7F0B4234 02002025 */ move $a0, $s0
/* 0E8D68 7F0B4238 0C0025C8 */ jal allocate_bytes_in_bank
/* 0E8D68 7F0B4238 0C0025C8 */ jal mempAllocBytesInBank
/* 0E8D6C 7F0B423C 24050004 */ li $a1, 4
/* 0E8D70 7F0B4240 8E580000 */ lw $t8, ($s2)
/* 0E8D74 7F0B4244 AEE20000 */ sw $v0, ($s7)

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,9 @@
#ifndef _BOND_H_
#define _BOND_H_
#include "ultra64.h"
#include "game/chr.h"
struct xyzpoint
{
f32 x;
@ -9,7 +11,7 @@ struct xyzpoint
f32 z;
};
struct Player
typedef struct Player
{
s32 unknown;
s32 xpos;
@ -526,8 +528,7 @@ struct Player
s16 viewtop;
s32 right_invisible;
s32 left_invisible;
s32 item_right;
s32 item_left;
s32 handitem[2];
s32 ptr_right_weapon_buffer;
s32 ptr_left_weapon_buffer;
s32 copy_of_body_obj_header[8];
@ -2684,7 +2685,7 @@ struct Player
s32 deathcount;
s32 num_suicides;
s32 field_29E0;
s32 field_29E4;
s32 last_kill_time;
s32 field_29E8;
s32 field_29EC;
s32 field_29F0;
@ -2705,7 +2706,7 @@ struct Player
s32 field_2A2C;
s32 field_2A30;
s32 field_2A34;
s32 field_2A38;
s32 cur_item_weapon_getname;
s32 actual_health;
s32 actual_armor;
s32 field_2A44;
@ -2717,13 +2718,13 @@ struct Player
s32 cur_player_control_type_1;
f32 cur_player_control_type_2;
s32 neg_vspacing_for_control_type_entry;
s32 has_set_control_type_data;
u32 has_set_control_type_data;
s32 field_2A6C;
s32 field_2A70;
s32 field_2A74;
s32 field_2A78;
s32 field_2A7C;
};
} Player;
struct firing_anim_struct {
struct weapon_firing_animation_table * pointer;

View File

@ -2104,13 +2104,13 @@ glabel sub_GAME_7F08CF80
#ifdef NONMATCHING
void sub_GAME_7F08CFC0(void) {
void checkforgoldengun(void) {
}
#else
GLOBAL_ASM(
.text
glabel sub_GAME_7F08CFC0
glabel checkforgoldengun
/* 0C1AF0 7F08CFC0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0C1AF4 7F08CFC4 AFBF0014 */ sw $ra, 0x14($sp)
/* 0C1AF8 7F08CFC8 0FC230C5 */ jal is_weapon_in_inv

View File

@ -1,7 +1,10 @@
#include "ultra64.h"
#include "game/bondwalk.h"
#include "game/chrobjdata.h"
#include "bondgame.h"
#include "game/bond.h"
#include "game/unk_093880.h"
// bss
s32 dword_CODE_bss_80075DB0;
@ -36,9 +39,7 @@ u32 D_80032454 = 0;
u32 D_80032458 = 0;
//D:8003245C
u32 size_right_item_buffer = 0x14820;
//D:80032460
u32 size_left_item_buffer = 0x14820;
u32 size_item_buffer[] = {0x14820, 0x14820};
//D:80032464
u32 D_80032464[] ={0x7530, 0x7530};
@ -64,6 +65,17 @@ struct ejected_cart ejected_cartridge[] = {
#define SCALEVAL_RUGER 0.80000001
#define SCALEVAL_LAUNCHER 0.80000001
#endif
#ifdef VERSION_EU
//!FIXME temp copy of us data
#define SCALEVAL1 0.80000001
#define SCALEVAL_KNIFE 0.80000001
#define SCALEVAL_SKORPIAN 0.80000001
#define SCALEVAL_AK47 0.80000001
#define SCALEVAL_UZI 0.80000001
#define SCALEVAL_P90 0.80000001
#define SCALEVAL_RUGER 0.80000001
#define SCALEVAL_LAUNCHER 0.80000001
#endif
#ifdef VERSION_JP
#define SCALEVAL1 0.8812
#define SCALEVAL_KNIFE 0.8228
@ -75,7 +87,7 @@ struct ejected_cart ejected_cartridge[] = {
#define SCALEVAL_LAUNCHER 0.9048
#endif
//D:80032494
struct weapon_stats stru_D_80032494 = {
struct weapon_stats default_weaponstats = {
1.0, 0.0, 0.0, 0.0, 3.0, 3.0, 8.5, 0, 0, 0xFF, 0x00, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL1, 0.89999998, 1.0, 0xFF, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 4.0, 0.0, 0x110
};
//D:80032504
@ -1198,7 +1210,7 @@ struct weapon_stats *get_ptr_item_statistics(int item) {
if (gitem_structs[item].has_no_model == 0) { /* weapon has model, return stats struct */
return gitem_structs[item].item_weapon_stats;
}
return &stru_D_80032494; /* no model, return defaults */
return &default_weaponstats; /* no model, return defaults */
}
@ -1673,12 +1685,13 @@ glabel sub_GAME_7F05CEBC
#ifdef NONMATCHING
void get_itemtype_in_hand(void) {
s32 get_itemtype_in_hand(int hand)
{
return pPlayer->handitem[hand];
}
#else
GLOBAL_ASM(
.text
@ -1718,13 +1731,13 @@ glabel get_ptr_itemheader_in_hand
#ifdef NONMATCHING
void sub_GAME_7F05CF30(void) {
void getPlayerWeaponBufferForHand(void) {
}
#else
GLOBAL_ASM(
.text
glabel sub_GAME_7F05CF30
glabel getPlayerWeaponBufferForHand
/* 091A60 7F05CF30 3C0E8008 */ lui $t6, %hi(pPlayer)
/* 091A64 7F05CF34 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6)
/* 091A68 7F05CF38 00047880 */ sll $t7, $a0, 2
@ -1736,25 +1749,10 @@ glabel sub_GAME_7F05CF30
#ifdef NONMATCHING
void sub_GAME_7F05CF48(void) {
u32 getSizeBufferWeaponInHand(int hand)
{
return size_item_buffer[hand];
}
#else
GLOBAL_ASM(
.text
glabel sub_GAME_7F05CF48
/* 091A78 7F05CF48 00047080 */ sll $t6, $a0, 2
/* 091A7C 7F05CF4C 3C028003 */ lui $v0, %hi(size_right_item_buffer)
/* 091A80 7F05CF50 004E1021 */ addu $v0, $v0, $t6
/* 091A84 7F05CF54 03E00008 */ jr $ra
/* 091A88 7F05CF58 8C42245C */ lw $v0, %lo(size_right_item_buffer)($v0)
)
#endif
@ -1896,13 +1894,14 @@ glabel get_ptr_weapon_model_header_line
#ifdef NONMATCHING
void sub_GAME_7F05D078(void) {
int getCurrentWeaponOrItem(void)
{
return pPlayer->cur_item_weapon_getname;
}
#else
GLOBAL_ASM(
.text
glabel sub_GAME_7F05D078
glabel getCurrentWeaponOrItem
/* 091BA8 7F05D078 3C0E8008 */ lui $t6, %hi(pPlayer)
/* 091BAC 7F05D07C 8DCEA0B0 */ lw $t6, %lo(pPlayer)($t6)
/* 091BB0 7F05D080 03E00008 */ jr $ra
@ -1958,10 +1957,10 @@ glabel used_to_load_1st_person_model_on_demand
/* 091C38 7F05D108 8FA20038 */ lw $v0, 0x38($sp)
/* 091C3C 7F05D10C 50400076 */ beql $v0, $zero, .L7F05D2E8
/* 091C40 7F05D110 8FA20038 */ lw $v0, 0x38($sp)
/* 091C44 7F05D114 0FC173CC */ jal sub_GAME_7F05CF30
/* 091C44 7F05D114 0FC173CC */ jal getPlayerWeaponBufferForHand
/* 091C48 7F05D118 8FA40050 */ lw $a0, 0x50($sp)
/* 091C4C 7F05D11C AFA20040 */ sw $v0, 0x40($sp)
/* 091C50 7F05D120 0FC173D2 */ jal sub_GAME_7F05CF48
/* 091C50 7F05D120 0FC173D2 */ jal getSizeBufferWeaponInHand
/* 091C54 7F05D124 8FA40050 */ lw $a0, 0x50($sp)
/* 091C58 7F05D128 8FAE0044 */ lw $t6, 0x44($sp)
/* 091C5C 7F05D12C 8FAA0050 */ lw $t2, 0x50($sp)
@ -2420,8 +2419,11 @@ glabel sub_GAME_7F05D650
#ifdef NONMATCHING
void sub_GAME_7F05D690(void) {
void proc_7F05D690(void)
{
draw_item_in_hand_has_more_ammo(0,pPlayer->previous_right_weapon);
draw_item_in_hand_has_more_ammo(1,pPlayer->left_weapon_previous);
return;
}
#else
GLOBAL_ASM(
@ -2451,8 +2453,24 @@ glabel sub_GAME_7F05D690
#ifdef NONMATCHING
void advance_through_inventory(void) {
void advance_through_inventory(void)
{
ITEM_IDS nextleft;
ITEM_IDS nextright;
nextright = get_next_weapon_in_cycle_for_hand(0,1);
nextleft = get_next_weapon_in_cycle_for_hand(1,1);
if (((int)nextright < 0x21) && ((int)nextleft < 0x21)) {
proc_7F08C86C((int *)&nextright,(int *)&nextleft,0);
}
else {
nextright = pPlayer->previous_right_weapon;
nextleft = pPlayer->left_weapon_previous;
}
likely_change_weapon_in_hand(0,nextright,1);
likely_change_weapon_in_hand(1,nextleft,1);
return;
}
#else
GLOBAL_ASM(
@ -3591,7 +3609,7 @@ glabel sub_GAME_7F05E0E4
/* 092D04 7F05E1D4 4481A000 */ mtc1 $at, $f20
/* 092D08 7F05E1D8 E7000FC0 */ swc1 $f0, 0xfc0($t8)
.L7F05E1DC:
/* 092D0C 7F05E1DC 0FC227B5 */ jal get_BONDdata_field19C
/* 092D0C 7F05E1DC 0FC227B5 */ jal get_BONDdata_bondfadefracnew
/* 092D10 7F05E1E0 E7B00050 */ swc1 $f16, 0x50($sp)
/* 092D14 7F05E1E4 3C018005 */ lui $at, %hi(D_80053C54)
/* 092D18 7F05E1E8 C4283C54 */ lwc1 $f8, %lo(D_80053C54)($at)
@ -3603,7 +3621,7 @@ glabel sub_GAME_7F05E0E4
/* 092D30 7F05E200 00000000 */ nop
/* 092D34 7F05E204 4502000C */ bc1fl .L7F05E238
/* 092D38 7F05E208 3C013F00 */ lui $at, 0x3f00
/* 092D3C 7F05E20C 0FC227B5 */ jal get_BONDdata_field19C
/* 092D3C 7F05E20C 0FC227B5 */ jal get_BONDdata_bondfadefracnew
/* 092D40 7F05E210 E7B00050 */ swc1 $f16, 0x50($sp)
/* 092D44 7F05E214 3C018005 */ lui $at, %hi(D_80053C58)
/* 092D48 7F05E218 C4323C58 */ lwc1 $f18, %lo(D_80053C58)($at)
@ -4675,7 +4693,7 @@ glabel sub_GAME_7F05EE24
/* 093A80 7F05EF50 C44A0B0C */ lwc1 $f10, 0xb0c($v0)
/* 093A84 7F05EF54 E7AA00E4 */ swc1 $f10, 0xe4($sp)
/* 093A88 7F05EF58 C4520B10 */ lwc1 $f18, 0xb10($v0)
/* 093A8C 7F05EF5C 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0
/* 093A8C 7F05EF5C 0FC15FF4 */ jal reset_array_of_0x10_floats
/* 093A90 7F05EF60 E7B200E8 */ swc1 $f18, 0xe8($sp)
/* 093A94 7F05EF64 3C198008 */ lui $t9, %hi(pPlayer)
/* 093A98 7F05EF68 8F39A0B0 */ lw $t9, %lo(pPlayer)($t9)
@ -5149,7 +5167,7 @@ glabel generate_player_thrown_object
/* 093FDC 7F05F4AC E7B200E4 */ swc1 $f18, 0xe4($sp)
/* 093FE0 7F05F4B0 C4460B10 */ lwc1 $f6, 0xb10($v0)
/* 093FE4 7F05F4B4 AFAF002C */ sw $t7, 0x2c($sp)
/* 093FE8 7F05F4B8 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0
/* 093FE8 7F05F4B8 0FC15FF4 */ jal reset_array_of_0x10_floats
/* 093FEC 7F05F4BC E7A600E8 */ swc1 $f6, 0xe8($sp)
/* 093FF0 7F05F4C0 3C198008 */ lui $t9, %hi(pPlayer)
/* 093FF4 7F05F4C4 8FA3002C */ lw $v1, 0x2c($sp)
@ -5378,7 +5396,7 @@ glabel sub_GAME_7F05F73C
/* 0942B0 7F05F780 0FC2280B */ jal get_BONDdata_field408
/* 0942B4 7F05F784 AFA20034 */ sw $v0, 0x34($sp)
/* 0942B8 7F05F788 AFA20030 */ sw $v0, 0x30($sp)
/* 0942BC 7F05F78C 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0
/* 0942BC 7F05F78C 0FC15FF4 */ jal reset_array_of_0x10_floats
/* 0942C0 7F05F790 27A400A0 */ addiu $a0, $sp, 0xa0
/* 0942C4 7F05F794 27A40044 */ addiu $a0, $sp, 0x44
/* 0942C8 7F05F798 27A50038 */ addiu $a1, $sp, 0x38
@ -5719,7 +5737,7 @@ glabel sub_GAME_7F05FB64
/* 0946E4 7F05FBB4 0FC17674 */ jal get_item_in_hand
/* 0946E8 7F05FBB8 8FA40108 */ lw $a0, 0x108($sp)
/* 0946EC 7F05FBBC AFA20040 */ sw $v0, 0x40($sp)
/* 0946F0 7F05FBC0 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0
/* 0946F0 7F05FBC0 0FC15FF4 */ jal reset_array_of_0x10_floats
/* 0946F4 7F05FBC4 27A400C0 */ addiu $a0, $sp, 0xc0
/* 0946F8 7F05FBC8 8FA80040 */ lw $t0, 0x40($sp)
/* 0946FC 7F05FBCC 24010020 */ li $at, 32
@ -6712,7 +6730,7 @@ glabel handles_firing_or_throwing_weapon_in_hand
.L7F060950:
/* 095480 7F060950 0FC17185 */ jal sub_GAME_7F05C614
/* 095484 7F060954 00000000 */ nop
/* 095488 7F060958 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0
/* 095488 7F060958 0FC15FF4 */ jal reset_array_of_0x10_floats
/* 09548C 7F06095C 27A40154 */ addiu $a0, $sp, 0x154
/* 095490 7F060960 8FA200FC */ lw $v0, 0xfc($sp)
/* 095494 7F060964 2401001E */ li $at, 30
@ -6954,7 +6972,7 @@ glabel handles_firing_or_throwing_weapon_in_hand
/* 095818 7F060CE8 00402025 */ move $a0, $v0
/* 09581C 7F060CEC AFA30100 */ sw $v1, 0x100($sp)
.L7F060CF0:
/* 095820 7F060CF0 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0
/* 095820 7F060CF0 0FC15FF4 */ jal reset_array_of_0x10_floats
/* 095824 7F060CF4 AFA40044 */ sw $a0, 0x44($sp)
/* 095828 7F060CF8 8FAE01A0 */ lw $t6, 0x1a0($sp)
/* 09582C 7F060CFC 8FA30100 */ lw $v1, 0x100($sp)
@ -8496,7 +8514,7 @@ glabel handles_firing_or_throwing_weapon_in_hand
.Ljp7F060E70:
/* 0959E0 7F060E70 0FC172CD */ jal sub_GAME_7F05C614
/* 0959E4 7F060E74 00000000 */ nop
/* 0959E8 7F060E78 0FC1613C */ jal init_0x40_bytes_data_at_address_last_word_1_0
/* 0959E8 7F060E78 0FC1613C */ jal reset_array_of_0x10_floats
/* 0959EC 7F060E7C 27A40154 */ addiu $a0, $sp, 0x154
/* 0959F0 7F060E80 8FA200FC */ lw $v0, 0xfc($sp)
/* 0959F4 7F060E84 2401001E */ li $at, 30
@ -8738,7 +8756,7 @@ glabel handles_firing_or_throwing_weapon_in_hand
/* 095D78 7F061208 00402025 */ move $a0, $v0
/* 095D7C 7F06120C AFA30100 */ sw $v1, 0x100($sp)
.Ljp7F061210:
/* 095D80 7F061210 0FC1613C */ jal init_0x40_bytes_data_at_address_last_word_1_0
/* 095D80 7F061210 0FC1613C */ jal reset_array_of_0x10_floats
/* 095D84 7F061214 AFA40044 */ sw $a0, 0x44($sp)
/* 095D88 7F061218 8FAE01A0 */ lw $t6, 0x1a0($sp)
/* 095D8C 7F06121C 8FA30100 */ lw $v1, 0x100($sp)
@ -10945,8 +10963,8 @@ glabel sub_GAME_7F062B00
/* 097648 7F062B18 8DEF8374 */ lw $t7, %lo(clock_timer)($t7)
/* 09764C 7F062B1C 29E10003 */ slti $at, $t7, 3
/* 097650 7F062B20 10200008 */ beqz $at, .L7F062B44
/* 097654 7F062B24 3C018005 */ lui $at, %hi(D_jpunk)
/* 097658 7F062B28 C4268378 */ lwc1 $f6, %lo(D_jpunk)($at)
/* 097654 7F062B24 3C018005 */ lui $at, %hi(jp_global_timer_delta)
/* 097658 7F062B28 C4268378 */ lwc1 $f6, %lo(jp_global_timer_delta)($at)
/* 09765C 7F062B2C C4840020 */ lwc1 $f4, 0x20($a0)
/* 097660 7F062B30 C48A0028 */ lwc1 $f10, 0x28($a0)
/* 097664 7F062B34 46062202 */ mul.s $f8, $f4, $f6
@ -11376,7 +11394,7 @@ glabel set_enviro_fog_for_items_in_solo_watch_menu
/* 097C24 7F0630F4 19400009 */ blez $t2, .L7F06311C
/* 097C28 7F0630F8 00115980 */ sll $t3, $s1, 6
.L7F0630FC:
/* 097C2C 7F0630FC 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0
/* 097C2C 7F0630FC 0FC15FF4 */ jal reset_array_of_0x10_floats
/* 097C30 7F063100 01702021 */ addu $a0, $t3, $s0
/* 097C34 7F063104 864C000E */ lh $t4, 0xe($s2)
/* 097C38 7F063108 26310001 */ addiu $s1, $s1, 1
@ -12047,9 +12065,9 @@ glabel sub_GAME_7F06359C
/* 098484 7F063954 E7A20018 */ swc1 $f2, 0x18($sp)
/* 098488 7F063958 0FC165A5 */ jal sub_GAME_7F059694
/* 09848C 7F06395C E7B20024 */ swc1 $f18, 0x24($sp)
/* 098490 7F063960 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0
/* 098490 7F063960 0FC15FF4 */ jal reset_array_of_0x10_floats
/* 098494 7F063964 02602025 */ move $a0, $s3
/* 098498 7F063968 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0
/* 098498 7F063968 0FC15FF4 */ jal reset_array_of_0x10_floats
/* 09849C 7F06396C 02C02025 */ move $a0, $s6
/* 0984A0 7F063970 02C02025 */ move $a0, $s6
/* 0984A4 7F063974 0FC16008 */ jal sub_GAME_7F058020
@ -12499,7 +12517,7 @@ glabel sub_GAME_7F06359C
/* 098B50 7F064020 8FC80068 */ lw $t0, 0x68($fp)
/* 098B54 7F064024 AF080004 */ sw $t0, 4($t8)
/* 098B58 7F064028 8FC1006C */ lw $at, 0x6c($fp)
/* 098B5C 7F06402C 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0
/* 098B5C 7F06402C 0FC15FF4 */ jal reset_array_of_0x10_floats
/* 098B60 7F064030 AF010008 */ sw $at, 8($t8)
/* 098B64 7F064034 82840000 */ lb $a0, ($s4)
/* 098B68 7F064038 0C0030C3 */ jal get_controller_buttons_held
@ -19574,7 +19592,7 @@ glabel sub_GAME_7F066E64
/* 09B9A8 7F066E78 00000000 */ nop
/* 09B9AC 7F066E7C 0FC30776 */ jal get_textptr_for_textID
/* 09B9B0 7F066E80 340498D8 */ li $a0, 39128
/* 09B9B4 7F066E84 0FC228F2 */ jal jp_FUN_7f08ac40
/* 09B9B4 7F066E84 0FC228F2 */ jal jp_display_string_in_lower_left_corner
/* 09B9B8 7F066E88 00402025 */ move $a0, $v0
/* 09B9BC 7F066E8C 3C0F8008 */ lui $t7, %hi(pPlayer)
/* 09B9C0 7F066E90 8DEFA0B0 */ lw $t7, %lo(pPlayer)($t7)
@ -19596,7 +19614,7 @@ glabel sub_GAME_7F066E64
.L7F066ED0:
/* 09BA00 7F066ED0 0FC30776 */ jal get_textptr_for_textID
/* 09BA04 7F066ED4 340498D9 */ li $a0, 39129
/* 09BA08 7F066ED8 0FC228F2 */ jal jp_FUN_7f08ac40
/* 09BA08 7F066ED8 0FC228F2 */ jal jp_display_string_in_lower_left_corner
/* 09BA0C 7F066EDC 00402025 */ move $a0, $v0
/* 09BA10 7F066EE0 0FC175A4 */ jal sub_GAME_7F05D690
/* 09BA14 7F066EE4 00000000 */ nop
@ -25253,7 +25271,7 @@ void inc_curplayer_hitcount_with_weapon(s32 arg1) {
if (temp_ret != 0)
{
// Node 1
temp_v0 = (cur_player_stat_ptr + (arg1 * 4));
temp_v0 = (pPlayersPerm + (arg1 * 4));
*temp_v0 = (s32) (*temp_v0 + 1);
}
// Node 2
@ -25269,9 +25287,9 @@ glabel inc_curplayer_hitcount_with_weapon
/* 09F234 7F06A704 0FC1782D */ jal check_special_attributes
/* 09F238 7F06A708 3C050001 */ lui $a1, 1
/* 09F23C 7F06A70C 10400008 */ beqz $v0, .L7F06A730
/* 09F240 7F06A710 3C0E8008 */ lui $t6, %hi(cur_player_stat_ptr)
/* 09F240 7F06A710 3C0E8008 */ lui $t6, %hi(pPlayersPerm)
/* 09F244 7F06A714 8FAF001C */ lw $t7, 0x1c($sp)
/* 09F248 7F06A718 8DCEA0B4 */ lw $t6, %lo(cur_player_stat_ptr)($t6)
/* 09F248 7F06A718 8DCEA0B4 */ lw $t6, %lo(pPlayersPerm)($t6)
/* 09F24C 7F06A71C 000FC080 */ sll $t8, $t7, 2
/* 09F250 7F06A720 01D81021 */ addu $v0, $t6, $t8
/* 09F254 7F06A724 8C590000 */ lw $t9, ($v0)
@ -25292,14 +25310,14 @@ glabel inc_curplayer_hitcount_with_weapon
#ifdef NONMATCHING
void get_curplayer_shot_register(s32 arg0) {
// Node 0
return *(cur_player_stat_ptr + (arg0 * 4));
return *(pPlayersPerm + (arg0 * 4));
}
#else
GLOBAL_ASM(
.text
glabel get_curplayer_shot_register
/* 09F270 7F06A740 3C0E8008 */ lui $t6, %hi(cur_player_stat_ptr)
/* 09F274 7F06A744 8DCEA0B4 */ lw $t6, %lo(cur_player_stat_ptr)($t6)
/* 09F270 7F06A740 3C0E8008 */ lui $t6, %hi(pPlayersPerm)
/* 09F274 7F06A744 8DCEA0B4 */ lw $t6, %lo(pPlayersPerm)($t6)
/* 09F278 7F06A748 00047880 */ sll $t7, $a0, 2
/* 09F27C 7F06A74C 01CFC021 */ addu $t8, $t6, $t7
/* 09F280 7F06A750 03E00008 */ jr $ra
@ -25312,18 +25330,17 @@ glabel get_curplayer_shot_register
#ifdef NONMATCHING
void *inc_cur_civilian_casualties(void) {
// Node 0
cur_player_stat_ptr->unk6C = (s32) (cur_player_stat_ptr->unk6C + 1);
return cur_player_stat_ptr;
}
void inc_cur_civilian_casualties(void)
{
pPlayersPerm->killed_civilians++
}
#else
GLOBAL_ASM(
.text
glabel inc_cur_civilian_casualties
/* 09F288 7F06A758 3C028008 */ lui $v0, %hi(cur_player_stat_ptr)
/* 09F28C 7F06A75C 8C42A0B4 */ lw $v0, %lo(cur_player_stat_ptr)($v0)
/* 09F288 7F06A758 3C028008 */ lui $v0, %hi(pPlayersPerm)
/* 09F28C 7F06A75C 8C42A0B4 */ lw $v0, %lo(pPlayersPerm)($v0)
/* 09F290 7F06A760 8C4E006C */ lw $t6, 0x6c($v0)
/* 09F294 7F06A764 25CF0001 */ addiu $t7, $t6, 1
/* 09F298 7F06A768 03E00008 */ jr $ra
@ -25336,16 +25353,16 @@ glabel inc_cur_civilian_casualties
#ifdef NONMATCHING
void get_civilian_casualties(void) {
// Node 0
return cur_player_stat_ptr->unk6C;
int get_civilian_casualties(void)
{
return pPlayersPerm->killed_civilians;
}
#else
GLOBAL_ASM(
.text
glabel get_civilian_casualties
/* 09F2A0 7F06A770 3C0E8008 */ lui $t6, %hi(cur_player_stat_ptr)
/* 09F2A4 7F06A774 8DCEA0B4 */ lw $t6, %lo(cur_player_stat_ptr)($t6)
/* 09F2A0 7F06A770 3C0E8008 */ lui $t6, %hi(pPlayersPerm)
/* 09F2A4 7F06A774 8DCEA0B4 */ lw $t6, %lo(pPlayersPerm)($t6)
/* 09F2A8 7F06A778 03E00008 */ jr $ra
/* 09F2AC 7F06A77C 8DC2006C */ lw $v0, 0x6c($t6)
)
@ -25366,43 +25383,43 @@ void *increment_num_kills_display_text_in_MP(void) {
void *phi_return_reg;
// Node 0
cur_player_stat_ptr->unk1C = (s32) (cur_player_stat_ptr->unk1C + 1);
pPlayer->unk29F8 = (s32) (pPlayer->unk29F8 + 1);
pPlayersPerm->killcount = (s32) (pPlayersPerm->killcount + 1);
pPlayer->field_29F8 = (s32) (pPlayer->field_29F8 + 1);
temp_ret = get_num_players();
phi_return_reg = temp_ret;
if (temp_ret >= 2)
{
// Node 1
sp34 = sub_GAME_7F08BFB8();
sprintf(&sp40, &aSD, get_textptr_for_textID(0x98da), cur_player_stat_ptr->unk1C);
sprintf(&sp40, &aSD, get_textptr_for_textID(0x98da), pPlayersPerm->killcount);
display_string_in_lower_left_corner(&sp40);
if (cur_player_stat_ptr->unk1C >= 2)
if (pPlayersPerm->killcount >= 2)
{
// Node 2
temp_v0 = (sp34 - pPlayer->unk29E4);
if (cur_player_stat_ptr->unk48 < temp_v0)
temp_v0 = (sp34 - pPlayer->last_kill_time);
if (pPlayersPerm->slowest2kills < temp_v0)
{
// Node 3
cur_player_stat_ptr->unk48 = temp_v0;
pPlayersPerm->slowest2kills = temp_v0;
}
// Node 4
if (temp_v0 < cur_player_stat_ptr->unk44)
if (temp_v0 < pPlayersPerm->fastest2kills)
{
// Node 5
cur_player_stat_ptr->unk44 = temp_v0;
pPlayersPerm->fastest2kills = temp_v0;
}
}
// Node 6
pPlayer->unk29F0 = (s32) pPlayer->unk29EC;
pPlayer->unk29EC = (s32) pPlayer->unk29E8;
pPlayer->unk29E8 = (s32) pPlayer->unk29E4;
pPlayer->unk29E4 = sp34;
pPlayer->unk29E8 = (s32) pPlayer->last_kill_time;
pPlayer->last_kill_time = sp34;
phi_a0 = 1;
if (-1 != pPlayer->unk29E8)
{
// Node 7
phi_a0 = 1;
if ((pPlayer->unk29E4 - pPlayer->unk29E8) < 0x78)
if ((pPlayer->last_kill_time - pPlayer->unk29E8) < 0x78)
{
// Node 8
phi_a0 = 2;
@ -25410,7 +25427,7 @@ void *increment_num_kills_display_text_in_MP(void) {
{
// Node 9
phi_a0 = 2;
if ((pPlayer->unk29E4 - pPlayer->unk29EC) < 0x78)
if ((pPlayer->last_kill_time - pPlayer->unk29EC) < 0x78)
{
// Node 10
temp_a0 = (2 + 1);
@ -25419,7 +25436,7 @@ void *increment_num_kills_display_text_in_MP(void) {
{
// Node 11
phi_a0 = temp_a0;
if ((pPlayer->unk29E4 - pPlayer->unk29F0) < 0x78)
if ((pPlayer->last_kill_time - pPlayer->unk29F0) < 0x78)
{
// Node 12
phi_a0 = (temp_a0 + 1);
@ -25431,10 +25448,10 @@ void *increment_num_kills_display_text_in_MP(void) {
}
// Node 13
phi_return_reg = pPlayer;
if (cur_player_stat_ptr->unk58 < phi_a0)
if (pPlayersPerm->most_killed_one_time < phi_a0)
{
// Node 14
cur_player_stat_ptr->unk58 = (s32) phi_a0;
pPlayersPerm->most_killed_one_time = (s32) phi_a0;
phi_return_reg = pPlayer;
}
}
@ -25446,8 +25463,8 @@ void *increment_num_kills_display_text_in_MP(void) {
GLOBAL_ASM(
.text
glabel increment_num_kills_display_text_in_MP
/* 09F2B0 7F06A780 3C038008 */ lui $v1, %hi(cur_player_stat_ptr)
/* 09F2B4 7F06A784 8C63A0B4 */ lw $v1, %lo(cur_player_stat_ptr)($v1)
/* 09F2B0 7F06A780 3C038008 */ lui $v1, %hi(pPlayersPerm)
/* 09F2B4 7F06A784 8C63A0B4 */ lw $v1, %lo(pPlayersPerm)($v1)
/* 09F2B8 7F06A788 27BDFEC0 */ addiu $sp, $sp, -0x140
/* 09F2BC 7F06A78C AFBF001C */ sw $ra, 0x1c($sp)
/* 09F2C0 7F06A790 AFB00018 */ sw $s0, 0x18($sp)
@ -25469,8 +25486,8 @@ glabel increment_num_kills_display_text_in_MP
/* 09F300 7F06A7D0 AFA20034 */ sw $v0, 0x34($sp)
/* 09F304 7F06A7D4 0FC30776 */ jal get_textptr_for_textID
/* 09F308 7F06A7D8 340498DA */ li $a0, 39130
/* 09F30C 7F06A7DC 3C088008 */ lui $t0, %hi(cur_player_stat_ptr)
/* 09F310 7F06A7E0 8D08A0B4 */ lw $t0, %lo(cur_player_stat_ptr)($t0)
/* 09F30C 7F06A7DC 3C088008 */ lui $t0, %hi(pPlayersPerm)
/* 09F310 7F06A7E0 8D08A0B4 */ lw $t0, %lo(pPlayersPerm)($t0)
/* 09F314 7F06A7E4 3C058005 */ lui $a1, %hi(aSD)
/* 09F318 7F06A7E8 24A53BF8 */ addiu $a1, %lo(aSD) # addiu $a1, $a1, 0x3bf8
/* 09F31C 7F06A7EC 27A40040 */ addiu $a0, $sp, 0x40
@ -25479,8 +25496,8 @@ glabel increment_num_kills_display_text_in_MP
/* 09F328 7F06A7F8 8D07001C */ lw $a3, 0x1c($t0)
/* 09F32C 7F06A7FC 0FC228F2 */ jal display_string_in_lower_left_corner
/* 09F330 7F06A800 27A40040 */ addiu $a0, $sp, 0x40
/* 09F334 7F06A804 3C038008 */ lui $v1, %hi(cur_player_stat_ptr)
/* 09F338 7F06A808 8C63A0B4 */ lw $v1, %lo(cur_player_stat_ptr)($v1)
/* 09F334 7F06A804 3C038008 */ lui $v1, %hi(pPlayersPerm)
/* 09F338 7F06A808 8C63A0B4 */ lw $v1, %lo(pPlayersPerm)($v1)
/* 09F33C 7F06A80C 8C69001C */ lw $t1, 0x1c($v1)
/* 09F340 7F06A810 29210002 */ slti $at, $t1, 2
/* 09F344 7F06A814 54200012 */ bnezl $at, .L7F06A860
@ -25494,8 +25511,8 @@ glabel increment_num_kills_display_text_in_MP
/* 09F364 7F06A834 50200005 */ beql $at, $zero, .L7F06A84C
/* 09F368 7F06A838 8C6E0044 */ lw $t6, 0x44($v1)
/* 09F36C 7F06A83C AC620048 */ sw $v0, 0x48($v1)
/* 09F370 7F06A840 3C038008 */ lui $v1, %hi(cur_player_stat_ptr)
/* 09F374 7F06A844 8C63A0B4 */ lw $v1, %lo(cur_player_stat_ptr)($v1)
/* 09F370 7F06A840 3C038008 */ lui $v1, %hi(pPlayersPerm)
/* 09F374 7F06A844 8C63A0B4 */ lw $v1, %lo(pPlayersPerm)($v1)
/* 09F378 7F06A848 8C6E0044 */ lw $t6, 0x44($v1)
.L7F06A84C:
/* 09F37C 7F06A84C 004E082A */ slt $at, $v0, $t6
@ -25542,8 +25559,8 @@ glabel increment_num_kills_display_text_in_MP
/* 09F41C 7F06A8EC 00000000 */ nop
/* 09F420 7F06A8F0 24840001 */ addiu $a0, $a0, 1
.L7F06A8F4:
/* 09F424 7F06A8F4 3C038008 */ lui $v1, %hi(cur_player_stat_ptr)
/* 09F428 7F06A8F8 8C63A0B4 */ lw $v1, %lo(cur_player_stat_ptr)($v1)
/* 09F424 7F06A8F4 3C038008 */ lui $v1, %hi(pPlayersPerm)
/* 09F428 7F06A8F8 8C63A0B4 */ lw $v1, %lo(pPlayersPerm)($v1)
/* 09F42C 7F06A8FC 8C6D0058 */ lw $t5, 0x58($v1)
/* 09F430 7F06A900 01A4082A */ slt $at, $t5, $a0
/* 09F434 7F06A904 50200003 */ beql $at, $zero, .L7F06A914
@ -25561,8 +25578,8 @@ glabel increment_num_kills_display_text_in_MP
GLOBAL_ASM(
.text
glabel increment_num_kills_display_text_in_MP
/* 09F2B0 7F06A780 3C038008 */ lui $v1, %hi(cur_player_stat_ptr)
/* 09F2B4 7F06A784 8C63A0B4 */ lw $v1, %lo(cur_player_stat_ptr)($v1)
/* 09F2B0 7F06A780 3C038008 */ lui $v1, %hi(pPlayersPerm)
/* 09F2B4 7F06A784 8C63A0B4 */ lw $v1, %lo(pPlayersPerm)($v1)
/* 09F2B8 7F06A788 27BDFEC0 */ addiu $sp, $sp, -0x140
/* 09F2BC 7F06A78C AFBF001C */ sw $ra, 0x1c($sp)
/* 09F2C0 7F06A790 AFB00018 */ sw $s0, 0x18($sp)
@ -25584,18 +25601,18 @@ glabel increment_num_kills_display_text_in_MP
/* 09F300 7F06A7D0 AFA20034 */ sw $v0, 0x34($sp)
/* 09F304 7F06A7D4 0FC30776 */ jal get_textptr_for_textID
/* 09F308 7F06A7D8 340498DA */ li $a0, 39130
/* 09F30C 7F06A7DC 3C088008 */ lui $t0, %hi(cur_player_stat_ptr)
/* 09F310 7F06A7E0 8D08A0B4 */ lw $t0, %lo(cur_player_stat_ptr)($t0)
/* 09F30C 7F06A7DC 3C088008 */ lui $t0, %hi(pPlayersPerm)
/* 09F310 7F06A7E0 8D08A0B4 */ lw $t0, %lo(pPlayersPerm)($t0)
/* 09F314 7F06A7E4 3C058005 */ lui $a1, %hi(aSD)
/* 09F318 7F06A7E8 24A53BF8 */ addiu $a1, %lo(aSD) # addiu $a1, $a1, 0x3bf8
/* 09F31C 7F06A7EC 27A40040 */ addiu $a0, $sp, 0x40
/* 09F320 7F06A7F0 00403025 */ move $a2, $v0
/* 09F324 7F06A7F4 0C002B25 */ jal sprintf
/* 09F328 7F06A7F8 8D07001C */ lw $a3, 0x1c($t0)
/* 09F32C 7F06A7FC 0FC228F2 */ jal jp_FUN_7f08ac40
/* 09F32C 7F06A7FC 0FC228F2 */ jal jp_display_string_in_lower_left_corner
/* 09F330 7F06A800 27A40040 */ addiu $a0, $sp, 0x40
/* 09F334 7F06A804 3C038008 */ lui $v1, %hi(cur_player_stat_ptr)
/* 09F338 7F06A808 8C63A0B4 */ lw $v1, %lo(cur_player_stat_ptr)($v1)
/* 09F334 7F06A804 3C038008 */ lui $v1, %hi(pPlayersPerm)
/* 09F338 7F06A808 8C63A0B4 */ lw $v1, %lo(pPlayersPerm)($v1)
/* 09F33C 7F06A80C 8C69001C */ lw $t1, 0x1c($v1)
/* 09F340 7F06A810 29210002 */ slti $at, $t1, 2
/* 09F344 7F06A814 54200012 */ bnezl $at, .L7F06A860
@ -25609,8 +25626,8 @@ glabel increment_num_kills_display_text_in_MP
/* 09F364 7F06A834 50200005 */ beql $at, $zero, .L7F06A84C
/* 09F368 7F06A838 8C6E0044 */ lw $t6, 0x44($v1)
/* 09F36C 7F06A83C AC620048 */ sw $v0, 0x48($v1)
/* 09F370 7F06A840 3C038008 */ lui $v1, %hi(cur_player_stat_ptr)
/* 09F374 7F06A844 8C63A0B4 */ lw $v1, %lo(cur_player_stat_ptr)($v1)
/* 09F370 7F06A840 3C038008 */ lui $v1, %hi(pPlayersPerm)
/* 09F374 7F06A844 8C63A0B4 */ lw $v1, %lo(pPlayersPerm)($v1)
/* 09F378 7F06A848 8C6E0044 */ lw $t6, 0x44($v1)
.L7F06A84C:
/* 09F37C 7F06A84C 004E082A */ slt $at, $v0, $t6
@ -25657,8 +25674,8 @@ glabel increment_num_kills_display_text_in_MP
/* 09F41C 7F06A8EC 00000000 */ nop
/* 09F420 7F06A8F0 24840001 */ addiu $a0, $a0, 1
.L7F06A8F4:
/* 09F424 7F06A8F4 3C038008 */ lui $v1, %hi(cur_player_stat_ptr)
/* 09F428 7F06A8F8 8C63A0B4 */ lw $v1, %lo(cur_player_stat_ptr)($v1)
/* 09F424 7F06A8F4 3C038008 */ lui $v1, %hi(pPlayersPerm)
/* 09F428 7F06A8F8 8C63A0B4 */ lw $v1, %lo(pPlayersPerm)($v1)
/* 09F42C 7F06A8FC 8C6D0058 */ lw $t5, 0x58($v1)
/* 09F430 7F06A900 01A4082A */ slt $at, $t5, $a0
/* 09F434 7F06A904 50200003 */ beql $at, $zero, .L7F06A914
@ -25680,15 +25697,15 @@ glabel increment_num_kills_display_text_in_MP
#ifdef NONMATCHING
void get_curplay_killcount(void) {
// Node 0
return cur_player_stat_ptr->unk1C;
return pPlayersPerm->killcount;
}
#else
GLOBAL_ASM(
.text
glabel get_curplay_killcount
/* 09F454 7F06A924 3C0E8008 */ lui $t6, %hi(cur_player_stat_ptr)
/* 09F458 7F06A928 8DCEA0B4 */ lw $t6, %lo(cur_player_stat_ptr)($t6)
/* 09F454 7F06A924 3C0E8008 */ lui $t6, %hi(pPlayersPerm)
/* 09F458 7F06A928 8DCEA0B4 */ lw $t6, %lo(pPlayersPerm)($t6)
/* 09F45C 7F06A92C 03E00008 */ jr $ra
/* 09F460 7F06A930 8DC2001C */ lw $v0, 0x1c($t6)
)
@ -25699,17 +25716,16 @@ glabel get_curplay_killcount
#ifdef NONMATCHING
void *increment_num_times_killed_MwtGC(void) {
// Node 0
cur_player_stat_ptr->unk20 = (s32) (cur_player_stat_ptr->unk20 + 1);
return cur_player_stat_ptr;
void increment_num_times_killed_MwtGC(void)
{
pPlayersPerm->ggkillcount++;
}
#else
GLOBAL_ASM(
.text
glabel increment_num_times_killed_MwtGC
/* 09F464 7F06A934 3C028008 */ lui $v0, %hi(cur_player_stat_ptr)
/* 09F468 7F06A938 8C42A0B4 */ lw $v0, %lo(cur_player_stat_ptr)($v0)
/* 09F464 7F06A934 3C028008 */ lui $v0, %hi(pPlayersPerm)
/* 09F468 7F06A938 8C42A0B4 */ lw $v0, %lo(pPlayersPerm)($v0)
/* 09F46C 7F06A93C 8C4E0020 */ lw $t6, 0x20($v0)
/* 09F470 7F06A940 25CF0001 */ addiu $t7, $t6, 1
/* 09F474 7F06A944 03E00008 */ jr $ra
@ -25724,14 +25740,14 @@ glabel increment_num_times_killed_MwtGC
#ifdef NONMATCHING
void get_times_killed_mwtgx(void) {
// Node 0
return cur_player_stat_ptr->unk20;
return pPlayersPerm->ggkillcount;
}
#else
GLOBAL_ASM(
.text
glabel get_times_killed_mwtgx
/* 09F47C 7F06A94C 3C0E8008 */ lui $t6, %hi(cur_player_stat_ptr)
/* 09F480 7F06A950 8DCEA0B4 */ lw $t6, %lo(cur_player_stat_ptr)($t6)
/* 09F47C 7F06A94C 3C0E8008 */ lui $t6, %hi(pPlayersPerm)
/* 09F480 7F06A950 8DCEA0B4 */ lw $t6, %lo(pPlayersPerm)($t6)
/* 09F484 7F06A954 03E00008 */ jr $ra
/* 09F488 7F06A958 8DC20020 */ lw $v0, 0x20($t6)
)
@ -25742,35 +25758,22 @@ glabel get_times_killed_mwtgx
#ifdef NONMATCHING
void increment_num_deaths(void) {
s32 sp28;
? sp30;
? temp_ret;
? phi_return_reg;
// Node 0
pPlayer->unk29D8 = (s32) (pPlayer->unk29D8 + 1);
temp_ret = get_num_players();
phi_return_reg = temp_ret;
if (temp_ret >= 2)
void increment_num_deaths(void)
{
char acStack256 [256]
pPlayer->deathcount = (s32) (pPlayer->deathcount + 1);
if (get_num_players() >= 2)
{
// Node 1
if (pPlayer->unk29D8 == 1)
if (pPlayer->deathcount == 1)
{
// Node 2
sprintf(&sp30, get_textptr_for_textID(0x98db));
sprintf(acStack256, get_textptr_for_textID(0x98db));
}
else
{
// Node 3
sp28 = get_textptr_for_textID(0x98dc);
sprintf(&sp30, &aSDS, sp28, pPlayer->unk29D8, get_textptr_for_textID(0x98dd));
sprintf(acStack256, &aSDS, get_textptr_for_textID(0x98dc), pPlayer->deathcount, get_textptr_for_textID(0x98dd));
}
// Node 4
phi_return_reg = display_string_in_lower_left_corner(&sp30);
display_string_in_lower_left_corner(acStack256);
}
// Node 5
return phi_return_reg;
}
#else
#ifdef VERSION_US
@ -25868,7 +25871,7 @@ glabel increment_num_deaths
/* 09F518 7F06A9E8 0C002B25 */ jal sprintf
/* 09F51C 7F06A9EC 8FA60028 */ lw $a2, 0x28($sp)
.L7F06A9F0:
/* 09F520 7F06A9F0 0FC228F2 */ jal jp_FUN_7f08ac40
/* 09F520 7F06A9F0 0FC228F2 */ jal jp_display_string_in_lower_left_corner
/* 09F524 7F06A9F4 27A40030 */ addiu $a0, $sp, 0x30
.L7F06A9F8:
/* 09F528 7F06A9F8 8FBF001C */ lw $ra, 0x1c($sp)
@ -25885,7 +25888,7 @@ glabel increment_num_deaths
#ifdef NONMATCHING
void get_curplayer_numdeaths(void) {
// Node 0
return pPlayer->unk29D8;
return pPlayer->deathcount;
}
#else
@ -25914,42 +25917,42 @@ void *increment_num_suicides_display_MP(void) {
void *phi_return_reg;
// Node 0
pPlayer->unk29DC = (s32) (pPlayer->unk29DC + 1);
pPlayer->num_suicides = (s32) (pPlayer->num_suicides + 1);
temp_ret = get_num_players();
phi_return_reg = temp_ret;
if (temp_ret >= 2)
{
// Node 1
sp34 = sub_GAME_7F08BFB8();
sprintf(&sp40, &aSD_0, get_textptr_for_textID(0x98de), pPlayer->unk29DC);
sprintf(&sp40, &aSD_0, get_textptr_for_textID(0x98de), pPlayer->num_suicides);
display_string_in_lower_left_corner(&sp40);
if (cur_player_stat_ptr->unk1C >= 2)
if (pPlayersPerm->killcount >= 2)
{
// Node 2
temp_v1 = (sp34 - pPlayer->unk29E4);
if (cur_player_stat_ptr->unk48 < temp_v1)
temp_v1 = (sp34 - pPlayer->last_kill_time);
if (pPlayersPerm->slowest2kills < temp_v1)
{
// Node 3
cur_player_stat_ptr->unk48 = temp_v1;
pPlayersPerm->slowest2kills = temp_v1;
}
// Node 4
if (temp_v1 < cur_player_stat_ptr->unk44)
if (temp_v1 < pPlayersPerm->fastest2kills)
{
// Node 5
cur_player_stat_ptr->unk44 = temp_v1;
pPlayersPerm->fastest2kills = temp_v1;
}
}
// Node 6
pPlayer->unk29F0 = (s32) pPlayer->unk29EC;
pPlayer->unk29EC = (s32) pPlayer->unk29E8;
pPlayer->unk29E8 = (s32) pPlayer->unk29E4;
pPlayer->unk29E4 = sp34;
pPlayer->unk29E8 = (s32) pPlayer->last_kill_time;
pPlayer->last_kill_time = sp34;
phi_v1 = 1;
if (-1 != pPlayer->unk29E8)
{
// Node 7
phi_v1 = 1;
if ((pPlayer->unk29E4 - pPlayer->unk29E8) < 0x78)
if ((pPlayer->last_kill_time - pPlayer->unk29E8) < 0x78)
{
// Node 8
phi_v1 = 2;
@ -25957,7 +25960,7 @@ void *increment_num_suicides_display_MP(void) {
{
// Node 9
phi_v1 = 2;
if ((pPlayer->unk29E4 - pPlayer->unk29EC) < 0x78)
if ((pPlayer->last_kill_time - pPlayer->unk29EC) < 0x78)
{
// Node 10
temp_v1_2 = (2 + 1);
@ -25966,7 +25969,7 @@ void *increment_num_suicides_display_MP(void) {
{
// Node 11
phi_v1 = temp_v1_2;
if ((pPlayer->unk29E4 - pPlayer->unk29F0) < 0x78)
if ((pPlayer->last_kill_time - pPlayer->unk29F0) < 0x78)
{
// Node 12
phi_v1 = (temp_v1_2 + 1);
@ -25977,12 +25980,12 @@ void *increment_num_suicides_display_MP(void) {
}
}
// Node 13
phi_return_reg = cur_player_stat_ptr;
if (cur_player_stat_ptr->unk58 < phi_v1)
phi_return_reg = pPlayersPerm;
if (pPlayersPerm->most_killed_one_time < phi_v1)
{
// Node 14
cur_player_stat_ptr->unk58 = (s32) phi_v1;
phi_return_reg = cur_player_stat_ptr;
pPlayersPerm->most_killed_one_time = (s32) phi_v1;
phi_return_reg = pPlayersPerm;
}
}
// Node 15
@ -26021,8 +26024,8 @@ glabel increment_num_suicides_display_MP
/* 09F5A8 7F06AA78 8F0729DC */ lw $a3, 0x29dc($t8)
/* 09F5AC 7F06AA7C 0FC228F2 */ jal display_string_in_lower_left_corner
/* 09F5B0 7F06AA80 27A40040 */ addiu $a0, $sp, 0x40
/* 09F5B4 7F06AA84 3C078008 */ lui $a3, %hi(cur_player_stat_ptr)
/* 09F5B8 7F06AA88 24E7A0B4 */ addiu $a3, %lo(cur_player_stat_ptr) # addiu $a3, $a3, -0x5f4c
/* 09F5B4 7F06AA84 3C078008 */ lui $a3, %hi(pPlayersPerm)
/* 09F5B8 7F06AA88 24E7A0B4 */ addiu $a3, %lo(pPlayersPerm) # addiu $a3, $a3, -0x5f4c
/* 09F5BC 7F06AA8C 8CE20000 */ lw $v0, ($a3)
/* 09F5C0 7F06AA90 8C59001C */ lw $t9, 0x1c($v0)
/* 09F5C4 7F06AA94 2B210002 */ slti $at, $t9, 2
@ -26128,10 +26131,10 @@ glabel increment_num_suicides_display_MP
/* 09F5A0 7F06AA70 00403025 */ move $a2, $v0
/* 09F5A4 7F06AA74 0C002B25 */ jal sprintf
/* 09F5A8 7F06AA78 8F0729DC */ lw $a3, 0x29dc($t8)
/* 09F5AC 7F06AA7C 0FC228F2 */ jal jp_FUN_7f08ac40
/* 09F5AC 7F06AA7C 0FC228F2 */ jal jp_display_string_in_lower_left_corner
/* 09F5B0 7F06AA80 27A40040 */ addiu $a0, $sp, 0x40
/* 09F5B4 7F06AA84 3C078008 */ lui $a3, %hi(cur_player_stat_ptr)
/* 09F5B8 7F06AA88 24E7A0B4 */ addiu $a3, %lo(cur_player_stat_ptr) # addiu $a3, $a3, -0x5f4c
/* 09F5B4 7F06AA84 3C078008 */ lui $a3, %hi(pPlayersPerm)
/* 09F5B8 7F06AA88 24E7A0B4 */ addiu $a3, %lo(pPlayersPerm) # addiu $a3, $a3, -0x5f4c
/* 09F5BC 7F06AA8C 8CE20000 */ lw $v0, ($a3)
/* 09F5C0 7F06AA90 8C59001C */ lw $t9, 0x1c($v0)
/* 09F5C4 7F06AA94 2B210002 */ slti $at, $t9, 2

View File

@ -205,13 +205,13 @@ struct struct_15 D_8003F80C[] = {
#ifdef NONMATCHING
void sub_GAME_7F091740(void) {
void cheatButton_7F091740(void) {
}
#else
GLOBAL_ASM(
.text
glabel sub_GAME_7F091740
glabel cheatButton_7F091740
/* 0C6270 7F091740 AFA40000 */ sw $a0, ($sp)
/* 0C6274 7F091744 308EFFFF */ andi $t6, $a0, 0xffff
/* 0C6278 7F091748 01C02025 */ move $a0, $t6
@ -238,13 +238,13 @@ glabel sub_GAME_7F091740
#ifdef NONMATCHING
void sub_GAME_7F09177C(void) {
void cheatButton_7F09177C(void) {
}
#else
GLOBAL_ASM(
.text
glabel sub_GAME_7F09177C
glabel cheatButton_7F09177C
/* 0C62AC 7F09177C 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0C62B0 7F091780 AFB1001C */ sw $s1, 0x1c($sp)
/* 0C62B4 7F091784 AFBF002C */ sw $ra, 0x2c($sp)
@ -338,7 +338,7 @@ glabel sub_GAME_7F09177C
/* 0C63F0 7F0918C0 54850011 */ bnel $a0, $a1, .L7F091908
/* 0C63F4 7F0918C4 92280010 */ lbu $t0, 0x10($s1)
/* 0C63F8 7F0918C8 A0C012B5 */ sb $zero, 0x12b5($a2)
/* 0C63FC 7F0918CC 0FC249EF */ jal sub_GAME_7F0927BC
/* 0C63FC 7F0918CC 0FC249EF */ jal cheatCheckIfOn
/* 0C6400 7F0918D0 92240000 */ lbu $a0, ($s1)
/* 0C6404 7F0918D4 10400005 */ beqz $v0, .L7F0918EC
/* 0C6408 7F0918D8 00000000 */ nop
@ -347,12 +347,12 @@ glabel sub_GAME_7F09177C
/* 0C6414 7F0918E4 13200005 */ beqz $t9, .L7F0918FC
/* 0C6418 7F0918E8 00000000 */ nop
.L7F0918EC:
/* 0C641C 7F0918EC 0FC246D9 */ jal sub_GAME_7F091B64
/* 0C641C 7F0918EC 0FC246D9 */ jal handle_cheats_turned_on
/* 0C6420 7F0918F0 92240000 */ lbu $a0, ($s1)
/* 0C6424 7F0918F4 10000004 */ b .L7F091908
/* 0C6428 7F0918F8 92280010 */ lbu $t0, 0x10($s1)
.L7F0918FC:
/* 0C642C 7F0918FC 0FC2490E */ jal sub_GAME_7F092438
/* 0C642C 7F0918FC 0FC2490E */ jal cheatDisplayMessageActivateCheat
/* 0C6430 7F091900 92240000 */ lbu $a0, ($s1)
/* 0C6434 7F091904 92280010 */ lbu $t0, 0x10($s1)
.L7F091908:
@ -379,13 +379,13 @@ glabel sub_GAME_7F09177C
#ifdef NONMATCHING
void sub_GAME_7F09193C(void) {
void cheat_buttons_mp_related(void) {
}
#else
GLOBAL_ASM(
.text
glabel sub_GAME_7F09193C
glabel cheat_buttons_mp_related
/* 0C646C 7F09193C 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 0C6470 7F091940 AFBF0014 */ sw $ra, 0x14($sp)
/* 0C6474 7F091944 0FC26C54 */ jal get_cur_playernum
@ -414,13 +414,13 @@ glabel sub_GAME_7F09193C
/* 0C64D0 7F0919A0 11400028 */ beqz $t2, .L7F091A44
/* 0C64D4 7F0919A4 A7A50024 */ sh $a1, 0x24($sp)
/* 0C64D8 7F0919A8 30A4FFFF */ andi $a0, $a1, 0xffff
/* 0C64DC 7F0919AC 0FC245D0 */ jal sub_GAME_7F091740
/* 0C64DC 7F0919AC 0FC245D0 */ jal cheatButton_7F091740
/* 0C64E0 7F0919B0 AFA60018 */ sw $a2, 0x18($sp)
/* 0C64E4 7F0919B4 24010001 */ li $at, 1
/* 0C64E8 7F0919B8 1441001E */ bne $v0, $at, .L7F091A34
/* 0C64EC 7F0919BC 8FA70018 */ lw $a3, 0x18($sp)
/* 0C64F0 7F0919C0 97A40026 */ lhu $a0, 0x26($sp)
/* 0C64F4 7F0919C4 0FC245D0 */ jal sub_GAME_7F091740
/* 0C64F4 7F0919C4 0FC245D0 */ jal cheatButton_7F091740
/* 0C64F8 7F0919C8 AFA70018 */ sw $a3, 0x18($sp)
/* 0C64FC 7F0919CC 24010001 */ li $at, 1
/* 0C6500 7F0919D0 14410018 */ bne $v0, $at, .L7F091A34
@ -454,7 +454,7 @@ glabel sub_GAME_7F09193C
/* 0C656C 7F091A3C 8C8A0000 */ lw $t2, ($a0)
/* 0C6570 7F091A40 A14012B5 */ sb $zero, 0x12b5($t2)
.L7F091A44:
/* 0C6574 7F091A44 0FC245DF */ jal sub_GAME_7F09177C
/* 0C6574 7F091A44 0FC245DF */ jal cheatButton_7F09177C
/* 0C6578 7F091A48 00000000 */ nop
/* 0C657C 7F091A4C 8FBF0014 */ lw $ra, 0x14($sp)
/* 0C6580 7F091A50 27BD0028 */ addiu $sp, $sp, 0x28
@ -467,38 +467,28 @@ glabel sub_GAME_7F09193C
#ifdef NONMATCHING
void sub_GAME_7F091A5C(void) {
u32 is_cheat_index_equal_to_1C(u32 cheatindex)
{
if (cheatindex == 0x1c) {
return 1;
}
return 0;
}
#else
GLOBAL_ASM(
.text
glabel sub_GAME_7F091A5C
/* 0C658C 7F091A5C 2401001C */ li $at, 28
/* 0C6590 7F091A60 14810003 */ bne $a0, $at, .L7F091A70
/* 0C6594 7F091A64 00001025 */ move $v0, $zero
/* 0C6598 7F091A68 03E00008 */ jr $ra
/* 0C659C 7F091A6C 24020001 */ li $v0, 1
.L7F091A70:
/* 0C65A0 7F091A70 03E00008 */ jr $ra
/* 0C65A4 7F091A74 00000000 */ nop
)
#endif
#ifdef NONMATCHING
void sub_GAME_7F091A78(void) {
void cheatCheckIfMPCheat(void) {
}
#else
GLOBAL_ASM(
.text
glabel sub_GAME_7F091A78
glabel cheatCheckIfMPCheat
/* 0C65A8 7F091A78 00047100 */ sll $t6, $a0, 4
/* 0C65AC 7F091A7C 3C0F8004 */ lui $t7, %hi(D_8003F808)
/* 0C65B0 7F091A80 01EE7821 */ addu $t7, $t7, $t6
@ -522,13 +512,48 @@ glabel sub_GAME_7F091A78
#ifdef NONMATCHING
void sub_GAME_7F091AAC(void) {
void turn_on_cheat_for_players(u32 cheatindex)
{
u32 uVar1;
u32 playernum;
u32 numplayers;
u32 i;
uVar1 = *(&D_8003F808 + cheatindex * 0x10);
playernum = get_cur_playernum();
numplayers = get_num_players();
if (numplayers == 1) {
handle_cheats_turned_on(cheatindex);
}
else {
if ((uVar1 & 4) != 0)
{
if ((uVar1 & 0x20) == 0)
{
i = 0;
if (0 < (int)numplayers)
{
while (i != numplayers)
{
set_cur_player(i);
handle_cheats_turned_on(cheatindex);
i = i + 1;
};
}
set_cur_player(playernum);
}
else
{
handle_cheats_turned_on(cheatindex);
}
}
}
return;
}
#else
GLOBAL_ASM(
.text
glabel sub_GAME_7F091AAC
glabel turn_on_cheat_for_players
/* 0C65DC 7F091AAC 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0C65E0 7F091AB0 AFB00018 */ sw $s0, 0x18($sp)
/* 0C65E4 7F091AB4 3C108004 */ lui $s0, %hi(D_8003F808)
@ -545,7 +570,7 @@ glabel sub_GAME_7F091AAC
/* 0C6610 7F091AE0 24010001 */ li $at, 1
/* 0C6614 7F091AE4 14410005 */ bne $v0, $at, .L7F091AFC
/* 0C6618 7F091AE8 00408825 */ move $s1, $v0
/* 0C661C 7F091AEC 0FC246D9 */ jal sub_GAME_7F091B64
/* 0C661C 7F091AEC 0FC246D9 */ jal handle_cheats_turned_on
/* 0C6620 7F091AF0 02402025 */ move $a0, $s2
/* 0C6624 7F091AF4 10000016 */ b .L7F091B50
/* 0C6628 7F091AF8 8FBF0024 */ lw $ra, 0x24($sp)
@ -555,7 +580,7 @@ glabel sub_GAME_7F091AAC
/* 0C6634 7F091B04 32180020 */ andi $t8, $s0, 0x20
/* 0C6638 7F091B08 13000005 */ beqz $t8, .L7F091B20
/* 0C663C 7F091B0C 00000000 */ nop
/* 0C6640 7F091B10 0FC246D9 */ jal sub_GAME_7F091B64
/* 0C6640 7F091B10 0FC246D9 */ jal handle_cheats_turned_on
/* 0C6644 7F091B14 02402025 */ move $a0, $s2
/* 0C6648 7F091B18 1000000D */ b .L7F091B50
/* 0C664C 7F091B1C 8FBF0024 */ lw $ra, 0x24($sp)
@ -565,7 +590,7 @@ glabel sub_GAME_7F091AAC
.L7F091B28:
/* 0C6658 7F091B28 0FC26C43 */ jal set_cur_player
/* 0C665C 7F091B2C 02002025 */ move $a0, $s0
/* 0C6660 7F091B30 0FC246D9 */ jal sub_GAME_7F091B64
/* 0C6660 7F091B30 0FC246D9 */ jal handle_cheats_turned_on
/* 0C6664 7F091B34 02402025 */ move $a0, $s2
/* 0C6668 7F091B38 26100001 */ addiu $s0, $s0, 1
/* 0C666C 7F091B3C 1611FFFA */ bne $s0, $s1, .L7F091B28
@ -589,7 +614,7 @@ glabel sub_GAME_7F091AAC
#ifdef NONMATCHING
void sub_GAME_7F091B64(void) {
void handle_cheats_turned_on(void) {
}
#else
@ -677,7 +702,7 @@ glabel jpt_cheats_cheat
glabel finalamount
.word 0x3d4ccccd /*0.050000001*/
.text
glabel sub_GAME_7F091B64
glabel handle_cheats_turned_on
/* 0C6694 7F091B64 00047100 */ sll $t6, $a0, 4
/* 0C6698 7F091B68 3C0F8004 */ lui $t7, %hi(D_8003F808)
/* 0C669C 7F091B6C 01EE7821 */ addu $t7, $t7, $t6
@ -896,7 +921,7 @@ cheats_cheat_dk_mode:
/* 0C69A8 7F091E78 3404B017 */ li $a0, 45079
/* 0C69AC 7F091E7C 0FC228F2 */ jal display_string_in_lower_left_corner
/* 0C69B0 7F091E80 00402025 */ move $a0, $v0
/* 0C69B4 7F091E84 0FC249FD */ jal sub_GAME_7F0927F4
/* 0C69B4 7F091E84 0FC249FD */ jal set_DKMode
/* 0C69B8 7F091E88 24040001 */ li $a0, 1
/* 0C69BC 7F091E8C 10000167 */ b .L7F09242C
/* 0C69C0 7F091E90 8FBF0014 */ lw $ra, 0x14($sp)
@ -954,8 +979,8 @@ cheats_cheat_extra_weapons:
cheats_cheat_tiny_bond:
/* 0C6A8C 7F091F5C 24010001 */ li $at, 1
/* 0C6A90 7F091F60 14410131 */ bne $v0, $at, .L7F092428
/* 0C6A94 7F091F64 3C0B8008 */ lui $t3, %hi(cur_player_stat_ptr)
/* 0C6A98 7F091F68 8D6BA0B4 */ lw $t3, %lo(cur_player_stat_ptr)($t3)
/* 0C6A94 7F091F64 3C0B8008 */ lui $t3, %hi(pPlayersPerm)
/* 0C6A98 7F091F68 8D6BA0B4 */ lw $t3, %lo(pPlayersPerm)($t3)
/* 0C6A9C 7F091F6C 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0C6AA0 7F091F70 44818000 */ mtc1 $at, $f16
/* 0C6AA4 7F091F74 C5720064 */ lwc1 $f18, 0x64($t3)
@ -968,9 +993,9 @@ cheats_cheat_tiny_bond:
/* 0C6AC0 7F091F90 0FC228F2 */ jal display_string_in_lower_left_corner
/* 0C6AC4 7F091F94 00402025 */ move $a0, $v0
/* 0C6AC8 7F091F98 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 0C6ACC 7F091F9C 3C0A8008 */ lui $t2, %hi(cur_player_stat_ptr)
/* 0C6ACC 7F091F9C 3C0A8008 */ lui $t2, %hi(pPlayersPerm)
/* 0C6AD0 7F091FA0 44810000 */ mtc1 $at, $f0
/* 0C6AD4 7F091FA4 8D4AA0B4 */ lw $t2, %lo(cur_player_stat_ptr)($t2)
/* 0C6AD4 7F091FA4 8D4AA0B4 */ lw $t2, %lo(pPlayersPerm)($t2)
/* 0C6AD8 7F091FA8 3C0C8008 */ lui $t4, %hi(pPlayer)
/* 0C6ADC 7F091FAC E5400064 */ swc1 $f0, 0x64($t2)
/* 0C6AE0 7F091FB0 8D8CA0B0 */ lw $t4, %lo(pPlayer)($t4)
@ -1255,7 +1280,7 @@ cheats_debug_unlocklevel:
/* 0C6EE4 7F0923B4 00003025 */ move $a2, $zero
/* 0C6EE8 7F0923B8 AFA30018 */ sw $v1, 0x18($sp)
/* 0C6EEC 7F0923BC AFA5001C */ sw $a1, 0x1c($sp)
/* 0C6EF0 7F0923C0 0FC078B0 */ jal doesFolderHaveStageUnlockedAtDifficulty
/* 0C6EF0 7F0923C0 0FC078B0 */ jal isStageUnlockedAtDifficulty
/* 0C6EF4 7F0923C4 AFA80020 */ sw $t0, 0x20($sp)
/* 0C6EF8 7F0923C8 24010003 */ li $at, 3
/* 0C6EFC 7F0923CC 8FA30018 */ lw $v1, 0x18($sp)
@ -1378,7 +1403,7 @@ glabel finalamount
.word 0x3d4ccccd /*0.050000001*/
.text
glabel sub_GAME_7F091B64
glabel handle_cheats_turned_on
/* 0C71B4 7F092644 00047100 */ sll $t6, $a0, 4
/* 0C71B8 7F092648 3C0F8004 */ lui $t7, %hi(D_8003F808)
/* 0C71BC 7F09264C 01EE7821 */ addu $t7, $t7, $t6
@ -1436,7 +1461,7 @@ cheats_cheat_invincibility:
/* 0C727C 7F09270C 8FBF0014 */ lw $ra, 0x14($sp)
/* 0C7280 7F092710 0FC30AA2 */ jal get_textptr_for_textID
/* 0C7284 7F092714 3404B00F */ li $a0, 45071
/* 0C7288 7F092718 0FC22B10 */ jal jp_FUN_7f08ac40
/* 0C7288 7F092718 0FC22B10 */ jal jp_display_string_in_lower_left_corner
/* 0C728C 7F09271C 00402025 */ move $a0, $v0
/* 0C7290 7F092720 0FC229A0 */ jal set_bondata_invincible_flag
/* 0C7294 7F092724 24040001 */ li $a0, 1
@ -1449,7 +1474,7 @@ cheats_cheat_allguns:
/* 0C72AC 7F09273C 8FBF0014 */ lw $ra, 0x14($sp)
/* 0C72B0 7F092740 0FC30AA2 */ jal get_textptr_for_textID
/* 0C72B4 7F092744 3404B010 */ li $a0, 45072
/* 0C72B8 7F092748 0FC22B10 */ jal jp_FUN_7f08ac40
/* 0C72B8 7F092748 0FC22B10 */ jal jp_display_string_in_lower_left_corner
/* 0C72BC 7F09274C 00402025 */ move $a0, $v0
/* 0C72C0 7F092750 0FC232CB */ jal set_BONDdata_allguns_flag
/* 0C72C4 7F092754 24040001 */ li $a0, 1
@ -1458,7 +1483,7 @@ cheats_cheat_allguns:
cheats_cheat_max_ammo:
/* 0C72D0 7F092760 0FC30AA2 */ jal get_textptr_for_textID
/* 0C72D4 7F092764 3404B011 */ li $a0, 45073
/* 0C72D8 7F092768 0FC22B10 */ jal jp_FUN_7f08ac40
/* 0C72D8 7F092768 0FC22B10 */ jal jp_display_string_in_lower_left_corner
/* 0C72DC 7F09276C 00402025 */ move $a0, $v0
/* 0C72E0 7F092770 0FC1A637 */ jal set_max_ammo_for_cur_player
/* 0C72E4 7F092774 00000000 */ nop
@ -1528,7 +1553,7 @@ cheats_cheat_2x_health:
.Ljp7F09285C:
/* 0C73CC 7F09285C 0FC30AA2 */ jal get_textptr_for_textID
/* 0C73D0 7F092860 3404B012 */ li $a0, 45074
/* 0C73D4 7F092864 0FC22B10 */ jal jp_FUN_7f08ac40
/* 0C73D4 7F092864 0FC22B10 */ jal jp_display_string_in_lower_left_corner
/* 0C73D8 7F092868 00402025 */ move $a0, $v0
/* 0C73DC 7F09286C 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0C73E0 7F092870 3C0F8008 */ lui $t7, %hi(pPlayer) # $t7, 0x8008
@ -1559,7 +1584,7 @@ cheats_cheat_2x_armor:
.Ljp7F0928D0:
/* 0C7440 7F0928D0 0FC30AA2 */ jal get_textptr_for_textID
/* 0C7444 7F0928D4 3404B013 */ li $a0, 45075
/* 0C7448 7F0928D8 0FC22B10 */ jal jp_FUN_7f08ac40
/* 0C7448 7F0928D8 0FC22B10 */ jal jp_display_string_in_lower_left_corner
/* 0C744C 7F0928DC 00402025 */ move $a0, $v0
/* 0C7450 7F0928E0 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008
/* 0C7454 7F0928E4 2442A120 */ addiu $v0, %lo(pPlayer) # addiu $v0, $v0, -0x5ee0
@ -1579,7 +1604,7 @@ cheats_cheat_invisibility:
/* 0C7488 7F092918 8FBF0014 */ lw $ra, 0x14($sp)
/* 0C748C 7F09291C 0FC30AA2 */ jal get_textptr_for_textID
/* 0C7490 7F092920 3404B014 */ li $a0, 45076
/* 0C7494 7F092924 0FC22B10 */ jal jp_FUN_7f08ac40
/* 0C7494 7F092924 0FC22B10 */ jal jp_display_string_in_lower_left_corner
/* 0C7498 7F092928 00402025 */ move $a0, $v0
/* 0C749C 7F09292C 0FC229A8 */ jal set_invisible_to_guards_flag
/* 0C74A0 7F092930 00002025 */ move $a0, $zero
@ -1588,16 +1613,16 @@ cheats_cheat_invisibility:
cheats_cheat_infinite_ammo:
/* 0C74AC 7F09293C 0FC30AA2 */ jal get_textptr_for_textID
/* 0C74B0 7F092940 3404B016 */ li $a0, 45078
/* 0C74B4 7F092944 0FC22B10 */ jal jp_FUN_7f08ac40
/* 0C74B4 7F092944 0FC22B10 */ jal jp_display_string_in_lower_left_corner
/* 0C74B8 7F092948 00402025 */ move $a0, $v0
/* 0C74BC 7F09294C 10000197 */ b .Ljp7F092FAC
/* 0C74C0 7F092950 8FBF0014 */ lw $ra, 0x14($sp)
cheats_cheat_dk_mode:
/* 0C74C4 7F092954 0FC30AA2 */ jal get_textptr_for_textID
/* 0C74C8 7F092958 3404B017 */ li $a0, 45079
/* 0C74CC 7F09295C 0FC22B10 */ jal jp_FUN_7f08ac40
/* 0C74CC 7F09295C 0FC22B10 */ jal jp_display_string_in_lower_left_corner
/* 0C74D0 7F092960 00402025 */ move $a0, $v0
/* 0C74D4 7F092964 0FC24CDD */ jal sub_GAME_7F0927F4
/* 0C74D4 7F092964 0FC24CDD */ jal set_DKMode
/* 0C74D8 7F092968 24040001 */ li $a0, 1
/* 0C74DC 7F09296C 1000018F */ b .Ljp7F092FAC
/* 0C74E0 7F092970 8FBF0014 */ lw $ra, 0x14($sp)
@ -1648,15 +1673,15 @@ cheats_cheat_extra_weapons:
/* 0C7590 7F092A20 8FBF0014 */ lw $ra, 0x14($sp)
/* 0C7594 7F092A24 0FC30AA2 */ jal get_textptr_for_textID
/* 0C7598 7F092A28 3404B018 */ li $a0, 45080
/* 0C759C 7F092A2C 0FC22B10 */ jal jp_FUN_7f08ac40
/* 0C759C 7F092A2C 0FC22B10 */ jal jp_display_string_in_lower_left_corner
/* 0C75A0 7F092A30 00402025 */ move $a0, $v0
/* 0C75A4 7F092A34 1000015D */ b .Ljp7F092FAC
/* 0C75A8 7F092A38 8FBF0014 */ lw $ra, 0x14($sp)
cheats_cheat_tiny_bond:
/* 0C75AC 7F092A3C 24010001 */ li $at, 1
/* 0C75B0 7F092A40 14410159 */ bne $v0, $at, .Ljp7F092FA8
/* 0C75B4 7F092A44 3C0B8008 */ lui $t3, %hi(cur_player_stat_ptr) # $t3, 0x8008
/* 0C75B8 7F092A48 8D6BA124 */ lw $t3, %lo(cur_player_stat_ptr)($t3)
/* 0C75B4 7F092A44 3C0B8008 */ lui $t3, %hi(pPlayersPerm) # $t3, 0x8008
/* 0C75B8 7F092A48 8D6BA124 */ lw $t3, %lo(pPlayersPerm)($t3)
/* 0C75BC 7F092A4C 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0C75C0 7F092A50 44818000 */ mtc1 $at, $f16
/* 0C75C4 7F092A54 C5720064 */ lwc1 $f18, 0x64($t3)
@ -1666,12 +1691,12 @@ cheats_cheat_tiny_bond:
/* 0C75D4 7F092A64 8FBF0014 */ lw $ra, 0x14($sp)
/* 0C75D8 7F092A68 0FC30AA2 */ jal get_textptr_for_textID
/* 0C75DC 7F092A6C 3404B019 */ li $a0, 45081
/* 0C75E0 7F092A70 0FC22B10 */ jal jp_FUN_7f08ac40
/* 0C75E0 7F092A70 0FC22B10 */ jal jp_display_string_in_lower_left_corner
/* 0C75E4 7F092A74 00402025 */ move $a0, $v0
/* 0C75E8 7F092A78 3C013F00 */ li $at, 0x3F000000 # 0.500000
/* 0C75EC 7F092A7C 3C0A8008 */ lui $t2, %hi(cur_player_stat_ptr) # $t2, 0x8008
/* 0C75EC 7F092A7C 3C0A8008 */ lui $t2, %hi(pPlayersPerm) # $t2, 0x8008
/* 0C75F0 7F092A80 44810000 */ mtc1 $at, $f0
/* 0C75F4 7F092A84 8D4AA124 */ lw $t2, %lo(cur_player_stat_ptr)($t2)
/* 0C75F4 7F092A84 8D4AA124 */ lw $t2, %lo(pPlayersPerm)($t2)
/* 0C75F8 7F092A88 3C0C8008 */ lui $t4, %hi(pPlayer) # $t4, 0x8008
/* 0C75FC 7F092A8C E5400064 */ swc1 $f0, 0x64($t2)
/* 0C7600 7F092A90 8D8CA120 */ lw $t4, %lo(pPlayer)($t4)
@ -1688,7 +1713,7 @@ cheats_cheat_tiny_bond:
cheats_cheat_paintball:
/* 0C762C 7F092ABC 0FC30AA2 */ jal get_textptr_for_textID
/* 0C7630 7F092AC0 3404B01A */ li $a0, 45082
/* 0C7634 7F092AC4 0FC22B10 */ jal jp_FUN_7f08ac40
/* 0C7634 7F092AC4 0FC22B10 */ jal jp_display_string_in_lower_left_corner
/* 0C7638 7F092AC8 00402025 */ move $a0, $v0
/* 0C763C 7F092ACC 10000137 */ b .Ljp7F092FAC
/* 0C7640 7F092AD0 8FBF0014 */ lw $ra, 0x14($sp)
@ -1710,7 +1735,7 @@ cheats_cheat_10x_health:
.Ljp7F092B0C:
/* 0C767C 7F092B0C 0FC30AA2 */ jal get_textptr_for_textID
/* 0C7680 7F092B10 3404B01B */ li $a0, 45083
/* 0C7684 7F092B14 0FC22B10 */ jal jp_FUN_7f08ac40
/* 0C7684 7F092B14 0FC22B10 */ jal jp_display_string_in_lower_left_corner
/* 0C7688 7F092B18 00402025 */ move $a0, $v0
/* 0C768C 7F092B1C 3C028008 */ lui $v0, %hi(pPlayer) # $v0, 0x8008
/* 0C7690 7F092B20 2442A120 */ addiu $v0, %lo(pPlayer) # addiu $v0, $v0, -0x5ee0
@ -1798,7 +1823,7 @@ cheats_cheat_fast:
/* 0C77BC 7F092C4C 8FBF0014 */ lw $ra, 0x14($sp)
/* 0C77C0 7F092C50 0FC30AA2 */ jal get_textptr_for_textID
/* 0C77C4 7F092C54 3404B01D */ li $a0, 45085
/* 0C77C8 7F092C58 0FC22B10 */ jal jp_FUN_7f08ac40
/* 0C77C8 7F092C58 0FC22B10 */ jal jp_display_string_in_lower_left_corner
/* 0C77CC 7F092C5C 00402025 */ move $a0, $v0
/* 0C77D0 7F092C60 0FC246C1 */ jal set_debug_fast_bond_flag
/* 0C77D4 7F092C64 24040001 */ li $a0, 1
@ -1825,7 +1850,7 @@ cheats_debug_fast_ani:
/* 0C7820 7F092CB0 8FBF0014 */ lw $ra, 0x14($sp)
/* 0C7824 7F092CB4 0FC30AA2 */ jal get_textptr_for_textID
/* 0C7828 7F092CB8 3404B034 */ li $a0, 45108
/* 0C782C 7F092CBC 0FC22B10 */ jal jp_FUN_7f08ac40
/* 0C782C 7F092CBC 0FC22B10 */ jal jp_display_string_in_lower_left_corner
/* 0C7830 7F092CC0 00402025 */ move $a0, $v0
/* 0C7834 7F092CC4 3C014080 */ li $at, 0x40800000 # 4.000000
/* 0C7838 7F092CC8 44816000 */ mtc1 $at, $f12
@ -1845,7 +1870,7 @@ cheats_debug_slow_ani:
/* 0C786C 7F092CFC 8FBF0014 */ lw $ra, 0x14($sp)
/* 0C7870 7F092D00 0FC30AA2 */ jal get_textptr_for_textID
/* 0C7874 7F092D04 3404B032 */ li $a0, 45106
/* 0C7878 7F092D08 0FC22B10 */ jal jp_FUN_7f08ac40
/* 0C7878 7F092D08 0FC22B10 */ jal jp_display_string_in_lower_left_corner
/* 0C787C 7F092D0C 00402025 */ move $a0, $v0
/* 0C7880 7F092D10 3C013E80 */ li $at, 0x3E800000 # 0.250000
/* 0C7884 7F092D14 44816000 */ mtc1 $at, $f12
@ -1997,7 +2022,7 @@ cheats_debug_unlocklevel:
/* 0C7AA4 7F092F34 00003025 */ move $a2, $zero
/* 0C7AA8 7F092F38 AFA30018 */ sw $v1, 0x18($sp)
/* 0C7AAC 7F092F3C AFA5001C */ sw $a1, 0x1c($sp)
/* 0C7AB0 7F092F40 0FC0791C */ jal doesFolderHaveStageUnlockedAtDifficulty
/* 0C7AB0 7F092F40 0FC0791C */ jal isStageUnlockedAtDifficulty
/* 0C7AB4 7F092F44 AFA80020 */ sw $t0, 0x20($sp)
/* 0C7AB8 7F092F48 24010003 */ li $at, 3
/* 0C7ABC 7F092F4C 8FA30018 */ lw $v1, 0x18($sp)
@ -2040,7 +2065,7 @@ cheats_debug_return_saved_ra:
#ifdef NONMATCHING
void sub_GAME_7F092438(void) {
void cheatDisplayMessageActivateCheat(void) {
}
#else
@ -2125,7 +2150,7 @@ glabel jpt_800573DC
/*.word cheat_button_default*/
.text
glabel sub_GAME_7F092438
glabel cheatDisplayMessageActivateCheat
/* 0C6F68 7F092438 00047100 */ sll $t6, $a0, 4
/* 0C6F6C 7F09243C 3C0F8004 */ lui $t7, %hi(D_8003F808)
/* 0C6F70 7F092440 01EE7821 */ addu $t7, $t7, $t6
@ -2224,15 +2249,15 @@ cheat_button_dkmode:
/* 0C70C4 7F092594 3404B023 */ li $a0, 45091
/* 0C70C8 7F092598 0FC228F2 */ jal display_string_in_lower_left_corner
/* 0C70CC 7F09259C 00402025 */ move $a0, $v0
/* 0C70D0 7F0925A0 0FC249FD */ jal sub_GAME_7F0927F4
/* 0C70D0 7F0925A0 0FC249FD */ jal set_DKMode
/* 0C70D4 7F0925A4 00002025 */ move $a0, $zero
/* 0C70D8 7F0925A8 10000042 */ b .L7F0926B4
/* 0C70DC 7F0925AC 8FBF0014 */ lw $ra, 0x14($sp)
cheat_button_unknown_0:
/* 0C70E0 7F0925B0 24010001 */ li $at, 1
/* 0C70E4 7F0925B4 1441003E */ bne $v0, $at, .L7F0926B0
/* 0C70E8 7F0925B8 3C188008 */ lui $t8, %hi(cur_player_stat_ptr)
/* 0C70EC 7F0925BC 8F18A0B4 */ lw $t8, %lo(cur_player_stat_ptr)($t8)
/* 0C70E8 7F0925B8 3C188008 */ lui $t8, %hi(pPlayersPerm)
/* 0C70EC 7F0925BC 8F18A0B4 */ lw $t8, %lo(pPlayersPerm)($t8)
/* 0C70F0 7F0925C0 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0C70F4 7F0925C4 44812000 */ mtc1 $at, $f4
/* 0C70F8 7F0925C8 C7060064 */ lwc1 $f6, 0x64($t8)
@ -2245,8 +2270,8 @@ cheat_button_unknown_0:
/* 0C7114 7F0925E4 0FC228F2 */ jal display_string_in_lower_left_corner
/* 0C7118 7F0925E8 00402025 */ move $a0, $v0
/* 0C711C 7F0925EC 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0C7120 7F0925F0 3C198008 */ lui $t9, %hi(cur_player_stat_ptr)
/* 0C7124 7F0925F4 8F39A0B4 */ lw $t9, %lo(cur_player_stat_ptr)($t9)
/* 0C7120 7F0925F0 3C198008 */ lui $t9, %hi(pPlayersPerm)
/* 0C7124 7F0925F4 8F39A0B4 */ lw $t9, %lo(pPlayersPerm)($t9)
/* 0C7128 7F0925F8 44814000 */ mtc1 $at, $f8
/* 0C712C 7F0925FC 3C088008 */ lui $t0, %hi(pPlayer)
/* 0C7130 7F092600 E7280064 */ swc1 $f8, 0x64($t9)
@ -2387,7 +2412,7 @@ glabel jpt_800573DC
/*.word cheat_button_default*/
.text
glabel sub_GAME_7F092438
glabel cheatDisplayMessageActivateCheat
/* 0C6F68 7F092438 00047100 */ sll $t6, $a0, 4
/* 0C6F6C 7F09243C 3C0F8004 */ lui $t7, %hi(D_8003F808)
/* 0C6F70 7F092440 01EE7821 */ addu $t7, $t7, $t6
@ -2437,7 +2462,7 @@ cheat_button_invincibility:
/* 0C7014 7F0924E4 8FBF0014 */ lw $ra, 0x14($sp)
/* 0C7018 7F0924E8 0FC30776 */ jal get_textptr_for_textID
/* 0C701C 7F0924EC 3404B01E */ li $a0, 45086
/* 0C7020 7F0924F0 0FC228F2 */ jal jp_FUN_7f08ac40
/* 0C7020 7F0924F0 0FC228F2 */ jal jp_display_string_in_lower_left_corner
/* 0C7024 7F0924F4 00402025 */ move $a0, $v0
/* 0C7028 7F0924F8 0FC227D2 */ jal set_bondata_invincible_flag
/* 0C702C 7F0924FC 00002025 */ move $a0, $zero
@ -2450,7 +2475,7 @@ cheat_button_all_guns:
/* 0C7044 7F092514 8FBF0014 */ lw $ra, 0x14($sp)
/* 0C7048 7F092518 0FC30776 */ jal get_textptr_for_textID
/* 0C704C 7F09251C 3404B01F */ li $a0, 45087
/* 0C7050 7F092520 0FC228F2 */ jal jp_FUN_7f08ac40
/* 0C7050 7F092520 0FC228F2 */ jal jp_display_string_in_lower_left_corner
/* 0C7054 7F092524 00402025 */ move $a0, $v0
/* 0C7058 7F092528 0FC230A7 */ jal set_BONDdata_allguns_flag
/* 0C705C 7F09252C 00002025 */ move $a0, $zero
@ -2468,7 +2493,7 @@ cheat_button_unknown:
/* 0C7084 7F092554 8FBF0014 */ lw $ra, 0x14($sp)
/* 0C7088 7F092558 0FC30776 */ jal get_textptr_for_textID
/* 0C708C 7F09255C 3404B020 */ li $a0, 45088
/* 0C7090 7F092560 0FC228F2 */ jal jp_FUN_7f08ac40
/* 0C7090 7F092560 0FC228F2 */ jal jp_display_string_in_lower_left_corner
/* 0C7094 7F092564 00402025 */ move $a0, $v0
/* 0C7098 7F092568 0FC227DA */ jal set_invisible_to_guards_flag
/* 0C709C 7F09256C 24040001 */ li $a0, 1
@ -2477,24 +2502,24 @@ cheat_button_unknown:
cheat_button_infinite_ammo:
/* 0C70A8 7F092578 0FC30776 */ jal get_textptr_for_textID
/* 0C70AC 7F09257C 3404B022 */ li $a0, 45090
/* 0C70B0 7F092580 0FC228F2 */ jal jp_FUN_7f08ac40
/* 0C70B0 7F092580 0FC228F2 */ jal jp_display_string_in_lower_left_corner
/* 0C70B4 7F092584 00402025 */ move $a0, $v0
/* 0C70B8 7F092588 1000004A */ b .L7F0926B4
/* 0C70BC 7F09258C 8FBF0014 */ lw $ra, 0x14($sp)
cheat_button_dkmode:
/* 0C70C0 7F092590 0FC30776 */ jal get_textptr_for_textID
/* 0C70C4 7F092594 3404B023 */ li $a0, 45091
/* 0C70C8 7F092598 0FC228F2 */ jal jp_FUN_7f08ac40
/* 0C70C8 7F092598 0FC228F2 */ jal jp_display_string_in_lower_left_corner
/* 0C70CC 7F09259C 00402025 */ move $a0, $v0
/* 0C70D0 7F0925A0 0FC249FD */ jal sub_GAME_7F0927F4
/* 0C70D0 7F0925A0 0FC249FD */ jal set_DKMode
/* 0C70D4 7F0925A4 00002025 */ move $a0, $zero
/* 0C70D8 7F0925A8 10000042 */ b .L7F0926B4
/* 0C70DC 7F0925AC 8FBF0014 */ lw $ra, 0x14($sp)
cheat_button_unknown_0:
/* 0C70E0 7F0925B0 24010001 */ li $at, 1
/* 0C70E4 7F0925B4 1441003E */ bne $v0, $at, .L7F0926B0
/* 0C70E8 7F0925B8 3C188008 */ lui $t8, %hi(cur_player_stat_ptr)
/* 0C70EC 7F0925BC 8F18A0B4 */ lw $t8, %lo(cur_player_stat_ptr)($t8)
/* 0C70E8 7F0925B8 3C188008 */ lui $t8, %hi(pPlayersPerm)
/* 0C70EC 7F0925BC 8F18A0B4 */ lw $t8, %lo(pPlayersPerm)($t8)
/* 0C70F0 7F0925C0 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0C70F4 7F0925C4 44812000 */ mtc1 $at, $f4
/* 0C70F8 7F0925C8 C7060064 */ lwc1 $f6, 0x64($t8)
@ -2504,11 +2529,11 @@ cheat_button_unknown_0:
/* 0C7108 7F0925D8 8FBF0014 */ lw $ra, 0x14($sp)
/* 0C710C 7F0925DC 0FC30776 */ jal get_textptr_for_textID
/* 0C7110 7F0925E0 3404B024 */ li $a0, 45092
/* 0C7114 7F0925E4 0FC228F2 */ jal jp_FUN_7f08ac40
/* 0C7114 7F0925E4 0FC228F2 */ jal jp_display_string_in_lower_left_corner
/* 0C7118 7F0925E8 00402025 */ move $a0, $v0
/* 0C711C 7F0925EC 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0C7120 7F0925F0 3C198008 */ lui $t9, %hi(cur_player_stat_ptr)
/* 0C7124 7F0925F4 8F39A0B4 */ lw $t9, %lo(cur_player_stat_ptr)($t9)
/* 0C7120 7F0925F0 3C198008 */ lui $t9, %hi(pPlayersPerm)
/* 0C7124 7F0925F4 8F39A0B4 */ lw $t9, %lo(pPlayersPerm)($t9)
/* 0C7128 7F0925F8 44814000 */ mtc1 $at, $f8
/* 0C712C 7F0925FC 3C088008 */ lui $t0, %hi(pPlayer)
/* 0C7130 7F092600 E7280064 */ swc1 $f8, 0x64($t9)
@ -2526,7 +2551,7 @@ cheat_button_unknown_0:
cheat_button_paintball:
/* 0C7160 7F092630 0FC30776 */ jal get_textptr_for_textID
/* 0C7164 7F092634 3404B025 */ li $a0, 45093
/* 0C7168 7F092638 0FC228F2 */ jal jp_FUN_7f08ac40
/* 0C7168 7F092638 0FC228F2 */ jal jp_display_string_in_lower_left_corner
/* 0C716C 7F09263C 00402025 */ move $a0, $v0
/* 0C7170 7F092640 1000001C */ b .L7F0926B4
/* 0C7174 7F092644 8FBF0014 */ lw $ra, 0x14($sp)
@ -2546,7 +2571,7 @@ cheat_button_fast_mode:
/* 0C71A4 7F092674 8FBF0014 */ lw $ra, 0x14($sp)
/* 0C71A8 7F092678 0FC30776 */ jal get_textptr_for_textID
/* 0C71AC 7F09267C 3404B027 */ li $a0, 45095
/* 0C71B0 7F092680 0FC228F2 */ jal jp_FUN_7f08ac40
/* 0C71B0 7F092680 0FC228F2 */ jal jp_display_string_in_lower_left_corner
/* 0C71B4 7F092684 00402025 */ move $a0, $v0
/* 0C71B8 7F092688 0FC24409 */ jal set_debug_fast_bond_flag
/* 0C71BC 7F09268C 00002025 */ move $a0, $zero
@ -2575,7 +2600,7 @@ cheat_button_default:
#ifdef NONMATCHING
void sub_GAME_7F0926C0(void) {
void cheatDisableAllCheats(void) {
s32 sp30;
s32 temp_s4;
s32 temp_s0;
@ -2601,10 +2626,10 @@ loop_3:
if ((phi_s1->unk-4 & 0x40) != 0)
{
// Node 4
if (sub_GAME_7F0927BC(phi_s0) != 0)
if (cheatCheckIfOn(phi_s0) != 0)
{
// Node 5
sub_GAME_7F092438(phi_s0);
cheatDisplayMessageActivateCheat(phi_s0);
}
}
// Node 6
@ -2652,7 +2677,7 @@ GLOBAL_ASM(
/*.word cheat_button_default*/
/*.word cheat_button_default*/
.text
glabel sub_GAME_7F0926C0
glabel cheatDisableAllCheats
/* 0C71F0 7F0926C0 27BDFFC8 */ addiu $sp, $sp, -0x38
/* 0C71F4 7F0926C4 AFBF002C */ sw $ra, 0x2c($sp)
/* 0C71F8 7F0926C8 AFB40028 */ sw $s4, 0x28($sp)
@ -2678,11 +2703,11 @@ glabel sub_GAME_7F0926C0
/* 0C7240 7F092710 31CF0040 */ andi $t7, $t6, 0x40
/* 0C7244 7F092714 51E00008 */ beql $t7, $zero, .L7F092738
/* 0C7248 7F092718 26100001 */ addiu $s0, $s0, 1
/* 0C724C 7F09271C 0FC249EF */ jal sub_GAME_7F0927BC
/* 0C724C 7F09271C 0FC249EF */ jal cheatCheckIfOn
/* 0C7250 7F092720 02002025 */ move $a0, $s0
/* 0C7254 7F092724 50400004 */ beql $v0, $zero, .L7F092738
/* 0C7258 7F092728 26100001 */ addiu $s0, $s0, 1
/* 0C725C 7F09272C 0FC2490E */ jal sub_GAME_7F092438
/* 0C725C 7F09272C 0FC2490E */ jal cheatDisplayMessageActivateCheat
/* 0C7260 7F092730 02002025 */ move $a0, $s0
/* 0C7264 7F092734 26100001 */ addiu $s0, $s0, 1
.L7F092738:
@ -2710,7 +2735,7 @@ glabel sub_GAME_7F0926C0
#ifdef NONMATCHING
void sub_GAME_7F092774(void) {
void cheatGetMenuTextPointer(void) {
}
#else
@ -2726,7 +2751,7 @@ GLOBAL_ASM(
/*.word cheat_button_default*/
/*.word cheat_button_default*/
.text
glabel sub_GAME_7F092774
glabel cheatGetMenuTextPointer
/* 0C72A4 7F092774 00047100 */ sll $t6, $a0, 4
/* 0C72A8 7F092778 3C028004 */ lui $v0, %hi(D_8003F804)
/* 0C72AC 7F09277C 004E1021 */ addu $v0, $v0, $t6
@ -2755,7 +2780,7 @@ glabel sub_GAME_7F092774
#ifdef NONMATCHING
void sub_GAME_7F0927BC(void) {
void cheatCheckIfOn(void) {
}
#else
@ -2767,7 +2792,7 @@ GLOBAL_ASM(
.word cheat_button_default
.text
glabel sub_GAME_7F0927BC
glabel cheatCheckIfOn
/* 0C72EC 7F0927BC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0C72F0 7F0927C0 AFBF0014 */ sw $ra, 0x14($sp)
/* 0C72F4 7F0927C4 0FC26C54 */ jal get_cur_playernum
@ -2790,7 +2815,7 @@ glabel sub_GAME_7F0927BC
#ifdef NONMATCHING
void sub_GAME_7F0927F4(void) {
void set_DKMode(void) {
}
#else
@ -2800,7 +2825,7 @@ GLOBAL_ASM(
glabel D_80057504
.word 0x3f4ccccd /*0.80000001*/
.text
glabel sub_GAME_7F0927F4
glabel set_DKMode
/* 0C7324 7F0927F4 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0C7328 7F0927F8 AFB10024 */ sw $s1, 0x24($sp)
/* 0C732C 7F0927FC AFBF002C */ sw $ra, 0x2c($sp)
@ -2853,7 +2878,7 @@ GLOBAL_ASM(
glabel D_80057504
.word 0x3f4ccccd /*0.80000001*/
.text
glabel sub_GAME_7F0927F4
glabel set_DKMode
/* 0C7EE4 7F093374 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 0C7EE8 7F093378 AFB00020 */ sw $s0, 0x20($sp)
/* 0C7EEC 7F09337C AFBF002C */ sw $ra, 0x2c($sp)

View File

@ -1970,8 +1970,8 @@ glabel sub_GAME_7F01FC10
/* 05478C 7F01FC5C 1721002C */ bne $t9, $at, .L7F01FD10
/* 054790 7F01FC60 00000000 */ nop
/* 054794 7F01FC64 C6020038 */ lwc1 $f2, 0x38($s0)
/* 054798 7F01FC68 3C028005 */ lui $v0, %hi(D_jpunk)
/* 05479C 7F01FC6C 24428378 */ addiu $v0, %lo(D_jpunk) # addiu $v0, $v0, -0x7c88
/* 054798 7F01FC68 3C028005 */ lui $v0, %hi(jp_global_timer_delta)
/* 05479C 7F01FC6C 24428378 */ addiu $v0, %lo(jp_global_timer_delta) # addiu $v0, $v0, -0x7c88
/* 0547A0 7F01FC70 4602603C */ c.lt.s $f12, $f2
/* 0547A4 7F01FC74 00000000 */ nop
/* 0547A8 7F01FC78 45000025 */ bc1f .L7F01FD10
@ -2819,8 +2819,8 @@ glabel sub_GAME_7F0205F0
/* 055134 7F020604 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 055138 7F020608 44811000 */ mtc1 $at, $f2
/* 05513C 7F02060C 46803220 */ cvt.s.w $f8, $f6
/* 055140 7F020610 3C018005 */ lui $at, %hi(D_jpunk)
/* 055144 7F020614 C4248378 */ lwc1 $f4, %lo(D_jpunk)($at)
/* 055140 7F020610 3C018005 */ lui $at, %hi(jp_global_timer_delta)
/* 055144 7F020614 C4248378 */ lwc1 $f4, %lo(jp_global_timer_delta)($at)
/* 055148 7F020618 46082003 */ div.s $f0, $f4, $f8
/* 05514C 7F02061C 4600103C */ c.lt.s $f2, $f0
/* 055150 7F020620 00000000 */ nop
@ -3081,7 +3081,7 @@ glabel sub_GAME_7F02083C
/* 055380 7F020850 AFA5009C */ sw $a1, 0x9c($sp)
/* 055384 7F020854 AFA60098 */ sw $a2, 0x98($sp)
/* 055388 7F020858 2404000C */ li $a0, 12
/* 05538C 7F02085C 0FC249EF */ jal sub_GAME_7F0927BC
/* 05538C 7F02085C 0FC249EF */ jal cheatCheckIfOn
/* 055390 7F020860 E7A40094 */ swc1 $f4, 0x94($sp)
/* 055394 7F020864 1040000E */ beqz $v0, .L7F0208A0
/* 055398 7F020868 8FA60098 */ lw $a2, 0x98($sp)
@ -3463,7 +3463,7 @@ glabel sub_GAME_7F02083C
/* 055630 7F020AC0 AFA5009C */ sw $a1, 0x9c($sp)
/* 055634 7F020AC4 AFA70098 */ sw $a3, 0x98($sp)
/* 055638 7F020AC8 2404000C */ li $a0, 12
/* 05563C 7F020ACC 0FC24CCF */ jal sub_GAME_7F0927BC
/* 05563C 7F020ACC 0FC24CCF */ jal cheatCheckIfOn
/* 055640 7F020AD0 E7A40094 */ swc1 $f4, 0x94($sp)
/* 055644 7F020AD4 1040001C */ beqz $v0, .L7F020B48
/* 055648 7F020AD8 8FA70098 */ lw $a3, 0x98($sp)
@ -4355,7 +4355,7 @@ glabel sub_GAME_7F020EF0
/* 055F78 7F021448 A04F0001 */ sb $t7, 1($v0)
/* 055F7C 7F02144C 8E0E0014 */ lw $t6, 0x14($s0)
/* 055F80 7F021450 35C90008 */ ori $t1, $t6, 8
/* 055F84 7F021454 0FC249EF */ jal sub_GAME_7F0927BC
/* 055F84 7F021454 0FC249EF */ jal cheatCheckIfOn
/* 055F88 7F021458 AE090014 */ sw $t1, 0x14($s0)
/* 055F8C 7F02145C 10400004 */ beqz $v0, .L7F021470
/* 055F90 7F021460 3C013EA0 */ li $at, 0x3EA00000 # 0.312500
@ -5207,7 +5207,7 @@ glabel sub_GAME_7F020EF0
/* 056250 7F0216E0 A04F0001 */ sb $t7, 1($v0)
/* 056254 7F0216E4 8E0E0014 */ lw $t6, 0x14($s0)
/* 056258 7F0216E8 35C90008 */ ori $t1, $t6, 8
/* 05625C 7F0216EC 0FC24CCF */ jal sub_GAME_7F0927BC
/* 05625C 7F0216EC 0FC24CCF */ jal cheatCheckIfOn
/* 056260 7F0216F0 AE090014 */ sw $t1, 0x14($s0)
/* 056264 7F0216F4 10400018 */ beqz $v0, .Ljp7F021758
/* 056268 7F0216F8 00000000 */ nop
@ -6003,8 +6003,8 @@ glabel sub_GAME_7F021BFC
/* 056A04 7F021ED4 AFA300A4 */ sw $v1, 0xa4($sp)
/* 056A08 7F021ED8 AFB800A0 */ sw $t8, 0xa0($sp)
.L7F021EDC:
/* 056A0C 7F021EDC 3C028008 */ lui $v0, %hi(cur_player_stat_ptr)
/* 056A10 7F021EE0 8C42A0B4 */ lw $v0, %lo(cur_player_stat_ptr)($v0)
/* 056A0C 7F021EDC 3C028008 */ lui $v0, %hi(pPlayersPerm)
/* 056A10 7F021EE0 8C42A0B4 */ lw $v0, %lo(pPlayersPerm)($v0)
/* 056A14 7F021EE4 27A40070 */ addiu $a0, $sp, 0x70
/* 056A18 7F021EE8 8C590034 */ lw $t9, 0x34($v0)
/* 056A1C 7F021EEC 272D0001 */ addiu $t5, $t9, 1

View File

@ -81,7 +81,7 @@ glabel maybe_load_models_for_guards
/* 057E68 7F023338 AFA0002C */ sw $zero, 0x2c($sp)
/* 057E6C 7F02333C 2404000C */ li $a0, 12
/* 057E70 7F023340 AFA20024 */ sw $v0, 0x24($sp)
/* 057E74 7F023344 0FC249EF */ jal sub_GAME_7F0927BC
/* 057E74 7F023344 0FC249EF */ jal cheatCheckIfOn
/* 057E78 7F023348 E7AA0030 */ swc1 $f10, 0x30($sp)
/* 057E7C 7F02334C 10400005 */ beqz $v0, .L7F023364
/* 057E80 7F023350 C7B00034 */ lwc1 $f16, 0x34($sp)
@ -217,7 +217,7 @@ glabel maybe_load_models_for_guards
/* 058198 7F023628 AFA0002C */ sw $zero, 0x2c($sp)
/* 05819C 7F02362C 2404000C */ li $a0, 12
/* 0581A0 7F023630 AFA20024 */ sw $v0, 0x24($sp)
/* 0581A4 7F023634 0FC24CCF */ jal sub_GAME_7F0927BC
/* 0581A4 7F023634 0FC24CCF */ jal cheatCheckIfOn
/* 0581A8 7F023638 E7AA0030 */ swc1 $f10, 0x30($sp)
/* 0581AC 7F02363C 10400009 */ beqz $v0, .Ljp7F023664
/* 0581B0 7F023640 8FA40038 */ lw $a0, 0x38($sp)
@ -11938,8 +11938,8 @@ glabel sub_GAME_7F02C2B0
/* 060E20 7F02C2F0 3C018005 */ lui $at, %hi(D_80051EA0)
/* 060E24 7F02C2F4 C4241EA0 */ lwc1 $f4, %lo(D_80051EA0)($at)
/* 060E28 7F02C2F8 C7A6003C */ lwc1 $f6, 0x3c($sp)
/* 060E2C 7F02C2FC 3C018005 */ lui $at, %hi(D_jpunk)
/* 060E30 7F02C300 C42A8378 */ lwc1 $f10, %lo(D_jpunk)($at)
/* 060E2C 7F02C2FC 3C018005 */ lui $at, %hi(jp_global_timer_delta)
/* 060E30 7F02C300 C42A8378 */ lwc1 $f10, %lo(jp_global_timer_delta)($at)
/* 060E34 7F02C304 46062202 */ mul.s $f8, $f4, $f6
/* 060E38 7F02C308 8FAF002C */ lw $t7, 0x2c($sp)
/* 060E3C 7F02C30C 8FA70030 */ lw $a3, 0x30($sp)
@ -13572,9 +13572,9 @@ glabel sub_GAME_7F02D2E4
/* 061F48 7F02D418 44816000 */ mtc1 $at, $f12
/* 061F4C 7F02D41C 3C018005 */ lui $at, %hi(D_80051F58)
/* 061F50 7F02D420 C4241F58 */ lwc1 $f4, %lo(D_80051F58)($at)
/* 061F54 7F02D424 3C018005 */ lui $at, %hi(D_jpunk)
/* 061F54 7F02D424 3C018005 */ lui $at, %hi(jp_global_timer_delta)
/* 061F58 7F02D428 4600603C */ c.lt.s $f12, $f0
/* 061F5C 7F02D42C C4268378 */ lwc1 $f6, %lo(D_jpunk)($at)
/* 061F5C 7F02D42C C4268378 */ lwc1 $f6, %lo(jp_global_timer_delta)($at)
/* 061F60 7F02D430 8FB90060 */ lw $t9, 0x60($sp)
/* 061F64 7F02D434 46062082 */ mul.s $f2, $f4, $f6
/* 061F68 7F02D438 45020005 */ bc1fl .L7F02D450
@ -14198,7 +14198,7 @@ glabel sub_GAME_7F02D734
/* 062794 7F02DC64 24050056 */ li $a1, 86
/* 062798 7F02DC68 1040016E */ beqz $v0, .L7F02E224
/* 06279C 7F02DC6C AFA20208 */ sw $v0, 0x208($sp)
/* 0627A0 7F02DC70 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0
/* 0627A0 7F02DC70 0FC15FF4 */ jal reset_array_of_0x10_floats
/* 0627A4 7F02DC74 27A401C8 */ addiu $a0, $sp, 0x1c8
/* 0627A8 7F02DC78 C7AC024C */ lwc1 $f12, 0x24c($sp)
/* 0627AC 7F02DC7C 0FC1615C */ jal sub_GAME_7F058570
@ -14313,7 +14313,7 @@ glabel sub_GAME_7F02D734
/* 062954 7F02DE24 24050057 */ li $a1, 87
/* 062958 7F02DE28 104000FE */ beqz $v0, .L7F02E224
/* 06295C 7F02DE2C AFA20128 */ sw $v0, 0x128($sp)
/* 062960 7F02DE30 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0
/* 062960 7F02DE30 0FC15FF4 */ jal reset_array_of_0x10_floats
/* 062964 7F02DE34 27A400E8 */ addiu $a0, $sp, 0xe8
/* 062968 7F02DE38 3C018005 */ lui $at, %hi(D_80051F6C)
/* 06296C 7F02DE3C C4201F6C */ lwc1 $f0, %lo(D_80051F6C)($at)

File diff suppressed because it is too large Load Diff

View File

@ -103,9 +103,11 @@ extern struct struct_20 D_80031D58;
extern u32 monitor_animation_microcode[];
extern u32 dword_D_80031F00[];
extern u32 dword_D_80031F44[];
extern f32 gas_damage_flag;
extern u32 gas_cutoff_flag;
extern struct object_standard * ptr_setup_objects;
void stop_alarm(void);
void sub_GAME_7F055EF8(void);
void check_deactivate_gas_sound(void);
#endif

View File

@ -131,6 +131,8 @@ struct headHat
float zsize;
};
extern struct p_itementry PitemZ_entries[];
extern struct item_related prop_cctv_related;
extern struct item_related prop_console_one_screen_related;
extern struct item_related prop_console_four_screen_related;

37077
src/game/chrobjhandler.c Normal file

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@
void cleanupAlarms(void) {
stop_alarm();
sub_GAME_7F055EF8();
check_deactivate_gas_sound();
}

View File

@ -111,7 +111,7 @@ glabel alloc_false_GUARDdata_to_exec_global_action
/* 035C1C 7F0010EC 2484000F */ addiu $a0, $a0, 0xf
/* 035C20 7F0010F0 348F000F */ ori $t7, $a0, 0xf
/* 035C24 7F0010F4 39E4000F */ xori $a0, $t7, 0xf
/* 035C28 7F0010F8 0C0025C8 */ jal allocate_bytes_in_bank
/* 035C28 7F0010F8 0C0025C8 */ jal mempAllocBytesInBank
/* 035C2C 7F0010FC AFA70200 */ sw $a3, 0x200($sp)
/* 035C30 7F001100 3C0D8007 */ lui $t5, %hi(ptr_setup_path_tbl)
/* 035C34 7F001104 25AD5D00 */ addiu $t5, %lo(ptr_setup_path_tbl) # addiu $t5, $t5, 0x5d00

View File

@ -252,11 +252,11 @@ s32 grab_rgb_screenshot_flag = 0;
//D:80037000
s32 grab_jpeg_screenshot_flag = 0;
//D:80037004
s32 D_80037004 = 0;
s32 player_pos_x = 0;
//D:80037008
s32 D_80037008 = 0;
s32 player_pos_y = 0;
//D:8003700C
s32 D_8003700C = 0;
s32 player_pos_z = 0;
@ -412,11 +412,11 @@ glabel sub_GAME_7F09054C
void unknown_libname_68(void) {
void removed_do_debug_profile_flag_false(void) {
return;
}
void nullsub_35(void) {
void removed_do_debug_profile_flag_true(void) {
return;
}
@ -1040,8 +1040,8 @@ debug_worldpos:
/* 0C57CC 7F090C9C 00000000 */ nop
/* 0C57D0 7F090CA0 10400074 */ beqz $v0, .L7F090E74
/* 0C57D4 7F090CA4 00401825 */ move $v1, $v0
/* 0C57D8 7F090CA8 3C028003 */ lui $v0, %hi(D_80037004)
/* 0C57DC 7F090CAC 24427004 */ addiu $v0, %lo(D_80037004) # addiu $v0, $v0, 0x7004
/* 0C57D8 7F090CA8 3C028003 */ lui $v0, %hi(player_pos_x)
/* 0C57DC 7F090CAC 24427004 */ addiu $v0, %lo(player_pos_x) # addiu $v0, $v0, 0x7004
/* 0C57E0 7F090CB0 C4460000 */ lwc1 $f6, ($v0)
/* 0C57E4 7F090CB4 C4640008 */ lwc1 $f4, 8($v1)
/* 0C57E8 7F090CB8 C44A0004 */ lwc1 $f10, 4($v0)
@ -1059,8 +1059,8 @@ debug_worldpos:
/* 0C5818 7F090CE8 0C007DF8 */ jal sqrtf
/* 0C581C 7F090CEC 460A4300 */ add.s $f12, $f8, $f10
/* 0C5820 7F090CF0 8FA30050 */ lw $v1, 0x50($sp)
/* 0C5824 7F090CF4 3C028003 */ lui $v0, %hi(D_80037004)
/* 0C5828 7F090CF8 24427004 */ addiu $v0, %lo(D_80037004) # addiu $v0, $v0, 0x7004
/* 0C5824 7F090CF4 3C028003 */ lui $v0, %hi(player_pos_x)
/* 0C5828 7F090CF8 24427004 */ addiu $v0, %lo(player_pos_x) # addiu $v0, $v0, 0x7004
/* 0C582C 7F090CFC C4700008 */ lwc1 $f16, 8($v1)
/* 0C5830 7F090D00 E4500000 */ swc1 $f16, ($v0)
/* 0C5834 7F090D04 C472000C */ lwc1 $f18, 0xc($v1)
@ -1147,12 +1147,12 @@ debug_profile:
/* 0C5948 7F090E18 39AE0001 */ xori $t6, $t5, 1
/* 0C594C 7F090E1C 11C00005 */ beqz $t6, .L7F090E34
/* 0C5950 7F090E20 AC4E0000 */ sw $t6, ($v0)
/* 0C5954 7F090E24 0FC24164 */ jal unknown_libname_68
/* 0C5954 7F090E24 0FC24164 */ jal removed_do_debug_profile_flag_false
/* 0C5958 7F090E28 00000000 */ nop
/* 0C595C 7F090E2C 10000012 */ b .L7F090E78
/* 0C5960 7F090E30 8FB80018 */ lw $t8, 0x18($sp)
.L7F090E34:
/* 0C5964 7F090E34 0FC24166 */ jal nullsub_35
/* 0C5964 7F090E34 0FC24166 */ jal removed_do_debug_profile_flag_true
/* 0C5968 7F090E38 00000000 */ nop
/* 0C596C 7F090E3C 1000000E */ b .L7F090E78
/* 0C5970 7F090E40 8FB80018 */ lw $t8, 0x18($sp)

View File

@ -50,25 +50,20 @@ void set_vtx_gfx_mem_alloc(void) {
s32 sp18;
? temp_ret;
// Node 0
if (check_token(1, "-mgfx") != 0)
{
// Node 1
sp18 = get_num_players();
(0x80050000 + (sp18 * 4))->unk-7D20 = (s32) (strtol(check_token(1, "-mgfx"), 0, 0) << 0xa);
dyn_c_debug_notice_list_entry[get_num_players()] = strtol(check_token(1, "-mgfx"), 0, 0) << 0xa;
}
// Node 2
if (check_token(1, "-mvtx") != 0)
{
// Node 3
sp18 = get_num_players();
(0x80050000 + (sp18 * 4))->unk-7D10 = (s32) (strtol(check_token(1, "-mvtx"), 0, 0) << 0xa);
D_800482F0[get_num_players()] = strtol(check_token(1, "-mvtx"), 0, 0) << 0xa;
}
// Node 4
ptr_mgfx0_alloc_start = allocate_bytes_in_bank(((0x80050000 + (get_num_players() * 4))->unk-7D20 * 2), 4);
mempAllocBytesInBank(dyn_c_debug_notice_list_entry[sVar1] << 1, 4);
ptr_mgfx0_alloc_start.unk4 = (s32) ((0x80050000 + (get_num_players() * 4))->unk-7D20 + ptr_mgfx0_alloc_start);
ptr_mgfx0_alloc_start.unk8 = (s32) ((0x80050000 + (get_num_players() * 4))->unk-7D20 + ptr_mgfx0_alloc_start.unk4);
ptr_mvtx0_alloc_start = allocate_bytes_in_bank(((0x80050000 + (get_num_players() * 4))->unk-7D10 * 2), 4);
ptr_mvtx0_alloc_start = mempAllocBytesInBank(((0x80050000 + (get_num_players() * 4))->unk-7D10 * 2), 4);
ptr_mvtx0_alloc_start.unk4 = (s32) ((0x80050000 + (get_num_players() * 4))->unk-7D10 + ptr_mvtx0_alloc_start);
temp_ret = get_num_players();
ptr_mvtx0_alloc_start.unk8 = (s32) ((0x80050000 + (temp_ret * 4))->unk-7D10 + ptr_mvtx0_alloc_start.unk4);
@ -160,7 +155,7 @@ glabel set_vtx_gfx_mem_alloc
/* 0F2090 7F0BD560 8C8482E0 */ lw $a0, %lo(D_800482E0)($a0)
/* 0F2094 7F0BD564 24050004 */ li $a1, 4
/* 0F2098 7F0BD568 00045840 */ sll $t3, $a0, 1
/* 0F209C 7F0BD56C 0C0025C8 */ jal allocate_bytes_in_bank
/* 0F209C 7F0BD56C 0C0025C8 */ jal mempAllocBytesInBank
/* 0F20A0 7F0BD570 01602025 */ move $a0, $t3
/* 0F20A4 7F0BD574 3C018009 */ lui $at, %hi(ptr_mgfx0_alloc_start)
/* 0F20A8 7F0BD578 0FC26919 */ jal get_num_players
@ -191,7 +186,7 @@ glabel set_vtx_gfx_mem_alloc
/* 0F210C 7F0BD5DC 8C8482F0 */ lw $a0, %lo(D_800482F0)($a0)
/* 0F2110 7F0BD5E0 24050004 */ li $a1, 4
/* 0F2114 7F0BD5E4 00045840 */ sll $t3, $a0, 1
/* 0F2118 7F0BD5E8 0C0025C8 */ jal allocate_bytes_in_bank
/* 0F2118 7F0BD5E8 0C0025C8 */ jal mempAllocBytesInBank
/* 0F211C 7F0BD5EC 01602025 */ move $a0, $t3
/* 0F2120 7F0BD5F0 3C038009 */ lui $v1, %hi(ptr_mvtx0_alloc_start)
/* 0F2124 7F0BD5F4 2463C240 */ addiu $v1, %lo(ptr_mvtx0_alloc_start) # addiu $v1, $v1, -0x3dc0

View File

@ -14,12 +14,12 @@ void something_game_c_debug_related(void) {
void reset_mem_bank_5(void) {
sub_GAME_7F0BD234();
reset_mem_bank_a0(5);
mempResetBank(5);
something_mem_bank_a0(5);
}
void sub_GAME_7F0D1A7C(void) {
memp_related_6(5);
mempNullNextEntryInBank(5);
something_mem_bank_a0(5);
}

View File

@ -421,33 +421,13 @@ glabel set_selected_difficulty
#ifdef NONMATCHING
void set_solo_and_ptr_briefing(LEVELID stage)
{
gamemode = GAMEMODE_SOLO;
selected_stage = stage;
briefingpage = pull_and_display_text_for_folder_a0((undefined *)stage);
briefingpage = pull_and_display_text_for_folder_a0(stage);
}
#else
GLOBAL_ASM(
.text
glabel set_solo_and_ptr_briefing
/* 05211C 7F01D5EC 3C018003 */ lui $at, %hi(gamemode)
/* 052120 7F01D5F0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 052124 7F01D5F4 AC20A8F0 */ sw $zero, %lo(gamemode)($at)
/* 052128 7F01D5F8 AFBF0014 */ sw $ra, 0x14($sp)
/* 05212C 7F01D5FC 3C018003 */ lui $at, %hi(selected_stage)
/* 052130 7F01D600 0FC03730 */ jal pull_and_display_text_for_folder_a0
/* 052134 7F01D604 AC24A8F4 */ sw $a0, %lo(selected_stage)($at)
/* 052138 7F01D608 8FBF0014 */ lw $ra, 0x14($sp)
/* 05213C 7F01D60C 3C018003 */ lui $at, %hi(briefingpage)
/* 052140 7F01D610 AC22A8F8 */ sw $v0, %lo(briefingpage)($at)
/* 052144 7F01D614 03E00008 */ jr $ra
/* 052148 7F01D618 27BD0018 */ addiu $sp, $sp, 0x18
)
#endif
void sub_GAME_7F01D61C(struct save_file *savefile)
{
@ -457,8 +437,7 @@ void sub_GAME_7F01D61C(struct save_file *savefile)
#ifdef NONMATCHING
void sub_GAME_7F01D644(save_file *eeprom)
void sub_GAME_7F01D644(struct save_file *eeprom)
{
selected_folder_num_copy = selected_folder_num;
selected_folder_num = 100;

View File

@ -1136,13 +1136,13 @@ glabel check_if_valid_folder_num
#ifdef NONMATCHING
void doesFolderHaveStageUnlockedAtDifficulty(void) {
s32 isStageUnlockedAtDifficulty(int foldernum,STAGENUM stageid,DIFFICULTY difficulty) {
}
#else
GLOBAL_ASM(
.text
glabel doesFolderHaveStageUnlockedAtDifficulty
glabel isStageUnlockedAtDifficulty
/* 052DF0 7F01E2C0 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 052DF4 7F01E2C4 AFBF002C */ sw $ra, 0x2c($sp)
/* 052DF8 7F01E2C8 AFB50028 */ sw $s5, 0x28($sp)
@ -1680,7 +1680,7 @@ glabel check_egypt_completed_in_folder
/* 053474 7F01E944 02402025 */ move $a0, $s2
.L7F01E948:
/* 053478 7F01E948 02202825 */ move $a1, $s1
/* 05347C 7F01E94C 0FC078B0 */ jal doesFolderHaveStageUnlockedAtDifficulty
/* 05347C 7F01E94C 0FC078B0 */ jal isStageUnlockedAtDifficulty
/* 053480 7F01E950 02003025 */ move $a2, $s0
/* 053484 7F01E954 10400003 */ beqz $v0, .L7F01E964
/* 053488 7F01E958 26100001 */ addiu $s0, $s0, 1
@ -1739,21 +1739,21 @@ glabel check_cradle_completed_in_folder
/* 053528 7F01E9F8 AFBF0014 */ sw $ra, 0x14($sp)
/* 05352C 7F01E9FC AFA40018 */ sw $a0, 0x18($sp)
/* 053530 7F01EA00 24050011 */ li $a1, 17
/* 053534 7F01EA04 0FC078B0 */ jal doesFolderHaveStageUnlockedAtDifficulty
/* 053534 7F01EA04 0FC078B0 */ jal isStageUnlockedAtDifficulty
/* 053538 7F01EA08 00003025 */ move $a2, $zero
/* 05353C 7F01EA0C 384E0003 */ xori $t6, $v0, 3
/* 053540 7F01EA10 2DC20001 */ sltiu $v0, $t6, 1
/* 053544 7F01EA14 1440000D */ bnez $v0, .L7F01EA4C
/* 053548 7F01EA18 8FA40018 */ lw $a0, 0x18($sp)
/* 05354C 7F01EA1C 24050011 */ li $a1, 17
/* 053550 7F01EA20 0FC078B0 */ jal doesFolderHaveStageUnlockedAtDifficulty
/* 053550 7F01EA20 0FC078B0 */ jal isStageUnlockedAtDifficulty
/* 053554 7F01EA24 24060001 */ li $a2, 1
/* 053558 7F01EA28 384F0003 */ xori $t7, $v0, 3
/* 05355C 7F01EA2C 2DE20001 */ sltiu $v0, $t7, 1
/* 053560 7F01EA30 14400006 */ bnez $v0, .L7F01EA4C
/* 053564 7F01EA34 8FA40018 */ lw $a0, 0x18($sp)
/* 053568 7F01EA38 24050011 */ li $a1, 17
/* 05356C 7F01EA3C 0FC078B0 */ jal doesFolderHaveStageUnlockedAtDifficulty
/* 05356C 7F01EA3C 0FC078B0 */ jal isStageUnlockedAtDifficulty
/* 053570 7F01EA40 24060002 */ li $a2, 2
/* 053574 7F01EA44 38580003 */ xori $t8, $v0, 3
/* 053578 7F01EA48 2F020001 */ sltiu $v0, $t8, 1
@ -1779,14 +1779,14 @@ glabel check_aztec_completed_in_folder_secret_00
/* 053590 7F01EA60 AFBF0014 */ sw $ra, 0x14($sp)
/* 053594 7F01EA64 AFA40018 */ sw $a0, 0x18($sp)
/* 053598 7F01EA68 24050012 */ li $a1, 18
/* 05359C 7F01EA6C 0FC078B0 */ jal doesFolderHaveStageUnlockedAtDifficulty
/* 05359C 7F01EA6C 0FC078B0 */ jal isStageUnlockedAtDifficulty
/* 0535A0 7F01EA70 24060001 */ li $a2, 1
/* 0535A4 7F01EA74 384E0003 */ xori $t6, $v0, 3
/* 0535A8 7F01EA78 2DC20001 */ sltiu $v0, $t6, 1
/* 0535AC 7F01EA7C 14400006 */ bnez $v0, .L7F01EA98
/* 0535B0 7F01EA80 8FA40018 */ lw $a0, 0x18($sp)
/* 0535B4 7F01EA84 24050012 */ li $a1, 18
/* 0535B8 7F01EA88 0FC078B0 */ jal doesFolderHaveStageUnlockedAtDifficulty
/* 0535B8 7F01EA88 0FC078B0 */ jal isStageUnlockedAtDifficulty
/* 0535BC 7F01EA8C 24060002 */ li $a2, 2
/* 0535C0 7F01EA90 384F0003 */ xori $t7, $v0, 3
/* 0535C4 7F01EA94 2DE20001 */ sltiu $v0, $t7, 1
@ -1811,7 +1811,7 @@ glabel check_egypt_completed_in_folder_00
/* 0535D8 7F01EAA8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0535DC 7F01EAAC AFBF0014 */ sw $ra, 0x14($sp)
/* 0535E0 7F01EAB0 24050013 */ li $a1, 19
/* 0535E4 7F01EAB4 0FC078B0 */ jal doesFolderHaveStageUnlockedAtDifficulty
/* 0535E4 7F01EAB4 0FC078B0 */ jal isStageUnlockedAtDifficulty
/* 0535E8 7F01EAB8 24060002 */ li $a2, 2
/* 0535EC 7F01EABC 8FBF0014 */ lw $ra, 0x14($sp)
/* 0535F0 7F01EAC0 384E0003 */ xori $t6, $v0, 3
@ -2178,7 +2178,7 @@ glabel update_eeprom_to_current_solo_watch_settings
/* 053A54 7F01EF24 00008025 */ move $s0, $zero
/* 053A58 7F01EF28 8FAF0020 */ lw $t7, 0x20($sp)
/* 053A5C 7F01EF2C 000271C3 */ sra $t6, $v0, 7
/* 053A60 7F01EF30 0FC2A460 */ jal sub_GAME_7F0A9180
/* 053A60 7F01EF30 0FC2A460 */ jal call_sfx_c_700091C8
/* 053A64 7F01EF34 A1EE000A */ sb $t6, 0xa($t7)
/* 053A68 7F01EF38 8FB90020 */ lw $t9, 0x20($sp)
/* 053A6C 7F01EF3C 0002C1C3 */ sra $t8, $v0, 7

View File

@ -9534,13 +9534,14 @@ glabel sub_GAME_7F0CBE50
#ifdef NONMATCHING
void sub_GAME_7F0CBEE8(void) {
void calls_load_image_to_buffer(uint *image,uint *buffer)
{
load_image_to_buffer(&image,buffer);
}
#else
GLOBAL_ASM(
.text
glabel sub_GAME_7F0CBEE8
glabel calls_load_image_to_buffer
/* 100A18 7F0CBEE8 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 100A1C 7F0CBEEC AFBF0014 */ sw $ra, 0x14($sp)
/* 100A20 7F0CBEF0 AFA4001C */ sw $a0, 0x1c($sp)

View File

@ -13,71 +13,71 @@ s32 dword_CODE_bss_8008D0AC;
//8008D0B0;
s32 globalbank_rdram_offset;
//8008D0B4;
s32 *ptr_explosionDL;
s32 *pGlobalimagetable;
//8008D0B8;
s32 *genericimage;
struct sImageTableEntry *genericimage;
//8008D0BC
s32 *impactimages;
struct sImageTableEntry *impactimages;
//8008D0C0
s32 *explosion_smokeimages;
struct sImageTableEntry *explosion_smokeimages;
//8008D0C4
s32 *scattered_explosions;
struct sImageTableEntry *scattered_explosions;
//8008D0C8
s32 flareimage1;
struct sImageTableEntry *flareimage1;
//8008D0CC
s32 flareimage2;
struct sImageTableEntry *flareimage2;
//8008D0D0
s32 flareimage3;
struct sImageTableEntry *flareimage3;
//8008D0D4
s32 flareimage4;
struct sImageTableEntry *flareimage4;
//8008D0D8
s32 flareimage5;
struct sImageTableEntry *flareimage5;
//8008D0DC
s32 ammo9mmimage;
struct sImageTableEntry *ammo9mmimage;
//8008D0E0
s32 rifleammoimage;
struct sImageTableEntry *rifleammoimage;
//8008D0E4
s32 shotgunammoimage;
struct sImageTableEntry *shotgunammoimage;
//8008D0E8
s32 knifeammoimage;
struct sImageTableEntry *knifeammoimage;
//8008D0EC
s32 glaunchammoimage;
struct sImageTableEntry *glaunchammoimage;
//8008D0F0
s32 rocketammoimage;
struct sImageTableEntry *rocketammoimage;
//8008D0F4
s32 genericmineammoimage;
struct sImageTableEntry *genericmineammoimage;
//8008D0F8
s32 grenadeammoimage;
struct sImageTableEntry *grenadeammoimage;
//8008D0FC
s32 magnumammoimage;
struct sImageTableEntry *magnumammoimage;
//8008D100
s32 goldengunammoimage;
struct sImageTableEntry *goldengunammoimage;
//8008D104
s32 remotemineammoimage;
struct sImageTableEntry *remotemineammoimage;
//8008D108
s32 timedmineammoimage;
struct sImageTableEntry *timedmineammoimage;
//8008D10C
s32 proxmineammoimage;
struct sImageTableEntry *proxmineammoimage;
//8008D110
s32 tankammoimage;
struct sImageTableEntry *tankammoimage;
//8008D114;
s32 *crosshairimage;
struct sImageTableEntry *crosshairimage;
//8008D118
s32 betacrosshairimage;
struct sImageTableEntry *betacrosshairimage;
//8008D11C
s32 glassoverlayimage;
struct sImageTableEntry *glassoverlayimage;
//8008D120
s32 monitorimages;
struct sImageTableEntry *monitorimages;
//8008D124
s32 skywaterimages;
struct sImageTableEntry *skywaterimages;
//8008D128
s32 mainfolderimages;
struct sImageTableEntry *mainfolderimages;
//8008D12C
s32 mpradarimages;
struct sImageTableEntry *mpradarimages;
//8008D130
s32 mpcharselimages;
struct sImageTableEntry *mpcharselimages;
//8008D134
s32 mpstageselimages;
struct sImageTableEntry *mpstageselimages;
extern u8* _GlobalimagetableSegmentRomStart;
@ -161,9 +161,9 @@ void load_prepare_global_image_bank(void) {
s32 i;
size = (0x2001400 - 0x2000000);
ptr_explosionDL = ((allocate_bytes_in_bank((size + 0x1000), 4) + 0xfff) & -0x1000);
romCopy(ptr_explosionDL, _GlobalimagetableSegmentRomStart, size);
globalbank_rdram_offset = (ptr_explosionDL + 0xfe000000);
pGlobalimagetable = ((mempAllocBytesInBank((size + 0x1000), 4) + 0xfff) & -0x1000);
romCopy(pGlobalimagetable, _GlobalimagetableSegmentRomStart, size);
globalbank_rdram_offset = (pGlobalimagetable + 0xfe000000);
genericimage = (s32) (globalbank_rdram_offset + 0x2000ac8);
impactimages = (s32) (globalbank_rdram_offset + 0x2000ad4);
explosion_smokeimages = (s32) (globalbank_rdram_offset + 0x2000bc4);
@ -240,10 +240,10 @@ glabel load_prepare_global_image_bank
/* 100B04 7F0CBFD4 AFB2001C */ sw $s2, 0x1c($sp)
/* 100B08 7F0CBFD8 AFB10018 */ sw $s1, 0x18($sp)
/* 100B0C 7F0CBFDC 26041000 */ addiu $a0, $s0, 0x1000
/* 100B10 7F0CBFE0 0C0025C8 */ jal allocate_bytes_in_bank
/* 100B10 7F0CBFE0 0C0025C8 */ jal mempAllocBytesInBank
/* 100B14 7F0CBFE4 24050004 */ li $a1, 4
/* 100B18 7F0CBFE8 3C118009 */ lui $s1, %hi(ptr_explosionDL)
/* 100B1C 7F0CBFEC 2631D0B4 */ addiu $s1, %lo(ptr_explosionDL) # addiu $s1, $s1, -0x2f4c
/* 100B18 7F0CBFE8 3C118009 */ lui $s1, %hi(pGlobalimagetable)
/* 100B1C 7F0CBFEC 2631D0B4 */ addiu $s1, %lo(pGlobalimagetable) # addiu $s1, $s1, -0x2f4c
/* 100B20 7F0CBFF0 24590FFF */ addiu $t9, $v0, 0xfff
/* 100B24 7F0CBFF4 2401F000 */ li $at, -4096
/* 100B28 7F0CBFF8 AE220000 */ sw $v0, ($s1)

View File

@ -51,9 +51,9 @@ glabel init_player_BONDdata_stats
/* 039C34 7F005104 8DE1FFFC */ lw $at, -4($t7)
/* 039C38 7F005108 15E8FFF8 */ bne $t7, $t0, .L7F0050EC
/* 039C3C 7F00510C ADC1FFFC */ sw $at, -4($t6)
/* 039C40 7F005110 3C048003 */ lui $a0, %hi(size_right_item_buffer)
/* 039C44 7F005114 8C84245C */ lw $a0, %lo(size_right_item_buffer)($a0)
/* 039C48 7F005118 0C0025C8 */ jal allocate_bytes_in_bank
/* 039C40 7F005110 3C048003 */ lui $a0, %hi(size_item_buffer)
/* 039C44 7F005114 8C84245C */ lw $a0, %lo(size_item_buffer)($a0)
/* 039C48 7F005118 0C0025C8 */ jal mempAllocBytesInBank
/* 039C4C 7F00511C 24050004 */ li $a1, 4
/* 039C50 7F005120 3C108008 */ lui $s0, %hi(pPlayer)
/* 039C54 7F005124 2610A0B0 */ addiu $s0, %lo(pPlayer) # addiu $s0, $s0, -0x5f50
@ -62,9 +62,9 @@ glabel init_player_BONDdata_stats
/* 039C60 7F005130 AD220808 */ sw $v0, 0x808($t1)
/* 039C64 7F005134 24010001 */ li $at, 1
/* 039C68 7F005138 14410006 */ bne $v0, $at, .L7F005154
/* 039C6C 7F00513C 3C048003 */ lui $a0, %hi(size_left_item_buffer)
/* 039C70 7F005140 8C842460 */ lw $a0, %lo(size_left_item_buffer)($a0)
/* 039C74 7F005144 0C0025C8 */ jal allocate_bytes_in_bank
/* 039C6C 7F00513C 3C048003 */ lui $a0, %hi(size_item_buffer+0x4)
/* 039C70 7F005140 8C842460 */ lw $a0, %lo(size_item_buffer+0x4)($a0)
/* 039C74 7F005144 0C0025C8 */ jal mempAllocBytesInBank
/* 039C78 7F005148 24050004 */ li $a1, 4
/* 039C7C 7F00514C 8E0A0000 */ lw $t2, ($s0)
/* 039C80 7F005150 AD42080C */ sw $v0, 0x80c($t2)
@ -89,10 +89,10 @@ glabel init_player_BONDdata_stats
/* 039CC8 7F005198 AD052A48 */ sw $a1, 0x2a48($t0)
/* 039CCC 7F00519C 8E0F0000 */ lw $t7, ($s0)
/* 039CD0 7F0051A0 00604025 */ move $t0, $v1
/* 039CD4 7F0051A4 3C038008 */ lui $v1, %hi(cur_player_stat_ptr)
/* 039CD4 7F0051A4 3C038008 */ lui $v1, %hi(pPlayersPerm)
/* 039CD8 7F0051A8 ADE02A50 */ sw $zero, 0x2a50($t7)
/* 039CDC 7F0051AC 8E0E0000 */ lw $t6, ($s0)
/* 039CE0 7F0051B0 2463A0B4 */ addiu $v1, %lo(cur_player_stat_ptr) # addiu $v1, $v1, -0x5f4c
/* 039CE0 7F0051B0 2463A0B4 */ addiu $v1, %lo(pPlayersPerm) # addiu $v1, $v1, -0x5f4c
/* 039CE4 7F0051B4 ADC02A54 */ sw $zero, 0x2a54($t6)
/* 039CE8 7F0051B8 8E090000 */ lw $t1, ($s0)
.L7F0051BC:

View File

@ -288,7 +288,7 @@ glabel sets_a_bunch_of_BONDdata_values_to_default
/* 03B1B8 7F006688 0FC1B5AC */ jal subcalcpos
/* 03B1BC 7F00668C 24840598 */ addiu $a0, $a0, 0x598
/* 03B1C0 7F006690 27B30050 */ addiu $s3, $sp, 0x50
/* 03B1C4 7F006694 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0
/* 03B1C4 7F006694 0FC15FF4 */ jal reset_array_of_0x10_floats
/* 03B1C8 7F006698 02602025 */ move $a0, $s3
/* 03B1CC 7F00669C 8E300000 */ lw $s0, ($s1)
/* 03B1D0 7F0066A0 AFB30090 */ sw $s3, 0x90($sp)
@ -581,7 +581,7 @@ glabel sets_a_bunch_of_BONDdata_values_to_default
/* 03B214 7F0066A4 0FC1B728 */ jal subcalcpos
/* 03B218 7F0066A8 24840598 */ addiu $a0, $a0, 0x598
/* 03B21C 7F0066AC 27B30050 */ addiu $s3, $sp, 0x50
/* 03B220 7F0066B0 0FC1613C */ jal init_0x40_bytes_data_at_address_last_word_1_0
/* 03B220 7F0066B0 0FC1613C */ jal reset_array_of_0x10_floats
/* 03B224 7F0066B4 02602025 */ move $a0, $s3
/* 03B228 7F0066B8 8E300000 */ lw $s0, ($s1)
/* 03B22C 7F0066BC AFB30090 */ sw $s3, 0x90($sp)

View File

@ -107,7 +107,7 @@ void alloc_load_expand_ani_table(void) {
osCreateMesgQueue(&animMsgQ, &animMesg, 8);
sub_GAME_7F0009E0(&D_80029D60, &animMsgQ, &dword_CODE_bss_80069458);
temp_a2 = (&0x0000E7E0 - 0);
temp_ret = allocate_bytes_in_bank(temp_a2, 6, temp_a2);
temp_ret = mempAllocBytesInBank(temp_a2, 6, temp_a2);
ptr_animation_table = temp_ret;
romCopy(temp_ret, &_animation_dataSegmentRomStart, sp18);
expand_ani_table_entries(&animation_table_ptrs1);
@ -139,7 +139,7 @@ glabel alloc_load_expand_ani_table
/* 035628 7F000AF8 01CF3023 */ subu $a2, $t6, $t7
/* 03562C 7F000AFC 00C02025 */ move $a0, $a2
/* 035630 7F000B00 AFA60018 */ sw $a2, 0x18($sp)
/* 035634 7F000B04 0C0025C8 */ jal allocate_bytes_in_bank
/* 035634 7F000B04 0C0025C8 */ jal mempAllocBytesInBank
/* 035638 7F000B08 24050006 */ li $a1, 6
/* 03563C 7F000B0C 3C038007 */ lui $v1, %hi(ptr_animation_table)
/* 035640 7F000B10 24639538 */ addiu $v1, %lo(ptr_animation_table) # addiu $v1, $v1, -0x6ac8

View File

@ -214,7 +214,7 @@ glabel load_camera_intro_type_values
/* 03A388 7F005858 1441000B */ bne $v0, $at, .L7F005888
/* 03A38C 7F00585C 3C040004 */ lui $a0, (0x00046EA0 >> 16) # lui $a0, 4
/* 03A390 7F005860 34846EA0 */ ori $a0, (0x00046EA0 & 0xFFFF) # ori $a0, $a0, 0x6ea0
/* 03A394 7F005864 0C0025C8 */ jal allocate_bytes_in_bank
/* 03A394 7F005864 0C0025C8 */ jal mempAllocBytesInBank
/* 03A398 7F005868 24050004 */ li $a1, 4
/* 03A39C 7F00586C 244A003F */ addiu $t2, $v0, 0x3f
/* 03A3A0 7F005870 2401FFC0 */ li $at, -64
@ -986,7 +986,7 @@ glabel load_camera_intro_type_values
/* 03A3EC 7F00587C 1441000B */ bne $v0, $at, .L7F0058AC
/* 03A3F0 7F005880 3C040004 */ lui $a0, (0x00046EA0 >> 16) # lui $a0, 4
/* 03A3F4 7F005884 34846EA0 */ ori $a0, (0x00046EA0 & 0xFFFF) # ori $a0, $a0, 0x6ea0
/* 03A3F8 7F005888 0C0025CC */ jal allocate_bytes_in_bank
/* 03A3F8 7F005888 0C0025CC */ jal mempAllocBytesInBank
/* 03A3FC 7F00588C 24050004 */ li $a1, 4
/* 03A400 7F005890 244A003F */ addiu $t2, $v0, 0x3f
/* 03A404 7F005894 2401FFC0 */ li $at, -64

View File

@ -27,7 +27,7 @@ glabel alloc_explosion_smoke_casing_scorch_impact_buffers
/* 03B8F8 7F006DC8 3C018004 */ lui $at, %hi(D_80040178)
/* 03B8FC 7F006DCC 24041740 */ li $a0, 5952
/* 03B900 7F006DD0 24050004 */ li $a1, 4
/* 03B904 7F006DD4 0C0025C8 */ jal allocate_bytes_in_bank
/* 03B904 7F006DD4 0C0025C8 */ jal mempAllocBytesInBank
/* 03B908 7F006DD8 E4240178 */ swc1 $f4, %lo(D_80040178)($at)
/* 03B90C 7F006DDC 3C038008 */ lui $v1, %hi(ptr_explosion_buf)
/* 03B910 7F006DE0 2463A144 */ addiu $v1, %lo(ptr_explosion_buf) # addiu $v1, $v1, -0x5ebc
@ -76,7 +76,7 @@ glabel alloc_explosion_smoke_casing_scorch_impact_buffers
/* 03B9B4 7F006E84 1420FFDB */ bnez $at, .L7F006DF4
/* 03B9B8 7F006E88 24C603E0 */ addiu $a2, $a2, 0x3e0
/* 03B9BC 7F006E8C 24041FE0 */ li $a0, 8160
/* 03B9C0 7F006E90 0C0025C8 */ jal allocate_bytes_in_bank
/* 03B9C0 7F006E90 0C0025C8 */ jal mempAllocBytesInBank
/* 03B9C4 7F006E94 24050004 */ li $a1, 4
/* 03B9C8 7F006E98 3C038008 */ lui $v1, %hi(ptr_smoke_buf)
/* 03B9CC 7F006E9C 2463A140 */ addiu $v1, %lo(ptr_smoke_buf) # addiu $v1, $v1, -0x5ec0
@ -166,7 +166,7 @@ glabel alloc_explosion_smoke_casing_scorch_impact_buffers
/* 03BB14 7F006FE4 24010001 */ li $at, 1
/* 03BB18 7F006FE8 14410017 */ bne $v0, $at, .L7F007048
/* 03BB1C 7F006FEC 240406E0 */ li $a0, 1760
/* 03BB20 7F006FF0 0C0025C8 */ jal allocate_bytes_in_bank
/* 03BB20 7F006FF0 0C0025C8 */ jal mempAllocBytesInBank
/* 03BB24 7F006FF4 24050004 */ li $a1, 4
/* 03BB28 7F006FF8 3C058008 */ lui $a1, %hi(ptr_scorch_buf)
/* 03BB2C 7F006FFC 24A5A150 */ addiu $a1, %lo(ptr_scorch_buf) # addiu $a1, $a1, -0x5eb0
@ -191,7 +191,7 @@ glabel alloc_explosion_smoke_casing_scorch_impact_buffers
/* 03BB74 7F007044 A5A60108 */ sh $a2, 0x108($t5)
.L7F007048:
/* 03BB78 7F007048 24041F40 */ li $a0, 8000
/* 03BB7C 7F00704C 0C0025C8 */ jal allocate_bytes_in_bank
/* 03BB7C 7F00704C 0C0025C8 */ jal mempAllocBytesInBank
/* 03BB80 7F007050 24050004 */ li $a1, 4
/* 03BB84 7F007054 3C058008 */ lui $a1, %hi(ptr_bullet_impact_buf)
/* 03BB88 7F007058 24A5A154 */ addiu $a1, %lo(ptr_bullet_impact_buf) # addiu $a1, $a1, -0x5eac
@ -249,7 +249,7 @@ glabel alloc_explosion_smoke_casing_scorch_impact_buffers
/* 03BC44 7F007114 000A50C0 */ sll $t2, $t2, 3
/* 03BC48 7F007118 2544000F */ addiu $a0, $t2, 0xf
/* 03BC4C 7F00711C 00815824 */ and $t3, $a0, $at
/* 03BC50 7F007120 0C0025C8 */ jal allocate_bytes_in_bank
/* 03BC50 7F007120 0C0025C8 */ jal mempAllocBytesInBank
/* 03BC54 7F007124 01602025 */ move $a0, $t3
/* 03BC58 7F007128 3C068008 */ lui $a2, %hi(max_casings)
/* 03BC5C 7F00712C 24C6A148 */ addiu $a2, %lo(max_casings) # addiu $a2, $a2, -0x5eb8

View File

@ -39,7 +39,7 @@ glabel alloc_init_GUARDdata_entries
/* 035A14 7F000EE4 3498000F */ ori $t8, $a0, 0xf
/* 035A18 7F000EE8 ACCE0000 */ sw $t6, ($a2)
/* 035A1C 7F000EEC 3B04000F */ xori $a0, $t8, 0xf
/* 035A20 7F000EF0 0C0025C8 */ jal allocate_bytes_in_bank
/* 035A20 7F000EF0 0C0025C8 */ jal mempAllocBytesInBank
/* 035A24 7F000EF4 24050004 */ li $a1, 4
/* 035A28 7F000EF8 3C068003 */ lui $a2, %hi(num_guards)
/* 035A2C 7F000EFC 24C6CC68 */ addiu $a2, %lo(num_guards) # addiu $a2, $a2, -0x3398

View File

@ -3,13 +3,13 @@
void alloc_intro_matrices(void) {
D_8002A7D0 = 0;
matrix_buffer_rarelogo_0 = allocate_bytes_in_bank(0x80, 4);
matrix_buffer_gunbarrel_0 = allocate_bytes_in_bank(0x40, 4);
matrix_buffer_rarelogo_1 = allocate_bytes_in_bank(0x80, 4);
matrix_buffer_rarelogo_2 = allocate_bytes_in_bank(0x80, 4);
matrix_buffer_gunbarrel_1 = allocate_bytes_in_bank(0x80, 4);
matrix_buffer_intro_backdrop = allocate_bytes_in_bank(0x80, 4);
matrix_buffer_intro_bond = allocate_bytes_in_bank(0x80, 4);
matrix_buffer_rarelogo_0 = mempAllocBytesInBank(0x80, 4);
matrix_buffer_gunbarrel_0 = mempAllocBytesInBank(0x40, 4);
matrix_buffer_rarelogo_1 = mempAllocBytesInBank(0x80, 4);
matrix_buffer_rarelogo_2 = mempAllocBytesInBank(0x80, 4);
matrix_buffer_gunbarrel_1 = mempAllocBytesInBank(0x80, 4);
matrix_buffer_intro_backdrop = mempAllocBytesInBank(0x80, 4);
matrix_buffer_intro_bond = mempAllocBytesInBank(0x80, 4);
}

View File

@ -48,7 +48,7 @@ glabel sub_GAME_7F0061F0
void alloc_additional_item_slots(s32 arg0) {
// Node 0
pPlayer->unk11E8 = (s32) (arg0 + 0x1e);
pPlayer->unk11E4 = allocate_bytes_in_bank(((((pPlayer->unk11E8 * 0x14) + 0xf) | 0xf) ^ 0xf), 4);
pPlayer->unk11E4 = mempAllocBytesInBank(((((pPlayer->unk11E8 * 0x14) + 0xf) | 0xf) ^ 0xf), 4);
reinit_BONDdata_inventory();
}
@ -71,7 +71,7 @@ glabel alloc_additional_item_slots
/* 03ADBC 7F00628C 0019C880 */ sll $t9, $t9, 2
/* 03ADC0 7F006290 2724000F */ addiu $a0, $t9, 0xf
/* 03ADC4 7F006294 3488000F */ ori $t0, $a0, 0xf
/* 03ADC8 7F006298 0C0025C8 */ jal allocate_bytes_in_bank
/* 03ADC8 7F006298 0C0025C8 */ jal mempAllocBytesInBank
/* 03ADCC 7F00629C 3904000F */ xori $a0, $t0, 0xf
/* 03ADD0 7F0062A0 3C0A8008 */ lui $t2, %hi(pPlayer)
/* 03ADD4 7F0062A4 8D4AA0B0 */ lw $t2, %lo(pPlayer)($t2)

View File

@ -54,13 +54,13 @@ glabel init_menus_or_reset
/* 0358F4 7F000DC4 34848000 */ ori $a0, (0x00078000 & 0xFFFF) # ori $a0, $a0, 0x8000
/* 0358F8 7F000DC8 AC590000 */ sw $t9, ($v0)
.L7F000DCC:
/* 0358FC 7F000DCC 0C0025C8 */ jal allocate_bytes_in_bank
/* 0358FC 7F000DCC 0C0025C8 */ jal mempAllocBytesInBank
/* 035900 7F000DD0 24050004 */ li $a1, 4
/* 035904 7F000DD4 3C018003 */ lui $at, %hi(ptr_logo_and_walletbond_DL)
/* 035908 7F000DD8 3C040004 */ lui $a0, (0x0004B040 >> 16) # lui $a0, 4
/* 03590C 7F000DDC AC22A950 */ sw $v0, %lo(ptr_logo_and_walletbond_DL)($at)
/* 035910 7F000DE0 3484B040 */ ori $a0, (0x0004B040 & 0xFFFF) # ori $a0, $a0, 0xb040
/* 035914 7F000DE4 0C0025C8 */ jal allocate_bytes_in_bank
/* 035914 7F000DE4 0C0025C8 */ jal mempAllocBytesInBank
/* 035918 7F000DE8 24050004 */ li $a1, 4
/* 03591C 7F000DEC 3C038003 */ lui $v1, %hi(ptr_menu_videobuffer)
/* 035920 7F000DF0 2449003F */ addiu $t1, $v0, 0x3f

View File

@ -38,7 +38,7 @@ glabel set_mt_tex_alloc
.L7F007370:
/* 03BEA0 7F007370 3C048005 */ lui $a0, %hi(bytes)
/* 03BEA4 7F007374 8C849170 */ lw $a0, %lo(bytes)($a0)
/* 03BEA8 7F007378 0C0025C8 */ jal allocate_bytes_in_bank
/* 03BEA8 7F007378 0C0025C8 */ jal mempAllocBytesInBank
/* 03BEAC 7F00737C 24050004 */ li $a1, 4
/* 03BEB0 7F007380 3C048009 */ lui $a0, %hi(ptr_texture_alloc_start)
/* 03BEB4 7F007384 3C068005 */ lui $a2, %hi(bytes)

View File

@ -119,7 +119,7 @@ glabel alloc_lookup_buffers
/* 036100 7F0015D0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 036104 7F0015D4 AFBF0014 */ sw $ra, 0x14($sp)
/* 036108 7F0015D8 24040400 */ li $a0, 1024
/* 03610C 7F0015DC 0C0025C8 */ jal allocate_bytes_in_bank
/* 03610C 7F0015DC 0C0025C8 */ jal mempAllocBytesInBank
/* 036110 7F0015E0 24050004 */ li $a1, 4
/* 036114 7F0015E4 3C068004 */ lui $a2, %hi(MaxNumRooms)
/* 036118 7F0015E8 3C018007 */ lui $at, %hi(ptr_list_object_lookup_indices)
@ -130,13 +130,13 @@ glabel alloc_lookup_buffers
/* 03612C 7F0015FC 00047080 */ sll $t6, $a0, 2
/* 036130 7F001600 25C4000F */ addiu $a0, $t6, 0xf
/* 036134 7F001604 348F000F */ ori $t7, $a0, 0xf
/* 036138 7F001608 0C0025C8 */ jal allocate_bytes_in_bank
/* 036138 7F001608 0C0025C8 */ jal mempAllocBytesInBank
/* 03613C 7F00160C 39E4000F */ xori $a0, $t7, 0xf
/* 036140 7F001610 3C078007 */ lui $a3, %hi(ptr_room_lookup_buffer_maybe)
/* 036144 7F001614 24E71618 */ addiu $a3, %lo(ptr_room_lookup_buffer_maybe) # addiu $a3, $a3, 0x1618
/* 036148 7F001618 ACE20000 */ sw $v0, ($a3)
/* 03614C 7F00161C 24042000 */ li $a0, 8192
/* 036150 7F001620 0C0025C8 */ jal allocate_bytes_in_bank
/* 036150 7F001620 0C0025C8 */ jal mempAllocBytesInBank
/* 036154 7F001624 24050004 */ li $a1, 4
/* 036158 7F001628 3C048007 */ lui $a0, %hi(dword_CODE_bss_8007161C)
/* 03615C 7F00162C 2484161C */ addiu $a0, %lo(dword_CODE_bss_8007161C) # addiu $a0, $a0, 0x161c
@ -233,7 +233,7 @@ glabel reinit_between_menus
/* 036284 7F001754 AFBF0014 */ sw $ra, 0x14($sp)
/* 036288 7F001758 0FC00656 */ jal write_monitor_ani_control_blocks
/* 03628C 7F00175C 00000000 */ nop
/* 036290 7F001760 0FC006C2 */ jal initialize_80071E00_to_80071E78
/* 036290 7F001760 0FC006C2 */ jal initialize_temp_mine_table
/* 036294 7F001764 00000000 */ nop
/* 036298 7F001768 3C018003 */ lui $at, %hi(alarm_timer)
/* 03629C 7F00176C AC200AC0 */ sw $zero, %lo(alarm_timer)($at)
@ -253,8 +253,8 @@ glabel reinit_between_menus
/* 0362D4 7F0017A4 AC200ADC */ sw $zero, %lo(D_80030ADC)($at)
/* 0362D8 7F0017A8 3C018003 */ lui $at, %hi(D_80030AE0)
/* 0362DC 7F0017AC E4200AE0 */ swc1 $f0, %lo(D_80030AE0)($at)
/* 0362E0 7F0017B0 3C018003 */ lui $at, %hi(D_80030AE4)
/* 0362E4 7F0017B4 AC200AE4 */ sw $zero, %lo(D_80030AE4)($at)
/* 0362E0 7F0017B0 3C018003 */ lui $at, %hi(ptr_gas_sound)
/* 0362E4 7F0017B4 AC200AE4 */ sw $zero, %lo(ptr_gas_sound)($at)
/* 0362E8 7F0017B8 24050001 */ li $a1, 1
/* 0362EC 7F0017BC 3C018003 */ lui $at, %hi(clock_drawn_flag)
/* 0362F0 7F0017C0 AC250AE8 */ sw $a1, %lo(clock_drawn_flag)($at)
@ -526,21 +526,21 @@ glabel write_monitor_ani_control_blocks
#endif
#ifdef NONMATCHING
void initialize_80071E00_to_80071E78(void) {
void initialize_temp_mine_table(void) {
}
#else
GLOBAL_ASM(
.text
glabel initialize_80071E00_to_80071E78
/* 036638 7F001B08 3C018007 */ lui $at, %hi(dword_CODE_bss_80071E00)
/* 03663C 7F001B0C AC201E00 */ sw $zero, %lo(dword_CODE_bss_80071E00)($at)
/* 036640 7F001B10 3C018007 */ lui $at, %hi(dword_CODE_bss_80071E04)
/* 036644 7F001B14 3C038007 */ lui $v1, %hi(dword_CODE_bss_80071E08)
glabel initialize_temp_mine_table
/* 036638 7F001B08 3C018007 */ lui $at, %hi(temp_mine_table)
/* 03663C 7F001B0C AC201E00 */ sw $zero, %lo(temp_mine_table)($at)
/* 036640 7F001B10 3C018007 */ lui $at, %hi(temp_mine_table+0x4)
/* 036644 7F001B14 3C038007 */ lui $v1, %hi(temp_mine_table+0x8)
/* 036648 7F001B18 3C028007 */ lui $v0, %hi(gas_damage_flag)
/* 03664C 7F001B1C 24421E78 */ addiu $v0, %lo(gas_damage_flag) # addiu $v0, $v0, 0x1e78
/* 036650 7F001B20 24631E08 */ addiu $v1, %lo(dword_CODE_bss_80071E08) # addiu $v1, $v1, 0x1e08
/* 036654 7F001B24 AC201E04 */ sw $zero, %lo(dword_CODE_bss_80071E04)($at)
/* 036650 7F001B20 24631E08 */ addiu $v1, %lo(temp_mine_table+0x8) # addiu $v1, $v1, 0x1e08
/* 036654 7F001B24 AC201E04 */ sw $zero, %lo(temp_mine_table+0x4)($at)
.L7F001B28:
/* 036658 7F001B28 24630010 */ addiu $v1, $v1, 0x10
/* 03665C 7F001B2C AC60FFF4 */ sw $zero, -0xc($v1)

View File

@ -40,7 +40,7 @@ glabel sub_GAME_7F005540
/* 03A09C 7F00556C AFB00014 */ sw $s0, 0x14($sp)
/* 03A0A0 7F005570 AE8E0000 */ sw $t6, ($s4)
/* 03A0A4 7F005574 000E2140 */ sll $a0, $t6, 5
/* 03A0A8 7F005578 0C0025C8 */ jal allocate_bytes_in_bank
/* 03A0A8 7F005578 0C0025C8 */ jal mempAllocBytesInBank
/* 03A0AC 7F00557C 24050004 */ li $a1, 4
/* 03A0B0 7F005580 8E980000 */ lw $t8, ($s4)
/* 03A0B4 7F005584 3C128008 */ lui $s2, %hi(ptr_allocation_1)
@ -62,7 +62,7 @@ glabel sub_GAME_7F005540
/* 03A0F0 7F0055C0 10000009 */ b .L7F0055E8
/* 03A0F4 7F0055C4 AD400010 */ sw $zero, 0x10($t2)
.L7F0055C8:
/* 03A0F8 7F0055C8 0C0025C8 */ jal allocate_bytes_in_bank
/* 03A0F8 7F0055C8 0C0025C8 */ jal mempAllocBytesInBank
/* 03A0FC 7F0055CC 24050004 */ li $a1, 4
/* 03A100 7F0055D0 8E4B0000 */ lw $t3, ($s2)
/* 03A104 7F0055D4 01706021 */ addu $t4, $t3, $s0
@ -115,7 +115,7 @@ glabel sub_GAME_7F005624
/* 03A188 7F005658 AFB00014 */ sw $s0, 0x14($sp)
/* 03A18C 7F00565C AE8E0000 */ sw $t6, ($s4)
/* 03A190 7F005660 000F2180 */ sll $a0, $t7, 6
/* 03A194 7F005664 0C0025C8 */ jal allocate_bytes_in_bank
/* 03A194 7F005664 0C0025C8 */ jal mempAllocBytesInBank
/* 03A198 7F005668 24050004 */ li $a1, 4
/* 03A19C 7F00566C 8E980000 */ lw $t8, ($s4)
/* 03A1A0 7F005670 3C128008 */ lui $s2, %hi(ptr_allocation_0)
@ -137,7 +137,7 @@ glabel sub_GAME_7F005624
/* 03A1DC 7F0056AC 10000009 */ b .L7F0056D4
/* 03A1E0 7F0056B0 AD400010 */ sw $zero, 0x10($t2)
.L7F0056B4:
/* 03A1E4 7F0056B4 0C0025C8 */ jal allocate_bytes_in_bank
/* 03A1E4 7F0056B4 0C0025C8 */ jal mempAllocBytesInBank
/* 03A1E8 7F0056B8 24050004 */ li $a1, 4
/* 03A1EC 7F0056BC 8E4B0000 */ lw $t3, ($s2)
/* 03A1F0 7F0056C0 01706021 */ addu $t4, $t3, $s0

View File

@ -54,7 +54,7 @@ glabel sub_GAME_7F007180
/* 03BD44 7F007214 000840C0 */ sll $t0, $t0, 3
/* 03BD48 7F007218 2504000F */ addiu $a0, $t0, 0xf
/* 03BD4C 7F00721C 00814824 */ and $t1, $a0, $at
/* 03BD50 7F007220 0C0025C8 */ jal allocate_bytes_in_bank
/* 03BD50 7F007220 0C0025C8 */ jal mempAllocBytesInBank
/* 03BD54 7F007224 01202025 */ move $a0, $t1
/* 03BD58 7F007228 3C068008 */ lui $a2, %hi(dword_CODE_bss_8007A160)
/* 03BD5C 7F00722C 24C6A160 */ addiu $a2, %lo(dword_CODE_bss_8007A160) # addiu $a2, $a2, -0x5ea0

View File

@ -1713,7 +1713,7 @@ glabel sub_GAME_7F008E80
/* 03DB40 7F009010 8E040064 */ lw $a0, 0x64($s0)
/* 03DB44 7F009014 0FC1D929 */ jal load_object_fill_header
/* 03DB48 7F009018 8E050068 */ lw $a1, 0x68($s0)
/* 03DB4C 7F00901C 0FC2F462 */ jal sub_GAME_7F0BD188
/* 03DB4C 7F00901C 0FC2F462 */ jal get_pc_buffer_remaining_value
/* 03DB50 7F009020 8E040068 */ lw $a0, 0x68($s0)
/* 03DB54 7F009024 2443003F */ addiu $v1, $v0, 0x3f
/* 03DB58 7F009028 8FA60060 */ lw $a2, 0x60($sp)
@ -1729,7 +1729,7 @@ glabel sub_GAME_7F008E80
/* 03DB80 7F009050 8E040618 */ lw $a0, 0x618($s0)
/* 03DB84 7F009054 0FC1D929 */ jal load_object_fill_header
/* 03DB88 7F009058 8E05061C */ lw $a1, 0x61c($s0)
/* 03DB8C 7F00905C 0FC2F462 */ jal sub_GAME_7F0BD188
/* 03DB8C 7F00905C 0FC2F462 */ jal get_pc_buffer_remaining_value
/* 03DB90 7F009060 8E04061C */ lw $a0, 0x61c($s0)
/* 03DB94 7F009064 2443003F */ addiu $v1, $v0, 0x3f
/* 03DB98 7F009068 8FAC0064 */ lw $t4, 0x64($sp)
@ -1801,7 +1801,7 @@ glabel sub_GAME_7F008E80
/* 03DC98 7F009168 8FA60060 */ lw $a2, 0x60($sp)
/* 03DC9C 7F00916C 0FC1D929 */ jal load_object_fill_header
/* 03DCA0 7F009170 8FA70064 */ lw $a3, 0x64($sp)
/* 03DCA4 7F009174 0FC2F462 */ jal sub_GAME_7F0BD188
/* 03DCA4 7F009174 0FC2F462 */ jal get_pc_buffer_remaining_value
/* 03DCA8 7F009178 8E0408F8 */ lw $a0, 0x8f8($s0)
/* 03DCAC 7F00917C 2443003F */ addiu $v1, $v0, 0x3f
/* 03DCB0 7F009180 8FAD0064 */ lw $t5, 0x64($sp)

View File

@ -1,4 +1,7 @@
#include "ultra64.h"
#include "bondtypes.h"
#include "game/chrai.h"
#include "game/chrobjdata.h"
#ifdef NONMATCHING
void sub_GAME_7F056850(void) {
@ -6,25 +9,6 @@ void sub_GAME_7F056850(void) {
}
#else
GLOBAL_ASM(
.late_rodata
/*D:80053490*/
glabel jpt_object_setup_size
.word object_size_type_01
.word object_size_type_02
.word object_size_type_03
.word object_size_type_04
.word object_size_type_05
.word object_size_type_06
.word object_size_type_07
.word object_size_type_08
.word object_size_type_09
.word object_size_type_0A
.word object_size_type_0B
.word object_size_type_0C
.word object_size_type_0D
/*.word object_size_type_0E*/
/*.word object_size_type_default*/
/*.word object_size_type_default*/
.text
glabel sub_GAME_7F056850
/* 08B380 7F056850 27BDFFD0 */ addiu $sp, $sp, -0x30
@ -75,261 +59,103 @@ glabel sub_GAME_7F056850
//
#ifdef NONMATCHING
s16 get_size_of_setup_object_type(void) {
u32 get_size_of_setup_object_type(u8 * object)
{
switch(object[3]) {
case 9:
return 7;
case 1:
return 0x40;
case 2:
return 2;
case 3:
return 0x20;
case 0x2a:
return 0x20;
case 0x2f:
return 0x25;
case 0x2b:
return 0x20;
case 0x24:
return 0x20;
case 4:
return 0x21;
case 5:
return 0x20;
case 6:
return 0x3b;
case 7:
return 0x21;
case 8:
return 0x22;
case 10:
return 0x40;
case 0xb:
return 0x95;
case 0xc:
return 0x20;
case 0xd:
return 0x36;
case 0xe:
return 3;
case 0x11:
return 0x20;
case 0x12:
return 3;
case 0x13:
return 4;
case 0x2c:
return 5;
case 0x14:
return 0x2d;
case 0x15:
return 0x22;
case 0x16:
return 4;
case 0x25:
return 10;
case 0x17:
return 4;
case 0x18:
return 1;
case 0x19:
return 2;
case 0x1a:
return 2;
case 0x1b:
return 2;
case 0x1c:
return 2;
case 0x1d:
return 2;
case 0x1e:
return 4;
case 0x1f:
return 1;
case 0x20:
return 4;
case 0x21:
return 5;
case 0x22:
return 1;
case 0x23:
return 4;
case 0x26:
return 4;
case 0x27:
return 0x2c;
case 0x28:
return 0x2d;
case 0x2d:
return 0x38;
case 0x2e:
return 7;
default:
return 1;
}
}
#else
GLOBAL_ASM(
.late_rodata
/*D:80053490*/
/*glabel jpt_object_setup_size*/
/*.word object_size_type_01*/
/*.word object_size_type_02*/
/*.word object_size_type_03*/
/*.word object_size_type_04*/
/*.word object_size_type_05*/
/*.word object_size_type_06*/
/*.word object_size_type_07*/
/*.word object_size_type_08*/
/*.word object_size_type_09*/
/*.word object_size_type_0A*/
/*.word object_size_type_0B*/
/*.word object_size_type_0C*/
/*.word object_size_type_0D*/
.word object_size_type_0E
.word object_size_type_default
.word object_size_type_default
.word object_size_type_11
.word object_size_type_12
.word object_size_type_13
.word object_size_type_14
.word object_size_type_15
.word object_size_type_16
.word object_size_type_17
.word object_size_type_18
.word object_size_type_19
.word object_size_type_1A
.word object_size_type_1B
.word object_size_type_1C
.word object_size_type_1D
.word object_size_type_1E
.word object_size_type_1F
.word object_size_type_20
.word object_size_type_21
.word object_size_type_22
.word object_size_type_23
.word object_size_type_24
.word object_size_type_25
.word object_size_type_26
.word object_size_type_27
.word object_size_type_28
.word object_size_type_default
.word object_size_type_2A
.word object_size_type_2B
.word object_size_type_2C
.word object_size_type_2D
.word object_size_type_2E
/*.word object_size_type_2F*/
.text
glabel get_size_of_setup_object_type
/* 08B424 7F0568F4 908E0003 */ lbu $t6, 3($a0)
/* 08B428 7F0568F8 25CFFFFF */ addiu $t7, $t6, -1
/* 08B42C 7F0568FC 2DE1002F */ sltiu $at, $t7, 0x2f
/* 08B430 7F056900 1020005E */ beqz $at, .L7F056A7C
/* 08B434 7F056904 000F7880 */ sll $t7, $t7, 2
/* 08B438 7F056908 3C018005 */ lui $at, %hi(jpt_object_setup_size)
/* 08B43C 7F05690C 002F0821 */ addu $at, $at, $t7
/* 08B440 7F056910 8C2F3490 */ lw $t7, %lo(jpt_object_setup_size)($at)
/* 08B444 7F056914 01E00008 */ jr $t7
/* 08B448 7F056918 00000000 */ nop
object_size_type_09:
/* 08B44C 7F05691C 03E00008 */ jr $ra
/* 08B450 7F056920 24020007 */ li $v0, 7
object_size_type_01:
/* 08B454 7F056924 03E00008 */ jr $ra
/* 08B458 7F056928 24020040 */ li $v0, 64
object_size_type_02:
/* 08B45C 7F05692C 03E00008 */ jr $ra
/* 08B460 7F056930 24020002 */ li $v0, 2
object_size_type_03:
/* 08B464 7F056934 03E00008 */ jr $ra
/* 08B468 7F056938 24020020 */ li $v0, 32
object_size_type_2A:
/* 08B46C 7F05693C 03E00008 */ jr $ra
/* 08B470 7F056940 24020020 */ li $v0, 32
object_size_type_2F:
/* 08B474 7F056944 03E00008 */ jr $ra
/* 08B478 7F056948 24020025 */ li $v0, 37
object_size_type_2B:
/* 08B47C 7F05694C 03E00008 */ jr $ra
/* 08B480 7F056950 24020020 */ li $v0, 32
object_size_type_24:
/* 08B484 7F056954 03E00008 */ jr $ra
/* 08B488 7F056958 24020020 */ li $v0, 32
object_size_type_04:
/* 08B48C 7F05695C 03E00008 */ jr $ra
/* 08B490 7F056960 24020021 */ li $v0, 33
object_size_type_05:
/* 08B494 7F056964 03E00008 */ jr $ra
/* 08B498 7F056968 24020020 */ li $v0, 32
object_size_type_06:
/* 08B49C 7F05696C 03E00008 */ jr $ra
/* 08B4A0 7F056970 2402003B */ li $v0, 59
object_size_type_07:
/* 08B4A4 7F056974 03E00008 */ jr $ra
/* 08B4A8 7F056978 24020021 */ li $v0, 33
object_size_type_08:
/* 08B4AC 7F05697C 03E00008 */ jr $ra
/* 08B4B0 7F056980 24020022 */ li $v0, 34
object_size_type_0A:
/* 08B4B4 7F056984 03E00008 */ jr $ra
/* 08B4B8 7F056988 24020040 */ li $v0, 64
object_size_type_0B:
/* 08B4BC 7F05698C 03E00008 */ jr $ra
/* 08B4C0 7F056990 24020095 */ li $v0, 149
object_size_type_0C:
/* 08B4C4 7F056994 03E00008 */ jr $ra
/* 08B4C8 7F056998 24020020 */ li $v0, 32
object_size_type_0D:
/* 08B4CC 7F05699C 03E00008 */ jr $ra
/* 08B4D0 7F0569A0 24020036 */ li $v0, 54
object_size_type_0E:
/* 08B4D4 7F0569A4 03E00008 */ jr $ra
/* 08B4D8 7F0569A8 24020003 */ li $v0, 3
object_size_type_11:
/* 08B4DC 7F0569AC 03E00008 */ jr $ra
/* 08B4E0 7F0569B0 24020020 */ li $v0, 32
object_size_type_12:
/* 08B4E4 7F0569B4 03E00008 */ jr $ra
/* 08B4E8 7F0569B8 24020003 */ li $v0, 3
object_size_type_13:
/* 08B4EC 7F0569BC 03E00008 */ jr $ra
/* 08B4F0 7F0569C0 24020004 */ li $v0, 4
object_size_type_2C:
/* 08B4F4 7F0569C4 03E00008 */ jr $ra
/* 08B4F8 7F0569C8 24020005 */ li $v0, 5
object_size_type_14:
/* 08B4FC 7F0569CC 03E00008 */ jr $ra
/* 08B500 7F0569D0 2402002D */ li $v0, 45
object_size_type_15:
/* 08B504 7F0569D4 03E00008 */ jr $ra
/* 08B508 7F0569D8 24020022 */ li $v0, 34
object_size_type_16:
/* 08B50C 7F0569DC 03E00008 */ jr $ra
/* 08B510 7F0569E0 24020004 */ li $v0, 4
object_size_type_25:
/* 08B514 7F0569E4 03E00008 */ jr $ra
/* 08B518 7F0569E8 2402000A */ li $v0, 10
object_size_type_17:
/* 08B51C 7F0569EC 03E00008 */ jr $ra
/* 08B520 7F0569F0 24020004 */ li $v0, 4
object_size_type_18:
/* 08B524 7F0569F4 03E00008 */ jr $ra
/* 08B528 7F0569F8 24020001 */ li $v0, 1
object_size_type_19:
/* 08B52C 7F0569FC 03E00008 */ jr $ra
/* 08B530 7F056A00 24020002 */ li $v0, 2
object_size_type_1A:
/* 08B534 7F056A04 03E00008 */ jr $ra
/* 08B538 7F056A08 24020002 */ li $v0, 2
object_size_type_1B:
/* 08B53C 7F056A0C 03E00008 */ jr $ra
/* 08B540 7F056A10 24020002 */ li $v0, 2
object_size_type_1C:
/* 08B544 7F056A14 03E00008 */ jr $ra
/* 08B548 7F056A18 24020002 */ li $v0, 2
object_size_type_1D:
/* 08B54C 7F056A1C 03E00008 */ jr $ra
/* 08B550 7F056A20 24020002 */ li $v0, 2
object_size_type_1E:
/* 08B554 7F056A24 03E00008 */ jr $ra
/* 08B558 7F056A28 24020004 */ li $v0, 4
object_size_type_1F:
/* 08B55C 7F056A2C 03E00008 */ jr $ra
/* 08B560 7F056A30 24020001 */ li $v0, 1
object_size_type_20:
/* 08B564 7F056A34 03E00008 */ jr $ra
/* 08B568 7F056A38 24020004 */ li $v0, 4
object_size_type_21:
/* 08B56C 7F056A3C 03E00008 */ jr $ra
/* 08B570 7F056A40 24020005 */ li $v0, 5
object_size_type_22:
/* 08B574 7F056A44 03E00008 */ jr $ra
/* 08B578 7F056A48 24020001 */ li $v0, 1
object_size_type_23:
/* 08B57C 7F056A4C 03E00008 */ jr $ra
/* 08B580 7F056A50 24020004 */ li $v0, 4
object_size_type_26:
/* 08B584 7F056A54 03E00008 */ jr $ra
/* 08B588 7F056A58 24020004 */ li $v0, 4
object_size_type_27:
/* 08B58C 7F056A5C 03E00008 */ jr $ra
/* 08B590 7F056A60 2402002C */ li $v0, 44
object_size_type_28:
/* 08B594 7F056A64 03E00008 */ jr $ra
/* 08B598 7F056A68 2402002D */ li $v0, 45
object_size_type_2D:
/* 08B59C 7F056A6C 03E00008 */ jr $ra
/* 08B5A0 7F056A70 24020038 */ li $v0, 56
object_size_type_2E:
/* 08B5A4 7F056A74 03E00008 */ jr $ra
/* 08B5A8 7F056A78 24020007 */ li $v0, 7
object_size_type_default:
.L7F056A7C:
/* 08B5AC 7F056A7C 24020001 */ li $v0, 1
/* 08B5B0 7F056A80 03E00008 */ jr $ra
/* 08B5B4 7F056A84 00000000 */ nop
)
#endif
@ -340,10 +166,6 @@ void sub_GAME_7F056A88(void) {
}
#else
GLOBAL_ASM(
.late_rodata
/*hack for above*/
.word object_size_type_2F
.text
glabel sub_GAME_7F056A88
/* 08B5B8 7F056A88 27BDFFD8 */ addiu $sp, $sp, -0x28
@ -395,13 +217,29 @@ glabel sub_GAME_7F056A88
#ifdef NONMATCHING
void sub_GAME_7F056B1C(void) {
s32 check_if_object_type_has_been_loaded(struct object_standard * arg0)
{
struct object_standard *object;
s32 i;
if (ptr_setup_objects != 0)
{
for (object = ptr_setup_objects, i = 0; 0x30 != object->type; i++)
{
if (object == arg0)
{
return i;
}
object = (get_size_of_setup_object_type((u8 *)object) * 4) + object;
}
}
return -1;
}
#else
GLOBAL_ASM(
.text
glabel sub_GAME_7F056B1C
glabel check_if_object_type_has_been_loaded
/* 08B64C 7F056B1C 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 08B650 7F056B20 AFB00014 */ sw $s0, 0x14($sp)
/* 08B654 7F056B24 3C108007 */ lui $s0, %hi(ptr_setup_objects)
@ -504,8 +342,16 @@ glabel sub_GAME_7F056BA8
#ifdef NONMATCHING
void load_model(void) {
u32 load_model(u32 modelid)
{
struct p_itementry fileentry = PitemZ_entries[modelid];
if (fileentry.header == 0)
{
load_object_into_memory(PitemZ_entries[modelid].header, PitemZ_entries[modelid].filename);
set_objuse_flag_compute_grp_nums_set_obj_loaded(PitemZ_entries[modelid].header);
return 1;
}
return 0;
}
#else
GLOBAL_ASM(

View File

@ -29,14 +29,14 @@ s32 current_stage_to_load = 0;
//D:80048368
f32 D_80048368 = 1.0;
//D:8004836C
s32 D_8004836C = 0;
s32 musictrack1_playing = 0;
//D:80048370
s32 controls_locked_flag = 0;
//D:80048374
s32 clock_timer = 0;
#ifdef VERSION_US
//D:80048378
s32 global_timer_delta = 0;
f32 global_timer_delta = 0;
//D:8004837C
s32 global_timer = 0;
//D:80048380
@ -44,12 +44,12 @@ s32 D_80048380 = 0;
//D:80048384
#endif
#ifdef VERSION_JP
u32 D_jpunk = 0;
u32 jp_global_timer_delta = 0;
//D:8004837C
s32 global_timer = 0;
//D:80048380
s32 D_80048380 = 0;
s32 global_timer_delta = 0;
f32 global_timer_delta = 0;
#endif
//D:80048384
@ -154,19 +154,13 @@ void sub_GAME_7F0BD8FC(s32 arg0) {
#ifdef NONMATCHING
void something_with_lvl_c_debug(void) {
s32 temp_a2;
? temp_ret;
// Node 0
get_ptr_debug_notice_list_entry(&lvl_c_debug_notice_list, &aLv_c_debug);
temp_a2 = (&_jfontdlSegmentEnd - &_jfontdlSegmentStart);
void something_with_lvl_c_debug(void)
{
get_ptr_debug_notice_list_entry(&lvl_c_debug_notice_list, "lv_c_debug");
lvl_c_debug_notice_list = 1;
temp_ret = allocate_bytes_in_bank(temp_a2, 6, temp_a2);
ptr_jfont_DL = temp_ret;
romCopy(temp_ret, &_jfontdlSegmentStart, sp18);
ptr_jfont_DL = mempAllocBytesInBank(0xc0,'\x06');
romCopy(ptr_jfont_DL, _jfontdlSegmentStart, 0xc0);
}
#else
GLOBAL_ASM(
.text
@ -188,7 +182,7 @@ glabel something_with_lvl_c_debug
/* 0F2470 7F0BD940 AC2E8360 */ sw $t6, %lo(lvl_c_debug_notice_list)($at)
/* 0F2474 7F0BD944 00C02025 */ move $a0, $a2
/* 0F2478 7F0BD948 AFA60018 */ sw $a2, 0x18($sp)
/* 0F247C 7F0BD94C 0C0025C8 */ jal allocate_bytes_in_bank
/* 0F247C 7F0BD94C 0C0025C8 */ jal mempAllocBytesInBank
/* 0F2480 7F0BD950 24050006 */ li $a1, 6
/* 0F2484 7F0BD954 3C038009 */ lui $v1, %hi(ptr_jfont_DL)
/* 0F2488 7F0BD958 2463C260 */ addiu $v1, %lo(ptr_jfont_DL) # addiu $v1, $v1, -0x3da0
@ -210,13 +204,10 @@ glabel something_with_lvl_c_debug
#ifdef NONMATCHING
void sub_GAME_7F0BD984(void) {
s32 temp_a0;
// Node 0
temp_a0 = ((get_random_value() % 0x3dU) + 2);
D_8004836C = temp_a0;
return musicTrack1Play(temp_a0);
void playrandommusictrack1(void)
{
musictrack1_playing = get_random_value() % 0x3d + M_INTRO;
musicTrack1Play(musictrack1_playing);
}
#else
GLOBAL_ASM(
@ -229,8 +220,8 @@ glabel sub_GAME_7F0BD984
/* 0F24C4 7F0BD994 2401003D */ li $at, 61
/* 0F24C8 7F0BD998 0041001B */ divu $zero, $v0, $at
/* 0F24CC 7F0BD99C 00007010 */ mfhi $t6
/* 0F24D0 7F0BD9A0 3C038005 */ lui $v1, %hi(D_8004836C)
/* 0F24D4 7F0BD9A4 2463836C */ addiu $v1, %lo(D_8004836C) # addiu $v1, $v1, -0x7c94
/* 0F24D0 7F0BD9A0 3C038005 */ lui $v1, %hi(musictrack1_playing)
/* 0F24D4 7F0BD9A4 2463836C */ addiu $v1, %lo(musictrack1_playing) # addiu $v1, $v1, -0x7c94
/* 0F24D8 7F0BD9A8 25C40002 */ addiu $a0, $t6, 2
/* 0F24DC 7F0BD9AC 0C001B9F */ jal musicTrack1Play
/* 0F24E0 7F0BD9B0 AC640000 */ sw $a0, ($v1)
@ -246,18 +237,18 @@ glabel sub_GAME_7F0BD984
#ifdef NONMATCHING
void sub_GAME_7F0BD9C4(s32 arg0) {
// Node 0
D_8004836C = arg0;
return musicTrack1Play();
void playmusictrack1(MUSIC_TRACKS track)
{
musictrack1_playing = track;
musicTrack1Play(track);
}
#else
GLOBAL_ASM(
.text
glabel sub_GAME_7F0BD9C4
glabel playmusictrack1
/* 0F24F4 7F0BD9C4 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0F24F8 7F0BD9C8 3C028005 */ lui $v0, %hi(D_8004836C)
/* 0F24FC 7F0BD9CC 2442836C */ addiu $v0, %lo(D_8004836C) # addiu $v0, $v0, -0x7c94
/* 0F24F8 7F0BD9C8 3C028005 */ lui $v0, %hi(musictrack1_playing)
/* 0F24FC 7F0BD9CC 2442836C */ addiu $v0, %lo(musictrack1_playing) # addiu $v0, $v0, -0x7c94
/* 0F2500 7F0BD9D0 AFBF0014 */ sw $ra, 0x14($sp)
/* 0F2504 7F0BD9D4 0C001B9F */ jal musicTrack1Play
/* 0F2508 7F0BD9D8 AC440000 */ sw $a0, ($v0)
@ -273,29 +264,21 @@ glabel sub_GAME_7F0BD9C4
#ifdef NONMATCHING
void sub_GAME_7F0BD9EC(void) {
s32 temp_hi;
s32 phi_a0;
void music_append_play_solo_death_short(void)
// Node 0
temp_hi = ((s32) (D_8004836C + 1) % 0x3f);
D_8004836C = temp_hi;
phi_a0 = temp_hi;
if (temp_hi == 0)
{
// Node 1
D_8004836C = 1;
phi_a0 = 1;
{
musictrack1_playing = (musictrack1_playing + M_SHORT_SOLO_DEATH) % 0x3f;
if (musictrack1_playing == M_NONE) {
musictrack1_playing = M_SHORT_SOLO_DEATH;
}
// Node 2
return musicTrack1Play(phi_a0);
musicTrack1Play(musictrack1_playing);
}
#else
GLOBAL_ASM(
.text
glabel sub_GAME_7F0BD9EC
/* 0F251C 7F0BD9EC 3C028005 */ lui $v0, %hi(D_8004836C)
/* 0F2520 7F0BD9F0 2442836C */ addiu $v0, %lo(D_8004836C) # addiu $v0, $v0, -0x7c94
glabel music_append_play_solo_death_short
/* 0F251C 7F0BD9EC 3C028005 */ lui $v0, %hi(musictrack1_playing)
/* 0F2520 7F0BD9F0 2442836C */ addiu $v0, %lo(musictrack1_playing) # addiu $v0, $v0, -0x7c94
/* 0F2524 7F0BD9F4 8C4E0000 */ lw $t6, ($v0)
/* 0F2528 7F0BD9F8 2401003F */ li $at, 63
/* 0F252C 7F0BD9FC 27BDFFE8 */ addiu $sp, $sp, -0x18
@ -322,29 +305,20 @@ glabel sub_GAME_7F0BD9EC
#ifdef NONMATCHING
void sub_GAME_7F0BDA38(void) {
s32 temp_hi;
s32 phi_a0;
// Node 0
temp_hi = ((s32) (D_8004836C + 0x3e) % 0x3f);
D_8004836C = temp_hi;
phi_a0 = temp_hi;
if (temp_hi == 0)
{
// Node 1
D_8004836C = 0x3e;
phi_a0 = 0x3e;
void music_append_play_endtheme(void)
{
musictrack1_playing = (musictrack1_playing + M_END_SOMETHING) % 0x3f;
if (musictrack1_playing == M_NONE) {
musictrack1_playing = M_END_SOMETHING;
}
// Node 2
return musicTrack1Play(phi_a0);
musicTrack1Play(musictrack1_playing);
}
#else
GLOBAL_ASM(
.text
glabel sub_GAME_7F0BDA38
/* 0F2568 7F0BDA38 3C028005 */ lui $v0, %hi(D_8004836C)
/* 0F256C 7F0BDA3C 2442836C */ addiu $v0, %lo(D_8004836C) # addiu $v0, $v0, -0x7c94
glabel music_append_play_endtheme
/* 0F2568 7F0BDA38 3C028005 */ lui $v0, %hi(musictrack1_playing)
/* 0F256C 7F0BDA3C 2442836C */ addiu $v0, %lo(musictrack1_playing) # addiu $v0, $v0, -0x7c94
/* 0F2570 7F0BDA40 8C4E0000 */ lw $t6, ($v0)
/* 0F2574 7F0BDA44 2401003F */ li $at, 63
/* 0F2578 7F0BDA48 27BDFFE8 */ addiu $sp, $sp, -0x18
@ -371,7 +345,7 @@ glabel sub_GAME_7F0BDA38
void sub_GAME_7F0BDA84(void) {
sub_GAME_7F0BD9C4(sub_GAME_7F0D2720(current_stage_to_load));
playmusictrack1(getmusictrack_or_randomtrack(current_stage_to_load));
}
@ -486,11 +460,11 @@ glabel stage_load
/* 0F2750 7F0BDC20 92290000 */ lbu $t1, ($s1)
/* 0F2754 7F0BDC24 51200008 */ beql $t1, $zero, .L7F0BDC48
/* 0F2758 7F0BDC28 26100001 */ addiu $s0, $s0, 1
/* 0F275C 7F0BDC2C 0FC24697 */ jal sub_GAME_7F091A5C
/* 0F275C 7F0BDC2C 0FC24697 */ jal is_cheat_index_equal_to_1C
/* 0F2760 7F0BDC30 02002025 */ move $a0, $s0
/* 0F2764 7F0BDC34 50400004 */ beql $v0, $zero, .L7F0BDC48
/* 0F2768 7F0BDC38 26100001 */ addiu $s0, $s0, 1
/* 0F276C 7F0BDC3C 0FC246AB */ jal sub_GAME_7F091AAC
/* 0F276C 7F0BDC3C 0FC246AB */ jal turn_on_cheat_for_players
/* 0F2770 7F0BDC40 02002025 */ move $a0, $s0
/* 0F2774 7F0BDC44 26100001 */ addiu $s0, $s0, 1
.L7F0BDC48:
@ -499,10 +473,10 @@ glabel stage_load
/* 0F2780 7F0BDC50 3C048005 */ lui $a0, %hi(current_stage_to_load)
/* 0F2784 7F0BDC54 8C848364 */ lw $a0, %lo(current_stage_to_load)($a0)
.L7F0BDC58:
/* 0F2788 7F0BDC58 0FC2D049 */ jal sub_GAME_7F0B4124
/* 0F2788 7F0BDC58 0FC2D049 */ jal load_bg_file
/* 0F278C 7F0BDC5C 00000000 */ nop
/* 0F2790 7F0BDC60 3C048005 */ lui $a0, %hi(current_stage_to_load)
/* 0F2794 7F0BDC64 0FC2510B */ jal sub_GAME_7F09442C
/* 0F2794 7F0BDC64 0FC2510B */ jal store_stagenum_to_copyof_stagenum
/* 0F2798 7F0BDC68 8C848364 */ lw $a0, %lo(current_stage_to_load)($a0)
/* 0F279C 7F0BDC6C 0FC2921A */ jal init_watch_at_start_of_stage
/* 0F27A0 7F0BDC70 00000000 */ nop
@ -702,8 +676,8 @@ glabel stage_load
/* 0F31FC 7F0BE68C AC2083A0 */ sw $zero, %lo(controls_locked_flag)($at)
/* 0F3200 7F0BE690 263183A4 */ addiu $s1, %lo(clock_timer) # addiu $s1, $s1, -0x7c5c
/* 0F3204 7F0BE694 AE220000 */ sw $v0, ($s1)
/* 0F3208 7F0BE698 3C018005 */ lui $at, %hi(D_jpunk) # $at, 0x8005
/* 0F320C 7F0BE69C E42C83A8 */ swc1 $f12, %lo(D_jpunk)($at)
/* 0F3208 7F0BE698 3C018005 */ lui $at, %hi(jp_global_timer_delta) # $at, 0x8005
/* 0F320C 7F0BE69C E42C83A8 */ swc1 $f12, %lo(jp_global_timer_delta)($at)
/* 0F3210 7F0BE6A0 3C018005 */ lui $at, %hi(D_80048380) # $at, 0x8005
/* 0F3214 7F0BE6A4 AC2083B0 */ sw $zero, %lo(D_80048380)($at)
/* 0F3218 7F0BE6A8 3C018005 */ lui $at, %hi(global_timer) # $at, 0x8005
@ -791,11 +765,11 @@ glabel stage_load
/* 0F3350 7F0BE7E0 92290000 */ lbu $t1, ($s1)
/* 0F3354 7F0BE7E4 51200008 */ beql $t1, $zero, .Ljp7F0BE808
/* 0F3358 7F0BE7E8 26100001 */ addiu $s0, $s0, 1
/* 0F335C 7F0BE7EC 0FC2494F */ jal sub_GAME_7F091A5C
/* 0F335C 7F0BE7EC 0FC2494F */ jal is_cheat_index_equal_to_1C
/* 0F3360 7F0BE7F0 02002025 */ move $a0, $s0
/* 0F3364 7F0BE7F4 50400004 */ beql $v0, $zero, .Ljp7F0BE808
/* 0F3368 7F0BE7F8 26100001 */ addiu $s0, $s0, 1
/* 0F336C 7F0BE7FC 0FC24963 */ jal sub_GAME_7F091AAC
/* 0F336C 7F0BE7FC 0FC24963 */ jal turn_on_cheat_for_players
/* 0F3370 7F0BE800 02002025 */ move $a0, $s0
/* 0F3374 7F0BE804 26100001 */ addiu $s0, $s0, 1
.Ljp7F0BE808:
@ -804,10 +778,10 @@ glabel stage_load
/* 0F3380 7F0BE810 3C048005 */ lui $a0, %hi(current_stage_to_load) # $a0, 0x8005
/* 0F3384 7F0BE814 8C848394 */ lw $a0, %lo(current_stage_to_load)($a0)
.Ljp7F0BE818:
/* 0F3388 7F0BE818 0FC2D335 */ jal sub_GAME_7F0B4124
/* 0F3388 7F0BE818 0FC2D335 */ jal load_bg_file
/* 0F338C 7F0BE81C 00000000 */ nop
/* 0F3390 7F0BE820 3C048005 */ lui $a0, %hi(current_stage_to_load) # $a0, 0x8005
/* 0F3394 7F0BE824 0FC253F3 */ jal sub_GAME_7F09442C
/* 0F3394 7F0BE824 0FC253F3 */ jal store_stagenum_to_copyof_stagenum
/* 0F3398 7F0BE828 8C848394 */ lw $a0, %lo(current_stage_to_load)($a0)
/* 0F339C 7F0BE82C 0FC29502 */ jal init_watch_at_start_of_stage
/* 0F33A0 7F0BE830 00000000 */ nop
@ -1424,7 +1398,7 @@ glabel sub_GAME_7F0BE30C
/* 0F302C 7F0BE4FC 0C00112F */ jal set_video2_ulx_uly
/* 0F3030 7F0BE500 844507F6 */ lh $a1, 0x7f6($v0)
/* 0F3034 7F0BE504 8E0E0000 */ lw $t6, ($s0)
/* 0F3038 7F0BE508 0C001151 */ jal video_related_1F
/* 0F3038 7F0BE508 0C001151 */ jal setvideo_far
/* 0F303C 7F0BE50C C5CC11D0 */ lwc1 $f12, 0x11d0($t6)
/* 0F3040 7F0BE510 8E0F0000 */ lw $t7, ($s0)
/* 0F3044 7F0BE514 0C001164 */ jal video_related_21
@ -1616,7 +1590,7 @@ glabel sub_GAME_7F0BE30C
/* 0F3300 7F0BE7D0 0FC2800D */ jal sub_GAME_7F0A0034
/* 0F3304 7F0BE7D4 00402025 */ move $a0, $v0
/* 0F3308 7F0BE7D8 AFA20060 */ sw $v0, 0x60($sp)
/* 0F330C 7F0BE7DC 0FC249EF */ jal sub_GAME_7F0927BC
/* 0F330C 7F0BE7DC 0FC249EF */ jal cheatCheckIfOn
/* 0F3310 7F0BE7E0 2404000B */ li $a0, 11
/* 0F3314 7F0BE7E4 10400003 */ beqz $v0, .L7F0BE7F4
/* 0F3318 7F0BE7E8 00000000 */ nop
@ -1817,7 +1791,7 @@ glabel sub_GAME_7F0BE30C
/* 0F3C2C 7F0BF0BC 0C00112F */ jal set_video2_ulx_uly
/* 0F3C30 7F0BF0C0 844507F6 */ lh $a1, 0x7f6($v0)
/* 0F3C34 7F0BF0C4 8E0E0000 */ lw $t6, ($s0)
/* 0F3C38 7F0BF0C8 0C001151 */ jal video_related_1F
/* 0F3C38 7F0BF0C8 0C001151 */ jal setvideo_far
/* 0F3C3C 7F0BF0CC C5CC11D0 */ lwc1 $f12, 0x11d0($t6)
/* 0F3C40 7F0BF0D0 8E0F0000 */ lw $t7, ($s0)
/* 0F3C44 7F0BF0D4 0C001164 */ jal video_related_21
@ -2009,7 +1983,7 @@ glabel sub_GAME_7F0BE30C
/* 0F3F00 7F0BF390 0FC282F6 */ jal sub_GAME_7F0A0034
/* 0F3F04 7F0BF394 00402025 */ move $a0, $v0
/* 0F3F08 7F0BF398 AFA20060 */ sw $v0, 0x60($sp)
/* 0F3F0C 7F0BF39C 0FC24CCF */ jal sub_GAME_7F0927BC
/* 0F3F0C 7F0BF39C 0FC24CCF */ jal cheatCheckIfOn
/* 0F3F10 7F0BF3A0 2404000B */ li $a0, 11
/* 0F3F14 7F0BF3A4 1040000C */ beqz $v0, .Ljp7F0BF3D8
/* 0F3F18 7F0BF3A8 00000000 */ nop
@ -2589,13 +2563,13 @@ glabel manage_mp_game
/* 0F3790 7F0BEC60 51E0000D */ beql $t7, $zero, .L7F0BEC98
/* 0F3794 7F0BEC64 24840001 */ addiu $a0, $a0, 1
/* 0F3798 7F0BEC68 AFA3001C */ sw $v1, 0x1c($sp)
/* 0F379C 7F0BEC6C 0FC24697 */ jal sub_GAME_7F091A5C
/* 0F379C 7F0BEC6C 0FC24697 */ jal is_cheat_index_equal_to_1C
/* 0F37A0 7F0BEC70 AFA40194 */ sw $a0, 0x194($sp)
/* 0F37A4 7F0BEC74 8FA3001C */ lw $v1, 0x1c($sp)
/* 0F37A8 7F0BEC78 14400006 */ bnez $v0, .L7F0BEC94
/* 0F37AC 7F0BEC7C 8FA40194 */ lw $a0, 0x194($sp)
/* 0F37B0 7F0BEC80 AFA3001C */ sw $v1, 0x1c($sp)
/* 0F37B4 7F0BEC84 0FC246AB */ jal sub_GAME_7F091AAC
/* 0F37B4 7F0BEC84 0FC246AB */ jal turn_on_cheat_for_players
/* 0F37B8 7F0BEC88 AFA40194 */ sw $a0, 0x194($sp)
/* 0F37BC 7F0BEC8C 8FA3001C */ lw $v1, 0x1c($sp)
/* 0F37C0 7F0BEC90 8FA40194 */ lw $a0, 0x194($sp)
@ -3064,7 +3038,7 @@ glabel manage_mp_game
/* 0F3E60 7F0BF330 2401005A */ li $at, 90
/* 0F3E64 7F0BF334 17210009 */ bne $t9, $at, .L7F0BF35C
/* 0F3E68 7F0BF338 00000000 */ nop
/* 0F3E6C 7F0BF33C 0FC2464F */ jal sub_GAME_7F09193C
/* 0F3E6C 7F0BF33C 0FC2464F */ jal cheat_buttons_mp_related
/* 0F3E70 7F0BF340 00000000 */ nop
/* 0F3E74 7F0BF344 0FC06987 */ jal menu_init
/* 0F3E78 7F0BF348 00000000 */ nop
@ -3106,7 +3080,7 @@ glabel manage_mp_game
/* 0F3F04 7F0BF3D4 24043000 */ li $a0, 12288
/* 0F3F08 7F0BF3D8 17000048 */ bnez $t8, .L7F0BF4FC
/* 0F3F0C 7F0BF3DC 00000000 */ nop
/* 0F3F10 7F0BF3E0 0C0025C8 */ jal allocate_bytes_in_bank
/* 0F3F10 7F0BF3E0 0C0025C8 */ jal mempAllocBytesInBank
/* 0F3F14 7F0BF3E4 24050004 */ li $a1, 4
/* 0F3F18 7F0BF3E8 3C068005 */ lui $a2, %hi(D_800483C8)
/* 0F3F1C 7F0BF3EC 24C683C8 */ addiu $a2, %lo(D_800483C8) # addiu $a2, $a2, -0x7c38
@ -3310,7 +3284,7 @@ glabel manage_mp_game
/* 0F41F8 7F0BF6C8 24050202 */ li $a1, 514
/* 0F41FC 7F0BF6CC 50400004 */ beql $v0, $zero, .L7F0BF6E0
/* 0F4200 7F0BF6D0 00002025 */ move $a0, $zero
/* 0F4204 7F0BF6D4 0FC2F68E */ jal sub_GAME_7F0BDA38
/* 0F4204 7F0BF6D4 0FC2F68E */ jal music_append_play_endtheme
/* 0F4208 7F0BF6D8 00000000 */ nop
/* 0F420C 7F0BF6DC 00002025 */ move $a0, $zero
.L7F0BF6E0:
@ -3318,7 +3292,7 @@ glabel manage_mp_game
/* 0F4214 7F0BF6E4 24050101 */ li $a1, 257
/* 0F4218 7F0BF6E8 50400004 */ beql $v0, $zero, .L7F0BF6FC
/* 0F421C 7F0BF6EC 00002025 */ move $a0, $zero
/* 0F4220 7F0BF6F0 0FC2F67B */ jal sub_GAME_7F0BD9EC
/* 0F4220 7F0BF6F0 0FC2F67B */ jal music_append_play_solo_death_short
/* 0F4224 7F0BF6F4 00000000 */ nop
/* 0F4228 7F0BF6F8 00002025 */ move $a0, $zero
.L7F0BF6FC:
@ -3432,8 +3406,8 @@ glabel manage_mp_game
.Ljp7F0BF814:
/* 0F4384 7F0BF814 3C028005 */ lui $v0, %hi(clock_timer) # $v0, 0x8005
/* 0F4388 7F0BF818 8C4283A4 */ lw $v0, %lo(clock_timer)($v0)
/* 0F438C 7F0BF81C 3C038005 */ lui $v1, %hi(D_jpunk) # $v1, 0x8005
/* 0F4390 7F0BF820 246383A8 */ addiu $v1, %lo(D_jpunk) # addiu $v1, $v1, -0x7c58
/* 0F438C 7F0BF81C 3C038005 */ lui $v1, %hi(jp_global_timer_delta) # $v1, 0x8005
/* 0F4390 7F0BF820 246383A8 */ addiu $v1, %lo(jp_global_timer_delta) # addiu $v1, $v1, -0x7c58
/* 0F4394 7F0BF824 44822000 */ mtc1 $v0, $f4
/* 0F4398 7F0BF828 3C048005 */ lui $a0, %hi(global_timer) # $a0, 0x8005
/* 0F439C 7F0BF82C 3C018005 */ lui $at, %hi(global_timer_delta) # $at, 0x8005
@ -3466,13 +3440,13 @@ glabel manage_mp_game
/* 0F4404 7F0BF894 51E0000D */ beql $t7, $zero, .Ljp7F0BF8CC
/* 0F4408 7F0BF898 24840001 */ addiu $a0, $a0, 1
/* 0F440C 7F0BF89C AFA3001C */ sw $v1, 0x1c($sp)
/* 0F4410 7F0BF8A0 0FC2494F */ jal sub_GAME_7F091A5C
/* 0F4410 7F0BF8A0 0FC2494F */ jal is_cheat_index_equal_to_1C
/* 0F4414 7F0BF8A4 AFA40194 */ sw $a0, 0x194($sp)
/* 0F4418 7F0BF8A8 8FA3001C */ lw $v1, 0x1c($sp)
/* 0F441C 7F0BF8AC 14400006 */ bnez $v0, .Ljp7F0BF8C8
/* 0F4420 7F0BF8B0 8FA40194 */ lw $a0, 0x194($sp)
/* 0F4424 7F0BF8B4 AFA3001C */ sw $v1, 0x1c($sp)
/* 0F4428 7F0BF8B8 0FC24963 */ jal sub_GAME_7F091AAC
/* 0F4428 7F0BF8B8 0FC24963 */ jal turn_on_cheat_for_players
/* 0F442C 7F0BF8BC AFA40194 */ sw $a0, 0x194($sp)
/* 0F4430 7F0BF8C0 8FA3001C */ lw $v1, 0x1c($sp)
/* 0F4434 7F0BF8C4 8FA40194 */ lw $a0, 0x194($sp)
@ -3567,7 +3541,7 @@ glabel manage_mp_game
/* 0F4578 7F0BFA08 8FA4017C */ lw $a0, 0x17c($sp)
/* 0F457C 7F0BFA0C 0FC30AA2 */ jal get_textptr_for_textID
/* 0F4580 7F0BFA10 3404B044 */ li $a0, 45124
/* 0F4584 7F0BFA14 0FC22B10 */ jal jp_FUN_7f08ac40
/* 0F4584 7F0BFA14 0FC22B10 */ jal jp_display_string_in_lower_left_corner
/* 0F4588 7F0BFA18 00402025 */ move $a0, $v0
/* 0F458C 7F0BFA1C 8FAF017C */ lw $t7, 0x17c($sp)
/* 0F4590 7F0BFA20 25F80001 */ addiu $t8, $t7, 1
@ -3942,7 +3916,7 @@ glabel manage_mp_game
/* 0F4AD8 7F0BFF68 2401005A */ li $at, 90
/* 0F4ADC 7F0BFF6C 17210009 */ bne $t9, $at, .Ljp7F0BFF94
/* 0F4AE0 7F0BFF70 00000000 */ nop
/* 0F4AE4 7F0BFF74 0FC24907 */ jal sub_GAME_7F09193C
/* 0F4AE4 7F0BFF74 0FC24907 */ jal cheat_buttons_mp_related
/* 0F4AE8 7F0BFF78 00000000 */ nop
/* 0F4AEC 7F0BFF7C 0FC069F4 */ jal menu_init
/* 0F4AF0 7F0BFF80 00000000 */ nop
@ -3984,7 +3958,7 @@ glabel manage_mp_game
/* 0F4B7C 7F0C000C 24043000 */ li $a0, 12288
/* 0F4B80 7F0C0010 17000048 */ bnez $t8, .Ljp7F0C0134
/* 0F4B84 7F0C0014 00000000 */ nop
/* 0F4B88 7F0C0018 0C0025CC */ jal allocate_bytes_in_bank
/* 0F4B88 7F0C0018 0C0025CC */ jal mempAllocBytesInBank
/* 0F4B8C 7F0C001C 24050004 */ li $a1, 4
/* 0F4B90 7F0C0020 3C068005 */ lui $a2, %hi(D_800483C8) # $a2, 0x8005
/* 0F4B94 7F0C0024 24C683FC */ addiu $a2, %lo(D_800483C8) # addiu $a2, $a2, -0x7c04
@ -4188,7 +4162,7 @@ glabel manage_mp_game
/* 0F4E70 7F0C0300 24050202 */ li $a1, 514
/* 0F4E74 7F0C0304 50400004 */ beql $v0, $zero, .Ljp7F0C0318
/* 0F4E78 7F0C0308 00002025 */ move $a0, $zero
/* 0F4E7C 7F0C030C 0FC2F97A */ jal sub_GAME_7F0BDA38
/* 0F4E7C 7F0C030C 0FC2F97A */ jal music_append_play_endtheme
/* 0F4E80 7F0C0310 00000000 */ nop
/* 0F4E84 7F0C0314 00002025 */ move $a0, $zero
.Ljp7F0C0318:
@ -4196,7 +4170,7 @@ glabel manage_mp_game
/* 0F4E8C 7F0C031C 24050101 */ li $a1, 257
/* 0F4E90 7F0C0320 50400004 */ beql $v0, $zero, .Ljp7F0C0334
/* 0F4E94 7F0C0324 00002025 */ move $a0, $zero
/* 0F4E98 7F0C0328 0FC2F967 */ jal sub_GAME_7F0BD9EC
/* 0F4E98 7F0C0328 0FC2F967 */ jal music_append_play_solo_death_short
/* 0F4E9C 7F0C032C 00000000 */ nop
/* 0F4EA0 7F0C0330 00002025 */ move $a0, $zero
.Ljp7F0C0334:
@ -4290,7 +4264,7 @@ glabel sub_GAME_7F0BF800
/* 0F4334 7F0BF804 AFBF0014 */ sw $ra, 0x14($sp)
/* 0F4338 7F0BF808 0FC26C54 */ jal get_cur_playernum
/* 0F433C 7F0BF80C 00000000 */ nop
/* 0F4340 7F0BF810 0FC2464F */ jal sub_GAME_7F09193C
/* 0F4340 7F0BF810 0FC2464F */ jal cheat_buttons_mp_related
/* 0F4344 7F0BF814 A3A2002F */ sb $v0, 0x2f($sp)
/* 0F4348 7F0BF818 0FC243C2 */ jal get_debug_freeze_processing
/* 0F434C 7F0BF81C 00000000 */ nop
@ -4431,8 +4405,8 @@ glabel sub_GAME_7F0BF800
/* 0F4544 7F0BFA14 46021482 */ mul.s $f18, $f2, $f2
/* 0F4548 7F0BFA18 0C007DF8 */ jal sqrtf
/* 0F454C 7F0BFA1C 46128300 */ add.s $f12, $f16, $f18
/* 0F4550 7F0BFA20 3C028008 */ lui $v0, %hi(cur_player_stat_ptr)
/* 0F4554 7F0BFA24 8C42A0B4 */ lw $v0, %lo(cur_player_stat_ptr)($v0)
/* 0F4550 7F0BFA20 3C028008 */ lui $v0, %hi(pPlayersPerm)
/* 0F4554 7F0BFA24 8C42A0B4 */ lw $v0, %lo(pPlayersPerm)($v0)
/* 0F4558 7F0BFA28 C4440038 */ lwc1 $f4, 0x38($v0)
/* 0F455C 7F0BFA2C 46002180 */ add.s $f6, $f4, $f0
/* 0F4560 7F0BFA30 0FC051D6 */ jal get_scenario
@ -4460,8 +4434,8 @@ glabel sub_GAME_7F0BF800
/* 0F45B8 7F0BFA88 00000000 */ nop
/* 0F45BC 7F0BFA8C AC490894 */ sw $t1, 0x894($v0)
.L7F0BFA90:
/* 0F45C0 7F0BFA90 3C038008 */ lui $v1, %hi(cur_player_stat_ptr)
/* 0F45C4 7F0BFA94 2463A0B4 */ addiu $v1, %lo(cur_player_stat_ptr) # addiu $v1, $v1, -0x5f4c
/* 0F45C0 7F0BFA90 3C038008 */ lui $v1, %hi(pPlayersPerm)
/* 0F45C4 7F0BFA94 2463A0B4 */ addiu $v1, %lo(pPlayersPerm) # addiu $v1, $v1, -0x5f4c
/* 0F45C8 7F0BFA98 8C620000 */ lw $v0, ($v1)
/* 0F45CC 7F0BFA9C 3C0B8005 */ lui $t3, %hi(clock_timer)
/* 0F45D0 7F0BFAA0 8D6B8374 */ lw $t3, %lo(clock_timer)($t3)
@ -4473,8 +4447,8 @@ glabel sub_GAME_7F0BF800
/* 0F45E8 7F0BFAB8 10000015 */ b .L7F0BFB10
/* 0F45EC 7F0BFABC A1CD0069 */ sb $t5, 0x69($t6)
.L7F0BFAC0:
/* 0F45F0 7F0BFAC0 3C0F8008 */ lui $t7, %hi(cur_player_stat_ptr)
/* 0F45F4 7F0BFAC4 8DEFA0B4 */ lw $t7, %lo(cur_player_stat_ptr)($t7)
/* 0F45F0 7F0BFAC0 3C0F8008 */ lui $t7, %hi(pPlayersPerm)
/* 0F45F4 7F0BFAC4 8DEFA0B4 */ lw $t7, %lo(pPlayersPerm)($t7)
/* 0F45F8 7F0BFAC8 10000011 */ b .L7F0BFB10
/* 0F45FC 7F0BFACC A1E00069 */ sb $zero, 0x69($t7)
.L7F0BFAD0:
@ -4483,17 +4457,17 @@ glabel sub_GAME_7F0BF800
/* 0F4608 7F0BFAD8 24010003 */ li $at, 3
/* 0F460C 7F0BFADC 5441000D */ bnel $v0, $at, .L7F0BFB14
/* 0F4610 7F0BFAE0 8FBF0014 */ lw $ra, 0x14($sp)
/* 0F4614 7F0BFAE4 0FC233F0 */ jal sub_GAME_7F08CFC0
/* 0F4614 7F0BFAE4 0FC233F0 */ jal checkforgoldengun
/* 0F4618 7F0BFAE8 00000000 */ nop
/* 0F461C 7F0BFAEC 10400006 */ beqz $v0, .L7F0BFB08
/* 0F4620 7F0BFAF0 3C088008 */ lui $t0, %hi(cur_player_stat_ptr)
/* 0F4624 7F0BFAF4 3C198008 */ lui $t9, %hi(cur_player_stat_ptr)
/* 0F4628 7F0BFAF8 8F39A0B4 */ lw $t9, %lo(cur_player_stat_ptr)($t9)
/* 0F4620 7F0BFAF0 3C088008 */ lui $t0, %hi(pPlayersPerm)
/* 0F4624 7F0BFAF4 3C198008 */ lui $t9, %hi(pPlayersPerm)
/* 0F4628 7F0BFAF8 8F39A0B4 */ lw $t9, %lo(pPlayersPerm)($t9)
/* 0F462C 7F0BFAFC 24180001 */ li $t8, 1
/* 0F4630 7F0BFB00 10000003 */ b .L7F0BFB10
/* 0F4634 7F0BFB04 A3380069 */ sb $t8, 0x69($t9)
.L7F0BFB08:
/* 0F4638 7F0BFB08 8D08A0B4 */ lw $t0, %lo(cur_player_stat_ptr)($t0)
/* 0F4638 7F0BFB08 8D08A0B4 */ lw $t0, %lo(pPlayersPerm)($t0)
/* 0F463C 7F0BFB0C A1000069 */ sb $zero, 0x69($t0)
.L7F0BFB10:
/* 0F4640 7F0BFB10 8FBF0014 */ lw $ra, 0x14($sp)
@ -4521,7 +4495,7 @@ void unload_stage_text_data(void) {
blank_text_bank(get_textbank_number_for_stagenum(current_stage_to_load));
sub_GAME_7F007770();
}
sub_GAME_7F0926C0();
cheatDisableAllCheats();
cleanupGuardData();
cleanupObjectSounds();
cleanupExplosions();

View File

@ -8,7 +8,9 @@ struct ramrom_struct {
};
extern s32 D_800483C4;
extern s32 clock_timer;
extern s32 global_timer;
extern f32 global_timer_delta;
extern u32 *ptr_jfont_DL;
extern s32 dword_CODE_bss_8008C264;
extern s32 dword_CODE_bss_8008C268;

View File

@ -31,7 +31,7 @@ struct ramrom_struct ramrom_table[] = {
};
//D:80048468
s32 ramrom_blkbuf_1 = 0;
s32 ptr_active_demofile = 0;
//D:8004846C
s32 ramrom_blkbuf_2 = 0;
//D:80048470
@ -65,7 +65,7 @@ const char aReplayDemo_load[] = "replay/demo.load";
void clear_ramrom_block_buffer_heading_ptrs(void) {
ramrom_blkbuf_1 = 0;
ptr_active_demofile = 0;
ramrom_blkbuf_2 = 0;
ramrom_blkbuf_3 = 0;
}
@ -97,10 +97,10 @@ void finalize_ramrom_on_hw(void) {
romWrite(temp_a0, address_demo_loaded, 0x10);
address_demo_loaded = (s32) (address_demo_loaded + 4);
temp_ret = romCopyAligned(&ramrom_data_target, 0xf00000, 0xf0);
ramrom_blkbuf_1 = temp_ret;
ptr_active_demofile = temp_ret;
temp_ret->unk7C = (s32) (global_timer - clock_timer);
ramrom_blkbuf_1->unk80 = (s32) (address_demo_loaded - 0xf00000);
return romWrite(ramrom_blkbuf_1, 0xf00000, 0xf0);
ptr_active_demofile->unk80 = (s32) (address_demo_loaded - 0xf00000);
return romWrite(ptr_active_demofile, 0xf00000, 0xf0);
}
#else
GLOBAL_ASM(
@ -128,8 +128,8 @@ glabel finalize_ramrom_on_hw
/* 0F482C 7F0BFCFC 3C0500F0 */ lui $a1, 0xf0
/* 0F4830 7F0BFD00 0C001711 */ jal romCopyAligned
/* 0F4834 7F0BFD04 240600F0 */ li $a2, 240
/* 0F4838 7F0BFD08 3C038005 */ lui $v1, %hi(ramrom_blkbuf_1)
/* 0F483C 7F0BFD0C 24638468 */ addiu $v1, %lo(ramrom_blkbuf_1) # addiu $v1, $v1, -0x7b98
/* 0F4838 7F0BFD08 3C038005 */ lui $v1, %hi(ptr_active_demofile)
/* 0F483C 7F0BFD0C 24638468 */ addiu $v1, %lo(ptr_active_demofile) # addiu $v1, $v1, -0x7b98
/* 0F4840 7F0BFD10 AC620000 */ sw $v0, ($v1)
/* 0F4844 7F0BFD14 3C088005 */ lui $t0, %hi(global_timer)
/* 0F4848 7F0BFD18 3C098005 */ lui $t1, %hi(clock_timer)
@ -158,8 +158,18 @@ glabel finalize_ramrom_on_hw
#ifdef NONMATCHING
void save_ramrom_to_devtool(void) {
void save_ramrom_to_devtool(void)
{
int iVar2;
undefined auStack264 [4];
char indyFileName [260];
for (iVar2 = 1; check_file_found_on_indy(indyFileName,(u32)auStack264) != 0; iVar2++)
{
sprintf(indyFileName,"replay/demo.%d",iVar2);
}
sprintf(indyFileName,"replay/demo.%d",iVar2);
check_file_exported(indyFileName,0xf00000,(ptr_active_demofile + 0x80));
}
#else
GLOBAL_ASM(
@ -194,8 +204,8 @@ glabel save_ramrom_to_devtool
/* 0F48F0 7F0BFDC0 02202025 */ move $a0, $s1
/* 0F48F4 7F0BFDC4 0C002B25 */ jal sprintf
/* 0F48F8 7F0BFDC8 02003025 */ move $a2, $s0
/* 0F48FC 7F0BFDCC 3C0E8005 */ lui $t6, %hi(ramrom_blkbuf_1)
/* 0F4900 7F0BFDD0 8DCE8468 */ lw $t6, %lo(ramrom_blkbuf_1)($t6)
/* 0F48FC 7F0BFDCC 3C0E8005 */ lui $t6, %hi(ptr_active_demofile)
/* 0F4900 7F0BFDD0 8DCE8468 */ lw $t6, %lo(ptr_active_demofile)($t6)
/* 0F4904 7F0BFDD4 02202025 */ move $a0, $s1
/* 0F4908 7F0BFDD8 3C0500F0 */ lui $a1, 0xf0
/* 0F490C 7F0BFDDC 0FC34017 */ jal check_file_exported
@ -215,25 +225,15 @@ glabel save_ramrom_to_devtool
#ifdef NONMATCHING
void load_ramrom_from_devtool(void) {
? sp1C;
? temp_ret;
? temp_ret_2;
? phi_return;
void load_ramrom_from_devtool(void)
{
s32 size;
// Node 0
temp_ret = check_file_found_on_indy("replay/demo.load", &sp1C);
phi_return = temp_ret;
if (temp_ret != 0)
if (check_file_found_on_indy("replay/demo.load", &size) != 0)
{
// Node 1
indy_loadfile("replay/demo.load", 0xf00000, sp1C);
temp_ret_2 = romCopyAligned(&ramrom_data_target, 0xf00000, 0xe8);
ramrom_blkbuf_1 = temp_ret_2;
phi_return = temp_ret_2;
indy_load_ramrom_file("replay/demo.load",(u8 *)0xf00000,size);
ptr_active_demofile = romCopyAligned(&ramrom_data_target,(u8 *)0xf00000,0xe8);
}
// Node 2
return phi_return;
}
#else
GLOBAL_ASM(
@ -256,8 +256,8 @@ glabel load_ramrom_from_devtool
/* 0F4968 7F0BFE38 3C0500F0 */ lui $a1, 0xf0
/* 0F496C 7F0BFE3C 0C001711 */ jal romCopyAligned
/* 0F4970 7F0BFE40 240600E8 */ li $a2, 232
/* 0F4974 7F0BFE44 3C018005 */ lui $at, %hi(ramrom_blkbuf_1)
/* 0F4978 7F0BFE48 AC228468 */ sw $v0, %lo(ramrom_blkbuf_1)($at)
/* 0F4974 7F0BFE44 3C018005 */ lui $at, %hi(ptr_active_demofile)
/* 0F4978 7F0BFE48 AC228468 */ sw $v0, %lo(ptr_active_demofile)($at)
.L7F0BFE4C:
/* 0F497C 7F0BFE4C 8FBF0014 */ lw $ra, 0x14($sp)
/* 0F4980 7F0BFE50 27BD0020 */ addiu $sp, $sp, 0x20
@ -279,9 +279,9 @@ GLOBAL_ASM(
.text
glabel record_player_input_as_packet
/* 0F498C 7F0BFE5C 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0F4990 7F0BFE60 3C0E8005 */ lui $t6, %hi(ramrom_blkbuf_1)
/* 0F4990 7F0BFE60 3C0E8005 */ lui $t6, %hi(ptr_active_demofile)
/* 0F4994 7F0BFE64 3C0F8009 */ lui $t7, %hi(ramrom_data_target + 0x1F8)
/* 0F4998 7F0BFE68 8DCE8468 */ lw $t6, %lo(ramrom_blkbuf_1)($t6)
/* 0F4998 7F0BFE68 8DCE8468 */ lw $t6, %lo(ptr_active_demofile)($t6)
/* 0F499C 7F0BFE6C 25EFC468 */ addiu $t7, %lo(ramrom_data_target + 0x1F8) # addiu $t7, $t7, -0x3b98
/* 0F49A0 7F0BFE70 25F8000F */ addiu $t8, $t7, 0xf
/* 0F49A4 7F0BFE74 AFBF001C */ sw $ra, 0x1c($sp)
@ -445,8 +445,8 @@ glabel ramrom_replay_handler
/* 0F4BC0 7F0C0090 AFB10018 */ sw $s1, 0x18($sp)
/* 0F4BC4 7F0C0094 AFB00014 */ sw $s0, 0x14($sp)
/* 0F4BC8 7F0C0098 904A0001 */ lbu $t2, 1($v0)
/* 0F4BCC 7F0C009C 3C0E8005 */ lui $t6, %hi(ramrom_blkbuf_1)
/* 0F4BD0 7F0C00A0 8DCE8468 */ lw $t6, %lo(ramrom_blkbuf_1)($t6)
/* 0F4BCC 7F0C009C 3C0E8005 */ lui $t6, %hi(ptr_active_demofile)
/* 0F4BD0 7F0C00A0 8DCE8468 */ lw $t6, %lo(ptr_active_demofile)($t6)
/* 0F4BD4 7F0C00A4 00A08025 */ move $s0, $a1
/* 0F4BD8 7F0C00A8 00808825 */ move $s1, $a0
/* 0F4BDC 7F0C00AC 00004025 */ move $t0, $zero
@ -598,7 +598,7 @@ s32 iterate_ramrom_entries_handle_camera_out(void) {
if (temp_a3 > 0)
{
// Node 1
ramrom_blkbuf_3 = romCopyAligned(&ramrom_data_target + 0x21E, (address_demo_loaded + 4), ((ramrom_blkbuf_1->unk18 * 4) * temp_a3), temp_a3);
ramrom_blkbuf_3 = romCopyAligned(&ramrom_data_target + 0x21E, (address_demo_loaded + 4), ((ptr_active_demofile->unk18 * 4) * temp_a3), temp_a3);
phi_a0 = ramrom_blkbuf_2->unk1;
phi_v1 = (void *) ramrom_blkbuf_2;
phi_a3 = ramrom_blkbuf_2->unk1;
@ -613,12 +613,12 @@ s32 iterate_ramrom_entries_handle_camera_out(void) {
else
{
// Node 5
address_demo_loaded = (s32) (address_demo_loaded + (((((ramrom_blkbuf_1->unk18 * 4) * phi_a3) + 5) | 1) ^ 1));
address_demo_loaded = (s32) (address_demo_loaded + (((((ptr_active_demofile->unk18 * 4) * phi_a3) + 5) | 1) ^ 1));
phi_v1_2 = phi_v1;
}
// Node 6
sub_GAME_7F0C0AA0(*phi_v1_2);
temp_v1 = (ramrom_blkbuf_1->unk7C + -0x3c);
temp_v1 = (ptr_active_demofile->unk7C + -0x3c);
phi_return = global_timer;
if (global_timer >= temp_v1)
{
@ -651,10 +651,10 @@ glabel iterate_ramrom_entries_handle_camera_out
/* 0F4DC0 7F0C0290 ACA20000 */ sw $v0, ($a1)
/* 0F4DC4 7F0C0294 90470001 */ lbu $a3, 1($v0)
/* 0F4DC8 7F0C0298 00401825 */ move $v1, $v0
/* 0F4DCC 7F0C029C 3C0E8005 */ lui $t6, %hi(ramrom_blkbuf_1)
/* 0F4DCC 7F0C029C 3C0E8005 */ lui $t6, %hi(ptr_active_demofile)
/* 0F4DD0 7F0C02A0 18E00013 */ blez $a3, .L7F0C02F0
/* 0F4DD4 7F0C02A4 00E02025 */ move $a0, $a3
/* 0F4DD8 7F0C02A8 8DCE8468 */ lw $t6, %lo(ramrom_blkbuf_1)($t6)
/* 0F4DD8 7F0C02A8 8DCE8468 */ lw $t6, %lo(ptr_active_demofile)($t6)
/* 0F4DDC 7F0C02AC 3C058009 */ lui $a1, %hi(address_demo_loaded)
/* 0F4DE0 7F0C02B0 8CA5C5F4 */ lw $a1, %lo(address_demo_loaded)($a1)
/* 0F4DE4 7F0C02B4 8DCF0018 */ lw $t7, 0x18($t6)
@ -674,7 +674,7 @@ glabel iterate_ramrom_entries_handle_camera_out
/* 0F4E1C 7F0C02EC 00E02025 */ move $a0, $a3
.L7F0C02F0:
/* 0F4E20 7F0C02F0 14800009 */ bnez $a0, .L7F0C0318
/* 0F4E24 7F0C02F4 3C098005 */ lui $t1, %hi(ramrom_blkbuf_1)
/* 0F4E24 7F0C02F4 3C098005 */ lui $t1, %hi(ptr_active_demofile)
/* 0F4E28 7F0C02F8 90790000 */ lbu $t9, ($v1)
/* 0F4E2C 7F0C02FC 17200006 */ bnez $t9, .L7F0C0318
/* 0F4E30 7F0C0300 00000000 */ nop
@ -684,7 +684,7 @@ glabel iterate_ramrom_entries_handle_camera_out
/* 0F4E40 7F0C0310 1000000E */ b .L7F0C034C
/* 0F4E44 7F0C0314 8C63846C */ lw $v1, %lo(ramrom_blkbuf_2)($v1)
.L7F0C0318:
/* 0F4E48 7F0C0318 8D298468 */ lw $t1, %lo(ramrom_blkbuf_1)($t1)
/* 0F4E48 7F0C0318 8D298468 */ lw $t1, %lo(ptr_active_demofile)($t1)
/* 0F4E4C 7F0C031C 3C088009 */ lui $t0, %hi(address_demo_loaded)
/* 0F4E50 7F0C0320 8D08C5F4 */ lw $t0, %lo(address_demo_loaded)($t0)
/* 0F4E54 7F0C0324 8D2A0018 */ lw $t2, 0x18($t1)
@ -700,8 +700,8 @@ glabel iterate_ramrom_entries_handle_camera_out
.L7F0C034C:
/* 0F4E7C 7F0C034C 0FC302A8 */ jal sub_GAME_7F0C0AA0
/* 0F4E80 7F0C0350 90640000 */ lbu $a0, ($v1)
/* 0F4E84 7F0C0354 3C198005 */ lui $t9, %hi(ramrom_blkbuf_1)
/* 0F4E88 7F0C0358 8F398468 */ lw $t9, %lo(ramrom_blkbuf_1)($t9)
/* 0F4E84 7F0C0354 3C198005 */ lui $t9, %hi(ptr_active_demofile)
/* 0F4E88 7F0C0358 8F398468 */ lw $t9, %lo(ptr_active_demofile)($t9)
/* 0F4E8C 7F0C035C 3C028005 */ lui $v0, %hi(global_timer)
/* 0F4E90 7F0C0360 8C42837C */ lw $v0, %lo(global_timer)($v0)
/* 0F4E94 7F0C0364 8F23007C */ lw $v1, 0x7c($t9)
@ -757,7 +757,7 @@ void copy_current_ingame_registers_before_ramrom_playback(void *arg0) {
arg0->unkC8 = (?32) controlstyle_player.unk8;
arg0->unkCC = (?32) controlstyle_player.unkC;
arg0->unkD0 = (?32) aim_sight_adjustment;
arg0->unkD4 = get_players_team_or_scenario_item_flag(0, &handicap_player1, &controlstyle_player);
arg0->unkD4 = get_players_team_or_scenario_item_flag(0);
arg0->unkD8 = get_players_team_or_scenario_item_flag(1);
arg0->unkDC = get_players_team_or_scenario_item_flag(2);
arg0->unkE0 = get_players_team_or_scenario_item_flag(3);
@ -999,9 +999,9 @@ glabel test_if_recording_demos_this_stage_load
/* 0F5188 7F0C0658 3C0F8009 */ lui $t7, %hi(ramrom_data_target)
/* 0F518C 7F0C065C 25EFC270 */ addiu $t7, %lo(ramrom_data_target) # addiu $t7, $t7, -0x3d90
/* 0F5190 7F0C0660 25F8000F */ addiu $t8, $t7, 0xf
/* 0F5194 7F0C0664 3C108005 */ lui $s0, %hi(ramrom_blkbuf_1)
/* 0F5194 7F0C0664 3C108005 */ lui $s0, %hi(ptr_active_demofile)
/* 0F5198 7F0C0668 3719000F */ ori $t9, $t8, 0xf
/* 0F519C 7F0C066C 26108468 */ addiu $s0, %lo(ramrom_blkbuf_1) # addiu $s0, $s0, -0x7b98
/* 0F519C 7F0C066C 26108468 */ addiu $s0, %lo(ptr_active_demofile) # addiu $s0, $s0, -0x7b98
/* 0F51A0 7F0C0670 3B28000F */ xori $t0, $t9, 0xf
/* 0F51A4 7F0C0674 AE080000 */ sw $t0, ($s0)
/* 0F51A8 7F0C0678 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C5F8)
@ -1049,9 +1049,9 @@ glabel test_if_recording_demos_this_stage_load
/* 0F524C 7F0C071C 3C198005 */ lui $t9, %hi(ramrom_demo_related_4)
/* 0F5250 7F0C0720 8F39847C */ lw $t9, %lo(ramrom_demo_related_4)($t9)
/* 0F5254 7F0C0724 13200020 */ beqz $t9, .L7F0C07A8
/* 0F5258 7F0C0728 3C108005 */ lui $s0, %hi(ramrom_blkbuf_1)
/* 0F5258 7F0C0728 3C108005 */ lui $s0, %hi(ptr_active_demofile)
/* 0F525C 7F0C072C 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C5F8)
/* 0F5260 7F0C0730 26108468 */ addiu $s0, %lo(ramrom_blkbuf_1) # addiu $s0, $s0, -0x7b98
/* 0F5260 7F0C0730 26108468 */ addiu $s0, %lo(ptr_active_demofile) # addiu $s0, $s0, -0x7b98
/* 0F5264 7F0C0734 AC20C5F8 */ sw $zero, %lo(dword_CODE_bss_8008C5F8)($at)
/* 0F5268 7F0C0738 8E080000 */ lw $t0, ($s0)
/* 0F526C 7F0C073C 0FC07567 */ jal set_selected_difficulty
@ -1100,64 +1100,30 @@ void setRamRomRecordSlot(s32 arg0) {
record_slot_num = arg0;
}
#ifdef NONMATCHING
void stop_recording_ramrom(void) {
// Node 0
if (ramrom_demo_related_6 != 0)
{
// Node 1
finalize_ramrom_on_hw();
set_ptr_tlb_ramrom_record(0);
ramrom_demo_related_6 = 0;
recording_ramrom_flag = 0;
}
// Node 2
return;
}
#else
GLOBAL_ASM(
.text
glabel stop_recording_ramrom
/* 0F5304 7F0C07D4 3C0E8005 */ lui $t6, %hi(ramrom_demo_related_6)
/* 0F5308 7F0C07D8 8DCE8484 */ lw $t6, %lo(ramrom_demo_related_6)($t6)
/* 0F530C 7F0C07DC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0F5310 7F0C07E0 AFBF0014 */ sw $ra, 0x14($sp)
/* 0F5314 7F0C07E4 51C0000A */ beql $t6, $zero, .L7F0C0810
/* 0F5318 7F0C07E8 8FBF0014 */ lw $ra, 0x14($sp)
/* 0F531C 7F0C07EC 0FC2FF2C */ jal finalize_ramrom_on_hw
/* 0F5320 7F0C07F0 00000000 */ nop
/* 0F5324 7F0C07F4 0C002EEF */ jal set_ptr_tlb_ramrom_record
/* 0F5328 7F0C07F8 00002025 */ move $a0, $zero
/* 0F532C 7F0C07FC 3C018005 */ lui $at, %hi(ramrom_demo_related_6)
/* 0F5330 7F0C0800 AC208484 */ sw $zero, %lo(ramrom_demo_related_6)($at)
/* 0F5334 7F0C0804 3C018005 */ lui $at, %hi(recording_ramrom_flag)
/* 0F5338 7F0C0808 AC208480 */ sw $zero, %lo(recording_ramrom_flag)($at)
/* 0F533C 7F0C080C 8FBF0014 */ lw $ra, 0x14($sp)
.L7F0C0810:
/* 0F5340 7F0C0810 27BD0018 */ addiu $sp, $sp, 0x18
/* 0F5344 7F0C0814 03E00008 */ jr $ra
/* 0F5348 7F0C0818 00000000 */ nop
)
#endif
#ifdef NONMATCHING
void replay_recorded_ramrom_at_address(s32 arg0) {
// Node 0
void replay_recorded_ramrom_at_address(s32 arg0)
{
address_demo_loaded = arg0;
ramrom_blkbuf_1 = romCopyAligned(&ramrom_data_target, address_demo_loaded, 0xe8);
address_demo_loaded = (s32) (address_demo_loaded + 0xe8);
ptr_active_demofile = romCopyAligned(&ramrom_data_target, address_demo_loaded, 0xe8);
address_demo_loaded += 0xe8;
ramrom_demo_related_4 = 1;
set_solo_and_ptr_briefing(ramrom_blkbuf_1->unk10, &ramrom_blkbuf_1);
set_selected_difficulty(ramrom_blkbuf_1->unk14);
set_solo_and_ptr_briefing(ptr_active_demofile->unk10);
set_selected_difficulty(ptr_active_demofile->unk14);
return set_menu_to_mode(0xb, 1);
}
#else
@ -1177,8 +1143,8 @@ glabel replay_recorded_ramrom_at_address
/* 0F5374 7F0C0844 3C038009 */ lui $v1, %hi(address_demo_loaded)
/* 0F5378 7F0C0848 2463C5F4 */ addiu $v1, %lo(address_demo_loaded) # addiu $v1, $v1, -0x3a0c
/* 0F537C 7F0C084C 8C6E0000 */ lw $t6, ($v1)
/* 0F5380 7F0C0850 3C058005 */ lui $a1, %hi(ramrom_blkbuf_1)
/* 0F5384 7F0C0854 24A58468 */ addiu $a1, %lo(ramrom_blkbuf_1) # addiu $a1, $a1, -0x7b98
/* 0F5380 7F0C0850 3C058005 */ lui $a1, %hi(ptr_active_demofile)
/* 0F5384 7F0C0854 24A58468 */ addiu $a1, %lo(ptr_active_demofile) # addiu $a1, $a1, -0x7b98
/* 0F5388 7F0C0858 25CF00E8 */ addiu $t7, $t6, 0xe8
/* 0F538C 7F0C085C ACA20000 */ sw $v0, ($a1)
/* 0F5390 7F0C0860 AC6F0000 */ sw $t7, ($v1)
@ -1188,8 +1154,8 @@ glabel replay_recorded_ramrom_at_address
/* 0F53A0 7F0C0870 8CB90000 */ lw $t9, ($a1)
/* 0F53A4 7F0C0874 0FC0757B */ jal set_solo_and_ptr_briefing
/* 0F53A8 7F0C0878 8F240010 */ lw $a0, 0x10($t9)
/* 0F53AC 7F0C087C 3C088005 */ lui $t0, %hi(ramrom_blkbuf_1)
/* 0F53B0 7F0C0880 8D088468 */ lw $t0, %lo(ramrom_blkbuf_1)($t0)
/* 0F53AC 7F0C087C 3C088005 */ lui $t0, %hi(ptr_active_demofile)
/* 0F53B0 7F0C0880 8D088468 */ lw $t0, %lo(ptr_active_demofile)($t0)
/* 0F53B4 7F0C0884 0FC07567 */ jal set_selected_difficulty
/* 0F53B8 7F0C0888 8D040014 */ lw $a0, 0x14($t0)
/* 0F53BC 7F0C088C 2404000B */ li $a0, 11
@ -1206,59 +1172,39 @@ glabel replay_recorded_ramrom_at_address
void replay_recorded_ramrom_from_indy(void) {
void replay_recorded_ramrom_from_indy(void)
{
replay_recorded_ramrom_at_address(0xf00000);
}
#ifdef NONMATCHING
void ensureCameraModeA(void) {
? temp_ret;
? phi_return;
// Node 0
temp_ret = get_camera_mode();
phi_return = temp_ret;
if (temp_ret != 0xa)
void ensureCameraModeA(void)
{
if (get_camera_mode() != 0xa)
{
// Node 1
phi_return = set_camera_mode(0xa);
set_camera_mode(0xa);
}
// Node 2
return phi_return;
}
#else
GLOBAL_ASM(
.text
glabel ensureCameraModeA
/* 0F53F8 7F0C08C8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0F53FC 7F0C08CC AFBF0014 */ sw $ra, 0x14($sp)
/* 0F5400 7F0C08D0 0FC1E94A */ jal get_camera_mode
/* 0F5404 7F0C08D4 00000000 */ nop
/* 0F5408 7F0C08D8 2401000A */ li $at, 10
/* 0F540C 7F0C08DC 50410004 */ beql $v0, $at, .L7F0C08F0
/* 0F5410 7F0C08E0 8FBF0014 */ lw $ra, 0x14($sp)
/* 0F5414 7F0C08E4 0FC1EA6E */ jal set_camera_mode
/* 0F5418 7F0C08E8 2404000A */ li $a0, 10
/* 0F541C 7F0C08EC 8FBF0014 */ lw $ra, 0x14($sp)
.L7F0C08F0:
/* 0F5420 7F0C08F0 27BD0018 */ addiu $sp, $sp, 0x18
/* 0F5424 7F0C08F4 03E00008 */ jr $ra
/* 0F5428 7F0C08F8 00000000 */ nop
)
#endif
#ifdef NONMATCHING
void stop_demo_playback(void) {
void stop_demo_playback(void)
{
if (ramrom_demo_related_6 == 0) {
if (ramrom_demo_related_3 != 0) {
copy_recorded_ramrom_registers_to_proper_place_ingame(&ramromsettingsbackup);
set_disable_all_rumble_and_something(0,0xffffffff);
controller_7000C930(0);
ramrom_demo_related_3 = 0;
is_ramrom_flag = 0;
}
}
else {
stop_recording_ramrom();
}
}
#else
GLOBAL_ASM(
@ -1365,8 +1311,16 @@ glabel select_ramrom_to_play
#ifdef NONMATCHING
void check_ramrom_flags(void) {
s32 check_ramrom_flags(void)
{
if ((get_is_ramrom_flag() == 0) && (get_recording_ramrom_flag() == 0))
{
return 0;
}
else
{
return *(undefined4 *)(ptr_active_demofile + 0x88);
}
}
#else
GLOBAL_ASM(
@ -1382,8 +1336,8 @@ glabel check_ramrom_flags
/* 0F556C 7F0C0A3C 00000000 */ nop
/* 0F5570 7F0C0A40 10400004 */ beqz $v0, .L7F0C0A54
.L7F0C0A44:
/* 0F5574 7F0C0A44 3C0E8005 */ lui $t6, %hi(ramrom_blkbuf_1)
/* 0F5578 7F0C0A48 8DCE8468 */ lw $t6, %lo(ramrom_blkbuf_1)($t6)
/* 0F5574 7F0C0A44 3C0E8005 */ lui $t6, %hi(ptr_active_demofile)
/* 0F5578 7F0C0A48 8DCE8468 */ lw $t6, %lo(ptr_active_demofile)($t6)
/* 0F557C 7F0C0A4C 10000002 */ b .L7F0C0A58
/* 0F5580 7F0C0A50 8DC20088 */ lw $v0, 0x88($t6)
.L7F0C0A54:

View File

@ -82,265 +82,151 @@ void *LnameX_lookuptable[] = {
"LoptionsE", "LoptionsJ", /* Solo in-game menus */
"LmiscE", "LmiscJ"}; /* Cheat options */
LEVELID get_textbank_number_for_stagenum(LEVELID level)
{
LEVELID return_id;
#ifdef NONMATCHING
LEVELID get_textbank_number_for_stagenum(LEVELID level) {
switch(level)
{
case LEVELID_BUNKER1:
return LSEV;
case LEVELID_SILO:
return LSILO;
case LEVELID_STATUE:
return LSTAT;
case LEVELID_CONTROL:
return LAREC;
case LEVELID_ARCHIVES:
return LARCH;
case LEVELID_TRAIN:
return LTRA;
case LEVELID_FRIGATE:
return LDEST;
case LEVELID_BUNKER2:
return LSEVB;
case LEVELID_AZTEC:
return LAZT;
case LEVELID_STREETS:
return LPETE;
case LEVELID_DEPOT:
return LDEPO;
case LEVELID_COMPLEX:
return LREF;
case LEVELID_EGYPT:
return LCRYP;
case LEVELID_DAM:
return LDAM;
return_id = LDAM;
break;
case LEVELID_FACILITY:
return LARK;
return_id = LARK;
break;
case LEVELID_RUNWAY:
return LRUN;
return_id = LRUN;
break;
case LEVELID_SURFACE:
return LSEVX;
case LEVELID_JUNGLE:
return LJUN;
case LEVELID_TEMPLE:
return LDISH;
case LEVELID_CAVERNS:
return LCAVE;
case LEVELID_CRADLE:
return LCRAD;
return_id = LSEVX;
break;
case LEVELID_BUNKER1:
return_id = LSEV;
break;
case LEVELID_SILO:
return_id = LSILO;
break;
case LEVELID_FRIGATE:
return_id = LDEST;
break;
case LEVELID_SURFACE2:
return LSEVXB;
case LEVELID_BASEMENT:
return LIMP;
case LEVELID_STACK:
return LASH;
return_id = LSEVXB;
break;
case LEVELID_BUNKER2:
return_id = LSEVB;
break;
case LEVELID_STATUE:
return_id = LSTAT;
break;
case LEVELID_ARCHIVES:
return_id = LARCH;
break;
case LEVELID_STREETS:
return_id = LPETE;
break;
case LEVELID_DEPOT:
return_id = LDEPO;
break;
case LEVELID_TRAIN:
return_id = LTRA;
break;
case LEVELID_JUNGLE:
return_id = LJUN;
break;
case LEVELID_CONTROL:
return_id = LAREC;
break;
case LEVELID_CAVERNS:
return_id = LCAVE;
break;
case LEVELID_CRADLE:
return_id = LCRAD;
break;
case LEVELID_AZTEC:
return_id = LAZT;
break;
case LEVELID_EGYPT:
return_id = LCRYP;
break;
case LEVELID_TEMPLE:
return_id = LDISH;
break;
case LEVELID_COMPLEX:
return_id = LREF;
break;
case LEVELID_LIBRARY:
return LAME;
return_id = LAME;
break;
case LEVELID_BASEMENT:
return_id = LIMP;
break;
case LEVELID_STACK:
return_id = LASH;
break;
case LEVELID_CAVES:
return LOAT;
return_id = LOAT;
break;
case LEVELID_CUBA:
return LLEN;
return_id = LLEN;
break;
default:
{
/* infinite loop on invalid text bank */
while(1) {};
}
}
/* infinite loop on invalid text bank */
do {
} while(1);
return 0;
return return_id;
}
#else
GLOBAL_ASM(
.late_rodata
/*D:8005BB60*/
glabel jpt_stage_text
.word .L7F0C1624
.word stagetext_loop
.word stagetext_loop
.word stagetext_loop
.word stagetext_loop
.word stagetext_loop
.word stagetext_loop
.word stagetext_loop
.word stagetext_loop
.word stagetext_loop
.word stagetext_loop
.word .L7F0C162C
.word stagetext_loop
.word .L7F0C164C
.word .L7F0C167C
.word .L7F0C1654
.word .L7F0C166C
.word .L7F0C1634
.word .L7F0C1644
.word .L7F0C1694
.word .L7F0C165C
/*.word .L7F0C1664*/
/*.word .L7F0C16AC*/
/*.word .L7F0C169C*/
/*.word .L7F0C1604*/
/*.word .L7F0C160C*/
/*.word .L7F0C1614*/
/*.word .L7F0C161C*/
/*.word .L7F0C1674*/
/*.word .L7F0C16A4*/
/*.word .L7F0C1684*/
/*.word stagetext_loop*/
/*.word .L7F0C168C*/
/*.word stagetext_loop*/
/*.word .L7F0C163C*/
/*.word stagetext_loop*/
/*.word .L7F0C16BC*/
/*.word .L7F0C16C4*/
/*.word stagetext_loop*/
/*.word .L7F0C16B4*/
/*.word stagetext_loop*/
/*.word .L7F0C16CC*/
/*.word stagetext_loop*/
/*.word stagetext_loop*/
/*.word stagetext_loop*/
/*.word .L7F0C16D4*/
.text
glabel get_textbank_number_for_stagenum
/* 0F6110 7F0C15E0 248EFFF7 */ addiu $t6, $a0, -9
/* 0F6114 7F0C15E4 2DC1002E */ sltiu $at, $t6, 0x2e
/* 0F6118 7F0C15E8 1020003C */ beqz $at, .L7F0C16DC
/* 0F611C 7F0C15EC 000E7080 */ sll $t6, $t6, 2
/* 0F6120 7F0C15F0 3C018006 */ lui $at, %hi(jpt_stage_text)
/* 0F6124 7F0C15F4 002E0821 */ addu $at, $at, $t6
/* 0F6128 7F0C15F8 8C2EBB60 */ lw $t6, %lo(jpt_stage_text)($at)
/* 0F612C 7F0C15FC 01C00008 */ jr $t6
/* 0F6130 7F0C1600 00000000 */ nop
.L7F0C1604:
/* 0F6134 7F0C1604 03E00008 */ jr $ra
/* 0F6138 7F0C1608 2402000B */ li $v0, 11
.L7F0C160C:
/* 0F613C 7F0C160C 03E00008 */ jr $ra
/* 0F6140 7F0C1610 24020003 */ li $v0, 3
.L7F0C1614:
/* 0F6144 7F0C1614 03E00008 */ jr $ra
/* 0F6148 7F0C1618 2402001C */ li $v0, 28
.L7F0C161C:
/* 0F614C 7F0C161C 03E00008 */ jr $ra
/* 0F6150 7F0C1620 2402001F */ li $v0, 31
.L7F0C1624:
/* 0F6154 7F0C1624 03E00008 */ jr $ra
/* 0F6158 7F0C1628 2402001E */ li $v0, 30
.L7F0C162C:
/* 0F615C 7F0C162C 03E00008 */ jr $ra
/* 0F6160 7F0C1630 24020022 */ li $v0, 34
.L7F0C1634:
/* 0F6164 7F0C1634 03E00008 */ jr $ra
/* 0F6168 7F0C1638 2402000D */ li $v0, 13
.L7F0C163C:
/* 0F616C 7F0C163C 03E00008 */ jr $ra
/* 0F6170 7F0C1640 24020020 */ li $v0, 32
.L7F0C1644:
/* 0F6174 7F0C1644 03E00008 */ jr $ra
/* 0F6178 7F0C1648 2402001D */ li $v0, 29
.L7F0C164C:
/* 0F617C 7F0C164C 03E00008 */ jr $ra
/* 0F6180 7F0C1650 24020023 */ li $v0, 35
.L7F0C1654:
/* 0F6184 7F0C1654 03E00008 */ jr $ra
/* 0F6188 7F0C1658 24020002 */ li $v0, 2
.L7F0C165C:
/* 0F618C 7F0C165C 03E00008 */ jr $ra
/* 0F6190 7F0C1660 24020019 */ li $v0, 25
.L7F0C1664:
/* 0F6194 7F0C1664 03E00008 */ jr $ra
/* 0F6198 7F0C1668 2402000C */ li $v0, 12
.L7F0C166C:
/* 0F619C 7F0C166C 03E00008 */ jr $ra
/* 0F61A0 7F0C1670 24020024 */ li $v0, 36
.L7F0C1674:
/* 0F61A4 7F0C1674 03E00008 */ jr $ra
/* 0F61A8 7F0C1678 24020012 */ li $v0, 18
.L7F0C167C:
/* 0F61AC 7F0C167C 03E00008 */ jr $ra
/* 0F61B0 7F0C1680 24020008 */ li $v0, 8
.L7F0C1684:
/* 0F61B4 7F0C1684 03E00008 */ jr $ra
/* 0F61B8 7F0C1688 24020007 */ li $v0, 7
.L7F0C168C:
/* 0F61BC 7F0C168C 03E00008 */ jr $ra
/* 0F61C0 7F0C1690 24020009 */ li $v0, 9
.L7F0C1694:
/* 0F61C4 7F0C1694 03E00008 */ jr $ra
/* 0F61C8 7F0C1698 24020005 */ li $v0, 5
.L7F0C169C:
/* 0F61CC 7F0C169C 03E00008 */ jr $ra
/* 0F61D0 7F0C16A0 2402000A */ li $v0, 10
.L7F0C16A4:
/* 0F61D4 7F0C16A4 03E00008 */ jr $ra
/* 0F61D8 7F0C16A8 2402000E */ li $v0, 14
.L7F0C16AC:
/* 0F61DC 7F0C16AC 03E00008 */ jr $ra
/* 0F61E0 7F0C16B0 2402001A */ li $v0, 26
.L7F0C16B4:
/* 0F61E4 7F0C16B4 03E00008 */ jr $ra
/* 0F61E8 7F0C16B8 24020001 */ li $v0, 1
.L7F0C16BC:
/* 0F61EC 7F0C16BC 03E00008 */ jr $ra
/* 0F61F0 7F0C16C0 24020011 */ li $v0, 17
.L7F0C16C4:
/* 0F61F4 7F0C16C4 03E00008 */ jr $ra
/* 0F61F8 7F0C16C8 24020004 */ li $v0, 4
.L7F0C16CC:
/* 0F61FC 7F0C16CC 03E00008 */ jr $ra
/* 0F6200 7F0C16D0 24020017 */ li $v0, 23
.L7F0C16D4:
/* 0F6204 7F0C16D4 03E00008 */ jr $ra
/* 0F6208 7F0C16D8 24020014 */ li $v0, 20
stagetext_loop:
.L7F0C16DC:
/* 0F620C 7F0C16DC 1000FFFF */ b .L7F0C16DC
/* 0F6210 7F0C16E0 00000000 */ nop
/* 0F6214 7F0C16E4 03E00008 */ jr $ra
/* 0F6218 7F0C16E8 00601025 */ move $v0, $v1
)
#endif
#ifdef NONMATCHING
void init_LnameX(void) {
void init_LnameX(void)
{
undefined *puVar1;
u8 **ppuVar2;
int iVar3;
if (j_text_trigger != 0) {
ptr_char_data_buf = mempAllocBytesInBank(0x2e80,'\x06');
ptr_char_registry = mempAllocBytesInBank(0x100,'\x06');
iVar3 = 0;
do {
ptr_char_registry[iVar3] = ptr_char_registry[iVar3] & 0x3f;
*(ushort *)(ptr_char_registry + iVar3) = *(ushort *)(ptr_char_registry + iVar3) | 0x3fff;
(ptr_char_registry + iVar3)[2] = (ptr_char_registry + iVar3)[2] & 0x3f;
*(ushort *)(ptr_char_registry + iVar3 + 2) = *(ushort *)(ptr_char_registry + iVar3 + 2) | 0x3fff;
(ptr_char_registry + iVar3)[4] = (ptr_char_registry + iVar3)[4] & 0x3f;
*(ushort *)(ptr_char_registry + iVar3 + 4) = *(ushort *)(ptr_char_registry + iVar3 + 4) | 0x3fff;
(ptr_char_registry + iVar3)[6] = (ptr_char_registry + iVar3)[6] & 0x3f;
puVar1 = ptr_char_registry + iVar3;
iVar3 += 8;
*(ushort *)(puVar1 + 6) = *(ushort *)(puVar1 + 6) | 0x3fff;
} while (iVar3 != 0xf8);
}
ptr_text = 0;
ppuVar2 = (u8 **)table_text_pointers;
do {
ppuVar2 = ppuVar2 + 4;
ppuVar2[1] = NULL;
ppuVar2[2] = NULL;
ppuVar2[3] = NULL;
*ppuVar2 = NULL;
ppuVar2 = ppuVar2;
} while (ppuVar2 != &ptr_char_data_buf);
table_text_pointers[37] = _load_resource_named_to_membank((&ptr_LgunX)[j_text_trigger],1,0x100,6);
table_text_pointers[38] = _load_resource_named_to_membank((&ptr_LtitleX)[j_text_trigger],1,0x100,6);
table_text_pointers[39] = _load_resource_named_to_membank((&ptr_LmpmenuX)[j_text_trigger],1,0x100,6);
table_text_pointers[40] = _load_resource_named_to_membank((&ptr_LpropobjX)[j_text_trigger],1,0x100,6);
table_text_pointers[41] = _load_resource_named_to_membank((&ptr_LmpweaponsX)[j_text_trigger],1,0x100,6);
table_text_pointers[42] = _load_resource_named_to_membank((&ptr_LoptionsX)[j_text_trigger],1,0x100,6);
table_text_pointers[43] = _load_resource_named_to_membank((&ptr_LmiscX)[j_text_trigger],1,0x100,6);
return;
}
#else
GLOBAL_ASM(
.late_rodata
/*hacks for jtbl*/
.word .L7F0C1664
.word .L7F0C16AC
.word .L7F0C169C
.word .L7F0C1604
.word .L7F0C160C
.word .L7F0C1614
.word .L7F0C161C
.word .L7F0C1674
.word .L7F0C16A4
.word .L7F0C1684
.word stagetext_loop
.word .L7F0C168C
.word stagetext_loop
.word .L7F0C163C
.word stagetext_loop
.word .L7F0C16BC
.word .L7F0C16C4
.word stagetext_loop
.word .L7F0C16B4
.word stagetext_loop
.word .L7F0C16CC
.word stagetext_loop
.word stagetext_loop
.word stagetext_loop
.word .L7F0C16D4
.text
glabel init_LnameX
/* 0F621C 7F0C16EC 27BDFFD8 */ addiu $sp, $sp, -0x28
@ -353,12 +239,12 @@ glabel init_LnameX
/* 0F6238 7F0C1708 11000039 */ beqz $t0, .L7F0C17F0
/* 0F623C 7F0C170C AFB00018 */ sw $s0, 0x18($sp)
/* 0F6240 7F0C1710 24042E80 */ li $a0, 11904
/* 0F6244 7F0C1714 0C0025C8 */ jal allocate_bytes_in_bank
/* 0F6244 7F0C1714 0C0025C8 */ jal mempAllocBytesInBank
/* 0F6248 7F0C1718 24050006 */ li $a1, 6
/* 0F624C 7F0C171C 3C018009 */ lui $at, %hi(ptr_j_char_data_buf)
/* 0F6250 7F0C1720 AC22C6F4 */ sw $v0, %lo(ptr_j_char_data_buf)($at)
/* 0F6254 7F0C1724 24040100 */ li $a0, 256
/* 0F6258 7F0C1728 0C0025C8 */ jal allocate_bytes_in_bank
/* 0F6258 7F0C1728 0C0025C8 */ jal mempAllocBytesInBank
/* 0F625C 7F0C172C 24050006 */ li $a1, 6
/* 0F6260 7F0C1730 3C048009 */ lui $a0, %hi(ptr_j_char_registry)
/* 0F6264 7F0C1734 2484C6F8 */ addiu $a0, %lo(ptr_j_char_registry) # addiu $a0, $a0, -0x3908
@ -503,8 +389,50 @@ glabel init_LnameX
#ifdef NONMATCHING
void something_with_LnameJ(void) {
void something_with_LnameJ(void)
{
ushort uVar1;
ushort *puVar2;
int iVar3;
iVar3 = 0;
if (j_text_trigger != 0) {
do {
puVar2 = (ushort *)(ptr_char_registry + iVar3);
if (*puVar2 >> 0xe == 0) {
uVar1 = puVar2[1];
}
else {
*(byte *)puVar2 = ((byte)(*puVar2 >> 0xe) - 1) * '@' | *(byte *)puVar2 & 0x3f;
puVar2 = (ushort *)(ptr_char_registry + iVar3);
uVar1 = puVar2[1];
}
if (uVar1 >> 0xe == 0) {
uVar1 = puVar2[2];
}
else {
*(byte *)(puVar2 + 1) =
((byte)(uVar1 >> 0xe) - 1) * '@' | *(byte *)(puVar2 + 1) & 0x3f;
puVar2 = (ushort *)(ptr_char_registry + iVar3);
uVar1 = puVar2[2];
}
if (uVar1 >> 0xe == 0) {
uVar1 = puVar2[3];
}
else {
*(byte *)(puVar2 + 2) =
((byte)(uVar1 >> 0xe) - 1) * '@' | *(byte *)(puVar2 + 2) & 0x3f;
puVar2 = (ushort *)(ptr_char_registry + iVar3);
uVar1 = puVar2[3];
}
iVar3 += 8;
if (uVar1 >> 0xe != 0) {
*(byte *)(puVar2 + 3) =
((byte)(uVar1 >> 0xe) - 1) * '@' | *(byte *)(puVar2 + 3) & 0x3f;
}
} while (iVar3 != 0xf8);
}
return;
}
#else
GLOBAL_ASM(
@ -584,8 +512,84 @@ glabel something_with_LnameJ
#ifdef NONMATCHING
void something_with_LnameX(void) {
int something_with_LnameX(uint param_1)
{
bool bVar1;
ushort uVar3;
u8 *puVar2;
int iVar4;
ushort *puVar5;
int iVar6;
int iVar7;
int indexto;
int iVar8;
int iVar9;
int indexfrom;
indexto = -1;
bVar1 = (param_1 & 0x2000) != 0;
iVar7 = 0;
iVar4 = 0;
iVar9 = -1;
puVar5 = (ushort *)ptr_char_registry;
do {
indexfrom = (int)param_1 >> 1;
if ((!bVar1) && ((longlong)indexfrom == ((ulonglong)*puVar5 & 0x3fff))) break;
if ((bVar1) &&
(((iVar4 + 1 < 0x7c && ((longlong)indexfrom == ((ulonglong)*puVar5 & 0x3fff))) &&
((longlong)indexfrom == ((ulonglong)puVar5[1] & 0x3fff))))) break;
uVar3 = *puVar5 >> 0xe;
iVar6 = iVar4 + 1;
if (uVar3 == 0) {
indexto = iVar4;
}
iVar7 += 2;
iVar8 = iVar9;
if (((uVar3 == 0) && (puVar5[1] >> 0xe == 0)) && (iVar8 = iVar4, 0x7b < iVar6)) {
iVar8 = iVar9;
}
puVar5 = puVar5 + 1;
iVar4 = iVar6;
iVar9 = iVar8;
} while (iVar6 != 0x7c);
if (iVar4 < 0x7c) {
if (bVar1) {
*(byte *)puVar5 = *(byte *)puVar5 & 0x3f | 0x80;
(ptr_char_registry + iVar7)[2] = (ptr_char_registry + iVar7)[2] & 0x3f | 0x80;
puVar2 = ptr_char_data_buf + iVar4 * 0x60;
}
else {
*(byte *)puVar5 = *(byte *)puVar5 & 0x3f | 0x80;
puVar2 = ptr_char_data_buf + iVar4 * 0x60;
}
}
else {
if ((bVar1) || (indexto < 0)) {
puVar2 = ptr_char_data_buf;
if ((bVar1) && (iVar4 = iVar9 * 2, -1 < iVar9)) {
ptr_char_registry[iVar4] = ptr_char_registry[iVar4] & 0x3f | 0x80;
(ptr_char_registry + iVar4)[2] = (ptr_char_registry + iVar4)[2] & 0x3f | 0x80;
uVar3 = (ushort)indexfrom & 0x3fff;
*(ushort *)(ptr_char_registry + iVar4) =
uVar3 | *(ushort *)(ptr_char_registry + iVar4) & 0xc000;
*(ushort *)(ptr_char_registry + iVar4 + 2) =
uVar3 | *(ushort *)(ptr_char_registry + iVar4 + 2) & 0xc000;
romCopy((char *)(ptr_char_data_buf + iVar9 * 0x60),
(char *)(_efontcharSegmentStart + ((int)(param_1 & 0x1fff) >> 1) * 0x20),
0x80);
puVar2 = ptr_char_data_buf + iVar9 * 0x60;
}
}
else {
ptr_char_registry[indexto * 2] = ptr_char_registry[indexto * 2] & 0x3f | 0x80;
*(ushort *)(ptr_char_registry + indexto * 2) =
(ushort)indexfrom & 0x3fff | *(ushort *)(ptr_char_registry + indexto * 2) & 0xc000;
romCopy((char *)(ptr_char_data_buf + indexto * 0x60),
(char *)(_jfontcharSegmentStart + indexfrom * 0x18),0x60);
puVar2 = ptr_char_data_buf + indexto * 0x60;
}
}
return (int)puVar2;
}
#else
GLOBAL_ASM(
@ -797,13 +801,10 @@ glabel something_with_LnameX
#ifdef NONMATCHING
void load_mission_text_bank(s32 arg0, s32 arg6) {
// Node 0
*(&ptr_text + (arg6 * 4)) = _load_resource_named_to_membank(*(&LnameX_lookuptable + ((arg0 * 8) + (j_text_trigger * 4))), 1, 0x100, 4);
return;
// (possible return value: _load_resource_named_to_membank(*(&LnameX_lookuptable + ((arg0 * 8) + (j_text_trigger * 4))), 1, 0x100, 4))
void load_mission_text_bank(u32 param_1)
{
*(u8 **)(&ptr_text + param_1) = _load_resource_named_to_membank((byte *)(&(&LnameX_lookuptable)[param_1].en_file)[j_text_trigger],1,0x100,4);
}
#else
GLOBAL_ASM(
.text
@ -839,13 +840,10 @@ glabel load_mission_text_bank
#ifdef NONMATCHING
void load_briefing_text_bank(s32 arg0, s32 arg1, ? arg2, s32 arg6) {
// Node 0
*(&ptr_text + (arg6 * 4)) = _load_resource_named_to_buffer(*(&LnameX_lookuptable + ((arg0 * 8) + (j_text_trigger * 4))), 1, arg1, arg2);
return;
// (possible return value: _load_resource_named_to_buffer(*(&LnameX_lookuptable + ((arg0 * 8) + (j_text_trigger * 4))), 1, arg1, arg2))
void load_briefing_text_bank(int lnameID,undefined *target,int size)
{
*(u8 **)(&ptr_text + lnameID) = _load_resource_named_to_buffer((byte *)(&(&LnameX_lookuptable)[lnameID].en_file)[j_text_trigger],1,target, size);
}
#else
GLOBAL_ASM(
.text

View File

@ -6,4 +6,6 @@ struct stringentry {
char *string[];
};
extern s32 j_text_trigger;
#endif

File diff suppressed because it is too large Load Diff

View File

@ -37,13 +37,13 @@ struct mp_stage_playercount {
};
struct mp_stage_setup {
short folder_text_preset;
short select_screen_text_preset;
int photo;
int stage_id;
int unlock_after;
int min_player;
int max_player;
s16 folder_text_preset;
s16 select_screen_text_preset;
s32 photo;
s32 stage_id;
s32 unlock_after;
s32 min_player;
s32 max_player;
};
struct MP_selectable_chars {
@ -71,8 +71,8 @@ struct MP_controller_configuration_menu {
struct MP_sight_aim_settings {
char anonymous_0;
char field_1;
char field_2;
char field_3;
char sight;
char autoaim;
};
struct intro_char {

View File

@ -7,29 +7,29 @@ s32 dword_CODE_bss_8008C600;
//CODE.bss:8008C604
s32 dword_CODE_bss_8008C604;
//CODE.bss:8008C608
s32 dword_CODE_bss_8008C608;
s32 music_slot_active_0;
//CODE.bss:8008C60C
s32 dword_CODE_bss_8008C60C;
s32 music_slot_active_1;
//CODE.bss:8008C610
s32 dword_CODE_bss_8008C610;
s32 music_slot_active_2;
//CODE.bss:8008C614
s32 dword_CODE_bss_8008C614;
s32 music_slot_active_3;
//CODE.bss:8008C618
s32 dword_CODE_bss_8008C618;
s32 music_slot_minutes_0;
//CODE.bss:8008C61C
s32 dword_CODE_bss_8008C61C;
s32 music_slot_minutes_1;
//CODE.bss:8008C620
s32 dword_CODE_bss_8008C620;
s32 music_slot_minutes_2;
//CODE.bss:8008C624
s32 dword_CODE_bss_8008C624;
s32 music_slot_minutes_3;
//CODE.bss:8008C628
s32 dword_CODE_bss_8008C628;
s32 music_slot_seconds_0;
//CODE.bss:8008C62C
s32 dword_CODE_bss_8008C62C;
s32 music_slot_seconds_1;
//CODE.bss:8008C630
s32 dword_CODE_bss_8008C630;
s32 music_slot_seconds_2;
//CODE.bss:8008C634
s32 dword_CODE_bss_8008C634;
s32 music_slot_seconds_3;
// data
@ -41,7 +41,7 @@ s32 mission_state = 0;
void sub_GAME_7F0C0C10(void) {
sub_GAME_7F0A9180();
call_sfx_c_700091C8();
}
s32 get_mission_state(void) {
@ -178,7 +178,7 @@ glabel set_missionstate
/* 0F57D4 7F0C0CA4 3C018002 */ lui $at, %hi(music1_playing)
/* 0F57D8 7F0C0CA8 3C048009 */ lui $a0, %hi(dword_CODE_bss_8008C600)
/* 0F57DC 7F0C0CAC AC20434C */ sw $zero, %lo(music1_playing)($at)
/* 0F57E0 7F0C0CB0 0FC349C8 */ jal sub_GAME_7F0D2720
/* 0F57E0 7F0C0CB0 0FC349C8 */ jal getmusictrack_or_randomtrack
/* 0F57E4 7F0C0CB4 8C84C600 */ lw $a0, %lo(dword_CODE_bss_8008C600)($a0)
/* 0F57E8 7F0C0CB8 0C001B9F */ jal musicTrack1Play
/* 0F57EC 7F0C0CBC 00402025 */ move $a0, $v0
@ -192,7 +192,7 @@ glabel set_missionstate
/* 0F5808 7F0C0CD8 3C018002 */ lui $at, %hi(music1_playing)
/* 0F580C 7F0C0CDC 3C048009 */ lui $a0, %hi(dword_CODE_bss_8008C600)
/* 0F5810 7F0C0CE0 AC20434C */ sw $zero, %lo(music1_playing)($at)
/* 0F5814 7F0C0CE4 0FC349C8 */ jal sub_GAME_7F0D2720
/* 0F5814 7F0C0CE4 0FC349C8 */ jal getmusictrack_or_randomtrack
/* 0F5818 7F0C0CE8 8C84C600 */ lw $a0, %lo(dword_CODE_bss_8008C600)($a0)
/* 0F581C 7F0C0CEC 0C001B9F */ jal musicTrack1Play
/* 0F5820 7F0C0CF0 00402025 */ move $a0, $v0
@ -680,7 +680,7 @@ glabel set_missionstate
/* 0F64C4 7F0C1954 3C018002 */ lui $at, %hi(music1_playing) # $at, 0x8002
/* 0F64C8 7F0C1958 3C048009 */ lui $a0, %hi(dword_CODE_bss_8008C600) # $a0, 0x8009
/* 0F64CC 7F0C195C AC20438C */ sw $zero, %lo(music1_playing)($at)
/* 0F64D0 7F0C1960 0FC34D00 */ jal sub_GAME_7F0D2720
/* 0F64D0 7F0C1960 0FC34D00 */ jal getmusictrack_or_randomtrack
/* 0F64D4 7F0C1964 8C84C670 */ lw $a0, %lo(dword_CODE_bss_8008C600)($a0)
/* 0F64D8 7F0C1968 0C001BA3 */ jal musicTrack1Play
/* 0F64DC 7F0C196C 00402025 */ move $a0, $v0
@ -694,7 +694,7 @@ glabel set_missionstate
/* 0F64F8 7F0C1988 3C018002 */ lui $at, %hi(music1_playing) # $at, 0x8002
/* 0F64FC 7F0C198C 3C048009 */ lui $a0, %hi(dword_CODE_bss_8008C600) # $a0, 0x8009
/* 0F6500 7F0C1990 AC20438C */ sw $zero, %lo(music1_playing)($at)
/* 0F6504 7F0C1994 0FC34D00 */ jal sub_GAME_7F0D2720
/* 0F6504 7F0C1994 0FC34D00 */ jal getmusictrack_or_randomtrack
/* 0F6508 7F0C1998 8C84C670 */ lw $a0, %lo(dword_CODE_bss_8008C600)($a0)
/* 0F650C 7F0C199C 0C001BA3 */ jal musicTrack1Play
/* 0F6510 7F0C19A0 00402025 */ move $a0, $v0
@ -1057,9 +1057,23 @@ glabel set_missionstate
#ifdef NONMATCHING
void sub_GAME_7F0C11FC(void) {
#ifdef NONMATCHING//
void sub_GAME_7F0C11FC(s16 param_1)
{
musicTrack1Stop();
musicTrack2Stop();
musicTrack3Stop();
mission_state = 0;
dword_CODE_bss_8008C600 = (int)param_1;
if (sub_GAME_7F0D2848(param_1) < 0)
{
set_missionstate(1);
}
else
{
set_missionstate(4);
}
}
#else
GLOBAL_ASM(
@ -1101,52 +1115,60 @@ glabel sub_GAME_7F0C11FC
void sub_GAME_7F0C1268(void) {
void sub_GAME_7F0C1268(void)
{
set_missionstate(0);
}
void sub_GAME_7F0C1288(void) {
if (sub_GAME_7F0D2848(dword_CODE_bss_8008C600) < 0) {
void sub_GAME_7F0C1288(void)
{
if (sub_GAME_7F0D2848(dword_CODE_bss_8008C600) < 0)
{
set_missionstate(2);
}
else {
else
{
set_missionstate(5);
}
return;
}
void sub_GAME_7F0C12CC(void) {
if (sub_GAME_7F0D2848(dword_CODE_bss_8008C600) < 0) {
void sub_GAME_7F0C12CC(void)
{
if (sub_GAME_7F0D2848(dword_CODE_bss_8008C600) < 0)
{
set_missionstate(1);
}
else {
else
{
set_missionstate(4);
}
return;
}
void sub_GAME_7F0C1310(void) {
void sub_GAME_7F0C1310(void)
{
dword_CODE_bss_8008C604 = mission_state;
set_missionstate(3);
}
void sub_GAME_7F0C1340(void) {
void sub_GAME_7F0C1340(void)
{
set_missionstate(dword_CODE_bss_8008C604);
}
void sub_GAME_7F0C1364(void) {
dword_CODE_bss_8008C608 = 0;
dword_CODE_bss_8008C618 = 0;
dword_CODE_bss_8008C628 = 0;
dword_CODE_bss_8008C60C = 0;
dword_CODE_bss_8008C61C = 0;
dword_CODE_bss_8008C62C = 0;
dword_CODE_bss_8008C610 = 0;
dword_CODE_bss_8008C620 = 0;
dword_CODE_bss_8008C630 = 0;
dword_CODE_bss_8008C614 = 0;
dword_CODE_bss_8008C624 = 0;
dword_CODE_bss_8008C634 = 0;
void sub_GAME_7F0C1364(void)
{
music_slot_active_0 = 0;
music_slot_minutes_0 = 0;
music_slot_seconds_0 = 0;
music_slot_active_1 = 0;
music_slot_minutes_1 = 0;
music_slot_seconds_1 = 0;
music_slot_active_2 = 0;
music_slot_minutes_2 = 0;
music_slot_seconds_2 = 0;
music_slot_active_3 = 0;
music_slot_minutes_3 = 0;
music_slot_seconds_3 = 0;
}
@ -1163,16 +1185,16 @@ GLOBAL_ASM(
.text
glabel reset_all_music_slots
/* 0F5EF8 7F0C13C8 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 0F5EFC 7F0C13CC 3C078009 */ lui $a3, %hi(dword_CODE_bss_8008C608)
/* 0F5F00 7F0C13D0 3C048009 */ lui $a0, %hi(dword_CODE_bss_8008C618)
/* 0F5EFC 7F0C13CC 3C078009 */ lui $a3, %hi(music_slot_active_0)
/* 0F5F00 7F0C13D0 3C048009 */ lui $a0, %hi(music_slot_minutes_0)
/* 0F5F04 7F0C13D4 3C068005 */ lui $a2, %hi(clock_timer)
/* 0F5F08 7F0C13D8 3C098009 */ lui $t1, %hi(dword_CODE_bss_8008C628)
/* 0F5F08 7F0C13D8 3C098009 */ lui $t1, %hi(music_slot_seconds_0)
/* 0F5F0C 7F0C13DC AFBF0014 */ sw $ra, 0x14($sp)
/* 0F5F10 7F0C13E0 00005025 */ move $t2, $zero
/* 0F5F14 7F0C13E4 2529C628 */ addiu $t1, %lo(dword_CODE_bss_8008C628) # addiu $t1, $t1, -0x39d8
/* 0F5F14 7F0C13E4 2529C628 */ addiu $t1, %lo(music_slot_seconds_0) # addiu $t1, $t1, -0x39d8
/* 0F5F18 7F0C13E8 8CC68374 */ lw $a2, %lo(clock_timer)($a2)
/* 0F5F1C 7F0C13EC 2484C618 */ addiu $a0, %lo(dword_CODE_bss_8008C618) # addiu $a0, $a0, -0x39e8
/* 0F5F20 7F0C13F0 24E7C608 */ addiu $a3, %lo(dword_CODE_bss_8008C608) # addiu $a3, $a3, -0x39f8
/* 0F5F1C 7F0C13EC 2484C618 */ addiu $a0, %lo(music_slot_minutes_0) # addiu $a0, $a0, -0x39e8
/* 0F5F20 7F0C13F0 24E7C608 */ addiu $a3, %lo(music_slot_active_0) # addiu $a3, $a3, -0x39f8
/* 0F5F24 7F0C13F4 00004025 */ move $t0, $zero
.L7F0C13F8:
/* 0F5F28 7F0C13F8 8CE50000 */ lw $a1, ($a3)
@ -1183,8 +1205,8 @@ glabel reset_all_music_slots
/* 0F5F3C 7F0C140C 24840004 */ addiu $a0, $a0, 4
/* 0F5F40 7F0C1410 8C820000 */ lw $v0, ($a0)
.L7F0C1414:
/* 0F5F44 7F0C1414 3C0F8009 */ lui $t7, %hi(dword_CODE_bss_8008C628)
/* 0F5F48 7F0C1418 25EFC628 */ addiu $t7, %lo(dword_CODE_bss_8008C628) # addiu $t7, $t7, -0x39d8
/* 0F5F44 7F0C1414 3C0F8009 */ lui $t7, %hi(music_slot_seconds_0)
/* 0F5F48 7F0C1418 25EFC628 */ addiu $t7, %lo(music_slot_seconds_0) # addiu $t7, $t7, -0x39d8
/* 0F5F4C 7F0C141C 0046082A */ slt $at, $v0, $a2
/* 0F5F50 7F0C1420 14200004 */ bnez $at, .L7F0C1434
/* 0F5F54 7F0C1424 010F1821 */ addu $v1, $t0, $t7
@ -1259,15 +1281,20 @@ glabel reset_all_music_slots
#ifdef NONMATCHING
void set_musicslot_time(void) {
void set_musicslot_time(int slot,int min,int sec)
{
if (music_slot_active[slot] == 0) {
music_slot_active[slot] = 1;
music_slot_minutes[slot] = min * 0x3c;
music_slot_seconds[slot] = sec * 0x3c;
}
}
#else
GLOBAL_ASM(
.text
glabel set_musicslot_time
/* 0F602C 7F0C14FC 3C0E8009 */ lui $t6, %hi(dword_CODE_bss_8008C608)
/* 0F6030 7F0C1500 25CEC608 */ addiu $t6, %lo(dword_CODE_bss_8008C608) # addiu $t6, $t6, -0x39f8
/* 0F602C 7F0C14FC 3C0E8009 */ lui $t6, %hi(music_slot_active_0)
/* 0F6030 7F0C1500 25CEC608 */ addiu $t6, %lo(music_slot_active_0) # addiu $t6, $t6, -0x39f8
/* 0F6034 7F0C1504 00041080 */ sll $v0, $a0, 2
/* 0F6038 7F0C1508 004E1821 */ addu $v1, $v0, $t6
/* 0F603C 7F0C150C 8C6F0000 */ lw $t7, ($v1)
@ -1276,16 +1303,16 @@ glabel set_musicslot_time
/* 0F6048 7F0C1518 00000000 */ nop
/* 0F604C 7F0C151C 00A40019 */ multu $a1, $a0
/* 0F6050 7F0C1520 24180001 */ li $t8, 1
/* 0F6054 7F0C1524 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C618)
/* 0F6054 7F0C1524 3C018009 */ lui $at, %hi(music_slot_minutes_0)
/* 0F6058 7F0C1528 AC780000 */ sw $t8, ($v1)
/* 0F605C 7F0C152C 00220821 */ addu $at, $at, $v0
/* 0F6060 7F0C1530 0000C812 */ mflo $t9
/* 0F6064 7F0C1534 AC39C618 */ sw $t9, %lo(dword_CODE_bss_8008C618)($at)
/* 0F6068 7F0C1538 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C628)
/* 0F6064 7F0C1534 AC39C618 */ sw $t9, %lo(music_slot_minutes_0)($at)
/* 0F6068 7F0C1538 3C018009 */ lui $at, %hi(music_slot_seconds_0)
/* 0F606C 7F0C153C 00C40019 */ multu $a2, $a0
/* 0F6070 7F0C1540 00220821 */ addu $at, $at, $v0
/* 0F6074 7F0C1544 00004012 */ mflo $t0
/* 0F6078 7F0C1548 AC28C628 */ sw $t0, %lo(dword_CODE_bss_8008C628)($at)
/* 0F6078 7F0C1548 AC28C628 */ sw $t0, %lo(music_slot_seconds_0)($at)
/* 0F607C 7F0C154C 00000000 */ nop
.L7F0C1550:
/* 0F6080 7F0C1550 03E00008 */ jr $ra
@ -1301,21 +1328,21 @@ glabel set_musicslot_time
void reset_music_in_slot(int lParm1)
{
if (-1 < lParm1) {
(&dword_CODE_bss_8008C608)[(int)lParm1] = 0;
(&music_slot_active_0)[(int)lParm1] = 0;
return;
}
dword_CODE_bss_8008C608 = 0;
dword_CODE_bss_8008C60C = 0;
dword_CODE_bss_8008C610 = 0;
dword_CODE_bss_8008C614 = 0;
dword_CODE_bss_8008C618 = 0;
dword_CODE_bss_8008C61C = 0;
dword_CODE_bss_8008C620 = 0;
dword_CODE_bss_8008C624 = 0;
dword_CODE_bss_8008C628 = 0;
dword_CODE_bss_8008C62C = 0;
dword_CODE_bss_8008C630 = 0;
dword_CODE_bss_8008C634 = 0;
music_slot_active_0 = 0;
music_slot_active_1 = 0;
music_slot_active_2 = 0;
music_slot_active_3 = 0;
music_slot_minutes_0 = 0;
music_slot_minutes_1 = 0;
music_slot_minutes_2 = 0;
music_slot_minutes_3 = 0;
music_slot_seconds_0 = 0;
music_slot_seconds_1 = 0;
music_slot_seconds_2 = 0;
music_slot_seconds_3 = 0;
return;
}
#else
@ -1323,37 +1350,37 @@ GLOBAL_ASM(
.text
glabel reset_music_in_slot
/* 0F6088 7F0C1558 04800006 */ bltz $a0, .L7F0C1574
/* 0F608C 7F0C155C 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C608)
/* 0F608C 7F0C155C 3C018009 */ lui $at, %hi(music_slot_active_0)
/* 0F6090 7F0C1560 00047080 */ sll $t6, $a0, 2
/* 0F6094 7F0C1564 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C608)
/* 0F6094 7F0C1564 3C018009 */ lui $at, %hi(music_slot_active_0)
/* 0F6098 7F0C1568 002E0821 */ addu $at, $at, $t6
/* 0F609C 7F0C156C 03E00008 */ jr $ra
/* 0F60A0 7F0C1570 AC20C608 */ sw $zero, %lo(dword_CODE_bss_8008C608)($at)
/* 0F60A0 7F0C1570 AC20C608 */ sw $zero, %lo(music_slot_active_0)($at)
.L7F0C1574:
/* 0F60A4 7F0C1574 AC20C608 */ sw $zero, %lo(dword_CODE_bss_8008C608)($at)
/* 0F60A8 7F0C1578 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C618)
/* 0F60AC 7F0C157C AC20C618 */ sw $zero, %lo(dword_CODE_bss_8008C618)($at)
/* 0F60B0 7F0C1580 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C628)
/* 0F60B4 7F0C1584 AC20C628 */ sw $zero, %lo(dword_CODE_bss_8008C628)($at)
/* 0F60B8 7F0C1588 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C60C)
/* 0F60BC 7F0C158C AC20C60C */ sw $zero, %lo(dword_CODE_bss_8008C60C)($at)
/* 0F60C0 7F0C1590 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C61C)
/* 0F60C4 7F0C1594 AC20C61C */ sw $zero, %lo(dword_CODE_bss_8008C61C)($at)
/* 0F60C8 7F0C1598 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C62C)
/* 0F60CC 7F0C159C AC20C62C */ sw $zero, %lo(dword_CODE_bss_8008C62C)($at)
/* 0F60D0 7F0C15A0 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C610)
/* 0F60D4 7F0C15A4 AC20C610 */ sw $zero, %lo(dword_CODE_bss_8008C610)($at)
/* 0F60D8 7F0C15A8 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C620)
/* 0F60DC 7F0C15AC AC20C620 */ sw $zero, %lo(dword_CODE_bss_8008C620)($at)
/* 0F60E0 7F0C15B0 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C630)
/* 0F60E4 7F0C15B4 AC20C630 */ sw $zero, %lo(dword_CODE_bss_8008C630)($at)
/* 0F60E8 7F0C15B8 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C614)
/* 0F60EC 7F0C15BC AC20C614 */ sw $zero, %lo(dword_CODE_bss_8008C614)($at)
/* 0F60F0 7F0C15C0 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C624)
/* 0F60F4 7F0C15C4 AC20C624 */ sw $zero, %lo(dword_CODE_bss_8008C624)($at)
/* 0F60F8 7F0C15C8 3C018009 */ lui $at, %hi(dword_CODE_bss_8008C634)
/* 0F60FC 7F0C15CC AC20C634 */ sw $zero, %lo(dword_CODE_bss_8008C634)($at)
/* 0F60A4 7F0C1574 AC20C608 */ sw $zero, %lo(music_slot_active_0)($at)
/* 0F60A8 7F0C1578 3C018009 */ lui $at, %hi(music_slot_minutes_0)
/* 0F60AC 7F0C157C AC20C618 */ sw $zero, %lo(music_slot_minutes_0)($at)
/* 0F60B0 7F0C1580 3C018009 */ lui $at, %hi(music_slot_seconds_0)
/* 0F60B4 7F0C1584 AC20C628 */ sw $zero, %lo(music_slot_seconds_0)($at)
/* 0F60B8 7F0C1588 3C018009 */ lui $at, %hi(music_slot_active_1)
/* 0F60BC 7F0C158C AC20C60C */ sw $zero, %lo(music_slot_active_1)($at)
/* 0F60C0 7F0C1590 3C018009 */ lui $at, %hi(music_slot_minutes_1)
/* 0F60C4 7F0C1594 AC20C61C */ sw $zero, %lo(music_slot_minutes_1)($at)
/* 0F60C8 7F0C1598 3C018009 */ lui $at, %hi(music_slot_seconds_1)
/* 0F60CC 7F0C159C AC20C62C */ sw $zero, %lo(music_slot_seconds_1)($at)
/* 0F60D0 7F0C15A0 3C018009 */ lui $at, %hi(music_slot_active_2)
/* 0F60D4 7F0C15A4 AC20C610 */ sw $zero, %lo(music_slot_active_2)($at)
/* 0F60D8 7F0C15A8 3C018009 */ lui $at, %hi(music_slot_minutes_2)
/* 0F60DC 7F0C15AC AC20C620 */ sw $zero, %lo(music_slot_minutes_2)($at)
/* 0F60E0 7F0C15B0 3C018009 */ lui $at, %hi(music_slot_seconds_2)
/* 0F60E4 7F0C15B4 AC20C630 */ sw $zero, %lo(music_slot_seconds_2)($at)
/* 0F60E8 7F0C15B8 3C018009 */ lui $at, %hi(music_slot_active_3)
/* 0F60EC 7F0C15BC AC20C614 */ sw $zero, %lo(music_slot_active_3)($at)
/* 0F60F0 7F0C15C0 3C018009 */ lui $at, %hi(music_slot_minutes_3)
/* 0F60F4 7F0C15C4 AC20C624 */ sw $zero, %lo(music_slot_minutes_3)($at)
/* 0F60F8 7F0C15C8 3C018009 */ lui $at, %hi(music_slot_seconds_3)
/* 0F60FC 7F0C15CC AC20C634 */ sw $zero, %lo(music_slot_seconds_3)($at)
/* 0F6100 7F0C15D0 03E00008 */ jr $ra
/* 0F6104 7F0C15D4 00000000 */ nop
)

View File

@ -342,11 +342,13 @@ glabel check_if_player_is_pressing_anything_left
void play_watch_sfx_beep(void) {
void play_watch_sfx_beep(void)
{
play_sfx_a1(ptr_sfx_buf, 0x9f, 0);
}
void unpause_game(void) {
void unpause_game(void)
{
stop_play_flag = 0;
is_gameover_flag = 0;
is_paused = 0;
@ -1561,8 +1563,8 @@ glabel sub_GAME_7F0C2E80
/* 0F7B08 7F0C2FD8 2C490001 */ sltiu $t1, $v0, 1
/* 0F7B0C 7F0C2FDC AC890000 */ sw $t1, ($a0)
.L7F0C2FE0:
/* 0F7B10 7F0C2FE0 3C028008 */ lui $v0, %hi(cur_player_stat_ptr)
/* 0F7B14 7F0C2FE4 8C42A0B4 */ lw $v0, %lo(cur_player_stat_ptr)($v0)
/* 0F7B10 7F0C2FE0 3C028008 */ lui $v0, %hi(pPlayersPerm)
/* 0F7B14 7F0C2FE4 8C42A0B4 */ lw $v0, %lo(pPlayersPerm)($v0)
/* 0F7B18 7F0C2FE8 8CEA0000 */ lw $t2, ($a3)
/* 0F7B1C 7F0C2FEC 8C4B0054 */ lw $t3, 0x54($v0)
/* 0F7B20 7F0C2FF0 8D4329F8 */ lw $v1, 0x29f8($t2)
@ -1576,8 +1578,8 @@ glabel sub_GAME_7F0C2E80
/* 0F7B3C 7F0C300C 3C078008 */ lui $a3, %hi(pPlayer)
/* 0F7B40 7F0C3010 24E7A0B0 */ addiu $a3, %lo(pPlayer) # addiu $a3, $a3, -0x5f50
/* 0F7B44 7F0C3014 8CE30000 */ lw $v1, ($a3)
/* 0F7B48 7F0C3018 3C0C8008 */ lui $t4, %hi(cur_player_stat_ptr)
/* 0F7B4C 7F0C301C 8D8CA0B4 */ lw $t4, %lo(cur_player_stat_ptr)($t4)
/* 0F7B48 7F0C3018 3C0C8008 */ lui $t4, %hi(pPlayersPerm)
/* 0F7B4C 7F0C301C 8D8CA0B4 */ lw $t4, %lo(pPlayersPerm)($t4)
/* 0F7B50 7F0C3020 8C6E29F4 */ lw $t6, 0x29f4($v1)
/* 0F7B54 7F0C3024 8FA80030 */ lw $t0, 0x30($sp)
/* 0F7B58 7F0C3028 8D8D004C */ lw $t5, 0x4c($t4)
@ -1590,8 +1592,8 @@ glabel sub_GAME_7F0C2E80
/* 0F7B74 7F0C3044 3C078008 */ lui $a3, %hi(pPlayer)
/* 0F7B78 7F0C3048 24E7A0B0 */ addiu $a3, %lo(pPlayer) # addiu $a3, $a3, -0x5f50
/* 0F7B7C 7F0C304C 8CF80000 */ lw $t8, ($a3)
/* 0F7B80 7F0C3050 3C0A8008 */ lui $t2, %hi(cur_player_stat_ptr)
/* 0F7B84 7F0C3054 8D4AA0B4 */ lw $t2, %lo(cur_player_stat_ptr)($t2)
/* 0F7B80 7F0C3050 3C0A8008 */ lui $t2, %hi(pPlayersPerm)
/* 0F7B84 7F0C3054 8D4AA0B4 */ lw $t2, %lo(pPlayersPerm)($t2)
/* 0F7B88 7F0C3058 8F1929F4 */ lw $t9, 0x29f4($t8)
/* 0F7B8C 7F0C305C 8FA80030 */ lw $t0, 0x30($sp)
/* 0F7B90 7F0C3060 00594823 */ subu $t1, $v0, $t9
@ -7219,14 +7221,13 @@ def_7F0C40C0:
#ifdef NONMATCHING
s32 sub_GAME_7F0C6048(void) {
// Node 0
s32 sub_GAME_7F0C6048(void)
{
if (is_gameover_flag != 0)
{
// Node 1
return 0;
}
return (pPlayer->unk29C4 | (0 < pPlayer->unk2A00));
return (pPlayer->mpmenuon | (0 < pPlayer->healthdisplaytime));
}
#else

View File

@ -3,7 +3,7 @@
// data
//D:80048670
struct struct_2 type_0_stru_800490F0[] = {
struct s_mp_weapon_set mp_weapon_set_slaps[] = {
{0, 0xCD, 1.0, 1, 0, 1},
{0, 0xCD, 1.0, 1, 0, 1},
{0, 0xCD, 1.0, 1, 0, 1},
@ -15,7 +15,7 @@ struct struct_2 type_0_stru_800490F0[] = {
};
//D:80048730
struct struct_2 type_1_stru_800490F0[] = {
struct s_mp_weapon_set mp_weapon_set_pistols[] = {
{6, 0xCD, 1.0, 1, 0x32, 1},
{6, 0xCD, 1.0, 1, 0x32, 1},
{6, 0xCD, 1.0, 1, 0x32, 1},
@ -27,7 +27,7 @@ struct struct_2 type_1_stru_800490F0[] = {
};
//D:800487F0
struct struct_2 type_D_stru_800490F0[] = {
struct s_mp_weapon_set mp_weapon_set_knife[] = {
{3, 0xD1, 1.0, 0xA, 0xA, 0},
{3, 0xD1, 1.0, 0xA, 0xA, 0},
{3, 0xD1, 1.0, 0xA, 0xA, 0},
@ -39,7 +39,7 @@ struct struct_2 type_D_stru_800490F0[] = {
};
//D:800488B0
struct struct_2 type_2_stru_800490F0[] = {
struct s_mp_weapon_set mp_weapon_set_auto[] = {
{5, 0xCC, 1.0, 1, 0x32, 1},
{5, 0xCC, 1.0, 1, 0x32, 1},
{6, 0xCD, 1.0, 1, 0x32, 1},
@ -51,7 +51,7 @@ struct struct_2 type_2_stru_800490F0[] = {
};
//D:80048970
struct struct_2 type_3_stru_800490F0[] = {
struct s_mp_weapon_set mp_weapon_set_power[] = {
{6, 0xCD, 3.0, 1, 0x32, 1},
{6, 0xCD, 3.0, 1, 0x32, 1},
{0x12, 0xBE, 1.0, 0xC, 0x32, 1},
@ -63,7 +63,7 @@ struct struct_2 type_3_stru_800490F0[] = {
};
//D:80048A30
struct struct_2 type_4_stru_800490F0[] = {
struct s_mp_weapon_set mp_weapon_set_sniper[] = {
{6, 0xCD, 3.0, 1, 0x32, 1},
{6, 0xCD, 3.0, 1, 0x32, 1},
{0x12, 0xBE, 1.0, 0xC, 0x32, 1},
@ -75,7 +75,7 @@ struct struct_2 type_4_stru_800490F0[] = {
};
//D:80048AF0
struct struct_2 type_5_stru_800490F0[] = {
struct s_mp_weapon_set mp_weapon_set_grenade[] = {
{6, 0xCD, 3.0, 1, 0x32, 1},
{6, 0xCD, 3.0, 1, 0x32, 1},
{7, 0xC1, 1.5, 1, 0x64, 1},
@ -88,7 +88,7 @@ struct struct_2 type_5_stru_800490F0[] = {
//D:80048BB0
#ifdef VERSION_US
struct struct_2 type_6_stru_800490F0[] = {
struct s_mp_weapon_set mp_weapon_set_remote_m[] = {
{4, 0xBF, 3.0, 1, 0x32, 1},
{4, 0xBF, 3.0, 1, 0x32, 1},
{9, 0xC3, 1.5, 1, 0x64, 1},
@ -99,8 +99,21 @@ struct struct_2 type_6_stru_800490F0[] = {
{0x1D, 0xC7, 1.5, 7, 5, 0}
};
#endif
#ifdef VERSION_EU
//!FIXME temp copy of us data
struct s_mp_weapon_set mp_weapon_set_remote_m[] = {
{4, 0xBF, 3.0, 1, 0x32, 1},
{4, 0xBF, 3.0, 1, 0x32, 1},
{9, 0xC3, 1.5, 1, 0x64, 1},
{9, 0xC3, 1.5, 1, 0x64, 1},
{0xD, 0xBC, 1.5, 3, 0x64, 1},
{0xD, 0xBC, 1.5, 3, 0x64, 1},
{0x1D, 0xC7, 1.5, 7, 5, 0},
{0x1D, 0xC7, 1.5, 7, 5, 0}
};
#endif
#ifdef VERSION_JP
struct struct_2 type_6_stru_800490F0[] = {
struct s_mp_weapon_set mp_weapon_set_remote_m[] = {
{4, 0xBF, 3.0, 1, 0x32, 1},
{4, 0xBF, 3.0, 1, 0x32, 1},
{9, 0xC3, 1.5, 1, 0x64, 1},
@ -113,7 +126,7 @@ struct struct_2 type_6_stru_800490F0[] = {
#endif
//D:80048C70
struct struct_2 type_7_stru_800490F0[] = {
struct s_mp_weapon_set mp_weapon_set_glaunch[] = {
{6, 0xCD, 3.0, 1, 0x32, 1},
{6, 0xCD, 3.0, 1, 0x32, 1},
{7, 0xC1, 1.5, 1, 0x64, 1},
@ -126,7 +139,7 @@ struct struct_2 type_7_stru_800490F0[] = {
//D:80048D30
#ifdef VERSION_US
struct struct_2 type_8_stru_800490F0[] = {
struct s_mp_weapon_set mp_weapon_set_timed_m[] = {
{4, 0xBF, 3.0, 1, 0x32, 1},
{4, 0xBF, 3.0, 1, 0x32, 1},
{9, 0xC3, 1.5, 1, 0x64, 1},
@ -137,8 +150,21 @@ struct struct_2 type_8_stru_800490F0[] = {
{0x1B, 0xC9, 1.5, 9, 5, 0}
};
#endif
#ifdef VERSION_EU
//!FIXME temp copy of us data
struct s_mp_weapon_set mp_weapon_set_timed_m[] = {
{4, 0xBF, 3.0, 1, 0x32, 1},
{4, 0xBF, 3.0, 1, 0x32, 1},
{9, 0xC3, 1.5, 1, 0x64, 1},
{9, 0xC3, 1.5, 1, 0x64, 1},
{0xD, 0xBC, 1.5, 3, 0x64, 1},
{0xD, 0xBC, 1.5, 3, 0x64, 1},
{0x1B, 0xC9, 1.5, 9, 5, 0},
{0x1B, 0xC9, 1.5, 9, 5, 0}
};
#endif
#ifdef VERSION_JP
struct struct_2 type_8_stru_800490F0[] = {
struct s_mp_weapon_set mp_weapon_set_timed_m[] = {
{4, 0xBF, 3.0, 1, 0x32, 1},
{4, 0xBF, 3.0, 1, 0x32, 1},
{9, 0xC3, 1.5, 1, 0x64, 1},
@ -151,7 +177,7 @@ struct struct_2 type_8_stru_800490F0[] = {
#endif
//D:80048DF0
struct struct_2 type_9_stru_800490F0[] = {
struct s_mp_weapon_set mp_weapon_set_prox_m[] = {
{4, 0xBF, 3.0, 1, 0x32, 1},
{4, 0xBF, 3.0, 1, 0x32, 1},
{9, 0xC3, 1.5, 1, 0x64, 1},
@ -163,7 +189,7 @@ struct struct_2 type_9_stru_800490F0[] = {
};
//D:80048EB0
struct struct_2 type_A_stru_800490F0[] = {
struct s_mp_weapon_set mp_weapon_set_rockets[] = {
{6, 0xCD, 3.0, 1, 0x32, 1},
{6, 0xCD, 3.0, 1, 0x32, 1},
{7, 0xC1, 1.5, 1, 0x64, 1},
@ -175,7 +201,7 @@ struct struct_2 type_A_stru_800490F0[] = {
};
//D:80048F70
struct struct_2 type_B_stru_800490F0[] = {
struct s_mp_weapon_set mp_weapon_set_lasers[] = {
{6, 0xCD, 3.0, 1, 0x32, 1},
{6, 0xCD, 3.0, 1, 0x32, 1},
{7, 0xC1, 1.5, 1, 0x64, 1},
@ -187,7 +213,7 @@ struct struct_2 type_B_stru_800490F0[] = {
};
//D:80049030
struct struct_2 type_C_stru_800490F0[] = {
struct s_mp_weapon_set mp_weapon_set_golden[] = {
{6, 0xCD, 3.0, 1, 0x32, 1},
{6, 0xCD, 3.0, 1, 0x32, 1},
{7, 0xC1, 1.5, 1, 0x64, 1},
@ -200,20 +226,20 @@ struct struct_2 type_C_stru_800490F0[] = {
//D:800490F0
struct struct_8 mp_weapon_set_text_table[] = {
{0xA8, 0, 0, 0, type_0_stru_800490F0},
{0xA8, 1, 0, 0, type_1_stru_800490F0},
{0xA8, 0xD, 0, 0, type_D_stru_800490F0},
{0xA8, 2, 0, 0, type_2_stru_800490F0},
{0xA8, 3, 0, 0, type_3_stru_800490F0},
{0xA8, 4, 0, 0, type_4_stru_800490F0},
{0xA8, 5, 0, 0, type_5_stru_800490F0},
{0xA8, 6, 0, 0, type_6_stru_800490F0},
{0xA8, 7, 0, 0, type_7_stru_800490F0},
{0xA8, 8, 0, 0, type_8_stru_800490F0},
{0xA8, 9, 0, 0, type_9_stru_800490F0},
{0xA8, 0xA, 0, 0, type_A_stru_800490F0},
{0xA8, 0xB, 0, 0, type_B_stru_800490F0},
{0xA8, 0xC, 0, 0, type_C_stru_800490F0}
{0xA8, 0, 0, 0, mp_weapon_set_slaps},
{0xA8, 1, 0, 0, mp_weapon_set_pistols},
{0xA8, 0xD, 0, 0, mp_weapon_set_knife},
{0xA8, 2, 0, 0, mp_weapon_set_auto},
{0xA8, 3, 0, 0, mp_weapon_set_power},
{0xA8, 4, 0, 0, mp_weapon_set_sniper},
{0xA8, 5, 0, 0, mp_weapon_set_grenade},
{0xA8, 6, 0, 0, mp_weapon_set_remote_m},
{0xA8, 7, 0, 0, mp_weapon_set_glaunch},
{0xA8, 8, 0, 0, mp_weapon_set_timed_m},
{0xA8, 9, 0, 0, mp_weapon_set_prox_m},
{0xA8, 0xA, 0, 0, mp_weapon_set_rockets},
{0xA8, 0xB, 0, 0, mp_weapon_set_lasers},
{0xA8, 0xC, 0, 0, mp_weapon_set_golden}
};
s32 mp_weapon_set = 0xB;
@ -222,10 +248,9 @@ s32 mp_weapon_set = 0xB;
#ifdef NONMATCHING
void *advance_mp_weapon_set_by_one_save_value(void) {
// Node 0
mp_weapon_set = (s32) ((s32) (mp_weapon_set + 1) % 0xe);
return &mp_weapon_set;
void advance_mp_weapon_set_by_one_save_value(void)
{
mp_weapon_set = (mp_weapon_set + 1) % 0xe;
}
#else
GLOBAL_ASM(

View File

@ -2,7 +2,7 @@
#define _MP_WEAPON_H_
#include "ultra64.h"
struct struct_2
struct s_mp_weapon_set
{
s32 anonymous_0;
s32 anonymous_1;
@ -18,7 +18,7 @@ struct struct_8
char field_1;
char field_2;
char field_3;
struct struct_2 * anonymous_1;
struct s_mp_weapon_set * anonymous_1;
};

View File

@ -48,13 +48,13 @@ s16 random_tracks[] = {
#ifdef NONMATCHING
void sub_GAME_7F0D2720(void) {
void getmusictrack_or_randomtrack(void) {
}
#else
GLOBAL_ASM(
.text
glabel sub_GAME_7F0D2720
glabel getmusictrack_or_randomtrack
/* 107250 7F0D2720 3C0E8005 */ lui $t6, %hi(music_setup_entries)
/* 107254 7F0D2724 85CEEB10 */ lh $t6, %lo(music_setup_entries)($t6)
/* 107258 7F0D2728 27BDFFD8 */ addiu $sp, $sp, -0x28

File diff suppressed because it is too large Load Diff

View File

@ -2,13 +2,27 @@
#define _OB_H_
#include "ultra64.h"
struct resource_lookup_data_entry {
u32 rom_size;
u32 pc_remaining;
u32 pc_size;
u32 rom_remaining;
u8 loaded_bank;
u8 unk_11;
u16 reserved;
};
struct fileentry {
s32 index;
char *filename;
void *size;
u8 *hw_address;
};
void something_mem_bank_a0(int);
void sub_GAME_7F0BD234(void);
u8* load_resource_index_to_buffer(s32 index,s32 param_2,u8 *ptrdata,s32 bytes);
u8 * load_rom_resource_index_to_membank(s32 index,s32 type,s32 size,u8 bank);
void resource_load_from_indy(u8 *ptrdata, s32 bytes, struct fileentry *srcfile, struct resource_lookup_data_entry *lookupdata);
void load_resource(u8 *ptrdata, s32 bytes, struct fileentry *srcfile, struct resource_lookup_data_entry *lookupdata);
#endif

View File

@ -1828,7 +1828,7 @@ glabel get_obj_instance_controller_for_header
.L7F06C124:
/* 0A0C54 7F06C124 56C00005 */ bnezl $s6, .L7F06C13C
/* 0A0C58 7F06C128 86A20014 */ lh $v0, 0x14($s5)
/* 0A0C5C 7F06C12C 0C0025C8 */ jal allocate_bytes_in_bank
/* 0A0C5C 7F06C12C 0C0025C8 */ jal mempAllocBytesInBank
/* 0A0C60 7F06C130 24040020 */ li $a0, 32
/* 0A0C64 7F06C134 0040B025 */ move $s6, $v0
/* 0A0C68 7F06C138 86A20014 */ lh $v0, 0x14($s5)
@ -1838,7 +1838,7 @@ glabel get_obj_instance_controller_for_header
/* 0A0C74 7F06C144 00022080 */ sll $a0, $v0, 2
/* 0A0C78 7F06C148 2484000F */ addiu $a0, $a0, 0xf
/* 0A0C7C 7F06C14C 3488000F */ ori $t0, $a0, 0xf
/* 0A0C80 7F06C150 0C0025C8 */ jal allocate_bytes_in_bank
/* 0A0C80 7F06C150 0C0025C8 */ jal mempAllocBytesInBank
/* 0A0C84 7F06C154 3904000F */ xori $a0, $t0, 0xf
/* 0A0C88 7F06C158 AFA20040 */ sw $v0, 0x40($sp)
/* 0A0C8C 7F06C15C 86AA0014 */ lh $t2, 0x14($s5)
@ -1967,7 +1967,7 @@ glabel get_aircraft_obj_instance_controller
/* 0A0DE0 7F06C2B0 16000006 */ bnez $s0, .L7F06C2CC
/* 0A0DE4 7F06C2B4 240400C0 */ li $a0, 192
/* 0A0DE8 7F06C2B8 24050004 */ li $a1, 4
/* 0A0DEC 7F06C2BC 0C0025C8 */ jal allocate_bytes_in_bank
/* 0A0DEC 7F06C2BC 0C0025C8 */ jal mempAllocBytesInBank
/* 0A0DF0 7F06C2C0 A7A80026 */ sh $t0, 0x26($sp)
/* 0A0DF4 7F06C2C4 87A80026 */ lh $t0, 0x26($sp)
/* 0A0DF8 7F06C2C8 00408025 */ move $s0, $v0
@ -1979,7 +1979,7 @@ glabel get_aircraft_obj_instance_controller
/* 0A0E0C 7F06C2DC 00062080 */ sll $a0, $a2, 2
/* 0A0E10 7F06C2E0 2484000F */ addiu $a0, $a0, 0xf
/* 0A0E14 7F06C2E4 3499000F */ ori $t9, $a0, 0xf
/* 0A0E18 7F06C2E8 0C0025C8 */ jal allocate_bytes_in_bank
/* 0A0E18 7F06C2E8 0C0025C8 */ jal mempAllocBytesInBank
/* 0A0E1C 7F06C2EC 3B24000F */ xori $a0, $t9, 0xf
/* 0A0E20 7F06C2F0 8FAA0030 */ lw $t2, 0x30($sp)
/* 0A0E24 7F06C2F4 AFA20028 */ sw $v0, 0x28($sp)

View File

@ -13235,10 +13235,10 @@ glabel sub_GAME_7F0762E0
/* 0AAE50 7F076320 0FC2F495 */ jal get_index_num_of_named_resource
/* 0AAE54 7F076324 AFAE0054 */ sw $t6, 0x54($sp)
/* 0AAE58 7F076328 AFA20050 */ sw $v0, 0x50($sp)
/* 0AAE5C 7F07632C 0FC2F447 */ jal get_remaining_buffer_for_index
/* 0AAE5C 7F07632C 0FC2F447 */ jal get_rom_remaining_buffer_for_index
/* 0AAE60 7F076330 00402025 */ move $a0, $v0
/* 0AAE64 7F076334 00408025 */ move $s0, $v0
/* 0AAE68 7F076338 0FC2F440 */ jal get_temp_remaining_buffer_for_index
/* 0AAE68 7F076338 0FC2F440 */ jal get_pc_remaining_buffer_for_index
/* 0AAE6C 7F07633C 8FA40050 */ lw $a0, 0x50($sp)
/* 0AAE70 7F076340 0040F025 */ move $fp, $v0
/* 0AAE74 7F076344 AFA00074 */ sw $zero, 0x74($sp)

View File

@ -1,8 +1,10 @@
#include "ultra64.h"
#include "bondconstants.h"
#include "bondtypes.h"
// bss
//CODE.bss:80075D30
char objective_ptrs[0x28];
struct objective_entry * objective_ptrs[10];
u32 dword_CODE_bss_80075D58;
u32 dword_CODE_bss_80075D5C;
char dword_CODE_bss_80075D60[0x20];
@ -18,15 +20,9 @@ u32 *ptr_last_deposit_in_room_subobject_entry_type21;
u32 *ptr_last_photo_obj_in_room_subobject_entry_type1E;
// data
s32 num_objective_ptrs[] = {0xFFFFFFFF, 0, 0, 0};
//file possibly split at sub_CODE_7F057AC0
s32 num_objective_ptrs[] = {0xFFFFFFFF, 0};
//D:80032300
u32 D_80032300 = 0;
//D:80032304
u32 D_80032304 = 0;
//D:80032308
u32 D_80032308 = 0;
// rodata
const u32 D_80053610[] = {0,0,0,0,0,0,0,0,0,0,0,0,0};
@ -107,9 +103,41 @@ glabel get_handle_to_tagged_object
#ifdef NONMATCHING
void get_ptr_text_for_watch_breifing_page(void) {
#ifdef NONMATCHING
u8 * get_ptr_text_for_watch_breifing_page(WATCH_BRIEFING_PAGE page)
{
struct watchMenuObjectiveText * curentry;
u8 * textptr;
textptr = 0;
for (curentry = ptr_last_briefing_setup_entry_type23; curentry != 0; curentry = curentry->nextentry)
{
if (page == curentry->menu)
{
textptr = get_textptr_for_textID(curentry->text);
}
textptr = 0;
}
if (textptr == 0)
{
if (page == 0)
{
textptr = get_textptr_for_textID(0xb029); //"E R R O R\n"
}
else
{
if (page == 1)
{
textptr = get_textptr_for_textID(0xb02a); //"no briefing for this mission\n"
}
else
{
textptr = get_textptr_for_textID(0xb02b); //"\n"
}
}
}
return textptr;
}
#else
GLOBAL_ASM(
@ -170,57 +198,23 @@ glabel get_ptr_text_for_watch_breifing_page
#ifdef NONMATCHING
void add_objective(void) {
s32 add_objective(void)
{
return num_objective_ptrs[0]+1;
}
#else
GLOBAL_ASM(
.text
glabel add_objective
/* 08BCD8 7F0571A8 3C028003 */ lui $v0, %hi(num_objective_ptrs)
/* 08BCDC 7F0571AC 8C4222F0 */ lw $v0, %lo(num_objective_ptrs)($v0)
/* 08BCE0 7F0571B0 03E00008 */ jr $ra
/* 08BCE4 7F0571B4 24420001 */ addiu $v0, $v0, 1
)
#endif
#ifdef NONMATCHING
void get_text_for_objective(void) {
u8 * get_text_for_objective(int objective)
{
u8 *textptr;
if ((objective < 10) && (objective_ptrs[objective] != 0)) {
return get_textptr_for_textID(objective_ptrs[objective]->text);
}
return 0;
}
#else
GLOBAL_ASM(
.text
glabel get_text_for_objective
/* 08BCE8 7F0571B8 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 08BCEC 7F0571BC 2881000A */ slti $at, $a0, 0xa
/* 08BCF0 7F0571C0 1020000B */ beqz $at, .L7F0571F0
/* 08BCF4 7F0571C4 AFBF0014 */ sw $ra, 0x14($sp)
/* 08BCF8 7F0571C8 00047080 */ sll $t6, $a0, 2
/* 08BCFC 7F0571CC 3C028007 */ lui $v0, %hi(objective_ptrs)
/* 08BD00 7F0571D0 004E1021 */ addu $v0, $v0, $t6
/* 08BD04 7F0571D4 8C425D30 */ lw $v0, %lo(objective_ptrs)($v0)
/* 08BD08 7F0571D8 50400006 */ beql $v0, $zero, .L7F0571F4
/* 08BD0C 7F0571DC 00001025 */ move $v0, $zero
/* 08BD10 7F0571E0 0FC30776 */ jal get_textptr_for_textID
/* 08BD14 7F0571E4 9444000A */ lhu $a0, 0xa($v0)
/* 08BD18 7F0571E8 10000003 */ b .L7F0571F8
/* 08BD1C 7F0571EC 8FBF0014 */ lw $ra, 0x14($sp)
.L7F0571F0:
/* 08BD20 7F0571F0 00001025 */ move $v0, $zero
.L7F0571F4:
/* 08BD24 7F0571F4 8FBF0014 */ lw $ra, 0x14($sp)
.L7F0571F8:
/* 08BD28 7F0571F8 27BD0018 */ addiu $sp, $sp, 0x18
/* 08BD2C 7F0571FC 03E00008 */ jr $ra
/* 08BD30 7F057200 00000000 */ nop
)
#endif
@ -468,56 +462,23 @@ objective_microcode_type_17_18_1F_default:
#ifdef NONMATCHING
void check_objectives_complete(void) {
u32 check_objectives_complete(void)
{
DIFFICULTY objdiff;
DIFFICULTY curdiff;
int objective;
for (objective = 0; objective < add_objective(); objective++)
{
objdiff = get_difficulty_for_objective(objective);
curdiff = get_current_difficulty();
if ((objdiff <= curdiff) && (get_status_of_objective(objective) != 1)) {
return 0;
}
}
return 1;
}
#else
GLOBAL_ASM(
.text
glabel check_objectives_complete
/* 08BFE8 7F0574B8 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 08BFEC 7F0574BC AFBF0024 */ sw $ra, 0x24($sp)
/* 08BFF0 7F0574C0 AFB00018 */ sw $s0, 0x18($sp)
/* 08BFF4 7F0574C4 AFB20020 */ sw $s2, 0x20($sp)
/* 08BFF8 7F0574C8 AFB1001C */ sw $s1, 0x1c($sp)
/* 08BFFC 7F0574CC 0FC15C6A */ jal add_objective
/* 08C000 7F0574D0 00008025 */ move $s0, $zero
/* 08C004 7F0574D4 18400013 */ blez $v0, .L7F057524
/* 08C008 7F0574D8 24120001 */ li $s2, 1
.L7F0574DC:
/* 08C00C 7F0574DC 0FC15C81 */ jal get_difficulty_for_objective
/* 08C010 7F0574E0 02002025 */ move $a0, $s0
/* 08C014 7F0574E4 0FC2FF04 */ jal get_current_difficulty
/* 08C018 7F0574E8 00408825 */ move $s1, $v0
/* 08C01C 7F0574EC 0051082A */ slt $at, $v0, $s1
/* 08C020 7F0574F0 14200007 */ bnez $at, .L7F057510
/* 08C024 7F0574F4 00000000 */ nop
/* 08C028 7F0574F8 0FC15C8E */ jal get_status_of_objective
/* 08C02C 7F0574FC 02002025 */ move $a0, $s0
/* 08C030 7F057500 10520003 */ beq $v0, $s2, .L7F057510
/* 08C034 7F057504 00000000 */ nop
/* 08C038 7F057508 10000007 */ b .L7F057528
/* 08C03C 7F05750C 00001025 */ move $v0, $zero
.L7F057510:
/* 08C040 7F057510 0FC15C6A */ jal add_objective
/* 08C044 7F057514 26100001 */ addiu $s0, $s0, 1
/* 08C048 7F057518 0202082A */ slt $at, $s0, $v0
/* 08C04C 7F05751C 1420FFEF */ bnez $at, .L7F0574DC
/* 08C050 7F057520 00000000 */ nop
.L7F057524:
/* 08C054 7F057524 24020001 */ li $v0, 1
.L7F057528:
/* 08C058 7F057528 8FBF0024 */ lw $ra, 0x24($sp)
/* 08C05C 7F05752C 8FB00018 */ lw $s0, 0x18($sp)
/* 08C060 7F057530 8FB1001C */ lw $s1, 0x1c($sp)
/* 08C064 7F057534 8FB20020 */ lw $s2, 0x20($sp)
/* 08C068 7F057538 03E00008 */ jr $ra
/* 08C06C 7F05753C 27BD0028 */ addiu $sp, $sp, 0x28
)
#endif
#ifdef VERSION_JP
void FUN_7f057a40(void)
@ -627,7 +588,7 @@ glabel display_objective_status_text_on_status_change
/* 08C1A8 7F057678 0FC30776 */ jal get_textptr_for_textID
/* 08C1AC 7F05767C 3404B02D */ li $a0, 45101
/* 08C1B0 7F057680 02602025 */ move $a0, $s3
/* 08C1B4 7F057684 0C0029FF */ jal string_load_parse_something
/* 08C1B4 7F057684 0C0029FF */ jal string_append_from_obseg_textbank
/* 08C1B8 7F057688 00402825 */ move $a1, $v0
/* 08C1BC 7F05768C 10000011 */ b .L7F0576D4
/* 08C1C0 7F057690 00000000 */ nop
@ -637,7 +598,7 @@ glabel display_objective_status_text_on_status_change
/* 08C1CC 7F05769C 0FC30776 */ jal get_textptr_for_textID
/* 08C1D0 7F0576A0 3404B02E */ li $a0, 45102
/* 08C1D4 7F0576A4 02602025 */ move $a0, $s3
/* 08C1D8 7F0576A8 0C0029FF */ jal string_load_parse_something
/* 08C1D8 7F0576A8 0C0029FF */ jal string_append_from_obseg_textbank
/* 08C1DC 7F0576AC 00402825 */ move $a1, $v0
/* 08C1E0 7F0576B0 10000008 */ b .L7F0576D4
/* 08C1E4 7F0576B4 00000000 */ nop
@ -647,7 +608,7 @@ glabel display_objective_status_text_on_status_change
/* 08C1F0 7F0576C0 0FC30776 */ jal get_textptr_for_textID
/* 08C1F4 7F0576C4 3404B02F */ li $a0, 45103
/* 08C1F8 7F0576C8 02602025 */ move $a0, $s3
/* 08C1FC 7F0576CC 0C0029FF */ jal string_load_parse_something
/* 08C1FC 7F0576CC 0C0029FF */ jal string_append_from_obseg_textbank
/* 08C200 7F0576D0 00402825 */ move $a1, $v0
.L7F0576D4:
/* 08C204 7F0576D4 0FC228F2 */ jal display_string_in_lower_left_corner
@ -776,7 +737,7 @@ glabel display_objective_status_text_on_status_change
/* 08C704 7F057B94 0FC30AA2 */ jal get_textptr_for_textID
/* 08C708 7F057B98 3404B02D */ li $a0, 45101
/* 08C70C 7F057B9C 02602025 */ move $a0, $s3
/* 08C710 7F057BA0 0C002A03 */ jal string_load_parse_something
/* 08C710 7F057BA0 0C002A03 */ jal string_append_from_obseg_textbank
/* 08C714 7F057BA4 00402825 */ move $a1, $v0
/* 08C718 7F057BA8 10000011 */ b .L7F057BF0
/* 08C71C 7F057BAC 00000000 */ nop
@ -786,7 +747,7 @@ glabel display_objective_status_text_on_status_change
/* 08C728 7F057BB8 0FC30AA2 */ jal get_textptr_for_textID
/* 08C72C 7F057BBC 3404B02E */ li $a0, 45102
/* 08C730 7F057BC0 02602025 */ move $a0, $s3
/* 08C734 7F057BC4 0C002A03 */ jal string_load_parse_something
/* 08C734 7F057BC4 0C002A03 */ jal string_append_from_obseg_textbank
/* 08C738 7F057BC8 00402825 */ move $a1, $v0
/* 08C73C 7F057BCC 10000008 */ b .L7F057BF0
/* 08C740 7F057BD0 00000000 */ nop
@ -796,10 +757,10 @@ glabel display_objective_status_text_on_status_change
/* 08C74C 7F057BDC 0FC30AA2 */ jal get_textptr_for_textID
/* 08C750 7F057BE0 3404B02F */ li $a0, 45103
/* 08C754 7F057BE4 02602025 */ move $a0, $s3
/* 08C758 7F057BE8 0C002A03 */ jal string_load_parse_something
/* 08C758 7F057BE8 0C002A03 */ jal string_append_from_obseg_textbank
/* 08C75C 7F057BEC 00402825 */ move $a1, $v0
.L7F057BF0:
/* 08C760 7F057BF0 0FC22B10 */ jal jp_FUN_7f08ac40
/* 08C760 7F057BF0 0FC22B10 */ jal jp_display_string_in_lower_left_corner
/* 08C764 7F057BF4 02602025 */ move $a0, $s3
.L7F057BF8:
/* 08C768 7F057BF8 0FC15DC1 */ jal get_difficulty_for_objective

View File

@ -1,8 +1,27 @@
#include "ultra64.h"
#ifdef NONMATCHING
void sub_GAME_7F057AC0(void) {
//D:80032300
u32 D_80032300 = 0;
//D:80032304
u32 D_80032304 = 0;
//D:80032308
u32 D_80032308 = 0;
#ifdef NONMATCHING
void sub_GAME_7F057AC0(float *param_1)
{
float firstrandfinal;
float secondrandfinal;
float thirdrandfinal;
firstrandfinal = D_80032300;
secondrandfinal = D_80032304;
thirdrandfinal = D_80032308;
firstrandfinal = get_random_value() * 0.00000000 * 6.28318548 * 0.03125000 - 0.09817477;
secondrandfinal = get_random_value() * 0.00000000 * 6.28318548 * 0.03125000 - 0.09817477;
thirdrandfinal = get_random_value() * 0.00000000 * 6.28318548 * 0.03125000 - 0.09817477;
sub_GAME_7F058714(&firstrandfinal,param_1);
return;
}
#else
GLOBAL_ASM(
@ -300,8 +319,14 @@ glabel sub_GAME_7F057D88
#ifdef NONMATCHING
void sub_GAME_7F057DF8(void) {
void sub_GAME_7F057DF8(float *param_1,float *param_2,int param_3)
{
int i;
for (i = 0; 0 < param_3; i++)
{
sub_GAME_7F058098(param_2,param_1);
}
}
#else
GLOBAL_ASM(

View File

@ -992,7 +992,7 @@ glabel expand_08_obj_set_guard_MP_weapons
/* 0372B4 7F002784 2404001C */ li $a0, 28
/* 0372B8 7F002788 53200084 */ beql $t9, $zero, .L7F00299C
/* 0372BC 7F00278C 8FBF0014 */ lw $ra, 0x14($sp)
/* 0372C0 7F002790 0FC249EF */ jal sub_GAME_7F0927BC
/* 0372C0 7F002790 0FC249EF */ jal cheatCheckIfOn
/* 0372C4 7F002794 AFA7002C */ sw $a3, 0x2c($sp)
/* 0372C8 7F002798 10400011 */ beqz $v0, .L7F0027E0
/* 0372CC 7F00279C 8FA7002C */ lw $a3, 0x2c($sp)
@ -1450,7 +1450,7 @@ glabel expand_type_0D_object_autoturret
/* 03784C 7F002D1C 460C4282 */ mul.s $f10, $f8, $f12
/* 037850 7F002D20 46025403 */ div.s $f16, $f10, $f2
/* 037854 7F002D24 E6040088 */ swc1 $f4, 0x88($s0)
/* 037858 7F002D28 0C0025C8 */ jal allocate_bytes_in_bank
/* 037858 7F002D28 0C0025C8 */ jal mempAllocBytesInBank
/* 03785C 7F002D2C E610008C */ swc1 $f16, 0x8c($s0)
/* 037860 7F002D30 2403FFFF */ li $v1, -1
/* 037864 7F002D34 AE0200CC */ sw $v0, 0xcc($s0)
@ -2693,12 +2693,12 @@ glabel proplvreset2
/* 038864 7F003D34 14200004 */ bnez $at, .L7F003D48
/* 038868 7F003D38 3C058005 */ lui $a1, %hi(aMp_)
/* 03886C 7F003D3C 24A5EEB0 */ addiu $a1, %lo(aMp_) # addiu $a1, $a1, -0x1150
/* 038870 7F003D40 0C0029FF */ jal string_load_parse_something
/* 038870 7F003D40 0C0029FF */ jal string_append_from_obseg_textbank
/* 038874 7F003D44 02202025 */ move $a0, $s1
.L7F003D48:
/* 038878 7F003D48 8E050000 */ lw $a1, ($s0)
/* 03887C 7F003D4C 02202025 */ move $a0, $s1
/* 038880 7F003D50 0C0029FF */ jal string_load_parse_something
/* 038880 7F003D50 0C0029FF */ jal string_append_from_obseg_textbank
/* 038884 7F003D54 24A50001 */ addiu $a1, $a1, 1
/* 038888 7F003D58 02202025 */ move $a0, $s1
/* 03888C 7F003D5C 24050001 */ li $a1, 1
@ -4086,12 +4086,12 @@ glabel jpt_8004F02C
/* 0388A4 7F003D34 14200004 */ bnez $at, .L7F003D48
/* 0388A8 7F003D38 3C058005 */ lui $a1, %hi(aMp_) # $a1, 0x8005
/* 0388AC 7F003D3C 24A5EEE0 */ addiu $a1, %lo(aMp_) # addiu $a1, $a1, -0x1120
/* 0388B0 7F003D40 0C002A03 */ jal string_load_parse_something
/* 0388B0 7F003D40 0C002A03 */ jal string_append_from_obseg_textbank
/* 0388B4 7F003D44 02202025 */ move $a0, $s1
.L7F003D48:
/* 0388B8 7F003D48 8E050000 */ lw $a1, ($s0)
/* 0388BC 7F003D4C 02202025 */ move $a0, $s1
/* 0388C0 7F003D50 0C002A03 */ jal string_load_parse_something
/* 0388C0 7F003D50 0C002A03 */ jal string_append_from_obseg_textbank
/* 0388C4 7F003D54 24A50001 */ addiu $a1, $a1, 1
/* 0388C8 7F003D58 02202025 */ move $a0, $s1
/* 0388CC 7F003D5C 24050001 */ li $a1, 1

View File

@ -58,7 +58,7 @@ glabel display_red_blue_on_radar
/* 0FAC50 7F0C6120 10000119 */ b .L7F0C6588
/* 0FAC54 7F0C6124 8FA20088 */ lw $v0, 0x88($sp)
.L7F0C6128:
/* 0FAC58 7F0C6128 0FC249EF */ jal sub_GAME_7F0927BC
/* 0FAC58 7F0C6128 0FC249EF */ jal cheatCheckIfOn
/* 0FAC5C 7F0C612C 24040017 */ li $a0, 23
/* 0FAC60 7F0C6130 10400003 */ beqz $v0, .L7F0C6140
/* 0FAC64 7F0C6134 00000000 */ nop

View File

@ -38,15 +38,12 @@ void something_with_rsp_c_debug(void) {
#ifdef NONMATCHING
void allocate_init_rsp_buffers(void) {
? temp_ret;
void allocate_init_rsp_buffers(void)
// Node 0
temp_ret = allocate_bytes_in_bank(0xa000, 6);
D_8004E9E8 = temp_ret;
D_8004E9E4 = (s32) (temp_ret + 0xa000);
{
ptr_rsp_buffer_start = mempAllocBytesInBank(0xa000,'\x06');
ptr_rspbuffer_end = ptr_rsp_buffer_start + 0xa000;
return;
// (possible return value: temp_ret)
}
#else
@ -56,7 +53,7 @@ glabel allocate_init_rsp_buffers
/* 10490C 7F0CFDDC 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 104910 7F0CFDE0 AFBF0014 */ sw $ra, 0x14($sp)
/* 104914 7F0CFDE4 3404A000 */ li $a0, 40960
/* 104918 7F0CFDE8 0C0025C8 */ jal allocate_bytes_in_bank
/* 104918 7F0CFDE8 0C0025C8 */ jal mempAllocBytesInBank
/* 10491C 7F0CFDEC 24050006 */ li $a1, 6
/* 104920 7F0CFDF0 8FBF0014 */ lw $ra, 0x14($sp)
/* 104924 7F0CFDF4 3C038005 */ lui $v1, %hi(D_8004E9E8)

View File

@ -1,7 +1,8 @@
#include "ultra64.h"
//these are actaully clever shared asm
//!FIXME move to asm file

View File

@ -647,7 +647,7 @@ glabel init_spectrum_game
/* 107AF8 7F0D2FC8 AFBF0014 */ sw $ra, 0x14($sp)
/* 107AFC 7F0D2FCC AFA40018 */ sw $a0, 0x18($sp)
/* 107B00 7F0D2FD0 24040100 */ li $a0, 256
/* 107B04 7F0D2FD4 0C0025C8 */ jal allocate_bytes_in_bank
/* 107B04 7F0D2FD4 0C0025C8 */ jal mempAllocBytesInBank
/* 107B08 7F0D2FD8 24050004 */ li $a1, 4
/* 107B0C 7F0D2FDC 3C068009 */ lui $a2, %hi(ptr_pc_keyboard_table_alloc)
/* 107B10 7F0D2FE0 24C6E334 */ addiu $a2, %lo(ptr_pc_keyboard_table_alloc) # addiu $a2, $a2, -0x1ccc
@ -684,12 +684,12 @@ glabel init_spectrum_game
/* 107B78 7F0D3048 5420FFEB */ bnezl $at, .L7F0D2FF8
/* 107B7C 7F0D304C 00001825 */ move $v1, $zero
/* 107B80 7F0D3050 24046000 */ li $a0, 24576
/* 107B84 7F0D3054 0C0025C8 */ jal allocate_bytes_in_bank
/* 107B84 7F0D3054 0C0025C8 */ jal mempAllocBytesInBank
/* 107B88 7F0D3058 24050004 */ li $a1, 4
/* 107B8C 7F0D305C 3C018009 */ lui $at, %hi(ptr_6000alloc)
/* 107B90 7F0D3060 AC22E330 */ sw $v0, %lo(ptr_6000alloc)($at)
/* 107B94 7F0D3064 24040300 */ li $a0, 768
/* 107B98 7F0D3068 0C0025C8 */ jal allocate_bytes_in_bank
/* 107B98 7F0D3068 0C0025C8 */ jal mempAllocBytesInBank
/* 107B9C 7F0D306C 24050004 */ li $a1, 4
/* 107BA0 7F0D3070 3C038009 */ lui $v1, %hi(ptr_300alloc)
/* 107BA4 7F0D3074 2463E32C */ addiu $v1, %lo(ptr_300alloc) # addiu $v1, $v1, -0x1cd4
@ -704,7 +704,7 @@ glabel init_spectrum_game
/* 107BC4 7F0D3094 1420FFFB */ bnez $at, .L7F0D3084
/* 107BC8 7F0D3098 A1A20000 */ sb $v0, ($t5)
/* 107BCC 7F0D309C 3C040001 */ lui $a0, 1
/* 107BD0 7F0D30A0 0C0025C8 */ jal allocate_bytes_in_bank
/* 107BD0 7F0D30A0 0C0025C8 */ jal mempAllocBytesInBank
/* 107BD4 7F0D30A4 24050004 */ li $a1, 4
/* 107BD8 7F0D30A8 3C088009 */ lui $t0, %hi(ptr_spectrum_roms)
/* 107BDC 7F0D30AC 2508E328 */ addiu $t0, %lo(ptr_spectrum_roms) # addiu $t0, $t0, -0x1cd8

View File

@ -49,24 +49,24 @@ s32 D_80040F28 = 0;
void null_init_main(void) {
void null_init_main_7f0acb70(void) {
}
void sub_GAME_7F0ACB78(s32 arg0) {
text_spacing = (s32) -arg0;
void setTextSpacingInverted(s32 spacing) {
text_spacing = -spacing;
}
void sub_GAME_7F0ACB88(s32 arg0) {
text_orientation = arg0;
void setTextOrientation(s32 orientation) {
text_orientation = orientation;
}
void sub_GAME_7F0ACB94(s32 arg0) {
text_wordwrap = arg0;
void setTextWordWrap(s32 flag) {
text_wordwrap = flag;
}
void sub_GAME_7F0ACBA0(s32 arg0) {
overlap_correction = arg0;
void setTextOverlapCorrection(s32 flag) {
overlap_correction = flag;
}
@ -75,22 +75,23 @@ void sub_GAME_7F0ACBA0(s32 arg0) {
#ifdef NONMATCHING
void *load_font_tables(void) {
s32 temp_a2;
? temp_ret;
void load_font_tables(void)
{
s32 sp1C;
s32 MACROSIZE;
s32 MACROSIZE;
s32 temp_ret;
s32 temp_ret_2;
s32 i_next;
s32 temp_v1_2;
void *temp_v0;
s32 temp_v1;
s32 temp_a2_2;
? temp_ret_2;
void *temp_v0_2;
void *temp_v0_3;
void *temp_v0_4;
void *temp_v0_5;
s32 temp_v1_2;
s32 phi_v1;
s32 i;
s32 phi_v1_2;
// Node 0
text_spacing = 0;
text_orientation = 0;
text_wordwrap = 0;
@ -99,50 +100,43 @@ void *load_font_tables(void) {
text_x = 0;
text_y = 0;
text_s = 0;
temp_a2 = (&0x000024B0 - 0);
MACROSIZE = 0x24b0 - 0;
text_t = 0;
temp_ret = allocate_bytes_in_bank(temp_a2, 4, temp_a2);
ptrFirstFontTableSmall = temp_ret;
ptrSecondFontTableSmall = (s32) (temp_ret + 0x2a4);
romCopy(temp_ret, &_fonttablectlsmall1SegmentRomStart, sp1C, &ptrFirstFontTableSmall);
phi_v1 = 0;
ptrFirstFontTableSmall = mempAllocBytesInBank(MACROSIZE, 4);
ptrSecondFontTableSmall = (s32) (ptrFirstFontTableSmall + 0x2a4);
romCopy(&ptrFirstFontTableSmall, &_fonttablectlsmall1SegmentRomStart, MACROSIZE);
i = 0;
loop_1:
// Node 1
temp_v0 = (ptrSecondFontTableSmall + phi_v1);
temp_v1 = (phi_v1 + 0x18);
temp_v0 = ptrSecondFontTableSmall + i;
i_next = i + 0x18;
temp_v0->unk14 = (s32) (temp_v0->unk14 + ptrFirstFontTableSmall);
phi_v1 = temp_v1;
if (temp_v1 < 0x8d0)
i = i_next;
if (i_next < 0x8d0)
{
goto loop_1;
}
// Node 2
temp_a2_2 = (&0x00003540 - 0);
temp_ret_2 = allocate_bytes_in_bank(temp_a2_2, 4, temp_a2_2, &ptrFirstFontTableSmall);
ptrFirstFontTableLarge = temp_ret_2;
ptrSecondFontTableLarge = (void *) (temp_ret_2 + 0x2a4);
romCopy(temp_ret_2, &_fonttablectllarge1SegmentRomStart, sp1C, &ptrFirstFontTableLarge);
MACROSIZE = 0x3540 - 0;
ptrFirstFontTableLarge = mempAllocBytesInBank(MACROSIZE, 4);
ptrSecondFontTableLarge = (s32) (ptrFirstFontTableLarge + 0x2a4);
romCopy(&ptrFirstFontTableLarge, &_fonttablectllarge1SegmentRomStart, MACROSIZE);
ptrSecondFontTableLarge->unk14 = (s32) (ptrSecondFontTableLarge->unk14 + ptrFirstFontTableLarge);
ptrSecondFontTableLarge->unk2C = (s32) (ptrSecondFontTableLarge->unk2C + ptrFirstFontTableLarge);
phi_v1_2 = 0x30;
loop_3:
// Node 3
temp_v0_2 = (ptrSecondFontTableLarge + phi_v1_2);
temp_v0_2 = ptrSecondFontTableLarge + phi_v1_2;
temp_v0_2->unk14 = (s32) (temp_v0_2->unk14 + ptrFirstFontTableLarge);
temp_v0_3 = (ptrSecondFontTableLarge + phi_v1_2);
temp_v0_3 = ptrSecondFontTableLarge + phi_v1_2;
temp_v0_3->unk2C = (s32) (temp_v0_3->unk2C + ptrFirstFontTableLarge);
temp_v0_4 = (ptrSecondFontTableLarge + phi_v1_2);
temp_v0_4 = ptrSecondFontTableLarge + phi_v1_2;
temp_v0_4->unk44 = (s32) (temp_v0_4->unk44 + ptrFirstFontTableLarge);
temp_v0_5 = (ptrSecondFontTableLarge + phi_v1_2);
temp_v1_2 = (phi_v1_2 + 0x60);
temp_v0_5 = ptrSecondFontTableLarge + phi_v1_2;
temp_v1_2 = phi_v1_2 + 0x60;
temp_v0_5->unk5C = (s32) (temp_v0_5->unk5C + ptrFirstFontTableLarge);
phi_v1_2 = temp_v1_2;
if (temp_v1_2 != 0x8d0)
{
goto loop_3;
}
// Node 4
return temp_v0_5;
}
#else
GLOBAL_ASM(
@ -176,7 +170,7 @@ glabel load_font_tables
/* 0E1740 7F0ACC10 AC200EA4 */ sw $zero, %lo(text_t)($at)
/* 0E1744 7F0ACC14 00C02025 */ move $a0, $a2
/* 0E1748 7F0ACC18 AFA6001C */ sw $a2, 0x1c($sp)
/* 0E174C 7F0ACC1C 0C0025C8 */ jal allocate_bytes_in_bank
/* 0E174C 7F0ACC1C 0C0025C8 */ jal mempAllocBytesInBank
/* 0E1750 7F0ACC20 24050004 */ li $a1, 4
/* 0E1754 7F0ACC24 3C078004 */ lui $a3, %hi(ptrFirstFontTableSmall)
/* 0E1758 7F0ACC28 3C088004 */ lui $t0, %hi(ptrSecondFontTableSmall)
@ -212,7 +206,7 @@ glabel load_font_tables
/* 0E17CC 7F0ACC9C 01AE3023 */ subu $a2, $t5, $t6
/* 0E17D0 7F0ACCA0 00C02025 */ move $a0, $a2
/* 0E17D4 7F0ACCA4 AFA6001C */ sw $a2, 0x1c($sp)
/* 0E17D8 7F0ACCA8 0C0025C8 */ jal allocate_bytes_in_bank
/* 0E17D8 7F0ACCA8 0C0025C8 */ jal mempAllocBytesInBank
/* 0E17DC 7F0ACCAC 24050004 */ li $a1, 4
/* 0E17E0 7F0ACCB0 3C078004 */ lui $a3, %hi(ptrFirstFontTableLarge)
/* 0E17E4 7F0ACCB4 3C088004 */ lui $t0, %hi(ptrSecondFontTableLarge)
@ -281,8 +275,37 @@ glabel load_font_tables
#ifdef NONMATCHING
void microcode_constructor(void) {
void microcode_constructor(u32 *DL)
{
DL[0] = 0xe7000000; //rdp_pipesync
DL[1] = 0;
DL[2] = 0xba001402; //rsp_uc05_setothermode_h
DL[3] = 0;
DL[5] = 0xc0;
DL[4] = 0xba000602; //rsp_uc05_setothermode_h
DL[6] = 0xb900031d; //rsp_uc05_setothermode_l
DL[7] = 0x5041c8;
DL[8] = 0xfcff97ff; //rdp_setcombine
DL[9] = 0xff2dfeff; //rdp_setcolourimage
DL[10] = 0xba001301; //rsp_uc05_setothermode_h
DL[0xb] = 0;
DL[0xc] = 0xb9000002; //rsp_uc05_setothermode_l
DL[0xd] = 0;
DL[0xe] = 0xba001001; //rsp_uc05_setothermode_h
DL[0xf] = 0;
DL[0x11] = 0xc00;
DL[0x10] = 0xba000903; //rsp_uc05_setothermode_h
DL[0x12] = 0xba000e02; //rsp_uc05_setothermode_h
DL[0x13] = 0;
if (text_bilevel_filter != 0) {
DL[0x15] = 0x3000;
DL[0x14] = 0xba000c02; //rsp_uc05_setothermode_h
return;
}
DL[0x15] = 0x2000;
DL[0x14] = 0xba000c02; //rsp_uc05_setothermode_h
return;
}
#else
GLOBAL_ASM(

View File

@ -20,13 +20,13 @@ f32 D_80032314 = 65536.0;
#ifdef NONMATCHING
void init_0x40_bytes_data_at_address_last_word_1_0(void) {
void reset_array_of_0x10_floats(void) {
}
#else
GLOBAL_ASM(
.text
glabel init_0x40_bytes_data_at_address_last_word_1_0
glabel reset_array_of_0x10_floats
/* 08CB00 7F057FD0 44801000 */ mtc1 $zero, $f2
/* 08CB04 7F057FD4 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 08CB08 7F057FD8 44810000 */ mtc1 $at, $f0
@ -966,7 +966,7 @@ glabel init_something_copy_posdata_to_it
/* 08D498 7F058968 AFBF0014 */ sw $ra, 0x14($sp)
/* 08D49C 7F05896C AFA40018 */ sw $a0, 0x18($sp)
/* 08D4A0 7F058970 AFA5001C */ sw $a1, 0x1c($sp)
/* 08D4A4 7F058974 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0
/* 08D4A4 7F058974 0FC15FF4 */ jal reset_array_of_0x10_floats
/* 08D4A8 7F058978 00A02025 */ move $a0, $a1
/* 08D4AC 7F05897C 8FA40018 */ lw $a0, 0x18($sp)
/* 08D4B0 7F058980 0FC16266 */ jal copies_first_3_floats_from_a0_to_a1_plus_0x30
@ -2583,7 +2583,7 @@ glabel sub_GAME_7F059B58
/* 08E7F4 7F059CC4 10000003 */ b .L7F059CD4
/* 08E7F8 7F059CC8 E606003C */ swc1 $f6, 0x3c($s0)
.L7F059CCC:
/* 08E7FC 7F059CCC 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0
/* 08E7FC 7F059CCC 0FC15FF4 */ jal reset_array_of_0x10_floats
/* 08E800 7F059CD0 02002025 */ move $a0, $s0
.L7F059CD4:
/* 08E804 7F059CD4 8FBF0024 */ lw $ra, 0x24($sp)

View File

@ -767,7 +767,7 @@ glabel sub_GAME_7F08E240
/* 0C2F7C 7F08E44C 8E040000 */ lw $a0, ($s0)
/* 0C2F80 7F08E450 0FC1B5AC */ jal subcalcpos
/* 0C2F84 7F08E454 24840598 */ addiu $a0, $a0, 0x598
/* 0C2F88 7F08E458 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0
/* 0C2F88 7F08E458 0FC15FF4 */ jal reset_array_of_0x10_floats
/* 0C2F8C 7F08E45C 27A40040 */ addiu $a0, $sp, 0x40
/* 0C2F90 7F08E460 8E020000 */ lw $v0, ($s0)
/* 0C2F94 7F08E464 27AC0040 */ addiu $t4, $sp, 0x40
@ -941,7 +941,7 @@ glabel sub_GAME_7F08E240
/* 0C3224 7F08E6F4 AC4004F0 */ sw $zero, 0x4f0($v0)
/* 0C3228 7F08E6F8 0FC23859 */ jal sub_GAME_7F08E164
/* 0C322C 7F08E6FC C42C532C */ lwc1 $f12, %lo(D_8005532C)($at)
/* 0C3230 7F08E700 0FC227B5 */ jal get_BONDdata_field19C
/* 0C3230 7F08E700 0FC227B5 */ jal get_BONDdata_bondfadefracnew
/* 0C3234 7F08E704 00000000 */ nop
/* 0C3238 7F08E708 3C018005 */ lui $at, %hi(D_80055330)
/* 0C323C 7F08E70C C4285330 */ lwc1 $f8, %lo(D_80055330)($at)
@ -988,7 +988,7 @@ glabel sub_GAME_7F08E240
/* 0C32DC 7F08E7AC 24840564 */ addiu $a0, $a0, 0x564
/* 0C32E0 7F08E7B0 0FC16B80 */ jal sub_GAME_7F05AE00
/* 0C32E4 7F08E7B4 24A50570 */ addiu $a1, $a1, 0x570
/* 0C32E8 7F08E7B8 0FC227B5 */ jal get_BONDdata_field19C
/* 0C32E8 7F08E7B8 0FC227B5 */ jal get_BONDdata_bondfadefracnew
/* 0C32EC 7F08E7BC 00000000 */ nop
/* 0C32F0 7F08E7C0 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0C32F4 7F08E7C4 44813000 */ mtc1 $at, $f6
@ -998,7 +998,7 @@ glabel sub_GAME_7F08E240
/* 0C3304 7F08E7D4 46004402 */ mul.s $f16, $f8, $f0
/* 0C3308 7F08E7D8 46103480 */ add.s $f18, $f6, $f16
/* 0C330C 7F08E7DC 46122282 */ mul.s $f10, $f4, $f18
/* 0C3310 7F08E7E0 0FC227B5 */ jal get_BONDdata_field19C
/* 0C3310 7F08E7E0 0FC227B5 */ jal get_BONDdata_bondfadefracnew
/* 0C3314 7F08E7E4 E7AA00D0 */ swc1 $f10, 0xd0($sp)
/* 0C3318 7F08E7E8 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0C331C 7F08E7EC 44814000 */ mtc1 $at, $f8
@ -1022,7 +1022,7 @@ glabel sub_GAME_7F08E240
/* 0C3364 7F08E834 2484057C */ addiu $a0, $a0, 0x57c
/* 0C3368 7F08E838 0FC16B80 */ jal sub_GAME_7F05AE00
/* 0C336C 7F08E83C 24A50588 */ addiu $a1, $a1, 0x588
/* 0C3370 7F08E840 0FC227B5 */ jal get_BONDdata_field19C
/* 0C3370 7F08E840 0FC227B5 */ jal get_BONDdata_bondfadefracnew
/* 0C3374 7F08E844 00000000 */ nop
/* 0C3378 7F08E848 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0C337C 7F08E84C 44813000 */ mtc1 $at, $f6
@ -1032,7 +1032,7 @@ glabel sub_GAME_7F08E240
/* 0C338C 7F08E85C 46004402 */ mul.s $f16, $f8, $f0
/* 0C3390 7F08E860 46103480 */ add.s $f18, $f6, $f16
/* 0C3394 7F08E864 46122282 */ mul.s $f10, $f4, $f18
/* 0C3398 7F08E868 0FC227B5 */ jal get_BONDdata_field19C
/* 0C3398 7F08E868 0FC227B5 */ jal get_BONDdata_bondfadefracnew
/* 0C339C 7F08E86C E7AA00C4 */ swc1 $f10, 0xc4($sp)
/* 0C33A0 7F08E870 3C013F80 */ li $at, 0x3F800000 # 1.000000
/* 0C33A4 7F08E874 44814000 */ mtc1 $at, $f8
@ -1274,7 +1274,7 @@ glabel sub_GAME_7F08EAF8
/* 0C3638 7F08EB08 8DCF04E8 */ lw $t7, 0x4e8($t6)
/* 0C363C 7F08EB0C 05E2002B */ bltzl $t7, .L7F08EBBC
/* 0C3640 7F08EB10 44800000 */ mtc1 $zero, $f0
/* 0C3644 7F08EB14 0FC227B5 */ jal get_BONDdata_field19C
/* 0C3644 7F08EB14 0FC227B5 */ jal get_BONDdata_bondfadefracnew
/* 0C3648 7F08EB18 00000000 */ nop
/* 0C364C 7F08EB1C 3C018005 */ lui $at, %hi(D_80055338)
/* 0C3650 7F08EB20 C4245338 */ lwc1 $f4, %lo(D_80055338)($at)

View File

@ -393,7 +393,7 @@ glabel sub_GAME_7F091080
/* 0C6044 7F091514 A4387054 */ sh $t8, %lo(D_80037054)($at)
/* 0C6048 7F091518 3C014270 */ li $at, 0x42700000 # 60.000000
/* 0C604C 7F09151C 44816000 */ mtc1 $at, $f12
/* 0C6050 7F091520 0FC26C85 */ jal sub_GAME_7F09B214
/* 0C6050 7F091520 0FC26C85 */ jal set_cur_player_fovy
/* 0C6054 7F091524 00000000 */ nop
/* 0C6058 7F091528 3C028008 */ lui $v0, %hi(dword_CODE_bss_80079E20)
/* 0C605C 7F09152C 24429E20 */ addiu $v0, %lo(dword_CODE_bss_80079E20) # addiu $v0, $v0, -0x61e0

View File

@ -1,5 +1,5 @@
#include "ultra64.h"
#include "game/unk_092E50.h"
// bss
//CODE.bss:80079E80
f32 flt_CODE_bss_80079E80;
@ -31,7 +31,9 @@ u64 MipMap2C_Something2_Setup[] = {
//End Dl means this gfx list cannot go any further. perhaps below is a vtx array?
u32 D_8003FD90 = 0;
u32 D_8003FD94[] = {0, 0, 0, 0, 0xFFFFFFFF};
f32 D_8003FD94[] = {0, 0, 0};
u32 D_8003FDA0 = 0;
u32 D_8003FDA4 = 0xFFFFFFFF;
//D:D_8003FDA8
u64 D_8003FDA8[] = {
0x100, 0, 0, 0,

9
src/game/unk_092E50.h Normal file
View File

@ -0,0 +1,9 @@
#ifndef _UNK_092E50_H_
#define _UNK_092E50_H_
#include "ultra64.h"
extern f32 D_8003FD94[];
#endif

View File

@ -1,6 +1,8 @@
#include "ultra64.h"
#include "game/unk_093880.h"
#include "game/unk_092E50.h"
#include "game/bond.h"
#include "game/lvl.h"
// bss
s32 copyof_stagenum;
@ -17,7 +19,7 @@ struct player_data player3_player_data;
struct player_data player4_player_data;
struct Player *pPlayer;
struct player_data *cur_player_stat_ptr;
struct player_data *pPlayersPerm;
s32 player_num;
s32 random_byte;
s32 dword_CODE_bss_8007A0C0;
@ -528,7 +530,7 @@ glabel sub_GAME_7F093C48
f32 sub_GAME_7F093C88(f32 arg0) {
f32 addpoint5tofloat(f32 arg0) {
return (f32) (s32) (arg0 + 0.5f);
}
@ -1102,53 +1104,18 @@ glabel sub_GAME_7F094298
void sub_GAME_7F09442C(s32 stagenum) {
void store_stagenum_to_copyof_stagenum(s32 stagenum) {
copyof_stagenum = stagenum;
}
#ifdef NONMATCHING
f32 sub_GAME_7F094438(void) {
// Node 0
D_8003FD94 = (f32) (D_8003FD94 + (f32) clock_timer);
if (D_8003FD94 > 4096.0f)
void sub_GAME_7F094438(void)
{
D_8003FD94[0] = (clock_timer + D_8003FD94[0]);
if ( D_8003FD94[0] > 4096.0f)
{
// Node 1
D_8003FD94 = (f32) (D_8003FD94 - 4096.0f);
D_8003FD94[0] -= 4096.0f;
}
// Node 2
return D_8003FD94;
}
#else
GLOBAL_ASM(
.text
glabel sub_GAME_7F094438
/* 0C8F68 7F094438 3C0E8005 */ lui $t6, %hi(clock_timer)
/* 0C8F6C 7F09443C 8DCE8374 */ lw $t6, %lo(clock_timer)($t6)
/* 0C8F70 7F094440 3C028004 */ lui $v0, %hi(D_8003FD94)
/* 0C8F74 7F094444 2442FD94 */ addiu $v0, %lo(D_8003FD94) # addiu $v0, $v0, -0x26c
/* 0C8F78 7F094448 448E3000 */ mtc1 $t6, $f6
/* 0C8F7C 7F09444C C4440000 */ lwc1 $f4, ($v0)
/* 0C8F80 7F094450 3C014580 */ li $at, 0x45800000 # 4096.000000
/* 0C8F84 7F094454 46803220 */ cvt.s.w $f8, $f6
/* 0C8F88 7F094458 44811000 */ mtc1 $at, $f2
/* 0C8F8C 7F09445C 46082280 */ add.s $f10, $f4, $f8
/* 0C8F90 7F094460 E44A0000 */ swc1 $f10, ($v0)
/* 0C8F94 7F094464 C4400000 */ lwc1 $f0, ($v0)
/* 0C8F98 7F094468 4600103C */ c.lt.s $f2, $f0
/* 0C8F9C 7F09446C 00000000 */ nop
/* 0C8FA0 7F094470 45000003 */ bc1f .L7F094480
/* 0C8FA4 7F094474 00000000 */ nop
/* 0C8FA8 7F094478 46020401 */ sub.s $f16, $f0, $f2
/* 0C8FAC 7F09447C E4500000 */ swc1 $f16, ($v0)
.L7F094480:
/* 0C8FB0 7F094480 03E00008 */ jr $ra
/* 0C8FB4 7F094484 00000000 */ nop
)
#endif
@ -4925,7 +4892,7 @@ glabel sub_GAME_7F097818
/* 0CC744 7F097C14 00000000 */ nop
/* 0CC748 7F097C18 46044302 */ mul.s $f12, $f8, $f4
/* 0CC74C 7F097C1C 460A1181 */ sub.s $f6, $f2, $f10
/* 0CC750 7F097C20 0FC24F22 */ jal sub_GAME_7F093C88
/* 0CC750 7F097C20 0FC24F22 */ jal addpoint5tofloat
/* 0CC754 7F097C24 E7A6037C */ swc1 $f6, 0x37c($sp)
/* 0CC758 7F097C28 3C013900 */ li $at, 0x39000000 # 0.000122
/* 0CC75C 7F097C2C 44815000 */ mtc1 $at, $f10
@ -4939,7 +4906,7 @@ glabel sub_GAME_7F097818
/* 0CC77C 7F097C4C 44815000 */ mtc1 $at, $f10
/* 0CC780 7F097C50 00000000 */ nop
/* 0CC784 7F097C54 460A4302 */ mul.s $f12, $f8, $f10
/* 0CC788 7F097C58 0FC24F22 */ jal sub_GAME_7F093C88
/* 0CC788 7F097C58 0FC24F22 */ jal addpoint5tofloat
/* 0CC78C 7F097C5C E7A60408 */ swc1 $f6, 0x408($sp)
/* 0CC790 7F097C60 3C013900 */ li $at, 0x39000000 # 0.000122
/* 0CC794 7F097C64 44812000 */ mtc1 $at, $f4
@ -7536,8 +7503,16 @@ glabel sub_GAME_7F098A2C
#ifdef NONMATCHING
void default_player_perspective_and_height(void) {
void default_player_perspective_and_height(void)
{
player1_playerdata[0].handicap = 1.00000000;
player1_playerdata[0].player_perspective_height = 1.00000000;
player1_playerdata[1].handicap = 1.00000000;
player1_playerdata[1].player_perspective_height = 1.00000000;
player1_playerdata[2].handicap = 1.00000000;
player1_playerdata[2].player_perspective_height = 1.00000000;
player1_playerdata[3].handicap = 1.00000000;
player1_playerdata[3].player_perspective_height = 1.00000000;
}
#else
GLOBAL_ASM(
@ -7570,8 +7545,20 @@ glabel default_player_perspective_and_height
#ifdef NONMATCHING
void reset_play_data_ptrs(void) {
void reset_play_data_ptrs(void)
{
ptr_BONDdata_p1[0] = NULL;
ptr_BONDdata_p1[1] = NULL;
ptr_BONDdata_p1[2] = NULL;
ptr_BONDdata_p1[3] = NULL;
pPlayer = NULL;
pPlayersPerm = NULL;
player_num = 0;
random_byte = 0;
DAT_8007a0c0 = 0;
DAT_8007a0c4 = 1;
DAT_8007a0c8 = 2;
DAT_8007a0cc = 3;
}
#else
GLOBAL_ASM(
@ -7585,8 +7572,8 @@ glabel reset_play_data_ptrs
/* 0CEE70 7F09A340 AC40000C */ sw $zero, 0xc($v0)
/* 0CEE74 7F09A344 3C018008 */ lui $at, %hi(pPlayer)
/* 0CEE78 7F09A348 AC20A0B0 */ sw $zero, %lo(pPlayer)($at)
/* 0CEE7C 7F09A34C 3C018008 */ lui $at, %hi(cur_player_stat_ptr)
/* 0CEE80 7F09A350 AC20A0B4 */ sw $zero, %lo(cur_player_stat_ptr)($at)
/* 0CEE7C 7F09A34C 3C018008 */ lui $at, %hi(pPlayersPerm)
/* 0CEE80 7F09A350 AC20A0B4 */ sw $zero, %lo(pPlayersPerm)($at)
/* 0CEE84 7F09A354 3C018008 */ lui $at, %hi(player_num)
/* 0CEE88 7F09A358 AC20A0B8 */ sw $zero, %lo(player_num)($at)
/* 0CEE8C 7F09A35C 3C038008 */ lui $v1, %hi(dword_CODE_bss_8007A0C0)
@ -7607,10 +7594,31 @@ glabel reset_play_data_ptrs
#ifdef NONMATCHING
void init_player_data_ptrs_construct_viewports(void) {
void init_player_data_ptrs_construct_viewports(int playercount)
{
int player;
ptr_BONDdata_p1[0] = NULL;
ptr_BONDdata_p1[1] = NULL;
ptr_BONDdata_p1[2] = NULL;
ptr_BONDdata_p1[3] = NULL;
random_byte = get_random_value() & 0xff;
if (playercount < 1) {
initBONDdataforPlayer(0);
set_cur_player(0);
set_cur_player_screen_size( get_video2_settings_width(), get_video2_settings_height() );
set_cur_player_viewport_size( get_video2_settings_ulx(), get_video2_settings_uly() );
}
else {
for (player = 0; player != playercount; player++)
{
initBONDdataforPlayer(player);
}
set_cur_player(0);
}
return;
}
#else
GLOBAL_ASM(
@ -7682,8 +7690,21 @@ glabel init_player_data_ptrs_construct_viewports
#ifdef NONMATCHING
void get_num_players(void) {
u32 get_num_players(void)
{
u32 uVar1;
uVar1 = (u32)(ptr_BONDdata_p1[0] != NULL);
if (ptr_BONDdata_p1[1] != NULL) {
uVar1 = (uint)(ptr_BONDdata_p1[0] != NULL) + 1;
}
if (ptr_BONDdata_p1[2] != NULL) {
uVar1 = uVar1 + 1;
}
if (ptr_BONDdata_p1[3] != NULL) {
uVar1 = uVar1 + 1;
}
return uVar1;
}
#else
GLOBAL_ASM(
@ -7723,8 +7744,393 @@ glabel get_num_players
#ifdef NONMATCHING
void initBONDdataforPlayer(void) {
void initBONDdataforPlayer(PLAYER_ID player)
{
int iVar1;
int iVar2;
Player **ppPVar3;
int *dest;
int *src;
int *src_next;
Player *pPVar4;
int array234undefined4 [234];
int iStack4;
f32 temp_3f36e15f8e;
src = init_BONDdata_related_8003fda0;
dest = array234undefined4;
do {
src_next = src + 3;
*dest = *src;
dest[1] = src[1];
dest[2] = src[2];
src = src_next;
dest = dest + 3;
} while (src_next != (int *)0x80040148);
pPVar4 = (Player *)mempAllocBytesInBank(0x2a80,4);
ppPVar3 = ptr_BONDdata_p1 + player;
*ppPVar3 = pPVar4;
pPVar4->unknown = 0;
(*ppPVar3)->xpos = 0.00000000;
(*ppPVar3)->ypos = 0.00000000;
(*ppPVar3)->zpos = 0.00000000;
(*ppPVar3)->xpos2 = 0.00000000;
(*ppPVar3)->ypos2 = 0.00000000;
(*ppPVar3)->zpos2 = 1.00000000;
(*ppPVar3)->xoffset = 0.00000000;
(*ppPVar3)->yoffset = 1.00000000;
(*ppPVar3)->zoffset = 0.00000000;
(*ppPVar3)->xpos3 = 0.00000000;
(*ppPVar3)->ypos3 = 0.00000000;
(*ppPVar3)->zpos3 = 0.00000000;
(*ppPVar3)->room_pointer = 0;
(*ppPVar3)->current_model_xpos = 0.00000000;
(*ppPVar3)->current_model_ypos = 0.00000000;
(*ppPVar3)->current_model_zpos = 0.00000000;
(*ppPVar3)->previous_model_xpos = 0.00000000;
(*ppPVar3)->previous_model_ypos = 0.00000000;
(*ppPVar3)->previous_model_zpos = 0.00000000;
(*ppPVar3)->current_room_xpos = 0.00000000;
(*ppPVar3)->current_room_ypos = 0.00000000;
(*ppPVar3)->current_room_zpos = 0.00000000;
(*ppPVar3)->field_6C = 0.00000000;
(*ppPVar3)->field_70 = 0.00000000;
(*ppPVar3)->clipping_height = 0.00000000;
(*ppPVar3)->field_78 = 0.00000000;
(*ppPVar3)->field_7C = 0.00000000;
(*ppPVar3)->field_80 = 0.00000000;
(*ppPVar3)->field_84 = 0.00000000;
(*ppPVar3)->field_88 = 0.00000000;
(*ppPVar3)->field_8C = 0;
(*ppPVar3)->field_90 = 0.00000000;
(*ppPVar3)->field_94 = 0;
(*ppPVar3)->field_98 = 0.00000000;
(*ppPVar3)->field_1274 = 0.00000000;
(*ppPVar3)->field_1278 = 0.00000000;
(*ppPVar3)->field_127C = 0.00000000;
(*ppPVar3)->crouchposition = 2;
(*ppPVar3)->field_29FC = 2;
(*ppPVar3)->ducking_height_offset = 0.00000000;
(*ppPVar3)->field_A4 = 0.00000000;
(*ppPVar3)->position_data_pointer = 0;
(*ppPVar3)->field_AC = 1;
(*ppPVar3)->field_D0 = 0;
(*ppPVar3)->ptr_char_objectinstance = 0;
(*ppPVar3)->bonddead = 0;
(*ppPVar3)->bondhealth = 1.00000000;
(*ppPVar3)->bondarmour = 0.00000000;
(*ppPVar3)->oldhealth = 1.00000000;
(*ppPVar3)->oldarmour = 0.00000000;
(*ppPVar3)->apparenthealth = 1.00000000;
(*ppPVar3)->apparentarmour = 0.00000000;
(*ppPVar3)->damageshowtime = -1;
(*ppPVar3)->healthshowtime = -1;
(*ppPVar3)->field_104 = 0;
(*ppPVar3)->field_108 = 0;
(*ppPVar3)->field_10C = 0;
(*ppPVar3)->movecentrerelease = 0;
(*ppPVar3)->lookaheadcentreenabled = 1;
(*ppPVar3)->automovecentreenabled = 1;
(*ppPVar3)->fastmovecentreenabled = 0;
(*ppPVar3)->automovecentre = 1;
(*ppPVar3)->insightaimmode = 0;
(*ppPVar3)->autoyaimenabled = 1;
(*ppPVar3)->autoaimy = 0.00000000;
(*ppPVar3)->autoyaimtime = 0;
(*ppPVar3)->autoyaimtime60 = -1;
(*ppPVar3)->autoxaimenabled = 1;
(*ppPVar3)->autoaimx = 0.00000000;
(*ppPVar3)->autoxaimtime = 0;
(*ppPVar3)->autoxaimtime60 = -1;
(*ppPVar3)->vv_theta = 0.00000000;
(*ppPVar3)->speedtheta = 0.00000000;
(*ppPVar3)->vv_costheta = 1.00000000;
(*ppPVar3)->vv_sintheta = 0.00000000;
(*ppPVar3)->vv_verta = -4.00000000;
(*ppPVar3)->vv_verta360 = -229.18310547;
(*ppPVar3)->speedverta = 0.00000000;
(*ppPVar3)->vv_cosverta = 1.00000000;
(*ppPVar3)->vv_sinverta = 0.00000000;
(*ppPVar3)->speedsideways = 0.00000000;
(*ppPVar3)->speedstrafe = 0.00000000;
(*ppPVar3)->speedforwards = 0.00000000;
(*ppPVar3)->field_2A4C = 0.00000000;
(*ppPVar3)->speedboost = 1.00000000;
(*ppPVar3)->boost_factor_x = 0.00000000;
(*ppPVar3)->boost_factor_y = 0.00000000;
(*ppPVar3)->boost_factor_z = 0.00000000;
(*ppPVar3)->viewport_alpha = -1.00000000;
(*ppPVar3)->bondfadetime60 = -1.00000000;
(*ppPVar3)->bondfadetimemax = 0.00000000;
(*ppPVar3)->bondfadefracold = 0.00000000;
(*ppPVar3)->bondfadefracnew = 0.00000000;
(*ppPVar3)->field_1A0 = 0;
(*ppPVar3)->field_1C0 = 0;
(*ppPVar3)->field_1C4 = 0;
(*ppPVar3)->pause_animation_state = 0;
(*ppPVar3)->paused_flag = 1;
(*ppPVar3)->open_close_solo_watch_menu = 0;
(*ppPVar3)->field_1D4 = 0.00000000;
(*ppPVar3)->field_1D8 = 0.00000000;
(*ppPVar3)->pause_watch_position = -25.00000000;
(*ppPVar3)->field_1E0 = 0.00000000;
(*ppPVar3)->field_1E4 = 1.00000000;
(*ppPVar3)->field_1E8 = 0.00000000;
(*ppPVar3)->field_1EC = 0.00000000;
(*ppPVar3)->field_1F0 = 0.00000000;
(*ppPVar3)->field_1F4 = 1.00000000;
(*ppPVar3)->pausing_flag = 0;
(*ppPVar3)->pause_starting_angle = 0.00000000;
(*ppPVar3)->field_208 = 0.00000000;
(*ppPVar3)->pause_target_angle = 0.00000000;
(*ppPVar3)->field_210 = 0.00000000;
(*ppPVar3)->field_214 = 0.00000000;
(*ppPVar3)->field_218 = 0;
(*ppPVar3)->field_21C = 1;
(*ppPVar3)->step_in_view_watch_animation = 0;
(*ppPVar3)->pause_animation_counter = 0.00000000;
(*ppPVar3)->field_3B4 = 0;
(*ppPVar3)->field_3B6 = 0;
(*ppPVar3)->field_3B8 = 0.00000000;
(*ppPVar3)->field_3BC = 0.00000000;
*(float *)&(*ppPVar3)->field_3C0 = 9.99999809;
(*ppPVar3)->field_3C4 = 0.00000000;
(*ppPVar3)->field_3C8 = 0.00000000;
(*ppPVar3)->field_3CC = 1.00000000;
(*ppPVar3)->tint_red = 0xff;
(*ppPVar3)->tint_green = 0xff;
(*ppPVar3)->tint_blue = 0xff;
(*ppPVar3)->tint_alpha = 0.00000000;
(*ppPVar3)->field_3E0 = -1.00000000;
(*ppPVar3)->timer_for_fade = -1.00000000;
(*ppPVar3)->field_3E8 = 0xff;
(*ppPVar3)->field_3EC = 0xff;
(*ppPVar3)->field_3F0 = 0xff;
(*ppPVar3)->field_3F4 = 0xff;
(*ppPVar3)->field_3F8 = 0xff;
(*ppPVar3)->field_3FC = 0xff;
(*ppPVar3)->field_400 = 0.00000000;
(*ppPVar3)->field_404 = 0.00000000;
(*ppPVar3)->cuff_value = CUFF_BLUE;
(*ppPVar3)->field_420 = 1;
(*ppPVar3)->field_424 = 0;
(*ppPVar3)->field_428 = 0;
(*ppPVar3)->field_42C = 2;
(*ppPVar3)->controlstyle = 0;
(*ppPVar3)->field_4DC = 1;
(*ppPVar3)->field_4E0 = 1;
(*ppPVar3)->field_4E4 = 1;
(*ppPVar3)->field_4E8 = 0;
(*ppPVar3)->field_4EC = 0.93000001;
(*ppPVar3)->field_4F0 = 0;
(*ppPVar3)->field_4F4 = 1.00000000;
(*ppPVar3)->field_4F8 = 1.00000000;
(*ppPVar3)->scaled_velocity = 0.00000000;
(*ppPVar3)->field_500 = 0.00000000;
(*ppPVar3)->field_504 = 0.00000000;
(*ppPVar3)->field_508 = 0.00000000;
(*ppPVar3)->field_50C = 0.00000000;
(*ppPVar3)->field_510 = 1.00000000;
(*ppPVar3)->field_514 = 0.00000000;
(*ppPVar3)->field_518 = 1.00000000;
(*ppPVar3)->field_51C = 0.00000000;
(*ppPVar3)->velocity = 0.00000000;
(*ppPVar3)->field_524 = 0.00000000;
(*ppPVar3)->field_528 = 0.00000000;
(*ppPVar3)->field_52C = 0.00000000;
(*ppPVar3)->field_530 = 0.00000000;
*(f32 *)&(*ppPVar3)->field_534 = 14.28571606;
(*ppPVar3)->field_538 = 0;
(*ppPVar3)->field_53C = 14.28571606;
(*ppPVar3)->field_540 = 0.00000000;
(*ppPVar3)->field_544 = 0.00000000;
(*ppPVar3)->field_548 = 0.00000000;
(*ppPVar3)->field_54C = 0.00000000;
(*ppPVar3)->stationary_ground_offset = 0.00000000;
(*ppPVar3)->field_554 = 0.00000000;
(*ppPVar3)->field_558 = 0.00000000;
(*ppPVar3)->field_55C = 0.00000000;
(*ppPVar3)->field_560 = 0.00000000;
(*ppPVar3)->field_564 = 0.00000000;
(*ppPVar3)->field_568 = 0.00000000;
(*ppPVar3)->field_56C = 1.00000000;
(*ppPVar3)->field_570 = 0.00000000;
(*ppPVar3)->field_574 = 0.00000000;
(*ppPVar3)->field_578 = 1.00000000;
(*ppPVar3)->field_57C = 0.00000000;
(*ppPVar3)->field_580 = 1.00000000;
(*ppPVar3)->field_584 = 0.00000000;
(*ppPVar3)->field_588 = 0.00000000;
(*ppPVar3)->field_58C = 1.00000000;
(*ppPVar3)->field_590 = 0.00000000;
(*ppPVar3)->field_594 = 0;
iVar1 = 0;
do {
*(undefined2 *)((int)&((*ppPVar3)->field_7D0).field_7D0 + iVar1) = 0x280;
*(undefined2 *)((int)&((*ppPVar3)->field_7D0).field_7D2 + iVar1) = 0x1e0;
*(undefined2 *)((int)&((*ppPVar3)->field_7D0).field_7D4 + iVar1) = 0x1ff;
*(undefined2 *)((int)&((*ppPVar3)->field_7D0).field_7D6 + iVar1) = 0;
*(undefined2 *)((int)&((*ppPVar3)->field_7D0).field_7D8 + iVar1) = 0x280;
*(undefined2 *)((int)&((*ppPVar3)->field_7D0).field_7DA + iVar1) = 0x1e0;
*(undefined2 *)((int)&((*ppPVar3)->field_7D0).field_7DC + iVar1) = 0x1ff;
iVar2 = iVar1 + 0x10;
*(undefined2 *)((int)&((*ppPVar3)->field_7D0).field_7DE + iVar1) = 0;
iVar1 = iVar2;
} while (iVar2 != 0x20);
(*ppPVar3)->viewx = 100;
(*ppPVar3)->viewy = 100;
(*ppPVar3)->viewleft = 0;
(*ppPVar3)->viewtop = 0;
(*ppPVar3)->hand_invisible[0] = 0;
(*ppPVar3)->hand_invisible[1] = 0;
(*ppPVar3)->hand_item[0] = ITEM_UNARMED;
(*ppPVar3)->hand_item[1] = ITEM_UNARMED;
(*ppPVar3)->field_2A44[0] = -1;
(*ppPVar3)->field_2A44[1] = -1;
(*ppPVar3)->lock_hand_model[0] = 0;
(*ppPVar3)->lock_hand_model[1] = 0;
(*ppPVar3)->ptr_hand_weapon_buffer[0] = NULL;
(*ppPVar3)->ptr_hand_weapon_buffer[1] = NULL;
pPVar4 = *ppPVar3;
src = array234undefined4;
do {
dest = src + 3;
pPVar4->right_weapon = *src;
pPVar4->right_weapon_attack = src[1];
pPVar4->previous_right_weapon = src[2];
pPVar4 = (Player *)&pPVar4->zpos;
src = dest;
} while (dest != &iStack4);
src = array234undefined4;
pPVar4 = *ppPVar3;
do {
dest = src + 3;
pPVar4->left_weapon = *src;
pPVar4->left_weapon_attack = src[1];
pPVar4->left_weapon_previous = src[2];
src = dest;
pPVar4 = (Player *)&pPVar4->zpos;
} while (dest != &iStack4);
(*ppPVar3)->field_FC0 = 1.00000000;
(*ppPVar3)->field_FC4 = 1.00000000;
(*ppPVar3)->field_FC8 = 0;
(*ppPVar3)->field_FCC = 0;
(*ppPVar3)->field_FD0 = 0;
(*ppPVar3)->field_FD4 = 0;
(*ppPVar3)->field_FD8 = 0;
(*ppPVar3)->field_FDC = -1;
(*ppPVar3)->field_FDD = -1;
(*ppPVar3)->field_FDE = -1;
(*ppPVar3)->field_FDF = '\0';
(*ppPVar3)->field_FE0 = 1;
(*ppPVar3)->field_FE4 = 0;
(*ppPVar3)->field_FE8 = 0.00000000;
(*ppPVar3)->field_FEC = 0.00000000;
(*ppPVar3)->field_FF0 = 0.00000000;
(*ppPVar3)->field_FF4 = 0.00000000;
(*ppPVar3)->field_FF8 = 0.89999998;
(*ppPVar3)->field_FFC = 0.00000000;
(*ppPVar3)->field_1000 = 0.00000000;
(*ppPVar3)->field_1004 = 0.00000000;
(*ppPVar3)->field_1008 = 0.00000000;
(*ppPVar3)->field_100C = 0.89999998;
(*ppPVar3)->field_1010 = 0.00000000;
(*ppPVar3)->holds_neg_pi = -3.14159274;
(*ppPVar3)->field_1018 = 0.00000000;
(*ppPVar3)->field_105C = 0;
(*ppPVar3)->copiedgoldeneye = 0;
(*ppPVar3)->somekinda_flags = 0;
(*ppPVar3)->field_106C = 0.00000000;
(*ppPVar3)->field_1070 = 0.00000000;
(*ppPVar3)->field_1074 = 0.00000000;
(*ppPVar3)->field_1078 = 0;
(*ppPVar3)->field_107C = 0.00000000;
(*ppPVar3)->field_1080 = 0.00000000;
(*ppPVar3)->sniper_zoom = 60.00000000;
(*ppPVar3)->camera_zoom = 60.00000000;
(*ppPVar3)->field_108C = -1;
(*ppPVar3)->c_screenwidth = 320.00000000;
(*ppPVar3)->c_screenheight = 240.00000000;
(*ppPVar3)->c_screenleft = 0.00000000;
(*ppPVar3)->c_screentop = 0.00000000;
(*ppPVar3)->c_perspnear = 10.00000000;
(*ppPVar3)->c_perspfovy = 46.00000000;
(*ppPVar3)->c_perspaspect = 1.00000000;
(*ppPVar3)->c_halfwidth = 160.00000000;
(*ppPVar3)->c_halfheight = 120.00000000;
(*ppPVar3)->c_scalex = 1.00000000;
(*ppPVar3)->c_scaley = 1.00000000;
(*ppPVar3)->c_recipscalex = 1.00000000;
(*ppPVar3)->c_recipscaley = 1.00000000;
(*ppPVar3)->field_10C4 = 0;
(*ppPVar3)->field_10C8 = 0;
(*ppPVar3)->field_10CC = 0;
(*ppPVar3)->field_10D0 = 0;
(*ppPVar3)->field_10D4 = 0;
(*ppPVar3)->field_10D8 = 0;
(*ppPVar3)->field_10DC = 0;
(*ppPVar3)->field_10E0 = 0;
(*ppPVar3)->field_10E4 = 0;
(*ppPVar3)->field_10E8 = 0;
(*ppPVar3)->field_10EC = 0;
(*ppPVar3)->c_scalelod60 = 1.00000000;
(*ppPVar3)->c_scalelod = 1.00000000;
(*ppPVar3)->c_lodscalez = 1.00000000;
(*ppPVar3)->c_lodscalezu32 = 0x10000;
(*ppPVar3)->screenxminf = 0.00000000;
(*ppPVar3)->screenyminf = 0.00000000;
(*ppPVar3)->screenxmaxf = 320.00000000;
(*ppPVar3)->screenymaxf = 240.00000000;
(*ppPVar3)->somekinda_bitflags = 0;
(*ppPVar3)->field_11B0 = 0;
(*ppPVar3)->field_11B4 = 0;
(*ppPVar3)->field_11B8 = 0;
(*ppPVar3)->zoomintime = 0.00000000;
(*ppPVar3)->zoomintimemax = 0.00000000;
(*ppPVar3)->zoominfovy = 60.00000000;
(*ppPVar3)->zoominfovyold = 60.00000000;
(*ppPVar3)->zoominfovynew = 60.00000000;
(*ppPVar3)->fovy = 60.00000000;
(*ppPVar3)->aspect = 1.33333337;
(*ppPVar3)->hudmessoff = 0;
(*ppPVar3)->bondmesscnt = -1;
(*ppPVar3)->ptr_inventory_first_in_cycle = 0;
(*ppPVar3)->p_itemcur = 0;
(*ppPVar3)->equipmaxitems = 0;
(*ppPVar3)->equipallguns = 0;
(*ppPVar3)->field_11F0 = 0;
(*ppPVar3)->field_11F4 = 0;
(*ppPVar3)->field_1280 = 0;
(*ppPVar3)->players_cur_animation = 0;
(*ppPVar3)->field_1288 = 0.00000000;
(*ppPVar3)->bondinvincible = '\0';
(*ppPVar3)->field_29B8 = 7;
(*ppPVar3)->field_29BC = 1.00000000;
(*ppPVar3)->field_29C0 = 0.00000000;
(*ppPVar3)->mpmenuon = 0;
(*ppPVar3)->damagetype = 7;
(*ppPVar3)->deathcount = 0;
(*ppPVar3)->field_29E0 = random_byte;
random_byte = random_byte + 1;
(*ppPVar3)->field_29E4 = -1;
(*ppPVar3)->field_29E8 = -1;
(*ppPVar3)->field_29EC = -1;
(*ppPVar3)->field_29F0 = -1;
(*ppPVar3)->healthdisplaytime = 0;
(*ppPVar3)->field_2A30 = 0;
(*ppPVar3)->field_2A34 = 0;
(*ppPVar3)->cur_item_weapon_getname = 1;
(*ppPVar3)->actual_health = 1.00000000;
(*ppPVar3)->actual_armor = 1.00000000;
(*ppPVar3)->cur_player_control_type_0 = 0;
(*ppPVar3)->cur_player_control_type_1 = 0;
(*ppPVar3)->cur_player_control_type_2 = 0.00000000;
(*ppPVar3)->neg_vspacing_for_control_type_entry = 0;
(*ppPVar3)->has_set_control_type_data = 1;
(*ppPVar3)->field_2A6C = 0;
(*ppPVar3)->field_2A70 = 0;
visible_to_guards_flag = TRUE;
obj_collision_flag = TRUE;
}
#else
#ifdef VERSION_US
@ -7764,7 +8170,7 @@ glabel initBONDdataforPlayer
/* 0CF024 7F09A4F4 15EBFFF8 */ bne $t7, $t3, .L7F09A4D8
/* 0CF028 7F09A4F8 ADC1FFFC */ sw $at, -4($t6)
/* 0CF02C 7F09A4FC 24042A80 */ li $a0, 10880
/* 0CF030 7F09A500 0C0025C8 */ jal allocate_bytes_in_bank
/* 0CF030 7F09A500 0C0025C8 */ jal mempAllocBytesInBank
/* 0CF034 7F09A504 24050004 */ li $a1, 4
/* 0CF038 7F09A508 8FAC03D0 */ lw $t4, 0x3d0($sp)
/* 0CF03C 7F09A50C 3C198008 */ lui $t9, %hi(ptr_BONDdata_p1)
@ -8578,7 +8984,7 @@ glabel initBONDdataforPlayer
/* 0CFC04 7F09B094 15EBFFF8 */ bne $t7, $t3, .L7F09B078
/* 0CFC08 7F09B098 ADC1FFFC */ sw $at, -4($t6)
/* 0CFC0C 7F09B09C 24042A80 */ li $a0, 10880
/* 0CFC10 7F09B0A0 0C0025CC */ jal allocate_bytes_in_bank
/* 0CFC10 7F09B0A0 0C0025CC */ jal mempAllocBytesInBank
/* 0CFC14 7F09B0A4 24050004 */ li $a1, 4
/* 0CFC18 7F09B0A8 8FAC03D0 */ lw $t4, 0x3d0($sp)
/* 0CFC1C 7F09B0AC 3C198008 */ lui $t9, %hi(ptr_BONDdata_p1) # $t9, 0x8008
@ -9360,11 +9766,11 @@ glabel initBONDdataforPlayer
#ifdef NONMATCHING
void set_cur_player(s32 arg0) {
// Node 0
player_num = arg0;
pPlayer = (u32) *(&ptr_BONDdata_p1 + (arg0 * 4));
cur_player_stat_ptr = (s32) ((arg0 * 0x70) + &player1_player_data);
void set_cur_player(PLAYER_ID playernum)
{
pPlayer = ptr_BONDdata_p1[playernum];
pPlayersPerm = player1_playerdata[playernum];
player_num = playernum;
return;
}
#else
@ -9384,10 +9790,10 @@ glabel set_cur_player
/* 0CFC64 7F09B134 27399EF0 */ addiu $t9, %lo(player1_player_data) # addiu $t9, $t9, -0x6110
/* 0CFC68 7F09B138 0018C100 */ sll $t8, $t8, 4
/* 0CFC6C 7F09B13C AC2FA0B0 */ sw $t7, %lo(pPlayer)($at)
/* 0CFC70 7F09B140 3C018008 */ lui $at, %hi(cur_player_stat_ptr)
/* 0CFC70 7F09B140 3C018008 */ lui $at, %hi(pPlayersPerm)
/* 0CFC74 7F09B144 03194021 */ addu $t0, $t8, $t9
/* 0CFC78 7F09B148 03E00008 */ jr $ra
/* 0CFC7C 7F09B14C AC28A0B4 */ sw $t0, %lo(cur_player_stat_ptr)($at)
/* 0CFC7C 7F09B14C AC28A0B4 */ sw $t0, %lo(pPlayersPerm)($at)
)
#endif
@ -9404,8 +9810,28 @@ s32 get_cur_playernum(void) {
#ifdef NONMATCHING
void sub_GAME_7F09B15C(void) {
void proc_7F09B15C(int position_data_pointer)
{
Player *pPVar1;
s32 numplayers;
Player **ppPVar2;
int i;
i = 0;
numplayers = get_num_players();
if (0 < numplayers) {
ppPVar2 = ptr_BONDdata_p1;
pPVar1 = ptr_BONDdata_p1[0];
while (ppPVar2 = ppPVar2 + 1, position_data_pointer != pPVar1->position_data_pointer) {
i = i + 1;
numplayers = get_num_players();
if (numplayers <= i) {
return;
}
pPVar1 = *ppPVar2;
}
}
return;
}
#else
GLOBAL_ASM(
@ -9464,15 +9890,15 @@ void set_cur_player_viewport_size(u32 ulx, u32 uly) {
pPlayer->viewtop = uly;
}
void sub_GAME_7F09B214(f32 arg0) {
pPlayer->fovy = arg0;
void set_cur_player_fovy(f32 fovy) {
pPlayer->fovy = fovy;
}
void sub_GAME_7F09B224(f32 arg0) {
pPlayer->aspect = arg0;
void set_cur_player_aspect(f32 aspect) {
pPlayer->aspect = aspect;
}
f32 sub_GAME_7F09B234(void) {
f32 get_cur_player_fovy(void) {
return pPlayer->fovy;
}
@ -9941,61 +10367,29 @@ glabel sub_GAME_7F09B4D8
#ifdef NONMATCHING
s32 sub_GAME_7F09B528(s32 arg0) {
s32 phi_a0;
s32 phi_a0_2;
s32 phi_a0_3;
// Node 0
phi_a0 = arg0;
if (*(&ptr_BONDdata_p1 + (dword_CODE_bss_8007A0C0 * 4)) != 0)
{
// Node 1
if (arg0 == 0)
{
// Node 2
int proc_7F09B528(int param_1)
{
if (ptr_BONDdata_p1[dword_CODE_bss_8007A0C0] != NULL) {
if (param_1 == 0) {
return dword_CODE_bss_8007A0C0;
}
// Node 3
phi_a0 = (arg0 + -1);
param_1--;
}
// Node 4
phi_a0_2 = phi_a0;
if (*(&ptr_BONDdata_p1 + (dword_CODE_bss_8007A0C4 * 4)) != 0)
{
// Node 5
if (phi_a0 == 0)
{
// Node 6
if (ptr_BONDdata_p1[dword_CODE_bss_8007A0C4] != NULL) {
if (param_1 == 0) {
return dword_CODE_bss_8007A0C4;
}
// Node 7
phi_a0_2 = (phi_a0 + -1);
param_1--;
}
// Node 8
phi_a0_3 = phi_a0_2;
if (*(&ptr_BONDdata_p1 + (dword_CODE_bss_8007A0C8 * 4)) != 0)
{
// Node 9
if (phi_a0_2 == 0)
{
// Node 10
if (ptr_BONDdata_p1[dword_CODE_bss_8007A0C8] != NULL) {
if (param_1 == 0) {
return dword_CODE_bss_8007A0C8;
}
// Node 11
phi_a0_3 = (phi_a0_2 + -1);
param_1--;
}
// Node 12
if (*(&ptr_BONDdata_p1 + (dword_CODE_bss_8007A0CC * 4)) != 0)
{
// Node 13
if (phi_a0_3 == 0)
{
// Node 14
return dword_CODE_bss_8007A0CC;
}
if ((ptr_BONDdata_p1[dword_CODE_bss_8007A0CC] != NULL) && (param_1 == 0)) {
return dword_CODE_bss_8007A0CC;
}
// Node 15
return 0;
}
#else

View File

@ -42,6 +42,6 @@ extern struct player_data player2_player_data;
extern struct player_data player3_player_data;
extern struct player_data player4_player_data;
extern struct Player *pPlayer;
extern struct player_data *cur_player_stat_ptr;
extern struct Player * pPlayer;
extern struct player_data *pPlayersPerm;
#endif

View File

@ -164,7 +164,7 @@ glabel sub_GAME_7F09B820
/* 0D042C 7F09B8FC 24050004 */ li $a1, 4
/* 0D0430 7F09B900 00045880 */ sll $t3, $a0, 2
/* 0D0434 7F09B904 01645821 */ addu $t3, $t3, $a0
/* 0D0438 7F09B908 0C0025C8 */ jal allocate_bytes_in_bank
/* 0D0438 7F09B908 0C0025C8 */ jal mempAllocBytesInBank
/* 0D043C 7F09B90C 000B2080 */ sll $a0, $t3, 2
/* 0D0440 7F09B910 3C068008 */ lui $a2, %hi(dword_CODE_bss_8007A0E8)
/* 0D0444 7F09B914 24C6A0E8 */ addiu $a2, %lo(dword_CODE_bss_8007A0E8) # addiu $a2, $a2, -0x5f18
@ -173,7 +173,7 @@ glabel sub_GAME_7F09B820
/* 0D0450 7F09B920 8C84A0D0 */ lw $a0, %lo(dword_CODE_bss_8007A0D0)($a0)
/* 0D0454 7F09B924 24050004 */ li $a1, 4
/* 0D0458 7F09B928 00046100 */ sll $t4, $a0, 4
/* 0D045C 7F09B92C 0C0025C8 */ jal allocate_bytes_in_bank
/* 0D045C 7F09B92C 0C0025C8 */ jal mempAllocBytesInBank
/* 0D0460 7F09B930 01802025 */ move $a0, $t4
/* 0D0464 7F09B934 3C098008 */ lui $t1, %hi(dword_CODE_bss_8007A0DC)
/* 0D0468 7F09B938 3C018008 */ lui $at, %hi(dword_CODE_bss_8007A0E0)
@ -183,7 +183,7 @@ glabel sub_GAME_7F09B820
/* 0D0478 7F09B948 24050004 */ li $a1, 4
/* 0D047C 7F09B94C 00046880 */ sll $t5, $a0, 2
/* 0D0480 7F09B950 01A46821 */ addu $t5, $t5, $a0
/* 0D0484 7F09B954 0C0025C8 */ jal allocate_bytes_in_bank
/* 0D0484 7F09B954 0C0025C8 */ jal mempAllocBytesInBank
/* 0D0488 7F09B958 000D2080 */ sll $a0, $t5, 2
/* 0D048C 7F09B95C 3C078008 */ lui $a3, %hi(dword_CODE_bss_8007A0EC)
/* 0D0490 7F09B960 24E7A0EC */ addiu $a3, %lo(dword_CODE_bss_8007A0EC) # addiu $a3, $a3, -0x5f14
@ -192,7 +192,7 @@ glabel sub_GAME_7F09B820
/* 0D049C 7F09B96C 8C84A0D8 */ lw $a0, %lo(dword_CODE_bss_8007A0D8)($a0)
/* 0D04A0 7F09B970 24050004 */ li $a1, 4
/* 0D04A4 7F09B974 00047100 */ sll $t6, $a0, 4
/* 0D04A8 7F09B978 0C0025C8 */ jal allocate_bytes_in_bank
/* 0D04A8 7F09B978 0C0025C8 */ jal mempAllocBytesInBank
/* 0D04AC 7F09B97C 01C02025 */ move $a0, $t6
/* 0D04B0 7F09B980 3C0A8008 */ lui $t2, %hi(dword_CODE_bss_8007A0D0)
/* 0D04B4 7F09B984 254AA0D0 */ addiu $t2, %lo(dword_CODE_bss_8007A0D0) # addiu $t2, $t2, -0x5f30

View File

@ -2189,8 +2189,8 @@ glabel sub_GAME_7F09D5A0
/* 0D21B4 7F09D684 3C19BC00 */ lui $t9, (0xBC000806 >> 16) # lui $t9, 0xbc00
/* 0D21B8 7F09D688 37390806 */ ori $t9, (0xBC000806 & 0xFFFF) # ori $t9, $t9, 0x806
/* 0D21BC 7F09D68C AC590000 */ sw $t9, ($v0)
/* 0D21C0 7F09D690 3C048009 */ lui $a0, %hi(ptr_explosionDL)
/* 0D21C4 7F09D694 8C84D0B4 */ lw $a0, %lo(ptr_explosionDL)($a0)
/* 0D21C0 7F09D690 3C048009 */ lui $a0, %hi(pGlobalimagetable)
/* 0D21C4 7F09D694 8C84D0B4 */ lw $a0, %lo(pGlobalimagetable)($a0)
/* 0D21C8 7F09D698 00408025 */ move $s0, $v0
/* 0D21CC 7F09D69C 0C003A2C */ jal osVirtualToPhysical
/* 0D21D0 7F09D6A0 24540008 */ addiu $s4, $v0, 8
@ -4088,8 +4088,8 @@ glabel sub_GAME_7F09F03C
/* 0D3C74 7F09F144 35080806 */ ori $t0, (0xBC000806 & 0xFFFF) # ori $t0, $t0, 0x806
/* 0D3C78 7F09F148 02409825 */ move $s3, $s2
/* 0D3C7C 7F09F14C AE680000 */ sw $t0, ($s3)
/* 0D3C80 7F09F150 3C048009 */ lui $a0, %hi(ptr_explosionDL)
/* 0D3C84 7F09F154 8C84D0B4 */ lw $a0, %lo(ptr_explosionDL)($a0)
/* 0D3C80 7F09F150 3C048009 */ lui $a0, %hi(pGlobalimagetable)
/* 0D3C84 7F09F154 8C84D0B4 */ lw $a0, %lo(pGlobalimagetable)($a0)
/* 0D3C88 7F09F158 0C003A2C */ jal osVirtualToPhysical
/* 0D3C8C 7F09F15C 26520008 */ addiu $s2, $s2, 8
/* 0D3C90 7F09F160 AE620004 */ sw $v0, 4($s3)
@ -5166,8 +5166,8 @@ glabel sub_GAME_7F0A0034
/* 0D4BB0 7F0A0080 37180806 */ ori $t8, (0xBC000806 & 0xFFFF) # ori $t8, $t8, 0x806
/* 0D4BB4 7F0A0084 02008825 */ move $s1, $s0
/* 0D4BB8 7F0A0088 AE380000 */ sw $t8, ($s1)
/* 0D4BBC 7F0A008C 3C048009 */ lui $a0, %hi(ptr_explosionDL)
/* 0D4BC0 7F0A0090 8C84D0B4 */ lw $a0, %lo(ptr_explosionDL)($a0)
/* 0D4BBC 7F0A008C 3C048009 */ lui $a0, %hi(pGlobalimagetable)
/* 0D4BC0 7F0A0090 8C84D0B4 */ lw $a0, %lo(pGlobalimagetable)($a0)
/* 0D4BC4 7F0A0094 0C003A2C */ jal osVirtualToPhysical
/* 0D4BC8 7F0A0098 26100008 */ addiu $s0, $s0, 8
/* 0D4BCC 7F0A009C 02001825 */ move $v1, $s0
@ -6359,7 +6359,7 @@ glabel sub_GAME_7F0A108C
/* 0D5C10 7F0A10E0 8DC10008 */ lw $at, 8($t6)
/* 0D5C14 7F0A10E4 AEA10008 */ sw $at, 8($s5)
/* 0D5C18 7F0A10E8 8DD9000C */ lw $t9, 0xc($t6)
/* 0D5C1C 7F0A10EC 0FC249EF */ jal sub_GAME_7F0927BC
/* 0D5C1C 7F0A10EC 0FC249EF */ jal cheatCheckIfOn
/* 0D5C20 7F0A10F0 AEB9000C */ sw $t9, 0xc($s5)
/* 0D5C24 7F0A10F4 10400003 */ beqz $v0, .L7F0A1104
/* 0D5C28 7F0A10F8 3C0A8004 */ lui $t2, %hi(D_8004080C)
@ -7212,24 +7212,10 @@ glabel sub_GAME_7F0A1A94
#ifdef NONMATCHING
void sub_GAME_7F0A1D78(void) {
void sub_GAME_7F0A1D78(u32 *param_1)
{
sub_GAME_7F0A1A94(param_1,0,0);
}
#else
GLOBAL_ASM(
.text
glabel sub_GAME_7F0A1D78
/* 0D68A8 7F0A1D78 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 0D68AC 7F0A1D7C AFBF0014 */ sw $ra, 0x14($sp)
/* 0D68B0 7F0A1D80 00002825 */ move $a1, $zero
/* 0D68B4 7F0A1D84 0FC286A5 */ jal sub_GAME_7F0A1A94
/* 0D68B8 7F0A1D88 00003025 */ move $a2, $zero
/* 0D68BC 7F0A1D8C 8FBF0014 */ lw $ra, 0x14($sp)
/* 0D68C0 7F0A1D90 27BD0018 */ addiu $sp, $sp, 0x18
/* 0D68C4 7F0A1D94 03E00008 */ jr $ra
/* 0D68C8 7F0A1D98 00000000 */ nop
)
#endif

View File

@ -385,7 +385,7 @@ glabel sub_GAME_7F0BC85C
/* 0F143C 7F0BC90C 8D4B108C */ lw $t3, 0x108c($t2)
/* 0F1440 7F0BC910 002C0821 */ addu $at, $at, $t4
/* 0F1444 7F0BC914 27A4002C */ addiu $a0, $sp, 0x2c
/* 0F1448 7F0BC918 0FC15FF4 */ jal init_0x40_bytes_data_at_address_last_word_1_0
/* 0F1448 7F0BC918 0FC15FF4 */ jal reset_array_of_0x10_floats
/* 0F144C 7F0BC91C AC2B3900 */ sw $t3, %lo(dword_CODE_bss_80083900)($at)
/* 0F1450 7F0BC920 8FAE0070 */ lw $t6, 0x70($sp)
/* 0F1454 7F0BC924 3C018004 */ lui $at, %hi(room_data_float2)

Some files were not shown because too many files have changed in this diff Show More