Update to support shifting, JP, ai macro work and more.

This commit is contained in:
KholdFuzion 2019-11-13 07:33:33 -06:00
parent 7dfe175f34
commit 499d6a5b2f
224 changed files with 115921 additions and 58482 deletions

15
.editorconfig Normal file
View File

@ -0,0 +1,15 @@
# To learn more about .editorconfig see https://aka.ms/editorconfigdocs
# All files
[*]
indent_style = space
indent_size = 4
tab_width = 4
end_of_line = lf
charset = latin1
trim_trailing_whitespace = true
insert_final_newline = true
curly_bracket_next_line = true
spaces_around_operators = true
indent_brace_style = Allman
continuation_indent_size = 4

12
.gitignore vendored
View File

@ -17,6 +17,7 @@ assets/animationtable_data.bin
assets/animationtable_entries.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.2A4D50.usedby7F008DE4.bin
@ -30,8 +31,19 @@ assets/obseg/chr/*.bin
assets/obseg/gun/*.bin
assets/obseg/prop/*.bin
assets/obseg/setup/*.bin
assets/obseg/setup/u/*.bin
assets/obseg/setup/j/*.bin
assets/obseg/stan/*.bin
assets/obseg/text/*.bin
assets/obseg/text/u/*.bin
assets/obseg/text/j/*.bin
assets/obseg/ob__ob_end.seg
assets/ramrom/*.bin
ge007.j.bin
ge007.j.elf
data_seg
021990.bin
.vscode/launch.json
0219D0.bin

100
Makefile
View File

@ -11,21 +11,17 @@ VERSION := US
COMPARE := 1
include assets/Makefile.obseg
include assets/Makefile.music
TOOLCHAIN := mips-linux-gnu-
QEMU_IRIX := tools/irix/qemu-irix
IRIX_ROOT := tools/irix/root
BUILD_DIR := build
BUILD_SUB_DIRS := \
src src/game src/rarezip 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
# create build directories
$(shell mkdir -p $(BUILD_DIR))
$(foreach subdir,$(BUILD_SUB_DIRS),$(shell mkdir -p $(BUILD_DIR)/$(subdir)))
# other tools
TOOLS_DIR := tools
DATASEG_COMP := $(TOOLS_DIR)/data_compress.sh
RZ_COMP := $(TOOLS_DIR)/1172compress.sh
N64CKSUM := $(TOOLS_DIR)/n64cksum
MAKEBG := $(TOOLS_DIR)/makebg.sh
SHA1SUM = sha1sum
ifeq ($(FINAL), YES)
OPTIMIZATION := -O2
@ -37,19 +33,41 @@ else
CFLAGWARNING :=-fullwarn -wlint
endif
ifeq ($(VERSION), US)
COUNTRYCODE := u
LCDEFS := -DVERSION_US
ASMDEFS := --defsym VERSION_US=1
endif
ifeq ($(VERSION), EU)
COUNTRYCODE := e
LCDEFS := -DVERSION_EU
else
ASMDEFS := --defsym VERSION_EU=1
endif
ifeq ($(VERSION), JP)
COUNTRYCODE := j
LCDEFS := -DVERSION_JP
else
COUNTRYCODE := u
LCDEFS := -DVERSION_US
endif
ASMDEFS := --defsym VERSION_JP=1
endif
BUILD_DIR := build/$(COUNTRYCODE)
include assets/Makefile.obseg
include assets/Makefile.music
BUILD_SUB_DIRS := \
src src/game src/rarezip 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
# create build directories
$(shell mkdir -p $(BUILD_DIR))
$(foreach subdir,$(BUILD_SUB_DIRS),$(shell mkdir -p $(BUILD_DIR)/$(subdir)))
APPELF := ge007.$(COUNTRYCODE).elf
APPROM := ge007.$(COUNTRYCODE).z64
@ -63,25 +81,25 @@ CODEOBJECTS := $(foreach file,$(CODEFILES),$(BUILD_DIR)/$(file:.c=.o))
LIBULTRA := lib/libultra_rom.a
ULTRAFILES := libultra/libultra.s
ULTRAOBJECTS := build/libultra/libultra.o
ULTRAOBJECTS := $(BUILD_DIR)/libultra/libultra.o
GAMEFILES := $(foreach dir,src/game,$(wildcard $(dir)/*.c))
GAMEOBJECTS := $(foreach file,$(GAMEFILES),$(BUILD_DIR)/$(file:.c=.o))
ROMFILES := assets/romfiles.s
ROMOBJECTS := build/assets/romfiles.o
ROMOBJECTS := $(BUILD_DIR)/assets/romfiles.o
RAMROM_FILES := assets/ramrom/ramrom.s
RAMROM_OBJECTS := build/assets/ramrom/ramrom.o
RAMROM_OBJECTS := $(BUILD_DIR)/assets/ramrom/ramrom.o
FONT_FILES := assets/font/font.s
FONT_OBJECTS := build/assets/font/font.o
FONT_OBJECTS := $(BUILD_DIR)/assets/font/font.o
MUSIC_FILES := assets/music/music.s
MUSIC_OBJECTS := build/assets/music/music.o
MUSIC_OBJECTS := $(BUILD_DIR)/assets/music/music.o
OBSEG_FILES := assets/obseg/ob_seg.s
OBSEG_OBJECTS := build/assets/obseg/ob_seg.o
OBSEG_OBJECTS := $(BUILD_DIR)/assets/obseg/ob_seg.o
OBSEG_RZ := $(BG_SEG_FILES) $(CHR_RZ_FILES) $(GUN_RZ_FILES) $(PROP_RZ_FILES) $(STAN_RZ_FILES) $(BRIEF_RZ_FILES) $(SETUP_RZ_FILES) $(TEXT_RZ_FILES)
IMAGE_BINS := $(foreach dir,assets/images/split,$(wildcard $(dir)/*.bin))
@ -92,25 +110,19 @@ RZOBJECTS := $(foreach file,$(RZFILES),$(BUILD_DIR)/src/$(file:.c=.o))
OBJECTS := $(CODEOBJECTS) $(GAMEOBJECTS) $(RZOBJECTS) $(OBSEGMENT) $(ROMOBJECTS) $(RAMROM_OBJECTS) $(FONT_OBJECTS) $(MUSIC_OBJECTS) $(IMAGE_OBJS)
# other tools
TOOLS_DIR := tools
DATASEG_COMP := $(TOOLS_DIR)/data_compress.sh
RZ_COMP := $(TOOLS_DIR)/1172compress.sh
N64CKSUM := $(TOOLS_DIR)/n64cksum
MAKEBG := $(TOOLS_DIR)/makebg.sh
SHA1SUM = sha1sum
INCLUDE := -I . -I include -I include/libultra -I src -I src/game -I src/rarezip
CC := $(QEMU_IRIX) -silent -L $(IRIX_ROOT) $(IRIX_ROOT)/usr/bin/cc
CFLAGS := -Wo,-loopunroll,0 -Wab,-r4300_mul -non_shared -G 0 -Xcpluscomm $(CFLAGWARNING) -woff 819,820,852,821 -signed $(INCLUDE) -mips2
CFLAGS := -Wo,-loopunroll,0 -Wab,-r4300_mul -non_shared -G 0 -Xcpluscomm $(CFLAGWARNING) -woff 819,820,852,821,838 -signed $(INCLUDE) -mips2 $(LCDEFS)
LD := $(TOOLCHAIN)ld
LD_SCRIPT := ge007.$(COUNTRYCODE).ld
LDFLAGS := -T undefined_syms.txt -T $(LD_SCRIPT) -Map $(BUILD_DIR)/ge007.$(COUNTRYCODE).map
LDFLAGS := -T undefined_syms.txt -T $(LD_SCRIPT) -Map build/ge007.$(COUNTRYCODE).map
AS := $(TOOLCHAIN)as
ASFLAGS := -march=vr4300 -mabi=32 $(INCLUDE)
ASFLAGS := -march=vr4300 -mabi=32 $(INCLUDE) $(ASMDEFS)
ASM_PREPROC := python3 tools/asmpreproc/asm-processor.py
OBJCOPY := $(TOOLCHAIN)objcopy
@ -134,46 +146,46 @@ clean:
$(HEADEROBJECTS) $(BOOTOBJECTS) $(CODEOBJECTS) $(GAMEOBJECTS) $(RZOBJECTS) \
$(OBSEG_OBJECTS) $(OBSEG_RZ) $(ROMOBJECTS) $(RAMROM_OBJECTS) $(FONT_OBJECTS) $(MUSIC_OBJECTS) $(IMAGE_OBJS) $(MUSIC_RZ_FILES)
build/%.o: src/%.s
$(BUILD_DIR)/%.o: src/%.s
$(AS) $(ASFLAGS) -o $@ $<
build/src/%.o: src/%.s
$(BUILD_DIR)/src/%.o: src/%.s
$(AS) $(ASFLAGS) -o $@ $<
build/assets/%.o: assets/%.s
$(BUILD_DIR)/assets/%.o: assets/%.s
$(AS) $(ASFLAGS) -o $@ $<
build/assets/ramrom/%.o: assets/ramrom/%.s
$(BUILD_DIR)/assets/ramrom/%.o: assets/ramrom/%.s
$(AS) $(ASFLAGS) -o $@ $<
build/assets/font/%.o: assets/font/%.s
$(BUILD_DIR)/assets/font/%.o: assets/font/%.s
$(AS) $(ASFLAGS) -o $@ $<
build/assets/obseg/%.o: assets/obseg/%.s
$(BUILD_DIR)/assets/obseg/%.o: assets/obseg/%.s $(OBSEG_RZ)
$(AS) $(ASFLAGS) -o $@ $<
$(BUILD_DIR)/assets/images/split/%.o: assets/images/split/%.bin
$(LD) -r -b binary $< -o $@
build/%.o: src/%.c
$(BUILD_DIR)/%.o: src/%.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/src/%.o: src/%.c
$(BUILD_DIR)/src/%.o: src/%.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/$(OBSEGMENT): $(OBSEG_RZ) $(IMAGE_OBJS)
$(BUILD_DIR)/$(OBSEGMENT): $(OBSEG_RZ) $(IMAGE_OBJS)
$(APPELF): $(ULTRAOBJECTS) $(HEADEROBJECTS) build/$(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) $(RAMROM_OBJECTS) $(FONT_OBJECTS) $(MUSIC_OBJECTS) $(OBSEG_OBJECTS)
$(LD) $(LDFLAGS) -o $@
$(APPBIN): $(APPELF)
$(OBJCOPY) $< $@ -O binary --gap-fill=0xff
$(APPROM): $(APPBIN)
$(DATASEG_COMP) $<
$(DATASEG_COMP) $< $(COUNTRYCODE)
$(N64CKSUM) $< $@
rm header.tmp

View File

@ -1,4 +1,4 @@
BUILD_DIR := build
BUILD_DIR := build/$(COUNTRYCODE)
OBSEGMENT := obsegment.o
OBSEG_DIR := assets/obseg

File diff suppressed because it is too large Load Diff

View File

@ -117,7 +117,15 @@ _musicsampletblSegmentRomEnd:
.section .musiccompressed
.global \name
\name:
.incbin "build\/assets\/music\/\name\.rz"
.ifdef VERSION_US
.incbin "build\/u\/assets\/music\/\name\.rz"
.endif
.ifdef VERSION_JP
.incbin "build\/j\/assets\/music\/\name\.rz"
.endif
.ifdef VERSION_EU
.incbin "build\/e\/assets\/music\/\name\.rz"
.endif
end_\name:
.section .musicdecompressed
@ -135,7 +143,15 @@ music_fileA is used for the entries that end with A....the A doesn't seem to be
.section .musiccompressed
.global \name
\name:
.incbin "build\/assets\/music\/\name\.rz"
.ifdef VERSION_US
.incbin "build\/u\/assets\/music\/\name\.rz"
.endif
.ifdef VERSION_JP
.incbin "build\/j\/assets\/music\/\name\.rz"
.endif
.ifdef VERSION_EU
.incbin "build\/e\/assets\/music\/\name\.rz"
.endif
.byte 0xA
end_\name:

View File

@ -9,12 +9,11 @@ $(BUILD_DIR)/$(OBSEG_DIR)/bg/%.bin: $(BUILD_DIR)/$(OBSEG_DIR)/bg/%.elf
$(OBJCOPY) $< $@ -O binary
$(BUILD_DIR)/$(OBSEG_DIR)/bg/%.elf: $(BUILD_DIR)/$(OBSEG_DIR)/bg/%.o
$(LD) -T assets/obseg/bg/bg_all_p.ld -o $@
rm build/assets/obseg/bg/bg_all_p.o
$(LD) -T assets/obseg/bg/bg_all_p.ld -o $@ $<
$(BUILD_DIR)/$(OBSEG_DIR)/bg/%.o: $(OBSEG_DIR)/bg/%.c
$(CC) -c $(CFLAGS) -o $@ -O2 $<
mv $@ build/assets/obseg/bg/bg_all_p.o
BG_SEG_FILES = \

View File

@ -9,12 +9,12 @@ $(BUILD_DIR)/$(OBSEG_DIR)/brief/%.bin: $(BUILD_DIR)/$(OBSEG_DIR)/brief/%.elf
$(OBJCOPY) $< $@ -O binary
$(BUILD_DIR)/$(OBSEG_DIR)/brief/%.elf: $(BUILD_DIR)/$(OBSEG_DIR)/brief/%.o
$(LD) -T assets/obseg/brief/Ubrief.ld -o $@
rm build/assets/obseg/brief/Ubrief.o
$(LD) -T assets/obseg/brief/Ubrief.ld -o $@ $<
$(BUILD_DIR)/$(OBSEG_DIR)/brief/%.o: $(OBSEG_DIR)/brief/%.c
$(CC) -c $(CFLAGS) -o $@ -O2 $<
mv $@ build/assets/obseg/brief/Ubrief.o
BRIEF_RZ_FILES = \
$(BUILD_DIR)/$(OBSEG_DIR)/brief/UbriefarchZ.rz \

View File

@ -9,12 +9,10 @@ $(BUILD_DIR)/$(OBSEG_DIR)/chr/%.bin: $(BUILD_DIR)/$(OBSEG_DIR)/chr/%.elf
$(OBJCOPY) $< $@ -O binary
$(BUILD_DIR)/$(OBSEG_DIR)/chr/%.elf: $(BUILD_DIR)/$(OBSEG_DIR)/chr/%.o
$(LD) -T assets/obseg/chr/Cname.ld -o $@
rm build/assets/obseg/chr/Cname.o
$(LD) -T assets/obseg/chr/Cname.ld -o $@ $<
$(BUILD_DIR)/$(OBSEG_DIR)/chr/%.o: $(OBSEG_DIR)/chr/%.c
$(CC) -c $(CFLAGS) -o $@ -O2 $<
mv $@ build/assets/obseg/chr/Cname.o
CHR_RZ_FILES = \
$(BUILD_DIR)/$(OBSEG_DIR)/chr/CarmourguardZ.rz \

View File

@ -9,12 +9,10 @@ $(BUILD_DIR)/$(OBSEG_DIR)/gun/%.bin: $(BUILD_DIR)/$(OBSEG_DIR)/gun/%.elf
$(OBJCOPY) $< $@ -O binary
$(BUILD_DIR)/$(OBSEG_DIR)/gun/%.elf: $(BUILD_DIR)/$(OBSEG_DIR)/gun/%.o
$(LD) -T assets/obseg/gun/Gname.ld -o $@
rm build/assets/obseg/gun/Gname.o
$(LD) -T assets/obseg/gun/Gname.ld -o $@ $<
$(BUILD_DIR)/$(OBSEG_DIR)/gun/%.o: $(OBSEG_DIR)/gun/%.c
$(CC) -c $(CFLAGS) -o $@ -O2 $<
mv $@ build/assets/obseg/gun/Gname.o
GUN_RZ_FILES = \
$(BUILD_DIR)/$(OBSEG_DIR)/gun/Gak47Z.rz \

View File

@ -9,12 +9,10 @@ $(BUILD_DIR)/$(OBSEG_DIR)/prop/%.bin: $(BUILD_DIR)/$(OBSEG_DIR)/prop/%.elf
$(OBJCOPY) $< $@ -O binary
$(BUILD_DIR)/$(OBSEG_DIR)/prop/%.elf: $(BUILD_DIR)/$(OBSEG_DIR)/prop/%.o
$(LD) -T assets/obseg/prop/Pname.ld -o $@
rm build/assets/obseg/prop/Pname.o
$(LD) -T assets/obseg/prop/Pname.ld -o $@ <$
$(BUILD_DIR)/$(OBSEG_DIR)/prop/%.o: $(OBSEG_DIR)/prop/%.c
$(CC) -c $(CFLAGS) -o $@ -O2 $<
mv $@ build/assets/obseg/prop/Pname.o
PROP_RZ_FILES = \
$(BUILD_DIR)/$(OBSEG_DIR)/prop/Pak47magZ.rz \

View File

@ -1,5 +1,8 @@
#setup
$(BUILD_DIR)/$(OBSEG_DIR)/setup/%.rz: $(OBSEG_DIR)/setup/$(COUNTRYCODE)/%.bin
$(RZ_COMP) $< $@
$(BUILD_DIR)/$(OBSEG_DIR)/setup/%.rz: $(OBSEG_DIR)/setup/%.bin
$(RZ_COMP) $< $@
@ -10,12 +13,10 @@ $(BUILD_DIR)/$(OBSEG_DIR)/setup/%.bin: $(BUILD_DIR)/$(OBSEG_DIR)/setup/%.elf
$(OBJCOPY) $< $@ -O binary
$(BUILD_DIR)/$(OBSEG_DIR)/setup/%.elf: $(BUILD_DIR)/$(OBSEG_DIR)/setup/%.o
$(LD) -T assets/obseg/setup/Usetup.ld -o $@
rm build/assets/obseg/setup/Usetup.o
$(LD) -T assets/obseg/setup/Usetup.ld -o $@ $<
$(BUILD_DIR)/$(OBSEG_DIR)/setup/%.o: $(OBSEG_DIR)/setup/%.c
$(CC) -c $(CFLAGS) -o $@ -O2 $<
mv $@ build/assets/obseg/setup/Usetup.o
SETUP_RZ_FILES = \
$(BUILD_DIR)/$(OBSEG_DIR)/setup/Ump_setupameZ.rz \

View File

@ -9,12 +9,10 @@ $(BUILD_DIR)/$(OBSEG_DIR)/stan/%.bin: $(BUILD_DIR)/$(OBSEG_DIR)/stan/%.elf
$(OBJCOPY) $< $@ -O binary
$(BUILD_DIR)/$(OBSEG_DIR)/stan/%.elf: $(BUILD_DIR)/$(OBSEG_DIR)/stan/%.o
$(LD) -T assets/obseg/stan/Tbg_name_all_p.ld -o $@
rm build/assets/obseg/stan/Tbg_name_all_p.o
$(LD) -T assets/obseg/stan/Tbg_name_all_p.ld -o $@ $<
$(BUILD_DIR)/$(OBSEG_DIR)/stan/%.o: $(OBSEG_DIR)/stan/%.c
$(CC) -c $(CFLAGS) -o $@ -O2 $<
mv $@ build/assets/obseg/stan/Tbg_name_all_p.o
STAN_RZ_FILES = \
$(BUILD_DIR)/$(OBSEG_DIR)/stan/Tbg_ame_all_p_stanZ.rz \

View File

@ -1,4 +1,7 @@
#text
$(BUILD_DIR)/$(OBSEG_DIR)/text/%.rz: $(OBSEG_DIR)/text/$(COUNTRYCODE)/%.bin
$(RZ_COMP) $< $@
$(BUILD_DIR)/$(OBSEG_DIR)/text/%.rz: $(OBSEG_DIR)/text/%.bin
$(RZ_COMP) $< $@
@ -9,12 +12,12 @@ $(BUILD_DIR)/$(OBSEG_DIR)/text/%.bin: $(BUILD_DIR)/$(OBSEG_DIR)/text/%.elf
$(OBJCOPY) $< $@ -O binary
$(BUILD_DIR)/$(OBSEG_DIR)/text/%.elf: $(BUILD_DIR)/$(OBSEG_DIR)/text/%.o
$(LD) -T assets/obseg/text/LnameX.ld -o $@
rm build/assets/obseg/text/LnameX.o
$(LD) -T assets/obseg/text/LnameX.ld -o $@ $<
$(BUILD_DIR)/$(OBSEG_DIR)/text/%.o: $(OBSEG_DIR)/text/%.c
$(CC) -c $(CFLAGS) -o $@ -O2 $<
mv $@ build/assets/obseg/text/LnameX.o
TEXT_RZ_FILES := \
$(BUILD_DIR)/$(OBSEG_DIR)/text/LameJ.rz \

View File

@ -6,7 +6,7 @@ SECTIONS
_UbgDataStart = ADDR(.data);
_UbgDataRomStart = 0x0000;
.data 0x0F000000 : AT(0x0000) {
build/assets/obseg/bg/bg_all_p.o (.data);
* (.data);
}
_UbgDataEnd = ADDR(.data) + SIZEOF(.data);
_UbgDataRomEnd = 0x0000 + SIZEOF(.data);

View File

@ -101,7 +101,9 @@ struct room_data_table_entry room_data_table[] = {
{0}
};
u32 global_visibility_commands[] ={0x10000, 0};
u32 global_visibility_commands[] ={
0x00010000, 0x00000000
};
struct portal_data_table_entry portal_data_table[] = {
{&portal_0, 1, 0x26, 0},

View File

@ -6,7 +6,7 @@ SECTIONS
_UbriefDataStart = ADDR(.data);
_UbriefDataRomStart = 0x0000;
.data 0x00000000 : AT(0x0000) {
build/assets/obseg/brief/Ubrief.o (.data);
* (.data);
}
_UbriefDataEnd = ADDR(.data) + SIZEOF(.data);
_UbriefDataRomEnd = 0x0000 + SIZEOF(.data);

View File

@ -6,7 +6,7 @@ SECTIONS
_UchrDataStart = ADDR(.data);
_UchrDataRomStart = 0x0000;
.data 0x00000000 : AT(0x0000) {
build/assets/obseg/chr/Cname.o (.data);
* (.data);
}
_UchrDataEnd = ADDR(.data) + SIZEOF(.data);
_UchrDataRomEnd = 0x0000 + SIZEOF(.data);

View File

@ -6,7 +6,7 @@ SECTIONS
_UgunDataStart = ADDR(.data);
_UgunDataRomStart = 0x0000;
.data 0x00000000 : AT(0x0000) {
build/assets/obseg/gun/Gname.o (.data);
* (.data);
}
_UgunDataEnd = ADDR(.data) + SIZEOF(.data);
_UgunDataRomEnd = 0x0000 + SIZEOF(.data);

View File

@ -1,9 +1,18 @@
.section .ob_seg, "a"
.macro obseg_file_rz path name
.global \name
\name:
.incbin "build\/assets\/obseg\/\path\/\name\.rz"
.ifdef VERSION_US
.incbin "build\/u\/assets\/obseg\/\path\/\name\.rz"
.endif
.ifdef VERSION_JP
.incbin "build\/j\/assets\/obseg\/\path\/\name\.rz"
.endif
.ifdef VERSION_EU
.incbin "build\/e\/assets\/obseg\/\path\/\name\.rz"
.endif
.balign 16
end_\name:
.endm
@ -11,181 +20,73 @@
.macro obseg_file_Z path name
.global \name
\name:
.incbin "build\/assets\/obseg\/\path\/\name\.rz"
.ifdef VERSION_US
.incbin "build\/u\/assets\/obseg\/\path\/\name\.rz"
.endif
.ifdef VERSION_JP
.incbin "build\/j\/assets\/obseg\/\path\/\name\.rz"
.endif
.ifdef VERSION_EU
.incbin "build\/e\/assets\/obseg\/\path\/\name\.rz"
.endif
.balign 16
end_\name:
.endm
.global bg_sev_all_p_seg
bg_sev_all_p_seg:
.incbin "build/assets/obseg/bg/bg_sev_all_p.seg"
.balign 16
bg_sev_all_p.seg_end:
.macro bg_file_seg name sname
.global \name
\name:
.global bg_silo_all_p_seg
bg_silo_all_p_seg:
.incbin "build/assets/obseg/bg/bg_silo_all_p.seg"
bg_silo_all_p.seg_end:
.ifdef VERSION_US
.incbin "build/u/assets/obseg/bg/\sname\.seg"
.endif
.ifdef VERSION_JP
.incbin "build/j/assets/obseg/bg/\sname\.seg"
.endif
.global bg_stat_all_p_seg
bg_stat_all_p_seg:
.incbin "build/assets/obseg/bg/bg_stat_all_p.seg"
bg_stat_all_p.seg_end:
.ifdef VERSION_EU
.incbin "build/e/assets/obseg/bg/\sname\.seg"
.endif
end_\name:
.endm
.global bg_arec_all_p_seg
bg_arec_all_p_seg:
.incbin "build/assets/obseg/bg/bg_arec_all_p.seg"
bg_arec_all_p.seg_end:
.global bg_arch_all_p_seg
bg_arch_all_p_seg:
.incbin "build/assets/obseg/bg/bg_arch_all_p.seg"
bg_arch_all_p.seg_end:
.global bg_tra_all_p_seg
bg_tra_all_p_seg:
.incbin "build/assets/obseg/bg/bg_tra_all_p.seg"
bg_tra_all_p.seg_end:
.global bg_dest_all_p_seg
bg_dest_all_p_seg:
.incbin "build/assets/obseg/bg/bg_dest_all_p.seg"
bg_dest_all_p.seg_end:
.global bg_sevb_all_p_seg
bg_sevb_all_p_seg:
.incbin "build/assets/obseg/bg/bg_sevb_all_p.seg"
bg_sevb_all_p.seg_end:
.global bg_azt_all_p_seg
bg_azt_all_p_seg:
.incbin "build/assets/obseg/bg/bg_azt_all_p.seg"
bg_azt_all_p.seg_end:
.global bg_pete_all_p_seg
bg_pete_all_p_seg:
.incbin "build/assets/obseg/bg/bg_pete_all_p.seg"
bg_pete_all_p.seg_end:
.global bg_depo_all_p_seg
bg_depo_all_p_seg:
.incbin "build/assets/obseg/bg/bg_depo_all_p.seg"
bg_depo_all_p.seg_end:
.global bg_ref_all_p_seg
bg_ref_all_p_seg:
.incbin "build/assets/obseg/bg/bg_ref_all_p.seg"
bg_ref_all_p.seg_end:
.global bg_cryp_all_p_seg
bg_cryp_all_p_seg:
.incbin "build/assets/obseg/bg/bg_cryp_all_p.seg"
bg_cryp_all_p.seg_end:
.global bg_dam_all_p_seg
bg_dam_all_p_seg:
.incbin "build/assets/obseg/bg/bg_dam_all_p.seg"
bg_dam_all_p.seg_end:
.global bg_ark_all_p_seg
bg_ark_all_p_seg:
.incbin "build/assets/obseg/bg/bg_ark_all_p.seg"
bg_ark_all_p.seg_end:
.global bg_run_all_p_seg
bg_run_all_p_seg:
.incbin "build/assets/obseg/bg/bg_run_all_p.seg"
bg_run_all_p.seg_end:
.global bg_sevx_all_p_seg
bg_sevx_all_p_seg:
.incbin "build/assets/obseg/bg/bg_sevx_all_p.seg"
bg_sevx_all_p.seg_end:
.global bg_jun_all_p_seg
bg_jun_all_p_seg:
.incbin "build/assets/obseg/bg/bg_jun_all_p.seg"
bg_jun_all_p.seg_end:
.global bg_dish_all_p_seg
bg_dish_all_p_seg:
.incbin "build/assets/obseg/bg/bg_dish_all_p.seg"
bg_dish_all_p.seg_end:
.global bg_cave_all_p_seg
bg_cave_all_p_seg:
.incbin "build/assets/obseg/bg/bg_cave_all_p.seg"
bg_cave_all_p.seg_end:
.global bg_cat_all_p_seg
bg_cat_all_p_seg:
.incbin "build/assets/obseg/bg/bg_cat_all_p.seg"
bg_cat_all_p.seg_end:
.global bg_crad_all_p_seg
bg_crad_all_p_seg:
.incbin "build/assets/obseg/bg/bg_crad_all_p.seg"
bg_crad_all_p.seg_end:
.global bg_imp_all_p_seg
bg_imp_all_p_seg:
.incbin "build/assets/obseg/bg/bg_imp_all_p.seg"
bg_imp_all_p.seg_end:
.global bg_ash_all_p_seg
bg_ash_all_p_seg:
.incbin "build/assets/obseg/bg/bg_ash_all_p.seg"
bg_ash_all_p.seg_end:
.global bg_sho_all_p_seg
bg_sho_all_p_seg:
.incbin "build/assets/obseg/bg/bg_sho_all_p.seg"
bg_sho_all_p.seg_end:
.global bg_ame_all_p_seg
bg_ame_all_p_seg:
.incbin "build/assets/obseg/bg/bg_ame_all_p.seg"
bg_ame_all_p.seg_end:
.global bg_oat_all_p_seg
bg_oat_all_p_seg:
.incbin "build/assets/obseg/bg/bg_oat_all_p.seg"
bg_oat_all_p.seg_end:
.global bg_rit_all_p_seg
bg_rit_all_p_seg:
.incbin "build/assets/obseg/bg/bg_rit_all_p.seg"
bg_rit_all_p.seg_end:
.global bg_len_all_p_seg
bg_len_all_p_seg:
.incbin "build/assets/obseg/bg/bg_len_all_p.seg"
bg_len_all_p.seg_end:
.global bg_lee_all_p_seg
bg_lee_all_p_seg:
.incbin "build/assets/obseg/bg/bg_lee_all_p.seg"
bg_lee_all_p.seg_end:
.global bg_ear_all_p_seg
bg_ear_all_p_seg:
.incbin "build/assets/obseg/bg/bg_ear_all_p.seg"
bg_ear_all_p.seg_end:
.global bg_lip_all_p_seg
bg_lip_all_p_seg:
.incbin "build/assets/obseg/bg/bg_lip_all_p.seg"
bg_lip_all_p.seg_end:
.global bg_pam_all_p_seg
bg_pam_all_p_seg:
.incbin "build/assets/obseg/bg/bg_pam_all_p.seg"
bg_pam_all_p.seg_end:
.global bg_wax_all_p_seg
bg_wax_all_p_seg:
.incbin "build/assets/obseg/bg/bg_wax_all_p.seg"
bg_wax_all_p.seg_end:
bg_file_seg bg_sev_all_p_seg, bg_sev_all_p
bg_file_seg bg_silo_all_p_seg, bg_silo_all_p
bg_file_seg bg_stat_all_p_seg, bg_stat_all_p
bg_file_seg bg_arec_all_p_seg, bg_arec_all_p
bg_file_seg bg_arch_all_p_seg, bg_arch_all_p
bg_file_seg bg_tra_all_p_seg, bg_tra_all_p
bg_file_seg bg_dest_all_p_seg, bg_dest_all_p
bg_file_seg bg_sevb_all_p_seg, bg_sevb_all_p
bg_file_seg bg_azt_all_p_seg, bg_azt_all_p
bg_file_seg bg_pete_all_p_seg, bg_pete_all_p
bg_file_seg bg_depo_all_p_seg, bg_depo_all_p
bg_file_seg bg_ref_all_p_seg, bg_ref_all_p
bg_file_seg bg_cryp_all_p_seg, bg_cryp_all_p
bg_file_seg bg_dam_all_p_seg, bg_dam_all_p
bg_file_seg bg_ark_all_p_seg, bg_ark_all_p
bg_file_seg bg_run_all_p_seg, bg_run_all_p
bg_file_seg bg_sevx_all_p_seg, bg_sevx_all_p
bg_file_seg bg_jun_all_p_seg, bg_jun_all_p
bg_file_seg bg_dish_all_p_seg, bg_dish_all_p
bg_file_seg bg_cave_all_p_seg, bg_cave_all_p
bg_file_seg bg_cat_all_p_seg, bg_cat_all_p
bg_file_seg bg_crad_all_p_seg, bg_crad_all_p
bg_file_seg bg_imp_all_p_seg, bg_imp_all_p
bg_file_seg bg_ash_all_p_seg, bg_ash_all_p
bg_file_seg bg_sho_all_p_seg, bg_sho_all_p
bg_file_seg bg_ame_all_p_seg, bg_ame_all_p
bg_file_seg bg_oat_all_p_seg, bg_oat_all_p
bg_file_seg bg_rit_all_p_seg, bg_rit_all_p
bg_file_seg bg_len_all_p_seg, bg_len_all_p
bg_file_seg bg_lee_all_p_seg, bg_lee_all_p
bg_file_seg bg_ear_all_p_seg, bg_ear_all_p
bg_file_seg bg_lip_all_p_seg, bg_lip_all_p
bg_file_seg bg_pam_all_p_seg, bg_pam_all_p
bg_file_seg bg_wax_all_p_seg, bg_wax_all_p
obseg_file_rz chr, CarmourguardZ
obseg_file_rz chr, CbaronsamediZ

View File

@ -6,7 +6,7 @@ SECTIONS
_UpropDataStart = ADDR(.data);
_UpropDataRomStart = 0x0000;
.data 0x00000000 : AT(0x0000) {
build/assets/obseg/prop/Pname.o (.data);
* (.data);
}
_UpropDataEnd = ADDR(.data) + SIZEOF(.data);
_UpropDataRomEnd = 0x0000 + SIZEOF(.data);

View File

@ -6,7 +6,7 @@ SECTIONS
_UsetupDataStart = ADDR(.data);
_UsetupDataRomStart = 0x0000;
.data 0x00000000 : AT(0x0000) {
build/assets/obseg/setup/Usetup.o (.data);
* (.data);
}
_UsetupDataEnd = ADDR(.data) + SIZEOF(.data);
_UsetupDataRomEnd = 0x0000 + SIZEOF(.data);

View File

@ -6,7 +6,7 @@ SECTIONS
_UstanDataStart = ADDR(.data);
_UstanDataRomStart = 0x0000;
.data 0x00000000 : AT(0x0000) {
build/assets/obseg/stan/Tbg_name_all_p.o (.data);
* (.data);
}
_UstanDataEnd = ADDR(.data) + SIZEOF(.data);
_UstanDataRomEnd = 0x0000 + SIZEOF(.data);

View File

@ -138,7 +138,23 @@ struct stringentry LlenE[] = {
"IN NINTENDOVISION\n",
"Produced by Rare\n",
"Presented by Nintendo\n",
#ifdef VERSION_US
"JAMES BOND WILL RETURN\n",
NULL,
NULL
NULL,
NULL
#endif
#ifdef VERSION_JP
"Executive Producer\n",
"Hiroshi Yamauchi\n",
"Nintendo Producer\n",
"Kenji Miki\n",
"NCL Staff\n",
"Eiji Onozuka\n",
"Masashi Goto\n",
"NCL Super Mario Club\n",
"Special Thanks to\n",
"NCL\n",
"JAMES BOND WILL RETURN\n",
#endif
};

View File

@ -69,4 +69,7 @@ struct stringentry LmiscE[] = {
"Fast Animation",
"Slow Animation",
"No Radar [Multi]"
#ifdef VERSION_JP
,"One minute left"
#endif
};

View File

@ -6,7 +6,7 @@ SECTIONS
_LnameXDataStart = ADDR(.data);
_LnameXDataRomStart = 0x0000;
.data 0x00000000 : AT(0x0000) {
build/assets/obseg/text/LnameX.o (.data);
* (.data);
}
_LnameXDataEnd = ADDR(.data) + SIZEOF(.data);
_LnameXDataRomEnd = 0x0000 + SIZEOF(.data);
@ -16,7 +16,7 @@ SECTIONS
_LnameXRODataStart = ADDR(.rodata);
_LnameXRODataRomStart = _LnameXDataRomEnd;
.rodata : AT(_LnameXDataRomEnd) {
build/assets/obseg/text/LnameX.o (.rodata);
* (.rodata);
}
_LnameXRODataEnd = ADDR( .rodata) + SIZEOF( .rodata);
_LnameXRODataRomEnd = _LnameXDataRomEnd + SIZEOF( .rodata);

View File

@ -288,5 +288,24 @@ struct stringentry LtitleE[] = {
"2.4 Goodhead\n",
"Select Control Style\n",
"Control Style\n",
#ifdef VERSION_US
NULL
#endif
#ifdef VERSION_JP
"Russian Soldier\n",
"Russian Infantry\n",
"Scientist\n",
"Russian Commandant\n",
"Janus Marine\n",
"Naval Officer\n",
"Helicopter Pilot\n",
"St. Petersburg Guard\n",
"Civilian\n",
"Siberian Guard\n",
"Arctic Commando\n",
"Siberian Special Forces\n",
"Jungle Commando\n",
"Janus Special Forces\n",
"Moonraker Elite\n"
#endif
};

View File

@ -8,7 +8,12 @@ _jfontdlSegmentEnd:
.global _jfontcharSegmentStart
_jfontcharSegmentStart:
.ifdef VERSION_US
.incbin "assets/ge007.u.117940.jfont_chardata.bin"
.endif
.ifdef VERSION_JP
.incbin "assets/ge007.j.118660.jfont_chardata.bin"
.endif
.global _jfontcharSegmentEnd
_jfontcharSegmentEnd:

View File

@ -11,6 +11,11 @@ if [ "$DOALL" == "1" ] || [ $1 == 'files' ]; then
echo "removing $name"
rm -f $name
done < filelist.u.csv
while IFS=, read -r offset size name compressed extract
do
echo "removing $name"
rm -f $name
done < filediff.j.csv
fi
if [ "$DOALL" == "1" ] || [ $1 == 'images' ]; then

2
extract_baserom.sh → extract_baserom.u.sh Executable file → Normal file
View File

@ -5,7 +5,7 @@ if [ -z "$1" ]; then
fi
true="1"
mkdir assets assets/font assets/images assets/images/split assets/music assets/ramrom assets/obseg assets/obseg/bg assets/obseg/brief assets/obseg/chr assets/obseg/gun assets/obseg/prop assets/obseg/setup assets/obseg/stan assets/obseg/text
mkdir assets assets/font assets/images assets/images/split assets/music assets/ramrom assets/obseg assets/obseg/bg assets/obseg/brief assets/obseg/chr assets/obseg/gun assets/obseg/prop assets/obseg/setup assets/obseg/setup/u assets/obseg/stan assets/obseg/text assets/obseg/text/u
if [ "$DOALL" == "1" ] || [ $1 == 'files' ]; then
echo "Processing Files"

43
extract_diff.j.sh Normal file
View File

@ -0,0 +1,43 @@
#!/bin/bash
if [ -z "$1" ]; then
DOALL="1"
echo "Processing Everything"
fi
true="1"
mkdir assets assets/font assets/images assets/images/split assets/music assets/ramrom assets/obseg assets/obseg/bg assets/obseg/brief assets/obseg/chr assets/obseg/gun assets/obseg/prop assets/obseg/setup assets/obseg/setup/j assets/obseg/stan assets/obseg/text assets/obseg/text/j
if [ "$DOALL" == "1" ] || [ $1 == 'files' ]; then
echo "Processing Files"
while IFS=, read -r offset size name compressed extract
do
if [ "$extract" == "$true" ]; then
if [ "$compressed" == "$true" ]; then
echo "Extracting compressed $name, $size bytes..."
dd bs=1 skip=$offset count=$size if=baserom.j.z64 of=$name status=none
# Add the gZip Header to a new file using the name given in command
echo -n -e \\x1F\\x8B\\x08\\x00\\x00\\x00\\x00\\x00\\x02\\x03 > $name.temp
# Add the contents of the compressed file minus the 1172 to the new file
cat $name | tail --bytes=+3 >> $name.temp
# copy the new file over the old compressed file
cat $name.temp > $name.zip
# decompress the Z file to the filename given in the command
cat $name.zip | gzip --quiet --decompress > $name.bin
# remove the compressed Z file
rm $name.temp $name.zip $name
echo "Successfully Decompressed $name"
else
echo "Extracting uncompressed $name, $size bytes..."
dd bs=1 skip=$offset count=$size if=baserom.j.z64 of=$name status=none
echo "Successfully Extracted $name"
fi
else
echo "skip $name"
fi
done < filediff.j.csv
#filediff.j.csv should follow pattern of:
#offset,size,name,compressed,extract
#formatting matters, no comments, no extra lines, unix line endings only
#and always end with a newline
fi

32
filediff.j.csv Normal file
View File

@ -0,0 +1,32 @@
1148512,46848,assets/ge007.j.118660.jfont_chardata.bin,0,1
9043488,11680,assets/obseg/setup/j/Ump_setuparchZ,1,1
9167664,7216,assets/obseg/setup/j/UsetupcradZ,1,1
9211984,9040,assets/obseg/setup/j/UsetupdestZ,1,1
9221024,14096,assets/obseg/setup/j/UsetupjunZ,1,1
9235120,1520,assets/obseg/setup/j/UsetuplenZ,1,1
9305360,10944,assets/obseg/setup/j/UsetupsiloZ,1,1
9316304,10192,assets/obseg/setup/j/UsetupstatueZ,1,1
9326496,12864,assets/obseg/setup/j/UsetuptraZ,1,1
9344096,1440,assets/obseg/text/j/LarecJ,1,1
9347232,1680,assets/obseg/text/j/LarkJ,1,1
9350032,1104,assets/obseg/text/j/LaztJ,1,1
9354544,1184,assets/obseg/text/j/LcradJ,1,1
9356320,672,assets/obseg/text/j/LcrypJ,1,1
9358096,1104,assets/obseg/text/j/LdamJ,1,1
9360080,816,assets/obseg/text/j/LdepoJ,1,1
9365104,1856,assets/obseg/text/j/LgunJ,1,1
9368304,1328,assets/obseg/text/j/LjunJ,1,1
9371376,1824,assets/obseg/text/j/LlenJ,1,1
9373952,704,assets/obseg/text/j/LmiscJ,1,1
9375072,416,assets/obseg/text/j/LmpmenuJ,1,1
9375680,208,assets/obseg/text/j/LmpweaponsJ,1,1
9376480,576,assets/obseg/text/j/LoptionsJ,1,1
9378240,1136,assets/obseg/text/j/LpeteJ,1,1
9380048,672,assets/obseg/text/j/LpropobjJ,1,1
9383440,1296,assets/obseg/text/j/LsevJ,1,1
9386608,2032,assets/obseg/text/j/LsevbJ,1,1
9389760,976,assets/obseg/text/j/LsevxJ,1,1
9394496,1520,assets/obseg/text/j/LsiloJ,1,1
9398352,2128,assets/obseg/text/j/LstatJ,1,1
9403312,3056,assets/obseg/text/j/LtitleJ,1,1
9407440,1104,assets/obseg/text/j/LtraJ,1,1
1 1148512 46848 assets/ge007.j.118660.jfont_chardata.bin 0 1
2 9043488 11680 assets/obseg/setup/j/Ump_setuparchZ 1 1
3 9167664 7216 assets/obseg/setup/j/UsetupcradZ 1 1
4 9211984 9040 assets/obseg/setup/j/UsetupdestZ 1 1
5 9221024 14096 assets/obseg/setup/j/UsetupjunZ 1 1
6 9235120 1520 assets/obseg/setup/j/UsetuplenZ 1 1
7 9305360 10944 assets/obseg/setup/j/UsetupsiloZ 1 1
8 9316304 10192 assets/obseg/setup/j/UsetupstatueZ 1 1
9 9326496 12864 assets/obseg/setup/j/UsetuptraZ 1 1
10 9344096 1440 assets/obseg/text/j/LarecJ 1 1
11 9347232 1680 assets/obseg/text/j/LarkJ 1 1
12 9350032 1104 assets/obseg/text/j/LaztJ 1 1
13 9354544 1184 assets/obseg/text/j/LcradJ 1 1
14 9356320 672 assets/obseg/text/j/LcrypJ 1 1
15 9358096 1104 assets/obseg/text/j/LdamJ 1 1
16 9360080 816 assets/obseg/text/j/LdepoJ 1 1
17 9365104 1856 assets/obseg/text/j/LgunJ 1 1
18 9368304 1328 assets/obseg/text/j/LjunJ 1 1
19 9371376 1824 assets/obseg/text/j/LlenJ 1 1
20 9373952 704 assets/obseg/text/j/LmiscJ 1 1
21 9375072 416 assets/obseg/text/j/LmpmenuJ 1 1
22 9375680 208 assets/obseg/text/j/LmpweaponsJ 1 1
23 9376480 576 assets/obseg/text/j/LoptionsJ 1 1
24 9378240 1136 assets/obseg/text/j/LpeteJ 1 1
25 9380048 672 assets/obseg/text/j/LpropobjJ 1 1
26 9383440 1296 assets/obseg/text/j/LsevJ 1 1
27 9386608 2032 assets/obseg/text/j/LsevbJ 1 1
28 9389760 976 assets/obseg/text/j/LsevxJ 1 1
29 9394496 1520 assets/obseg/text/j/LsiloJ 1 1
30 9398352 2128 assets/obseg/text/j/LstatJ 1 1
31 9403312 3056 assets/obseg/text/j/LtitleJ 1 1
32 9407440 1104 assets/obseg/text/j/LtraJ 1 1

811
filelist.j.csv Normal file
View File

@ -0,0 +1,811 @@
1148320,192,assets/ge007.u.117880.jfont_dl.bin,0,1
1148512,46848,assets/ge007.j.118660.jfont_chardata.bin,0,1
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
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
2904560,8144,assets/ramrom/ramrom_Dam_2.bin,0,1
2912704,6832,assets/ramrom/ramrom_Facility_1.bin,0,1
2919536,9184,assets/ramrom/ramrom_Facility_2.bin,0,1
2928720,7280,assets/ramrom/ramrom_Facility_3.bin,0,1
2936000,10064,assets/ramrom/ramrom_Runway_1.bin,0,1
2946064,10512,assets/ramrom/ramrom_Runway_2.bin,0,1
2956576,13200,assets/ramrom/ramrom_BunkerI_1.bin,0,1
2969776,21120,assets/ramrom/ramrom_BunkerI_2.bin,0,1
2990896,8592,assets/ramrom/ramrom_Silo_1.bin,0,1
2999488,8144,assets/ramrom/ramrom_Silo_2.bin,0,1
3007632,6576,assets/ramrom/ramrom_Frigate_1.bin,0,1
3014208,13536,assets/ramrom/ramrom_Frigate_2.bin,0,1
3027744,15856,assets/ramrom/ramrom_Train.bin,0,1
3043600,676,assets/font/font_first_font_table_controller_small.bin,0,1
3044276,8716,assets/font/font_second_font_table_controller_small.bin,0,1
3052992,676,assets/font/font_first_font_table_controller_large.bin,0,1
3053668,12956,assets/font/font_second_font_table_controller_large.bin,0,1
3066624,23488,assets/music/sfx.ctl,0,1
3090112,797360,assets/music/sfx.tbl,0,1
3887472,17312,assets/music/instruments.ctl,0,1
3904784,397216,assets/music/instruments.tbl,0,1
4302000,4,assets/music/number_music_samples,0,0
4302004,504,assets/music/table_music_data.bin,0,0
4302508,42,assets/music/Mno_music,1,1
4302550,470,assets/music/Msolo_death_abrev,1,1
4303020,2222,assets/music/Mintro_eye,1,1
4305242,3050,assets/music/Mtrain,1,1
4308292,3488,assets/music/Mdepot,1,1
4311780,3480,assets/music/Mjungle_unused,1,1
4315260,3520,assets/music/Mcitadel,1,1
4318780,2766,assets/music/Mfacility,1,1
4321546,2910,assets/music/Mcontrol,1,1
4324456,3588,assets/music/Mdam,1,1
4328044,3552,assets/music/Mfrigate,1,1
4331596,2388,assets/music/Marchives,1,1
4333984,3696,assets/music/Msilo,1,1
4337680,3948,assets/music/Mjungle_perimeter_unused,1,1
4341628,3330,assets/music/Mstreets,1,1
4344958,1650,assets/music/Mbunker1,1,1
4346608,1664,assets/music/Mbunker2,1,1
4348272,2456,assets/music/Mstatue,1,1
4350728,2522,assets/music/Melevator_control,1,1
4353250,3424,assets/music/Mcradle,1,1
4356674,42,assets/music/Mnull1,1,1
4356716,1606,assets/music/Melevator_wc,1,1
4358322,3482,assets/music/Megyptian,1,1
4361804,994,assets/music/Mfolders,1,1
4362798,498,assets/music/Mwatchmusic,1,1
4363296,3186,assets/music/Maztec,1,1
4366482,3628,assets/music/Mwatercaverns,1,1
4370110,870,assets/music/Mdeathsolo,1,1
4370980,3510,assets/music/Msurface2,1,1
4374490,2208,assets/music/Mtrainx,1,1
4376698,42,assets/music/Mnull2,1,1
4376740,2392,assets/music/Mfacilityx,1,1
4379132,1980,assets/music/Mdepotx,1,1
4381112,1352,assets/music/Mcontrolx,1,1
4382464,1876,assets/music/Mwatercavernsx,1,1
4384340,1312,assets/music/Mdamx,1,1
4385652,1474,assets/music/Mfrigatex,1,1
4387126,1828,assets/music/Marchivesx,1,1
4388954,2292,assets/music/Msilox,1,1
4391246,42,assets/music/Mnull3,1,1
4391288,1644,assets/music/Mstreetsx,1,1
4392932,1958,assets/music/Mbunker1x,1,1
4394890,1614,assets/music/Mbunker2x,1,1
4396504,2070,assets/music/Mjunglex,1,1
4398574,1074,assets/music/Mnint_rare_logo,1,1
4399648,1720,assets/music/Mstatuex,1,1
4401368,2262,assets/music/Maztecx,1,1
4403630,2224,assets/music/Megyptianx,1,1
4405854,1738,assets/music/Mcradlex,1,1
4407592,2122,assets/music/Mcuba,1,1
4409714,3358,assets/music/Mrunway,1,1
4413072,730,assets/music/Mrunway_plane,1,1
4413802,1832,assets/music/Msurface2x,1,1
4415634,1314,assets/music/Mwindblowing,1,1
4416948,524,assets/music/Mmultideath_alt,1,1
4417472,1928,assets/music/Mjungle,1,1
4419400,1570,assets/music/Mrunwayx,1,1
4420970,3432,assets/music/Msurface1,1,1
4424402,712,assets/music/Mmultiplayerdeath,1,1
4425114,1832,assets/music/Msurface1x,1,1
4426946,668,assets/music/Msurface2_ending,1,1
4427614,358,assets/music/Mstatue_ending,1,1
4427972,700,assets/music/Mfrigate_outro,1,1
4428672,69104,assets/obseg/bg/bg_sev_all_p.bin,0,0
4497776,331584,assets/obseg/bg/bg_silo_all_p.bin,0,0
4829360,139472,assets/obseg/bg/bg_stat_all_p.bin,0,1
4968832,189312,assets/obseg/bg/bg_arec_all_p.bin,0,1
5158144,154352,assets/obseg/bg/bg_arch_all_p.bin,0,1
5312496,132464,assets/obseg/bg/bg_tra_all_p.bin,0,1
5444960,186816,assets/obseg/bg/bg_dest_all_p.bin,0,1
5631776,109984,assets/obseg/bg/bg_sevb_all_p.bin,0,0
5741760,137808,assets/obseg/bg/bg_azt_all_p.bin,0,0
5879568,105520,assets/obseg/bg/bg_pete_all_p.bin,0,1
5985088,182640,assets/obseg/bg/bg_depo_all_p.bin,0,1
6167728,38416,assets/obseg/bg/bg_ref_all_p.bin,0,0
6206144,87728,assets/obseg/bg/bg_cryp_all_p.bin,0,0
6293872,197024,assets/obseg/bg/bg_dam_all_p.bin,0,1
6490896,200576,assets/obseg/bg/bg_ark_all_p.bin,0,1
6691472,41936,assets/obseg/bg/bg_run_all_p.bin,0,0
6733408,116176,assets/obseg/bg/bg_sevx_all_p.bin,0,0
6849584,86352,assets/obseg/bg/bg_jun_all_p.bin,0,1
6935936,18544,assets/obseg/bg/bg_dish_all_p.bin,0,0
6954480,148720,assets/obseg/bg/bg_cave_all_p.bin,0,1
7103200,21808,assets/obseg/bg/bg_cat_all_p.bin,0,0
7125008,66384,assets/obseg/bg/bg_crad_all_p.bin,0,0
7191392,0,assets/obseg/bg/bg_imp_all_p.bin,0,1
7191392,0,assets/obseg/bg/bg_ash_all_p.bin,0,1
7191392,0,assets/obseg/bg/bg_sho_all_p.bin,0,1
7191392,40800,assets/obseg/bg/bg_ame_all_p.bin,0,0
7232192,0,assets/obseg/bg/bg_oat_all_p.bin,0,1
7232192,28240,assets/obseg/bg/bg_rit_all_p.bin,0,0
7260432,0,assets/obseg/bg/bg_len_all_p.bin,0,1
7260432,0,assets/obseg/bg/bg_lee_all_p.bin,0,1
7260432,0,assets/obseg/bg/bg_ear_all_p.bin,0,1
7260432,4000,assets/obseg/bg/bg_lip_all_p.bin,0,0
7264432,0,assets/obseg/bg/bg_pam_all_p.bin,0,1
7264432,0,assets/obseg/bg/bg_wax_all_p.bin,0,1
7264432,9344,assets/obseg/chr/CarmourguardZ,1,1
7273776,14064,assets/obseg/chr/CbaronsamediZ,1,1
7287840,9968,assets/obseg/chr/CbluecamguardZ,1,1
7297808,7696,assets/obseg/chr/CbluemanZ,1,1
7305504,7872,assets/obseg/chr/CbluewomanZ,1,1
7313376,11280,assets/obseg/chr/CboilerbondZ,1,1
7324656,13952,assets/obseg/chr/CboilertrevZ,1,1
7338608,12576,assets/obseg/chr/CborisZ,1,1
7351184,9952,assets/obseg/chr/CcamguardZ,1,1
7361136,7680,assets/obseg/chr/CcardimanZ,1,1
7368816,7808,assets/obseg/chr/CcheckmanZ,1,1
7376624,9728,assets/obseg/chr/CcommguardZ,1,1
7386352,11920,assets/obseg/chr/CdjbondZ,1,1
7398272,7968,assets/obseg/chr/CfattechwomanZ,1,1
7406240,10016,assets/obseg/chr/Cgreatguard2Z,1,1
7416256,9856,assets/obseg/chr/CgreatguardZ,1,1
7426112,9936,assets/obseg/chr/CgreyguardZ,1,1
7436048,7616,assets/obseg/chr/CgreymanZ,1,1
7443664,1488,assets/obseg/chr/CheadalanZ,1,1
7445152,1392,assets/obseg/chr/CheadbZ,1,1
7446544,976,assets/obseg/chr/CheadbalaclavaZ,1,1
7447520,1696,assets/obseg/chr/CheadbikeZ,1,1
7449216,3408,assets/obseg/chr/CheadbrosnanZ,1,1
7452624,2976,assets/obseg/chr/CheadbrosnanboilerZ,1,1
7455600,3712,assets/obseg/chr/CheadbrosnansnowZ,1,1
7459312,3456,assets/obseg/chr/CheadbrosnansuitZ,1,1
7462768,3008,assets/obseg/chr/CheadbrosnantimberZ,1,1
7465776,1344,assets/obseg/chr/CheadchrisZ,1,1
7467120,1408,assets/obseg/chr/CheaddaveZ,1,1
7468528,1328,assets/obseg/chr/CheaddesZ,1,1
7469856,1312,assets/obseg/chr/CheadduncanZ,1,1
7471168,1408,assets/obseg/chr/CheaddwayneZ,1,1
7472576,1392,assets/obseg/chr/CheadgrahamZ,1,1
7473968,1328,assets/obseg/chr/CheadgrantZ,1,1
7475296,1328,assets/obseg/chr/CheadjimZ,1,1
7476624,1056,assets/obseg/chr/Cheadjoe2Z,1,1
7477680,1392,assets/obseg/chr/CheadjoeZ,1,1
7479072,1296,assets/obseg/chr/CheadjoelZ,1,1
7480368,1376,assets/obseg/chr/CheadkarlZ,1,1
7481744,1360,assets/obseg/chr/CheadkenZ,1,1
7483104,1408,assets/obseg/chr/CheadleeZ,1,1
7484512,1008,assets/obseg/chr/CheadmandyZ,1,1
7485520,1040,assets/obseg/chr/CheadmarionZ,1,1
7486560,1328,assets/obseg/chr/CheadmarkZ,1,1
7487888,1376,assets/obseg/chr/CheadmartinZ,1,1
7489264,1376,assets/obseg/chr/CheadmishkinZ,1,1
7490640,1312,assets/obseg/chr/CheadneilZ,1,1
7491952,1424,assets/obseg/chr/CheadpeteZ,1,1
7493376,1296,assets/obseg/chr/CheadrobinZ,1,1
7494672,1024,assets/obseg/chr/CheadsallyZ,1,1
7495696,1408,assets/obseg/chr/CheadscottZ,1,1
7497104,1504,assets/obseg/chr/CheadshaunZ,1,1
7498608,1360,assets/obseg/chr/CheadsteveeZ,1,1
7499968,1360,assets/obseg/chr/CheadstevehZ,1,1
7501328,1168,assets/obseg/chr/CheadvivienZ,1,1
7502496,11328,assets/obseg/chr/CjawsZ,1,1
7513824,8208,assets/obseg/chr/CjeanwomanZ,1,1
7522032,11168,assets/obseg/chr/CmaydayZ,1,1
7533200,8528,assets/obseg/chr/CmoonfemaleZ,1,1
7541728,9712,assets/obseg/chr/CmoonguardZ,1,1
7551440,14528,assets/obseg/chr/CnatalyaZ,1,1
7565968,9952,assets/obseg/chr/CnavyguardZ,1,1
7575920,12592,assets/obseg/chr/CoddjobZ,1,1
7588512,9808,assets/obseg/chr/ColiveguardZ,1,1
7598320,13360,assets/obseg/chr/CorumovZ,1,1
7611680,12416,assets/obseg/chr/CpilotZ,1,1
7624096,10032,assets/obseg/chr/CredmanZ,1,1
7634128,7216,assets/obseg/chr/CrusguardZ,1,1
7641344,13104,assets/obseg/chr/CsnowbondZ,1,1
7654448,11392,assets/obseg/chr/CsnowguardZ,1,1
7665840,14624,assets/obseg/chr/CspicebondZ,1,1
7680464,12832,assets/obseg/chr/Csuit_lf_handZ,1,1
7693296,11664,assets/obseg/chr/CsuitbondZ,1,1
7704960,9904,assets/obseg/chr/CtechmanZ,1,1
7714864,8176,assets/obseg/chr/CtechwomanZ,1,1
7723040,11568,assets/obseg/chr/CtimberbondZ,1,1
7734608,14288,assets/obseg/chr/CtrevelyanZ,1,1
7748896,9744,assets/obseg/chr/CtrevguardZ,1,1
7758640,12144,assets/obseg/chr/CvalentinZ,1,1
7770784,14832,assets/obseg/chr/CxeniaZ,1,1
7785616,2576,assets/obseg/gun/Gak47Z,1,1
7788192,912,assets/obseg/gun/GaudiotapeZ,1,1
7789104,6160,assets/obseg/gun/GautoshotZ,1,1
7795264,1536,assets/obseg/gun/GblackboxZ,1,1
7796800,256,assets/obseg/gun/GblueprintsZ,1,1
7797056,1936,assets/obseg/gun/GbombcaseZ,1,1
7798992,1520,assets/obseg/gun/GbombdefuserZ,1,1
7800512,1936,assets/obseg/gun/GbriefcaseZ,1,1
7802448,2416,assets/obseg/gun/GbugZ,1,1
7804864,848,assets/obseg/gun/GbugdetectorZ,1,1
7805712,848,assets/obseg/gun/GbungeeZ,1,1
7806560,1152,assets/obseg/gun/GcameraZ,1,1
7807712,608,assets/obseg/gun/GcartblueZ,1,1
7808320,304,assets/obseg/gun/GcartridgeZ,1,1
7808624,528,assets/obseg/gun/GcartrifleZ,1,1
7809152,512,assets/obseg/gun/GcartshellZ,1,1
7809664,320,assets/obseg/gun/GcircuitboardZ,1,1
7809984,496,assets/obseg/gun/GclipboardZ,1,1
7810480,848,assets/obseg/gun/GcreditcardZ,1,1
7811328,848,assets/obseg/gun/GdarkglassesZ,1,1
7812176,320,assets/obseg/gun/GdatathiefZ,1,1
7812496,368,assets/obseg/gun/GdattapeZ,1,1
7812864,1408,assets/obseg/gun/GdoordecoderZ,1,1
7814272,848,assets/obseg/gun/GdoorexploderZ,1,1
7815120,864,assets/obseg/gun/GdossierredZ,1,1
7815984,848,assets/obseg/gun/GdynamiteZ,1,1
7816832,592,assets/obseg/gun/GexplosivefloppyZ,1,1
7817424,848,assets/obseg/gun/GexplosivepenZ,1,1
7818272,2032,assets/obseg/gun/GextinguisherZ,1,1
7820304,848,assets/obseg/gun/GfingergunZ,1,1
7821152,5888,assets/obseg/gun/GfistZ,1,1
7827040,848,assets/obseg/gun/GflarepistolZ,1,1
7827888,3232,assets/obseg/gun/Gfnp90Z,1,1
7831120,2608,assets/obseg/gun/GgaskeyringZ,1,1
7833728,848,assets/obseg/gun/GgoldbarZ,1,1
7834576,2480,assets/obseg/gun/GgoldeneyekeyZ,1,1
7837056,6112,assets/obseg/gun/GgoldengunZ,1,1
7843168,6496,assets/obseg/gun/GgoldwppkZ,1,1
7849664,2608,assets/obseg/gun/GgrenadeZ,1,1
7852272,4224,assets/obseg/gun/GgrenadelaunchZ,1,1
7856496,848,assets/obseg/gun/GheroinZ,1,1
7857344,7856,assets/obseg/gun/GjoypadZ,1,1
7865200,1936,assets/obseg/gun/GkeyanalysercaseZ,1,1
7867136,2544,assets/obseg/gun/GkeyboltZ,1,1
7869680,304,assets/obseg/gun/GkeycardZ,1,1
7869984,3408,assets/obseg/gun/GkeyyaleZ,1,1
7873392,6864,assets/obseg/gun/GknifeZ,1,1
7880256,3568,assets/obseg/gun/GlaserZ,1,1
7883824,848,assets/obseg/gun/GlectreZ,1,1
7884672,848,assets/obseg/gun/GlockexploderZ,1,1
7885520,2592,assets/obseg/gun/Gm16Z,1,1
7888112,240,assets/obseg/gun/GmapZ,1,1
7888352,1600,assets/obseg/gun/GmicrocameraZ,1,1
7889952,848,assets/obseg/gun/GmicrocodeZ,1,1
7890800,848,assets/obseg/gun/GmicrofilmZ,1,1
7891648,848,assets/obseg/gun/GmoneyZ,1,1
7892496,3040,assets/obseg/gun/Gmp5kZ,1,1
7895536,3328,assets/obseg/gun/Gmp5ksilZ,1,1
7898864,848,assets/obseg/gun/GpitongunZ,1,1
7899712,464,assets/obseg/gun/GplansZ,1,1
7900176,848,assets/obseg/gun/GplastiqueZ,1,1
7901024,1376,assets/obseg/gun/GpolarizedglassesZ,1,1
7902400,2032,assets/obseg/gun/GproximitymineZ,1,1
7904432,2496,assets/obseg/gun/GremotemineZ,1,1
7906928,4640,assets/obseg/gun/GrocketlaunchZ,1,1
7911568,7568,assets/obseg/gun/GrugerZ,1,1
7919136,1936,assets/obseg/gun/GsafecrackercaseZ,1,1
7921072,3808,assets/obseg/gun/GshotgunZ,1,1
7924880,6496,assets/obseg/gun/GsilverwppkZ,1,1
7931376,4608,assets/obseg/gun/GskorpionZ,1,1
7935984,4208,assets/obseg/gun/GsniperrifleZ,1,1
7940192,3200,assets/obseg/gun/GspectreZ,1,1
7943392,848,assets/obseg/gun/GspooltapeZ,1,1
7944240,848,assets/obseg/gun/GspyfileZ,1,1
7945088,416,assets/obseg/gun/GstafflistZ,1,1
7945504,7776,assets/obseg/gun/GtaserZ,1,1
7953280,6896,assets/obseg/gun/GthrowknifeZ,1,1
7960176,2752,assets/obseg/gun/GtimedmineZ,1,1
7962928,13312,assets/obseg/gun/GtriggerZ,1,1
7976240,6944,assets/obseg/gun/Gtt33Z,1,1
7983184,2320,assets/obseg/gun/GuziZ,1,1
7985504,528,assets/obseg/gun/GvideotapeZ,1,1
7986032,5216,assets/obseg/gun/GwatchcommunicatorZ,1,1
7991248,5216,assets/obseg/gun/GwatchgeigercounterZ,1,1
7996464,5216,assets/obseg/gun/GwatchidentifierZ,1,1
8001680,13312,assets/obseg/gun/GwatchlaserZ,1,1
8014992,5200,assets/obseg/gun/GwatchmagnetattractZ,1,1
8020192,5216,assets/obseg/gun/GwatchmagnetrepelZ,1,1
8025408,1936,assets/obseg/gun/GweaponcaseZ,1,1
8027344,7312,assets/obseg/gun/GwppkZ,1,1
8034656,7488,assets/obseg/gun/GwppksilZ,1,1
8042144,848,assets/obseg/gun/GwristdartZ,1,1
8042992,9600,assets/obseg/prop/PICBMZ,1,1
8052592,1968,assets/obseg/prop/PICBM_noseZ,1,1
8054560,480,assets/obseg/prop/Pak47magZ,1,1
8055040,352,assets/obseg/prop/Palarm1Z,1,1
8055392,416,assets/obseg/prop/Palarm2Z,1,1
8055808,576,assets/obseg/prop/Pammo_crate1Z,1,1
8056384,576,assets/obseg/prop/Pammo_crate2Z,1,1
8056960,592,assets/obseg/prop/Pammo_crate3Z,1,1
8057552,624,assets/obseg/prop/Pammo_crate4Z,1,1
8058176,704,assets/obseg/prop/Pammo_crate5Z,1,1
8058880,7264,assets/obseg/prop/PapcZ,1,1
8066144,480,assets/obseg/prop/Parchsecdoor1Z,1,1
8066624,464,assets/obseg/prop/Parchsecdoor2Z,1,1
8067088,3584,assets/obseg/prop/ParticZ,1,1
8070672,2320,assets/obseg/prop/PartictrailerZ,1,1
8072992,576,assets/obseg/prop/PbarricadeZ,1,1
8073568,848,assets/obseg/prop/Pbin1Z,1,1
8074416,224,assets/obseg/prop/Pblotter1Z,1,1
8074640,1184,assets/obseg/prop/PbodyarmourZ,1,1
8075824,1056,assets/obseg/prop/PbodyarmourvestZ,1,1
8076880,512,assets/obseg/prop/PbollardZ,1,1
8077392,368,assets/obseg/prop/PbombZ,1,1
8077760,400,assets/obseg/prop/Pbook1Z,1,1
8078160,1776,assets/obseg/prop/Pbookshelf1Z,1,1
8079936,368,assets/obseg/prop/Pborg_crateZ,1,1
8080304,512,assets/obseg/prop/PboxcartridgesZ,1,1
8080816,1072,assets/obseg/prop/Pboxes2x4Z,1,1
8081888,1088,assets/obseg/prop/Pboxes3x4Z,1,1
8082976,1632,assets/obseg/prop/Pboxes4x4Z,1,1
8084608,880,assets/obseg/prop/PbrakeunitZ,1,1
8085488,1408,assets/obseg/prop/Pbridge_console1aZ,1,1
8086896,1376,assets/obseg/prop/Pbridge_console1bZ,1,1
8088272,1408,assets/obseg/prop/Pbridge_console2aZ,1,1
8089680,1264,assets/obseg/prop/Pbridge_console2bZ,1,1
8090944,1360,assets/obseg/prop/Pbridge_console3aZ,1,1
8092304,1424,assets/obseg/prop/Pbridge_console3bZ,1,1
8093728,3296,assets/obseg/prop/PcarbmwZ,1,1
8097024,512,assets/obseg/prop/Pcard_box1Z,1,1
8097536,576,assets/obseg/prop/Pcard_box2Z,1,1
8098112,496,assets/obseg/prop/Pcard_box3Z,1,1
8098608,432,assets/obseg/prop/Pcard_box4Z,1,1
8099040,512,assets/obseg/prop/Pcard_box5Z,1,1
8099552,496,assets/obseg/prop/Pcard_box6Z,1,1
8100048,3072,assets/obseg/prop/PcarescortZ,1,1
8103120,3120,assets/obseg/prop/PcargolfZ,1,1
8106240,4416,assets/obseg/prop/PcarweirdZ,1,1
8110656,5632,assets/obseg/prop/PcarzilZ,1,1
8116288,896,assets/obseg/prop/PcctvZ,1,1
8117184,1376,assets/obseg/prop/PchraudiotapeZ,1,1
8118560,864,assets/obseg/prop/PchrautoshotZ,1,1
8119424,2176,assets/obseg/prop/PchrblackboxZ,1,1
8121600,336,assets/obseg/prop/PchrblueprintsZ,1,1
8121936,496,assets/obseg/prop/PchrbombcaseZ,1,1
8122432,2272,assets/obseg/prop/PchrbombdefuserZ,1,1
8124704,400,assets/obseg/prop/PchrbriefcaseZ,1,1
8125104,3504,assets/obseg/prop/PchrbugZ,1,1
8128608,368,assets/obseg/prop/PchrbugdetectorZ,1,1
8128976,368,assets/obseg/prop/PchrbungeeZ,1,1
8129344,1680,assets/obseg/prop/PchrcameraZ,1,1
8131024,416,assets/obseg/prop/PchrcircuitboardZ,1,1
8131440,640,assets/obseg/prop/PchrclipboardZ,1,1
8132080,368,assets/obseg/prop/PchrcreditcardZ,1,1
8132448,368,assets/obseg/prop/PchrdarkglassesZ,1,1
8132816,416,assets/obseg/prop/PchrdatathiefZ,1,1
8133232,496,assets/obseg/prop/PchrdattapeZ,1,1
8133728,2144,assets/obseg/prop/PchrdoordecoderZ,1,1
8135872,368,assets/obseg/prop/PchrdoorexploderZ,1,1
8136240,1232,assets/obseg/prop/PchrdossierredZ,1,1
8137472,368,assets/obseg/prop/PchrdynamiteZ,1,1
8137840,368,assets/obseg/prop/PchrexplosivepenZ,1,1
8138208,1280,assets/obseg/prop/PchrextinguisherZ,1,1
8139488,368,assets/obseg/prop/PchrfingergunZ,1,1
8139856,368,assets/obseg/prop/PchrflarepistolZ,1,1
8140224,1120,assets/obseg/prop/Pchrfnp90Z,1,1
8141344,3856,assets/obseg/prop/PchrgaskeyringZ,1,1
8145200,368,assets/obseg/prop/PchrgoldbarZ,1,1
8145568,624,assets/obseg/prop/PchrgoldenZ,1,1
8146192,3744,assets/obseg/prop/PchrgoldeneyekeyZ,1,1
8149936,368,assets/obseg/prop/PchrgoldwppkZ,1,1
8150304,880,assets/obseg/prop/PchrgrenadeZ,1,1
8151184,912,assets/obseg/prop/PchrgrenadelaunchZ,1,1
8152096,624,assets/obseg/prop/PchrgrenaderoundZ,1,1
8152720,368,assets/obseg/prop/PchrheroinZ,1,1
8153088,1008,assets/obseg/prop/PchrkalashZ,1,1
8154096,496,assets/obseg/prop/PchrkeyanalysercaseZ,1,1
8154592,3744,assets/obseg/prop/PchrkeyboltZ,1,1
8158336,5216,assets/obseg/prop/PchrkeyyaleZ,1,1
8163552,512,assets/obseg/prop/PchrknifeZ,1,1
8164064,960,assets/obseg/prop/PchrlaserZ,1,1
8165024,368,assets/obseg/prop/PchrlectreZ,1,1
8165392,368,assets/obseg/prop/PchrlockexploderZ,1,1
8165760,976,assets/obseg/prop/Pchrm16Z,1,1
8166736,336,assets/obseg/prop/PchrmapZ,1,1
8167072,2288,assets/obseg/prop/PchrmicrocameraZ,1,1
8169360,368,assets/obseg/prop/PchrmicrocodeZ,1,1
8169728,368,assets/obseg/prop/PchrmicrofilmZ,1,1
8170096,368,assets/obseg/prop/PchrmoneyZ,1,1
8170464,896,assets/obseg/prop/Pchrmp5kZ,1,1
8171360,1040,assets/obseg/prop/Pchrmp5ksilZ,1,1
8172400,368,assets/obseg/prop/PchrpitongunZ,1,1
8172768,656,assets/obseg/prop/PchrplansZ,1,1
8173424,1120,assets/obseg/prop/PchrplastiqueZ,1,1
8174544,2240,assets/obseg/prop/PchrpolarizedglassesZ,1,1
8176784,1120,assets/obseg/prop/PchrproximitymineZ,1,1
8177904,1120,assets/obseg/prop/PchrremotemineZ,1,1
8179024,1456,assets/obseg/prop/PchrrocketZ,1,1
8180480,992,assets/obseg/prop/PchrrocketlaunchZ,1,1
8181472,992,assets/obseg/prop/PchrrugerZ,1,1
8182464,496,assets/obseg/prop/PchrsafecrackercaseZ,1,1
8182960,848,assets/obseg/prop/PchrshotgunZ,1,1
8183808,368,assets/obseg/prop/PchrsilverwppkZ,1,1
8184176,896,assets/obseg/prop/PchrskorpionZ,1,1
8185072,912,assets/obseg/prop/PchrsniperrifleZ,1,1
8185984,880,assets/obseg/prop/PchrspectreZ,1,1
8186864,368,assets/obseg/prop/PchrspooltapeZ,1,1
8187232,368,assets/obseg/prop/PchrspyfileZ,1,1
8187600,544,assets/obseg/prop/PchrstafflistZ,1,1
8188144,448,assets/obseg/prop/PchrtesttubeZ,1,1
8188592,544,assets/obseg/prop/PchrthrowknifeZ,1,1
8189136,1328,assets/obseg/prop/PchrtimedmineZ,1,1
8190464,656,assets/obseg/prop/Pchrtt33Z,1,1
8191120,720,assets/obseg/prop/PchruziZ,1,1
8191840,720,assets/obseg/prop/PchrvideotapeZ,1,1
8192560,512,assets/obseg/prop/PchrweaponcaseZ,1,1
8193072,576,assets/obseg/prop/PchrwppkZ,1,1
8193648,736,assets/obseg/prop/PchrwppksilZ,1,1
8194384,368,assets/obseg/prop/PchrwristdartZ,1,1
8194752,1664,assets/obseg/prop/Pconsole1Z,1,1
8196416,1664,assets/obseg/prop/Pconsole2Z,1,1
8198080,1680,assets/obseg/prop/Pconsole3Z,1,1
8199760,1056,assets/obseg/prop/Pconsole_sev2aZ,1,1
8200816,1216,assets/obseg/prop/Pconsole_sev2bZ,1,1
8202032,1088,assets/obseg/prop/Pconsole_sev2cZ,1,1
8203120,1072,assets/obseg/prop/Pconsole_sev2dZ,1,1
8204192,1072,assets/obseg/prop/Pconsole_sev_GEaZ,1,1
8205264,1072,assets/obseg/prop/Pconsole_sev_GEbZ,1,1
8206336,1152,assets/obseg/prop/Pconsole_sevaZ,1,1
8207488,1136,assets/obseg/prop/Pconsole_sevbZ,1,1
8208624,1072,assets/obseg/prop/Pconsole_sevcZ,1,1
8209696,1072,assets/obseg/prop/Pconsole_sevdZ,1,1
8210768,400,assets/obseg/prop/Pcryptdoor1aZ,1,1
8211168,400,assets/obseg/prop/Pcryptdoor1bZ,1,1
8211568,400,assets/obseg/prop/Pcryptdoor2aZ,1,1
8211968,400,assets/obseg/prop/Pcryptdoor2bZ,1,1
8212368,624,assets/obseg/prop/Pcryptdoor3Z,1,1
8212992,384,assets/obseg/prop/Pcryptdoor4Z,1,1
8213376,640,assets/obseg/prop/PdamchaindoorZ,1,1
8214016,544,assets/obseg/prop/PdamgatedoorZ,1,1
8214560,880,assets/obseg/prop/PdamtundoorZ,1,1
8215440,416,assets/obseg/prop/Pdepot_door_steelZ,1,1
8215856,576,assets/obseg/prop/Pdepot_gate_entryZ,1,1
8216432,384,assets/obseg/prop/Pdesk1Z,1,1
8216816,384,assets/obseg/prop/Pdesk2Z,1,1
8217200,576,assets/obseg/prop/Pdesk_arecibo1Z,1,1
8217776,768,assets/obseg/prop/Pdesk_lamp2Z,1,1
8218544,6384,assets/obseg/prop/Pdest_engineZ,1,1
8224928,1632,assets/obseg/prop/Pdest_exocetZ,1,1
8226560,1648,assets/obseg/prop/Pdest_gunZ,1,1
8228208,2208,assets/obseg/prop/Pdest_harpoonZ,1,1
8230416,4016,assets/obseg/prop/Pdest_seawolfZ,1,1
8234432,448,assets/obseg/prop/Pdisc_readerZ,1,1
8234880,400,assets/obseg/prop/Pdisk_drive1Z,1,1
8235280,384,assets/obseg/prop/Pdoor_azt_chairZ,1,1
8235664,1088,assets/obseg/prop/Pdoor_azt_deskZ,1,1
8236752,912,assets/obseg/prop/Pdoor_azt_desk_topZ,1,1
8237664,560,assets/obseg/prop/Pdoor_aztecZ,1,1
8238224,768,assets/obseg/prop/Pdoor_dest1Z,1,1
8238992,960,assets/obseg/prop/Pdoor_dest2Z,1,1
8239952,1376,assets/obseg/prop/Pdoor_eyelidZ,1,1
8241328,2640,assets/obseg/prop/Pdoor_irisZ,1,1
8243968,752,assets/obseg/prop/Pdoor_mfZ,1,1
8244720,880,assets/obseg/prop/Pdoor_roller1Z,1,1
8245600,576,assets/obseg/prop/Pdoor_roller2Z,1,1
8246176,576,assets/obseg/prop/Pdoor_roller3Z,1,1
8246752,608,assets/obseg/prop/Pdoor_roller4Z,1,1
8247360,304,assets/obseg/prop/Pdoor_rollertrainZ,1,1
8247664,608,assets/obseg/prop/Pdoor_st_arec1Z,1,1
8248272,736,assets/obseg/prop/Pdoor_st_arec2Z,1,1
8249008,416,assets/obseg/prop/Pdoor_winZ,1,1
8249424,1136,assets/obseg/prop/PdoorconsoleZ,1,1
8250560,880,assets/obseg/prop/PdoorpanelZ,1,1
8251440,336,assets/obseg/prop/Pdoorprison1Z,1,1
8251776,512,assets/obseg/prop/PdoorstatgateZ,1,1
8252288,288,assets/obseg/prop/PexplosionbitZ,1,1
8252576,384,assets/obseg/prop/Pfiling_cabinet1Z,1,1
8252960,304,assets/obseg/prop/PflagZ,1,1
8253264,800,assets/obseg/prop/PfloppyZ,1,1
8254064,416,assets/obseg/prop/Pfnp90magZ,1,1
8254480,896,assets/obseg/prop/Pgas_plant_met1_do1Z,1,1
8255376,480,assets/obseg/prop/Pgas_plant_sw2_do1Z,1,1
8255856,512,assets/obseg/prop/Pgas_plant_sw3_do1Z,1,1
8256368,352,assets/obseg/prop/Pgas_plant_sw4_do1Z,1,1
8256720,656,assets/obseg/prop/Pgas_plant_sw_do1Z,1,1
8257376,528,assets/obseg/prop/Pgas_plant_wc_cub1Z,1,1
8257904,528,assets/obseg/prop/PgasbarrelZ,1,1
8258432,1344,assets/obseg/prop/PgasbarrelsZ,1,1
8259776,1376,assets/obseg/prop/Pgasplant_clear_doorZ,1,1
8261152,1456,assets/obseg/prop/PgastankZ,1,1
8262608,352,assets/obseg/prop/Pglassware1Z,1,1
8262960,656,assets/obseg/prop/Pglassware2Z,1,1
8263616,528,assets/obseg/prop/Pglassware3Z,1,1
8264144,1408,assets/obseg/prop/Pglassware4Z,1,1
8265552,3760,assets/obseg/prop/PgoldeneyelogoZ,1,1
8269312,512,assets/obseg/prop/PgoldenshellsZ,1,1
8269824,2000,assets/obseg/prop/PgroundgunZ,1,1
8271824,1856,assets/obseg/prop/Pgun_runway1Z,1,1
8273680,672,assets/obseg/prop/PhatberetZ,1,1
8274352,720,assets/obseg/prop/PhatberetblueZ,1,1
8275072,736,assets/obseg/prop/PhatberetredZ,1,1
8275808,208,assets/obseg/prop/PhatchboltZ,1,1
8276016,544,assets/obseg/prop/PhatchdoorZ,1,1
8276560,368,assets/obseg/prop/PhatchsevxZ,1,1
8276928,560,assets/obseg/prop/PhatfurryZ,1,1
8277488,544,assets/obseg/prop/PhatfurryblackZ,1,1
8278032,528,assets/obseg/prop/PhatfurrybrownZ,1,1
8278560,560,assets/obseg/prop/PhathelmetZ,1,1
8279120,560,assets/obseg/prop/PhathelmetgreyZ,1,1
8279680,992,assets/obseg/prop/PhatmoonZ,1,1
8280672,784,assets/obseg/prop/PhatpeakedZ,1,1
8281456,592,assets/obseg/prop/PhattbirdZ,1,1
8282048,624,assets/obseg/prop/PhattbirdbrownZ,1,1
8282672,16928,assets/obseg/prop/PhelicopterZ,1,1
8299600,6000,assets/obseg/prop/PhindZ,1,1
8305600,4448,assets/obseg/prop/PjeepZ,1,1
8310048,608,assets/obseg/prop/Pjerry_can1Z,1,1
8310656,1920,assets/obseg/prop/Pjungle3_treeZ,1,1
8312576,1328,assets/obseg/prop/Pjungle5_treeZ,1,1
8313904,848,assets/obseg/prop/Pkey_holderZ,1,1
8314752,368,assets/obseg/prop/Pkeyboard1Z,1,1
8315120,672,assets/obseg/prop/Pkit_units1Z,1,1
8315792,976,assets/obseg/prop/PlabbenchZ,1,1
8316768,624,assets/obseg/prop/PlandmineZ,1,1
8317392,4032,assets/obseg/prop/PlegalpageZ,1,1
8321424,352,assets/obseg/prop/Pletter_tray1Z,1,1
8321776,400,assets/obseg/prop/Plocker3Z,1,1
8322176,400,assets/obseg/prop/Plocker4Z,1,1
8322576,320,assets/obseg/prop/Pm16magZ,1,1
8322896,512,assets/obseg/prop/PmagnumshellsZ,1,1
8323408,768,assets/obseg/prop/Pmainframe1Z,1,1
8324176,720,assets/obseg/prop/Pmainframe2Z,1,1
8324896,832,assets/obseg/prop/Pmetal_chair1Z,1,1
8325728,448,assets/obseg/prop/Pmetal_crate1Z,1,1
8326176,448,assets/obseg/prop/Pmetal_crate2Z,1,1
8326624,448,assets/obseg/prop/Pmetal_crate3Z,1,1
8327072,448,assets/obseg/prop/Pmetal_crate4Z,1,1
8327520,6368,assets/obseg/prop/PmilcopterZ,1,1
8333888,8960,assets/obseg/prop/PmiltruckZ,1,1
8342848,2576,assets/obseg/prop/Pmissile_rack2Z,1,1
8345424,992,assets/obseg/prop/Pmissile_rackZ,1,1
8346416,832,assets/obseg/prop/PmodemboxZ,1,1
8347248,3776,assets/obseg/prop/PmotorbikeZ,1,1
8351024,336,assets/obseg/prop/Pmp5kmagZ,1,1
8351360,10976,assets/obseg/prop/PnintendologoZ,1,1
8362336,624,assets/obseg/prop/Poil_drum1Z,1,1
8362960,752,assets/obseg/prop/Poil_drum2Z,1,1
8363712,752,assets/obseg/prop/Poil_drum3Z,1,1
8364464,752,assets/obseg/prop/Poil_drum5Z,1,1
8365216,784,assets/obseg/prop/Poil_drum6Z,1,1
8366000,768,assets/obseg/prop/Poil_drum7Z,1,1
8366768,2640,assets/obseg/prop/PpadlockZ,1,1
8369408,1104,assets/obseg/prop/PpalmZ,1,1
8370512,1232,assets/obseg/prop/PpalmtreeZ,1,1
8371744,320,assets/obseg/prop/Pphone1Z,1,1
8372064,9696,assets/obseg/prop/PplaneZ,1,1
8381760,960,assets/obseg/prop/Pplant11Z,1,1
8382720,912,assets/obseg/prop/Pplant1Z,1,1
8383632,864,assets/obseg/prop/Pplant2Z,1,1
8384496,1040,assets/obseg/prop/Pplant2bZ,1,1
8385536,1104,assets/obseg/prop/Pplant3Z,1,1
8386640,432,assets/obseg/prop/Pradio_unit1Z,1,1
8387072,448,assets/obseg/prop/Pradio_unit2Z,1,1
8387520,448,assets/obseg/prop/Pradio_unit3Z,1,1
8387968,448,assets/obseg/prop/Pradio_unit4Z,1,1
8388416,1632,assets/obseg/prop/ProofgunZ,1,1
8390048,848,assets/obseg/prop/PsafeZ,1,1
8390896,1264,assets/obseg/prop/PsafedoorZ,1,1
8392160,5488,assets/obseg/prop/Psat1_reflectZ,1,1
8397648,288,assets/obseg/prop/PsatboxZ,1,1
8397936,1120,assets/obseg/prop/PsatdishZ,1,1
8399056,416,assets/obseg/prop/Psec_panelZ,1,1
8399472,656,assets/obseg/prop/Psev_door3Z,1,1
8400128,912,assets/obseg/prop/Psev_door3_windZ,1,1
8401040,992,assets/obseg/prop/Psev_door4_windZ,1,1
8402032,848,assets/obseg/prop/Psev_doorZ,1,1
8402880,816,assets/obseg/prop/Psev_door_v1Z,1,1
8403696,944,assets/obseg/prop/Psev_trislideZ,1,1
8404640,3872,assets/obseg/prop/PsevdishZ,1,1
8408512,736,assets/obseg/prop/PsevdoormetslideZ,1,1
8409248,368,assets/obseg/prop/PsevdoornowindZ,1,1
8409616,1072,assets/obseg/prop/PsevdoorwindZ,1,1
8410688,944,assets/obseg/prop/PsevdoorwoodZ,1,1
8411632,10752,assets/obseg/prop/PshuttleZ,1,1
8422384,3120,assets/obseg/prop/Pshuttle_door_lZ,1,1
8425504,3328,assets/obseg/prop/Pshuttle_door_rZ,1,1
8428832,416,assets/obseg/prop/PsilencerZ,1,1
8429248,576,assets/obseg/prop/Psilo_lift_doorZ,1,1
8429824,752,assets/obseg/prop/PsilotopdoorZ,1,1
8430576,352,assets/obseg/prop/PskorpionmagZ,1,1
8430928,368,assets/obseg/prop/PspectremagZ,1,1
8431296,3392,assets/obseg/prop/PspeedboatZ,1,1
8434688,12608,assets/obseg/prop/Pst_pete_room_1iZ,1,1
8447296,12768,assets/obseg/prop/Pst_pete_room_2iZ,1,1
8460064,12096,assets/obseg/prop/Pst_pete_room_3tZ,1,1
8472160,13712,assets/obseg/prop/Pst_pete_room_5cZ,1,1
8485872,13328,assets/obseg/prop/Pst_pete_room_6cZ,1,1
8499200,624,assets/obseg/prop/Psteel_door1Z,1,1
8499824,688,assets/obseg/prop/Psteel_door2Z,1,1
8500512,720,assets/obseg/prop/Psteel_door2bZ,1,1
8501232,720,assets/obseg/prop/Psteel_door3Z,1,1
8501952,704,assets/obseg/prop/Pstool1Z,1,1
8502656,400,assets/obseg/prop/Pswipe_card2Z,1,1
8503056,656,assets/obseg/prop/Pswivel_chair1Z,1,1
8503712,6816,assets/obseg/prop/PtankZ,1,1
8510528,7824,assets/obseg/prop/PtigerZ,1,1
8518352,2176,assets/obseg/prop/Ptorpedo_rackZ,1,1
8520528,976,assets/obseg/prop/Ptrain_door2Z,1,1
8521504,1056,assets/obseg/prop/Ptrain_door3Z,1,1
8522560,624,assets/obseg/prop/Ptrain_doorZ,1,1
8523184,832,assets/obseg/prop/PtrainextdoorZ,1,1
8524016,320,assets/obseg/prop/Ptt33magZ,1,1
8524336,1312,assets/obseg/prop/Ptuning_console1Z,1,1
8525648,464,assets/obseg/prop/Ptv1Z,1,1
8526112,416,assets/obseg/prop/Ptv4screenZ,1,1
8526528,1744,assets/obseg/prop/Ptv_holderZ,1,1
8528272,208,assets/obseg/prop/PtvscreenZ,1,1
8528480,320,assets/obseg/prop/PuzimagZ,1,1
8528800,1552,assets/obseg/prop/PvertdoorZ,1,1
8530352,5552,assets/obseg/prop/PwalletbondZ,1,1
8535904,240,assets/obseg/prop/PwindowZ,1,1
8536144,224,assets/obseg/prop/Pwindow_cor11Z,1,1
8536368,224,assets/obseg/prop/Pwindow_lib_lg1Z,1,1
8536592,240,assets/obseg/prop/Pwindow_lib_sm1Z,1,1
8536832,640,assets/obseg/prop/Pwood_lg_crate1Z,1,1
8537472,544,assets/obseg/prop/Pwood_lg_crate2Z,1,1
8538016,544,assets/obseg/prop/Pwood_md_crate3Z,1,1
8538560,608,assets/obseg/prop/Pwood_sm_crate4Z,1,1
8539168,608,assets/obseg/prop/Pwood_sm_crate5Z,1,1
8539776,544,assets/obseg/prop/Pwood_sm_crate6Z,1,1
8540320,880,assets/obseg/prop/Pwooden_table1Z,1,1
8541200,320,assets/obseg/prop/PwppkmagZ,1,1
8541520,6448,assets/obseg/stan/Tbg_ame_all_p_stanZ,1,1
8547968,23792,assets/obseg/stan/Tbg_arch_all_p_stanZ,1,1
8571760,33616,assets/obseg/stan/Tbg_arec_all_p_stanZ,1,1
8605376,36800,assets/obseg/stan/Tbg_ark_all_p_stanZ,1,1
8642176,6448,assets/obseg/stan/Tbg_ash_all_p_stanZ,1,1
8648624,21888,assets/obseg/stan/Tbg_azt_all_p_stanZ,1,1
8670512,10032,assets/obseg/stan/Tbg_cat_all_p_stanZ,1,1
8680544,20208,assets/obseg/stan/Tbg_cave_all_p_stanZ,1,1
8700752,10512,assets/obseg/stan/Tbg_crad_all_p_stanZ,1,1
8711264,12400,assets/obseg/stan/Tbg_cryp_all_p_stanZ,1,1
8723664,41952,assets/obseg/stan/Tbg_dam_all_p_stanZ,1,1
8765616,28480,assets/obseg/stan/Tbg_depo_all_p_stanZ,1,1
8794096,26864,assets/obseg/stan/Tbg_dest_all_p_stanZ,1,1
8820960,2832,assets/obseg/stan/Tbg_dish_all_p_stanZ,1,1
8823792,6448,assets/obseg/stan/Tbg_imp_all_p_stanZ,1,1
8830240,29008,assets/obseg/stan/Tbg_jun_all_p_stanZ,1,1
8859248,2752,assets/obseg/stan/Tbg_len_all_p_stanZ,1,1
8862000,6400,assets/obseg/stan/Tbg_oat_all_p_stanZ,1,1
8868400,18064,assets/obseg/stan/Tbg_pete_all_p_stanZ,1,1
8886464,7632,assets/obseg/stan/Tbg_ref_all_p_stanZ,1,1
8894096,6784,assets/obseg/stan/Tbg_run_all_p_stanZ,1,1
8900880,15824,assets/obseg/stan/Tbg_sev_all_p_stanZ,1,1
8916704,20288,assets/obseg/stan/Tbg_sevb_all_p_stanZ,1,1
8936992,37680,assets/obseg/stan/Tbg_sevx_all_p_stanZ,1,1
8974672,37024,assets/obseg/stan/Tbg_silo_all_p_stanZ,1,1
9011696,20160,assets/obseg/stan/Tbg_stat_all_p_stanZ,1,1
9031856,9168,assets/obseg/stan/Tbg_tra_all_p_stanZ,1,1
9041024,32,assets/obseg/brief/UbriefarchZ,1,0
9041056,32,assets/obseg/brief/UbriefarkZ,1,0
9041088,32,assets/obseg/brief/UbriefaztZ,1,0
9041120,32,assets/obseg/brief/UbriefcaveZ,1,0
9041152,32,assets/obseg/brief/UbriefcontrolZ,1,0
9041184,32,assets/obseg/brief/UbriefcradZ,1,0
9041216,32,assets/obseg/brief/UbriefcrypZ,1,0
9041248,32,assets/obseg/brief/UbriefdamZ,1,0
9041280,32,assets/obseg/brief/UbriefdepoZ,1,0
9041312,32,assets/obseg/brief/UbriefdestZ,1,0
9041344,32,assets/obseg/brief/UbriefjunZ,1,0
9041376,32,assets/obseg/brief/UbriefpeteZ,1,0
9041408,32,assets/obseg/brief/UbriefrunZ,1,0
9041440,32,assets/obseg/brief/UbriefsevbZ,1,0
9041472,32,assets/obseg/brief/UbriefsevbunkerZ,1,0
9041504,32,assets/obseg/brief/UbriefsevxZ,1,0
9041536,32,assets/obseg/brief/UbriefsevxbZ,1,0
9041568,32,assets/obseg/brief/UbriefsiloZ,1,0
9041600,32,assets/obseg/brief/UbriefstatueZ,1,0
9041632,32,assets/obseg/brief/UbrieftraZ,1,0
9041664,1824,assets/obseg/setup/Ump_setupameZ,1,1
9043488,11680,assets/obseg/setup/j/Ump_setuparchZ,1,1
9055168,7488,assets/obseg/setup/Ump_setuparkZ,1,1
9062656,1776,assets/obseg/setup/Ump_setupashZ,1,1
9064432,9568,assets/obseg/setup/Ump_setupcaveZ,1,1
9074000,2400,assets/obseg/setup/Ump_setupcradZ,1,1
9076400,3424,assets/obseg/setup/Ump_setupcrypZ,1,1
9079824,1008,assets/obseg/setup/Ump_setupdishZ,1,1
9080832,1600,assets/obseg/setup/Ump_setupimpZ,1,1
9082432,848,assets/obseg/setup/Ump_setupoatZ,1,1
9083280,1040,assets/obseg/setup/Ump_setuprefZ,1,1
9084320,4880,assets/obseg/setup/Ump_setupsevbZ,1,1
9089200,3712,assets/obseg/setup/Ump_setupstatueZ,1,1
9092912,17936,assets/obseg/setup/UsetuparchZ,1,1
9110848,15248,assets/obseg/setup/UsetuparkZ,1,1
9126096,10496,assets/obseg/setup/UsetupaztZ,1,1
9136592,15968,assets/obseg/setup/UsetupcaveZ,1,1
9152560,15104,assets/obseg/setup/UsetupcontrolZ,1,1
9167664,7216,assets/obseg/setup/j/UsetupcradZ,1,1
9174880,7824,assets/obseg/setup/UsetupcrypZ,1,1
9182704,17104,assets/obseg/setup/UsetupdamZ,1,1
9199808,12176,assets/obseg/setup/UsetupdepoZ,1,1
9211984,9040,assets/obseg/setup/j/UsetupdestZ,1,1
9221024,14096,assets/obseg/setup/j/UsetupjunZ,1,1
9235120,1520,assets/obseg/setup/j/UsetuplenZ,1,1
9236640,12160,assets/obseg/setup/UsetuppeteZ,1,1
9248800,6240,assets/obseg/setup/UsetuprunZ,1,1
9255040,9824,assets/obseg/setup/UsetupsevbZ,1,1
9264864,6704,assets/obseg/setup/UsetupsevbunkerZ,1,1
9271568,17168,assets/obseg/setup/UsetupsevxZ,1,1
9288736,16624,assets/obseg/setup/UsetupsevxbZ,1,1
9305360,10944,assets/obseg/setup/j/UsetupsiloZ,1,1
9316304,10192,assets/obseg/setup/j/UsetupstatueZ,1,1
9326496,12864,assets/obseg/setup/j/UsetuptraZ,1,1
9339360,16,assets/obseg/text/LameE,1,0
9339376,16,assets/obseg/text/LameJ,1,0
9339392,1584,assets/obseg/text/LarchE,1,0
9340976,1632,assets/obseg/text/LarchJ,1,1
9342608,1488,assets/obseg/text/LarecE,1,0
9344096,1440,assets/obseg/text/j/LarecJ,1,1
9345536,1696,assets/obseg/text/LarkE,1,0
9347232,1680,assets/obseg/text/j/LarkJ,1,1
9348912,16,assets/obseg/text/LashE,1,0
9348928,16,assets/obseg/text/LashJ,1,0
9348944,1088,assets/obseg/text/LaztE,1,0
9350032,1104,assets/obseg/text/j/LaztJ,1,1
9351136,16,assets/obseg/text/LcatE,1,0
9351152,16,assets/obseg/text/LcatJ,1,0
9351168,1024,assets/obseg/text/LcaveE,1,0
9352192,1120,assets/obseg/text/LcaveJ,1,1
9353312,1232,assets/obseg/text/LcradE,1,0
9354544,1184,assets/obseg/text/j/LcradJ,1,1
9355728,592,assets/obseg/text/LcrypE,1,0
9356320,672,assets/obseg/text/j/LcrypJ,1,1
9356992,1104,assets/obseg/text/LdamE,1,0
9358096,1104,assets/obseg/text/j/LdamJ,1,1
9359200,880,assets/obseg/text/LdepoE,1,0
9360080,816,assets/obseg/text/j/LdepoJ,1,1
9360896,1168,assets/obseg/text/LdestE,1,0
9362064,1120,assets/obseg/text/LdestJ,1,1
9363184,16,assets/obseg/text/LdishE,1,0
9363200,16,assets/obseg/text/LdishJ,1,0
9363216,16,assets/obseg/text/LearE,1,0
9363232,16,assets/obseg/text/LearJ,1,0
9363248,16,assets/obseg/text/LeldE,1,0
9363264,16,assets/obseg/text/LeldJ,1,0
9363280,1824,assets/obseg/text/LgunE,1,0
9365104,1856,assets/obseg/text/j/LgunJ,1,1
9366960,16,assets/obseg/text/LimpE,1,0
9366976,16,assets/obseg/text/LimpJ,1,0
9366992,1312,assets/obseg/text/LjunE,1,0
9368304,1328,assets/obseg/text/j/LjunJ,1,1
9369632,16,assets/obseg/text/LleeE,1,0
9369648,16,assets/obseg/text/LleeJ,1,0
9369664,1712,assets/obseg/text/LlenE,1,0
9371376,1824,assets/obseg/text/j/LlenJ,1,1
9373200,16,assets/obseg/text/LlipE,1,0
9373216,16,assets/obseg/text/LlipJ,1,0
9373232,16,assets/obseg/text/LlueE,1,0
9373248,16,assets/obseg/text/LlueJ,1,0
9373264,688,assets/obseg/text/LmiscE,1,0
9373952,704,assets/obseg/text/j/LmiscJ,1,1
9374656,416,assets/obseg/text/LmpmenuE,1,0
9375072,416,assets/obseg/text/j/LmpmenuJ,1,1
9375488,192,assets/obseg/text/LmpweaponsE,1,0
9375680,208,assets/obseg/text/j/LmpweaponsJ,1,1
9375888,16,assets/obseg/text/LoatE,1,0
9375904,16,assets/obseg/text/LoatJ,1,0
9375920,560,assets/obseg/text/LoptionsE,1,0
9376480,576,assets/obseg/text/j/LoptionsJ,1,1
9377056,16,assets/obseg/text/LpamE,1,0
9377072,16,assets/obseg/text/LpamJ,1,0
9377088,1152,assets/obseg/text/LpeteE,1,0
9378240,1136,assets/obseg/text/j/LpeteJ,1,1
9379376,672,assets/obseg/text/LpropobjE,1,0
9380048,672,assets/obseg/text/j/LpropobjJ,1,1
9380720,16,assets/obseg/text/LrefE,1,0
9380736,16,assets/obseg/text/LrefJ,1,0
9380752,16,assets/obseg/text/LritE,1,0
9380768,16,assets/obseg/text/LritJ,1,0
9380784,624,assets/obseg/text/LrunE,1,0
9381408,656,assets/obseg/text/LrunJ,1,1
9382064,1376,assets/obseg/text/LsevE,1,0
9383440,1296,assets/obseg/text/j/LsevJ,1,1
9384736,1872,assets/obseg/text/LsevbE,1,0
9386608,2032,assets/obseg/text/j/LsevbJ,1,1
9388640,1120,assets/obseg/text/LsevxE,1,0
9389760,976,assets/obseg/text/j/LsevxJ,1,1
9390736,1168,assets/obseg/text/LsevxbE,1,0
9391904,1104,assets/obseg/text/LsevxbJ,1,1
9393008,16,assets/obseg/text/LshoE,1,0
9393024,16,assets/obseg/text/LshoJ,1,0
9393040,1456,assets/obseg/text/LsiloE,1,0
9394496,1520,assets/obseg/text/j/LsiloJ,1,1
9396016,2336,assets/obseg/text/LstatE,1,0
9398352,2128,assets/obseg/text/j/LstatJ,1,1
9400480,2832,assets/obseg/text/LtitleE,1,0
9403312,3056,assets/obseg/text/j/LtitleJ,1,1
9406368,1072,assets/obseg/text/LtraE,1,0
9407440,1104,assets/obseg/text/j/LtraJ,1,1
9408544,16,assets/obseg/text/LwaxE,1,0
9408560,16,assets/obseg/text/LwaxJ,1,0
9408576,16,assets/obseg/ob__ob_end.seg,0,1
1 1148320 192 assets/ge007.u.117880.jfont_dl.bin 0 1
2 1148512 46848 assets/ge007.j.118660.jfont_chardata.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
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
10 2904560 8144 assets/ramrom/ramrom_Dam_2.bin 0 1
11 2912704 6832 assets/ramrom/ramrom_Facility_1.bin 0 1
12 2919536 9184 assets/ramrom/ramrom_Facility_2.bin 0 1
13 2928720 7280 assets/ramrom/ramrom_Facility_3.bin 0 1
14 2936000 10064 assets/ramrom/ramrom_Runway_1.bin 0 1
15 2946064 10512 assets/ramrom/ramrom_Runway_2.bin 0 1
16 2956576 13200 assets/ramrom/ramrom_BunkerI_1.bin 0 1
17 2969776 21120 assets/ramrom/ramrom_BunkerI_2.bin 0 1
18 2990896 8592 assets/ramrom/ramrom_Silo_1.bin 0 1
19 2999488 8144 assets/ramrom/ramrom_Silo_2.bin 0 1
20 3007632 6576 assets/ramrom/ramrom_Frigate_1.bin 0 1
21 3014208 13536 assets/ramrom/ramrom_Frigate_2.bin 0 1
22 3027744 15856 assets/ramrom/ramrom_Train.bin 0 1
23 3043600 676 assets/font/font_first_font_table_controller_small.bin 0 1
24 3044276 8716 assets/font/font_second_font_table_controller_small.bin 0 1
25 3052992 676 assets/font/font_first_font_table_controller_large.bin 0 1
26 3053668 12956 assets/font/font_second_font_table_controller_large.bin 0 1
27 3066624 23488 assets/music/sfx.ctl 0 1
28 3090112 797360 assets/music/sfx.tbl 0 1
29 3887472 17312 assets/music/instruments.ctl 0 1
30 3904784 397216 assets/music/instruments.tbl 0 1
31 4302000 4 assets/music/number_music_samples 0 0
32 4302004 504 assets/music/table_music_data.bin 0 0
33 4302508 42 assets/music/Mno_music 1 1
34 4302550 470 assets/music/Msolo_death_abrev 1 1
35 4303020 2222 assets/music/Mintro_eye 1 1
36 4305242 3050 assets/music/Mtrain 1 1
37 4308292 3488 assets/music/Mdepot 1 1
38 4311780 3480 assets/music/Mjungle_unused 1 1
39 4315260 3520 assets/music/Mcitadel 1 1
40 4318780 2766 assets/music/Mfacility 1 1
41 4321546 2910 assets/music/Mcontrol 1 1
42 4324456 3588 assets/music/Mdam 1 1
43 4328044 3552 assets/music/Mfrigate 1 1
44 4331596 2388 assets/music/Marchives 1 1
45 4333984 3696 assets/music/Msilo 1 1
46 4337680 3948 assets/music/Mjungle_perimeter_unused 1 1
47 4341628 3330 assets/music/Mstreets 1 1
48 4344958 1650 assets/music/Mbunker1 1 1
49 4346608 1664 assets/music/Mbunker2 1 1
50 4348272 2456 assets/music/Mstatue 1 1
51 4350728 2522 assets/music/Melevator_control 1 1
52 4353250 3424 assets/music/Mcradle 1 1
53 4356674 42 assets/music/Mnull1 1 1
54 4356716 1606 assets/music/Melevator_wc 1 1
55 4358322 3482 assets/music/Megyptian 1 1
56 4361804 994 assets/music/Mfolders 1 1
57 4362798 498 assets/music/Mwatchmusic 1 1
58 4363296 3186 assets/music/Maztec 1 1
59 4366482 3628 assets/music/Mwatercaverns 1 1
60 4370110 870 assets/music/Mdeathsolo 1 1
61 4370980 3510 assets/music/Msurface2 1 1
62 4374490 2208 assets/music/Mtrainx 1 1
63 4376698 42 assets/music/Mnull2 1 1
64 4376740 2392 assets/music/Mfacilityx 1 1
65 4379132 1980 assets/music/Mdepotx 1 1
66 4381112 1352 assets/music/Mcontrolx 1 1
67 4382464 1876 assets/music/Mwatercavernsx 1 1
68 4384340 1312 assets/music/Mdamx 1 1
69 4385652 1474 assets/music/Mfrigatex 1 1
70 4387126 1828 assets/music/Marchivesx 1 1
71 4388954 2292 assets/music/Msilox 1 1
72 4391246 42 assets/music/Mnull3 1 1
73 4391288 1644 assets/music/Mstreetsx 1 1
74 4392932 1958 assets/music/Mbunker1x 1 1
75 4394890 1614 assets/music/Mbunker2x 1 1
76 4396504 2070 assets/music/Mjunglex 1 1
77 4398574 1074 assets/music/Mnint_rare_logo 1 1
78 4399648 1720 assets/music/Mstatuex 1 1
79 4401368 2262 assets/music/Maztecx 1 1
80 4403630 2224 assets/music/Megyptianx 1 1
81 4405854 1738 assets/music/Mcradlex 1 1
82 4407592 2122 assets/music/Mcuba 1 1
83 4409714 3358 assets/music/Mrunway 1 1
84 4413072 730 assets/music/Mrunway_plane 1 1
85 4413802 1832 assets/music/Msurface2x 1 1
86 4415634 1314 assets/music/Mwindblowing 1 1
87 4416948 524 assets/music/Mmultideath_alt 1 1
88 4417472 1928 assets/music/Mjungle 1 1
89 4419400 1570 assets/music/Mrunwayx 1 1
90 4420970 3432 assets/music/Msurface1 1 1
91 4424402 712 assets/music/Mmultiplayerdeath 1 1
92 4425114 1832 assets/music/Msurface1x 1 1
93 4426946 668 assets/music/Msurface2_ending 1 1
94 4427614 358 assets/music/Mstatue_ending 1 1
95 4427972 700 assets/music/Mfrigate_outro 1 1
96 4428672 69104 assets/obseg/bg/bg_sev_all_p.bin 0 0
97 4497776 331584 assets/obseg/bg/bg_silo_all_p.bin 0 0
98 4829360 139472 assets/obseg/bg/bg_stat_all_p.bin 0 1
99 4968832 189312 assets/obseg/bg/bg_arec_all_p.bin 0 1
100 5158144 154352 assets/obseg/bg/bg_arch_all_p.bin 0 1
101 5312496 132464 assets/obseg/bg/bg_tra_all_p.bin 0 1
102 5444960 186816 assets/obseg/bg/bg_dest_all_p.bin 0 1
103 5631776 109984 assets/obseg/bg/bg_sevb_all_p.bin 0 0
104 5741760 137808 assets/obseg/bg/bg_azt_all_p.bin 0 0
105 5879568 105520 assets/obseg/bg/bg_pete_all_p.bin 0 1
106 5985088 182640 assets/obseg/bg/bg_depo_all_p.bin 0 1
107 6167728 38416 assets/obseg/bg/bg_ref_all_p.bin 0 0
108 6206144 87728 assets/obseg/bg/bg_cryp_all_p.bin 0 0
109 6293872 197024 assets/obseg/bg/bg_dam_all_p.bin 0 1
110 6490896 200576 assets/obseg/bg/bg_ark_all_p.bin 0 1
111 6691472 41936 assets/obseg/bg/bg_run_all_p.bin 0 0
112 6733408 116176 assets/obseg/bg/bg_sevx_all_p.bin 0 0
113 6849584 86352 assets/obseg/bg/bg_jun_all_p.bin 0 1
114 6935936 18544 assets/obseg/bg/bg_dish_all_p.bin 0 0
115 6954480 148720 assets/obseg/bg/bg_cave_all_p.bin 0 1
116 7103200 21808 assets/obseg/bg/bg_cat_all_p.bin 0 0
117 7125008 66384 assets/obseg/bg/bg_crad_all_p.bin 0 0
118 7191392 0 assets/obseg/bg/bg_imp_all_p.bin 0 1
119 7191392 0 assets/obseg/bg/bg_ash_all_p.bin 0 1
120 7191392 0 assets/obseg/bg/bg_sho_all_p.bin 0 1
121 7191392 40800 assets/obseg/bg/bg_ame_all_p.bin 0 0
122 7232192 0 assets/obseg/bg/bg_oat_all_p.bin 0 1
123 7232192 28240 assets/obseg/bg/bg_rit_all_p.bin 0 0
124 7260432 0 assets/obseg/bg/bg_len_all_p.bin 0 1
125 7260432 0 assets/obseg/bg/bg_lee_all_p.bin 0 1
126 7260432 0 assets/obseg/bg/bg_ear_all_p.bin 0 1
127 7260432 4000 assets/obseg/bg/bg_lip_all_p.bin 0 0
128 7264432 0 assets/obseg/bg/bg_pam_all_p.bin 0 1
129 7264432 0 assets/obseg/bg/bg_wax_all_p.bin 0 1
130 7264432 9344 assets/obseg/chr/CarmourguardZ 1 1
131 7273776 14064 assets/obseg/chr/CbaronsamediZ 1 1
132 7287840 9968 assets/obseg/chr/CbluecamguardZ 1 1
133 7297808 7696 assets/obseg/chr/CbluemanZ 1 1
134 7305504 7872 assets/obseg/chr/CbluewomanZ 1 1
135 7313376 11280 assets/obseg/chr/CboilerbondZ 1 1
136 7324656 13952 assets/obseg/chr/CboilertrevZ 1 1
137 7338608 12576 assets/obseg/chr/CborisZ 1 1
138 7351184 9952 assets/obseg/chr/CcamguardZ 1 1
139 7361136 7680 assets/obseg/chr/CcardimanZ 1 1
140 7368816 7808 assets/obseg/chr/CcheckmanZ 1 1
141 7376624 9728 assets/obseg/chr/CcommguardZ 1 1
142 7386352 11920 assets/obseg/chr/CdjbondZ 1 1
143 7398272 7968 assets/obseg/chr/CfattechwomanZ 1 1
144 7406240 10016 assets/obseg/chr/Cgreatguard2Z 1 1
145 7416256 9856 assets/obseg/chr/CgreatguardZ 1 1
146 7426112 9936 assets/obseg/chr/CgreyguardZ 1 1
147 7436048 7616 assets/obseg/chr/CgreymanZ 1 1
148 7443664 1488 assets/obseg/chr/CheadalanZ 1 1
149 7445152 1392 assets/obseg/chr/CheadbZ 1 1
150 7446544 976 assets/obseg/chr/CheadbalaclavaZ 1 1
151 7447520 1696 assets/obseg/chr/CheadbikeZ 1 1
152 7449216 3408 assets/obseg/chr/CheadbrosnanZ 1 1
153 7452624 2976 assets/obseg/chr/CheadbrosnanboilerZ 1 1
154 7455600 3712 assets/obseg/chr/CheadbrosnansnowZ 1 1
155 7459312 3456 assets/obseg/chr/CheadbrosnansuitZ 1 1
156 7462768 3008 assets/obseg/chr/CheadbrosnantimberZ 1 1
157 7465776 1344 assets/obseg/chr/CheadchrisZ 1 1
158 7467120 1408 assets/obseg/chr/CheaddaveZ 1 1
159 7468528 1328 assets/obseg/chr/CheaddesZ 1 1
160 7469856 1312 assets/obseg/chr/CheadduncanZ 1 1
161 7471168 1408 assets/obseg/chr/CheaddwayneZ 1 1
162 7472576 1392 assets/obseg/chr/CheadgrahamZ 1 1
163 7473968 1328 assets/obseg/chr/CheadgrantZ 1 1
164 7475296 1328 assets/obseg/chr/CheadjimZ 1 1
165 7476624 1056 assets/obseg/chr/Cheadjoe2Z 1 1
166 7477680 1392 assets/obseg/chr/CheadjoeZ 1 1
167 7479072 1296 assets/obseg/chr/CheadjoelZ 1 1
168 7480368 1376 assets/obseg/chr/CheadkarlZ 1 1
169 7481744 1360 assets/obseg/chr/CheadkenZ 1 1
170 7483104 1408 assets/obseg/chr/CheadleeZ 1 1
171 7484512 1008 assets/obseg/chr/CheadmandyZ 1 1
172 7485520 1040 assets/obseg/chr/CheadmarionZ 1 1
173 7486560 1328 assets/obseg/chr/CheadmarkZ 1 1
174 7487888 1376 assets/obseg/chr/CheadmartinZ 1 1
175 7489264 1376 assets/obseg/chr/CheadmishkinZ 1 1
176 7490640 1312 assets/obseg/chr/CheadneilZ 1 1
177 7491952 1424 assets/obseg/chr/CheadpeteZ 1 1
178 7493376 1296 assets/obseg/chr/CheadrobinZ 1 1
179 7494672 1024 assets/obseg/chr/CheadsallyZ 1 1
180 7495696 1408 assets/obseg/chr/CheadscottZ 1 1
181 7497104 1504 assets/obseg/chr/CheadshaunZ 1 1
182 7498608 1360 assets/obseg/chr/CheadsteveeZ 1 1
183 7499968 1360 assets/obseg/chr/CheadstevehZ 1 1
184 7501328 1168 assets/obseg/chr/CheadvivienZ 1 1
185 7502496 11328 assets/obseg/chr/CjawsZ 1 1
186 7513824 8208 assets/obseg/chr/CjeanwomanZ 1 1
187 7522032 11168 assets/obseg/chr/CmaydayZ 1 1
188 7533200 8528 assets/obseg/chr/CmoonfemaleZ 1 1
189 7541728 9712 assets/obseg/chr/CmoonguardZ 1 1
190 7551440 14528 assets/obseg/chr/CnatalyaZ 1 1
191 7565968 9952 assets/obseg/chr/CnavyguardZ 1 1
192 7575920 12592 assets/obseg/chr/CoddjobZ 1 1
193 7588512 9808 assets/obseg/chr/ColiveguardZ 1 1
194 7598320 13360 assets/obseg/chr/CorumovZ 1 1
195 7611680 12416 assets/obseg/chr/CpilotZ 1 1
196 7624096 10032 assets/obseg/chr/CredmanZ 1 1
197 7634128 7216 assets/obseg/chr/CrusguardZ 1 1
198 7641344 13104 assets/obseg/chr/CsnowbondZ 1 1
199 7654448 11392 assets/obseg/chr/CsnowguardZ 1 1
200 7665840 14624 assets/obseg/chr/CspicebondZ 1 1
201 7680464 12832 assets/obseg/chr/Csuit_lf_handZ 1 1
202 7693296 11664 assets/obseg/chr/CsuitbondZ 1 1
203 7704960 9904 assets/obseg/chr/CtechmanZ 1 1
204 7714864 8176 assets/obseg/chr/CtechwomanZ 1 1
205 7723040 11568 assets/obseg/chr/CtimberbondZ 1 1
206 7734608 14288 assets/obseg/chr/CtrevelyanZ 1 1
207 7748896 9744 assets/obseg/chr/CtrevguardZ 1 1
208 7758640 12144 assets/obseg/chr/CvalentinZ 1 1
209 7770784 14832 assets/obseg/chr/CxeniaZ 1 1
210 7785616 2576 assets/obseg/gun/Gak47Z 1 1
211 7788192 912 assets/obseg/gun/GaudiotapeZ 1 1
212 7789104 6160 assets/obseg/gun/GautoshotZ 1 1
213 7795264 1536 assets/obseg/gun/GblackboxZ 1 1
214 7796800 256 assets/obseg/gun/GblueprintsZ 1 1
215 7797056 1936 assets/obseg/gun/GbombcaseZ 1 1
216 7798992 1520 assets/obseg/gun/GbombdefuserZ 1 1
217 7800512 1936 assets/obseg/gun/GbriefcaseZ 1 1
218 7802448 2416 assets/obseg/gun/GbugZ 1 1
219 7804864 848 assets/obseg/gun/GbugdetectorZ 1 1
220 7805712 848 assets/obseg/gun/GbungeeZ 1 1
221 7806560 1152 assets/obseg/gun/GcameraZ 1 1
222 7807712 608 assets/obseg/gun/GcartblueZ 1 1
223 7808320 304 assets/obseg/gun/GcartridgeZ 1 1
224 7808624 528 assets/obseg/gun/GcartrifleZ 1 1
225 7809152 512 assets/obseg/gun/GcartshellZ 1 1
226 7809664 320 assets/obseg/gun/GcircuitboardZ 1 1
227 7809984 496 assets/obseg/gun/GclipboardZ 1 1
228 7810480 848 assets/obseg/gun/GcreditcardZ 1 1
229 7811328 848 assets/obseg/gun/GdarkglassesZ 1 1
230 7812176 320 assets/obseg/gun/GdatathiefZ 1 1
231 7812496 368 assets/obseg/gun/GdattapeZ 1 1
232 7812864 1408 assets/obseg/gun/GdoordecoderZ 1 1
233 7814272 848 assets/obseg/gun/GdoorexploderZ 1 1
234 7815120 864 assets/obseg/gun/GdossierredZ 1 1
235 7815984 848 assets/obseg/gun/GdynamiteZ 1 1
236 7816832 592 assets/obseg/gun/GexplosivefloppyZ 1 1
237 7817424 848 assets/obseg/gun/GexplosivepenZ 1 1
238 7818272 2032 assets/obseg/gun/GextinguisherZ 1 1
239 7820304 848 assets/obseg/gun/GfingergunZ 1 1
240 7821152 5888 assets/obseg/gun/GfistZ 1 1
241 7827040 848 assets/obseg/gun/GflarepistolZ 1 1
242 7827888 3232 assets/obseg/gun/Gfnp90Z 1 1
243 7831120 2608 assets/obseg/gun/GgaskeyringZ 1 1
244 7833728 848 assets/obseg/gun/GgoldbarZ 1 1
245 7834576 2480 assets/obseg/gun/GgoldeneyekeyZ 1 1
246 7837056 6112 assets/obseg/gun/GgoldengunZ 1 1
247 7843168 6496 assets/obseg/gun/GgoldwppkZ 1 1
248 7849664 2608 assets/obseg/gun/GgrenadeZ 1 1
249 7852272 4224 assets/obseg/gun/GgrenadelaunchZ 1 1
250 7856496 848 assets/obseg/gun/GheroinZ 1 1
251 7857344 7856 assets/obseg/gun/GjoypadZ 1 1
252 7865200 1936 assets/obseg/gun/GkeyanalysercaseZ 1 1
253 7867136 2544 assets/obseg/gun/GkeyboltZ 1 1
254 7869680 304 assets/obseg/gun/GkeycardZ 1 1
255 7869984 3408 assets/obseg/gun/GkeyyaleZ 1 1
256 7873392 6864 assets/obseg/gun/GknifeZ 1 1
257 7880256 3568 assets/obseg/gun/GlaserZ 1 1
258 7883824 848 assets/obseg/gun/GlectreZ 1 1
259 7884672 848 assets/obseg/gun/GlockexploderZ 1 1
260 7885520 2592 assets/obseg/gun/Gm16Z 1 1
261 7888112 240 assets/obseg/gun/GmapZ 1 1
262 7888352 1600 assets/obseg/gun/GmicrocameraZ 1 1
263 7889952 848 assets/obseg/gun/GmicrocodeZ 1 1
264 7890800 848 assets/obseg/gun/GmicrofilmZ 1 1
265 7891648 848 assets/obseg/gun/GmoneyZ 1 1
266 7892496 3040 assets/obseg/gun/Gmp5kZ 1 1
267 7895536 3328 assets/obseg/gun/Gmp5ksilZ 1 1
268 7898864 848 assets/obseg/gun/GpitongunZ 1 1
269 7899712 464 assets/obseg/gun/GplansZ 1 1
270 7900176 848 assets/obseg/gun/GplastiqueZ 1 1
271 7901024 1376 assets/obseg/gun/GpolarizedglassesZ 1 1
272 7902400 2032 assets/obseg/gun/GproximitymineZ 1 1
273 7904432 2496 assets/obseg/gun/GremotemineZ 1 1
274 7906928 4640 assets/obseg/gun/GrocketlaunchZ 1 1
275 7911568 7568 assets/obseg/gun/GrugerZ 1 1
276 7919136 1936 assets/obseg/gun/GsafecrackercaseZ 1 1
277 7921072 3808 assets/obseg/gun/GshotgunZ 1 1
278 7924880 6496 assets/obseg/gun/GsilverwppkZ 1 1
279 7931376 4608 assets/obseg/gun/GskorpionZ 1 1
280 7935984 4208 assets/obseg/gun/GsniperrifleZ 1 1
281 7940192 3200 assets/obseg/gun/GspectreZ 1 1
282 7943392 848 assets/obseg/gun/GspooltapeZ 1 1
283 7944240 848 assets/obseg/gun/GspyfileZ 1 1
284 7945088 416 assets/obseg/gun/GstafflistZ 1 1
285 7945504 7776 assets/obseg/gun/GtaserZ 1 1
286 7953280 6896 assets/obseg/gun/GthrowknifeZ 1 1
287 7960176 2752 assets/obseg/gun/GtimedmineZ 1 1
288 7962928 13312 assets/obseg/gun/GtriggerZ 1 1
289 7976240 6944 assets/obseg/gun/Gtt33Z 1 1
290 7983184 2320 assets/obseg/gun/GuziZ 1 1
291 7985504 528 assets/obseg/gun/GvideotapeZ 1 1
292 7986032 5216 assets/obseg/gun/GwatchcommunicatorZ 1 1
293 7991248 5216 assets/obseg/gun/GwatchgeigercounterZ 1 1
294 7996464 5216 assets/obseg/gun/GwatchidentifierZ 1 1
295 8001680 13312 assets/obseg/gun/GwatchlaserZ 1 1
296 8014992 5200 assets/obseg/gun/GwatchmagnetattractZ 1 1
297 8020192 5216 assets/obseg/gun/GwatchmagnetrepelZ 1 1
298 8025408 1936 assets/obseg/gun/GweaponcaseZ 1 1
299 8027344 7312 assets/obseg/gun/GwppkZ 1 1
300 8034656 7488 assets/obseg/gun/GwppksilZ 1 1
301 8042144 848 assets/obseg/gun/GwristdartZ 1 1
302 8042992 9600 assets/obseg/prop/PICBMZ 1 1
303 8052592 1968 assets/obseg/prop/PICBM_noseZ 1 1
304 8054560 480 assets/obseg/prop/Pak47magZ 1 1
305 8055040 352 assets/obseg/prop/Palarm1Z 1 1
306 8055392 416 assets/obseg/prop/Palarm2Z 1 1
307 8055808 576 assets/obseg/prop/Pammo_crate1Z 1 1
308 8056384 576 assets/obseg/prop/Pammo_crate2Z 1 1
309 8056960 592 assets/obseg/prop/Pammo_crate3Z 1 1
310 8057552 624 assets/obseg/prop/Pammo_crate4Z 1 1
311 8058176 704 assets/obseg/prop/Pammo_crate5Z 1 1
312 8058880 7264 assets/obseg/prop/PapcZ 1 1
313 8066144 480 assets/obseg/prop/Parchsecdoor1Z 1 1
314 8066624 464 assets/obseg/prop/Parchsecdoor2Z 1 1
315 8067088 3584 assets/obseg/prop/ParticZ 1 1
316 8070672 2320 assets/obseg/prop/PartictrailerZ 1 1
317 8072992 576 assets/obseg/prop/PbarricadeZ 1 1
318 8073568 848 assets/obseg/prop/Pbin1Z 1 1
319 8074416 224 assets/obseg/prop/Pblotter1Z 1 1
320 8074640 1184 assets/obseg/prop/PbodyarmourZ 1 1
321 8075824 1056 assets/obseg/prop/PbodyarmourvestZ 1 1
322 8076880 512 assets/obseg/prop/PbollardZ 1 1
323 8077392 368 assets/obseg/prop/PbombZ 1 1
324 8077760 400 assets/obseg/prop/Pbook1Z 1 1
325 8078160 1776 assets/obseg/prop/Pbookshelf1Z 1 1
326 8079936 368 assets/obseg/prop/Pborg_crateZ 1 1
327 8080304 512 assets/obseg/prop/PboxcartridgesZ 1 1
328 8080816 1072 assets/obseg/prop/Pboxes2x4Z 1 1
329 8081888 1088 assets/obseg/prop/Pboxes3x4Z 1 1
330 8082976 1632 assets/obseg/prop/Pboxes4x4Z 1 1
331 8084608 880 assets/obseg/prop/PbrakeunitZ 1 1
332 8085488 1408 assets/obseg/prop/Pbridge_console1aZ 1 1
333 8086896 1376 assets/obseg/prop/Pbridge_console1bZ 1 1
334 8088272 1408 assets/obseg/prop/Pbridge_console2aZ 1 1
335 8089680 1264 assets/obseg/prop/Pbridge_console2bZ 1 1
336 8090944 1360 assets/obseg/prop/Pbridge_console3aZ 1 1
337 8092304 1424 assets/obseg/prop/Pbridge_console3bZ 1 1
338 8093728 3296 assets/obseg/prop/PcarbmwZ 1 1
339 8097024 512 assets/obseg/prop/Pcard_box1Z 1 1
340 8097536 576 assets/obseg/prop/Pcard_box2Z 1 1
341 8098112 496 assets/obseg/prop/Pcard_box3Z 1 1
342 8098608 432 assets/obseg/prop/Pcard_box4Z 1 1
343 8099040 512 assets/obseg/prop/Pcard_box5Z 1 1
344 8099552 496 assets/obseg/prop/Pcard_box6Z 1 1
345 8100048 3072 assets/obseg/prop/PcarescortZ 1 1
346 8103120 3120 assets/obseg/prop/PcargolfZ 1 1
347 8106240 4416 assets/obseg/prop/PcarweirdZ 1 1
348 8110656 5632 assets/obseg/prop/PcarzilZ 1 1
349 8116288 896 assets/obseg/prop/PcctvZ 1 1
350 8117184 1376 assets/obseg/prop/PchraudiotapeZ 1 1
351 8118560 864 assets/obseg/prop/PchrautoshotZ 1 1
352 8119424 2176 assets/obseg/prop/PchrblackboxZ 1 1
353 8121600 336 assets/obseg/prop/PchrblueprintsZ 1 1
354 8121936 496 assets/obseg/prop/PchrbombcaseZ 1 1
355 8122432 2272 assets/obseg/prop/PchrbombdefuserZ 1 1
356 8124704 400 assets/obseg/prop/PchrbriefcaseZ 1 1
357 8125104 3504 assets/obseg/prop/PchrbugZ 1 1
358 8128608 368 assets/obseg/prop/PchrbugdetectorZ 1 1
359 8128976 368 assets/obseg/prop/PchrbungeeZ 1 1
360 8129344 1680 assets/obseg/prop/PchrcameraZ 1 1
361 8131024 416 assets/obseg/prop/PchrcircuitboardZ 1 1
362 8131440 640 assets/obseg/prop/PchrclipboardZ 1 1
363 8132080 368 assets/obseg/prop/PchrcreditcardZ 1 1
364 8132448 368 assets/obseg/prop/PchrdarkglassesZ 1 1
365 8132816 416 assets/obseg/prop/PchrdatathiefZ 1 1
366 8133232 496 assets/obseg/prop/PchrdattapeZ 1 1
367 8133728 2144 assets/obseg/prop/PchrdoordecoderZ 1 1
368 8135872 368 assets/obseg/prop/PchrdoorexploderZ 1 1
369 8136240 1232 assets/obseg/prop/PchrdossierredZ 1 1
370 8137472 368 assets/obseg/prop/PchrdynamiteZ 1 1
371 8137840 368 assets/obseg/prop/PchrexplosivepenZ 1 1
372 8138208 1280 assets/obseg/prop/PchrextinguisherZ 1 1
373 8139488 368 assets/obseg/prop/PchrfingergunZ 1 1
374 8139856 368 assets/obseg/prop/PchrflarepistolZ 1 1
375 8140224 1120 assets/obseg/prop/Pchrfnp90Z 1 1
376 8141344 3856 assets/obseg/prop/PchrgaskeyringZ 1 1
377 8145200 368 assets/obseg/prop/PchrgoldbarZ 1 1
378 8145568 624 assets/obseg/prop/PchrgoldenZ 1 1
379 8146192 3744 assets/obseg/prop/PchrgoldeneyekeyZ 1 1
380 8149936 368 assets/obseg/prop/PchrgoldwppkZ 1 1
381 8150304 880 assets/obseg/prop/PchrgrenadeZ 1 1
382 8151184 912 assets/obseg/prop/PchrgrenadelaunchZ 1 1
383 8152096 624 assets/obseg/prop/PchrgrenaderoundZ 1 1
384 8152720 368 assets/obseg/prop/PchrheroinZ 1 1
385 8153088 1008 assets/obseg/prop/PchrkalashZ 1 1
386 8154096 496 assets/obseg/prop/PchrkeyanalysercaseZ 1 1
387 8154592 3744 assets/obseg/prop/PchrkeyboltZ 1 1
388 8158336 5216 assets/obseg/prop/PchrkeyyaleZ 1 1
389 8163552 512 assets/obseg/prop/PchrknifeZ 1 1
390 8164064 960 assets/obseg/prop/PchrlaserZ 1 1
391 8165024 368 assets/obseg/prop/PchrlectreZ 1 1
392 8165392 368 assets/obseg/prop/PchrlockexploderZ 1 1
393 8165760 976 assets/obseg/prop/Pchrm16Z 1 1
394 8166736 336 assets/obseg/prop/PchrmapZ 1 1
395 8167072 2288 assets/obseg/prop/PchrmicrocameraZ 1 1
396 8169360 368 assets/obseg/prop/PchrmicrocodeZ 1 1
397 8169728 368 assets/obseg/prop/PchrmicrofilmZ 1 1
398 8170096 368 assets/obseg/prop/PchrmoneyZ 1 1
399 8170464 896 assets/obseg/prop/Pchrmp5kZ 1 1
400 8171360 1040 assets/obseg/prop/Pchrmp5ksilZ 1 1
401 8172400 368 assets/obseg/prop/PchrpitongunZ 1 1
402 8172768 656 assets/obseg/prop/PchrplansZ 1 1
403 8173424 1120 assets/obseg/prop/PchrplastiqueZ 1 1
404 8174544 2240 assets/obseg/prop/PchrpolarizedglassesZ 1 1
405 8176784 1120 assets/obseg/prop/PchrproximitymineZ 1 1
406 8177904 1120 assets/obseg/prop/PchrremotemineZ 1 1
407 8179024 1456 assets/obseg/prop/PchrrocketZ 1 1
408 8180480 992 assets/obseg/prop/PchrrocketlaunchZ 1 1
409 8181472 992 assets/obseg/prop/PchrrugerZ 1 1
410 8182464 496 assets/obseg/prop/PchrsafecrackercaseZ 1 1
411 8182960 848 assets/obseg/prop/PchrshotgunZ 1 1
412 8183808 368 assets/obseg/prop/PchrsilverwppkZ 1 1
413 8184176 896 assets/obseg/prop/PchrskorpionZ 1 1
414 8185072 912 assets/obseg/prop/PchrsniperrifleZ 1 1
415 8185984 880 assets/obseg/prop/PchrspectreZ 1 1
416 8186864 368 assets/obseg/prop/PchrspooltapeZ 1 1
417 8187232 368 assets/obseg/prop/PchrspyfileZ 1 1
418 8187600 544 assets/obseg/prop/PchrstafflistZ 1 1
419 8188144 448 assets/obseg/prop/PchrtesttubeZ 1 1
420 8188592 544 assets/obseg/prop/PchrthrowknifeZ 1 1
421 8189136 1328 assets/obseg/prop/PchrtimedmineZ 1 1
422 8190464 656 assets/obseg/prop/Pchrtt33Z 1 1
423 8191120 720 assets/obseg/prop/PchruziZ 1 1
424 8191840 720 assets/obseg/prop/PchrvideotapeZ 1 1
425 8192560 512 assets/obseg/prop/PchrweaponcaseZ 1 1
426 8193072 576 assets/obseg/prop/PchrwppkZ 1 1
427 8193648 736 assets/obseg/prop/PchrwppksilZ 1 1
428 8194384 368 assets/obseg/prop/PchrwristdartZ 1 1
429 8194752 1664 assets/obseg/prop/Pconsole1Z 1 1
430 8196416 1664 assets/obseg/prop/Pconsole2Z 1 1
431 8198080 1680 assets/obseg/prop/Pconsole3Z 1 1
432 8199760 1056 assets/obseg/prop/Pconsole_sev2aZ 1 1
433 8200816 1216 assets/obseg/prop/Pconsole_sev2bZ 1 1
434 8202032 1088 assets/obseg/prop/Pconsole_sev2cZ 1 1
435 8203120 1072 assets/obseg/prop/Pconsole_sev2dZ 1 1
436 8204192 1072 assets/obseg/prop/Pconsole_sev_GEaZ 1 1
437 8205264 1072 assets/obseg/prop/Pconsole_sev_GEbZ 1 1
438 8206336 1152 assets/obseg/prop/Pconsole_sevaZ 1 1
439 8207488 1136 assets/obseg/prop/Pconsole_sevbZ 1 1
440 8208624 1072 assets/obseg/prop/Pconsole_sevcZ 1 1
441 8209696 1072 assets/obseg/prop/Pconsole_sevdZ 1 1
442 8210768 400 assets/obseg/prop/Pcryptdoor1aZ 1 1
443 8211168 400 assets/obseg/prop/Pcryptdoor1bZ 1 1
444 8211568 400 assets/obseg/prop/Pcryptdoor2aZ 1 1
445 8211968 400 assets/obseg/prop/Pcryptdoor2bZ 1 1
446 8212368 624 assets/obseg/prop/Pcryptdoor3Z 1 1
447 8212992 384 assets/obseg/prop/Pcryptdoor4Z 1 1
448 8213376 640 assets/obseg/prop/PdamchaindoorZ 1 1
449 8214016 544 assets/obseg/prop/PdamgatedoorZ 1 1
450 8214560 880 assets/obseg/prop/PdamtundoorZ 1 1
451 8215440 416 assets/obseg/prop/Pdepot_door_steelZ 1 1
452 8215856 576 assets/obseg/prop/Pdepot_gate_entryZ 1 1
453 8216432 384 assets/obseg/prop/Pdesk1Z 1 1
454 8216816 384 assets/obseg/prop/Pdesk2Z 1 1
455 8217200 576 assets/obseg/prop/Pdesk_arecibo1Z 1 1
456 8217776 768 assets/obseg/prop/Pdesk_lamp2Z 1 1
457 8218544 6384 assets/obseg/prop/Pdest_engineZ 1 1
458 8224928 1632 assets/obseg/prop/Pdest_exocetZ 1 1
459 8226560 1648 assets/obseg/prop/Pdest_gunZ 1 1
460 8228208 2208 assets/obseg/prop/Pdest_harpoonZ 1 1
461 8230416 4016 assets/obseg/prop/Pdest_seawolfZ 1 1
462 8234432 448 assets/obseg/prop/Pdisc_readerZ 1 1
463 8234880 400 assets/obseg/prop/Pdisk_drive1Z 1 1
464 8235280 384 assets/obseg/prop/Pdoor_azt_chairZ 1 1
465 8235664 1088 assets/obseg/prop/Pdoor_azt_deskZ 1 1
466 8236752 912 assets/obseg/prop/Pdoor_azt_desk_topZ 1 1
467 8237664 560 assets/obseg/prop/Pdoor_aztecZ 1 1
468 8238224 768 assets/obseg/prop/Pdoor_dest1Z 1 1
469 8238992 960 assets/obseg/prop/Pdoor_dest2Z 1 1
470 8239952 1376 assets/obseg/prop/Pdoor_eyelidZ 1 1
471 8241328 2640 assets/obseg/prop/Pdoor_irisZ 1 1
472 8243968 752 assets/obseg/prop/Pdoor_mfZ 1 1
473 8244720 880 assets/obseg/prop/Pdoor_roller1Z 1 1
474 8245600 576 assets/obseg/prop/Pdoor_roller2Z 1 1
475 8246176 576 assets/obseg/prop/Pdoor_roller3Z 1 1
476 8246752 608 assets/obseg/prop/Pdoor_roller4Z 1 1
477 8247360 304 assets/obseg/prop/Pdoor_rollertrainZ 1 1
478 8247664 608 assets/obseg/prop/Pdoor_st_arec1Z 1 1
479 8248272 736 assets/obseg/prop/Pdoor_st_arec2Z 1 1
480 8249008 416 assets/obseg/prop/Pdoor_winZ 1 1
481 8249424 1136 assets/obseg/prop/PdoorconsoleZ 1 1
482 8250560 880 assets/obseg/prop/PdoorpanelZ 1 1
483 8251440 336 assets/obseg/prop/Pdoorprison1Z 1 1
484 8251776 512 assets/obseg/prop/PdoorstatgateZ 1 1
485 8252288 288 assets/obseg/prop/PexplosionbitZ 1 1
486 8252576 384 assets/obseg/prop/Pfiling_cabinet1Z 1 1
487 8252960 304 assets/obseg/prop/PflagZ 1 1
488 8253264 800 assets/obseg/prop/PfloppyZ 1 1
489 8254064 416 assets/obseg/prop/Pfnp90magZ 1 1
490 8254480 896 assets/obseg/prop/Pgas_plant_met1_do1Z 1 1
491 8255376 480 assets/obseg/prop/Pgas_plant_sw2_do1Z 1 1
492 8255856 512 assets/obseg/prop/Pgas_plant_sw3_do1Z 1 1
493 8256368 352 assets/obseg/prop/Pgas_plant_sw4_do1Z 1 1
494 8256720 656 assets/obseg/prop/Pgas_plant_sw_do1Z 1 1
495 8257376 528 assets/obseg/prop/Pgas_plant_wc_cub1Z 1 1
496 8257904 528 assets/obseg/prop/PgasbarrelZ 1 1
497 8258432 1344 assets/obseg/prop/PgasbarrelsZ 1 1
498 8259776 1376 assets/obseg/prop/Pgasplant_clear_doorZ 1 1
499 8261152 1456 assets/obseg/prop/PgastankZ 1 1
500 8262608 352 assets/obseg/prop/Pglassware1Z 1 1
501 8262960 656 assets/obseg/prop/Pglassware2Z 1 1
502 8263616 528 assets/obseg/prop/Pglassware3Z 1 1
503 8264144 1408 assets/obseg/prop/Pglassware4Z 1 1
504 8265552 3760 assets/obseg/prop/PgoldeneyelogoZ 1 1
505 8269312 512 assets/obseg/prop/PgoldenshellsZ 1 1
506 8269824 2000 assets/obseg/prop/PgroundgunZ 1 1
507 8271824 1856 assets/obseg/prop/Pgun_runway1Z 1 1
508 8273680 672 assets/obseg/prop/PhatberetZ 1 1
509 8274352 720 assets/obseg/prop/PhatberetblueZ 1 1
510 8275072 736 assets/obseg/prop/PhatberetredZ 1 1
511 8275808 208 assets/obseg/prop/PhatchboltZ 1 1
512 8276016 544 assets/obseg/prop/PhatchdoorZ 1 1
513 8276560 368 assets/obseg/prop/PhatchsevxZ 1 1
514 8276928 560 assets/obseg/prop/PhatfurryZ 1 1
515 8277488 544 assets/obseg/prop/PhatfurryblackZ 1 1
516 8278032 528 assets/obseg/prop/PhatfurrybrownZ 1 1
517 8278560 560 assets/obseg/prop/PhathelmetZ 1 1
518 8279120 560 assets/obseg/prop/PhathelmetgreyZ 1 1
519 8279680 992 assets/obseg/prop/PhatmoonZ 1 1
520 8280672 784 assets/obseg/prop/PhatpeakedZ 1 1
521 8281456 592 assets/obseg/prop/PhattbirdZ 1 1
522 8282048 624 assets/obseg/prop/PhattbirdbrownZ 1 1
523 8282672 16928 assets/obseg/prop/PhelicopterZ 1 1
524 8299600 6000 assets/obseg/prop/PhindZ 1 1
525 8305600 4448 assets/obseg/prop/PjeepZ 1 1
526 8310048 608 assets/obseg/prop/Pjerry_can1Z 1 1
527 8310656 1920 assets/obseg/prop/Pjungle3_treeZ 1 1
528 8312576 1328 assets/obseg/prop/Pjungle5_treeZ 1 1
529 8313904 848 assets/obseg/prop/Pkey_holderZ 1 1
530 8314752 368 assets/obseg/prop/Pkeyboard1Z 1 1
531 8315120 672 assets/obseg/prop/Pkit_units1Z 1 1
532 8315792 976 assets/obseg/prop/PlabbenchZ 1 1
533 8316768 624 assets/obseg/prop/PlandmineZ 1 1
534 8317392 4032 assets/obseg/prop/PlegalpageZ 1 1
535 8321424 352 assets/obseg/prop/Pletter_tray1Z 1 1
536 8321776 400 assets/obseg/prop/Plocker3Z 1 1
537 8322176 400 assets/obseg/prop/Plocker4Z 1 1
538 8322576 320 assets/obseg/prop/Pm16magZ 1 1
539 8322896 512 assets/obseg/prop/PmagnumshellsZ 1 1
540 8323408 768 assets/obseg/prop/Pmainframe1Z 1 1
541 8324176 720 assets/obseg/prop/Pmainframe2Z 1 1
542 8324896 832 assets/obseg/prop/Pmetal_chair1Z 1 1
543 8325728 448 assets/obseg/prop/Pmetal_crate1Z 1 1
544 8326176 448 assets/obseg/prop/Pmetal_crate2Z 1 1
545 8326624 448 assets/obseg/prop/Pmetal_crate3Z 1 1
546 8327072 448 assets/obseg/prop/Pmetal_crate4Z 1 1
547 8327520 6368 assets/obseg/prop/PmilcopterZ 1 1
548 8333888 8960 assets/obseg/prop/PmiltruckZ 1 1
549 8342848 2576 assets/obseg/prop/Pmissile_rack2Z 1 1
550 8345424 992 assets/obseg/prop/Pmissile_rackZ 1 1
551 8346416 832 assets/obseg/prop/PmodemboxZ 1 1
552 8347248 3776 assets/obseg/prop/PmotorbikeZ 1 1
553 8351024 336 assets/obseg/prop/Pmp5kmagZ 1 1
554 8351360 10976 assets/obseg/prop/PnintendologoZ 1 1
555 8362336 624 assets/obseg/prop/Poil_drum1Z 1 1
556 8362960 752 assets/obseg/prop/Poil_drum2Z 1 1
557 8363712 752 assets/obseg/prop/Poil_drum3Z 1 1
558 8364464 752 assets/obseg/prop/Poil_drum5Z 1 1
559 8365216 784 assets/obseg/prop/Poil_drum6Z 1 1
560 8366000 768 assets/obseg/prop/Poil_drum7Z 1 1
561 8366768 2640 assets/obseg/prop/PpadlockZ 1 1
562 8369408 1104 assets/obseg/prop/PpalmZ 1 1
563 8370512 1232 assets/obseg/prop/PpalmtreeZ 1 1
564 8371744 320 assets/obseg/prop/Pphone1Z 1 1
565 8372064 9696 assets/obseg/prop/PplaneZ 1 1
566 8381760 960 assets/obseg/prop/Pplant11Z 1 1
567 8382720 912 assets/obseg/prop/Pplant1Z 1 1
568 8383632 864 assets/obseg/prop/Pplant2Z 1 1
569 8384496 1040 assets/obseg/prop/Pplant2bZ 1 1
570 8385536 1104 assets/obseg/prop/Pplant3Z 1 1
571 8386640 432 assets/obseg/prop/Pradio_unit1Z 1 1
572 8387072 448 assets/obseg/prop/Pradio_unit2Z 1 1
573 8387520 448 assets/obseg/prop/Pradio_unit3Z 1 1
574 8387968 448 assets/obseg/prop/Pradio_unit4Z 1 1
575 8388416 1632 assets/obseg/prop/ProofgunZ 1 1
576 8390048 848 assets/obseg/prop/PsafeZ 1 1
577 8390896 1264 assets/obseg/prop/PsafedoorZ 1 1
578 8392160 5488 assets/obseg/prop/Psat1_reflectZ 1 1
579 8397648 288 assets/obseg/prop/PsatboxZ 1 1
580 8397936 1120 assets/obseg/prop/PsatdishZ 1 1
581 8399056 416 assets/obseg/prop/Psec_panelZ 1 1
582 8399472 656 assets/obseg/prop/Psev_door3Z 1 1
583 8400128 912 assets/obseg/prop/Psev_door3_windZ 1 1
584 8401040 992 assets/obseg/prop/Psev_door4_windZ 1 1
585 8402032 848 assets/obseg/prop/Psev_doorZ 1 1
586 8402880 816 assets/obseg/prop/Psev_door_v1Z 1 1
587 8403696 944 assets/obseg/prop/Psev_trislideZ 1 1
588 8404640 3872 assets/obseg/prop/PsevdishZ 1 1
589 8408512 736 assets/obseg/prop/PsevdoormetslideZ 1 1
590 8409248 368 assets/obseg/prop/PsevdoornowindZ 1 1
591 8409616 1072 assets/obseg/prop/PsevdoorwindZ 1 1
592 8410688 944 assets/obseg/prop/PsevdoorwoodZ 1 1
593 8411632 10752 assets/obseg/prop/PshuttleZ 1 1
594 8422384 3120 assets/obseg/prop/Pshuttle_door_lZ 1 1
595 8425504 3328 assets/obseg/prop/Pshuttle_door_rZ 1 1
596 8428832 416 assets/obseg/prop/PsilencerZ 1 1
597 8429248 576 assets/obseg/prop/Psilo_lift_doorZ 1 1
598 8429824 752 assets/obseg/prop/PsilotopdoorZ 1 1
599 8430576 352 assets/obseg/prop/PskorpionmagZ 1 1
600 8430928 368 assets/obseg/prop/PspectremagZ 1 1
601 8431296 3392 assets/obseg/prop/PspeedboatZ 1 1
602 8434688 12608 assets/obseg/prop/Pst_pete_room_1iZ 1 1
603 8447296 12768 assets/obseg/prop/Pst_pete_room_2iZ 1 1
604 8460064 12096 assets/obseg/prop/Pst_pete_room_3tZ 1 1
605 8472160 13712 assets/obseg/prop/Pst_pete_room_5cZ 1 1
606 8485872 13328 assets/obseg/prop/Pst_pete_room_6cZ 1 1
607 8499200 624 assets/obseg/prop/Psteel_door1Z 1 1
608 8499824 688 assets/obseg/prop/Psteel_door2Z 1 1
609 8500512 720 assets/obseg/prop/Psteel_door2bZ 1 1
610 8501232 720 assets/obseg/prop/Psteel_door3Z 1 1
611 8501952 704 assets/obseg/prop/Pstool1Z 1 1
612 8502656 400 assets/obseg/prop/Pswipe_card2Z 1 1
613 8503056 656 assets/obseg/prop/Pswivel_chair1Z 1 1
614 8503712 6816 assets/obseg/prop/PtankZ 1 1
615 8510528 7824 assets/obseg/prop/PtigerZ 1 1
616 8518352 2176 assets/obseg/prop/Ptorpedo_rackZ 1 1
617 8520528 976 assets/obseg/prop/Ptrain_door2Z 1 1
618 8521504 1056 assets/obseg/prop/Ptrain_door3Z 1 1
619 8522560 624 assets/obseg/prop/Ptrain_doorZ 1 1
620 8523184 832 assets/obseg/prop/PtrainextdoorZ 1 1
621 8524016 320 assets/obseg/prop/Ptt33magZ 1 1
622 8524336 1312 assets/obseg/prop/Ptuning_console1Z 1 1
623 8525648 464 assets/obseg/prop/Ptv1Z 1 1
624 8526112 416 assets/obseg/prop/Ptv4screenZ 1 1
625 8526528 1744 assets/obseg/prop/Ptv_holderZ 1 1
626 8528272 208 assets/obseg/prop/PtvscreenZ 1 1
627 8528480 320 assets/obseg/prop/PuzimagZ 1 1
628 8528800 1552 assets/obseg/prop/PvertdoorZ 1 1
629 8530352 5552 assets/obseg/prop/PwalletbondZ 1 1
630 8535904 240 assets/obseg/prop/PwindowZ 1 1
631 8536144 224 assets/obseg/prop/Pwindow_cor11Z 1 1
632 8536368 224 assets/obseg/prop/Pwindow_lib_lg1Z 1 1
633 8536592 240 assets/obseg/prop/Pwindow_lib_sm1Z 1 1
634 8536832 640 assets/obseg/prop/Pwood_lg_crate1Z 1 1
635 8537472 544 assets/obseg/prop/Pwood_lg_crate2Z 1 1
636 8538016 544 assets/obseg/prop/Pwood_md_crate3Z 1 1
637 8538560 608 assets/obseg/prop/Pwood_sm_crate4Z 1 1
638 8539168 608 assets/obseg/prop/Pwood_sm_crate5Z 1 1
639 8539776 544 assets/obseg/prop/Pwood_sm_crate6Z 1 1
640 8540320 880 assets/obseg/prop/Pwooden_table1Z 1 1
641 8541200 320 assets/obseg/prop/PwppkmagZ 1 1
642 8541520 6448 assets/obseg/stan/Tbg_ame_all_p_stanZ 1 1
643 8547968 23792 assets/obseg/stan/Tbg_arch_all_p_stanZ 1 1
644 8571760 33616 assets/obseg/stan/Tbg_arec_all_p_stanZ 1 1
645 8605376 36800 assets/obseg/stan/Tbg_ark_all_p_stanZ 1 1
646 8642176 6448 assets/obseg/stan/Tbg_ash_all_p_stanZ 1 1
647 8648624 21888 assets/obseg/stan/Tbg_azt_all_p_stanZ 1 1
648 8670512 10032 assets/obseg/stan/Tbg_cat_all_p_stanZ 1 1
649 8680544 20208 assets/obseg/stan/Tbg_cave_all_p_stanZ 1 1
650 8700752 10512 assets/obseg/stan/Tbg_crad_all_p_stanZ 1 1
651 8711264 12400 assets/obseg/stan/Tbg_cryp_all_p_stanZ 1 1
652 8723664 41952 assets/obseg/stan/Tbg_dam_all_p_stanZ 1 1
653 8765616 28480 assets/obseg/stan/Tbg_depo_all_p_stanZ 1 1
654 8794096 26864 assets/obseg/stan/Tbg_dest_all_p_stanZ 1 1
655 8820960 2832 assets/obseg/stan/Tbg_dish_all_p_stanZ 1 1
656 8823792 6448 assets/obseg/stan/Tbg_imp_all_p_stanZ 1 1
657 8830240 29008 assets/obseg/stan/Tbg_jun_all_p_stanZ 1 1
658 8859248 2752 assets/obseg/stan/Tbg_len_all_p_stanZ 1 1
659 8862000 6400 assets/obseg/stan/Tbg_oat_all_p_stanZ 1 1
660 8868400 18064 assets/obseg/stan/Tbg_pete_all_p_stanZ 1 1
661 8886464 7632 assets/obseg/stan/Tbg_ref_all_p_stanZ 1 1
662 8894096 6784 assets/obseg/stan/Tbg_run_all_p_stanZ 1 1
663 8900880 15824 assets/obseg/stan/Tbg_sev_all_p_stanZ 1 1
664 8916704 20288 assets/obseg/stan/Tbg_sevb_all_p_stanZ 1 1
665 8936992 37680 assets/obseg/stan/Tbg_sevx_all_p_stanZ 1 1
666 8974672 37024 assets/obseg/stan/Tbg_silo_all_p_stanZ 1 1
667 9011696 20160 assets/obseg/stan/Tbg_stat_all_p_stanZ 1 1
668 9031856 9168 assets/obseg/stan/Tbg_tra_all_p_stanZ 1 1
669 9041024 32 assets/obseg/brief/UbriefarchZ 1 0
670 9041056 32 assets/obseg/brief/UbriefarkZ 1 0
671 9041088 32 assets/obseg/brief/UbriefaztZ 1 0
672 9041120 32 assets/obseg/brief/UbriefcaveZ 1 0
673 9041152 32 assets/obseg/brief/UbriefcontrolZ 1 0
674 9041184 32 assets/obseg/brief/UbriefcradZ 1 0
675 9041216 32 assets/obseg/brief/UbriefcrypZ 1 0
676 9041248 32 assets/obseg/brief/UbriefdamZ 1 0
677 9041280 32 assets/obseg/brief/UbriefdepoZ 1 0
678 9041312 32 assets/obseg/brief/UbriefdestZ 1 0
679 9041344 32 assets/obseg/brief/UbriefjunZ 1 0
680 9041376 32 assets/obseg/brief/UbriefpeteZ 1 0
681 9041408 32 assets/obseg/brief/UbriefrunZ 1 0
682 9041440 32 assets/obseg/brief/UbriefsevbZ 1 0
683 9041472 32 assets/obseg/brief/UbriefsevbunkerZ 1 0
684 9041504 32 assets/obseg/brief/UbriefsevxZ 1 0
685 9041536 32 assets/obseg/brief/UbriefsevxbZ 1 0
686 9041568 32 assets/obseg/brief/UbriefsiloZ 1 0
687 9041600 32 assets/obseg/brief/UbriefstatueZ 1 0
688 9041632 32 assets/obseg/brief/UbrieftraZ 1 0
689 9041664 1824 assets/obseg/setup/Ump_setupameZ 1 1
690 9043488 11680 assets/obseg/setup/j/Ump_setuparchZ 1 1
691 9055168 7488 assets/obseg/setup/Ump_setuparkZ 1 1
692 9062656 1776 assets/obseg/setup/Ump_setupashZ 1 1
693 9064432 9568 assets/obseg/setup/Ump_setupcaveZ 1 1
694 9074000 2400 assets/obseg/setup/Ump_setupcradZ 1 1
695 9076400 3424 assets/obseg/setup/Ump_setupcrypZ 1 1
696 9079824 1008 assets/obseg/setup/Ump_setupdishZ 1 1
697 9080832 1600 assets/obseg/setup/Ump_setupimpZ 1 1
698 9082432 848 assets/obseg/setup/Ump_setupoatZ 1 1
699 9083280 1040 assets/obseg/setup/Ump_setuprefZ 1 1
700 9084320 4880 assets/obseg/setup/Ump_setupsevbZ 1 1
701 9089200 3712 assets/obseg/setup/Ump_setupstatueZ 1 1
702 9092912 17936 assets/obseg/setup/UsetuparchZ 1 1
703 9110848 15248 assets/obseg/setup/UsetuparkZ 1 1
704 9126096 10496 assets/obseg/setup/UsetupaztZ 1 1
705 9136592 15968 assets/obseg/setup/UsetupcaveZ 1 1
706 9152560 15104 assets/obseg/setup/UsetupcontrolZ 1 1
707 9167664 7216 assets/obseg/setup/j/UsetupcradZ 1 1
708 9174880 7824 assets/obseg/setup/UsetupcrypZ 1 1
709 9182704 17104 assets/obseg/setup/UsetupdamZ 1 1
710 9199808 12176 assets/obseg/setup/UsetupdepoZ 1 1
711 9211984 9040 assets/obseg/setup/j/UsetupdestZ 1 1
712 9221024 14096 assets/obseg/setup/j/UsetupjunZ 1 1
713 9235120 1520 assets/obseg/setup/j/UsetuplenZ 1 1
714 9236640 12160 assets/obseg/setup/UsetuppeteZ 1 1
715 9248800 6240 assets/obseg/setup/UsetuprunZ 1 1
716 9255040 9824 assets/obseg/setup/UsetupsevbZ 1 1
717 9264864 6704 assets/obseg/setup/UsetupsevbunkerZ 1 1
718 9271568 17168 assets/obseg/setup/UsetupsevxZ 1 1
719 9288736 16624 assets/obseg/setup/UsetupsevxbZ 1 1
720 9305360 10944 assets/obseg/setup/j/UsetupsiloZ 1 1
721 9316304 10192 assets/obseg/setup/j/UsetupstatueZ 1 1
722 9326496 12864 assets/obseg/setup/j/UsetuptraZ 1 1
723 9339360 16 assets/obseg/text/LameE 1 0
724 9339376 16 assets/obseg/text/LameJ 1 0
725 9339392 1584 assets/obseg/text/LarchE 1 0
726 9340976 1632 assets/obseg/text/LarchJ 1 1
727 9342608 1488 assets/obseg/text/LarecE 1 0
728 9344096 1440 assets/obseg/text/j/LarecJ 1 1
729 9345536 1696 assets/obseg/text/LarkE 1 0
730 9347232 1680 assets/obseg/text/j/LarkJ 1 1
731 9348912 16 assets/obseg/text/LashE 1 0
732 9348928 16 assets/obseg/text/LashJ 1 0
733 9348944 1088 assets/obseg/text/LaztE 1 0
734 9350032 1104 assets/obseg/text/j/LaztJ 1 1
735 9351136 16 assets/obseg/text/LcatE 1 0
736 9351152 16 assets/obseg/text/LcatJ 1 0
737 9351168 1024 assets/obseg/text/LcaveE 1 0
738 9352192 1120 assets/obseg/text/LcaveJ 1 1
739 9353312 1232 assets/obseg/text/LcradE 1 0
740 9354544 1184 assets/obseg/text/j/LcradJ 1 1
741 9355728 592 assets/obseg/text/LcrypE 1 0
742 9356320 672 assets/obseg/text/j/LcrypJ 1 1
743 9356992 1104 assets/obseg/text/LdamE 1 0
744 9358096 1104 assets/obseg/text/j/LdamJ 1 1
745 9359200 880 assets/obseg/text/LdepoE 1 0
746 9360080 816 assets/obseg/text/j/LdepoJ 1 1
747 9360896 1168 assets/obseg/text/LdestE 1 0
748 9362064 1120 assets/obseg/text/LdestJ 1 1
749 9363184 16 assets/obseg/text/LdishE 1 0
750 9363200 16 assets/obseg/text/LdishJ 1 0
751 9363216 16 assets/obseg/text/LearE 1 0
752 9363232 16 assets/obseg/text/LearJ 1 0
753 9363248 16 assets/obseg/text/LeldE 1 0
754 9363264 16 assets/obseg/text/LeldJ 1 0
755 9363280 1824 assets/obseg/text/LgunE 1 0
756 9365104 1856 assets/obseg/text/j/LgunJ 1 1
757 9366960 16 assets/obseg/text/LimpE 1 0
758 9366976 16 assets/obseg/text/LimpJ 1 0
759 9366992 1312 assets/obseg/text/LjunE 1 0
760 9368304 1328 assets/obseg/text/j/LjunJ 1 1
761 9369632 16 assets/obseg/text/LleeE 1 0
762 9369648 16 assets/obseg/text/LleeJ 1 0
763 9369664 1712 assets/obseg/text/LlenE 1 0
764 9371376 1824 assets/obseg/text/j/LlenJ 1 1
765 9373200 16 assets/obseg/text/LlipE 1 0
766 9373216 16 assets/obseg/text/LlipJ 1 0
767 9373232 16 assets/obseg/text/LlueE 1 0
768 9373248 16 assets/obseg/text/LlueJ 1 0
769 9373264 688 assets/obseg/text/LmiscE 1 0
770 9373952 704 assets/obseg/text/j/LmiscJ 1 1
771 9374656 416 assets/obseg/text/LmpmenuE 1 0
772 9375072 416 assets/obseg/text/j/LmpmenuJ 1 1
773 9375488 192 assets/obseg/text/LmpweaponsE 1 0
774 9375680 208 assets/obseg/text/j/LmpweaponsJ 1 1
775 9375888 16 assets/obseg/text/LoatE 1 0
776 9375904 16 assets/obseg/text/LoatJ 1 0
777 9375920 560 assets/obseg/text/LoptionsE 1 0
778 9376480 576 assets/obseg/text/j/LoptionsJ 1 1
779 9377056 16 assets/obseg/text/LpamE 1 0
780 9377072 16 assets/obseg/text/LpamJ 1 0
781 9377088 1152 assets/obseg/text/LpeteE 1 0
782 9378240 1136 assets/obseg/text/j/LpeteJ 1 1
783 9379376 672 assets/obseg/text/LpropobjE 1 0
784 9380048 672 assets/obseg/text/j/LpropobjJ 1 1
785 9380720 16 assets/obseg/text/LrefE 1 0
786 9380736 16 assets/obseg/text/LrefJ 1 0
787 9380752 16 assets/obseg/text/LritE 1 0
788 9380768 16 assets/obseg/text/LritJ 1 0
789 9380784 624 assets/obseg/text/LrunE 1 0
790 9381408 656 assets/obseg/text/LrunJ 1 1
791 9382064 1376 assets/obseg/text/LsevE 1 0
792 9383440 1296 assets/obseg/text/j/LsevJ 1 1
793 9384736 1872 assets/obseg/text/LsevbE 1 0
794 9386608 2032 assets/obseg/text/j/LsevbJ 1 1
795 9388640 1120 assets/obseg/text/LsevxE 1 0
796 9389760 976 assets/obseg/text/j/LsevxJ 1 1
797 9390736 1168 assets/obseg/text/LsevxbE 1 0
798 9391904 1104 assets/obseg/text/LsevxbJ 1 1
799 9393008 16 assets/obseg/text/LshoE 1 0
800 9393024 16 assets/obseg/text/LshoJ 1 0
801 9393040 1456 assets/obseg/text/LsiloE 1 0
802 9394496 1520 assets/obseg/text/j/LsiloJ 1 1
803 9396016 2336 assets/obseg/text/LstatE 1 0
804 9398352 2128 assets/obseg/text/j/LstatJ 1 1
805 9400480 2832 assets/obseg/text/LtitleE 1 0
806 9403312 3056 assets/obseg/text/j/LtitleJ 1 1
807 9406368 1072 assets/obseg/text/LtraE 1 0
808 9407440 1104 assets/obseg/text/j/LtraJ 1 1
809 9408544 16 assets/obseg/text/LwaxE 1 0
810 9408560 16 assets/obseg/text/LwaxJ 1 0
811 9408576 16 assets/obseg/ob__ob_end.seg 0 1

View File

@ -687,7 +687,7 @@
9038240,32,assets/obseg/brief/UbriefstatueZ,1,0
9038272,32,assets/obseg/brief/UbrieftraZ,1,0
9038304,1824,assets/obseg/setup/Ump_setupameZ,1,1
9040128,11680,assets/obseg/setup/Ump_setuparchZ,1,1
9040128,11680,assets/obseg/setup/u/Ump_setuparchZ,1,1
9051808,7488,assets/obseg/setup/Ump_setuparkZ,1,1
9059296,1776,assets/obseg/setup/Ump_setupashZ,1,1
9061072,9568,assets/obseg/setup/Ump_setupcaveZ,1,1
@ -704,46 +704,46 @@
9122736,10496,assets/obseg/setup/UsetupaztZ,1,1
9133232,15968,assets/obseg/setup/UsetupcaveZ,1,1
9149200,15104,assets/obseg/setup/UsetupcontrolZ,1,1
9164304,7216,assets/obseg/setup/UsetupcradZ,1,1
9164304,7216,assets/obseg/setup/u/UsetupcradZ,1,1
9171520,7824,assets/obseg/setup/UsetupcrypZ,1,1
9179344,17104,assets/obseg/setup/UsetupdamZ,1,1
9196448,12176,assets/obseg/setup/UsetupdepoZ,1,1
9208624,9040,assets/obseg/setup/UsetupdestZ,1,1
9217664,14080,assets/obseg/setup/UsetupjunZ,1,1
9231744,1488,assets/obseg/setup/UsetuplenZ,1,1
9208624,9040,assets/obseg/setup/u/UsetupdestZ,1,1
9217664,14080,assets/obseg/setup/u/UsetupjunZ,1,1
9231744,1488,assets/obseg/setup/u/UsetuplenZ,1,1
9233232,12160,assets/obseg/setup/UsetuppeteZ,1,1
9245392,6240,assets/obseg/setup/UsetuprunZ,1,1
9251632,9824,assets/obseg/setup/UsetupsevbZ,1,1
9261456,6704,assets/obseg/setup/UsetupsevbunkerZ,1,1
9268160,17168,assets/obseg/setup/UsetupsevxZ,1,1
9285328,16624,assets/obseg/setup/UsetupsevxbZ,1,1
9301952,10832,assets/obseg/setup/UsetupsiloZ,1,1
9312784,10192,assets/obseg/setup/UsetupstatueZ,1,1
9322976,12848,assets/obseg/setup/UsetuptraZ,1,1
9301952,10832,assets/obseg/setup/u/UsetupsiloZ,1,1
9312784,10192,assets/obseg/setup/u/UsetupstatueZ,1,1
9322976,12848,assets/obseg/setup/u/UsetuptraZ,1,1
9335824,16,assets/obseg/text/LameE,1,0
9335840,16,assets/obseg/text/LameJ,1,0
9335856,1584,assets/obseg/text/LarchE,1,0
9337440,1632,assets/obseg/text/LarchJ,1,1
9339072,1488,assets/obseg/text/LarecE,1,0
9340560,1424,assets/obseg/text/LarecJ,1,1
9340560,1424,assets/obseg/text/u/LarecJ,1,1
9341984,1696,assets/obseg/text/LarkE,1,0
9343680,1712,assets/obseg/text/LarkJ,1,1
9343680,1712,assets/obseg/text/u/LarkJ,1,1
9345392,16,assets/obseg/text/LashE,1,0
9345408,16,assets/obseg/text/LashJ,1,0
9345424,1088,assets/obseg/text/LaztE,1,0
9346512,1200,assets/obseg/text/LaztJ,1,1
9346512,1200,assets/obseg/text/u/LaztJ,1,1
9347712,16,assets/obseg/text/LcatE,1,0
9347728,16,assets/obseg/text/LcatJ,1,0
9347744,1024,assets/obseg/text/LcaveE,1,0
9348768,1120,assets/obseg/text/LcaveJ,1,1
9349888,1232,assets/obseg/text/LcradE,1,0
9351120,1200,assets/obseg/text/LcradJ,1,1
9351120,1200,assets/obseg/text/u/LcradJ,1,1
9352320,592,assets/obseg/text/LcrypE,1,0
9352912,704,assets/obseg/text/LcrypJ,1,1
9352912,704,assets/obseg/text/u/LcrypJ,1,1
9353616,1104,assets/obseg/text/LdamE,1,0
9354720,1136,assets/obseg/text/LdamJ,1,1
9354720,1136,assets/obseg/text/u/LdamJ,1,1
9355856,880,assets/obseg/text/LdepoE,1,0
9356736,832,assets/obseg/text/LdepoJ,1,1
9356736,832,assets/obseg/text/u/LdepoJ,1,1
9357568,1168,assets/obseg/text/LdestE,1,0
9358736,1120,assets/obseg/text/LdestJ,1,1
9359856,16,assets/obseg/text/LdishE,1,0
@ -753,35 +753,35 @@
9359920,16,assets/obseg/text/LeldE,1,0
9359936,16,assets/obseg/text/LeldJ,1,0
9359952,1824,assets/obseg/text/LgunE,1,0
9361776,1872,assets/obseg/text/LgunJ,1,1
9361776,1872,assets/obseg/text/u/LgunJ,1,1
9363648,16,assets/obseg/text/LimpE,1,0
9363664,16,assets/obseg/text/LimpJ,1,0
9363680,1312,assets/obseg/text/LjunE,1,0
9364992,1344,assets/obseg/text/LjunJ,1,1
9364992,1344,assets/obseg/text/u/LjunJ,1,1
9366336,16,assets/obseg/text/LleeE,1,0
9366352,16,assets/obseg/text/LleeJ,1,0
9366368,1600,assets/obseg/text/LlenE,1,0
9367968,688,assets/obseg/text/LlenJ,1,1
9367968,688,assets/obseg/text/u/LlenJ,1,1
9368656,16,assets/obseg/text/LlipE,1,0
9368672,16,assets/obseg/text/LlipJ,1,0
9368688,16,assets/obseg/text/LlueE,1,0
9368704,16,assets/obseg/text/LlueJ,1,0
9368720,672,assets/obseg/text/LmiscE,1,0
9369392,736,assets/obseg/text/LmiscJ,1,1
9369392,736,assets/obseg/text/u/LmiscJ,1,1
9370128,416,assets/obseg/text/LmpmenuE,1,0
9370544,400,assets/obseg/text/LmpmenuJ,1,1
9370544,400,assets/obseg/text/u/LmpmenuJ,1,1
9370944,192,assets/obseg/text/LmpweaponsE,1,0
9371136,224,assets/obseg/text/LmpweaponsJ,1,1
9371136,224,assets/obseg/text/u/LmpweaponsJ,1,1
9371360,16,assets/obseg/text/LoatE,1,0
9371376,16,assets/obseg/text/LoatJ,1,0
9371392,560,assets/obseg/text/LoptionsE,1,0
9371952,592,assets/obseg/text/LoptionsJ,1,1
9371952,592,assets/obseg/text/u/LoptionsJ,1,1
9372544,16,assets/obseg/text/LpamE,1,0
9372560,16,assets/obseg/text/LpamJ,1,0
9372576,1152,assets/obseg/text/LpeteE,1,0
9373728,1136,assets/obseg/text/LpeteJ,1,1
9373728,1136,assets/obseg/text/u/LpeteJ,1,1
9374864,672,assets/obseg/text/LpropobjE,1,0
9375536,704,assets/obseg/text/LpropobjJ,1,1
9375536,704,assets/obseg/text/u/LpropobjJ,1,1
9376240,16,assets/obseg/text/LrefE,1,0
9376256,16,assets/obseg/text/LrefJ,1,0
9376272,16,assets/obseg/text/LritE,1,0
@ -789,23 +789,23 @@
9376304,624,assets/obseg/text/LrunE,1,0
9376928,656,assets/obseg/text/LrunJ,1,1
9377584,1376,assets/obseg/text/LsevE,1,0
9378960,1296,assets/obseg/text/LsevJ,1,1
9378960,1296,assets/obseg/text/u/LsevJ,1,1
9380256,1872,assets/obseg/text/LsevbE,1,0
9382128,2032,assets/obseg/text/LsevbJ,1,1
9382128,2032,assets/obseg/text/u/LsevbJ,1,1
9384160,1120,assets/obseg/text/LsevxE,1,0
9385280,960,assets/obseg/text/LsevxJ,1,1
9385280,960,assets/obseg/text/u/LsevxJ,1,1
9386240,1168,assets/obseg/text/LsevxbE,1,0
9387408,1104,assets/obseg/text/LsevxbJ,1,1
9388512,16,assets/obseg/text/LshoE,1,0
9388528,16,assets/obseg/text/LshoJ,1,0
9388544,1456,assets/obseg/text/LsiloE,1,0
9390000,1504,assets/obseg/text/LsiloJ,1,1
9390000,1504,assets/obseg/text/u/LsiloJ,1,1
9391504,2336,assets/obseg/text/LstatE,1,0
9393840,2160,assets/obseg/text/LstatJ,1,1
9393840,2160,assets/obseg/text/u/LstatJ,1,1
9396000,2752,assets/obseg/text/LtitleE,1,0
9398752,2960,assets/obseg/text/LtitleJ,1,1
9398752,2960,assets/obseg/text/u/LtitleJ,1,1
9401712,1072,assets/obseg/text/LtraE,1,0
9402784,1056,assets/obseg/text/LtraJ,1,1
9402784,1056,assets/obseg/text/u/LtraJ,1,1
9403840,16,assets/obseg/text/LwaxE,1,0
9403856,16,assets/obseg/text/LwaxJ,1,0
9403872,16,assets/obseg/ob__ob_end.seg,0,1

1 1144960 192 assets/ge007.u.117880.jfont_dl.bin 0 1
687 9038240 32 assets/obseg/brief/UbriefstatueZ 1 0
688 9038272 32 assets/obseg/brief/UbrieftraZ 1 0
689 9038304 1824 assets/obseg/setup/Ump_setupameZ 1 1
690 9040128 11680 assets/obseg/setup/Ump_setuparchZ assets/obseg/setup/u/Ump_setuparchZ 1 1
691 9051808 7488 assets/obseg/setup/Ump_setuparkZ 1 1
692 9059296 1776 assets/obseg/setup/Ump_setupashZ 1 1
693 9061072 9568 assets/obseg/setup/Ump_setupcaveZ 1 1
704 9122736 10496 assets/obseg/setup/UsetupaztZ 1 1
705 9133232 15968 assets/obseg/setup/UsetupcaveZ 1 1
706 9149200 15104 assets/obseg/setup/UsetupcontrolZ 1 1
707 9164304 7216 assets/obseg/setup/UsetupcradZ assets/obseg/setup/u/UsetupcradZ 1 1
708 9171520 7824 assets/obseg/setup/UsetupcrypZ 1 1
709 9179344 17104 assets/obseg/setup/UsetupdamZ 1 1
710 9196448 12176 assets/obseg/setup/UsetupdepoZ 1 1
711 9208624 9040 assets/obseg/setup/UsetupdestZ assets/obseg/setup/u/UsetupdestZ 1 1
712 9217664 14080 assets/obseg/setup/UsetupjunZ assets/obseg/setup/u/UsetupjunZ 1 1
713 9231744 1488 assets/obseg/setup/UsetuplenZ assets/obseg/setup/u/UsetuplenZ 1 1
714 9233232 12160 assets/obseg/setup/UsetuppeteZ 1 1
715 9245392 6240 assets/obseg/setup/UsetuprunZ 1 1
716 9251632 9824 assets/obseg/setup/UsetupsevbZ 1 1
717 9261456 6704 assets/obseg/setup/UsetupsevbunkerZ 1 1
718 9268160 17168 assets/obseg/setup/UsetupsevxZ 1 1
719 9285328 16624 assets/obseg/setup/UsetupsevxbZ 1 1
720 9301952 10832 assets/obseg/setup/UsetupsiloZ assets/obseg/setup/u/UsetupsiloZ 1 1
721 9312784 10192 assets/obseg/setup/UsetupstatueZ assets/obseg/setup/u/UsetupstatueZ 1 1
722 9322976 12848 assets/obseg/setup/UsetuptraZ assets/obseg/setup/u/UsetuptraZ 1 1
723 9335824 16 assets/obseg/text/LameE 1 0
724 9335840 16 assets/obseg/text/LameJ 1 0
725 9335856 1584 assets/obseg/text/LarchE 1 0
726 9337440 1632 assets/obseg/text/LarchJ 1 1
727 9339072 1488 assets/obseg/text/LarecE 1 0
728 9340560 1424 assets/obseg/text/LarecJ assets/obseg/text/u/LarecJ 1 1
729 9341984 1696 assets/obseg/text/LarkE 1 0
730 9343680 1712 assets/obseg/text/LarkJ assets/obseg/text/u/LarkJ 1 1
731 9345392 16 assets/obseg/text/LashE 1 0
732 9345408 16 assets/obseg/text/LashJ 1 0
733 9345424 1088 assets/obseg/text/LaztE 1 0
734 9346512 1200 assets/obseg/text/LaztJ assets/obseg/text/u/LaztJ 1 1
735 9347712 16 assets/obseg/text/LcatE 1 0
736 9347728 16 assets/obseg/text/LcatJ 1 0
737 9347744 1024 assets/obseg/text/LcaveE 1 0
738 9348768 1120 assets/obseg/text/LcaveJ 1 1
739 9349888 1232 assets/obseg/text/LcradE 1 0
740 9351120 1200 assets/obseg/text/LcradJ assets/obseg/text/u/LcradJ 1 1
741 9352320 592 assets/obseg/text/LcrypE 1 0
742 9352912 704 assets/obseg/text/LcrypJ assets/obseg/text/u/LcrypJ 1 1
743 9353616 1104 assets/obseg/text/LdamE 1 0
744 9354720 1136 assets/obseg/text/LdamJ assets/obseg/text/u/LdamJ 1 1
745 9355856 880 assets/obseg/text/LdepoE 1 0
746 9356736 832 assets/obseg/text/LdepoJ assets/obseg/text/u/LdepoJ 1 1
747 9357568 1168 assets/obseg/text/LdestE 1 0
748 9358736 1120 assets/obseg/text/LdestJ 1 1
749 9359856 16 assets/obseg/text/LdishE 1 0
753 9359920 16 assets/obseg/text/LeldE 1 0
754 9359936 16 assets/obseg/text/LeldJ 1 0
755 9359952 1824 assets/obseg/text/LgunE 1 0
756 9361776 1872 assets/obseg/text/LgunJ assets/obseg/text/u/LgunJ 1 1
757 9363648 16 assets/obseg/text/LimpE 1 0
758 9363664 16 assets/obseg/text/LimpJ 1 0
759 9363680 1312 assets/obseg/text/LjunE 1 0
760 9364992 1344 assets/obseg/text/LjunJ assets/obseg/text/u/LjunJ 1 1
761 9366336 16 assets/obseg/text/LleeE 1 0
762 9366352 16 assets/obseg/text/LleeJ 1 0
763 9366368 1600 assets/obseg/text/LlenE 1 0
764 9367968 688 assets/obseg/text/LlenJ assets/obseg/text/u/LlenJ 1 1
765 9368656 16 assets/obseg/text/LlipE 1 0
766 9368672 16 assets/obseg/text/LlipJ 1 0
767 9368688 16 assets/obseg/text/LlueE 1 0
768 9368704 16 assets/obseg/text/LlueJ 1 0
769 9368720 672 assets/obseg/text/LmiscE 1 0
770 9369392 736 assets/obseg/text/LmiscJ assets/obseg/text/u/LmiscJ 1 1
771 9370128 416 assets/obseg/text/LmpmenuE 1 0
772 9370544 400 assets/obseg/text/LmpmenuJ assets/obseg/text/u/LmpmenuJ 1 1
773 9370944 192 assets/obseg/text/LmpweaponsE 1 0
774 9371136 224 assets/obseg/text/LmpweaponsJ assets/obseg/text/u/LmpweaponsJ 1 1
775 9371360 16 assets/obseg/text/LoatE 1 0
776 9371376 16 assets/obseg/text/LoatJ 1 0
777 9371392 560 assets/obseg/text/LoptionsE 1 0
778 9371952 592 assets/obseg/text/LoptionsJ assets/obseg/text/u/LoptionsJ 1 1
779 9372544 16 assets/obseg/text/LpamE 1 0
780 9372560 16 assets/obseg/text/LpamJ 1 0
781 9372576 1152 assets/obseg/text/LpeteE 1 0
782 9373728 1136 assets/obseg/text/LpeteJ assets/obseg/text/u/LpeteJ 1 1
783 9374864 672 assets/obseg/text/LpropobjE 1 0
784 9375536 704 assets/obseg/text/LpropobjJ assets/obseg/text/u/LpropobjJ 1 1
785 9376240 16 assets/obseg/text/LrefE 1 0
786 9376256 16 assets/obseg/text/LrefJ 1 0
787 9376272 16 assets/obseg/text/LritE 1 0
789 9376304 624 assets/obseg/text/LrunE 1 0
790 9376928 656 assets/obseg/text/LrunJ 1 1
791 9377584 1376 assets/obseg/text/LsevE 1 0
792 9378960 1296 assets/obseg/text/LsevJ assets/obseg/text/u/LsevJ 1 1
793 9380256 1872 assets/obseg/text/LsevbE 1 0
794 9382128 2032 assets/obseg/text/LsevbJ assets/obseg/text/u/LsevbJ 1 1
795 9384160 1120 assets/obseg/text/LsevxE 1 0
796 9385280 960 assets/obseg/text/LsevxJ assets/obseg/text/u/LsevxJ 1 1
797 9386240 1168 assets/obseg/text/LsevxbE 1 0
798 9387408 1104 assets/obseg/text/LsevxbJ 1 1
799 9388512 16 assets/obseg/text/LshoE 1 0
800 9388528 16 assets/obseg/text/LshoJ 1 0
801 9388544 1456 assets/obseg/text/LsiloE 1 0
802 9390000 1504 assets/obseg/text/LsiloJ assets/obseg/text/u/LsiloJ 1 1
803 9391504 2336 assets/obseg/text/LstatE 1 0
804 9393840 2160 assets/obseg/text/LstatJ assets/obseg/text/u/LstatJ 1 1
805 9396000 2752 assets/obseg/text/LtitleE 1 0
806 9398752 2960 assets/obseg/text/LtitleJ assets/obseg/text/u/LtitleJ 1 1
807 9401712 1072 assets/obseg/text/LtraE 1 0
808 9402784 1056 assets/obseg/text/LtraJ assets/obseg/text/u/LtraJ 1 1
809 9403840 16 assets/obseg/text/LwaxE 1 0
810 9403856 16 assets/obseg/text/LwaxJ 1 0
811 9403872 16 assets/obseg/ob__ob_end.seg 0 1

View File

@ -66,12 +66,12 @@ SECTIONS
build/src/ramrom.o (.text);
build/src/boss.o (.text);
build/src/music.o (.text);
build/src/sfx.o (.text);
build/src/snd.o (.text);
build/src/memp.o (.text);
build/src/mema.o (.text);
build/src/random.o (.text);
build/src/token.o (.text);
build/src/stringhandler.o (.text);
build/src/str.o (.text);
build/src/sprintf.o (.text);
build/src/pi.o (.text);
build/src/vi.o (.text);
@ -162,9 +162,9 @@ SECTIONS
build/src/game/unk_01BAE0.o (.text);
build/src/game/blood_animation.o (.text);
build/src/game/blood_decrypt.o (.text);
build/src/game/eeprom.o (.text);
build/src/game/actor.o (.text);
build/src/game/actionblock.o (.text);
build/src/game/gamefile.o (.text);
build/src/game/chr.o (.text);
build/src/game/chrai.o (.text);
build/src/game/loadobjectmodel.o (.text);
build/src/game/objective_status.o (.text);
build/src/game/sin.o (.text);
@ -177,7 +177,7 @@ SECTIONS
build/src/game/unk_05B1E0.o (.text);
build/src/game/truncf.o (.text);
build/src/game/unk_05C440.o (.text);
build/src/game/bondview.o (.text);
build/src/game/bondwalk.o (.text);
build/src/game/objecthandler.o (.text);
build/src/game/objecthandler_2.o (.text);
build/src/game/othermodemicrocode.o (.text);
@ -186,7 +186,7 @@ SECTIONS
build/src/game/debugmenu_08FE00.o (.text);
build/src/game/debugmenu_090490.o (.text);
build/src/game/unk_091080.o (.text);
build/src/game/cheat_buttons_objectrelated.o (.text);
build/src/game/cheat_buttons.o (.text);
build/src/game/unk_092890.o (.text);
build/src/game/unk_092E50.o (.text);
build/src/game/unk_093880.o (.text);
@ -220,7 +220,7 @@ SECTIONS
build/src/game/zlib.o (.text);
build/src/game/rsp.o (.text);
build/src/game/indy_comms.o (.text);
build/src/game/indy_0D0180.o (.text);
build/src/game/indy_commands.o (.text);
build/src/game/game_debug.o (.text);
build/src/game/compiletime.o (.text);
build/src/game/unk_0D1AC0.o (.text);
@ -3001,12 +3001,12 @@ SECTIONS
build/src/ramrom.o (.data);
build/src/boss.o (.data);
build/src/music.o (.data);
build/src/sfx.o (.data);
build/src/snd.o (.data);
build/src/memp.o (.data);
build/src/mema.o (.data);
build/src/random.o (.data);
build/src/token.o (.data);
build/src/stringhandler.o (.data);
build/src/str.o (.data);
build/src/sprintf.o (.data);
build/src/pi.o (.data);
build/src/vi.o (.data);
@ -3035,12 +3035,12 @@ SECTIONS
build/src/ramrom.o (.rodata);
build/src/boss.o (.rodata);
build/src/music.o (.rodata);
build/src/sfx.o (.rodata);
build/src/snd.o (.rodata);
build/src/memp.o (.rodata);
build/src/mema.o (.rodata);
build/src/random.o (.rodata);
build/src/token.o (.rodata);
build/src/stringhandler.o (.rodata);
build/src/str.o (.rodata);
build/src/sprintf.o (.rodata);
build/src/pi.o (.rodata);
build/src/vi.o (.rodata);
@ -3099,9 +3099,9 @@ SECTIONS
build/src/game/unk_01BAE0.o (.data);
build/src/game/blood_animation.o (.data);
build/src/game/blood_decrypt.o (.data);
build/src/game/eeprom.o (.data);
build/src/game/actor.o (.data);
build/src/game/actionblock.o (.data);
build/src/game/gamefile.o (.data);
build/src/game/chr.o (.data);
build/src/game/chrai.o (.data);
build/src/game/loadobjectmodel.o (.data);
build/src/game/objective_status.o (.data);
build/src/game/sin.o (.data);
@ -3114,7 +3114,7 @@ SECTIONS
build/src/game/unk_05B1E0.o (.data);
build/src/game/truncf.o (.data);
build/src/game/unk_05C440.o (.data);
build/src/game/bondview.o (.data);
build/src/game/bondwalk.o (.data);
build/src/game/objecthandler.o (.data);
build/src/game/objecthandler_2.o (.data);
build/src/game/othermodemicrocode.o (.data);
@ -3123,7 +3123,7 @@ SECTIONS
build/src/game/debugmenu_08FE00.o (.data);
build/src/game/debugmenu_090490.o (.data);
build/src/game/unk_091080.o (.data);
build/src/game/cheat_buttons_objectrelated.o (.data);
build/src/game/cheat_buttons.o (.data);
build/src/game/unk_092890.o (.data);
build/src/game/unk_092E50.o (.data);
build/src/game/unk_093880.o (.data);
@ -3157,7 +3157,7 @@ SECTIONS
build/src/game/zlib.o (.data);
build/src/game/rsp.o (.data);
build/src/game/indy_comms.o (.data);
build/src/game/indy_0D0180.o (.data);
build/src/game/indy_commands.o (.data);
build/src/game/game_debug.o (.data);
build/src/game/compiletime.o (.data);
build/src/game/unk_0D1AC0.o (.data);
@ -3214,9 +3214,9 @@ SECTIONS
build/src/game/unk_01BAE0.o (.rodata);
build/src/game/blood_animation.o (.rodata);
build/src/game/blood_decrypt.o (.rodata);
build/src/game/eeprom.o (.rodata);
build/src/game/actor.o (.rodata);
build/src/game/actionblock.o (.rodata);
build/src/game/gamefile.o (.rodata);
build/src/game/chr.o (.rodata);
build/src/game/chrai.o (.rodata);
build/src/game/loadobjectmodel.o (.rodata);
build/src/game/objective_status.o (.rodata);
build/src/game/sin.o (.rodata);
@ -3229,7 +3229,7 @@ SECTIONS
build/src/game/unk_05B1E0.o (.rodata);
build/src/game/truncf.o (.rodata);
build/src/game/unk_05C440.o (.rodata);
build/src/game/bondview.o (.rodata);
build/src/game/bondwalk.o (.rodata);
build/src/game/objecthandler.o (.rodata);
build/src/game/objecthandler_2.o (.rodata);
build/src/game/othermodemicrocode.o (.rodata);
@ -3238,7 +3238,7 @@ SECTIONS
build/src/game/debugmenu_08FE00.o (.rodata);
build/src/game/debugmenu_090490.o (.rodata);
build/src/game/unk_091080.o (.rodata);
build/src/game/cheat_buttons_objectrelated.o (.rodata);
build/src/game/cheat_buttons.o (.rodata);
build/src/game/unk_092890.o (.rodata);
build/src/game/unk_092E50.o (.rodata);
build/src/game/unk_093880.o (.rodata);
@ -3272,7 +3272,7 @@ SECTIONS
build/src/game/zlib.o (.rodata);
build/src/game/rsp.o (.rodata);
build/src/game/indy_comms.o (.rodata);
build/src/game/indy_0D0180.o (.rodata);
build/src/game/indy_commands.o (.rodata);
build/src/game/game_debug.o (.rodata);
build/src/game/compiletime.o (.rodata);
build/src/game/unk_0D1AC0.o (.rodata);
@ -3308,12 +3308,12 @@ SECTIONS
build/src/ramrom.o (.bss);
build/src/boss.o (.bss);
build/src/music.o (.bss);
build/src/sfx.o (.bss);
build/src/snd.o (.bss);
build/src/memp.o (.bss);
build/src/mema.o (.bss);
build/src/random.o (.bss);
build/src/token.o (.bss);
build/src/stringhandler.o (.bss);
build/src/str.o (.bss);
build/src/sprintf.o (.bss);
build/src/pi.o (.bss);
build/src/vi.o (.bss);
@ -3371,9 +3371,9 @@ SECTIONS
build/src/game/unk_01BAE0.o (.bss);
build/src/game/blood_animation.o (.bss);
build/src/game/blood_decrypt.o (.bss);
build/src/game/eeprom.o (.bss);
build/src/game/actor.o (.bss);
build/src/game/actionblock.o (.bss);
build/src/game/gamefile.o (.bss);
build/src/game/chr.o (.bss);
build/src/game/chrai.o (.bss);
build/src/game/loadobjectmodel.o (.bss);
build/src/game/objective_status.o (.bss);
build/src/game/sin.o (.bss);
@ -3386,7 +3386,7 @@ SECTIONS
build/src/game/unk_05B1E0.o (.bss);
build/src/game/truncf.o (.bss);
build/src/game/unk_05C440.o (.bss);
build/src/game/bondview.o (.bss);
build/src/game/bondwalk.o (.bss);
build/src/game/objecthandler.o (.bss);
build/src/game/objecthandler_2.o (.bss);
build/src/game/othermodemicrocode.o (.bss);
@ -3395,7 +3395,7 @@ SECTIONS
build/src/game/debugmenu_08FE00.o (.bss);
build/src/game/debugmenu_090490.o (.bss);
build/src/game/unk_091080.o (.bss);
build/src/game/cheat_buttons_objectrelated.o (.bss);
build/src/game/cheat_buttons.o (.bss);
build/src/game/unk_092890.o (.bss);
build/src/game/unk_092E50.o (.bss);
build/src/game/unk_093880.o (.bss);
@ -3429,7 +3429,7 @@ SECTIONS
build/src/game/zlib.o (.bss);
build/src/game/rsp.o (.bss);
build/src/game/indy_comms.o (.bss);
build/src/game/indy_0D0180.o (.bss);
build/src/game/indy_commands.o (.bss);
build/src/game/game_debug.o (.bss);
build/src/game/compiletime.o (.bss);
build/src/game/unk_0D1AC0.o (.bss);

6705
ge007.j.ld

File diff suppressed because it is too large Load Diff

View File

@ -48,12 +48,12 @@ SECTIONS
build/ramrom.o (.text);
build/boss.o (.text);
build/music.o (.text);
build/sfx.o (.text);
build/snd.o (.text);
build/memp.o (.text);
build/mema.o (.text);
build/random.o (.text);
build/token.o (.text);
build/stringhandler.o (.text);
build/str.o (.text);
build/sprintf.o (.text);
build/pi.o (.text);
build/vi.o (.text);
@ -129,9 +129,9 @@ SECTIONS
build/game/mainmenu.o (.text);
build/game/blood_animation.o (.text);
build/game/blood_decrypt.o (.text);
build/game/eeprom.o (.text);
build/game/actor.o (.text);
build/game/actionblock.o (.text);
build/game/gamefile.o (.text);
build/game/chr.o (.text);
build/game/chrai.o (.text);
build/game/loadobjectmodel.o (.text);
build/game/objective_status.o (.text);
build/game/sin.o (.text);
@ -144,14 +144,14 @@ SECTIONS
build/game/unk_05B1E0.o (.text);
build/game/truncf.o (.text);
build/game/unk_05C440.o (.text);
build/game/bondview.o (.text);
build/game/bondwalk.o (.text);
build/game/objecthandler.o (.text);
build/game/othermodemicrocode.o (.text);
build/game/bond.o (.text);
build/game/unk_08DBB0.o (.text);
build/game/debugmenu_08FE00.o (.text);
build/game/unk_091080.o (.text);
build/game/cheat_buttons_objectrelated.o (.text);
build/game/cheat_buttons.o (.text);
build/game/unk_092890.o (.text);
build/game/unk_092E50.o (.text);
build/game/unk_093880.o (.text);
@ -184,7 +184,7 @@ SECTIONS
build/game/zlib.o (.text);
build/game/rsp.o (.text);
build/game/indy_comms.o (.text);
build/game/indy_0D0180.o (.text);
build/game/indy_commands.o (.text);
build/game/game_debug.o (.text);
build/game/compiletime.o (.text);
build/game/unk_0D1AC0.o (.text);
@ -238,12 +238,12 @@ SECTIONS
build/ramrom.o (.data);
build/boss.o (.data);
build/music.o (.data);
build/sfx.o (.data);
build/snd.o (.data);
build/memp.o (.data);
build/mema.o (.data);
build/random.o (.data);
build/token.o (.data);
build/stringhandler.o (.data);
build/str.o (.data);
build/sprintf.o (.data);
build/pi.o (.data);
build/vi.o (.data);
@ -267,12 +267,12 @@ SECTIONS
build/ramrom.o (.rodata);
build/boss.o (.rodata);
build/music.o (.rodata);
build/sfx.o (.rodata);
build/snd.o (.rodata);
build/memp.o (.rodata);
build/mema.o (.rodata);
build/random.o (.rodata);
build/token.o (.rodata);
build/stringhandler.o (.rodata);
build/str.o (.rodata);
build/sprintf.o (.rodata);
build/pi.o (.rodata);
build/vi.o (.rodata);
@ -327,9 +327,9 @@ SECTIONS
build/game/mainmenu.o (.data);
build/game/blood_animation.o (.data);
build/game/blood_decrypt.o (.data);
build/game/eeprom.o (.data);
build/game/actor.o (.data);
build/game/actionblock.o (.data);
build/game/gamefile.o (.data);
build/game/chr.o (.data);
build/game/chrai.o (.data);
build/game/loadobjectmodel.o (.data);
build/game/objective_status.o (.data);
build/game/sin.o (.data);
@ -342,14 +342,14 @@ SECTIONS
build/game/unk_05B1E0.o (.data);
build/game/truncf.o (.data);
build/game/unk_05C440.o (.data);
build/game/bondview.o (.data);
build/game/bondwalk.o (.data);
build/game/objecthandler.o (.data);
build/game/othermodemicrocode.o (.data);
build/game/bond.o (.data);
build/game/unk_08DBB0.o (.data);
build/game/debugmenu_08FE00.o (.data);
build/game/unk_091080.o (.data);
build/game/cheat_buttons_objectrelated.o (.data);
build/game/cheat_buttons.o (.data);
build/game/unk_092890.o (.data);
build/game/unk_092E50.o (.data);
build/game/unk_093880.o (.data);
@ -382,7 +382,7 @@ SECTIONS
build/game/zlib.o (.data);
build/game/rsp.o (.data);
build/game/indy_comms.o (.data);
build/game/indy_0D0180.o (.data);
build/game/indy_commands.o (.data);
build/game/game_debug.o (.data);
build/game/compiletime.o (.data);
build/game/unk_0D1AC0.o (.data);
@ -435,9 +435,9 @@ SECTIONS
build/game/mainmenu.o (.rodata);
build/game/blood_animation.o (.rodata);
build/game/blood_decrypt.o (.rodata);
build/game/eeprom.o (.rodata);
build/game/actor.o (.rodata);
build/game/actionblock.o (.rodata);
build/game/gamefile.o (.rodata);
build/game/chr.o (.rodata);
build/game/chrai.o (.rodata);
build/game/loadobjectmodel.o (.rodata);
build/game/objective_status.o (.rodata);
build/game/sin.o (.rodata);
@ -450,14 +450,14 @@ SECTIONS
build/game/unk_05B1E0.o (.rodata);
build/game/truncf.o (.rodata);
build/game/unk_05C440.o (.rodata);
build/game/bondview.o (.rodata);
build/game/bondwalk.o (.rodata);
build/game/objecthandler.o (.rodata);
build/game/othermodemicrocode.o (.rodata);
build/game/bond.o (.rodata);
build/game/unk_08DBB0.o (.rodata);
build/game/debugmenu_08FE00.o (.rodata);
build/game/unk_091080.o (.rodata);
build/game/cheat_buttons_objectrelated.o (.rodata);
build/game/cheat_buttons.o (.rodata);
build/game/unk_092890.o (.rodata);
build/game/unk_092E50.o (.rodata);
build/game/unk_093880.o (.rodata);
@ -490,7 +490,7 @@ SECTIONS
build/game/zlib.o (.rodata);
build/game/rsp.o (.rodata);
build/game/indy_comms.o (.rodata);
build/game/indy_0D0180.o (.rodata);
build/game/indy_commands.o (.rodata);
build/game/game_debug.o (.rodata);
build/game/compiletime.o (.rodata);
build/game/unk_0D1AC0.o (.rodata);
@ -518,12 +518,12 @@ SECTIONS
build/ramrom.o (.bss);
build/boss.o (.bss);
build/music.o (.bss);
build/sfx.o (.bss);
build/snd.o (.bss);
build/memp.o (.bss);
build/mema.o (.bss);
build/random.o (.bss);
build/token.o (.bss);
build/stringhandler.o (.bss);
build/str.o (.bss);
build/sprintf.o (.bss);
build/pi.o (.bss);
build/vi.o (.bss);
@ -578,9 +578,9 @@ SECTIONS
build/game/mainmenu.o (.bss);
build/game/blood_animation.o (.bss);
build/game/blood_decrypt.o (.bss);
build/game/eeprom.o (.bss);
build/game/actor.o (.bss);
build/game/actionblock.o (.bss);
build/game/gamefile.o (.bss);
build/game/chr.o (.bss);
build/game/chrai.o (.bss);
build/game/loadobjectmodel.o (.bss);
build/game/objective_status.o (.bss);
build/game/sin.o (.bss);
@ -593,14 +593,14 @@ SECTIONS
build/game/unk_05B1E0.o (.bss);
build/game/truncf.o (.bss);
build/game/unk_05C440.o (.bss);
build/game/bondview.o (.bss);
build/game/bondwalk.o (.bss);
build/game/objecthandler.o (.bss);
build/game/othermodemicrocode.o (.bss);
build/game/bond.o (.bss);
build/game/unk_08DBB0.o (.bss);
build/game/debugmenu_08FE00.o (.bss);
build/game/unk_091080.o (.bss);
build/game/cheat_buttons_objectrelated.o (.bss);
build/game/cheat_buttons.o (.bss);
build/game/unk_092890.o (.bss);
build/game/unk_092E50.o (.bss);
build/game/unk_093880.o (.bss);
@ -633,7 +633,7 @@ SECTIONS
build/game/zlib.o (.bss);
build/game/rsp.o (.bss);
build/game/indy_comms.o (.bss);
build/game/indy_0D0180.o (.bss);
build/game/indy_commands.o (.bss);
build/game/game_debug.o (.bss);
build/game/compiletime.o (.bss);
build/game/unk_0D1AC0.o (.bss);

6698
ge007.u.ld

File diff suppressed because it is too large Load Diff

View File

@ -47,7 +47,7 @@ glabel osInvalDCache
nop
.L80323508:
lui $t0, %hi(D_80000010) # $t0, 0x8000
lui $t0, %hi(D_80000010)
addu $t1, $t0, $t3
addiu $t1, $t1, -0x10
.L80323514:

View File

@ -33,7 +33,7 @@ glabel osInvalICache
nop
.L80323730:
lui $t0, %hi(D_80000020) # $t0, 0x8000
lui $t0, %hi(D_80000020)
addu $t1, $t0, $t3
addiu $t1, $t1, -0x20
.L8032373C:

View File

@ -70,7 +70,7 @@ void osCreateViManager(s32 arg0, s32 argC) {
GLOBAL_ASM(
.text
glabel osCreateViManager
/* 00E4F0 7000D8F0 3C0E8002 */ lui $t6, %hi(__osViDevMgr) # $t6, 0x8002
/* 00E4F0 7000D8F0 3C0E8002 */ lui $t6, %hi(__osViDevMgr)
/* 00E4F4 7000D8F4 8DCE69A0 */ lw $t6, %lo(__osViDevMgr)($t6)
/* 00E4F8 7000D8F8 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 00E4FC 7000D8FC AFBF001C */ sw $ra, 0x1c($sp)
@ -124,8 +124,8 @@ glabel osCreateViManager
/* 00E5B8 7000D9B8 0C00617C */ jal __osDisableInt
/* 00E5BC 7000D9BC 00000000 */ nop
/* 00E5C0 7000D9C0 3C018002 */ lui $at, %hi(__osViDevMgr) # $at, 0x8002
/* 00E5C4 7000D9C4 3C0C8006 */ lui $t4, %hi(viEventQueue) # $t4, 0x8006
/* 00E5C8 7000D9C8 3C0B8006 */ lui $t3, %hi(viThread) # $t3, 0x8006
/* 00E5C4 7000D9C4 3C0C8006 */ lui $t4, %hi(viEventQueue)
/* 00E5C8 7000D9C8 3C0B8006 */ lui $t3, %hi(viThread)
/* 00E5CC 7000D9CC 258C69A0 */ addiu $t4, %lo(viEventQueue) # addiu $t4, $t4, 0x69a0
/* 00E5D0 7000D9D0 240A0001 */ li $t2, 1
/* 00E5D4 7000D9D4 256B57F0 */ addiu $t3, %lo(viThread) # addiu $t3, $t3, 0x57f0
@ -133,7 +133,7 @@ glabel osCreateViManager
/* 00E5DC 7000D9DC AC2B69A4 */ sw $t3, 4($at)
/* 00E5E0 7000D9E0 AC2C69A8 */ sw $t4, 8($at)
/* 00E5E4 7000D9E4 AC2C69AC */ sw $t4, 0xC($at)
/* 00E5E8 7000D9E8 3C0D8006 */ lui $t5, %hi(viThreadStack) # $t5, 0x8006
/* 00E5E8 7000D9E8 3C0D8006 */ lui $t5, %hi(viThreadStack)
/* 00E5EC 7000D9EC 8FAF0030 */ lw $t7, 0x30($sp)
/* 00E5F0 7000D9F0 3C018002 */ lui $at, %hi(__osViDevMgr) # $at, 0x8002
/* 00E5F4 7000D9F4 25AD59A0 */ addiu $t5, %lo(viThreadStack) # addiu $t5, $t5, 0x59a0
@ -218,7 +218,7 @@ glabel viMgrMain
.L7000DAF8:
/* 00E6F8 7000DAF8 0C0062DC */ jal __osViSwapContext
/* 00E6FC 7000DAFC 00000000 */ nop
/* 00E700 7000DB00 3C0A8006 */ lui $t2, %hi(retrace) # $t2, 0x8006
/* 00E700 7000DB00 3C0A8006 */ lui $t2, %hi(retrace)
/* 00E704 7000DB04 954A6A00 */ lhu $t2, %lo(retrace)($t2)
/* 00E708 7000DB08 3C018006 */ lui $at, %hi(retrace) # $at, 0x8006
/* 00E70C 7000DB0C 254BFFFF */ addiu $t3, $t2, -1
@ -242,7 +242,7 @@ glabel viMgrMain
/* 00E750 7000DB50 95F80002 */ lhu $t8, 2($t7)
/* 00E754 7000DB54 A4386A00 */ sh $t8, %lo(retrace)($at)
.L7000DB58:
/* 00E758 7000DB58 3C198007 */ lui $t9, %hi(__osViIntrCount) # $t9, 0x8007
/* 00E758 7000DB58 3C198007 */ lui $t9, %hi(__osViIntrCount)
/* 00E75C 7000DB5C 8F398E1C */ lw $t9, %lo(__osViIntrCount)($t9)
/* 00E760 7000DB60 8FA90028 */ lw $t1, 0x28($sp)
/* 00E764 7000DB64 3C018007 */ lui $at, %hi(__osViIntrCount) # $at, 0x8007
@ -261,20 +261,20 @@ glabel viMgrMain
/* 00E798 7000DB98 AC2D8E14 */ sw $t5, %lo(__osCurrentTime+4)($at)
/* 00E79C 7000DB9C AFA00028 */ sw $zero, 0x28($sp)
.L7000DBA0:
/* 00E7A0 7000DBA0 3C0B8007 */ lui $t3, %hi(__osBaseCounter) # $t3, 0x8007
/* 00E7A0 7000DBA0 3C0B8007 */ lui $t3, %hi(__osBaseCounter)
/* 00E7A4 7000DBA4 8D6B8E18 */ lw $t3, %lo(__osBaseCounter)($t3)
/* 00E7A8 7000DBA8 0C003638 */ jal osGetCount
/* 00E7AC 7000DBAC AFAB0024 */ sw $t3, 0x24($sp)
/* 00E7B0 7000DBB0 3C018007 */ lui $at, %hi(__osBaseCounter) # $at, 0x8007
/* 00E7B4 7000DBB4 AC228E18 */ sw $v0, %lo(__osBaseCounter)($at)
/* 00E7B8 7000DBB8 3C0E8007 */ lui $t6, %hi(__osBaseCounter) # $t6, 0x8007
/* 00E7B8 7000DBB8 3C0E8007 */ lui $t6, %hi(__osBaseCounter)
/* 00E7BC 7000DBBC 8DCE8E18 */ lw $t6, %lo(__osBaseCounter)($t6)
/* 00E7C0 7000DBC0 8FAF0024 */ lw $t7, 0x24($sp)
/* 00E7C4 7000DBC4 3C0B8007 */ lui $t3, %hi(__osCurrentTime+4) # $t3, 0x8007
/* 00E7C4 7000DBC4 3C0B8007 */ lui $t3, %hi(__osCurrentTime+4)
/* 00E7C8 7000DBC8 8D6B8E14 */ lw $t3, %lo(__osCurrentTime+4)($t3)
/* 00E7CC 7000DBCC 01CFC023 */ subu $t8, $t6, $t7
/* 00E7D0 7000DBD0 03004825 */ move $t1, $t8
/* 00E7D4 7000DBD4 3C0A8007 */ lui $t2, %hi(__osCurrentTime) # $t2, 0x8007
/* 00E7D4 7000DBD4 3C0A8007 */ lui $t2, %hi(__osCurrentTime)
/* 00E7D8 7000DBD8 012B6821 */ addu $t5, $t1, $t3
/* 00E7DC 7000DBDC 8D4A8E10 */ lw $t2, %lo(__osCurrentTime)($t2)
/* 00E7E0 7000DBE0 24080000 */ li $t0, 0

File diff suppressed because it is too large Load Diff

View File

@ -70,7 +70,7 @@ glabel osRecvMesg
/* 00EA18 7000DE18 10000036 */ b .L7000DEF4
/* 00EA1C 7000DE1C 2402FFFF */ li $v0, -1
.L7000DE20:
/* 00EA20 7000DE20 3C088002 */ lui $t0, %hi(__osRunningThread) # $t0, 0x8002
/* 00EA20 7000DE20 3C088002 */ lui $t0, %hi(__osRunningThread)
/* 00EA24 7000DE24 8D087730 */ lw $t0, %lo(__osRunningThread)($t0)
/* 00EA28 7000DE28 24190008 */ li $t9, 8
/* 00EA2C 7000DE2C A5190010 */ sh $t9, 0x10($t0)

View File

@ -64,7 +64,7 @@ glabel osSendMesg
/* 00EB54 7000DF54 24010001 */ li $at, 1
/* 00EB58 7000DF58 1721000A */ bne $t9, $at, .L7000DF84
/* 00EB5C 7000DF5C 00000000 */ nop
/* 00EB60 7000DF60 3C098002 */ lui $t1, %hi(__osRunningThread) # $t1, 0x8002
/* 00EB60 7000DF60 3C098002 */ lui $t1, %hi(__osRunningThread)
/* 00EB64 7000DF64 8D297730 */ lw $t1, %lo(__osRunningThread)($t1)
/* 00EB68 7000DF68 24080008 */ li $t0, 8
/* 00EB6C 7000DF6C A5280010 */ sh $t0, 0x10($t1)

View File

@ -26,7 +26,7 @@ glabel osSetEventMesg
/* 00E864 7000DC64 0C00617C */ jal __osDisableInt
/* 00E868 7000DC68 AFB00018 */ sw $s0, 0x18($sp)
/* 00E86C 7000DC6C 8FAE0028 */ lw $t6, 0x28($sp)
/* 00E870 7000DC70 3C188006 */ lui $t8, %hi(__osEventStateTab) # $t8, 0x8006
/* 00E870 7000DC70 3C188006 */ lui $t8, %hi(__osEventStateTab)
/* 00E874 7000DC74 8FA8002C */ lw $t0, 0x2c($sp)
/* 00E878 7000DC78 27186A10 */ addiu $t8, %lo(__osEventStateTab) # addiu $t8, $t8, 0x6a10
/* 00E87C 7000DC7C 000E78C0 */ sll $t7, $t6, 3

View File

@ -22,7 +22,7 @@ GLOBAL_ASM(
glabel osSetIntMask
/* 00E930 7000DD30 400C6000 */ mfc0 $t4, $12
/* 00E934 7000DD34 3182FF01 */ andi $v0, $t4, 0xff01
/* 00E938 7000DD38 3C088002 */ lui $t0, %hi(__OSGlobalIntMask) # $t0, 0x8002
/* 00E938 7000DD38 3C088002 */ lui $t0, %hi(__OSGlobalIntMask)
/* 00E93C 7000DD3C 2508698C */ addiu $t0, %lo(__OSGlobalIntMask) # addiu $t0, $t0, 0x698c
/* 00E940 7000DD40 8D0B0000 */ lw $t3, ($t0)
/* 00E944 7000DD44 2401FFFF */ li $at, -1

View File

@ -50,7 +50,7 @@ glabel osSetThreadPri
/* 00E41C 7000D81C 00408025 */ move $s0, $v0
/* 00E420 7000D820 15C00004 */ bnez $t6, .L7000D834
/* 00E424 7000D824 00000000 */ nop
/* 00E428 7000D828 3C0F8002 */ lui $t7, %hi(__osRunningThread) # $t7, 0x8002
/* 00E428 7000D828 3C0F8002 */ lui $t7, %hi(__osRunningThread)
/* 00E42C 7000D82C 8DEF7730 */ lw $t7, %lo(__osRunningThread)($t7)
/* 00E430 7000D830 AFAF0028 */ sw $t7, 0x28($sp)
.L7000D834:
@ -60,7 +60,7 @@ glabel osSetThreadPri
/* 00E440 7000D840 13280020 */ beq $t9, $t0, .L7000D8C4
/* 00E444 7000D844 00000000 */ nop
/* 00E448 7000D848 AF080004 */ sw $t0, 4($t8)
/* 00E44C 7000D84C 3C0A8002 */ lui $t2, %hi(__osRunningThread) # $t2, 0x8002
/* 00E44C 7000D84C 3C0A8002 */ lui $t2, %hi(__osRunningThread)
/* 00E450 7000D850 8D4A7730 */ lw $t2, %lo(__osRunningThread)($t2)
/* 00E454 7000D854 8FA90028 */ lw $t1, 0x28($sp)
/* 00E458 7000D858 112A000C */ beq $t1, $t2, .L7000D88C
@ -77,8 +77,8 @@ glabel osSetThreadPri
/* 00E484 7000D884 0C00422B */ jal __osEnqueueThread
/* 00E488 7000D888 01802825 */ move $a1, $t4
.L7000D88C:
/* 00E48C 7000D88C 3C0D8002 */ lui $t5, %hi(__osRunningThread) # $t5, 0x8002
/* 00E490 7000D890 3C0F8002 */ lui $t7, %hi(__osRunQueue) # $t7, 0x8002
/* 00E48C 7000D88C 3C0D8002 */ lui $t5, %hi(__osRunningThread)
/* 00E490 7000D890 3C0F8002 */ lui $t7, %hi(__osRunQueue)
/* 00E494 7000D894 8DEF7728 */ lw $t7, %lo(__osRunQueue)($t7)
/* 00E498 7000D898 8DAD7730 */ lw $t5, %lo(__osRunningThread)($t5)
/* 00E49C 7000D89C 8DF90004 */ lw $t9, 4($t7)

View File

@ -61,7 +61,7 @@ GLOBAL_ASM(
.text
glabel _VirtualToPhysicalTask
/* 00F0F0 7000E4F0 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 00F0F4 7000E4F4 3C0E8006 */ lui $t6, %hi(tmp_task) # $t6, 0x8006
/* 00F0F4 7000E4F4 3C0E8006 */ lui $t6, %hi(tmp_task)
/* 00F0F8 7000E4F8 AFBF0014 */ sw $ra, 0x14($sp)
/* 00F0FC 7000E4FC AFA40020 */ sw $a0, 0x20($sp)
/* 00F100 7000E500 25CE6A90 */ addiu $t6, %lo(tmp_task) # addiu $t6, $t6, 0x6a90

View File

@ -36,7 +36,7 @@ glabel osStopThread
/* 00E39C 7000D79C 10000010 */ b .L7000D7E0
/* 00E3A0 7000D7A0 00000000 */ nop
.L7000D7A4:
/* 00E3A4 7000D7A4 3C198002 */ lui $t9, %hi(__osRunningThread) # $t9, 0x8002
/* 00E3A4 7000D7A4 3C198002 */ lui $t9, %hi(__osRunningThread)
/* 00E3A8 7000D7A8 8F397730 */ lw $t9, %lo(__osRunningThread)($t9)
/* 00E3AC 7000D7AC 24180001 */ li $t8, 1
/* 00E3B0 7000D7B0 00002025 */ move $a0, $zero

View File

@ -32,14 +32,14 @@ glabel osViBlack
/* 00EEE8 7000E2E8 00408025 */ move $s0, $v0
/* 00EEEC 7000E2EC 11C00007 */ beqz $t6, .L7000E30C
/* 00EEF0 7000E2F0 00000000 */ nop
/* 00EEF4 7000E2F4 3C0F8003 */ lui $t7, %hi(__osViNext) # $t7, 0x8003
/* 00EEF4 7000E2F4 3C0F8003 */ lui $t7, %hi(__osViNext)
/* 00EEF8 7000E2F8 8DEF8044 */ lw $t7, %lo(__osViNext)($t7)
/* 00EEFC 7000E2FC 95F80000 */ lhu $t8, ($t7)
/* 00EF00 7000E300 37190020 */ ori $t9, $t8, 0x20
/* 00EF04 7000E304 10000007 */ b .L7000E324
/* 00EF08 7000E308 A5F90000 */ sh $t9, ($t7)
.L7000E30C:
/* 00EF0C 7000E30C 3C088003 */ lui $t0, %hi(__osViNext) # $t0, 0x8003
/* 00EF0C 7000E30C 3C088003 */ lui $t0, %hi(__osViNext)
/* 00EF10 7000E310 8D088044 */ lw $t0, %lo(__osViNext)($t0)
/* 00EF14 7000E314 2401FFDF */ li $at, -33
/* 00EF18 7000E318 95090000 */ lhu $t1, ($t0)

View File

@ -18,7 +18,7 @@ glabel osViGetCurrentFramebuffer
/* 00F014 7000E414 AFBF001C */ sw $ra, 0x1c($sp)
/* 00F018 7000E418 0C00617C */ jal __osDisableInt
/* 00F01C 7000E41C AFB00018 */ sw $s0, 0x18($sp)
/* 00F020 7000E420 3C0E8003 */ lui $t6, %hi(__osViCurr) # $t6, 0x8003
/* 00F020 7000E420 3C0E8003 */ lui $t6, %hi(__osViCurr)
/* 00F024 7000E424 8DCE8040 */ lw $t6, %lo(__osViCurr)($t6)
/* 00F028 7000E428 00408025 */ move $s0, $v0
/* 00F02C 7000E42C 02002025 */ move $a0, $s0

View File

@ -19,7 +19,7 @@ glabel osViGetNextFramebuffer
/* 00F054 7000E454 AFBF001C */ sw $ra, 0x1c($sp)
/* 00F058 7000E458 0C00617C */ jal __osDisableInt
/* 00F05C 7000E45C AFB00018 */ sw $s0, 0x18($sp)
/* 00F060 7000E460 3C0E8003 */ lui $t6, %hi(__osViNext) # $t6, 0x8003
/* 00F060 7000E460 3C0E8003 */ lui $t6, %hi(__osViNext)
/* 00F064 7000E464 8DCE8044 */ lw $t6, %lo(__osViNext)($t6)
/* 00F068 7000E468 00408025 */ move $s0, $v0
/* 00F06C 7000E46C 02002025 */ move $a0, $s0

View File

@ -31,14 +31,14 @@ glabel osViRepeatLine
/* 00EE78 7000E278 00408025 */ move $s0, $v0
/* 00EE7C 7000E27C 11C00007 */ beqz $t6, .L7000E29C
/* 00EE80 7000E280 00000000 */ nop
/* 00EE84 7000E284 3C0F8003 */ lui $t7, %hi(__osViNext) # $t7, 0x8003
/* 00EE84 7000E284 3C0F8003 */ lui $t7, %hi(__osViNext)
/* 00EE88 7000E288 8DEF8044 */ lw $t7, %lo(__osViNext)($t7)
/* 00EE8C 7000E28C 95F80000 */ lhu $t8, ($t7)
/* 00EE90 7000E290 37190040 */ ori $t9, $t8, 0x40
/* 00EE94 7000E294 10000007 */ b .L7000E2B4
/* 00EE98 7000E298 A5F90000 */ sh $t9, ($t7)
.L7000E29C:
/* 00EE9C 7000E29C 3C088003 */ lui $t0, %hi(__osViNext) # $t0, 0x8003
/* 00EE9C 7000E29C 3C088003 */ lui $t0, %hi(__osViNext)
/* 00EEA0 7000E2A0 8D088044 */ lw $t0, %lo(__osViNext)($t0)
/* 00EEA4 7000E2A4 2401FFBF */ li $at, -65
/* 00EEA8 7000E2A8 95090000 */ lhu $t1, ($t0)

View File

@ -21,11 +21,11 @@ glabel osViSetEvent
/* 00E8D0 7000DCD0 AFA60030 */ sw $a2, 0x30($sp)
/* 00E8D4 7000DCD4 0C00617C */ jal __osDisableInt
/* 00E8D8 7000DCD8 AFB00018 */ sw $s0, 0x18($sp)
/* 00E8DC 7000DCDC 3C0F8003 */ lui $t7, %hi(__osViNext) # $t7, 0x8003
/* 00E8DC 7000DCDC 3C0F8003 */ lui $t7, %hi(__osViNext)
/* 00E8E0 7000DCE0 8DEF8044 */ lw $t7, %lo(__osViNext)($t7)
/* 00E8E4 7000DCE4 8FAE0028 */ lw $t6, 0x28($sp)
/* 00E8E8 7000DCE8 3C198003 */ lui $t9, %hi(__osViNext) # $t9, 0x8003
/* 00E8EC 7000DCEC 3C098003 */ lui $t1, %hi(__osViNext) # $t1, 0x8003
/* 00E8E8 7000DCE8 3C198003 */ lui $t9, %hi(__osViNext)
/* 00E8EC 7000DCEC 3C098003 */ lui $t1, %hi(__osViNext)
/* 00E8F0 7000DCF0 ADEE0010 */ sw $t6, 0x10($t7)
/* 00E8F4 7000DCF4 8F398044 */ lw $t9, %lo(__osViNext)($t9)
/* 00E8F8 7000DCF8 8FB8002C */ lw $t8, 0x2c($sp)

View File

@ -19,14 +19,14 @@ glabel osViSetMode
/* 00EC68 7000E068 AFA40028 */ sw $a0, 0x28($sp)
/* 00EC6C 7000E06C 0C00617C */ jal __osDisableInt
/* 00EC70 7000E070 AFB00018 */ sw $s0, 0x18($sp)
/* 00EC74 7000E074 3C0F8003 */ lui $t7, %hi(__osViNext) # $t7, 0x8003
/* 00EC74 7000E074 3C0F8003 */ lui $t7, %hi(__osViNext)
/* 00EC78 7000E078 8DEF8044 */ lw $t7, %lo(__osViNext)($t7)
/* 00EC7C 7000E07C 8FAE0028 */ lw $t6, 0x28($sp)
/* 00EC80 7000E080 3C198003 */ lui $t9, %hi(__osViNext) # $t9, 0x8003
/* 00EC80 7000E080 3C198003 */ lui $t9, %hi(__osViNext)
/* 00EC84 7000E084 24180001 */ li $t8, 1
/* 00EC88 7000E088 ADEE0008 */ sw $t6, 8($t7)
/* 00EC8C 7000E08C 8F398044 */ lw $t9, %lo(__osViNext)($t9)
/* 00EC90 7000E090 3C088003 */ lui $t0, %hi(__osViNext) # $t0, 0x8003
/* 00EC90 7000E090 3C088003 */ lui $t0, %hi(__osViNext)
/* 00EC94 7000E094 00408025 */ move $s0, $v0
/* 00EC98 7000E098 A7380000 */ sh $t8, ($t9)
/* 00EC9C 7000E09C 8D088044 */ lw $t0, %lo(__osViNext)($t0)

View File

@ -12,11 +12,11 @@ glabel osViSetXScale
/* 00ECDC 7000E0DC AFB10018 */ sw $s1, 0x18($sp)
/* 00ECE0 7000E0E0 0C00617C */ jal __osDisableInt
/* 00ECE4 7000E0E4 AFB00014 */ sw $s0, 0x14($sp)
/* 00ECE8 7000E0E8 3C0E8003 */ lui $t6, %hi(__osViNext) # $t6, 0x8003
/* 00ECE8 7000E0E8 3C0E8003 */ lui $t6, %hi(__osViNext)
/* 00ECEC 7000E0EC 8DCE8044 */ lw $t6, %lo(__osViNext)($t6)
/* 00ECF0 7000E0F0 C7A40028 */ lwc1 $f4, 0x28($sp)
/* 00ECF4 7000E0F4 3C0F8003 */ lui $t7, %hi(__osViNext) # $t7, 0x8003
/* 00ECF8 7000E0F8 3C088003 */ lui $t0, %hi(__osViNext) # $t0, 0x8003
/* 00ECF4 7000E0F4 3C0F8003 */ lui $t7, %hi(__osViNext)
/* 00ECF8 7000E0F8 3C088003 */ lui $t0, %hi(__osViNext)
/* 00ECFC 7000E0FC E5C40018 */ swc1 $f4, 0x18($t6)
/* 00ED00 7000E100 8DEF8044 */ lw $t7, %lo(__osViNext)($t7)
/* 00ED04 7000E104 00408825 */ move $s1, $v0

View File

@ -19,10 +19,10 @@ glabel osViSetYScale
/* 00EE08 7000E208 E7AC0028 */ swc1 $f12, 0x28($sp)
/* 00EE0C 7000E20C 0C00617C */ jal __osDisableInt
/* 00EE10 7000E210 AFB00018 */ sw $s0, 0x18($sp)
/* 00EE14 7000E214 3C0E8003 */ lui $t6, %hi(__osViNext) # $t6, 0x8003
/* 00EE14 7000E214 3C0E8003 */ lui $t6, %hi(__osViNext)
/* 00EE18 7000E218 8DCE8044 */ lw $t6, %lo(__osViNext)($t6)
/* 00EE1C 7000E21C C7A40028 */ lwc1 $f4, 0x28($sp)
/* 00EE20 7000E220 3C0F8003 */ lui $t7, %hi(__osViNext) # $t7, 0x8003
/* 00EE20 7000E220 3C0F8003 */ lui $t7, %hi(__osViNext)
/* 00EE24 7000E224 00408025 */ move $s0, $v0
/* 00EE28 7000E228 E5C40024 */ swc1 $f4, 0x24($t6)
/* 00EE2C 7000E22C 8DEF8044 */ lw $t7, %lo(__osViNext)($t7)

View File

@ -21,11 +21,11 @@ glabel osViSwapBuffer
/* 00F094 7000E494 AFBF0014 */ sw $ra, 0x14($sp)
/* 00F098 7000E498 0C00617C */ jal __osDisableInt
/* 00F09C 7000E49C AFA40020 */ sw $a0, 0x20($sp)
/* 00F0A0 7000E4A0 3C0F8003 */ lui $t7, %hi(__osViNext) # $t7, 0x8003
/* 00F0A0 7000E4A0 3C0F8003 */ lui $t7, %hi(__osViNext)
/* 00F0A4 7000E4A4 8DEF8044 */ lw $t7, %lo(__osViNext)($t7)
/* 00F0A8 7000E4A8 8FAE0020 */ lw $t6, 0x20($sp)
/* 00F0AC 7000E4AC AFA2001C */ sw $v0, 0x1c($sp)
/* 00F0B0 7000E4B0 3C188003 */ lui $t8, %hi(__osViNext) # $t8, 0x8003
/* 00F0B0 7000E4B0 3C188003 */ lui $t8, %hi(__osViNext)
/* 00F0B4 7000E4B4 ADEE0004 */ sw $t6, 4($t7)
/* 00F0B8 7000E4B8 8F188044 */ lw $t8, %lo(__osViNext)($t8)
/* 00F0BC 7000E4BC 97190000 */ lhu $t9, ($t8)

View File

@ -13,5 +13,5 @@ extern u32 osTvType;
extern u32 osRomBase;
extern u32 osResetType;
extern u8 osAppNmiBuffer[64];
extern u64 osClockRate;
#endif /* _LIBULTRA_H */

File diff suppressed because it is too large Load Diff

View File

@ -354,7 +354,7 @@ labels:
- [0x7000ADB0, "debug_text_related_2"]
- [0x7000ADD0, "display_text_to_coord"]
- [0x7000AEDC, "debug_menu_text_related"]
- [0x7000AF00, "debug_text_related_1"]
- [0x7000AF00, "blank_debug_buffer_chars"]
- [0x7000AF84, "stubbed_function"]
- [0x7000AF98, "something_debug_info_related"]
- [0x7000B040, "set_final_debug_text_positions"]
@ -864,7 +864,7 @@ labels:
- [0x7F0030D0, "sub_GAME_7F0030D0"]
- [0x7F00324C, "sub_GAME_7F00324C"]
- [0x7F003480, "sub_GAME_7F003480"]
- [0x7F003BF0, "stage_loading_setup_objparse_cleanupafter"]
- [0x7F003BF0, "proplvreset2"]
- [0x7F004388, "actor_attr_expand"]
- [0x7F0043BC, "actor_expand"]
- [0x7F0043E0, "door_expand"]
@ -1549,12 +1549,12 @@ labels:
- [0x7F02ABB4, "actor_moves_to_preset_at_speed"]
- [0x7F02AD54, "if_actor_able_set_on_path"]
- [0x7F02AD98, "sub_GAME_7F02AD98"]
- [0x7F02B4E0, "sub_GAME_7F02B4E0"]
- [0x7F02B4E0, "actor_reset_sleep"]
- [0x7F02B4E8, "sub_GAME_7F02B4E8"]
- [0x7F02B638, "sub_GAME_7F02B638"]
- [0x7F02B774, "manage_guard_fade"]
- [0x7F02B800, "sub_GAME_7F02B800"]
- [0x7F02B9A4, "sub_GAME_7F02B9A4"]
- [0x7F02B9A4, "guard_body_hit_sfx"]
- [0x7F02BC80, "sub_GAME_7F02BC80"]
- [0x7F02BD20, "sub_GAME_7F02BD20"]
- [0x7F02BDA4, "sub_GAME_7F02BDA4"]
@ -1604,7 +1604,7 @@ labels:
- [0x7F0315A4, "sub_GAME_7F0315A4"]
- [0x7F032088, "sub_GAME_7F032088"]
- [0x7F032548, "sub_GAME_7F032548"]
- [0x7F0326BC, "sub_GAME_7F0326BC"]
- [0x7F0326BC, "manage_actions"]
- [0x7F0328E0, "def_7F032780"]
- [0x7F03291C, "sub_GAME_7F03291C"]
- [0x7F032B68, "sub_GAME_7F032B68"]
@ -2031,9 +2031,9 @@ labels:
- [0x7F03FFC0, "do_something_if_object_destroyed"]
- [0x7F03FFF8, "sub_GAME_7F03FFF8"]
- [0x7F040078, "sub_GAME_7F040078"]
- [0x7F04009C, "sub_GAME_7F04009C"]
- [0x7F04009C, "set_color_shading_from_tile"]
- [0x7F0402B4, "sub_GAME_7F0402B4"]
- [0x7F040310, "sub_GAME_7F040310"]
- [0x7F040310, "update_color_shading"]
- [0x7F040384, "sub_GAME_7F040384"]
- [0x7F040484, "sub_GAME_7F040484"]
- [0x7F04054C, "init_standard_object"]
@ -3333,8 +3333,8 @@ labels:
- [0x7F090FB8, "get_debug_joy2detailedit_flag"]
- [0x7F090FC4, "get_debug_explosioninfo_flag"]
- [0x7F090FD0, "get_debug_prroomloads_flag"]
- [0x7F090FDC, "get_linemode_flag"]
- [0x7F090FE8, "set_linemode_flag"]
- [0x7F090FDC, "get_debug_VisCVG_flag"]
- [0x7F090FE8, "set_debug_VisCVG_flag"]
- [0x7F090FF4, "get_debug_007_unlock_flag"]
- [0x7F091000, "get_debug_enable_agent_levels_flag"]
- [0x7F09100C, "get_debug_enable_all_levels_flag"]
@ -4165,12 +4165,12 @@ labels:
- [0x7F0CBAF4, "sub_GAME_7F0CBAF4"]
- [0x7F0CBB0C, "sub_GAME_7F0CBB0C"]
- [0x7F0CBB64, "sub_GAME_7F0CBB64"]
- [0x7F0CBB74, "sub_GAME_7F0CBB74"]
- [0x7F0CBB74, "check_load_image_to_buffer"]
- [0x7F0CBC18, "load_image_to_buffer"]
- [0x7F0CBE50, "sub_GAME_7F0CBE50"]
- [0x7F0CBEE8, "sub_GAME_7F0CBEE8"]
# file asm/game/7F0CBF10.s
- [0x7F0CBF10, "sub_GAME_7F0CBF10"]
- [0x7F0CBF10, "makeemptyimageatpos"]
- [0x7F0CBF2C, "sub_GAME_7F0CBF2C"]
- [0x7F0CBFB0, "load_prepare_global_image_bank"]
# file asm/game/7F0CC4C0.s
@ -4234,61 +4234,61 @@ labels:
# file asm/game/7F0D0180.s
- [0x7F0D0180, "sub_GAME_7F0D0180"]
- [0x7F0D01D0, "sub_GAME_7F0D01D0"]
- [0x7F0D0220, "sub_GAME_7F0D0220"]
- [0x7F0D0358, "sub_GAME_7F0D0358"]
- [0x7F0D038C, "sub_GAME_7F0D038C"]
- [0x7F0D03D4, "sub_GAME_7F0D03D4"]
- [0x7F0D041C, "sub_GAME_7F0D041C"]
- [0x7F0D0460, "sub_GAME_7F0D0460"]
- [0x7F0D04C4, "sub_GAME_7F0D04C4"]
- [0x7F0D0514, "sub_GAME_7F0D0514"]
- [0x7F0D0578, "sub_GAME_7F0D0578"]
- [0x7F0D05D0, "sub_GAME_7F0D05D0"]
- [0x7F0D0644, "sub_GAME_7F0D0644"]
- [0x7F0D06C0, "sub_GAME_7F0D06C0"]
- [0x7F0D0740, "sub_GAME_7F0D0740"]
- [0x7F0D0790, "sub_GAME_7F0D0790"]
- [0x7F0D080C, "sub_GAME_7F0D080C"]
- [0x7F0D086C, "sub_GAME_7F0D086C"]
- [0x7F0D08E8, "sub_GAME_7F0D08E8"]
- [0x7F0D0938, "sub_GAME_7F0D0938"]
- [0x7F0D099C, "sub_GAME_7F0D099C"]
- [0x7F0D09EC, "sub_GAME_7F0D09EC"]
- [0x7F0D0A3C, "post_indy__res_cmd_initialize"]
- [0x7F0D0A7C, "sub_GAME_7F0D0A7C"]
- [0x7F0D0AC4, "sub_GAME_7F0D0AC4"]
- [0x7F0D0B0C, "sub_GAME_7F0D0B0C"]
- [0x7F0D0B54, "sub_GAME_7F0D0B54"]
- [0x7F0D0BA4, "sub_GAME_7F0D0BA4"]
- [0x7F0D0BF4, "sub_GAME_7F0D0BF4"]
- [0x7F0D0C68, "post_indy__res_cmd_send_capture_data"]
- [0x7F0D0CD0, "sub_GAME_7F0D0CD0"]
- [0x7F0D0D18, "post_indy__res_cmd_request_ramrom_file"]
- [0x7F0D0D74, "sub_GAME_7F0D0D74"]
- [0x7F0D0DD0, "sub_GAME_7F0D0DD0"]
- [0x7F0D0E2C, "sub_GAME_7F0D0E2C"]
- [0x7F0D0E74, "sub_GAME_7F0D0E74"]
- [0x7F0D0EBC, "sub_GAME_7F0D0EBC"]
- [0x7F0D0F04, "sub_GAME_7F0D0F04"]
- [0x7F0D0F4C, "sub_GAME_7F0D0F4C"]
- [0x7F0D10A8, "sub_GAME_7F0D10A8"]
- [0x7F0D1100, "sub_GAME_7F0D1100"]
- [0x7F0D11AC, "sub_GAME_7F0D11AC"]
- [0x7F0D1248, "sub_GAME_7F0D1248"]
- [0x7F0D12F4, "sub_GAME_7F0D12F4"]
- [0x7F0D13B0, "sub_GAME_7F0D13B0"]
- [0x7F0D1498, "sub_GAME_7F0D1498"]
- [0x7F0D1544, "sub_GAME_7F0D1544"]
- [0x7F0D160C, "sub_GAME_7F0D160C"]
- [0x7F0D16B8, "sub_GAME_7F0D16B8"]
- [0x7F0D1764, "sub_GAME_7F0D1764"]
- [0x7F0D17AC, "sub_GAME_7F0D17AC"]
- [0x7F0D17FC, "sub_GAME_7F0D17FC"]
- [0x7F0D1864, "sub_GAME_7F0D1864"]
- [0x7F0D18AC, "sub_GAME_7F0D18AC"]
- [0x7F0D1908, "sub_GAME_7F0D1908"]
- [0x7F0D1950, "sub_GAME_7F0D1950"]
- [0x7F0D1998, "sub_GAME_7F0D1998"]
- [0x7F0D0220, "postindyresourcecommand"]
- [0x7F0D0358, "send2indyresourcecommands"]
- [0x7F0D038C, "post_type1_indyrescmd_sizenextcmd"]
- [0x7F0D03D4, "post_type2_indyrescmd_cmds_rdy_to_proc"]
- [0x7F0D041C, "post_type0_indyrescmd_init"]
- [0x7F0D0460, "post_type3_indyrescmd"]
- [0x7F0D04C4, "post_type4_indyrescmd_data_recieved"]
- [0x7F0D0514, "post_type5_indyrescmd_printfsend"]
- [0x7F0D0578, "post_type6_indyrescmd_printfrecieved"]
- [0x7F0D05D0, "post_type7_indyrescmd_log_send"]
- [0x7F0D0644, "post_type8_indyrescmd_log_recieved"]
- [0x7F0D06C0, "post_type9_indyrescmd_app_command_ready"]
- [0x7F0D0740, "post_typeA_indyrescmd_app_command_recieved"]
- [0x7F0D0790, "post_typeF_indyrescmd_fault_send"]
- [0x7F0D080C, "post_type10_indyrescmd_fault_ack_by_host"]
- [0x7F0D086C, "post_typeD_indyrescmd_prof_send_filename"]
- [0x7F0D08E8, "post_typeE_indyrescmd_prof_recv"]
- [0x7F0D0938, "post_typeB_indyrescmd_host_prof_req"]
- [0x7F0D099C, "post_typeC_indyrescmd_prof_send"]
- [0x7F0D09EC, "post_typeA_indyrescmd_app_data_recieved"]
- [0x7F0D0A3C, "post_indy__res_cmd_initialize_seq"]
- [0x7F0D0A7C, "post_indyrescmd_game_data_send"]
- [0x7F0D0AC4, "post_indyrescmd_debug_data_recv"]
- [0x7F0D0B0C, "post_indyrescmd_game_printf_send"]
- [0x7F0D0B54, "post_indyrescmd_debug_printf_recv"]
- [0x7F0D0BA4, "post_indyrescmd_req_filename_size"]
- [0x7F0D0BF4, "post_indyrescmd_1_8_2"]
- [0x7F0D0C68, "post_indyrescmd_send_capture_data"]
- [0x7F0D0CD0, "post_indyrescmd_recv_capture_data_success"]
- [0x7F0D0D18, "post_indyrescmd_request_ramrom_file"]
- [0x7F0D0D74, "post_indyrescmd_1_10_2"]
- [0x7F0D0DD0, "post_indyrescmd_game_prof_sendfile"]
- [0x7F0D0E2C, "post_indyrescmd_host_prof_recv"]
- [0x7F0D0E74, "post_indyrescmd_1_B_2"]
- [0x7F0D0EBC, "post_indyrescmd_1_C_2"]
- [0x7F0D0F04, "post_indyrescmd_1_A_2"]
- [0x7F0D0F4C, "post_indyrescmd_read_command"]
- [0x7F0D10A8, "post_indyrescmd_read_2commands"]
- [0x7F0D1100, "post_indyrescmd_istype1_correctsize"]
- [0x7F0D11AC, "post_indyrescmd_istype2_correctvalue"]
- [0x7F0D1248, "post_indyrescmd_istype4_correctvalue"]
- [0x7F0D12F4, "post_indyrescmd_istype6_correctvalue"]
- [0x7F0D13B0, "post_indyrescmd_istype8_correctvalue"]
- [0x7F0D1498, "post_indyrescmd_istypeA_correctvalue"]
- [0x7F0D1544, "post_indyrescmd_istype10_correctvalue"]
- [0x7F0D160C, "post_indyrescmd_istypeE_correctvalue"]
- [0x7F0D16B8, "post_indyrescmd_istypeC_correctvalue"]
- [0x7F0D1764, "response_indyrescmd_1_4_2"]
- [0x7F0D17AC, "response_indyrescmd_1_6_2"]
- [0x7F0D17FC, "response_indyrescmd_1_8_2"]
- [0x7F0D1864, "response_indyrescmd_1_A_2"]
- [0x7F0D18AC, "response_indyrescmd_1_10_2"]
- [0x7F0D1908, "response_indyrescmd_1_E_2"]
- [0x7F0D1950, "response_indyrescmd_1_C_2"]
- [0x7F0D1998, "response_indyrescmd_curr_matches_expected"]
# file asm/game/7F0D1A20.s
- [0x7F0D1A20, "something_game_c_debug_related"]
- [0x7F0D1A4C, "reset_mem_bank_5"]
@ -8366,43 +8366,43 @@ labels:
- [0x8008C730, "word_CODE_bss_8008C730"]
- [0x8008D090, "dword_CODE_bss_8008D090"]
- [0x8008D094, "dword_CODE_bss_8008D094"]
- [0x8008D0A0, "dword_CODE_bss_8008D0A0"]
- [0x8008D0A4, "dword_CODE_bss_8008D0A4"]
- [0x8008D0A8, "dword_CODE_bss_8008D0A8"]
- [0x8008D0A0, "img_curpos"]
- [0x8008D0A4, "img_curdatatable"]
- [0x8008D0A8, "img_bitcount"]
- [0x8008D0B0, "globalbank_rdram_offset"]
- [0x8008D0B4, "ptr_explosionDL"]
- [0x8008D0B8, "image"]
- [0x8008D0BC, "dword_CODE_bss_8008D0BC"]
- [0x8008D0C0, "dword_CODE_bss_8008D0C0"]
- [0x8008D0C4, "dword_CODE_bss_8008D0C4"]
- [0x8008D0C8, "dword_CODE_bss_8008D0C8"]
- [0x8008D0CC, "dword_CODE_bss_8008D0CC"]
- [0x8008D0D0, "dword_CODE_bss_8008D0D0"]
- [0x8008D0D4, "dword_CODE_bss_8008D0D4"]
- [0x8008D0D8, "dword_CODE_bss_8008D0D8"]
- [0x8008D0DC, "dword_CODE_bss_8008D0DC"]
- [0x8008D0E0, "dword_CODE_bss_8008D0E0"]
- [0x8008D0E4, "dword_CODE_bss_8008D0E4"]
- [0x8008D0E8, "dword_CODE_bss_8008D0E8"]
- [0x8008D0EC, "dword_CODE_bss_8008D0EC"]
- [0x8008D0F0, "dword_CODE_bss_8008D0F0"]
- [0x8008D0F4, "dword_CODE_bss_8008D0F4"]
- [0x8008D0F8, "dword_CODE_bss_8008D0F8"]
- [0x8008D0FC, "dword_CODE_bss_8008D0FC"]
- [0x8008D100, "dword_CODE_bss_8008D100"]
- [0x8008D104, "dword_CODE_bss_8008D104"]
- [0x8008D108, "dword_CODE_bss_8008D108"]
- [0x8008D10C, "dword_CODE_bss_8008D10C"]
- [0x8008D110, "dword_CODE_bss_8008D110"]
- [0x8008D0BC, "impactimages"]
- [0x8008D0C0, "explosion_smokeimages"]
- [0x8008D0C4, "scattered_explosions"]
- [0x8008D0C8, "flareimage1"]
- [0x8008D0CC, "flareimage2"]
- [0x8008D0D0, "flareimage3"]
- [0x8008D0D4, "flareimage4"]
- [0x8008D0D8, "flareimage5"]
- [0x8008D0DC, "ammo9mmimage"]
- [0x8008D0E0, "rifleammoimage"]
- [0x8008D0E4, "shotgunammoimage"]
- [0x8008D0E8, "knifeammoimage"]
- [0x8008D0EC, "glaunchammoimage"]
- [0x8008D0F0, "rocketammoimage"]
- [0x8008D0F4, "genericmineammoimage"]
- [0x8008D0F8, "grenadeammoimage"]
- [0x8008D0FC, "magnumammoimage"]
- [0x8008D100, "goldengunammoimage"]
- [0x8008D104, "remotemineammoimage"]
- [0x8008D108, "timedmineammoimage"]
- [0x8008D10C, "proxmineammoimage"]
- [0x8008D110, "tankammoimage"]
- [0x8008D114, "imgcall"]
- [0x8008D118, "dword_CODE_bss_8008D118"]
- [0x8008D11C, "dword_CODE_bss_8008D11C"]
- [0x8008D120, "dword_CODE_bss_8008D120"]
- [0x8008D124, "dword_CODE_bss_8008D124"]
- [0x8008D128, "dword_CODE_bss_8008D128"]
- [0x8008D12C, "dword_CODE_bss_8008D12C"]
- [0x8008D130, "dword_CODE_bss_8008D130"]
- [0x8008D134, "dword_CODE_bss_8008D134"]
- [0x8008D118, "betacrosshairimage"]
- [0x8008D11C, "glassoverlayimage"]
- [0x8008D120, "monitorimages"]
- [0x8008D124, "skywaterimages"]
- [0x8008D128, "mainfolderimages"]
- [0x8008D12C, "mpradarimages"]
- [0x8008D130, "mpcharselimages"]
- [0x8008D134, "mpstageselimages"]
- [0x8008D140, "dword_CODE_bss_8008D140"]
- [0x8008D148, "dword_CODE_bss_8008D148"]
- [0x8008D2A8, "dword_CODE_bss_8008D2A8"]

View File

@ -103970,7 +103970,7 @@ undefined4 get_debug_explosioninfo_flag(void)
undefined4 get_linemode_flag(void)
undefined4 get_debug_VisCVG_flag(void)
{
return DAT_80036fa8;
@ -122637,7 +122637,7 @@ longlong FUN_7f0b483c(longlong param_1)
puVar3 = FUN_7f0b5ba4(puVar6 + 2,(float)puVar2[2],(float)puVar2[3],(float)puVar2[4],
(float)puVar2[5]);
puVar6 = FUN_7f0bbc20((undefined4 *)(uVar4 & 0xffffff00 | (uint)puVar3 >> 0x18),0);
iVar5 = get_linemode_flag();
iVar5 = get_debug_VisCVG_flag();
if ((iVar5 != 0) && (iVar5 = FUN_7f0be4a0(), iVar5 != 0)) {
puVar6 = FUN_7f0b732c(puVar6,*puVar2);
}
@ -122692,7 +122692,7 @@ longlong FUN_7f0b483c(longlong param_1)
puVar3 = FUN_7f0b5ba4(puVar6 + 2,(float)puVar2[2],(float)puVar2[3],(float)puVar2[4],
(float)puVar2[5]);
puVar6 = FUN_7f0bbc20((undefined4 *)(uVar4 & 0xffffff00 | (uint)puVar3 >> 0x18),1);
iVar5 = get_linemode_flag();
iVar5 = get_debug_VisCVG_flag();
if ((iVar5 != 0) && (iVar5 = FUN_7f0be4a0(), iVar5 != 0)) {
puVar6 = FUN_7f0b7448(puVar6,*puVar2);
}

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -369,7 +369,7 @@
- [0x7000ADB0, "debug_text_related_2"]
- [0x7000ADD0, "display_text_to_coord"]
- [0x7000AEDC, "debug_menu_text_related"]
- [0x7000AF00, "debug_text_related_1"]
- [0x7000AF00, "blank_debug_buffer_chars"]
- [0x7000AF84, "stubbed_function"]
- [0x7000AF98, "something_debug_info_related"]
- [0x7000B040, "set_final_debug_text_positions"]
@ -1628,12 +1628,12 @@
- [0x7F02ABB4, "actor_moves_to_preset_at_speed"]
- [0x7F02AD54, "if_actor_able_set_on_path"]
- [0x7F02AD98, "sub_CODE_7F02AD98"]
- [0x7F02B4E0, "sub_CODE_7F02B4E0"]
- [0x7F02B4E0, "actor_reset_sleep"]
- [0x7F02B4E8, "sub_CODE_7F02B4E8"]
- [0x7F02B638, "sub_CODE_7F02B638"]
- [0x7F02B774, "sub_CODE_7F02B774"]
- [0x7F02B774, "manage_guard_fade"]
- [0x7F02B800, "sub_CODE_7F02B800"]
- [0x7F02B9A4, "sub_CODE_7F02B9A4"]
- [0x7F02B9A4, "guard_body_hit_sfx"]
- [0x7F02BC80, "sub_CODE_7F02BC80"]
- [0x7F02BD20, "sub_CODE_7F02BD20"]
- [0x7F02BDA4, "sub_CODE_7F02BDA4"]
@ -1683,7 +1683,7 @@
- [0x7F0315A4, "sub_CODE_7F0315A4"]
- [0x7F032088, "sub_CODE_7F032088"]
- [0x7F032548, "sub_CODE_7F032548"]
- [0x7F0326BC, "sub_CODE_7F0326BC"]
- [0x7F0326BC, "manage_actions"]
- [0x7F0328E0, "def_7F032780"]
- [0x7F03291C, "sub_CODE_7F03291C"]
- [0x7F032B68, "sub_CODE_7F032B68"]
@ -2111,9 +2111,9 @@
- [0x7F03FFC0, "do_something_if_object_destroyed"]
- [0x7F03FFF8, "sub_CODE_7F03FFF8"]
- [0x7F040078, "sub_CODE_7F040078"]
- [0x7F04009C, "sub_CODE_7F04009C"]
- [0x7F04009C, "set_color_shading_from_tile"]
- [0x7F0402B4, "sub_CODE_7F0402B4"]
- [0x7F040310, "sub_CODE_7F040310"]
- [0x7F040310, "update_color_shading"]
- [0x7F040384, "sub_CODE_7F040384"]
- [0x7F040484, "sub_CODE_7F040484"]
- [0x7F04054C, "init_standard_object"]
@ -3449,8 +3449,8 @@
- [0x7F090FB8, "get_debug_joy2detailedit_flag"]
- [0x7F090FC4, "get_debug_explosioninfo_flag"]
- [0x7F090FD0, "get_debug_prroomloads_flag"]
- [0x7F090FDC, "get_linemode_flag"]
- [0x7F090FE8, "set_linemode_flag"]
- [0x7F090FDC, "get_debug_VisCVG_flag"]
- [0x7F090FE8, "set_debug_VisCVG_flag"]
- [0x7F090FF4, "get_debug_007_unlock_flag"]
- [0x7F091000, "get_debug_enable_agent_levels_flag"]
- [0x7F09100C, "get_debug_enable_all_levels_flag"]
@ -4516,4 +4516,4 @@
- [0x7F0D33B4, "spectrum_draw_screen"]
- [0x7F0D36D8, "spectrum_input_handling"]
- [0x7F0D37D4, "nullsub_50"]
- [0x7F0D37DC, "sub_CODE_7F0D37DC"]
- [0x7F0D37DC, "sub_CODE_7F0D37DC"]

View File

@ -1,6 +1,6 @@
This is a working Goldeneye 007 decompilation!
## Setup
The only requirements for Ubuntu 16.04 and 18.04 should be
```
sudo apt install binutils-mips-linux-gnu make
@ -11,14 +11,16 @@ baserom.u.z64
```
followed by
```
./extract_baserom.sh && make
./extract_baserom.u.sh && make
```
For J support also place a baserom.j.z64 in root and run:
```
./extract_baserom.u.sh && ./extract_diff.j.sh && make VERSION=JP
```
DO NOT USE make -j# it will break things!!!!!!!!!
If you are upgrading from an old repo, run
If you are upgrading from an old repo, run:
```
./clean_baserom.sh && ./extract_baserom.sh && make clean && make
./clean_baserom.sh && ./extract_baserom.u.sh && make clean && make
```
The extract and clean scripts support switches:
@ -28,6 +30,37 @@ name_baserom.sh images
```
to do just one or the other, default is both
## Project Structure
```
goldeneye_src
├── assets: game assets
│   ├── font: font data
│   ├── images: image data
│   │   └── split: split image data
│   ├── music: music data
│   ├── obseg: animation data
│   │   ├── bg: bg data
│   │   ├── brief: briefing data
│   │   ├── chr: c model data
│   │   ├── gun: g model data
│   │   ├── prop: p model data
│   │   ├── setup: setup data
│   │   ├── stan: stan data
│   │   └── text: text data
│   └── ramrom: demo data
├── bin: files that haven't been touched
├── build: output directory
├── ge007_libultra: to be merged with libreultra
├── include: header files
├── lib: SDK library code
├── notes: documentation
├── src: C source code for game
│   ├── game: core ge specific code 0x7f000000 range
│   ├── libultra: currently used libultra.s
│   └── rarezip: statically linked initial decompression code
└── tools: build tools
```
This decompilation was only made possible thanks to many awesome 00 Agents who will be revealed only if they wish.

View File

@ -10,17 +10,17 @@
# technically, this is used in bootcode and used prior to TLB registration
glabel _start
/* 001000 80000400 3C088006 */ lui $t0, %hi(_csegmentSegmentEnd) # $t0, 0x8006
/* 001004 80000404 3C090003 */ lui $t1, (0x00031080 >> 16) # lui $t1, 3
/* 001008 80000408 2508D2E0 */ addiu $t0, %lo(_csegmentSegmentEnd) # addiu $t0, $t0, -0x2d20
/* 00100C 8000040C 35291080 */ ori $t1, (0x00031080 & 0xFFFF) # ori $t1, $t1, 0x1080
/* 001000 80000400 3C088006 */ lui $t0, %hi(_bssSegmentStart)
/* 001004 80000404 3C090003 */ lui $t1, %hi(_bssSegmentSize) # lui $t1, 3
/* 001008 80000408 2508D2E0 */ addiu $t0, %lo(_bssSegmentStart) # addiu $t0, $t0, -0x2d20
/* 00100C 8000040C 35291080 */ ori $t1, %lo(_bssSegmentSize) # ori $t1, $t1, 0x1080
.L80000410:
/* 001010 80000410 2129FFF8 */ addi $t1, $t1, -8
/* 001014 80000414 AD000000 */ sw $zero, ($t0)
/* 001018 80000418 AD000004 */ sw $zero, 4($t0)
/* 00101C 8000041C 1520FFFC */ bnez $t1, .L80000410
/* 001020 80000420 21080008 */ addi $t0, $t0, 8
/* 001024 80000424 3C0A8000 */ lui $t2, %hi(_boot_function) # $t2, 0x8000
/* 001024 80000424 3C0A8000 */ lui $t2, %hi(_boot_function)
/* 001028 80000428 3C1D803B */ lui $sp, %hi(sp_rmon) # $sp, 0x803b
/* 00102C 8000042C 254A0450 */ addiu $t2, %lo(_boot_function) # addiu $t2, $t2, 0x450
/* 001030 80000430 01400008 */ jr $t2

View File

@ -218,8 +218,8 @@ glabel amCreateAudioMgr
/* 002810 70001C10 44814000 */ mtc1 $at, $f8
/* 002814 70001C14 468021A0 */ cvt.s.w $f6, $f4
/* 002818 70001C18 24190001 */ li $t9, 1
/* 00281C 70001C1C 3C048006 */ lui $a0, %hi(frameSize) # $a0, 0x8006
/* 002820 70001C20 3C148006 */ lui $s4, %hi(maxFrameSize) # $s4, 0x8006
/* 00281C 70001C1C 3C048006 */ lui $a0, %hi(frameSize)
/* 002820 70001C20 3C148006 */ lui $s4, %hi(maxFrameSize)
/* 002824 70001C24 2484ECC4 */ addiu $a0, %lo(frameSize) # addiu $a0, $a0, -0x133c
/* 002828 70001C28 AE620018 */ sw $v0, 0x18($s3)
/* 00282C 70001C2C 46083003 */ div.s $f0, $f6, $f8
@ -283,16 +283,16 @@ glabel amCreateAudioMgr
/* 002900 70001D00 AC830000 */ sw $v1, ($a0)
.L70001D04:
/* 002904 70001D04 246CFFF0 */ addiu $t4, $v1, -0x10
/* 002908 70001D08 3C018006 */ lui $at, %hi(minFrameSize) # $at, 0x8006
/* 002908 70001D08 3C018006 */ lui $at, %hi(minFrameSize)
/* 00290C 70001D0C AC2CECC0 */ sw $t4, %lo(minFrameSize)($at)
/* 002910 70001D10 246D0035 */ addiu $t5, $v1, 0x35
/* 002914 70001D14 AE8D0000 */ sw $t5, ($s4)
/* 002918 70001D18 926E001C */ lbu $t6, 0x1c($s3)
/* 00291C 70001D1C 24010006 */ li $at, 6
/* 002920 70001D20 3C048006 */ lui $a0, %hi(_am+0x238) # $a0, 0x8006
/* 002920 70001D20 3C048006 */ lui $a0, %hi(_am+0x238)
/* 002924 70001D24 15C1001A */ bne $t6, $at, .L70001D90
/* 002928 70001D28 2484E750 */ addiu $a0, %lo(_am+0x238) # addiu $a0, $a0, -0x18b0
/* 00292C 70001D2C 3C0F8002 */ lui $t7, %hi(D_80023100) # $t7, 0x8002
/* 00292C 70001D2C 3C0F8002 */ lui $t7, %hi(D_80023100)
/* 002930 70001D30 27A20048 */ addiu $v0, $sp, 0x48
/* 002934 70001D34 25EF3100 */ addiu $t7, %lo(D_80023100) # addiu $t7, $t7, 0x3100
/* 002938 70001D38 25F900C0 */ addiu $t9, $t7, 0xc0
@ -308,7 +308,7 @@ glabel amCreateAudioMgr
/* 00295C 70001D5C 15F9FFF8 */ bne $t7, $t9, .L70001D40
/* 002960 70001D60 AD01FFFC */ sw $at, -4($t0)
/* 002964 70001D64 8DE10000 */ lw $at, ($t7)
/* 002968 70001D68 3C048006 */ lui $a0, %hi(_am+0x238) # $a0, 0x8006
/* 002968 70001D68 3C048006 */ lui $a0, %hi(_am+0x238)
/* 00296C 70001D6C 2484E750 */ addiu $a0, %lo(_am+0x238) # addiu $a0, $a0, -0x18b0
/* 002970 70001D70 AD010000 */ sw $at, ($t0)
/* 002974 70001D74 8DF90004 */ lw $t9, 4($t7)
@ -322,8 +322,8 @@ glabel amCreateAudioMgr
/* 002990 70001D90 0C003AC7 */ jal alInit
/* 002994 70001D94 02602825 */ move $a1, $s3
.L70001D98:
/* 002998 70001D98 3C108006 */ lui $s0, %hi(_am) # $s0, 0x8006
/* 00299C 70001D9C 3C118006 */ lui $s1, %hi(_am+0xC) # $s1, 0x8006
/* 002998 70001D98 3C108006 */ lui $s0, %hi(_am)
/* 00299C 70001D9C 3C118006 */ lui $s1, %hi(_am+0xC)
/* 0029A0 70001DA0 2631E524 */ addiu $s1, %lo(_am+0xC) # addiu $s1, $s1, -0x1adc
/* 0029A4 70001DA4 2610E518 */ addiu $s0, %lo(_am) # addiu $s0, $s0, -0x1ae8
.L70001DA8:
@ -348,27 +348,27 @@ glabel amCreateAudioMgr
/* 0029F0 70001DF0 0211082B */ sltu $at, $s0, $s1
/* 0029F4 70001DF4 1420FFEC */ bnez $at, .L70001DA8
/* 0029F8 70001DF8 AD820000 */ sw $v0, ($t4)
/* 0029FC 70001DFC 3C048006 */ lui $a0, %hi(_am+0x200) # $a0, 0x8006
/* 002A00 70001E00 3C058006 */ lui $a1, %hi(_am+0x218) # $a1, 0x8006
/* 0029FC 70001DFC 3C048006 */ lui $a0, %hi(_am+0x200)
/* 002A00 70001E00 3C058006 */ lui $a1, %hi(_am+0x218)
/* 002A04 70001E04 24A5E730 */ addiu $a1, %lo(_am+0x218) # addiu $a1, $a1, -0x18d0
/* 002A08 70001E08 2484E718 */ addiu $a0, %lo(_am+0x200) # addiu $a0, $a0, -0x18e8
/* 002A0C 70001E0C 0C0035B4 */ jal osCreateMesgQueue
/* 002A10 70001E10 24060008 */ li $a2, 8
/* 002A14 70001E14 3C048006 */ lui $a0, %hi(_am+0x1C8) # $a0, 0x8006
/* 002A18 70001E18 3C058006 */ lui $a1, %hi(_am+0x1E0) # $a1, 0x8006
/* 002A14 70001E14 3C048006 */ lui $a0, %hi(_am+0x1C8)
/* 002A18 70001E18 3C058006 */ lui $a1, %hi(_am+0x1E0)
/* 002A1C 70001E1C 24A5E6F8 */ addiu $a1, %lo(_am+0x1E0) # addiu $a1, $a1, -0x1908
/* 002A20 70001E20 2484E6E0 */ addiu $a0, %lo(_am+0x1C8) # addiu $a0, $a0, -0x1920
/* 002A24 70001E24 0C0035B4 */ jal osCreateMesgQueue
/* 002A28 70001E28 24060008 */ li $a2, 8
/* 002A2C 70001E2C 3C048006 */ lui $a0, %hi(audDMAMessageQ) # $a0, 0x8006
/* 002A30 70001E30 3C058006 */ lui $a1, %hi(audDMAMessageBuf) # $a1, 0x8006
/* 002A2C 70001E2C 3C048006 */ lui $a0, %hi(audDMAMessageQ)
/* 002A30 70001E30 3C058006 */ lui $a1, %hi(audDMAMessageBuf)
/* 002A34 70001E34 24A5F2E8 */ addiu $a1, %lo(audDMAMessageBuf) # addiu $a1, $a1, -0xd18
/* 002A38 70001E38 2484F2D0 */ addiu $a0, %lo(audDMAMessageQ) # addiu $a0, $a0, -0xd30
/* 002A3C 70001E3C 0C0035B4 */ jal osCreateMesgQueue
/* 002A40 70001E40 24060040 */ li $a2, 64
/* 002A44 70001E44 3C028006 */ lui $v0, %hi(dmaBuffs) # $v0, 0x8006
/* 002A44 70001E44 3C028006 */ lui $v0, %hi(dmaBuffs)
/* 002A48 70001E48 2442E7C0 */ addiu $v0, %lo(dmaBuffs) # addiu $v0, $v0, -0x1840
/* 002A4C 70001E4C 3C118006 */ lui $s1, %hi(dmaBuffs) # $s1, 0x8006
/* 002A4C 70001E4C 3C118006 */ lui $s1, %hi(dmaBuffs)
/* 002A50 70001E50 3C108006 */ lui $s0, %hi(dmaBuffs+20)
/* 002A54 70001E54 AC400004 */ sw $zero, 4($v0)
/* 002A58 70001E58 AC400000 */ sw $zero, ($v0)
@ -400,8 +400,8 @@ glabel amCreateAudioMgr
/* 002ABC 70001EBC 0C003AD4 */ jal alHeapDBAlloc
/* 002AC0 70001EC0 24070001 */ li $a3, 1
/* 002AC4 70001EC4 AE220010 */ sw $v0, 0x10($s1)
/* 002AC8 70001EC8 3C118006 */ lui $s1, %hi(_am+0x8) # $s1, 0x8006
/* 002ACC 70001ECC 3C108006 */ lui $s0, %hi(_am) # $s0, 0x8006
/* 002AC8 70001EC8 3C118006 */ lui $s1, %hi(_am+0x8)
/* 002ACC 70001ECC 3C108006 */ lui $s0, %hi(_am)
/* 002AD0 70001ED0 2610E518 */ addiu $s0, %lo(_am) # addiu $s0, $s0, -0x1ae8
/* 002AD4 70001ED4 2631E520 */ addiu $s1, %lo(_am+0x8) # addiu $s1, $s1, -0x1ae0
.L70001ED8:
@ -419,7 +419,7 @@ glabel amCreateAudioMgr
/* 002B04 70001F04 24843950 */ addiu $a0, %lo(sp_audi) # addiu $a0, $a0, 0x3950
/* 002B08 70001F08 0C0001BC */ jal set_stack_entry
/* 002B0C 70001F0C 24051000 */ li $a1, 4096
/* 002B10 70001F10 3C048006 */ lui $a0, %hi(_am+0x18) # $a0, 0x8006
/* 002B10 70001F10 3C048006 */ lui $a0, %hi(_am+0x18)
/* 002B14 70001F14 3C067000 */ lui $a2, %hi(_amMain) # $a2, 0x7000
/* 002B18 70001F18 24190014 */ li $t9, 20
/* 002B1C 70001F1C AFB90014 */ sw $t9, 0x14($sp)
@ -541,7 +541,7 @@ loop_1:
sp4C = (u32) dword_CODE_bss_8005E4D8.unk4;
if ((temp_s1 % 0xf0) == 0)
{
temp_ret_3 = ull_div(dword_CODE_bss_8005E4D0, dword_CODE_bss_8005E4D0.unk4, 0, 0xf0);
temp_ret_3 = __ull_div(dword_CODE_bss_8005E4D0, dword_CODE_bss_8005E4D0.unk4, 0, 0xf0);
dword_CODE_bss_8005E4CC = temp_ret_3;
dword_CODE_bss_8005E4CC = temp_ret_3;
sp44 = (u32) (dword_CODE_bss_8005E4E0.unk4 - dword_CODE_bss_8005E4D8.unk4);
@ -587,14 +587,14 @@ GLOBAL_ASM(
glabel _amMain
/* 002B7C 70001F7C 27BDFF90 */ addiu $sp, $sp, -0x70
/* 002B80 70001F80 AFB60030 */ sw $s6, 0x30($sp)
/* 002B84 70001F84 3C168006 */ lui $s6, %hi(_am+0x1C8) # $s6, 0x8006
/* 002B84 70001F84 3C168006 */ lui $s6, %hi(_am+0x1C8)
/* 002B88 70001F88 AFA40070 */ sw $a0, 0x70($sp)
/* 002B8C 70001F8C 26D6E6E0 */ addiu $s6, %lo(_am+0x1C8) # addiu $s6, $s6, -0x1920
/* 002B90 70001F90 AFBF003C */ sw $ra, 0x3c($sp)
/* 002B94 70001F94 AFB20020 */ sw $s2, 0x20($sp)
/* 002B98 70001F98 AFB1001C */ sw $s1, 0x1c($sp)
/* 002B9C 70001F9C 3C048006 */ lui $a0, %hi(sc) # $a0, 0x8006
/* 002BA0 70001FA0 3C058006 */ lui $a1, %hi(audi_client) # $a1, 0x8006
/* 002B9C 70001F9C 3C048006 */ lui $a0, %hi(sc)
/* 002BA0 70001FA0 3C058006 */ lui $a1, %hi(audi_client)
/* 002BA4 70001FA4 AFBE0038 */ sw $fp, 0x38($sp)
/* 002BA8 70001FA8 AFB70034 */ sw $s7, 0x34($sp)
/* 002BAC 70001FAC AFB5002C */ sw $s5, 0x2c($sp)
@ -610,10 +610,10 @@ glabel _amMain
/* 002BD4 70001FD4 02C03025 */ move $a2, $s6
/* 002BD8 70001FD8 0C000305 */ jal osScAddClient
/* 002BDC 70001FDC 24070001 */ li $a3, 1
/* 002BE0 70001FE0 3C158006 */ lui $s5, %hi(dword_CODE_bss_8005E4E0) # $s5, 0x8006
/* 002BE4 70001FE4 3C148006 */ lui $s4, %hi(dword_CODE_bss_8005E4D8) # $s4, 0x8006
/* 002BE8 70001FE8 3C138006 */ lui $s3, %hi(dword_CODE_bss_8005E4B8) # $s3, 0x8006
/* 002BEC 70001FEC 3C108006 */ lui $s0, %hi(dword_CODE_bss_8005E4D0) # $s0, 0x8006
/* 002BE0 70001FE0 3C158006 */ lui $s5, %hi(dword_CODE_bss_8005E4E0)
/* 002BE4 70001FE4 3C148006 */ lui $s4, %hi(dword_CODE_bss_8005E4D8)
/* 002BE8 70001FE8 3C138006 */ lui $s3, %hi(dword_CODE_bss_8005E4B8)
/* 002BEC 70001FEC 3C108006 */ lui $s0, %hi(dword_CODE_bss_8005E4D0)
/* 002BF0 70001FF0 2610E4D0 */ addiu $s0, %lo(dword_CODE_bss_8005E4D0) # addiu $s0, $s0, -0x1b30
/* 002BF4 70001FF4 2673E4B8 */ addiu $s3, %lo(dword_CODE_bss_8005E4B8) # addiu $s3, $s3, -0x1b48
/* 002BF8 70001FF8 2694E4D8 */ addiu $s4, %lo(dword_CODE_bss_8005E4D8) # addiu $s4, $s4, -0x1b28
@ -643,7 +643,7 @@ glabel _amMain
/* 002C50 70002050 AE830004 */ sw $v1, 4($s4)
/* 002C54 70002054 0C000A15 */ jal video_related_3
/* 002C58 70002058 3C040003 */ lui $a0, 3
/* 002C5C 7000205C 3C0F8002 */ lui $t7, %hi(audFrameCt) # $t7, 0x8002
/* 002C5C 7000205C 3C0F8002 */ lui $t7, %hi(audFrameCt)
/* 002C60 70002060 8DEF30F4 */ lw $t7, %lo(audFrameCt)($t7)
/* 002C64 70002064 24010003 */ li $at, 3
/* 002C68 70002068 3C048006 */ lui $a0, %hi(_am+8)
@ -666,7 +666,7 @@ glabel _amMain
/* 002CAC 700020AC 006B082B */ sltu $at, $v1, $t3
/* 002CB0 700020B0 0301C023 */ subu $t8, $t8, $at
/* 002CB4 700020B4 AEA30004 */ sw $v1, 4($s5)
/* 002CB8 700020B8 3C018006 */ lui $at, %hi(dword_CODE_bss_8005E4C0) # $at, 0x8006
/* 002CB8 700020B8 3C018006 */ lui $at, %hi(dword_CODE_bss_8005E4C0)
/* 002CBC 700020BC 006BC823 */ subu $t9, $v1, $t3
/* 002CC0 700020C0 AC39E4C4 */ sw $t9, %lo(dword_CODE_bss_8005E4C4)($at)
/* 002CC4 700020C4 AC38E4C0 */ sw $t8, %lo(dword_CODE_bss_8005E4C0)($at)
@ -683,9 +683,9 @@ glabel _amMain
/* 002CF0 700020F0 8E040000 */ lw $a0, ($s0)
/* 002CF4 700020F4 8E050004 */ lw $a1, 4($s0)
/* 002CF8 700020F8 24060000 */ li $a2, 0
/* 002CFC 700020FC 0C003B2A */ jal ull_div
/* 002CFC 700020FC 0C003B2A */ jal __ull_div
/* 002D00 70002100 240700F0 */ li $a3, 240
/* 002D04 70002104 3C018006 */ lui $at, %hi(dword_CODE_bss_8005E4CC) # $at, 0x8006
/* 002D04 70002104 3C018006 */ lui $at, %hi(dword_CODE_bss_8005E4CC)
/* 002D08 70002108 AC22E4C8 */ sw $v0, %lo(dword_CODE_bss_8005E4C8)($at)
/* 002D0C 7000210C AC23E4CC */ sw $v1, %lo(dword_CODE_bss_8005E4CC)($at)
/* 002D10 70002110 8E990004 */ lw $t9, 4($s4)
@ -731,7 +731,7 @@ glabel _amMain
/* 002DA8 700021A8 8FAD0044 */ lw $t5, 0x44($sp)
/* 002DAC 700021AC 018A082B */ sltu $at, $t4, $t2
/* 002DB0 700021B0 14200008 */ bnez $at, .L700021D4
/* 002DB4 700021B4 3C048006 */ lui $a0, %hi(_am+0x200) # $a0, 0x8006
/* 002DB4 700021B4 3C048006 */ lui $a0, %hi(_am+0x200)
/* 002DB8 700021B8 014C082B */ sltu $at, $t2, $t4
/* 002DBC 700021BC 14200003 */ bnez $at, .L700021CC
/* 002DC0 700021C0 016D082B */ sltu $at, $t3, $t5
@ -756,7 +756,7 @@ glabel _amMain
.L70002200:
/* 002E00 70002200 5240FF82 */ beql $s2, $zero, .L7000200C
/* 002E04 70002204 02C02025 */ move $a0, $s6
/* 002E08 70002208 3C048006 */ lui $a0, %hi(_am+0x238) # $a0, 0x8006
/* 002E08 70002208 3C048006 */ lui $a0, %hi(_am+0x238)
/* 002E0C 7000220C 0C003AB9 */ jal alClose
/* 002E10 70002210 2484E750 */ addiu $a0, %lo(_am+0x238) # addiu $a0, $a0, -0x18b0
/* 002E14 70002214 8FBF003C */ lw $ra, 0x3c($sp)
@ -842,17 +842,17 @@ glabel _amHandleFrameMsg
.L70002288:
/* 002E88 70002288 0C003BEC */ jal osAiGetLength
/* 002E8C 7000228C 00000000 */ nop
/* 002E90 70002290 3C0F8006 */ lui $t7, %hi(frameSize) # $t7, 0x8006
/* 002E90 70002290 3C0F8006 */ lui $t7, %hi(frameSize)
/* 002E94 70002294 8DEFECC4 */ lw $t7, %lo(frameSize)($t7)
/* 002E98 70002298 0002C082 */ srl $t8, $v0, 2
/* 002E9C 7000229C 3C038006 */ lui $v1, %hi(minFrameSize) # $v1, 0x8006
/* 002E9C 7000229C 3C038006 */ lui $v1, %hi(minFrameSize)
/* 002EA0 700022A0 01F8C823 */ subu $t9, $t7, $t8
/* 002EA4 700022A4 27280035 */ addiu $t0, $t9, 0x35
/* 002EA8 700022A8 3109FFF0 */ andi $t1, $t0, 0xfff0
/* 002EAC 700022AC A6090004 */ sh $t1, 4($s0)
/* 002EB0 700022B0 8C63ECC0 */ lw $v1, %lo(minFrameSize)($v1)
/* 002EB4 700022B4 86070004 */ lh $a3, 4($s0)
/* 002EB8 700022B8 3C0C8002 */ lui $t4, %hi(curAcmdList) # $t4, 0x8002
/* 002EB8 700022B8 3C0C8002 */ lui $t4, %hi(curAcmdList)
/* 002EBC 700022BC 00035400 */ sll $t2, $v1, 0x10
/* 002EC0 700022C0 000A5C03 */ sra $t3, $t2, 0x10
/* 002EC4 700022C4 00EB082A */ slt $at, $a3, $t3
@ -862,16 +862,16 @@ glabel _amHandleFrameMsg
/* 002ED4 700022D4 86070004 */ lh $a3, 4($s0)
.L700022D8:
/* 002ED8 700022D8 8D8C30FC */ lw $t4, %lo(curAcmdList)($t4)
/* 002EDC 700022DC 3C058006 */ lui $a1, %hi(cmdLen) # $a1, 0x8006
/* 002EDC 700022DC 3C058006 */ lui $a1, %hi(cmdLen)
/* 002EE0 700022E0 24A5ECCC */ addiu $a1, %lo(cmdLen) # addiu $a1, $a1, -0x1334
/* 002EE4 700022E4 000C6880 */ sll $t5, $t4, 2
/* 002EE8 700022E8 008D2021 */ addu $a0, $a0, $t5
/* 002EEC 700022EC 8C84E518 */ lw $a0, %lo(_am)($a0)
/* 002EF0 700022F0 0C003C42 */ jal alAudioFrame
/* 002EF4 700022F4 8FA60024 */ lw $a2, 0x24($sp)
/* 002EF8 700022F8 3C0E8006 */ lui $t6, %hi(_am+0x200) # $t6, 0x8006
/* 002EF8 700022F8 3C0E8006 */ lui $t6, %hi(_am+0x200)
/* 002EFC 700022FC 24030002 */ li $v1, 2
/* 002F00 70002300 3C068002 */ lui $a2, %hi(curAcmdList) # $a2, 0x8002
/* 002F00 70002300 3C068002 */ lui $a2, %hi(curAcmdList)
/* 002F04 70002304 25CEE718 */ addiu $t6, %lo(_am+0x200) # addiu $t6, $t6, -0x18e8
/* 002F08 70002308 24C630FC */ addiu $a2, %lo(curAcmdList) # addiu $a2, $a2, 0x30fc
/* 002F0C 7000230C AE000008 */ sw $zero, 8($s0)
@ -879,13 +879,13 @@ glabel _amHandleFrameMsg
/* 002F14 70002314 AE10005C */ sw $s0, 0x5c($s0)
/* 002F18 70002318 AE030010 */ sw $v1, 0x10($s0)
/* 002F1C 7000231C 8CCF0000 */ lw $t7, ($a2)
/* 002F20 70002320 3C078006 */ lui $a3, %hi(_am) # $a3, 0x8006
/* 002F20 70002320 3C078006 */ lui $a3, %hi(_am)
/* 002F24 70002324 24E7E518 */ addiu $a3, %lo(_am) # addiu $a3, $a3, -0x1ae8
/* 002F28 70002328 000FC080 */ sll $t8, $t7, 2
/* 002F2C 7000232C 00F8C821 */ addu $t9, $a3, $t8
/* 002F30 70002330 8F280000 */ lw $t0, ($t9)
/* 002F34 70002334 3C058002 */ lui $a1, %hi(rspbootTextStart) # $a1, 0x8002
/* 002F38 70002338 3C188002 */ lui $t8, %hi(gsp3DTextStart) # $t8, 0x8002
/* 002F34 70002334 3C058002 */ lui $a1, %hi(rspbootTextStart)
/* 002F38 70002338 3C188002 */ lui $t8, %hi(gsp3DTextStart)
/* 002F3C 7000233C AE080048 */ sw $t0, 0x48($s0)
/* 002F40 70002340 8CC90000 */ lw $t1, ($a2)
/* 002F44 70002344 24A50D90 */ addiu $a1, %lo(rspbootTextStart) # addiu $a1, $a1, 0xd90
@ -893,8 +893,8 @@ glabel _amHandleFrameMsg
/* 002F4C 7000234C 00095080 */ sll $t2, $t1, 2
/* 002F50 70002350 00EA5821 */ addu $t3, $a3, $t2
/* 002F54 70002354 8D6C0000 */ lw $t4, ($t3)
/* 002F58 70002358 3C088002 */ lui $t0, %hi(aspMainTextStart) # $t0, 0x8002
/* 002F5C 7000235C 3C098006 */ lui $t1, %hi(aspMainDataStart) # $t1, 0x8006
/* 002F58 70002358 3C088002 */ lui $t0, %hi(aspMainTextStart)
/* 002F5C 7000235C 3C098006 */ lui $t1, %hi(aspMainDataStart)
/* 002F60 70002360 004C6823 */ subu $t5, $v0, $t4
/* 002F64 70002364 000D70C3 */ sra $t6, $t5, 3
/* 002F68 70002368 000E78C0 */ sll $t7, $t6, 3
@ -902,7 +902,7 @@ glabel _amHandleFrameMsg
/* 002F70 70002370 25082280 */ addiu $t0, %lo(aspMainTextStart) # addiu $t0, $t0, 0x2280
/* 002F74 70002374 2529D020 */ addiu $t1, %lo(aspMainDataStart) # addiu $t1, $t1, -0x2fe0
/* 002F78 70002378 240A0800 */ li $t2, 2048
/* 002F7C 7000237C 3C048006 */ lui $a0, %hi(sc) # $a0, 0x8006
/* 002F7C 7000237C 3C048006 */ lui $a0, %hi(sc)
/* 002F80 70002380 AE0F004C */ sw $t7, 0x4c($s0)
/* 002F84 70002384 AE030018 */ sw $v1, 0x18($s0)
/* 002F88 70002388 AE050020 */ sw $a1, 0x20($s0)
@ -919,7 +919,7 @@ glabel _amHandleFrameMsg
/* 002FB4 700023B4 26050008 */ addiu $a1, $s0, 8
/* 002FB8 700023B8 0C0037C4 */ jal osSendMesg
/* 002FBC 700023BC 00003025 */ move $a2, $zero
/* 002FC0 700023C0 3C038002 */ lui $v1, %hi(curAcmdList) # $v1, 0x8002
/* 002FC0 700023C0 3C038002 */ lui $v1, %hi(curAcmdList)
/* 002FC4 700023C4 246330FC */ addiu $v1, %lo(curAcmdList) # addiu $v1, $v1, 0x30fc
/* 002FC8 700023C8 8C6B0000 */ lw $t3, ($v1)
/* 002FCC 700023CC 8FBF001C */ lw $ra, 0x1c($sp)
@ -953,9 +953,9 @@ glabel __amHandleDoneMsg
/* 002FF0 700023F0 AFA40018 */ sw $a0, 0x18($sp)
/* 002FF4 700023F4 00027083 */ sra $t6, $v0, 2
/* 002FF8 700023F8 15C00006 */ bnez $t6, .L70002414
/* 002FFC 700023FC 3C0F8002 */ lui $t7, %hi(firstTime) # $t7, 0x8002
/* 002FFC 700023FC 3C0F8002 */ lui $t7, %hi(firstTime)
/* 003000 70002400 8DEF31C8 */ lw $t7, %lo(firstTime)($t7)
/* 003004 70002404 3C018002 */ lui $at, %hi(firstTime) # $at, 0x8002
/* 003004 70002404 3C018002 */ lui $at, %hi(firstTime)
/* 003008 70002408 55E00003 */ bnezl $t7, .L70002418
/* 00300C 7000240C 8FBF0014 */ lw $ra, 0x14($sp)
/* 003010 70002410 AC2031C8 */ sw $zero, %lo(firstTime)($at)
@ -1062,7 +1062,7 @@ s32 __amDMA(u32 arg0, s32 arg1, ? arg2, s32 arg14) {
GLOBAL_ASM(
.text
glabel __amDMA
/* 003024 70002424 3C098006 */ lui $t1, %hi(dmaState_initialized) # $t1, 0x8006
/* 003024 70002424 3C098006 */ lui $t1, %hi(dmaState_initialized)
/* 003028 70002428 2529E7B0 */ addiu $t1, %lo(dmaState_initialized) # addiu $t1, $t1, -0x1850
/* 00302C 7000242C 8D280004 */ lw $t0, 4($t1)
/* 003030 70002430 27BDFFB0 */ addiu $sp, $sp, -0x50
@ -1085,7 +1085,7 @@ glabel __amDMA
/* 003070 70002470 1420000A */ bnez $at, .L7000249C
/* 003074 70002474 02003025 */ move $a2, $s0
/* 003078 70002478 8E180010 */ lw $t8, 0x10($s0)
/* 00307C 7000247C 3C0F8002 */ lui $t7, %hi(audFrameCt) # $t7, 0x8002
/* 00307C 7000247C 3C0F8002 */ lui $t7, %hi(audFrameCt)
/* 003080 70002480 8DEF30F4 */ lw $t7, %lo(audFrameCt)($t7)
/* 003084 70002484 0307C821 */ addu $t9, $t8, $a3
/* 003088 70002488 03222023 */ subu $a0, $t9, $v0
@ -1118,7 +1118,7 @@ glabel __amDMA
/* 0030E4 700024E4 0C003AA4 */ jal alUnlink
/* 0030E8 700024E8 AD2B0008 */ sw $t3, 8($t1)
/* 0030EC 700024EC 8FA60038 */ lw $a2, 0x38($sp)
/* 0030F0 700024F0 3C098006 */ lui $t1, %hi(dmaState_initialized) # $t1, 0x8006
/* 0030F0 700024F0 3C098006 */ lui $t1, %hi(dmaState_initialized)
/* 0030F4 700024F4 2529E7B0 */ addiu $t1, %lo(dmaState_initialized) # addiu $t1, $t1, -0x1850
/* 0030F8 700024F8 10C00007 */ beqz $a2, .L70002518
/* 0030FC 700024FC 8FA70050 */ lw $a3, 0x50($sp)
@ -1143,8 +1143,8 @@ glabel __amDMA
/* 003140 70002540 AE000004 */ sw $zero, 4($s0)
.L70002544:
/* 003144 70002544 8FAC0048 */ lw $t4, 0x48($sp)
/* 003148 70002548 3C0D8002 */ lui $t5, %hi(audFrameCt) # $t5, 0x8002
/* 00314C 7000254C 3C088002 */ lui $t0, %hi(nextDMA) # $t0, 0x8002
/* 003148 70002548 3C0D8002 */ lui $t5, %hi(audFrameCt)
/* 00314C 7000254C 3C088002 */ lui $t0, %hi(nextDMA)
/* 003150 70002550 00EC3823 */ subu $a3, $a3, $t4
/* 003154 70002554 AE070008 */ sw $a3, 8($s0)
/* 003158 70002558 8DAD30F4 */ lw $t5, %lo(audFrameCt)($t5)
@ -1152,8 +1152,8 @@ glabel __amDMA
/* 003160 70002560 8E030010 */ lw $v1, 0x10($s0)
/* 003164 70002564 AE0D000C */ sw $t5, 0xc($s0)
/* 003168 70002568 8D020000 */ lw $v0, ($t0)
/* 00316C 7000256C 3C0F8006 */ lui $t7, %hi(audDMAIOMesgBuf) # $t7, 0x8006
/* 003170 70002570 3C198006 */ lui $t9, %hi(audDMAMessageQ) # $t9, 0x8006
/* 00316C 7000256C 3C0F8006 */ lui $t7, %hi(audDMAIOMesgBuf)
/* 003170 70002570 3C198006 */ lui $t9, %hi(audDMAMessageQ)
/* 003174 70002574 00027080 */ sll $t6, $v0, 2
/* 003178 70002578 01C27023 */ subu $t6, $t6, $v0
/* 00317C 7000257C 000E70C0 */ sll $t6, $t6, 3
@ -1206,11 +1206,11 @@ void *__amDmaNew(void *arg0) {
GLOBAL_ASM(
.text
glabel __amDmaNew
/* 0031D8 700025D8 3C038006 */ lui $v1, %hi(dmaState_initialized) # $v1, 0x8006
/* 0031D8 700025D8 3C038006 */ lui $v1, %hi(dmaState_initialized)
/* 0031DC 700025DC 2463E7B0 */ addiu $v1, %lo(dmaState_initialized) # addiu $v1, $v1, -0x1850
/* 0031E0 700025E0 906E0000 */ lbu $t6, ($v1)
/* 0031E4 700025E4 3C027000 */ lui $v0, %hi(__amDMA) # $v0, 0x7000
/* 0031E8 700025E8 3C0F8006 */ lui $t7, %hi(dmaBuffs) # $t7, 0x8006
/* 0031E8 700025E8 3C0F8006 */ lui $t7, %hi(dmaBuffs)
/* 0031EC 700025EC 15C00006 */ bnez $t6, .L70002608
/* 0031F0 700025F0 24422424 */ addiu $v0, %lo(__amDMA) # addiu $v0, $v0, 0x2424
/* 0031F4 700025F4 25EFE7C0 */ addiu $t7, %lo(dmaBuffs) # addiu $t7, $t7, -0x1840
@ -1289,7 +1289,7 @@ GLOBAL_ASM(
glabel __clearAudioDMA
/* 003210 70002610 27BDFFB8 */ addiu $sp, $sp, -0x48
/* 003214 70002614 AFB40028 */ sw $s4, 0x28($sp)
/* 003218 70002618 3C148002 */ lui $s4, %hi(nextDMA) # $s4, 0x8002
/* 003218 70002618 3C148002 */ lui $s4, %hi(nextDMA)
/* 00321C 7000261C 269430F8 */ addiu $s4, %lo(nextDMA) # addiu $s4, $s4, 0x30f8
/* 003220 70002620 8E8E0000 */ lw $t6, ($s4)
/* 003224 70002624 AFB00018 */ sw $s0, 0x18($sp)
@ -1300,7 +1300,7 @@ glabel __clearAudioDMA
/* 003238 70002638 AFA00040 */ sw $zero, 0x40($sp)
/* 00323C 7000263C 11C0000D */ beqz $t6, .L70002674
/* 003240 70002640 00008025 */ move $s0, $zero
/* 003244 70002644 3C118006 */ lui $s1, %hi(audDMAMessageQ) # $s1, 0x8006
/* 003244 70002644 3C118006 */ lui $s1, %hi(audDMAMessageQ)
/* 003248 70002648 2631F2D0 */ addiu $s1, %lo(audDMAMessageQ) # addiu $s1, $s1, -0xd30
/* 00324C 7000264C 27B20040 */ addiu $s2, $sp, 0x40
/* 003250 70002650 02202025 */ move $a0, $s1
@ -1314,10 +1314,10 @@ glabel __clearAudioDMA
/* 00326C 7000266C 5420FFF9 */ bnezl $at, .L70002654
/* 003270 70002670 02202025 */ move $a0, $s1
.L70002674:
/* 003274 70002674 3C128006 */ lui $s2, %hi(dmaState_initialized) # $s2, 0x8006
/* 003274 70002674 3C128006 */ lui $s2, %hi(dmaState_initialized)
/* 003278 70002678 2652E7B0 */ addiu $s2, %lo(dmaState_initialized) # addiu $s2, $s2, -0x1850
/* 00327C 7000267C 8E500004 */ lw $s0, 4($s2)
/* 003280 70002680 3C138002 */ lui $s3, %hi(audFrameCt) # $s3, 0x8002
/* 003280 70002680 3C138002 */ lui $s3, %hi(audFrameCt)
/* 003284 70002684 267330F4 */ addiu $s3, %lo(audFrameCt) # addiu $s3, $s3, 0x30f4
/* 003288 70002688 1200001A */ beqz $s0, .L700026F4
/* 00328C 7000268C 00000000 */ nop
@ -1351,7 +1351,7 @@ glabel __clearAudioDMA
/* 0032EC 700026EC 1620FFE8 */ bnez $s1, .L70002690
/* 0032F0 700026F0 02208025 */ move $s0, $s1
.L700026F4:
/* 0032F4 700026F4 3C138002 */ lui $s3, %hi(audFrameCt) # $s3, 0x8002
/* 0032F4 700026F4 3C138002 */ lui $s3, %hi(audFrameCt)
/* 0032F8 700026F8 267330F4 */ addiu $s3, %lo(audFrameCt) # addiu $s3, $s3, 0x30f4
/* 0032FC 700026FC 8E6A0000 */ lw $t2, ($s3)
/* 003300 70002700 8FBF002C */ lw $ra, 0x2c($sp)

3890
src/bondaicommands.h Normal file

File diff suppressed because it is too large Load Diff

1366
src/bondconstants.h Normal file

File diff suppressed because it is too large Load Diff

View File

@ -34,669 +34,8 @@ extern u8 sp_main[];
extern u8 sp_audi[];
extern u8 sp_debug[];
struct rgba_val{
u8 r;
u8 g;
u8 b;
u8 a;
};
#define OBJECTIVES_MAX 10
typedef enum MISSION_BRIEFING {BRIEF_OVERVIEW = 0, BRIEF_M, BRIEF_Q, BRIEF_MONEYPENNY} MISSION_BRIEFING;
typedef enum DIFFICULTY {DIFFICULTY_AGENT = 0, DIFFICULTY_SECRET, DIFFICULTY_00, DIFFICULTY_007, DIFFICULTY_MULTI = 0xFFFFFFFF} DIFFICULTY;
typedef enum LEVELID {
LEVELID_BUNKER1 = 0x9,
LEVELID_SILO = 0x14,
LEVELID_STATUE = 0x16,
LEVELID_CONTROL = 0x17,
LEVELID_ARCHIVES = 0x18,
LEVELID_TRAIN = 0x19,
LEVELID_FRIGATE = 0x1A,
LEVELID_BUNKER2 = 0x1B,
LEVELID_AZTEC = 0x1C,
LEVELID_STREETS = 0x1D,
LEVELID_DEPOT = 0x1E,
LEVELID_COMPLEX = 0x1F,
LEVELID_EGYPT = 0x20,
LEVELID_DAM = 0x21,
LEVELID_FACILITY = 0x22,
LEVELID_RUNWAY = 0x23,
LEVELID_SURFACE = 0x24,
LEVELID_JUNGLE = 0x25,
LEVELID_TEMPLE = 0x26,
LEVELID_CAVERNS = 0x27,
LEVELID_CITADEL = 0x28,
LEVELID_CRADLE = 0x29,
LEVELID_SHO = 0x2A,
LEVELID_SURFACE2 = 0x2B,
LEVELID_ELD = 0x2C,
LEVELID_BASEMENT = 0x2D,
LEVELID_STACK = 0x2E,
LEVELID_LUE = 0x2F,
LEVELID_LIBRARY = 0x30,
LEVELID_RIT = 0x31,
LEVELID_CAVES = 0x32,
LEVELID_EAR = 0x33,
LEVELID_LEE = 0x34,
LEVELID_LIP = 0x35,
LEVELID_CUBA = 0x36,
LEVELID_WAX = 0x37,
LEVELID_PAM = 0x38,
LEVELID_MAX = 0x39,
LEVELID_TITLE = 0x5A,
LEVELID_NONE = 0xFFFFFFFF
} LEVELID;
typedef enum LEVEL_SOLO_SEQUENCE
{
SP_LEVEL_DAM = 0x1,
SP_LEVEL_FACILITY,
SP_LEVEL_RUNWAY,
SP_LEVEL_SURFACE1,
SP_LEVEL_BUNKER1,
SP_LEVEL_SILO,
SP_LEVEL_FRIGATE,
SP_LEVEL_SURFACE2,
SP_LEVEL_BUNKER2,
SP_LEVEL_STATUE,
SP_LEVEL_ARCHIVES,
SP_LEVEL_STREETS,
SP_LEVEL_DEPOT,
SP_LEVEL_TRAIN,
SP_LEVEL_JUNGLE,
SP_LEVEL_CONTROL,
SP_LEVEL_CAVERNS,
SP_LEVEL_CRADLE,
SP_LEVEL_AZTEC,
SP_LEVEL_EGYPT
} LEVEL_SOLO_SEQUENCE;
typedef enum LEVEL_INDEX
{
LEVEL_INDEX_SEVBUNKER = 0x0,
LEVEL_INDEX_SILO = 0x1,
LEVEL_INDEX_STATUE = 0x2,
LEVEL_INDEX_CONTROL = 0x3,
LEVEL_INDEX_ARCH = 0x4,
LEVEL_INDEX_TRA = 0x5,
LEVEL_INDEX_DEST = 0x6,
LEVEL_INDEX_SEVB = 0x7,
LEVEL_INDEX_AZT = 0x8,
LEVEL_INDEX_PETE = 0x9,
LEVEL_INDEX_DEPO = 0xA,
LEVEL_INDEX_REF = 0xB,
LEVEL_INDEX_CRYP = 0xC,
LEVEL_INDEX_DAM = 0xD,
LEVEL_INDEX_ARK = 0xE,
LEVEL_INDEX_RUN = 0xF,
LEVEL_INDEX_SEVX = 0x10,
LEVEL_INDEX_JUN = 0x11,
LEVEL_INDEX_DISH = 0x12,
LEVEL_INDEX_CAVE = 0x13,
LEVEL_INDEX_CAT = 0x14,
LEVEL_INDEX_CRAD = 0x15,
LEVEL_INDEX_SHO = 0x16,
LEVEL_INDEX_SEVXB = 0x17,
LEVEL_INDEX_ELD = 0x18,
LEVEL_INDEX_IMP = 0x19,
LEVEL_INDEX_ASH = 0x1A,
LEVEL_INDEX_LUE = 0x1B,
LEVEL_INDEX_AME = 0x1C,
LEVEL_INDEX_RIT = 0x1D,
LEVEL_INDEX_OAT = 0x1E,
LEVEL_INDEX_EAR = 0x1F,
LEVEL_INDEX_LEE = 0x20,
LEVEL_INDEX_LIP = 0x21,
LEVEL_INDEX_LEN = 0x22,
LEVEL_INDEX_WAX = 0x23,
LEVEL_INDEX_PAM = 0x24,
LEVEL_INDEX_X = 0x25
} LEVEL_INDEX;
/* language file to slot allocation */
#define TEXT(TEXTBANK, TEXTSLOT) ((TEXTBANK * 0x0400U) + TEXTSLOT)
typedef enum TEXTBANK_LEVEL_INDEX
{
LNULL = 0, /* Null (unused) */
LAME, /* Library (multi) */
LARCH, /* Archives */
LARK, /* Facility */
LASH, /* Stack (multi) */
LAZT, /* Aztec */
LCAT, /* Citadel (multi) */
LCAVE, /* Caverns */
LAREC, /* Control */
LCRAD, /* Cradle */
LCRYP, /* Egypt */
LDAM, /* Dam */
LDEPO, /* Depot */
LDEST, /* Frigate */
LDISH, /* Temple (multi) */
LEAR, /* Ear (unused) */
LELD, /* Eld (unused) */
LIMP, /* Basement (multi) */
LJUN, /* Jungle */
LLEE, /* Lee (unused) */
LLEN, /* Cuba */
LLIP, /* Lip (unused) */
LLUE, /* Lue (unused) */
LOAT, /* Cave (multi) */
LPAM, /* Pam (unused) */
LPETE, /* Streets */
LREF, /* Complex (multi) */
LRIT, /* Rit (unused) */
LRUN, /* Runway */
LSEVB, /* Bunker 2 */
LSEV, /* Bunker 1 */
LSEVX, /* Surface 1 */
LSEVXB, /* Surface 2 */
LSHO, /* Sho (unused) */
LSILO, /* Silo */
LSTAT, /* Statue */
LTRA, /* Train */
LWAX, /* Wax (unused) */
LGUN, /* Guns */
LTITLE, /* Stage and menu titles */
LMPMENU, /* Multi menus */
LPROPOBJ, /* In-game pickups */
LMPWEAPONS, /* Multi weapon select */
LOPTIONS, /* Solo in-game menus */
LMISC /* Cheat options */
} TEXTBANK_LEVEL_INDEX;
typedef enum MP_STAGE_SELECTED {
MP_STAGE_RANDOM = 0x0,
MP_STAGE_TEMPLE = 0x1,
MP_STAGE_COMPLEX = 0x2,
MP_STAGE_CAVES = 0x3,
MP_STAGE_LIBRARY = 0x4,
MP_STAGE_BASEMENT = 0x5,
MP_STAGE_STACK = 0x6,
MP_STAGE_FACILITY = 0x7,
MP_STAGE_BUNKER = 0x8,
MP_STAGE_ARCHIVES = 0x9,
MP_STAGE_CAVERNS = 0xA,
MP_STAGE_EGYPT = 0xB
} MP_STAGE_SELECTED;
typedef enum GENDER {FEMALE=0, MALE } GENDER;
typedef enum BODIES {
BODY_Jungle_Commando = 0x0,
BODY_St_Petersburg_Guard = 0x1,
BODY_Russian_Soldier = 0x2,
BODY_Russian_Infantry = 0x3,
BODY_Janus_Special_Forces = 0x4,
BODY_Tuxedo = 0x5,
BODY_Boris = 0x6,
BODY_Ourumov = 0x7,
BODY_Trevelyan_Janus = 0x8,
BODY_Trevelyan_006 = 0x9,
BODY_Valentin_ = 0xA,
BODY_Xenia = 0xB,
BODY_Baron_Samedi = 0xC,
BODY_Jaws = 0xD,
BODY_Mayday = 0xE,
BODY_Oddjob = 0xF,
BODY_Natalya_Skirt = 0x10,
BODY_Janus_Marine = 0x11,
BODY_Russian_Commandant = 0x12,
BODY_Siberian_Guard_1_Mishkin = 0x13,
BODY_Naval_Officer = 0x14,
BODY_Siberian_Special_Forces = 0x15,
BODY_Special_Operations_Uniform = 0x16,
BODY_Formal_Wear = 0x17,
BODY_Jungle_Fatigues = 0x18,
BODY_Parka = 0x19,
BODY_Unused_Female = 0x1A,
BODY_Rosika = 0x1B,
BODY_Scientist_2_Female = 0x1C,
BODY_Civilian_1_Female = 0x1D,
BODY_Unused_Male_1 = 0x1E,
BODY_Unused_Male_2 = 0x1F,
BODY_Civilian_4 = 0x20,
BODY_Civilian_2 = 0x21,
BODY_Civilian_3 = 0x22,
BODY_Scientist_1_Male = 0x23,
BODY_Helicopter_Pilot = 0x24,
BODY_Siberian_Guard_2 = 0x25,
BODY_Arctic_Commando = 0x26,
BODY_Moonraker_Elite_1_Male = 0x27,
BODY_Moonraker_Elite_2_Female = 0x28,
BODY_Left_Suit_Hand_Floating_Arm = 0x29,
BODY_Male_Karl = 0x2A,
BODY_Male_Alan = 0x2B,
BODY_Male_Pete = 0x2C,
BODY_Male_Martin = 0x2D,
BODY_Male_Mark = 0x2E,
BODY_Male_Duncan = 0x2F,
BODY_Male_Shaun = 0x30,
BODY_Male_Dwayne = 0x31,
BODY_Male_B = 0x32,
BODY_Male_Dave_Dr_Doak = 0x33,
BODY_Male_Grant = 0x34,
BODY_Male_Des = 0x35,
BODY_Male_Chris = 0x36,
BODY_Male_Lee = 0x37,
BODY_Male_Neil = 0x38,
BODY_Male_Jim = 0x39,
BODY_Male_Robin = 0x3A,
BODY_Male_Steve_H = 0x3B,
BODY_Male_Terrorist = 0x3C,
BODY_Male_Biker = 0x3D,
BODY_Male_Graeme = 0x3E,
BODY_Male_Steve_Ellis = 0x3F,
BODY_Male_Joel = 0x40,
BODY_Male_Scott = 0x41,
BODY_Male_Joe_Altered = 0x42,
BODY_Male_Ken = 0x43,
BODY_Male_Joe = 0x44,
BODY_Male_Mishkin = 0x45,
BODY_Female_Sally = 0x46,
BODY_Female_Marion_Rosika = 0x47,
BODY_Female_Mandy = 0x48,
BODY_Female_Vivien = 0x49,
BODY_Male_Pierce_Bond_1 = 0x4A,
BODY_Male_Pierce_Bond_2 = 0x4B,
BODY_Male_Pierce_Bond_3 = 0x4C,
BODY_Male_Pierce_Bond_Parka = 0x4D,
BODY_Male_Pierce_Bond_Tuxedo = 0x4E,
BODY_Natalya_Jungle_Fatigues = 0x4F
} BODIES;
typedef enum HEADS {
HEAD_Male_Karl = 0x2A,
HEAD_Male_Alan = 0x2B,
HEAD_Male_Pete = 0x2C,
HEAD_Male_Martin = 0x2D,
HEAD_Male_Mark = 0x2E,
HEAD_Male_Duncan = 0x2F,
HEAD_Male_Shaun = 0x30,
HEAD_Male_Dwayne = 0x31,
HEAD_Male_B = 0x32,
HEAD_Male_Dave_Dr_Doak = 0x33,
HEAD_Male_Grant = 0x34,
HEAD_Male_Des = 0x35,
HEAD_Male_Chris = 0x36,
HEAD_Male_Lee = 0x37,
HEAD_Male_Neil = 0x38,
HEAD_Male_Jim = 0x39,
HEAD_Male_Robin = 0x3A,
HEAD_Male_Steve_H = 0x3B,
HEAD_Male_Terrorist = 0x3C,
HEAD_Male_Biker = 0x3D,
HEAD_Male_Graeme = 0x3E,
HEAD_Male_Steve_Ellis = 0x3F,
HEAD_Male_Joel = 0x40,
HEAD_Male_Scott = 0x41,
HEAD_Male_Joe_Altered = 0x42,
HEAD_Male_Ken = 0x43,
HEAD_Male_Joe = 0x44,
HEAD_Male_Mishkin = 0x45,
HEAD_Female_Sally = 0x46,
HEAD_Female_Marion_Rosika = 0x47,
HEAD_Female_Mandy = 0x48,
HEAD_Female_Vivien = 0x49,
HEAD_Male_Pierce_Bond_1 = 0x4A,
HEAD_Male_Pierce_Bond_2 = 0x4B,
HEAD_Male_Pierce_Bond_3 = 0x4C,
HEAD_Male_Pierce_Bond_Parka = 0x4D,
HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT = 0x4E,
HEAD_Natalya_Jungle_Fatigues = 0x4F
} HEADS;
typedef enum mission_setup_type {
MISSION_PART = 0,
MISSION_HEADER
} mission_setup_type;
typedef enum MUSIC_TRACKS {
M_ARCHIVES=11,
M_ARCHIVESX=37,
M_AZTEC=25,
M_AZTECX=46,
M_BUNKER1=15,
M_BUNKER1X=41,
M_BUNKER2=16,
M_BUNKER2X=42,
M_CITADEL=6,
M_CONTROL=8,
M_CONTROLX=33,
M_CRADLE=19,
M_CRADLEX=48,
M_CUBA=49,
M_DAM=9,
M_DAMX=35,
M_DEATHSOLO=27,
M_DEPOT=4,
M_DEPOTX=32,
M_EGYPTIAN=22,
M_EGYPTIANX=39,
M_EGYPTX=47,
M_ELEVATOR_CONTROL=18,
M_ELEVATOR_WC=21,
M_END_SOMETHING=62,
M_FACILITY=7,
M_FACILITYX=31,
M_FOLDERS=23,
M_FRIGATE=10,
M_FRIGATEX=36,
M_GUITARGLISS=54,
M_INTRO=2,
M_INTROSWOOSH=44,
M_JUNGLE=55,
M_JUNGLEX=43,
M_MPDEATH=58,
M_MPTHEME=5,
M_MPTHEME2=13,
M_MPTHEME3=52,
M_NONE=0,
M_RUNWAY=50,
M_RUNWAYPLANE=51,
M_RUNWAYX=56,
M_SHORT_SOLO_DEATH=1,
M_SILO=12,
M_SILOX=38,
M_STATUE=17,
M_STATUEPART=61,
M_STATUEX=45,
M_STREETS=14,
M_STREETSX=40,
M_SURFACE1=57,
M_SURFACE2=28,
M_SURFACE2END=60,
M_SURFACE2X=59,
M_TRAIN=3,
M_TRAINX=29,
M_UNK=20,
M_UNK2=30,
M_WATCH=24,
M_WATERCAVERNS=26,
M_WATERCAVERNSX=34,
M_WIND=53
} MUSIC_TRACKS;
typedef enum GAMEMODE {
GAMEMODE_SOLO = 0x0,
GAMEMODE_MULTI,
GAMEMODE_CHEATS,
GAMEMODE_INTRO = 0xFFFFFFFF
} GAMEMODE;
typedef enum MPSCENARIOS {
SCENARIO_NORMAL=0,
SCENARIO_YOLT,
SCENARIO_TLD,
SCENARIO_MWTGG,
SCENARIO_LTK,
SCENARIO_2v2,
SCENARIO_3v1,
SCENARIO_2v1
} MPSCENARIOS;
typedef enum WATCH_BRIEFING_PAGE {
BRIEFING_TITLE = 0x0,
BRIEFING_OVERVIEW,
BRIEFING_M,
BRIEFING_Q,
BRIEFING_MONEYPENNY
} WATCH_BRIEFING_PAGE;
typedef enum MENU {
MENU_LEGAL_SCREEN = 0x0,
MENU_NINTENDO_LOGO,
MENU_RAREWARE_LOGO,
MENU_EYE_INTRO,
MENU_GOLDENEYE_LOGO,
MENU_FILE_SELECT,
MENU_MODE_SELECT,
MENU_MISSION_SELECT,
MENU_DIFFICULTY,
MENU_007_OPTIONS,
MENU_BRIEFING,
MENU_RUN_STAGE,
MENU_MISSION_FAILED,
MENU_MISSION_COMPLETE,
MENU_MP_OPTIONS,
MENU_MP_CHAR_SELECT,
MENU_MP_HANDICAP,
MENU_MP_CONTROL_STYLE,
MENU_MP_STAGE_SELECT,
MENU_MP_SCENARIO_SELECT,
MENU_MP_TEAMS,
MENU_CHEAT,
MENU_NO_CONTROLLERS,
MENU_SWITCH_SCREENS,
MENU_DISPLAY_CAST,
MENU_SPECTRUM_EMU
} MENU;
typedef enum CONTROLLER_CONFIG
{
CONTROLLER_CONFIG_HONEY = 0x0,
CONTROLLER_CONFIG_SOLITARE,
CONTROLLER_CONFIG_KISSY,
CONTROLLER_CONFIG_GOODNIGHT,
CONTROLLER_CONFIG_PLENTY,
CONTROLLER_CONFIG_GALORE,
CONTROLLER_CONFIG_DOMINO,
CONTROLLER_CONFIG_GOODHEAD,
CONTROLLER_CONFIG_CINEMA
} CONTROLLER_CONFIG;
typedef enum CUFF_TYPES
{
CUFF_BLUE = 0x0,
CUFF_TUX,
CUFF_JUNGLE,
CUFF_BOILER,
CUFF_SNOW,
CUFF_WHITE,
CUFF_TUX6,
CUFF_TUX7,
CUFF_TUX8
} CUFF_TYPES;
typedef enum ITEM_IDS
{
ITEM_UNARMED = 0x0,
ITEM_FIST = 0x1,
ITEM_KNIFE = 0x2,
ITEM_THROWKNIFE = 0x3,
ITEM_WPPK = 0x4,
ITEM_WPPKSIL = 0x5,
ITEM_TT33 = 0x6,
ITEM_SKORPION = 0x7,
ITEM_AK47 = 0x8,
ITEM_UZI = 0x9,
ITEM_MP5K = 0xA,
ITEM_MP5KSIL = 0xB,
ITEM_SPECTRE = 0xC,
ITEM_M16 = 0xD,
ITEM_FNP90 = 0xE,
ITEM_SHOTGUN = 0xF,
ITEM_AUTOSHOT = 0x10,
ITEM_SNIPERRIFLE = 0x11,
ITEM_RUGER = 0x12,
ITEM_GOLDENGUN = 0x13,
ITEM_SILVERWPPK = 0x14,
ITEM_GOLDWPPK = 0x15,
ITEM_LASER = 0x16,
ITEM_WATCHLASER = 0x17,
ITEM_GRENADELAUNCH = 0x18,
ITEM_ROCKETLAUNCH = 0x19,
ITEM_GRENADE = 0x1A,
ITEM_TIMEDMINE = 0x1B,
ITEM_PROXIMITYMINE = 0x1C,
ITEM_REMOTEMINE = 0x1D,
ITEM_TRIGGER = 0x1E,
ITEM_TASER = 0x1F,
ITEM_TANKSHELLS = 0x20,
ITEM_BOMBCASE = 0x21,
ITEM_PLASTIQUE = 0x22,
ITEM_FLAREPISTOL = 0x23,
ITEM_PITONGUN = 0x24,
ITEM_BUNGEE = 0x25,
ITEM_DOORDECODER = 0x26,
ITEM_BOMBDEFUSER = 0x27,
ITEM_CAMERA = 0x28,
ITEM_LOCKEXPLODER = 0x29,
ITEM_DOOREXPLODER = 0x2A,
ITEM_BRIEFCASE = 0x2B,
ITEM_WEAPONCASE = 0x2C,
ITEM_SAFECRACKERCASE = 0x2D,
ITEM_KEYANALYSERCASE = 0x2E,
ITEM_BUG = 0x2F,
ITEM_MICROCAMERA = 0x30,
ITEM_BUGDETECTOR = 0x31,
ITEM_EXPLOSIVEFLOPPY = 0x32,
ITEM_POLARIZEDGLASSES = 0x33,
ITEM_DARKGLASSES = 0x34,
ITEM_CREDITCARD = 0x35,
ITEM_GASKEYRING = 0x36,
ITEM_DATATHIEF = 0x37,
ITEM_WATCHIDENTIFIER = 0x38,
ITEM_WATCHCOMMUNICATOR = 0x39,
ITEM_WATCHGEIGERCOUNTER = 0x3A,
ITEM_WATCHMAGNETREPEL = 0x3B,
ITEM_WATCHMAGNETATTRACT = 0x3C,
ITEM_GOLDENEYEKEY = 0x3D,
ITEM_BLACKBOX = 0x3E,
ITEM_CIRCUITBOARD = 0x3F,
ITEM_CLIPBOARD = 0x40,
ITEM_STAFFLIST = 0x41,
ITEM_DOSSIERRED = 0x42,
ITEM_PLANS = 0x43,
ITEM_SPYFILE = 0x44,
ITEM_BLUEPRINTS = 0x45,
ITEM_MAP = 0x46,
ITEM_AUDIOTAPE = 0x47,
ITEM_VIDEOTAPE = 0x48,
ITEM_DATTAPE = 0x49,
ITEM_SPOOLTAPE = 0x4A,
ITEM_MICROFILM = 0x4B,
ITEM_MICROCODE = 0x4C,
ITEM_LECTRE = 0x4D,
ITEM_MONEY = 0x4E,
ITEM_GOLDBAR = 0x4F,
ITEM_HEROIN = 0x50,
ITEM_KEYCARD = 0x51,
ITEM_KEYYALE = 0x52,
ITEM_KEYBOLT = 0x53,
ITEM_SUIT_LF_HAND = 0x54,
ITEM_JOYPAD = 0x55,
ITEM_56 = 0x56,
ITEM_57 = 0x57,
ITEM_TOKEN = 0x58
} ITEM_IDS;
typedef enum PROJECTILES
{
PROJECTILES_MAX = 0x2E,
PROJECTILES_TYPE_KNIFE = 0xBA,
PROJECTILES_TYPE_GRENADE = 0xC4,
PROJECTILES_TYPE_REMOTE_MINE = 0xC7,
PROJECTILES_TYPE_PROX_MINE = 0xC8,
PROJECTILES_TYPE_TIMED_MINE = 0xC9,
PROJECTILES_TYPE_ROCKET_ROUND = 0xCA,
PROJECTILES_TYPE_ROCKET_ROUND2 = 0xCA,
PROJECTILES_TYPE_GLAUNCH_ROUND = 0xCB,
PROJECTILES_TYPE_BOMBCASE = 0xE2,
PROJECTILES_TYPE_BUG = 0xF5,
PROJECTILES_TYPE_MICROCAMERA = 0xF6,
PROJECTILES_TYPE_GE_KEY = 0xF8,
PROJECTILES_TYPE_PLASTIQUE = 0x111
} PROJECTILES;
typedef enum AMMOTYPES {
AMMO_9MM=1,
AMMO_9MM_2=2,
AMMO_RIFLE=3,
AMMO_SHOTGUN=4,
AMMO_GRENADE=5,
AMMO_ROCKETS=6,
AMMO_REMOTEMINE=7,
AMMO_PROXMINE=8,
AMMO_TIMEDMINE=9,
AMMO_KNIFE=10,
AMMO_GRENADEROUND=11,
AMMO_MAGNUM=12,
AMMO_GGUN=13,
AMMO_DARTS=14,
AMMO_EXPLOSIVEPEN=15,
AMMO_BOMBCASE=16,
AMMO_FLARE=17,
AMMO_PITON=18,
AMMO_DYNAMITE=19,
AMMO_BUG=20,
AMMO_MICRO_CAMERA=21,
AMMO_GEKEY=22,
AMMO_PLASTIQUE=23,
AMMO_WATCH_LASER=24,
AMMO_WATCH_MAGNET=25,
AMMO_UNK=26,
AMMO_CAMERA=27,
AMMO_TANK=28,
AMMO_TOKEN=29
} AMMOTYPES;
typedef enum DOORSTATE
{
OPEN = 0x1,
CLOSED = 0x2
} DOORSTATE;
typedef enum SCREEN_SIZE
{
SCREEN_SIZE_320x240 = 0x0,
SCREEN_SIZE_440x330 = 0x1
} SCREEN_SIZE;
typedef enum COLORMODE
{
MODE_32BIT = 0x0,
MODE_16BIT = 0x1
} COLORMODE;
typedef enum CAMERAMODE {
INTRO_CAM=1,
FADESWIRL_CAM,
SWIRL_CAM,
FP_CAM,
UNK5_CAM,
UNK6_CAM,
POSEND_CAM,
FP_NOINPUT_CAM,
MP_CAM,
UNK10_CAM
} CAMERAMODE;
typedef enum guard_action_type {
None=0,
dying=4,
fade_away=5,
freeze=2,
freeze_anim=17,
gettingshot=6,
limping=7,
look_around=18,
moving=15,
run_roll_fire=10,
sidehop=12,
siderun=13,
sidestep=11,
standing=1,
standstill_fire=8,
surrendering=16,
swattingflies=3,
throw_grenade=20,
trigger_alarm=19,
walk_fire=9,
walk_path=14
} guard_action_type;
#include "bondaicommands.h" // game ai commands
#include "bondconstants.h" // game constants
#include "bondtypes.h" // game structs and types
#endif

195
src/bondtypes.h Normal file
View File

@ -0,0 +1,195 @@
#ifndef _BONDTYPES_H_
#define _BONDTYPES_H_
#include "ultra64.h"
struct rgba_val{
u8 r;
u8 g;
u8 b;
u8 a;
};
struct rgba_valf32{
f32 r;
f32 g;
f32 b;
f32 a;
};
typedef struct CHRdata CHRdata, *PCHRdata;
/* unfinished struct, WIP */
struct CHRdata {
u16 chrnum;
s8 accuracyrating;
s8 speedrating;
u8 firecountleft;
u8 firecountright;
s8 headnum;
s8 actiontype;
s8 sleep;
s8 invalidmove;
s8 numclosearghs;
s8 numarghs;
u8 fadealpha;
s8 arghrating;
s8 aimendcount;
s8 bodynum;
/* 0x0010 */
u8 grenadeprob;
s8 flinchcnt;
s16 hidden;
s32 chrflags;
void * pad;
void * model;
/* 0x0020 */
void * field_20;
f32 chrwidth;
f32 chrheight;
void * bondpos; /* HACK - reused as fadeout counter on death, checks if pointer at 7F02B774 */
/* 0x0030 */
int field_30;
short field_34;
char field_36;
char field_37;
char field_38;
char field_39;
char field_3A;
char field_3B;
int path_target_position;
/* 0x0040 */
int field_40;
int field_44;
int field_48;
int field_4C;
/* 0x0050 */
int field_50;
int field_54;
char type_of_motion;
char distance_counter_or_something;
short distance_to_target;
int field_5C;
/* 0x0060 */
int target_position;
int field_64;
int field_68;
int field_6C;
/* 0x0070 */
int path_segment_coverage;
int path_segment_length;
int field_78;
int field_7C;
/* 0x0080 */
int field_80;
int field_84;
int field_88;
int field_8C;
/* 0x0090 */
int field_90;
int segment_coverage;
int segment_length;
int field_9C;
/* 0x00A0 */
int field_A0;
f32 sumground;
f32 manground;
f32 ground;
/* 0x00B0 */
f32 fallspeed[3];
f32 prevpos[3];
/* 0x00B8 */
s32 lastwalk60;
s32 lastmoveok60;
/* 0x00D0 */
f32 visionrange;
s32 lastseetarget60;
f32 lastvisibletarg[3];
/* 0x00E4 */
void * field_E4;
s32 timeshooter;
f32 hearingscale;
/* 0x00F0 */
s32 lastheartarget60;
u8 shadecol[4];
u8 nextcol[4];
f32 damage;
/* 0x0100 */
f32 maxdamage;
void * ailist;
u16 aioffset;
u16 aireturnlist;
u8 flags; /* used by ai commands 81-85 */
u8 flags2; /* used by ai commands 86-8A */
u8 BITFIELD;
u8 random;
/* 0x0110 */
s32 timer60;
u16 padpreset1; /* ID PAD_PRESET */
u16 chrpreset1; /* ID CHR_PRESET */
u16 chrseeshot; /* ID CHR_SEE_SHOT - ignores invincible/armoured guards */
u16 chrseedie; /* ID CHR_SEE_DIE */
/* 0x011C */
f32 field_11C[2];
f32 field_124[2];
f32 field_12C[2];
/* 0x0134 */
int field_134;
int field_138;
f32 shotbondsum;
/* 0x0140 */
f32 aimuplshoulder;
f32 aimuprshoulder;
f32 aimupback;
f32 aimsideback;
/* 0x0150 */
f32 aimendlshoulder;
f32 aimendrshoulder;
f32 aimendback;
f32 aimendsideback;
/* 0x0160 */
int * handle_positiondata[2];
int * ptr_SEbuffer1;
int * ptr_SEbuffer2;
/* 0x0170 */
int * ptr_SEbuffer3;
int * ptr_SEbuffer4;
int field_178;
int field_17C;
/* 0x0180 */
char field_180;
char field_181;
char field_182;
char field_183;
int field_184;
int field_188;
int field_18C;
/* 0x0190 */
int field_190;
int field_194;
int field_198;
int field_19C;
/* 0x01A0 */
int field_1A0;
int field_1A4;
int field_1A8;
char field_1AC;
char field_1AD;
char field_1AE;
char field_1AF;
/* 0x01B0 */
int field_1B0;
int field_1B4;
int field_1B8;
int field_1BC;
/* 0x01C0 */
int field_1C0;
int field_1C4;
int field_1C8;
int field_1CC;
/* 0x01D0 */
int field_1D0;
int field_1D4;
int * handle_positiondata_hat;
};
#endif

View File

@ -3,6 +3,7 @@
#include "boss.h"
#include "bondgame.h"
#include "game/debugmenu_090490.h"
#include "game/room_model_buffer.h"
/**
* @file boss.c
@ -79,34 +80,36 @@ s32 taskgrab_ramdump_num = 1;
/* rodata */
const char aLevel_[] = "-level_";
const char aMl0Me0Mgfx100Mvtx50Mt700Ma400_1[] = " -ml0 -me0 -mgfx100 -mvtx50 -mt700 -ma400";
const char aM[] = "-m";
const char aM_1[] = "-m";
const char aLevel__0[] = "-level_";
const char aLevel__1[] = "-level_";
const char aHard[] = "-hard";
const char aHard_1[] = "-hard";
const char aHard_2[] = "-hard";
const char aMa[] = "-ma";
const char aMa_0[] = "-ma";
const char aU64_taskgrab_D_core[] = "u64.taskgrab.%d.core";
//const char aLevel_[] = "-level_";
//const char aMl0Me0Mgfx100Mvtx50Mt700Ma400_1[] = " -ml0 -me0 -mgfx100 -mvtx50 -mt700 -ma400";
//const char aM[] = "-m";
//const char aM_1[] = "-m";
//***moved to mainloop
//const char aLevel__0[] = "-level_";
//const char aLevel__1[] = "-level_";
//const char aHard[] = "-hard";
//const char aHard_1[] = "-hard";
//const char aHard_2[] = "-hard";
//const char aMa[] = "-ma";
//const char aMa_0[] = "-ma";
//const char aU64_taskgrab_D_core[] = "u64.taskgrab.%d.core";
/**
* 6930 70005D30
* ??? - uses "-level_", "-m" strings
*/
#ifdef NONMATCHING
#define OS_USEC_TO_CYCLES(n) (((u64)(n)*(osClockRate))/1000000LL)
void init_mainthread_data(void)
{
OSMesg sp9C;
OSTimer sp78;
OSMesgQueue sp60;
? temp_ret;
? temp_ret_2;
s32 temp_s0;
s32 phi_s0;
s32 phi_s0_2;
OSMesg bossmsg;
OSTimer bosstimer;
OSMesgQueue bossmq;
u32 temp_s0;
u32 unused;
s32 i;
add_debug_notice_deb_c_debug();
romCreateMesgQueue();
@ -123,31 +126,22 @@ void init_mainthread_data(void)
something_with_rsp_c_debug();
something_with_dyn_c_debug();
something_with_joy_c_debug();
osCreateMesgQueue(&sp60, &sp9C, 1);
phi_s0 = 0;
block_1:
temp_ret = __ll_mul(0, 0x186a0, osClockRate, osClockRate);
temp_ret_2 = ull_div(temp_ret, temp_ret, 0, 0xf4240);
osSetTimer(&sp78, temp_ret_2, temp_ret_2, 0, 0);
osRecvMesg(&sp60, &sp9C, 1);
if (phi_s0 == 1)
osCreateMesgQueue(&bossmq, &bossmsg, 1);
for (i = 0; i != 4; i++)
{
test_controller_presence();
phi_s0_2 = (phi_s0 + 1);
}
else
{
if (phi_s0 >= 2)
osSetTimer(&bosstimer, OS_USEC_TO_CYCLES(100000), 0, &bossmq, &bossmsg);
osRecvMesg(&bossmq, &bossmsg, 1);
if (i == 1)
{
test_controller_presence();
}
else if (i >= 2)
{
redirect_to_ramrom_replay_and_record_handlers_if_set();
}
phi_s0_2 = (phi_s0 + 1);
}
phi_s0 = phi_s0_2;
if (phi_s0_2 != 4)
{
goto block_1;
}
if (check_token(1, "-level_") == 0)
{
debug_and_update_stage_flag = 1;
@ -186,196 +180,6 @@ block_1:
sub_GAME_7F01D6E0();
clear_ramrom_block_buffer_heading_ptrs();
}
#else
GLOBAL_ASM(
.text
glabel init_mainthread_data
/* 006930 70005D30 27BDFF60 */ addiu $sp, $sp, -0xa0
/* 006934 70005D34 AFBF0034 */ sw $ra, 0x34($sp)
/* 006938 70005D38 AFB20030 */ sw $s2, 0x30($sp)
/* 00693C 70005D3C AFB1002C */ sw $s1, 0x2c($sp)
/* 006940 70005D40 0C00138B */ jal add_debug_notice_deb_c_debug
/* 006944 70005D44 AFB00028 */ sw $s0, 0x28($sp)
/* 006948 70005D48 0C0016D8 */ jal romCreateMesgQueue
/* 00694C 70005D4C 00000000 */ nop
/* 006950 70005D50 0C0005F8 */ jal establish_TLB_buffer_management_table
/* 006954 70005D54 00000000 */ nop
/* 006958 70005D58 0FC002F4 */ jal image_entries_load
/* 00695C 70005D5C 00000000 */ nop
/* 006960 70005D60 0C0024E0 */ jal something_with_memp_c_debug
/* 006964 70005D64 00000000 */ nop
/* 006968 70005D68 0C00275B */ jal something_with_mema_c_debug
/* 00696C 70005D6C 00000000 */ nop
/* 006970 70005D70 0FC2CDF0 */ jal something_with_bg_c_debug
/* 006974 70005D74 00000000 */ nop
/* 006978 70005D78 0C002B4E */ jal something_with_vi_c_debug
/* 00697C 70005D7C 00000000 */ nop
/* 006980 70005D80 0C000C18 */ jal init_video_settings
/* 006984 70005D84 00000000 */ nop
/* 006988 70005D88 0FC33FCC */ jal init_indy_if_not_ready
/* 00698C 70005D8C 00000000 */ nop
/* 006990 70005D90 0C0033AA */ jal rmon_debug_is_final_build
/* 006994 70005D94 00000000 */ nop
/* 006998 70005D98 3C018002 */ lui $at, %hi(debug_and_update_stage_flag) # $at, 0x8002
/* 00699C 70005D9C 0FC2F30A */ jal ob_c_debug_setup
/* 0069A0 70005DA0 AC2241A4 */ sw $v0, %lo(debug_and_update_stage_flag)($at)
/* 0069A4 70005DA4 0FC33F6C */ jal something_with_rsp_c_debug
/* 0069A8 70005DA8 00000000 */ nop
/* 0069AC 70005DAC 0FC2F518 */ jal something_with_dyn_c_debug
/* 0069B0 70005DB0 00000000 */ nop
/* 0069B4 70005DB4 0C002D58 */ jal something_with_joy_c_debug
/* 0069B8 70005DB8 00000000 */ nop
/* 0069BC 70005DBC 27B10060 */ addiu $s1, $sp, 0x60
/* 0069C0 70005DC0 27B2009C */ addiu $s2, $sp, 0x9c
/* 0069C4 70005DC4 02402825 */ move $a1, $s2
/* 0069C8 70005DC8 02202025 */ move $a0, $s1
/* 0069CC 70005DCC 0C0035B4 */ jal osCreateMesgQueue
/* 0069D0 70005DD0 24060001 */ li $a2, 1
/* 0069D4 70005DD4 00008025 */ move $s0, $zero
/* 0069D8 70005DD8 3C050001 */ lui $a1, (0x000186A0 >> 16) # lui $a1, 1
.L70005DDC:
/* 0069DC 70005DDC 3C068002 */ lui $a2, %hi(osClockRate) # $a2, 0x8002
/* 0069E0 70005DE0 3C078002 */ lui $a3, %hi(osClockRate+4) # $a3, 0x8002
/* 0069E4 70005DE4 8CE76984 */ lw $a3, %lo(osClockRate+4)($a3)
/* 0069E8 70005DE8 8CC66980 */ lw $a2, %lo(osClockRate)($a2)
/* 0069EC 70005DEC 34A586A0 */ ori $a1, (0x000186A0 & 0xFFFF) # ori $a1, $a1, 0x86a0
/* 0069F0 70005DF0 0C003B6A */ jal __ll_mul
/* 0069F4 70005DF4 24040000 */ li $a0, 0
/* 0069F8 70005DF8 3C07000F */ lui $a3, (0x000F4240 >> 16) # lui $a3, 0xf
/* 0069FC 70005DFC 34E74240 */ ori $a3, (0x000F4240 & 0xFFFF) # ori $a3, $a3, 0x4240
/* 006A00 70005E00 00402025 */ move $a0, $v0
/* 006A04 70005E04 00602825 */ move $a1, $v1
/* 006A08 70005E08 0C003B2A */ jal ull_div
/* 006A0C 70005E0C 24060000 */ li $a2, 0
/* 006A10 70005E10 240E0000 */ li $t6, 0
/* 006A14 70005E14 240F0000 */ li $t7, 0
/* 006A18 70005E18 AFAF0014 */ sw $t7, 0x14($sp)
/* 006A1C 70005E1C AFAE0010 */ sw $t6, 0x10($sp)
/* 006A20 70005E20 27A40078 */ addiu $a0, $sp, 0x78
/* 006A24 70005E24 00403025 */ move $a2, $v0
/* 006A28 70005E28 00603825 */ move $a3, $v1
/* 006A2C 70005E2C AFB10018 */ sw $s1, 0x18($sp)
/* 006A30 70005E30 0C004314 */ jal osSetTimer
/* 006A34 70005E34 AFB2001C */ sw $s2, 0x1c($sp)
/* 006A38 70005E38 02202025 */ move $a0, $s1
/* 006A3C 70005E3C 02402825 */ move $a1, $s2
/* 006A40 70005E40 0C003774 */ jal osRecvMesg
/* 006A44 70005E44 24060001 */ li $a2, 1
/* 006A48 70005E48 24010001 */ li $at, 1
/* 006A4C 70005E4C 56010006 */ bnel $s0, $at, .L70005E68
/* 006A50 70005E50 2A010002 */ slti $at, $s0, 2
/* 006A54 70005E54 0C002DAB */ jal test_controller_presence
/* 006A58 70005E58 00000000 */ nop
/* 006A5C 70005E5C 10000007 */ b .L70005E7C
/* 006A60 70005E60 26100001 */ addiu $s0, $s0, 1
/* 006A64 70005E64 2A010002 */ slti $at, $s0, 2
.L70005E68:
/* 006A68 70005E68 54200004 */ bnezl $at, .L70005E7C
/* 006A6C 70005E6C 26100001 */ addiu $s0, $s0, 1
/* 006A70 70005E70 0C002F43 */ jal redirect_to_ramrom_replay_and_record_handlers_if_set
/* 006A74 70005E74 00000000 */ nop
/* 006A78 70005E78 26100001 */ addiu $s0, $s0, 1
.L70005E7C:
/* 006A7C 70005E7C 24010004 */ li $at, 4
/* 006A80 70005E80 5601FFD6 */ bnel $s0, $at, .L70005DDC
/* 006A84 70005E84 3C050001 */ lui $a1, 1
/* 006A88 70005E88 3C058003 */ lui $a1, %hi(aLevel_) # $a1, 0x8003
/* 006A8C 70005E8C 24A590C0 */ addiu $a1, %lo(aLevel_) # addiu $a1, $a1, -0x6f40
/* 006A90 70005E90 0C0029A8 */ jal check_token
/* 006A94 70005E94 24040001 */ li $a0, 1
/* 006A98 70005E98 14400003 */ bnez $v0, .L70005EA8
/* 006A9C 70005E9C 24180001 */ li $t8, 1
/* 006AA0 70005EA0 3C018002 */ lui $at, %hi(debug_and_update_stage_flag) # $at, 0x8002
/* 006AA4 70005EA4 AC3841A4 */ sw $t8, %lo(debug_and_update_stage_flag)($at)
.L70005EA8:
/* 006AA8 70005EA8 0FC2BC03 */ jal something_stan_c_debug_related
/* 006AAC 70005EAC 00000000 */ nop
/* 006AB0 70005EB0 0FC34688 */ jal something_game_c_debug_related
/* 006AB4 70005EB4 00000000 */ nop
/* 006AB8 70005EB8 3C198002 */ lui $t9, %hi(debug_and_update_stage_flag) # $t9, 0x8002
/* 006ABC 70005EBC 8F3941A4 */ lw $t9, %lo(debug_and_update_stage_flag)($t9)
/* 006AC0 70005EC0 13200003 */ beqz $t9, .L70005ED0
/* 006AC4 70005EC4 3C048003 */ lui $a0, %hi(aMl0Me0Mgfx100Mvtx50Mt700Ma400_1) # $a0, 0x8003
/* 006AC8 70005EC8 0C002963 */ jal strtok
/* 006ACC 70005ECC 248490C8 */ addiu $a0, %lo(aMl0Me0Mgfx100Mvtx50Mt700Ma400_1) # addiu $a0, $a0, -0x6f38
.L70005ED0:
/* 006AD0 70005ED0 3C058003 */ lui $a1, %hi(aM) # $a1, 0x8003
/* 006AD4 70005ED4 24A590FC */ addiu $a1, %lo(aM) # addiu $a1, $a1, -0x6f04
/* 006AD8 70005ED8 0C0029A8 */ jal check_token
/* 006ADC 70005EDC 24040001 */ li $a0, 1
/* 006AE0 70005EE0 1040000B */ beqz $v0, .L70005F10
/* 006AE4 70005EE4 3C058003 */ lui $a1, %hi(aM_1) # $a1, 0x8003
/* 006AE8 70005EE8 24A59100 */ addiu $a1, %lo(aM_1) # addiu $a1, $a1, -0x6f00
/* 006AEC 70005EEC 0C0029A8 */ jal check_token
/* 006AF0 70005EF0 24040001 */ li $a0, 1
/* 006AF4 70005EF4 00402025 */ move $a0, $v0
/* 006AF8 70005EF8 00002825 */ move $a1, $zero
/* 006AFC 70005EFC 0C002A78 */ jal strtol
/* 006B00 70005F00 00003025 */ move $a2, $zero
/* 006B04 70005F04 00024280 */ sll $t0, $v0, 0xa
/* 006B08 70005F08 3C018002 */ lui $at, %hi(current_m_malloc_value) # $at, 0x8002
/* 006B0C 70005F0C AC2841AC */ sw $t0, %lo(current_m_malloc_value)($at)
.L70005F10:
/* 006B10 70005F10 3C048009 */ lui $a0, %hi(room_model_buffer) # $a0, 0x8009
/* 006B14 70005F14 0C003A2C */ jal osVirtualToPhysical
/* 006B18 70005F18 2484E360 */ addiu $a0, %lo(room_model_buffer) # addiu $a0, $a0, -0x1ca0
/* 006B1C 70005F1C 3C018000 */ lui $at, 0x8000
/* 006B20 70005F20 0C0006BE */ jal return_ptr_TLBallocatedblock
/* 006B24 70005F24 00418025 */ or $s0, $v0, $at
/* 006B28 70005F28 02002025 */ move $a0, $s0
/* 006B2C 70005F2C 0C0024EB */ jal check_memflag_tokens
/* 006B30 70005F30 00502823 */ subu $a1, $v0, $s0
/* 006B34 70005F34 0C002667 */ jal reset_mem_bank_a0
/* 006B38 70005F38 24040006 */ li $a0, 6
/* 006B3C 70005F3C 0FC305BB */ jal init_LnameX
/* 006B40 70005F40 00000000 */ nop
/* 006B44 70005F44 0FC2F642 */ jal something_with_lvl_c_debug
/* 006B48 70005F48 00000000 */ nop
/* 006B4C 70005F4C 0C001A70 */ jal something_with_boss_c_debug
/* 006B50 70005F50 00000000 */ nop
/* 006B54 70005F54 0FC2B2DC */ jal null_init_main
/* 006B58 70005F58 00000000 */ nop
/* 006B5C 70005F5C 0C002B6A */ jal null_init_main_0
/* 006B60 70005F60 00000000 */ nop
/* 006B64 70005F64 0FC268B8 */ jal default_player_perspective_and_height
/* 006B68 70005F68 00000000 */ nop
/* 006B6C 70005F6C 0FC3029C */ jal store_osgetcount
/* 006B70 70005F70 00000000 */ nop
/* 006B74 70005F74 0FC26DE8 */ jal null_init_main_1
/* 006B78 70005F78 00000000 */ nop
/* 006B7C 70005F7C 0C0009CC */ jal displaylist_related
/* 006B80 70005F80 00000000 */ nop
/* 006B84 70005F84 0FC002E0 */ jal set_gu_scale
/* 006B88 70005F88 00000000 */ nop
/* 006B8C 70005F8C 0FC002F0 */ jal null_init_main_2
/* 006B90 70005F90 00000000 */ nop
/* 006B94 70005F94 0FC00260 */ jal sub_GAME_7F000980
/* 006B98 70005F98 00000000 */ nop
/* 006B9C 70005F9C 0FC002AB */ jal alloc_load_expand_ani_table
/* 006BA0 70005FA0 00000000 */ nop
/* 006BA4 70005FA4 0FC00038 */ jal init_weapon_animation_groups_maybe
/* 006BA8 70005FA8 00000000 */ nop
/* 006BAC 70005FAC 0FC00044 */ jal reset_counter_rand_body_head
/* 006BB0 70005FB0 00000000 */ nop
/* 006BB4 70005FB4 0FC00274 */ jal null_init_main_3
/* 006BB8 70005FB8 00000000 */ nop
/* 006BBC 70005FBC 0FC002D8 */ jal sub_GAME_7F000B60
/* 006BC0 70005FC0 00000000 */ nop
/* 006BC4 70005FC4 0FC00000 */ jal initGameData
/* 006BC8 70005FC8 00000000 */ nop
/* 006BCC 70005FCC 0FC075B8 */ jal sub_GAME_7F01D6E0
/* 006BD0 70005FD0 00000000 */ nop
/* 006BD4 70005FD4 0FC2FF1C */ jal clear_ramrom_block_buffer_heading_ptrs
/* 006BD8 70005FD8 00000000 */ nop
/* 006BDC 70005FDC 8FBF0034 */ lw $ra, 0x34($sp)
/* 006BE0 70005FE0 8FB00028 */ lw $s0, 0x28($sp)
/* 006BE4 70005FE4 8FB1002C */ lw $s1, 0x2c($sp)
/* 006BE8 70005FE8 8FB20030 */ lw $s2, 0x30($sp)
/* 006BEC 70005FEC 03E00008 */ jr $ra
/* 006BF0 70005FF0 27BD00A0 */ addiu $sp, $sp, 0xa0
)
#endif
/**
* 6BF4 70005FF4
@ -685,8 +489,8 @@ loop_29:
{
loop_44:
set_cur_player(sub_GAME_7F09B528(phi_s1_2));
set_video2_width_height(ptr_BONDdata->unk7F0, ptr_BONDdata->unk7F2);
set_video2_ulx_uly(ptr_BONDdata->playerscreenulx, ptr_BONDdata->playerscreenuly);
set_video2_width_height(pPlayer->unk7F0, pPlayer->unk7F2);
set_video2_ulx_uly(pPlayer->viewleft, pPlayer->viewtop);
sub_GAME_7F0BF800();
temp_s1 = phi_s1_2 + 1;
phi_s1_2 = temp_s1;
@ -698,18 +502,21 @@ loop_44:
}
temp_s3 = sub_GAME_7F0BE30C(temp_ret_2);
phi_s3 = temp_s3;
if (get_linemode_flag() != 0)
{
if (get_debug_VisCVG_flag() != 0)
{ // Lets Visualise the Coverage Value used for Scilohete Anti-Ailising (edges) (done on the VI), also produces a cool looking linemode - providing AA is working.
temp_v0_3 = temp_s3;
// glistp = glist //make pointer to gfx list
temp_s3 = temp_s3 + 8;
temp_v1_3 = temp_s3;
temp_v1_3 = temp_s3; //increment pointer by SizeOf(gfx)
temp_v0_3->unk0 = 0xe7000000;
temp_v0_3->unk4 = 0;
//gDPPipesync(glistp++);
temp_s3 = temp_s3 + 8;
temp_a0 = temp_s3;
temp_s3 = temp_s3 + 8;
temp_v1_3->unk0 = 0xba001402;
temp_v1_3->unk4 = 0;
//gDPSetCycleType(glistp++, 2CYCLE);
temp_a1 = temp_s3;
temp_s3 = temp_s3 + 8;
temp_a0->unk0 = 0xf9000000;
@ -722,9 +529,18 @@ loop_44:
temp_s3 = temp_s3 + 8;
temp_a2->unk4 = 4;
temp_a2->unk0 = 0xb9000201;
//gDPSetAlphaCompare(glistp++);
temp_s0_3 = temp_s3;
temp_v0_4->unk0 = 0xb900031d;
temp_v0_4->unk4 = 0xfa54040;
//gDPSetRenderMode(glistp++, );
//above would most likly look like
//glistp = glist;
//gDPPipesync(glistp++);
//gDPSetCycleType(glistp++, 2CYCLE);
// ...etc
temp_s0_3->unk0 = (s32) (((((get_video2_settings_txtClipH() + -1) & 0x3ff) * 4) | 0xf6000000) | (((((s32) (get_video2_settings_txtClipW(temp_a0, temp_a1, temp_a2, -1) << 0x10) >> 0x10) + -1) & 0x3ff) << 0xe));
temp_s0_3->unk4 = 0;
phi_s3 = temp_s3 + 8;
@ -815,6 +631,25 @@ loop_58:
}
#else
GLOBAL_ASM(
.rdata
glabel aLevel__0
.word 0x2d6c6576, 0x656c5f00 /*"-level_"*/
glabel aLevel__1
.word 0x2d6c6576, 0x656c5f00 /*"-level_"*/
glabel aHard
.word 0x2d686172, 0x64000000 /*"-hard"*/
glabel aHard_1
.word 0x2d686172, 0x64000000 /*"-hard"*/
glabel aHard_2
.word 0x2d686172, 0x64000000 /*"-hard"*/
glabel aMa
.word 0x2d6d6100 /*"-ma"*/
glabel aMa_0
.word 0x2d6d6100 /*"-ma"*/
glabel aU64_taskgrab_D_core
.word 0x7536342e, 0x7461736b, 0x67726162, 0x2e25642e, 0x636f7265, 0x00000000 /*"u64.taskgrab.%d.core"*/
.text
glabel mainloop
/* 006C60 70006060 27BDFE20 */ addiu $sp, $sp, -0x1e0
@ -830,18 +665,18 @@ glabel mainloop
/* 006C88 70006088 AFB00018 */ sw $s0, 0x18($sp)
/* 006C8C 7000608C 0FC34693 */ jal reset_mem_bank_5
/* 006C90 70006090 AFA001DC */ sw $zero, 0x1dc($sp)
/* 006C94 70006094 3C058003 */ lui $a1, %hi(aLevel__0) # $a1, 0x8003
/* 006C94 70006094 3C058003 */ lui $a1, %hi(aLevel__0)
/* 006C98 70006098 24A59104 */ addiu $a1, %lo(aLevel__0) # addiu $a1, $a1, -0x6efc
/* 006C9C 7000609C 0C0029A8 */ jal check_token
/* 006CA0 700060A0 24040001 */ li $a0, 1
/* 006CA4 700060A4 1040000D */ beqz $v0, .L700060DC
/* 006CA8 700060A8 24040001 */ li $a0, 1
/* 006CAC 700060AC 3C058003 */ lui $a1, %hi(aLevel__1) # $a1, 0x8003
/* 006CAC 700060AC 3C058003 */ lui $a1, %hi(aLevel__1)
/* 006CB0 700060B0 0C0029A8 */ jal check_token
/* 006CB4 700060B4 24A5910C */ addiu $a1, %lo(aLevel__1) # addiu $a1, $a1, -0x6ef4
/* 006CB8 700060B8 904F0000 */ lbu $t7, ($v0)
/* 006CBC 700060BC 904E0001 */ lbu $t6, 1($v0)
/* 006CC0 700060C0 3C018002 */ lui $at, %hi(current_stage_num) # $at, 0x8002
/* 006CC0 700060C0 3C018002 */ lui $at, %hi(current_stage_num)
/* 006CC4 700060C4 000FC080 */ sll $t8, $t7, 2
/* 006CC8 700060C8 030FC021 */ addu $t8, $t8, $t7
/* 006CCC 700060CC 0018C040 */ sll $t8, $t8, 1
@ -849,7 +684,7 @@ glabel mainloop
/* 006CD4 700060D4 2728FDF0 */ addiu $t0, $t9, -0x210
/* 006CD8 700060D8 AC2841A8 */ sw $t0, %lo(current_stage_num)($at)
.L700060DC:
/* 006CDC 700060DC 3C098002 */ lui $t1, %hi(current_stage_num) # $t1, 0x8002
/* 006CDC 700060DC 3C098002 */ lui $t1, %hi(current_stage_num)
/* 006CE0 700060E0 8D2941A8 */ lw $t1, %lo(current_stage_num)($t1)
/* 006CE4 700060E4 2401005A */ li $at, 90
/* 006CE8 700060E8 1121001D */ beq $t1, $at, .L70006160
@ -860,22 +695,22 @@ glabel mainloop
/* 006CFC 700060FC 00002025 */ move $a0, $zero
/* 006D00 70006100 0FC07567 */ jal set_selected_difficulty
/* 006D04 70006104 00002025 */ move $a0, $zero
/* 006D08 70006108 3C048002 */ lui $a0, %hi(current_stage_num) # $a0, 0x8002
/* 006D08 70006108 3C048002 */ lui $a0, %hi(current_stage_num)
/* 006D0C 7000610C 0FC0757B */ jal set_solo_and_ptr_briefing
/* 006D10 70006110 8C8441A8 */ lw $a0, %lo(current_stage_num)($a0)
/* 006D14 70006114 3C058003 */ lui $a1, %hi(aHard) # $a1, 0x8003
/* 006D14 70006114 3C058003 */ lui $a1, %hi(aHard)
/* 006D18 70006118 24A59114 */ addiu $a1, %lo(aHard) # addiu $a1, $a1, -0x6eec
/* 006D1C 7000611C 0C0029A8 */ jal check_token
/* 006D20 70006120 24040001 */ li $a0, 1
/* 006D24 70006124 1040000E */ beqz $v0, .L70006160
/* 006D28 70006128 24040001 */ li $a0, 1
/* 006D2C 7000612C 3C058003 */ lui $a1, %hi(aHard_1) # $a1, 0x8003
/* 006D2C 7000612C 3C058003 */ lui $a1, %hi(aHard_1)
/* 006D30 70006130 0C0029A8 */ jal check_token
/* 006D34 70006134 24A5911C */ addiu $a1, %lo(aHard_1) # addiu $a1, $a1, -0x6ee4
/* 006D38 70006138 90440000 */ lbu $a0, ($v0)
/* 006D3C 7000613C 0FC07567 */ jal set_selected_difficulty
/* 006D40 70006140 2484FFD0 */ addiu $a0, $a0, -0x30
/* 006D44 70006144 3C058003 */ lui $a1, %hi(aHard_2) # $a1, 0x8003
/* 006D44 70006144 3C058003 */ lui $a1, %hi(aHard_2)
/* 006D48 70006148 24A59124 */ addiu $a1, %lo(aHard_2) # addiu $a1, $a1, -0x6edc
/* 006D4C 7000614C 0C0029A8 */ jal check_token
/* 006D50 70006150 24040001 */ li $a0, 1
@ -887,15 +722,15 @@ glabel mainloop
/* 006D64 70006164 00000000 */ nop
/* 006D68 70006168 0C002926 */ jal increment_random_num
/* 006D6C 7000616C 00402025 */ move $a0, $v0
/* 006D70 70006170 3C168003 */ lui $s6, %hi(aU64_taskgrab_D_core) # $s6, 0x8003
/* 006D74 70006174 3C158008 */ lui $s5, %hi(ptr_BONDdata) # $s5, 0x8008
/* 006D78 70006178 26B5A0B0 */ addiu $s5, %lo(ptr_BONDdata) # addiu $s5, $s5, -0x5f50
/* 006D70 70006170 3C168003 */ lui $s6, %hi(aU64_taskgrab_D_core)
/* 006D74 70006174 3C158008 */ lui $s5, %hi(pPlayer)
/* 006D78 70006178 26B5A0B0 */ addiu $s5, %lo(pPlayer) # addiu $s5, $s5, -0x5f50
/* 006D7C 7000617C 26D69134 */ addiu $s6, %lo(aU64_taskgrab_D_core) # addiu $s6, $s6, -0x6ecc
/* 006D80 70006180 27B70058 */ addiu $s7, $sp, 0x58
/* 006D84 70006184 27B4005C */ addiu $s4, $sp, 0x5c
/* 006D88 70006188 8FB301A8 */ lw $s3, 0x1a8($sp)
.L7000618C:
/* 006D8C 7000618C 3C0B8002 */ lui $t3, %hi(D_80024304) # $t3, 0x8002
/* 006D8C 7000618C 3C0B8002 */ lui $t3, %hi(D_80024304)
/* 006D90 70006190 AFA001D4 */ sw $zero, 0x1d4($sp)
/* 006D94 70006194 256B4304 */ addiu $t3, %lo(D_80024304) # addiu $t3, $t3, 0x4304
/* 006D98 70006198 8D610000 */ lw $at, ($t3)
@ -919,13 +754,13 @@ glabel mainloop
/* 006DE0 700061E0 AD410018 */ sw $at, 0x18($t2)
/* 006DE4 700061E4 0FC2FF04 */ jal get_current_difficulty
/* 006DE8 700061E8 AFA001AC */ sw $zero, 0x1ac($sp)
/* 006DEC 700061EC 3C048002 */ lui $a0, %hi(current_stage_num) # $a0, 0x8002
/* 006DEC 700061EC 3C048002 */ lui $a0, %hi(current_stage_num)
/* 006DF0 700061F0 8C8441A8 */ lw $a0, %lo(current_stage_num)($a0)
/* 006DF4 700061F4 0FC30190 */ jal test_if_recording_demos_this_stage_load
/* 006DF8 700061F8 00402825 */ move $a1, $v0
/* 006DFC 700061FC 3C0E8002 */ lui $t6, %hi(debug_and_update_stage_flag) # $t6, 0x8002
/* 006DFC 700061FC 3C0E8002 */ lui $t6, %hi(debug_and_update_stage_flag)
/* 006E00 70006200 8DCE41A4 */ lw $t6, %lo(debug_and_update_stage_flag)($t6)
/* 006E04 70006204 3C188002 */ lui $t8, %hi(current_stage_num) # $t8, 0x8002
/* 006E04 70006204 3C188002 */ lui $t8, %hi(current_stage_num)
/* 006E08 70006208 11C00038 */ beqz $t6, .L700062EC
/* 006E0C 7000620C 00000000 */ nop
/* 006E10 70006210 8F1841A8 */ lw $t8, %lo(current_stage_num)($t8)
@ -937,11 +772,11 @@ glabel mainloop
/* 006E28 70006228 00000000 */ nop
/* 006E2C 7000622C 28410002 */ slti $at, $v0, 2
/* 006E30 70006230 14200018 */ bnez $at, .L70006294
/* 006E34 70006234 3C058002 */ lui $a1, %hi(memallocstringtable) # $a1, 0x8002
/* 006E34 70006234 3C058002 */ lui $a1, %hi(memallocstringtable)
/* 006E38 70006238 24A541BC */ addiu $a1, %lo(memallocstringtable) # addiu $a1, $a1, 0x41bc
/* 006E3C 7000623C 8CB90000 */ lw $t9, ($a1)
/* 006E40 70006240 00008025 */ move $s0, $zero
/* 006E44 70006244 3C048002 */ lui $a0, %hi(current_stage_num) # $a0, 0x8002
/* 006E44 70006244 3C048002 */ lui $a0, %hi(current_stage_num)
/* 006E48 70006248 1320000C */ beqz $t9, .L7000627C
/* 006E4C 7000624C 3C088002 */ lui $t0, %hi(memallocstringtable)
/* 006E50 70006250 8C8441A8 */ lw $a0, %lo(current_stage_num)($a0)
@ -965,12 +800,12 @@ glabel mainloop
/* 006E8C 7000628C 00000000 */ nop
/* 006E90 70006290 2410FFFF */ li $s0, -1
.L70006294:
/* 006E94 70006294 3C058002 */ lui $a1, %hi(memallocstringtable) # $a1, 0x8002
/* 006E94 70006294 3C058002 */ lui $a1, %hi(memallocstringtable)
/* 006E98 70006298 06010010 */ bgez $s0, .L700062DC
/* 006E9C 7000629C 24A541BC */ addiu $a1, %lo(memallocstringtable) # addiu $a1, $a1, 0x41bc
/* 006EA0 700062A0 8CAA0000 */ lw $t2, ($a1)
/* 006EA4 700062A4 00008025 */ move $s0, $zero
/* 006EA8 700062A8 3C048002 */ lui $a0, %hi(current_stage_num) # $a0, 0x8002
/* 006EA8 700062A8 3C048002 */ lui $a0, %hi(current_stage_num)
/* 006EAC 700062AC 1140000B */ beqz $t2, .L700062DC
/* 006EB0 700062B0 3C0B8002 */ lui $t3, %hi(memallocstringtable)
/* 006EB4 700062B4 256241BC */ addiu $v0, $t3, %lo(memallocstringtable)
@ -995,13 +830,13 @@ glabel mainloop
/* 006EF0 700062F0 24040004 */ li $a0, 4
/* 006EF4 700062F4 0FC2F46F */ jal something_mem_bank_a0
/* 006EF8 700062F8 24040004 */ li $a0, 4
/* 006EFC 700062FC 3C058003 */ lui $a1, %hi(aMa) # $a1, 0x8003
/* 006EFC 700062FC 3C058003 */ lui $a1, %hi(aMa)
/* 006F00 70006300 24A5912C */ addiu $a1, %lo(aMa) # addiu $a1, $a1, -0x6ed4
/* 006F04 70006304 0C0029A8 */ jal check_token
/* 006F08 70006308 24040001 */ li $a0, 1
/* 006F0C 7000630C 1040000B */ beqz $v0, .L7000633C
/* 006F10 70006310 24040001 */ li $a0, 1
/* 006F14 70006314 3C058003 */ lui $a1, %hi(aMa_0) # $a1, 0x8003
/* 006F14 70006314 3C058003 */ lui $a1, %hi(aMa_0)
/* 006F18 70006318 0C0029A8 */ jal check_token
/* 006F1C 7000631C 24A59130 */ addiu $a1, %lo(aMa_0) # addiu $a1, $a1, -0x6ed0
/* 006F20 70006320 00402025 */ move $a0, $v0
@ -1009,20 +844,20 @@ glabel mainloop
/* 006F28 70006328 0C002A78 */ jal strtol
/* 006F2C 7000632C 00003025 */ move $a2, $zero
/* 006F30 70006330 0002C280 */ sll $t8, $v0, 0xa
/* 006F34 70006334 3C018002 */ lui $at, %hi(current_ma_malloc_value) # $at, 0x8002
/* 006F34 70006334 3C018002 */ lui $at, %hi(current_ma_malloc_value)
/* 006F38 70006338 AC3841B0 */ sw $t8, %lo(current_ma_malloc_value)($at)
.L7000633C:
/* 006F3C 7000633C 3C048002 */ lui $a0, %hi(current_ma_malloc_value) # $a0, 0x8002
/* 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
/* 006F48 70006348 24050004 */ li $a1, 4
/* 006F4C 7000634C 3C058002 */ lui $a1, %hi(current_ma_malloc_value) # $a1, 0x8002
/* 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
/* 006F58 70006358 00402025 */ move $a0, $v0
/* 006F5C 7000635C 0FC268CB */ jal reset_play_data_ptrs
/* 006F60 70006360 00000000 */ nop
/* 006F64 70006364 3C198002 */ lui $t9, %hi(current_stage_num) # $t9, 0x8002
/* 006F64 70006364 3C198002 */ lui $t9, %hi(current_stage_num)
/* 006F68 70006368 8F3941A8 */ lw $t9, %lo(current_stage_num)($t9)
/* 006F6C 7000636C 2401005A */ li $at, 90
/* 006F70 70006370 13210009 */ beq $t9, $at, .L70006398
@ -1042,7 +877,7 @@ glabel mainloop
/* 006FA4 700063A4 00000000 */ nop
/* 006FA8 700063A8 0C002DAB */ jal test_controller_presence
/* 006FAC 700063AC 00000000 */ nop
/* 006FB0 700063B0 3C048002 */ lui $a0, %hi(current_stage_num) # $a0, 0x8002
/* 006FB0 700063B0 3C048002 */ lui $a0, %hi(current_stage_num)
/* 006FB4 700063B4 0FC2F6AC */ jal stage_load
/* 006FB8 700063B8 8C8441A8 */ lw $a0, %lo(current_stage_num)($a0)
/* 006FBC 700063BC 0C000C49 */ jal init_both_video_buffers
@ -1053,14 +888,14 @@ glabel mainloop
/* 006FD0 700063D0 00000000 */ nop
/* 006FD4 700063D4 0C000A04 */ jal video_related_2
/* 006FD8 700063D8 00000000 */ nop
/* 006FDC 700063DC 3C048006 */ lui $a0, %hi(gfxFrameMsgQ) # $a0, 0x8006
/* 006FDC 700063DC 3C048006 */ lui $a0, %hi(gfxFrameMsgQ)
/* 006FE0 700063E0 2484D9A0 */ addiu $a0, %lo(gfxFrameMsgQ) # addiu $a0, $a0, -0x2660
/* 006FE4 700063E4 27A501D4 */ addiu $a1, $sp, 0x1d4
/* 006FE8 700063E8 0C003774 */ jal osRecvMesg
/* 006FEC 700063EC 00003025 */ move $a2, $zero
/* 006FF0 700063F0 14400007 */ bnez $v0, .L70006410
.L700063F4:
/* 006FF4 700063F4 3C048006 */ lui $a0, %hi(gfxFrameMsgQ) # $a0, 0x8006
/* 006FF4 700063F4 3C048006 */ lui $a0, %hi(gfxFrameMsgQ)
/* 006FF8 700063F8 2484D9A0 */ addiu $a0, %lo(gfxFrameMsgQ) # addiu $a0, $a0, -0x2660
/* 006FFC 700063FC 27A501D4 */ addiu $a1, $sp, 0x1d4
/* 007000 70006400 0C003774 */ jal osRecvMesg
@ -1068,11 +903,11 @@ glabel mainloop
/* 007008 70006408 1040FFFA */ beqz $v0, .L700063F4
/* 00700C 7000640C 00000000 */ nop
.L70006410:
/* 007010 70006410 3C088002 */ lui $t0, %hi(loadedstage) # $t0, 0x8002
/* 007010 70006410 3C088002 */ lui $t0, %hi(loadedstage)
/* 007014 70006414 8D0842FC */ lw $t0, %lo(loadedstage)($t0)
/* 007018 70006418 05010126 */ bgez $t0, .L700068B4
.L7000641C:
/* 00701C 7000641C 3C048006 */ lui $a0, %hi(gfxFrameMsgQ) # $a0, 0x8006
/* 00701C 7000641C 3C048006 */ lui $a0, %hi(gfxFrameMsgQ)
/* 007020 70006420 2484D9A0 */ addiu $a0, %lo(gfxFrameMsgQ) # addiu $a0, $a0, -0x2660
/* 007024 70006424 27A501D4 */ addiu $a1, $sp, 0x1d4
/* 007028 70006428 0C003774 */ jal osRecvMesg
@ -1087,13 +922,13 @@ glabel mainloop
/* 00704C 7000644C 24010005 */ li $at, 5
/* 007050 70006450 10610112 */ beq $v1, $at, .L7000689C
/* 007054 70006454 3C028002 */ lui $v0, %hi(loadedstage)
/* 007058 70006458 3C028002 */ lui $v0, %hi(loadedstage) # $v0, 0x8002
/* 007058 70006458 3C028002 */ lui $v0, %hi(loadedstage)
/* 00705C 7000645C 10000111 */ b .L700068A4
/* 007060 70006460 8C4242FC */ lw $v0, %lo(loadedstage)($v0)
.L70006464:
/* 007064 70006464 0C003638 */ jal osGetCount
/* 007068 70006468 00000000 */ nop
/* 00706C 7000646C 3C0D8005 */ lui $t5, %hi(copy_of_osgetcount_value_1) # $t5, 0x8005
/* 00706C 7000646C 3C0D8005 */ lui $t5, %hi(copy_of_osgetcount_value_1)
/* 007070 70006470 8DAD84B0 */ lw $t5, %lo(copy_of_osgetcount_value_1)($t5)
/* 007074 70006474 3C010005 */ lui $at, (0x0005EB61 >> 16) # lui $at, 5
/* 007078 70006478 3421EB61 */ ori $at, (0x0005EB61 & 0xFFFF) # ori $at, $at, 0xeb61
@ -1101,7 +936,7 @@ glabel mainloop
/* 007080 70006480 0061082B */ sltu $at, $v1, $at
/* 007084 70006484 10200004 */ beqz $at, .L70006498
/* 007088 70006488 3C028002 */ lui $v0, %hi(loadedstage)
/* 00708C 7000648C 3C028002 */ lui $v0, %hi(loadedstage) # $v0, 0x8002
/* 00708C 7000648C 3C028002 */ lui $v0, %hi(loadedstage)
/* 007090 70006490 10000104 */ b .L700068A4
/* 007094 70006494 8C4242FC */ lw $v0, %lo(loadedstage)($v0)
.L70006498:
@ -1135,7 +970,7 @@ glabel mainloop
/* 0070FC 700064FC 00002025 */ move $a0, $zero
/* 007100 70006500 0FC2F59D */ jal get_ptr_displaylist
/* 007104 70006504 00000000 */ nop
/* 007108 70006508 3C0A8002 */ lui $t2, %hi(debug_feature_flag) # $t2, 0x8002
/* 007108 70006508 3C0A8002 */ lui $t2, %hi(debug_feature_flag)
/* 00710C 7000650C 8D4A4300 */ lw $t2, %lo(debug_feature_flag)($t2)
/* 007110 70006510 AFA201A4 */ sw $v0, 0x1a4($sp)
/* 007114 70006514 00409825 */ move $s3, $v0
@ -1167,14 +1002,14 @@ glabel mainloop
/* 00717C 7000657C 3246FFFF */ andi $a2, $s2, 0xffff
/* 007180 70006580 0FC24168 */ jal debug_menu_processor
/* 007184 70006584 3047FFFF */ andi $a3, $v0, 0xffff
/* 007188 70006588 3C018002 */ lui $at, %hi(debug_feature_flag) # $at, 0x8002
/* 007188 70006588 3C018002 */ lui $at, %hi(debug_feature_flag)
/* 00718C 7000658C AC224300 */ sw $v0, %lo(debug_feature_flag)($at)
.L70006590:
/* 007190 70006590 0FC2FAE2 */ jal manage_mp_game
/* 007194 70006594 00000000 */ nop
/* 007198 70006598 0FC26D07 */ jal sub_GAME_7F09B41C
/* 00719C 7000659C 00000000 */ nop
/* 0071A0 700065A0 3C198002 */ lui $t9, %hi(current_stage_num) # $t9, 0x8002
/* 0071A0 700065A0 3C198002 */ lui $t9, %hi(current_stage_num)
/* 0071A4 700065A4 8F3941A8 */ lw $t9, %lo(current_stage_num)($t9)
/* 0071A8 700065A8 2401005A */ li $at, 90
/* 0071AC 700065AC 13210018 */ beq $t9, $at, .L70006610
@ -1206,7 +1041,7 @@ glabel mainloop
.L70006610:
/* 007210 70006610 0FC2F8C3 */ jal sub_GAME_7F0BE30C
/* 007214 70006614 02602025 */ move $a0, $s3
/* 007218 70006618 0FC243F7 */ jal get_linemode_flag
/* 007218 70006618 0FC243F7 */ jal get_debug_VisCVG_flag
/* 00721C 7000661C 00409825 */ move $s3, $v0
/* 007220 70006620 10400037 */ beqz $v0, .L70006700
/* 007224 70006624 2407FFFF */ li $a3, -1
@ -1275,7 +1110,7 @@ glabel mainloop
/* 00731C 7000671C 02602025 */ move $a0, $s3
/* 007320 70006720 00409825 */ move $s3, $v0
.L70006724:
/* 007324 70006724 3C0E8002 */ lui $t6, %hi(debug_feature_flag) # $t6, 0x8002
/* 007324 70006724 3C0E8002 */ lui $t6, %hi(debug_feature_flag)
/* 007328 70006728 8DCE4300 */ lw $t6, %lo(debug_feature_flag)($t6)
/* 00732C 7000672C 51C00007 */ beql $t6, $zero, .L7000674C
/* 007330 70006730 02601025 */ move $v0, $s3
@ -1294,7 +1129,7 @@ glabel mainloop
/* 007360 70006760 3C19B800 */ lui $t9, 0xb800
/* 007364 70006764 AC790000 */ sw $t9, ($v1)
/* 007368 70006768 AC600004 */ sw $zero, 4($v1)
/* 00736C 7000676C 3C088002 */ lui $t0, %hi(show_mem_use_flag) # $t0, 0x8002
/* 00736C 7000676C 3C088002 */ lui $t0, %hi(show_mem_use_flag)
/* 007370 70006770 8D0841B4 */ lw $t0, %lo(show_mem_use_flag)($t0)
/* 007374 70006774 26730008 */ addiu $s3, $s3, 8
/* 007378 70006778 1100000B */ beqz $t0, .L700067A8
@ -1307,10 +1142,10 @@ glabel mainloop
/* 007394 70006794 02602025 */ move $a0, $s3
/* 007398 70006798 0FC31994 */ jal nullsub_41
/* 00739C 7000679C 00002025 */ move $a0, $zero
/* 0073A0 700067A0 3C018002 */ lui $at, %hi(show_mem_use_flag) # $at, 0x8002
/* 0073A0 700067A0 3C018002 */ lui $at, %hi(show_mem_use_flag)
/* 0073A4 700067A4 AC2041B4 */ sw $zero, %lo(show_mem_use_flag)($at)
.L700067A8:
/* 0073A8 700067A8 3C098002 */ lui $t1, %hi(show_mem_bars_flag) # $t1, 0x8002
/* 0073A8 700067A8 3C098002 */ lui $t1, %hi(show_mem_bars_flag)
/* 0073AC 700067AC 8D2941B8 */ lw $t1, %lo(show_mem_bars_flag)($t1)
/* 0073B0 700067B0 11200003 */ beqz $t1, .L700067C0
/* 0073B4 700067B4 00000000 */ nop
@ -1336,7 +1171,7 @@ glabel mainloop
/* 007400 70006800 3401C000 */ li $at, 49152
/* 007404 70006804 14410013 */ bne $v0, $at, .L70006854
.L70006808:
/* 007408 70006808 3C068002 */ lui $a2, %hi(taskgrab_ramdump_num) # $a2, 0x8002
/* 007408 70006808 3C068002 */ lui $a2, %hi(taskgrab_ramdump_num)
/* 00740C 7000680C 8CC64324 */ lw $a2, %lo(taskgrab_ramdump_num)($a2)
/* 007410 70006810 02802025 */ move $a0, $s4
/* 007414 70006814 0C002B25 */ jal sprintf
@ -1345,9 +1180,9 @@ glabel mainloop
/* 007420 70006820 0FC34026 */ jal check_file_found_on_indy
/* 007424 70006824 02E02825 */ move $a1, $s7
/* 007428 70006828 10400006 */ beqz $v0, .L70006844
/* 00742C 7000682C 3C068002 */ lui $a2, %hi(taskgrab_ramdump_num) # $a2, 0x8002
/* 00742C 7000682C 3C068002 */ lui $a2, %hi(taskgrab_ramdump_num)
/* 007430 70006830 8CC64324 */ lw $a2, %lo(taskgrab_ramdump_num)($a2)
/* 007434 70006834 3C018002 */ lui $at, %hi(taskgrab_ramdump_num) # $at, 0x8002
/* 007434 70006834 3C018002 */ lui $at, %hi(taskgrab_ramdump_num)
/* 007438 70006838 24C60001 */ addiu $a2, $a2, 1
/* 00743C 7000683C 1000FFF2 */ b .L70006808
/* 007440 70006840 AC264324 */ sw $a2, %lo(taskgrab_ramdump_num)($at)
@ -1369,7 +1204,7 @@ glabel mainloop
/* 007478 70006878 398A0001 */ xori $t2, $t4, 1
/* 00747C 7000687C 0C000A15 */ jal video_related_3
/* 007480 70006880 AFAA01AC */ sw $t2, 0x1ac($sp)
/* 007484 70006884 3C028002 */ lui $v0, %hi(loadedstage) # $v0, 0x8002
/* 007484 70006884 3C028002 */ lui $v0, %hi(loadedstage)
/* 007488 70006888 10000006 */ b .L700068A4
/* 00748C 7000688C 8C4242FC */ lw $v0, %lo(loadedstage)($v0)
.L70006890:
@ -1393,11 +1228,11 @@ glabel mainloop
/* 0074C8 700068C8 24040004 */ li $a0, 4
/* 0074CC 700068CC 0FC2F46F */ jal something_mem_bank_a0
/* 0074D0 700068D0 24040004 */ li $a0, 4
/* 0074D4 700068D4 3C028002 */ lui $v0, %hi(loadedstage) # $v0, 0x8002
/* 0074D4 700068D4 3C028002 */ lui $v0, %hi(loadedstage)
/* 0074D8 700068D8 244242FC */ addiu $v0, %lo(loadedstage) # addiu $v0, $v0, 0x42fc
/* 0074DC 700068DC 8C4D0000 */ lw $t5, ($v0)
/* 0074E0 700068E0 8FAF01DC */ lw $t7, 0x1dc($sp)
/* 0074E4 700068E4 3C018002 */ lui $at, %hi(current_stage_num) # $at, 0x8002
/* 0074E4 700068E4 3C018002 */ lui $at, %hi(current_stage_num)
/* 0074E8 700068E8 240BFFFF */ li $t3, -1
/* 0074EC 700068EC AC2D41A8 */ sw $t5, %lo(current_stage_num)($at)
/* 0074F0 700068F0 11E0FE26 */ beqz $t7, .L7000618C
@ -1452,6 +1287,10 @@ LEVELID get_stage_num(){
* return to title screen from stage
*/
void return_to_title_from_level_end(void) {
#ifdef VERSION_JP
display_objective_status_text_on_status_change();
FUN_7f057a40();
#endif
if ((get_stage_num() != LEVELID_CUBA) && (check_objectives_complete() != 0x0)) {
end_of_mission_briefing();
}

View File

@ -4,5 +4,6 @@
#include "bondgame.h"
void set_loaded_stage(LEVELID stage);
void something_with_boss_c_debug(void);
#endif

View File

@ -58,7 +58,7 @@ GLOBAL_ASM(
glabel return_match_in_debug_notice_list
/* 005920 70004D20 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 005924 70004D24 AFB00014 */ sw $s0, 0x14($sp)
/* 005928 70004D28 3C108002 */ lui $s0, %hi(debug_notice_list) # $s0, 0x8002
/* 005928 70004D28 3C108002 */ lui $s0, %hi(debug_notice_list)
/* 00592C 70004D2C 8E1032E8 */ lw $s0, %lo(debug_notice_list)($s0)
/* 005930 70004D30 AFB10018 */ sw $s1, 0x18($sp)
/* 005934 70004D34 00808825 */ move $s1, $a0
@ -110,9 +110,9 @@ u32 get_entry_of_size_in_debug_notice_list(s32 arg0)
GLOBAL_ASM(
.text
glabel get_entry_of_size_in_debug_notice_list
/* 005980 70004D80 3C028002 */ lui $v0, %hi(debug_notice_list_data) # $v0, 0x8002
/* 005980 70004D80 3C028002 */ lui $v0, %hi(debug_notice_list_data)
/* 005984 70004D84 8C4232F8 */ lw $v0, %lo(debug_notice_list_data)($v0)
/* 005988 70004D88 3C0E8006 */ lui $t6, %hi(thread_video_manager_debugthread) # $t6, 0x8006
/* 005988 70004D88 3C0E8006 */ lui $t6, %hi(thread_video_manager_debugthread)
/* 00598C 70004D8C 25CE0C90 */ addiu $t6, %lo(thread_video_manager_debugthread) # addiu $t6, $t6, 0xc90
/* 005990 70004D90 00401825 */ move $v1, $v0
/* 005994 70004D94 00441021 */ addu $v0, $v0, $a0
@ -121,14 +121,14 @@ glabel get_entry_of_size_in_debug_notice_list
/* 0059A0 70004DA0 10200008 */ beqz $at, .L70004DC4
/* 0059A4 70004DA4 AFBF0014 */ sw $ra, 0x14($sp)
/* 0059A8 70004DA8 00441023 */ subu $v0, $v0, $a0
/* 0059AC 70004DAC 3C018002 */ lui $at, %hi(debug_notice_list_data) # $at, 0x8002
/* 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
/* 0059B8 70004DB8 24050006 */ li $a1, 6
/* 0059BC 70004DBC 10000005 */ b .L70004DD4
/* 0059C0 70004DC0 8FBF0014 */ lw $ra, 0x14($sp)
.L70004DC4:
/* 0059C4 70004DC4 3C018002 */ lui $at, %hi(debug_notice_list_data) # $at, 0x8002
/* 0059C4 70004DC4 3C018002 */ lui $at, %hi(debug_notice_list_data)
/* 0059C8 70004DC8 AC2232F8 */ sw $v0, %lo(debug_notice_list_data)($at)
/* 0059CC 70004DCC 00601025 */ move $v0, $v1
/* 0059D0 70004DD0 8FBF0014 */ lw $ra, 0x14($sp)
@ -168,7 +168,7 @@ glabel add_new_entry_to_debug_notice_list
/* 0059EC 70004DEC AFA5001C */ sw $a1, 0x1c($sp)
/* 0059F0 70004DF0 0C001360 */ jal get_entry_of_size_in_debug_notice_list
/* 0059F4 70004DF4 24040010 */ li $a0, 16
/* 0059F8 70004DF8 3C038002 */ lui $v1, %hi(debug_notice_list) # $v1, 0x8002
/* 0059F8 70004DF8 3C038002 */ lui $v1, %hi(debug_notice_list)
/* 0059FC 70004DFC 246332E8 */ addiu $v1, %lo(debug_notice_list) # addiu $v1, $v1, 0x32e8
/* 005A00 70004E00 8C6E0000 */ lw $t6, ($v1)
/* 005A04 70004E04 AC4E0000 */ sw $t6, ($v0)
@ -191,50 +191,25 @@ glabel add_new_entry_to_debug_notice_list
* 5A2C 70004E2C
* V0= p->debug.notice.list entry for boss_c_debug using data at 800241A0
*/
void add_debug_notice_deb_c_debug(void) {
void add_debug_notice_deb_c_debug(void)
{
get_ptr_debug_notice_list_entry(&D_800232E0, "deb_c_debug");
init_tlb();
}
/**
* 5A60 70004E60
* V0=p->debug.notice.list entry for name A1 and data A0; generates if not found
* accepts: A0=p->data, A1=p->name
*/
#ifdef NONMATCHING
void get_ptr_debug_notice_list_entry(s32 arg0, s32 arg1)
void get_ptr_debug_notice_list_entry(void* data, char * string)
{
if (return_match_in_debug_notice_list(arg1) == 0)
if (return_match_in_debug_notice_list(string) == 0)
{
add_new_entry_to_debug_notice_list(arg1, arg0);
add_new_entry_to_debug_notice_list(string, data);
}
}
#else
GLOBAL_ASM(
.text
glabel get_ptr_debug_notice_list_entry
/* 005A60 70004E60 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 005A64 70004E64 AFBF0014 */ sw $ra, 0x14($sp)
/* 005A68 70004E68 AFA40018 */ sw $a0, 0x18($sp)
/* 005A6C 70004E6C AFA5001C */ sw $a1, 0x1c($sp)
/* 005A70 70004E70 0C001348 */ jal return_match_in_debug_notice_list
/* 005A74 70004E74 00A02025 */ move $a0, $a1
/* 005A78 70004E78 14400003 */ bnez $v0, .L70004E88
/* 005A7C 70004E7C 8FA4001C */ lw $a0, 0x1c($sp)
/* 005A80 70004E80 0C001378 */ jal add_new_entry_to_debug_notice_list
/* 005A84 70004E84 8FA50018 */ lw $a1, 0x18($sp)
.L70004E88:
/* 005A88 70004E88 8FBF0014 */ lw $ra, 0x14($sp)
/* 005A8C 70004E8C 27BD0018 */ addiu $sp, $sp, 0x18
/* 005A90 70004E90 03E00008 */ jr $ra
/* 005A94 70004E94 00000000 */ nop
)
#endif
@ -266,7 +241,7 @@ loop_1:
GLOBAL_ASM(
.text
glabel scan_debug_notice_list_till_NULL
/* 005A98 70004E98 3C028002 */ lui $v0, %hi(debug_notice_list) # $v0, 0x8002
/* 005A98 70004E98 3C028002 */ lui $v0, %hi(debug_notice_list)
/* 005A9C 70004E9C 8C4232E8 */ lw $v0, %lo(debug_notice_list)($v0)
/* 005AA0 70004EA0 10400004 */ beqz $v0, .L70004EB4
/* 005AA4 70004EA4 00000000 */ nop
@ -286,7 +261,8 @@ glabel scan_debug_notice_list_till_NULL
* 5ABC 70004EBC
* unconditional return
*/
void debug_stubbed_70004EBC(void) {
void debug_stubbed_70004EBC(void)
{
return;
}
@ -294,7 +270,8 @@ void debug_stubbed_70004EBC(void) {
* 5AC4 70004EC4
* A0->SP+0, A1->SP+4, A2->SP+8
*/
void debug_removed(s32 arg0, s32 arg1, s32 arg2) {
void debug_removed(s32 arg0, s32 arg1, s32 arg2)
{
return;
}

View File

@ -3,6 +3,6 @@
#include "ultra64.h"
void get_ptr_debug_notice_list_entry(s32 arg0, char *string);
void get_ptr_debug_notice_list_entry(void *arg0, char *string);
#endif

View File

@ -223,7 +223,7 @@ glabel __osRdbSend
/* 0062D4 700056D4 00C01025 */ move $v0, $a2
/* 0062D8 700056D8 24010009 */ li $at, 9
/* 0062DC 700056DC 14C1000A */ bne $a2, $at, .L70005708
/* 0062E0 700056E0 3C108002 */ lui $s0, %hi(stderr_buffer + 0x8E0) # $s0, 0x8002
/* 0062E0 700056E0 3C108002 */ lui $s0, %hi(stderr_buffer + 0x8E0)
/* 0062E4 700056E4 26103FF8 */ addiu $s0, %lo(stderr_buffer + 0x8E0) # addiu $s0, $s0, 0x3ff8
.L700056E8:
/* 0062E8 700056E8 0C0015AF */ jal __osRdbSend
@ -237,19 +237,19 @@ glabel __osRdbSend
.L70005708:
/* 006308 70005708 2401000A */ li $at, 10
/* 00630C 7000570C 14410008 */ bne $v0, $at, .L70005730
/* 006310 70005710 3C038002 */ lui $v1, %hi(stderr_buffer + 0x8E4) # $v1, 0x8002
/* 006310 70005710 3C038002 */ lui $v1, %hi(stderr_buffer + 0x8E4)
/* 006314 70005714 24633FFC */ addiu $v1, %lo(stderr_buffer + 0x8E4) # addiu $v1, $v1, 0x3ffc
/* 006318 70005718 8C780000 */ lw $t8, ($v1)
/* 00631C 7000571C 3C108002 */ lui $s0, %hi(stderr_buffer + 0x8E0) # $s0, 0x8002
/* 00631C 7000571C 3C108002 */ lui $s0, %hi(stderr_buffer + 0x8E0)
/* 006320 70005720 26103FF8 */ addiu $s0, %lo(stderr_buffer + 0x8E0) # addiu $s0, $s0, 0x3ff8
/* 006324 70005724 27190001 */ addiu $t9, $t8, 1
/* 006328 70005728 AC790000 */ sw $t9, ($v1)
/* 00632C 7000572C AE000000 */ sw $zero, ($s0)
.L70005730:
/* 006330 70005730 3C038002 */ lui $v1, %hi(stderr_buffer + 0x8E4) # $v1, 0x8002
/* 006330 70005730 3C038002 */ lui $v1, %hi(stderr_buffer + 0x8E4)
/* 006334 70005734 24633FFC */ addiu $v1, %lo(stderr_buffer + 0x8E4) # addiu $v1, $v1, 0x3ffc
/* 006338 70005738 8C650000 */ lw $a1, ($v1)
/* 00633C 7000573C 3C108002 */ lui $s0, %hi(stderr_buffer + 0x8E0) # $s0, 0x8002
/* 00633C 7000573C 3C108002 */ lui $s0, %hi(stderr_buffer + 0x8E0)
/* 006340 70005740 26103FF8 */ addiu $s0, %lo(stderr_buffer + 0x8E0) # addiu $s0, $s0, 0x3ff8
/* 006344 70005744 28A1001F */ slti $at, $a1, 0x1f
/* 006348 70005748 1420000A */ bnez $at, .L70005774
@ -257,7 +257,7 @@ glabel __osRdbSend
/* 006350 70005750 AFA20024 */ sw $v0, 0x24($sp)
/* 006354 70005754 0C0015F3 */ jal scroll_stderr_oneline
/* 006358 70005758 A3A6002B */ sb $a2, 0x2b($sp)
/* 00635C 7000575C 3C038002 */ lui $v1, %hi(stderr_buffer + 0x8E4) # $v1, 0x8002
/* 00635C 7000575C 3C038002 */ lui $v1, %hi(stderr_buffer + 0x8E4)
/* 006360 70005760 24633FFC */ addiu $v1, %lo(stderr_buffer + 0x8E4) # addiu $v1, $v1, 0x3ffc
/* 006364 70005764 2408001E */ li $t0, 30
/* 006368 70005768 8FA20024 */ lw $v0, 0x24($sp)
@ -271,7 +271,7 @@ glabel __osRdbSend
/* 006384 70005784 0C00158C */ jal write_char_to_pos_stderr
/* 006388 70005788 8C650000 */ lw $a1, ($v1)
/* 00638C 7000578C 8E090000 */ lw $t1, ($s0)
/* 006390 70005790 3C038002 */ lui $v1, %hi(stderr_buffer + 0x8E4) # $v1, 0x8002
/* 006390 70005790 3C038002 */ lui $v1, %hi(stderr_buffer + 0x8E4)
/* 006394 70005794 24633FFC */ addiu $v1, %lo(stderr_buffer + 0x8E4) # addiu $v1, $v1, 0x3ffc
/* 006398 70005798 252A0001 */ addiu $t2, $t1, 1
/* 00639C 7000579C 29410047 */ slti $at, $t2, 0x47
@ -344,7 +344,7 @@ glabel scroll_stderr_oneline
/* 0063CC 700057CC 0004102A */ slt $v0, $zero, $a0
/* 0063D0 700057D0 10400020 */ beqz $v0, .L70005854
/* 0063D4 700057D4 2484FFFF */ addiu $a0, $a0, -1
/* 0063D8 700057D8 3C088002 */ lui $t0, %hi(stderr_buffer + 0x899) # $t0, 0x8002
/* 0063D8 700057D8 3C088002 */ lui $t0, %hi(stderr_buffer + 0x899)
/* 0063DC 700057DC 25083FB1 */ addiu $t0, %lo(stderr_buffer + 0x899) # addiu $t0, $t0, 0x3fb1
/* 0063E0 700057E0 24070047 */ li $a3, 71
.L700057E4:
@ -494,7 +494,7 @@ glabel print_to_vidbuff1
/* 006490 70005890 10200038 */ beqz $at, .L70005974
/* 006494 70005894 8FAE0018 */ lw $t6, 0x18($sp)
/* 006498 70005898 8FAB001C */ lw $t3, 0x1c($sp)
/* 00649C 7000589C 3C188002 */ lui $t8, %hi(ptr_videobuffer1) # $t8, 0x8002
/* 00649C 7000589C 3C188002 */ lui $t8, %hi(ptr_videobuffer1)
/* 0064A0 700058A0 8F18417C */ lw $t8, %lo(ptr_videobuffer1)($t8)
/* 0064A4 700058A4 01620019 */ multu $t3, $v0
/* 0064A8 700058A8 000E7840 */ sll $t7, $t6, 1
@ -587,7 +587,7 @@ GLOBAL_ASM(
glabel set_ptr_video_buffers
/* 006584 70005984 3C02A000 */ lui $v0, 0xa000
/* 006588 70005988 00827025 */ or $t6, $a0, $v0
/* 00658C 7000598C 3C018002 */ lui $at, %hi(ptr_videobuffer1) # $at, 0x8002
/* 00658C 7000598C 3C018002 */ lui $at, %hi(ptr_videobuffer1)
/* 006590 70005990 AC2E417C */ sw $t6, %lo(ptr_videobuffer1)($at)
/* 006594 70005994 3C018002 */ lui $at, %hi(ptr_videobuffer2)
/* 006598 70005998 00A27825 */ or $t7, $a1, $v0
@ -639,7 +639,7 @@ glabel write_stderr_to_buffer
/* 006600 70005A00 AFB1001C */ sw $s1, 0x1c($sp)
/* 006604 70005A04 3C01A000 */ lui $at, 0xa000
/* 006608 70005A08 02017025 */ or $t6, $s0, $at
/* 00660C 70005A0C 3C018002 */ lui $at, %hi(ptr_videobuffer1) # $at, 0x8002
/* 00660C 70005A0C 3C018002 */ lui $at, %hi(ptr_videobuffer1)
/* 006610 70005A10 0C001107 */ jal get_video2_settings_txtClipW
/* 006614 70005A14 AC2E417C */ sw $t6, %lo(ptr_videobuffer1)($at)
/* 006618 70005A18 2450FFF3 */ addiu $s0, $v0, -0xd
@ -667,7 +667,7 @@ glabel write_stderr_to_buffer
/* 006668 70005A68 0335C821 */ addu $t9, $t9, $s5
/* 00666C 70005A6C 0019C8C0 */ sll $t9, $t9, 3
/* 006670 70005A70 001590C0 */ sll $s2, $s5, 3
/* 006674 70005A74 3C098002 */ lui $t1, %hi(stderr_buffer) # $t1, 0x8002
/* 006674 70005A74 3C098002 */ lui $t1, %hi(stderr_buffer)
/* 006678 70005A78 25293718 */ addiu $t1, %lo(stderr_buffer) # addiu $t1, $t1, 0x3718
/* 00667C 70005A7C 02559023 */ subu $s2, $s2, $s5
/* 006680 70005A80 0335C823 */ subu $t9, $t9, $s5

View File

@ -50,7 +50,7 @@ GLOBAL_ASM(
glabel thread5_translate_7F_address
/* 005B54 70004F54 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 005B58 70004F58 AFB70030 */ sw $s7, 0x30($sp)
/* 005B5C 70004F5C 3C178006 */ lui $s7, %hi(thread5_MesgQ) # $s7, 0x8006
/* 005B5C 70004F5C 3C178006 */ lui $s7, %hi(thread5_MesgQ)
/* 005B60 70004F60 26F73640 */ addiu $s7, %lo(thread5_MesgQ) # addiu $s7, $s7, 0x3640
/* 005B64 70004F64 AFBF0034 */ sw $ra, 0x34($sp)
/* 005B68 70004F68 AFA40040 */ sw $a0, 0x40($sp)
@ -66,8 +66,8 @@ glabel thread5_translate_7F_address
/* 005B90 70004F90 02E02825 */ move $a1, $s7
/* 005B94 70004F94 0C003714 */ jal osSetEventMesg
/* 005B98 70004F98 24060010 */ li $a2, 16
/* 005B9C 70004F9C 3C018006 */ lui $at, %hi(dword_CODE_bss_80063660) # $at, 0x8006
/* 005BA0 70004FA0 3C168002 */ lui $s6, %hi(__osRunQueue) # $s6, 0x8002
/* 005B9C 70004F9C 3C018006 */ lui $at, %hi(dword_CODE_bss_80063660)
/* 005BA0 70004FA0 3C168002 */ lui $s6, %hi(__osRunQueue)
/* 005BA4 70004FA4 AC203660 */ sw $zero, %lo(dword_CODE_bss_80063660)($at)
/* 005BA8 70004FA8 26D67728 */ addiu $s6, %lo(__osRunQueue) # addiu $s6, $s6, 0x7728
/* 005BAC 70004FAC 2415000A */ li $s5, 10
@ -85,11 +85,11 @@ glabel thread5_translate_7F_address
/* 005BD4 70004FD4 24040001 */ li $a0, 1
/* 005BD8 70004FD8 0C004060 */ jal ultra_70010180
/* 005BDC 70004FDC 00408025 */ move $s0, $v0
/* 005BE0 70004FE0 3C018006 */ lui $at, %hi(ptr_tlbthread_maybe) # $at, 0x8006
/* 005BE0 70004FE0 3C018006 */ lui $at, %hi(ptr_tlbthread_maybe)
/* 005BE4 70004FE4 1040FFF6 */ beqz $v0, .L70004FC0
/* 005BE8 70004FE8 AC22365C */ sw $v0, %lo(ptr_tlbthread_maybe)($at)
/* 005BEC 70004FEC 8C4E0120 */ lw $t6, 0x120($v0)
/* 005BF0 70004FF0 3C088006 */ lui $t0, %hi(ptr_tlbthread_maybe) # $t0, 0x8006
/* 005BF0 70004FF0 3C088006 */ lui $t0, %hi(ptr_tlbthread_maybe)
/* 005BF4 70004FF4 31CF007C */ andi $t7, $t6, 0x7c
/* 005BF8 70004FF8 164F0018 */ bne $s2, $t7, .L7000505C
/* 005BFC 70004FFC 00000000 */ nop
@ -100,10 +100,10 @@ glabel thread5_translate_7F_address
/* 005C10 70005010 8D08365C */ lw $t0, %lo(ptr_tlbthread_maybe)($t0)
/* 005C14 70005014 0C000676 */ jal translate_load_rom_from_TLBaddress
/* 005C18 70005018 8D040124 */ lw $a0, 0x124($t0)
/* 005C1C 7000501C 3C098006 */ lui $t1, %hi(ptr_tlbthread_maybe) # $t1, 0x8006
/* 005C1C 7000501C 3C098006 */ lui $t1, %hi(ptr_tlbthread_maybe)
/* 005C20 70005020 8D29365C */ lw $t1, %lo(ptr_tlbthread_maybe)($t1)
/* 005C24 70005024 3C0A8006 */ lui $t2, %hi(ptr_tlbthread_maybe) # $t2, 0x8006
/* 005C28 70005028 3C058006 */ lui $a1, %hi(ptr_tlbthread_maybe) # $a1, 0x8006
/* 005C24 70005024 3C0A8006 */ lui $t2, %hi(ptr_tlbthread_maybe)
/* 005C28 70005028 3C058006 */ lui $a1, %hi(ptr_tlbthread_maybe)
/* 005C2C 7000502C A5350010 */ sh $s5, 0x10($t1)
/* 005C30 70005030 8D4A365C */ lw $t2, %lo(ptr_tlbthread_maybe)($t2)
/* 005C34 70005034 02C02025 */ move $a0, $s6
@ -402,29 +402,29 @@ glabel indy_file_get_address_subsequent_data
/* 005E94 70005294 27BDFFE0 */ addiu $sp, $sp, -0x20
/* 005E98 70005298 AFA40020 */ sw $a0, 0x20($sp)
/* 005E9C 7000529C AFBF0014 */ sw $ra, 0x14($sp)
/* 005EA0 700052A0 3C048006 */ lui $a0, %hi(indy_read_buffer) # $a0, 0x8006
/* 005EA0 700052A0 3C048006 */ lui $a0, %hi(indy_read_buffer)
/* 005EA4 700052A4 24843670 */ addiu $a0, %lo(indy_read_buffer) # addiu $a0, $a0, 0x3670
/* 005EA8 700052A8 8FA50020 */ lw $a1, 0x20($sp)
/* 005EAC 700052AC 0C001707 */ jal romCopy
/* 005EB0 700052B0 24060060 */ li $a2, 96
/* 005EB4 700052B4 3C0E8006 */ lui $t6, %hi(indy_read_buffer) # $t6, 0x8006
/* 005EB4 700052B4 3C0E8006 */ lui $t6, %hi(indy_read_buffer)
/* 005EB8 700052B8 8DCE3670 */ lw $t6, %lo(indy_read_buffer)($t6)
/* 005EBC 700052BC 3C028006 */ lui $v0, %hi(ptr_indy_read_buf_string1) # $v0, 0x8006
/* 005EC0 700052C0 3C018006 */ lui $at, %hi(current_indy_read_buf_resourceID) # $at, 0x8006
/* 005EBC 700052BC 3C028006 */ lui $v0, %hi(ptr_indy_read_buf_string1)
/* 005EC0 700052C0 3C018006 */ lui $at, %hi(current_indy_read_buf_resourceID)
/* 005EC4 700052C4 3C0F8006 */ lui $t7, %hi(indy_read_buffer+4)
/* 005EC8 700052C8 24423668 */ addiu $v0, %lo(ptr_indy_read_buf_string1) # addiu $v0, $v0, 0x3668
/* 005ECC 700052CC 25E43674 */ addiu $a0, $t7, %lo(indy_read_buffer+4)
/* 005ED0 700052D0 AC2E3664 */ sw $t6, %lo(current_indy_read_buf_resourceID)($at)
/* 005ED4 700052D4 0C001496 */ jal return_strlen
/* 005ED8 700052D8 AC440000 */ sw $a0, ($v0)
/* 005EDC 700052DC 3C048006 */ lui $a0, %hi(ptr_indy_read_buf_string1) # $a0, 0x8006
/* 005EDC 700052DC 3C048006 */ lui $a0, %hi(ptr_indy_read_buf_string1)
/* 005EE0 700052E0 8C843668 */ lw $a0, %lo(ptr_indy_read_buf_string1)($a0)
/* 005EE4 700052E4 3C018006 */ lui $at, %hi(ptr_indy_read_buf_string2) # $at, 0x8006
/* 005EE4 700052E4 3C018006 */ lui $at, %hi(ptr_indy_read_buf_string2)
/* 005EE8 700052E8 0044C021 */ addu $t8, $v0, $a0
/* 005EEC 700052EC 27190001 */ addiu $t9, $t8, 1
/* 005EF0 700052F0 0C001496 */ jal return_strlen
/* 005EF4 700052F4 AC39366C */ sw $t9, %lo(ptr_indy_read_buf_string2)($at)
/* 005EF8 700052F8 3C048006 */ lui $a0, %hi(ptr_indy_read_buf_string2) # $a0, 0x8006
/* 005EF8 700052F8 3C048006 */ lui $a0, %hi(ptr_indy_read_buf_string2)
/* 005EFC 700052FC 8C84366C */ lw $a0, %lo(ptr_indy_read_buf_string2)($a0)
/* 005F00 70005300 0C001496 */ jal return_strlen
/* 005F04 70005304 AFA20018 */ sw $v0, 0x18($sp)
@ -468,7 +468,7 @@ glabel scan_load_resourceID_from_indy_read_buf
/* 005F50 70005350 34530004 */ ori $s3, $v0, 4
/* 005F54 70005354 AFB10018 */ sw $s1, 0x18($sp)
/* 005F58 70005358 AFB00014 */ sw $s0, 0x14($sp)
/* 005F5C 7000535C 3C128006 */ lui $s2, %hi(current_indy_read_buf_resourceID) # $s2, 0x8006
/* 005F5C 7000535C 3C128006 */ lui $s2, %hi(current_indy_read_buf_resourceID)
/* 005F60 70005360 00808825 */ move $s1, $a0
/* 005F64 70005364 AFBF0024 */ sw $ra, 0x24($sp)
/* 005F68 70005368 02608025 */ move $s0, $s3
@ -523,7 +523,7 @@ glabel is_valid_indy_read_buf_resourceID
/* 005FCC 700053CC AFBF0014 */ sw $ra, 0x14($sp)
/* 005FD0 700053D0 0C0014A5 */ jal indy_file_get_address_subsequent_data
/* 005FD4 700053D4 3C0400E0 */ lui $a0, 0xe0
/* 005FD8 700053D8 3C028006 */ lui $v0, %hi(current_indy_read_buf_resourceID) # $v0, 0x8006
/* 005FD8 700053D8 3C028006 */ lui $v0, %hi(current_indy_read_buf_resourceID)
/* 005FDC 700053DC 8C423664 */ lw $v0, %lo(current_indy_read_buf_resourceID)($v0)
/* 005FE0 700053E0 8FBF0014 */ lw $ra, 0x14($sp)
/* 005FE4 700053E4 3C018264 */ lui $at, (0x826475BE >> 16) # lui $at, 0x8264
@ -614,14 +614,14 @@ s32 debug_sp_related_11(u32 arg0, u32 arg1)
GLOBAL_ASM(
.text
glabel debug_sp_related_11
/* 006020 70005420 3C0E8002 */ lui $t6, %hi(stack_ptrs_1) # $t6, 0x8002
/* 006020 70005420 3C0E8002 */ lui $t6, %hi(stack_ptrs_1)
/* 006024 70005424 25CE36DC */ addiu $t6, %lo(stack_ptrs_1) # addiu $t6, $t6, 0x36dc
/* 006028 70005428 8DC10000 */ lw $at, ($t6)
/* 00602C 7000542C 27BDFFD0 */ addiu $sp, $sp, -0x30
/* 006030 70005430 27A7001C */ addiu $a3, $sp, 0x1c
/* 006034 70005434 ACE10000 */ sw $at, ($a3)
/* 006038 70005438 8DD90004 */ lw $t9, 4($t6)
/* 00603C 7000543C 3C098002 */ lui $t1, %hi(stack_ptrs_2) # $t1, 0x8002
/* 00603C 7000543C 3C098002 */ lui $t1, %hi(stack_ptrs_2)
/* 006040 70005440 252936F0 */ addiu $t1, %lo(stack_ptrs_2) # addiu $t1, $t1, 0x36f0
/* 006044 70005444 ACF90004 */ sw $t9, 4($a3)
/* 006048 70005448 8DC10008 */ lw $at, 8($t6)
@ -717,7 +717,7 @@ s32 debug_sp_related_12(u32 arg0, u32 arg1) {
GLOBAL_ASM(
.text
glabel debug_sp_related_12
/* 0060E4 700054E4 3C0E8002 */ lui $t6, %hi(stack_ptrs_3) # $t6, 0x8002
/* 0060E4 700054E4 3C0E8002 */ lui $t6, %hi(stack_ptrs_3)
/* 0060E8 700054E8 25CE3704 */ addiu $t6, %lo(stack_ptrs_3) # addiu $t6, $t6, 0x3704
/* 0060EC 700054EC 8DC10000 */ lw $at, ($t6)
/* 0060F0 700054F0 27BDFFE8 */ addiu $sp, $sp, -0x18

View File

@ -1,5 +1,93 @@
#include "ultra64.h"
#include "debugmenu.h"
#include "vi.h"
u32 image_resource[] = {
0, 0x227A00, 0x7A348B, 0x223434, 0x115811, 0x696900, 0, 0x9C00,
0x4600, 0x460000, 0x4600, 0, 0, 0, 0, 0x46,
0x229C11, 0x346900, 0x229C11, 0x699C11, 0x5834, 0xADAD34, 0x118B34, 0x9CAD7A,
0x229C11, 0x229C11, 0, 0, 0, 0, 0, 0x113411,
0, 0x46CE00, 0xAD58DE, 0x466969, 0x9C9C69, 0x8B8B00, 0x469C00, 0x22CE00,
0x583400, 0x345800, 0x7ACE69, 0x5800, 0, 0, 0, 0x3446,
0x8B007A, 0x588B00, 0x8B008B, 0x22007A, 0x119C69, 0x8B0000, 0x9C1100, 0x22008B,
0x8B007A, 0x8B007A, 0, 0, 0x225869, 0,0x69582200, 0x9C698B,
0, 0x46CE00, 0x222258, 0xDEEF7A, 0xAD1111, 0x69EF9C, 0x8B0000, 0x460000,
0x8B0000, 0x8B00, 0x58CE34, 0x8B00, 0, 0, 0, 0x8B00,
0x8B008B, 0x8B00, 0x11007A, 0x118B46, 0x58467A, 0xCEAD22, 0x9C8B00, 0x117A,
0x698B46, 0x8B00AD, 0x34AD00, 0x34AD00,0x228B4600,0x8B8B8B8B, 0x468B22, 0x11008B,
0, 0x7A00, 0, 0x9C9C00, 0x118B34,0x22ADBD46, 0x8B8B34, 0,
0x8B0000, 0x8B00, 0x7A2269,0x22ADEF9C, 0,0x22ADADAD, 0, 0x226900,
0x8B008B, 0x8B00, 0x7A00, 0x117A, 0x9C347A, 0x8B, 0xCE117A, 0x2269,
0x8B227A, 0x229C8B, 0x1100, 0x1100,0xAD580000,0x34343434, 0x58AD, 0xBD34,
0, 0x112200, 0,0x22DEDE22, 0xCE5858, 0x46468B, 0x8BAD00, 0,
0x8B0000, 0x8B00, 0, 0x8B00, 0x3400, 0, 0x2200, 0x691100,
0x8B008B, 0x8B00, 0x691158, 0x11008B, 0x7A9CAD,0x1122008B, 0x8B008B, 0x8B00,
0x8B008B, 0x227A, 0x2200, 0x2200,0x228B4600,0x8B8B8B8B, 0x468B22, 0x6900,
0, 0x228B00, 0, 0x8B8B00, 0x34BD00, 0x119C46, 0x7A6969, 0,
0x583400, 0x345800, 0, 0x5800, 0x11FF00, 0, 0x228B00, 0x8B0000,
0x349C22, 0x8BCE69,0x22BDAD8B, 0x7A9C11, 0x8B8B,0x118B9C11, 0x349C22, 0x5800,
0x349C11, 0x588B11, 0x228B00, 0x69AD00, 0x225869, 0,0x69582200, 0xBD00,
0, 0, 0, 0x464600, 0x4600, 0, 0, 0,
0x4600, 0x460000, 0, 0, 0x583400, 0, 0,0x58340000,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0x8B0000, 0, 0, 0, 0,
0x229C11, 0x221100,0x11223400, 0x3411,0x11342200, 0x343422, 0x343422, 0x2222,
0x220022, 0x342222, 0x3434, 0x341122,0x22341100,0x11110022,0x22221134, 0x2200,
0x343411, 0x3400, 0x343411, 0x113411, 0x343434,0x11341134,0x11220034,0x34220034,
0x11340022,0x11220034, 0x223422, 0x8B34, 0x460000, 0x587A00, 0x5800, 0,
0x348B008B, 0x69BD00,0x11DE7A58, 0xAD69DE,0x22CE7A9C,0x11CE7AAD,0x11CE7AAD, 0xAD7ADE,
0x22CE00CE, 0x69CE58, 0x8BCE,0x22CE22CE,0x46CE4600,0x7ABD00FF,0x58FF46CE, 0xAD7A9C,
0x11CE7A7A, 0xAD7A8B,0x22CE7A7A,0x118B7ABD,0x469CCECE,0x8B8B34CE,0x8B8B00BD,0xBD8B22BD,
0x58CE00CE,0x22BD00CE, 0xBD7AAD, 0x8B00, 0x7A1100, 0x8B00, 0x694658, 0,
0x468B7ABD, 0x588B22, 0x8B008B,0x46460011, 0x8B007A,0x118B3458, 0x8B3458,0x46460011,
0x8B008B, 0x8B00, 0x117A, 0x8B7A11, 0x8B0000,0x589C58BD,0x11AD698B,0x4646007A,
0x118B007A,0x5846007A,0x118B007A,0x46580011,0x34228B46,0x6934008B, 0x7A008B,0x58348B7A,
0x11696946, 0x695846, 0x113458, 0x8B00, 0x116900, 0x8B00, 0x110011, 0,
0x468B8B9C, 0x9C228B, 0xDEAD7A,0x58340000, 0x8B007A,0x11DEAD00, 0xDEAD00,0x583400AD,
0x46DEADBD, 0x8B00,0x3411117A, 0xDEAD00, 0x8B0000,0x5846AD7A,0x118B8B8B,0x5834007A,
0x11DEAD34,0x5834007A,0x11DEDE46, 0x58AD34, 0x8B00,0x5834008B, 0x8B117A, 0xBDDE8B,
0x22AD00, 0x11BD00, 0x226900, 0x8B00, 0x8B00, 0x8B00, 0, 0,
0x348B348B,0x469C8BAD, 0x8B007A,0x347A0058, 0x8B009C, 0x8B008B, 0x8B0000,0x228B007A,
0x8B008B, 0x8B00,0x46462269, 0x8B117A, 0x8B007A,0x6934347A,0x118B34DE,0x118B009C,
0x8B0000,0x228B009C, 0x8B117A,0x3434008B, 0x8B00,0x4646008B, 0x22CE00, 0xADBD8B,
0x8B007A, 0x8B00, 0x8B0058, 0x8B00, 0x3446, 0x8B00, 0, 0,
0x697A9C,0x7A9C00BD,0x69CEAD58, 0x58AD58,0x22BDAD34,0x22CEAD8B,0x22BD2200, 0x58AD58,
0x22AD00CE, 0x8BBD7A, 0x7A7A00,0x22BD228B,0x69BDADBD,0x8B9C00BD,0x69CE227A, 0x58AD34,
0x22CE6900, 0x9CEF69,0x22BD2258,0x7A9C9C22, 0x46CE34, 0x7AAD11, 0x5800, 0x580058,
0x22AD00CE, 0x58BD34, 0xAD9C9C, 0x8B00, 0x8B, 0x8B00, 0,0x22222222,
0x2211, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0x58588B, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0xCE34, 0x7A,0x1158AD00, 0,0x7A7A7A7A,
0x693400, 0,0x22690000, 0, 0x8B, 0, 0x589C,0x11000000,
0x22690000, 0x1100, 0x1100,0x22690000, 0x8B7A00, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0x4646, 0x4600, 0x464600, 0, 0,
0x46AD00, 0, 0x8B0000, 0, 0x8B, 0, 0x116900, 0,
0x8B0000, 0x6900, 0x6900, 0x8B0000, 0x8B00, 0, 0, 0,
0, 0, 0, 0, 0x226900, 0, 0, 0,
0, 0, 0, 0x8B00, 0x8B00, 0x8B00, 0, 0,
0x5800, 0x8B9C34, 0xCEAD69, 0x7AAD9C, 0x8BADBD, 0x7AAD34, 0x9CDE7A, 0x8B9CCE,
0x11CEAD69, 0x589C00, 0x8BAD69, 0x8BAD69, 0x8B00,0x7AAD9C9C,0x22CEAD69, 0x7AAD34,
0x22CEAD69, 0x8B9CDE,0x22DE9C69, 0x7AAD9C, 0x9CDE7A,0x118B00AD,0x11CE00DE,0x34CE00DE,
0x22CE34AD,0x22CE00DE, 0xBD9CAD, 0x8B00, 0x8B00, 0x8B00,0x229C347A, 0,
0, 0x9CAD7A, 0x8B007A,0x69340034,0x4634009C,0x46CE9CBD, 0x226900,0x4646008B,
0x8B008B, 0x8B00, 0x7A, 0xDE7A00, 0x8B00,0x46468B69,0x119C008B,0x4646008B,
0x8B0069,0x5846008B, 0x8B0000, 0x8B7A58, 0x226900, 0x8B008B, 0x7A117A, 0x8B8B8B,
0x58BD00, 0x8B008B, 0x464646, 0x467A00, 0x8B00, 0x8B46,0x7A349C22, 0,
0,0x4634227A, 0x9C007A,0x58460022,0x4646009C,0x34460034, 0x226900,0x3446009C,
0x8B008B, 0x8B00, 0x7A, 0x8B6911, 0x8B00,0x46468B69,0x118B008B,0x3458008B,
0xAD0069,0x584600AD, 0x8B0000, 0x69348B, 0x226911, 0x8B009C, 0x11DE00, 0xADBD8B,
0x699C11, 0x469C34, 0x225858, 0x8B00, 0x8B00, 0x8B00, 0, 0,
0,0x119C8BCE,0x22ADAD58, 0x7A9C46, 0x69ADAD,0x1169AD46, 0x8BBD7A, 0x69ADAD,
0x22AD00BD,0x118BCE69, 0x7A,0x227A34CE, 0x8BBD7A,0x7A699C46,0x69BD00CE, 0x7A9C22,
0xBD9C58, 0x69ADAD,0x22CE9C34, 0x8BAD58, 0x9C8B, 0x699CAD,0x11005800, 0x580069,
0x11BD349C, 0x9C00, 0xADAD9C, 0x8B00, 0x8B00, 0x8B00, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0x8B,
0, 0, 0x4646, 0, 0, 0, 0, 0,
0x8B0000, 0x8B, 0, 0, 0, 0, 0, 0,
0, 0x226900, 0, 0x8B46, 0x8B00, 0x467A00, 0, 0
};
s32 debug_menu_x_pos_offset = 5;
s32 debug_menu_y_pos_offset = 1;
@ -7,22 +95,23 @@ s32 debug_menu_x_text_pos = 0x18;
s32 debug_menu_y_text_pos = 0x10;
u32 stdout_display_list[] = {
0xE7000000, 0,
0xBA001402, 0,
0xBA000602, 0xC0,
0xB900031D,0x500A4240,
0xFC30B261,0x5566DB6D,
0xBA001301, 0,
0xB9000002, 0,
0xFD700000,0x80024520,
0xF5700000, 0x7000000,
0xE6000000, 0,
0xF3000000, 0x753F080,
0xE7000000, 0,
0xF5682000, 0,
0xF2000000, 0x1FC050,
0xE6000000, 0,
0xB8000000, 0};
0xE7000000, 0, //gsDPPipeSync(),
0xBA001402, 0, //gsDPSetCycleType(G_CYC_1CYCLE),
0xBA000602, 0xC0, //gsDPSetTextureLOD
0xB900031D,0x500A4240, //gsDPSetRenderMode
0xFC30B261,0x5566DB6D, //gsDPSetCombineMode
0xBA001301, 0, //gsDPSetTextureLOD
0xB9000002, 0, //gsDPSetRenderMode
0xFD700000,&image_resource[0], //gsDPSetTextureImage
0xF5700000, 0x7000000, //gsDPSetTile
0xE6000000, 0, //gsDPLoadSync(),
0xF3000000, 0x753F080, //gsDPLoadBlock
0xE7000000, 0, //gsDPPipeSync(),
0xF5682000, 0, //gsDPSetTile
0xF2000000, 0x1FC050, //gsDPSetTileSize
0xE6000000, 0, //gsDPLoadSync(),
0xB8000000, 0 //gsSPEndDisplayList(),
};
u32 stdout_debug_menu_screen_buffer[1400] = {0};
u32 stdout_primary_color_table[64] = {0};
@ -60,25 +149,33 @@ u32 D_800268B8 = 0xFF;
u32 dummied_function_7000AD80(s32 arg0, s32 arg1) {
u32 dummied_function_7000AD80(s32 arg0, s32 arg1)
{
return 0;
}
u32 dummied_function_7000AD90(s32 arg0, s32 arg1) {
u32 dummied_function_7000AD90(s32 arg0, s32 arg1)
{
return 0;
}
void null_function_7000ADA0(void) {
void null_function_7000ADA0(void)
{
//empty
}
void null_init_main_0(void) {
void null_init_main_0(void)
{
//empty
}
void debug_text_related_2(void)
{
debug_text_related_1();
blank_debug_buffer_chars();
}
@ -143,10 +240,10 @@ GLOBAL_ASM(
glabel display_text_to_coord
/* 00B9D0 7000ADD0 AFA60008 */ sw $a2, 8($sp)
/* 00B9D4 7000ADD4 30CE00FF */ andi $t6, $a2, 0xff
/* 00B9D8 7000ADD8 3C038002 */ lui $v1, %hi(debug_text_color) # $v1, 0x8002
/* 00B9DC 7000ADDC 3C088002 */ lui $t0, %hi(stdout_primary_color_table) # $t0, 0x8002
/* 00B9E0 7000ADE0 3C0A8002 */ lui $t2, %hi(stdout_environment_color_table) # $t2, 0x8002
/* 00B9E4 7000ADE4 3C098002 */ lui $t1, %hi(debug_text_bg_color) # $t1, 0x8002
/* 00B9D8 7000ADD8 3C038002 */ lui $v1, %hi(debug_text_color)
/* 00B9DC 7000ADDC 3C088002 */ lui $t0, %hi(stdout_primary_color_table)
/* 00B9E0 7000ADE0 3C0A8002 */ lui $t2, %hi(stdout_environment_color_table)
/* 00B9E4 7000ADE4 3C098002 */ lui $t1, %hi(debug_text_bg_color)
/* 00B9E8 7000ADE8 01C03025 */ move $a2, $t6
/* 00B9EC 7000ADEC AFA40000 */ sw $a0, ($sp)
/* 00B9F0 7000ADF0 252968B0 */ addiu $t1, %lo(debug_text_bg_color) # addiu $t1, $t1, 0x68b0
@ -170,13 +267,13 @@ glabel display_text_to_coord
/* 00BA30 7000AE30 28410020 */ slti $at, $v0, 0x20
/* 00BA34 7000AE34 1420FFF4 */ bnez $at, .L7000AE08
/* 00BA38 7000AE38 24E70008 */ addiu $a3, $a3, 8
/* 00BA3C 7000AE3C 3C078002 */ lui $a3, %hi(string_formatting) # $a3, 0x8002
/* 00BA3C 7000AE3C 3C078002 */ lui $a3, %hi(string_formatting)
/* 00BA40 7000AE40 24E76810 */ addiu $a3, %lo(string_formatting) # addiu $a3, $a3, 0x6810
/* 00BA44 7000AE44 8CE30000 */ lw $v1, ($a3)
/* 00BA48 7000AE48 3C0E8002 */ lui $t6, %hi(stdout_primary_color) # $t6, 0x8002
/* 00BA48 7000AE48 3C0E8002 */ lui $t6, %hi(stdout_primary_color)
/* 00BA4C 7000AE4C 25CE68A8 */ addiu $t6, %lo(stdout_primary_color) # addiu $t6, $t6, 0x68a8
/* 00BA50 7000AE50 8DC10000 */ lw $at, ($t6)
/* 00BA54 7000AE54 3C0C8002 */ lui $t4, %hi(stdout_primary_color_table) # $t4, 0x8002
/* 00BA54 7000AE54 3C0C8002 */ lui $t4, %hi(stdout_primary_color_table)
/* 00BA58 7000AE58 258C6610 */ addiu $t4, %lo(stdout_primary_color_table) # addiu $t4, $t4, 0x6610
/* 00BA5C 7000AE5C 000320C0 */ sll $a0, $v1, 3
/* 00BA60 7000AE60 008C6821 */ addu $t5, $a0, $t4
@ -200,7 +297,7 @@ glabel display_text_to_coord
/* 00BAA4 7000AEA4 8FAE0000 */ lw $t6, ($sp)
.L7000AEA8:
/* 00BAA8 7000AEA8 00055840 */ sll $t3, $a1, 1
/* 00BAAC 7000AEAC 3C0C8002 */ lui $t4, %hi(stdout_debug_menu_screen_buffer) # $t4, 0x8002
/* 00BAAC 7000AEAC 3C0C8002 */ lui $t4, %hi(stdout_debug_menu_screen_buffer)
/* 00BAB0 7000AEB0 000EC8C0 */ sll $t9, $t6, 3
/* 00BAB4 7000AEB4 032EC821 */ addu $t9, $t9, $t6
/* 00BAB8 7000AEB8 0019C880 */ sll $t9, $t9, 2
@ -218,7 +315,8 @@ glabel display_text_to_coord
void debugMenuSetTextPOStoOffset(void) {
void debugMenuSetTextPOStoOffset(void)
{
debug_menu_x_text_pos = debug_menu_x_pos_offset;
debug_menu_y_text_pos = debug_menu_y_pos_offset;
}
@ -226,15 +324,15 @@ void debugMenuSetTextPOStoOffset(void) {
#ifdef NONMATCHING
void debug_text_related_1(void) {
void blank_debug_buffer_chars(void)
{
int x;
int y;
for (y = 0; y < 0x23; y++) {
for (x = 0; x < 0x50; x++) {
for (y = 0; y < 0x23; y++)
{
for (x = 0; x < 0x50; x++)
{
display_text_to_coord(x,y,'\0');
}
}
@ -242,51 +340,12 @@ void debug_text_related_1(void) {
null_function_7000ADA0();
string_formatting[0] = NULL;
}
#else
GLOBAL_ASM(
.text
glabel debug_text_related_1
/* 00BB00 7000AF00 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 00BB04 7000AF04 AFB30020 */ sw $s3, 0x20($sp)
/* 00BB08 7000AF08 AFB2001C */ sw $s2, 0x1c($sp)
/* 00BB0C 7000AF0C AFB10018 */ sw $s1, 0x18($sp)
/* 00BB10 7000AF10 AFBF0024 */ sw $ra, 0x24($sp)
/* 00BB14 7000AF14 AFB00014 */ sw $s0, 0x14($sp)
/* 00BB18 7000AF18 24110050 */ li $s1, 80
/* 00BB1C 7000AF1C 00009025 */ move $s2, $zero
/* 00BB20 7000AF20 24130023 */ li $s3, 35
/* 00BB24 7000AF24 00008025 */ move $s0, $zero
.L7000AF28:
/* 00BB28 7000AF28 02002025 */ move $a0, $s0
.L7000AF2C:
/* 00BB2C 7000AF2C 02402825 */ move $a1, $s2
/* 00BB30 7000AF30 0C002B74 */ jal display_text_to_coord
/* 00BB34 7000AF34 00003025 */ move $a2, $zero
/* 00BB38 7000AF38 26100001 */ addiu $s0, $s0, 1
/* 00BB3C 7000AF3C 5611FFFB */ bnel $s0, $s1, .L7000AF2C
/* 00BB40 7000AF40 02002025 */ move $a0, $s0
/* 00BB44 7000AF44 26520001 */ addiu $s2, $s2, 1
/* 00BB48 7000AF48 5653FFF7 */ bnel $s2, $s3, .L7000AF28
/* 00BB4C 7000AF4C 00008025 */ move $s0, $zero
/* 00BB50 7000AF50 0C002BB7 */ jal debugMenuSetTextPOStoOffset
/* 00BB54 7000AF54 00000000 */ nop
/* 00BB58 7000AF58 0C002B68 */ jal null_function_7000ADA0
/* 00BB5C 7000AF5C 00000000 */ nop
/* 00BB60 7000AF60 8FBF0024 */ lw $ra, 0x24($sp)
/* 00BB64 7000AF64 3C018002 */ lui $at, %hi(string_formatting) # $at, 0x8002
/* 00BB68 7000AF68 8FB00014 */ lw $s0, 0x14($sp)
/* 00BB6C 7000AF6C 8FB10018 */ lw $s1, 0x18($sp)
/* 00BB70 7000AF70 8FB2001C */ lw $s2, 0x1c($sp)
/* 00BB74 7000AF74 8FB30020 */ lw $s3, 0x20($sp)
/* 00BB78 7000AF78 AC206810 */ sw $zero, %lo(string_formatting)($at)
/* 00BB7C 7000AF7C 03E00008 */ jr $ra
/* 00BB80 7000AF80 27BD0028 */ addiu $sp, $sp, 0x28
)
#endif
void stubbed_function_7000AF84(s32 arg0, s32 arg1, s32 arg2, s32 arg3) {
void stubbed_function_7000AF84(s32 arg0, s32 arg1, s32 arg2, s32 arg3)
{
return;
}
@ -296,42 +355,48 @@ void stubbed_function_7000AF84(s32 arg0, s32 arg1, s32 arg2, s32 arg3) {
#ifdef NONMATCHING
s32 something_debug_info_related(s32 arg0) {
s32 temp_s3;
void something_debug_info_related(s32 arg0)
{
s32 temp_s0;
s32 temp_s0_2;
s32 phi_s3;
s32 phi_s0;
s32 phi_s1;
s32 phi_s0_2;
// Node 0
temp_s3 = (arg0 + 0x21);
// Node 1
if ((temp_s3 >= 0) && (temp_s3 < 0x23))
phi_s3 = arg0 + 0x21;
phi_s1 = 0x21;
loop_1:
if ((phi_s3 >= 0) && (phi_s3 < 0x23))
{
loop_3:
// Node 3
stubbed_function_7000AF84(0, temp_s3, 0, 0x21);
if ((0 + 1) != 0x50)
loop_3:
stubbed_function_7000AF84(phi_s0, phi_s3, phi_s0, phi_s1);
temp_s0 = phi_s0 + 1;
phi_s0 = temp_s0;
if (temp_s0 != 0x50)
{
goto loop_3;
}
// Node 4
}
else
{
// Node 5
// Node 6
display_text_to_coord(0, 0x21, 0);
if ((0 + 1) != 0x50)
phi_s0_2 = 0;
loop_6:
display_text_to_coord(phi_s0_2, phi_s1, 0);
temp_s0_2 = phi_s0_2 + 1;
phi_s0_2 = temp_s0_2;
if (temp_s0_2 != 0x50)
{
goto loop_6;
}
// Node 7
}
// Node 8
if ((0x21 + -1) != 0)
phi_s3 = phi_s3 - 1;
phi_s1 = phi_s1 - 1;
if (phi_s1 != 0)
{
goto loop_1;
}
// (possible return value: 0x21)
}
#else
GLOBAL_ASM(
.text
@ -389,22 +454,20 @@ glabel something_debug_info_related
#ifdef NONMATCHING
void set_final_debug_text_positions(s32 arg0, s32 arg1) {
// Node 0
debug_menu_x_text_pos = (s32) (arg0 + debug_menu_x_pos_offset);
debug_menu_y_text_pos = (s32) (arg1 + debug_menu_y_pos_offset);
return;
// (function likely void)
void set_final_debug_text_positions(s32 xadjust,s32 yadjust)
{
debug_menu_x_text_pos = xadjust + debug_menu_x_pos_offset;
debug_menu_y_text_pos = yadjust + debug_menu_y_pos_offset;
}
#else
GLOBAL_ASM(
.text
glabel set_final_debug_text_positions
/* 00BC40 7000B040 3C0E8002 */ lui $t6, %hi(debug_menu_x_pos_offset) # $t6, 0x8002
/* 00BC40 7000B040 3C0E8002 */ lui $t6, %hi(debug_menu_x_pos_offset)
/* 00BC44 7000B044 8DCE4FA0 */ lw $t6, %lo(debug_menu_x_pos_offset)($t6)
/* 00BC48 7000B048 3C0F8002 */ lui $t7, %hi(debug_menu_y_pos_offset) # $t7, 0x8002
/* 00BC48 7000B048 3C0F8002 */ lui $t7, %hi(debug_menu_y_pos_offset)
/* 00BC4C 7000B04C 8DEF4FA4 */ lw $t7, %lo(debug_menu_y_pos_offset)($t7)
/* 00BC50 7000B050 3C018002 */ lui $at, %hi(debug_menu_x_text_pos) # $at, 0x8002
/* 00BC50 7000B050 3C018002 */ lui $at, %hi(debug_menu_x_text_pos)
/* 00BC54 7000B054 008E2021 */ addu $a0, $a0, $t6
/* 00BC58 7000B058 AC244FA8 */ sw $a0, %lo(debug_menu_x_text_pos)($at)
/* 00BC5C 7000B05C 3C018002 */ lui $at, %hi(debug_menu_y_text_pos)
@ -419,11 +482,14 @@ glabel set_final_debug_text_positions
void set_debug_text_color(s32 red,s32 blue,s32 green,s32 alpha){
void set_debug_text_color(s32 red,s32 blue,s32 green,s32 alpha)
{
debug_text_color = red << 0x18 | blue << 0x10 | green << 8 | 0xffU - alpha;
}
void set_color_speedgraph(s32 red,s32 green,s32 blue,s32 alpha) {
void set_color_speedgraph(s32 red,s32 green,s32 blue,s32 alpha)
{
speedgraph_color = red << 0x18 | green << 0x10 | blue << 8 | 0xffU - alpha;
}
@ -432,56 +498,30 @@ void set_color_speedgraph(s32 red,s32 green,s32 blue,s32 alpha) {
#ifdef NONMATCHING
void *write_char_to_screen(s32 arg0, s32 arg_unaligned3)
void write_char_to_screen(u8 character)
{
s32 sp24;
s32 sp20;
s32 sp1C;
s32 temp_t6;
s32 temp_lo;
s32 temp_t1;
s32 temp_t6_2;
s32 phi_t7;
temp_t6 = (get_video2_settings_txtClipW() + -0xd);
phi_t7 = (temp_t6 >> 2);
if (temp_t6 < 0)
{
phi_t7 = ((s32) (temp_t6 + 3) >> 2);
short txtClipW;
short txtClipH;
int start_pos;
txtClipW = get_video2_settings_txtClipW();
start_pos = (int)txtClipW + -0xd;
if (start_pos < 0) {
start_pos = (int)txtClipW + -10;
}
txtClipH = get_video2_settings_txtClipH();
if ((character == 0) || ((0x1f < character && (character < 0x7f)))) {
display_text_to_coord(debug_menu_x_text_pos,debug_menu_y_text_pos,character);
}
debug_menu_x_text_pos += 1;
if (((character == 0xd) || (character == 10)) || (start_pos >> 2 <= debug_menu_x_text_pos)) {
debug_menu_y_text_pos += 1;
debug_menu_x_text_pos = debug_menu_x_pos_offset;
if (((int)txtClipH + -10) / 7 <= debug_menu_y_text_pos) {
debug_menu_y_text_pos = debug_menu_y_pos_offset;
}
sp24 = (s32) phi_t7;
temp_lo = ((s32) (get_video2_settings_txtClipH() + -0xa) / 7);
if ((arg_unaligned3 != 0) && (arg_unaligned3 >= 0x20))
{
if (arg_unaligned3 < 0x7f)
{
block_5:
sp1C = arg_unaligned3;
sp20 = temp_lo;
display_text_to_coord(debug_menu_x_text_pos, debug_menu_y_text_pos, arg_unaligned3, &debug_menu_y_text_pos);
}
}
else
{
goto block_5;
}
temp_t1 = (debug_menu_x_text_pos + 1);
debug_menu_x_text_pos = temp_t1;
if (((arg_unaligned3 == 0xd) || (arg_unaligned3 == 0xa)) || (temp_t1 >= sp24))
{
temp_t6_2 = (debug_menu_y_text_pos + 1);
debug_menu_y_text_pos = temp_t6_2;
debug_menu_x_text_pos = (s32) debug_menu_x_pos_offset;
if (temp_t6_2 >= temp_lo)
{
debug_menu_y_text_pos = (s32) debug_menu_y_pos_offset;
}
}
else
{
}
return &debug_menu_x_text_pos;
}
}
#else
GLOBAL_ASM(
@ -504,7 +544,7 @@ glabel write_char_to_screen
/* 00BCF8 7000B0F8 0101001A */ div $zero, $t0, $at
/* 00BCFC 7000B0FC 93A6002B */ lbu $a2, 0x2b($sp)
/* 00BD00 7000B100 00004012 */ mflo $t0
/* 00BD04 7000B104 3C028002 */ lui $v0, %hi(debug_menu_x_text_pos) # $v0, 0x8002
/* 00BD04 7000B104 3C028002 */ lui $v0, %hi(debug_menu_x_text_pos)
/* 00BD08 7000B108 10C00005 */ beqz $a2, .L7000B120
/* 00BD0C 7000B10C 00C01825 */ move $v1, $a2
/* 00BD10 7000B110 28610020 */ slti $at, $v1, 0x20
@ -512,7 +552,7 @@ glabel write_char_to_screen
/* 00BD18 7000B118 2861007F */ slti $at, $v1, 0x7f
/* 00BD1C 7000B11C 1020000A */ beqz $at, .L7000B148
.L7000B120:
/* 00BD20 7000B120 3C078002 */ lui $a3, %hi(debug_menu_y_text_pos) # $a3, 0x8002
/* 00BD20 7000B120 3C078002 */ lui $a3, %hi(debug_menu_y_text_pos)
/* 00BD24 7000B124 24E74FAC */ addiu $a3, %lo(debug_menu_y_text_pos) # addiu $a3, $a3, 0x4fac
/* 00BD28 7000B128 24424FA8 */ addiu $v0, %lo(debug_menu_x_text_pos) # addiu $v0, $v0, 0x4fa8
/* 00BD2C 7000B12C 8C440000 */ lw $a0, ($v0)
@ -523,10 +563,10 @@ glabel write_char_to_screen
/* 00BD40 7000B140 8FA3001C */ lw $v1, 0x1c($sp)
/* 00BD44 7000B144 8FA80020 */ lw $t0, 0x20($sp)
.L7000B148:
/* 00BD48 7000B148 3C028002 */ lui $v0, %hi(debug_menu_x_text_pos) # $v0, 0x8002
/* 00BD48 7000B148 3C028002 */ lui $v0, %hi(debug_menu_x_text_pos)
/* 00BD4C 7000B14C 24424FA8 */ addiu $v0, %lo(debug_menu_x_text_pos) # addiu $v0, $v0, 0x4fa8
/* 00BD50 7000B150 8C590000 */ lw $t9, ($v0)
/* 00BD54 7000B154 3C078002 */ lui $a3, %hi(debug_menu_y_text_pos) # $a3, 0x8002
/* 00BD54 7000B154 3C078002 */ lui $a3, %hi(debug_menu_y_text_pos)
/* 00BD58 7000B158 2401000D */ li $at, 13
/* 00BD5C 7000B15C 27290001 */ addiu $t1, $t9, 1
/* 00BD60 7000B160 24E74FAC */ addiu $a3, %lo(debug_menu_y_text_pos) # addiu $a3, $a3, 0x4fac
@ -540,14 +580,14 @@ glabel write_char_to_screen
/* 00BD80 7000B180 8FBF0014 */ lw $ra, 0x14($sp)
.L7000B184:
/* 00BD84 7000B184 8CED0000 */ lw $t5, ($a3)
/* 00BD88 7000B188 3C0C8002 */ lui $t4, %hi(debug_menu_x_pos_offset) # $t4, 0x8002
/* 00BD88 7000B188 3C0C8002 */ lui $t4, %hi(debug_menu_x_pos_offset)
/* 00BD8C 7000B18C 8D8C4FA0 */ lw $t4, %lo(debug_menu_x_pos_offset)($t4)
/* 00BD90 7000B190 25AE0001 */ addiu $t6, $t5, 1
/* 00BD94 7000B194 01C8082A */ slt $at, $t6, $t0
/* 00BD98 7000B198 ACEE0000 */ sw $t6, ($a3)
/* 00BD9C 7000B19C 14200004 */ bnez $at, .L7000B1B0
/* 00BDA0 7000B1A0 AC4C0000 */ sw $t4, ($v0)
/* 00BDA4 7000B1A4 3C188002 */ lui $t8, %hi(debug_menu_y_pos_offset) # $t8, 0x8002
/* 00BDA4 7000B1A4 3C188002 */ lui $t8, %hi(debug_menu_y_pos_offset)
/* 00BDA8 7000B1A8 8F184FA4 */ lw $t8, %lo(debug_menu_y_pos_offset)($t8)
/* 00BDAC 7000B1AC ACF80000 */ sw $t8, ($a3)
.L7000B1B0:
@ -561,32 +601,12 @@ glabel write_char_to_screen
#ifdef NONMATCHING
void debug_text_related_0(? arg2, ? arg8) {
// Node 0
set_final_debug_text_positions();
write_char_to_screen(arg8);
return;
// (possible return value: write_char_to_screen(arg8))
void debug_printcharatpos(int x,int y, u8 character)
{
set_final_debug_text_positions(x,y);
write_char_to_screen(character);
}
#else
GLOBAL_ASM(
.text
glabel debug_text_related_0
/* 00BDC0 7000B1C0 27BDFFE8 */ addiu $sp, $sp, -0x18
/* 00BDC4 7000B1C4 AFBF0014 */ sw $ra, 0x14($sp)
/* 00BDC8 7000B1C8 0C002C10 */ jal set_final_debug_text_positions
/* 00BDCC 7000B1CC AFA60020 */ sw $a2, 0x20($sp)
/* 00BDD0 7000B1D0 0C002C31 */ jal write_char_to_screen
/* 00BDD4 7000B1D4 93A40023 */ lbu $a0, 0x23($sp)
/* 00BDD8 7000B1D8 8FBF0014 */ lw $ra, 0x14($sp)
/* 00BDDC 7000B1DC 27BD0018 */ addiu $sp, $sp, 0x18
/* 00BDE0 7000B1E0 03E00008 */ jr $ra
/* 00BDE4 7000B1E4 00000000 */ nop
)
#endif
@ -883,7 +903,7 @@ glabel read_screen_display_block_and_write_chars
/* 00BE80 7000B280 AFB5002C */ sw $s5, 0x2c($sp)
/* 00BE84 7000B284 AFB1001C */ sw $s1, 0x1c($sp)
/* 00BE88 7000B288 AFB00018 */ sw $s0, 0x18($sp)
/* 00BE8C 7000B28C 3C078002 */ lui $a3, %hi(stdout_primary_color_table) # $a3, 0x8002
/* 00BE8C 7000B28C 3C078002 */ lui $a3, %hi(stdout_primary_color_table)
/* 00BE90 7000B290 00808025 */ move $s0, $a0
/* 00BE94 7000B294 AFBF003C */ sw $ra, 0x3c($sp)
/* 00BE98 7000B298 AFBE0038 */ sw $fp, 0x38($sp)
@ -929,7 +949,7 @@ glabel read_screen_display_block_and_write_chars
.L7000B32C:
/* 00BF2C 7000B32C 1C600004 */ bgtz $v1, .L7000B340
/* 00BF30 7000B330 2414FFFF */ li $s4, -1
/* 00BF34 7000B334 3C018002 */ lui $at, %hi(D_800268B8) # $at, 0x8002
/* 00BF34 7000B334 3C018002 */ lui $at, %hi(D_800268B8)
/* 00BF38 7000B338 10000017 */ b .L7000B398
/* 00BF3C 7000B33C AC2068B8 */ sw $zero, %lo(D_800268B8)($at)
.L7000B340:
@ -949,25 +969,25 @@ glabel read_screen_display_block_and_write_chars
/* 00BF70 7000B370 00000000 */ nop
/* 00BF74 7000B374 0006000D */ break 6
.L7000B378:
/* 00BF78 7000B378 3C018002 */ lui $at, %hi(D_800268B8) # $at, 0x8002
/* 00BF78 7000B378 3C018002 */ lui $at, %hi(D_800268B8)
/* 00BF7C 7000B37C 0000C012 */ mflo $t8
/* 00BF80 7000B380 AC3868B8 */ sw $t8, %lo(D_800268B8)($at)
/* 00BF84 7000B384 10000005 */ b .L7000B39C
/* 00BF88 7000B388 02001025 */ move $v0, $s0
.L7000B38C:
/* 00BF8C 7000B38C 24190100 */ li $t9, 256
/* 00BF90 7000B390 3C018002 */ lui $at, %hi(D_800268B8) # $at, 0x8002
/* 00BF90 7000B390 3C018002 */ lui $at, %hi(D_800268B8)
/* 00BF94 7000B394 AC3968B8 */ sw $t9, %lo(D_800268B8)($at)
.L7000B398:
/* 00BF98 7000B398 02001025 */ move $v0, $s0
.L7000B39C:
/* 00BF9C 7000B39C 3C0A8002 */ lui $t2, %hi(stdout_display_list) # $t2, 0x8002
/* 00BF9C 7000B39C 3C0A8002 */ lui $t2, %hi(stdout_display_list)
/* 00BFA0 7000B3A0 254A4FB0 */ addiu $t2, %lo(stdout_display_list) # addiu $t2, $t2, 0x4fb0
/* 00BFA4 7000B3A4 3C090600 */ lui $t1, 0x600
/* 00BFA8 7000B3A8 AC490000 */ sw $t1, ($v0)
/* 00BFAC 7000B3AC AC4A0004 */ sw $t2, 4($v0)
/* 00BFB0 7000B3B0 3C1E8002 */ lui $fp, %hi(stdout_environment_color_table) # $fp, 0x8002
/* 00BFB4 7000B3B4 3C178002 */ lui $s7, %hi(stdout_primary_color_table) # $s7, 0x8002
/* 00BFB0 7000B3B0 3C1E8002 */ lui $fp, %hi(stdout_environment_color_table)
/* 00BFB4 7000B3B4 3C178002 */ lui $s7, %hi(stdout_primary_color_table)
/* 00BFB8 7000B3B8 26100008 */ addiu $s0, $s0, 8
/* 00BFBC 7000B3BC 26F76610 */ addiu $s7, %lo(stdout_primary_color_table) # addiu $s7, $s7, 0x6610
/* 00BFC0 7000B3C0 27DE6710 */ addiu $fp, %lo(stdout_environment_color_table) # addiu $fp, $fp, 0x6710
@ -976,7 +996,7 @@ glabel read_screen_display_block_and_write_chars
/* 00BFCC 7000B3CC 24160050 */ li $s6, 80
.L7000B3D0:
/* 00BFD0 7000B3D0 8FAB0040 */ lw $t3, 0x40($sp)
/* 00BFD4 7000B3D4 3C0C8002 */ lui $t4, %hi(stdout_debug_menu_screen_buffer) # $t4, 0x8002
/* 00BFD4 7000B3D4 3C0C8002 */ lui $t4, %hi(stdout_debug_menu_screen_buffer)
/* 00BFD8 7000B3D8 258C5030 */ addiu $t4, %lo(stdout_debug_menu_screen_buffer) # addiu $t4, $t4, 0x5030
/* 00BFDC 7000B3DC 00008825 */ move $s1, $zero
/* 00BFE0 7000B3E0 016C9021 */ addu $s2, $t3, $t4
@ -1002,7 +1022,7 @@ glabel read_screen_display_block_and_write_chars
.L7000B42C:
/* 00C02C 7000B42C 0C002914 */ jal get_random_value
/* 00C030 7000B430 00000000 */ nop
/* 00C034 7000B434 3C0B8002 */ lui $t3, %hi(D_800268B8) # $t3, 0x8002
/* 00C034 7000B434 3C0B8002 */ lui $t3, %hi(D_800268B8)
/* 00C038 7000B438 8D6B68B8 */ lw $t3, %lo(D_800268B8)($t3)
/* 00C03C 7000B43C 304A00FF */ andi $t2, $v0, 0xff
/* 00C040 7000B440 014B082B */ sltu $at, $t2, $t3

7
src/debugmenu.h Normal file
View File

@ -0,0 +1,7 @@
#ifndef _DEBUGMENU_H_
#define _DEBUGMENU_H_
#include <ultra64.h>
void blank_debug_buffer_chars(void);
#endif

File diff suppressed because it is too large Load Diff

View File

@ -268,7 +268,7 @@ glabel sub_GAME_7F01C1A4
/* 050CE4 7F01C1B4 AC8E0000 */ sw $t6, ($a0)
/* 050CE8 7F01C1B8 00801825 */ move $v1, $a0
/* 050CEC 7F01C1BC 24850008 */ addiu $a1, $a0, 8
/* 050CF0 7F01C1C0 3C048007 */ lui $a0, %hi(matrix_buffer_gunbarrel_0) # $a0, 0x8007
/* 050CF0 7F01C1C0 3C048007 */ lui $a0, %hi(matrix_buffer_gunbarrel_0)
/* 050CF4 7F01C1C4 8C84955C */ lw $a0, %lo(matrix_buffer_gunbarrel_0)($a0)
/* 050CF8 7F01C1C8 AFA50020 */ sw $a1, 0x20($sp)
/* 050CFC 7F01C1CC 0C003A2C */ jal osVirtualToPhysical
@ -278,10 +278,10 @@ glabel sub_GAME_7F01C1A4
/* 050D0C 7F01C1DC 3C0F0102 */ lui $t7, (0x01020040 >> 16) # lui $t7, 0x102
/* 050D10 7F01C1E0 35EF0040 */ ori $t7, (0x01020040 & 0xFFFF) # ori $t7, $t7, 0x40
/* 050D14 7F01C1E4 AC620004 */ sw $v0, 4($v1)
/* 050D18 7F01C1E8 3C188003 */ lui $t8, %hi(D_8002A7D0) # $t8, 0x8003
/* 050D18 7F01C1E8 3C188003 */ lui $t8, %hi(D_8002A7D0)
/* 050D1C 7F01C1EC AD0F0000 */ sw $t7, ($t0)
/* 050D20 7F01C1F0 8F18A7D0 */ lw $t8, %lo(D_8002A7D0)($t8)
/* 050D24 7F01C1F4 3C098007 */ lui $t1, %hi(matrix_buffer_rarelogo_2) # $t1, 0x8007
/* 050D24 7F01C1F4 3C098007 */ lui $t1, %hi(matrix_buffer_rarelogo_2)
/* 050D28 7F01C1F8 8D299564 */ lw $t1, %lo(matrix_buffer_rarelogo_2)($t1)
/* 050D2C 7F01C1FC 25050008 */ addiu $a1, $t0, 8
/* 050D30 7F01C200 0018C980 */ sll $t9, $t8, 6
@ -294,14 +294,14 @@ glabel sub_GAME_7F01C1A4
/* 050D4C 7F01C21C 3C0AE700 */ lui $t2, 0xe700
/* 050D50 7F01C220 24640008 */ addiu $a0, $v1, 8
/* 050D54 7F01C224 AD020004 */ sw $v0, 4($t0)
/* 050D58 7F01C228 3C0BBA00 */ lui $t3, (0xBA001402 >> 16) # lui $t3, 0xba00
/* 050D58 7F01C228 3C0BBA00 */ lui $t3, (0xBA001402 >> 16) # lui $t3, 0xba00 gDPSetCycleType(2cycle)
/* 050D5C 7F01C22C AC600004 */ sw $zero, 4($v1)
/* 050D60 7F01C230 AC6A0000 */ sw $t2, ($v1)
/* 050D64 7F01C234 356B1402 */ ori $t3, (0xBA001402 & 0xFFFF) # ori $t3, $t3, 0x1402
/* 050D68 7F01C238 24860008 */ addiu $a2, $a0, 8
/* 050D6C 7F01C23C AC8B0000 */ sw $t3, ($a0)
/* 050D70 7F01C240 AC800004 */ sw $zero, 4($a0)
/* 050D74 7F01C244 3C0CB900 */ lui $t4, (0xB900031D >> 16) # lui $t4, 0xb900
/* 050D74 7F01C244 3C0CB900 */ lui $t4, (0xB900031D >> 16) # lui $t4, 0xb900 gDPSetRenderMode(AAOpaSurf)
/* 050D78 7F01C248 3C0D0055 */ lui $t5, (0x00552048 >> 16) # lui $t5, 0x55
/* 050D7C 7F01C24C 35AD2048 */ ori $t5, (0x00552048 & 0xFFFF) # ori $t5, $t5, 0x2048
/* 050D80 7F01C250 358C031D */ ori $t4, (0xB900031D & 0xFFFF) # ori $t4, $t4, 0x31d
@ -335,20 +335,20 @@ glabel die_blood_image_routine
/* 050DBC 7F01C28C AFB10020 */ sw $s1, 0x20($sp)
/* 050DC0 7F01C290 14800008 */ bnez $a0, .L7F01C2B4
/* 050DC4 7F01C294 AFB0001C */ sw $s0, 0x1c($sp)
/* 050DC8 7F01C298 3C118008 */ lui $s1, %hi(ptr_BONDdata) # $s1, 0x8008
/* 050DCC 7F01C29C 2631A0B0 */ addiu $s1, %lo(ptr_BONDdata) # addiu $s1, $s1, -0x5f50
/* 050DC8 7F01C298 3C118008 */ lui $s1, %hi(pPlayer)
/* 050DCC 7F01C29C 2631A0B0 */ addiu $s1, %lo(pPlayer) # addiu $s1, $s1, -0x5f50
/* 050DD0 7F01C2A0 8E2F0000 */ lw $t7, ($s1)
/* 050DD4 7F01C2A4 3C0E8003 */ lui $t6, %hi(die_blood_image_1) # $t6, 0x8003
/* 050DD4 7F01C2A4 3C0E8003 */ lui $t6, %hi(die_blood_image_1)
/* 050DD8 7F01C2A8 25CEBB30 */ addiu $t6, %lo(die_blood_image_1) # addiu $t6, $t6, -0x44d0
/* 050DDC 7F01C2AC 1000000D */ b .L7F01C2E4
/* 050DE0 7F01C2B0 ADEE11A8 */ sw $t6, 0x11a8($t7)
.L7F01C2B4:
/* 050DE4 7F01C2B4 24010001 */ li $at, 1
/* 050DE8 7F01C2B8 1481000A */ bne $a0, $at, .L7F01C2E4
/* 050DEC 7F01C2BC 3C118008 */ lui $s1, %hi(ptr_BONDdata) # $s1, 0x8008
/* 050DF0 7F01C2C0 2631A0B0 */ addiu $s1, %lo(ptr_BONDdata) # addiu $s1, $s1, -0x5f50
/* 050DEC 7F01C2BC 3C118008 */ lui $s1, %hi(pPlayer)
/* 050DF0 7F01C2C0 2631A0B0 */ addiu $s1, %lo(pPlayer) # addiu $s1, $s1, -0x5f50
/* 050DF4 7F01C2C4 8E300000 */ lw $s0, ($s1)
/* 050DF8 7F01C2C8 3C188003 */ lui $t8, %hi(D_8002C50C) # $t8, 0x8003
/* 050DF8 7F01C2C8 3C188003 */ lui $t8, %hi(D_8002C50C)
/* 050DFC 7F01C2CC 2718C50C */ addiu $t8, %lo(D_8002C50C) # addiu $t8, $t8, -0x3af4
/* 050E00 7F01C2D0 8E0211AC */ lw $v0, 0x11ac($s0)
/* 050E04 7F01C2D4 0058082B */ sltu $at, $v0, $t8
@ -356,8 +356,8 @@ glabel die_blood_image_routine
/* 050E0C 7F01C2DC 00000000 */ nop
/* 050E10 7F01C2E0 AE0211A8 */ sw $v0, 0x11a8($s0)
.L7F01C2E4:
/* 050E14 7F01C2E4 3C118008 */ lui $s1, %hi(ptr_BONDdata) # $s1, 0x8008
/* 050E18 7F01C2E8 2631A0B0 */ addiu $s1, %lo(ptr_BONDdata) # addiu $s1, $s1, -0x5f50
/* 050E14 7F01C2E4 3C118008 */ lui $s1, %hi(pPlayer)
/* 050E18 7F01C2E8 2631A0B0 */ addiu $s1, %lo(pPlayer) # addiu $s1, $s1, -0x5f50
/* 050E1C 7F01C2EC 8E300000 */ lw $s0, ($s1)
/* 050E20 7F01C2F0 24080001 */ li $t0, 1
/* 050E24 7F01C2F4 24041E00 */ li $a0, 7680
@ -418,7 +418,7 @@ glabel die_blood_image_routine
/* 050F00 7F01C3D0 00803025 */ move $a2, $a0
/* 050F04 7F01C3D4 8E390000 */ lw $t9, ($s1)
/* 050F08 7F01C3D8 8FBF0024 */ lw $ra, 0x24($sp)
/* 050F0C 7F01C3DC 3C0A8003 */ lui $t2, %hi(D_8002C50C) # $t2, 0x8003
/* 050F0C 7F01C3DC 3C0A8003 */ lui $t2, %hi(D_8002C50C)
/* 050F10 7F01C3E0 8F2911AC */ lw $t1, 0x11ac($t9)
/* 050F14 7F01C3E4 254AC50C */ addiu $t2, %lo(D_8002C50C) # addiu $t2, $t2, -0x3af4
/* 050F18 7F01C3E8 8FB10020 */ lw $s1, 0x20($sp)
@ -443,7 +443,7 @@ glabel sub_GAME_7F01C400
/* 050F30 7F01C400 27BDFF90 */ addiu $sp, $sp, -0x70
/* 050F34 7F01C404 AFBF001C */ sw $ra, 0x1c($sp)
/* 050F38 7F01C408 AFB00018 */ sw $s0, 0x18($sp)
/* 050F3C 7F01C40C 3C0EBA00 */ lui $t6, (0xBA000E02 >> 16) # lui $t6, 0xba00
/* 050F3C 7F01C40C 3C0EBA00 */ lui $t6, (0xBA000E02 >> 16) # lui $t6, 0xba00 #G_SETOTHERMODE_H
/* 050F40 7F01C410 35CE0E02 */ ori $t6, (0xBA000E02 & 0xFFFF) # ori $t6, $t6, 0xe02
/* 050F44 7F01C414 AC8E0000 */ sw $t6, ($a0)
/* 050F48 7F01C418 AC800004 */ sw $zero, 4($a0)
@ -458,8 +458,8 @@ glabel sub_GAME_7F01C400
/* 050F6C 7F01C43C 3C19BB00 */ lui $t9, (0xBB000001 >> 16) # lui $t9, 0xbb00
/* 050F70 7F01C440 37390001 */ ori $t9, (0xBB000001 & 0xFFFF) # ori $t9, $t9, 1
/* 050F74 7F01C444 AC590000 */ sw $t9, ($v0)
/* 050F78 7F01C448 3C088000 */ lui $t0, (0x80008000 >> 16) # lui $t0, 0x8000
/* 050F7C 7F01C44C 3C09B900 */ lui $t1, (0xB900031D >> 16) # lui $t1, 0xb900
/* 050F78 7F01C448 3C088000 */ lui $t0, (0x80008000 >> 16)
/* 050F7C 7F01C44C 3C09B900 */ lui $t1, (0xB900031D >> 16) # lui $t1, 0xb900 #gDPSetRenderMode(OpaSurf)
/* 050F80 7F01C450 3C0A0050 */ lui $t2, (0x00504340 >> 16) # lui $t2, 0x50
/* 050F84 7F01C454 3C0BFC11 */ lui $t3, (0xFC119623 >> 16) # lui $t3, 0xfc11
/* 050F88 7F01C458 3C0CFF2F */ lui $t4, (0xFF2FFFFF >> 16) # lui $t4, 0xff2f
@ -470,7 +470,7 @@ glabel sub_GAME_7F01C400
/* 050F9C 7F01C46C 354A4340 */ ori $t2, (0x00504340 & 0xFFFF) # ori $t2, $t2, 0x4340
/* 050FA0 7F01C470 3529031D */ ori $t1, (0xB900031D & 0xFFFF) # ori $t1, $t1, 0x31d
/* 050FA4 7F01C474 358CFFFF */ ori $t4, (0xFF2FFFFF & 0xFFFF) # ori $t4, $t4, 0xffff
/* 050FA8 7F01C478 356B9623 */ ori $t3, (0xFC119623 & 0xFFFF) # ori $t3, $t3, 0x9623
/* 050FA8 7F01C478 356B9623 */ ori $t3, (0xFC119623 & 0xFFFF) # ori $t3, $t3, 0x9623 #setcombine()
/* 050FAC 7F01C47C 35AD0602 */ ori $t5, (0xBA000602 & 0xFFFF) # ori $t5, $t5, 0x602
/* 050FB0 7F01C480 35EF00B4 */ ori $t7, (0x960000B4 & 0xFFFF) # ori $t7, $t7, 0xb4
/* 050FB4 7F01C484 3C0EFA00 */ lui $t6, 0xfa00
@ -488,8 +488,8 @@ glabel sub_GAME_7F01C400
/* 050FE4 7F01C4B4 AC580028 */ sw $t8, 0x28($v0)
/* 050FE8 7F01C4B8 AC40002C */ sw $zero, 0x2c($v0)
/* 050FEC 7F01C4BC AC590030 */ sw $t9, 0x30($v0)
/* 050FF0 7F01C4C0 3C038008 */ lui $v1, %hi(ptr_BONDdata) # $v1, 0x8008
/* 050FF4 7F01C4C4 8C63A0B0 */ lw $v1, %lo(ptr_BONDdata)($v1)
/* 050FF0 7F01C4C0 3C038008 */ lui $v1, %hi(pPlayer)
/* 050FF4 7F01C4C4 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1)
/* 050FF8 7F01C4C8 3C018000 */ lui $at, 0x8000
/* 050FFC 7F01C4CC 3C190777 */ lui $t9, (0x0777F156 >> 16) # lui $t9, 0x777
/* 051000 7F01C4D0 8C6811B8 */ lw $t0, 0x11b8($v1)
@ -618,20 +618,20 @@ glabel sub_GAME_7F01C670
/* 0511A8 7F01C678 AFBF001C */ sw $ra, 0x1c($sp)
/* 0511AC 7F01C67C AFB10018 */ sw $s1, 0x18($sp)
/* 0511B0 7F01C680 24900008 */ addiu $s0, $a0, 8
/* 0511B4 7F01C684 3C0EBA00 */ lui $t6, (0xBA000E02 >> 16) # lui $t6, 0xba00
/* 0511B4 7F01C684 3C0EBA00 */ lui $t6, (0xBA000E02 >> 16) # lui $t6, 0xba00 #G_SETOTHERMODE_H()
/* 0511B8 7F01C688 35CE0E02 */ ori $t6, (0xBA000E02 & 0xFFFF) # ori $t6, $t6, 0xe02
/* 0511BC 7F01C68C 02001825 */ move $v1, $s0
/* 0511C0 7F01C690 3C0FBA00 */ lui $t7, (0xBA000C02 >> 16) # lui $t7, 0xba00
/* 0511C4 7F01C694 AC8E0000 */ sw $t6, ($a0)
/* 0511C8 7F01C698 AC800004 */ sw $zero, 4($a0)
/* 0511CC 7F01C69C 35EF0C02 */ ori $t7, (0xBA000C02 & 0xFFFF) # ori $t7, $t7, 0xc02
/* 0511CC 7F01C69C 35EF0C02 */ ori $t7, (0xBA000C02 & 0xFFFF) # ori $t7, $t7, 0xc02 #G_SETOTHERMODE_H()
/* 0511D0 7F01C6A0 26100008 */ addiu $s0, $s0, 8
/* 0511D4 7F01C6A4 AC6F0000 */ sw $t7, ($v1)
/* 0511D8 7F01C6A8 24182000 */ li $t8, 8192
/* 0511DC 7F01C6AC 02002825 */ move $a1, $s0
/* 0511E0 7F01C6B0 AC780004 */ sw $t8, 4($v1)
/* 0511E4 7F01C6B4 26100008 */ addiu $s0, $s0, 8
/* 0511E8 7F01C6B8 3C19BA00 */ lui $t9, (0xBA001402 >> 16) # lui $t9, 0xba00
/* 0511E8 7F01C6B8 3C19BA00 */ lui $t9, (0xBA001402 >> 16) # lui $t9, 0xba00 #gDPSetCycleType(2Cycle)
/* 0511EC 7F01C6BC 37391402 */ ori $t9, (0xBA001402 & 0xFFFF) # ori $t9, $t9, 0x1402
/* 0511F0 7F01C6C0 02003025 */ move $a2, $s0
/* 0511F4 7F01C6C4 ACB90000 */ sw $t9, ($a1)
@ -643,7 +643,7 @@ glabel sub_GAME_7F01C670
/* 05120C 7F01C6DC ACC80000 */ sw $t0, ($a2)
/* 051210 7F01C6E0 02003825 */ move $a3, $s0
/* 051214 7F01C6E4 26100008 */ addiu $s0, $s0, 8
/* 051218 7F01C6E8 3C0ABB00 */ lui $t2, (0xBB000001 >> 16) # lui $t2, 0xbb00
/* 051218 7F01C6E8 3C0ABB00 */ lui $t2, (0xBB000001 >> 16) # lui $t2, 0xbb00
/* 05121C 7F01C6EC 3C0B8000 */ lui $t3, (0x80008000 >> 16) # lui $t3, 0x8000
/* 051220 7F01C6F0 356B8000 */ ori $t3, (0x80008000 & 0xFFFF) # ori $t3, $t3, 0x8000
/* 051224 7F01C6F4 354A0001 */ ori $t2, (0xBB000001 & 0xFFFF) # ori $t2, $t2, 1
@ -651,7 +651,7 @@ glabel sub_GAME_7F01C670
/* 05122C 7F01C6FC ACEA0000 */ sw $t2, ($a3)
/* 051230 7F01C700 ACEB0004 */ sw $t3, 4($a3)
/* 051234 7F01C704 26100008 */ addiu $s0, $s0, 8
/* 051238 7F01C708 3C0CB900 */ lui $t4, (0xB900031D >> 16) # lui $t4, 0xb900
/* 051238 7F01C708 3C0CB900 */ lui $t4, (0xB900031D >> 16) # lui $t4, 0xb900 #gDPSetRenderMode()
/* 05123C 7F01C70C 3C0D0050 */ lui $t5, (0x00504340 >> 16) # lui $t5, 0x50
/* 051240 7F01C710 35AD4340 */ ori $t5, (0x00504340 & 0xFFFF) # ori $t5, $t5, 0x4340
/* 051244 7F01C714 358C031D */ ori $t4, (0xB900031D & 0xFFFF) # ori $t4, $t4, 0x31d
@ -659,7 +659,7 @@ glabel sub_GAME_7F01C670
/* 05124C 7F01C71C AC4C0000 */ sw $t4, ($v0)
/* 051250 7F01C720 AC4D0004 */ sw $t5, 4($v0)
/* 051254 7F01C724 3C0FFF2F */ lui $t7, (0xFF2FFFFF >> 16) # lui $t7, 0xff2f
/* 051258 7F01C728 3C0EFC11 */ lui $t6, (0xFC119623 >> 16) # lui $t6, 0xfc11
/* 051258 7F01C728 3C0EFC11 */ lui $t6, (0xFC119623 >> 16) # lui $t6, 0xfc11 #Setcombine()
/* 05125C 7F01C72C 35CE9623 */ ori $t6, (0xFC119623 & 0xFFFF) # ori $t6, $t6, 0x9623
/* 051260 7F01C730 35EFFFFF */ ori $t7, (0xFF2FFFFF & 0xFFFF) # ori $t7, $t7, 0xffff
/* 051264 7F01C734 26100008 */ addiu $s0, $s0, 8
@ -667,7 +667,7 @@ glabel sub_GAME_7F01C670
/* 05126C 7F01C73C AC6E0000 */ sw $t6, ($v1)
/* 051270 7F01C740 02002025 */ move $a0, $s0
/* 051274 7F01C744 26100008 */ addiu $s0, $s0, 8
/* 051278 7F01C748 3C18BA00 */ lui $t8, (0xBA000602 >> 16) # lui $t8, 0xba00
/* 051278 7F01C748 3C18BA00 */ lui $t8, (0xBA000602 >> 16) # lui $t8, 0xba00 #G_SETOTHERMODE_H(envmapping)
/* 05127C 7F01C74C 37180602 */ ori $t8, (0xBA000602 & 0xFFFF) # ori $t8, $t8, 0x602
/* 051280 7F01C750 02002825 */ move $a1, $s0
/* 051284 7F01C754 AC980000 */ sw $t8, ($a0)
@ -679,7 +679,7 @@ glabel sub_GAME_7F01C670
/* 05129C 7F01C76C 02003025 */ move $a2, $s0
/* 0512A0 7F01C770 ACB90000 */ sw $t9, ($a1)
/* 0512A4 7F01C774 ACA80004 */ sw $t0, 4($a1)
/* 0512A8 7F01C778 3C09BA00 */ lui $t1, (0xBA001301 >> 16) # lui $t1, 0xba00
/* 0512A8 7F01C778 3C09BA00 */ lui $t1, (0xBA001301 >> 16) # lui $t1, 0xba00 #G_SETOTHERMODE_H()
/* 0512AC 7F01C77C 35291301 */ ori $t1, (0xBA001301 & 0xFFFF) # ori $t1, $t1, 0x1301
/* 0512B0 7F01C780 26100008 */ addiu $s0, $s0, 8
/* 0512B4 7F01C784 ACC90000 */ sw $t1, ($a2)
@ -687,8 +687,8 @@ glabel sub_GAME_7F01C670
/* 0512BC 7F01C78C 02001025 */ move $v0, $s0
/* 0512C0 7F01C790 3C0AFD90 */ lui $t2, 0xfd90
/* 0512C4 7F01C794 AC4A0000 */ sw $t2, ($v0)
/* 0512C8 7F01C798 3C038008 */ lui $v1, %hi(ptr_BONDdata) # $v1, 0x8008
/* 0512CC 7F01C79C 8C63A0B0 */ lw $v1, %lo(ptr_BONDdata)($v1)
/* 0512C8 7F01C798 3C038008 */ lui $v1, %hi(pPlayer)
/* 0512CC 7F01C79C 8C63A0B0 */ lw $v1, %lo(pPlayer)($v1)
/* 0512D0 7F01C7A0 3C018000 */ lui $at, 0x8000
/* 0512D4 7F01C7A4 26100008 */ addiu $s0, $s0, 8
/* 0512D8 7F01C7A8 8C6B11B8 */ lw $t3, 0x11b8($v1)
@ -724,7 +724,7 @@ glabel sub_GAME_7F01C670
/* 051350 7F01C820 26100008 */ addiu $s0, $s0, 8
/* 051354 7F01C824 ACE00004 */ sw $zero, 4($a3)
/* 051358 7F01C828 3C0D0008 */ lui $t5, (0x00080200 >> 16) # lui $t5, 8
/* 05135C 7F01C82C 3C0CF580 */ lui $t4, (0xF5800C00 >> 16) # lui $t4, 0xf580
/* 05135C 7F01C82C 3C0CF580 */ lui $t4, (0xF5800C00 >> 16) # lui $t4, 0xf580 #settilesize()
/* 051360 7F01C830 358C0C00 */ ori $t4, (0xF5800C00 & 0xFFFF) # ori $t4, $t4, 0xc00
/* 051364 7F01C834 35AD0200 */ ori $t5, (0x00080200 & 0xFFFF) # ori $t5, $t5, 0x200
/* 051368 7F01C838 02001825 */ move $v1, $s0
@ -822,7 +822,7 @@ glabel sub_GAME_7F01C670
/* 0514D0 7F01C9A0 02002025 */ move $a0, $s0
/* 0514D4 7F01C9A4 AC6B0000 */ sw $t3, ($v1)
/* 0514D8 7F01C9A8 AC600004 */ sw $zero, 4($v1)
/* 0514DC 7F01C9AC 3C0CBA00 */ lui $t4, (0xBA000602 >> 16) # lui $t4, 0xba00
/* 0514DC 7F01C9AC 3C0CBA00 */ lui $t4, (0xBA000602 >> 16) # lui $t4, 0xba00 #G_SETOTHERMODE_H()
/* 0514E0 7F01C9B0 16200002 */ bnez $s1, .L7F01C9BC
/* 0514E4 7F01C9B4 00000000 */ nop
/* 0514E8 7F01C9B8 0007000D */ break 7
@ -834,13 +834,13 @@ glabel sub_GAME_7F01C670
/* 0514FC 7F01C9CC 00000000 */ nop
/* 051500 7F01C9D0 0006000D */ break 6
.L7F01C9D4:
/* 051504 7F01C9D4 358C0602 */ ori $t4, (0xBA000602 & 0xFFFF) # ori $t4, $t4, 0x602
/* 051504 7F01C9D4 358C0602 */ ori $t4, (0xBA000602 & 0xFFFF) # ori $t4, $t4, 0x602 #G_SETOTHERMODE_H()
/* 051508 7F01C9D8 26100008 */ addiu $s0, $s0, 8
/* 05150C 7F01C9DC 240F0040 */ li $t7, 64
/* 051510 7F01C9E0 AC8F0004 */ sw $t7, 4($a0)
/* 051514 7F01C9E4 AC8C0000 */ sw $t4, ($a0)
/* 051518 7F01C9E8 02002825 */ move $a1, $s0
/* 05151C 7F01C9EC 3C0EBA00 */ lui $t6, (0xBA001301 >> 16) # lui $t6, 0xba00
/* 05151C 7F01C9EC 3C0EBA00 */ lui $t6, (0xBA001301 >> 16) # lui $t6, 0xba00 #G_SETOTHERMODE_H()
/* 051520 7F01C9F0 35CE1301 */ ori $t6, (0xBA001301 & 0xFFFF) # ori $t6, $t6, 0x1301
/* 051524 7F01C9F4 3C190008 */ lui $t9, 8
/* 051528 7F01C9F8 ACB90004 */ sw $t9, 4($a1)

File diff suppressed because it is too large Load Diff

View File

@ -1,9 +1,15 @@
#ifndef _BOND_H_
#define _BOND_H_
#include "ultra64.h"
#include "game/actor.h"
#include "game/chr.h"
struct xyzpoint
{
f32 x;
f32 y;
f32 z;
};
struct BONDdata
struct Player
{
s32 unknown;
s32 xpos;
@ -44,7 +50,7 @@ struct BONDdata
s32 field_90;
s32 field_94;
s32 field_98;
s32 crouching_flag;
s32 crouchposition;
s32 ducking_height_offset;
s32 field_A4;
s32 position_data_pointer;
@ -59,56 +65,56 @@ struct BONDdata
s32 field_CC;
s32 field_D0;
s32 ptr_char_objectinstance;
s32 death_flag;
s32 current_health;
f32 current_armor;
s32 previous_health;
s32 previous_armor;
s32 hud_health;
s32 hud_armor;
s32 invincibility_timer;
s32 health_bar_timer;
s32 field_FC;
s32 bonddead;
s32 bondhealth;
f32 bondarmour;
s32 oldhealth;
s32 oldarmour;
s32 apparenthealth;
s32 apparentarmour;
s32 damageshowtime;
s32 healthshowtime;
s32 healthshowmode;
s32 field_100;
s32 field_104;
s32 field_108;
s32 field_10C;
s32 field_110;
s32 field_114;
s32 look_ahead_setting;
s32 field_11C;
s32 field_120;
s32 is_aiming_flag;
s32 auto_aim_flag;
f32 y_aim_related_float;
s32 field_130;
s32 field_134;
s32 solo_auto_aim_x_setting;
f32 x_aim_related_float;
s32 field_140;
s32 field_144;
f32 azimuth_angle;
f32 azimuth_turning_direction;
s32 azimuth_cosine;
s32 azimuth_sine;
f32 inclination_angle1;
s32 inclination_angle2;
f32 inclination_turning_direction;
s32 inclination_cosine;
s32 inclination_sine;
f32 strafe_speed_multiplier;
f32 strafe_movement_direction;
f32 forward_speed_multiplier;
s32 forward_speed_multiplier_2;
s32 forward_speed_frame_counter;
s32 movecentrerelease;
s32 lookaheadcentreenabled;
s32 automovecentreenabled;
s32 fastmovecentreenabled;
s32 automovecentre;
s32 insightaimmode;
s32 autoyaimenabled;
f32 autoaimy;
s32 autoyaimtime;
s32 autoyaimtime60;
s32 autoxaimenabled;
f32 autoaimx;
s32 autoxaimtime;
s32 autoxaimtime60;
f32 vv_theta;
f32 speedtheta;
s32 vv_costheta;
s32 vv_sintheta;
f32 vv_verta;
s32 vv_verta360;
f32 speedverta;
s32 vv_cosverta;
s32 vv_sinverta;
f32 speedsideways;
f32 speedstrafe;
f32 speedforwards;
s32 speedboost;
s32 speedmaxtime60;
s32 boost_factor_x;
s32 boost_factor_y;
s32 boost_factor_z;
s32 viewport_alpha;
s32 rate_of_change;
s32 time_for_change;
s32 final_alpha_level;
s32 field_19C;
s32 bondfadetime60;
s32 bondfadetimemax;
s32 bondfadefracold;
s32 bondfadefracnew;
s32 field_1A0;
s32 field_1A4;
s32 field_1A8;
@ -514,10 +520,10 @@ struct BONDdata
s32 field_7E4;
s32 field_7E8;
s32 field_7EC;
s16 playerscreenwidth;
s16 playerscreenheight;
s16 playerscreenulx;
s16 playerscreenuly;
s16 viewx;
s16 viewy;
s16 viewleft;
s16 viewtop;
s32 right_invisible;
s32 left_invisible;
s32 item_right;
@ -1045,7 +1051,7 @@ struct BONDdata
s32 field_1054;
s32 field_1058;
s32 field_105C;
s32 GEkey_analyzed;
s32 copiedgoldeneye;
s32 somekinda_flags;
s32 field_1068;
f32 field_106C;
@ -1057,19 +1063,19 @@ struct BONDdata
f32 sniper_zoom;
f32 camera_zoom;
s32 field_108C;
f32 maybe_screen_width;
f32 maybe_screen_height;
f32 ulx;
f32 uly;
f32 field_10A0;
f32 field_10A4;
f32 field_10A8;
f32 maybe_half_screen_width;
f32 maybe_half_screen_height;
s32 field_10B4;
s32 field_10B8;
s32 field_10BC;
s32 field_10C0;
f32 c_screenwidth;
f32 c_screenheight;
f32 c_screenleft;
f32 c_screentop;
f32 c_perspnear;
f32 c_perspfovy;
f32 c_perspaspect;
f32 c_halfwidth;
f32 c_halfheight;
f32 c_scalex;
f32 c_scaley;
f32 c_recipscalex;
f32 c_recipscaley;
s32 field_10C4;
s32 field_10C8;
s32 field_10CC;
@ -1081,23 +1087,20 @@ struct BONDdata
s32 field_10E4;
s32 field_10E8;
s32 field_10EC;
s32 field_10F0;
s32 field_10F4;
s32 field_10F8;
s32 field_10FC;
s32 field_1100;
s32 field_1104;
s32 field_1108;
s32 field_110C;
s32 field_1110;
s32 field_1114;
f32 field_1118;
f32 field_111C;
f32 field_1120;
f32 field_1124;
f32 c_scalelod60;
f32 c_scalelod;
f32 c_lodscalez;
u32 c_lodscalezu32;
struct xyzpoint c_cameratopnorm;
struct xyzpoint c_cameraleftnorm;
f32 screenxminf;
f32 screenyminf;
f32 screenxmaxf;
f32 screenymaxf;
s32 somekinda_bitflags;
s32 field_112C;
s32 ammo_unknown;
s32 ammoheldarr;
s32 ammo_total_pistol;
s32 ammo_total_pistol_beta;
s32 ammo_total_rifle;
@ -1127,24 +1130,24 @@ struct BONDdata
s32 ammo_total_unknown2;
s32 ammo_total_tank;
s32 ammo_total_mp_token;
s32 ptr_red_screen_animation_block;
s32 bloodcnt;
s32 field_11AC;
s32 field_11B0;
s32 field_11B4;
s32 field_11B8;
f32 watch_menu_screen_swap_current_timer;
f32 watch_endtime;
f32 currentfov;
f32 previousfov;
f32 targetfov;
f32 watch_menu_current_size_unused_maybe;
f32 field_11D4;
s32 stationary_intro_cam_flags;
s32 set_neg1_by_stationary_intro_cam;
f32 zoomintime;
f32 zoomintimemax;
f32 zoominfovy;
f32 zoominfovyold;
f32 zoominfovynew;
f32 fovy;
f32 aspect;
s32 hudmessoff;
s32 bondmesscnt;
s32 ptr_inventory_first_in_cycle;
s32 p_itemcur;
s32 items_max;
s32 flag_for_allguns;
s32 equipmaxitems;
s32 equipallguns;
s32 field_11F0;
s32 field_11F4;
s32 index_time_spent_using_item;
@ -1196,9 +1199,9 @@ struct BONDdata
s32 field_12B0;
u8 something_with_cheat_text;
u8 can_display_cheat_text;
u8 invincible_flag;
u8 bondinvincible;
u8 field_12B7;
s32 related_to_armor_display;
s32 healthdamagetype;
s32 field_12BC;
s32 field_12C0;
s32 field_12C4;
@ -2673,12 +2676,12 @@ struct BONDdata
s32 field_29B8;
s32 field_29BC;
s32 field_29C0;
s32 in_mp_pause_menu;
s32 page_in_mp_pause_menu;
s32 selection_on_mp_pause_menu_page_6;
s32 press_stick_register;
s32 field_29D4;
s32 num_deaths;
s32 mpmenuon;
s32 mpmenumode;
s32 mpquitconfirm;
s32 mpjoywascentre;
s32 damagetype;
s32 deathcount;
s32 num_suicides;
s32 field_29E0;
s32 field_29E4;
@ -2688,7 +2691,7 @@ struct BONDdata
s32 field_29F4;
s32 field_29F8;
s32 field_29FC;
s32 show_health_armor_timer;
s32 healthdisplaytime;
s32 field_2A04;
s32 field_2A08;
s32 field_2A0C;
@ -2760,7 +2763,7 @@ extern s32 in_tank_flag;
//D:8003644C
extern s32 D_8003644C;
//D:80036450
extern s32 D_80036450;
extern s32 ptr_playerstank;
//D:80036454
extern s32 D_80036454;
//D:80036458
@ -2796,7 +2799,7 @@ extern s32 D_80036490;
//D:80036494
extern s32 cameramode;
//D:80036498
extern s32 D_80036498;
extern s32 enable_move_after_cinema;
//D:8003649C
extern s32 D_8003649C;
//D:800364A0
@ -2816,7 +2819,7 @@ extern s32 D_800364B8;
//D:800364BC
extern s32 D_800364BC;
//D:800364C0
extern s32 D_800364C0;
extern s32 ptr_random06cam_entry;
//D:800364C4
extern s32 invisible_to_guards_flag;
//D:800364C8
@ -2990,19 +2993,19 @@ extern s32 D_80036890;
//D:80036894
extern s32 D_80036894;
//D:80036898
extern s32 D_80036898;
extern s32 status_bar_text_buffer_index;
//D:8003689C
extern s32 D_8003689C;
extern s32 display_statusbar;
//D:800368A0
extern s32 D_800368A0;
extern s32 copy_1stfonttable;
//D:800368A4
extern s32 D_800368A4;
extern s32 copy_2ndfonttable;
//D:800368A8
extern s32 D_800368A8;
extern s32 upper_text_buffer_index;
//D:800368AC
extern s32 D_800368AC;
extern s32 display_upper_text_window;
//D:800368B0
extern s32 D_800368B0;
extern s32 upper_text_window_timer;
extern s32 D_800368B4;
//D:800368B8
extern u16 D_800368B8[];

3996
src/game/bond2.c Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
#ifndef _BONDVIEW_H_
#define _BONDVIEW_H_
#ifndef _BONDWALK_H_
#define _BONDWALK_H_
#include "ultra64.h"
#include "game/cheat_buttons_objectrelated.h"
#include "game/chrobjdata.h"
struct weapon_stats
{

611
src/game/bondwalk2.c Normal file
View File

@ -0,0 +1,611 @@
#include "ultra64.h"
#ifdef NONMATCHING
f32 sub_GAME_7F06ABB0(void *arg0, void *arg1, void *arg2, s32 arg3, s32 arg4, s3 2 arg5, s32 arg6, s32 arg7) {
void *sp0;
void *spC;
void *temp_v0;
s32 temp_f18;
s32 temp_f8;
s32 temp_f4;
s32 temp_f10;
void *temp_v0_2;
void *temp_v0_4;
void *temp_v0_3;
void *temp_v0_5;
void *temp_v1;
s32 phi_a1;
s32 phi_a2;
s32 phi_a3;
s32 phi_t0;
s32 phi_v1;
s32 phi_a0;
void *phi_v0;
s32 phi_a3_2;
s32 phi_t0_2;
s32 phi_v1_2;
s32 phi_a0_2;
s32 phi_a3_3;
s32 phi_t0_3;
// Node 0
if (0.0f < *arg2)
{
// Node 1
if (0.0f < arg2->unk4)
{
// Node 2
**arg0 = 0xba001301;
*arg0->unk4 = 0;
temp_v0 = (*arg0 + 8);
temp_f18 = (s32) ((*arg1 - *arg2) * 4.0f);
temp_f8 = (s32) ((arg1->unk4 - arg2->unk4) * 4.0f);
temp_f4 = (s32) ((*arg2 + *arg1) * 4.0f);
temp_f10 = (s32) ((arg2->unk4 + arg1->unk4) * 4.0f);
phi_v0 = temp_v0;
if (temp_f4 >= 0)
{
// Node 3
phi_v0 = temp_v0;
if (temp_f10 >= 0)
{
// Node 4
phi_a1 = temp_f18;
phi_a3_3 = 0;
phi_t0_3 = 0;
if (temp_f18 < 0)
{
// Node 5
if (arg5 != 0)
{
// Node 6
phi_a1 = 0;
phi_a3_3 = 0;
phi_t0_3 = ((s32) ((-temp_f18 * arg4) << 5) / (s32) (temp_f4 - temp_f18));
}
else
{
// Node 7
phi_a1 = 0;
phi_a3_3 = ((s32) ((-temp_f18 * arg3) << 5) / (s32) (temp_f4 - temp_f18));
phi_t0_3 = 0;
}
}
// Node 8
phi_a2 = temp_f8;
phi_a3_2 = phi_a3_3;
phi_t0_2 = phi_t0_3;
if (temp_f8 < 0)
{
// Node 9
if (arg5 != 0)
{
// Node 10
phi_a2 = 0;
phi_a3_2 = (phi_a3_3 + ((s32) ((-temp_f8 * arg3) << 5) / (s32) (temp_f10 - temp_f8)));
phi_t0_2 = phi_t0_3;
}
else
{
// Node 11
phi_a2 = 0;
phi_a3_2 = phi_a3_3;
phi_t0_2 = (phi_t0_3 + ((s32) ((-temp_f8 * arg4) << 5) / (s32) (temp_f10 - temp_f8)));
}
}
// Node 12
if (arg5 != 0)
{
// Node 13
phi_v1_2 = (s32) (((f32) arg3 / (arg2->unk4 + arg2->unk4 )) * 1024.0f);
phi_a0_2 = (s32) (((f32) arg4 / (*arg2 + *arg2)) * 1024. 0f);
}
else
{
// Node 14
phi_v1_2 = (s32) (((f32) arg3 / (*arg2 + *arg2)) * 1024. 0f);
phi_a0_2 = (s32) (((f32) arg4 / (arg2->unk4 + arg2->unk4 )) * 1024.0f);
}
// Node 15
phi_a3 = phi_a3_2;
phi_v1 = phi_v1_2;
if (arg6 != 0)
{
// Node 16
phi_a3 = (((arg3 + -1) << 5) - phi_a3_2);
phi_v1 = (0x10000 - phi_v1_2);
}
// Node 17
phi_t0 = phi_t0_2;
phi_a0 = phi_a0_2;
if (arg7 != 0)
{
// Node 18
phi_t0 = (((arg4 + -1) << 5) - phi_t0_2);
phi_a0 = (0x10000 - phi_a0_2);
}
// Node 19
if (arg5 != 0)
{
// Node 20
*temp_v0 = (s32) ((((temp_f4 & 0xfff) << 0xc) | 0xe50000 00) | (temp_f10 & 0xfff));
temp_v0->unk4 = (s32) (((phi_a1 & 0xfff) << 0xc) | (phi_ a2 & 0xfff));
temp_v0_2 = (temp_v0 + 8);
*temp_v0_2 = 0xb4000000;
temp_v0_2->unk4 = (s32) ((phi_a3 << 0x10) | (phi_t0 & 0x ffff));
temp_v0_4 = (temp_v0_2 + 8);
spC = temp_v0_4;
*spC = 0xb3000000;
spC->unk4 = (s32) ((phi_v1 << 0x10) | (phi_a0 & 0xffff)) ;
phi_v0 = (temp_v0_4 + 8);
}
else
{
// Node 21
*temp_v0 = (s32) ((((temp_f4 & 0xfff) << 0xc) | 0xe40000 00) | (temp_f10 & 0xfff));
temp_v0->unk4 = (s32) (((phi_a1 & 0xfff) << 0xc) | (phi_ a2 & 0xfff));
temp_v0_3 = (temp_v0 + 8);
*temp_v0_3 = 0xb4000000;
temp_v0_3->unk4 = (s32) ((phi_a3 << 0x10) | (phi_t0 & 0x ffff));
temp_v0_5 = (temp_v0_3 + 8);
sp0 = temp_v0_5;
*sp0 = 0xb3000000;
sp0->unk4 = (s32) ((phi_v1 << 0x10) | (phi_a0 & 0xffff)) ;
phi_v0 = (temp_v0_5 + 8);
}
}
}
// Node 22
temp_v1 = phi_v0;
temp_v1->unk4 = 0x80000;
*temp_v1 = 0xba001301;
*arg0 = (void *) (phi_v0 + 8);
}
}
// Node 23
return 0.0f;
}
#else
GLOBAL_ASM(
.text
glabel sub_GAME_7F06ABB0
/* 09F6E0 7F06ABB0 27BDFFC0 */ addiu $sp, $sp, -0x40
/* 09F6E4 7F06ABB4 AFA40040 */ sw $a0, 0x40($sp)
/* 09F6E8 7F06ABB8 AFA50044 */ sw $a1, 0x44($sp)
/* 09F6EC 7F06ABBC AFA60048 */ sw $a2, 0x48($sp)
/* 09F6F0 7F06ABC0 AFA7004C */ sw $a3, 0x4c($sp)
/* 09F6F4 7F06ABC4 44800000 */ mtc1 $zero, $f0
/* 09F6F8 7F06ABC8 C4C40000 */ lwc1 $f4, ($a2)
/* 09F6FC 7F06ABCC 4604003C */ c.lt.s $f0, $f4
/* 09F700 7F06ABD0 00000000 */ nop
/* 09F704 7F06ABD4 45000102 */ bc1f .L7F06AFE0
/* 09F708 7F06ABD8 00000000 */ nop
/* 09F70C 7F06ABDC C4C60004 */ lwc1 $f6, 4($a2)
/* 09F710 7F06ABE0 3C0BBA00 */ lui $t3, (0xBA001301 >> 16) # lui $t3, 0xba00
/* 09F714 7F06ABE4 4606003C */ c.lt.s $f0, $f6
/* 09F718 7F06ABE8 00000000 */ nop
/* 09F71C 7F06ABEC 450000FC */ bc1f .L7F06AFE0
/* 09F720 7F06ABF0 00000000 */ nop
/* 09F724 7F06ABF4 8C820000 */ lw $v0, ($a0)
/* 09F728 7F06ABF8 356B1301 */ ori $t3, (0xBA001301 & 0xFFFF) # ori $t3, $t3, 0x1301
/* 09F72C 7F06ABFC 3C014080 */ li $at, 0x40800000 # 4.000000
/* 09F730 7F06AC00 00401825 */ move $v1, $v0
/* 09F734 7F06AC04 AC6B0000 */ sw $t3, ($v1)
/* 09F738 7F06AC08 AC600004 */ sw $zero, 4($v1)
/* 09F73C 7F06AC0C 8FB90048 */ lw $t9, 0x48($sp)
/* 09F740 7F06AC10 8FB80044 */ lw $t8, 0x44($sp)
/* 09F744 7F06AC14 44818000 */ mtc1 $at, $f16
/* 09F748 7F06AC18 C7200000 */ lwc1 $f0, ($t9)
/* 09F74C 7F06AC1C C70C0000 */ lwc1 $f12, ($t8)
/* 09F750 7F06AC20 C7220004 */ lwc1 $f2, 4($t9)
/* 09F754 7F06AC24 C70E0004 */ lwc1 $f14, 4($t8)
/* 09F758 7F06AC28 46006201 */ sub.s $f8, $f12, $f0
/* 09F75C 7F06AC2C 00003825 */ move $a3, $zero
/* 09F760 7F06AC30 00004025 */ move $t0, $zero
/* 09F764 7F06AC34 46027101 */ sub.s $f4, $f14, $f2
/* 09F768 7F06AC38 46104282 */ mul.s $f10, $f8, $f16
/* 09F76C 7F06AC3C 24420008 */ addiu $v0, $v0, 8
/* 09F770 7F06AC40 46102182 */ mul.s $f6, $f4, $f16
/* 09F774 7F06AC44 4600548D */ trunc.w.s $f18, $f10
/* 09F778 7F06AC48 460C0280 */ add.s $f10, $f0, $f12
/* 09F77C 7F06AC4C 44059000 */ mfc1 $a1, $f18
/* 09F780 7F06AC50 4600320D */ trunc.w.s $f8, $f6
/* 09F784 7F06AC54 46105482 */ mul.s $f18, $f10, $f16
/* 09F788 7F06AC58 460E1180 */ add.s $f6, $f2, $f14
/* 09F78C 7F06AC5C 44064000 */ mfc1 $a2, $f8
/* 09F790 7F06AC60 46103202 */ mul.s $f8, $f6, $f16
/* 09F794 7F06AC64 4600910D */ trunc.w.s $f4, $f18
/* 09F798 7F06AC68 44092000 */ mfc1 $t1, $f4
/* 09F79C 7F06AC6C 4600428D */ trunc.w.s $f10, $f8
/* 09F7A0 7F06AC70 440A5000 */ mfc1 $t2, $f10
/* 09F7A4 7F06AC74 052200D4 */ bltzl $t1, .L7F06AFC8
/* 09F7A8 7F06AC78 00401825 */ move $v1, $v0
/* 09F7AC 7F06AC7C 054200D2 */ bltzl $t2, .L7F06AFC8
/* 09F7B0 7F06AC80 00401825 */ move $v1, $v0
/* 09F7B4 7F06AC84 04A1002A */ bgez $a1, .L7F06AD30
/* 09F7B8 7F06AC88 8FAC0054 */ lw $t4, 0x54($sp)
/* 09F7BC 7F06AC8C 11800015 */ beqz $t4, .L7F06ACE4
/* 09F7C0 7F06AC90 8FAF004C */ lw $t7, 0x4c($sp)
/* 09F7C4 7F06AC94 8FAD0050 */ lw $t5, 0x50($sp)
/* 09F7C8 7F06AC98 0005C823 */ negu $t9, $a1
/* 09F7CC 7F06AC9C 0125C023 */ subu $t8, $t1, $a1
/* 09F7D0 7F06ACA0 032D0019 */ multu $t9, $t5
/* 09F7D4 7F06ACA4 00007812 */ mflo $t7
/* 09F7D8 7F06ACA8 000F7140 */ sll $t6, $t7, 5
/* 09F7DC 7F06ACAC 00000000 */ nop
/* 09F7E0 7F06ACB0 01D8001A */ div $zero, $t6, $t8
/* 09F7E4 7F06ACB4 00004012 */ mflo $t0
/* 09F7E8 7F06ACB8 17000002 */ bnez $t8, .L7F06ACC4
/* 09F7EC 7F06ACBC 00000000 */ nop
/* 09F7F0 7F06ACC0 0007000D */ break 7
.L7F06ACC4:
/* 09F7F4 7F06ACC4 2401FFFF */ li $at, -1
/* 09F7F8 7F06ACC8 17010004 */ bne $t8, $at, .L7F06ACDC
/* 09F7FC 7F06ACCC 3C018000 */ lui $at, 0x8000
/* 09F800 7F06ACD0 15C10002 */ bne $t6, $at, .L7F06ACDC
/* 09F804 7F06ACD4 00000000 */ nop
/* 09F808 7F06ACD8 0006000D */ break 6
.L7F06ACDC:
/* 09F80C 7F06ACDC 10000014 */ b .L7F06AD30
/* 09F810 7F06ACE0 00002825 */ move $a1, $zero
.L7F06ACE4:
/* 09F814 7F06ACE4 0005C823 */ negu $t9, $a1
/* 09F818 7F06ACE8 032F0019 */ multu $t9, $t7
/* 09F81C 7F06ACEC 0125C823 */ subu $t9, $t1, $a1
/* 09F820 7F06ACF0 8FAD0050 */ lw $t5, 0x50($sp)
/* 09F824 7F06ACF4 00007012 */ mflo $t6
/* 09F828 7F06ACF8 000EC140 */ sll $t8, $t6, 5
/* 09F82C 7F06ACFC 00000000 */ nop
/* 09F830 7F06AD00 0319001A */ div $zero, $t8, $t9
/* 09F834 7F06AD04 00003812 */ mflo $a3
/* 09F838 7F06AD08 17200002 */ bnez $t9, .L7F06AD14
/* 09F83C 7F06AD0C 00000000 */ nop
/* 09F840 7F06AD10 0007000D */ break 7
.L7F06AD14:
/* 09F844 7F06AD14 2401FFFF */ li $at, -1
/* 09F848 7F06AD18 17210004 */ bne $t9, $at, .L7F06AD2C
/* 09F84C 7F06AD1C 3C018000 */ lui $at, 0x8000
/* 09F850 7F06AD20 17010002 */ bne $t8, $at, .L7F06AD2C
/* 09F854 7F06AD24 00000000 */ nop
/* 09F858 7F06AD28 0006000D */ break 6
.L7F06AD2C:
/* 09F85C 7F06AD2C 00002825 */ move $a1, $zero
.L7F06AD30:
/* 09F860 7F06AD30 8FAC0054 */ lw $t4, 0x54($sp)
/* 09F864 7F06AD34 04C1002A */ bgez $a2, .L7F06ADE0
/* 09F868 7F06AD38 8FAD0050 */ lw $t5, 0x50($sp)
/* 09F86C 7F06AD3C 11800016 */ beqz $t4, .L7F06AD98
/* 09F870 7F06AD40 0006C023 */ negu $t8, $a2
/* 09F874 7F06AD44 8FAE004C */ lw $t6, 0x4c($sp)
/* 09F878 7F06AD48 00067823 */ negu $t7, $a2
/* 09F87C 7F06AD4C 01EE0019 */ multu $t7, $t6
/* 09F880 7F06AD50 01467823 */ subu $t7, $t2, $a2
/* 09F884 7F06AD54 0000C012 */ mflo $t8
/* 09F888 7F06AD58 0018C940 */ sll $t9, $t8, 5
/* 09F88C 7F06AD5C 00000000 */ nop
/* 09F890 7F06AD60 032F001A */ div $zero, $t9, $t7
/* 09F894 7F06AD64 00007012 */ mflo $t6
/* 09F898 7F06AD68 00EE3821 */ addu $a3, $a3, $t6
/* 09F89C 7F06AD6C 15E00002 */ bnez $t7, .L7F06AD78
/* 09F8A0 7F06AD70 00000000 */ nop
/* 09F8A4 7F06AD74 0007000D */ break 7
.L7F06AD78:
/* 09F8A8 7F06AD78 2401FFFF */ li $at, -1
/* 09F8AC 7F06AD7C 15E10004 */ bne $t7, $at, .L7F06AD90
/* 09F8B0 7F06AD80 3C018000 */ lui $at, 0x8000
/* 09F8B4 7F06AD84 17210002 */ bne $t9, $at, .L7F06AD90
/* 09F8B8 7F06AD88 00000000 */ nop
/* 09F8BC 7F06AD8C 0006000D */ break 6
.L7F06AD90:
/* 09F8C0 7F06AD90 10000013 */ b .L7F06ADE0
/* 09F8C4 7F06AD94 00003025 */ move $a2, $zero
.L7F06AD98:
/* 09F8C8 7F06AD98 030D0019 */ multu $t8, $t5
/* 09F8CC 7F06AD9C 01467023 */ subu $t6, $t2, $a2
/* 09F8D0 7F06ADA0 0000C812 */ mflo $t9
/* 09F8D4 7F06ADA4 00197940 */ sll $t7, $t9, 5
/* 09F8D8 7F06ADA8 00000000 */ nop
/* 09F8DC 7F06ADAC 01EE001A */ div $zero, $t7, $t6
/* 09F8E0 7F06ADB0 0000C012 */ mflo $t8
/* 09F8E4 7F06ADB4 01184021 */ addu $t0, $t0, $t8
/* 09F8E8 7F06ADB8 15C00002 */ bnez $t6, .L7F06ADC4
/* 09F8EC 7F06ADBC 00000000 */ nop
/* 09F8F0 7F06ADC0 0007000D */ break 7
.L7F06ADC4:
/* 09F8F4 7F06ADC4 2401FFFF */ li $at, -1
/* 09F8F8 7F06ADC8 15C10004 */ bne $t6, $at, .L7F06ADDC
/* 09F8FC 7F06ADCC 3C018000 */ lui $at, 0x8000
/* 09F900 7F06ADD0 15E10002 */ bne $t7, $at, .L7F06ADDC
/* 09F904 7F06ADD4 00000000 */ nop
/* 09F908 7F06ADD8 0006000D */ break 6
.L7F06ADDC:
/* 09F90C 7F06ADDC 00003025 */ move $a2, $zero
.L7F06ADE0:
/* 09F910 7F06ADE0 11800015 */ beqz $t4, .L7F06AE38
/* 09F914 7F06ADE4 8FAE0058 */ lw $t6, 0x58($sp)
/* 09F918 7F06ADE8 8FB9004C */ lw $t9, 0x4c($sp)
/* 09F91C 7F06ADEC 46021180 */ add.s $f6, $f2, $f2
/* 09F920 7F06ADF0 3C014480 */ li $at, 0x44800000 # 1024.000000
/* 09F924 7F06ADF4 44999000 */ mtc1 $t9, $f18
/* 09F928 7F06ADF8 44816000 */ mtc1 $at, $f12
/* 09F92C 7F06ADFC 46809120 */ cvt.s.w $f4, $f18
/* 09F930 7F06AE00 46062203 */ div.s $f8, $f4, $f6
/* 09F934 7F06AE04 448D2000 */ mtc1 $t5, $f4
/* 09F938 7F06AE08 00000000 */ nop
/* 09F93C 7F06AE0C 468021A0 */ cvt.s.w $f6, $f4
/* 09F940 7F06AE10 460C4282 */ mul.s $f10, $f8, $f12
/* 09F944 7F06AE14 46000200 */ add.s $f8, $f0, $f0
/* 09F948 7F06AE18 4600548D */ trunc.w.s $f18, $f10
/* 09F94C 7F06AE1C 46083283 */ div.s $f10, $f6, $f8
/* 09F950 7F06AE20 44039000 */ mfc1 $v1, $f18
/* 09F954 7F06AE24 460C5482 */ mul.s $f18, $f10, $f12
/* 09F958 7F06AE28 4600910D */ trunc.w.s $f4, $f18
/* 09F95C 7F06AE2C 44042000 */ mfc1 $a0, $f4
/* 09F960 7F06AE30 10000014 */ b .L7F06AE84
/* 09F964 7F06AE34 00000000 */ nop
.L7F06AE38:
/* 09F968 7F06AE38 8FB8004C */ lw $t8, 0x4c($sp)
/* 09F96C 7F06AE3C 46000280 */ add.s $f10, $f0, $f0
/* 09F970 7F06AE40 3C014480 */ li $at, 0x44800000 # 1024.000000
/* 09F974 7F06AE44 44983000 */ mtc1 $t8, $f6
/* 09F978 7F06AE48 44816000 */ mtc1 $at, $f12
/* 09F97C 7F06AE4C 46803220 */ cvt.s.w $f8, $f6
/* 09F980 7F06AE50 460A4483 */ div.s $f18, $f8, $f10
/* 09F984 7F06AE54 448D4000 */ mtc1 $t5, $f8
/* 09F988 7F06AE58 00000000 */ nop
/* 09F98C 7F06AE5C 468042A0 */ cvt.s.w $f10, $f8
/* 09F990 7F06AE60 460C9102 */ mul.s $f4, $f18, $f12
/* 09F994 7F06AE64 46021480 */ add.s $f18, $f2, $f2
/* 09F998 7F06AE68 4600218D */ trunc.w.s $f6, $f4
/* 09F99C 7F06AE6C 46125103 */ div.s $f4, $f10, $f18
/* 09F9A0 7F06AE70 44033000 */ mfc1 $v1, $f6
/* 09F9A4 7F06AE74 460C2182 */ mul.s $f6, $f4, $f12
/* 09F9A8 7F06AE78 4600320D */ trunc.w.s $f8, $f6
/* 09F9AC 7F06AE7C 44044000 */ mfc1 $a0, $f8
/* 09F9B0 7F06AE80 00000000 */ nop
.L7F06AE84:
/* 09F9B4 7F06AE84 11C00006 */ beqz $t6, .L7F06AEA0
/* 09F9B8 7F06AE88 8FB9004C */ lw $t9, 0x4c($sp)
/* 09F9BC 7F06AE8C 272FFFFF */ addiu $t7, $t9, -1
/* 09F9C0 7F06AE90 3C180001 */ lui $t8, 1
/* 09F9C4 7F06AE94 000F7140 */ sll $t6, $t7, 5
/* 09F9C8 7F06AE98 03031823 */ subu $v1, $t8, $v1
/* 09F9CC 7F06AE9C 01C73823 */ subu $a3, $t6, $a3
.L7F06AEA0:
/* 09F9D0 7F06AEA0 8FB8005C */ lw $t8, 0x5c($sp)
/* 09F9D4 7F06AEA4 25AFFFFF */ addiu $t7, $t5, -1
/* 09F9D8 7F06AEA8 3C190001 */ lui $t9, 1
/* 09F9DC 7F06AEAC 13000003 */ beqz $t8, .L7F06AEBC
/* 09F9E0 7F06AEB0 000F7140 */ sll $t6, $t7, 5
/* 09F9E4 7F06AEB4 03242023 */ subu $a0, $t9, $a0
/* 09F9E8 7F06AEB8 01C84023 */ subu $t0, $t6, $t0
.L7F06AEBC:
/* 09F9EC 7F06AEBC 11800022 */ beqz $t4, .L7F06AF48
/* 09F9F0 7F06AEC0 31390FFF */ andi $t9, $t1, 0xfff
/* 09F9F4 7F06AEC4 31380FFF */ andi $t8, $t1, 0xfff
/* 09F9F8 7F06AEC8 0018CB00 */ sll $t9, $t8, 0xc
/* 09F9FC 7F06AECC 3C01E500 */ lui $at, 0xe500
/* 09FA00 7F06AED0 03217825 */ or $t7, $t9, $at
/* 09FA04 7F06AED4 314E0FFF */ andi $t6, $t2, 0xfff
/* 09FA08 7F06AED8 01EEC025 */ or $t8, $t7, $t6
/* 09FA0C 7F06AEDC 30B90FFF */ andi $t9, $a1, 0xfff
/* 09FA10 7F06AEE0 00406025 */ move $t4, $v0
/* 09FA14 7F06AEE4 AD980000 */ sw $t8, ($t4)
/* 09FA18 7F06AEE8 00197B00 */ sll $t7, $t9, 0xc
/* 09FA1C 7F06AEEC 30CE0FFF */ andi $t6, $a2, 0xfff
/* 09FA20 7F06AEF0 01EEC025 */ or $t8, $t7, $t6
/* 09FA24 7F06AEF4 AD980004 */ sw $t8, 4($t4)
/* 09FA28 7F06AEF8 24420008 */ addiu $v0, $v0, 8
/* 09FA2C 7F06AEFC 00406825 */ move $t5, $v0
/* 09FA30 7F06AF00 3C19B400 */ lui $t9, 0xb400
/* 09FA34 7F06AF04 ADB90000 */ sw $t9, ($t5)
/* 09FA38 7F06AF08 3118FFFF */ andi $t8, $t0, 0xffff
/* 09FA3C 7F06AF0C 00077400 */ sll $t6, $a3, 0x10
/* 09FA40 7F06AF10 01D8C825 */ or $t9, $t6, $t8
/* 09FA44 7F06AF14 ADB90004 */ sw $t9, 4($t5)
/* 09FA48 7F06AF18 24420008 */ addiu $v0, $v0, 8
/* 09FA4C 7F06AF1C AFA2000C */ sw $v0, 0xc($sp)
/* 09FA50 7F06AF20 8FAE000C */ lw $t6, 0xc($sp)
/* 09FA54 7F06AF24 3C0FB300 */ lui $t7, 0xb300
/* 09FA58 7F06AF28 0003CC00 */ sll $t9, $v1, 0x10
/* 09FA5C 7F06AF2C ADCF0000 */ sw $t7, ($t6)
/* 09FA60 7F06AF30 8FB8000C */ lw $t8, 0xc($sp)
/* 09FA64 7F06AF34 308FFFFF */ andi $t7, $a0, 0xffff
/* 09FA68 7F06AF38 032F7025 */ or $t6, $t9, $t7
/* 09FA6C 7F06AF3C 24420008 */ addiu $v0, $v0, 8
/* 09FA70 7F06AF40 10000020 */ b .L7F06AFC4
/* 09FA74 7F06AF44 AF0E0004 */ sw $t6, 4($t8)
.L7F06AF48:
/* 09FA78 7F06AF48 00197B00 */ sll $t7, $t9, 0xc
/* 09FA7C 7F06AF4C 3C01E400 */ lui $at, 0xe400
/* 09FA80 7F06AF50 01E17025 */ or $t6, $t7, $at
/* 09FA84 7F06AF54 31580FFF */ andi $t8, $t2, 0xfff
/* 09FA88 7F06AF58 01D8C825 */ or $t9, $t6, $t8
/* 09FA8C 7F06AF5C 30AF0FFF */ andi $t7, $a1, 0xfff
/* 09FA90 7F06AF60 00406025 */ move $t4, $v0
/* 09FA94 7F06AF64 AD990000 */ sw $t9, ($t4)
/* 09FA98 7F06AF68 000F7300 */ sll $t6, $t7, 0xc
/* 09FA9C 7F06AF6C 30D80FFF */ andi $t8, $a2, 0xfff
/* 09FAA0 7F06AF70 01D8C825 */ or $t9, $t6, $t8
/* 09FAA4 7F06AF74 AD990004 */ sw $t9, 4($t4)
/* 09FAA8 7F06AF78 24420008 */ addiu $v0, $v0, 8
/* 09FAAC 7F06AF7C 00406825 */ move $t5, $v0
/* 09FAB0 7F06AF80 3C0FB400 */ lui $t7, 0xb400
/* 09FAB4 7F06AF84 ADAF0000 */ sw $t7, ($t5)
/* 09FAB8 7F06AF88 3119FFFF */ andi $t9, $t0, 0xffff
/* 09FABC 7F06AF8C 0007C400 */ sll $t8, $a3, 0x10
/* 09FAC0 7F06AF90 03197825 */ or $t7, $t8, $t9
/* 09FAC4 7F06AF94 ADAF0004 */ sw $t7, 4($t5)
/* 09FAC8 7F06AF98 24420008 */ addiu $v0, $v0, 8
/* 09FACC 7F06AF9C AFA20000 */ sw $v0, ($sp)
/* 09FAD0 7F06AFA0 8FB80000 */ lw $t8, ($sp)
/* 09FAD4 7F06AFA4 3C0EB300 */ lui $t6, 0xb300
/* 09FAD8 7F06AFA8 00037C00 */ sll $t7, $v1, 0x10
/* 09FADC 7F06AFAC AF0E0000 */ sw $t6, ($t8)
/* 09FAE0 7F06AFB0 8FB90000 */ lw $t9, ($sp)
/* 09FAE4 7F06AFB4 308EFFFF */ andi $t6, $a0, 0xffff
/* 09FAE8 7F06AFB8 01EEC025 */ or $t8, $t7, $t6
/* 09FAEC 7F06AFBC 24420008 */ addiu $v0, $v0, 8
/* 09FAF0 7F06AFC0 AF380004 */ sw $t8, 4($t9)
.L7F06AFC4:
/* 09FAF4 7F06AFC4 00401825 */ move $v1, $v0
.L7F06AFC8:
/* 09FAF8 7F06AFC8 3C0F0008 */ lui $t7, 8
/* 09FAFC 7F06AFCC AC6F0004 */ sw $t7, 4($v1)
/* 09FB00 7F06AFD0 AC6B0000 */ sw $t3, ($v1)
/* 09FB04 7F06AFD4 8FAE0040 */ lw $t6, 0x40($sp)
/* 09FB08 7F06AFD8 24420008 */ addiu $v0, $v0, 8
/* 09FB0C 7F06AFDC ADC20000 */ sw $v0, ($t6)
.L7F06AFE0:
/* 09FB10 7F06AFE0 03E00008 */ jr $ra
/* 09FB14 7F06AFE4 27BD0040 */ addiu $sp, $sp, 0x40
)
#endif
#ifdef NONMATCHING
f32 display_image_at_on_screen_coord(void *arg0, void *arg2, ?32 arg4, ?32 arg5, ?32 arg6, ?32 arg7, s32 arg8, s32 arg9, s32 argA, s32 argB, s32 argC, s32 argD) {
void *temp_v0;
void *phi_v0;
f32 phi_return_reg;
// Node 0
phi_return_reg = 0.0f;
if (0.0f < *arg2)
{
// Node 1
phi_return_reg = 0.0f;
if (0.0f < arg2->unk4)
{
// Node 2
**arg0 = 0xfb000000;
*arg0->unk4 = (s32) ((((arg8 << 0x18) | ((arg9 & 0xff) << 0x10)) | ((argA & 0xff) << 8)) | (argB & 0xff));
temp_v0 = (*arg0 + 8);
if (argC != 0)
{
// Node 3
*temp_v0 = 0xfc26a005;
temp_v0->unk4 = 0x1f1493ff;
phi_v0 = (temp_v0 + 8);
}
else
{
// Node 4
if (argD != 0)
{
// Node 5
temp_v0->unk4 = -0x1c8;
*temp_v0 = 0xfc129bff;
phi_v0 = (temp_v0 + 8);
}
else
{
// Node 6
*temp_v0 = 0xfc129a25;
temp_v0->unk4 = 0xff37ffff;
phi_v0 = (temp_v0 + 8);
}
}
// Node 7
*arg0 = (void *) phi_v0;
phi_return_reg = sub_GAME_7F06ABB0(arg4, arg5, arg6, arg7);
}
}
// Node 8
return phi_return_reg;
}
#else
GLOBAL_ASM(
.text
glabel display_image_at_on_screen_coord
/* 09FB18 7F06AFE8 27BDFFD8 */ addiu $sp, $sp, -0x28
/* 09FB1C 7F06AFEC AFBF0024 */ sw $ra, 0x24($sp)
/* 09FB20 7F06AFF0 44800000 */ mtc1 $zero, $f0
/* 09FB24 7F06AFF4 C4C40000 */ lwc1 $f4, ($a2)
/* 09FB28 7F06AFF8 4604003C */ c.lt.s $f0, $f4
/* 09FB2C 7F06AFFC 00000000 */ nop
/* 09FB30 7F06B000 45020041 */ bc1fl .L7F06B108
/* 09FB34 7F06B004 8FBF0024 */ lw $ra, 0x24($sp)
/* 09FB38 7F06B008 C4C60004 */ lwc1 $f6, 4($a2)
/* 09FB3C 7F06B00C 4606003C */ c.lt.s $f0, $f6
/* 09FB40 7F06B010 00000000 */ nop
/* 09FB44 7F06B014 4502003C */ bc1fl .L7F06B108
/* 09FB48 7F06B018 8FBF0024 */ lw $ra, 0x24($sp)
/* 09FB4C 7F06B01C 8C820000 */ lw $v0, ($a0)
/* 09FB50 7F06B020 3C0EFB00 */ lui $t6, 0xfb00
/* 09FB54 7F06B024 00401825 */ move $v1, $v0
/* 09FB58 7F06B028 AC6E0000 */ sw $t6, ($v1)
/* 09FB5C 7F06B02C 8FB80048 */ lw $t8, 0x48($sp)
/* 09FB60 7F06B030 8FA8004C */ lw $t0, 0x4c($sp)
/* 09FB64 7F06B034 8FAC0050 */ lw $t4, 0x50($sp)
/* 09FB68 7F06B038 0018CE00 */ sll $t9, $t8, 0x18
/* 09FB6C 7F06B03C 8FB80054 */ lw $t8, 0x54($sp)
/* 09FB70 7F06B040 310900FF */ andi $t1, $t0, 0xff
/* 09FB74 7F06B044 00095400 */ sll $t2, $t1, 0x10
/* 09FB78 7F06B048 318D00FF */ andi $t5, $t4, 0xff
/* 09FB7C 7F06B04C 000D7200 */ sll $t6, $t5, 8
/* 09FB80 7F06B050 032A5825 */ or $t3, $t9, $t2
/* 09FB84 7F06B054 016E7825 */ or $t7, $t3, $t6
/* 09FB88 7F06B058 330800FF */ andi $t0, $t8, 0xff
/* 09FB8C 7F06B05C 01E84825 */ or $t1, $t7, $t0
/* 09FB90 7F06B060 AC690004 */ sw $t1, 4($v1)
/* 09FB94 7F06B064 8FB90058 */ lw $t9, 0x58($sp)
/* 09FB98 7F06B068 24420008 */ addiu $v0, $v0, 8
/* 09FB9C 7F06B06C 00401825 */ move $v1, $v0
/* 09FBA0 7F06B070 13200009 */ beqz $t9, .L7F06B098
/* 09FBA4 7F06B074 8FAD005C */ lw $t5, 0x5c($sp)
/* 09FBA8 7F06B078 3C0AFC26 */ lui $t2, (0xFC26A005 >> 16) # lui $t2, 0xfc26
/* 09FBAC 7F06B07C 3C0C1F14 */ lui $t4, (0x1F1493FF >> 16) # lui $t4, 0x1f14
/* 09FBB0 7F06B080 358C93FF */ ori $t4, (0x1F1493FF & 0xFFFF) # ori $t4, $t4, 0x93ff
/* 09FBB4 7F06B084 354AA005 */ ori $t2, (0xFC26A005 & 0xFFFF) # ori $t2, $t2, 0xa005
/* 09FBB8 7F06B088 AC6A0000 */ sw $t2, ($v1)
/* 09FBBC 7F06B08C AC6C0004 */ sw $t4, 4($v1)
/* 09FBC0 7F06B090 10000012 */ b .L7F06B0DC
/* 09FBC4 7F06B094 24420008 */ addiu $v0, $v0, 8
.L7F06B098:
/* 09FBC8 7F06B098 11A00009 */ beqz $t5, .L7F06B0C0
/* 09FBCC 7F06B09C 00401825 */ move $v1, $v0
/* 09FBD0 7F06B0A0 00401825 */ move $v1, $v0
/* 09FBD4 7F06B0A4 3C0BFC12 */ lui $t3, (0xFC129BFF >> 16) # lui $t3, 0xfc12
/* 09FBD8 7F06B0A8 356B9BFF */ ori $t3, (0xFC129BFF & 0xFFFF) # ori $t3, $t3, 0x9bff
/* 09FBDC 7F06B0AC 240EFE38 */ li $t6, -456
/* 09FBE0 7F06B0B0 AC6E0004 */ sw $t6, 4($v1)
/* 09FBE4 7F06B0B4 AC6B0000 */ sw $t3, ($v1)
/* 09FBE8 7F06B0B8 10000008 */ b .L7F06B0DC
/* 09FBEC 7F06B0BC 24420008 */ addiu $v0, $v0, 8
.L7F06B0C0:
/* 09FBF0 7F06B0C0 3C18FC12 */ lui $t8, (0xFC129A25 >> 16) # lui $t8, 0xfc12
/* 09FBF4 7F06B0C4 3C0FFF37 */ lui $t7, (0xFF37FFFF >> 16) # lui $t7, 0xff37
/* 09FBF8 7F06B0C8 35EFFFFF */ ori $t7, (0xFF37FFFF & 0xFFFF) # ori $t7, $t7, 0xffff
/* 09FBFC 7F06B0CC 37189A25 */ ori $t8, (0xFC129A25 & 0xFFFF) # ori $t8, $t8, 0x9a25
/* 09FC00 7F06B0D0 AC780000 */ sw $t8, ($v1)
/* 09FC04 7F06B0D4 AC6F0004 */ sw $t7, 4($v1)
/* 09FC08 7F06B0D8 24420008 */ addiu $v0, $v0, 8
.L7F06B0DC:
/* 09FC0C 7F06B0DC AC820000 */ sw $v0, ($a0)
/* 09FC10 7F06B0E0 8FAA0044 */ lw $t2, 0x44($sp)
/* 09FC14 7F06B0E4 8FB90040 */ lw $t9, 0x40($sp)
/* 09FC18 7F06B0E8 8FA9003C */ lw $t1, 0x3c($sp)
/* 09FC1C 7F06B0EC 8FA80038 */ lw $t0, 0x38($sp)
/* 09FC20 7F06B0F0 AFAA001C */ sw $t2, 0x1c($sp)
/* 09FC24 7F06B0F4 AFB90018 */ sw $t9, 0x18($sp)
/* 09FC28 7F06B0F8 AFA90014 */ sw $t1, 0x14($sp)
/* 09FC2C 7F06B0FC 0FC1AAEC */ jal sub_GAME_7F06ABB0
/* 09FC30 7F06B100 AFA80010 */ sw $t0, 0x10($sp)
/* 09FC34 7F06B104 8FBF0024 */ lw $ra, 0x24($sp)
.L7F06B108:
/* 09FC38 7F06B108 27BD0028 */ addiu $sp, $sp, 0x28
/* 09FC3C 7F06B10C 03E00008 */ jr $ra
/* 09FC40 7F06B110 00000000 */ nop
)
#endif

2910
src/game/cheat_buttons.c Normal file

File diff suppressed because it is too large Load Diff

15
src/game/cheat_buttons.h Normal file
View File

@ -0,0 +1,15 @@
#ifndef _CHEAT_BUTTONS_H_
#define _CHEAT_BUTTONS_H_
#include "ultra64.h"
struct struct_15 {
char anonymous_0;
char field_1;
char field_2;
char field_3;
void * anonymous_1;
int anonymous_2;
int anonymous_3;
};
#endif

7566
src/game/chr.c Normal file

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
#ifndef _ACTOR_H_
#define _ACTOR_H_
#ifndef _CHR_H_
#define _CHR_H_
#include "ultra64.h"
#include "bondgame.h"
@ -20,13 +20,13 @@ struct animation_something
struct struck_animation_table
{
s32 anonymous_0;
void *anonymous_0;
s32 anonymous_1;
f32 anonymous_2;
f32 anonymous_3;
s32 anonymous_4;
f32 anonymous_5;
f32 anonymous_6;
f32 sfx1_timer_60;
f32 sfx2_timer_60;
};
struct explosion_death_animation
@ -68,6 +68,7 @@ struct weapon_firing_animation_table
f32 anonymous_17;
};
extern struct animation_something D_8002C914;

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,5 +1,5 @@
#ifndef _ACTIONBLOCK_H_
#define _ACTIONBLOCK_H_
#ifndef _CHRAI_H_
#define _CHRAI_H_
#include "ultra64.h"
struct sfx_register_struct {
@ -99,6 +99,7 @@ extern struct struct_16 D_80031BEC;
extern u32 D_80031C08[];
extern u32 D_80031C80[];
extern u32 D_80031D30[];
extern struct struct_20 D_80031D58;
extern u32 monitor_animation_microcode[];
extern u32 dword_D_80031F00[];
extern u32 dword_D_80031F44[];

View File

@ -1,5 +1,5 @@
#ifndef _CHEAT_BUTTONS_OBJECTRELATED_H_
#define _CHEAT_BUTTONS_OBJECTRELATED_H_
#ifndef _CHROBJDATA_H_
#define _CHROBJDATA_H_
#include "ultra64.h"
struct prop_pos_data {
@ -117,18 +117,18 @@ struct player_gait_position_entry {
};
struct struct_13 {
void * anonymous_0;
int anonymous_1;
void * ailist;
int ailistid;
};
struct struct_15 {
char anonymous_0;
char field_1;
char field_2;
char field_3;
void * anonymous_1;
int anonymous_2;
int anonymous_3;
struct headHat
{
float xoffset;
float yoffset;
float zoffset;
float xsize;
float ysize;
float zsize;
};
extern struct item_related prop_cctv_related;

View File

@ -1,5 +1,5 @@
#include "ultra64.h"
#include "game/actionblock.h"
#include "game/chrai.h"
#include "game/cleanup_alarms.h"

View File

@ -11,14 +11,14 @@ void cleanupObjectives(s32 stage) {
GLOBAL_ASM(
.text
glabel cleanupObjectives
/* 03C0C0 7F007590 3C028007 */ lui $v0, %hi(objective_ptrs) # $v0, 0x8007
/* 03C0C0 7F007590 3C028007 */ lui $v0, %hi(objective_ptrs)
/* 03C0C4 7F007594 8C425D30 */ lw $v0, %lo(objective_ptrs)($v0)
/* 03C0C8 7F007598 3C048007 */ lui $a0, %hi(objective_ptrs+8) # $a0, 0x8007
/* 03C0C8 7F007598 3C048007 */ lui $a0, %hi(objective_ptrs+8)
/* 03C0CC 7F00759C 24845D38 */ addiu $a0, %lo(objective_ptrs+8) # addiu $a0, $a0, 0x5d38
/* 03C0D0 7F0075A0 1040000C */ beqz $v0, .L7F0075D4
/* 03C0D4 7F0075A4 24030008 */ li $v1, 8
/* 03C0D8 7F0075A8 904E000E */ lbu $t6, 0xe($v0)
/* 03C0DC 7F0075AC 3C188007 */ lui $t8, %hi(dword_CODE_bss_80075D58) # $t8, 0x8007
/* 03C0DC 7F0075AC 3C188007 */ lui $t8, %hi(dword_CODE_bss_80075D58)
/* 03C0E0 7F0075B0 31CF0001 */ andi $t7, $t6, 1
/* 03C0E4 7F0075B4 11E00007 */ beqz $t7, .L7F0075D4
/* 03C0E8 7F0075B8 00000000 */ nop
@ -26,28 +26,28 @@ glabel cleanupObjectives
/* 03C0F0 7F0075C0 24050002 */ li $a1, 2
/* 03C0F4 7F0075C4 24190001 */ li $t9, 1
/* 03C0F8 7F0075C8 10B80002 */ beq $a1, $t8, .L7F0075D4
/* 03C0FC 7F0075CC 3C018007 */ lui $at, %hi(dword_CODE_bss_80075D58) # $at, 0x8007
/* 03C0FC 7F0075CC 3C018007 */ lui $at, %hi(dword_CODE_bss_80075D58)
/* 03C100 7F0075D0 AC395D58 */ sw $t9, %lo(dword_CODE_bss_80075D58)($at)
.L7F0075D4:
/* 03C104 7F0075D4 3C028007 */ lui $v0, %hi(objective_ptrs+4) # $v0, 0x8007
/* 03C104 7F0075D4 3C028007 */ lui $v0, %hi(objective_ptrs+4)
/* 03C108 7F0075D8 8C425D34 */ lw $v0, %lo(objective_ptrs+4)($v0)
/* 03C10C 7F0075DC 3C088007 */ lui $t0, %hi(dword_CODE_bss_80075D58) # $t0, 0x8007
/* 03C10C 7F0075DC 3C088007 */ lui $t0, %hi(dword_CODE_bss_80075D58)
/* 03C110 7F0075E0 25085D58 */ addiu $t0, %lo(dword_CODE_bss_80075D58) # addiu $t0, $t0, 0x5d58
/* 03C114 7F0075E4 1040000C */ beqz $v0, .L7F007618
/* 03C118 7F0075E8 24050002 */ li $a1, 2
/* 03C11C 7F0075EC 9049000E */ lbu $t1, 0xe($v0)
/* 03C120 7F0075F0 3C0B8007 */ lui $t3, %hi(dword_CODE_bss_80075D5C) # $t3, 0x8007
/* 03C120 7F0075F0 3C0B8007 */ lui $t3, %hi(dword_CODE_bss_80075D5C)
/* 03C124 7F0075F4 312A0001 */ andi $t2, $t1, 1
/* 03C128 7F0075F8 11400007 */ beqz $t2, .L7F007618
/* 03C12C 7F0075FC 00000000 */ nop
/* 03C130 7F007600 8D6B5D5C */ lw $t3, %lo(dword_CODE_bss_80075D5C)($t3)
/* 03C134 7F007604 240C0001 */ li $t4, 1
/* 03C138 7F007608 3C018007 */ lui $at, %hi(dword_CODE_bss_80075D5C) # $at, 0x8007
/* 03C138 7F007608 3C018007 */ lui $at, %hi(dword_CODE_bss_80075D5C)
/* 03C13C 7F00760C 10AB0002 */ beq $a1, $t3, .L7F007618
/* 03C140 7F007610 00000000 */ nop
/* 03C144 7F007614 AC2C5D5C */ sw $t4, %lo(dword_CODE_bss_80075D5C)($at)
.L7F007618:
/* 03C148 7F007618 3C068007 */ lui $a2, %hi(dword_CODE_bss_80075D58) # $a2, 0x8007
/* 03C148 7F007618 3C068007 */ lui $a2, %hi(dword_CODE_bss_80075D58)
/* 03C14C 7F00761C 24C65D58 */ addiu $a2, %lo(dword_CODE_bss_80075D58) # addiu $a2, $a2, 0x5d58
/* 03C150 7F007620 24070001 */ li $a3, 1
.L7F007624:

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