forked from Ports/goldeneye-pc-port
update
This commit is contained in:
1 parent
3c9651a097
commit
5aac04b64c
216 files changed
+33182
-80339
No files matched your search
@@ -18,7 +18,7 @@ on:
|
||||
jobs:
|
||||
buildeu:
|
||||
|
||||
runs-on: ubuntu-18.04
|
||||
runs-on: ubuntu-20.04
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
@@ -18,7 +18,7 @@ on:
|
||||
jobs:
|
||||
buildjp:
|
||||
|
||||
runs-on: ubuntu-18.04
|
||||
runs-on: ubuntu-20.04
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
@@ -64,7 +64,7 @@ jobs:
|
||||
|
||||
- name: Upload output files
|
||||
|
||||
uses: dmnemec/copy_file_to_another_repo_action@main
|
||||
uses: dmnemec/copy_file_to_another_repo_action@v1.0.4
|
||||
|
||||
env:
|
||||
API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }}
|
||||
@@ -75,6 +75,7 @@ jobs:
|
||||
destination_repo: 'kholdfuzion/goldeneyestatus'
|
||||
user_email: $API_TOKEN_EMAIL
|
||||
user_name: $API_TOKEN_USER
|
||||
source_file: 'tools/report/JPN.htm'
|
||||
source_file: |
|
||||
tools/report/JPN.htm
|
||||
|
||||
#need way of telling report that JP passed/failed
|
||||
@@ -34,7 +34,7 @@ jobs:
|
||||
|
||||
buildus:
|
||||
|
||||
runs-on: ubuntu-18.04
|
||||
runs-on: ubuntu-20.04
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
+15
-1
@@ -28,7 +28,7 @@ assets/jfont_dl.bin
|
||||
assets/font_chardataj.bin
|
||||
assets/font_chardatae.bin
|
||||
assets/ge007.u.29D160.Globalimagetable.bin
|
||||
assets/Globalimagetable_commandblock.bin
|
||||
assets/rarewarelogo.bin
|
||||
assets/ge007.u.2A4D50.usedby7F008DE4.bin
|
||||
assets/ge007.u.117880.jfont_dl.bin
|
||||
assets/ge007.u.117940.jfont_chardata.bin
|
||||
@@ -93,3 +93,17 @@ uld_c.c
|
||||
umerge_c.c
|
||||
uopt_c.c
|
||||
usplit_c.c
|
||||
|
||||
#exclude local user scripts in root folder
|
||||
/my_*.sh
|
||||
assets/obseg/em/data/alien8.seg
|
||||
assets/obseg/em/data/atic.seg
|
||||
assets/obseg/em/data/cookie.seg
|
||||
assets/obseg/em/data/gunfright.seg
|
||||
assets/obseg/em/data/jetman.seg
|
||||
assets/obseg/em/data/jetpac.seg
|
||||
assets/obseg/em/data/knightlore.seg
|
||||
assets/obseg/em/data/pssst.seg
|
||||
assets/obseg/em/data/sabre.seg
|
||||
assets/obseg/em/data/spec_rom.seg
|
||||
assets/obseg/em/data/under.seg
|
||||
@@ -8,7 +8,7 @@ default: colour
|
||||
FINAL := YES
|
||||
VERSION := US
|
||||
IDO_RECOMP := YES
|
||||
VERBOSE := 0
|
||||
VERBOSE := 2
|
||||
# If COMPARE is 1, check the output sha1sum when building 'all', and if fail to match
|
||||
# then compare ELF sections to known md5 checksums.
|
||||
# If compare is 2, it will just compare the sha1sum.
|
||||
@@ -298,7 +298,7 @@ GAMEOBJECTS := $(foreach file,$(GAMEFILES_S),$(BUILD_DIR)/$(file:.s=.o)) \
|
||||
$(foreach file,$(GAMEFILES_C),$(BUILD_DIR)/$(file:.c=.o))
|
||||
|
||||
|
||||
ASSET_DATAFILES := assets/GlobalImageTable.c assets/animationtable_data.c assets/animationtable_entries.c assets/font_dl.c assets/font_chardataj.c assets/font_chardatae.c assets/Globalimagetable_commandblock.c
|
||||
ASSET_DATAFILES := assets/GlobalImageTable.c assets/animationtable_data.c assets/animationtable_entries.c assets/font_dl.c assets/font_chardataj.c assets/font_chardatae.c assets/rarewarelogo.c
|
||||
ASSET_DATAOBJECTS := $(foreach file,$(ASSET_DATAFILES),$(BUILD_DIR)/$(file:.c=.o))
|
||||
|
||||
ROMFILES2 := assets/romfiles2.s
|
||||
@@ -447,21 +447,16 @@ $(BUILD_DIR)/assets/images/split/%.o: assets/images/split/%.bin pb5
|
||||
$(BUILD_DIR)/$(OBSEGMENT): $(OBSEG_RZ) $(IMAGE_OBJS) pb6
|
||||
$(call PRINT_STATUS,Compressing6:,$<,$@)
|
||||
|
||||
#Build C files in root/
|
||||
$(BUILD_DIR)/%.o: src/%.c pb7
|
||||
$(call PRINT_STATUS,Compiling7:,$<,$@)
|
||||
$(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 C files in src/
|
||||
$(BUILD_DIR)/src/%.o: src/%.c pb8
|
||||
$(BUILD_DIR)/src/%.o: src/%.c
|
||||
$(call PRINT_STATUS,Compiling8:,$<,$@)
|
||||
# convert AI_PRINT commands from readable to byte-array
|
||||
# echo $<
|
||||
# echo filter = $(filter-out %chraidata.c,$<)
|
||||
# for some reason, normal ifeq doesnt work, so has to be single line...
|
||||
$(if $(filter %chraidata.c,$<), $(ConvertAIPRINT) $< | $(CC) -c $(CFLAGS) tools/asmpreproc/include-stdin.c -o $@ $(OPTIMIZATION), $(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)
|
||||
@if grep -q 'GLOBAL_ASM(' $<; then \
|
||||
$(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; \
|
||||
else \
|
||||
$(CC) -c $(CFLAGS) -o $@ $(OPTIMIZATION) $<; \
|
||||
fi
|
||||
|
||||
|
||||
#Build RamRom
|
||||
@@ -490,8 +485,7 @@ $(BUILD_DIR)/assets/%.o: assets/%.c pb4
|
||||
ifeq ($(filter-out %setup%,$<),)
|
||||
$(ConvertAIPRINT) $< | $(CC) -c $(CFLAGS) tools/asmpreproc/include-stdin.c -o $@ $(OPTIMIZATION)
|
||||
else
|
||||
$(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
|
||||
$(CC) -c $(CFLAGS) -o $@ $(OPTIMIZATION) $<
|
||||
endif
|
||||
|
||||
#$(BUILD_DIR)/src/random.o: OPTIMIZATION := -O3
|
||||
@@ -744,8 +738,8 @@ testPB:
|
||||
$(call IncrementProgressBarFromAtRate,0,0.125)
|
||||
|
||||
textures:
|
||||
for file in assets/images/split/*.bin; do ../../tools/mktex/build/tex2png $file .assets/images/out; done
|
||||
|
||||
$(foreach x,$(IMAGE_BINS),tools/mktex/build/tex2png $(x) assets/images/out ${\n})
|
||||
|
||||
colour:
|
||||
@echo "\033[3A"
|
||||
ifeq ($(VERBOSE),0)
|
||||
|
||||
+225
-213
@@ -458,44 +458,44 @@ sImageTableEntry s_genericimage[] = {
|
||||
{IMAGE_FLAREWHITEROUND, 0x36, 0x36, 3, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}
|
||||
};
|
||||
|
||||
sImageTableEntry s_impactimages[] = {
|
||||
{IMAGE_IMPACT1, 0x30, 0x30, 6, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_IMPACT2, 0x40, 0x20, 7, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_IMPACT3, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_IMPACTLOTS, 0x40, 0x20, 7, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_IMPACT1, 0x30, 0x30, 6, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_IMPACT1, 0x30, 0x30, 6, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_IMPACT1, 0x30, 0x30, 6, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_IMPACT4, 0x20, 0x20, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_IMPACTMULTI, 0x20, 0x20, 0, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_IMPACTREDBRICK1, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_IMPACTREDBRICK2, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_IMPACTREDBRICK3, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_IMPACTBRICK2, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_IMPACTBRICK3, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_IMPACTBROWNBRICK1, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_IMPACTBROWNBRICK2, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_IMPACT3, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_IMPACT1, 0x30, 0x30, 6, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_IMPACT1, 0x30, 0x30, 6, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_IMPACT1, 0x30, 0x30, 6, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}
|
||||
sImageTableEntry s_impactimages[] = { // bg/debris?
|
||||
{IMAGE_IMPACT1, 0x30, 0x30, 6, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // bg/windowhit
|
||||
{IMAGE_IMPACT2, 0x40, 0x20, 7, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // bg/bullethit
|
||||
{IMAGE_IMPACT3, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // bg/wallhit
|
||||
{IMAGE_IMPACTLOTS, 0x40, 0x20, 7, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // bg/bulletholesplaster
|
||||
{IMAGE_IMPACT1, 0x30, 0x30, 6, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // bg/windowhit
|
||||
{IMAGE_IMPACT1, 0x30, 0x30, 6, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // bg/windowhit
|
||||
{IMAGE_IMPACT1, 0x30, 0x30, 6, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // bg/windowhit
|
||||
{IMAGE_IMPACT4, 0x20, 0x20, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // bg/bullethole
|
||||
{IMAGE_IMPACTMULTI, 0x20, 0x20, 0, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_CLAMP, G_TX_CLAMP, 0}, // bg/bulletholesplasterrgb
|
||||
{IMAGE_IMPACTREDBRICK1, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_CLAMP, G_TX_CLAMP, 0}, // bg/wallhole1
|
||||
{IMAGE_IMPACTREDBRICK2, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_CLAMP, G_TX_CLAMP, 0}, // bg/wallhole2
|
||||
{IMAGE_IMPACTREDBRICK3, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_CLAMP, G_TX_CLAMP, 0}, // bg/wallhole3
|
||||
{IMAGE_IMPACTBRICK2, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_CLAMP, G_TX_CLAMP, 0}, // bg/wallhole6
|
||||
{IMAGE_IMPACTBRICK3, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_CLAMP, G_TX_CLAMP, 0}, // bg/wallhole7
|
||||
{IMAGE_IMPACTBROWNBRICK1, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_CLAMP, G_TX_CLAMP, 0}, // bg/wallhole8
|
||||
{IMAGE_IMPACTBROWNBRICK2, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_CLAMP, G_TX_CLAMP, 0}, // bg/wallhole9
|
||||
{IMAGE_IMPACT3, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // bg/wallhit
|
||||
{IMAGE_IMPACT1, 0x30, 0x30, 6, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // bg/windowhit
|
||||
{IMAGE_IMPACT1, 0x30, 0x30, 6, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // bg/windowhit
|
||||
{IMAGE_IMPACT1, 0x30, 0x30, 6, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0} // bg/windowhit
|
||||
};
|
||||
|
||||
sImageTableEntry s_explosion_smokeimages[] = {
|
||||
{IMAGE_SMOKE1, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_SMOKE2, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_SMOKE3, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_SMOKE4, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_SMOKE5, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_SMOKE6, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}
|
||||
sImageTableEntry s_explosion_smokeimages[] = { // sfx/smoke?
|
||||
{IMAGE_SMOKE1, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // sfx/hit5
|
||||
{IMAGE_SMOKE2, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // sfx/hit10
|
||||
{IMAGE_SMOKE3, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // sfx/hit15
|
||||
{IMAGE_SMOKE4, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // sfx/hit20
|
||||
{IMAGE_SMOKE5, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // sfx/hit25
|
||||
{IMAGE_SMOKE6, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0} // sfx/hit30
|
||||
};
|
||||
|
||||
sImageTableEntry s_scattered_explosions[] = {
|
||||
{IMAGE_SMOKEBALLS1, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_SMOKEBALLS2, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_SMOKEBALLS3, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_SMOKEBALLS4, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_SMOKEBALLS5, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}
|
||||
sImageTableEntry s_scattered_explosions[] = { // sfx/firebomb?
|
||||
{IMAGE_SMOKEBALLS1, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // sfx/backhit6
|
||||
{IMAGE_SMOKEBALLS2, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // sfx/backhit12
|
||||
{IMAGE_SMOKEBALLS3, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // sfx/backhit18
|
||||
{IMAGE_SMOKEBALLS4, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // sfx/backhit24
|
||||
{IMAGE_SMOKEBALLS5, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0} // sfx/backhit30
|
||||
};
|
||||
|
||||
sImageTableEntry s_flareimage1[] = {
|
||||
@@ -503,246 +503,258 @@ sImageTableEntry s_flareimage1[] = {
|
||||
};
|
||||
|
||||
sImageTableEntry s_flareimage2[] = {
|
||||
{IMAGE_WHITEBOX, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}
|
||||
{IMAGE_WHITEBOX, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0} // sfx/white
|
||||
};
|
||||
|
||||
sImageTableEntry s_flareimage3[] = {
|
||||
{IMAGE_FLAREORANGELINE, 0x10, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_WRAP, G_TX_WRAP, 0}
|
||||
{IMAGE_FLAREORANGELINE, 0x10, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_WRAP, G_TX_WRAP, 0} // sfx/laser
|
||||
};
|
||||
|
||||
sImageTableEntry s_flareimage4[] = {
|
||||
{IMAGE_FLAREBLUELINE, 0x10, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_WRAP, G_TX_WRAP, 0}
|
||||
{IMAGE_FLAREBLUELINE, 0x10, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_WRAP, G_TX_WRAP, 0} // sfx/beam
|
||||
};
|
||||
|
||||
sImageTableEntry s_flareimage5[] = {
|
||||
{IMAGE_FLAREBLUEROUND, 0x20, 0x20, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_WRAP, G_TX_WRAP, 0}
|
||||
{IMAGE_FLAREBLUEROUND, 0x20, 0x20, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_WRAP, G_TX_WRAP, 0} // sfx/beamhead
|
||||
};
|
||||
|
||||
|
||||
|
||||
sImageTableEntry s_ammo9mmimage[] = {
|
||||
{IMAGE_9MMAMMO, 5, 0xC, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_CLAMP, G_TX_CLAMP, 0}
|
||||
{IMAGE_9MMAMMO, 5, 0xC, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_CLAMP, G_TX_CLAMP, 0} // bg/ammoicon9mm
|
||||
};
|
||||
|
||||
sImageTableEntry s_rifleammoimage[] = {
|
||||
{IMAGE_RIFLEAMMO, 5, 0x1C, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_CLAMP, G_TX_CLAMP, 0}
|
||||
sImageTableEntry s_rifleammoimage[] = {
|
||||
{IMAGE_RIFLEAMMO, 5, 0x1C, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_CLAMP, G_TX_CLAMP, 0} // bg/ammoiconrifle
|
||||
};
|
||||
|
||||
sImageTableEntry s_shotgunammoimage[] = {
|
||||
{IMAGE_SHOTAMMO, 6, 0x14, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_CLAMP, G_TX_CLAMP, 0}
|
||||
sImageTableEntry s_shotgunammoimage[] = {
|
||||
{IMAGE_SHOTAMMO, 6, 0x14, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_CLAMP, G_TX_CLAMP, 0} // bg/ammoiconshell
|
||||
};
|
||||
|
||||
sImageTableEntry s_knifeammoimage[] = {
|
||||
{IMAGE_KNIFEAMMO, 6, 0x18, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_CLAMP, G_TX_CLAMP, 0}
|
||||
sImageTableEntry s_knifeammoimage[] = {
|
||||
{IMAGE_KNIFEAMMO, 6, 0x18, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_CLAMP, G_TX_CLAMP, 0} // bg/ammoiconknife
|
||||
};
|
||||
|
||||
sImageTableEntry s_glammoimage[] = {
|
||||
{IMAGE_GLAMMO, 8, 0x15, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_WRAP, G_TX_CLAMP, 0}
|
||||
sImageTableEntry s_glammoimage[] = {
|
||||
{IMAGE_GLAMMO, 8, 0x15, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_WRAP, G_TX_CLAMP, 0} // bg/ammoicongrenade
|
||||
};
|
||||
|
||||
sImageTableEntry s_rocketammoimage[] = {
|
||||
{IMAGE_ROCKETAMMO, 7, 0x16, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_CLAMP, G_TX_CLAMP, 0}
|
||||
sImageTableEntry s_rocketammoimage[] = {
|
||||
{IMAGE_ROCKETAMMO, 7, 0x16, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_CLAMP, G_TX_CLAMP, 0} // bg/ammoiconrocket
|
||||
};
|
||||
|
||||
sImageTableEntry s_genericmineammoimage[] = {
|
||||
{IMAGE_PLAINMINEAMMO, 0xE, 0xE, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_CLAMP, G_TX_CLAMP, 0}
|
||||
sImageTableEntry s_genericmineammoimage[] = {
|
||||
{IMAGE_PLAINMINEAMMO, 0xE, 0xE, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_CLAMP, G_TX_CLAMP, 0} // bg/ammoiconmine
|
||||
};
|
||||
|
||||
sImageTableEntry s_grenadeammoimage[] = {
|
||||
{IMAGE_GRENADEAMMO, 0xE, 0x12, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_CLAMP, G_TX_CLAMP, 0}
|
||||
sImageTableEntry s_grenadeammoimage[] = {
|
||||
{IMAGE_GRENADEAMMO, 0xE, 0x12, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_CLAMP, G_TX_CLAMP, 0} // bg/ammogrenadehand
|
||||
};
|
||||
|
||||
sImageTableEntry s_magnumammoimage[] = {
|
||||
{IMAGE_MAGAMMO, 5, 0xF, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_CLAMP, G_TX_CLAMP, 0}
|
||||
sImageTableEntry s_magnumammoimage[] = {
|
||||
{IMAGE_MAGAMMO, 5, 0xF, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_CLAMP, G_TX_CLAMP, 0} // bg/ammoiconmagnum
|
||||
};
|
||||
|
||||
sImageTableEntry s_goldengunammoimage[] = {
|
||||
{IMAGE_GGAMMO, 5, 0xC, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_CLAMP, G_TX_CLAMP, 0}
|
||||
sImageTableEntry s_goldengunammoimage[] = {
|
||||
{IMAGE_GGAMMO, 5, 0xC, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_CLAMP, G_TX_CLAMP, 0} // bg/ammoicongold
|
||||
};
|
||||
|
||||
sImageTableEntry s_remotemineammoimage[] = {
|
||||
{IMAGE_MINEAMMO, 0xE, 0xE, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_CLAMP, G_TX_CLAMP, 0}
|
||||
sImageTableEntry s_remotemineammoimage[] = {
|
||||
{IMAGE_MINEAMMO, 0xE, 0xE, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_CLAMP, G_TX_CLAMP, 0} // bg/ammoiconminered
|
||||
};
|
||||
|
||||
sImageTableEntry s_timedmineammoimage[] = {
|
||||
{IMAGE_TIMEAMMO, 0xE, 0xE, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_CLAMP, G_TX_CLAMP, 0}
|
||||
sImageTableEntry s_timedmineammoimage[] = {
|
||||
{IMAGE_TIMEAMMO, 0xE, 0xE, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_CLAMP, G_TX_CLAMP, 0} // bg/ammoiconmineyellow
|
||||
};
|
||||
|
||||
sImageTableEntry s_proxmineammoimage[] = {
|
||||
{IMAGE_PROXAMMO, 0xE, 0xE, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_CLAMP, G_TX_CLAMP, 0}
|
||||
sImageTableEntry s_proxmineammoimage[] = {
|
||||
{IMAGE_PROXAMMO, 0xE, 0xE, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_CLAMP, G_TX_CLAMP, 0} // bg/ammoiconminegreen
|
||||
};
|
||||
|
||||
sImageTableEntry s_tankammoimage[] = {
|
||||
{IMAGE_TANKAMMO, 7, 0x16, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}
|
||||
sImageTableEntry s_tankammoimage[] = {
|
||||
{IMAGE_TANKAMMO, 7, 0x16, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0} // bg/ammoicontankshell
|
||||
};
|
||||
|
||||
sImageTableEntry s_crosshairimage[] = {
|
||||
{IMAGE_CROSSHAIR1, 0x20, 0x20, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_WRAP, G_TX_WRAP, 0}
|
||||
sImageTableEntry s_crosshairimage[] = {
|
||||
{IMAGE_CROSSHAIR1, 0x20, 0x20, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_WRAP, G_TX_WRAP, 0} // bg/sight
|
||||
};
|
||||
|
||||
sImageTableEntry s_betacrosshairimage[] = {
|
||||
{IMAGE_CROSSHAIR2, 0x20, 0x20, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_WRAP, G_TX_WRAP, 0}
|
||||
sImageTableEntry s_betacrosshairimage[] = {
|
||||
{IMAGE_CROSSHAIR2, 0x20, 0x20, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_WRAP, G_TX_WRAP, 0} //
|
||||
};
|
||||
|
||||
sImageTableEntry s_glassoverlayimage[] = {
|
||||
{IMAGE_GLASS7, 0x20, 1, 6, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_GLASS3, 0x36, 0x36, 3, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}
|
||||
sImageTableEntry s_glassoverlayimage[] = {
|
||||
{IMAGE_GLASS7, 0x20, 1, 6, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // sfx/glass?
|
||||
{IMAGE_GLASS3, 0x36, 0x36, 3, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0} // sfx/glass?
|
||||
};
|
||||
|
||||
sImageTableEntry s_monitorimages[] = {
|
||||
{IMAGE_MONITOR_BOND, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_LOCATION, 0x80, 0x10, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_BEGINARMING, 0x80, 0x10, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_TARGET, 0x80, 0x10, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_SEVERNAYA, 0x80, 0x10, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_BREAKTARGET, 0x80, 0x10, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_AIMER, 0x80, 0x10, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_EARTH, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_DESKTOPBANG, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_HEATMAP, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_3DMATH, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_DESKTOPBARS, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_2DMATH, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_SATELLITE, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_DESKTOP, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_DESKTOPSTAGGERED, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_CUBE1, 0x10, 0x10, 5, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_SHUTTLE1, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_SHUTTLE2, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_EARTHFULL1, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_EARTHFULL2, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_BLUESTARS, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_GALAXY1, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_GALAXY2, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_EARTHTEXT, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_TARGETEARTH, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_GALAXY3, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_STATIC, 0x40, 0x40, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_SINE, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_TEXT, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_BARS, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_SQUARES, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_FIST1, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_FIST2, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_FIST3, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_FIST4, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_SKATEBOARD4, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_SKATEBOARD1, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_SKATEBOARD2, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_SKATEBOARD3, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_TALK1, 0x20, 0x20, 6, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_TALK2, 0x20, 0x20, 6, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_TALK3, 0x20, 0x20, 6, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_TALK4, 0x20, 0x20, 6, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_WORLDMAP, 0x80, 0x30, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_CLAMP, 0},
|
||||
{IMAGE_MONITOR_CUBE2, 0x10, 0x10, 5, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_CUBE3, 0x10, 0x10, 5, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_CUBE4, 0x10, 0x10, 5, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_MONITOR_TRIANGLE, 0x36, 0x36, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_MONITOR_KEYBOARDKEY, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}
|
||||
{IMAGE_MONITOR_BOND, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/bondlogo
|
||||
{IMAGE_MONITOR_LOCATION, 0x80, 0x10, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/cyrlocation
|
||||
{IMAGE_MONITOR_BEGINARMING, 0x80, 0x10, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/cyrweaponarmed
|
||||
{IMAGE_MONITOR_TARGET, 0x80, 0x10, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/cyrtarget
|
||||
{IMAGE_MONITOR_SEVERNAYA, 0x80, 0x10, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/cyrsevernaya
|
||||
{IMAGE_MONITOR_BREAKTARGET, 0x80, 0x10, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/cyrtimetotarget
|
||||
{IMAGE_MONITOR_AIMER, 0x80, 0x10, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/cyrxhairspanel
|
||||
{IMAGE_MONITOR_EARTH, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/screen1
|
||||
{IMAGE_MONITOR_DESKTOPBANG, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/screen2
|
||||
{IMAGE_MONITOR_HEATMAP, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/screen3
|
||||
{IMAGE_MONITOR_3DMATH, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/screen4
|
||||
{IMAGE_MONITOR_DESKTOPBARS, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/screen5
|
||||
{IMAGE_MONITOR_2DMATH, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/screen6
|
||||
{IMAGE_MONITOR_SATELLITE, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/screen7
|
||||
{IMAGE_MONITOR_DESKTOP, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/screen8
|
||||
{IMAGE_MONITOR_DESKTOPSTAGGERED, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/screen9
|
||||
{IMAGE_MONITOR_CUBE1, 0x10, 0x10, 5, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/anim2.0
|
||||
{IMAGE_MONITOR_SHUTTLE1, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/drax1
|
||||
{IMAGE_MONITOR_SHUTTLE2, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/drax2
|
||||
{IMAGE_MONITOR_EARTHFULL1, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/drax3
|
||||
{IMAGE_MONITOR_EARTHFULL2, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/drax4
|
||||
{IMAGE_MONITOR_BLUESTARS, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/drax5
|
||||
{IMAGE_MONITOR_GALAXY1, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/drax6
|
||||
{IMAGE_MONITOR_GALAXY2, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/drax7
|
||||
{IMAGE_MONITOR_EARTHTEXT, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/drax10
|
||||
{IMAGE_MONITOR_TARGETEARTH, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/drax11
|
||||
{IMAGE_MONITOR_GALAXY3, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/drax12
|
||||
{IMAGE_MONITOR_STATIC, 0x40, 0x40, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/screenstatic
|
||||
{IMAGE_MONITOR_SINE, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/screennew1
|
||||
{IMAGE_MONITOR_TEXT, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/screennew2
|
||||
{IMAGE_MONITOR_BARS, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/screennew3
|
||||
{IMAGE_MONITOR_SQUARES, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/screennew4
|
||||
{IMAGE_MONITOR_FIST1, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/anim4.1
|
||||
{IMAGE_MONITOR_FIST2, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/anim4.2
|
||||
{IMAGE_MONITOR_FIST3, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/anim4.3
|
||||
{IMAGE_MONITOR_FIST4, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/anim4.4
|
||||
{IMAGE_MONITOR_SKATEBOARD4, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/anim5.1
|
||||
{IMAGE_MONITOR_SKATEBOARD1, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/anim5.2
|
||||
{IMAGE_MONITOR_SKATEBOARD2, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/anim5.3
|
||||
{IMAGE_MONITOR_SKATEBOARD3, 0x20, 0x20, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/anim5.4
|
||||
{IMAGE_MONITOR_TALK1, 0x20, 0x20, 6, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/anim3.1
|
||||
{IMAGE_MONITOR_TALK2, 0x20, 0x20, 6, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/anim3.2
|
||||
{IMAGE_MONITOR_TALK3, 0x20, 0x20, 6, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/anim3.3
|
||||
{IMAGE_MONITOR_TALK4, 0x20, 0x20, 6, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/anim3.4
|
||||
{IMAGE_MONITOR_WORLDMAP, 0x80, 0x30, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_CLAMP, 0}, // monitors/earthmap
|
||||
{IMAGE_MONITOR_CUBE2, 0x10, 0x10, 5, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/anim2.1
|
||||
{IMAGE_MONITOR_CUBE3, 0x10, 0x10, 5, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/anim2.2
|
||||
{IMAGE_MONITOR_CUBE4, 0x10, 0x10, 5, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // monitors/anim2.3
|
||||
{IMAGE_MONITOR_TRIANGLE, 0x36, 0x36, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // monitors/animradar
|
||||
{IMAGE_MONITOR_KEYBOARDKEY, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0} // monitors/keyboardkey
|
||||
};
|
||||
|
||||
sImageTableEntry s_skywaterimages[] = {
|
||||
{IMAGE_CLOUDS_GRAYSCALE, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_WATER_GRAYSCALE, 0x40, 0x40, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0},
|
||||
{IMAGE_WATER_BLUE, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}
|
||||
{IMAGE_CLOUDS_GRAYSCALE, 0x40, 0x40, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // bg/clouds
|
||||
{IMAGE_WATER_GRAYSCALE, 0x40, 0x40, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}, // bg/water1
|
||||
{IMAGE_WATER_BLUE, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0} // bg/water2
|
||||
};
|
||||
|
||||
sImageTableEntry s_mainfolderimages[] = {
|
||||
{IMAGE_COPYICON, 0x20, 0x1C, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_WRAP, G_TX_CLAMP, 0},
|
||||
{IMAGE_DELICON, 0x20, 0x1C, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_WRAP, G_TX_CLAMP, 0},
|
||||
{IMAGE_SELECTFILE, 0x7A, 0x12, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_X, 0xF, 0xF, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_CHECK, 0x14, 0x14, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_DOT, 0x10, 0x10, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0}
|
||||
{IMAGE_COPYICON, 0x20, 0x1C, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_WRAP, G_TX_CLAMP, 0}, //
|
||||
{IMAGE_DELICON, 0x20, 0x1C, 0, G_IM_FMT_RGBA, G_IM_SIZ_32b, G_TX_WRAP, G_TX_CLAMP, 0}, //
|
||||
{IMAGE_SELECTFILE, 0x7A, 0x12, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, //
|
||||
{IMAGE_X, 0xF, 0xF, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // cross
|
||||
{IMAGE_CHECK, 0x14, 0x14, 0, G_IM_FMT_IA, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // tick
|
||||
{IMAGE_DOT, 0x10, 0x10, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_WRAP, G_TX_WRAP, 0} //
|
||||
};
|
||||
|
||||
sImageTableEntry s_mpradarimages[] = {
|
||||
{IMAGE_RUSTYDRUM_END, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0}
|
||||
{IMAGE_RUSTYDRUM_END, 0x20, 0x20, 6, G_IM_FMT_RGBA, G_IM_SIZ_16b, G_TX_WRAP, G_TX_WRAP, 0} //circle
|
||||
};
|
||||
|
||||
sImageTableEntry s_mpcharselimages[] = {
|
||||
{IMAGE_BROSNAN_UL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_BROSNAN_UR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_BROSNAN_LL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_BROSNAN_LR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_MOORE_UL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_MOORE_UR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_MOORE_LL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_MOORE_LR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_DALTON_UL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_DALTON_UR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_DALTON_LL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_DALTON_LR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_CONNERY_UL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_CONNERY_UR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_CONNERY_LL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_CONNERY_LR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_BORIS_UL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_BORIS_UR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_BORIS_LL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_BORIS_LR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_OURUMOV_UL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_OURUMOV_UR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_OURUMOV_LL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_OURUMOV_LR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_TREVELYAN_UL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_TREVELYAN_UR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_TREVELYAN_LL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_TREVELYAN_LR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_VALENTIN_UL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_VALENTIN_UR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_VALENTIN_LL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_VALENTIN_LR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_XENIA_UL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_XENIA_UR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_XENIA_LL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_XENIA_LR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_NATALYA_UL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_NATALYA_UR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_NATALYA_LL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_NATALYA_LR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_BARON_UL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_BARON_UR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_BARON_LL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_BARON_LR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_JAWS_UL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_JAWS_UR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_JAWS_LL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_JAWS_LR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_MAYDAY_UL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_MAYDAY_UR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_MAYDAY_LL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_MAYDAY_LR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_ODDJOB_UL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_ODDJOB_UR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_ODDJOB_LL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_ODDJOB_LR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_RANDOM_UL, 0x41, 0x43, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_RANDOM_UR, 0x41, 0x43, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_RANDOM_LL, 0x41, 0x43, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_RANDOM_LR, 0x41, 0x43, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_MISHKIN_UL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_MISHKIN_UR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_MISHKIN_LL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_MISHKIN_LR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}
|
||||
{IMAGE_BROSNAN_UL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/brosnan
|
||||
{IMAGE_BROSNAN_UR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/brosnan
|
||||
{IMAGE_BROSNAN_LL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/brosnan
|
||||
{IMAGE_BROSNAN_LR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/brosnan
|
||||
{IMAGE_MOORE_UL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/moore
|
||||
{IMAGE_MOORE_UR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/moore
|
||||
{IMAGE_MOORE_LL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/moore
|
||||
{IMAGE_MOORE_LR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/moore
|
||||
{IMAGE_DALTON_UL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/dalton
|
||||
{IMAGE_DALTON_UR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/dalton
|
||||
{IMAGE_DALTON_LL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/dalton
|
||||
{IMAGE_DALTON_LR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/dalton
|
||||
{IMAGE_CONNERY_UL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/connery
|
||||
{IMAGE_CONNERY_UR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/connery
|
||||
{IMAGE_CONNERY_LL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/connery
|
||||
{IMAGE_CONNERY_LR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/connery
|
||||
{IMAGE_BORIS_UL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/boris
|
||||
{IMAGE_BORIS_UR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/boris
|
||||
{IMAGE_BORIS_LL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/boris
|
||||
{IMAGE_BORIS_LR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/boris
|
||||
{IMAGE_OURUMOV_UL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/ourumov/oumorov
|
||||
{IMAGE_OURUMOV_UR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/ourumov/oumorov
|
||||
{IMAGE_OURUMOV_LL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/ourumov/oumorov
|
||||
{IMAGE_OURUMOV_LR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/ourumov/oumorov
|
||||
{IMAGE_TREVELYAN_UL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0 }, // characters/trevelyan
|
||||
{IMAGE_TREVELYAN_UR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0 }, // characters/trevelyan
|
||||
{IMAGE_TREVELYAN_LL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0 }, // characters/trevelyan
|
||||
{IMAGE_TREVELYAN_LR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0 }, // characters/trevelyan
|
||||
{IMAGE_VALENTIN_UL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/valentin
|
||||
{IMAGE_VALENTIN_UR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/valentin
|
||||
{IMAGE_VALENTIN_LL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/valentin
|
||||
{IMAGE_VALENTIN_LR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/valentin
|
||||
{IMAGE_XENIA_UL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/xenia
|
||||
{IMAGE_XENIA_UR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/xenia
|
||||
{IMAGE_XENIA_LL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/xenia
|
||||
{IMAGE_XENIA_LR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/xenia
|
||||
{IMAGE_NATALYA_UL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/natalya
|
||||
{IMAGE_NATALYA_UR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/natalya
|
||||
{IMAGE_NATALYA_LL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/natalya
|
||||
{IMAGE_NATALYA_LR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/natalya
|
||||
{IMAGE_BARON_UL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/baron
|
||||
{IMAGE_BARON_UR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/baron
|
||||
{IMAGE_BARON_LL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/baron
|
||||
{IMAGE_BARON_LR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/baron
|
||||
{IMAGE_JAWS_UL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/jaws
|
||||
{IMAGE_JAWS_UR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/jaws
|
||||
{IMAGE_JAWS_LL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/jaws
|
||||
{IMAGE_JAWS_LR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/jaws
|
||||
{IMAGE_MAYDAY_UL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/mayday
|
||||
{IMAGE_MAYDAY_UR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/mayday
|
||||
{IMAGE_MAYDAY_LL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/mayday
|
||||
{IMAGE_MAYDAY_LR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/mayday
|
||||
{IMAGE_ODDJOB_UL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/oddjob
|
||||
{IMAGE_ODDJOB_UR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/oddjob
|
||||
{IMAGE_ODDJOB_LL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/oddjob
|
||||
{IMAGE_ODDJOB_LR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/oddjob
|
||||
{IMAGE_RANDOM_UL, 0x41, 0x43, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/who
|
||||
{IMAGE_RANDOM_UR, 0x41, 0x43, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/who
|
||||
{IMAGE_RANDOM_LL, 0x41, 0x43, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/who
|
||||
{IMAGE_RANDOM_LR, 0x41, 0x43, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/who
|
||||
{IMAGE_MISHKIN_UL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/mishkin
|
||||
{IMAGE_MISHKIN_UR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/mishkin
|
||||
{IMAGE_MISHKIN_LL, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0}, // characters/mishkin
|
||||
{IMAGE_MISHKIN_LR, 0x41, 0x41, 7, G_IM_FMT_I, G_IM_SIZ_4b, G_TX_CLAMP, G_TX_CLAMP, 0} // characters/mishkin
|
||||
};
|
||||
|
||||
sImageTableEntry s_mpstageselimages[] = {
|
||||
{IMAGE_MP_BUNKER2, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_MP_CAVERNS, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_MP_ARCHIVES, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_MP_DAM, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_MP_FACILITY, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_MP_RUNWAY, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_MP_FRIGATE, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_MP_STATUE, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_MP_CRADLE, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_MP_AZTEC, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_MP_EGYPT, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_MP_DEPOT, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_MP_TEMPLE, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_MP_BASEMENT, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_MP_COMPLEX, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_MP_CAVES, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0},
|
||||
{IMAGE_MP_RANDOM, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}
|
||||
//{IMAGE_MP_BUNKER, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // level/sevicon
|
||||
//{IMAGE_MP_SILO, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // level/siloicon
|
||||
//{IMAGE_MP_CONTROL, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // level/arecicon
|
||||
//{IMAGE_MP_TRAIN, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // level/traicon
|
||||
//{IMAGE_MP_STREETS, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // level/peteicon
|
||||
//{IMAGE_MP_SURFACE, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // level/sevxicon
|
||||
//{IMAGE_MP_JUNGLE, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // level/junicon
|
||||
//{IMAGE_MP_SURFACE2, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // level/sevxbicon
|
||||
{IMAGE_MP_BUNKER2, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // level/sevbicon
|
||||
{IMAGE_MP_CAVERNS, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // level/caveicon
|
||||
{IMAGE_MP_ARCHIVES, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // level/archicon
|
||||
{IMAGE_MP_DAM, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // level/damicon
|
||||
{IMAGE_MP_FACILITY, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // level/arkicon
|
||||
{IMAGE_MP_RUNWAY, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // level/runicon
|
||||
{IMAGE_MP_FRIGATE, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // level/desticon
|
||||
{IMAGE_MP_STATUE, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // level/staticon
|
||||
{IMAGE_MP_CRADLE, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // level/cradicon
|
||||
{IMAGE_MP_AZTEC, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // level/azticon
|
||||
{IMAGE_MP_EGYPT, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // level/crypicon
|
||||
{IMAGE_MP_DEPOT, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // level/depoicon
|
||||
{IMAGE_MP_TEMPLE, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // level/smptempleicon
|
||||
{IMAGE_MP_BASEMENT, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // level/smplibicon
|
||||
{IMAGE_MP_COMPLEX, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // level/smpcomplexicon
|
||||
{IMAGE_MP_CAVES, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0}, // level/smpcaveicon
|
||||
{IMAGE_MP_RANDOM, 0x44, 0x2C, 0, G_IM_FMT_I, G_IM_SIZ_8b, G_TX_CLAMP, G_TX_CLAMP, 0} // bg/where
|
||||
};
|
||||
|
||||
|
||||
|
||||
@@ -56,7 +56,53 @@ enum MONIMGIDS {
|
||||
IMGKEYBOARDKEY
|
||||
};
|
||||
|
||||
enum MAINFOLDERIMGIDS {
|
||||
IMG_COPY,
|
||||
IMG_DEL,
|
||||
IMG_SEL,
|
||||
IMG_X,
|
||||
IMG_CHECK,
|
||||
IMG_DOT
|
||||
};
|
||||
|
||||
enum MPSELECTIMGIDS {
|
||||
IMG_MP_BUNKER2,
|
||||
IMG_MP_CAVERNS,
|
||||
IMG_MP_ARCHIVES,
|
||||
IMG_MP_DAM,
|
||||
IMG_MP_FACILITY,
|
||||
IMG_MP_RUNWAY,
|
||||
IMG_MP_FRIGATE,
|
||||
IMG_MP_STATUE,
|
||||
IMG_MP_CRADLE,
|
||||
IMG_MP_AZTEC,
|
||||
IMG_MP_EGYPT,
|
||||
IMG_MP_DEPOT,
|
||||
IMG_MP_TEMPLE,
|
||||
IMG_MP_BASEMENT,
|
||||
IMG_MP_COMPLEX,
|
||||
IMG_MP_CAVES,
|
||||
IMG_MP_RANDOM
|
||||
};
|
||||
|
||||
enum MPCHRSELIMAGES {
|
||||
IMG_MPC_BROSNAN,
|
||||
IMG_MPC_MOORE,
|
||||
IMG_MPC_DALTON,
|
||||
IMG_MPC_CONNERY,
|
||||
IMG_MPC_BORIS,
|
||||
IMG_MPC_OURUMOV,
|
||||
IMG_MPC_TREVELYAN,
|
||||
IMG_MPC_VALENTIN,
|
||||
IMG_MPC_XENIA,
|
||||
IMG_MPC_NATALYA,
|
||||
IMG_MPC_BARON,
|
||||
IMG_MPC_JAWS,
|
||||
IMG_MPC_MAYDAY,
|
||||
IMG_MPC_ODDJOB,
|
||||
IMG_MPC_RANDOM,
|
||||
IMG_MPC_MISHKIN
|
||||
};
|
||||
|
||||
extern Gfx globalDL_0x000;
|
||||
extern Gfx globalDL_0x078;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#include <ultra64.h>
|
||||
|
||||
u32 font_first_font_table_controller_small[] =
|
||||
//bank gothic
|
||||
u32 fontBankGothic_kerning[] =
|
||||
{
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF,
|
||||
@@ -18,7 +18,7 @@ u32 font_first_font_table_controller_small[] =
|
||||
};
|
||||
|
||||
|
||||
u32 font_second_font_table_controller_small1[] =
|
||||
u32 fontBankGothic_fontchartable[] =
|
||||
{
|
||||
0x00000000, 0x00000002, 0x00000008, 0x00000002, 0x00000000, 0x00000B80,
|
||||
0x00000001, 0x00000000, 0x00000005, 0x00000001, 0x00000000, 0x00000BC8,
|
||||
@@ -116,7 +116,7 @@ u32 font_second_font_table_controller_small1[] =
|
||||
0x0000005D, 0x00000004, 0x00000003, 0x00000008, 0x00000000, 0x00002490
|
||||
};
|
||||
|
||||
u32 font_second_font_table_controller_small2[] =
|
||||
u32 fontBankGothic_fontbytes[] =
|
||||
{
|
||||
0x00000000, 0xB8000000, 0x00000000, 0x272B2B2B, 0x2B2B2B2B, 0xBDCBCBCB,
|
||||
0xCBCBCBCB, 0xBFCECECE, 0xCECECECE, 0xA4B4B4B4, 0xB4B4B4B4, 0x4B545454,
|
||||
+17
-173
@@ -1,181 +1,25 @@
|
||||
#include <ultra64.h>
|
||||
|
||||
u32 font_first_font_table_controller_large[] =
|
||||
//zurich bold
|
||||
u32 fontZurichBold_kerning[13*13] =
|
||||
{
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000001,
|
||||
0x00000001,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000001,
|
||||
0x00000000,
|
||||
0x00000001,
|
||||
0x00000000,
|
||||
0x00000001,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000001,
|
||||
0x00000000,
|
||||
0x00000001,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0xFFFFFFFF,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000001,
|
||||
0x00000000,
|
||||
0x00000001,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000001,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000001,
|
||||
0x00000001,
|
||||
0x00000000,
|
||||
0x00000001,
|
||||
0x00000000,
|
||||
0x00000001,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000001,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000001,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0xFFFFFFFF,
|
||||
0x00000000,
|
||||
0xFFFFFFFF,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0xFFFFFFFF,
|
||||
0x00000001,
|
||||
0xFFFFFFFF,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000001,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000001,
|
||||
0x00000000,
|
||||
0x00000001,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000001,
|
||||
0x00000001,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000001,
|
||||
0x00000000,
|
||||
0x00000001,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000001,
|
||||
0x00000001,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000001,
|
||||
0x00000000,
|
||||
0x00000001,
|
||||
0x00000000,
|
||||
0x00000001,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000001,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000001,
|
||||
0x00000000,
|
||||
0x00000001,
|
||||
0x00000000,
|
||||
0x00000001,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000001,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000001,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000001,
|
||||
0x00000000,
|
||||
0x00000001,
|
||||
0x00000000,
|
||||
0x00000000,
|
||||
0x00000001,
|
||||
0x00000001,
|
||||
0x00000000,
|
||||
0x00000000
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000001, 0x00000000, 0x00000001,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000001, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000001, 0x00000001,
|
||||
0x00000000, 0x00000001, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000001,
|
||||
0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0xFFFFFFFF, 0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000001, 0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000001, 0x00000001, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000001, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000001, 0x00000000, 0x00000000, 0x00000001,
|
||||
0x00000000, 0x00000001, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000001,
|
||||
0x00000000, 0x00000001, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||
0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000001, 0x00000000, 0x00000001, 0x00000000, 0x00000000, 0x00000001, 0x00000001, 0x00000000, 0x00000000
|
||||
};
|
||||
|
||||
|
||||
|
||||
u32 font_second_font_table_controller_large1[] =
|
||||
u32 fontZurichBold_fontchartable[] =
|
||||
{
|
||||
0x00000000, 0x00000000, 0x0000000C, 0x00000002, 0x00000000, 0x00000B80,
|
||||
0x00000001, 0x00000000, 0x00000006, 0x00000002, 0x00000000, 0x00000BE8,
|
||||
@@ -273,7 +117,7 @@ u32 font_second_font_table_controller_large1[] =
|
||||
0x0000005D, 0x00000005, 0x00000003, 0x0000000A, 0x00000000, 0x00003508
|
||||
};
|
||||
|
||||
u32 font_second_font_table_controller_large2[] =
|
||||
u32 fontZurichBold_fontbytes[] =
|
||||
{
|
||||
0x00000000, 0xB8000000, 0x00000000, 0x09212121, 0x21212121, 0x31BBBBBB,
|
||||
0xBBBBBBBB, 0x37D9D9D9, 0xD9D9D9D9, 0x34D2D2D2, 0xD2D2D2D2, 0x33CECECE,
|
||||
@@ -51,12 +51,12 @@ BG_SEG_FILES = \
|
||||
$(BUILD_DIR)/$(OBSEG_DIR)/bg/bg_ash_all_p.seg \
|
||||
$(BUILD_DIR)/$(OBSEG_DIR)/bg/bg_sho_all_p.seg \
|
||||
$(BUILD_DIR)/$(OBSEG_DIR)/bg/bg_ame_all_p.seg \
|
||||
$(BUILD_DIR)/$(OBSEG_DIR)/bg/bg_oat_all_p.seg \
|
||||
$(BUILD_DIR)/$(OBSEG_DIR)/bg/bg_rit_all_p.seg \
|
||||
$(BUILD_DIR)/$(OBSEG_DIR)/bg/bg_len_all_p.seg \
|
||||
$(BUILD_DIR)/$(OBSEG_DIR)/bg/bg_oat_all_p.seg \
|
||||
$(BUILD_DIR)/$(OBSEG_DIR)/bg/bg_lip_all_p.seg \
|
||||
$(BUILD_DIR)/$(OBSEG_DIR)/bg/bg_lee_all_p.seg \
|
||||
$(BUILD_DIR)/$(OBSEG_DIR)/bg/bg_ear_all_p.seg \
|
||||
$(BUILD_DIR)/$(OBSEG_DIR)/bg/bg_lip_all_p.seg \
|
||||
$(BUILD_DIR)/$(OBSEG_DIR)/bg/bg_len_all_p.seg \
|
||||
$(BUILD_DIR)/$(OBSEG_DIR)/bg/bg_pam_all_p.seg \
|
||||
$(BUILD_DIR)/$(OBSEG_DIR)/bg/bg_wax_all_p.seg
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
#include "bg_all_p.h"
|
||||
#include "bg_lip_all_p.h"
|
||||
#include "bg_len_all_p.h"
|
||||
|
||||
struct bg_header header = {0, &room_data_table, &portal_data_table, &global_visibility_commands, 0};
|
||||
|
||||
File renamed without changes.
File renamed without changes.
@@ -1,2 +1,2 @@
|
||||
/*NAME, NOMODEL, STATS, UPPERTEXTID, LOWERTEXTID, POSX, POSY, POSZ, XROT, YROT, WOCTEXT, EQUIPTEXT, EQUIPX, EQUIPY, EQUIPZ*/
|
||||
GUNFILERECORD( fist, 0, GUNSTATS(fist), TEXT(LGUN, 0x83), TEXT(LGUN, 0x76), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, 0x76), TEXT(LGUN, 0xCD), 10.0, 10.0, 1000.0)
|
||||
GUNFILERECORD( fist, 0, GUNSTATS(fist), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_76), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_76), TEXT(LGUN, GUN_STR_CD), 10.0, 10.0, 1000.0)
|
||||
@@ -2,7 +2,7 @@ WeaponStats fist_stats = {
|
||||
1.0, //MuzzleFlashExtension
|
||||
11.0, -50.0, -33.0, //PosXYZ
|
||||
3.0, 3.0, 8.5, //PlayXYZ
|
||||
0, 0, //ammotype magsize
|
||||
AMMO_NONE, 0, //ammotype magsize
|
||||
0xFF, 0x06, //AutomaticFiringRate SingleFiringRate
|
||||
1, //ObjectsShootThrough
|
||||
0, 0, //SoundTriggerRate Sound
|
||||
@@ -23,5 +23,9 @@ WeaponStats fist_stats = {
|
||||
2.0, //field_60
|
||||
4.0, //field_64
|
||||
0.0, //ForceOfImpact
|
||||
0x64D91//BitFlags
|
||||
WEAPONSTATBITFLAG_00000001 |
|
||||
WEAPONSTATBITFLAG_CLICKY | WEAPONSTATBITFLAG_00000080 |
|
||||
WEAPONSTATBITFLAG_ONLY_1_HANDED | WEAPONSTATBITFLAG_MIRROR_DUAL | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON |
|
||||
WEAPONSTATBITFLAG_HIDE_FIRST_PERSON_MENU |
|
||||
WEAPONSTATBITFLAG_USE_HOLD_TIME | WEAPONSTATBITFLAG_HAS_AMMO//BitFlags
|
||||
};
|
||||
@@ -2,90 +2,90 @@ GunModelFileRecord gitem_structs[] = {
|
||||
{ NULL, NULL, TRUE, NULL, 0x9883, 0x9811, 0.0, 0.0, 1000.0, 0.0, 0.0, 0x9811, 0x9811, 10.0, 10.0, 1000.0},
|
||||
#include <assets/obseg/gun/fist/gunFileRecord.inc.c>
|
||||
#include <assets/obseg/gun/knife/gunFileRecord.inc.c>
|
||||
GUNFILERECORD( throwknife, 0, GUNSTATS(throwknife), TEXT(LGUN, 0x71), TEXT(LGUN, 0x06), 200.0, 51.0, 1327.0, 0.0, 0.0, TEXT(LGUN, 0x70), TEXT(LGUN, 0xCA), 38.0, 118.0, 800.0)
|
||||
GUNFILERECORD( wppk, 0, GUNSTATS(wppk), TEXT(LGUN, 0x57), TEXT(LGUN, 0x01), 20.0, 97.0, 579.0, 0.0, 0.0, TEXT(LGUN, 0x56), TEXT(LGUN, 0xBA), 94.0, 2.0, 356.0)
|
||||
GUNFILERECORD( wppksil, 0, GUNSTATS(wppksil), TEXT(LGUN, 0x03), TEXT(LGUN, 0x10), 26.0, 162.0, 668.0, 0.0, 0.0, TEXT(LGUN, 0x55), TEXT(LGUN, 0xB9), 169.0, 5.0, 535.0)
|
||||
GUNFILERECORD( tt33, 0, GUNSTATS(tt33), TEXT(LGUN, 0x04), TEXT(LGUN, 0x32), 22.0, 128.0, 709.0, 0.0, 0.0, TEXT(LGUN, 0x2A), TEXT(LGUN, 0x9A), 124.0, 14.0, 455.0)
|
||||
GUNFILERECORD( skorpion, 0, GUNSTATS(skorpion), TEXT(LGUN, 0x83), TEXT(LGUN, 0x6B), 46.0, 124.0, 785.0, 0.0, 0.0, TEXT(LGUN, 0x6B), TEXT(LGUN, 0xC6), 124.0, 32.0, 545.0)
|
||||
GUNFILERECORD( ak47, 0, GUNSTATS(ak47), TEXT(LGUN, 0x08), TEXT(LGUN, 0x68), -29.0, 307.0, 1410.0, 0.0, 0.0, TEXT(LGUN, 0x42), TEXT(LGUN, 0xAB), 304.0, -31.0, 1020.0)
|
||||
GUNFILERECORD( uzi, 0, GUNSTATS(uzi), TEXT(LGUN, 0x83), TEXT(LGUN, 0x82), -18.0, 57.0, 1198.0, 0.0, 0.0, TEXT(LGUN, 0x82), TEXT(LGUN, 0xD7), 68.0, -49.0, 667.0)
|
||||
GUNFILERECORD( mp5k, 0, GUNSTATS(mp5k), TEXT(LGUN, 0x00), TEXT(LGUN, 0x2F), 12.0, 112.0, 1300.0, 0.0, 0.0, TEXT(LGUN, 0x29), TEXT(LGUN, 0x96), 123.0, -2.0, 628.0)
|
||||
GUNFILERECORD( mp5ksil, 0, GUNSTATS(mp5ksil), TEXT(LGUN, 0x00), TEXT(LGUN, 0x10), 14.0, 227.0, 1300.0, 0.0, 0.0, TEXT(LGUN, 0x28), TEXT(LGUN, 0x95), 226.0, -10.0, 834.0)
|
||||
GUNFILERECORD( spectre, 0, GUNSTATS(spectre), TEXT(LGUN, 0x83), TEXT(LGUN, 0x58), -4.0, 144.0, 1128.0, 0.0, 0.0, TEXT(LGUN, 0x58), TEXT(LGUN, 0xB4), 146.0, -18.0, 801.0)
|
||||
GUNFILERECORD( m16, 0, GUNSTATS(m16), TEXT(LGUN, 0x75), TEXT(LGUN, 0x12), 25.0, 251.0, 1796.0, 0.0, 0.0, TEXT(LGUN, 0x74), TEXT(LGUN, 0x84), 246.0, -45.0, 1497.0)
|
||||
GUNFILERECORD( fnp90, 0, GUNSTATS(fnp90), TEXT(LGUN, 0x83), TEXT(LGUN, 0x5E), 88.0, -44.0, 1107.0, 0.0, 0.0, TEXT(LGUN, 0x5E), TEXT(LGUN, 0xBC), -44.0, 31.0, 867.0)
|
||||
GUNFILERECORD( shotgun, 0, GUNSTATS(shotgun), TEXT(LGUN, 0x83), TEXT(LGUN, 0x64), 39.0, 283.0, 1224.0, 0.0, 0.0, TEXT(LGUN, 0x64), TEXT(LGUN, 0xC1), 284.0, -22.0, 999.0)
|
||||
GUNFILERECORD( autoshot, 0, GUNSTATS(autoshot), TEXT(LGUN, 0x16), TEXT(LGUN, 0x0C), 73.0, 285.0, 1224.0, 0.0, 0.0, TEXT(LGUN, 0x15), TEXT(LGUN, 0x86), 284.0, 4.0, 980.0)
|
||||
GUNFILERECORD( sniperrifle, 0, GUNSTATS(sniperrifle), TEXT(LGUN, 0x67), TEXT(LGUN, 0x0A), 49.0, 265.0, 1760.0, 0.0, 0.0, TEXT(LGUN, 0x66), TEXT(LGUN, 0xC3), 268.0, 14.0, 1497.0)
|
||||
GUNFILERECORD( ruger, 0, GUNSTATS(ruger), TEXT(LGUN, 0x26), TEXT(LGUN, 0x4C), 47.0, 184.0, 769.0, 0.0, 0.0, TEXT(LGUN, 0x25), TEXT(LGUN, 0x93), 182.0, 36.0, 604.0)
|
||||
GUNFILERECORD( goldengun, 0, GUNSTATS(goldengun), TEXT(LGUN, 0x3B), TEXT(LGUN, 0x05), 29.0, 146.0, 629.0, 0.0, 0.0, TEXT(LGUN, 0x39), TEXT(LGUN, 0xA3), 144.0, 18.0, 464.0)
|
||||
GUNFILERECORD( silverwppk, 0, GUNSTATS(silverwppk), TEXT(LGUN, 0x83), TEXT(LGUN, 0x65), 20.0, 97.0, 579.0, 0.0, 0.0, TEXT(LGUN, 0x65), TEXT(LGUN, 0xC2), 94.0, 2.0, 356.0)
|
||||
GUNFILERECORD( goldwppk, 0, GUNSTATS(goldwppk), TEXT(LGUN, 0x83), TEXT(LGUN, 0x38), 20.0, 97.0, 579.0, 0.0, 0.0, TEXT(LGUN, 0x38), TEXT(LGUN, 0xA2), 94.0, 2.0, 356.0)
|
||||
GUNFILERECORD( laser, 0, GUNSTATS(laser), TEXT(LGUN, 0x52), TEXT(LGUN, 0x47), 67.0, 106.0, 738.0, 0.0, 0.0, TEXT(LGUN, 0x51), TEXT(LGUN, 0xAC), 103.0, 21.0, 545.0)
|
||||
GUNFILERECORD( watchlaser, 0, GUNSTATS(watchlaser), TEXT(LGUN, 0x7F), TEXT(LGUN, 0x47), 82.0, 0.0, 2857.0, 0.0, 90.0, TEXT(LGUN, 0x7B), TEXT(LGUN, 0xD2), 0.0, -40.0, 1383.0)
|
||||
GUNFILERECORD( grenadelaunch, 0, GUNSTATS(grenadelaunch), TEXT(LGUN, 0x3D), TEXT(LGUN, 0x48), 27.0, 279.0, 1152.0, 0.0, 0.0, TEXT(LGUN, 0x3C), TEXT(LGUN, 0xA5), 284.0, -22.0, 960.0)
|
||||
GUNFILERECORD( rocketlaunch, 0, GUNSTATS(rocketlaunch), TEXT(LGUN, 0x0B), TEXT(LGUN, 0x48), 111.0, -50.0, 1624.0, 0.0, 0.0, TEXT(LGUN, 0x61), TEXT(LGUN, 0xBF), -42.0, 16.0, 1381.0)
|
||||
GUNFILERECORD( grenade, 0, GUNSTATS(grenade), TEXT(LGUN, 0x83), TEXT(LGUN, 0x3D), 180.0, 0.0, 2745.0, 0.0, 90.0, TEXT(LGUN, 0x3E), TEXT(LGUN, 0xA6), 0.0, 48.0, 1468.0)
|
||||
GUNFILERECORD( timedmine, 0, GUNSTATS(timedmine), TEXT(LGUN, 0x09), TEXT(LGUN, 0x0F), 8.0, 0.0, 364.0, 90.0, 0.0, TEXT(LGUN, 0x72), TEXT(LGUN, 0xCB), 0.0, -3.0, 179.0)
|
||||
GUNFILERECORD( proximitymine, 0, GUNSTATS(proximitymine), TEXT(LGUN, 0x02), TEXT(LGUN, 0x0D), 8.0, 0.0, 364.0, 90.0, 0.0, TEXT(LGUN, 0x5D), TEXT(LGUN, 0xBB), 0.0, -3.0, 179.0)
|
||||
GUNFILERECORD( remotemine, 0, GUNSTATS(remotemine), TEXT(LGUN, 0x07), TEXT(LGUN, 0x0E), 8.0, 0.0, 364.0, 90.0, 0.0, TEXT(LGUN, 0x60), TEXT(LGUN, 0xBE), 0.0, -3.0, 179.0)
|
||||
GUNFILERECORD( trigger, 0, GUNSTATS(trigger), TEXT(LGUN, 0x83), TEXT(LGUN, 0x2E), 82.0, 0.0, 2857.0, 0.0, 90.0, TEXT(LGUN, 0x2E), TEXT(LGUN, 0x9B), 0.0, -40.0, 1383.0)
|
||||
GUNFILERECORD( taser, 0, GUNSTATS(taser), TEXT(LGUN, 0x83), TEXT(LGUN, 0x6F), 107.0, 49.0, 568.0, 0.0, 0.0, TEXT(LGUN, 0x6F), TEXT(LGUN, 0xC9), 64.0, 80.0, 333.0)
|
||||
{ NULL, NULL, 0, GUNSTATS(tank), TEXT(LGUN, 0x83), TEXT(LGUN, 0x6E), 20.0, 97.0, 579.0, 0.0, 0.0, TEXT(LGUN, 0x6E), TEXT(LGUN, 0xC8), 94.0, 2.0, 356.0},
|
||||
GUNFILERECORD( bombcase, 0, GUNSTATS(bombcase), TEXT(LGUN, 0x83), TEXT(LGUN, 0x1A), 16.0, 0.0, 568.0, 0.0, 90.0, TEXT(LGUN, 0x1A), TEXT(LGUN, 0x8A), 0.0, -8.0, 323.0)
|
||||
GUNFILERECORD( plastique, 0, GUNSTATS(plastique), TEXT(LGUN, 0x83), TEXT(LGUN, 0x5B), 28.0, 0.0, 1062.0, 80.0, 90.0, TEXT(LGUN, 0x5B), TEXT(LGUN, 0xB7), 0.0, -16.0, 739.0)
|
||||
GUNFILERECORD( flarepistol, 0, GUNSTATS(flarepistol), TEXT(LGUN, 0x83), TEXT(LGUN, 0x34), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, 0x34), TEXT(LGUN, 0x9F), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( pitongun, 0, GUNSTATS(pitongun), TEXT(LGUN, 0x83), TEXT(LGUN, 0x59), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, 0x59), TEXT(LGUN, 0xB5), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( bungee, TRUE, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x1F), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, 0x1F), TEXT(LGUN, 0x8F), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( doordecoder, TRUE, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x30), 12.0, 0.0, 364.0, 90.0, 90.0, TEXT(LGUN, 0x30), TEXT(LGUN, 0x9C), 0.0, -6.0, 199.0)
|
||||
GUNFILERECORD( bombdefuser, TRUE, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x1B), 14.0, 0.0, 379.0, 90.0, 90.0, TEXT(LGUN, 0x1B), TEXT(LGUN, 0x8B), 0.0, 0.0, 279.0)
|
||||
GUNFILERECORD( camera, 0, GUNSTATS(camera), TEXT(LGUN, 0x83), TEXT(LGUN, 0x20), 4.0, 0.0, 195.0, 20.0, 90.0, TEXT(LGUN, 0x20), TEXT(LGUN, 0x90), 0.0, -2.0, 144.0)
|
||||
GUNFILERECORD( lockexploder, 1, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x4A), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, 0x4A), TEXT(LGUN, 0xAE), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( doorexploder, 1, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x31), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, 0x31), TEXT(LGUN, 0x9D), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( briefcase, 1, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x1C), 16.0, 0.0, 568.0, 0.0, 90.0, TEXT(LGUN, 0x1C), TEXT(LGUN, 0x8C), 0.0, -8.0, 323.0)
|
||||
GUNFILERECORD( weaponcase, 1, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x80), 16.0, 0.0, 568.0, 0.0, 90.0, TEXT(LGUN, 0x80), TEXT(LGUN, 0xD5), 0.0, -8.0, 323.0)
|
||||
GUNFILERECORD( safecrackercase, 1, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x63), 16.0, 0.0, 568.0, 0.0, 90.0, TEXT(LGUN, 0x62), TEXT(LGUN, 0xC0), 0.0, -8.0, 323.0)
|
||||
GUNFILERECORD( keyanalysercase, 1, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x44), 16.0, 0.0, 568.0, 0.0, 90.0, TEXT(LGUN, 0x43), TEXT(LGUN, 0xA9), 0.0, -8.0, 323.0)
|
||||
GUNFILERECORD( bug, 0, GUNSTATS(bug), TEXT(LGUN, 0x83), TEXT(LGUN, 0x1E), 16.0, 0.0, 513.0, 0.0, 90.0, TEXT(LGUN, 0x1E), TEXT(LGUN, 0x8E), 0.0, -6.0, 387.0)
|
||||
GUNFILERECORD( microcamera, 0, GUNSTATS(microcamera), TEXT(LGUN, 0x83), TEXT(LGUN, 0x4E), 8.0, 0.0, 310.0, 0.0, 270.0, TEXT(LGUN, 0x4E), TEXT(LGUN, 0xB0), 0.0, -8.0, 229.0)
|
||||
GUNFILERECORD( bugdetector, 1, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x1D), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, 0x1D), TEXT(LGUN, 0x8D), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( explosivefloppy, 1, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x33), 12.0, 0.0, 336.0, 0.0, 90.0, TEXT(LGUN, 0x33), TEXT(LGUN, 0x9E), 0.0, -4.0, 176.0)
|
||||
GUNFILERECORD( polarizedglasses, 1, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x5C), 2.0, 0.0, 183.0, 15.0, 90.0, TEXT(LGUN, 0x5C), TEXT(LGUN, 0xB8), 0.0, 0.0, 147.0)
|
||||
GUNFILERECORD( darkglasses, 1, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x2B), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, 0x2B), TEXT(LGUN, 0x97), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( creditcard, 1, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x27), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, 0x27), TEXT(LGUN, 0x94), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( gaskeyring, 1, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x35), 26.0, 0.0, 769.0, 90.0, 90.0, TEXT(LGUN, 0x35), TEXT(LGUN, 0xA0), 0.0, -8.0, 387.0)
|
||||
GUNFILERECORD( datathief, 1, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x2D), 16.0, 0.0, 474.0, 80.0, 0.0, TEXT(LGUN, 0x2D), TEXT(LGUN, 0x99), 0.0, -6.0, 350.0)
|
||||
GUNFILERECORD( watchidentifier, 1, NULL, TEXT(LGUN, 0x7F), TEXT(LGUN, 0x41), 82.0, 0.0, 2857.0, 0.0, 90.0, TEXT(LGUN, 0x7A), TEXT(LGUN, 0xD1), 0.0, -40.0, 1383.0)
|
||||
GUNFILERECORD( watchcommunicator, 1, NULL, TEXT(LGUN, 0x7F), TEXT(LGUN, 0x23), 82.0, 0.0, 2857.0, 0.0, 90.0, TEXT(LGUN, 0x78), TEXT(LGUN, 0xCF), 0.0, -40.0, 1383.0)
|
||||
GUNFILERECORD( watchgeigercounter, 1, NULL, TEXT(LGUN, 0x7F), TEXT(LGUN, 0x36), 82.0, 0.0, 2857.0, 0.0, 90.0, TEXT(LGUN, 0x79), TEXT(LGUN, 0xD0), 0.0, -40.0, 1383.0)
|
||||
GUNFILERECORD( watchmagnetrepel, 1, NULL, TEXT(LGUN, 0x7F), TEXT(LGUN, 0x4B), 82.0, 0.0, 2857.0, 0.0, 90.0, TEXT(LGUN, 0x7D), TEXT(LGUN, 0xD4), 0.0, -40.0, 1383.0)
|
||||
GUNFILERECORD( watchmagnetattract, 0,GUNSTATS(watchmagnetattract), TEXT(LGUN, 0x7E), TEXT(LGUN, 0x13), 80.0, 0.0, 3036.0, 0.0, 90.0, TEXT(LGUN, 0x7C), TEXT(LGUN, 0xD3), 0.0, -40.0, 1383.0)
|
||||
GUNFILERECORD( goldeneyekey, 0, GUNSTATS(goldeneyekey), TEXT(LGUN, 0x83), TEXT(LGUN, 0x3A), 18.0, 0.0, 560.0, 80.0, 0.0, TEXT(LGUN, 0x3A), TEXT(LGUN, 0xA4), 0.0, -4.0, 310.0)
|
||||
GUNFILERECORD( blackbox, 1, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x17), 18.0, 0.0, 545.0, 0.0, 90.0, TEXT(LGUN, 0x17), TEXT(LGUN, 0x87), 0.0, -8.0, 380.0)
|
||||
GUNFILERECORD( circuitboard, 1, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x21), 20.0, 0.0, 568.0, 80.0, 0.0, TEXT(LGUN, 0x21), TEXT(LGUN, 0x91), 0.0, 0.0, 394.0)
|
||||
GUNFILERECORD( clipboard, 1, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x22), 40.0, 0.0, 1151.0, 80.0, 90.0, TEXT(LGUN, 0x22), TEXT(LGUN, 0x92), 0.0, -20.0, 580.0)
|
||||
GUNFILERECORD( stafflist, 1, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x6C), 44.0, 0.0, 1274.0, 80.0, 90.0, TEXT(LGUN, 0x6C), TEXT(LGUN, 0xC7), 0.0, -16.0, 681.0)
|
||||
GUNFILERECORD( dossierred, 1, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x5F), 38.0, 0.0, 1084.0, 350.0, 90.0, TEXT(LGUN, 0x5F), TEXT(LGUN, 0xBD), 0.0, -12.0, 580.0)
|
||||
GUNFILERECORD( plans, 1, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x5A), 18.0, 0.0, 464.0, 350.0, 90.0, TEXT(LGUN, 0x5A), TEXT(LGUN, 0xB6), 0.0, -2.0, 253.0)
|
||||
GUNFILERECORD( spyfile, 1, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x6A), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, 0x6A), TEXT(LGUN, 0xC5), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( blueprints, 1, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x18), 18.0, 0.0, 579.0, 350.0, 90.0, TEXT(LGUN, 0x18), TEXT(LGUN, 0x88), 0.0, -8.0, 364.0)
|
||||
GUNFILERECORD( map, 1, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x4D), 18.0, 0.0, 579.0, 350.0, 90.0, TEXT(LGUN, 0x4D), TEXT(LGUN, 0xAF), 0.0, -6.0, 364.0)
|
||||
GUNFILERECORD( audiotape, 1, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x14), 16.0, 0.0, 428.0, 90.0, 90.0, TEXT(LGUN, 0x14), TEXT(LGUN, 0x85), 0.0, -2.0, 292.0)
|
||||
GUNFILERECORD( videotape, 1, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x77), 26.0, 0.0, 753.0, 90.0, 0.0, TEXT(LGUN, 0x77), TEXT(LGUN, 0xCE), 0.0, -8.0, 395.0)
|
||||
GUNFILERECORD( dattape, 1, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x2C), 14.0, 0.0, 387.0, 90.0, 90.0, TEXT(LGUN, 0x2C), TEXT(LGUN, 0x98), 0.0, 0.0, 238.0)
|
||||
GUNFILERECORD( spooltape, 1, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x69), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, 0x69), TEXT(LGUN, 0xC4), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( microfilm, 1, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x50), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, 0x50), TEXT(LGUN, 0xB2), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( microcode, 1, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x4F), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, 0x4F), TEXT(LGUN, 0xB1), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( lectre, 1, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x49), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, 0x49), TEXT(LGUN, 0xAD), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( money, 1, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x53), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, 0x53), TEXT(LGUN, 0xB3), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( goldbar, 1, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x37), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, 0x37), TEXT(LGUN, 0xA1), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( heroin, 1, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x3F), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, 0x3F), TEXT(LGUN, 0xA7), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( keycard, 1, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x45), 24.0, 0.0, 556.0, 80.0, 90.0, TEXT(LGUN, 0x45), TEXT(LGUN, 0xAA), 0.0, -6.0, 411.0)
|
||||
GUNFILERECORD( keyyale, 1, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x81), 64.0, 0.0, 1912.0, 260.0, 90.0, TEXT(LGUN, 0x81), TEXT(LGUN, 0xD6), 0.0, -18.0, 1568.0)
|
||||
GUNFILERECORD( keybolt, 1, NULL, TEXT(LGUN, 0x83), TEXT(LGUN, 0x19), 78.0, 0.0, 3518.0, 80.0, 90.0, TEXT(LGUN, 0x19), TEXT(LGUN, 0x89), 0.0, -12.0, 2582.0)
|
||||
SUIT_LFRECORD(suit_lf_hand, 0, GUNSTATS(Csuit_lf_handz), TEXT(LGUN, 0x83), TEXT(LGUN, 0x6D), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, 0x83), TEXT(LGUN, 0x83), 10.0, 10.0, 1000.0)
|
||||
GUNFILERECORD( joypad, 0, GUNSTATS(joypad), TEXT(LGUN, 0x83), TEXT(LGUN, 0x24), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, 0x83), TEXT(LGUN, 0x83), 10.0, 10.0, 1000.0)
|
||||
{ NULL , NULL, 0, GUNSTATS(null1), TEXT(LGUN, 0x83), TEXT(LGUN, 0x54), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, 0x83), TEXT(LGUN, 0x83), 10.0, 10.0, 1000.0},
|
||||
{ NULL , NULL, 0, GUNSTATS(null2), TEXT(LGUN, 0x83), TEXT(LGUN, 0x54), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, 0x83), TEXT(LGUN, 0x83), 10.0, 10.0, 1000.0},
|
||||
{ NULL , NULL, 0, GUNSTATS(token), TEXT(LGUN, 0x83), TEXT(LGUN, 0x73), 12.0, 0.0, 528.0, 80.0, 0.0, TEXT(LGUN, 0x73), TEXT(LGUN, 0xCC), 0.0, -4.0, 310.0}
|
||||
GUNFILERECORD( throwknife, 0, GUNSTATS(throwknife), TEXT(LGUN, GUN_STR_71), TEXT(LGUN, GUN_STR_06), 200.0, 51.0, 1327.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_70), TEXT(LGUN, GUN_STR_CA), 38.0, 118.0, 800.0)
|
||||
GUNFILERECORD( wppk, 0, GUNSTATS(wppk), TEXT(LGUN, GUN_STR_57), TEXT(LGUN, GUN_STR_01), 20.0, 97.0, 579.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_56), TEXT(LGUN, GUN_STR_BA), 94.0, 2.0, 356.0)
|
||||
GUNFILERECORD( wppksil, 0, GUNSTATS(wppksil), TEXT(LGUN, GUN_STR_03), TEXT(LGUN, GUN_STR_10), 26.0, 162.0, 668.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_55), TEXT(LGUN, GUN_STR_B9), 169.0, 5.0, 535.0)
|
||||
GUNFILERECORD( tt33, 0, GUNSTATS(tt33), TEXT(LGUN, GUN_STR_04), TEXT(LGUN, GUN_STR_32), 22.0, 128.0, 709.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_2A), TEXT(LGUN, GUN_STR_9A), 124.0, 14.0, 455.0)
|
||||
GUNFILERECORD( skorpion, 0, GUNSTATS(skorpion), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_6B), 46.0, 124.0, 785.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_6B), TEXT(LGUN, GUN_STR_C6), 124.0, 32.0, 545.0)
|
||||
GUNFILERECORD( ak47, 0, GUNSTATS(ak47), TEXT(LGUN, GUN_STR_08), TEXT(LGUN, GUN_STR_68), -29.0, 307.0, 1410.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_42), TEXT(LGUN, GUN_STR_AB), 304.0, -31.0, 1020.0)
|
||||
GUNFILERECORD( uzi, 0, GUNSTATS(uzi), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_82), -18.0, 57.0, 1198.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_82), TEXT(LGUN, GUN_STR_D7), 68.0, -49.0, 667.0)
|
||||
GUNFILERECORD( mp5k, 0, GUNSTATS(mp5k), TEXT(LGUN, GUN_STR_00), TEXT(LGUN, GUN_STR_2F), 12.0, 112.0, 1300.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_29), TEXT(LGUN, GUN_STR_96), 123.0, -2.0, 628.0)
|
||||
GUNFILERECORD( mp5ksil, 0, GUNSTATS(mp5ksil), TEXT(LGUN, GUN_STR_00), TEXT(LGUN, GUN_STR_10), 14.0, 227.0, 1300.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_28), TEXT(LGUN, GUN_STR_95), 226.0, -10.0, 834.0)
|
||||
GUNFILERECORD( spectre, 0, GUNSTATS(spectre), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_58), -4.0, 144.0, 1128.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_58), TEXT(LGUN, GUN_STR_B4), 146.0, -18.0, 801.0)
|
||||
GUNFILERECORD( m16, 0, GUNSTATS(m16), TEXT(LGUN, GUN_STR_75), TEXT(LGUN, GUN_STR_12), 25.0, 251.0, 1796.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_74), TEXT(LGUN, GUN_STR_84), 246.0, -45.0, 1497.0)
|
||||
GUNFILERECORD( fnp90, 0, GUNSTATS(fnp90), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_5E), 88.0, -44.0, 1107.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_5E), TEXT(LGUN, GUN_STR_BC), -44.0, 31.0, 867.0)
|
||||
GUNFILERECORD( shotgun, 0, GUNSTATS(shotgun), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_64), 39.0, 283.0, 1224.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_64), TEXT(LGUN, GUN_STR_C1), 284.0, -22.0, 999.0)
|
||||
GUNFILERECORD( autoshot, 0, GUNSTATS(autoshot), TEXT(LGUN, GUN_STR_16), TEXT(LGUN, GUN_STR_0C), 73.0, 285.0, 1224.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_15), TEXT(LGUN, GUN_STR_86), 284.0, 4.0, 980.0)
|
||||
GUNFILERECORD( sniperrifle, 0, GUNSTATS(sniperrifle), TEXT(LGUN, GUN_STR_67), TEXT(LGUN, GUN_STR_0A), 49.0, 265.0, 1760.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_66), TEXT(LGUN, GUN_STR_C3), 268.0, 14.0, 1497.0)
|
||||
GUNFILERECORD( ruger, 0, GUNSTATS(ruger), TEXT(LGUN, GUN_STR_26), TEXT(LGUN, GUN_STR_4C), 47.0, 184.0, 769.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_25), TEXT(LGUN, GUN_STR_93), 182.0, 36.0, 604.0)
|
||||
GUNFILERECORD( goldengun, 0, GUNSTATS(goldengun), TEXT(LGUN, GUN_STR_3B), TEXT(LGUN, GUN_STR_05), 29.0, 146.0, 629.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_39), TEXT(LGUN, GUN_STR_A3), 144.0, 18.0, 464.0)
|
||||
GUNFILERECORD( silverwppk, 0, GUNSTATS(silverwppk), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_65), 20.0, 97.0, 579.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_65), TEXT(LGUN, GUN_STR_C2), 94.0, 2.0, 356.0)
|
||||
GUNFILERECORD( goldwppk, 0, GUNSTATS(goldwppk), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_38), 20.0, 97.0, 579.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_38), TEXT(LGUN, GUN_STR_A2), 94.0, 2.0, 356.0)
|
||||
GUNFILERECORD( laser, 0, GUNSTATS(laser), TEXT(LGUN, GUN_STR_52), TEXT(LGUN, GUN_STR_47), 67.0, 106.0, 738.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_51), TEXT(LGUN, GUN_STR_AC), 103.0, 21.0, 545.0)
|
||||
GUNFILERECORD( watchlaser, 0, GUNSTATS(watchlaser), TEXT(LGUN, GUN_STR_7F), TEXT(LGUN, GUN_STR_47), 82.0, 0.0, 2857.0, 0.0, 90.0, TEXT(LGUN, GUN_STR_7B), TEXT(LGUN, GUN_STR_D2), 0.0, -40.0, 1383.0)
|
||||
GUNFILERECORD( grenadelaunch, 0, GUNSTATS(grenadelaunch), TEXT(LGUN, GUN_STR_3D), TEXT(LGUN, GUN_STR_48), 27.0, 279.0, 1152.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_3C), TEXT(LGUN, GUN_STR_A5), 284.0, -22.0, 960.0)
|
||||
GUNFILERECORD( rocketlaunch, 0, GUNSTATS(rocketlaunch), TEXT(LGUN, GUN_STR_0B), TEXT(LGUN, GUN_STR_48), 111.0, -50.0, 1624.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_61), TEXT(LGUN, GUN_STR_BF), -42.0, 16.0, 1381.0)
|
||||
GUNFILERECORD( grenade, 0, GUNSTATS(grenade), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_3D), 180.0, 0.0, 2745.0, 0.0, 90.0, TEXT(LGUN, GUN_STR_3E), TEXT(LGUN, GUN_STR_A6), 0.0, 48.0, 1468.0)
|
||||
GUNFILERECORD( timedmine, 0, GUNSTATS(timedmine), TEXT(LGUN, GUN_STR_09), TEXT(LGUN, GUN_STR_0F), 8.0, 0.0, 364.0, 90.0, 0.0, TEXT(LGUN, GUN_STR_72), TEXT(LGUN, GUN_STR_CB), 0.0, -3.0, 179.0)
|
||||
GUNFILERECORD( proximitymine, 0, GUNSTATS(proximitymine), TEXT(LGUN, GUN_STR_02), TEXT(LGUN, GUN_STR_0D), 8.0, 0.0, 364.0, 90.0, 0.0, TEXT(LGUN, GUN_STR_5D), TEXT(LGUN, GUN_STR_BB), 0.0, -3.0, 179.0)
|
||||
GUNFILERECORD( remotemine, 0, GUNSTATS(remotemine), TEXT(LGUN, GUN_STR_07), TEXT(LGUN, GUN_STR_0E), 8.0, 0.0, 364.0, 90.0, 0.0, TEXT(LGUN, GUN_STR_60), TEXT(LGUN, GUN_STR_BE), 0.0, -3.0, 179.0)
|
||||
GUNFILERECORD( trigger, 0, GUNSTATS(trigger), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_2E), 82.0, 0.0, 2857.0, 0.0, 90.0, TEXT(LGUN, GUN_STR_2E), TEXT(LGUN, GUN_STR_9B), 0.0, -40.0, 1383.0)
|
||||
GUNFILERECORD( taser, 0, GUNSTATS(taser), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_6F), 107.0, 49.0, 568.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_6F), TEXT(LGUN, GUN_STR_C9), 64.0, 80.0, 333.0)
|
||||
{ NULL, NULL, 0, GUNSTATS(tank), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_6E), 20.0, 97.0, 579.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_6E), TEXT(LGUN, GUN_STR_C8), 94.0, 2.0, 356.0},
|
||||
GUNFILERECORD( bombcase, 0, GUNSTATS(bombcase), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_1A), 16.0, 0.0, 568.0, 0.0, 90.0, TEXT(LGUN, GUN_STR_1A), TEXT(LGUN, GUN_STR_8A), 0.0, -8.0, 323.0)
|
||||
GUNFILERECORD( plastique, 0, GUNSTATS(plastique), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_5B), 28.0, 0.0, 1062.0, 80.0, 90.0, TEXT(LGUN, GUN_STR_5B), TEXT(LGUN, GUN_STR_B7), 0.0, -16.0, 739.0)
|
||||
GUNFILERECORD( flarepistol, 0, GUNSTATS(flarepistol), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_34), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_34), TEXT(LGUN, GUN_STR_9F), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( pitongun, 0, GUNSTATS(pitongun), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_59), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_59), TEXT(LGUN, GUN_STR_B5), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( bungee, TRUE, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_1F), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_1F), TEXT(LGUN, GUN_STR_8F), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( doordecoder, TRUE, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_30), 12.0, 0.0, 364.0, 90.0, 90.0, TEXT(LGUN, GUN_STR_30), TEXT(LGUN, GUN_STR_9C), 0.0, -6.0, 199.0)
|
||||
GUNFILERECORD( bombdefuser, TRUE, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_1B), 14.0, 0.0, 379.0, 90.0, 90.0, TEXT(LGUN, GUN_STR_1B), TEXT(LGUN, GUN_STR_8B), 0.0, 0.0, 279.0)
|
||||
GUNFILERECORD( camera, 0, GUNSTATS(camera), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_20), 4.0, 0.0, 195.0, 20.0, 90.0, TEXT(LGUN, GUN_STR_20), TEXT(LGUN, GUN_STR_90), 0.0, -2.0, 144.0)
|
||||
GUNFILERECORD( lockexploder, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_4A), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_4A), TEXT(LGUN, GUN_STR_AE), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( doorexploder, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_31), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_31), TEXT(LGUN, GUN_STR_9D), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( briefcase, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_1C), 16.0, 0.0, 568.0, 0.0, 90.0, TEXT(LGUN, GUN_STR_1C), TEXT(LGUN, GUN_STR_8C), 0.0, -8.0, 323.0)
|
||||
GUNFILERECORD( weaponcase, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_80), 16.0, 0.0, 568.0, 0.0, 90.0, TEXT(LGUN, GUN_STR_80), TEXT(LGUN, GUN_STR_D5), 0.0, -8.0, 323.0)
|
||||
GUNFILERECORD( safecrackercase, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_63), 16.0, 0.0, 568.0, 0.0, 90.0, TEXT(LGUN, GUN_STR_62), TEXT(LGUN, GUN_STR_C0), 0.0, -8.0, 323.0)
|
||||
GUNFILERECORD( keyanalysercase, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_44), 16.0, 0.0, 568.0, 0.0, 90.0, TEXT(LGUN, GUN_STR_43), TEXT(LGUN, GUN_STR_A9), 0.0, -8.0, 323.0)
|
||||
GUNFILERECORD( bug, 0, GUNSTATS(bug), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_1E), 16.0, 0.0, 513.0, 0.0, 90.0, TEXT(LGUN, GUN_STR_1E), TEXT(LGUN, GUN_STR_8E), 0.0, -6.0, 387.0)
|
||||
GUNFILERECORD( microcamera, 0, GUNSTATS(microcamera), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_4E), 8.0, 0.0, 310.0, 0.0, 270.0, TEXT(LGUN, GUN_STR_4E), TEXT(LGUN, GUN_STR_B0), 0.0, -8.0, 229.0)
|
||||
GUNFILERECORD( bugdetector, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_1D), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_1D), TEXT(LGUN, GUN_STR_8D), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( explosivefloppy, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_33), 12.0, 0.0, 336.0, 0.0, 90.0, TEXT(LGUN, GUN_STR_33), TEXT(LGUN, GUN_STR_9E), 0.0, -4.0, 176.0)
|
||||
GUNFILERECORD( polarizedglasses, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_5C), 2.0, 0.0, 183.0, 15.0, 90.0, TEXT(LGUN, GUN_STR_5C), TEXT(LGUN, GUN_STR_B8), 0.0, 0.0, 147.0)
|
||||
GUNFILERECORD( darkglasses, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_2B), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_2B), TEXT(LGUN, GUN_STR_97), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( creditcard, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_27), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_27), TEXT(LGUN, GUN_STR_94), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( gaskeyring, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_35), 26.0, 0.0, 769.0, 90.0, 90.0, TEXT(LGUN, GUN_STR_35), TEXT(LGUN, GUN_STR_A0), 0.0, -8.0, 387.0)
|
||||
GUNFILERECORD( datathief, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_2D), 16.0, 0.0, 474.0, 80.0, 0.0, TEXT(LGUN, GUN_STR_2D), TEXT(LGUN, GUN_STR_99), 0.0, -6.0, 350.0)
|
||||
GUNFILERECORD( watchidentifier, 1, NULL, TEXT(LGUN, GUN_STR_7F), TEXT(LGUN, GUN_STR_41), 82.0, 0.0, 2857.0, 0.0, 90.0, TEXT(LGUN, GUN_STR_7A), TEXT(LGUN, GUN_STR_D1), 0.0, -40.0, 1383.0)
|
||||
GUNFILERECORD( watchcommunicator, 1, NULL, TEXT(LGUN, GUN_STR_7F), TEXT(LGUN, GUN_STR_23), 82.0, 0.0, 2857.0, 0.0, 90.0, TEXT(LGUN, GUN_STR_78), TEXT(LGUN, GUN_STR_CF), 0.0, -40.0, 1383.0)
|
||||
GUNFILERECORD( watchgeigercounter, 1, NULL, TEXT(LGUN, GUN_STR_7F), TEXT(LGUN, GUN_STR_36), 82.0, 0.0, 2857.0, 0.0, 90.0, TEXT(LGUN, GUN_STR_79), TEXT(LGUN, GUN_STR_D0), 0.0, -40.0, 1383.0)
|
||||
GUNFILERECORD( watchmagnetrepel, 1, NULL, TEXT(LGUN, GUN_STR_7F), TEXT(LGUN, GUN_STR_4B), 82.0, 0.0, 2857.0, 0.0, 90.0, TEXT(LGUN, GUN_STR_7D), TEXT(LGUN, GUN_STR_D4), 0.0, -40.0, 1383.0)
|
||||
GUNFILERECORD( watchmagnetattract, 0,GUNSTATS(watchmagnetattract), TEXT(LGUN, GUN_STR_7E), TEXT(LGUN, GUN_STR_13), 80.0, 0.0, 3036.0, 0.0, 90.0, TEXT(LGUN, GUN_STR_7C), TEXT(LGUN, GUN_STR_D3), 0.0, -40.0, 1383.0)
|
||||
GUNFILERECORD( goldeneyekey, 0, GUNSTATS(goldeneyekey), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_3A), 18.0, 0.0, 560.0, 80.0, 0.0, TEXT(LGUN, GUN_STR_3A), TEXT(LGUN, GUN_STR_A4), 0.0, -4.0, 310.0)
|
||||
GUNFILERECORD( blackbox, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_17), 18.0, 0.0, 545.0, 0.0, 90.0, TEXT(LGUN, GUN_STR_17), TEXT(LGUN, GUN_STR_87), 0.0, -8.0, 380.0)
|
||||
GUNFILERECORD( circuitboard, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_21), 20.0, 0.0, 568.0, 80.0, 0.0, TEXT(LGUN, GUN_STR_21), TEXT(LGUN, GUN_STR_91), 0.0, 0.0, 394.0)
|
||||
GUNFILERECORD( clipboard, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_22), 40.0, 0.0, 1151.0, 80.0, 90.0, TEXT(LGUN, GUN_STR_22), TEXT(LGUN, GUN_STR_92), 0.0, -20.0, 580.0)
|
||||
GUNFILERECORD( stafflist, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_6C), 44.0, 0.0, 1274.0, 80.0, 90.0, TEXT(LGUN, GUN_STR_6C), TEXT(LGUN, GUN_STR_C7), 0.0, -16.0, 681.0)
|
||||
GUNFILERECORD( dossierred, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_5F), 38.0, 0.0, 1084.0, 350.0, 90.0, TEXT(LGUN, GUN_STR_5F), TEXT(LGUN, GUN_STR_BD), 0.0, -12.0, 580.0)
|
||||
GUNFILERECORD( plans, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_5A), 18.0, 0.0, 464.0, 350.0, 90.0, TEXT(LGUN, GUN_STR_5A), TEXT(LGUN, GUN_STR_B6), 0.0, -2.0, 253.0)
|
||||
GUNFILERECORD( spyfile, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_6A), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_6A), TEXT(LGUN, GUN_STR_C5), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( blueprints, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_18), 18.0, 0.0, 579.0, 350.0, 90.0, TEXT(LGUN, GUN_STR_18), TEXT(LGUN, GUN_STR_88), 0.0, -8.0, 364.0)
|
||||
GUNFILERECORD( map, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_4D), 18.0, 0.0, 579.0, 350.0, 90.0, TEXT(LGUN, GUN_STR_4D), TEXT(LGUN, GUN_STR_AF), 0.0, -6.0, 364.0)
|
||||
GUNFILERECORD( audiotape, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_14), 16.0, 0.0, 428.0, 90.0, 90.0, TEXT(LGUN, GUN_STR_14), TEXT(LGUN, GUN_STR_85), 0.0, -2.0, 292.0)
|
||||
GUNFILERECORD( videotape, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_77), 26.0, 0.0, 753.0, 90.0, 0.0, TEXT(LGUN, GUN_STR_77), TEXT(LGUN, GUN_STR_CE), 0.0, -8.0, 395.0)
|
||||
GUNFILERECORD( dattape, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_2C), 14.0, 0.0, 387.0, 90.0, 90.0, TEXT(LGUN, GUN_STR_2C), TEXT(LGUN, GUN_STR_98), 0.0, 0.0, 238.0)
|
||||
GUNFILERECORD( spooltape, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_69), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_69), TEXT(LGUN, GUN_STR_C4), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( microfilm, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_50), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_50), TEXT(LGUN, GUN_STR_B2), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( microcode, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_4F), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_4F), TEXT(LGUN, GUN_STR_B1), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( lectre, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_49), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_49), TEXT(LGUN, GUN_STR_AD), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( money, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_53), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_53), TEXT(LGUN, GUN_STR_B3), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( goldbar, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_37), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_37), TEXT(LGUN, GUN_STR_A1), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( heroin, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_3F), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_3F), TEXT(LGUN, GUN_STR_A7), 0.0, 0.0, 1000.0)
|
||||
GUNFILERECORD( keycard, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_45), 24.0, 0.0, 556.0, 80.0, 90.0, TEXT(LGUN, GUN_STR_45), TEXT(LGUN, GUN_STR_AA), 0.0, -6.0, 411.0)
|
||||
GUNFILERECORD( keyyale, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_81), 64.0, 0.0, 1912.0, 260.0, 90.0, TEXT(LGUN, GUN_STR_81), TEXT(LGUN, GUN_STR_D6), 0.0, -18.0, 1568.0)
|
||||
GUNFILERECORD( keybolt, 1, NULL, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_19), 78.0, 0.0, 3518.0, 80.0, 90.0, TEXT(LGUN, GUN_STR_19), TEXT(LGUN, GUN_STR_89), 0.0, -12.0, 2582.0)
|
||||
SUIT_LFRECORD(suit_lf_hand, 0, GUNSTATS(Csuit_lf_handz), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_6D), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_83), 10.0, 10.0, 1000.0)
|
||||
GUNFILERECORD( joypad, 0, GUNSTATS(joypad), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_24), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_83), 10.0, 10.0, 1000.0)
|
||||
{ NULL , NULL, 0, GUNSTATS(null1), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_54), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_83), 10.0, 10.0, 1000.0},
|
||||
{ NULL , NULL, 0, GUNSTATS(null2), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_54), 0.0, 0.0, 1000.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_83), 10.0, 10.0, 1000.0},
|
||||
{ NULL , NULL, 0, GUNSTATS(token), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_73), 12.0, 0.0, 528.0, 80.0, 0.0, TEXT(LGUN, GUN_STR_73), TEXT(LGUN, GUN_STR_CC), 0.0, -4.0, 310.0}
|
||||
};
|
||||
@@ -3,8 +3,14 @@
|
||||
#define SCALEVAL1 0.80000001
|
||||
#define SCALEVAL_KNIFE 0.80000001
|
||||
#define SCALEVAL_SKORPION 0.80000001
|
||||
#define RATE_SKORPION 0xB
|
||||
#define SCALEVAL_AK47 0.80000001
|
||||
#define RATE_AK47 0x4
|
||||
#define SCALEVAL_UZI 0.80000001
|
||||
#define RATE_UZI 0x4
|
||||
#define RATE_MP5k 0x4
|
||||
#define RATE_SPECTRE 0x4
|
||||
#define RATE_M16 0x5
|
||||
#define SCALEVAL_P90 0.80000001
|
||||
#define SCALEVAL_RUGER 0.80000001
|
||||
#define SCALEVAL_LAUNCHER 0.80000001
|
||||
@@ -14,8 +20,14 @@
|
||||
#define SCALEVAL1 0.881200015545f
|
||||
#define SCALEVAL_KNIFE 0.82279998064f
|
||||
#define SCALEVAL_SKORPION 0.869499981403f
|
||||
#define RATE_SKORPION 9
|
||||
#define SCALEVAL_AK47 0.893000006676f
|
||||
#define RATE_AK47 0x3
|
||||
#define SCALEVAL_UZI 0.857800006866f
|
||||
#define RATE_UZI 0x3
|
||||
#define RATE_MP5k 0x3
|
||||
#define RATE_SPECTRE 0x3
|
||||
#define RATE_M16 0x4
|
||||
#define SCALEVAL_P90 0.846099972725
|
||||
#define SCALEVAL_RUGER 0.834399998188
|
||||
#define SCALEVAL_LAUNCHER 0.904799997807
|
||||
@@ -25,8 +37,14 @@
|
||||
#define SCALEVAL1 0.8812
|
||||
#define SCALEVAL_KNIFE 0.8228
|
||||
#define SCALEVAL_SKORPION 0.8695
|
||||
#define RATE_SKORPION 0xB
|
||||
#define SCALEVAL_AK47 0.893
|
||||
#define RATE_AK47 0x4
|
||||
#define SCALEVAL_UZI 0.8578
|
||||
#define RATE_UZI 0x4
|
||||
#define RATE_MP5k 0x4
|
||||
#define RATE_SPECTRE 0x4
|
||||
#define RATE_M16 0x5
|
||||
#define SCALEVAL_P90 0.8461
|
||||
#define SCALEVAL_RUGER 0.8344
|
||||
#define SCALEVAL_LAUNCHER 0.9048
|
||||
@@ -35,7 +53,13 @@
|
||||
#endif
|
||||
//D:80032494
|
||||
WeaponStats default_weaponstats = {
|
||||
1.0, 0.0, 0.0, 0.0, 3.0, 3.0, 8.5, 0, 0, 0xFF, 0x00, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL1, 0.89999998, 1.0, 0xFF, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 4.0, 0.0, 0x110
|
||||
1.0, 0.0, 0.0, 0.0, 3.0, 3.0, 8.5, 0, 0, 0xFF, 0x00, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL1, 0.89999998, 1.0, 0xFF, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 4.0, 0.0,
|
||||
|
||||
WEAPONSTATBITFLAG_CLICKY |
|
||||
WEAPONSTATBITFLAG_ONLY_1_HANDED
|
||||
|
||||
|
||||
|
||||
};
|
||||
//D:80032504
|
||||
#include <assets/obseg/gun/fist/gunWeaponStat.inc.c>
|
||||
@@ -45,233 +69,457 @@ WeaponStats default_weaponstats = {
|
||||
|
||||
//D:800325E4
|
||||
WeaponStats throwknife_stats = {
|
||||
1.0, 14.0, -24.799999, -34.0, 3.0, 3.0, 8.5, 0xA, 1, 0xFF, 0x06, 1, 0, 0, NULL, 3.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0,2.0, 4.0, 1.0, 0x560D83
|
||||
1.0, 14.0, -24.799999, -34.0, 3.0, 3.0, 8.5, AMMO_KNIFE, 1, 0xFF, 0x06, 1, 0, 0, NULL, 3.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0,2.0, 4.0, 1.0,
|
||||
WEAPONSTATBITFLAG_00000001 | WEAPONSTATBITFLAG_SINGLE_USE_RELOAD |
|
||||
WEAPONSTATBITFLAG_00000080 |
|
||||
WEAPONSTATBITFLAG_ONLY_1_HANDED | WEAPONSTATBITFLAG_MIRROR_DUAL | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON |
|
||||
|
||||
WEAPONSTATBITFLAG_USE_HOLD_TIME | WEAPONSTATBITFLAG_HAS_AMMO |
|
||||
WEAPONSTATBITFLAG_CAN_DUAL_WIELD | WEAPONSTATBITFLAG_NO_CLIP_RELOADS
|
||||
};
|
||||
|
||||
//D:80032654
|
||||
WeaponStats wppk_stats = {
|
||||
1.0, 11.0, -20.799999, -33.5, 3.0, 3.0, 8.5, 1, 7, 0xFF, 0x10, 1, 0, 0x6B, &cartridge_header, 1.0, 1.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0x4080300, 3.0, 10.0, 29.999998, 1.0, 12.0, 2.0, 2.0, 4.0, 0.0, 0x170FB9
|
||||
1.0, 11.0, -20.799999, -33.5, 3.0, 3.0, 8.5, AMMO_9MM, 7, 0xFF, 0x10, 1, 0, 0x6B, &cartridge_header, 1.0, 1.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0x4080300, 3.0, 10.0, 29.999998, 1.0, 12.0, 2.0, 2.0, 4.0, 0.0,
|
||||
WEAPONSTATBITFLAG_00000001 | WEAPONSTATBITFLAG_HAS_AUTO_AIM |
|
||||
WEAPONSTATBITFLAG_CLICKY | WEAPONSTATBITFLAG_00000020 | WEAPONSTATBITFLAG_00000080 |
|
||||
WEAPONSTATBITFLAG_ONLY_1_HANDED | WEAPONSTATBITFLAG_HOLD_AS_GUN | WEAPONSTATBITFLAG_MIRROR_DUAL | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON |
|
||||
|
||||
WEAPONSTATBITFLAG_PLAYER_STAT_HIT | WEAPONSTATBITFLAG_USE_HOLD_TIME | WEAPONSTATBITFLAG_HAS_AMMO |
|
||||
WEAPONSTATBITFLAG_CAN_DUAL_WIELD
|
||||
};
|
||||
//D:800326C4
|
||||
WeaponStats wppksil_stats = {
|
||||
1.0, 11.0, -20.799999, -33.5, 3.0, 3.0, 8.5, 1, 7, 0xFF, 0x10, 1, 0, 0x2E, &cartridge_header, 1.0, 3.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0x4080300, 1.5, 5.0, 29.999998, 0.0, 5.0, 1.0, 2.0, 4.0, 0.0, 0x170FB9
|
||||
1.0, 11.0, -20.799999, -33.5, 3.0, 3.0, 8.5, AMMO_9MM, 7, 0xFF, 0x10, 1, 0, 0x2E, &cartridge_header, 1.0, 3.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0x4080300, 1.5, 5.0, 29.999998, 0.0, 5.0, 1.0, 2.0, 4.0, 0.0,
|
||||
WEAPONSTATBITFLAG_00000001 | WEAPONSTATBITFLAG_HAS_AUTO_AIM |
|
||||
WEAPONSTATBITFLAG_CLICKY | WEAPONSTATBITFLAG_00000020 | WEAPONSTATBITFLAG_00000080 |
|
||||
WEAPONSTATBITFLAG_ONLY_1_HANDED | WEAPONSTATBITFLAG_HOLD_AS_GUN | WEAPONSTATBITFLAG_MIRROR_DUAL | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON |
|
||||
|
||||
WEAPONSTATBITFLAG_PLAYER_STAT_HIT | WEAPONSTATBITFLAG_USE_HOLD_TIME | WEAPONSTATBITFLAG_HAS_AMMO |
|
||||
WEAPONSTATBITFLAG_CAN_DUAL_WIELD
|
||||
};
|
||||
//D:80032734
|
||||
WeaponStats tt33_stats = {
|
||||
1.0, 11.0, -20.799999, -33.5, 3.0, 3.0, 8.5, 1, 8, 0xFF, 0x10, 1, 0, 0x70, &cartridge_header, 1.0, 6.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0x4080300, 5.0, 10.0, 59.999996, 2.0, 16.0, 3.0, 2.0, 4.0, 0.0, 0x170FB9
|
||||
1.0, 11.0, -20.799999, -33.5, 3.0, 3.0, 8.5, AMMO_9MM, 8, 0xFF, 0x10, 1, 0, 0x70, &cartridge_header, 1.0, 6.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0x4080300, 5.0, 10.0, 59.999996, 2.0, 16.0, 3.0, 2.0, 4.0, 0.0,
|
||||
WEAPONSTATBITFLAG_00000001 | WEAPONSTATBITFLAG_HAS_AUTO_AIM |
|
||||
WEAPONSTATBITFLAG_CLICKY | WEAPONSTATBITFLAG_00000020 | WEAPONSTATBITFLAG_00000080 |
|
||||
WEAPONSTATBITFLAG_ONLY_1_HANDED | WEAPONSTATBITFLAG_HOLD_AS_GUN | WEAPONSTATBITFLAG_MIRROR_DUAL | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON |
|
||||
|
||||
WEAPONSTATBITFLAG_PLAYER_STAT_HIT | WEAPONSTATBITFLAG_USE_HOLD_TIME | WEAPONSTATBITFLAG_HAS_AMMO |
|
||||
WEAPONSTATBITFLAG_CAN_DUAL_WIELD
|
||||
};
|
||||
|
||||
#if defined(VERSION_EU)
|
||||
WeaponStats skorpion_stats = {
|
||||
2.0, 11.5, -25.0, -27.5, 3.0, 5.0, 10.0, 1, 0x14, 0x03, 0x00, 1, 0x9, 0x6A, &cartridge_header, 0.60000002, 15.0, 0.0, SCALEVAL_SKORPION, 0.88999999, 1.0, 6, 0.0, 0.0, 0.0, 2.0, 20.0, 2.0, 2.0, 4.0, 0.0, 0x170B79
|
||||
};
|
||||
#else
|
||||
//D:800327A4
|
||||
WeaponStats skorpion_stats = {
|
||||
2.0, 11.5, -25.0, -27.5, 3.0, 5.0, 10.0, 1, 0x14, 0x03, 0x00, 1, 0xB, 0x6A, &cartridge_header, 0.60000002, 15.0, 0.0, SCALEVAL_SKORPION, 0.88999999, 1.0, 6, 0.0, 0.0, 0.0, 2.0, 20.0, 2.0, 2.0, 4.0, 0.0, 0x170B79
|
||||
};
|
||||
#endif
|
||||
2.0, 11.5, -25.0, -27.5, 3.0, 5.0, 10.0, AMMO_9MM, 0x14, 0x03, 0x00, 1, RATE_SKORPION, 0x6A, &cartridge_header, 0.60000002, 15.0, 0.0, SCALEVAL_SKORPION, 0.88999999, 1.0, 6, 0.0, 0.0, 0.0, 2.0, 20.0, 2.0, 2.0, 4.0, 0.0,
|
||||
WEAPONSTATBITFLAG_00000001 | WEAPONSTATBITFLAG_HAS_AUTO_AIM |
|
||||
WEAPONSTATBITFLAG_CLICKY | WEAPONSTATBITFLAG_00000020 | WEAPONSTATBITFLAG_00000040 |
|
||||
WEAPONSTATBITFLAG_ONLY_1_HANDED | WEAPONSTATBITFLAG_HOLD_AS_GUN | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON |
|
||||
|
||||
#if defined(VERSION_EU)
|
||||
WeaponStats ak47_stats = {
|
||||
2.0, 11.0, -19.0, -16.0, 3.0, 3.0, 8.5, 3, 0x1E, 0x03, 0x00, 1, 3, 0x6D, &cartrifle_header, 1.0, 10.0, 30.0, SCALEVAL_AK47, 0.91000003, 1.0, 0x40C0006,4.5, 2.0, 0.0, 2.0, 20.0, 2.0, 2.0, 4.0, 3.0, 0x171A7C
|
||||
WEAPONSTATBITFLAG_PLAYER_STAT_HIT | WEAPONSTATBITFLAG_USE_HOLD_TIME | WEAPONSTATBITFLAG_HAS_AMMO |
|
||||
WEAPONSTATBITFLAG_CAN_DUAL_WIELD
|
||||
};
|
||||
#else
|
||||
|
||||
//D:80032814
|
||||
WeaponStats ak47_stats = {
|
||||
2.0, 11.0, -19.0, -16.0, 3.0, 3.0, 8.5, 3, 0x1E, 0x03, 0x00, 1, 4, 0x6D, &cartrifle_header, 1.0, 10.0, 30.0, SCALEVAL_AK47, 0.91000003, 1.0, 0x40C0006,4.5, 2.0, 0.0, 2.0, 20.0, 2.0, 2.0, 4.0, 3.0, 0x171A7C
|
||||
2.0, 11.0, -19.0, -16.0, 3.0, 3.0, 8.5, AMMO_RIFLE, 0x1E, 0x03, 0x00, 1, RATE_AK47, 0x6D, &cartrifle_header, 1.0, 10.0, 30.0, SCALEVAL_AK47, 0.91000003, 1.0, 0x40C0006,4.5, 2.0, 0.0, 2.0, 20.0, 2.0, 2.0, 4.0, 3.0,
|
||||
WEAPONSTATBITFLAG_BURST_FIRE | WEAPONSTATBITFLAG_HAS_AUTO_AIM |
|
||||
WEAPONSTATBITFLAG_CLICKY | WEAPONSTATBITFLAG_00000020 | WEAPONSTATBITFLAG_00000040 |
|
||||
WEAPONSTATBITFLAG_HOLD_AS_GUN | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON |
|
||||
WEAPONSTATBITFLAG_FIRST_SHOT_ACCURACY |
|
||||
WEAPONSTATBITFLAG_PLAYER_STAT_HIT | WEAPONSTATBITFLAG_USE_HOLD_TIME | WEAPONSTATBITFLAG_HAS_AMMO |
|
||||
WEAPONSTATBITFLAG_CAN_DUAL_WIELD
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined(VERSION_EU)
|
||||
WeaponStats uzi_stats = {
|
||||
3.0, 11.0, -24.5, -37.0, 3.0, 8.0, 15.0, 1, 0x20, 0x02, 0x00, 1, 3, 0x6E, &cartridge_header, 1.0, 9.0, 0.0, SCALEVAL_UZI, 0.88, 1.0, 0x6120006, 4.0, 3.0, 0.0, 2.0, 20.0, 2.0, 2.0, 4.0, 0.0, 0x171B79
|
||||
};
|
||||
#else
|
||||
//D:80032884
|
||||
WeaponStats uzi_stats = {
|
||||
3.0, 11.0, -24.5, -37.0, 3.0, 8.0, 15.0, 1, 0x20, 0x02, 0x00, 1, 4, 0x6E, &cartridge_header, 1.0, 9.0, 0.0, SCALEVAL_UZI, 0.88, 1.0, 0x6120006, 4.0, 3.0, 0.0, 2.0, 20.0, 2.0, 2.0, 4.0, 0.0, 0x171B79
|
||||
3.0, 11.0, -24.5, -37.0, 3.0, 8.0, 15.0, AMMO_9MM, 0x20, 0x02, 0x00, 1, RATE_UZI, 0x6E, &cartridge_header, 1.0, 9.0, 0.0, SCALEVAL_UZI, 0.88, 1.0, 0x6120006, 4.0, 3.0, 0.0, 2.0, 20.0, 2.0, 2.0, 4.0, 0.0,
|
||||
WEAPONSTATBITFLAG_00000001 | WEAPONSTATBITFLAG_HAS_AUTO_AIM |
|
||||
WEAPONSTATBITFLAG_CLICKY | WEAPONSTATBITFLAG_00000020 | WEAPONSTATBITFLAG_00000040 |
|
||||
WEAPONSTATBITFLAG_ONLY_1_HANDED | WEAPONSTATBITFLAG_HOLD_AS_GUN | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON |
|
||||
WEAPONSTATBITFLAG_FIRST_SHOT_ACCURACY |
|
||||
WEAPONSTATBITFLAG_PLAYER_STAT_HIT | WEAPONSTATBITFLAG_USE_HOLD_TIME | WEAPONSTATBITFLAG_HAS_AMMO |
|
||||
WEAPONSTATBITFLAG_CAN_DUAL_WIELD
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined(VERSION_EU)
|
||||
WeaponStats mp5k_stats = {
|
||||
2.0, 11.0, -26.4, -35.0, 3.0, 8.0, 15.0, 1, 0x1E, 0x03, 0x00, 1, 3, 0x75, &cartridge_header, 1.0, 7.0, 0.0, SCALEVAL_SKORPION, 0.88999999, 1.0, 0x6120006, 4.0, 3.0, 0.0, 2.0, 20.0, 2.0, 2.0, 4.0, 0.0, 0x171A79
|
||||
};
|
||||
#else
|
||||
//D:800328F4
|
||||
WeaponStats mp5k_stats = {
|
||||
2.0, 11.0, -26.4, -35.0, 3.0, 8.0, 15.0, 1, 0x1E, 0x03, 0x00, 1, 4, 0x75, &cartridge_header, 1.0, 7.0, 0.0, SCALEVAL_SKORPION, 0.88999999, 1.0, 0x6120006, 4.0, 3.0, 0.0, 2.0, 20.0, 2.0, 2.0, 4.0, 0.0, 0x171A79
|
||||
2.0, 11.0, -26.4, -35.0, 3.0, 8.0, 15.0, AMMO_9MM, 0x1E, 0x03, 0x00, 1, RATE_MP5k, 0x75, &cartridge_header, 1.0, 7.0, 0.0, SCALEVAL_SKORPION, 0.88999999, 1.0, 0x6120006, 4.0, 3.0, 0.0, 2.0, 20.0, 2.0, 2.0, 4.0, 0.0,
|
||||
WEAPONSTATBITFLAG_00000001 | WEAPONSTATBITFLAG_HAS_AUTO_AIM |
|
||||
WEAPONSTATBITFLAG_CLICKY | WEAPONSTATBITFLAG_00000020 | WEAPONSTATBITFLAG_00000040 |
|
||||
WEAPONSTATBITFLAG_HOLD_AS_GUN | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON |
|
||||
WEAPONSTATBITFLAG_FIRST_SHOT_ACCURACY |
|
||||
WEAPONSTATBITFLAG_PLAYER_STAT_HIT | WEAPONSTATBITFLAG_USE_HOLD_TIME | WEAPONSTATBITFLAG_HAS_AMMO |
|
||||
WEAPONSTATBITFLAG_CAN_DUAL_WIELD
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined(VERSION_EU)
|
||||
WeaponStats mp5ksil_stats = {
|
||||
2.0, 11.0, -26.4, -35.0, 3.0, 8.0, 15.0, 1, 0x1E, 0x03, 0x00, 1, 3, 0x2E, &cartridge_header, 1.0, 9.0, 0.0, SCALEVAL_SKORPION, 0.88999999, 1.0, 0x6120006, 3.5, 2.0, 0.0, 0.0, 7.0, 1.2, 2.0, 4.0, 0.0, 0x171A79
|
||||
};
|
||||
#else
|
||||
//D:80032964
|
||||
WeaponStats mp5ksil_stats = {
|
||||
2.0, 11.0, -26.4, -35.0, 3.0, 8.0, 15.0, 1, 0x1E, 0x03, 0x00, 1, 4, 0x2E, &cartridge_header, 1.0, 9.0, 0.0, SCALEVAL_SKORPION, 0.88999999, 1.0, 0x6120006, 3.5, 2.0, 0.0, 0.0, 7.0, 1.2, 2.0, 4.0, 0.0, 0x171A79
|
||||
2.0, 11.0, -26.4, -35.0, 3.0, 8.0, 15.0, AMMO_9MM, 0x1E, 0x03, 0x00, 1, RATE_MP5k, 0x2E, &cartridge_header, 1.0, 9.0, 0.0, SCALEVAL_SKORPION, 0.88999999, 1.0, 0x6120006, 3.5, 2.0, 0.0, 0.0, 7.0, 1.2, 2.0, 4.0, 0.0,
|
||||
WEAPONSTATBITFLAG_00000001 | WEAPONSTATBITFLAG_HAS_AUTO_AIM |
|
||||
WEAPONSTATBITFLAG_CLICKY | WEAPONSTATBITFLAG_00000020 | WEAPONSTATBITFLAG_00000040 |
|
||||
WEAPONSTATBITFLAG_HOLD_AS_GUN | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON |
|
||||
WEAPONSTATBITFLAG_FIRST_SHOT_ACCURACY |
|
||||
WEAPONSTATBITFLAG_PLAYER_STAT_HIT | WEAPONSTATBITFLAG_USE_HOLD_TIME | WEAPONSTATBITFLAG_HAS_AMMO |
|
||||
WEAPONSTATBITFLAG_CAN_DUAL_WIELD
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined(VERSION_EU)
|
||||
WeaponStats spectre_stats = {
|
||||
2.0, 11.0, -21.9, -35.0, 3.0, 8.0, 15.0, 1, 0x32, 0x03, 0x00, 1, 3, 0x6D, &cartridge_header, 1.4, 12.0, 0.0, SCALEVAL_SKORPION, 0.88999999, 1.0, 0x40C0006, 4.5, 2.0, 0.0, 2.0, 20.0, 2.0, 2.0, 4.0, 0.0, 0x171A79
|
||||
};
|
||||
#else
|
||||
//D:800329D4
|
||||
WeaponStats spectre_stats = {
|
||||
2.0, 11.0, -21.9, -35.0, 3.0, 8.0, 15.0, 1, 0x32, 0x03, 0x00, 1, 4, 0x6D, &cartridge_header, 1.4, 12.0, 0.0, SCALEVAL_SKORPION, 0.88999999, 1.0, 0x40C0006, 4.5, 2.0, 0.0, 2.0, 20.0, 2.0, 2.0, 4.0, 0.0, 0x171A79
|
||||
2.0, 11.0, -21.9, -35.0, 3.0, 8.0, 15.0, AMMO_9MM, 0x32, 0x03, 0x00, 1, RATE_SPECTRE, 0x6D, &cartridge_header, 1.4, 12.0, 0.0, SCALEVAL_SKORPION, 0.88999999, 1.0, 0x40C0006, 4.5, 2.0, 0.0, 2.0, 20.0, 2.0, 2.0, 4.0, 0.0,
|
||||
WEAPONSTATBITFLAG_00000001 | WEAPONSTATBITFLAG_HAS_AUTO_AIM |
|
||||
WEAPONSTATBITFLAG_CLICKY | WEAPONSTATBITFLAG_00000020 | WEAPONSTATBITFLAG_00000040 |
|
||||
WEAPONSTATBITFLAG_HOLD_AS_GUN | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON |
|
||||
WEAPONSTATBITFLAG_FIRST_SHOT_ACCURACY |
|
||||
WEAPONSTATBITFLAG_PLAYER_STAT_HIT | WEAPONSTATBITFLAG_USE_HOLD_TIME | WEAPONSTATBITFLAG_HAS_AMMO |
|
||||
WEAPONSTATBITFLAG_CAN_DUAL_WIELD
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined(VERSION_EU)
|
||||
WeaponStats m16_stats = {
|
||||
6.0, 11.0, -19.200001, -21.5, 3.0, 3.0, 8.5, 3, 0x1E, 0x02, 0x00, 2, 4, 0x71, &cartblue_header, 1.4, 6.0, 20.0, SCALEVAL_AK47, 0.91000003, 0.5, 0x6120208, 5.0, 2.0, 0.0, 2.0, 20.0, 2.0, 2.0, 4.0, 4.0, 0x171A7C
|
||||
};
|
||||
#else
|
||||
//D:80032A44
|
||||
WeaponStats m16_stats = {
|
||||
6.0, 11.0, -19.200001, -21.5, 3.0, 3.0, 8.5, 3, 0x1E, 0x02, 0x00, 2, 5, 0x71, &cartblue_header, 1.4, 6.0, 20.0, SCALEVAL_AK47, 0.91000003, 0.5, 0x6120208, 5.0, 2.0, 0.0, 2.0, 20.0, 2.0, 2.0, 4.0, 4.0, 0x171A7C
|
||||
6.0, 11.0, -19.200001, -21.5, 3.0, 3.0, 8.5, AMMO_RIFLE, 0x1E, 0x02, 0x00, 2, RATE_M16, 0x71, &cartblue_header, 1.4, 6.0, 20.0, SCALEVAL_AK47, 0.91000003, 0.5, 0x6120208, 5.0, 2.0, 0.0, 2.0, 20.0, 2.0, 2.0, 4.0, 4.0,
|
||||
WEAPONSTATBITFLAG_BURST_FIRE | WEAPONSTATBITFLAG_HAS_AUTO_AIM |
|
||||
WEAPONSTATBITFLAG_CLICKY | WEAPONSTATBITFLAG_00000020 | WEAPONSTATBITFLAG_00000040 |
|
||||
WEAPONSTATBITFLAG_HOLD_AS_GUN | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON |
|
||||
WEAPONSTATBITFLAG_FIRST_SHOT_ACCURACY |
|
||||
WEAPONSTATBITFLAG_PLAYER_STAT_HIT | WEAPONSTATBITFLAG_USE_HOLD_TIME | WEAPONSTATBITFLAG_HAS_AMMO |
|
||||
WEAPONSTATBITFLAG_CAN_DUAL_WIELD
|
||||
};
|
||||
#endif
|
||||
|
||||
//D:80032AB4
|
||||
WeaponStats fnp90_stats = {
|
||||
4.0, 12.5, -25.299999, -32.5, 3.0, 8.0, 15.0, 1, 0x50, 0x02, 0x00, 3, 2, 0xFD, &cartridge_header, 1.8, 6.0, 0.0, SCALEVAL_P90, 0.87, 1.0, 0x4080003, 3.5, 2.0, 0.0, 2.0, 20.0, 2.0, 2.0, 4.0, 4.0, 0x171A78
|
||||
4.0, 12.5, -25.299999, -32.5, 3.0, 8.0, 15.0, AMMO_9MM, 0x50, 0x02, 0x00, 3, 2, 0xFD, &cartridge_header, 1.8, 6.0, 0.0, SCALEVAL_P90, 0.87, 1.0, 0x4080003, 3.5, 2.0, 0.0, 2.0, 20.0, 2.0, 2.0, 4.0, 4.0,
|
||||
WEAPONSTATBITFLAG_HAS_AUTO_AIM |
|
||||
WEAPONSTATBITFLAG_CLICKY | WEAPONSTATBITFLAG_00000020 | WEAPONSTATBITFLAG_00000040 |
|
||||
WEAPONSTATBITFLAG_HOLD_AS_GUN | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON |
|
||||
WEAPONSTATBITFLAG_FIRST_SHOT_ACCURACY |
|
||||
WEAPONSTATBITFLAG_PLAYER_STAT_HIT | WEAPONSTATBITFLAG_USE_HOLD_TIME | WEAPONSTATBITFLAG_HAS_AMMO |
|
||||
WEAPONSTATBITFLAG_CAN_DUAL_WIELD
|
||||
};
|
||||
//D:80032B24
|
||||
WeaponStats shotgun_stats = {
|
||||
4.0, 11.0, -20.6, -19.5, 3.0, 3.0, 8.5, 4, 5, 0xFF, 0x0A, 1, 0, 0x79, &cartshell_header, 0.40000001, 20.0, 0.0, SCALEVAL1, 0.89999998, 1.0, 0x812080C, 9.0, 10.0, 0.0, 2.0, 25.0, 4.0, 2.0, 4.0, 5.0, 0x170AF9
|
||||
4.0, 11.0, -20.6, -19.5, 3.0, 3.0, 8.5, AMMO_SHOTGUN, 5, 0xFF, 0x0A, 1, 0, 0x79, &cartshell_header, 0.40000001, 20.0, 0.0, SCALEVAL1, 0.89999998, 1.0, 0x812080C, 9.0, 10.0, 0.0, 2.0, 25.0, 4.0, 2.0, 4.0, 5.0,
|
||||
WEAPONSTATBITFLAG_00000001 | WEAPONSTATBITFLAG_HAS_AUTO_AIM |
|
||||
WEAPONSTATBITFLAG_CLICKY | WEAPONSTATBITFLAG_00000020 | WEAPONSTATBITFLAG_00000040 | WEAPONSTATBITFLAG_00000080 |
|
||||
WEAPONSTATBITFLAG_HOLD_AS_GUN | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON |
|
||||
|
||||
WEAPONSTATBITFLAG_PLAYER_STAT_HIT | WEAPONSTATBITFLAG_USE_HOLD_TIME | WEAPONSTATBITFLAG_HAS_AMMO |
|
||||
WEAPONSTATBITFLAG_CAN_DUAL_WIELD
|
||||
};
|
||||
|
||||
//D:80032B94
|
||||
WeaponStats autoshot_stats = {
|
||||
4.0, 12.0, -24.1, -19.0, 3.0, 3.0, 8.5, 4, 5, 0xFF, 0x0A, 1, 0, 0x74, NULL, 0.60000002, 16.0, 0.0, SCALEVAL1, 0.89999998, 1.0, 0x812080C, 4.5, 3.0, 0.0, 2.0, 20.0, 3.0, 2.0, 4.0, 5.0, 0x170AF9
|
||||
4.0, 12.0, -24.1, -19.0, 3.0, 3.0, 8.5, AMMO_SHOTGUN, 5, 0xFF, 0x0A, 1, 0, 0x74, NULL, 0.60000002, 16.0, 0.0, SCALEVAL1, 0.89999998, 1.0, 0x812080C, 4.5, 3.0, 0.0, 2.0, 20.0, 3.0, 2.0, 4.0, 5.0,
|
||||
WEAPONSTATBITFLAG_00000001 | WEAPONSTATBITFLAG_HAS_AUTO_AIM |
|
||||
WEAPONSTATBITFLAG_CLICKY | WEAPONSTATBITFLAG_00000020 | WEAPONSTATBITFLAG_00000040 | WEAPONSTATBITFLAG_00000080 |
|
||||
WEAPONSTATBITFLAG_HOLD_AS_GUN | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON |
|
||||
|
||||
WEAPONSTATBITFLAG_PLAYER_STAT_HIT | WEAPONSTATBITFLAG_USE_HOLD_TIME | WEAPONSTATBITFLAG_HAS_AMMO |
|
||||
WEAPONSTATBITFLAG_CAN_DUAL_WIELD
|
||||
};
|
||||
|
||||
//D:80032C04
|
||||
WeaponStats sniperrifle_stats = {
|
||||
6.0, 11.0, -20.700001, -31.5, 3.0, 3.0, 8.5, 3, 8, 0xFF, 0x10, 1, 0, 0x2E, &cartblue_header, 1.0, 0.0, 15.0, SCALEVAL_AK47, 0.91000003, 0.25, 0, 0.0, 0.0, 0.0, 0.0, 7.0, 1.2, 2.0, 4.0, 0.0, 0x178A70
|
||||
6.0, 11.0, -20.700001, -31.5, 3.0, 3.0, 8.5, AMMO_RIFLE, 8, 0xFF, 0x10, 1, 0, 0x2E, &cartblue_header, 1.0, 0.0, 15.0, SCALEVAL_AK47, 0.91000003, 0.25, 0, 0.0, 0.0, 0.0, 0.0, 7.0, 1.2, 2.0, 4.0, 0.0,
|
||||
|
||||
WEAPONSTATBITFLAG_CLICKY | WEAPONSTATBITFLAG_00000020 | WEAPONSTATBITFLAG_00000040 |
|
||||
WEAPONSTATBITFLAG_HOLD_AS_GUN | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON |
|
||||
WEAPONSTATBITFLAG_DISABLE_CROUCH |
|
||||
WEAPONSTATBITFLAG_PLAYER_STAT_HIT | WEAPONSTATBITFLAG_USE_HOLD_TIME | WEAPONSTATBITFLAG_HAS_AMMO |
|
||||
WEAPONSTATBITFLAG_CAN_DUAL_WIELD
|
||||
};
|
||||
|
||||
//D:80032C74
|
||||
WeaponStats ruger_stats = {
|
||||
2.0, 12.0, -20.799999, -33.5, 3.0, 3.0, 8.5, 0xC, 6, 0xFF, 0x14, 0xA, 0, 0x6F, NULL, 2.0, 0.0, 0.0, SCALEVAL_RUGER, 0.86000001, 1.0, 0x81000FF, 12.0, 35.0, 0.0, 2.0, 20.0, 3.0, 2.0, 4.0, 6.0, 0x170FB9
|
||||
2.0, 12.0, -20.799999, -33.5, 3.0, 3.0, 8.5, AMMO_MAGNUM, 6, 0xFF, 0x14, 0xA, 0, 0x6F, NULL, 2.0, 0.0, 0.0, SCALEVAL_RUGER, 0.86000001, 1.0, 0x81000FF, 12.0, 35.0, 0.0, 2.0, 20.0, 3.0, 2.0, 4.0, 6.0,
|
||||
WEAPONSTATBITFLAG_00000001 | WEAPONSTATBITFLAG_HAS_AUTO_AIM |
|
||||
WEAPONSTATBITFLAG_CLICKY | WEAPONSTATBITFLAG_00000020 | WEAPONSTATBITFLAG_00000080 |
|
||||
WEAPONSTATBITFLAG_ONLY_1_HANDED | WEAPONSTATBITFLAG_HOLD_AS_GUN | WEAPONSTATBITFLAG_MIRROR_DUAL | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON |
|
||||
|
||||
WEAPONSTATBITFLAG_PLAYER_STAT_HIT | WEAPONSTATBITFLAG_USE_HOLD_TIME | WEAPONSTATBITFLAG_HAS_AMMO |
|
||||
WEAPONSTATBITFLAG_CAN_DUAL_WIELD
|
||||
};
|
||||
//D:80032CE4
|
||||
WeaponStats goldengun_stats = {
|
||||
1.0, 11.0, -20.799999, -33.5, 3.0, 3.0, 8.5, 0xD, 1, 0xFF, 0x00, 1, 0, 0x75, NULL, 100.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0x40800FF, 5.0, 10.0, 0.0, 1.0, 9.0, 1.5, 2.0, 4.0, 0.0, 0x170F99
|
||||
1.0, 11.0, -20.799999, -33.5, 3.0, 3.0, 8.5, AMMO_GGUN, 1, 0xFF, 0x00, 1, 0, 0x75, NULL, 100.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0x40800FF, 5.0, 10.0, 0.0, 1.0, 9.0, 1.5, 2.0, 4.0, 0.0,
|
||||
WEAPONSTATBITFLAG_00000001 | WEAPONSTATBITFLAG_HAS_AUTO_AIM |
|
||||
WEAPONSTATBITFLAG_CLICKY | WEAPONSTATBITFLAG_00000080 |
|
||||
WEAPONSTATBITFLAG_ONLY_1_HANDED | WEAPONSTATBITFLAG_HOLD_AS_GUN | WEAPONSTATBITFLAG_MIRROR_DUAL | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON |
|
||||
|
||||
WEAPONSTATBITFLAG_PLAYER_STAT_HIT | WEAPONSTATBITFLAG_USE_HOLD_TIME | WEAPONSTATBITFLAG_HAS_AMMO |
|
||||
WEAPONSTATBITFLAG_CAN_DUAL_WIELD
|
||||
};
|
||||
|
||||
//D:80032D54
|
||||
WeaponStats silverwppk_stats = {
|
||||
1.0, 11.0, -20.799999, -33.5, 3.0, 3.0, 8.5, 1, 7, 0xFF, 0x10, 0xA, 0, 0x6B, &cartridge_header, 2.0, 1.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0x4080300, 3.0, 10.0, 29.999998, 1.0, 12.0, 2.0, 2.0, 4.0, 0.0, 0x170FB9
|
||||
1.0, 11.0, -20.799999, -33.5, 3.0, 3.0, 8.5, AMMO_9MM, 7, 0xFF, 0x10, 0xA, 0, 0x6B, &cartridge_header, 2.0, 1.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0x4080300, 3.0, 10.0, 29.999998, 1.0, 12.0, 2.0, 2.0, 4.0, 0.0,
|
||||
WEAPONSTATBITFLAG_00000001 | WEAPONSTATBITFLAG_HAS_AUTO_AIM |
|
||||
WEAPONSTATBITFLAG_CLICKY | WEAPONSTATBITFLAG_00000020 | WEAPONSTATBITFLAG_00000080 |
|
||||
WEAPONSTATBITFLAG_ONLY_1_HANDED | WEAPONSTATBITFLAG_HOLD_AS_GUN | WEAPONSTATBITFLAG_MIRROR_DUAL | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON |
|
||||
|
||||
WEAPONSTATBITFLAG_PLAYER_STAT_HIT | WEAPONSTATBITFLAG_USE_HOLD_TIME | WEAPONSTATBITFLAG_HAS_AMMO |
|
||||
WEAPONSTATBITFLAG_CAN_DUAL_WIELD
|
||||
};
|
||||
//D:80032DC4
|
||||
WeaponStats goldwppk_stats = {
|
||||
1.0, 11.0, -20.799999, -33.5, 3.0, 3.0, 8.5, 1, 7, 0xFF, 0x10, 1, 0, 0x6B, &cartridge_header, 100.0, 1.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0x4080300,3.0, 10.0, 29.999998, 1.0, 12.0, 2.0, 2.0, 4.0, 0.0, 0x170FB9
|
||||
1.0, 11.0, -20.799999, -33.5, 3.0, 3.0, 8.5, AMMO_9MM, 7, 0xFF, 0x10, 1, 0, 0x6B, &cartridge_header, 100.0, 1.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0x4080300,3.0, 10.0, 29.999998, 1.0, 12.0, 2.0, 2.0, 4.0, 0.0,
|
||||
WEAPONSTATBITFLAG_00000001 | WEAPONSTATBITFLAG_HAS_AUTO_AIM |
|
||||
WEAPONSTATBITFLAG_CLICKY | WEAPONSTATBITFLAG_00000020 | WEAPONSTATBITFLAG_00000080 |
|
||||
WEAPONSTATBITFLAG_ONLY_1_HANDED | WEAPONSTATBITFLAG_HOLD_AS_GUN | WEAPONSTATBITFLAG_MIRROR_DUAL | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON |
|
||||
|
||||
WEAPONSTATBITFLAG_PLAYER_STAT_HIT | WEAPONSTATBITFLAG_USE_HOLD_TIME | WEAPONSTATBITFLAG_HAS_AMMO |
|
||||
WEAPONSTATBITFLAG_CAN_DUAL_WIELD
|
||||
};
|
||||
|
||||
//D:80032E34
|
||||
WeaponStats laser_stats = {
|
||||
1.0, 11.0, -19.5, -28.0, 3.0, 3.0, 8.5, 0, 0, 0xFF, 0x06, 2, 0, 0xE4, NULL, 2.0, 0.0, 0.0, SCALEVAL_SKORPION, 0.88999999, 1.0, 0x6000606, 0.0, 0.0, 0.0, 2.0, 16.0, 2.0, 2.0, 4.0, 2.0, 0x170B99
|
||||
1.0, 11.0, -19.5, -28.0, 3.0, 3.0, 8.5, AMMO_NONE, 0, 0xFF, 0x06, 2, 0, 0xE4, NULL, 2.0, 0.0, 0.0, SCALEVAL_SKORPION, 0.88999999, 1.0, 0x6000606, 0.0, 0.0, 0.0, 2.0, 16.0, 2.0, 2.0, 4.0, 2.0,
|
||||
WEAPONSTATBITFLAG_00000001 | WEAPONSTATBITFLAG_HAS_AUTO_AIM |
|
||||
WEAPONSTATBITFLAG_CLICKY | WEAPONSTATBITFLAG_00000080 |
|
||||
WEAPONSTATBITFLAG_ONLY_1_HANDED | WEAPONSTATBITFLAG_HOLD_AS_GUN | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON |
|
||||
|
||||
WEAPONSTATBITFLAG_PLAYER_STAT_HIT | WEAPONSTATBITFLAG_USE_HOLD_TIME | WEAPONSTATBITFLAG_HAS_AMMO |
|
||||
WEAPONSTATBITFLAG_CAN_DUAL_WIELD
|
||||
};
|
||||
//D:80032EA4
|
||||
WeaponStats watchlaser_stats = {
|
||||
1.0, -2.0, -21.5, -19.0, 3.0, 3.0, 8.5, 0x18, 0x3E8, 0xFF, 0x00, 1, 0, 0, NULL, 2.0, 0.0, 0.0, SCALEVAL_SKORPION, 0.88999999, 1.0, 0xFF, 0.0, 0.0, 0.0, 1.0, 4.0, 0.2, 1.0, 4.0, 0.0, 0x600F91
|
||||
1.0, -2.0, -21.5, -19.0, 3.0, 3.0, 8.5, AMMO_WATCH_LASER, 0x3E8, 0xFF, 0x00, 1, 0, 0, NULL, 2.0, 0.0, 0.0, SCALEVAL_SKORPION, 0.88999999, 1.0, 0xFF, 0.0, 0.0, 0.0, 1.0, 4.0, 0.2, 1.0, 4.0, 0.0,
|
||||
WEAPONSTATBITFLAG_00000001 |
|
||||
WEAPONSTATBITFLAG_CLICKY | WEAPONSTATBITFLAG_00000080 |
|
||||
WEAPONSTATBITFLAG_ONLY_1_HANDED | WEAPONSTATBITFLAG_HOLD_AS_GUN | WEAPONSTATBITFLAG_MIRROR_DUAL | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON |
|
||||
|
||||
|
||||
WEAPONSTATBITFLAG_AMMO_CLIP_LIMIT | WEAPONSTATBITFLAG_NO_CLIP_RELOADS
|
||||
};
|
||||
//D:80032F14
|
||||
WeaponStats grenadelaunch_stats = {
|
||||
1.0, 9.5, -18.0, -18.5, 3.0, 3.0, 8.5, 0xB, 6, 0xFF, 0x14, 1, 0, 0xC, NULL, 1.0, 0.0, 0.0, SCALEVAL_LAUNCHER, 0.92000002, 1.0, 0x81000FF, 10.5, 15.0, 0.0, 2.0, 20.0, 2.0, 2.0, 4.0, 0.0, 0x120AF1
|
||||
1.0, 9.5, -18.0, -18.5, 3.0, 3.0, 8.5, AMMO_GRENADEROUND, 6, 0xFF, 0x14, 1, 0, 0xC, NULL, 1.0, 0.0, 0.0, SCALEVAL_LAUNCHER, 0.92000002, 1.0, 0x81000FF, 10.5, 15.0, 0.0, 2.0, 20.0, 2.0, 2.0, 4.0, 0.0,
|
||||
WEAPONSTATBITFLAG_00000001 |
|
||||
WEAPONSTATBITFLAG_CLICKY | WEAPONSTATBITFLAG_00000020 | WEAPONSTATBITFLAG_00000040 | WEAPONSTATBITFLAG_00000080 |
|
||||
WEAPONSTATBITFLAG_HOLD_AS_GUN | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON |
|
||||
|
||||
WEAPONSTATBITFLAG_USE_HOLD_TIME |
|
||||
WEAPONSTATBITFLAG_CAN_DUAL_WIELD
|
||||
};
|
||||
//D:80032F84
|
||||
WeaponStats rocketlaunch_stats = {
|
||||
1.0, 10.5, -22.200001, -14.5, 3.0, 3.0, 8.5, 6, 1, 0xFF, 0x14, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_LAUNCHER, 0.92000002, 0.5, 0xFF, 0.0, 0.0, 0.0, 2.0, 25.0, 10.0,2.0, 4.0, 0.0, 0x120FF1
|
||||
1.0, 10.5, -22.200001, -14.5, 3.0, 3.0, 8.5, AMMO_ROCKETS, 1, 0xFF, 0x14, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_LAUNCHER, 0.92000002, 0.5, 0xFF, 0.0, 0.0, 0.0, 2.0, 25.0, 10.0,2.0, 4.0, 0.0,
|
||||
WEAPONSTATBITFLAG_00000001 |
|
||||
WEAPONSTATBITFLAG_CLICKY | WEAPONSTATBITFLAG_00000020 | WEAPONSTATBITFLAG_00000040 | WEAPONSTATBITFLAG_00000080 |
|
||||
WEAPONSTATBITFLAG_ONLY_1_HANDED | WEAPONSTATBITFLAG_HOLD_AS_GUN | WEAPONSTATBITFLAG_MIRROR_DUAL | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON |
|
||||
|
||||
WEAPONSTATBITFLAG_USE_HOLD_TIME |
|
||||
WEAPONSTATBITFLAG_CAN_DUAL_WIELD
|
||||
};
|
||||
//D:80032FF4
|
||||
WeaponStats grenade_stats = {
|
||||
1.0, 11.0, -41.799999, -33.0, 3.0, 3.0, 8.5, 5, 1, 0xFF, 0x00, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0xFF, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 2.0, 4.0, 0.0, 0x422982
|
||||
1.0, 11.0, -41.799999, -33.0, 3.0, 3.0, 8.5, AMMO_GRENADE, 1, 0xFF, 0x00, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0xFF, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 2.0, 4.0, 0.0,
|
||||
WEAPONSTATBITFLAG_SINGLE_USE_RELOAD |
|
||||
WEAPONSTATBITFLAG_00000080 |
|
||||
WEAPONSTATBITFLAG_ONLY_1_HANDED | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON |
|
||||
WEAPONSTATBITFLAG_HIDE_FIRST_PERSON_HAND |
|
||||
WEAPONSTATBITFLAG_USE_HOLD_TIME |
|
||||
WEAPONSTATBITFLAG_NO_CLIP_RELOADS
|
||||
};
|
||||
//D:80033064
|
||||
WeaponStats timedmine_stats = {
|
||||
1.0, 11.0, -21.0, -37.0, 3.0, 3.0, 8.5, 9, 1, 0xFF, 0x06, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 2.0, 4.0,0.0, 0x422D82
|
||||
1.0, 11.0, -21.0, -37.0, 3.0, 3.0, 8.5, AMMO_TIMEDMINE, 1, 0xFF, 0x06, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 2.0, 4.0,0.0,
|
||||
WEAPONSTATBITFLAG_SINGLE_USE_RELOAD |
|
||||
WEAPONSTATBITFLAG_00000080 |
|
||||
WEAPONSTATBITFLAG_ONLY_1_HANDED | WEAPONSTATBITFLAG_MIRROR_DUAL | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON |
|
||||
WEAPONSTATBITFLAG_HIDE_FIRST_PERSON_HAND |
|
||||
WEAPONSTATBITFLAG_USE_HOLD_TIME |
|
||||
WEAPONSTATBITFLAG_NO_CLIP_RELOADS
|
||||
};
|
||||
//D:800330D4
|
||||
WeaponStats proximitymine_stats = {
|
||||
1.0, 11.0, -21.0, -37.0, 3.0, 3.0, 8.5, 8, 1, 0xFF, 0x06, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 2.0, 4.0,0.0, 0x422D82
|
||||
1.0, 11.0, -21.0, -37.0, 3.0, 3.0, 8.5, AMMO_PROXMINE, 1, 0xFF, 0x06, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 2.0, 4.0,0.0,
|
||||
WEAPONSTATBITFLAG_SINGLE_USE_RELOAD |
|
||||
WEAPONSTATBITFLAG_00000080 |
|
||||
WEAPONSTATBITFLAG_ONLY_1_HANDED | WEAPONSTATBITFLAG_MIRROR_DUAL | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON |
|
||||
WEAPONSTATBITFLAG_HIDE_FIRST_PERSON_HAND |
|
||||
WEAPONSTATBITFLAG_USE_HOLD_TIME |
|
||||
WEAPONSTATBITFLAG_NO_CLIP_RELOADS
|
||||
};
|
||||
//D:80033144
|
||||
WeaponStats remotemine_stats = {
|
||||
1.0, 11.0, -21.0, -37.0, 3.0, 3.0, 8.5, 7, 1, 0xFF, 0x06, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 2.0, 4.0,0.0, 0x422D82
|
||||
1.0, 11.0, -21.0, -37.0, 3.0, 3.0, 8.5, AMMO_REMOTEMINE, 1, 0xFF, 0x06, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 2.0, 4.0,0.0,
|
||||
WEAPONSTATBITFLAG_SINGLE_USE_RELOAD |
|
||||
WEAPONSTATBITFLAG_00000080 |
|
||||
WEAPONSTATBITFLAG_ONLY_1_HANDED | WEAPONSTATBITFLAG_MIRROR_DUAL | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON |
|
||||
WEAPONSTATBITFLAG_HIDE_FIRST_PERSON_HAND |
|
||||
WEAPONSTATBITFLAG_USE_HOLD_TIME |
|
||||
WEAPONSTATBITFLAG_NO_CLIP_RELOADS
|
||||
};
|
||||
//D:800331B4
|
||||
WeaponStats trigger_stats = {
|
||||
1.0, -2.0, -21.5, -19.0, 3.0, 3.0, 8.5, 0, 0, 0xFF, 0xFF, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 4.0,0.0, 0x890
|
||||
1.0, -2.0, -21.5, -19.0, 3.0, 3.0, 8.5, AMMO_NONE, 0, 0xFF, 0xFF, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 4.0,0.0,
|
||||
|
||||
WEAPONSTATBITFLAG_CLICKY | WEAPONSTATBITFLAG_00000080 |
|
||||
WEAPONSTATBITFLAG_SHOW_FIRST_PERSON
|
||||
|
||||
|
||||
|
||||
};
|
||||
//D:80033224
|
||||
WeaponStats taser_stats = {
|
||||
1.0, 16.0, -16.700001, -22.0, 3.0, 3.0, 8.5, 0, 0, 0xFF, 0x00, 1, 0, 0x64, NULL, 1.0, 0.0, 0.0, SCALEVAL1, 0.89999998, 1.0, 0xFF, 0.0, 0.0, 0.0, 2.0, 10.0, 2.0, 2.0, 4.0, 0.0, 0x620F70
|
||||
1.0, 16.0, -16.700001, -22.0, 3.0, 3.0, 8.5, AMMO_NONE, 0, 0xFF, 0x00, 1, 0, 0x64, NULL, 1.0, 0.0, 0.0, SCALEVAL1, 0.89999998, 1.0, 0xFF, 0.0, 0.0, 0.0, 2.0, 10.0, 2.0, 2.0, 4.0, 0.0,
|
||||
|
||||
WEAPONSTATBITFLAG_CLICKY | WEAPONSTATBITFLAG_00000020 | WEAPONSTATBITFLAG_00000040 |
|
||||
WEAPONSTATBITFLAG_ONLY_1_HANDED | WEAPONSTATBITFLAG_HOLD_AS_GUN | WEAPONSTATBITFLAG_MIRROR_DUAL | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON |
|
||||
|
||||
WEAPONSTATBITFLAG_USE_HOLD_TIME |
|
||||
WEAPONSTATBITFLAG_AMMO_CLIP_LIMIT | WEAPONSTATBITFLAG_NO_CLIP_RELOADS
|
||||
};
|
||||
//D:80033294
|
||||
WeaponStats tank_stats = {
|
||||
1.0, 8.0, -19.200001, -11.5, 3.0, 3.0, 8.5, 0x1C, 1, 0xFF, 0x14, 1, 0, 0xB, NULL, 1.0, 0.0, 0.0, SCALEVAL_LAUNCHER, 0.92000002, 1.0, 0x780078FF, 0.0, 0.0, 0.0, 2.0, 25.0, 10.0, 2.0, 4.0, 0.0, 0x76781
|
||||
1.0, 8.0, -19.200001, -11.5, 3.0, 3.0, 8.5, AMMO_TANK, 1, 0xFF, 0x14, 1, 0, 0xB, NULL, 1.0, 0.0, 0.0, SCALEVAL_LAUNCHER, 0.92000002, 1.0, 0x780078FF, 0.0, 0.0, 0.0, 2.0, 25.0, 10.0, 2.0, 4.0, 0.0,
|
||||
WEAPONSTATBITFLAG_00000001 |
|
||||
WEAPONSTATBITFLAG_00000080 |
|
||||
WEAPONSTATBITFLAG_ONLY_1_HANDED | WEAPONSTATBITFLAG_HOLD_AS_GUN | WEAPONSTATBITFLAG_MIRROR_DUAL |
|
||||
WEAPONSTATBITFLAG_HIDE_FIRST_PERSON_HAND | WEAPONSTATBITFLAG_HIDE_FIRST_PERSON_MENU |
|
||||
WEAPONSTATBITFLAG_PLAYER_STAT_HIT | WEAPONSTATBITFLAG_USE_HOLD_TIME | WEAPONSTATBITFLAG_HAS_AMMO
|
||||
|
||||
};
|
||||
//D:80033304
|
||||
WeaponStats bombcase_stats = {
|
||||
1.0, 11.0, -21.0, -37.0, 3.0, 3.0, 8.5, 0x10, 1, 0xFF, 0x06, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 2.0,4.0, 0.0, 0x402D82
|
||||
1.0, 11.0, -21.0, -37.0, 3.0, 3.0, 8.5, AMMO_BOMBCASE, 1, 0xFF, 0x06, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 2.0,4.0, 0.0,
|
||||
WEAPONSTATBITFLAG_SINGLE_USE_RELOAD |
|
||||
WEAPONSTATBITFLAG_00000080 |
|
||||
WEAPONSTATBITFLAG_ONLY_1_HANDED | WEAPONSTATBITFLAG_MIRROR_DUAL | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON |
|
||||
WEAPONSTATBITFLAG_HIDE_FIRST_PERSON_HAND |
|
||||
|
||||
WEAPONSTATBITFLAG_NO_CLIP_RELOADS
|
||||
};
|
||||
//D:80033374
|
||||
WeaponStats plastique_stats = {
|
||||
1.0, 11.0, -21.0, -37.0, 3.0, 3.0, 8.5, 0x17, 1, 0xFF, 0x06, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 2.0,4.0, 0.0, 0x422D82
|
||||
1.0, 11.0, -21.0, -37.0, 3.0, 3.0, 8.5, AMMO_PLASTIQUE, 1, 0xFF, 0x06, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 2.0,4.0, 0.0,
|
||||
WEAPONSTATBITFLAG_SINGLE_USE_RELOAD |
|
||||
WEAPONSTATBITFLAG_00000080 |
|
||||
WEAPONSTATBITFLAG_ONLY_1_HANDED | WEAPONSTATBITFLAG_MIRROR_DUAL | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON |
|
||||
WEAPONSTATBITFLAG_HIDE_FIRST_PERSON_HAND |
|
||||
WEAPONSTATBITFLAG_USE_HOLD_TIME |
|
||||
WEAPONSTATBITFLAG_NO_CLIP_RELOADS
|
||||
};
|
||||
//D:800333E4
|
||||
WeaponStats flarepistol_stats = {
|
||||
1.0, 9.5, -18.0, -18.5, 3.0, 3.0, 8.5, 0x11, 1, 0xFF, 0x14, 1, 0, 0xC, NULL, 1.0, 0.0, 0.0, SCALEVAL_LAUNCHER, 0.92000002, 1.0, 0x81000FF, 10.5, 15.0, 0.0, 2.0, 20.0, 2.0, 2.0, 4.0, 0.0, 0xAF1
|
||||
1.0, 9.5, -18.0, -18.5, 3.0, 3.0, 8.5, AMMO_FLARE, 1, 0xFF, 0x14, 1, 0, 0xC, NULL, 1.0, 0.0, 0.0, SCALEVAL_LAUNCHER, 0.92000002, 1.0, 0x81000FF, 10.5, 15.0, 0.0, 2.0, 20.0, 2.0, 2.0, 4.0, 0.0,
|
||||
WEAPONSTATBITFLAG_00000001 |
|
||||
WEAPONSTATBITFLAG_CLICKY | WEAPONSTATBITFLAG_00000020 | WEAPONSTATBITFLAG_00000040 | WEAPONSTATBITFLAG_00000080 |
|
||||
WEAPONSTATBITFLAG_HOLD_AS_GUN | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON
|
||||
|
||||
|
||||
|
||||
};
|
||||
//D:80033454
|
||||
WeaponStats pitongun_stats = {
|
||||
1.0, 9.5, -18.0, -18.5, 3.0, 3.0, 8.5, 0x12, 1, 0xFF, 0x14, 1, 0, 0xC, NULL, 1.0, 0.0, 0.0, SCALEVAL_LAUNCHER, 0.92000002, 1.0, 0x81000FF, 10.5, 15.0, 0.0, 2.0, 20.0, 2.0, 2.0, 4.0, 0.0, 0xAF1
|
||||
1.0, 9.5, -18.0, -18.5, 3.0, 3.0, 8.5, AMMO_PITON, 1, 0xFF, 0x14, 1, 0, 0xC, NULL, 1.0, 0.0, 0.0, SCALEVAL_LAUNCHER, 0.92000002, 1.0, 0x81000FF, 10.5, 15.0, 0.0, 2.0, 20.0, 2.0, 2.0, 4.0, 0.0,
|
||||
WEAPONSTATBITFLAG_00000001 |
|
||||
WEAPONSTATBITFLAG_CLICKY | WEAPONSTATBITFLAG_00000020 | WEAPONSTATBITFLAG_00000040 | WEAPONSTATBITFLAG_00000080 |
|
||||
WEAPONSTATBITFLAG_HOLD_AS_GUN | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON
|
||||
|
||||
|
||||
|
||||
};
|
||||
//D:800334C4
|
||||
WeaponStats bug_stats = {
|
||||
1.0, 11.0, -21.0, -37.0, 3.0, 3.0, 8.5, 0x14, 1, 0xFF, 0x00, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0xFF, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 4.0, 0.0, 0x402982
|
||||
1.0, 11.0, -21.0, -37.0, 3.0, 3.0, 8.5, AMMO_BUG, 1, 0xFF, 0x00, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0xFF, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 4.0, 0.0,
|
||||
WEAPONSTATBITFLAG_SINGLE_USE_RELOAD |
|
||||
WEAPONSTATBITFLAG_00000080 |
|
||||
WEAPONSTATBITFLAG_ONLY_1_HANDED | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON |
|
||||
WEAPONSTATBITFLAG_HIDE_FIRST_PERSON_HAND |
|
||||
|
||||
WEAPONSTATBITFLAG_NO_CLIP_RELOADS
|
||||
};
|
||||
//D:80033534
|
||||
WeaponStats microcamera_stats = {
|
||||
1.0, 11.0, -21.0, -37.0, 3.0, 3.0, 8.5, 0x15, 1, 0xFF, 0x00, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0xFF, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 4.0, 0.0, 0x402982
|
||||
1.0, 11.0, -21.0, -37.0, 3.0, 3.0, 8.5, AMMO_MICRO_CAMERA, 1, 0xFF, 0x00, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0xFF, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 4.0, 0.0,
|
||||
WEAPONSTATBITFLAG_SINGLE_USE_RELOAD |
|
||||
WEAPONSTATBITFLAG_00000080 |
|
||||
WEAPONSTATBITFLAG_ONLY_1_HANDED | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON |
|
||||
WEAPONSTATBITFLAG_HIDE_FIRST_PERSON_HAND |
|
||||
|
||||
WEAPONSTATBITFLAG_NO_CLIP_RELOADS
|
||||
};
|
||||
//D:800335A4
|
||||
WeaponStats watchmagnetattract_stats = {
|
||||
1.0, 11.0, -41.799999, -33.0, 3.0, 3.0, 8.5, 0x19, 0xA, 0xFF, 0xFF, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0xFF, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 4.0, 0.0, 0x602980
|
||||
1.0, 11.0, -41.799999, -33.0, 3.0, 3.0, 8.5, AMMO_WATCH_MAGNET, 0xA, 0xFF, 0xFF, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0xFF, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 4.0, 0.0,
|
||||
|
||||
WEAPONSTATBITFLAG_00000080 |
|
||||
WEAPONSTATBITFLAG_ONLY_1_HANDED | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON |
|
||||
WEAPONSTATBITFLAG_HIDE_FIRST_PERSON_HAND |
|
||||
|
||||
WEAPONSTATBITFLAG_AMMO_CLIP_LIMIT | WEAPONSTATBITFLAG_NO_CLIP_RELOADS
|
||||
};
|
||||
//D:80033614
|
||||
WeaponStats goldeneyekey_stats = {
|
||||
1.0, 11.0, -41.799999, -33.0, 3.0, 3.0, 8.5, 0x16, 1, 0xFF, 0x00, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0xFF, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 4.0, 0.0, 0x482982
|
||||
1.0, 11.0, -41.799999, -33.0, 3.0, 3.0, 8.5, AMMO_GEKEY, 1, 0xFF, 0x00, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0xFF, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 4.0, 0.0,
|
||||
WEAPONSTATBITFLAG_SINGLE_USE_RELOAD |
|
||||
WEAPONSTATBITFLAG_00000080 |
|
||||
WEAPONSTATBITFLAG_ONLY_1_HANDED | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON |
|
||||
WEAPONSTATBITFLAG_HIDE_FIRST_PERSON_HAND |
|
||||
WEAPONSTATBITFLAG_HIDE_AMMO_DISPLAY |
|
||||
WEAPONSTATBITFLAG_NO_CLIP_RELOADS
|
||||
};
|
||||
//D:80033684
|
||||
WeaponStats camera_stats = {
|
||||
1.0, 11.0, -41.799999, -33.0, 3.0, 3.0, 8.5, 0, 0, 0xFF, 0xFF, 1, 0, 0xF4, NULL, 1.0, 0.0, 20.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0xFF, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0, 0xA990
|
||||
1.0, 11.0, -41.799999, -33.0, 3.0, 3.0, 8.5, AMMO_NONE, 0, 0xFF, 0xFF, 1, 0, 0xF4, NULL, 1.0, 0.0, 20.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0xFF, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 1.0, 1.0, 0.0,
|
||||
|
||||
WEAPONSTATBITFLAG_CLICKY | WEAPONSTATBITFLAG_00000080 |
|
||||
WEAPONSTATBITFLAG_ONLY_1_HANDED | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON |
|
||||
WEAPONSTATBITFLAG_HIDE_FIRST_PERSON_HAND | WEAPONSTATBITFLAG_DISABLE_CROUCH
|
||||
|
||||
|
||||
};
|
||||
//D:800336F4
|
||||
WeaponStats Csuit_lf_handz_stats = {
|
||||
1.0, 0.0, 0.0, 0.0, 3.0, 3.0, 8.5, 0, 0, 0xFF, 0x00, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL1, 0.89999998, 1.0, 0xFF, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 4.0, 0.0, 0x110
|
||||
1.0, 0.0, 0.0, 0.0, 3.0, 3.0, 8.5, AMMO_NONE, 0, 0xFF, 0x00, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL1, 0.89999998, 1.0, 0xFF, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 4.0, 0.0,
|
||||
WEAPONSTATBITFLAG_CLICKY |
|
||||
WEAPONSTATBITFLAG_ONLY_1_HANDED
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
//D:80033764
|
||||
WeaponStats joypad_stats = {
|
||||
1.0, 0.0, 0.0, 0.0, 3.0, 3.0, 8.5, 0, 0, 0xFF, 0x00, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL1, 0.89999998, 1.0, 0xFF, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 4.0, 0.0, 0x110
|
||||
1.0, 0.0, 0.0, 0.0, 3.0, 3.0, 8.5, AMMO_NONE, 0, 0xFF, 0x00, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL1, 0.89999998, 1.0, 0xFF, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 4.0, 0.0,
|
||||
WEAPONSTATBITFLAG_CLICKY |
|
||||
WEAPONSTATBITFLAG_ONLY_1_HANDED
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
//ITEM_NULL86?
|
||||
//D:800337D4
|
||||
WeaponStats null1_stats = {
|
||||
1.0, 0.0, 0.0, 0.0, 3.0, 3.0, 8.5, 6, 0, 0xFF, 0x00, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL1, 0.89999998, 1.0, 0xFF, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 4.0, 0.0, 0x110
|
||||
1.0, 0.0, 0.0, 0.0, 3.0, 3.0, 8.5, AMMO_ROCKETS, 0, 0xFF, 0x00, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL1, 0.89999998, 1.0, 0xFF, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 4.0, 0.0,
|
||||
WEAPONSTATBITFLAG_CLICKY |
|
||||
WEAPONSTATBITFLAG_ONLY_1_HANDED
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
//ITEM_NULL87?
|
||||
//D:80033844
|
||||
WeaponStats null2_stats = {
|
||||
1.0, 0.0, 0.0, 0.0, 3.0, 3.0, 8.5, 0xB, 0, 0xFF, 0x00, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL1, 0.89999998, 1.0, 0xFF, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 4.0, 0.0, 0x110
|
||||
1.0, 0.0, 0.0, 0.0, 3.0, 3.0, 8.5, AMMO_GRENADEROUND, 0, 0xFF, 0x00, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL1, 0.89999998, 1.0, 0xFF, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 4.0, 0.0,
|
||||
WEAPONSTATBITFLAG_CLICKY |
|
||||
WEAPONSTATBITFLAG_ONLY_1_HANDED
|
||||
|
||||
|
||||
|
||||
|
||||
};
|
||||
//D:800338B4
|
||||
WeaponStats token_stats = {
|
||||
1.0, 11.0, -41.799999, -33.0, 3.0, 3.0, 8.5, 0x1D, 0, 0xFF, 0x00, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0xFF, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 4.0, 0.0, 0x82182
|
||||
1.0, 11.0, -41.799999, -33.0, 3.0, 3.0, 8.5, AMMO_TOKEN, 0, 0xFF, 0x00, 1, 0, 0, NULL, 1.0, 0.0, 0.0, SCALEVAL_KNIFE, 0.85000002, 1.0, 0xFF, 0.0, 0.0, 0.0, 0.0, 0.0, 2.0, 2.0, 4.0, 0.0,
|
||||
WEAPONSTATBITFLAG_SINGLE_USE_RELOAD |
|
||||
WEAPONSTATBITFLAG_00000080 |
|
||||
WEAPONSTATBITFLAG_ONLY_1_HANDED |
|
||||
WEAPONSTATBITFLAG_HIDE_FIRST_PERSON_HAND |
|
||||
WEAPONSTATBITFLAG_HIDE_AMMO_DISPLAY
|
||||
|
||||
};
|
||||
@@ -1,2 +1,2 @@
|
||||
/*NAME, NOMODEL, STATS, UPPERTEXTID, LOWERTEXTID, POSX, POSY, POSZ, XROT, YROT, WOCTEXT, EQUIPTEXT, EQUIPX, EQUIPY, EQUIPZ*/
|
||||
GUNFILERECORD(knife, 0, GUNSTATS(knife), TEXT(LGUN, 0x83), TEXT(LGUN, 0x46), 200.0, 39.0, 1327.0, 0.0, 0.0, TEXT(LGUN, 0x40), TEXT(LGUN, 0xA8), 38.0, 118.0, 800.0)
|
||||
GUNFILERECORD(knife, 0, GUNSTATS(knife), TEXT(LGUN, GUN_STR_83), TEXT(LGUN, GUN_STR_46), 200.0, 39.0, 1327.0, 0.0, 0.0, TEXT(LGUN, GUN_STR_40), TEXT(LGUN, GUN_STR_A8), 38.0, 118.0, 800.0)
|
||||
@@ -2,7 +2,7 @@ WeaponStats knife_stats = {
|
||||
1.0, //MuzzleFlashExtension
|
||||
14.0, -24.799999, -34.0, //PosXYZ
|
||||
3.0, 3.0, 8.5, //PlayXYZ
|
||||
0, 0, //ammotype magsize
|
||||
AMMO_NONE, 0, //ammotype magsize
|
||||
0xFF, 0x06, //AutomaticFiringRate SingleFiringRate
|
||||
1, //ObjectsShootThrough
|
||||
0, 0, //SoundTriggerRate Sound
|
||||
@@ -23,5 +23,8 @@ WeaponStats knife_stats = {
|
||||
2.0, //field_60
|
||||
4.0, //field_64
|
||||
0.0, //ForceOfImpact
|
||||
0x160D91 //BitFlags
|
||||
WEAPONSTATBITFLAG_00000001 |
|
||||
WEAPONSTATBITFLAG_CLICKY | WEAPONSTATBITFLAG_00000080 |
|
||||
WEAPONSTATBITFLAG_ONLY_1_HANDED | WEAPONSTATBITFLAG_MIRROR_DUAL | WEAPONSTATBITFLAG_SHOW_FIRST_PERSON |
|
||||
WEAPONSTATBITFLAG_USE_HOLD_TIME | WEAPONSTATBITFLAG_HAS_AMMO | WEAPONSTATBITFLAG_CAN_DUAL_WIELD //BitFlags
|
||||
};
|
||||
@@ -93,12 +93,12 @@ 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_oat_all_p_seg, bg_oat_all_p
|
||||
bg_file_seg bg_lip_all_p_seg, bg_lip_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_len_all_p_seg, bg_len_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
|
||||
|
||||
|
||||
@@ -1,132 +1,85 @@
|
||||
#include <bondtypes.h>
|
||||
#define VERTEXGROUPCOUNT0 = 12
|
||||
#define COLLISIONVERTEXCOUNT0 = 12
|
||||
|
||||
ModelFileTextures proptextures[2] =
|
||||
#define TEXTURECOUNT 2
|
||||
#define VERTEXGROUPCOUNT0 12
|
||||
#define COLLISIONVERTEXCOUNT0 12
|
||||
//base address is 0x05000000
|
||||
ModelFileTextures proptextures[TEXTURECOUNT] =
|
||||
{
|
||||
{0x1D, 32, 32, 0x06, 0x0, 0x02, 0x0, 0x0},
|
||||
{0x1F, 32, 32, 0x06, 0x0, 0x02, 0x0, 0x0}
|
||||
{_image29_ID, 32, 32, 0x06, 0x0, 0x02, 0x0, 0x0},
|
||||
{_image31_ID, 32, 32, 0x06, 0x0, 0x02, 0x0, 0x0}
|
||||
};
|
||||
// {opcode, data, parent, next, prev, child}
|
||||
ModelNode ModelNode_0x018 = { MODELNODE_OPCODE_GROUP, GroupRecord_0x060, 0x0, 0x0, 0x0, ModelNode_0x030};
|
||||
ModelNode ModelNode_0x030 = { MODELNODE_OPCODE_BBOX, BoundingBoxRecord_0x07c, ModelNode_0x018, 0x0, 0x0, ModelNode_0x048};
|
||||
ModelNode ModelNode_0x048 = { MODELNODE_OPCODE_DLCOLLISION, DLCollisionRecord_0x230, ModelNode_0x030, 0x0, 0x0, 0x0};
|
||||
|
||||
ModelRoData_GroupRecord GroupRecord_0x060 =
|
||||
{
|
||||
{962.5, 2015.0167, -36.117146}, //origin {x,y,z}
|
||||
0x0, //JointID
|
||||
0x0, //MatrixID0
|
||||
0xFFFF, //MatrixID1
|
||||
0xFFFF, //MatrixID2
|
||||
0x0, //ChildGroup
|
||||
304.6402 //BoundingVolumeRadius
|
||||
};
|
||||
|
||||
ModelNode ModelNode_05000018 = {0x2, ModelNode_GroupRecord_05000060, 0x0, 0x0, 0x0, ModelNode_05000030};
|
||||
ModelNode ModelNode_05000030 = {0xA, ModelNode_BoundingBoxRecord_0500007c, ModelNode_05000018, 0x0, 0x0, ModelNode_05000048};
|
||||
ModelNode ModelNode_05000048 = {0x18, ModelNode_DisplayList_CollisionRecord_05000230, ModelNode_05000030, 0x0, 0x0, 0x0};
|
||||
|
||||
ModelRoData_GroupRecord ModelNode_GroupRecord_05000060 =
|
||||
{
|
||||
{962.5, 2015.0167, -36.117146},
|
||||
0x0,
|
||||
0x0,
|
||||
0xFFFF,
|
||||
0xFFFF,
|
||||
0x0,
|
||||
304.6402
|
||||
};
|
||||
|
||||
ModelRoData_BoundingBoxRecord ModelNode_BoundingBoxRecord_0500007c =
|
||||
ModelRoData_BoundingBoxRecord BoundingBoxRecord_0x07c =
|
||||
{
|
||||
0x1,
|
||||
{-146.0, 146.0, -265.0, 265.0, -36.0, 36.0}
|
||||
};
|
||||
|
||||
Vertex Vertex_ARRAY_05000098[VERTEXGROUPCOUNT0] =
|
||||
{
|
||||
{
|
||||
{-87, -207, 36}, 0x0, 0xCC, 0x9B, {0xFE, 0xFE, 0xFE, 0xFF}
|
||||
},
|
||||
{
|
||||
{88, -207, 36}, 0x0, 0x346, 0x9B, {0xFE, 0xFE, 0xFE, 0xFF)
|
||||
},
|
||||
{
|
||||
{88, 55, 36}, 0x0, 0x346, 0x37E, {0xFE, 0xFE, 0xFE, 0xFF)
|
||||
},
|
||||
{
|
||||
{-87, 55, 36}, 0x0, 0xCC, 0x37E, {0xFE, 0xFE, 0xFE, 0xFF)
|
||||
},
|
||||
{
|
||||
{146, -265, -36}, 0x0, 0x419, 0x8, {0xFE, 0xFE, 0xFE, 0xFF)
|
||||
},
|
||||
{
|
||||
{146, 143, -36}, 0x0, 0x419, 0x412, {0xFE, 0xFE, 0xFE, 0xFF)
|
||||
},
|
||||
{
|
||||
{-146, -265, -36}, 0x0, -7, 0x8, {0xFE, 0xFE, 0xFE, 0xFF)
|
||||
},
|
||||
{
|
||||
{-146, 143, -36}, 0x0, -7, 0x412, {0xFE, 0xFE, 0xFE, 0xFF)
|
||||
},
|
||||
{
|
||||
{146, 113, 2}, 0x0, 0x800, 0x0, {0xFE, 0xFE, 0xFE, 0xFF)
|
||||
},
|
||||
{
|
||||
{146, 265, 2}, 0x0, 0x800, 0x400, {0xFE, 0xFE, 0xFE, 0xFF)
|
||||
},
|
||||
{
|
||||
{-146, 265, 2}, 0x0, 0x0, 0x400, {0xFE, 0xFE, 0xFE, 0xFF)
|
||||
},
|
||||
{
|
||||
{-146, 113, 2}, 0x0, 0x0, 0x0, {0xFE, 0xFE, 0xFE, 0xFF)
|
||||
},
|
||||
Vertex Vertex_ARRAY_0x098[VERTEXGROUPCOUNT0] =
|
||||
{ //{ { x, y, z}, index, s, t, { r, g, b, a} }
|
||||
{ { -87, -207, 36}, 0x0, 0xCC, 0x9B, {0xFE, 0xFE, 0xFE, 0xFF} },
|
||||
{ { 88, -207, 36}, 0x0, 0x346, 0x9B, {0xFE, 0xFE, 0xFE, 0xFF} },
|
||||
{ { 88, 55, 36}, 0x0, 0x346, 0x37E, {0xFE, 0xFE, 0xFE, 0xFF} },
|
||||
{ { -87, 55, 36}, 0x0, 0xCC, 0x37E, {0xFE, 0xFE, 0xFE, 0xFF} },
|
||||
{ { 146, -265, -36}, 0x0, 0x419, 0x8, {0xFE, 0xFE, 0xFE, 0xFF} },
|
||||
{ { 146, 143, -36}, 0x0, 0x419, 0x412, {0xFE, 0xFE, 0xFE, 0xFF} },
|
||||
{ {-146, -265, -36}, 0x0, -7, 0x8, {0xFE, 0xFE, 0xFE, 0xFF} },
|
||||
{ {-146, 143, -36}, 0x0, -7, 0x412, {0xFE, 0xFE, 0xFE, 0xFF} },
|
||||
{ { 146, 113, 2}, 0x0, 0x800, 0x0, {0xFE, 0xFE, 0xFE, 0xFF} },
|
||||
{ { 146, 265, 2}, 0x0, 0x800, 0x400, {0xFE, 0xFE, 0xFE, 0xFF} },
|
||||
{ {-146, 265, 2}, 0x0, 0x0, 0x400, {0xFE, 0xFE, 0xFE, 0xFF} },
|
||||
{ {-146, 113, 2}, 0x0, 0x0, 0x0, {0xFE, 0xFE, 0xFE, 0xFF} },
|
||||
};
|
||||
|
||||
Vertex Collision_Vertex_ARRAY_05000158[COLLISIONVERTEXCOUNT0] =
|
||||
{
|
||||
{
|
||||
{-87, -207, 36}, 0x0, 0x0, 0x0, {0xFF, 0xFF, 0x0, 0x0)
|
||||
},
|
||||
{
|
||||
{88, -207, 36}, 0x1, 0x0, 0x0, {0xFF, 0xFF, 0x0, 0x0)
|
||||
},
|
||||
{
|
||||
{88, 85, 36}, 0x2, 0x0, 0x0, {0xFF, 0xFF, 0x0, 0x0)
|
||||
},
|
||||
{
|
||||
{-87, 85, 36}, 0x3, 0x0, 0x0, {0xFF, 0xFF, 0x0, 0x0)
|
||||
},
|
||||
{
|
||||
{146, -265, -36}, 0x4, 0x0, 0x0, {0xFF, 0xFF, 0x0, 0x0)
|
||||
},
|
||||
{
|
||||
{146, 143, -36}, 0x5, 0x0, 0x0, {0xFF, 0xFF, 0x0, 0x0)
|
||||
},
|
||||
{
|
||||
{-146, -265, -36}, 0x6, 0x0, 0x0, {0xFF, 0xFF, 0x0, 0x0)
|
||||
},
|
||||
{
|
||||
{-146, 143, -36}, 0x7, 0x0, 0x0, {0xFF, 0xFF, 0x0, 0x0)
|
||||
},
|
||||
{
|
||||
{146, 113, 2}, 0x8, 0x0, 0x0, {0xFF, 0xFF, 0x0, 0x0)
|
||||
},
|
||||
{
|
||||
{146, 265, 2}, 0x9, 0x0, 0x0, {0xFF, 0xFF, 0x0, 0x0)
|
||||
},
|
||||
{
|
||||
{-146, 265, 2}, 0xA, 0x0, 0x0, {0xFF, 0xFF, 0x0, 0x0)
|
||||
},
|
||||
{
|
||||
{-146, 113, 2}, 0xB, 0x0, 0x0, {0xFF, 0xFF, 0x0, 0x0)
|
||||
},
|
||||
Vertex Collision_Vertex_ARRAY_0x158[COLLISIONVERTEXCOUNT0] =
|
||||
{ //{ { x, y, z}, index, s, t, { r, g, b, a} }
|
||||
{ { -87, -207, 36}, 0x0, 0x0, 0x0, {0xFF, 0xFF, 0x0, 0x0} },
|
||||
{ { 88, -207, 36}, 0x1, 0x0, 0x0, {0xFF, 0xFF, 0x0, 0x0} },
|
||||
{ { 88, 85, 36}, 0x2, 0x0, 0x0, {0xFF, 0xFF, 0x0, 0x0} },
|
||||
{ { -87, 85, 36}, 0x3, 0x0, 0x0, {0xFF, 0xFF, 0x0, 0x0} },
|
||||
{ { 146, -265, -36}, 0x4, 0x0, 0x0, {0xFF, 0xFF, 0x0, 0x0} },
|
||||
{ { 146, 143, -36}, 0x5, 0x0, 0x0, {0xFF, 0xFF, 0x0, 0x0} },
|
||||
{ {-146, -265, -36}, 0x6, 0x0, 0x0, {0xFF, 0xFF, 0x0, 0x0} },
|
||||
{ {-146, 143, -36}, 0x7, 0x0, 0x0, {0xFF, 0xFF, 0x0, 0x0} },
|
||||
{ { 146, 113, 2}, 0x8, 0x0, 0x0, {0xFF, 0xFF, 0x0, 0x0} },
|
||||
{ { 146, 265, 2}, 0x9, 0x0, 0x0, {0xFF, 0xFF, 0x0, 0x0} },
|
||||
{ {-146, 265, 2}, 0xA, 0x0, 0x0, {0xFF, 0xFF, 0x0, 0x0} },
|
||||
{ {-146, 113, 2}, 0xB, 0x0, 0x0, {0xFF, 0xFF, 0x0, 0x0} },
|
||||
};
|
||||
|
||||
s16 POINT_USAGE_ARRAY_05000218[VERTEXGROUPCOUNT0] =
|
||||
s16 POINT_USAGE_ARRAY_0x218[VERTEXGROUPCOUNT0] =
|
||||
{
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
};
|
||||
|
||||
ModelRoData_DisplayList_CollisionRecord ModelNode_DisplayList_CollisionRecord_05000230 =
|
||||
ModelRoData_DisplayList_CollisionRecord DLCollisionRecord_0x230 =
|
||||
{
|
||||
GFX_ARRAY_PRIMARY_05000250,
|
||||
GFX_ARRAY_SECONDARY_050002B0,
|
||||
Vertex_ARRAY_05000098, VERTEXGROUPCOUNT0,
|
||||
COLLISIONVERTEXCOUNT0, Collision_Vertex_ARRAY_05000158,
|
||||
POINT_USAGE_ARRAY_05000218,
|
||||
GFX_ARRAY_PRIMARY_0x250,
|
||||
GFX_ARRAY_SECONDARY_0x2B0,
|
||||
Vertex_ARRAY_0x098, VERTEXGROUPCOUNT0,
|
||||
COLLISIONVERTEXCOUNT0, Collision_Vertex_ARRAY_0x158,
|
||||
POINT_USAGE_ARRAY_0x218,
|
||||
0x4, 0x0, 0x0, 0x0
|
||||
};
|
||||
|
||||
Gfx GFX_ARRAY_PRIMARY_05000250 =
|
||||
Gfx GFX_ARRAY_PRIMARY_0x250 =
|
||||
{
|
||||
gsDPSetTextureLOD(G_TL_LOD),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 6, 0, true),
|
||||
@@ -138,7 +91,7 @@ Gfx GFX_ARRAY_PRIMARY_05000250 =
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
Gfx GFX_ARRAY_SECONDARY_050002B0 =
|
||||
Gfx GFX_ARRAY_SECONDARY_0x2B0 =
|
||||
{
|
||||
gsDPLoadSync(),
|
||||
gsDPSetTextureLOD(G_TL_LOD),
|
||||
|
||||
@@ -0,0 +1,312 @@
|
||||
#include <bondtypes.h>
|
||||
#define TEXTURECOUNT 6
|
||||
|
||||
#define VERTEXGROUPCOUNT0 16
|
||||
#define COLLISIONVERTEXCOUNT0 13
|
||||
|
||||
#define VERTEXGROUPCOUNT1 4
|
||||
#define COLLISIONVERTEXCOUNT1 4
|
||||
|
||||
#define VERTEXGROUPCOUNT2 24
|
||||
#define COLLISIONVERTEXCOUNT2 12
|
||||
|
||||
ModelNode* ModelNode1 = ModelNodeGroup_1;
|
||||
ModelNode* ModelNode2 = ModelNodeDL_Lens;
|
||||
ModelNode* ModelNode3 = ModelNodeBB_Lens;
|
||||
ModelNode* ModelNode4 = ModelNodeSwitch_0;
|
||||
|
||||
ModelFileTextures proptextures[TEXTURECOUNT] =
|
||||
{
|
||||
{_image247_ID, 0x20, 0x40, 0x07, 0x00, 0x01, 0x00, 0x0000},
|
||||
{_image265_ID, 0x40, 0x20, 0x07, 0x00, 0x01, 0x00, 0x0000},
|
||||
{_image511_ID, 0x80, 0x20, 0x07, 0x00, 0x00, 0x00, 0x0000},
|
||||
{_image856_ID, 0x40, 0x40, 0x07, 0x00, 0x00, 0x00, 0x0000},
|
||||
{IMAGE_GLASS3, 0x36, 0x36, 0x03, 0x00, 0x01, 0x02, 0x0200},
|
||||
{_image1514_ID, 0x01, 0x01, 0x01, 0x00, 0x02, 0x00, 0x0000},
|
||||
};
|
||||
// { opcode, data, parent, next, prev, child}
|
||||
ModelNode ModelNodeGroup_0 = { MODELNODE_OPCODE_GROUP, GroupRecord_0x118, 0x0, 0x0, 0x0, ModelNodeBB_0};
|
||||
ModelNode ModelNodeBB_0 = { MODELNODE_OPCODE_BBOX, BBoxRecord_0x134, ModelNodeGroup_0, 0x0, 0x0, ModelNodeDL_Mount};
|
||||
ModelNode ModelNodeDL_Mount = { MODELNODE_OPCODE_DLCOLLISION, DL_Mount, ModelNodeBB_0, ModelNodeGroup_1, 0x0, 0x0};
|
||||
ModelNode ModelNodeGroup_1 = { MODELNODE_OPCODE_GROUP, GroupRecord_0x360, ModelNodeBB_0, 0x0, ModelNodeDL_Mount, ModelNodeSwitch_0};
|
||||
ModelNode ModelNodeSwitch_0 = { MODELNODE_OPCODE_SWITCH, Switch_0x37c, ModelNodeGroup_1, ModelNodeDL_Housing, 0x0, ModelNodeBB_Lens};
|
||||
ModelNode ModelNodeBB_Lens = { MODELNODE_OPCODE_BBOX, BBox_Lens, ModelNodeSwitch_0, 0x0, 0x0, ModelNodeDL_Lens};
|
||||
ModelNode ModelNodeDL_Lens = { MODELNODE_OPCODE_DLCOLLISION, DL_Lens, ModelNodeBB_Lens, 0x0, 0x0, 0x0};
|
||||
ModelNode ModelNodeDL_Housing = { MODELNODE_OPCODE_DLCOLLISION, DL_Housing, ModelNodeGroup_1, 0x0, ModelNodeSwitch_0, 0x0};
|
||||
|
||||
ModelRoData_GroupRecord GroupRecord_0x118 =
|
||||
{
|
||||
{0.005449, -773.8468, -200.64182},
|
||||
0x0,
|
||||
0x0,
|
||||
0xFFFF,
|
||||
0xFFFF,
|
||||
ModelNodeGroup_1,
|
||||
291.0673
|
||||
};
|
||||
|
||||
ModelRoData_BoundingBoxRecord BBoxRecord_0x134 =
|
||||
{
|
||||
0x1,
|
||||
{-482.0, 482.0, -119.0, 552.0, -247.0, 514.0}
|
||||
};
|
||||
|
||||
Vertex Vertex_ARRAY_0x150[VERTEXGROUPCOUNT0] =
|
||||
{
|
||||
{{ 98, -119, -247}, 0x0000, 0x0002, 0x01f2, {0xc6, 0xc6, 0xc6, 0xff} },
|
||||
{{ 0, 16, 84}, 0x0000, 0x03f6, 0x038b, {0x72, 0x72, 0x72, 0xff} },
|
||||
{{ -98, -119, -247}, 0x0000, 0x0006, 0x07e3, {0x72, 0x72, 0x72, 0xff} },
|
||||
{{ 0, 16, 84}, 0x0000, 0x1000, 0x0000, {0xff, 0xff, 0xff, 0xff} },
|
||||
{{ -98, 16, -247}, 0x0000, 0x0000, 0x0000, {0xc3, 0xc3, 0xc3, 0xff} },
|
||||
{{ -98, -119, -247}, 0x0000, 0x0000, 0xf9c0, {0xc0, 0xc0, 0xc0, 0xff} },
|
||||
{{ 98, -119, -247}, 0x0000, 0x0000, 0x0640, {0xc6, 0xc6, 0xc6, 0xff} },
|
||||
{{ 98, 16, -247}, 0x0000, 0x0000, 0x0000, {0xff, 0xff, 0xff, 0xff} },
|
||||
{{ 0, 16, 59}, 0x0000, 0x0000, 0x0000, {0xff, 0xff, 0xff, 0xff} },
|
||||
{{ 0, 16, 10}, 0x0000, 0x0800, 0x0000, {0xfe, 0xfe, 0xfe, 0xff} },
|
||||
{{ 0, 77, 10}, 0x0000, 0x0800, 0x0a00, {0xff, 0xff, 0xff, 0xff} },
|
||||
{{ 0, 77, 59}, 0x0000, 0x0000, 0x0a00, {0xff, 0xff, 0xff, 0xff} },
|
||||
{{ -25, 16, 35}, 0x0000, 0x0000, 0x0000, {0xff, 0xff, 0xff, 0xff} },
|
||||
{{ 24, 16, 35}, 0x0000, 0x0800, 0x0000, {0xff, 0xff, 0xff, 0xff} },
|
||||
{{ 24, 77, 35}, 0x0000, 0x0800, 0x0a00, {0xff, 0xff, 0xff, 0xff} },
|
||||
{{ -25, 77, 35}, 0x0000, 0x0000, 0x0a00, {0xff, 0xff, 0xff, 0xff} }
|
||||
};
|
||||
|
||||
Vertex Collision_Vertex_ARRAY_0x250[COLLISIONVERTEXCOUNT0] =
|
||||
{
|
||||
{{ 98, -119, -247}, 0x0000, 0x0000, 0x0000, {0xff, 0xff, 0x00, 0x00} },
|
||||
{{ 0, 16, 84}, 0x0001, 0x0000, 0x0000, {0xff, 0xff, 0x00, 0x00} },
|
||||
{{ -98, -119, -247}, 0x0002, 0x0000, 0x0000, {0xff, 0xff, 0x00, 0x00} },
|
||||
{{ -98, 16, -247}, 0x0004, 0x0000, 0x0000, {0xff, 0xff, 0x00, 0x00} },
|
||||
{{ 98, 16, -247}, 0x0007, 0x0000, 0x0000, {0xff, 0xff, 0x00, 0x00} },
|
||||
{{ 0, 16, 59}, 0x0008, 0x0000, 0x0000, {0xff, 0xff, 0x00, 0x00} },
|
||||
{{ 0, 16, 10}, 0x0009, 0x0000, 0x0000, {0xff, 0xff, 0x00, 0x00} },
|
||||
{{ 0, 77, 10}, 0x000a, 0x0000, 0x0000, {0xff, 0xff, 0x00, 0x00} },
|
||||
{{ 0, 77, 59}, 0x000b, 0x0000, 0x0000, {0xff, 0xff, 0x00, 0x00} },
|
||||
{{ -25, 16, 35}, 0x000c, 0x0000, 0x0000, {0xff, 0xff, 0x00, 0x00} },
|
||||
{{ 24, 16, 35}, 0x000d, 0x0000, 0x0000, {0xff, 0xff, 0x00, 0x00} },
|
||||
{{ 24, 77, 35}, 0x000e, 0x0000, 0x0000, {0xff, 0xff, 0x00, 0x00} },
|
||||
{{ -25, 77, 35}, 0x000f, 0x0000, 0x0000, {0xff, 0xff, 0x00, 0x00} }
|
||||
};
|
||||
|
||||
s16 POINT_USAGE_ARRAY_0x320[] =
|
||||
{
|
||||
0x6, 0x3, 0x5, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
};
|
||||
|
||||
ModelRoData_DisplayList_CollisionRecord DL_Mount =
|
||||
{
|
||||
GFX_ARRAY_PRIMARY_0x6d8,
|
||||
GFX_ARRAY_SECONDARY_0x738,
|
||||
Vertex_ARRAY_0x150,
|
||||
VERTEXGROUPCOUNT0,
|
||||
COLLISIONVERTEXCOUNT0,
|
||||
Collision_Vertex_ARRAY,
|
||||
POINT_USAGE_ARRAY_0x320,
|
||||
4, 0, 0, 0
|
||||
};
|
||||
|
||||
|
||||
ModelRoData_GroupRecord GroupRecord_0x360 =
|
||||
{
|
||||
{0.0, 70.36643, 31.983679},
|
||||
1,
|
||||
1,
|
||||
0xFFFF,
|
||||
0xFFFF,
|
||||
NULL,
|
||||
481.60675
|
||||
};
|
||||
|
||||
ModelRoData_SwitchRecord Switch_0x37c =
|
||||
{
|
||||
ModelNodeBB_Lens,
|
||||
0
|
||||
};
|
||||
|
||||
ModelRoData_BoundingBoxRecord BBox_Lens =
|
||||
{
|
||||
0x2,
|
||||
{-123.0, 122.0, 6.0, 202.0, 199.0, 285.0}
|
||||
};
|
||||
|
||||
Vertex Vertex_ARRAY_0x3a0[VERTEXGROUPCOUNT1] =
|
||||
{
|
||||
{{ 122, 202, 285}, 0x0000, 0x0000, 0x0000, {0x47, 0x40, 0x53, 0xff} },
|
||||
{{ -123, 202, 285}, 0x0000, 0x0000, 0x0000, {0xb9, 0x40, 0x53, 0xff} },
|
||||
{{ -123, 6, 199}, 0x0000, 0x0000, 0x0000, {0xb9, 0xc0, 0x53, 0xff} },
|
||||
{{ 122, 6, 199}, 0x0000, 0x0000, 0x0000, {0x47, 0xc0, 0x53, 0xff} },
|
||||
};
|
||||
|
||||
Vertex Collision_Vertex_ARRAY_0x3e0[COLLISIONVERTEXCOUNT1] =
|
||||
{
|
||||
{{ 122, 202, 285}, 0x0000, 0x0000, 0x0000, {0xff, 0xff, 0x00, 0x00} },
|
||||
{{ -123, 202, 285}, 0x0001, 0x0000, 0x0000, {0xff, 0xff, 0x00, 0x00} },
|
||||
{{ -123, 6, 199}, 0x0002, 0x0000, 0x0000, {0xff, 0xff, 0x00, 0x00} },
|
||||
{{ 122, 6, 199}, 0x0003, 0x0000, 0x0000, {0xff, 0xff, 0x00, 0x00} },
|
||||
};
|
||||
|
||||
s16 POINT_USAGE_ARRAY_0x420[VERTEXGROUPCOUNT1] =
|
||||
{
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
};
|
||||
|
||||
ModelRoData_DisplayList_CollisionRecord DL_Lens =
|
||||
{
|
||||
GFX_ARRAY_PRIMARY_0x790,
|
||||
GFX_ARRAY_SECONDARY_0x7a8,
|
||||
Vertex_ARRAY_0x3a0,
|
||||
VERTEXGROUPCOUNT1,
|
||||
COLLISIONVERTEXCOUNT1,
|
||||
Collision_Vertex_ARRAY,
|
||||
POINT_USAGE_ARRAY_0x420,
|
||||
4, 0, 0, 0
|
||||
};
|
||||
|
||||
Vertex Vertex_ARRAY_0x448[VERTEXGROUPCOUNT2] =
|
||||
{
|
||||
{{ 122, 6, -205}, 0x0000, 0x1000, 0x07fa, {0x72, 0x72, 0x72, 0xff} },
|
||||
{{ -123, 6, -205}, 0x0000, 0x1000, 0x0000, {0x72, 0x72, 0x72, 0xff} },
|
||||
{{ -123, 202, -205}, 0x0000, 0x081c, 0x0000, {0x72, 0x72, 0x72, 0xff} },
|
||||
{{ 122, 202, -205}, 0x0000, 0x081c, 0x07fa, {0x72, 0x72, 0x72, 0xff} },
|
||||
{{ -123, 6, 187}, 0x0000, 0xffa6, 0x0099, {0xe8, 0xe8, 0xe8, 0xff} },
|
||||
{{ 122, 6, 187}, 0x0000, 0x0895, 0x0081, {0xff, 0xff, 0xff, 0xff} },
|
||||
{{ 122, 202, 187}, 0x0000, 0x0895, 0x0780, {0xff, 0xff, 0xff, 0xff} },
|
||||
{{ -123, 202, 187}, 0x0000, 0xffa6, 0x0799, {0xf0, 0xf0, 0xf0, 0xff} },
|
||||
{{ 122, 6, 236}, 0x0000, 0x0000, 0x06c4, {0xff, 0xff, 0xff, 0xff} },
|
||||
{{ 122, 6, -205}, 0x0000, 0x0000, 0x0000, {0xe2, 0xe2, 0xe2, 0xff} },
|
||||
{{ 122, 202, -205}, 0x0000, 0x0400, 0x0000, {0xe6, 0xe6, 0xe6, 0xff} },
|
||||
{{ 122, 202, 419}, 0x0000, 0x0400, 0x0996, {0xff, 0xff, 0xff, 0xff} },
|
||||
{{ -123, 202, 419}, 0x0000, 0x0400, 0x0990, {0x72, 0x72, 0x72, 0xff} },
|
||||
{{ -123, 202, -205}, 0x0000, 0x0400, 0x0000, {0x72, 0x72, 0x72, 0xff} },
|
||||
{{ -123, 6, -205}, 0x0000, 0x0000, 0x0000, {0x72, 0x72, 0x72, 0xff} },
|
||||
{{ -123, 6, 236}, 0x0000, 0x0000, 0x06c0, {0x72, 0x72, 0x72, 0xff} },
|
||||
{{ 122, 6, -205}, 0x0000, 0x1000, 0x07fa, {0x72, 0x72, 0x72, 0xff} },
|
||||
{{ 122, 6, 236}, 0x0000, 0x0000, 0x07fa, {0x72, 0x72, 0x72, 0xff} },
|
||||
{{ -123, 6, 236}, 0x0000, 0x0000, 0x0000, {0x72, 0x72, 0x72, 0xff} },
|
||||
{{ -123, 6, -205}, 0x0000, 0x1000, 0x0000, {0x72, 0x72, 0x72, 0xff} },
|
||||
{{ 122, 202, 419}, 0x0000, 0x0000, 0x0000, {0x36, 0x36, 0x36, 0xff} },
|
||||
{{ -123, 202, 419}, 0x0000, 0x0000, 0x0000, {0x36, 0x36, 0x36, 0xff} },
|
||||
{{ -123, 202, -205}, 0x0000, 0x0000, 0x0000, {0x36, 0x36, 0x36, 0xff} },
|
||||
{{ 122, 202, -205}, 0x0000, 0x0000, 0x0000, {0x36, 0x36, 0x36, 0xff} }
|
||||
};
|
||||
Vertex Collision_Vertex_ARRAY_0x5c8[COLLISIONVERTEXCOUNT2] =
|
||||
{
|
||||
{{ 122, 6, -205}, 0x0000, 0x0000, 0x0000, {0xff, 0xff, 0x00, 0x00} },
|
||||
{{ -123, 6, -205}, 0x0001, 0x0000, 0x0000, {0xff, 0xff, 0x00, 0x00} },
|
||||
{{ -123, 202, -205}, 0x0002, 0x0000, 0x0000, {0xff, 0xff, 0x00, 0x00} },
|
||||
{{ 122, 202, -205}, 0x0003, 0x0000, 0x0000, {0xff, 0xff, 0x00, 0x00} },
|
||||
{{ -123, 6, 187}, 0x0004, 0x0000, 0x0000, {0xff, 0xff, 0x00, 0x00} },
|
||||
{{ 122, 6, 187}, 0x0005, 0x0000, 0x0000, {0xff, 0xff, 0x00, 0x00} },
|
||||
{{ 122, 202, 187}, 0x0006, 0x0000, 0x0000, {0xff, 0xff, 0x00, 0x00} },
|
||||
{{ -123, 202, 187}, 0x0007, 0x0000, 0x0000, {0xff, 0xff, 0x00, 0x00} },
|
||||
{{ 122, 6, 236}, 0x0008, 0x0000, 0x0000, {0xff, 0xff, 0x00, 0x00} },
|
||||
{{ 122, 202, 419}, 0x000b, 0x0000, 0x0000, {0xff, 0xff, 0x00, 0x00} },
|
||||
{{ -123, 202, 419}, 0x000c, 0x0000, 0x0000, {0xff, 0xff, 0x00, 0x00} },
|
||||
{{ -123, 6, 236}, 0x000f, 0x0000, 0x0000, {0xff, 0xff, 0x00, 0x00} }
|
||||
};
|
||||
|
||||
s16 POINT_USAGE_ARRAY_0x688[VERTEXGROUPCOUNT2] =
|
||||
{
|
||||
0x9, 0xE, 0xD, 0xA,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0x11, 0x10, 0x17, 0x14,
|
||||
0x15, 0x16, 0x13, 0x12,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF
|
||||
};
|
||||
|
||||
ModelRoData_DisplayList_CollisionRecord DL_Housing =
|
||||
{
|
||||
GFX_ARRAY_PRIMARY_0x810,
|
||||
NULL,
|
||||
Vertex_ARRAY_0x448,
|
||||
VERTEXGROUPCOUNT2,
|
||||
COLLISIONVERTEXCOUNT2,
|
||||
Collision_Vertex_ARRAY,
|
||||
POINT_USAGE_ARRAY_0x688,
|
||||
4, 0, 0, 0
|
||||
};
|
||||
|
||||
Gfx GFX_ARRAY_PRIMARY_0x6d8[] =
|
||||
{
|
||||
gsDPPipeSync(),
|
||||
gsDPSetTextureLOD(G_TL_LOD),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 6, G_TX_RENDERTILE, G_ON),
|
||||
gsDPNoOpTag(0x000000F7),
|
||||
gsDPSetTextureDetail(G_TD_CLAMP),
|
||||
gsDPSetTextureFilter(G_TF_BILERP),
|
||||
gsSPMatrix(0x03000000, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW),
|
||||
gsSPVertex(0x04000000, 8, 0),
|
||||
gsSP1Triangle(0, 1, 2, 0),
|
||||
gsDPNoOpTag(0x000001FF),
|
||||
0xB1000035, 0x00007643,
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
Gfx GFX_ARRAY_SECONDARY_0x738[] =
|
||||
{
|
||||
gsDPPipeSync(),
|
||||
gsDPSetTextureLOD(G_TL_LOD),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 6, G_TX_RENDERTILE, G_ON),
|
||||
gsDPNoOpTag(0x00000109),
|
||||
gsDPSetTextureDetail(G_TD_CLAMP),
|
||||
gsDPSetTextureFilter(G_TF_BILERP),
|
||||
gsSPClearGeometryMode(G_CULL_BOTH),
|
||||
gsSPMatrix(0x03000000, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW),
|
||||
gsSPVertex(0x04000080, 8, 0),
|
||||
0xB1007632, 0x64542010,
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
Gfx GFX_ARRAY_PRIMARY_0x790[] =
|
||||
{
|
||||
gsDPPipeSync(),
|
||||
gsDPSetTextureFilter(G_TF_BILERP),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
Gfx GFX_ARRAY_SECONDARY_0x7a8[] =
|
||||
{
|
||||
gsDPPipeSync(),
|
||||
gsDPSetTextureLOD(G_TL_LOD),
|
||||
gsSPTexture(3456, 3456, 2, G_TX_RENDERTILE, G_ON),
|
||||
gsDPNoOpTag(0x0000028E),
|
||||
gsDPSetTextureDetail(G_TD_CLAMP),
|
||||
gsDPSetTextureFilter(G_TF_BILERP),
|
||||
gsSPSetGeometryMode(G_LIGHTING | G_TEXTURE_GEN),
|
||||
gsSPClearGeometryMode(G_CULL_BOTH),
|
||||
gsSPMatrix(0x03000040, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW),
|
||||
gsSPVertex(0x04000000, 4, 0),
|
||||
0xB1000032, 0x00002010,
|
||||
gsSPClearGeometryMode(G_LIGHTING | G_TEXTURE_GEN),
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
|
||||
|
||||
Gfx GFX_ARRAY_PRIMARY_0x810[] =
|
||||
{
|
||||
gsDPPipeSync(),
|
||||
gsDPSetTextureLOD(G_TL_LOD),
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 6, G_TX_RENDERTILE, G_ON),
|
||||
gsDPNoOpTag(0x000001FF),
|
||||
gsDPSetTextureDetail(G_TD_CLAMP),
|
||||
gsDPSetTextureFilter(G_TF_BILERP),
|
||||
gsSPMatrix(0x03000040, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW),
|
||||
gsSPVertex(0x04000000, 16, 0),
|
||||
0xB1000032, 0x00002010,
|
||||
gsDPNoOpTag(0x00000358),
|
||||
0xB1000076, 0x00006454,
|
||||
gsDPNoOpTag(0x000000F7),
|
||||
gsSPClearGeometryMode(G_CULL_BOTH),
|
||||
0xB100FEBA, 0xECDCA898,
|
||||
gsDPNoOpTag(0x000001FF),
|
||||
gsSPVertex(0x04000100, 8, 0),
|
||||
0xB1000032, 0x00002010,
|
||||
gsSPTexture(0xFFFF, 0xFFFF, 1, G_TX_RENDERTILE, G_ON),
|
||||
gsDPNoOpTag(0x000005EA),
|
||||
0xB1000076, 0x00006454,
|
||||
gsSPEndDisplayList(),
|
||||
};
|
||||
@@ -0,0 +1 @@
|
||||
PROPFILERECORD(cctv, 0.1)
|
||||
@@ -23,7 +23,7 @@ ItemModelFileRecord PitemZ_entries[] = {
|
||||
PROPFILERECORD(card_box4_lg, 0.1)
|
||||
PROPFILERECORD(card_box5_lg, 0.1)
|
||||
PROPFILERECORD(card_box6_lg, 0.1)
|
||||
PROPFILERECORD(cctv, 0.1)
|
||||
#include <assets/obseg/prop/cctv/propFileRecord.inc.c>
|
||||
PROPFILERECORD(console1, 0.1)
|
||||
PROPFILERECORD(console2, 0.1)
|
||||
PROPFILERECORD(console3, 0.1)
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
#include "ultra64.h"
|
||||
#include "bondtypes.h"
|
||||
#include "bondconstants.h"
|
||||
#include <bondaicommands.h>
|
||||
|
||||
// forward declarations
|
||||
@@ -2336,7 +2337,7 @@ u8 chrAI_7[] = {
|
||||
IFMyAngleToBondLessThanDeg(90.000000,lbl30)
|
||||
IFMyAngleToBondGreaterThanDeg(270.000000,lbl30)
|
||||
//USING HUD MESSAGE Stringy = 0, ai->txt = 2057
|
||||
TextPrintTop(TEXT(2,9))
|
||||
TextPrintTop(TEXT(LARCH,9))
|
||||
LookSurprised()
|
||||
GotoNext(lbl10)
|
||||
|
||||
@@ -2345,13 +2346,13 @@ u8 chrAI_7[] = {
|
||||
IFObjectiveBitfieldHas(0x800,lbl42)
|
||||
IFChrDoesNotExist(1,lbl42)
|
||||
//USING HUD MESSAGE Stringy = 0, ai->txt = 2082
|
||||
TextPrintTop(TEXT(2,34))
|
||||
TextPrintTop(TEXT(LARCH,34))
|
||||
GotoNext(lbl43)
|
||||
|
||||
|
||||
Label(lbl42)
|
||||
//USING HUD MESSAGE Stringy = 0, ai->txt = 2058
|
||||
TextPrintTop(TEXT(2,10))
|
||||
TextPrintTop(TEXT(LARCH,10))
|
||||
|
||||
Label(lbl43)
|
||||
RaiseArms()
|
||||
@@ -2370,7 +2371,7 @@ u8 chrAI_7[] = {
|
||||
Label(lbl27)
|
||||
UnsetObjectiveBitfield(0x400)
|
||||
//USING HUD MESSAGE Stringy = 0, ai->txt = 2059
|
||||
TextPrintTop(TEXT(2,11))
|
||||
TextPrintTop(TEXT(LARCH,11))
|
||||
SetReturnAiList(1032)
|
||||
SetNewRandom()
|
||||
IFRandomGreaterThan(128,lbl26)
|
||||
@@ -2389,7 +2390,7 @@ u8 chrAI_7[] = {
|
||||
|
||||
Label(lbl48)
|
||||
//USING HUD MESSAGE Stringy = 0, ai->txt = 2060
|
||||
TextPrintTop(TEXT(2,12))
|
||||
TextPrintTop(TEXT(LARCH,12))
|
||||
|
||||
YIELD_FOREVER(lbl12)
|
||||
|
||||
@@ -2476,7 +2477,7 @@ u8 chrAI_8[] = {
|
||||
Label(lbl5)
|
||||
PRINT("saw bond\n")
|
||||
//USING HUD MESSAGE Stringy = 0, ai->txt = 2056
|
||||
TextPrintTop(TEXT(2,8))
|
||||
TextPrintTop(TEXT(LARCH,8))
|
||||
RaiseArms()
|
||||
SetObjectiveBitfield(0x100)
|
||||
SetMyFlags2(0x80)
|
||||
|
||||
+2406
-23
File diff suppressed because it is too large.
Load diff
+224
-224
@@ -1,227 +1,227 @@
|
||||
|
||||
char *LgunE[] = {
|
||||
" D5K\n",
|
||||
" Issue\n",
|
||||
" Mine\n",
|
||||
" PP7\n",
|
||||
" DD44\n",
|
||||
" Gun\n",
|
||||
" Knife\n",
|
||||
" Mine\n",
|
||||
" KF7\n",
|
||||
" Mine\n",
|
||||
" Rifle\n",
|
||||
" Rocket\n",
|
||||
" Shotgun\n",
|
||||
"(Proximity)\n",
|
||||
"(Remote)\n",
|
||||
"(Timed)\n",
|
||||
"(silenced)\n",
|
||||
"-\n",
|
||||
"Assault\n",
|
||||
"Attract\n",
|
||||
"Audio Tape\n",
|
||||
"Automatic Shotgun\n",
|
||||
"Automatic\n",
|
||||
"Blackbox\n",
|
||||
"Blueprints\n",
|
||||
"Bolt Key\n",
|
||||
"Bomb Case\n",
|
||||
"Bomb Defuser\n",
|
||||
"Briefcase\n",
|
||||
"Bug Detector\n",
|
||||
"Bug\n",
|
||||
"Bungee\n",
|
||||
"Camera\n",
|
||||
"Circuit Board\n",
|
||||
"Clipboard\n",
|
||||
"Communicator\n",
|
||||
"Controller\n",
|
||||
"Cougar Magnum\n",
|
||||
"Cougar\n",
|
||||
"Credit Card\n",
|
||||
"D5K (silenced)\n",
|
||||
"D5K Deutsche\n",
|
||||
"DD44 Dostovei\n",
|
||||
"Dark Glasses\n",
|
||||
"Dat Tape\n",
|
||||
"Datathief\n",
|
||||
"Detonator\n",
|
||||
"Deutsche\n",
|
||||
"Door Decoder\n",
|
||||
"Door Exploder\n",
|
||||
"Dostovei\n",
|
||||
"Guidance Data\n",
|
||||
"Flare Pistol\n",
|
||||
"Gas Keyring\n",
|
||||
"Geiger Counter\n",
|
||||
"Gold Bar\n",
|
||||
"Gold PP7\n",
|
||||
"Golden Gun\n",
|
||||
"GoldenEye Key\n",
|
||||
"Golden\n",
|
||||
"Grenade Launcher\n",
|
||||
"Grenade\n",
|
||||
"Hand Grenade\n",
|
||||
"Heroine\n",
|
||||
"Hunting Knife\n",
|
||||
"Identifier\n",
|
||||
"KF7 Soviet\n",
|
||||
"Key Analyzer Case\n",
|
||||
"Key Analyzer\n",
|
||||
"Keycard\n",
|
||||
"Knife\n",
|
||||
"Laser\n",
|
||||
"Launcher\n",
|
||||
"Lectre\n",
|
||||
"Lock Exploder\n",
|
||||
"Magnet Repel\n",
|
||||
"Magnum\n",
|
||||
"Map\n",
|
||||
"Micro Camera\n",
|
||||
"Microcode\n",
|
||||
"Microfilm\n",
|
||||
"Military Laser\n",
|
||||
"Military\n",
|
||||
"Money\n",
|
||||
"Null\n",
|
||||
"PP7 (silenced)\n",
|
||||
"PP7 Special Issue\n",
|
||||
"PP7 Special\n",
|
||||
"Phantom\n",
|
||||
"Piton Gun\n",
|
||||
"Plans\n",
|
||||
"Plastique\n",
|
||||
"Polarized Glasses\n",
|
||||
"Proximity Mine\n",
|
||||
"RC-P90\n",
|
||||
"Red Dossier\n",
|
||||
"Remote Mine\n",
|
||||
"Rocket Launcher\n",
|
||||
"Safecracker Case\n",
|
||||
"Safecracker\n",
|
||||
"Shotgun\n",
|
||||
"Silver PP7\n",
|
||||
"Sniper Rifle\n",
|
||||
"Sniper\n",
|
||||
"Soviet\n",
|
||||
"Spool Tape\n",
|
||||
"Spy File\n",
|
||||
"Klobb\n",
|
||||
"Staff List\n",
|
||||
"Suit_lf_hand\n",
|
||||
"Tank\n",
|
||||
"Taser\n",
|
||||
"Throwing Knife\n",
|
||||
"Throwing\n",
|
||||
"Timed Mine\n",
|
||||
"Token\n",
|
||||
"US AR33 Assault Rifle\n",
|
||||
"US AR33\n",
|
||||
"Unarmed\n",
|
||||
"Video Tape\n",
|
||||
"Watch Communicator\n",
|
||||
"Watch Geiger Counter\n",
|
||||
"Watch Identifier\n",
|
||||
"Watch Laser\n",
|
||||
"Watch Magnet Attract\n",
|
||||
"Watch Magnet Repel\n",
|
||||
"Watch Magnet\n",
|
||||
"Watch\n",
|
||||
"Weapon Case\n",
|
||||
"Yale Key\n",
|
||||
"ZMG (9mm)\n",
|
||||
"\n",
|
||||
"ar33\n",
|
||||
"audio tape\n",
|
||||
"auto shotgun\n",
|
||||
"blackbox\n",
|
||||
"blueprints\n",
|
||||
"bolt key\n",
|
||||
"bomb case\n",
|
||||
"bomb defuser\n",
|
||||
"briefcase\n",
|
||||
"bug detector\n",
|
||||
"bug\n",
|
||||
"bungee\n",
|
||||
"camera\n",
|
||||
"circuit board\n",
|
||||
"clipboard\n",
|
||||
"cougar magnum\n",
|
||||
"credit card\n",
|
||||
"d5k (silenced)\n",
|
||||
"d5k\n",
|
||||
"dark glasses\n",
|
||||
"dat tape\n",
|
||||
"datathief\n",
|
||||
"dd44\n",
|
||||
"detonator\n",
|
||||
"door decoder\n",
|
||||
"door exploder\n",
|
||||
"guidance data\n",
|
||||
"flare pistol\n",
|
||||
"gas keyring\n",
|
||||
"gold bar\n",
|
||||
"gold pp7\n",
|
||||
"golden gun\n",
|
||||
"goldeneye key\n",
|
||||
"grenade launcher\n",
|
||||
"grenade\n",
|
||||
"heroine\n",
|
||||
"hunting knife\n",
|
||||
"key analyzer\n",
|
||||
"keycard\n",
|
||||
"kf7 soviet\n",
|
||||
"laser\n",
|
||||
"lectre\n",
|
||||
"lock exploder\n",
|
||||
"map\n",
|
||||
"micro camera\n",
|
||||
"microcode\n",
|
||||
"microfilm\n",
|
||||
"money\n",
|
||||
"phantom\n",
|
||||
"piton gun\n",
|
||||
"plans\n",
|
||||
"plastique\n",
|
||||
"polarized glasses\n",
|
||||
"pp7 (silenced)\n",
|
||||
"pp7\n",
|
||||
"proximity mine\n",
|
||||
"rc-p90\n",
|
||||
"red dossier\n",
|
||||
"remote mine\n",
|
||||
"rocket launcher\n",
|
||||
"safecracker\n",
|
||||
"shotgun\n",
|
||||
"silver pp7\n",
|
||||
"sniper rifle\n",
|
||||
"spool tape\n",
|
||||
"spy file\n",
|
||||
"klobb\n",
|
||||
"staff list\n",
|
||||
"tank\n",
|
||||
"taser\n",
|
||||
"throwing knife\n",
|
||||
"timed mine\n",
|
||||
"token\n",
|
||||
"unarmed\n",
|
||||
"video tape\n",
|
||||
"watch communicator\n",
|
||||
"watch geiger counter\n",
|
||||
"watch identifier\n",
|
||||
"watch laser\n",
|
||||
"watch magnet attract\n",
|
||||
"watch magnet repel\n",
|
||||
"weapon case\n",
|
||||
"yale key\n",
|
||||
"zmg (9mm)\n",
|
||||
"Analyzing the GoldenEye key...\n",
|
||||
"You do not have the GoldenEye\n key.\n",
|
||||
"kill count",
|
||||
"died once\n",
|
||||
"died",
|
||||
"times",
|
||||
"suicide count",
|
||||
0
|
||||
" D5K\n", //GUN_STR_00
|
||||
" Issue\n", //GUN_STR_01
|
||||
" Mine\n", //GUN_STR_02
|
||||
" PP7\n", //GUN_STR_03
|
||||
" DD44\n", //GUN_STR_04
|
||||
" Gun\n", //GUN_STR_05
|
||||
" Knife\n", //GUN_STR_06
|
||||
" Mine\n", //GUN_STR_07
|
||||
" KF7\n", //GUN_STR_08
|
||||
" Mine\n", //GUN_STR_09
|
||||
" Rifle\n", //GUN_STR_0A
|
||||
" Rocket\n", //GUN_STR_0B
|
||||
" Shotgun\n", //GUN_STR_0C
|
||||
"(Proximity)\n", //GUN_STR_0D
|
||||
"(Remote)\n", //GUN_STR_0E
|
||||
"(Timed)\n", //GUN_STR_0F
|
||||
"(silenced)\n", //GUN_STR_10
|
||||
"-\n", //GUN_STR_11
|
||||
"Assault\n", //GUN_STR_12
|
||||
"Attract\n", //GUN_STR_13
|
||||
"Audio Tape\n", //GUN_STR_14
|
||||
"Automatic Shotgun\n", //GUN_STR_15
|
||||
"Automatic\n", //GUN_STR_16
|
||||
"Blackbox\n", //GUN_STR_17
|
||||
"Blueprints\n", //GUN_STR_18
|
||||
"Bolt Key\n", //GUN_STR_19
|
||||
"Bomb Case\n", //GUN_STR_1A
|
||||
"Bomb Defuser\n", //GUN_STR_1B
|
||||
"Briefcase\n", //GUN_STR_1C
|
||||
"Bug Detector\n", //GUN_STR_1D
|
||||
"Bug\n", //GUN_STR_1E
|
||||
"Bungee\n", //GUN_STR_1F
|
||||
"Camera\n", //GUN_STR_20
|
||||
"Circuit Board\n", //GUN_STR_21
|
||||
"Clipboard\n", //GUN_STR_22
|
||||
"Communicator\n", //GUN_STR_23
|
||||
"Controller\n", //GUN_STR_24
|
||||
"Cougar Magnum\n", //GUN_STR_25
|
||||
"Cougar\n", //GUN_STR_26
|
||||
"Credit Card\n", //GUN_STR_27
|
||||
"D5K (silenced)\n", //GUN_STR_28
|
||||
"D5K Deutsche\n", //GUN_STR_29
|
||||
"DD44 Dostovei\n", //GUN_STR_2A
|
||||
"Dark Glasses\n", //GUN_STR_2B
|
||||
"Dat Tape\n", //GUN_STR_2C
|
||||
"Datathief\n", //GUN_STR_2D
|
||||
"Detonator\n", //GUN_STR_2E
|
||||
"Deutsche\n", //GUN_STR_2F
|
||||
"Door Decoder\n", //GUN_STR_30
|
||||
"Door Exploder\n", //GUN_STR_31
|
||||
"Dostovei\n", //GUN_STR_32
|
||||
"Guidance Data\n", //GUN_STR_33
|
||||
"Flare Pistol\n", //GUN_STR_34
|
||||
"Gas Keyring\n", //GUN_STR_35
|
||||
"Geiger Counter\n", //GUN_STR_36
|
||||
"Gold Bar\n", //GUN_STR_37
|
||||
"Gold PP7\n", //GUN_STR_38
|
||||
"Golden Gun\n", //GUN_STR_39
|
||||
"GoldenEye Key\n", //GUN_STR_3A
|
||||
"Golden\n", //GUN_STR_3B
|
||||
"Grenade Launcher\n", //GUN_STR_3C
|
||||
"Grenade\n", //GUN_STR_3D
|
||||
"Hand Grenade\n", //GUN_STR_3E
|
||||
"Heroine\n", //GUN_STR_3F
|
||||
"Hunting Knife\n", //GUN_STR_40
|
||||
"Identifier\n", //GUN_STR_41
|
||||
"KF7 Soviet\n", //GUN_STR_42
|
||||
"Key Analyzer Case\n", //GUN_STR_43
|
||||
"Key Analyzer\n", //GUN_STR_44
|
||||
"Keycard\n", //GUN_STR_45
|
||||
"Knife\n", //GUN_STR_46
|
||||
"Laser\n", //GUN_STR_47
|
||||
"Launcher\n", //GUN_STR_48
|
||||
"Lectre\n", //GUN_STR_49
|
||||
"Lock Exploder\n", //GUN_STR_4A
|
||||
"Magnet Repel\n", //GUN_STR_4B
|
||||
"Magnum\n", //GUN_STR_4C
|
||||
"Map\n", //GUN_STR_4D
|
||||
"Micro Camera\n", //GUN_STR_4E
|
||||
"Microcode\n", //GUN_STR_4F
|
||||
"Microfilm\n", //GUN_STR_50
|
||||
"Military Laser\n", //GUN_STR_51
|
||||
"Military\n", //GUN_STR_52
|
||||
"Money\n", //GUN_STR_53
|
||||
"Null\n", //GUN_STR_54
|
||||
"PP7 (silenced)\n", //GUN_STR_55
|
||||
"PP7 Special Issue\n", //GUN_STR_56
|
||||
"PP7 Special\n", //GUN_STR_57
|
||||
"Phantom\n", //GUN_STR_58
|
||||
"Piton Gun\n", //GUN_STR_59
|
||||
"Plans\n", //GUN_STR_5A
|
||||
"Plastique\n", //GUN_STR_5B
|
||||
"Polarized Glasses\n", //GUN_STR_5C
|
||||
"Proximity Mine\n", //GUN_STR_5D
|
||||
"RC-P90\n", //GUN_STR_5E
|
||||
"Red Dossier\n", //GUN_STR_5F
|
||||
"Remote Mine\n", //GUN_STR_60
|
||||
"Rocket Launcher\n", //GUN_STR_61
|
||||
"Safecracker Case\n", //GUN_STR_62
|
||||
"Safecracker\n", //GUN_STR_63
|
||||
"Shotgun\n", //GUN_STR_64
|
||||
"Silver PP7\n", //GUN_STR_65
|
||||
"Sniper Rifle\n", //GUN_STR_66
|
||||
"Sniper\n", //GUN_STR_67
|
||||
"Soviet\n", //GUN_STR_68
|
||||
"Spool Tape\n", //GUN_STR_69
|
||||
"Spy File\n", //GUN_STR_6A
|
||||
"Klobb\n", //GUN_STR_6B
|
||||
"Staff List\n", //GUN_STR_6C
|
||||
"Suit_lf_hand\n", //GUN_STR_6D
|
||||
"Tank\n", //GUN_STR_6E
|
||||
"Taser\n", //GUN_STR_6F
|
||||
"Throwing Knife\n", //GUN_STR_70
|
||||
"Throwing\n", //GUN_STR_71
|
||||
"Timed Mine\n", //GUN_STR_72
|
||||
"Token\n", //GUN_STR_73
|
||||
"US AR33 Assault Rifle\n", //GUN_STR_74
|
||||
"US AR33\n", //GUN_STR_75
|
||||
"Unarmed\n", //GUN_STR_76
|
||||
"Video Tape\n", //GUN_STR_77
|
||||
"Watch Communicator\n", //GUN_STR_78
|
||||
"Watch Geiger Counter\n", //GUN_STR_79
|
||||
"Watch Identifier\n", //GUN_STR_7A
|
||||
"Watch Laser\n", //GUN_STR_7B
|
||||
"Watch Magnet Attract\n", //GUN_STR_7C
|
||||
"Watch Magnet Repel\n", //GUN_STR_7D
|
||||
"Watch Magnet\n", //GUN_STR_7E
|
||||
"Watch\n", //GUN_STR_7F
|
||||
"Weapon Case\n", //GUN_STR_80
|
||||
"Yale Key\n", //GUN_STR_81
|
||||
"ZMG (9mm)\n", //GUN_STR_82
|
||||
"\n", //GUN_STR_83
|
||||
"ar33\n", //GUN_STR_84
|
||||
"audio tape\n", //GUN_STR_85
|
||||
"auto shotgun\n", //GUN_STR_86
|
||||
"blackbox\n", //GUN_STR_87
|
||||
"blueprints\n", //GUN_STR_88
|
||||
"bolt key\n", //GUN_STR_89
|
||||
"bomb case\n", //GUN_STR_8A
|
||||
"bomb defuser\n", //GUN_STR_8B
|
||||
"briefcase\n", //GUN_STR_8C
|
||||
"bug detector\n", //GUN_STR_8D
|
||||
"bug\n", //GUN_STR_8E
|
||||
"bungee\n", //GUN_STR_8F
|
||||
"camera\n", //GUN_STR_90
|
||||
"circuit board\n", //GUN_STR_91
|
||||
"clipboard\n", //GUN_STR_92
|
||||
"cougar magnum\n", //GUN_STR_93
|
||||
"credit card\n", //GUN_STR_94
|
||||
"d5k (silenced)\n", //GUN_STR_95
|
||||
"d5k\n", //GUN_STR_96
|
||||
"dark glasses\n", //GUN_STR_97
|
||||
"dat tape\n", //GUN_STR_98
|
||||
"datathief\n", //GUN_STR_99
|
||||
"dd44\n", //GUN_STR_9A
|
||||
"detonator\n", //GUN_STR_9B
|
||||
"door decoder\n", //GUN_STR_9C
|
||||
"door exploder\n", //GUN_STR_9D
|
||||
"guidance data\n", //GUN_STR_9E
|
||||
"flare pistol\n", //GUN_STR_9F
|
||||
"gas keyring\n", //GUN_STR_A0
|
||||
"gold bar\n", //GUN_STR_A1
|
||||
"gold pp7\n", //GUN_STR_A2
|
||||
"golden gun\n", //GUN_STR_A3
|
||||
"goldeneye key\n", //GUN_STR_A4
|
||||
"grenade launcher\n", //GUN_STR_A5
|
||||
"grenade\n", //GUN_STR_A6
|
||||
"heroine\n", //GUN_STR_A7
|
||||
"hunting knife\n", //GUN_STR_A8
|
||||
"key analyzer\n", //GUN_STR_A9
|
||||
"keycard\n", //GUN_STR_AA
|
||||
"kf7 soviet\n", //GUN_STR_AB
|
||||
"laser\n", //GUN_STR_AC
|
||||
"lectre\n", //GUN_STR_AD
|
||||
"lock exploder\n", //GUN_STR_AE
|
||||
"map\n", //GUN_STR_AF
|
||||
"micro camera\n", //GUN_STR_B0
|
||||
"microcode\n", //GUN_STR_B1
|
||||
"microfilm\n", //GUN_STR_B2
|
||||
"money\n", //GUN_STR_B3
|
||||
"phantom\n", //GUN_STR_B4
|
||||
"piton gun\n", //GUN_STR_B5
|
||||
"plans\n", //GUN_STR_B6
|
||||
"plastique\n", //GUN_STR_B7
|
||||
"polarized glasses\n", //GUN_STR_B8
|
||||
"pp7 (silenced)\n", //GUN_STR_B9
|
||||
"pp7\n", //GUN_STR_BA
|
||||
"proximity mine\n", //GUN_STR_BB
|
||||
"rc-p90\n", //GUN_STR_BC
|
||||
"red dossier\n", //GUN_STR_BD
|
||||
"remote mine\n", //GUN_STR_BE
|
||||
"rocket launcher\n", //GUN_STR_BF
|
||||
"safecracker\n", //GUN_STR_C0
|
||||
"shotgun\n", //GUN_STR_C1
|
||||
"silver pp7\n", //GUN_STR_C2
|
||||
"sniper rifle\n", //GUN_STR_C3
|
||||
"spool tape\n", //GUN_STR_C4
|
||||
"spy file\n", //GUN_STR_C5
|
||||
"klobb\n", //GUN_STR_C6
|
||||
"staff list\n", //GUN_STR_C7
|
||||
"tank\n", //GUN_STR_C8
|
||||
"taser\n", //GUN_STR_C9
|
||||
"throwing knife\n", //GUN_STR_CA
|
||||
"timed mine\n", //GUN_STR_CB
|
||||
"token\n", //GUN_STR_CC
|
||||
"unarmed\n", //GUN_STR_CD
|
||||
"video tape\n", //GUN_STR_CE
|
||||
"watch communicator\n", //GUN_STR_CF
|
||||
"watch geiger counter\n", //GUN_STR_D0
|
||||
"watch identifier\n", //GUN_STR_D1
|
||||
"watch laser\n", //GUN_STR_D2
|
||||
"watch magnet attract\n", //GUN_STR_D3
|
||||
"watch magnet repel\n", //GUN_STR_D4
|
||||
"weapon case\n", //GUN_STR_D5
|
||||
"yale key\n", //GUN_STR_D6
|
||||
"zmg (9mm)\n", //GUN_STR_D7
|
||||
"Analyzing the GoldenEye key...\n", //GUN_STR_D8
|
||||
"You do not have the GoldenEye\n key.\n", //GUN_STR_D9
|
||||
"kill count", //GUN_STR_DA
|
||||
"died once\n", //GUN_STR_DB
|
||||
"died", //GUN_STR_DC
|
||||
"times", //GUN_STR_DD
|
||||
"suicide count", //GUN_STR_DE
|
||||
0 //GUN_STR_DF
|
||||
};
|
||||
@@ -0,0 +1,227 @@
|
||||
enum LGUNE_STRINGS
|
||||
{
|
||||
GUN_STR_00, // " D5K\n",
|
||||
GUN_STR_01, // " Issue\n",
|
||||
GUN_STR_02, // " Mine\n",
|
||||
GUN_STR_03, // " PP7\n",
|
||||
GUN_STR_04, // " DD44\n",
|
||||
GUN_STR_05, // " Gun\n",
|
||||
GUN_STR_06, // " Knife\n",
|
||||
GUN_STR_07, // " Mine\n",
|
||||
GUN_STR_08, // " KF7\n",
|
||||
GUN_STR_09, // " Mine\n",
|
||||
GUN_STR_0A, // " Rifle\n",
|
||||
GUN_STR_0B, // " Rocket\n",
|
||||
GUN_STR_0C, // " Shotgun\n",
|
||||
GUN_STR_0D, // "(Proximity)\n",
|
||||
GUN_STR_0E, // "(Remote)\n",
|
||||
GUN_STR_0F, // "(Timed)\n",
|
||||
GUN_STR_10, // "(silenced)\n",
|
||||
GUN_STR_11, // "-\n",
|
||||
GUN_STR_12, // "Assault\n",
|
||||
GUN_STR_13, // "Attract\n",
|
||||
GUN_STR_14, // "Audio Tape\n",
|
||||
GUN_STR_15, // "Automatic Shotgun\n",
|
||||
GUN_STR_16, // "Automatic\n",
|
||||
GUN_STR_17, // "Blackbox\n",
|
||||
GUN_STR_18, // "Blueprints\n",
|
||||
GUN_STR_19, // "Bolt Key\n",
|
||||
GUN_STR_1A, // "Bomb Case\n",
|
||||
GUN_STR_1B, // "Bomb Defuser\n",
|
||||
GUN_STR_1C, // "Briefcase\n",
|
||||
GUN_STR_1D, // "Bug Detector\n",
|
||||
GUN_STR_1E, // "Bug\n",
|
||||
GUN_STR_1F, // "Bungee\n",
|
||||
GUN_STR_20, // "Camera\n",
|
||||
GUN_STR_21, // "Circuit Board\n",
|
||||
GUN_STR_22, // "Clipboard\n",
|
||||
GUN_STR_23, // "Communicator\n",
|
||||
GUN_STR_24, // "Controller\n",
|
||||
GUN_STR_25, // "Cougar Magnum\n",
|
||||
GUN_STR_26, // "Cougar\n",
|
||||
GUN_STR_27, // "Credit Card\n",
|
||||
GUN_STR_28, // "D5K (silenced)\n",
|
||||
GUN_STR_29, // "D5K Deutsche\n",
|
||||
GUN_STR_2A, // "DD44 Dostovei\n",
|
||||
GUN_STR_2B, // "Dark Glasses\n",
|
||||
GUN_STR_2C, // "Dat Tape\n",
|
||||
GUN_STR_2D, // "Datathief\n",
|
||||
GUN_STR_2E, // "Detonator\n",
|
||||
GUN_STR_2F, // "Deutsche\n",
|
||||
GUN_STR_30, // "Door Decoder\n",
|
||||
GUN_STR_31, // "Door Exploder\n",
|
||||
GUN_STR_32, // "Dostovei\n",
|
||||
GUN_STR_33, // "Guidance Data\n",
|
||||
GUN_STR_34, // "Flare Pistol\n",
|
||||
GUN_STR_35, // "Gas Keyring\n",
|
||||
GUN_STR_36, // "Geiger Counter\n",
|
||||
GUN_STR_37, // "Gold Bar\n",
|
||||
GUN_STR_38, // "Gold PP7\n",
|
||||
GUN_STR_39, // "Golden Gun\n",
|
||||
GUN_STR_3A, // "GoldenEye Key\n",
|
||||
GUN_STR_3B, // "Golden\n",
|
||||
GUN_STR_3C, // "Grenade Launcher\n",
|
||||
GUN_STR_3D, // "Grenade\n",
|
||||
GUN_STR_3E, // "Hand Grenade\n",
|
||||
GUN_STR_3F, // "Heroine\n",
|
||||
GUN_STR_40, // "Hunting Knife\n",
|
||||
GUN_STR_41, // "Identifier\n",
|
||||
GUN_STR_42, // "KF7 Soviet\n",
|
||||
GUN_STR_43, // "Key Analyzer Case\n",
|
||||
GUN_STR_44, // "Key Analyzer\n",
|
||||
GUN_STR_45, // "Keycard\n",
|
||||
GUN_STR_46, // "Knife\n",
|
||||
GUN_STR_47, // "Laser\n",
|
||||
GUN_STR_48, // "Launcher\n",
|
||||
GUN_STR_49, // "Lectre\n",
|
||||
GUN_STR_4A, // "Lock Exploder\n",
|
||||
GUN_STR_4B, // "Magnet Repel\n",
|
||||
GUN_STR_4C, // "Magnum\n",
|
||||
GUN_STR_4D, // "Map\n",
|
||||
GUN_STR_4E, // "Micro Camera\n",
|
||||
GUN_STR_4F, // "Microcode\n",
|
||||
GUN_STR_50, // "Microfilm\n",
|
||||
GUN_STR_51, // "Military Laser\n",
|
||||
GUN_STR_52, // "Military\n",
|
||||
GUN_STR_53, // "Money\n",
|
||||
GUN_STR_54, // "Null\n",
|
||||
GUN_STR_55, // "PP7 (silenced)\n",
|
||||
GUN_STR_56, // "PP7 Special Issue\n",
|
||||
GUN_STR_57, // "PP7 Special\n",
|
||||
GUN_STR_58, // "Phantom\n",
|
||||
GUN_STR_59, // "Piton Gun\n",
|
||||
GUN_STR_5A, // "Plans\n",
|
||||
GUN_STR_5B, // "Plastique\n",
|
||||
GUN_STR_5C, // "Polarized Glasses\n",
|
||||
GUN_STR_5D, // "Proximity Mine\n",
|
||||
GUN_STR_5E, // "RC-P90\n",
|
||||
GUN_STR_5F, // "Red Dossier\n",
|
||||
GUN_STR_60, // "Remote Mine\n",
|
||||
GUN_STR_61, // "Rocket Launcher\n",
|
||||
GUN_STR_62, // "Safecracker Case\n",
|
||||
GUN_STR_63, // "Safecracker\n",
|
||||
GUN_STR_64, // "Shotgun\n",
|
||||
GUN_STR_65, // "Silver PP7\n",
|
||||
GUN_STR_66, // "Sniper Rifle\n",
|
||||
GUN_STR_67, // "Sniper\n",
|
||||
GUN_STR_68, // "Soviet\n",
|
||||
GUN_STR_69, // "Spool Tape\n",
|
||||
GUN_STR_6A, // "Spy File\n",
|
||||
GUN_STR_6B, // "Klobb\n",
|
||||
GUN_STR_6C, // "Staff List\n",
|
||||
GUN_STR_6D, // "Suit_lf_hand\n",
|
||||
GUN_STR_6E, // "Tank\n",
|
||||
GUN_STR_6F, // "Taser\n",
|
||||
GUN_STR_70, // "Throwing Knife\n",
|
||||
GUN_STR_71, // "Throwing\n",
|
||||
GUN_STR_72, // "Timed Mine\n",
|
||||
GUN_STR_73, // "Token\n",
|
||||
GUN_STR_74, // "US AR33 Assault Rifle\n",
|
||||
GUN_STR_75, // "US AR33\n",
|
||||
GUN_STR_76, // "Unarmed\n",
|
||||
GUN_STR_77, // "Video Tape\n",
|
||||
GUN_STR_78, // "Watch Communicator\n",
|
||||
GUN_STR_79, // "Watch Geiger Counter\n",
|
||||
GUN_STR_7A, // "Watch Identifier\n",
|
||||
GUN_STR_7B, // "Watch Laser\n",
|
||||
GUN_STR_7C, // "Watch Magnet Attract\n",
|
||||
GUN_STR_7D, // "Watch Magnet Repel\n",
|
||||
GUN_STR_7E, // "Watch Magnet\n",
|
||||
GUN_STR_7F, // "Watch\n",
|
||||
GUN_STR_80, // "Weapon Case\n",
|
||||
GUN_STR_81, // "Yale Key\n",
|
||||
GUN_STR_82, // "ZMG (9mm)\n",
|
||||
GUN_STR_83, // "\n",
|
||||
GUN_STR_84, // "ar33\n",
|
||||
GUN_STR_85, // "audio tape\n",
|
||||
GUN_STR_86, // "auto shotgun\n",
|
||||
GUN_STR_87, // "blackbox\n",
|
||||
GUN_STR_88, // "blueprints\n",
|
||||
GUN_STR_89, // "bolt key\n",
|
||||
GUN_STR_8A, // "bomb case\n",
|
||||
GUN_STR_8B, // "bomb defuser\n",
|
||||
GUN_STR_8C, // "briefcase\n",
|
||||
GUN_STR_8D, // "bug detector\n",
|
||||
GUN_STR_8E, // "bug\n",
|
||||
GUN_STR_8F, // "bungee\n",
|
||||
GUN_STR_90, // "camera\n",
|
||||
GUN_STR_91, // "circuit board\n",
|
||||
GUN_STR_92, // "clipboard\n",
|
||||
GUN_STR_93, // "cougar magnum\n",
|
||||
GUN_STR_94, // "credit card\n",
|
||||
GUN_STR_95, // "d5k (silenced)\n",
|
||||
GUN_STR_96, // "d5k\n",
|
||||
GUN_STR_97, // "dark glasses\n",
|
||||
GUN_STR_98, // "dat tape\n",
|
||||
GUN_STR_99, // "datathief\n",
|
||||
GUN_STR_9A, // "dd44\n",
|
||||
GUN_STR_9B, // "detonator\n",
|
||||
GUN_STR_9C, // "door decoder\n",
|
||||
GUN_STR_9D, // "door exploder\n",
|
||||
GUN_STR_9E, // "guidance data\n",
|
||||
GUN_STR_9F, // "flare pistol\n",
|
||||
GUN_STR_A0, // "gas keyring\n",
|
||||
GUN_STR_A1, // "gold bar\n",
|
||||
GUN_STR_A2, // "gold pp7\n",
|
||||
GUN_STR_A3, // "golden gun\n",
|
||||
GUN_STR_A4, // "goldeneye key\n",
|
||||
GUN_STR_A5, // "grenade launcher\n",
|
||||
GUN_STR_A6, // "grenade\n",
|
||||
GUN_STR_A7, // "heroine\n",
|
||||
GUN_STR_A8, // "hunting knife\n",
|
||||
GUN_STR_A9, // "key analyzer\n",
|
||||
GUN_STR_AA, // "keycard\n",
|
||||
GUN_STR_AB, // "kf7 soviet\n",
|
||||
GUN_STR_AC, // "laser\n",
|
||||
GUN_STR_AD, // "lectre\n",
|
||||
GUN_STR_AE, // "lock exploder\n",
|
||||
GUN_STR_AF, // "map\n",
|
||||
GUN_STR_B0, // "micro camera\n",
|
||||
GUN_STR_B1, // "microcode\n",
|
||||
GUN_STR_B2, // "microfilm\n",
|
||||
GUN_STR_B3, // "money\n",
|
||||
GUN_STR_B4, // "phantom\n",
|
||||
GUN_STR_B5, // "piton gun\n",
|
||||
GUN_STR_B6, // "plans\n",
|
||||
GUN_STR_B7, // "plastique\n",
|
||||
GUN_STR_B8, // "polarized glasses\n",
|
||||
GUN_STR_B9, // "pp7 (silenced)\n",
|
||||
GUN_STR_BA, // "pp7\n",
|
||||
GUN_STR_BB, // "proximity mine\n",
|
||||
GUN_STR_BC, // "rc-p90\n",
|
||||
GUN_STR_BD, // "red dossier\n",
|
||||
GUN_STR_BE, // "remote mine\n",
|
||||
GUN_STR_BF, // "rocket launcher\n",
|
||||
GUN_STR_C0, // "safecracker\n",
|
||||
GUN_STR_C1, // "shotgun\n",
|
||||
GUN_STR_C2, // "silver pp7\n",
|
||||
GUN_STR_C3, // "sniper rifle\n",
|
||||
GUN_STR_C4, // "spool tape\n",
|
||||
GUN_STR_C5, // "spy file\n",
|
||||
GUN_STR_C6, // "klobb\n",
|
||||
GUN_STR_C7, // "staff list\n",
|
||||
GUN_STR_C8, // "tank\n",
|
||||
GUN_STR_C9, // "taser\n",
|
||||
GUN_STR_CA, // "throwing knife\n",
|
||||
GUN_STR_CB, // "timed mine\n",
|
||||
GUN_STR_CC, // "token\n",
|
||||
GUN_STR_CD, // "unarmed\n",
|
||||
GUN_STR_CE, // "video tape\n",
|
||||
GUN_STR_CF, // "watch communicator\n",
|
||||
GUN_STR_D0, // "watch geiger counter\n",
|
||||
GUN_STR_D1, // "watch identifier\n",
|
||||
GUN_STR_D2, // "watch laser\n",
|
||||
GUN_STR_D3, // "watch magnet attract\n",
|
||||
GUN_STR_D4, // "watch magnet repel\n",
|
||||
GUN_STR_D5, // "weapon case\n",
|
||||
GUN_STR_D6, // "yale key\n",
|
||||
GUN_STR_D7, // "zmg (9mm)\n",
|
||||
GUN_STR_D8, // "Analyzing the GoldenEye key...\n",
|
||||
GUN_STR_D9, // "You do not have the GoldenEye\n key.\n",
|
||||
GUN_STR_DA, // "kill count",
|
||||
GUN_STR_DB, // "died once\n",
|
||||
GUN_STR_DC, // "died",
|
||||
GUN_STR_DD, // "times",
|
||||
GUN_STR_DE, // "suicide count",
|
||||
GUN_STR_DF // 0
|
||||
};
|
||||
+70
-70
@@ -1,74 +1,74 @@
|
||||
|
||||
char *LmiscE[] = {
|
||||
"Invincible",
|
||||
"All Guns",
|
||||
"Super x2 Health",
|
||||
"Super x2 Armor",
|
||||
"Bond Invisible",
|
||||
"Bond Phase",
|
||||
"Infinite Ammo",
|
||||
"DK Mode",
|
||||
"Tiny Bond",
|
||||
"Super x10 Health",
|
||||
"Magnum",
|
||||
"Laser",
|
||||
"Golden Gun",
|
||||
"Silver PP7",
|
||||
"Gold PP7",
|
||||
"invincibility on\n",
|
||||
"all guns on\n",
|
||||
"maximum ammo\n",
|
||||
"super x2 health\n",
|
||||
"super x2 armor\n",
|
||||
"invisibility on\n",
|
||||
"bond phase on\n",
|
||||
"infinite ammo on\n",
|
||||
"dk mode on\n",
|
||||
"extra weapons\n",
|
||||
"tiny bond on\n",
|
||||
"paintball mode on\n",
|
||||
"super x10 health\n",
|
||||
"happy now karl?\n",
|
||||
"fast mode on\n",
|
||||
"invincibility off\n",
|
||||
"all guns off\n",
|
||||
"invisibility off\n",
|
||||
"bond phase off\n",
|
||||
"infinite ammo off\n",
|
||||
"dk mode off\n",
|
||||
"tiny bond off\n",
|
||||
"paintball mode off\n",
|
||||
"radar on\n",
|
||||
"fast mode off\n",
|
||||
"NO NAME",
|
||||
"E R R O R\n",
|
||||
"no briefing for this mission\n",
|
||||
"\n",
|
||||
"objective",
|
||||
"completed\n",
|
||||
"incomplete\n",
|
||||
"failed\n",
|
||||
"slowest motion\n",
|
||||
"very slow motion\n",
|
||||
"slow motion\n",
|
||||
"normal motion\n",
|
||||
"fast motion\n",
|
||||
"very fast motion\n",
|
||||
"fastest motion\n",
|
||||
"Line Mode",
|
||||
"Paintball Mode",
|
||||
"Enemy Rockets",
|
||||
"2x Rocket L.",
|
||||
"2x Grenade L.",
|
||||
"2x RC-P90",
|
||||
"2x Throwing Knife",
|
||||
"2x Hunting Knife",
|
||||
"2x Laser",
|
||||
"Turbo Mode",
|
||||
"Fast Animation",
|
||||
"Slow Animation",
|
||||
"No Radar [Multi]"
|
||||
#ifdef VERSION_JP
|
||||
,"One minute left"
|
||||
"Invincible", //MISC_STR_00
|
||||
"All Guns", //MISC_STR_01
|
||||
"Super x2 Health", //MISC_STR_02
|
||||
"Super x2 Armor", //MISC_STR_03
|
||||
"Bond Invisible", //MISC_STR_04
|
||||
"Bond Phase", //MISC_STR_05
|
||||
"Infinite Ammo", //MISC_STR_06
|
||||
"DK Mode", //MISC_STR_07
|
||||
"Tiny Bond", //MISC_STR_08
|
||||
"Super x10 Health", //MISC_STR_09
|
||||
"Magnum", //MISC_STR_0A
|
||||
"Laser", //MISC_STR_0B
|
||||
"Golden Gun", //MISC_STR_0C
|
||||
"Silver PP7", //MISC_STR_0D
|
||||
"Gold PP7", //MISC_STR_0E
|
||||
"invincibility on\n", //MISC_STR_0F
|
||||
"all guns on\n", //MISC_STR_10
|
||||
"maximum ammo\n", //MISC_STR_11
|
||||
"super x2 health\n", //MISC_STR_12
|
||||
"super x2 armor\n", //MISC_STR_13
|
||||
"invisibility on\n", //MISC_STR_14
|
||||
"bond phase on\n", //MISC_STR_15
|
||||
"infinite ammo on\n", //MISC_STR_16
|
||||
"dk mode on\n", //MISC_STR_17
|
||||
"extra weapons\n", //MISC_STR_18
|
||||
"tiny bond on\n", //MISC_STR_19
|
||||
"paintball mode on\n", //MISC_STR_1A
|
||||
"super x10 health\n", //MISC_STR_1B
|
||||
"happy now karl?\n", //MISC_STR_1C
|
||||
"fast mode on\n", //MISC_STR_1D
|
||||
"invincibility off\n", //MISC_STR_1E
|
||||
"all guns off\n", //MISC_STR_1F
|
||||
"invisibility off\n", //MISC_STR_20
|
||||
"bond phase off\n", //MISC_STR_21
|
||||
"infinite ammo off\n", //MISC_STR_22
|
||||
"dk mode off\n", //MISC_STR_23
|
||||
"tiny bond off\n", //MISC_STR_24
|
||||
"paintball mode off\n", //MISC_STR_25
|
||||
"radar on\n", //MISC_STR_26
|
||||
"fast mode off\n", //MISC_STR_27
|
||||
"NO NAME", //MISC_STR_28
|
||||
"E R R O R\n", //MISC_STR_29
|
||||
"no briefing for this mission\n", //MISC_STR_2A
|
||||
"\n", //MISC_STR_2B
|
||||
"objective", //MISC_STR_2C
|
||||
"completed\n", //MISC_STR_2D
|
||||
"incomplete\n", //MISC_STR_2E
|
||||
"failed\n", //MISC_STR_2F
|
||||
"slowest motion\n", //MISC_STR_30
|
||||
"very slow motion\n", //MISC_STR_31
|
||||
"slow motion\n", //MISC_STR_32
|
||||
"normal motion\n", //MISC_STR_33
|
||||
"fast motion\n", //MISC_STR_34
|
||||
"very fast motion\n", //MISC_STR_35
|
||||
"fastest motion\n", //MISC_STR_36
|
||||
"Line Mode", //MISC_STR_37
|
||||
"Paintball Mode", //MISC_STR_38
|
||||
"Enemy Rockets", //MISC_STR_39
|
||||
"2x Rocket L.", //MISC_STR_3A
|
||||
"2x Grenade L.", //MISC_STR_3B
|
||||
"2x RC-P90", //MISC_STR_3C
|
||||
"2x Throwing Knife", //MISC_STR_3D
|
||||
"2x Hunting Knife", //MISC_STR_3E
|
||||
"2x Laser", //MISC_STR_3F
|
||||
"Turbo Mode", //MISC_STR_40
|
||||
"Fast Animation", //MISC_STR_41
|
||||
"Slow Animation", //MISC_STR_42
|
||||
"No Radar [Multi]" //MISC_STR_43
|
||||
#ifdef VERSION_JP
|
||||
,"One minute left" //MISC_STR_44
|
||||
#endif
|
||||
};
|
||||
@@ -0,0 +1,75 @@
|
||||
enum LMISCE_STRINGS
|
||||
{
|
||||
MISC_STR_00, // "Invincible",
|
||||
MISC_STR_01, // "All Guns",
|
||||
MISC_STR_02, // "Super x2 Health",
|
||||
MISC_STR_03, // "Super x2 Armor",
|
||||
MISC_STR_04, // "Bond Invisible",
|
||||
MISC_STR_05, // "Bond Phase",
|
||||
MISC_STR_06, // "Infinite Ammo",
|
||||
MISC_STR_07, // "DK Mode",
|
||||
MISC_STR_08, // "Tiny Bond",
|
||||
MISC_STR_09, // "Super x10 Health",
|
||||
MISC_STR_0A, // "Magnum",
|
||||
MISC_STR_0B, // "Laser",
|
||||
MISC_STR_0C, // "Golden Gun",
|
||||
MISC_STR_0D, // "Silver PP7",
|
||||
MISC_STR_0E, // "Gold PP7",
|
||||
MISC_STR_0F, // "invincibility on\n",
|
||||
MISC_STR_10, // "all guns on\n",
|
||||
MISC_STR_11, // "maximum ammo\n",
|
||||
MISC_STR_12, // "super x2 health\n",
|
||||
MISC_STR_13, // "super x2 armor\n",
|
||||
MISC_STR_14, // "invisibility on\n",
|
||||
MISC_STR_15, // "bond phase on\n",
|
||||
MISC_STR_16, // "infinite ammo on\n",
|
||||
MISC_STR_17, // "dk mode on\n",
|
||||
MISC_STR_18, // "extra weapons\n",
|
||||
MISC_STR_19, // "tiny bond on\n",
|
||||
MISC_STR_1A, // "paintball mode on\n",
|
||||
MISC_STR_1B, // "super x10 health\n",
|
||||
MISC_STR_1C, // "happy now karl?\n",
|
||||
MISC_STR_1D, // "fast mode on\n",
|
||||
MISC_STR_1E, // "invincibility off\n",
|
||||
MISC_STR_1F, // "all guns off\n",
|
||||
MISC_STR_20, // "invisibility off\n",
|
||||
MISC_STR_21, // "bond phase off\n",
|
||||
MISC_STR_22, // "infinite ammo off\n",
|
||||
MISC_STR_23, // "dk mode off\n",
|
||||
MISC_STR_24, // "tiny bond off\n",
|
||||
MISC_STR_25, // "paintball mode off\n",
|
||||
MISC_STR_26, // "radar on\n",
|
||||
MISC_STR_27, // "fast mode off\n",
|
||||
MISC_STR_28, // "NO NAME",
|
||||
MISC_STR_29, // "E R R O R\n",
|
||||
MISC_STR_2A, // "no briefing for this mission\n",
|
||||
MISC_STR_2B, // "\n",
|
||||
MISC_STR_2C, // "objective",
|
||||
MISC_STR_2D, // "completed\n",
|
||||
MISC_STR_2E, // "incomplete\n",
|
||||
MISC_STR_2F, // "failed\n",
|
||||
MISC_STR_30, // "slowest motion\n",
|
||||
MISC_STR_31, // "very slow motion\n",
|
||||
MISC_STR_32, // "slow motion\n",
|
||||
MISC_STR_33, // "normal motion\n",
|
||||
MISC_STR_34, // "fast motion\n",
|
||||
MISC_STR_35, // "very fast motion\n",
|
||||
MISC_STR_36, // "fastest motion\n",
|
||||
MISC_STR_37, // "Line Mode",
|
||||
MISC_STR_38, // "Paintball Mode",
|
||||
MISC_STR_39, // "Enemy Rockets",
|
||||
MISC_STR_3A, // "2x Rocket L.",
|
||||
MISC_STR_3B, // "2x Grenade L.",
|
||||
MISC_STR_3C, // "2x RC-P90",
|
||||
MISC_STR_3D, // "2x Throwing Knife",
|
||||
MISC_STR_3E, // "2x Hunting Knife",
|
||||
MISC_STR_3F, // "2x Laser",
|
||||
MISC_STR_40, // "Turbo Mode",
|
||||
MISC_STR_41, // "Fast Animation",
|
||||
MISC_STR_42, // "Slow Animation",
|
||||
MISC_STR_43 // "No Radar [Multi]"
|
||||
|
||||
#ifdef VERSION_JP
|
||||
,MISC_STR_44//,"One minute left"
|
||||
#endif
|
||||
};
|
||||
@@ -1,39 +1,39 @@
|
||||
|
||||
char *LmpmenuE[] = {
|
||||
"Lemming Award",
|
||||
"Where's the Ammo?",
|
||||
"Where's the Armor?",
|
||||
"AC -10 Award",
|
||||
"Marksmanship Award",
|
||||
"Most Professional",
|
||||
"Most Deadly",
|
||||
"Mostly Harmless",
|
||||
"Most Cowardly",
|
||||
"Most Frantic",
|
||||
"Most Honorable",
|
||||
"Most Dishonorable",
|
||||
"Shortest Innings",
|
||||
"Longest Innings",
|
||||
"Double Kill",
|
||||
"Triple Kill",
|
||||
"Quad Kill (Doh!)",
|
||||
"Rank: 1st",
|
||||
"Rank: 2nd",
|
||||
"Rank: 3rd",
|
||||
"Rank: 4th",
|
||||
"PLAY",
|
||||
"GAME OVER",
|
||||
"START TO EXIT",
|
||||
"PAUSED",
|
||||
"PAUSE",
|
||||
"EXIT",
|
||||
"SCORES",
|
||||
"P",
|
||||
"KILLS",
|
||||
"LOSSES",
|
||||
"Weapon of choice:",
|
||||
"cancel",
|
||||
"confirm",
|
||||
"press start\n",
|
||||
"to continue\n"
|
||||
"Lemming Award", //MPMENU_STR_00
|
||||
"Where's the Ammo?", //MPMENU_STR_01
|
||||
"Where's the Armor?", //MPMENU_STR_02
|
||||
"AC -10 Award", //MPMENU_STR_03
|
||||
"Marksmanship Award", //MPMENU_STR_04
|
||||
"Most Professional", //MPMENU_STR_05
|
||||
"Most Deadly", //MPMENU_STR_06
|
||||
"Mostly Harmless", //MPMENU_STR_07
|
||||
"Most Cowardly", //MPMENU_STR_08
|
||||
"Most Frantic", //MPMENU_STR_09
|
||||
"Most Honorable", //MPMENU_STR_0A
|
||||
"Most Dishonorable", //MPMENU_STR_0B
|
||||
"Shortest Innings", //MPMENU_STR_0C
|
||||
"Longest Innings", //MPMENU_STR_0D
|
||||
"Double Kill", //MPMENU_STR_0E
|
||||
"Triple Kill", //MPMENU_STR_0F
|
||||
"Quad Kill (Doh!)", //MPMENU_STR_10
|
||||
"Rank: 1st", //MPMENU_STR_11
|
||||
"Rank: 2nd", //MPMENU_STR_12
|
||||
"Rank: 3rd", //MPMENU_STR_13
|
||||
"Rank: 4th", //MPMENU_STR_14
|
||||
"PLAY", //MPMENU_STR_15
|
||||
"GAME OVER", //MPMENU_STR_16
|
||||
"START TO EXIT", //MPMENU_STR_17
|
||||
"PAUSED", //MPMENU_STR_18
|
||||
"PAUSE", //MPMENU_STR_19
|
||||
"EXIT", //MPMENU_STR_1A
|
||||
"SCORES", //MPMENU_STR_1B
|
||||
"P", //MPMENU_STR_1C
|
||||
"KILLS", //MPMENU_STR_1D
|
||||
"LOSSES", //MPMENU_STR_1E
|
||||
"Weapon of choice:", //MPMENU_STR_1F
|
||||
"cancel", //MPMENU_STR_20
|
||||
"confirm", //MPMENU_STR_21
|
||||
"press start\n", //MPMENU_STR_22
|
||||
"to continue\n" //MPMENU_STR_23
|
||||
};
|
||||
@@ -0,0 +1,39 @@
|
||||
enum LMPMENUE_STRINGS
|
||||
{
|
||||
MPMENU_STR_00, // "Lemming Award",
|
||||
MPMENU_STR_01, // "Where's the Ammo?",
|
||||
MPMENU_STR_02, // "Where's the Armor?",
|
||||
MPMENU_STR_03, // "AC -10 Award",
|
||||
MPMENU_STR_04, // "Marksmanship Award",
|
||||
MPMENU_STR_05, // "Most Professional",
|
||||
MPMENU_STR_06, // "Most Deadly",
|
||||
MPMENU_STR_07, // "Mostly Harmless",
|
||||
MPMENU_STR_08, // "Most Cowardly",
|
||||
MPMENU_STR_09, // "Most Frantic",
|
||||
MPMENU_STR_0A, // "Most Honorable",
|
||||
MPMENU_STR_0B, // "Most Dishonorable",
|
||||
MPMENU_STR_0C, // "Shortest Innings",
|
||||
MPMENU_STR_0D, // "Longest Innings",
|
||||
MPMENU_STR_0E, // "Double Kill",
|
||||
MPMENU_STR_0F, // "Triple Kill",
|
||||
MPMENU_STR_10, // "Quad Kill (Doh!)",
|
||||
MPMENU_STR_11, // "Rank: 1st",
|
||||
MPMENU_STR_12, // "Rank: 2nd",
|
||||
MPMENU_STR_13, // "Rank: 3rd",
|
||||
MPMENU_STR_14, // "Rank: 4th",
|
||||
MPMENU_STR_15, // "PLAY",
|
||||
MPMENU_STR_16, // "GAME OVER",
|
||||
MPMENU_STR_17, // "START TO EXIT",
|
||||
MPMENU_STR_18, // "PAUSED",
|
||||
MPMENU_STR_19, // "PAUSE",
|
||||
MPMENU_STR_1A, // "EXIT",
|
||||
MPMENU_STR_1B, // "SCORES",
|
||||
MPMENU_STR_1C, // "P",
|
||||
MPMENU_STR_1D, // "KILLS",
|
||||
MPMENU_STR_1E, // "LOSSES",
|
||||
MPMENU_STR_1F, // "Weapon of choice:",
|
||||
MPMENU_STR_20, // "cancel",
|
||||
MPMENU_STR_21, // "confirm",
|
||||
MPMENU_STR_22, // "press start\n",
|
||||
MPMENU_STR_23, // "to continue\n"
|
||||
};
|
||||
@@ -1,19 +1,19 @@
|
||||
|
||||
char *LmpweaponsE[] = {
|
||||
"Slappers only!",
|
||||
"Pistols",
|
||||
"Automatics",
|
||||
"Power Weapons",
|
||||
"Sniper Rifles",
|
||||
"Grenades",
|
||||
"Remote Mines",
|
||||
"Grenade Launchers",
|
||||
"Timed Mines",
|
||||
"Proximity Mines",
|
||||
"Rockets",
|
||||
"Lasers",
|
||||
"Golden Gun",
|
||||
"Throwing Knives",
|
||||
0,
|
||||
0
|
||||
"Slappers only!", //MPWEAPON_STR_00
|
||||
"Pistols", //MPWEAPON_STR_01
|
||||
"Automatics", //MPWEAPON_STR_02
|
||||
"Power Weapons", //MPWEAPON_STR_03
|
||||
"Sniper Rifles", //MPWEAPON_STR_04
|
||||
"Grenades", //MPWEAPON_STR_05
|
||||
"Remote Mines", //MPWEAPON_STR_06
|
||||
"Grenade Launchers", //MPWEAPON_STR_07
|
||||
"Timed Mines", //MPWEAPON_STR_08
|
||||
"Proximity Mines", //MPWEAPON_STR_09
|
||||
"Rockets", //MPWEAPON_STR_0A
|
||||
"Lasers", //MPWEAPON_STR_0B
|
||||
"Golden Gun", //MPWEAPON_STR_0C
|
||||
"Throwing Knives", //MPWEAPON_STR_0D
|
||||
0, //MPWEAPON_STR_0E
|
||||
0 //MPWEAPON_STR_0F
|
||||
};
|
||||
@@ -0,0 +1,19 @@
|
||||
enum LMPWEAPONSE_STRINGS
|
||||
{
|
||||
MPWEAPON_STR_00, // "Slappers only!",
|
||||
MPWEAPON_STR_01, // "Pistols",
|
||||
MPWEAPON_STR_02, // "Automatics",
|
||||
MPWEAPON_STR_03, // "Power Weapons",
|
||||
MPWEAPON_STR_04, // "Sniper Rifles",
|
||||
MPWEAPON_STR_05, // "Grenades",
|
||||
MPWEAPON_STR_06, // "Remote Mines",
|
||||
MPWEAPON_STR_07, // "Grenade Launchers",
|
||||
MPWEAPON_STR_08, // "Timed Mines",
|
||||
MPWEAPON_STR_09, // "Proximity Mines",
|
||||
MPWEAPON_STR_0A, // "Rockets",
|
||||
MPWEAPON_STR_0B, // "Lasers",
|
||||
MPWEAPON_STR_0C, // "Golden Gun",
|
||||
MPWEAPON_STR_0D, // "Throwing Knives",
|
||||
MPWEAPON_STR_0E, // 0,
|
||||
MPWEAPON_STR_0F // 0
|
||||
};
|
||||
@@ -0,0 +1,67 @@
|
||||
enum LOPTIONE_STRINGS
|
||||
{
|
||||
OPTION_STR_00, //"fire\n",
|
||||
OPTION_STR_01, //"aim\n",
|
||||
OPTION_STR_02, //"action\n",
|
||||
OPTION_STR_03, //"weapon\n",
|
||||
OPTION_STR_04, //"pause\n",
|
||||
OPTION_STR_05, //"move\n",
|
||||
OPTION_STR_06, //"look\n",
|
||||
OPTION_STR_07, //"?\n",
|
||||
OPTION_STR_08, //"move sight\n",
|
||||
OPTION_STR_09, //"1.1 honey\n",
|
||||
OPTION_STR_0A, //"1.2 solitaire\n",
|
||||
OPTION_STR_0B, //"1.3 kissy\n",
|
||||
OPTION_STR_0C, //"1.4 goodnight\n",
|
||||
OPTION_STR_0D, //"2.1 plenty\n",
|
||||
OPTION_STR_0E, //"2.2 galore\n",
|
||||
OPTION_STR_0F, //"2.3 domino\n",
|
||||
OPTION_STR_10, //"2.4 goodhead\n",
|
||||
OPTION_STR_11, //"look up/down\n",
|
||||
OPTION_STR_12, //"auto-aim\n",
|
||||
OPTION_STR_13, //"look ahead\n",
|
||||
OPTION_STR_14, //"aim control\n",
|
||||
OPTION_STR_15, //"sight on-screen\n",
|
||||
OPTION_STR_16, //"ammo on-screen\n",
|
||||
OPTION_STR_17, //"screen\n",
|
||||
OPTION_STR_18, //"ratio\n",
|
||||
OPTION_STR_19, //"on\n",
|
||||
OPTION_STR_1A, //"off\n",
|
||||
OPTION_STR_1B, //"upright\n",
|
||||
OPTION_STR_1C, //"reverse\n",
|
||||
OPTION_STR_1D, //"toggle\n",
|
||||
OPTION_STR_1E, //"hold\n",
|
||||
OPTION_STR_1F, //"full\n",
|
||||
OPTION_STR_20, //"wide\n",
|
||||
OPTION_STR_21, //"cinema\n",
|
||||
OPTION_STR_22, //"normal\n",
|
||||
OPTION_STR_23, //"16:9\n",
|
||||
OPTION_STR_24, //"abort:\n",
|
||||
OPTION_STR_25, //"confirm\n",
|
||||
OPTION_STR_26, //"cancel\n",
|
||||
OPTION_STR_27, //"mission status:\n",
|
||||
OPTION_STR_28, //"complete\n",
|
||||
OPTION_STR_29, //"incomplete\n",
|
||||
OPTION_STR_2A, //"Left Hand\n",
|
||||
OPTION_STR_2B, //"q watch v2.01 beta\n",
|
||||
OPTION_STR_2C, //"down\n",
|
||||
OPTION_STR_2D, //"up\n",
|
||||
OPTION_STR_2E, //"sidestep\n",
|
||||
OPTION_STR_2F, //"sidestep\n",
|
||||
OPTION_STR_30, //"forward\n",
|
||||
OPTION_STR_31, //"back\n",
|
||||
OPTION_STR_32, //"control style\n",
|
||||
OPTION_STR_33, //"controller\n",
|
||||
OPTION_STR_34, //"controllers\n",
|
||||
OPTION_STR_35, //"music\n",
|
||||
OPTION_STR_36, //"fx\n",
|
||||
OPTION_STR_37, //"failed\n",
|
||||
OPTION_STR_38, //"2. background\n",
|
||||
OPTION_STR_39, //"3. M briefing\n",
|
||||
OPTION_STR_3A, //"4. Q branch\n",
|
||||
OPTION_STR_3B, //"5. moneypenny\n",
|
||||
OPTION_STR_3C, //"1. mission objectives\n",
|
||||
OPTION_STR_3D, //0,
|
||||
OPTION_STR_3E, //0,
|
||||
OPTION_STR_3F //0
|
||||
};
|
||||
@@ -1,67 +1,67 @@
|
||||
|
||||
char *LoptionsE[] = {
|
||||
"fire\n",
|
||||
"aim\n",
|
||||
"action\n",
|
||||
"weapon\n",
|
||||
"pause\n",
|
||||
"move\n",
|
||||
"look\n",
|
||||
"?\n",
|
||||
"move sight\n",
|
||||
"1.1 honey\n",
|
||||
"1.2 solitaire\n",
|
||||
"1.3 kissy\n",
|
||||
"1.4 goodnight\n",
|
||||
"2.1 plenty\n",
|
||||
"2.2 galore\n",
|
||||
"2.3 domino\n",
|
||||
"2.4 goodhead\n",
|
||||
"look up/down\n",
|
||||
"auto-aim\n",
|
||||
"look ahead\n",
|
||||
"aim control\n",
|
||||
"sight on-screen\n",
|
||||
"ammo on-screen\n",
|
||||
"screen\n",
|
||||
"ratio\n",
|
||||
"on\n",
|
||||
"off\n",
|
||||
"upright\n",
|
||||
"reverse\n",
|
||||
"toggle\n",
|
||||
"hold\n",
|
||||
"full\n",
|
||||
"wide\n",
|
||||
"cinema\n",
|
||||
"normal\n",
|
||||
"16:9\n",
|
||||
"abort:\n",
|
||||
"confirm\n",
|
||||
"cancel\n",
|
||||
"mission status:\n",
|
||||
"complete\n",
|
||||
"incomplete\n",
|
||||
"Left Hand\n",
|
||||
"q watch v2.01 beta\n",
|
||||
"down\n",
|
||||
"up\n",
|
||||
"sidestep\n",
|
||||
"sidestep\n",
|
||||
"forward\n",
|
||||
"back\n",
|
||||
"control style\n",
|
||||
"controller\n",
|
||||
"controllers\n",
|
||||
"music\n",
|
||||
"fx\n",
|
||||
"failed\n",
|
||||
"2. background\n",
|
||||
"3. M briefing\n",
|
||||
"4. Q branch\n",
|
||||
"5. moneypenny\n",
|
||||
"1. mission objectives\n",
|
||||
0,
|
||||
0,
|
||||
0
|
||||
"fire\n", //OPTION_STR_00
|
||||
"aim\n", //OPTION_STR_01
|
||||
"action\n", //OPTION_STR_02
|
||||
"weapon\n", //OPTION_STR_03
|
||||
"pause\n", //OPTION_STR_04
|
||||
"move\n", //OPTION_STR_05
|
||||
"look\n", //OPTION_STR_06
|
||||
"?\n", //OPTION_STR_07
|
||||
"move sight\n", //OPTION_STR_08
|
||||
"1.1 honey\n", //OPTION_STR_09
|
||||
"1.2 solitaire\n", //OPTION_STR_0A
|
||||
"1.3 kissy\n", //OPTION_STR_0B
|
||||
"1.4 goodnight\n", //OPTION_STR_0C
|
||||
"2.1 plenty\n", //OPTION_STR_0D
|
||||
"2.2 galore\n", //OPTION_STR_0E
|
||||
"2.3 domino\n", //OPTION_STR_0F
|
||||
"2.4 goodhead\n", //OPTION_STR_10
|
||||
"look up/down\n", //OPTION_STR_11
|
||||
"auto-aim\n", //OPTION_STR_12
|
||||
"look ahead\n", //OPTION_STR_13
|
||||
"aim control\n", //OPTION_STR_14
|
||||
"sight on-screen\n", //OPTION_STR_15
|
||||
"ammo on-screen\n", //OPTION_STR_16
|
||||
"screen\n", //OPTION_STR_17
|
||||
"ratio\n", //OPTION_STR_18
|
||||
"on\n", //OPTION_STR_19
|
||||
"off\n", //OPTION_STR_1A
|
||||
"upright\n", //OPTION_STR_1B
|
||||
"reverse\n", //OPTION_STR_1C
|
||||
"toggle\n", //OPTION_STR_1D
|
||||
"hold\n", //OPTION_STR_1E
|
||||
"full\n", //OPTION_STR_1F
|
||||
"wide\n", //OPTION_STR_20
|
||||
"cinema\n", //OPTION_STR_21
|
||||
"normal\n", //OPTION_STR_22
|
||||
"16:9\n", //OPTION_STR_23
|
||||
"abort:\n", //OPTION_STR_24
|
||||
"confirm\n", //OPTION_STR_25
|
||||
"cancel\n", //OPTION_STR_26
|
||||
"mission status:\n", //OPTION_STR_27
|
||||
"complete\n", //OPTION_STR_28
|
||||
"incomplete\n", //OPTION_STR_29
|
||||
"Left Hand\n", //OPTION_STR_2A
|
||||
"q watch v2.01 beta\n", //OPTION_STR_2B
|
||||
"down\n", //OPTION_STR_2C
|
||||
"up\n", //OPTION_STR_2D
|
||||
"sidestep\n", //OPTION_STR_2E
|
||||
"sidestep\n", //OPTION_STR_2F
|
||||
"forward\n", //OPTION_STR_30
|
||||
"back\n", //OPTION_STR_31
|
||||
"control style\n", //OPTION_STR_32
|
||||
"controller\n", //OPTION_STR_33
|
||||
"controllers\n", //OPTION_STR_34
|
||||
"music\n", //OPTION_STR_35
|
||||
"fx\n", //OPTION_STR_36
|
||||
"failed\n", //OPTION_STR_37
|
||||
"2. background\n", //OPTION_STR_38
|
||||
"3. M briefing\n", //OPTION_STR_39
|
||||
"4. Q branch\n", //OPTION_STR_3A
|
||||
"5. moneypenny\n", //OPTION_STR_3B
|
||||
"1. mission objectives\n", //OPTION_STR_3C
|
||||
0, //OPTION_STR_3D
|
||||
0, //OPTION_STR_3E
|
||||
0 //OPTION_STR_3F
|
||||
};
|
||||
@@ -1,71 +1,71 @@
|
||||
|
||||
char *LpropobjE[] = {
|
||||
"Picked up ",
|
||||
"some ",
|
||||
"a ",
|
||||
"an ",
|
||||
"the ",
|
||||
"ammo",
|
||||
"shotgun cartridge",
|
||||
"magnum bullet",
|
||||
"golden bullet",
|
||||
"hand grenade",
|
||||
"grenade round",
|
||||
"rocket",
|
||||
"remote mine",
|
||||
"proximity mine",
|
||||
"timed mine",
|
||||
"throwing ",
|
||||
"knife",
|
||||
"knives",
|
||||
"s",
|
||||
"dart",
|
||||
"explosive pen",
|
||||
"explosive case",
|
||||
"flare",
|
||||
"piton",
|
||||
"of dynamite",
|
||||
"stick ",
|
||||
"sticks ",
|
||||
"bug",
|
||||
"micro camera",
|
||||
"GoldenEye key",
|
||||
"token",
|
||||
"plastique",
|
||||
"a hunting knife.\n",
|
||||
"a PP7.\n",
|
||||
"a silenced PP7.\n",
|
||||
"a DD44 Dostovei.\n",
|
||||
"a Klobb.\n",
|
||||
"a KF7 Soviet.\n",
|
||||
"a ZMG (9mm).\n",
|
||||
"a D5K Deutsche.\n",
|
||||
"a silenced D5K.\n",
|
||||
"a Phantom.\n",
|
||||
"an AR33 assault rifle.\n",
|
||||
"an RC-P90.\n",
|
||||
"a shotgun.\n",
|
||||
"an automatic shotgun.\n",
|
||||
"a sniper rifle.\n",
|
||||
"a grenade launcher.\n",
|
||||
"a rocket launcher.\n",
|
||||
"a Cougar Magnum.\n",
|
||||
"the Golden Gun.\n",
|
||||
"a Moonraker laser.\n",
|
||||
"a flare pistol.\n",
|
||||
"a piton gun.\n",
|
||||
"a silver PP7.\n",
|
||||
"a gold PP7.\n",
|
||||
"a keycard.\n",
|
||||
"a yale key.\n",
|
||||
"a bolt key.\n",
|
||||
"a new weapon.\n",
|
||||
"Picked up a key.\n",
|
||||
"Picked up some body armor.\n",
|
||||
"body armor.\n",
|
||||
"Picked up something.\n",
|
||||
"This door is locked.\n",
|
||||
0,
|
||||
0,
|
||||
0
|
||||
"Picked up ", //PROPOBJ_STR_00
|
||||
"some ", //PROPOBJ_STR_01
|
||||
"a ", //PROPOBJ_STR_02
|
||||
"an ", //PROPOBJ_STR_03
|
||||
"the ", //PROPOBJ_STR_04
|
||||
"ammo", //PROPOBJ_STR_05
|
||||
"shotgun cartridge", //PROPOBJ_STR_06
|
||||
"magnum bullet", //PROPOBJ_STR_07
|
||||
"golden bullet", //PROPOBJ_STR_08
|
||||
"hand grenade", //PROPOBJ_STR_09
|
||||
"grenade round", //PROPOBJ_STR_0A
|
||||
"rocket", //PROPOBJ_STR_0B
|
||||
"remote mine", //PROPOBJ_STR_0C
|
||||
"proximity mine", //PROPOBJ_STR_0D
|
||||
"timed mine", //PROPOBJ_STR_0E
|
||||
"throwing ", //PROPOBJ_STR_0F
|
||||
"knife", //PROPOBJ_STR_10
|
||||
"knives", //PROPOBJ_STR_11
|
||||
"s", //PROPOBJ_STR_12
|
||||
"dart", //PROPOBJ_STR_13
|
||||
"explosive pen", //PROPOBJ_STR_14
|
||||
"explosive case", //PROPOBJ_STR_15
|
||||
"flare", //PROPOBJ_STR_16
|
||||
"piton", //PROPOBJ_STR_17
|
||||
"of dynamite", //PROPOBJ_STR_18
|
||||
"stick ", //PROPOBJ_STR_19
|
||||
"sticks ", //PROPOBJ_STR_1A
|
||||
"bug", //PROPOBJ_STR_1B
|
||||
"micro camera", //PROPOBJ_STR_1C
|
||||
"GoldenEye key", //PROPOBJ_STR_1D
|
||||
"token", //PROPOBJ_STR_1E
|
||||
"plastique", //PROPOBJ_STR_1F
|
||||
"a hunting knife.\n", //PROPOBJ_STR_20
|
||||
"a PP7.\n", //PROPOBJ_STR_21
|
||||
"a silenced PP7.\n", //PROPOBJ_STR_22
|
||||
"a DD44 Dostovei.\n", //PROPOBJ_STR_23
|
||||
"a Klobb.\n", //PROPOBJ_STR_24
|
||||
"a KF7 Soviet.\n", //PROPOBJ_STR_25
|
||||
"a ZMG (9mm).\n", //PROPOBJ_STR_26
|
||||
"a D5K Deutsche.\n", //PROPOBJ_STR_27
|
||||
"a silenced D5K.\n", //PROPOBJ_STR_28
|
||||
"a Phantom.\n", //PROPOBJ_STR_29
|
||||
"an AR33 assault rifle.\n", //PROPOBJ_STR_2A
|
||||
"an RC-P90.\n", //PROPOBJ_STR_2B
|
||||
"a shotgun.\n", //PROPOBJ_STR_2C
|
||||
"an automatic shotgun.\n", //PROPOBJ_STR_2D
|
||||
"a sniper rifle.\n", //PROPOBJ_STR_2E
|
||||
"a grenade launcher.\n", //PROPOBJ_STR_2F
|
||||
"a rocket launcher.\n", //PROPOBJ_STR_30
|
||||
"a Cougar Magnum.\n", //PROPOBJ_STR_31
|
||||
"the Golden Gun.\n", //PROPOBJ_STR_32
|
||||
"a Moonraker laser.\n", //PROPOBJ_STR_33
|
||||
"a flare pistol.\n", //PROPOBJ_STR_34
|
||||
"a piton gun.\n", //PROPOBJ_STR_35
|
||||
"a silver PP7.\n", //PROPOBJ_STR_36
|
||||
"a gold PP7.\n", //PROPOBJ_STR_37
|
||||
"a keycard.\n", //PROPOBJ_STR_38
|
||||
"a yale key.\n", //PROPOBJ_STR_39
|
||||
"a bolt key.\n", //PROPOBJ_STR_3A
|
||||
"a new weapon.\n", //PROPOBJ_STR_3B
|
||||
"Picked up a key.\n", //PROPOBJ_STR_3C
|
||||
"Picked up some body armor.\n", //PROPOBJ_STR_3D
|
||||
"body armor.\n", //PROPOBJ_STR_3E
|
||||
"Picked up something.\n", //PROPOBJ_STR_3F
|
||||
"This door is locked.\n", //PROPOBJ_STR_40
|
||||
0, //PROPOBJ_STR_41
|
||||
0, //PROPOBJ_STR_42
|
||||
0 //PROPOBJ_STR_43
|
||||
};
|
||||
@@ -0,0 +1,72 @@
|
||||
enum LPROPOBJE_STRINGS
|
||||
{
|
||||
PROPOBJ_STR_00, // "Picked up ",
|
||||
PROPOBJ_STR_01, // "some ",
|
||||
PROPOBJ_STR_02, // "a ",
|
||||
PROPOBJ_STR_03, // "an ",
|
||||
PROPOBJ_STR_04, // "the ",
|
||||
PROPOBJ_STR_05, // "ammo",
|
||||
PROPOBJ_STR_06, // "shotgun cartridge",
|
||||
PROPOBJ_STR_07, // "magnum bullet",
|
||||
PROPOBJ_STR_08, // "golden bullet",
|
||||
PROPOBJ_STR_09, // "hand grenade",
|
||||
PROPOBJ_STR_0A, // "grenade round",
|
||||
PROPOBJ_STR_0B, // "rocket",
|
||||
PROPOBJ_STR_0C, // "remote mine",
|
||||
PROPOBJ_STR_0D, // "proximity mine",
|
||||
PROPOBJ_STR_0E, // "timed mine",
|
||||
PROPOBJ_STR_0F, // "throwing ",
|
||||
PROPOBJ_STR_10, // "knife",
|
||||
PROPOBJ_STR_11, // "knives",
|
||||
PROPOBJ_STR_12, // "s",
|
||||
PROPOBJ_STR_13, // "dart",
|
||||
PROPOBJ_STR_14, // "explosive pen",
|
||||
PROPOBJ_STR_15, // "explosive case",
|
||||
PROPOBJ_STR_16, // "flare",
|
||||
PROPOBJ_STR_17, // "piton",
|
||||
PROPOBJ_STR_18, // "of dynamite",
|
||||
PROPOBJ_STR_19, // "stick ",
|
||||
PROPOBJ_STR_1A, // "sticks ",
|
||||
PROPOBJ_STR_1B, // "bug",
|
||||
PROPOBJ_STR_1C, // "micro camera",
|
||||
PROPOBJ_STR_1D, // "GoldenEye key",
|
||||
PROPOBJ_STR_1E, // "token",
|
||||
PROPOBJ_STR_1F, // "plastique",
|
||||
PROPOBJ_STR_20, // "a hunting knife.\n",
|
||||
PROPOBJ_STR_21, // "a PP7.\n",
|
||||
PROPOBJ_STR_22, // "a silenced PP7.\n",
|
||||
PROPOBJ_STR_23, // "a DD44 Dostovei.\n",
|
||||
PROPOBJ_STR_24, // "a Klobb.\n",
|
||||
PROPOBJ_STR_25, // "a KF7 Soviet.\n",
|
||||
PROPOBJ_STR_26, // "a ZMG (9mm).\n",
|
||||
PROPOBJ_STR_27, // "a D5K Deutsche.\n",
|
||||
PROPOBJ_STR_28, // "a silenced D5K.\n",
|
||||
PROPOBJ_STR_29, // "a Phantom.\n",
|
||||
PROPOBJ_STR_2A, // "an AR33 assault rifle.\n",
|
||||
PROPOBJ_STR_2B, // "an RC-P90.\n",
|
||||
PROPOBJ_STR_2C, // "a shotgun.\n",
|
||||
PROPOBJ_STR_2D, // "an automatic shotgun.\n",
|
||||
PROPOBJ_STR_2E, // "a sniper rifle.\n",
|
||||
PROPOBJ_STR_2F, // "a grenade launcher.\n",
|
||||
PROPOBJ_STR_30, // "a rocket launcher.\n",
|
||||
PROPOBJ_STR_31, // "a Cougar Magnum.\n",
|
||||
PROPOBJ_STR_32, // "the Golden Gun.\n",
|
||||
PROPOBJ_STR_33, // "a Moonraker laser.\n",
|
||||
PROPOBJ_STR_34, // "a flare pistol.\n",
|
||||
PROPOBJ_STR_35, // "a piton gun.\n",
|
||||
PROPOBJ_STR_36, // "a silver PP7.\n",
|
||||
PROPOBJ_STR_37, // "a gold PP7.\n",
|
||||
PROPOBJ_STR_38, // "a keycard.\n",
|
||||
PROPOBJ_STR_39, // "a yale key.\n",
|
||||
PROPOBJ_STR_3A, // "a bolt key.\n",
|
||||
PROPOBJ_STR_3B, // "a new weapon.\n",
|
||||
PROPOBJ_STR_3C, // "Picked up a key.\n",
|
||||
PROPOBJ_STR_3D, // "Picked up some body armor.\n",
|
||||
PROPOBJ_STR_3E, // "body armor.\n",
|
||||
PROPOBJ_STR_3F, // "Picked up something.\n",
|
||||
PROPOBJ_STR_40, // "This door is locked.\n",
|
||||
PROPOBJ_STR_41, // 0,
|
||||
PROPOBJ_STR_42, // 0,
|
||||
PROPOBJ_STR_43 // 0
|
||||
};
|
||||
|
||||
+304
-305
@@ -1,310 +1,309 @@
|
||||
|
||||
char *LtitleE[] = {
|
||||
"hour",
|
||||
"minute",
|
||||
"second",
|
||||
"s",
|
||||
"START\n",
|
||||
"NEXT\n",
|
||||
"PREVIOUS\n",
|
||||
"TWYCROSS BOARD OF GAME CLASSIFICATION\n",
|
||||
"This is to certify\n",
|
||||
"(c) 1997 Nintendo/Rare\n",
|
||||
"(c) 1962, 1995 Danjaq, LLC. &\n",
|
||||
"U.A.C. All Rights Reserved\n",
|
||||
"(c) 1997 Eon Productions\n",
|
||||
"Ltd. & Mac B. Inc.\n",
|
||||
"Suitable only for 1-4 persons\n",
|
||||
"PRESIDENT\n",
|
||||
"VICE\n",
|
||||
"James Bond theme by Monty Norman.\n",
|
||||
"Used by permission of EMI Unart Catalog Inc.\n",
|
||||
"Agent",
|
||||
"Secret Agent",
|
||||
"00 Agent",
|
||||
"007",
|
||||
"Erase file?\n",
|
||||
"cancel\n",
|
||||
"confirm\n",
|
||||
"Mission ",
|
||||
"Copy\n",
|
||||
"Erase\n",
|
||||
"SELECT MISSION\n",
|
||||
"MULTIPLAYER\n",
|
||||
"CHEAT OPTIONS\n",
|
||||
": James Bond\n",
|
||||
"Mission ",
|
||||
"Part ",
|
||||
"DIFFICULTY:\n",
|
||||
"Agent\n",
|
||||
"Secret Agent\n",
|
||||
"00 Agent\n",
|
||||
"007\n",
|
||||
"SPECIAL OPTIONS:\n",
|
||||
"Enemy reaction speed\n",
|
||||
"Enemy health\n",
|
||||
"Enemy damage\n",
|
||||
"Enemy accuracy\n",
|
||||
"Unlimited",
|
||||
"5 Minutes",
|
||||
"10 Minutes",
|
||||
"20 Minutes",
|
||||
"First to 5 points",
|
||||
"First to 10 points",
|
||||
"First to 20 points",
|
||||
"Last person alive wins",
|
||||
"Normal",
|
||||
"You Only Live Twice",
|
||||
"The Living Daylights [Flag Tag]",
|
||||
"The Man With the Golden Gun",
|
||||
"License to Kill",
|
||||
"Team: 2 vs 2",
|
||||
"Team: 3 vs 1",
|
||||
"Team: 2 vs 1",
|
||||
"Health -10\n(Hero)",
|
||||
"Health -4\n(Veteran)",
|
||||
"Health -3\n(Veteran)",
|
||||
"Health -2\n(Veteran)",
|
||||
"Health -1\n(Veteran)",
|
||||
"Health +0\n(Normal)",
|
||||
"Health +1\n(Novice)",
|
||||
"Health +2\n(Novice)",
|
||||
"Health +3\n(Novice)",
|
||||
"Health +4\n(Novice)",
|
||||
"Health +10\n(Rookie)",
|
||||
"Sight OFF, Auto Aim OFF",
|
||||
"Sight ON, Auto Aim OFF",
|
||||
"Sight OFF, Auto Aim ON",
|
||||
"Sight ON, Auto Aim ON",
|
||||
"MULTIPLAYER OPTIONS:\n",
|
||||
"Players:\n",
|
||||
"Scenario:\n",
|
||||
"Level:\n",
|
||||
"Game Length:\n",
|
||||
"Weapons:\n",
|
||||
"Characters\n",
|
||||
"Health\n",
|
||||
"Aim:\n",
|
||||
"Select Character",
|
||||
"Select Handicap:",
|
||||
"SCENARIO:\n",
|
||||
"Select Teams",
|
||||
"Red Team",
|
||||
"Blue Team",
|
||||
"Completed\n",
|
||||
"FAILED\n",
|
||||
"PRIMARY OBJECTIVES:\n",
|
||||
"BACKGROUND:\n",
|
||||
"M BRIEFING:\n",
|
||||
"Q BRANCH:\n",
|
||||
"MONEYPENNY:\n",
|
||||
"REPORT:\n",
|
||||
"Mission status:\n",
|
||||
" KILLED IN ACTION\n",
|
||||
" ABORTED\n",
|
||||
" Completed\n",
|
||||
" FAILED\n",
|
||||
"STATISTICS:\n",
|
||||
"Time:\n",
|
||||
"Accuracy:\n",
|
||||
"Weapon of choice:\n",
|
||||
"Shot total:\n",
|
||||
"Head hits:\n",
|
||||
"Body hits:\n",
|
||||
"Limb hits:\n",
|
||||
"Others:\n",
|
||||
"Kill total:\n",
|
||||
"CHEAT OPTIONS:\n",
|
||||
"ON\n",
|
||||
"OFF\n",
|
||||
"CHEAT SELECT MISSION",
|
||||
"NO CONTROLLER IN CONTROLLER SOCKET 1",
|
||||
"PLEASE POWER OFF AND ATTACH A CONTROLLER",
|
||||
"Arkangelsk",
|
||||
"Dam",
|
||||
"Facility",
|
||||
"Runway",
|
||||
"Severnaya",
|
||||
"Surface",
|
||||
"Bunker",
|
||||
"Kirghizstan",
|
||||
"Launch Silo #4",
|
||||
"Silo",
|
||||
"Monte Carlo",
|
||||
"Frigate",
|
||||
"St. Petersburg",
|
||||
"Statue Park",
|
||||
"Statue",
|
||||
"Military Archives",
|
||||
"Archives",
|
||||
"Streets",
|
||||
"Depot",
|
||||
"Train",
|
||||
"Cuba",
|
||||
"Jungle",
|
||||
"Control Center",
|
||||
"Control",
|
||||
"Water Caverns",
|
||||
"Caverns",
|
||||
"Antenna Cradle",
|
||||
"Cradle",
|
||||
"Teotihuaca'n",
|
||||
"Aztec Complex",
|
||||
"Aztec",
|
||||
"el-Saghira",
|
||||
"Egyptian Temple",
|
||||
"Egyptian",
|
||||
"Random",
|
||||
"RANDOM",
|
||||
"Temple",
|
||||
"TEMPLE",
|
||||
"Complex",
|
||||
"COMPLEX",
|
||||
"Library",
|
||||
"LIBRARY",
|
||||
"Caves",
|
||||
"CAVES",
|
||||
"Facility",
|
||||
"FACILITY",
|
||||
"Severnaya Bunker",
|
||||
"BUNKER",
|
||||
"Military Archives",
|
||||
"ARCHIVES",
|
||||
"Water Caverns",
|
||||
"CAVERNS",
|
||||
"Egyptian Temple",
|
||||
"EGYPTIAN",
|
||||
"Citadel",
|
||||
"CITADEL",
|
||||
"dest",
|
||||
"dest",
|
||||
"stat",
|
||||
"stat",
|
||||
"crad",
|
||||
"cradle",
|
||||
"azt",
|
||||
"azt",
|
||||
"Bond",
|
||||
"Mishkin",
|
||||
"Boris",
|
||||
"Ourumov",
|
||||
"Trevelyan",
|
||||
"Valentin",
|
||||
"Xenia",
|
||||
"Natalya",
|
||||
"Baron Samedi",
|
||||
"Jaws",
|
||||
"Mayday",
|
||||
"Oddjob",
|
||||
"Rosika",
|
||||
"Karl",
|
||||
"Martin",
|
||||
"Mark",
|
||||
"Dave",
|
||||
"Duncan",
|
||||
"B",
|
||||
"Steve E",
|
||||
"Grant",
|
||||
"Graeme",
|
||||
"Ken",
|
||||
"Alan",
|
||||
"Pete",
|
||||
"Shaun",
|
||||
"Dwayne",
|
||||
"Des",
|
||||
"Chris",
|
||||
"Lee",
|
||||
"Neil",
|
||||
"Jim",
|
||||
"Robin",
|
||||
"Steve H",
|
||||
"Terrorist",
|
||||
"Biker",
|
||||
"Joel",
|
||||
"Scott",
|
||||
"Joe",
|
||||
"Sally",
|
||||
"Marion",
|
||||
"Mandy",
|
||||
"Vivien",
|
||||
"\n",
|
||||
"The Actors\n",
|
||||
"Starring\n",
|
||||
"Also Featuring\n",
|
||||
"Guest Star\n",
|
||||
"007\n",
|
||||
"James Bond",
|
||||
"Natalya Simonova\n",
|
||||
"006\n",
|
||||
"Alec Trevelyan\n",
|
||||
"Janus Operative\n",
|
||||
"Xenia Onatopp\n",
|
||||
"General\n",
|
||||
"Arkady Ourumov\n",
|
||||
"Boris Grishenko\n",
|
||||
"Ex KGB Agent\n",
|
||||
"Valentin Zukovsky\n",
|
||||
"Defense Minister\n",
|
||||
"Dimitri Mishkin\n",
|
||||
"Mayday\n",
|
||||
"Jaws\n",
|
||||
"Oddjob\n",
|
||||
"Baron Samedi\n",
|
||||
"Jungle Commando\n",
|
||||
"St. Petersburg Guard\n",
|
||||
"Russian Infantry\n",
|
||||
"Russian Soldier\n",
|
||||
"Janus Marine\n",
|
||||
"Janus Special Forces\n",
|
||||
"Russian Commandant\n",
|
||||
"Naval Officer\n",
|
||||
"Siberian Guard\n",
|
||||
"Arctic Commando\n",
|
||||
"Siberian Special Forces\n",
|
||||
"Moonraker Elite\n",
|
||||
"Helicopter Pilot\n",
|
||||
"Scientist\n",
|
||||
"Civilian\n",
|
||||
"1.\n",
|
||||
"2.\n",
|
||||
"3.\n",
|
||||
"4.\n",
|
||||
"Basement",
|
||||
"BASEMENT",
|
||||
"Stack",
|
||||
"STACK",
|
||||
"Best Time:",
|
||||
"Target:",
|
||||
"New Cheat Available",
|
||||
"CHEAT MULTIPLAYER\n",
|
||||
"1.1 Honey\n",
|
||||
"1.2 Solitaire\n",
|
||||
"1.3 Kissy\n",
|
||||
"1.4 Goodnight\n",
|
||||
"2.1 Plenty\n",
|
||||
"2.2 Galore\n",
|
||||
"2.3 Domino\n",
|
||||
"2.4 Goodhead\n",
|
||||
"Select Control Style\n",
|
||||
"Control Style\n",
|
||||
#ifdef LANG_US
|
||||
0
|
||||
"hour", //TITLE_STR_0
|
||||
"minute", //TITLE_STR_1
|
||||
"second", //TITLE_STR_2
|
||||
"s", //TITLE_STR_3
|
||||
"START\n", //TITLE_STR_04
|
||||
"NEXT\n", //TITLE_STR_05
|
||||
"PREVIOUS\n", //TITLE_STR_06
|
||||
"TWYCROSS BOARD OF GAME CLASSIFICATION\n", //TITLE_STR_07
|
||||
"This is to certify\n", //TITLE_STR_08
|
||||
"(c) 1997 Nintendo/Rare\n", //TITLE_STR_09
|
||||
"(c) 1962, 1995 Danjaq, LLC. &\n", //TITLE_STR_10
|
||||
"U.A.C. All Rights Reserved\n", //TITLE_STR_11
|
||||
"(c) 1997 Eon Productions\n", //TITLE_STR_12
|
||||
"Ltd. & Mac B. Inc.\n", //TITLE_STR_13
|
||||
"Suitable only for 1-4 persons\n", //TITLE_STR_14
|
||||
"PRESIDENT\n", //TITLE_STR_15
|
||||
"VICE\n", //TITLE_STR_16
|
||||
"James Bond theme by Monty Norman.\n", //TITLE_STR_17
|
||||
"Used by permission of EMI Unart Catalog Inc.\n", //TITLE_STR_18
|
||||
"Agent", //TITLE_STR_19
|
||||
"Secret Agent", //TITLE_STR_20
|
||||
"00 Agent", //TITLE_STR_21
|
||||
"007", //TITLE_STR_22
|
||||
"Erase file?\n", //TITLE_STR_23
|
||||
"cancel\n", //TITLE_STR_24
|
||||
"confirm\n", //TITLE_STR_25
|
||||
"Mission ", //TITLE_STR_26
|
||||
"Copy\n", //TITLE_STR_27
|
||||
"Erase\n", //TITLE_STR_28
|
||||
"SELECT MISSION\n", //TITLE_STR_29
|
||||
"MULTIPLAYER\n", //TITLE_STR_30
|
||||
"CHEAT OPTIONS\n", //TITLE_STR_31
|
||||
": James Bond\n", //TITLE_STR_32
|
||||
"Mission ", //TITLE_STR_33
|
||||
"Part ", //TITLE_STR_34
|
||||
"DIFFICULTY:\n", //TITLE_STR_35
|
||||
"Agent\n", //TITLE_STR_36
|
||||
"Secret Agent\n", //TITLE_STR_37
|
||||
"00 Agent\n", //TITLE_STR_38
|
||||
"007\n", //TITLE_STR_39
|
||||
"SPECIAL OPTIONS:\n", //TITLE_STR_40
|
||||
"Enemy reaction speed\n", //TITLE_STR_41
|
||||
"Enemy health\n", //TITLE_STR_42
|
||||
"Enemy damage\n", //TITLE_STR_43
|
||||
"Enemy accuracy\n", //TITLE_STR_44
|
||||
"Unlimited", //TITLE_STR_45
|
||||
"5 Minutes", //TITLE_STR_46
|
||||
"10 Minutes", //TITLE_STR_47
|
||||
"20 Minutes", //TITLE_STR_48
|
||||
"First to 5 points", //TITLE_STR_49
|
||||
"First to 10 points", //TITLE_STR_50
|
||||
"First to 20 points", //TITLE_STR_51
|
||||
"Last person alive wins", //TITLE_STR_52
|
||||
"Normal", //TITLE_STR_53
|
||||
"You Only Live Twice", //TITLE_STR_54
|
||||
"The Living Daylights [Flag Tag]", //TITLE_STR_55
|
||||
"The Man With the Golden Gun", //TITLE_STR_56
|
||||
"License to Kill", //TITLE_STR_57
|
||||
"Team: 2 vs 2", //TITLE_STR_58
|
||||
"Team: 3 vs 1", //TITLE_STR_59
|
||||
"Team: 2 vs 1", //TITLE_STR_60
|
||||
"Health -10\n(Hero)", //TITLE_STR_61
|
||||
"Health -4\n(Veteran)", //TITLE_STR_62
|
||||
"Health -3\n(Veteran)", //TITLE_STR_63
|
||||
"Health -2\n(Veteran)", //TITLE_STR_64
|
||||
"Health -1\n(Veteran)", //TITLE_STR_65
|
||||
"Health +0\n(Normal)", //TITLE_STR_66
|
||||
"Health +1\n(Novice)", //TITLE_STR_67
|
||||
"Health +2\n(Novice)", //TITLE_STR_68
|
||||
"Health +3\n(Novice)", //TITLE_STR_69
|
||||
"Health +4\n(Novice)", //TITLE_STR_70
|
||||
"Health +10\n(Rookie)", //TITLE_STR_71
|
||||
"Sight OFF, Auto Aim OFF", //TITLE_STR_72
|
||||
"Sight ON, Auto Aim OFF", //TITLE_STR_73
|
||||
"Sight OFF, Auto Aim ON", //TITLE_STR_74
|
||||
"Sight ON, Auto Aim ON", //TITLE_STR_75
|
||||
"MULTIPLAYER OPTIONS:\n", //TITLE_STR_76
|
||||
"Players:\n", //TITLE_STR_77
|
||||
"Scenario:\n", //TITLE_STR_78
|
||||
"Level:\n", //TITLE_STR_79
|
||||
"Game Length:\n", //TITLE_STR_80
|
||||
"Weapons:\n", //TITLE_STR_81
|
||||
"Characters\n", //TITLE_STR_82
|
||||
"Health\n", //TITLE_STR_83
|
||||
"Aim:\n", //TITLE_STR_84
|
||||
"Select Character", //TITLE_STR_85
|
||||
"Select Handicap:", //TITLE_STR_86
|
||||
"SCENARIO:\n", //TITLE_STR_87
|
||||
"Select Teams", //TITLE_STR_88
|
||||
"Red Team", //TITLE_STR_89
|
||||
"Blue Team", //TITLE_STR_90
|
||||
"Completed\n", //TITLE_STR_91
|
||||
"FAILED\n", //TITLE_STR_92
|
||||
"PRIMARY OBJECTIVES:\n", //TITLE_STR_93
|
||||
"BACKGROUND:\n", //TITLE_STR_94
|
||||
"M BRIEFING:\n", //TITLE_STR_95
|
||||
"Q BRANCH:\n", //TITLE_STR_96
|
||||
"MONEYPENNY:\n", //TITLE_STR_97
|
||||
"REPORT:\n", //TITLE_STR_98
|
||||
"Mission status:\n", //TITLE_STR_99
|
||||
" KILLED IN ACTION\n", //TITLE_STR_100
|
||||
" ABORTED\n", //TITLE_STR_101
|
||||
" Completed\n", //TITLE_STR_102
|
||||
" FAILED\n", //TITLE_STR_103
|
||||
"STATISTICS:\n", //TITLE_STR_104
|
||||
"Time:\n", //TITLE_STR_105
|
||||
"Accuracy:\n", //TITLE_STR_106
|
||||
"Weapon of choice:\n", //TITLE_STR_107
|
||||
"Shot total:\n", //TITLE_STR_108
|
||||
"Head hits:\n", //TITLE_STR_109
|
||||
"Body hits:\n", //TITLE_STR_110
|
||||
"Limb hits:\n", //TITLE_STR_111
|
||||
"Others:\n", //TITLE_STR_112
|
||||
"Kill total:\n", //TITLE_STR_113
|
||||
"CHEAT OPTIONS:\n", //TITLE_STR_114
|
||||
"ON\n", //TITLE_STR_115
|
||||
"OFF\n", //TITLE_STR_116
|
||||
"CHEAT SELECT MISSION", //TITLE_STR_117
|
||||
"NO CONTROLLER IN CONTROLLER SOCKET 1", //TITLE_STR_118
|
||||
"PLEASE POWER OFF AND ATTACH A CONTROLLER", //TITLE_STR_119
|
||||
"Arkangelsk", //TITLE_STR_120
|
||||
"Dam", //TITLE_STR_121
|
||||
"Facility", //TITLE_STR_122
|
||||
"Runway", //TITLE_STR_123
|
||||
"Severnaya", //TITLE_STR_124
|
||||
"Surface", //TITLE_STR_125
|
||||
"Bunker", //TITLE_STR_126
|
||||
"Kirghizstan", //TITLE_STR_127
|
||||
"Launch Silo #4", //TITLE_STR_128
|
||||
"Silo", //TITLE_STR_129
|
||||
"Monte Carlo", //TITLE_STR_130
|
||||
"Frigate", //TITLE_STR_131
|
||||
"St. Petersburg", //TITLE_STR_132
|
||||
"Statue Park", //TITLE_STR_133
|
||||
"Statue", //TITLE_STR_134
|
||||
"Military Archives", //TITLE_STR_135
|
||||
"Archives", //TITLE_STR_136
|
||||
"Streets", //TITLE_STR_137
|
||||
"Depot", //TITLE_STR_138
|
||||
"Train", //TITLE_STR_139
|
||||
"Cuba", //TITLE_STR_140
|
||||
"Jungle", //TITLE_STR_141
|
||||
"Control Center", //TITLE_STR_142
|
||||
"Control", //TITLE_STR_143
|
||||
"Water Caverns", //TITLE_STR_144
|
||||
"Caverns", //TITLE_STR_145
|
||||
"Antenna Cradle", //TITLE_STR_146
|
||||
"Cradle", //TITLE_STR_147
|
||||
"Teotihuaca'n", //TITLE_STR_148
|
||||
"Aztec Complex", //TITLE_STR_149
|
||||
"Aztec", //TITLE_STR_150
|
||||
"el-Saghira", //TITLE_STR_151
|
||||
"Egyptian Temple", //TITLE_STR_152
|
||||
"Egyptian", //TITLE_STR_153
|
||||
"Random", //TITLE_STR_154
|
||||
"RANDOM", //TITLE_STR_155
|
||||
"Temple", //TITLE_STR_156
|
||||
"TEMPLE", //TITLE_STR_157
|
||||
"Complex", //TITLE_STR_158
|
||||
"COMPLEX", //TITLE_STR_159
|
||||
"Library", //TITLE_STR_160
|
||||
"LIBRARY", //TITLE_STR_161
|
||||
"Caves", //TITLE_STR_162
|
||||
"CAVES", //TITLE_STR_163
|
||||
"Facility", //TITLE_STR_164
|
||||
"FACILITY", //TITLE_STR_165
|
||||
"Severnaya Bunker", //TITLE_STR_166
|
||||
"BUNKER", //TITLE_STR_167
|
||||
"Military Archives", //TITLE_STR_168
|
||||
"ARCHIVES", //TITLE_STR_169
|
||||
"Water Caverns", //TITLE_STR_170
|
||||
"CAVERNS", //TITLE_STR_171
|
||||
"Egyptian Temple", //TITLE_STR_172
|
||||
"EGYPTIAN", //TITLE_STR_173
|
||||
"Citadel", //TITLE_STR_174
|
||||
"CITADEL", //TITLE_STR_175
|
||||
"dest", //TITLE_STR_176
|
||||
"dest", //TITLE_STR_177
|
||||
"stat", //TITLE_STR_178
|
||||
"stat", //TITLE_STR_179
|
||||
"crad", //TITLE_STR_180
|
||||
"cradle", //TITLE_STR_181
|
||||
"azt", //TITLE_STR_182
|
||||
"azt", //TITLE_STR_183
|
||||
"Bond", //TITLE_STR_184
|
||||
"Mishkin", //TITLE_STR_185
|
||||
"Boris", //TITLE_STR_186
|
||||
"Ourumov", //TITLE_STR_187
|
||||
"Trevelyan", //TITLE_STR_188
|
||||
"Valentin", //TITLE_STR_189
|
||||
"Xenia", //TITLE_STR_190
|
||||
"Natalya", //TITLE_STR_191
|
||||
"Baron Samedi", //TITLE_STR_192
|
||||
"Jaws", //TITLE_STR_193
|
||||
"Mayday", //TITLE_STR_194
|
||||
"Oddjob", //TITLE_STR_195
|
||||
"Rosika", //TITLE_STR_196
|
||||
"Karl", //TITLE_STR_197
|
||||
"Martin", //TITLE_STR_198
|
||||
"Mark", //TITLE_STR_199
|
||||
"Dave", //TITLE_STR_200
|
||||
"Duncan", //TITLE_STR_201
|
||||
"B", //TITLE_STR_202
|
||||
"Steve E", //TITLE_STR_203
|
||||
"Grant", //TITLE_STR_204
|
||||
"Graeme", //TITLE_STR_205
|
||||
"Ken", //TITLE_STR_206
|
||||
"Alan", //TITLE_STR_207
|
||||
"Pete", //TITLE_STR_208
|
||||
"Shaun", //TITLE_STR_209
|
||||
"Dwayne", //TITLE_STR_210
|
||||
"Des", //TITLE_STR_211
|
||||
"Chris", //TITLE_STR_212
|
||||
"Lee", //TITLE_STR_213
|
||||
"Neil", //TITLE_STR_214
|
||||
"Jim", //TITLE_STR_215
|
||||
"Robin", //TITLE_STR_216
|
||||
"Steve H", //TITLE_STR_217
|
||||
"Terrorist", //TITLE_STR_218
|
||||
"Biker", //TITLE_STR_219
|
||||
"Joel", //TITLE_STR_220
|
||||
"Scott", //TITLE_STR_221
|
||||
"Joe", //TITLE_STR_222
|
||||
"Sally", //TITLE_STR_223
|
||||
"Marion", //TITLE_STR_224
|
||||
"Mandy", //TITLE_STR_225
|
||||
"Vivien", //TITLE_STR_226
|
||||
"\n", //TITLE_STR_227
|
||||
"The Actors\n", //TITLE_STR_228
|
||||
"Starring\n", //TITLE_STR_229
|
||||
"Also Featuring\n", //TITLE_STR_230
|
||||
"Guest Star\n", //TITLE_STR_231
|
||||
"007\n", //TITLE_STR_232
|
||||
"James Bond", //TITLE_STR_233
|
||||
"Natalya Simonova\n", //TITLE_STR_234
|
||||
"006\n", //TITLE_STR_235
|
||||
"Alec Trevelyan\n", //TITLE_STR_236
|
||||
"Janus Operative\n", //TITLE_STR_237
|
||||
"Xenia Onatopp\n", //TITLE_STR_238
|
||||
"General\n", //TITLE_STR_239
|
||||
"Arkady Ourumov\n", //TITLE_STR_240
|
||||
"Boris Grishenko\n", //TITLE_STR_241
|
||||
"Ex KGB Agent\n", //TITLE_STR_242
|
||||
"Valentin Zukovsky\n", //TITLE_STR_243
|
||||
"Defense Minister\n", //TITLE_STR_244
|
||||
"Dimitri Mishkin\n", //TITLE_STR_245
|
||||
"Mayday\n", //TITLE_STR_246
|
||||
"Jaws\n", //TITLE_STR_247
|
||||
"Oddjob\n", //TITLE_STR_248
|
||||
"Baron Samedi\n", //TITLE_STR_249
|
||||
"Jungle Commando\n", //TITLE_STR_250
|
||||
"St. Petersburg Guard\n", //TITLE_STR_251
|
||||
"Russian Infantry\n", //TITLE_STR_252
|
||||
"Russian Soldier\n", //TITLE_STR_253
|
||||
"Janus Marine\n", //TITLE_STR_254
|
||||
"Janus Special Forces\n", //TITLE_STR_255
|
||||
"Russian Commandant\n", //TITLE_STR_256
|
||||
"Naval Officer\n", //TITLE_STR_257
|
||||
"Siberian Guard\n", //TITLE_STR_258
|
||||
"Arctic Commando\n", //TITLE_STR_259
|
||||
"Siberian Special Forces\n", //TITLE_STR_260
|
||||
"Moonraker Elite\n", //TITLE_STR_261
|
||||
"Helicopter Pilot\n", //TITLE_STR_262
|
||||
"Scientist\n", //TITLE_STR_263
|
||||
"Civilian\n", //TITLE_STR_264
|
||||
"1.\n", //TITLE_STR_265
|
||||
"2.\n", //TITLE_STR_266
|
||||
"3.\n", //TITLE_STR_267
|
||||
"4.\n", //TITLE_STR_268
|
||||
"Basement", //TITLE_STR_269
|
||||
"BASEMENT", //TITLE_STR_270
|
||||
"Stack", //TITLE_STR_271
|
||||
"STACK", //TITLE_STR_272
|
||||
"Best Time:", //TITLE_STR_273
|
||||
"Target:", //TITLE_STR_274
|
||||
"New Cheat Available", //TITLE_STR_275
|
||||
"CHEAT MULTIPLAYER\n", //TITLE_STR_276
|
||||
"1.1 Honey\n", //TITLE_STR_277
|
||||
"1.2 Solitaire\n", //TITLE_STR_278
|
||||
"1.3 Kissy\n", //TITLE_STR_279
|
||||
"1.4 Goodnight\n", //TITLE_STR_280
|
||||
"2.1 Plenty\n", //TITLE_STR_281
|
||||
"2.2 Galore\n", //TITLE_STR_282
|
||||
"2.3 Domino\n", //TITLE_STR_283
|
||||
"2.4 Goodhead\n", //TITLE_STR_284
|
||||
"Select Control Style\n", //TITLE_STR_285
|
||||
"Control Style\n", //TITLE_STR_286
|
||||
#ifdef LANG_US
|
||||
0 //TITLE_STR_287
|
||||
#endif
|
||||
#ifdef LANG_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"
|
||||
"Russian Soldier\n", //TITLE_STR_287
|
||||
"Russian Infantry\n", //TITLE_STR_288
|
||||
"Scientist\n", //TITLE_STR_289
|
||||
"Russian Commandant\n", //TITLE_STR_290
|
||||
"Janus Marine\n", //TITLE_STR_291
|
||||
"Naval Officer\n", //TITLE_STR_292
|
||||
"Helicopter Pilot\n", //TITLE_STR_293
|
||||
"St. Petersburg Guard\n", //TITLE_STR_294
|
||||
"Civilian\n", //TITLE_STR_295
|
||||
"Siberian Guard\n", //TITLE_STR_296
|
||||
"Arctic Commando\n", //TITLE_STR_297
|
||||
"Siberian Special Forces\n", //TITLE_STR_298
|
||||
"Jungle Commando\n", //TITLE_STR_299
|
||||
"Janus Special Forces\n", //TITLE_STR_300
|
||||
"Moonraker Elite\n" //TITLE_STR_301
|
||||
#endif
|
||||
};
|
||||
@@ -0,0 +1,310 @@
|
||||
typedef enum LTITLE_STRINGS
|
||||
{
|
||||
TITLE_STR_00,
|
||||
TITLE_STR_01,
|
||||
TITLE_STR_02,
|
||||
TITLE_STR_03,
|
||||
TITLE_STR_04,
|
||||
TITLE_STR_05,
|
||||
TITLE_STR_06,
|
||||
TITLE_STR_07,
|
||||
TITLE_STR_08,
|
||||
TITLE_STR_09,
|
||||
TITLE_STR_10,
|
||||
TITLE_STR_11,
|
||||
TITLE_STR_12,
|
||||
TITLE_STR_13,
|
||||
TITLE_STR_14,
|
||||
TITLE_STR_15,
|
||||
TITLE_STR_16,
|
||||
TITLE_STR_17,
|
||||
TITLE_STR_18,
|
||||
TITLE_STR_19,
|
||||
TITLE_STR_20,
|
||||
TITLE_STR_21,
|
||||
TITLE_STR_22,
|
||||
TITLE_STR_23,
|
||||
TITLE_STR_24,
|
||||
TITLE_STR_25,
|
||||
TITLE_STR_26,
|
||||
TITLE_STR_27,
|
||||
TITLE_STR_28,
|
||||
TITLE_STR_29,
|
||||
TITLE_STR_30,
|
||||
TITLE_STR_31,
|
||||
TITLE_STR_32,
|
||||
TITLE_STR_33,
|
||||
TITLE_STR_34,
|
||||
TITLE_STR_35,
|
||||
TITLE_STR_36,
|
||||
TITLE_STR_37,
|
||||
TITLE_STR_38,
|
||||
TITLE_STR_39,
|
||||
TITLE_STR_40,
|
||||
TITLE_STR_41,
|
||||
TITLE_STR_42,
|
||||
TITLE_STR_43,
|
||||
TITLE_STR_44,
|
||||
TITLE_STR_45,
|
||||
TITLE_STR_46,
|
||||
TITLE_STR_47,
|
||||
TITLE_STR_48,
|
||||
TITLE_STR_49,
|
||||
TITLE_STR_50,
|
||||
TITLE_STR_51,
|
||||
TITLE_STR_52,
|
||||
TITLE_STR_53,
|
||||
TITLE_STR_54,
|
||||
TITLE_STR_55,
|
||||
TITLE_STR_56,
|
||||
TITLE_STR_57,
|
||||
TITLE_STR_58,
|
||||
TITLE_STR_59,
|
||||
TITLE_STR_60,
|
||||
TITLE_STR_61,
|
||||
TITLE_STR_62,
|
||||
TITLE_STR_63,
|
||||
TITLE_STR_64,
|
||||
TITLE_STR_65,
|
||||
TITLE_STR_66,
|
||||
TITLE_STR_67,
|
||||
TITLE_STR_68,
|
||||
TITLE_STR_69,
|
||||
TITLE_STR_70,
|
||||
TITLE_STR_71,
|
||||
TITLE_STR_72,
|
||||
TITLE_STR_73,
|
||||
TITLE_STR_74,
|
||||
TITLE_STR_75,
|
||||
TITLE_STR_76,
|
||||
TITLE_STR_77,
|
||||
TITLE_STR_78,
|
||||
TITLE_STR_79,
|
||||
TITLE_STR_80,
|
||||
TITLE_STR_81,
|
||||
TITLE_STR_82,
|
||||
TITLE_STR_83,
|
||||
TITLE_STR_84,
|
||||
TITLE_STR_85,
|
||||
TITLE_STR_86,
|
||||
TITLE_STR_87,
|
||||
TITLE_STR_88,
|
||||
TITLE_STR_89,
|
||||
TITLE_STR_90,
|
||||
TITLE_STR_91,
|
||||
TITLE_STR_92,
|
||||
TITLE_STR_93,
|
||||
TITLE_STR_94,
|
||||
TITLE_STR_95,
|
||||
TITLE_STR_96,
|
||||
TITLE_STR_97,
|
||||
TITLE_STR_98,
|
||||
TITLE_STR_99,
|
||||
TITLE_STR_100,
|
||||
TITLE_STR_101,
|
||||
TITLE_STR_102,
|
||||
TITLE_STR_103,
|
||||
TITLE_STR_104,
|
||||
TITLE_STR_105,
|
||||
TITLE_STR_106,
|
||||
TITLE_STR_107,
|
||||
TITLE_STR_108,
|
||||
TITLE_STR_109,
|
||||
TITLE_STR_110,
|
||||
TITLE_STR_111,
|
||||
TITLE_STR_112,
|
||||
TITLE_STR_113,
|
||||
TITLE_STR_114,
|
||||
TITLE_STR_115,
|
||||
TITLE_STR_116,
|
||||
TITLE_STR_117,
|
||||
TITLE_STR_118,
|
||||
TITLE_STR_119,
|
||||
TITLE_STR_120,
|
||||
TITLE_STR_121,
|
||||
TITLE_STR_122,
|
||||
TITLE_STR_123,
|
||||
TITLE_STR_124,
|
||||
TITLE_STR_125,
|
||||
TITLE_STR_126,
|
||||
TITLE_STR_127,
|
||||
TITLE_STR_128,
|
||||
TITLE_STR_129,
|
||||
TITLE_STR_130,
|
||||
TITLE_STR_131,
|
||||
TITLE_STR_132,
|
||||
TITLE_STR_133,
|
||||
TITLE_STR_134,
|
||||
TITLE_STR_135,
|
||||
TITLE_STR_136,
|
||||
TITLE_STR_137,
|
||||
TITLE_STR_138,
|
||||
TITLE_STR_139,
|
||||
TITLE_STR_140,
|
||||
TITLE_STR_141,
|
||||
TITLE_STR_142,
|
||||
TITLE_STR_143,
|
||||
TITLE_STR_144,
|
||||
TITLE_STR_145,
|
||||
TITLE_STR_146,
|
||||
TITLE_STR_147,
|
||||
TITLE_STR_148,
|
||||
TITLE_STR_149,
|
||||
TITLE_STR_150,
|
||||
TITLE_STR_151,
|
||||
TITLE_STR_152,
|
||||
TITLE_STR_153,
|
||||
TITLE_STR_154,
|
||||
TITLE_STR_155,
|
||||
TITLE_STR_156,
|
||||
TITLE_STR_157,
|
||||
TITLE_STR_158,
|
||||
TITLE_STR_159,
|
||||
TITLE_STR_160,
|
||||
TITLE_STR_161,
|
||||
TITLE_STR_162,
|
||||
TITLE_STR_163,
|
||||
TITLE_STR_164,
|
||||
TITLE_STR_165,
|
||||
TITLE_STR_166,
|
||||
TITLE_STR_167,
|
||||
TITLE_STR_168,
|
||||
TITLE_STR_169,
|
||||
TITLE_STR_170,
|
||||
TITLE_STR_171,
|
||||
TITLE_STR_172,
|
||||
TITLE_STR_173,
|
||||
TITLE_STR_174,
|
||||
TITLE_STR_175,
|
||||
TITLE_STR_176,
|
||||
TITLE_STR_177,
|
||||
TITLE_STR_178,
|
||||
TITLE_STR_179,
|
||||
TITLE_STR_180,
|
||||
TITLE_STR_181,
|
||||
TITLE_STR_182,
|
||||
TITLE_STR_183,
|
||||
TITLE_STR_184,
|
||||
TITLE_STR_185,
|
||||
TITLE_STR_186,
|
||||
TITLE_STR_187,
|
||||
TITLE_STR_188,
|
||||
TITLE_STR_189,
|
||||
TITLE_STR_190,
|
||||
TITLE_STR_191,
|
||||
TITLE_STR_192,
|
||||
TITLE_STR_193,
|
||||
TITLE_STR_194,
|
||||
TITLE_STR_195,
|
||||
TITLE_STR_196,
|
||||
TITLE_STR_197,
|
||||
TITLE_STR_198,
|
||||
TITLE_STR_199,
|
||||
TITLE_STR_200,
|
||||
TITLE_STR_201,
|
||||
TITLE_STR_202,
|
||||
TITLE_STR_203,
|
||||
TITLE_STR_204,
|
||||
TITLE_STR_205,
|
||||
TITLE_STR_206,
|
||||
TITLE_STR_207,
|
||||
TITLE_STR_208,
|
||||
TITLE_STR_209,
|
||||
TITLE_STR_210,
|
||||
TITLE_STR_211,
|
||||
TITLE_STR_212,
|
||||
TITLE_STR_213,
|
||||
TITLE_STR_214,
|
||||
TITLE_STR_215,
|
||||
TITLE_STR_216,
|
||||
TITLE_STR_217,
|
||||
TITLE_STR_218,
|
||||
TITLE_STR_219,
|
||||
TITLE_STR_220,
|
||||
TITLE_STR_221,
|
||||
TITLE_STR_222,
|
||||
TITLE_STR_223,
|
||||
TITLE_STR_224,
|
||||
TITLE_STR_225,
|
||||
TITLE_STR_226,
|
||||
TITLE_STR_227,
|
||||
TITLE_STR_228,
|
||||
TITLE_STR_229,
|
||||
TITLE_STR_230,
|
||||
TITLE_STR_231,
|
||||
TITLE_STR_232,
|
||||
TITLE_STR_233,
|
||||
TITLE_STR_234,
|
||||
TITLE_STR_235,
|
||||
TITLE_STR_236,
|
||||
TITLE_STR_237,
|
||||
TITLE_STR_238,
|
||||
TITLE_STR_239,
|
||||
TITLE_STR_240,
|
||||
TITLE_STR_241,
|
||||
TITLE_STR_242,
|
||||
TITLE_STR_243,
|
||||
TITLE_STR_244,
|
||||
TITLE_STR_245,
|
||||
TITLE_STR_246,
|
||||
TITLE_STR_247,
|
||||
TITLE_STR_248,
|
||||
TITLE_STR_249,
|
||||
TITLE_STR_250,
|
||||
TITLE_STR_251,
|
||||
TITLE_STR_252,
|
||||
TITLE_STR_253,
|
||||
TITLE_STR_254,
|
||||
TITLE_STR_255,
|
||||
TITLE_STR_256,
|
||||
TITLE_STR_257,
|
||||
TITLE_STR_258,
|
||||
TITLE_STR_259,
|
||||
TITLE_STR_260,
|
||||
TITLE_STR_261,
|
||||
TITLE_STR_262,
|
||||
TITLE_STR_263,
|
||||
TITLE_STR_264,
|
||||
TITLE_STR_265,
|
||||
TITLE_STR_266,
|
||||
TITLE_STR_267,
|
||||
TITLE_STR_268,
|
||||
TITLE_STR_269,
|
||||
TITLE_STR_270,
|
||||
TITLE_STR_271,
|
||||
TITLE_STR_272,
|
||||
TITLE_STR_273,
|
||||
TITLE_STR_274,
|
||||
TITLE_STR_275,
|
||||
TITLE_STR_276,
|
||||
TITLE_STR_277,
|
||||
TITLE_STR_278,
|
||||
TITLE_STR_279,
|
||||
TITLE_STR_280,
|
||||
TITLE_STR_281,
|
||||
TITLE_STR_282,
|
||||
TITLE_STR_283,
|
||||
TITLE_STR_284,
|
||||
TITLE_STR_285,
|
||||
TITLE_STR_286,
|
||||
#ifdef BUGFIX_R0
|
||||
TITLE_STR_287
|
||||
#endif
|
||||
#ifdef BUGFIX_R1
|
||||
TITLE_STR_287,
|
||||
TITLE_STR_288,
|
||||
TITLE_STR_289,
|
||||
TITLE_STR_290,
|
||||
TITLE_STR_291,
|
||||
TITLE_STR_292,
|
||||
TITLE_STR_293,
|
||||
TITLE_STR_294,
|
||||
TITLE_STR_295,
|
||||
TITLE_STR_296,
|
||||
TITLE_STR_297,
|
||||
TITLE_STR_298,
|
||||
TITLE_STR_299,
|
||||
TITLE_STR_300,
|
||||
TITLE_STR_301
|
||||
#endif
|
||||
} LTITLE_STRINGS;
|
||||
@@ -670,7 +670,7 @@ u32 imgwaRE_0x2060[] = {
|
||||
};
|
||||
|
||||
//split me into 28 groups of verts per the gsSPVertex calls
|
||||
Vtx maybeverts2B18[] = {
|
||||
Vtx verts2B18[] = {
|
||||
{0x008E, 0x008E, 0x000B, 0x0000, 0x0362, 0x0317, 0x08, 0x09, 0x7E, 0x00},
|
||||
{0x008A, 0x009D, 0x000B, 0x0000, 0x0359, 0x0335, 0x07, 0x09, 0x7E, 0x00},
|
||||
{0x0080, 0x00AB, 0x000B, 0x0000, 0x033D, 0x0351, 0x07, 0x0A, 0x7E, 0x00},
|
||||
@@ -686,7 +686,9 @@ Vtx maybeverts2B18[] = {
|
||||
{0x008A, 0xFF64, 0x000B, 0x0000, 0x0359, 0x00CB, 0x08, 0xF7, 0x7E, 0x00},
|
||||
{0x0080, 0xFF56, 0x000B, 0x0000, 0x033D, 0x00AE, 0x07, 0xF6, 0x7E, 0x00},
|
||||
{0x0071, 0xFF4B, 0x000B, 0x0000, 0x0317, 0x009A, 0x06, 0xF6, 0x7E, 0x00},
|
||||
{0x0062, 0xFF48, 0x000B, 0x0000, 0x02EE, 0x0093, 0x05, 0xF5, 0x7E, 0x00},
|
||||
{0x0062, 0xFF48, 0x000B, 0x0000, 0x02EE, 0x0093, 0x05, 0xF5, 0x7E, 0x00}
|
||||
};
|
||||
Vtx verts2C18[] = {
|
||||
{0xFF99, 0xFF63, 0x000B, 0x0000, 0x0010, 0x0010, 0x00, 0x00, 0x7F, 0x00},
|
||||
{0xFFD2, 0xFF63, 0x000B, 0x0000, 0x03F0, 0x0010, 0x00, 0x00, 0x7F, 0x00},
|
||||
{0x000A, 0xFF87, 0x000B, 0x0000, 0x03F0, 0x03F0, 0x6A, 0x44, 0x00, 0x00},
|
||||
@@ -700,7 +702,9 @@ Vtx maybeverts2B18[] = {
|
||||
{0xFF8C, 0x009D, 0x000B, 0x0000, 0x00A8, 0x0335, 0xF9, 0x09, 0x7E, 0x00},
|
||||
{0xFF88, 0x008E, 0x000B, 0x0000, 0x009F, 0x0317, 0xF8, 0x09, 0x7E, 0x00},
|
||||
{0xFF88, 0xFF73, 0x000B, 0x0000, 0x009F, 0x00E8, 0xF8, 0xF7, 0x7E, 0x00},
|
||||
{0xFFD2, 0xFF87, 0x000B, 0x0000, 0x03F0, 0x03F0, 0x00, 0x00, 0x00, 0x00},
|
||||
{0xFFD2, 0xFF87, 0x000B, 0x0000, 0x03F0, 0x03F0, 0x00, 0x00, 0x00, 0x00}
|
||||
};
|
||||
Vtx verts2CF8[] = {
|
||||
{0x0028, 0x0013, 0x000B, 0x0000, 0x0198, 0x03F5, 0x3F, 0x27, 0x66, 0x00},
|
||||
{0x001D, 0x0019, 0x000F, 0x0000, 0x012B, 0x0429, 0x3F, 0x27, 0x66, 0x00},
|
||||
{0x0077, 0xFF98, 0x000F, 0x0000, 0x04BF, 0xFFD8, 0x40, 0x2C, 0x64, 0x00},
|
||||
@@ -716,7 +720,9 @@ Vtx maybeverts2B18[] = {
|
||||
{0x0043, 0xFF63, 0x000B, 0x0000, 0x03F0, 0x0010, 0x6B, 0xBE, 0x00, 0x00},
|
||||
{0x000A, 0xFF63, 0x000B, 0x0000, 0x0010, 0x0010, 0x96, 0xBC, 0x00, 0x00},
|
||||
{0x000A, 0xFF87, 0x000B, 0x0000, 0x0010, 0x03F0, 0x96, 0x44, 0x00, 0x00},
|
||||
{0x0043, 0xFF87, 0x000B, 0x0000, 0x03F0, 0x03F0, 0x6B, 0x42, 0x00, 0x00},
|
||||
{0x0043, 0xFF87, 0x000B, 0x0000, 0x03F0, 0x03F0, 0x6B, 0x42, 0x00, 0x00}
|
||||
};
|
||||
Vtx verts2DF8[] = {
|
||||
{0xFFB4, 0x002D, 0x000F, 0x0000, 0xFCE9, 0x04D9, 0xF0, 0x41, 0x6B, 0x00},
|
||||
{0xFFBF, 0x0033, 0x000F, 0x0000, 0xFD5D, 0x0504, 0xDB, 0x3D, 0x68, 0x00},
|
||||
{0xFFBC, 0x0037, 0x000B, 0x0000, 0xFD40, 0x052D, 0xDB, 0x3D, 0x68, 0x00},
|
||||
@@ -732,7 +738,9 @@ Vtx maybeverts2B18[] = {
|
||||
{0xFFA6, 0x002B, 0x000F, 0x0000, 0xFC5F, 0x04C7, 0x00, 0x46, 0x69, 0x00},
|
||||
{0xFF9D, 0x0031, 0x000B, 0x0000, 0xFC01, 0x04FB, 0x00, 0x46, 0x69, 0x00},
|
||||
{0xFFA5, 0x0032, 0x000B, 0x0000, 0xFC56, 0x04FC, 0xFC, 0x44, 0x6A, 0x00},
|
||||
{0xFFAB, 0x002C, 0x000F, 0x0000, 0xFC93, 0x04CA, 0xFC, 0x44, 0x6A, 0x00},
|
||||
{0xFFAB, 0x002C, 0x000F, 0x0000, 0xFC93, 0x04CA, 0xFC, 0x44, 0x6A, 0x00}
|
||||
};
|
||||
Vtx verts2EF8[] = {
|
||||
{0xFFB6, 0x0096, 0x000B, 0x0000, 0xFD01, 0x0857, 0xD7, 0xB2, 0x5A, 0x00},
|
||||
{0xFFB8, 0x009A, 0x000F, 0x0000, 0xFD17, 0x0876, 0xD7, 0xB2, 0x5A, 0x00},
|
||||
{0x0049, 0x0065, 0x000B, 0x0000, 0x02EB, 0x06B0, 0x4E, 0x00, 0x64, 0x00},
|
||||
@@ -746,7 +754,9 @@ Vtx maybeverts2B18[] = {
|
||||
{0xFFD8, 0x0065, 0x000F, 0x0000, 0xFE58, 0x06B1, 0xB2, 0x00, 0x64, 0x00},
|
||||
{0xFFD4, 0x007B, 0x000F, 0x0000, 0xFE30, 0x076D, 0xB8, 0xE5, 0x64, 0x00},
|
||||
{0xFFCF, 0x0079, 0x000B, 0x0000, 0xFDFD, 0x075E, 0xB8, 0xE5, 0x64, 0x00},
|
||||
{0xFFC5, 0x008A, 0x000B, 0x0000, 0xFD96, 0x07EE, 0xC1, 0xCA, 0x5F, 0x00},
|
||||
{0xFFC5, 0x008A, 0x000B, 0x0000, 0xFD96, 0x07EE, 0xC1, 0xCA, 0x5F, 0x00}
|
||||
};
|
||||
Vtx verts2FD8[] = {
|
||||
{0x0045, 0x004D, 0x000B, 0x0000, 0x02C0, 0x05E5, 0x4A, 0xE8, 0x63, 0x00},
|
||||
{0x0040, 0x004F, 0x000F, 0x0000, 0x028F, 0x05F7, 0x4A, 0xE8, 0x63, 0x00},
|
||||
{0x0049, 0x0065, 0x000B, 0x0000, 0x02EB, 0x06B0, 0x4E, 0x00, 0x64, 0x00},
|
||||
@@ -762,7 +772,9 @@ Vtx maybeverts2B18[] = {
|
||||
{0x003B, 0x003A, 0x000B, 0x0000, 0x0259, 0x0540, 0x3D, 0xD2, 0x65, 0x00},
|
||||
{0x002B, 0x0033, 0x000F, 0x0000, 0x01B9, 0x0504, 0x28, 0xC5, 0x68, 0x00},
|
||||
{0x002E, 0x002E, 0x000B, 0x0000, 0x01D6, 0x04DC, 0x28, 0xC5, 0x68, 0x00},
|
||||
{0x0023, 0x0028, 0x000B, 0x0000, 0x0166, 0x04AA, 0x14, 0xC2, 0x6C, 0x00},
|
||||
{0x0023, 0x0028, 0x000B, 0x0000, 0x0166, 0x04AA, 0x14, 0xC2, 0x6C, 0x00}
|
||||
};
|
||||
Vtx verts30D8[] = {
|
||||
{0xFFA7, 0x001E, 0x000B, 0x0000, 0xFC6C, 0x0451, 0xBE, 0xCE, 0x60, 0x00},
|
||||
{0xFFB1, 0x0019, 0x000F, 0x0000, 0xFCCE, 0x0429, 0xC7, 0xD1, 0x66, 0x00},
|
||||
{0xFFA6, 0x002B, 0x000F, 0x0000, 0xFC5F, 0x04C7, 0xBC, 0xE6, 0x67, 0x00},
|
||||
@@ -776,7 +788,9 @@ Vtx maybeverts2B18[] = {
|
||||
{0xFFB1, 0x0019, 0x000F, 0x0000, 0xFCCE, 0x0429, 0xBE, 0xDA, 0x64, 0x00},
|
||||
{0xFFA7, 0x001E, 0x000B, 0x0000, 0xFC6C, 0x0451, 0xBE, 0xDA, 0x64, 0x00},
|
||||
{0x0006, 0xFF93, 0x000B, 0x0000, 0x0041, 0xFFA8, 0xC1, 0xD5, 0x64, 0x00},
|
||||
{0x000A, 0xFF98, 0x000F, 0x0000, 0x0062, 0xFFD8, 0xC1, 0xD5, 0x64, 0x00},
|
||||
{0x000A, 0xFF98, 0x000F, 0x0000, 0x0062, 0xFFD8, 0xC1, 0xD5, 0x64, 0x00}
|
||||
};
|
||||
Vtx verts31B8[] = {
|
||||
{0x0040, 0x007B, 0x000F, 0x0000, 0x028C, 0x076D, 0x49, 0x1B, 0x64, 0x00},
|
||||
{0x0045, 0x007D, 0x000B, 0x0000, 0x02BF, 0x077C, 0x49, 0x1B, 0x64, 0x00},
|
||||
{0xFF78, 0xFF73, 0x0007, 0x0000, 0x027D, 0x0117, 0xE2, 0xFF, 0x7B, 0x00},
|
||||
@@ -790,7 +804,10 @@ Vtx maybeverts2B18[] = {
|
||||
{0xFFA8, 0x00A4, 0x000B, 0x0000, 0xFC70, 0x08CD, 0x00, 0x49, 0x67, 0x00},
|
||||
{0x0024, 0x009A, 0x000F, 0x0000, 0x016F, 0x0876, 0x1F, 0x43, 0x66, 0x00},
|
||||
{0x0026, 0x009F, 0x000B, 0x0000, 0x0184, 0x08A1, 0x1F, 0x43, 0x66, 0x00},
|
||||
{0x0038, 0x0091, 0x000B, 0x0000, 0x0242, 0x082A, 0x39, 0x33, 0x64, 0x00},
|
||||
{0x0038, 0x0091, 0x000B, 0x0000, 0x0242, 0x082A, 0x39, 0x33, 0x64, 0x00}
|
||||
|
||||
};
|
||||
Vtx verts3298[] = {
|
||||
{0x0062, 0xFF48, 0x000B, 0x0000, 0xFE37, 0x00CB, 0x0C, 0xE4, 0x7B, 0x00},
|
||||
{0xFFB3, 0xFF48, 0x000B, 0x0000, 0x016B, 0x00CB, 0xF4, 0xE4, 0x7B, 0x00},
|
||||
{0xFFB3, 0xFF38, 0x0007, 0x0000, 0x016B, 0x00AF, 0xF4, 0xE1, 0x7A, 0x00},
|
||||
@@ -806,7 +823,9 @@ Vtx maybeverts2B18[] = {
|
||||
{0x0062, 0x00C9, 0x0007, 0x0000, 0xFE37, 0x0374, 0x01, 0x1E, 0x7B, 0x00},
|
||||
{0x0063, 0x00B9, 0x000B, 0x0000, 0xFE37, 0x0358, 0x01, 0x1E, 0x7B, 0x00},
|
||||
{0xFFB3, 0x00B9, 0x000B, 0x0000, 0x016B, 0x0358, 0x00, 0x1E, 0x7B, 0x00},
|
||||
{0xFFB3, 0x00C9, 0x0007, 0x0000, 0x016B, 0x0374, 0x00, 0x1E, 0x7B, 0x00},
|
||||
{0xFFB3, 0x00C9, 0x0007, 0x0000, 0x016B, 0x0374, 0x00, 0x1E, 0x7B, 0x00}
|
||||
};
|
||||
Vtx verts3398[] = {
|
||||
{0xFFB3, 0x00B9, 0x000B, 0x0000, 0x016B, 0x0358, 0x00, 0x1E, 0x7B, 0x00},
|
||||
{0x0062, 0x00C9, 0x0007, 0x0000, 0xFE37, 0x0374, 0x01, 0x1E, 0x7B, 0x00},
|
||||
{0x0063, 0x00B9, 0x000B, 0x0000, 0xFE37, 0x0358, 0x01, 0x1E, 0x7B, 0x00},
|
||||
@@ -822,7 +841,9 @@ Vtx maybeverts2B18[] = {
|
||||
{0xFF7D, 0x00A3, 0x0007, 0x0000, 0x0265, 0x0332, 0xE5, 0x0C, 0x7B, 0x00},
|
||||
{0xFF8C, 0x009D, 0x000B, 0x0000, 0x0223, 0x0326, 0xE5, 0x0C, 0x7B, 0x00},
|
||||
{0xFF88, 0x008E, 0x000B, 0x0000, 0x0234, 0x030C, 0xE2, 0x01, 0x7B, 0x00},
|
||||
{0xFF78, 0x008E, 0x0007, 0x0000, 0x027D, 0x030C, 0xE2, 0x01, 0x7B, 0x00},
|
||||
{0xFF78, 0x008E, 0x0007, 0x0000, 0x027D, 0x030C, 0xE2, 0x01, 0x7B, 0x00}
|
||||
};
|
||||
Vtx verts3498[] = {
|
||||
{0x0098, 0xFF5D, 0x0007, 0x0000, 0xFD3C, 0x00F1, 0x1B, 0xF4, 0x7B, 0x00},
|
||||
{0x008B, 0xFF4A, 0x0007, 0x0000, 0xFD7A, 0x00CF, 0x15, 0xEB, 0x7B, 0x00},
|
||||
{0x0080, 0xFF56, 0x000B, 0x0000, 0xFDAE, 0x00E3, 0x15, 0xEB, 0x7B, 0x00},
|
||||
@@ -838,7 +859,9 @@ Vtx maybeverts2B18[] = {
|
||||
{0x008E, 0xFF73, 0x000B, 0x0000, 0xFD6E, 0x0117, 0x1E, 0xFF, 0x7B, 0x00},
|
||||
{0x009D, 0xFF73, 0x0007, 0x0000, 0xFD25, 0x0117, 0x1E, 0xFF, 0x7B, 0x00},
|
||||
{0x009D, 0x008E, 0x0007, 0x0000, 0xFD25, 0x030C, 0x1E, 0x00, 0x7B, 0x00},
|
||||
{0x008E, 0x008E, 0x000B, 0x0000, 0xFD6E, 0x030C, 0x1E, 0x00, 0x7B, 0x00},
|
||||
{0x008E, 0x008E, 0x000B, 0x0000, 0xFD6E, 0x030C, 0x1E, 0x00, 0x7B, 0x00}
|
||||
};
|
||||
Vtx verts3598[] = {
|
||||
{0xFFB3, 0xFF38, 0x0007, 0x0000, 0x016B, 0x00AF, 0x00, 0xE2, 0x7B, 0x00},
|
||||
{0xFFB3, 0xFF48, 0x000B, 0x0000, 0x016B, 0x00CB, 0x00, 0xE2, 0x7B, 0x00},
|
||||
{0x0062, 0x00D0, 0x0005, 0x0000, 0x02D8, 0x0381, 0x03, 0x1E, 0x7B, 0x00},
|
||||
@@ -852,7 +875,10 @@ Vtx maybeverts2B18[] = {
|
||||
{0xFF78, 0xFF73, 0x0007, 0x0000, 0x027D, 0x0117, 0xE2, 0xFF, 0x7B, 0x00},
|
||||
{0xFF8B, 0xFF4A, 0x0007, 0x0000, 0x0227, 0x00CF, 0xEB, 0xEB, 0x7B, 0x00},
|
||||
{0xFF96, 0xFF56, 0x000B, 0x0000, 0x01F3, 0x00E3, 0xEB, 0xEB, 0x7B, 0x00},
|
||||
{0xFF9D, 0xFF3D, 0x0007, 0x0000, 0x01D0, 0x00B8, 0xF3, 0xE6, 0x7B, 0x00},
|
||||
{0xFF9D, 0xFF3D, 0x0007, 0x0000, 0x01D0, 0x00B8, 0xF3, 0xE6, 0x7B, 0x00}
|
||||
|
||||
};
|
||||
Vtx verts3678[] = {
|
||||
{0xFFB3, 0xFF31, 0x0005, 0x0000, 0x0129, 0x00A2, 0xFD, 0xE2, 0x7B, 0x00},
|
||||
{0x0062, 0xFF31, 0x0005, 0x0000, 0x02D8, 0x00A2, 0x03, 0xE2, 0x7B, 0x00},
|
||||
{0x0062, 0xFF38, 0x0007, 0x0000, 0x02D8, 0x00AF, 0x03, 0xE2, 0x7B, 0x00},
|
||||
@@ -868,7 +894,9 @@ Vtx maybeverts2B18[] = {
|
||||
{0x009D, 0xFF73, 0x0007, 0x0000, 0x0367, 0x0117, 0x1E, 0xFD, 0x7B, 0x00},
|
||||
{0x009D, 0x008E, 0x0007, 0x0000, 0x0367, 0x030C, 0x1E, 0x03, 0x7B, 0x00},
|
||||
{0x00A5, 0x008E, 0x0005, 0x0000, 0x0379, 0x030C, 0x1E, 0x03, 0x7B, 0x00},
|
||||
{0x00A5, 0xFF73, 0x0005, 0x0000, 0x0379, 0x0117, 0x1E, 0xFD, 0x7B, 0x00},
|
||||
{0x00A5, 0xFF73, 0x0005, 0x0000, 0x0379, 0x0117, 0x1E, 0xFD, 0x7B, 0x00}
|
||||
};
|
||||
Vtx verts3778[] = {
|
||||
{0xFF9D, 0xFF3D, 0x0007, 0x0000, 0x00F5, 0x00B8, 0xF4, 0xE5, 0x7B, 0x00},
|
||||
{0xFF9B, 0xFF36, 0x0005, 0x0000, 0x00EE, 0x00AC, 0xF4, 0xE5, 0x7B, 0x00},
|
||||
{0xFFB3, 0xFF31, 0x0005, 0x0000, 0x0129, 0x00A2, 0xFD, 0xE2, 0x7B, 0x00},
|
||||
@@ -884,7 +912,9 @@ Vtx maybeverts2B18[] = {
|
||||
{0x0062, 0xFF38, 0x0007, 0x0000, 0x02D8, 0x00AF, 0x03, 0xE2, 0x7B, 0x00},
|
||||
{0x0062, 0xFF31, 0x0005, 0x0000, 0x02D8, 0x00A2, 0x03, 0xE2, 0x7B, 0x00},
|
||||
{0x007B, 0xFF36, 0x0005, 0x0000, 0x0313, 0x00AC, 0x0C, 0xE5, 0x7B, 0x00},
|
||||
{0x0078, 0xFF3D, 0x0007, 0x0000, 0x030C, 0x00B8, 0x0C, 0xE5, 0x7B, 0x00},
|
||||
{0x0078, 0xFF3D, 0x0007, 0x0000, 0x030C, 0x00B8, 0x0C, 0xE5, 0x7B, 0x00}
|
||||
};
|
||||
Vtx verts3878[] = {
|
||||
{0xFFB3, 0x00C9, 0x0007, 0x0000, 0x0129, 0x0374, 0xFD, 0x1D, 0x7B, 0x00},
|
||||
{0xFFB3, 0x00D0, 0x0005, 0x0000, 0x0129, 0x0381, 0xFD, 0x1D, 0x7B, 0x00},
|
||||
{0x0062, 0x00C9, 0x0007, 0x0000, 0x02D8, 0x0374, 0x03, 0x1E, 0x7B, 0x00},
|
||||
@@ -898,7 +928,9 @@ Vtx maybeverts2B18[] = {
|
||||
{0xFF71, 0x008E, 0x0005, 0x0000, 0x0088, 0x030C, 0xE2, 0x03, 0x7B, 0x00},
|
||||
{0xFF85, 0x00BC, 0x0005, 0x0000, 0x00BA, 0x035D, 0xEB, 0x15, 0x7B, 0x00},
|
||||
{0xFF8B, 0x00B6, 0x0007, 0x0000, 0x00C7, 0x0353, 0xEB, 0x15, 0x7B, 0x00},
|
||||
{0xFF9D, 0x00C4, 0x0007, 0x0000, 0x00F5, 0x036B, 0xF2, 0x1A, 0x7B, 0x00},
|
||||
{0xFF9D, 0x00C4, 0x0007, 0x0000, 0x00F5, 0x036B, 0xF2, 0x1A, 0x7B, 0x00}
|
||||
};
|
||||
Vtx verts3958[] = {
|
||||
{0xFFB3, 0x00D0, 0x0005, 0x0000, 0x0364, 0x03BC, 0xF2, 0x7E, 0x00, 0x00},
|
||||
{0x0062, 0x00D0, 0x0005, 0x0000, 0x0364, 0x03BC, 0x0E, 0x7E, 0x00, 0x00},
|
||||
{0x0062, 0x00D0, 0xFFF4, 0x0000, 0x0190, 0x03BC, 0x0E, 0x7E, 0x00, 0x00},
|
||||
@@ -914,7 +946,9 @@ Vtx maybeverts2B18[] = {
|
||||
{0x008B, 0x00B6, 0x0007, 0x0000, 0x033A, 0x0353, 0x15, 0x15, 0x7B, 0x00},
|
||||
{0x0078, 0x00C4, 0x0007, 0x0000, 0x030C, 0x036B, 0x0C, 0x1B, 0x7B, 0x00},
|
||||
{0x007B, 0x00CB, 0x0005, 0x0000, 0x0313, 0x0377, 0x0C, 0x1B, 0x7B, 0x00},
|
||||
{0x0090, 0x00BC, 0x0005, 0x0000, 0x0347, 0x035D, 0x15, 0x15, 0x7B, 0x00},
|
||||
{0x0090, 0x00BC, 0x0005, 0x0000, 0x0347, 0x035D, 0x15, 0x15, 0x7B, 0x00}
|
||||
};
|
||||
Vtx verts3A58[] = {
|
||||
{0x009F, 0xFF5A, 0x0005, 0x0000, 0x0364, 0x009D, 0x74, 0xCD, 0x00, 0x00},
|
||||
{0x0090, 0xFF45, 0x0005, 0x0000, 0x0364, 0x006F, 0x59, 0xA7, 0x00, 0x00},
|
||||
{0x0090, 0xFF45, 0xFFF4, 0x0000, 0x0190, 0x006F, 0x59, 0xA7, 0x00, 0x00},
|
||||
@@ -930,7 +964,9 @@ Vtx maybeverts2B18[] = {
|
||||
{0x00A5, 0xFF73, 0xFFF4, 0x0000, 0x0190, 0x00D1, 0x7E, 0xF2, 0x00, 0x00},
|
||||
{0x00A5, 0xFF73, 0x0005, 0x0000, 0x0364, 0x00D1, 0x7E, 0xF2, 0x00, 0x00},
|
||||
{0x00A5, 0x008E, 0xFFF4, 0x0000, 0x0190, 0x032F, 0x7E, 0x0E, 0x00, 0x00},
|
||||
{0x00A5, 0x008E, 0x0005, 0x0000, 0x0364, 0x032F, 0x7E, 0x0E, 0x00, 0x00},
|
||||
{0x00A5, 0x008E, 0x0005, 0x0000, 0x0364, 0x032F, 0x7E, 0x0E, 0x00, 0x00}
|
||||
};
|
||||
Vtx verts3B58[] = {
|
||||
{0xFF76, 0xFF5A, 0x0005, 0x0000, 0x0364, 0x009D, 0x8C, 0xCD, 0x00, 0x00},
|
||||
{0xFF71, 0xFF73, 0x0005, 0x0000, 0x0364, 0x00D1, 0x82, 0xF2, 0x00, 0x00},
|
||||
{0xFF71, 0xFF73, 0xFFF4, 0x0000, 0x0190, 0x00D1, 0x82, 0xF2, 0x00, 0x00},
|
||||
@@ -946,7 +982,9 @@ Vtx maybeverts2B18[] = {
|
||||
{0xFF85, 0xFF45, 0xFFF4, 0x0000, 0x0190, 0x006F, 0xA7, 0xA7, 0x00, 0x00},
|
||||
{0xFF85, 0xFF45, 0x0005, 0x0000, 0x0364, 0x006F, 0xA7, 0xA7, 0x00, 0x00},
|
||||
{0xFF9B, 0xFF36, 0x0005, 0x0000, 0x0364, 0x004F, 0xCD, 0x8C, 0x00, 0x00},
|
||||
{0xFF9B, 0xFF36, 0xFFF4, 0x0000, 0x0190, 0x004F, 0xCD, 0x8C, 0x00, 0x00},
|
||||
{0xFF9B, 0xFF36, 0xFFF4, 0x0000, 0x0190, 0x004F, 0xCD, 0x8C, 0x00, 0x00}
|
||||
};
|
||||
Vtx verts3C58[] = {
|
||||
{0x00A5, 0x008E, 0xFFF4, 0x0000, 0x0379, 0x030C, 0x1E, 0x03, 0x85, 0x00},
|
||||
{0x00A5, 0xFF73, 0xFFF4, 0x0000, 0x0379, 0x0117, 0x1E, 0xFD, 0x85, 0x00},
|
||||
{0x009D, 0xFF73, 0xFFF2, 0x0000, 0x0367, 0x0117, 0x1E, 0xFD, 0x85, 0x00},
|
||||
@@ -962,7 +1000,9 @@ Vtx maybeverts2B18[] = {
|
||||
{0xFFB3, 0x00D0, 0x0005, 0x0000, 0x0364, 0x03BC, 0xF2, 0x7E, 0x00, 0x00},
|
||||
{0xFFB3, 0x00D0, 0xFFF4, 0x0000, 0x0190, 0x03BC, 0xF2, 0x7E, 0x00, 0x00},
|
||||
{0xFF9B, 0x00CB, 0x0005, 0x0000, 0x0364, 0x03B0, 0xC5, 0x70, 0x00, 0x00},
|
||||
{0xFF9B, 0x00CB, 0xFFF4, 0x0000, 0x0190, 0x03B0, 0xC5, 0x70, 0x00, 0x00},
|
||||
{0xFF9B, 0x00CB, 0xFFF4, 0x0000, 0x0190, 0x03B0, 0xC5, 0x70, 0x00, 0x00}
|
||||
};
|
||||
Vtx verts3D58[] = {
|
||||
{0x0078, 0x00C4, 0xFFF2, 0x0000, 0x030C, 0x036B, 0x0C, 0x1B, 0x85, 0x00},
|
||||
{0x008B, 0x00B6, 0xFFF2, 0x0000, 0x033A, 0x0353, 0x15, 0x15, 0x85, 0x00},
|
||||
{0x0090, 0x00BC, 0xFFF4, 0x0000, 0x0347, 0x035D, 0x15, 0x15, 0x85, 0x00},
|
||||
@@ -978,7 +1018,9 @@ Vtx maybeverts2B18[] = {
|
||||
{0x0062, 0x00C9, 0xFFF2, 0x0000, 0x02D8, 0x0374, 0x03, 0x1E, 0x85, 0x00},
|
||||
{0x0062, 0x00D0, 0xFFF4, 0x0000, 0x02D8, 0x0381, 0x03, 0x1E, 0x85, 0x00},
|
||||
{0xFFB3, 0x00D0, 0xFFF4, 0x0000, 0x0129, 0x0381, 0xFD, 0x1D, 0x85, 0x00},
|
||||
{0xFFB3, 0x00C9, 0xFFF2, 0x0000, 0x0129, 0x0374, 0xFD, 0x1D, 0x85, 0x00},
|
||||
{0xFFB3, 0x00C9, 0xFFF2, 0x0000, 0x0129, 0x0374, 0xFD, 0x1D, 0x85, 0x00}
|
||||
};
|
||||
Vtx verts3E58[] = {
|
||||
{0xFF71, 0x008E, 0xFFF4, 0x0000, 0x0088, 0x030C, 0xE2, 0x03, 0x85, 0x00},
|
||||
{0xFF78, 0xFF73, 0xFFF2, 0x0000, 0x009A, 0x0117, 0xE2, 0xFD, 0x85, 0x00},
|
||||
{0xFF7D, 0xFF5D, 0xFFF2, 0x0000, 0x00A6, 0x00F1, 0xE5, 0xF4, 0x85, 0x00},
|
||||
@@ -994,7 +1036,9 @@ Vtx maybeverts2B18[] = {
|
||||
{0xFF76, 0x00A6, 0xFFF4, 0x0000, 0x0095, 0x0337, 0xE5, 0x0C, 0x85, 0x00},
|
||||
{0xFF7D, 0x00A3, 0xFFF2, 0x0000, 0x00A6, 0x0332, 0xE5, 0x0C, 0x85, 0x00},
|
||||
{0xFF85, 0x00BC, 0xFFF4, 0x0000, 0x00BA, 0x035D, 0xEB, 0x15, 0x85, 0x00},
|
||||
{0xFF8A, 0x00B6, 0xFFF2, 0x0000, 0x00C7, 0x0353, 0xEB, 0x15, 0x85, 0x00},
|
||||
{0xFF8A, 0x00B6, 0xFFF2, 0x0000, 0x00C7, 0x0353, 0xEB, 0x15, 0x85, 0x00}
|
||||
};
|
||||
Vtx verts3F58[] = {
|
||||
{0x00A5, 0xFF73, 0xFFF4, 0x0000, 0x0379, 0x0117, 0x1E, 0xFD, 0x85, 0x00},
|
||||
{0x008B, 0xFF4A, 0xFFF2, 0x0000, 0x033A, 0x00CF, 0x15, 0xEB, 0x85, 0x00},
|
||||
{0x0090, 0xFF45, 0xFFF4, 0x0000, 0x0347, 0x00C6, 0x15, 0xEB, 0x85, 0x00},
|
||||
@@ -1010,7 +1054,9 @@ Vtx maybeverts2B18[] = {
|
||||
{0x0098, 0xFF5D, 0xFFF2, 0x0000, 0x035B, 0x00F1, 0x1B, 0xF4, 0x85, 0x00},
|
||||
{0x009F, 0xFF5A, 0xFFF4, 0x0000, 0x036C, 0x00EC, 0x1B, 0xF4, 0x85, 0x00},
|
||||
{0xFFB3, 0xFF31, 0xFFF4, 0x0000, 0x0129, 0x00A2, 0xFD, 0xE2, 0x85, 0x00},
|
||||
{0xFFB3, 0xFF38, 0xFFF2, 0x0000, 0x0129, 0x00AF, 0xFD, 0xE2, 0x85, 0x00},
|
||||
{0xFFB3, 0xFF38, 0xFFF2, 0x0000, 0x0129, 0x00AF, 0xFD, 0xE2, 0x85, 0x00}
|
||||
};
|
||||
Vtx verts4058[] = {
|
||||
{0x009D, 0xFF73, 0xFFF2, 0x0000, 0x000A, 0x00A5, 0x09, 0xF8, 0x82, 0x00},
|
||||
{0x0098, 0xFF5D, 0xFFF2, 0x0000, 0x001B, 0x0071, 0x08, 0xF7, 0x82, 0x00},
|
||||
{0x008B, 0xFF4A, 0xFFF2, 0x0000, 0x0049, 0x0043, 0x07, 0xF6, 0x82, 0x00},
|
||||
@@ -1026,7 +1072,9 @@ Vtx maybeverts2B18[] = {
|
||||
{0x0098, 0x00A3, 0xFFF2, 0x0000, 0x001B, 0x038E, 0x08, 0x09, 0x82, 0x00},
|
||||
{0x008B, 0x00B6, 0xFFF2, 0x0000, 0x0049, 0x03BC, 0x07, 0x0A, 0x82, 0x00},
|
||||
{0x0078, 0x00C4, 0xFFF2, 0x0000, 0x0089, 0x03DD, 0x06, 0x0B, 0x82, 0x00},
|
||||
{0x0062, 0x00C9, 0xFFF2, 0x0000, 0x00D3, 0x03E9, 0x05, 0x0B, 0x82, 0x00},
|
||||
{0x0062, 0x00C9, 0xFFF2, 0x0000, 0x00D3, 0x03E9, 0x05, 0x0B, 0x82, 0x00}
|
||||
};
|
||||
Vtx verts4158[] = {
|
||||
{0x001D, 0x0019, 0x000F, 0x0000, 0x0241, 0x0391, 0x07, 0xF7, 0x7E, 0x00},
|
||||
{0x0012, 0x002B, 0x000F, 0x0000, 0x021C, 0x0419, 0x08, 0xF7, 0x7E, 0x00},
|
||||
{0xFFA6, 0x002B, 0x000F, 0x0000, 0x00A8, 0x0419, 0xF4, 0xFD, 0x7E, 0x00},
|
||||
@@ -1042,7 +1090,9 @@ Vtx maybeverts2B18[] = {
|
||||
{0x000A, 0xFF98, 0x000F, 0x0000, 0x01FE, 0xFFDE, 0x01, 0xF4, 0x7E, 0x00},
|
||||
{0xFFB1, 0x0019, 0x000F, 0x0000, 0x00CD, 0x0391, 0xF6, 0xFA, 0x7E, 0x00},
|
||||
{0xFF78, 0x008E, 0xFFF2, 0x0000, 0x03F6, 0x035A, 0xF7, 0x08, 0x82, 0x00},
|
||||
{0xFF78, 0xFF73, 0xFFF2, 0x0000, 0x03F6, 0x00A5, 0xF7, 0xF8, 0x82, 0x00},
|
||||
{0xFF78, 0xFF73, 0xFFF2, 0x0000, 0x03F6, 0x00A5, 0xF7, 0xF8, 0x82, 0x00}
|
||||
};
|
||||
Vtx verts4258[] = {
|
||||
{0x0037, 0x003D, 0x000F, 0x0000, 0x0299, 0x049B, 0x0C, 0xFF, 0x7E, 0x00},
|
||||
{0x0040, 0x004F, 0x000F, 0x0000, 0x02B8, 0x051D, 0x0C, 0x01, 0x7E, 0x00},
|
||||
{0xFFD4, 0x004F, 0x000F, 0x0000, 0x0144, 0x051D, 0xF4, 0x02, 0x7E, 0x00},
|
||||
@@ -1058,7 +1108,9 @@ Vtx maybeverts2B18[] = {
|
||||
{0xFFB8, 0x009A, 0x000F, 0x0000, 0x00E5, 0x0740, 0xF9, 0x09, 0x7E, 0x00},
|
||||
{0xFFA8, 0x009E, 0x000F, 0x0000, 0x00AD, 0x0761, 0xF8, 0x09, 0x7E, 0x00},
|
||||
{0x0010, 0x009E, 0x000F, 0x0000, 0x0215, 0x0761, 0x03, 0x0C, 0x7E, 0x00},
|
||||
{0x0024, 0x009A, 0x000F, 0x0000, 0x0258, 0x0740, 0x05, 0x0B, 0x7E, 0x00},
|
||||
{0x0024, 0x009A, 0x000F, 0x0000, 0x0258, 0x0740, 0x05, 0x0B, 0x7E, 0x00}
|
||||
};
|
||||
Vtx verts4358[] = {
|
||||
{0xFFBF, 0x0033, 0x000F, 0x0000, 0x00FC, 0x044D, 0xF4, 0xFD, 0x7E, 0x00},
|
||||
{0xFFB4, 0x002D, 0x000F, 0x0000, 0x00D6, 0x0428, 0xF5, 0xFC, 0x7E, 0x00},
|
||||
{0xFFAB, 0x002C, 0x000F, 0x0000, 0x00B9, 0x041B, 0xF4, 0xFD, 0x7E, 0x00},
|
||||
@@ -1075,7 +1127,7 @@ Gfx D_020043E8[] = {
|
||||
gsDPSetRenderMode(G_RM_AA_OPA_SURF, G_RM_AA_OPA_SURF2),
|
||||
gsDPSetCombineLERP(TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, PRIMITIVE, 0, TEXEL0, 0, PRIMITIVE, 0),
|
||||
gsSPSetGeometryMode(G_LIGHTING | G_TEXTURE_GEN ),
|
||||
gsSPVertex(maybeverts2B18, 16, 0),
|
||||
gsSPVertex(verts2B18, 16, 0),
|
||||
gsSP1Triangle(8, 9, 10, 0),
|
||||
gsSP1Triangle(8, 10, 11, 0),
|
||||
gsSP1Triangle(8, 11, 15, 0),
|
||||
@@ -1090,7 +1142,7 @@ Gfx D_020043E8[] = {
|
||||
gsSP1Triangle(8, 3, 4, 0),
|
||||
gsSP1Triangle(8, 4, 5, 0),
|
||||
gsSP1Triangle(8, 5, 6, 0),
|
||||
gsSPVertex(0x02002C18, 14, 0),
|
||||
gsSPVertex(verts2C18, 14, 0),
|
||||
gsSP1Triangle(7, 8, 9, 0),
|
||||
gsSP1Triangle(7, 9, 10, 0),
|
||||
gsSP1Triangle(7, 10, 11, 0),
|
||||
@@ -1123,7 +1175,7 @@ Gfx DL_RAREWARETEXT[] = {
|
||||
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, 342, 5, 0, G_TX_WRAP, 0, 5, G_TX_WRAP, 0, 5),
|
||||
gsDPSetTileSize(5, 2, 2, 2, 2),
|
||||
gsDPSetRenderMode(G_RM_PASS, G_RM_OPA_SURF2),
|
||||
gsSPVertex(0x02002C18, 14, 0),
|
||||
gsSPVertex(verts2C18, 14, 0),
|
||||
gsSP1Triangle(13, 6, 0, 0),
|
||||
gsSP1Triangle(13, 0, 1, 0),
|
||||
gsDPPipeSync(),
|
||||
@@ -1164,7 +1216,7 @@ Gfx DL_RAREWARETEXT[] = {
|
||||
gsDPSetTileSize(4, 2, 2, 6, 6),
|
||||
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 1, 0x156, 5, 0, G_TX_WRAP, 0, 5, G_TX_WRAP, 0, 5),
|
||||
gsDPSetTileSize(5, 2, 2, 2, 2),
|
||||
gsSPVertex(0x02002CF8, 16, 0),
|
||||
gsSPVertex(verts2CF8, 16, 0),
|
||||
gsSP1Triangle(8, 9, 10, 0),
|
||||
gsSP1Triangle(8, 10, 11, 0),
|
||||
gsDPPipeSync(),
|
||||
@@ -1198,14 +1250,14 @@ Gfx D_02004758[] = {
|
||||
gsSPTexture(0x1C81, 0x1426, 0, 0, 1),
|
||||
gsDPSetTileSize(0, 46, 116, 124, 124),
|
||||
|
||||
gsSPVertex(0x02002CF8, 16, 0),
|
||||
gsSPVertex(verts2CF8, 16, 0),
|
||||
gsSP1Triangle(7, 0, 1, 0),
|
||||
gsSP1Triangle(7, 1, 2, 0),
|
||||
gsSP1Triangle(3, 4, 5, 0),
|
||||
gsSP1Triangle(3, 5, 6, 0),
|
||||
|
||||
gsSPVertex(0x02002DF8, 16, 0),
|
||||
gsSPVertex(0x02002EF8, 14, 0),
|
||||
gsSPVertex(verts2DF8, 16, 0),
|
||||
gsSPVertex(verts2EF8, 14, 0),
|
||||
gsSP1Triangle(7, 8, 9, 0),
|
||||
gsSP1Triangle(7, 9, 10, 0),
|
||||
gsSP1Triangle(11, 12, 7, 0),
|
||||
@@ -1217,7 +1269,7 @@ Gfx D_02004758[] = {
|
||||
gsSP1Triangle(2, 3, 4, 0),
|
||||
gsSP1Triangle(2, 4, 5, 0),
|
||||
|
||||
gsSPVertex(0x02002FD8, 16, 0),
|
||||
gsSPVertex(verts2FD8, 16, 0),
|
||||
gsSP1Triangle(8, 9, 10, 0),
|
||||
gsSP1Triangle(11, 9, 8, 0),
|
||||
gsSP1Triangle(11, 8, 15, 0),
|
||||
@@ -1231,7 +1283,7 @@ Gfx D_02004758[] = {
|
||||
gsSP1Triangle(1, 2, 3, 0),
|
||||
gsSP1Triangle(4, 5, 6, 0),
|
||||
|
||||
gsSPVertex(0x020030D8, 14, 0),
|
||||
gsSPVertex(verts30D8, 14, 0),
|
||||
gsSP1Triangle(7, 8, 9, 0),
|
||||
gsSP1Triangle(10, 11, 12, 0),
|
||||
gsSP1Triangle(10, 12, 13, 0),
|
||||
@@ -1239,7 +1291,7 @@ Gfx D_02004758[] = {
|
||||
gsSP1Triangle(6, 1, 2, 0),
|
||||
gsSP1Triangle(3, 4, 5, 0),
|
||||
|
||||
gsSPVertex(0x020031B8, 14, 0),
|
||||
gsSPVertex(verts31B8, 14, 0),
|
||||
gsSP1Triangle(7, 8, 9, 0),
|
||||
gsSP1Triangle(7, 9, 10, 0),
|
||||
gsSP1Triangle(11, 12, 9, 0),
|
||||
@@ -1251,7 +1303,7 @@ Gfx D_02004758[] = {
|
||||
gsSP1Triangle(2, 3, 4, 0),
|
||||
gsSP1Triangle(2, 4, 5, 0),
|
||||
|
||||
gsSPVertex(0x02003298, 16, 0),
|
||||
gsSPVertex(verts3298, 16, 0),
|
||||
gsSP1Triangle(8, 9, 10, 0),
|
||||
gsSP1Triangle(8, 10, 11, 0),
|
||||
gsSP1Triangle(15, 14, 13, 0),
|
||||
@@ -1261,7 +1313,7 @@ Gfx D_02004758[] = {
|
||||
gsSP1Triangle(3, 4, 5, 0),
|
||||
gsSP1Triangle(3, 5, 6, 0),
|
||||
|
||||
gsSPVertex(0x02003398, 16, 0),
|
||||
gsSPVertex(verts3398, 16, 0),
|
||||
gsSP1Triangle(8, 9, 10, 0),
|
||||
gsSP1Triangle(8, 10, 11, 0),
|
||||
gsSP1Triangle(15, 14, 13, 0),
|
||||
@@ -1273,7 +1325,7 @@ Gfx D_02004758[] = {
|
||||
gsSP1Triangle(5, 4, 3, 0),
|
||||
gsSP1Triangle(5, 3, 6, 0),
|
||||
|
||||
gsSPVertex(0x02003498, 16, 0),
|
||||
gsSPVertex(verts3498, 16, 0),
|
||||
gsSP1Triangle(8, 9, 10, 0),
|
||||
gsSP1Triangle(8, 10, 11, 0),
|
||||
gsSP1Triangle(8, 11, 15, 0),
|
||||
@@ -1287,7 +1339,7 @@ Gfx D_02004758[] = {
|
||||
gsSP1Triangle(5, 3, 4, 0),
|
||||
gsSP1Triangle(5, 4, 6, 0),
|
||||
|
||||
gsSPVertex(0x02003598, 14, 0),
|
||||
gsSPVertex(verts3598, 14, 0),
|
||||
gsSP1Triangle(7, 8, 9, 0),
|
||||
gsSP1Triangle(7, 9, 10, 0),
|
||||
gsSP1Triangle(11, 12, 8, 0),
|
||||
@@ -1299,7 +1351,7 @@ Gfx D_02004758[] = {
|
||||
gsSP1Triangle(2, 3, 4, 0),
|
||||
gsSP1Triangle(2, 4, 5, 0),
|
||||
|
||||
gsSPVertex(0x02003678, 16, 0),
|
||||
gsSPVertex(verts3678, 16, 0),
|
||||
gsSP1Triangle(8, 9, 10, 0),
|
||||
gsSP1Triangle(8, 10, 11, 0),
|
||||
gsSP1Triangle(15, 14, 13, 0),
|
||||
@@ -1311,7 +1363,7 @@ Gfx D_02004758[] = {
|
||||
gsSP1Triangle(12, 5, 6, 0),
|
||||
gsSP1Triangle(12, 6, 15, 0),
|
||||
|
||||
gsSPVertex(0x02003778, 16, 0),
|
||||
gsSPVertex(verts3778, 16, 0),
|
||||
gsSP1Triangle(8, 9, 10, 0),
|
||||
gsSP1Triangle(8, 10, 11, 0),
|
||||
gsSP1Triangle(11, 15, 14, 0),
|
||||
@@ -1325,7 +1377,7 @@ Gfx D_02004758[] = {
|
||||
gsSP1Triangle(4, 5, 6, 0),
|
||||
gsSP1Triangle(4, 6, 3, 0),
|
||||
|
||||
gsSPVertex(0x02003878, 14, 0),
|
||||
gsSPVertex(verts3878, 14, 0),
|
||||
gsSP1Triangle(7, 8, 9, 0),
|
||||
gsSP1Triangle(7, 9, 10, 0),
|
||||
gsSP1Triangle(11, 9, 8, 0),
|
||||
@@ -1337,7 +1389,7 @@ Gfx D_02004758[] = {
|
||||
gsSP1Triangle(2, 3, 4, 0),
|
||||
gsSP1Triangle(2, 4, 5, 0),
|
||||
|
||||
gsSPVertex(0x02003958, 16, 0),
|
||||
gsSPVertex(verts3958, 16, 0),
|
||||
gsSP1Triangle(8, 9, 10, 0),
|
||||
gsSP1Triangle(8, 10, 11, 0),
|
||||
gsSP1Triangle(15, 14, 13, 0),
|
||||
@@ -1351,7 +1403,7 @@ Gfx D_02004758[] = {
|
||||
gsSP1Triangle(3, 4, 5, 0),
|
||||
gsSP1Triangle(3, 5, 6, 0),
|
||||
|
||||
gsSPVertex(0x02003A58, 16, 0),
|
||||
gsSPVertex(verts3A58, 16, 0),
|
||||
gsSP1Triangle(8, 9, 10, 0),
|
||||
gsSP1Triangle(8, 10, 11, 0),
|
||||
gsSP1Triangle(8, 11, 15, 0),
|
||||
@@ -1367,7 +1419,7 @@ Gfx D_02004758[] = {
|
||||
gsSP1Triangle(3, 4, 5, 0),
|
||||
gsSP1Triangle(3, 5, 6, 0),
|
||||
|
||||
gsSPVertex(0x02003B58, 16, 0),
|
||||
gsSPVertex(verts3B58, 16, 0),
|
||||
gsSP1Triangle(8, 9, 10, 0),
|
||||
gsSP1Triangle(8, 10, 11, 0),
|
||||
gsSP1Triangle(15, 11, 10, 0),
|
||||
@@ -1383,7 +1435,7 @@ Gfx D_02004758[] = {
|
||||
gsSP1Triangle(5, 4, 3, 0),
|
||||
gsSP1Triangle(5, 3, 6, 0),
|
||||
|
||||
gsSPVertex(0x02003C58, 16, 0),
|
||||
gsSPVertex(verts3C58, 16, 0),
|
||||
gsSP1Triangle(8, 9, 10, 0),
|
||||
gsSP1Triangle(8, 10, 11, 0),
|
||||
gsSP1Triangle(15, 11, 10, 0),
|
||||
@@ -1395,7 +1447,7 @@ Gfx D_02004758[] = {
|
||||
gsSP1Triangle(3, 4, 5, 0),
|
||||
gsSP1Triangle(3, 5, 6, 0),
|
||||
|
||||
gsSPVertex(0x02003D58, 16, 0),
|
||||
gsSPVertex(verts3D58, 16, 0),
|
||||
gsSP1Triangle(8, 9, 10, 0),
|
||||
gsSP1Triangle(8, 10, 11, 0),
|
||||
gsSP1Triangle(15, 14, 13, 0),
|
||||
@@ -1409,7 +1461,7 @@ Gfx D_02004758[] = {
|
||||
gsSP1Triangle(5, 4, 3, 0),
|
||||
gsSP1Triangle(5, 3, 6, 0),
|
||||
|
||||
gsSPVertex(0x02003E58, 16, 0),
|
||||
gsSPVertex(verts3E58, 16, 0),
|
||||
gsSP1Triangle(8, 9, 10, 0),
|
||||
gsSP1Triangle(8, 10, 11, 0),
|
||||
gsSP1Triangle(11, 10, 15, 0),
|
||||
@@ -1423,7 +1475,7 @@ Gfx D_02004758[] = {
|
||||
gsSP1Triangle(3, 2, 5, 0),
|
||||
gsSP1Triangle(3, 5, 6, 0),
|
||||
|
||||
gsSPVertex(0x02003F58, 16, 0),
|
||||
gsSPVertex(verts3F58, 16, 0),
|
||||
gsSP1Triangle(8, 9, 10, 0),
|
||||
gsSP1Triangle(8, 10, 11, 0),
|
||||
gsSP1Triangle(10, 9, 15, 0),
|
||||
@@ -1437,7 +1489,7 @@ Gfx D_02004758[] = {
|
||||
gsSP1Triangle(5, 4, 3, 0),
|
||||
gsSP1Triangle(5, 3, 6, 0),
|
||||
|
||||
gsSPVertex(0x02004058, 16, 0),
|
||||
gsSPVertex(verts4058, 16, 0),
|
||||
gsSP1Triangle(8, 9, 10, 0),
|
||||
gsSP1Triangle(8, 10, 11, 0),
|
||||
gsSP1Triangle(8, 11, 15, 0),
|
||||
@@ -1453,7 +1505,7 @@ Gfx D_02004758[] = {
|
||||
gsSP1Triangle(8, 4, 5, 0),
|
||||
gsSP1Triangle(8, 5, 6, 0),
|
||||
|
||||
gsSPVertex(0x02004158, 16, 0),
|
||||
gsSPVertex(verts4158, 16, 0),
|
||||
gsSP1Triangle(8, 9, 10, 0),
|
||||
gsSP1Triangle(8, 10, 11, 0),
|
||||
gsSP1Triangle(8, 11, 15, 0),
|
||||
@@ -1465,7 +1517,7 @@ Gfx D_02004758[] = {
|
||||
gsSP1Triangle(3, 4, 5, 0),
|
||||
gsSP1Triangle(3, 5, 6, 0),
|
||||
|
||||
gsSPVertex(0x02004258, 16, 0),
|
||||
gsSPVertex(verts4258, 16, 0),
|
||||
gsSP1Triangle(8, 9, 10, 0),
|
||||
gsSP1Triangle(8, 10, 11, 0),
|
||||
gsSP1Triangle(8, 15, 14, 0),
|
||||
@@ -1478,7 +1530,7 @@ Gfx D_02004758[] = {
|
||||
gsSP1Triangle(0, 2, 3, 0),
|
||||
gsSP1Triangle(4, 5, 6, 0),
|
||||
|
||||
gsSPVertex(0x02004358, 9, 0),
|
||||
gsSPVertex(verts4358, 9, 0),
|
||||
gsSP1Triangle(5, 6, 7, 0),
|
||||
gsSP1Triangle(5, 7, 8, 0),
|
||||
gsSP1Triangle(5, 8, 4, 0),
|
||||
+6
-6
@@ -3752,8 +3752,8 @@ void crashSetBuffers2(u16 *buffer1, u16 *buffer2)
|
||||
}
|
||||
|
||||
|
||||
extern stagesetup *_load_resource_named_to_membank();
|
||||
f32 g_scale_1_0_item_related = 1.0f;
|
||||
extern stagesetup *_fileNameLoadToBank();
|
||||
f32 g_g_DoorScale = 1.0f;
|
||||
char *setup_text_pointers[] = {
|
||||
NULL,
|
||||
NULL,
|
||||
@@ -3990,7 +3990,7 @@ void proplvreset2(s32 stageID)
|
||||
bnoprop = tokenFind(1, "-noprop") == 0;
|
||||
}
|
||||
|
||||
g_scale_1_0_item_related = 1.0f;
|
||||
g_g_DoorScale = 1.0f;
|
||||
|
||||
// for each itme
|
||||
itementries_1 = PitemZ_entries;
|
||||
@@ -4020,9 +4020,9 @@ void proplvreset2(s32 stageID)
|
||||
strcat(ptrsp174, "mp_");
|
||||
}
|
||||
strcat(ptrsp174, *textptr + 1);
|
||||
resource = _load_resource_named_to_membank(ptrsp174, 1, 0x100, 4);
|
||||
resource = _fileNameLoadToBank(ptrsp174, 1, 0x100, 4);
|
||||
g_ptrStageSetupFile = resource;
|
||||
load_mission_text_bank(get_textbank_number_for_stagenum(stageID));
|
||||
langLoadToBank(langGetLangBankIndexFromStagenum(stageID));
|
||||
g_CurrentSetup.pathwaypoints = resource->pathwaypoints;
|
||||
g_CurrentSetup.waypointgroups = resource->waypointgroups;
|
||||
g_CurrentSetup.intro = resource->intro;
|
||||
@@ -4348,7 +4348,7 @@ void proplvreset2(s32 stageID)
|
||||
}
|
||||
break;
|
||||
case PROPDEF_DOOR_SCALE: // switch 1
|
||||
g_scale_1_0_item_related = ((GlobalDoorScaleRecord *)prop)->Scale / 65536.0f;
|
||||
g_g_DoorScale = ((GlobalDoorScaleRecord *)prop)->Scale / 65536.0f;
|
||||
break;
|
||||
case PROPDEF_COLLECTABLE: // switch 1
|
||||
if ((bnoprop != 0) && ((prop->flags2 & phi_s4_2) == 0))
|
||||
|
||||
+4
-4
@@ -24,12 +24,12 @@ da39a3ee5e6b4b0d3255bfef95601890afd80709 build/u/assets/obseg/bg/bg_imp_all_p.s
|
||||
da39a3ee5e6b4b0d3255bfef95601890afd80709 build/u/assets/obseg/bg/bg_ash_all_p.seg
|
||||
da39a3ee5e6b4b0d3255bfef95601890afd80709 build/u/assets/obseg/bg/bg_sho_all_p.seg
|
||||
46774d70127cae35b898f5b94246c77f6e239a71 build/u/assets/obseg/bg/bg_ame_all_p.seg
|
||||
da39a3ee5e6b4b0d3255bfef95601890afd80709 build/u/assets/obseg/bg/bg_oat_all_p.seg
|
||||
70ac79017821950bc71d0f5ea0148cde1825a615 build/u/assets/obseg/bg/bg_rit_all_p.seg
|
||||
da39a3ee5e6b4b0d3255bfef95601890afd80709 build/u/assets/obseg/bg/bg_len_all_p.seg
|
||||
da39a3ee5e6b4b0d3255bfef95601890afd80709 build/u/assets/obseg/bg/bg_rit_all_p.seg
|
||||
70ac79017821950bc71d0f5ea0148cde1825a615 build/u/assets/obseg/bg/bg_oat_all_p.seg
|
||||
da39a3ee5e6b4b0d3255bfef95601890afd80709 build/u/assets/obseg/bg/bg_lip_all_p.seg
|
||||
da39a3ee5e6b4b0d3255bfef95601890afd80709 build/u/assets/obseg/bg/bg_lee_all_p.seg
|
||||
da39a3ee5e6b4b0d3255bfef95601890afd80709 build/u/assets/obseg/bg/bg_ear_all_p.seg
|
||||
53ea3a1252992714b8f09235909390c001a3f3b8 build/u/assets/obseg/bg/bg_lip_all_p.seg
|
||||
53ea3a1252992714b8f09235909390c001a3f3b8 build/u/assets/obseg/bg/bg_len_all_p.seg
|
||||
da39a3ee5e6b4b0d3255bfef95601890afd80709 build/u/assets/obseg/bg/bg_pam_all_p.seg
|
||||
da39a3ee5e6b4b0d3255bfef95601890afd80709 build/u/assets/obseg/bg/bg_wax_all_p.seg
|
||||
f4e72081570eae7ec26d1fcca157b762f686f465 build/u/assets/obseg/brief/UbriefarchZ.rz
|
||||
|
||||
+4
-4
@@ -26,12 +26,12 @@
|
||||
7148064,0,assets/obseg/bg/bg_ash_all_p.bin,0,1
|
||||
7148064,0,assets/obseg/bg/bg_lue_all_p.bin,0,1
|
||||
7148064,40800,assets/obseg/bg/bg_ame_all_p.bin,0,1
|
||||
7188864,0,assets/obseg/bg/bg_rit_all_p.bin,0,0
|
||||
7188864,28240,assets/obseg/bg/bg_oat_all_p.bin,0,1
|
||||
7188864,0,assets/obseg/bg/bg_oat_all_p.bin,0,0
|
||||
7188864,28240,assets/obseg/bg/bg_rit_all_p.bin,0,1
|
||||
7217104,0,assets/obseg/bg/bg_ear_all_p.bin,0,0
|
||||
7217104,0,assets/obseg/bg/bg_lee_all_p.bin,0,0
|
||||
7217104,0,assets/obseg/bg/bg_lip_all_p.bin,0,0
|
||||
7217104,4000,assets/obseg/bg/bg_len_all_p.bin,0,1
|
||||
7217104,0,assets/obseg/bg/bg_len_all_p.bin,0,0
|
||||
7217104,4000,assets/obseg/bg/bg_lip_all_p.bin,0,1
|
||||
7221104,0,assets/obseg/bg/bg_wax_all_p.bin,0,0
|
||||
7221104,0,assets/obseg/bg/bg_pam_all_p.bin,0,0
|
||||
7221104,9344,assets/obseg/chr/CarmourguardZ,1,1
|
||||
|
||||
|
+9
-9
@@ -4,7 +4,7 @@
|
||||
1202144,1482432,assets/animationtable_entries.bin,0,0
|
||||
2684576,59360,assets/animationtable_data.bin,0,0
|
||||
2743936,5120,assets/ge007.u.29D160.Globalimagetable.bin,0,0
|
||||
2749056,26608,assets/Globalimagetable_commandblock.bin,0,0
|
||||
2749056,26608,assets/rarewarelogo.bin,0,0
|
||||
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
|
||||
@@ -20,10 +20,10 @@
|
||||
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,0
|
||||
3044276,8716,assets/font/font_second_font_table_controller_small.bin,0,0
|
||||
3052992,676,assets/font/font_first_font_table_controller_large.bin,0,0
|
||||
3053668,12956,assets/font/font_second_font_table_controller_large.bin,0,0
|
||||
3043600,676,assets/font/fontBankGothic_kerning.bin,0,0
|
||||
3044276,8716,assets/font/fontZurichBold_fontchartable.bin,0,0
|
||||
3052992,676,assets/font/fontZurichBold_kerning.bin,0,0
|
||||
3053668,12956,assets/font/fontZurichBold_fontchartable.bin,0,0
|
||||
3066624,23488,assets/music/sfx.ctl,0,1
|
||||
3090112,797360,assets/music/sfx.tbl,0,1
|
||||
3887472,17312,assets/music/instruments.ctl,0,1
|
||||
@@ -119,12 +119,12 @@
|
||||
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
|
||||
7232192,0,assets/obseg/bg/bg_rit_all_p.bin,0,1
|
||||
7232192,28240,assets/obseg/bg/bg_oat_all_p.bin,0,0
|
||||
7260432,0,assets/obseg/bg/bg_lip_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
|
||||
7260432,4000,assets/obseg/bg/bg_len_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
|
||||
|
||||
|
+9
-9
@@ -4,7 +4,7 @@
|
||||
1198784,1482432,assets/animationtable_entries.bin,0,0
|
||||
2681216,59360,assets/animationtable_data.bin,0,0
|
||||
2740576,2760,assets/ge007.u.29D160.Globalimagetable.bin,0,0
|
||||
2745696,26608,assets/Globalimagetable_commandblock.bin,0,0
|
||||
2745696,26608,assets/rarewarelogo.bin,0,0
|
||||
2772304,107904,assets/ge007.u.2A4D50.usedby7F008DE4.bin,0,1
|
||||
2880208,20992,assets/ramrom/ramrom_Dam_1.bin,0,1
|
||||
2901200,8144,assets/ramrom/ramrom_Dam_2.bin,0,1
|
||||
@@ -20,10 +20,10 @@
|
||||
3004272,6576,assets/ramrom/ramrom_Frigate_1.bin,0,1
|
||||
3010848,13536,assets/ramrom/ramrom_Frigate_2.bin,0,1
|
||||
3024384,15856,assets/ramrom/ramrom_Train.bin,0,1
|
||||
3040240,676,assets/font/font_first_font_table_controller_small.bin,0,0
|
||||
3040916,8716,assets/font/font_second_font_table_controller_small.bin,0,0
|
||||
3049632,676,assets/font/font_first_font_table_controller_large.bin,0,0
|
||||
3050308,12956,assets/font/font_second_font_table_controller_large.bin,0,0
|
||||
3040240,676,assets/font/fontBankGothic_kerning.bin,0,0
|
||||
3040916,8716,assets/font/fontBankGothic_fontchartable.bin,0,0
|
||||
3049632,676,assets/font/fontZurichBold_kerning.bin,0,0
|
||||
3050308,12956,assets/font/fontZurichBold_fontchartable.bin,0,0
|
||||
3063264,23488,assets/music/sfx.ctl,0,1
|
||||
3086752,797360,assets/music/sfx.tbl,0,1
|
||||
3884112,17312,assets/music/instruments.ctl,0,1
|
||||
@@ -120,12 +120,12 @@
|
||||
7188032,0,assets/obseg/bg/bg_ash_all_p.bin,0,1
|
||||
7188032,0,assets/obseg/bg/bg_sho_all_p.bin,0,1
|
||||
7188032,40800,assets/obseg/bg/bg_ame_all_p.bin,0,0
|
||||
7228832,0,assets/obseg/bg/bg_oat_all_p.bin,0,1
|
||||
7228832,28240,assets/obseg/bg/bg_rit_all_p.bin,0,0
|
||||
7257072,0,assets/obseg/bg/bg_len_all_p.bin,0,1
|
||||
7228832,0,assets/obseg/bg/bg_rit_all_p.bin,0,1
|
||||
7228832,28240,assets/obseg/bg/bg_oat_all_p.bin,0,0
|
||||
7257072,0,assets/obseg/bg/bg_lip_all_p.bin,0,1
|
||||
7257072,0,assets/obseg/bg/bg_lee_all_p.bin,0,1
|
||||
7257072,0,assets/obseg/bg/bg_ear_all_p.bin,0,1
|
||||
7257072,4000,assets/obseg/bg/bg_lip_all_p.bin,0,0
|
||||
7257072,4000,assets/obseg/bg/bg_len_all_p.bin,0,0
|
||||
7261072,0,assets/obseg/bg/bg_pam_all_p.bin,0,1
|
||||
7261072,0,assets/obseg/bg/bg_wax_all_p.bin,0,1
|
||||
7261072,9344,assets/obseg/chr/CarmourguardZ.bin,1,1
|
||||
|
||||
|
@@ -638,11 +638,11 @@ d41d8cd98f00b204e9800998ecf8427e,.code,build/e/src/game/null_007970.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.bss,build/e/src/game/null_007970.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.data,build/e/src/game/null_007970.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.rodata,build/e/src/game/null_007970.o
|
||||
7b22a2783a019bcd60f173947237c811,.text,build/e/src/game/objecthandler_1.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.code,build/e/src/game/objecthandler_1.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.bss,build/e/src/game/objecthandler_1.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.data,build/e/src/game/objecthandler_1.o
|
||||
e130944f728e41b7ccd6730873dc6bb9,.rodata,build/e/src/game/objecthandler_1.o
|
||||
7b22a2783a019bcd60f173947237c811,.text,build/e/src/game/model.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.code,build/e/src/game/model.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.bss,build/e/src/game/model.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.data,build/e/src/game/model.o
|
||||
e130944f728e41b7ccd6730873dc6bb9,.rodata,build/e/src/game/model.o
|
||||
b9ecfe8ecc3ef965e425146c53659a76,.text,build/e/src/game/objecthandler_2.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.code,build/e/src/game/objecthandler_2.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.bss,build/e/src/game/objecthandler_2.o
|
||||
|
||||
|
@@ -633,11 +633,11 @@ d41d8cd98f00b204e9800998ecf8427e,.code,build/j/src/game/null_007970.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.bss,build/j/src/game/null_007970.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.data,build/j/src/game/null_007970.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.rodata,build/j/src/game/null_007970.o
|
||||
eb1d4282f3c092f900ae0384b32c45ff,.text,build/j/src/game/objecthandler_1.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.code,build/j/src/game/objecthandler_1.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.bss,build/j/src/game/objecthandler_1.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.data,build/j/src/game/objecthandler_1.o
|
||||
63392afd7ef8420cf22b9e1f4b947ac7,.rodata,build/j/src/game/objecthandler_1.o
|
||||
eb1d4282f3c092f900ae0384b32c45ff,.text,build/j/src/game/model.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.code,build/j/src/game/model.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.bss,build/j/src/game/model.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.data,build/j/src/game/model.o
|
||||
63392afd7ef8420cf22b9e1f4b947ac7,.rodata,build/j/src/game/model.o
|
||||
b9ecfe8ecc3ef965e425146c53659a76,.text,build/j/src/game/objecthandler_2.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.code,build/j/src/game/objecthandler_2.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.bss,build/j/src/game/objecthandler_2.o
|
||||
|
||||
|
@@ -52,9 +52,10 @@ SECTIONS
|
||||
|
||||
_alt_startSegmentRomStart = _startSegmentRomStart + 0x100000;
|
||||
_alt_startSegmentStart = _startSegmentStart - 0x10000000 + 0x100000;
|
||||
|
||||
|
||||
/* 0x70000450, 0x70020D90 001050-021990 */
|
||||
BEGIN_SEG(code, _startSegmentRomEnd, 0x70000450) SUBALIGN(16)
|
||||
BEGIN_SEG(code, _startSegmentRomEnd, (_startSegmentEnd - 0x10000000)) SUBALIGN(16)
|
||||
{
|
||||
#include "ld/lib.text.ld.inc"
|
||||
}
|
||||
@@ -125,13 +126,13 @@ SECTIONS
|
||||
}
|
||||
END_SEG(Globalimagetable)
|
||||
|
||||
BEGIN_SEG(Globalimagetablecmdblk, _GlobalimagetableSegmentRomEnd, 0x02000000)
|
||||
BEGIN_SEG(rarewarelogo, _GlobalimagetableSegmentRomEnd, 0x02000000)
|
||||
{
|
||||
build/OUTCODE/assets/Globalimagetable_commandblock.o (.data);
|
||||
build/OUTCODE/assets/rarewarelogo.o (.data);
|
||||
}
|
||||
END_SEG(Globalimagetablecmdblk)
|
||||
END_SEG(rarewarelogo)
|
||||
|
||||
BEGIN_SEG(romfiles2, _GlobalimagetablecmdblkSegmentRomEnd, _romfiles2SegmentRomStart)
|
||||
BEGIN_SEG(romfiles2, _rarewarelogoSegmentRomEnd, _romfiles2SegmentRomStart)
|
||||
{
|
||||
build/OUTCODE/assets/romfiles2.o (.data);
|
||||
}
|
||||
@@ -144,21 +145,21 @@ SECTIONS
|
||||
END_SEG(ramromfiles)
|
||||
|
||||
|
||||
BEGIN_SEG(fonttablectlsmall1, _ramromfilesSegmentRomEnd, _fonttablectlsmall1SegmentRomStart)
|
||||
BEGIN_SEG(fontbankgothic, _ramromfilesSegmentRomEnd, 0)
|
||||
{
|
||||
build/OUTCODE/assets/font/font_first_font_table_controller_small.o (.data);
|
||||
build/OUTCODE/assets/font/fontBankGothic.o (.data);
|
||||
}
|
||||
END_SEG(fonttablectlsmall1)
|
||||
END_SEG(fontbankgothic)
|
||||
|
||||
BEGIN_SEG(fonttablectllarge1, _fonttablectlsmall1SegmentRomEnd, _fonttablectllarge1SegmentRomStart)
|
||||
BEGIN_SEG(fontzurichbold, _fontbankgothicSegmentRomEnd, 0)
|
||||
{
|
||||
build/OUTCODE/assets/font/font_first_font_table_controller_large.o (.data);
|
||||
build/OUTCODE/assets/font/fontZurichBold.o (.data);
|
||||
}
|
||||
END_SEG(fonttablectllarge1)
|
||||
END_SEG(fontzurichbold)
|
||||
|
||||
|
||||
|
||||
BEGIN_SEG(musicfiles, _fonttablectllarge1SegmentRomEnd, _musicfilesSegmentRomStart)
|
||||
BEGIN_SEG(musicfiles, _fontzurichboldSegmentRomEnd, _musicfilesSegmentRomStart)
|
||||
{
|
||||
build/OUTCODE/assets/music/sfx.ctl.o (.data);
|
||||
build/OUTCODE/assets/music/sfx.tbl.o (.data);
|
||||
|
||||
@@ -633,11 +633,11 @@ d41d8cd98f00b204e9800998ecf8427e,.code,build/u/src/game/null_007970.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.bss,build/u/src/game/null_007970.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.data,build/u/src/game/null_007970.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.rodata,build/u/src/game/null_007970.o
|
||||
eb1d4282f3c092f900ae0384b32c45ff,.text,build/u/src/game/objecthandler_1.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.code,build/u/src/game/objecthandler_1.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.bss,build/u/src/game/objecthandler_1.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.data,build/u/src/game/objecthandler_1.o
|
||||
63392afd7ef8420cf22b9e1f4b947ac7,.rodata,build/u/src/game/objecthandler_1.o
|
||||
eb1d4282f3c092f900ae0384b32c45ff,.text,build/u/src/game/model.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.code,build/u/src/game/model.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.bss,build/u/src/game/model.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.data,build/u/src/game/model.o
|
||||
63392afd7ef8420cf22b9e1f4b947ac7,.rodata,build/u/src/game/model.o
|
||||
b9ecfe8ecc3ef965e425146c53659a76,.text,build/u/src/game/objecthandler_2.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.code,build/u/src/game/objecthandler_2.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.bss,build/u/src/game/objecthandler_2.o
|
||||
|
||||
|
@@ -69,6 +69,16 @@
|
||||
/***
|
||||
*** 4 Triangles
|
||||
***/
|
||||
/**
|
||||
* Remarks:
|
||||
* Ryan: I've been learning a lot about PD's graphics microcode lately. It's likely that the decision to
|
||||
* implement tri4 was to reduce memory usage in RDRAM. But to fit 4 tris in one command they had to limit
|
||||
* themselves to 4 bits per vertex, which means they can only address up to 16 vertices. They could have
|
||||
* fit 32 vertices in DMEM if they wanted. In stock microcodes the vertex IDs are pre-multiplied by 10
|
||||
* which makes it easy for the RSP to calculate the vertex offset in the DMEM buffer (it can use a
|
||||
* single shift operation). But because PD is using a compact format there's more work for the RSP to
|
||||
* calculate it. So they've sacrificed RSP performance for memory saving.
|
||||
*/
|
||||
|
||||
//cannot use 2tri with 4tri, so lets just make sure they are undefined so errors happen.
|
||||
#undef gSP2Triangles
|
||||
@@ -186,6 +196,14 @@
|
||||
_g->words.w1 = _SHIFTL(0x06, 24, 8) | _SHIFTL((c), 14, 10) | _SHIFTL((d), 2, 10); \
|
||||
}
|
||||
|
||||
#define gDPLoadTLUTCmd2(pkt, tile, count) \
|
||||
{ \
|
||||
Gfx *_g = (Gfx *)pkt; \
|
||||
\
|
||||
_g->words.w0 = _SHIFTL(G_LOADTLUT, 24, 8) | 0xff0; \
|
||||
_g->words.w1 = _SHIFTL((tile), 24, 3) | _SHIFTL((count), 14, 10) | 0xff0;\
|
||||
}
|
||||
|
||||
/*
|
||||
* Texturing macro Overrides
|
||||
*/
|
||||
|
||||
+4
-2
@@ -45,9 +45,9 @@
|
||||
|
||||
|
||||
/* Half of PI. (PI/2)*/
|
||||
#define M_HALF_PI M_PI_F / 2
|
||||
#define M_HALF_PI (M_PI_F / 2)
|
||||
/* 3 Halves of PI. (3*(PI/2))*/
|
||||
#define M_THREE_HALF_PI 3 * M_HALF_PI
|
||||
#define M_THREE_HALF_PI (3 * M_HALF_PI)
|
||||
|
||||
|
||||
#define M_U16_MAX_VALUE_F 65536.0f
|
||||
@@ -68,6 +68,8 @@
|
||||
#define RAD2BYTE(RAD) (char)(256.0f / M_TAU_F * (RAD))
|
||||
/* Converts an angle from Degrees to Radians */
|
||||
#define DegToRad(DEG) (float)((DEG) * M_TAU_F / 360.0f)
|
||||
/* Converts an angle from Degrees to Radians with only one multiply*/
|
||||
#define DegToRad1Fact(DEG) (float)((DEG) * (float)(M_TAU / 360.0))
|
||||
/* Converts and halves an angle from Degrees to Radians */
|
||||
#define mDegToHalfRad(x) ((x * M_PI_F) / 360.0f)
|
||||
/* Converts an angle from Radians to Degrees */
|
||||
|
||||
+1
-1
@@ -71,7 +71,7 @@
|
||||
build/OUTCODE/src/game/gun.o (.bss);
|
||||
build/OUTCODE/src/game/bondwalk2.o (.bss);
|
||||
build/OUTCODE/src/game/objecthandler.o (.bss);
|
||||
build/OUTCODE/src/game/objecthandler_1.o (.bss);
|
||||
build/OUTCODE/src/game/model.o (.bss);
|
||||
build/OUTCODE/src/game/objecthandler_2.o (.bss);
|
||||
build/OUTCODE/src/game/othermodemicrocode.o (.bss);
|
||||
build/OUTCODE/src/game/bondview.o (.bss);
|
||||
|
||||
+1
-1
@@ -71,7 +71,7 @@
|
||||
build/OUTCODE/src/game/gun.o (.data);
|
||||
build/OUTCODE/src/game/bondwalk2.o (.data);
|
||||
build/OUTCODE/src/game/objecthandler.o (.data);
|
||||
build/OUTCODE/src/game/objecthandler_1.o (.data);
|
||||
build/OUTCODE/src/game/model.o (.data);
|
||||
build/OUTCODE/src/game/objecthandler_2.o (.data);
|
||||
build/OUTCODE/src/game/othermodemicrocode.o (.data);
|
||||
build/OUTCODE/src/game/bondview.o (.data);
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
build/OUTCODE/src/game/gun.o (.rodata);
|
||||
build/OUTCODE/src/game/bondwalk2.o (.rodata);
|
||||
build/OUTCODE/src/game/objecthandler.o (.rodata);
|
||||
build/OUTCODE/src/game/objecthandler_1.o (.rodata);
|
||||
build/OUTCODE/src/game/model.o (.rodata);
|
||||
build/OUTCODE/src/game/objecthandler_2.o (.rodata);
|
||||
build/OUTCODE/src/game/othermodemicrocode.o (.rodata);
|
||||
build/OUTCODE/src/game/bondview.o (.rodata);
|
||||
|
||||
+1
-1
@@ -71,7 +71,7 @@
|
||||
build/OUTCODE/src/game/gun.o (.text);
|
||||
build/OUTCODE/src/game/bondwalk2.o (.text);
|
||||
build/OUTCODE/src/game/objecthandler.o (.text);
|
||||
build/OUTCODE/src/game/objecthandler_1.o (.text);
|
||||
build/OUTCODE/src/game/model.o (.text);
|
||||
build/OUTCODE/src/game/objecthandler_2.o (.text);
|
||||
build/OUTCODE/src/game/othermodemicrocode.o (.text);
|
||||
build/OUTCODE/src/game/bondview.o (.text);
|
||||
|
||||
@@ -50,15 +50,7 @@ Additionally [qemu-irix](https://github.com/n64decomp/qemu-irix/releases) is nee
|
||||
sudo dpkg -i qemu-irix-2.11.0-2169-g32ab296eef_amd64.deb
|
||||
```
|
||||
|
||||
#### Step 2: Recompile IDO
|
||||
|
||||
Recompile IDO for your platform for increased compile speed
|
||||
```bash
|
||||
cd tools/ido5.3_recomp
|
||||
make
|
||||
```
|
||||
|
||||
#### Step 3: Clone the repository
|
||||
#### Step 2: Clone the repository
|
||||
|
||||
Clone this repository where you wish to have the project, with a command such as:
|
||||
|
||||
@@ -66,6 +58,14 @@ Clone this repository where you wish to have the project, with a command such as
|
||||
git clone https://github.com/kholdfuzion/goldeneye_src
|
||||
```
|
||||
|
||||
#### Step 3: Recompile IDO
|
||||
|
||||
Recompile IDO for your platform for increased compile speed
|
||||
```bash
|
||||
cd tools/ido5.3_recomp
|
||||
make
|
||||
```
|
||||
|
||||
#### Step 4: Prepare baserom(s) for asset extraction
|
||||
|
||||
Place an unmodified copy of your existing NTSC (US) ROM inside the root of this repository with the name `baserom.u.z64`.
|
||||
|
||||
+30
-30
@@ -4862,7 +4862,7 @@ _AI_CMD(
|
||||
ObjectRecord *obj = objFindByTagId(ai->val[0]);
|
||||
if (obj && obj->prop)
|
||||
{
|
||||
if (!do_something_if_object_destroyed(obj))
|
||||
if (!objGetDestroyedLevel(obj))
|
||||
{
|
||||
f32 damage = ((obj->damage - obj->maxdamage) + 1) / 250.0f;
|
||||
maybe_detonate_object(obj, damage, &obj->runtime_pos, 29, -1);
|
||||
@@ -5049,7 +5049,7 @@ _AI_CMD(
|
||||
if (obj && obj->prop)
|
||||
{
|
||||
bool a = collect_or_interact_object(obj->prop, 0);
|
||||
sub_GAME_7F03C2BC(obj->prop, a);
|
||||
propExecuteTickOperation(obj->prop, a);
|
||||
}
|
||||
Offset += CAT(CAT(AI_, CMDNAME), _LENGTH);
|
||||
break;
|
||||
@@ -5094,7 +5094,7 @@ _AI_CMD(
|
||||
{
|
||||
if (obj->prop->parent)
|
||||
{
|
||||
sub_GAME_7F04C044(obj->prop);
|
||||
objDetach(obj->prop);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -5102,7 +5102,7 @@ _AI_CMD(
|
||||
chrpropDelist(obj->prop);
|
||||
chrpropDisable(obj->prop);
|
||||
}
|
||||
if (obj->type != PROPDEF_COLLECTABLE || !sub_GAME_7F051E1C(obj, chr))
|
||||
if (obj->type != PROPDEF_COLLECTABLE || !chrEquipWeapon(obj, chr))
|
||||
{
|
||||
chrpropReparent(obj->prop, chr->prop);
|
||||
}
|
||||
@@ -9122,7 +9122,7 @@ _AI_CMD(
|
||||
bool ok = FALSE;
|
||||
if (ChrEntityp && ChrEntityp->prop && ChrEntityp->model)
|
||||
{
|
||||
ok = chrTryEquipHat(ChrEntityp, modelnum, flags);
|
||||
ok = hatCreateForChr(ChrEntityp, modelnum, flags);
|
||||
}
|
||||
if (ok)
|
||||
{
|
||||
@@ -9223,7 +9223,7 @@ _AI_CMD(
|
||||
if (hatprop)
|
||||
{
|
||||
hatobj = hatprop->obj;
|
||||
chrTryEquipHat(clone, hatobj->obj, 0);
|
||||
hatCreateForChr(clone, hatobj->obj, 0);
|
||||
}
|
||||
}
|
||||
/*PD extras
|
||||
@@ -9952,15 +9952,15 @@ _AI_CMD(
|
||||
if (obj->type == PROPDEF_MONITOR)
|
||||
{
|
||||
MonitorObjRecord *sm = (MonitorObjRecord *) obj;
|
||||
monitorSetImageByNum(&sm->Monitor.image, ai->val[2]);
|
||||
monitorSetImageByNum(&sm->Monitor.cmdlist, ai->val[2]);
|
||||
}
|
||||
else if (obj->type == PROPDEF_MULTI_MONITOR)
|
||||
{
|
||||
u8 slot = ai->val[1];
|
||||
if (slot < 4)
|
||||
{
|
||||
multimonitorobj *mm = (multimonitorobj *) obj;
|
||||
monitorSetImageByNum(&mm->Monitor[slot].image, ai->val[2]);
|
||||
MultiMonitorObjRecord *mm = (MultiMonitorObjRecord *) obj;
|
||||
monitorSetImageByNum(&mm->Monitor[slot].cmdlist, ai->val[2]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -10295,15 +10295,15 @@ _AI_CMD(
|
||||
_AI_CMD(
|
||||
{
|
||||
AIRecord1 * ai = AiListp + Offset;
|
||||
set_unset_bitflags(4, FALSE);
|
||||
set_unset_ammo_on_screen_setting(2, FALSE);
|
||||
gunSetSightVisible(GUNSIGHTREASON_NOCONTROL, FALSE);
|
||||
gunSetGunAmmoVisible(GUNAMMOREASON_NOCONTROL, FALSE);
|
||||
if (!(PLAYERFLAG_NOCONTROL & ai->val))
|
||||
{
|
||||
hudmsgsSetOff(PLAYERFLAG_NOCONTROL);
|
||||
}
|
||||
if (!(ai->val & PLAYERFLAG_LOCKCONTROLS))
|
||||
{
|
||||
sub_GAME_7F08A944(PLAYERFLAG_NOCONTROL);
|
||||
bondviewSetUpperTextDisplayFlag(PLAYERFLAG_NOCONTROL);
|
||||
}
|
||||
if (!(ai->val & PLAYERFLAG_NOTIMER))
|
||||
{
|
||||
@@ -10342,10 +10342,10 @@ _AI_CMD(
|
||||
|
||||
_AI_CMD(
|
||||
{
|
||||
set_unset_bitflags(4, TRUE);
|
||||
set_unset_ammo_on_screen_setting(2, TRUE);
|
||||
gunSetSightVisible(GUNSIGHTREASON_NOCONTROL, TRUE);
|
||||
gunSetGunAmmoVisible(GUNAMMOREASON_NOCONTROL, TRUE);
|
||||
hudmsgsSetOn(PLAYERFLAG_NOCONTROL);
|
||||
sub_GAME_7F08A928(2);
|
||||
bondviewClearUpperTextDisplayFlag(2);
|
||||
countdownTimerSetVisible(16, TRUE);
|
||||
D_800364B0 = TRUE;
|
||||
Offset += CAT(CAT(AI_, CMDNAME), _LENGTH);
|
||||
@@ -10588,9 +10588,9 @@ _AI_CMD(
|
||||
s32 num;
|
||||
for (num = get_numguards() - 1; num >= 0; num--)
|
||||
{
|
||||
if (ptr_guard_data[num].model != NULL)
|
||||
if (g_ChrSlots[num].model != NULL)
|
||||
{
|
||||
ptr_guard_data[num].chrflags |= CHRFLAG_HIDDEN;
|
||||
g_ChrSlots[num].chrflags |= CHRFLAG_HIDDEN;
|
||||
}
|
||||
}
|
||||
Offset += CAT(CAT(AI_, CMDNAME), _LENGTH);
|
||||
@@ -10625,7 +10625,7 @@ _AI_CMD(
|
||||
s32 num;
|
||||
for (num = get_numguards() - 1; num >= 0; num--)
|
||||
{
|
||||
ptr_guard_data[num].chrflags &= ~CHRFLAG_HIDDEN;
|
||||
g_ChrSlots[num].chrflags &= ~CHRFLAG_HIDDEN;
|
||||
}
|
||||
Offset += CAT(CAT(AI_, CMDNAME), _LENGTH);
|
||||
break;
|
||||
@@ -10916,9 +10916,9 @@ _AI_CMD(
|
||||
_AI_CMD(
|
||||
{
|
||||
AIRecord * ai = AiListp + Offset;
|
||||
flt_CODE_bss_80079990.x = (s8) ai->val[0];
|
||||
flt_CODE_bss_80079990.y = 0;
|
||||
flt_CODE_bss_80079990.z = (s8) ai->val[1];
|
||||
g_ForceBondMoveOffset.x = (s8) ai->val[0];
|
||||
g_ForceBondMoveOffset.y = 0;
|
||||
g_ForceBondMoveOffset.z = (s8) ai->val[1];
|
||||
Offset += CAT(CAT(AI_, CMDNAME), _LENGTH);
|
||||
break;
|
||||
})
|
||||
@@ -11838,15 +11838,15 @@ _AI_CMD(
|
||||
sub_GAME_7F03FDA8(obj->prop);
|
||||
if (obj->runtime_bitflags & RUNTIMEBITFLAG_DEPOSIT)
|
||||
{
|
||||
obj->unk6C->flags |= 0x601;
|
||||
sub_GAME_7F03FE14(obj->prop);
|
||||
matrix_4x4_set_identity(&obj->unk6C->m);
|
||||
obj->unk6C->pos.x = 0;
|
||||
obj->unk6C->pos.y = 1.0f / CHRLV_FRAMERATE_F;
|
||||
obj->unk6C->pos.z = 0;
|
||||
obj->unk6C->vec.x = 0;
|
||||
obj->unk6C->vec.y = 0.29166666f;
|
||||
obj->unk6C->vec.z = 0;
|
||||
obj->projectile->flags |= 0x601;
|
||||
projectileSetSticky(obj->prop);
|
||||
matrix_4x4_set_identity(&obj->projectile->mtx);
|
||||
obj->projectile->speed.x = 0;
|
||||
obj->projectile->speed.y = 1.0f / CHRLV_FRAMERATE_F;
|
||||
obj->projectile->speed.z = 0;
|
||||
obj->projectile->unk10.x = 0;
|
||||
obj->projectile->unk10.y = 0.29166666f;
|
||||
obj->projectile->unk10.z = 0;
|
||||
}
|
||||
}
|
||||
Offset += CAT(CAT(AI_, CMDNAME), _LENGTH);
|
||||
|
||||
+2
-1
@@ -3,6 +3,7 @@
|
||||
#include "sched.h"
|
||||
#include "audi.h"
|
||||
#include "thread_config.h"
|
||||
#include "bondgame.h"
|
||||
|
||||
/**
|
||||
* EU .data, offset from start of data_seg : 0x23A0
|
||||
@@ -392,7 +393,7 @@ void amCreateAudioManager(ALSynConfig* alconf)
|
||||
g_AudioManager.cmdList[j] = (Acmd *)alHeapDBAlloc(0, 0, alconf->heap, 1, MAX_ACMD_SIZE * sizeof(Acmd));
|
||||
}
|
||||
|
||||
osCreateThread(&g_AudioManager.audioThread, AUDI_THREAD_ID, &amMain, 0, (void*)set_stack_entry((u8*)(&sp_audi), 0x1000), AUDI_THREAD_PRIORITY);
|
||||
osCreateThread(&g_AudioManager.audioThread, AUDI_THREAD_ID, &amMain, 0, (void*)setSPToEnd((u8*)(&sp_audi), sizeof(sp_audi)), AUDI_THREAD_PRIORITY);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+188
-175
@@ -228,6 +228,16 @@
|
||||
#define _BONDAICOMMANDS_H_
|
||||
#include <ultra64.h>
|
||||
|
||||
|
||||
|
||||
// Reverse endieness, to write things like 0x700 to be translated into 0x00, 0x07.
|
||||
// This is not compatible with aicommands2.h
|
||||
#define CharArrayFrom16Rev(input) (input) & 0x00FF, ((input) & 0xFF00) >> 8
|
||||
#define CharArrayFrom24Rev(input) (input) & 0x0000FF, ((input) & 0x00FF00) >> 8, ((input) & 0xFF0000) >> 16
|
||||
#define CharArrayFrom32Rev(input) (input) & 0x000000FF, ((input) & 0x0000FF00) >> 8, ((input) & 0x00FF0000) >> 16, ((input) & 0xFF000000) >> 24
|
||||
|
||||
|
||||
// "standard" aicommands2.h definition
|
||||
#define CharArrayFrom16(input) ((input) & 0xFF00) >> 8, (input) & 0x00FF
|
||||
#define CharArrayFrom24(input) ((input) & 0xFF0000) >> 16, ((input) & 0x00FF00) >> 8, (input) & 0x0000FF
|
||||
#define CharArrayFrom32(input) ((input) & 0xFF000000) >> 24, ((input) & 0x00FF0000) >> 16, ((input) & 0x0000FF00) >> 8, (input) & 0x000000FF
|
||||
@@ -554,101 +564,102 @@ IF_VA(NOT(IS_EMPTY(CASE_CONTENT1)))(IF_VA(NOT(IS_EMPTY(CASE_CONTENT2)))(Label(lb
|
||||
IF_VA(NOT(IS_EMPTY(CASE_CONTENT0)))(IF_VA(NOT(IS_EMPTY(CASE_CONTENT1)))(Label(lblNext)) EXPAND_ARGS_STACK(CASE_CONTENT0)(lblDone) \
|
||||
Label(lblDone))
|
||||
|
||||
|
||||
#include "aicommands2.h"
|
||||
|
||||
#if 0
|
||||
#if 1
|
||||
|
||||
//temporary thunking for ai names
|
||||
#define DO(label_id) \
|
||||
label(label_id) \
|
||||
ai_sleep
|
||||
// //temporary thunking for ai names
|
||||
// #define DO(label_id) \
|
||||
// label(label_id) \
|
||||
// ai_sleep
|
||||
|
||||
#define LOOP(label) \
|
||||
goto_first(label)
|
||||
// #define LOOP(label) \
|
||||
// goto_first(label)
|
||||
|
||||
#define CONTINUE(label) \
|
||||
goto_first(label)
|
||||
// #define CONTINUE(label) \
|
||||
// goto_first(label)
|
||||
|
||||
#define YIELD_FOREVER(label_id) \
|
||||
label(label_id) \
|
||||
ai_sleep \
|
||||
goto_first(label_id)
|
||||
// #define YIELD_FOREVER(label_id) \
|
||||
// label(label_id) \
|
||||
// ai_sleep \
|
||||
// goto_first(label_id)
|
||||
|
||||
#define RETURN(label_id)\
|
||||
label(label_id) \
|
||||
jump_to_return_ai_list \
|
||||
ai_list_end
|
||||
// #define RETURN(label_id)\
|
||||
// label(label_id) \
|
||||
// jump_to_return_ai_list \
|
||||
// ai_list_end
|
||||
|
||||
|
||||
/*=============================================================================
|
||||
// ai command shortcuts
|
||||
//===========================================================================*/
|
||||
#define goto_loop_start(label_id) \
|
||||
label(label_id) \
|
||||
ai_sleep
|
||||
// /*=============================================================================
|
||||
// // ai command shortcuts
|
||||
// //===========================================================================*/
|
||||
// #define goto_loop_start(label_id) \
|
||||
// label(label_id) \
|
||||
// ai_sleep
|
||||
|
||||
#define goto_loop_repeat(label) \
|
||||
goto_first(label)
|
||||
// #define goto_loop_repeat(label) \
|
||||
// goto_first(label)
|
||||
|
||||
#define goto_loop_infinite(label_id) \
|
||||
label(label_id) \
|
||||
ai_sleep \
|
||||
goto_first(label_id)
|
||||
// #define goto_loop_infinite(label_id) \
|
||||
// label(label_id) \
|
||||
// ai_sleep \
|
||||
// goto_first(label_id)
|
||||
|
||||
#define random_generate_greater_than(byte, label) \
|
||||
random_generate_seed \
|
||||
if_random_seed_greater_than(byte, label)
|
||||
// #define random_generate_greater_than(byte, label) \
|
||||
// random_generate_seed \
|
||||
// if_random_seed_greater_than(byte, label)
|
||||
|
||||
#define random_generate_less_than(byte, label) \
|
||||
random_generate_seed \
|
||||
if_random_seed_less_than(byte, label)
|
||||
// #define random_generate_less_than(byte, label) \
|
||||
// random_generate_seed \
|
||||
// if_random_seed_less_than(byte, label)
|
||||
|
||||
#define if_guard_meters_to_bond_less_than(distance, label) \
|
||||
if_guard_distance_to_bond_less_than((distance * 10U), label)
|
||||
// #define if_guard_meters_to_bond_less_than(distance, label) \
|
||||
// if_guard_distance_to_bond_less_than((distance * 10U), label)
|
||||
|
||||
#define if_guard_meters_to_bond_greater_than(distance, label) \
|
||||
if_guard_distance_to_bond_greater_than((distance * 10U), label)
|
||||
// #define if_guard_meters_to_bond_greater_than(distance, label) \
|
||||
// if_guard_distance_to_bond_greater_than((distance * 10U), label)
|
||||
|
||||
#define if_chr_meters_to_pad_less_than(chr_num, distance, pad, label) \
|
||||
if_chr_distance_to_pad_less_than(chr_num, (distance * 10U), pad, label)
|
||||
// #define if_chr_meters_to_pad_less_than(chr_num, distance, pad, label) \
|
||||
// if_chr_distance_to_pad_less_than(chr_num, (distance * 10U), pad, label)
|
||||
|
||||
#define if_chr_meters_to_pad_greater_than(chr_num, distance, pad, label) \
|
||||
if_chr_distance_to_pad_greater_than(chr_num, (distance * 10U), pad, label)
|
||||
// #define if_chr_meters_to_pad_greater_than(chr_num, distance, pad, label) \
|
||||
// if_chr_distance_to_pad_greater_than(chr_num, (distance * 10U), pad, label)
|
||||
|
||||
#define if_guard_meters_to_chr_less_than(distance, chr_num, label) \
|
||||
if_guard_distance_to_chr_less_than((distance * 10U), chr_num, label)
|
||||
// #define if_guard_meters_to_chr_less_than(distance, chr_num, label) \
|
||||
// if_guard_distance_to_chr_less_than((distance * 10U), chr_num, label)
|
||||
|
||||
#define if_guard_meters_to_chr_greater_than(distance, chr_num, label) \
|
||||
if_guard_distance_to_chr_greater_than((distance * 10U), chr_num, label)
|
||||
// #define if_guard_meters_to_chr_greater_than(distance, chr_num, label) \
|
||||
// if_guard_distance_to_chr_greater_than((distance * 10U), chr_num, label)
|
||||
|
||||
#define guard_try_setting_chr_preset_to_guard_within_meters(distance, label) \
|
||||
guard_try_setting_chr_preset_to_guard_within_distance((distance * 10U), label)
|
||||
// #define guard_try_setting_chr_preset_to_guard_within_meters(distance, label) \
|
||||
// guard_try_setting_chr_preset_to_guard_within_distance((distance * 10U), label)
|
||||
|
||||
#define if_bond_meters_to_pad_less_than(distance, pad, label) \
|
||||
if_bond_distance_to_pad_less_than((distance * 10U), pad, label)
|
||||
// #define if_bond_meters_to_pad_less_than(distance, pad, label) \
|
||||
// if_bond_distance_to_pad_less_than((distance * 10U), pad, label)
|
||||
|
||||
#define if_bond_meters_to_pad_greater_than(distance, pad, label) \
|
||||
if_bond_distance_to_pad_greater_than((distance * 10U), pad, label)
|
||||
// #define if_bond_meters_to_pad_greater_than(distance, pad, label) \
|
||||
// if_bond_distance_to_pad_greater_than((distance * 10U), pad, label)
|
||||
|
||||
#define debug_log_end \
|
||||
'\0',
|
||||
// #define debug_log_end \
|
||||
// '\0',
|
||||
|
||||
#define if_local_timer_seconds_less_than(seconds, label) \
|
||||
if_local_timer_less_than((SECS_TO_TIMER60(seconds)), label)
|
||||
// #define if_local_timer_seconds_less_than(seconds, label) \
|
||||
// if_local_timer_less_than((SECS_TO_TIMER60(seconds)), label)
|
||||
|
||||
#define if_local_timer_seconds_greater_than(seconds, label) \
|
||||
if_local_timer_greater_than((SECS_TO_TIMER60(seconds)), label)
|
||||
// #define if_local_timer_seconds_greater_than(seconds, label) \
|
||||
// if_local_timer_greater_than((SECS_TO_TIMER60(seconds)), label)
|
||||
|
||||
#define camera_transition_from_bond \
|
||||
bond_hide_weapons \
|
||||
ai_sleep \
|
||||
ai_sleep \
|
||||
ai_sleep
|
||||
// #define camera_transition_from_bond \
|
||||
// bond_hide_weapons \
|
||||
// ai_sleep \
|
||||
// ai_sleep \
|
||||
// ai_sleep
|
||||
|
||||
#define camera_transition_to_bond \
|
||||
ai_sleep \
|
||||
ai_sleep \
|
||||
ai_sleep
|
||||
// #define camera_transition_to_bond \
|
||||
// ai_sleep \
|
||||
// ai_sleep \
|
||||
// ai_sleep
|
||||
/*===========================================================================*/
|
||||
|
||||
/*=============================================================================
|
||||
@@ -732,7 +743,7 @@ Label(lblDone))
|
||||
#define jump_to_ai_list(chr_num, ai_list) \
|
||||
jump_to_ai_list_ID, \
|
||||
chr_num, \
|
||||
CharArrayFrom16(ai_list),
|
||||
CharArrayFrom16Rev(ai_list),
|
||||
|
||||
/*=============================================================================
|
||||
// name: set_return_ai_list
|
||||
@@ -745,7 +756,7 @@ Label(lblDone))
|
||||
#define set_return_ai_list_LENGTH 0x03
|
||||
#define set_return_ai_list(ai_list) \
|
||||
set_return_ai_list_ID, \
|
||||
CharArrayFrom16(ai_list),
|
||||
CharArrayFrom16Rev(ai_list),
|
||||
|
||||
/*=============================================================================
|
||||
// name: jump_to_return_ai_list
|
||||
@@ -796,9 +807,9 @@ Label(lblDone))
|
||||
#define guard_play_animation_LENGTH 0x09
|
||||
#define guard_play_animation(animation_id, start_time30, end_time30, bitfield, interpol_time60) \
|
||||
guard_play_animation_ID, \
|
||||
CharArrayFrom16(animation_id), \
|
||||
CharArrayFrom16(start_time30), \
|
||||
CharArrayFrom16(end_time30), \
|
||||
CharArrayFrom16Rev(animation_id), \
|
||||
CharArrayFrom16Rev(start_time30), \
|
||||
CharArrayFrom16Rev(end_time30), \
|
||||
bitfield, \
|
||||
interpol_time60,
|
||||
|
||||
@@ -926,8 +937,8 @@ Label(lblDone))
|
||||
#define guard_try_fire_or_aim_at_target_LENGTH 0x06
|
||||
#define guard_try_fire_or_aim_at_target(bitfield, target, label) \
|
||||
guard_try_fire_or_aim_at_target_ID, \
|
||||
CharArrayFrom16(bitfield), \
|
||||
CharArrayFrom16(target), \
|
||||
CharArrayFrom16Rev(bitfield), \
|
||||
CharArrayFrom16Rev(target), \
|
||||
label,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -942,8 +953,8 @@ Label(lblDone))
|
||||
#define guard_try_fire_or_aim_at_target_kneel_LENGTH 0x06
|
||||
#define guard_try_fire_or_aim_at_target_kneel(bitfield, target, label) \
|
||||
guard_try_fire_or_aim_at_target_kneel_ID, \
|
||||
CharArrayFrom16(bitfield), \
|
||||
CharArrayFrom16(target), \
|
||||
CharArrayFrom16Rev(bitfield), \
|
||||
CharArrayFrom16Rev(target), \
|
||||
label,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -959,8 +970,8 @@ Label(lblDone))
|
||||
#define guard_try_fire_or_aim_at_target_update_LENGTH 0x06
|
||||
#define guard_try_fire_or_aim_at_target_update(bitfield, target, label) \
|
||||
guard_try_fire_or_aim_at_target_update_ID, \
|
||||
CharArrayFrom16(bitfield), \
|
||||
CharArrayFrom16(target), \
|
||||
CharArrayFrom16Rev(bitfield), \
|
||||
CharArrayFrom16Rev(target), \
|
||||
label,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -976,8 +987,8 @@ Label(lblDone))
|
||||
#define guard_try_facing_target_LENGTH 0x06
|
||||
#define guard_try_facing_target(bitfield, target, label) \
|
||||
guard_try_facing_target_ID, \
|
||||
CharArrayFrom16(bitfield), \
|
||||
CharArrayFrom16(target), \
|
||||
CharArrayFrom16Rev(bitfield), \
|
||||
CharArrayFrom16Rev(target), \
|
||||
label,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -1039,7 +1050,7 @@ Label(lblDone))
|
||||
#define guard_try_dropping_item_LENGTH 0x05
|
||||
#define guard_try_dropping_item(prop_num, item_num, label) \
|
||||
guard_try_dropping_item_ID, \
|
||||
CharArrayFrom16(prop_num), \
|
||||
CharArrayFrom16Rev(prop_num), \
|
||||
item_num, \
|
||||
label,
|
||||
|
||||
@@ -1052,7 +1063,7 @@ Label(lblDone))
|
||||
#define guard_runs_to_pad_LENGTH 0x03
|
||||
#define guard_runs_to_pad(pad) \
|
||||
guard_runs_to_pad_ID, \
|
||||
CharArrayFrom16(pad),
|
||||
CharArrayFrom16Rev(pad),
|
||||
|
||||
/*=============================================================================
|
||||
// name: guard_runs_to_pad_preset
|
||||
@@ -1073,7 +1084,7 @@ Label(lblDone))
|
||||
#define guard_walks_to_pad_LENGTH 0x03
|
||||
#define guard_walks_to_pad(pad) \
|
||||
guard_walks_to_pad_ID, \
|
||||
CharArrayFrom16(pad),
|
||||
CharArrayFrom16Rev(pad),
|
||||
|
||||
/*=============================================================================
|
||||
// name: guard_sprints_to_pad
|
||||
@@ -1084,7 +1095,7 @@ Label(lblDone))
|
||||
#define guard_sprints_to_pad_LENGTH 0x03
|
||||
#define guard_sprints_to_pad(pad) \
|
||||
guard_sprints_to_pad_ID, \
|
||||
CharArrayFrom16(pad),
|
||||
CharArrayFrom16Rev(pad),
|
||||
|
||||
/*=============================================================================
|
||||
// name: guard_start_patrol
|
||||
@@ -1151,7 +1162,7 @@ Label(lblDone))
|
||||
#define guard_try_triggering_alarm_at_pad_LENGTH 0x04
|
||||
#define guard_try_triggering_alarm_at_pad(pad, label) \
|
||||
guard_try_triggering_alarm_at_pad_ID, \
|
||||
CharArrayFrom16(pad), \
|
||||
CharArrayFrom16Rev(pad), \
|
||||
label,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -1590,7 +1601,7 @@ Label(lblDone))
|
||||
#define if_room_containing_pad_is_on_screen_LENGTH 0x04
|
||||
#define if_room_containing_pad_is_on_screen(pad, label) \
|
||||
if_room_containing_pad_is_on_screen_ID, \
|
||||
CharArrayFrom16(pad), \
|
||||
CharArrayFrom16Rev(pad), \
|
||||
label,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -1707,7 +1718,7 @@ Label(lblDone))
|
||||
#define if_guard_distance_to_bond_less_than_LENGTH 0x04
|
||||
#define if_guard_distance_to_bond_less_than(distance, label) \
|
||||
if_guard_distance_to_bond_less_than_ID, \
|
||||
CharArrayFrom16(distance), \
|
||||
CharArrayFrom16Rev(distance), \
|
||||
label,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -1721,7 +1732,7 @@ Label(lblDone))
|
||||
#define if_guard_distance_to_bond_greater_than_LENGTH 0x04
|
||||
#define if_guard_distance_to_bond_greater_than(distance, label) \
|
||||
if_guard_distance_to_bond_greater_than_ID, \
|
||||
CharArrayFrom16(distance), \
|
||||
CharArrayFrom16Rev(distance), \
|
||||
label,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -1736,8 +1747,8 @@ Label(lblDone))
|
||||
#define if_chr_distance_to_pad_less_than(chr_num, distance, pad, label) \
|
||||
if_chr_distance_to_pad_less_than_ID, \
|
||||
chr_num, \
|
||||
CharArrayFrom16(distance), \
|
||||
CharArrayFrom16(pad), \
|
||||
CharArrayFrom16Rev(distance), \
|
||||
CharArrayFrom16Rev(pad), \
|
||||
label,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -1752,8 +1763,8 @@ Label(lblDone))
|
||||
#define if_chr_distance_to_pad_greater_than(chr_num, distance, pad, label) \
|
||||
if_chr_distance_to_pad_greater_than_ID, \
|
||||
chr_num, \
|
||||
CharArrayFrom16(distance), \
|
||||
CharArrayFrom16(pad), \
|
||||
CharArrayFrom16Rev(distance), \
|
||||
CharArrayFrom16Rev(pad), \
|
||||
label,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -1767,7 +1778,7 @@ Label(lblDone))
|
||||
#define if_guard_distance_to_chr_less_than_LENGTH 0x05
|
||||
#define if_guard_distance_to_chr_less_than(distance, chr_num, label) \
|
||||
if_guard_distance_to_chr_less_than_ID, \
|
||||
CharArrayFrom16(distance), \
|
||||
CharArrayFrom16Rev(distance), \
|
||||
chr_num, \
|
||||
label,
|
||||
|
||||
@@ -1782,7 +1793,7 @@ Label(lblDone))
|
||||
#define if_guard_distance_to_chr_greater_than_LENGTH 0x05
|
||||
#define if_guard_distance_to_chr_greater_than(distance, chr_num, label) \
|
||||
if_guard_distance_to_chr_greater_than_ID, \
|
||||
CharArrayFrom16(distance), \
|
||||
CharArrayFrom16Rev(distance), \
|
||||
chr_num, \
|
||||
label,
|
||||
|
||||
@@ -1800,7 +1811,7 @@ Label(lblDone))
|
||||
#define guard_try_setting_chr_preset_to_guard_within_distance_LENGTH 0x04
|
||||
#define guard_try_setting_chr_preset_to_guard_within_distance(distance, label) \
|
||||
guard_try_setting_chr_preset_to_guard_within_distance_ID, \
|
||||
CharArrayFrom16(distance), \
|
||||
CharArrayFrom16Rev(distance), \
|
||||
label,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -1814,8 +1825,8 @@ Label(lblDone))
|
||||
#define if_bond_distance_to_pad_less_than_LENGTH 0x06
|
||||
#define if_bond_distance_to_pad_less_than(distance, pad, label) \
|
||||
if_bond_distance_to_pad_less_than_ID, \
|
||||
CharArrayFrom16(distance), \
|
||||
CharArrayFrom16(pad), \
|
||||
CharArrayFrom16Rev(distance), \
|
||||
CharArrayFrom16Rev(pad), \
|
||||
label,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -1829,8 +1840,8 @@ Label(lblDone))
|
||||
#define if_bond_distance_to_pad_greater_than_LENGTH 0x06
|
||||
#define if_bond_distance_to_pad_greater_than(distance, pad, label) \
|
||||
if_bond_distance_to_pad_greater_than_ID, \
|
||||
CharArrayFrom16(distance), \
|
||||
CharArrayFrom16(pad), \
|
||||
CharArrayFrom16Rev(distance), \
|
||||
CharArrayFrom16Rev(pad), \
|
||||
label,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -1843,7 +1854,7 @@ Label(lblDone))
|
||||
#define if_chr_in_room_with_pad(chr_num, pad, label) \
|
||||
if_chr_in_room_with_pad_ID, \
|
||||
chr_num, \
|
||||
CharArrayFrom16(pad), \
|
||||
CharArrayFrom16Rev(pad), \
|
||||
label,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -1855,7 +1866,7 @@ Label(lblDone))
|
||||
#define if_bond_in_room_with_pad_LENGTH 0x04
|
||||
#define if_bond_in_room_with_pad(pad, label) \
|
||||
if_bond_in_room_with_pad_ID, \
|
||||
CharArrayFrom16(pad), \
|
||||
CharArrayFrom16Rev(pad), \
|
||||
label,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -2085,7 +2096,7 @@ Label(lblDone))
|
||||
#define object_move_to_pad(object_tag, pad) \
|
||||
object_move_to_pad_ID, \
|
||||
object_tag, \
|
||||
chrarray16(pad),
|
||||
CharArrayFrom16Rev(pad),
|
||||
|
||||
/*=============================================================================
|
||||
// name: door_open
|
||||
@@ -2288,7 +2299,7 @@ Label(lblDone))
|
||||
#define if_mission_time_less_than_LENGTH 0x04
|
||||
#define if_mission_time_less_than(seconds, label) \
|
||||
if_mission_time_less_than_ID, \
|
||||
CharArrayFrom16(seconds), \
|
||||
CharArrayFrom16Rev(seconds), \
|
||||
label,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -2302,7 +2313,7 @@ Label(lblDone))
|
||||
#define if_mission_time_greater_than_LENGTH 0x04
|
||||
#define if_mission_time_greater_than(seconds, label) \
|
||||
if_mission_time_greater_than_ID, \
|
||||
CharArrayFrom16(seconds), \
|
||||
CharArrayFrom16Rev(seconds), \
|
||||
label,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -2316,7 +2327,7 @@ Label(lblDone))
|
||||
#define if_system_power_time_less_than_LENGTH 0x04
|
||||
#define if_system_power_time_less_than(minutes, label) \
|
||||
if_system_power_time_less_than_ID, \
|
||||
CharArrayFrom16(minutes), \
|
||||
CharArrayFrom16Rev(minutes), \
|
||||
label,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -2330,7 +2341,7 @@ Label(lblDone))
|
||||
#define if_system_power_time_greater_than_LENGTH 0x04
|
||||
#define if_system_power_time_greater_than(minutes, label) \
|
||||
if_system_power_time_greater_than_ID, \
|
||||
CharArrayFrom16(minutes), \
|
||||
CharArrayFrom16Rev(minutes), \
|
||||
label,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -2657,7 +2668,7 @@ Label(lblDone))
|
||||
#define guard_set_hearing_scale_LENGTH 0x03
|
||||
#define guard_set_hearing_scale(hearing_scale) \
|
||||
guard_set_hearing_scale_ID, \
|
||||
CharArrayFrom16(hearing_scale),
|
||||
CharArrayFrom16Rev(hearing_scale),
|
||||
|
||||
/*=============================================================================
|
||||
// name: guard_set_vision_range
|
||||
@@ -2717,7 +2728,7 @@ Label(lblDone))
|
||||
#define guard_set_health_total_LENGTH 0x03
|
||||
#define guard_set_health_total(total_health) \
|
||||
guard_set_health_total_ID, \
|
||||
CharArrayFrom16(total_health),
|
||||
CharArrayFrom16Rev(total_health),
|
||||
|
||||
/*=============================================================================
|
||||
// name: guard_set_armour
|
||||
@@ -2739,7 +2750,7 @@ Label(lblDone))
|
||||
#define guard_set_armour_LENGTH 0x03
|
||||
#define guard_set_armour(armour_value) \
|
||||
guard_set_armour_ID, \
|
||||
CharArrayFrom16(armour_value),
|
||||
CharArrayFrom16Rev(armour_value),
|
||||
|
||||
/*=============================================================================
|
||||
// name: guard_set_speed_rating
|
||||
@@ -2895,7 +2906,7 @@ Label(lblDone))
|
||||
#define objective_bitfield_set_on_LENGTH 0x05
|
||||
#define objective_bitfield_set_on(bitfield) \
|
||||
objective_bitfield_set_on_ID, \
|
||||
CharArrayFrom32(bitfield)
|
||||
CharArrayFrom32Rev(bitfield),
|
||||
|
||||
/*=============================================================================
|
||||
// name: objective_bitfield_set_off
|
||||
@@ -2912,7 +2923,7 @@ Label(lblDone))
|
||||
#define objective_bitfield_set_off_LENGTH 0x05
|
||||
#define objective_bitfield_set_off(bitfield) \
|
||||
objective_bitfield_set_off_ID, \
|
||||
CharArrayFrom32(bitfield)
|
||||
CharArrayFrom32Rev(bitfield),
|
||||
|
||||
/*=============================================================================
|
||||
// name: if_objective_bitfield_is_set_on
|
||||
@@ -2925,7 +2936,7 @@ Label(lblDone))
|
||||
#define if_objective_bitfield_is_set_on_LENGTH 0x06
|
||||
#define if_objective_bitfield_is_set_on(bitfield, label) \
|
||||
if_objective_bitfield_is_set_on_ID, \
|
||||
CharArrayFrom32(bitfield), \
|
||||
CharArrayFrom32Rev(bitfield), \
|
||||
label,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -2941,7 +2952,7 @@ Label(lblDone))
|
||||
#define guard_flags_set_on_LENGTH 0x05
|
||||
#define guard_flags_set_on(bitfield) \
|
||||
guard_flags_set_on_ID, \
|
||||
CharArrayFrom32(bitfield),
|
||||
CharArrayFrom32Rev(bitfield),
|
||||
|
||||
/*=============================================================================
|
||||
// name: guard_flags_set_off
|
||||
@@ -2956,7 +2967,7 @@ Label(lblDone))
|
||||
#define guard_flags_set_off_LENGTH 0x05
|
||||
#define guard_flags_set_off(bitfield) \
|
||||
guard_flags_set_off_ID, \
|
||||
CharArrayFrom32(bitfield),
|
||||
CharArrayFrom32Rev(bitfield),
|
||||
|
||||
/*=============================================================================
|
||||
// name: if_guard_flags_is_set_on
|
||||
@@ -2971,7 +2982,7 @@ Label(lblDone))
|
||||
#define if_guard_flags_is_set_on_LENGTH 0x06
|
||||
#define if_guard_flags_is_set_on(bitfield, label) \
|
||||
if_guard_flags_is_set_on_ID, \
|
||||
CharArrayFrom32(bitfield), \
|
||||
CharArrayFrom32Rev(bitfield), \
|
||||
label,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -2987,7 +2998,7 @@ Label(lblDone))
|
||||
#define chr_flags_set_on(chr_num, bitfield) \
|
||||
chr_flags_set_on_ID, \
|
||||
chr_num, \
|
||||
CharArrayFrom32(bitfield),
|
||||
CharArrayFrom32Rev(bitfield),
|
||||
|
||||
/*=============================================================================
|
||||
// name: chr_flags_set_off
|
||||
@@ -3002,7 +3013,7 @@ Label(lblDone))
|
||||
#define chr_flags_set_off(chr_num, bitfield) \
|
||||
chr_flags_set_off_ID, \
|
||||
chr_num, \
|
||||
CharArrayFrom32(bitfield),
|
||||
CharArrayFrom32Rev(bitfield),
|
||||
|
||||
/*=============================================================================
|
||||
// name: if_chr_flags_is_set_on
|
||||
@@ -3017,7 +3028,7 @@ Label(lblDone))
|
||||
#define if_chr_flags_is_set_on(chr_num, bitfield, label) \
|
||||
if_chr_flags_is_set_on_ID, \
|
||||
chr_num, \
|
||||
CharArrayFrom32(bitfield), \
|
||||
CharArrayFrom32Rev(bitfield), \
|
||||
label,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -3032,7 +3043,7 @@ Label(lblDone))
|
||||
#define object_flags_1_set_on(object_tag, bitfield) \
|
||||
object_flags_1_set_on_ID, \
|
||||
object_tag, \
|
||||
CharArrayFrom32(bitfield),
|
||||
CharArrayFrom32Rev(bitfield),
|
||||
|
||||
/*=============================================================================
|
||||
// name: object_flags_1_set_off
|
||||
@@ -3046,7 +3057,7 @@ Label(lblDone))
|
||||
#define object_flags_1_set_off(object_tag, bitfield) \
|
||||
object_flags_1_set_off_ID, \
|
||||
object_tag, \
|
||||
CharArrayFrom32(bitfield),
|
||||
CharArrayFrom32Rev(bitfield),
|
||||
|
||||
/*=============================================================================
|
||||
// name: if_object_flags_1_is_set_on
|
||||
@@ -3060,7 +3071,7 @@ Label(lblDone))
|
||||
#define if_object_flags_1_is_set_on(object_tag, bitfield, label) \
|
||||
if_object_flags_1_is_set_on_ID, \
|
||||
object_tag, \
|
||||
CharArrayFrom32(bitfield), \
|
||||
CharArrayFrom32Rev(bitfield), \
|
||||
label,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -3075,7 +3086,7 @@ Label(lblDone))
|
||||
#define object_flags_2_set_on(object_tag, bitfield) \
|
||||
object_flags_2_set_on_ID, \
|
||||
object_tag, \
|
||||
CharArrayFrom32(bitfield),
|
||||
CharArrayFrom32Rev(bitfield),
|
||||
|
||||
/*=============================================================================
|
||||
// name: object_flags_2_set_off
|
||||
@@ -3089,7 +3100,7 @@ Label(lblDone))
|
||||
#define object_flags_2_set_off(object_tag, bitfield) \
|
||||
object_flags_2_set_off_ID, \
|
||||
object_tag, \
|
||||
CharArrayFrom32(bitfield),
|
||||
CharArrayFrom32Rev(bitfield),
|
||||
|
||||
/*=============================================================================
|
||||
// name: if_object_flags_2_is_set_on
|
||||
@@ -3103,7 +3114,7 @@ Label(lblDone))
|
||||
#define if_object_flags_2_is_set_on(object_tag, bitfield, label) \
|
||||
if_object_flags_2_is_set_on_ID, \
|
||||
object_tag, \
|
||||
CharArrayFrom32(bitfield), \
|
||||
CharArrayFrom32Rev(bitfield), \
|
||||
label,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -3140,9 +3151,9 @@ Label(lblDone))
|
||||
//===========================================================================*/
|
||||
#define guard_set_pad_preset_ID 0xAB
|
||||
#define guard_set_pad_preset_LENGTH 0x03
|
||||
#define guard_set_pad_preset(chr_preset) \
|
||||
#define guard_set_pad_preset(pad_preset) \
|
||||
guard_set_pad_preset_ID, \
|
||||
chrarray16(pad_preset),
|
||||
CharArrayFrom16Rev(pad_preset),
|
||||
|
||||
/*=============================================================================
|
||||
// name: chr_set_pad_preset
|
||||
@@ -3151,10 +3162,10 @@ Label(lblDone))
|
||||
//===========================================================================*/
|
||||
#define chr_set_pad_preset_ID 0xAC
|
||||
#define chr_set_pad_preset_LENGTH 0x04
|
||||
#define chr_set_pad_preset(chr_num, chr_preset) \
|
||||
#define chr_set_pad_preset(chr_num, pad_preset) \
|
||||
chr_set_pad_preset_ID, \
|
||||
chr_num, \
|
||||
chrarray16(pad_preset),
|
||||
CharArrayFrom16Rev(pad_preset),
|
||||
|
||||
/*=============================================================================
|
||||
// name: debug_log
|
||||
@@ -3246,7 +3257,7 @@ Label(lblDone))
|
||||
#define if_local_timer_less_than_LENGTH 0x05
|
||||
#define if_local_timer_less_than(time60, label) \
|
||||
if_local_timer_less_than_ID, \
|
||||
CharArrayFrom24(time60), \
|
||||
CharArrayFrom24Rev(time60), \
|
||||
label,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -3261,7 +3272,7 @@ Label(lblDone))
|
||||
#define if_local_timer_greater_than_LENGTH 0x05
|
||||
#define if_local_timer_greater_than(time60, label) \
|
||||
if_local_timer_greater_than_ID, \
|
||||
CharArrayFrom24(time60), \
|
||||
CharArrayFrom24Rev(time60), \
|
||||
label,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -3298,7 +3309,7 @@ Label(lblDone))
|
||||
#define hud_countdown_set_LENGTH 0x03
|
||||
#define hud_countdown_set(seconds) \
|
||||
hud_countdown_set_ID, \
|
||||
CharArrayFrom16(seconds),
|
||||
CharArrayFrom16Rev(seconds),
|
||||
|
||||
/*=============================================================================
|
||||
// name: hud_countdown_stop
|
||||
@@ -3345,7 +3356,7 @@ Label(lblDone))
|
||||
#define if_hud_countdown_less_than_LENGTH 0x04
|
||||
#define if_hud_countdown_less_than(seconds, label) \
|
||||
if_hud_countdown_less_than_ID, \
|
||||
CharArrayFrom16(seconds), \
|
||||
CharArrayFrom16Rev(seconds), \
|
||||
label,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -3360,7 +3371,7 @@ Label(lblDone))
|
||||
#define if_hud_countdown_greater_than_LENGTH 0x04
|
||||
#define if_hud_countdown_greater_than(seconds, label) \
|
||||
if_hud_countdown_greater_than_ID, \
|
||||
CharArrayFrom16(seconds), \
|
||||
CharArrayFrom16Rev(seconds), \
|
||||
label,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -3377,9 +3388,9 @@ Label(lblDone))
|
||||
chr_try_spawning_at_pad_ID, \
|
||||
body_num, \
|
||||
head_num, \
|
||||
CharArrayFrom16(pad), \
|
||||
CharArrayFrom16(ai_list), \
|
||||
CharArrayFrom32(bitfield), \
|
||||
CharArrayFrom16Rev(pad), \
|
||||
CharArrayFrom16Rev(ai_list), \
|
||||
CharArrayFrom32Rev(bitfield), \
|
||||
label,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -3398,8 +3409,8 @@ Label(lblDone))
|
||||
body_num, \
|
||||
head_num, \
|
||||
chr_num_target, \
|
||||
CharArrayFrom16(ai_list), \
|
||||
CharArrayFrom32(bitfield), \
|
||||
CharArrayFrom16Rev(ai_list), \
|
||||
CharArrayFrom32Rev(bitfield), \
|
||||
label,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -3415,9 +3426,9 @@ Label(lblDone))
|
||||
#define guard_try_spawning_item_LENGTH 0x09
|
||||
#define guard_try_spawning_item(prop_num, item_num, prop_bitfield, label) \
|
||||
guard_try_spawning_item_ID, \
|
||||
CharArrayFrom16(prop_num), \
|
||||
CharArrayFrom16Rev(prop_num), \
|
||||
item_num, \
|
||||
CharArrayFrom32(prop_bitfield), \
|
||||
CharArrayFrom32Rev(prop_bitfield), \
|
||||
label,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -3432,8 +3443,8 @@ Label(lblDone))
|
||||
#define guard_try_spawning_hat_LENGTH 0x08
|
||||
#define guard_try_spawning_hat(prop_num, prop_bitfield, label) \
|
||||
guard_try_spawning_hat_ID, \
|
||||
CharArrayFrom16(prop_num), \
|
||||
CharArrayFrom32(prop_bitfield), \
|
||||
CharArrayFrom16Rev(prop_num), \
|
||||
CharArrayFrom32Rev(prop_bitfield), \
|
||||
label,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -3449,7 +3460,7 @@ Label(lblDone))
|
||||
#define chr_try_spawning_clone(chr_num, ai_list, label) \
|
||||
chr_try_spawning_clone_ID, \
|
||||
chr_num, \
|
||||
CharArrayFrom16(ai_list), \
|
||||
CharArrayFrom16Rev(ai_list), \
|
||||
label,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -3464,7 +3475,7 @@ Label(lblDone))
|
||||
#define text_print_bottom_LENGTH 0x03
|
||||
#define text_print_bottom(text_slot) \
|
||||
text_print_bottom_ID, \
|
||||
chrarray16(text_slot),
|
||||
CharArrayFrom16Rev(text_slot),
|
||||
|
||||
/*=============================================================================
|
||||
// name: text_print_top
|
||||
@@ -3478,7 +3489,7 @@ Label(lblDone))
|
||||
#define text_print_top_LENGTH 0x03
|
||||
#define text_print_top(text_slot) \
|
||||
text_print_top_ID, \
|
||||
chrarray16(text_slot),
|
||||
CharArrayFrom16Rev(text_slot),
|
||||
|
||||
/*=============================================================================
|
||||
// name: sfx_play
|
||||
@@ -3495,7 +3506,7 @@ Label(lblDone))
|
||||
#define sfx_play_LENGTH 0x04
|
||||
#define sfx_play(sound_num, channel_num) \
|
||||
sfx_play_ID, \
|
||||
chrarray16(sound_num), \
|
||||
CharArrayFrom16Rev(sound_num), \
|
||||
channel_num,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -3512,7 +3523,7 @@ Label(lblDone))
|
||||
sfx_emit_from_object_ID, \
|
||||
channel_num, \
|
||||
object_tag, \
|
||||
CharArrayFrom16(vol_decay_time60),
|
||||
CharArrayFrom16Rev(vol_decay_time60),
|
||||
|
||||
/*=============================================================================
|
||||
// name: sfx_emit_from_pad
|
||||
@@ -3527,8 +3538,8 @@ Label(lblDone))
|
||||
#define sfx_emit_from_pad(channel_num, pad, vol_decay_time60) \
|
||||
sfx_emit_from_pad_ID, \
|
||||
channel_num, \
|
||||
CharArrayFrom16(pad), \
|
||||
CharArrayFrom16(vol_decay_time60),
|
||||
CharArrayFrom16Rev(pad), \
|
||||
CharArrayFrom16Rev(vol_decay_time60),
|
||||
|
||||
/*=============================================================================
|
||||
// name: sfx_set_channel_volume
|
||||
@@ -3543,8 +3554,8 @@ Label(lblDone))
|
||||
#define sfx_set_channel_volume(channel_num, target_volume, transition_time60) \
|
||||
sfx_set_channel_volume_ID, \
|
||||
channel_num, \
|
||||
CharArrayFrom16(target_volume), \
|
||||
CharArrayFrom16(transition_time60),
|
||||
CharArrayFrom16Rev(target_volume), \
|
||||
CharArrayFrom16Rev(transition_time60),
|
||||
|
||||
/*=============================================================================
|
||||
// name: sfx_fade_channel_volume
|
||||
@@ -3559,8 +3570,8 @@ Label(lblDone))
|
||||
#define sfx_fade_channel_volume(channel_num, fade_volume_percent, fade_time60) \
|
||||
sfx_fade_channel_volume_ID, \
|
||||
channel_num, \
|
||||
CharArrayFrom16(fade_volume_percent), \
|
||||
CharArrayFrom16(fade_time60),
|
||||
CharArrayFrom16Rev(fade_volume_percent), \
|
||||
CharArrayFrom16Rev(fade_time60),
|
||||
|
||||
/*=============================================================================
|
||||
// name: sfx_stop_channel
|
||||
@@ -3586,7 +3597,7 @@ Label(lblDone))
|
||||
#define if_sfx_channel_volume_less_than(channel_num, volume, label) \
|
||||
if_sfx_channel_volume_less_than_ID, \
|
||||
channel_num, \
|
||||
CharArrayFrom16(volume), \
|
||||
CharArrayFrom16Rev(volume), \
|
||||
label,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -3612,8 +3623,8 @@ Label(lblDone))
|
||||
#define vehicle_speed_LENGTH 0x05
|
||||
#define vehicle_speed(top_speed, acceleration_time60) \
|
||||
vehicle_speed_ID, \
|
||||
CharArrayFrom16(top_speed), \
|
||||
CharArrayFrom16(acceleration_time60),
|
||||
CharArrayFrom16Rev(top_speed), \
|
||||
CharArrayFrom16Rev(acceleration_time60),
|
||||
|
||||
/*=============================================================================
|
||||
// name: aircraft_rotor_speed
|
||||
@@ -3627,8 +3638,8 @@ Label(lblDone))
|
||||
#define aircraft_rotor_speed_LENGTH 0x05
|
||||
#define aircraft_rotor_speed(rotor_speed, acceleration_time60) \
|
||||
aircraft_rotor_speed_ID, \
|
||||
CharArrayFrom16(rotor_speed), \
|
||||
CharArrayFrom16(acceleration_time60),
|
||||
CharArrayFrom16Rev(rotor_speed), \
|
||||
CharArrayFrom16Rev(acceleration_time60),
|
||||
|
||||
/*=============================================================================
|
||||
// name: if_camera_is_in_intro
|
||||
@@ -3728,7 +3739,7 @@ Label(lblDone))
|
||||
#define camera_look_at_bond_from_pad_LENGTH 0x03
|
||||
#define camera_look_at_bond_from_pad(pad) \
|
||||
camera_look_at_bond_from_pad_ID, \
|
||||
CharArrayFrom16(pad),
|
||||
CharArrayFrom16Rev(pad),
|
||||
|
||||
/*=============================================================================
|
||||
// name: camera_switch
|
||||
@@ -3747,8 +3758,8 @@ Label(lblDone))
|
||||
#define camera_switch(object_tag, look_at_bond_flag, unused_flag) \
|
||||
camera_switch_ID, \
|
||||
object_tag, \
|
||||
CharArrayFrom16(look_at_bond_flag), \
|
||||
CharArrayFrom16(unused_flag),
|
||||
CharArrayFrom16Rev(look_at_bond_flag), \
|
||||
CharArrayFrom16Rev(unused_flag),
|
||||
|
||||
/*=============================================================================
|
||||
// name: if_bond_y_pos_less_than
|
||||
@@ -3763,7 +3774,7 @@ Label(lblDone))
|
||||
#define if_bond_y_pos_less_than_LENGTH 0x04
|
||||
#define if_bond_y_pos_less_than(y_pos, label) \
|
||||
if_bond_y_pos_less_than_ID, \
|
||||
CharArrayFrom16(y_pos), \
|
||||
CharArrayFrom16Rev(y_pos), \
|
||||
label,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -3807,7 +3818,7 @@ Label(lblDone))
|
||||
#define chr_try_teleporting_to_pad(chr_num, pad, label) \
|
||||
chr_try_teleporting_to_pad_ID, \
|
||||
chr_num, \
|
||||
chrarray16(pad), \
|
||||
CharArrayFrom16Rev(pad), \
|
||||
label,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -3979,7 +3990,7 @@ Label(lblDone))
|
||||
#define if_object_in_room_with_pad(object_tag, pad, label) \
|
||||
if_object_in_room_with_pad_ID, \
|
||||
object_tag, \
|
||||
chrarray16(pad), \
|
||||
CharArrayFrom16Rev(pad), \
|
||||
label,
|
||||
|
||||
/*=============================================================================
|
||||
@@ -4012,10 +4023,10 @@ Label(lblDone))
|
||||
// note: this command can't be stopped after executing. level must have a fog
|
||||
// assigned or will crash!
|
||||
//===========================================================================*/
|
||||
#define gas_leak_and_switch_fog_ID 0xE9
|
||||
#define gas_leak_and_switch_fog_LENGTH 0x01
|
||||
#define gas_leak_and_switch_fog \
|
||||
gas_leak_and_switch_fog_ID,
|
||||
#define switch_fog_instantly_ID 0xE9
|
||||
#define switch_fog_instantly_LENGTH 0x01
|
||||
#define switch_fog_instantly \
|
||||
switch_fog_instantly_ID,
|
||||
|
||||
/*=============================================================================
|
||||
// name: trigger_fade_and_exit_level_on_button_press
|
||||
@@ -4088,12 +4099,12 @@ Label(lblDone))
|
||||
#define camera_orbit_pad_LENGTH 0x0D
|
||||
#define camera_orbit_pad(lat_distance, vert_distance, orbit_speed60, pad, y_pos_offset, initial_rotation) \
|
||||
camera_orbit_pad_ID, \
|
||||
CharArrayFrom16(lat_distance), \
|
||||
CharArrayFrom16(vert_distance), \
|
||||
CharArrayFrom16(orbit_speed60), \
|
||||
CharArrayFrom16(pad), \
|
||||
CharArrayFrom16(y_pos_offset), \
|
||||
CharArrayFrom16(initial_rotation),
|
||||
CharArrayFrom16Rev(lat_distance), \
|
||||
CharArrayFrom16Rev(vert_distance), \
|
||||
CharArrayFrom16Rev(orbit_speed60), \
|
||||
CharArrayFrom16Rev(pad), \
|
||||
CharArrayFrom16Rev(y_pos_offset), \
|
||||
CharArrayFrom16Rev(initial_rotation),
|
||||
|
||||
/*=============================================================================
|
||||
// name: credits_roll
|
||||
@@ -4293,3 +4304,5 @@ Label(lblDone))
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
+508
-226
@@ -224,6 +224,27 @@ typedef enum CHRFLAG
|
||||
CHRFLAG_80000000 = 0x80000000 // unknown
|
||||
}CHRFLAG;
|
||||
|
||||
// collision detection types
|
||||
typedef enum CDTYPE
|
||||
{
|
||||
CDTYPE_OBJS = 0x0001,
|
||||
CDTYPE_DOORS = 0x0002,
|
||||
CDTYPE_PLAYERS = 0x0004,
|
||||
CDTYPE_CHRS = 0x0008,
|
||||
CDTYPE_PATHBLOCKER = 0x0010, // glass and scenery with OBJFLAG_PATHBLOCKER
|
||||
CDTYPE_BG = 0x0020,
|
||||
CDTYPE_OBJSIMMUNETOGUNFIRE = 0x0080,
|
||||
CDTYPE_AIOPAQUE = 0x0100, // exclude objects with OBJFLAG_AISEETHROUGH
|
||||
CDTYPE_OBJSIMMUNETOEXPLOSIONS = 0x0200,
|
||||
CDTYPE_OBJSNOTSAFEORHELI = 0x0400,
|
||||
CDTYPE_DOORSWITHOUTFLAG = 0x0800,
|
||||
CDTYPE_CLOSEDDOORS = 0x1000,
|
||||
CDTYPE_OPENDOORS = 0x2000,
|
||||
CDTYPE_AJARDOORS = 0x4000,
|
||||
CDTYPE_DOORSLOCKEDTOAI = 0x8000,
|
||||
CDTYPE_ALL = 0x003f
|
||||
} CDTYPE;
|
||||
|
||||
typedef enum GUARD_SETUP_FLAG // u16
|
||||
{
|
||||
GUARD_SETUP_FLAG_NONE = 0,
|
||||
@@ -260,82 +281,124 @@ BITFLAG(PS_FLAGS2,
|
||||
// prop definition flags
|
||||
typedef enum PROPFLAG
|
||||
{
|
||||
PROPFLAG_00000001 = 0x00000001, // unknown
|
||||
PROPFLAG_ONSCREEN = 0x00000002, // onscreen
|
||||
PROPFLAG_ENABLED = 0x00000004, // unknown
|
||||
PROPFLAG_00000008 = 0x00000008, // unknown
|
||||
PROPFLAG_00000010 = 0x00000010, // unknown
|
||||
PROPFLAG_00000020 = 0x00000020, // unknown
|
||||
PROPFLAG_00000040 = 0x00000040, // unknown
|
||||
PROPFLAG_00000080 = 0x00000080, // unknown
|
||||
PROPFLAG_00000100 = 0x00000100, // unknown
|
||||
PROPFLAG_00000200 = 0x00000200, // unknown
|
||||
PROPFLAG_RENDERPOSTBG = 0x00000001, // Fall to Ground
|
||||
PROPFLAG_ONSCREEN = 0x00000002, // In Air Rotated 90 Deg Upside-Down
|
||||
PROPFLAG_ENABLED = 0x00000004, // In Air Upside-Down
|
||||
PROPFLAG_00000008 = 0x00000008, // In Air
|
||||
PROPFLAG_00000010 = 0x00000010, // Scale to Pad Bounds
|
||||
PROPFLAG_00000020 = 0x00000020, // Scale X to Pad Bounds
|
||||
PROPFLAG_00000040 = 0x00000040, // Scale Y to Pad Bounds
|
||||
PROPFLAG_00000080 = 0x00000080, // Scale Z to Pad Bounds
|
||||
PROPFLAG_00000100 = 0x00000100, // Force Collisions
|
||||
PROPFLAG_00000200 = 0x00000200, // Glass Env Mapping Style
|
||||
PROPFLAG_ILLUMINATED = 0x00000400, /* ignore Stan Colour?*/
|
||||
PROPFLAG_00000800 = 0x00000800, // unknown
|
||||
PROPFLAG_00001000 = 0x00001000, // unknown
|
||||
PROPFLAG_00000800 = 0x00000800, // Free Standing Glass
|
||||
PROPFLAG_00001000 = 0x00001000, // Absolute Position
|
||||
PROPFLAG_AIUNDROPPABLE = 0x00002000, /* Item Not Droppedz*/
|
||||
PROPFLAG_ASSIGNEDTOCHR = 0x00004000, // unknown
|
||||
PROPFLAG_00008000 = 0x00008000, // unknown
|
||||
PROPFLAG_00010000 = 0x00010000, // unknown
|
||||
PROPFLAG_00020000 = 0x00020000, // unknown
|
||||
PROPFLAG_00040000 = 0x00040000, // unknown
|
||||
PROPFLAG_00080000 = 0x00080000, // unknown
|
||||
PROPFLAG_ASSIGNEDTOCHR = 0x00004000, // Assigned to Actor
|
||||
PROPFLAG_INSIDEANOTHEROBJ = 0x00008000, // Embedded Object
|
||||
PROPFLAG_FORCEMORTAL = 0x00010000, // unknown
|
||||
PROPFLAG_INVINCIBLE = 0x00020000, // Invincible
|
||||
PROPFLAG_00040000 = 0x00040000, // Allow Pickup (chr_type)
|
||||
PROPFLAG_00080000 = 0x00080000, // Collect Object by Interaction Button Only
|
||||
PROPFLAG_UNCOLLECTABLE = 0x00100000, /* Item Not Collectable*/
|
||||
PROPFLAG_00200000 = 0x00200000, // unknown
|
||||
PROPFLAG_00200000 = 0x00200000, // Bounce and Destroy If Shot
|
||||
PROPFLAG_00400000 = 0x00400000, // unknown
|
||||
PROPFLAG_00800000 = 0x00800000, // unknown
|
||||
PROPFLAG_01000000 = 0x01000000, // unknown
|
||||
PROPFLAG_02000000 = 0x02000000, // unknown
|
||||
PROPFLAG_04000000 = 0x04000000, // unknown
|
||||
PROPFLAG_08000000 = 0x08000000, // unknown
|
||||
PROPFLAG_WEAPON_LEFTHANDED = 0x10000000, /* Left Handed*/
|
||||
PROPFLAG_NO_AI_INTERACTION = 0x20000000, /* Concealed*/
|
||||
PROPFLAG_40000000 = 0x40000000, /* No Ammo on pickup*/
|
||||
PROPFLAG_80000000 = 0x80000000 // unknown
|
||||
PROPFLAG_01000000 = 0x01000000, // Embedded Object
|
||||
PROPFLAG_CANNOT_ACTIVATE = 0x02000000, // Cannot Activate Door/Object
|
||||
PROPFLAG_04000000 = 0x04000000, // AI Sees Through Door/Object
|
||||
PROPFLAG_DOOR_TWOWAY = 0x08000000, // Open Away From Player
|
||||
PROPFLAG_WEAPON_LEFTHANDED = 0x10000000, /* Area Behind Door Invisible/Monitor Fixed/Left-Handed weapon/Disable security camera/drone gun*/
|
||||
PROPFLAG_CULL_BEHIND_DOOR = 0x10000000,
|
||||
PROPFLAG_FIXED_MONITOR = 0x10000000,
|
||||
PROPFLAG_CCTV_DISABLED = 0x10000000,
|
||||
PROPFLAG_IS_DRONE_GUN = 0x10000000,
|
||||
PROPFLAG_DOOR_OPENTOFRONT = 0x20000000, /* Open Backwards/Special Function/Conceal Weapon*/
|
||||
PROPFLAG_SPECIAL_FUNC = 0x20000000,
|
||||
PROPFLAG_CONCEAL_GUN = 0x20000000,
|
||||
PROPFLAG_MONITOR_RENDERPOSTBG = 0x40000000, /* No Ammo on pickup / Area Behind Door Visible*/
|
||||
PROPFLAG_NO_PORTAL_CLOSE = 0x40000000,
|
||||
PROPFLAG_NO_AMMO = 0x40000000,
|
||||
PROPFLAG_80000000 = 0x80000000, // Open By Default/Weapon Paired for Player
|
||||
PROPFLAG_IS_DOUBLE = 0x80000000
|
||||
}PROPFLAG;
|
||||
// prop definition flags
|
||||
typedef enum PROPFLAG2
|
||||
{
|
||||
PROPFLAG2_00000001 = 0x00000001, // unknown
|
||||
PROPFLAG2_00000002 = 0x00000002, // unknown
|
||||
PROPFLAG2_00000004 = 0x00000004, // unknown
|
||||
PROPFLAG2_00000008 = 0x00000008, // unknown
|
||||
PROPFLAG2_00000010 = 0x00000010, // unknown
|
||||
PROPFLAG2_00000020 = 0x00000020, // unknown
|
||||
PROPFLAG2_00000040 = 0x00000040, // unknown
|
||||
PROPFLAG2_00000080 = 0x00000080, // unknown
|
||||
PROPFLAG2_00000100 = 0x00000100, // unknown
|
||||
PROPFLAG2_00000200 = 0x00000200, // unknown
|
||||
PROPFLAG2_00000400 = 0x00000400, // unknown
|
||||
PROPFLAG2_00000800 = 0x00000800, // unknown
|
||||
PROPFLAG2_00001000 = 0x00001000, // unknown
|
||||
PROPFLAG2_00002000 = 0x00002000, // unknown
|
||||
PROPFLAG2_00004000 = 0x00004000, // unknown
|
||||
PROPFLAG2_00008000 = 0x00008000, // unknown
|
||||
PROPFLAG2_00010000 = 0x00010000, // unknown
|
||||
PROPFLAG2_00020000 = 0x00020000, // unknown
|
||||
PROPFLAG2_00040000 = 0x00040000, // unknown
|
||||
PROPFLAG2_00080000 = 0x00080000, // unknown
|
||||
PROPFLAG2_00100000 = 0x00100000, // unknown
|
||||
PROPFLAG2_00200000 = 0x00200000, // unknown
|
||||
PROPFLAG2_00400000 = 0x00400000, // unknown
|
||||
PROPFLAG2_00800000 = 0x00800000, // unknown
|
||||
PROPFLAG2_01000000 = 0x01000000, // unknown
|
||||
PROPFLAG2_02000000 = 0x02000000, // unknown
|
||||
PROPFLAG2_04000000 = 0x04000000, // unknown
|
||||
PROPFLAG2_08000000 = 0x08000000, // unknown
|
||||
PROPFLAG2_10000000 = 0x10000000, // unknown
|
||||
PROPFLAG2_20000000 = 0x20000000, // unknown
|
||||
PROPFLAG2_40000000 = 0x40000000, // unknown
|
||||
PROPFLAG2_80000000 = 0x80000000 // unknown
|
||||
}PROPFLAG2;
|
||||
PROPFLAG2_00000001 = 0x00000001, // Activate Drone Gun
|
||||
PROPFLAG2_00000002 = 0x00000002, // lightweight (move when shot)
|
||||
PROPFLAG2_00000004 = 0x00000004, // Interaction Text Not Shown for Doors
|
||||
PROPFLAG2_00000008 = 0x00000008, // Don't Load in Multiplayer
|
||||
PROPFLAG2_00000010 = 0x00000010, // Don't Load on Agent Mode
|
||||
PROPFLAG2_00000020 = 0x00000020, // Don't Load on Secret Agent Mode
|
||||
PROPFLAG2_00000040 = 0x00000040, // Don't Load on 00 Agent Mode
|
||||
PROPFLAG2_00000080 = 0x00000080, // Don't Load on 007 Mode
|
||||
PROPFLAG2_NOFALL = 0x00000100, // immobile
|
||||
PROPFLAG2_FALLWITHOUTROTATION = 0x00000200, // used with mines
|
||||
PROPFLAG2_LINKEDTOSAFE = 0x00000400, // unknown
|
||||
PROPFLAG2_INTERACTCHECKLOS = 0x00000800, // Don't activate if stan gap Bond/Object
|
||||
PROPFLAG2_00001000 = 0x00001000, // Watch Magnet Attract through Walls/Objects
|
||||
PROPFLAG2_00002000 = 0x00002000, // Remove When Destroyed
|
||||
PROPFLAG2_00004000 = 0x00004000, // Immune to Gunfire
|
||||
PROPFLAG2_SHOOTTHROUGH = 0x00008000, // Can Shoot Through Object
|
||||
PROPFLAG2_00010000 = 0x00010000, // Always Visible (in front)
|
||||
PROPFLAG2_00020000 = 0x00020000, // unknown
|
||||
PROPFLAG2_00040000 = 0x00040000, // Hide inventory item (for tagged armor/ammo/magazine)
|
||||
PROPFLAG2_00080000 = 0x00080000, // Invincible Except to Explosions
|
||||
PROPFLAG2_00100000 = 0x00100000, // Bulletproof Glass
|
||||
PROPFLAG2_00200000 = 0x00200000, // Immune to Explosions
|
||||
PROPFLAG2_00400000 = 0x00400000, // Don't load on 2P
|
||||
PROPFLAG2_00800000 = 0x00800000, // Don't load on 3P
|
||||
PROPFLAG2_01000000 = 0x01000000, // Don't load on 4P
|
||||
PROPFLAG2_THROWTHROUGH = 0x02000000, // Rockets/Mines/Grenades Pass Through
|
||||
PROPFLAG2_04000000 = 0x04000000, // unknown
|
||||
PROPFLAG2_08000000 = 0x08000000, // One-Way Lock (Front)
|
||||
PROPFLAG2_10000000 = 0x10000000, // One-Way Lock (Back)
|
||||
PROPFLAG2_20000000 = 0x20000000, // Character AI Cannot Operate
|
||||
PROPFLAG2_40000000 = 0x40000000, // Deactivate Special Feature
|
||||
PROPFLAG2_DOOR_ALTCOORDSYSTEM = 0x80000000 // Massive Explosion (08 Type)/Rotating Disabled Drone Gun (0D Type)
|
||||
} PROPFLAG2;
|
||||
|
||||
typedef enum DOORFLAG
|
||||
{
|
||||
DOORFLAG_100 = 0x00000100,
|
||||
DOORFLAG_CANNOT_ACTIVATE = 0x02000000,
|
||||
DOORFLAG_KEEPOPEN = 0x80000000
|
||||
}DOORFLAG;
|
||||
DOORFLAG_080 = 0x00000080,
|
||||
DOORFLAG_100 = 0x00000100,
|
||||
DOORFLAG_CANNOT_ACTIVATE = 0x02000000,
|
||||
DOORFLAG_KEEPOPEN = 0x80000000
|
||||
|
||||
} DOORFLAG;
|
||||
|
||||
typedef enum DROPTYPE
|
||||
{
|
||||
DROPTYPE_DEFAULT = 1,
|
||||
DROPTYPE_SURRENDER = 2,
|
||||
DROPTYPE_THROWGRENADE = 3,
|
||||
DROPTYPE_HAT = 4
|
||||
} DROPTYPE;
|
||||
|
||||
typedef enum PROJECTILEFLAG
|
||||
{
|
||||
PROJECTILEFLAG_AIRBORNE = 0x00000001,
|
||||
PROJECTILEFLAG_00000002 = 0x00000002,
|
||||
PROJECTILEFLAG_STICKY = 0x00000004,
|
||||
PROJECTILEFLAG_POWERED = 0x00000010,
|
||||
PROJECTILEFLAG_00000020 = 0x00000020,
|
||||
PROJECTILEFLAG_LAUNCHING = 0x00000080,
|
||||
PROJECTILEFLAG_00000100 = 0x00000100,
|
||||
PROJECTILEFLAG_FALLING = 0x00000400,
|
||||
PROJECTILEFLAG_SLIDING = 0x00000800,
|
||||
PROJECTILEFLAG_00001000 = 0x00001000,
|
||||
PROJECTILEFLAG_00002000 = 0x00002000,
|
||||
PROJECTILEFLAG_NOTIMELIMIT = 0x00004000,
|
||||
PROJECTILEFLAG_INROOM = 0x00008000,
|
||||
PROJECTILEFLAG_00010000 = 0x00010000,
|
||||
PROJECTILEFLAG_LIGHTWEIGHT = 0x40000000,
|
||||
PROJECTILEFLAG_FREE = 0x80000000
|
||||
} PROJECTILE_FLAG;
|
||||
|
||||
// Might be the same flags as PROJECTILEFLAG
|
||||
#define EMBEDMENTFLAG_FREE 0x00000001
|
||||
|
||||
/* door lock flags*/
|
||||
BITFLAG(DOOR_LOCK,
|
||||
@@ -371,23 +434,23 @@ BITFLAG(RUNTIMEBITFLAG,
|
||||
00000001,
|
||||
00000002,
|
||||
REMOVE, /* removes object when set */
|
||||
00000008,
|
||||
ISRETICK,
|
||||
00000010,
|
||||
THROWING_KNIFE_RELATED,
|
||||
00000040,
|
||||
EMBEDDED,
|
||||
DEPOSIT, /* depositted (thrown/launching) */
|
||||
00000100,
|
||||
BEENOPENED,
|
||||
DESTROYED, /* only set with disabled or destroyed doors */
|
||||
00000800,
|
||||
00001000,
|
||||
00002000,
|
||||
PADLOCKEDDOOR,
|
||||
ACTIVATED, /* activated */
|
||||
00008000,
|
||||
00010000,
|
||||
00020000, /* owner 2bit (0-3) used to */
|
||||
00040000, /* attribute kills to players */
|
||||
00080000,
|
||||
HASOWNER,
|
||||
00100000,
|
||||
00200000,
|
||||
00400000,
|
||||
@@ -405,6 +468,42 @@ BITFLAG(RUNTIMEBITFLAG,
|
||||
#define RUNTIMEBITFLAG_OWNER 0x60000
|
||||
#define RUNTIMEBITSHIFT_OWNER 0x11
|
||||
|
||||
BITFLAG(WEAPONSTATBITFLAG,
|
||||
00000001,
|
||||
SINGLE_USE_RELOAD, /* skip from fire to reload animation; item "disappears" after use, redrawn from off-screen like knives" */
|
||||
BURST_FIRE, /* fire three round burst*/
|
||||
HAS_AUTO_AIM, /* auto aim capable*/
|
||||
CLICKY, /* if holding trigger, click if empty */
|
||||
00000020,
|
||||
00000040,
|
||||
00000080,
|
||||
ONLY_1_HANDED, /* requires HOLD_AS_GUN as well */
|
||||
HOLD_AS_GUN, /* default 2 handed*/
|
||||
MIRROR_DUAL, /* mirror double weapon, not copy */
|
||||
SHOW_FIRST_PERSON, /* display 1st person model */
|
||||
FIRST_SHOT_ACCURACY, /* for a single first shot, inaccuracy multiplied by 0.25 */
|
||||
HIDE_FIRST_PERSON_HAND, /* hide first person model in hand */
|
||||
HIDE_FIRST_PERSON_MENU, /* hide first person model in menu */
|
||||
DISABLE_CROUCH, /* can not crouch */
|
||||
PLAYER_STAT_HIT, /* count hits in player statistics */
|
||||
USE_HOLD_TIME, /* increment hold time when used, to consider as weapon of choice */
|
||||
HAS_AMMO,
|
||||
HIDE_AMMO_DISPLAY, /* do not display ammo on screen */
|
||||
CAN_DUAL_WIELD, /* capable of doubles */
|
||||
AMMO_CLIP_LIMIT, /* limit ammo to assigned value on clip */
|
||||
NO_CLIP_RELOADS, /* no ammo clip/reloads - draw straight from ammo supply (right of icon) */
|
||||
00800000,
|
||||
01000000,
|
||||
02000000,
|
||||
04000000,
|
||||
08000000,
|
||||
10000000,
|
||||
20000000,
|
||||
40000000,
|
||||
80000000
|
||||
)
|
||||
|
||||
|
||||
#define OBJECTTYPE_00 0x00
|
||||
#define OBJECTTYPE_01 0x01
|
||||
#define OBJECTTYPE_02 0x02
|
||||
@@ -458,6 +557,14 @@ BITFLAG(RUNTIMEBITFLAG,
|
||||
|
||||
#pragma region Constants
|
||||
|
||||
#define SP_BOOT_SZ 0x10
|
||||
#define SP_RMON_SZ 0x300
|
||||
#define SP_IDLE_SZ 0x40
|
||||
#define SP_SHED_SZ 0x200
|
||||
#define SP_MAIN_SZ 0x8000
|
||||
#define SP_AUDI_SZ 0x1000
|
||||
#define SP_DEBUG_SZ 0x6B0
|
||||
|
||||
/*
|
||||
Enums Index by adding 1 to the list from the first value, unless this value
|
||||
is not 0, it should not be set for every item
|
||||
@@ -798,28 +905,103 @@ typedef enum CHEAT_IDS
|
||||
|
||||
typedef enum CONTROLLER_CONFIG
|
||||
{
|
||||
/* 1.1 */
|
||||
CONTROLLER_CONFIG_HONEY,
|
||||
|
||||
/* 1.2 */
|
||||
CONTROLLER_CONFIG_SOLITARE,
|
||||
|
||||
/* 1.3 */
|
||||
CONTROLLER_CONFIG_KISSY,
|
||||
|
||||
/* 1.4 */
|
||||
CONTROLLER_CONFIG_GOODNIGHT,
|
||||
|
||||
/* 2.1 */
|
||||
CONTROLLER_CONFIG_PLENTY,
|
||||
|
||||
/* 2.2 */
|
||||
CONTROLLER_CONFIG_GALORE,
|
||||
|
||||
/* 2.3 */
|
||||
CONTROLLER_CONFIG_DOMINO,
|
||||
|
||||
/* 2.4 */
|
||||
CONTROLLER_CONFIG_GOODHEAD,
|
||||
|
||||
CONTROLLER_CONFIG_CINEMA
|
||||
} CONTROLLER_CONFIG;
|
||||
|
||||
enum WALLETBOND_SWITCHNAMES
|
||||
{
|
||||
SW_TABS,
|
||||
SW_PAPER,
|
||||
SW_EYESONLY,
|
||||
SW_OHMSS,
|
||||
SW_CONFIDENTIAL,
|
||||
SW_CONFIDENTIAL2,
|
||||
SW_CLASSIFIED,
|
||||
SW_PHOTOBOND,
|
||||
SW_BROSNAN,
|
||||
SW_CONNERY,
|
||||
SW_DALTON,
|
||||
SW_MOORE,
|
||||
SW_PHOTOBRIEF,
|
||||
SW_COVER,
|
||||
SW_PHOTOCOVER,
|
||||
SW_BROSNANCOVER,
|
||||
SW_CONNERYCOVER,
|
||||
SW_DALTONCOVER,
|
||||
SW_MOORECOVER,
|
||||
SW_SLIDES,
|
||||
SW_PICS,
|
||||
GFXHIT0_PICS,
|
||||
SW_BRIEF1,
|
||||
SW_BRIEF2,
|
||||
SW_BRIEF3,
|
||||
SW_BRIEF4,
|
||||
SW_BRIEF5,
|
||||
SW_BRIEF6,
|
||||
SW_BRIEF7,
|
||||
SW_BRIEF8,
|
||||
SW_BRIEF9,
|
||||
SW_BRIEF10,
|
||||
SW_BRIEF11,
|
||||
SW_BRIEF12,
|
||||
SW_BRIEF13,
|
||||
SW_BRIEF14,
|
||||
SW_BRIEF15,
|
||||
SW_BRIEF16,
|
||||
SW_BRIEF17,
|
||||
SW_BRIEF18,
|
||||
SW_BRIEF19,
|
||||
SW_BRIEF20,
|
||||
SW_BLANK
|
||||
} ;
|
||||
|
||||
typedef enum GAMELENGTH
|
||||
{
|
||||
LEN_UNLIMITED,
|
||||
LEN_5MIN,
|
||||
LEN_10MIN,
|
||||
LEN_20MIN,
|
||||
LEN_5PT,
|
||||
LEN_10PT,
|
||||
LEN_20PT,
|
||||
LEN_LAST
|
||||
} GAMELENGTH;
|
||||
|
||||
typedef enum CUFF_TYPES
|
||||
{
|
||||
CUFF_BLUE,
|
||||
CUFF_TUX,
|
||||
CUFF_BROSNAN,
|
||||
CUFF_JUNGLE,
|
||||
CUFF_BOILER,
|
||||
CUFF_SNOW,
|
||||
CUFF_WHITE,
|
||||
CUFF_TUX6,
|
||||
CUFF_TUX7,
|
||||
CUFF_TUX8
|
||||
CUFF_CONNERY,
|
||||
CUFF_DALTON,
|
||||
CUFF_MOORE,
|
||||
CUFF_FOLDER
|
||||
} CUFF_TYPES;
|
||||
|
||||
typedef enum CREDITS_ALIGNMENT
|
||||
@@ -918,6 +1100,7 @@ typedef enum DEBUG_OPTIONS
|
||||
DEB_FOG
|
||||
} DEBUG_MODES;
|
||||
|
||||
|
||||
typedef enum DIFFICULTY
|
||||
{
|
||||
DIFFICULTY_MULTI = -1,
|
||||
@@ -962,6 +1145,37 @@ typedef enum E_EXPLOSIONTYPE
|
||||
E_EXPLOSIONTYPE_COUNT
|
||||
} E_EXPLOSIONTYPE;
|
||||
|
||||
/* index into array_explosion_types.
|
||||
* Is this the same as E_EXPLOSIONTYPE ?
|
||||
* Some names are based on logic in chrobjWeaponTick method.
|
||||
*/
|
||||
typedef enum EXPLOSION_DEF
|
||||
{
|
||||
EXPLOSION_DEF_00,
|
||||
EXPLOSION_DEF_01,
|
||||
EXPLOSION_DEF_02,
|
||||
EXPLOSION_DEF_03,
|
||||
EXPLOSION_DEF_04,
|
||||
EXPLOSION_DEF_05,
|
||||
EXPLOSION_DEF_06,
|
||||
EXPLOSION_DEF_07,
|
||||
EXPLOSION_DEF_08,
|
||||
EXPLOSION_DEF_09,
|
||||
EXPLOSION_DEF_10,
|
||||
EXPLOSION_DEF_11,
|
||||
EXPLOSION_DEF_DRONE,
|
||||
// used with grenades and mines
|
||||
EXPLOSION_DEF_STANDARD,
|
||||
EXPLOSION_DEF_14,
|
||||
EXPLOSION_DEF_15,
|
||||
EXPLOSION_DEF_16,
|
||||
EXPLOSION_DEF_MASSIVE,
|
||||
EXPLOSION_DEF_PLAYER,
|
||||
EXPLOSION_DEF_FACILITY_REMOTE,
|
||||
EXPLOSION_DEF_20,
|
||||
EXPLOSION_DEF_21
|
||||
} EXPLOSION_DEF;
|
||||
|
||||
typedef enum GAMEMODE
|
||||
{
|
||||
GAMEMODE_INTRO = -1,
|
||||
@@ -977,29 +1191,25 @@ typedef enum GUNHAND //Canonical name
|
||||
} GUNHAND;
|
||||
|
||||
|
||||
#define HIT_TYPES(HIT) \
|
||||
HIT DEFAULT \
|
||||
HIT STONE \
|
||||
HIT WOOD \
|
||||
HIT METAL \
|
||||
HIT GLASS \
|
||||
HIT WATER \
|
||||
HIT SNOW \
|
||||
HIT DIRT \
|
||||
HIT MUD \
|
||||
HIT TILE \
|
||||
HIT METALOBJ \
|
||||
HIT CHR \
|
||||
HIT GLASS_XLU
|
||||
/*Hit Type for triangle (Canonical name)*/
|
||||
typedef enum HIT_TYPE
|
||||
{
|
||||
CREATE_TYPES(ENUM, HIT, HIT_TYPES)
|
||||
HIT_DEFAULT,
|
||||
HIT_STONE,
|
||||
HIT_WOOD,
|
||||
HIT_METAL,
|
||||
HIT_GLASS,
|
||||
HIT_WATER,
|
||||
HIT_SNOW,
|
||||
HIT_DIRT,
|
||||
HIT_MUD,
|
||||
HIT_TILE,
|
||||
HIT_METALOBJ,
|
||||
HIT_CHR,
|
||||
HIT_GLASS_XLU,
|
||||
HIT_TYPE_COUNT
|
||||
}HIT_TYPE;
|
||||
#ifdef DEBUG
|
||||
char *HIT_TYPE_ToString[] = { CREATE_TYPES(STRINGS, HIT, HIT_TYPES) };
|
||||
#endif
|
||||
} HIT_TYPE;
|
||||
|
||||
|
||||
#define IMAGE(NAME, SZ, HS, HT, F3, F4, F5, F6) IMAGE_ ## NAME,
|
||||
typedef enum IMAGEIDS
|
||||
@@ -1064,7 +1274,12 @@ typedef enum LEVELID
|
||||
LEVELID_WAX,
|
||||
LEVELID_PAM,
|
||||
LEVELID_MAX,
|
||||
LEVELID_TITLE = 90
|
||||
LEVELID_TITLE = 90,
|
||||
LEVELID_BUNKER2_MP = LEVELID_BUNKER2 + ENVIRONMENTDATA_PLAYERS_4,
|
||||
LEVELID_ARCHIVES_MP = LEVELID_ARCHIVES + ENVIRONMENTDATA_PLAYERS_4,
|
||||
LEVELID_CAVERNS_MP = LEVELID_CAVERNS + ENVIRONMENTDATA_PLAYERS_4,
|
||||
LEVELID_FACILITY_MP = LEVELID_FACILITY + ENVIRONMENTDATA_PLAYERS_4,
|
||||
LEVELID_EGYPT_MP = LEVELID_EGYPT + ENVIRONMENTDATA_PLAYERS_4
|
||||
} LEVELID;
|
||||
|
||||
typedef enum LEVEL_SOLO_SEQUENCE
|
||||
@@ -1135,6 +1350,17 @@ typedef enum LEVEL_INDEX
|
||||
LEVEL_INDEX_MAX = LEVEL_INDEX_X
|
||||
} LEVEL_INDEX;
|
||||
|
||||
typedef enum TEXT_ALIGNMENT
|
||||
{
|
||||
LEFT_ALIGN,
|
||||
CENTER_ALIGN,
|
||||
RIGHT_ALIGN,
|
||||
TOP_ALIGN = LEFT_ALIGN,
|
||||
BOTTOM_ALIGN = RIGHT_ALIGN
|
||||
} TEXT_ALIGNMENT;
|
||||
|
||||
|
||||
|
||||
typedef enum MENU
|
||||
{
|
||||
MENU_INVALID = -1,
|
||||
@@ -1184,30 +1410,30 @@ typedef enum MISSION_BRIEFING
|
||||
typedef enum MODELNODE_OPCODE
|
||||
{
|
||||
MODELNODE_OPCODE_NULL,
|
||||
MODELNODE_OPCODE_HEADERRECORD,
|
||||
MODELNODE_OPCODE_GROUPRECORD,
|
||||
MODELNODE_OPCODE_UNUSED_03,
|
||||
MODELNODE_OPCODE_DISPLAYLISTRECORD,
|
||||
MODELNODE_OPCODE_UNUSED_05,
|
||||
MODELNODE_OPCODE_UNUSED_06,
|
||||
MODELNODE_OPCODE_OP07RECORD,
|
||||
MODELNODE_OPCODE_LODRECORD,
|
||||
MODELNODE_OPCODE_BSPRECORD,
|
||||
MODELNODE_OPCODE_BOUNDINGBOXRECORD,
|
||||
MODELNODE_OPCODE_OP11RECORD,
|
||||
MODELNODE_OPCODE_GUNFIRERECORD,
|
||||
MODELNODE_OPCODE_SHADOWRECORD,
|
||||
MODELNODE_OPCODE_OP14RECORD,
|
||||
MODELNODE_OPCODE_INTERLINKAGERECORD,
|
||||
MODELNODE_OPCODE_OP16RECORD,
|
||||
MODELNODE_OPCODE_UNUSED_17,
|
||||
MODELNODE_OPCODE_SWITCHRECORD,
|
||||
MODELNODE_OPCODE_UNUSED_19,
|
||||
MODELNODE_OPCODE_UNUSED_20,
|
||||
MODELNODE_OPCODE_GROUPSIMPLERECORD,
|
||||
MODELNODE_OPCODE_DISPLAYLISTPRIMARYRECORD,
|
||||
MODELNODE_OPCODE_HEADPLACEHOLDERRECORD,
|
||||
MODELNODE_OPCODE_DISPLAYLIST_COLLISIONRECORD,
|
||||
MODELNODE_OPCODE_HEADER,
|
||||
MODELNODE_OPCODE_GROUP,
|
||||
MODELNODE_OPCODE_OP03,
|
||||
MODELNODE_OPCODE_DL,
|
||||
MODELNODE_OPCODE_OP05,
|
||||
MODELNODE_OPCODE_OP06,
|
||||
MODELNODE_OPCODE_OP07,
|
||||
MODELNODE_OPCODE_LOD,
|
||||
MODELNODE_OPCODE_BSP,
|
||||
MODELNODE_OPCODE_BBOX,
|
||||
MODELNODE_OPCODE_OP11,
|
||||
MODELNODE_OPCODE_GUNFIRE,
|
||||
MODELNODE_OPCODE_SHADOW,
|
||||
MODELNODE_OPCODE_OP14,
|
||||
MODELNODE_OPCODE_INTERLINK,
|
||||
MODELNODE_OPCODE_OP16,
|
||||
MODELNODE_OPCODE_OP17,
|
||||
MODELNODE_OPCODE_SWITCH,
|
||||
MODELNODE_OPCODE_OP19,
|
||||
MODELNODE_OPCODE_OP20,
|
||||
MODELNODE_OPCODE_GROUPSIMPLE,
|
||||
MODELNODE_OPCODE_DLPRIMARY,
|
||||
MODELNODE_OPCODE_HEAD,
|
||||
MODELNODE_OPCODE_DLCOLLISION,
|
||||
MODELNODE_OPCODE_MAX
|
||||
} MODELNODE_OPCODE;
|
||||
|
||||
@@ -1411,6 +1637,7 @@ typedef enum PLAYER_ID
|
||||
} PLAYER_ID;
|
||||
|
||||
#define MAX_PLAYER_COUNT 4
|
||||
#define MAX_FOLDER_COUNT 4
|
||||
|
||||
typedef enum RGBA_ENUM
|
||||
{
|
||||
@@ -2029,14 +2256,30 @@ typedef enum TEXTBANK_LEVEL_INDEX
|
||||
LMISC /* Cheat options */
|
||||
} TEXTBANK_LEVEL_INDEX;
|
||||
|
||||
#define GUNSIGHTREASON_1 0x01
|
||||
#define GUNSIGHTREASON_NOTAIMING 0x02
|
||||
#define GUNSIGHTREASON_NOCONTROL 0x04
|
||||
#define GUNSIGHTREASON_DAMAGE 0x10
|
||||
|
||||
#define GUNAMMOREASON_OPTION 0x01
|
||||
#define GUNAMMOREASON_NOCONTROL 0x02
|
||||
#define GUNAMMOREASON_DAMAGE 0x08
|
||||
|
||||
typedef enum WATCH_ANIMATION_STATE_IDS {
|
||||
WATCH_ANIMATION_0x0 = 0,
|
||||
WATCH_ANIMATION_0x4 = 4,
|
||||
WATCH_ANIMATION_0x5 = 5,
|
||||
WATCH_ANIMATION_0x6 = 6,
|
||||
WATCH_ANIMATION_0xc = 12
|
||||
WATCH_ANIMATION_0x1,
|
||||
WATCH_ANIMATION_0x2,
|
||||
WATCH_ANIMATION_0x3,
|
||||
WATCH_ANIMATION_0x4,
|
||||
WATCH_ANIMATION_0x5,
|
||||
WATCH_ANIMATION_0x6,
|
||||
WATCH_ANIMATION_0x7,
|
||||
WATCH_ANIMATION_0x8,
|
||||
WATCH_ANIMATION_0x9,
|
||||
WATCH_ANIMATION_0xa,
|
||||
WATCH_ANIMATION_0xb,
|
||||
WATCH_ANIMATION_0xc,
|
||||
WATCH_ANIMATION_0xd
|
||||
} WATCH_ANIMATION_STATE;
|
||||
|
||||
typedef enum WATCH_BRIEFING_PAGE
|
||||
@@ -2097,6 +2340,26 @@ typedef enum SPSEGMENT
|
||||
SPSEGMENT_BG_DL = 15
|
||||
} SPSEGMENT;
|
||||
|
||||
typedef enum TVCMD
|
||||
{
|
||||
TVCMD_STOPSCROLL = 0x00,
|
||||
TVCMD_SCROLLRELX = 0x01,
|
||||
TVCMD_SCROLLRELY = 0x02,
|
||||
TVCMD_SCROLLABSX = 0x03,
|
||||
TVCMD_SCROLLABSY = 0x04,
|
||||
TVCMD_SCALEABSX = 0x05,
|
||||
TVCMD_SCALEABSY = 0x06,
|
||||
TVCMD_SETTEXTURE = 0x07,
|
||||
TVCMD_PAUSE = 0x08,
|
||||
TVCMD_SETCMDLIST = 0x09,
|
||||
TVCMD_RANDSETCMDLIST = 0x0a,
|
||||
TVCMD_RESTART = 0x0b,
|
||||
TVCMD_YIELD = 0x0c,
|
||||
TVCMD_SETCOLOUR = 0x0d,
|
||||
TVCMD_ROTATEABS = 0x0e,
|
||||
TVCMD_ROTATEREL = 0x0f
|
||||
} TVCMD;
|
||||
|
||||
#pragma region Object Instance Stuff
|
||||
typedef enum BODIES
|
||||
{
|
||||
@@ -2105,7 +2368,12 @@ typedef enum SPSEGMENT
|
||||
BODY_Russian_Soldier,
|
||||
BODY_Russian_Infantry,
|
||||
BODY_Janus_Special_Forces,
|
||||
BODY_Tuxedo,
|
||||
BODY_Brosnan_Tuxedo,
|
||||
/*
|
||||
BODY_Connery_Tuxedo,
|
||||
BODY_Dalton_Tuxedo,
|
||||
BODY_Moore_Tuxedo,
|
||||
*/
|
||||
BODY_Boris,
|
||||
BODY_Ourumov,
|
||||
BODY_Trevelyan_Janus,
|
||||
@@ -2225,11 +2493,16 @@ typedef enum SPSEGMENT
|
||||
HEAD_Female_Mandy,
|
||||
HEAD_Female_Vivien,
|
||||
HEAD_BOND_START,
|
||||
HEAD_Male_Pierce_Bond_1 = HEAD_BOND_START,
|
||||
HEAD_Male_Pierce_Bond_2,
|
||||
HEAD_Male_Pierce_Bond_3,
|
||||
HEAD_Male_Pierce_Bond_Parka,
|
||||
HEAD_Male_Pierce_Bond_Tuxedo_DEFAULT,
|
||||
HEAD_Male_Brosnan_Boiler = HEAD_BOND_START,
|
||||
HEAD_Male_Brosnan_Default,
|
||||
HEAD_Male_Brosnan_Jungle,
|
||||
HEAD_Male_Brosnan_Parka,
|
||||
HEAD_Male_Brosnan_Tuxedo,
|
||||
/*
|
||||
HEAD_Male_Connery_Tuxedo,
|
||||
HEAD_Male_Dalton_Tuxedo,
|
||||
HEAD_Male_Moore_Tuxedo,
|
||||
*/
|
||||
HEAD_Natalya_Jungle_Fatigues,
|
||||
HEAD_END,
|
||||
/*The following are some maybe helpfull counts (maybe GE doesnt need them, but thought Id ad while here)*/
|
||||
@@ -2603,106 +2876,95 @@ typedef enum SPSEGMENT
|
||||
} PROJECTILES;
|
||||
|
||||
/** For use in Prop Records (Not to be confused with Object (canonical - Prop Definition) Records which use PROPDEF (canonical Name)) */
|
||||
#define PROP_TYPES(TYPE)\
|
||||
TYPE NUL \
|
||||
TYPE OBJ \
|
||||
TYPE DOOR \
|
||||
TYPE CHR \
|
||||
TYPE WEAPON \
|
||||
TYPE PLAYER \
|
||||
TYPE VIEWER \
|
||||
TYPE EXPLOSION \
|
||||
TYPE SMOKE
|
||||
|
||||
typedef enum PROP_TYPE
|
||||
{
|
||||
CREATE_TYPES(ENUM, PROP_TYPE, PROP_TYPES)
|
||||
PROP_TYPE_NUL,
|
||||
PROP_TYPE_OBJ,
|
||||
PROP_TYPE_DOOR,
|
||||
PROP_TYPE_CHR,
|
||||
PROP_TYPE_WEAPON,
|
||||
PROP_TYPE_PLAYER,
|
||||
PROP_TYPE_VIEWER,
|
||||
PROP_TYPE_EXPLOSION,
|
||||
PROP_TYPE_SMOKE,
|
||||
PROP_TYPE_MAX
|
||||
} PROP_TYPE;
|
||||
|
||||
#ifdef DEBUG
|
||||
char *PROP_TYPE_ToString[] = { CREATE_TYPES(STRINGS, PROP_TYPE, PROP_TYPES) };
|
||||
#endif
|
||||
|
||||
#pragma endregion
|
||||
|
||||
#pragma region PropDef stuff
|
||||
// used by characters
|
||||
|
||||
/*Action Type to be performed by chr (canonical names)*/
|
||||
#define ACT_STATUS(STATUS) \
|
||||
STATUS NONE \
|
||||
STATUS NORMAL \
|
||||
STATUS COVERWAIT \
|
||||
STATUS GRENADEWAIT \
|
||||
STATUS WAITING \
|
||||
STATUS COVERGOTO \
|
||||
STATUS COVERBREAK \
|
||||
STATUS COVERSEEN \
|
||||
STATUS FLANKLEFT \
|
||||
STATUS FLANKRIGHT \
|
||||
STATUS DODGE \
|
||||
STATUS GRENADE \
|
||||
STATUS WAITSEEN \
|
||||
STATUS WITHDRAW \
|
||||
STATUS SHOOTING \
|
||||
STATUS SYNCSHOOT \
|
||||
STATUS WAITTIMEOUT \
|
||||
STATUS COVERTIMEOUT \
|
||||
STATUS TRACKING \
|
||||
STATUS RETREAT \
|
||||
STATUS SURRENDER \
|
||||
STATUS TALKING \
|
||||
STATUS LISTENING \
|
||||
STATUS GOTOALARM \
|
||||
STATUS BOTFRIENDFOLLOW \
|
||||
STATUS BOTHIDE \
|
||||
STATUS BOTPATH \
|
||||
STATUS BOTINJURED \
|
||||
STATUS BOTNORMAL \
|
||||
STATUS BOTSHOOTING \
|
||||
STATUS DRUGGED \
|
||||
STATUS PANIC \
|
||||
STATUS RUNFROMGRENADE \
|
||||
STATUS UNARMEDATTACK
|
||||
typedef enum ACT_STATUS
|
||||
{
|
||||
CREATE_TYPES(ENUM, , ACT_STATUS)
|
||||
ACT_STATUS_MAX
|
||||
ACT_STATUS_NONE,
|
||||
ACT_STATUS_NORMAL,
|
||||
ACT_STATUS_COVERWAIT,
|
||||
ACT_STATUS_GRENADEWAIT,
|
||||
ACT_STATUS_WAITING,
|
||||
ACT_STATUS_COVERGOTO,
|
||||
ACT_STATUS_COVERBREAK,
|
||||
ACT_STATUS_COVERSEEN,
|
||||
ACT_STATUS_FLANKLEFT,
|
||||
ACT_STATUS_FLANKRIGHT,
|
||||
ACT_STATUS_DODGE,
|
||||
ACT_STATUS_GRENADE,
|
||||
ACT_STATUS_WAITSEEN,
|
||||
ACT_STATUS_WITHDRAW,
|
||||
ACT_STATUS_SHOOTING,
|
||||
ACT_STATUS_SYNCSHOOT,
|
||||
ACT_STATUS_WAITTIMEOUT,
|
||||
ACT_STATUS_COVERTIMEOUT,
|
||||
ACT_STATUS_TRACKING,
|
||||
ACT_STATUS_RETREAT,
|
||||
ACT_STATUS_SURRENDER,
|
||||
ACT_STATUS_TALKING,
|
||||
ACT_STATUS_LISTENING,
|
||||
ACT_STATUS_GOTOALARM,
|
||||
ACT_STATUS_BOTFRIENDFOLLOW,
|
||||
ACT_STATUS_BOTHIDE,
|
||||
ACT_STATUS_BOTPATH,
|
||||
ACT_STATUS_BOTINJURED,
|
||||
ACT_STATUS_BOTNORMAL,
|
||||
ACT_STATUS_BOTSHOOTING,
|
||||
ACT_STATUS_DRUGGED,
|
||||
ACT_STATUS_PANIC,
|
||||
ACT_STATUS_RUNFROMGRENADE,
|
||||
ACT_STATUS_UNARMEDATTACK,
|
||||
ACT_STATUS_MAX
|
||||
} ACT_STATUS;
|
||||
|
||||
#ifdef DEBUG
|
||||
char *ACT_STATUS_ToString[] = {CREATE_TYPES(STRINGS, , ACT_STATUS)};
|
||||
#endif
|
||||
|
||||
#define ACT_TYPES(ACT) \
|
||||
ACT INIT \
|
||||
ACT STAND \
|
||||
ACT KNEEL \
|
||||
ACT ANIM \
|
||||
ACT DIE \
|
||||
ACT DEAD \
|
||||
ACT ARGH \
|
||||
ACT PREARGH \
|
||||
ACT ATTACK \
|
||||
ACT ATTACKWALK \
|
||||
ACT ATTACKROLL \
|
||||
ACT SIDESTEP \
|
||||
ACT JUMPOUT \
|
||||
ACT RUNPOS \
|
||||
ACT PATROL \
|
||||
ACT GOPOS \
|
||||
ACT SURRENDER \
|
||||
ACT LOOKATTARGET \
|
||||
ACT SURPRISED \
|
||||
ACT STARTALARM \
|
||||
ACT THROWGRENADE \
|
||||
ACT TURNDIR \
|
||||
ACT TEST \
|
||||
ACT BONDINTRO \
|
||||
ACT BONDDIE \
|
||||
ACT BONDMULTI \
|
||||
/* PD ONLY
|
||||
/*Action Type to be performed by chr (canonical names)*/
|
||||
typedef enum ACT_TYPE
|
||||
{
|
||||
ACT_INIT,
|
||||
ACT_STAND,
|
||||
ACT_KNEEL,
|
||||
ACT_ANIM,
|
||||
ACT_DIE,
|
||||
ACT_DEAD,
|
||||
ACT_ARGH,
|
||||
ACT_PREARGH,
|
||||
ACT_ATTACK,
|
||||
ACT_ATTACKWALK,
|
||||
ACT_ATTACKROLL,
|
||||
ACT_SIDESTEP,
|
||||
ACT_JUMPOUT,
|
||||
ACT_RUNPOS,
|
||||
ACT_PATROL,
|
||||
ACT_GOPOS,
|
||||
ACT_SURRENDER,
|
||||
ACT_LOOKATTARGET,
|
||||
ACT_SURPRISED,
|
||||
ACT_STARTALARM,
|
||||
ACT_THROWGRENADE,
|
||||
ACT_TURNDIR,
|
||||
ACT_TEST,
|
||||
ACT_BONDINTRO,
|
||||
ACT_BONDDIE,
|
||||
ACT_BONDMULTI,
|
||||
/* PD ONLY
|
||||
ACT_BOT_ATTACKSTAND
|
||||
ACT_BOT_ATTACKKNEEL
|
||||
ACT_BOT_ATTACKSTRAFE
|
||||
@@ -2713,18 +2975,10 @@ typedef enum SPSEGMENT
|
||||
ACT_ROBOTATTACK
|
||||
ACT_SKJUMP*
|
||||
*/
|
||||
/*Action Type to be performed by chr (canonical names)*/
|
||||
typedef enum ACT_TYPE
|
||||
{
|
||||
CREATE_TYPES(ENUM, ACT, ACT_TYPES)
|
||||
ACT_NULL,
|
||||
ACT_TYPE_MAX
|
||||
} ACT_TYPE;
|
||||
|
||||
#ifdef DEBUG
|
||||
char *ACT_TYPE_ToString[] = {CREATE_TYPES(STRINGS, ACT, ACT_TYPES) "ACT_NULL"};
|
||||
#endif
|
||||
|
||||
|
||||
typedef enum AMMOTYPE
|
||||
{
|
||||
@@ -2941,6 +3195,12 @@ typedef enum SPSEGMENT
|
||||
#pragma endregion
|
||||
|
||||
#pragma region Setup
|
||||
|
||||
/**
|
||||
* enums were listed in a particular order, it appears the first few are associated with the start/intro
|
||||
* of a level:
|
||||
* if (g_CurrentPlayer->redbloodfinished && g_CurrentPlayer->deathanimfinished && (D_80036510 >= CAMERAMODE_SWIRL))
|
||||
*/
|
||||
typedef enum CAMERAMODE
|
||||
{
|
||||
CAMERAMODE_NONE,
|
||||
@@ -2948,8 +3208,8 @@ typedef enum SPSEGMENT
|
||||
CAMERAMODE_FADESWIRL,
|
||||
CAMERAMODE_SWIRL,
|
||||
CAMERAMODE_FP,
|
||||
CAMERAMODE_UNK5,
|
||||
CAMERAMODE_UNK6,
|
||||
CAMERAMODE_DEATH_CAM_FIRST,
|
||||
CAMERAMODE_DEATH_CAM_SECOND,
|
||||
CAMERAMODE_POSEND,
|
||||
CAMERAMODE_FP_NOINPUT,
|
||||
CAMERAMODE_MP,
|
||||
@@ -2989,6 +3249,13 @@ typedef enum SPSEGMENT
|
||||
OBJECTIVESTATUS_FAILED
|
||||
} OBJECTIVESTATUS;
|
||||
|
||||
typedef enum TANK_RUN_STATE
|
||||
{
|
||||
TANK_RUN_STATE_NOT_RUNNING = 0,
|
||||
TANK_RUN_STATE_STARTING,
|
||||
TANK_RUN_STATE_RUNNING
|
||||
} TANK_RUN_STATE;
|
||||
|
||||
#pragma endregion
|
||||
|
||||
#pragma region VI
|
||||
@@ -3057,15 +3324,21 @@ typedef enum SPSEGMENT
|
||||
#define NUMBER_SHOTGUN_BULLETS 5
|
||||
|
||||
#ifdef VERSION_EU
|
||||
#define NTSC 0
|
||||
#define PAL 1
|
||||
#define NTSC 0
|
||||
#define PAL 1
|
||||
#define TICKS_PER_SECOND 50
|
||||
#define FRAMES_PER_SECOND 25
|
||||
#else
|
||||
#define NTSC 1
|
||||
#define PAL 0
|
||||
#define NTSC 1
|
||||
#define PAL 0
|
||||
#define TICKS_PER_SECOND 60
|
||||
#define FRAMES_PER_SECOND 30
|
||||
#endif
|
||||
|
||||
#pragma endregion
|
||||
|
||||
#define S32_MAX 2147483647
|
||||
#define U32_MAX 4294967295
|
||||
#pragma region Inline Macro Functions
|
||||
#ifndef _MATH_EXT_H_
|
||||
#define M_TAU_F 6.2831855f
|
||||
@@ -3276,6 +3549,15 @@ typedef enum SPSEGMENT
|
||||
#define ARRAYCOUNT(a) (s32)(sizeof(a) / sizeof(a[0]))
|
||||
#define ALIGN8(val) (((val) + 0x7 | 0x7) ^ 0x7)
|
||||
#define RANDOMFRAC() ((f32) randomGetNext() * 2.3283064e-10f)
|
||||
#define MAXFLOAT ((float)3.40282346638528860e+38)
|
||||
|
||||
#define HUDHALIGN_RIGHT 0
|
||||
#define HUDHALIGN_LEFT 1
|
||||
#define HUDHALIGN_MIDDLE 2
|
||||
|
||||
#define HUDVALIGN_BOTTOM 0
|
||||
#define HUDVALIGN_TOP 1
|
||||
#define HUDVALIGN_MIDDLE 2
|
||||
|
||||
#pragma endregion
|
||||
|
||||
|
||||
+13
-10
@@ -1,6 +1,9 @@
|
||||
#ifndef _BONDGAME_H_
|
||||
#define _BONDGAME_H_
|
||||
#include <ultra64.h>
|
||||
//#include <bondaicommands.h> // game ai commands actually... this shouldnt be here as they are only needed by setups
|
||||
#include <bondconstants.h> // game constants
|
||||
#include <bondtypes.h> // game structs and types
|
||||
|
||||
extern u32 *_codeSegmentStart;
|
||||
extern u32 *_codeSegmentEnd;
|
||||
@@ -22,17 +25,17 @@ extern u32 *_gameSegmentVaddrEnd;
|
||||
extern u32 *_gameSegmentRomStart;
|
||||
extern u32 *_gameSegmentRomEnd;
|
||||
|
||||
extern u32* _alt_startSegmentRomStart;
|
||||
extern u32* _alt_startSegmentStart;
|
||||
|
||||
extern u8 sp_boot[SP_BOOT_SZ];
|
||||
extern u8 sp_rmon[SP_RMON_SZ];
|
||||
extern u8 sp_idle[SP_IDLE_SZ];
|
||||
extern u8 sp_shed[SP_SHED_SZ];
|
||||
extern u8 sp_main[SP_MAIN_SZ];
|
||||
extern u8 sp_audi[SP_AUDI_SZ];
|
||||
extern u8 sp_debug[SP_DEBUG_SZ];
|
||||
|
||||
extern u8 sp_boot[];
|
||||
extern u8 sp_rmon[];
|
||||
extern u8 sp_idle[];
|
||||
extern u8 sp_shed[];
|
||||
extern u8 sp_main[];
|
||||
extern u8 sp_audi[];
|
||||
extern u8 sp_debug[];
|
||||
|
||||
//#include <bondaicommands.h> // game ai commands actually... this shouldnt be here as they are only needed by setups
|
||||
#include <bondconstants.h> // game constants
|
||||
#include <bondtypes.h> // game structs and types
|
||||
|
||||
#endif
|
||||
+303
-214
@@ -48,7 +48,7 @@
|
||||
* then move bool to bondtypes.h
|
||||
*/
|
||||
typedef s32 bool; /* Boolean (TRUE/FALSE) */
|
||||
|
||||
typedef u32 romptr_t;
|
||||
struct object_standard;
|
||||
struct ChrRecord;
|
||||
struct PropRecord;
|
||||
@@ -255,7 +255,6 @@ typedef union
|
||||
IF_ELSE(IS_EMPTY(y))(0)(y),\
|
||||
IF_ELSE(IS_EMPTY(z))(0)(z) \
|
||||
}
|
||||
typedef f32 vec3[3]; //!depreciated
|
||||
|
||||
/**
|
||||
16bit Co-Ordinate used for Integer co-ordinates eg, pumping straight to RSP.
|
||||
@@ -359,6 +358,14 @@ typedef union
|
||||
f32 f[8];
|
||||
};
|
||||
}rect4f;
|
||||
|
||||
struct rectbbox
|
||||
{
|
||||
f32 left;
|
||||
f32 up;
|
||||
f32 right;
|
||||
f32 down;
|
||||
};
|
||||
#pragma endregion
|
||||
#pragma endregion
|
||||
|
||||
@@ -1222,7 +1229,7 @@ typedef union
|
||||
Gfx *Primary; /*0x0*/
|
||||
Gfx *Secondary; /*0x4*/ // optional
|
||||
Vertex *Vertices; /*0x8*/
|
||||
u16 numVertices; /*0xC*/
|
||||
s16 numVertices; /*0xC*/
|
||||
s16 numCollisionVertices; /*0xE*/
|
||||
Vertex *CollisionVertices; /*0x10 Table of vertices with unique point in space (UV's and Colour are disregarded). */
|
||||
s16 *PointUsage; /*0x14*/
|
||||
@@ -1408,25 +1415,22 @@ typedef union
|
||||
f32 unk5c;
|
||||
};
|
||||
|
||||
struct modeldata_unk_pos {
|
||||
s32 unk00;
|
||||
f32 p1[2];
|
||||
f32 p2[2];
|
||||
f32 p3[2];
|
||||
};
|
||||
|
||||
/**
|
||||
* I beleve that "datas" is actually " struct modeldata_root" and that
|
||||
* unk1c is the model node data array
|
||||
*/
|
||||
typedef struct Model
|
||||
{
|
||||
u8 unk00; /*0x00*/ // init_standard_object() indicates that unk00 is a s16...
|
||||
s16 Type; /*0x01*/ // but sub_GAME_7F075F68() indicates that Type is a s16...
|
||||
u8 unk00; /*0x00*/ // objInit() indicates that unk00 is a s16...
|
||||
s16 Type; /*0x01*/ // but modelInit() indicates that Type is a s16...
|
||||
// not sure which is correct.
|
||||
|
||||
struct ChrRecord *chr; /*0x04*/
|
||||
ModelFileHeader *obj; /*0x08 GE Name confirmed*/
|
||||
|
||||
/**
|
||||
* List of length model->obj->numMatrices dynamically allocated.
|
||||
*/
|
||||
RenderPosView *render_pos; /*0x0c*/
|
||||
union ModelRwData **datas; // array of pointers to modeldata structs /*0x10*/
|
||||
|
||||
@@ -1458,7 +1462,7 @@ typedef union
|
||||
s16 frameb;
|
||||
s32 unk34;
|
||||
s32 unk38;
|
||||
f32 unk3c;
|
||||
f32 endframe;
|
||||
|
||||
f32 speed; /*0x40*/
|
||||
f32 newspeed; /*0x44*/
|
||||
@@ -1468,7 +1472,7 @@ typedef union
|
||||
|
||||
ModelAnimation *anim2;
|
||||
|
||||
s32 unk58;
|
||||
f32 unk58;
|
||||
f32 unk5c;
|
||||
|
||||
/**
|
||||
@@ -1487,7 +1491,7 @@ typedef union
|
||||
s32 unk68;
|
||||
f32 unk6c;
|
||||
// 0x70
|
||||
f32 unk70;
|
||||
f32 speed2;
|
||||
s32 unk74;
|
||||
s32 unk78;
|
||||
f32 unk7c;
|
||||
@@ -1508,7 +1512,7 @@ typedef union
|
||||
s32 unk9c;
|
||||
// 0xa0
|
||||
s32 unka0;
|
||||
f32 unka4; // used by ACT_STAND in chrlv
|
||||
f32 playspeed; // used by ACT_STAND in chrlv
|
||||
f32 animrate;
|
||||
f32 unkac;
|
||||
// 0xb0
|
||||
@@ -1698,14 +1702,14 @@ typedef union
|
||||
|
||||
struct act_stand
|
||||
{
|
||||
s32 unk02c; /*0x2c*/
|
||||
s32 prestand; /*0x2c*/
|
||||
s32 face_entitytype; /*0x30*/
|
||||
s32 face_entityid; /*0x34*/
|
||||
s32 unk038; /*0x38*/
|
||||
s32 unk03c; /*0x3c*/
|
||||
u32 unk040; /*0x40*/
|
||||
s32 unk044; /*0x44*/
|
||||
f32 unk048; /*0x48*/
|
||||
s32 reaim; /*0x38*/
|
||||
s32 turning; /*0x3c*/
|
||||
u32 checkfacingwall; /*0x40*/
|
||||
s32 wallcount; /*0x44*/
|
||||
f32 mergetime; /*0x48*/
|
||||
s8 face_target; /*0x4c*/
|
||||
};
|
||||
|
||||
@@ -2210,7 +2214,7 @@ typedef union
|
||||
/**
|
||||
* Offset 0x10
|
||||
*/
|
||||
vec3 delta;
|
||||
struct coord3d delta;
|
||||
f32 unk1c;
|
||||
|
||||
f32 unk20;
|
||||
@@ -2218,78 +2222,6 @@ typedef union
|
||||
f32 unk28;
|
||||
} ChrRecord_f180;
|
||||
|
||||
typedef struct ObjectRecord_f6c
|
||||
{
|
||||
u32 flags;
|
||||
coord3d pos;
|
||||
|
||||
/**
|
||||
* Offset 0x10
|
||||
*/
|
||||
vec3d vec;
|
||||
u32 padding;
|
||||
|
||||
/*
|
||||
{{1, 0, 0, 0},
|
||||
{0, 1, 0, 0},
|
||||
{0, 0, 1, 0},
|
||||
{0, 0, 0, 1}};
|
||||
This is probably not a matrix, only 8 vals are read
|
||||
Offset 0x20.
|
||||
*/
|
||||
Mtxf m;
|
||||
|
||||
u32 unk60;
|
||||
u32 unk64;
|
||||
u32 unk68;
|
||||
u32 unk6c;
|
||||
|
||||
u32 unk70;
|
||||
u32 unk74;
|
||||
u32 unk78;
|
||||
u32 unk7c;
|
||||
|
||||
u32 unk80;
|
||||
u32 unk84;
|
||||
// used by sub_GAME_7F05EB0C
|
||||
PropRecord *prop;
|
||||
f32 unk8c;
|
||||
|
||||
u32 unk90;
|
||||
f32 unk94;
|
||||
ALSoundState *unk98[2];
|
||||
//ALSoundState * unk9c;
|
||||
|
||||
u32 unka0;
|
||||
u32 unka4;
|
||||
u32 animrate;
|
||||
u32 unkac;
|
||||
|
||||
f32 unkb0; // runtime y position?
|
||||
f32 unkb4; // previous pos.y?
|
||||
u32 unkb8;
|
||||
u32 refreshrate;
|
||||
|
||||
u32 unkc0;
|
||||
u32 unkc4;
|
||||
u32 unkc8;
|
||||
u32 unkcc;
|
||||
|
||||
u32 unkd0;
|
||||
u32 unkd4;
|
||||
u32 unkd8;
|
||||
u32 unkdc;
|
||||
|
||||
u32 unke0;
|
||||
/**
|
||||
* Offset 0xe4.
|
||||
*/
|
||||
struct ObjectRecord *parent;
|
||||
u32 unke8;
|
||||
u32 unkec;
|
||||
} ObjectRecord_f6c;
|
||||
|
||||
|
||||
|
||||
typedef struct PropDefHeaderRecord
|
||||
{
|
||||
@@ -2454,7 +2386,7 @@ typedef union
|
||||
|
||||
/* 0x0180 */
|
||||
/**
|
||||
* Method chrlvFireWeaponRelated calls sub_GAME_7F061948, and passes an address
|
||||
* Method chrlvFireWeaponRelated calls CapBeamLengthAndDecideIfRendered, and passes an address
|
||||
* which makes it look like this is an array at ChrRecord offset 180.
|
||||
*/
|
||||
ChrRecord_f180 unk180[2];
|
||||
@@ -2486,6 +2418,63 @@ typedef union
|
||||
f32 unk48;
|
||||
};
|
||||
|
||||
typedef struct Projectile {
|
||||
u32 flags;
|
||||
coord3d speed;
|
||||
coord3d unk10;
|
||||
|
||||
f32 unk1C;
|
||||
Mtxf mtx; // 0x20-0x5c
|
||||
|
||||
f32 unk60;
|
||||
f32 unk64;
|
||||
|
||||
f32 unk68[4];
|
||||
f32 unk78[4];
|
||||
|
||||
struct PropRecord* ownerprop; // 0x88
|
||||
f32 unk8C;
|
||||
|
||||
u32 unk90;
|
||||
f32 unk94;
|
||||
struct ALSoundState* sound1; // 0x98
|
||||
struct ALSoundState* sound2; // 0x9C
|
||||
|
||||
u32 unkA0;
|
||||
u32 unkA4;
|
||||
u32 unkA8;
|
||||
u32 unkAC;
|
||||
|
||||
f32 unkB0; // runtime y position?
|
||||
f32 unkB4; // previous pos.y?
|
||||
DROPTYPE droptype; // 0xB8
|
||||
u32 refreshrate; // 0xBC;
|
||||
|
||||
f32 unkC0;
|
||||
f32 unkC4;
|
||||
f32 unkC8;
|
||||
|
||||
u8 unkCC;
|
||||
u8 unkCD;
|
||||
u8 unkCE;
|
||||
u8 unkCF;
|
||||
|
||||
u32 unkD0;
|
||||
f32 unkd4; // probably struct coord3d
|
||||
u32 unkD8;
|
||||
u32 unkDC;
|
||||
|
||||
u32 unkE0;
|
||||
struct ObjectRecord* obj; // 0xE4;
|
||||
s32 unkE8;
|
||||
} Projectile;
|
||||
|
||||
typedef struct Embedment {
|
||||
/*0x000*/ s32 flags;
|
||||
/*0x004*/ Mtxf matrix;
|
||||
/*0x044*/ struct Projectile *projectile;
|
||||
} Embedment;
|
||||
|
||||
/**
|
||||
* Object (Prop Definition) Record holds common data such as pad and health.
|
||||
*/
|
||||
@@ -2668,15 +2657,15 @@ typedef union
|
||||
};
|
||||
struct collision_data *ptr_allocated_collisiondata_block;
|
||||
|
||||
ObjectRecord_f6c *unk6C; //pointer somewhere at least 0x44 long and the pointer at 0 and 0x44 is also at least 0xb8 long
|
||||
union {
|
||||
struct Projectile *projectile; // 0x6c
|
||||
struct Embedment *embedment; // 0x6c
|
||||
};
|
||||
|
||||
f32 maxdamage;
|
||||
f32 damage;
|
||||
rgba_u8 field_78;
|
||||
char field_7C;
|
||||
char field_7D;
|
||||
char field_7E;
|
||||
char field_7F;
|
||||
f32 maxdamage; // 0x70
|
||||
f32 damage; // 0x74
|
||||
rgba_u8 shadecol; // 0x78
|
||||
rgba_u8 nextcol; // 0x7C
|
||||
} ObjectRecord;
|
||||
#define New_ObjectRecord(pad) \
|
||||
{ \
|
||||
@@ -2832,9 +2821,9 @@ typedef union
|
||||
u8 unkbd; /*0xbd*/
|
||||
|
||||
// something related to rendering
|
||||
s16 unkbe; /*0xbe*/
|
||||
s32 unkc0; /*0xc0*/
|
||||
s16 unkc4; /*0xc4*/
|
||||
s16 calculatedopacity; /*0xbe*/
|
||||
s32 TintDist; /*0xc0*/
|
||||
s16 CullDist; /*0xc4*/
|
||||
s8 soundType; /*0xc6*/
|
||||
s8 fadeTime60; /*0xc7*/
|
||||
|
||||
@@ -2844,11 +2833,9 @@ typedef union
|
||||
*/
|
||||
struct DoorRecord *linkedDoor;
|
||||
|
||||
u8 laserFade; /*0xcc*/
|
||||
u8 unkcd;
|
||||
s16 unkce;
|
||||
Vertex* unkcc; /*0xcc*/
|
||||
|
||||
// maybe struct modeldata_unk_pos *
|
||||
// maybe struct ModelRoData_BoundingBoxRecord *
|
||||
u32 unkd0;
|
||||
|
||||
u32 unkd4;
|
||||
@@ -2936,15 +2923,24 @@ typedef union
|
||||
New_PropDefHeaderRecord(5), 0, pad + 0 \
|
||||
}
|
||||
|
||||
struct beam {
|
||||
/*0x00*/ s8 age;
|
||||
/*0x01*/ s8 weaponnum;
|
||||
/*0x04*/ struct coord3d from;
|
||||
/*0x10*/ struct coord3d dir;
|
||||
/*0x1c*/ f32 maxdist;
|
||||
/*0x20*/ f32 speed;
|
||||
/*0x24*/ f32 mindist;
|
||||
/*0x28*/ f32 dist;
|
||||
};
|
||||
|
||||
typedef struct AutogunRecord
|
||||
{
|
||||
inherits ObjectRecord;
|
||||
s16 unk80; /*0x80*/
|
||||
u16 lookpad; /*0x82*/
|
||||
s32 padID; // 0x80
|
||||
|
||||
// Units seem to be radians.
|
||||
f32 rot_related;
|
||||
f32 rot_related; // 0x84
|
||||
|
||||
// Units seem to be radians.
|
||||
f32 unk88;
|
||||
@@ -2958,6 +2954,7 @@ typedef union
|
||||
// changes when active/firing
|
||||
f32 unk94;
|
||||
f32 unk98;
|
||||
|
||||
// changes when active/firing
|
||||
f32 unk9C;
|
||||
|
||||
@@ -2965,75 +2962,61 @@ typedef union
|
||||
f32 unkA0;
|
||||
|
||||
// How fast the gun turns. Runway default is around 0.01f.
|
||||
f32 speed;
|
||||
f32 speed; // 0xA4
|
||||
|
||||
/**
|
||||
* Distance before deactivating.
|
||||
* Default (on Runway at least): 7500.0f
|
||||
* Offset 0xa0.
|
||||
*/
|
||||
f32 aimdist;
|
||||
u32 unkAC;
|
||||
f32 aimdist; // 0xA8
|
||||
s32 unkAC;
|
||||
|
||||
// changes when active/firing
|
||||
s32 unkB0;
|
||||
f32 unkB0;
|
||||
|
||||
// changes when active/firing
|
||||
f32 unkB4;
|
||||
f32 unkB8;
|
||||
s32 unkB8;
|
||||
s32 unkBC;
|
||||
|
||||
s32 unkC0;
|
||||
void *unkC4;
|
||||
void *unkC8;
|
||||
void *unkCC;
|
||||
ALSoundState *unkC4;
|
||||
ALSoundState *unkC8;
|
||||
struct beam *beam;
|
||||
|
||||
/**
|
||||
* Offset 0xd0.
|
||||
* Used in object_interaction, setting to zero won't disable.
|
||||
*/
|
||||
f32 is_active;
|
||||
s32 is_active; // 0xD0
|
||||
|
||||
// changes when active/firing
|
||||
u32 unkD8;
|
||||
|
||||
//////////////////////////////////////////////////////
|
||||
// Previously:
|
||||
// u8 firing;
|
||||
// u8 firecount;
|
||||
// u16 unk64; /*0x84*/
|
||||
// s16 yzero; /*0x88 */
|
||||
// s16 ymaxleft; /*0x8a how far gun can rotate from center. 0 = free rotate*/
|
||||
// s16 ymaxright; /*0x8c */
|
||||
// s16 yrot; /*0x8e how far gun can rotate from center. 0 = free rotate*/
|
||||
// u32 yspeed; /*0xa0*/
|
||||
// u16 unk98; /*0xa4*/
|
||||
// u16 Speed; /*0xa6 how fast the gun turns*/
|
||||
// u16 aimdist; /*0xa8 distance before deactivating.*/
|
||||
// u16 unkaa; /*0xaa*/
|
||||
// u32 unkac;
|
||||
|
||||
f32 unkD4;
|
||||
} AutogunRecord;
|
||||
|
||||
// PROPDEF_CCTV (6)
|
||||
typedef struct CCTVRecord
|
||||
{
|
||||
inherits AutogunRecord;
|
||||
// needs camrotm 40byte matrix to go in here somewhere
|
||||
s16 UpMax; /*0xcc = 0 Camera cannot move vertically*/
|
||||
s16 LeftMax; /*0xce how far camera can rotate from center. 0 = free rotate*/
|
||||
s16 DownMax; /*0xd0 = -1 Camera cannot move vertically*/
|
||||
s16 RightMax; /*0xd2 how far camera can rotate from center. 0 = free
|
||||
rotate*/
|
||||
u32 unkd4; /*0xd4*/
|
||||
u32 unk98; /*0xd8*/
|
||||
u16 unkdc; /*0xdc*/
|
||||
u16 Speed; /*0xde how fast the camera turns*/
|
||||
u32 unka0; /*0xe0*/
|
||||
u32 unka4; /*0xe4*/
|
||||
s16 VerticalDetectionAngle; /*0xe8 detection arc up/down from current
|
||||
position. default = -1*/
|
||||
s16 HorizontalDetectionAngle; /*0xeA detection arc left/right from current
|
||||
position. default = -100*/
|
||||
struct ObjectRecord;
|
||||
s32 unk80;
|
||||
Mtxf unk84;
|
||||
f32 unkC4;
|
||||
f32 unkC8;
|
||||
f32 unkCC;
|
||||
|
||||
f32 unkD0;
|
||||
s32 unkD4;
|
||||
f32 unkD8;
|
||||
f32 unkDC;
|
||||
|
||||
s32 timer; // 0xe0
|
||||
s32 unkE4;
|
||||
f32 unkE8;
|
||||
s32 unkEC;
|
||||
|
||||
s32 unkF0;
|
||||
s32 unkF4;
|
||||
s32 unkF8;
|
||||
} CCTVRecord;
|
||||
|
||||
#define New_CCTVRecord(pad) \
|
||||
@@ -3045,7 +3028,7 @@ typedef union
|
||||
typedef struct AmmoCrateRecord
|
||||
{
|
||||
inherits ObjectRecord;
|
||||
u32 type; //Use AMMOTYPE /*0x80*/
|
||||
AMMOTYPE ammoType; /*0x80*/
|
||||
} AmmoCrateRecord;
|
||||
|
||||
#define New_AmmoCrateRecord(pad) \
|
||||
@@ -3110,10 +3093,10 @@ typedef union
|
||||
//[This struct uses original names]
|
||||
typedef struct MonitorRecord
|
||||
{
|
||||
s32 image; // 0x80 4 image pointer for this monitor
|
||||
u32 *cmdlist; // 0x80 4 image pointer for this monitor
|
||||
u16 offset; // 0x84 2 [runtime] cur. #commands from start of routine
|
||||
u16 pause60; // 0x86 2 [runtime] loop counter
|
||||
void *unk88; //0x88 4 [runtime] monitor image# or p->image header
|
||||
s16 pause60; // 0x86 2 [runtime] loop counter
|
||||
struct sImageTableEntry *tconfig; //0x88 4 [runtime] monitor image# or p->image header
|
||||
f32 rot; // 0x8C 4 [runtime][float] rotation
|
||||
f32 xscale; // 0x90 4 [runtime] [float] cur. horizontal zoom
|
||||
f32 xscalefrac; // 0x94 4 [runtime] [float] cur. h.zoom time
|
||||
@@ -3156,9 +3139,9 @@ typedef union
|
||||
{
|
||||
inherits ObjectRecord;
|
||||
MonitorRecord Monitor;
|
||||
u32 nextstep; // 0xF4 4 backward monitor link
|
||||
u32 forwards; // 0xF8 4 forward monitor link
|
||||
u32 turnspeed; // 0xFC 4 animation#
|
||||
s32 OwnerOffset;
|
||||
s32 OwnerPart;
|
||||
s32 ImageNum;
|
||||
} MonitorObjRecord;
|
||||
#define New_MonitorObjRecord(pad) \
|
||||
{ \
|
||||
@@ -3166,16 +3149,13 @@ typedef union
|
||||
}
|
||||
|
||||
// PROPDEF_MULTI_MONITOR (11)
|
||||
typedef struct multimonitorobj
|
||||
typedef struct MultiMonitorObjRecord
|
||||
{
|
||||
inherits ObjectRecord;
|
||||
MonitorRecord Monitor[4];
|
||||
/* Some stuff here then 0x101414 at 0x250*/
|
||||
u32 nextstep; // 0xF4 4 backward monitor link
|
||||
u32 forwards; // 0xF8 4 forward monitor link
|
||||
u32 turnspeed; // 0xFC 4 animation#
|
||||
} multimonitorobj;
|
||||
#define New_multimonitorobj(pad) \
|
||||
u8 ImageNums[4];
|
||||
} MultiMonitorObjRecord;
|
||||
#define New_MultiMonitorObjRecord(pad) \
|
||||
{ \
|
||||
New_PropDefHeaderRecord(11), 0, pad + 0 \
|
||||
}
|
||||
@@ -3187,7 +3167,6 @@ typedef union
|
||||
}
|
||||
|
||||
// PROPDEF_AUTOGUN (13)
|
||||
|
||||
#define New_AutogunRecord(pad) \
|
||||
{ \
|
||||
New_PropDefHeaderRecord(13), 0, pad + 0 \
|
||||
@@ -3208,6 +3187,10 @@ typedef union
|
||||
//Types 15,16 missing?
|
||||
|
||||
// PROPDEF_HAT (17)
|
||||
typedef struct HatRecord
|
||||
{
|
||||
inherits ObjectRecord;
|
||||
} HatRecord;
|
||||
|
||||
// PROPDEF_GUARD_ATTRIBUTE (18)
|
||||
typedef struct GuardAttributeRecord
|
||||
@@ -3430,6 +3413,9 @@ typedef union
|
||||
typedef struct LockDoorRecord
|
||||
{
|
||||
inherits PropDefHeaderRecord;
|
||||
struct DoorRecord* door;
|
||||
struct ObjectRecord* lock;
|
||||
struct LockDoorRecord* next;
|
||||
//u16 TagID;
|
||||
} LockDoorRecord;
|
||||
#define New_RenameObjectRecord(TagID) \
|
||||
@@ -3446,16 +3432,16 @@ typedef union
|
||||
AIRecord * ailist; /*0x80*/
|
||||
u16 aioffset; /*0x84*/
|
||||
s16 aireturnlist; /*0x86*/
|
||||
u32 speed; /*0x88 ?*/
|
||||
u32 wheelxrot; /*0x8c ? changes when onscreen*/
|
||||
u32 wheelyrot; /*0x90 ?*/
|
||||
f32 speed; /*0x88 ?*/
|
||||
f32 wheelxrot; /*0x8c ? changes when onscreen*/
|
||||
f32 wheelyrot; /*0x90 ?*/
|
||||
f32 speedaim; /*0x94 CONFIRNMED*/
|
||||
f32 speedtime60; /*0x98 CONFIRNMED*/
|
||||
u32 turnrot60; /*0x9c*/
|
||||
u32 roty; /*0xa0*/
|
||||
f32 turnrot60; /*0x9c*/
|
||||
f32 roty; /*0xa0*/
|
||||
PathRecord *path; /*0xa4*/
|
||||
s32 nextstep; /*0xa8*/
|
||||
void * Sound; /*0xac*/
|
||||
struct ALSoundState *Sound; /*0xac*/
|
||||
} VehichleRecord;
|
||||
// VehichleRecord *pVehichleData;//not Global, local to Object or function
|
||||
// VehichleRecord *pAircraftData;//not Global, local to Object or function
|
||||
@@ -3469,21 +3455,21 @@ typedef union
|
||||
// [This struct uses original names]
|
||||
typedef struct AircraftRecord
|
||||
{
|
||||
inherits ObjectRecord;
|
||||
AIRecord * ailist; /*0x80*/
|
||||
u16 aioffset; /*0x84*/
|
||||
s16 aireturnlist; /*0x86*/
|
||||
u32 rotoryrot; /*0x88 changes when onscreen even after destruction*/
|
||||
f32 rotaryspeed; /*0x8c*/
|
||||
f32 rotaryspeedaim; /*0x90 CONFIRMED*/
|
||||
f32 rotaryspeedtime; /*0x94 CONFIRMED*/
|
||||
f32 speed; /*0x98*/
|
||||
f32 speedaim; /*0x9c*/
|
||||
f32 speedtime60; /*0xa0*/
|
||||
u32 yrot; /*0xa4*/
|
||||
u32 nextstep; /*0xa8*/
|
||||
PathRecord *path; /*0xac*/
|
||||
void * Sound; /*0xb0 CONFIRMED*/
|
||||
inherits ObjectRecord;
|
||||
AIRecord * ailist; /*0x80*/
|
||||
u16 aioffset; /*0x84*/
|
||||
s16 aireturnlist; /*0x86*/
|
||||
f32 rotoryrot; /*0x88 changes when onscreen even after destruction*/
|
||||
f32 rotaryspeed; /*0x8c*/
|
||||
f32 rotaryspeedaim; /*0x90 CONFIRMED*/
|
||||
f32 rotaryspeedtime; /*0x94 CONFIRMED*/
|
||||
f32 speed; /*0x98*/
|
||||
f32 speedaim; /*0x9c*/
|
||||
f32 speedtime60; /*0xa0*/
|
||||
f32 yrot; /*0xa4*/
|
||||
f32 nextstep; /*0xa8*/
|
||||
PathRecord *path; /*0xac*/
|
||||
struct ALSoundState *Sound; /*0xb0*/
|
||||
} AircraftRecord;
|
||||
#define New_AircraftRecord(pad) \
|
||||
{ \
|
||||
@@ -3509,8 +3495,11 @@ typedef union
|
||||
//PROPDEF_SAFE_ITEM (42)
|
||||
typedef struct SafeObjectRecord
|
||||
{
|
||||
inherits ObjectRecord;
|
||||
coord3d normal;
|
||||
u32 unk00;
|
||||
struct ObjectRecord *item;
|
||||
struct SafeRecord *safe;
|
||||
struct DoorRecord *door;
|
||||
struct SafeObjectRecord *next;
|
||||
} SafeObjectRecord;
|
||||
|
||||
// PROPDEF_TANK (45)
|
||||
@@ -3518,15 +3507,15 @@ typedef union
|
||||
typedef struct TankRecord
|
||||
{
|
||||
inherits ObjectRecord;
|
||||
s32 unk80;
|
||||
struct rect4f *rect; /*0x84*/
|
||||
s32 unk88;
|
||||
s32 unk8C;
|
||||
s32 unk90;
|
||||
s32 unk94;
|
||||
s32 unk98;
|
||||
s32 unk9C;
|
||||
s32 unkA0;
|
||||
struct collision_data *unk80;
|
||||
struct rect4f rect; /*0x84*/
|
||||
//s32 unk88;
|
||||
//s32 unk8C;
|
||||
//s32 unk90;
|
||||
//s32 unk94;
|
||||
//s32 unk98;
|
||||
//s32 unk9C;
|
||||
//s32 unkA0;
|
||||
s32 unkA4;
|
||||
s32 unkA8;
|
||||
s32 unkAC;
|
||||
@@ -3540,7 +3529,7 @@ typedef union
|
||||
f32 turret_orientation_angle;
|
||||
f32 unkD0;
|
||||
f32 stan_y;
|
||||
f32 unkD8;
|
||||
s32 unkD8; // ammo related
|
||||
f32 tank_orientation_angle;
|
||||
} TankRecord;
|
||||
#define New_TankRecord(pad) \
|
||||
@@ -3552,12 +3541,10 @@ typedef union
|
||||
typedef struct CutsceneRecord
|
||||
{
|
||||
inherits PropDefHeaderRecord;
|
||||
s32 x; //4
|
||||
s32 y; //8
|
||||
s32 z; //c
|
||||
s32 theta; //10
|
||||
s32 verta; //14
|
||||
u32 pad; //18
|
||||
struct coord3d pos;
|
||||
f32 theta; //10
|
||||
f32 verta; //14
|
||||
s32 pad; //18
|
||||
} CutsceneRecord;
|
||||
#define New_CutsceneRecord(pad) \
|
||||
{ \
|
||||
@@ -3570,7 +3557,7 @@ typedef union
|
||||
inherits ObjectRecord;
|
||||
s32 TintDist;
|
||||
s32 CullDist;
|
||||
s32 unk88;
|
||||
s32 calculatedopacity;
|
||||
s32 unk8c;
|
||||
f32 unk90;
|
||||
} TintedGlassRecord;
|
||||
@@ -3893,9 +3880,111 @@ typedef struct object_weapon {
|
||||
} object_weapon;
|
||||
|
||||
|
||||
struct MoveData {
|
||||
// 0x0, bondviewProcessInput sp120
|
||||
s32 analogWalk; // sp120 ?
|
||||
s32 analogStrafe; // sp124 ?
|
||||
s32 analogPitch; // sp128 ?
|
||||
s32 analogTurn; // sp12C ?
|
||||
|
||||
// 0x10
|
||||
s32 controlStickYRaw;
|
||||
s32 controlStickXRaw;
|
||||
s32 controlStickYSafe;
|
||||
s32 controlStickXSafe;
|
||||
|
||||
// 0x20
|
||||
s32 disableLookAhead;
|
||||
s32 invertPitch;
|
||||
s32 canAutoAim;
|
||||
s32 detonating;
|
||||
|
||||
// 0x30
|
||||
s32 rLeanRight;
|
||||
s32 rLeanLeft;
|
||||
s32 crouchUp;
|
||||
s32 crouchDown;
|
||||
|
||||
// 0x40, bondviewProcessInput sp160
|
||||
f32 zoomInFovPersec;
|
||||
// sp164
|
||||
f32 zoomOutFovPersec;
|
||||
s32 zooming;
|
||||
s32 aiming;
|
||||
|
||||
// 0x50
|
||||
s32 weaponForwardOffset;
|
||||
s32 weaponBackOffset;
|
||||
f32 aimTurnRightSpeed;
|
||||
f32 aimTurnLeftSpeed;
|
||||
|
||||
// 0x60
|
||||
f32 speedVertaUp;
|
||||
f32 speedVertaDown;
|
||||
f32 tankTurnRightSpeed;
|
||||
f32 tankTurnLeftSpeed;
|
||||
|
||||
// 0x70
|
||||
s32 digitalStepRight;
|
||||
s32 digitalStepLeft;
|
||||
s32 digitalStepBack;
|
||||
s32 digitalStepForward;
|
||||
|
||||
// 0x80
|
||||
s32 canNaturalPitch;
|
||||
s32 canNaturalTurn;
|
||||
s32 canTurnTank;
|
||||
s32 canLookAhead;
|
||||
|
||||
// 0x90
|
||||
s32 btap;
|
||||
s32 triggerOn;
|
||||
s32 canManualAim;
|
||||
// sp1BC
|
||||
s32 canSwivelGun;
|
||||
};
|
||||
|
||||
|
||||
struct unkown_gun_struct
|
||||
{
|
||||
union
|
||||
{
|
||||
u32 arr[2];
|
||||
struct
|
||||
{
|
||||
s32 unk00;
|
||||
s32 unk04;
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
/* matches Perfect Dark */
|
||||
struct criteria_roomentered {
|
||||
u32 unk00;
|
||||
u32 pad;
|
||||
u32 status;
|
||||
struct criteria_roomentered *next;
|
||||
};
|
||||
|
||||
/* completely made up */
|
||||
struct criteria_deposit {
|
||||
s32 unk00;
|
||||
s32 weaponnum;
|
||||
s32 padid;
|
||||
s32 flag;
|
||||
struct criteria_deposit *next;
|
||||
};
|
||||
|
||||
struct PortalMetric {
|
||||
struct coord3d normal;
|
||||
f32 min;
|
||||
f32 max;
|
||||
};
|
||||
|
||||
struct FolderSelect {
|
||||
s32 unk00;
|
||||
s32 unk04;
|
||||
s32 unk08;
|
||||
};
|
||||
|
||||
#endif
|
||||
+38
-680
@@ -115,12 +115,12 @@ struct memallocstring memallocstringtable[] = {
|
||||
{ LEVELID_BASEMENT, "-ml0 -me0 -mgfx130 -mvtx100 -mt400 -ma100"},
|
||||
{ LEVELID_STACK, "-ml0 -me0 -mgfx130 -mvtx100 -mt400 -ma100"},
|
||||
{ LEVELID_CAVES, "-ml0 -me0 -mgfx130 -mvtx100 -mt400 -ma300"},
|
||||
{ 0x1AB, "-ml0 -me0 -mgfx130 -mvtx100 -mt550 -ma170"},
|
||||
{ 0x1A8, "-ml0 -me0 -mgfx80 -mvtx100 -mt550 -ma250"},
|
||||
{ 0x1B7, "-ml0 -me0 -mgfx130 -mvtx100 -mt440 -ma220"},
|
||||
{ 0x1B2, "-ml0 -me0 -mgfx90 -mvtx100 -mt550 -ma230"},
|
||||
{ 0x1B0, "-ml0 -me0 -mgfx110 -mvtx100 -mt350 -ma400"},
|
||||
{ 0x0, "-ml0 -me0 -mgfx100 -mvtx50 -mt700 -ma400"},
|
||||
{ LEVELID_BUNKER2_MP , "-ml0 -me0 -mgfx130 -mvtx100 -mt550 -ma170"},
|
||||
{ LEVELID_ARCHIVES_MP , "-ml0 -me0 -mgfx80 -mvtx100 -mt550 -ma250"},
|
||||
{ LEVELID_CAVERNS_MP , "-ml0 -me0 -mgfx130 -mvtx100 -mt440 -ma220"},
|
||||
{ LEVELID_FACILITY_MP , "-ml0 -me0 -mgfx90 -mvtx100 -mt550 -ma230"},
|
||||
{ LEVELID_EGYPT_MP , "-ml0 -me0 -mgfx110 -mvtx100 -mt350 -ma400"},
|
||||
{ 0x0, "-ml0 -me0 -mgfx100 -mvtx50 -mt700 -ma400"},
|
||||
{ 0x0, },
|
||||
{ 0x0, },
|
||||
{ 0x0, }
|
||||
@@ -154,16 +154,16 @@ void bossInitMainthreadData(void)
|
||||
romCreateMesgQueue();
|
||||
tlbmanageEstablishManagementTable();
|
||||
image_entries_load();
|
||||
mempInitDebugNoticeList();
|
||||
mempInit();
|
||||
memaInit();
|
||||
bgInitDebugNoticeList();
|
||||
viInitDebugNoticeList();
|
||||
bgInit();
|
||||
viInit();
|
||||
viInitVideoSettings();
|
||||
indycommInit();
|
||||
g_DebugAndUpdateStageFlag = rmonGetToken();
|
||||
obInitDebugNoticeList();
|
||||
rspInitDebugNoticeList();
|
||||
dynInitDebugNoticeList();
|
||||
obInit();
|
||||
rspInit();
|
||||
dynInit();
|
||||
joyInit();
|
||||
osCreateMesgQueue(&bossmq, &bossmsg, 1);
|
||||
|
||||
@@ -186,8 +186,8 @@ void bossInitMainthreadData(void)
|
||||
g_DebugAndUpdateStageFlag = 1;
|
||||
}
|
||||
|
||||
stanInitDebugNoticeList();
|
||||
gameInitDebugNoticeList();
|
||||
stanInit();
|
||||
gameInit();
|
||||
|
||||
if (g_DebugAndUpdateStageFlag != 0)
|
||||
{
|
||||
@@ -201,10 +201,10 @@ void bossInitMainthreadData(void)
|
||||
|
||||
temp_s0 = (osVirtualToPhysical(&room_model_buffer) | 0x80000000);
|
||||
mempCheckMemflagTokens(temp_s0, ((u32)tlbmanageGetTlbAllocatedBlock() - (u32)temp_s0));
|
||||
mempResetBank(6);
|
||||
init_LnameX();
|
||||
lvInitDebugNoticeList();
|
||||
bossInitDebugNoticeList();
|
||||
mempResetBank(MEMPOOL_PERMANENT);
|
||||
langInit();
|
||||
lvInit();
|
||||
bossInit();
|
||||
textrelatedInit_REMOVED();
|
||||
debmenu7000ADA8();
|
||||
default_player_perspective_and_height();
|
||||
@@ -254,7 +254,6 @@ void bossEntry(void) {
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(LEFTOVERDEBUG)
|
||||
/**
|
||||
* Main program loop.
|
||||
*
|
||||
@@ -399,14 +398,14 @@ void bossMainloop(void)
|
||||
tokenSetString(memallocstringtable[stringIndex].string);
|
||||
}
|
||||
|
||||
mempResetBank(4);
|
||||
obBlankResourcesLoadedInBank(4);
|
||||
mempResetBank(MEMPOOL_STAGE);
|
||||
obBlankResourcesLoadedInBank(MEMPOOL_STAGE);
|
||||
if (tokenFind(1, "-ma"))
|
||||
{
|
||||
g_CurentMaMallocValue = (s32) (strtol(tokenFind(1, "-ma"), NULL, 0) * 1024);
|
||||
}
|
||||
|
||||
memaSetBuffer(mempAllocBytesInBank(g_CurentMaMallocValue, 4), g_CurentMaMallocValue);
|
||||
memaReset(mempAllocBytesInBank(g_CurentMaMallocValue, MEMPOOL_STAGE), g_CurentMaMallocValue);
|
||||
reset_play_data_ptrs();
|
||||
|
||||
localSelectedNumPlayers = 0;
|
||||
@@ -428,18 +427,16 @@ void bossMainloop(void)
|
||||
sub_GAME_7F0C0B4C();
|
||||
speedGraphVideoRelated_2();
|
||||
|
||||
// The following 4 empty blocks are to make s2/s3 match.
|
||||
|
||||
if(1){} // regalloc
|
||||
do{}while(0); // regalloc
|
||||
if(1); // regalloc
|
||||
if(1);
|
||||
|
||||
while (osRecvMesg(&gfxFrameMsgQ, (OSMesg *)&localGfxFrameMsg, OS_MESG_NOBLOCK) == 0)
|
||||
{
|
||||
// empty
|
||||
}
|
||||
|
||||
if(1){} // regalloc
|
||||
do{}while(0); // regalloc
|
||||
if(1); // regalloc
|
||||
if(1);
|
||||
|
||||
while (g_MainStageNum < 0 || pendingGfx != 0)
|
||||
{
|
||||
@@ -525,7 +522,7 @@ void bossMainloop(void)
|
||||
localPlayer = g_CurrentPlayer;
|
||||
viSetViewPosition(localPlayer->viewleft, localPlayer->viewtop);
|
||||
|
||||
lvlUpdateMpPlayerData();
|
||||
lvlViewMoveTick();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -610,14 +607,15 @@ void bossMainloop(void)
|
||||
rspGfxTaskStart(firstGdl, gdl, 0, (s32*)rspReplyMsg);
|
||||
|
||||
pendingGfx++;
|
||||
memaIterateAndMerge();
|
||||
memaSingleDefragPass();
|
||||
#ifdef VERSION_EU
|
||||
eu_sub_7f0c00a4();
|
||||
#endif
|
||||
toggleFlag ^= 1;
|
||||
|
||||
#if defined(VERSION_EU)
|
||||
speedGraphDisplay(1);
|
||||
speedGraphDisplay(0x10000);
|
||||
if(1);
|
||||
#else
|
||||
profileSetMarker(0x10000);
|
||||
#endif
|
||||
@@ -630,16 +628,20 @@ void bossMainloop(void)
|
||||
pendingGfx--;
|
||||
break;
|
||||
|
||||
case 5:
|
||||
case OS_SC_PRE_NMI_MSG:
|
||||
pendingGfx = 4U;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
lvlUnloadStageTextData();
|
||||
stop_demo_playback();
|
||||
mempNullNextEntryInBank(4);
|
||||
obBlankResourcesLoadedInBank(4);
|
||||
mempNullNextEntryInBank(MEMPOOL_STAGE);
|
||||
obBlankResourcesLoadedInBank(MEMPOOL_STAGE);
|
||||
|
||||
#if defined(VERSION_EU)
|
||||
if(1);
|
||||
#endif
|
||||
|
||||
g_StageNum = g_MainStageNum;
|
||||
g_MainStageNum = LEVELID_NONE;
|
||||
@@ -653,650 +655,6 @@ void bossMainloop(void)
|
||||
sub_GAME_7F0D1A7C();
|
||||
}
|
||||
|
||||
#endif
|
||||
#if !defined(LEFTOVERDEBUG)
|
||||
|
||||
|
||||
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"*/
|
||||
|
||||
|
||||
.data
|
||||
glabel taskgrab_ramdump_num
|
||||
.word 0x1
|
||||
|
||||
.text
|
||||
glabel bossMainloop
|
||||
/* 006080 70005480 27BDFE20 */ addiu $sp, $sp, -0x1e0
|
||||
/* 006084 70005484 AFBF003C */ sw $ra, 0x3c($sp)
|
||||
/* 006088 70005488 AFBE0038 */ sw $fp, 0x38($sp)
|
||||
/* 00608C 7000548C AFB70034 */ sw $s7, 0x34($sp)
|
||||
/* 006090 70005490 AFB60030 */ sw $s6, 0x30($sp)
|
||||
/* 006094 70005494 AFB5002C */ sw $s5, 0x2c($sp)
|
||||
/* 006098 70005498 AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* 00609C 7000549C AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* 0060A0 700054A0 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 0060A4 700054A4 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 0060A8 700054A8 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 0060AC 700054AC 0FC343DB */ jal reset_mem_bank_5
|
||||
/* 0060B0 700054B0 AFA001DC */ sw $zero, 0x1dc($sp)
|
||||
/* 0060B4 700054B4 3C058002 */ lui $a1, %hi(aLevel__0) # $a1, 0x8002
|
||||
/* 0060B8 700054B8 24A547D4 */ addiu $a1, %lo(aLevel__0) # addiu $a1, $a1, 0x47d4
|
||||
/* 0060BC 700054BC 0C0026C0 */ jal tokenFind
|
||||
/* 0060C0 700054C0 24040001 */ li $a0, 1
|
||||
/* 0060C4 700054C4 1040000D */ beqz $v0, .L700054FC
|
||||
/* 0060C8 700054C8 24040001 */ li $a0, 1
|
||||
/* 0060CC 700054CC 3C058002 */ lui $a1, %hi(aLevel__1) # $a1, 0x8002
|
||||
/* 0060D0 700054D0 0C0026C0 */ jal tokenFind
|
||||
/* 0060D4 700054D4 24A547DC */ addiu $a1, %lo(aLevel__1) # addiu $a1, $a1, 0x47dc
|
||||
/* 0060D8 700054D8 904F0000 */ lbu $t7, ($v0)
|
||||
/* 0060DC 700054DC 904E0001 */ lbu $t6, 1($v0)
|
||||
/* 0060E0 700054E0 3C018002 */ lui $at, %hi(g_StageNum) # $at, 0x8002
|
||||
/* 0060E4 700054E4 000FC080 */ sll $t8, $t7, 2
|
||||
/* 0060E8 700054E8 030FC021 */ addu $t8, $t8, $t7
|
||||
/* 0060EC 700054EC 0018C040 */ sll $t8, $t8, 1
|
||||
/* 0060F0 700054F0 01D8C821 */ addu $t9, $t6, $t8
|
||||
/* 0060F4 700054F4 2728FDF0 */ addiu $t0, $t9, -0x210
|
||||
/* 0060F8 700054F8 AC282038 */ sw $t0, %lo(g_StageNum)($at)
|
||||
.L700054FC:
|
||||
/* 0060FC 700054FC 3C098002 */ lui $t1, %hi(g_StageNum) # $t1, 0x8002
|
||||
/* 006100 70005500 8D292038 */ lw $t1, %lo(g_StageNum)($t1)
|
||||
/* 006104 70005504 2401005A */ li $at, 90
|
||||
/* 006108 70005508 1121001D */ beq $t1, $at, .L70005580
|
||||
/* 00610C 7000550C 00000000 */ nop
|
||||
/* 006110 70005510 0FC0777C */ jal fileValidateSaves
|
||||
/* 006114 70005514 00000000 */ nop
|
||||
/* 006118 70005518 0FC074F9 */ jal set_selected_folder_num
|
||||
/* 00611C 7000551C 00002025 */ move $a0, $zero
|
||||
/* 006120 70005520 0FC074FC */ jal set_selected_difficulty
|
||||
/* 006124 70005524 00002025 */ move $a0, $zero
|
||||
/* 006128 70005528 3C048002 */ lui $a0, %hi(g_StageNum) # $a0, 0x8002
|
||||
/* 00612C 7000552C 0FC07510 */ jal set_solo_and_ptr_briefing
|
||||
/* 006130 70005530 8C842038 */ lw $a0, %lo(g_StageNum)($a0)
|
||||
/* 006134 70005534 3C058002 */ lui $a1, %hi(aHard) # $a1, 0x8002
|
||||
/* 006138 70005538 24A547E4 */ addiu $a1, %lo(aHard) # addiu $a1, $a1, 0x47e4
|
||||
/* 00613C 7000553C 0C0026C0 */ jal tokenFind
|
||||
/* 006140 70005540 24040001 */ li $a0, 1
|
||||
/* 006144 70005544 1040000E */ beqz $v0, .L70005580
|
||||
/* 006148 70005548 24040001 */ li $a0, 1
|
||||
/* 00614C 7000554C 3C058002 */ lui $a1, %hi(aHard_1) # $a1, 0x8002
|
||||
/* 006150 70005550 0C0026C0 */ jal tokenFind
|
||||
/* 006154 70005554 24A547EC */ addiu $a1, %lo(aHard_1) # addiu $a1, $a1, 0x47ec
|
||||
/* 006158 70005558 90440000 */ lbu $a0, ($v0)
|
||||
/* 00615C 7000555C 0FC074FC */ jal set_selected_difficulty
|
||||
/* 006160 70005560 2484FFD0 */ addiu $a0, $a0, -0x30
|
||||
/* 006164 70005564 3C058002 */ lui $a1, %hi(aHard_2) # $a1, 0x8002
|
||||
/* 006168 70005568 24A547F4 */ addiu $a1, %lo(aHard_2) # addiu $a1, $a1, 0x47f4
|
||||
/* 00616C 7000556C 0C0026C0 */ jal tokenFind
|
||||
/* 006170 70005570 24040001 */ li $a0, 1
|
||||
/* 006174 70005574 90440000 */ lbu $a0, ($v0)
|
||||
/* 006178 70005578 0FC2FC24 */ jal lvlSetSelectedDifficulty
|
||||
/* 00617C 7000557C 2484FFD0 */ addiu $a0, $a0, -0x30
|
||||
.L70005580:
|
||||
/* 006180 70005580 0C003190 */ jal osGetCount
|
||||
/* 006184 70005584 00000000 */ nop
|
||||
/* 006188 70005588 0C00263E */ jal randomSetSeed
|
||||
/* 00618C 7000558C 00402025 */ move $a0, $v0
|
||||
/* 006190 70005590 3C168002 */ lui $s6, %hi(aU64_taskgrab_D_core) # $s6, 0x8002
|
||||
/* 006194 70005594 3C158007 */ lui $s5, %hi(g_CurrentPlayer) # $s5, 0x8007
|
||||
/* 006198 70005598 26B58BC0 */ addiu $s5, %lo(g_CurrentPlayer) # addiu $s5, $s5, -0x7440
|
||||
/* 00619C 7000559C 26D64804 */ addiu $s6, %lo(aU64_taskgrab_D_core) # addiu $s6, $s6, 0x4804
|
||||
/* 0061A0 700055A0 27B70058 */ addiu $s7, $sp, 0x58
|
||||
/* 0061A4 700055A4 27B4005C */ addiu $s4, $sp, 0x5c
|
||||
/* 0061A8 700055A8 8FB301A8 */ lw $s3, 0x1a8($sp)
|
||||
.L700055AC:
|
||||
/* 0061AC 700055AC 3C0B8002 */ lui $t3, %hi(g_bossGfxDoneMsg) # $t3, 0x8002
|
||||
/* 0061B0 700055B0 AFA001D4 */ sw $zero, 0x1d4($sp)
|
||||
/* 0061B4 700055B4 256B2194 */ addiu $t3, %lo(g_bossGfxDoneMsg) # addiu $t3, $t3, 0x2194
|
||||
/* 0061B8 700055B8 8D610000 */ lw $at, ($t3)
|
||||
/* 0061BC 700055BC 8D6F0004 */ lw $t7, 4($t3)
|
||||
/* 0061C0 700055C0 27AA01B4 */ addiu $t2, $sp, 0x1b4
|
||||
/* 0061C4 700055C4 AD410000 */ sw $at, ($t2)
|
||||
/* 0061C8 700055C8 AD4F0004 */ sw $t7, 4($t2)
|
||||
/* 0061CC 700055CC 8D6F000C */ lw $t7, 0xc($t3)
|
||||
/* 0061D0 700055D0 8D610008 */ lw $at, 8($t3)
|
||||
/* 0061D4 700055D4 0000F025 */ move $fp, $zero
|
||||
/* 0061D8 700055D8 AD4F000C */ sw $t7, 0xc($t2)
|
||||
/* 0061DC 700055DC AD410008 */ sw $at, 8($t2)
|
||||
/* 0061E0 700055E0 8D610010 */ lw $at, 0x10($t3)
|
||||
/* 0061E4 700055E4 8D6F0014 */ lw $t7, 0x14($t3)
|
||||
/* 0061E8 700055E8 00008825 */ move $s1, $zero
|
||||
/* 0061EC 700055EC AD410010 */ sw $at, 0x10($t2)
|
||||
/* 0061F0 700055F0 AD4F0014 */ sw $t7, 0x14($t2)
|
||||
/* 0061F4 700055F4 8D6F001C */ lw $t7, 0x1c($t3)
|
||||
/* 0061F8 700055F8 8D610018 */ lw $at, 0x18($t3)
|
||||
/* 0061FC 700055FC AD4F001C */ sw $t7, 0x1c($t2)
|
||||
/* 006200 70005600 AD410018 */ sw $at, 0x18($t2)
|
||||
/* 006204 70005604 0FC2FC21 */ jal lvlGetSelectedDifficulty
|
||||
/* 006208 70005608 AFA001AC */ sw $zero, 0x1ac($sp)
|
||||
/* 00620C 7000560C 3C048002 */ lui $a0, %hi(g_StageNum) # $a0, 0x8002
|
||||
/* 006210 70005610 8C842038 */ lw $a0, %lo(g_StageNum)($a0)
|
||||
/* 006214 70005614 0FC2FEB0 */ jal test_if_recording_demos_this_stage_load
|
||||
/* 006218 70005618 00402825 */ move $a1, $v0
|
||||
/* 00621C 7000561C 3C0E8002 */ lui $t6, %hi(g_DebugAndUpdateStageFlag) # $t6, 0x8002
|
||||
/* 006220 70005620 8DCE2034 */ lw $t6, %lo(g_DebugAndUpdateStageFlag)($t6)
|
||||
/* 006224 70005624 3C188002 */ lui $t8, %hi(g_StageNum) # $t8, 0x8002
|
||||
/* 006228 70005628 11C00038 */ beqz $t6, .L7000570C
|
||||
/* 00622C 7000562C 00000000 */ nop
|
||||
/* 006230 70005630 8F182038 */ lw $t8, %lo(g_StageNum)($t8)
|
||||
/* 006234 70005634 2401005A */ li $at, 90
|
||||
/* 006238 70005638 2410FFFF */ li $s0, -1
|
||||
/* 00623C 7000563C 1301001D */ beq $t8, $at, .L700056B4
|
||||
/* 006240 70005640 00000000 */ nop
|
||||
/* 006244 70005644 0FC04060 */ jal get_selected_num_players
|
||||
/* 006248 70005648 00000000 */ nop
|
||||
/* 00624C 7000564C 28410002 */ slti $at, $v0, 2
|
||||
/* 006250 70005650 14200018 */ bnez $at, .L700056B4
|
||||
/* 006254 70005654 3C058002 */ lui $a1, %hi(memallocstringtable) # $a1, 0x8002
|
||||
/* 006258 70005658 24A5204C */ addiu $a1, %lo(memallocstringtable) # addiu $a1, $a1, 0x204c
|
||||
/* 00625C 7000565C 8CB90000 */ lw $t9, ($a1)
|
||||
/* 006260 70005660 00008025 */ move $s0, $zero
|
||||
/* 006264 70005664 3C048002 */ lui $a0, %hi(g_StageNum) # $a0, 0x8002
|
||||
/* 006268 70005668 1320000C */ beqz $t9, .L7000569C
|
||||
/* 00626C 7000566C 3C088002 */ lui $t0, %hi(memallocstringtable) # $t0, 0x8002
|
||||
/* 006270 70005670 8C842038 */ lw $a0, %lo(g_StageNum)($a0)
|
||||
/* 006274 70005674 2502204C */ addiu $v0, $t0, %lo(memallocstringtable) # addiu $v0, $t0, 0x204C
|
||||
/* 006278 70005678 8C430000 */ lw $v1, ($v0)
|
||||
/* 00627C 7000567C 24840190 */ addiu $a0, $a0, 0x190
|
||||
.L70005680:
|
||||
/* 006280 70005680 50830007 */ beql $a0, $v1, .L700056A0
|
||||
/* 006284 70005684 001048C0 */ sll $t1, $s0, 3
|
||||
/* 006288 70005688 8C430008 */ lw $v1, 8($v0)
|
||||
/* 00628C 7000568C 26100001 */ addiu $s0, $s0, 1
|
||||
/* 006290 70005690 24420008 */ addiu $v0, $v0, 8
|
||||
/* 006294 70005694 1460FFFA */ bnez $v1, .L70005680
|
||||
/* 006298 70005698 00000000 */ nop
|
||||
.L7000569C:
|
||||
/* 00629C 7000569C 001048C0 */ sll $t1, $s0, 3
|
||||
.L700056A0:
|
||||
/* 0062A0 700056A0 00A96821 */ addu $t5, $a1, $t1
|
||||
/* 0062A4 700056A4 8DAC0000 */ lw $t4, ($t5)
|
||||
/* 0062A8 700056A8 15800002 */ bnez $t4, .L700056B4
|
||||
/* 0062AC 700056AC 00000000 */ nop
|
||||
/* 0062B0 700056B0 2410FFFF */ li $s0, -1
|
||||
.L700056B4:
|
||||
/* 0062B4 700056B4 3C058002 */ lui $a1, %hi(memallocstringtable) # $a1, 0x8002
|
||||
/* 0062B8 700056B8 06010010 */ bgez $s0, .L700056FC
|
||||
/* 0062BC 700056BC 24A5204C */ addiu $a1, %lo(memallocstringtable) # addiu $a1, $a1, 0x204c
|
||||
/* 0062C0 700056C0 8CAA0000 */ lw $t2, ($a1)
|
||||
/* 0062C4 700056C4 00008025 */ move $s0, $zero
|
||||
/* 0062C8 700056C8 3C048002 */ lui $a0, %hi(g_StageNum) # $a0, 0x8002
|
||||
/* 0062CC 700056CC 1140000B */ beqz $t2, .L700056FC
|
||||
/* 0062D0 700056D0 3C0B8002 */ lui $t3, 0x8002
|
||||
/* 0062D4 700056D4 2562204C */ addiu $v0, $t3, 0x204c
|
||||
/* 0062D8 700056D8 8C430000 */ lw $v1, ($v0)
|
||||
/* 0062DC 700056DC 8C842038 */ lw $a0, %lo(g_StageNum)($a0)
|
||||
.L700056E0:
|
||||
/* 0062E0 700056E0 50830007 */ beql $a0, $v1, .L70005700
|
||||
/* 0062E4 700056E4 001078C0 */ sll $t7, $s0, 3
|
||||
/* 0062E8 700056E8 8C430008 */ lw $v1, 8($v0)
|
||||
/* 0062EC 700056EC 26100001 */ addiu $s0, $s0, 1
|
||||
/* 0062F0 700056F0 24420008 */ addiu $v0, $v0, 8
|
||||
/* 0062F4 700056F4 1460FFFA */ bnez $v1, .L700056E0
|
||||
/* 0062F8 700056F8 00000000 */ nop
|
||||
.L700056FC:
|
||||
/* 0062FC 700056FC 001078C0 */ sll $t7, $s0, 3
|
||||
.L70005700:
|
||||
/* 006300 70005700 00AF7021 */ addu $t6, $a1, $t7
|
||||
/* 006304 70005704 0C00267B */ jal tokenSetString
|
||||
/* 006308 70005708 8DC40004 */ lw $a0, 4($t6)
|
||||
.L7000570C:
|
||||
/* 00630C 7000570C 0C00237F */ jal mempResetBank
|
||||
/* 006310 70005710 24040004 */ li $a0, 4
|
||||
/* 006314 70005714 0FC2F15D */ jal obBlankResourcesLoadedInBank
|
||||
/* 006318 70005718 24040004 */ li $a0, 4
|
||||
/* 00631C 7000571C 3C058002 */ lui $a1, %hi(aMa) # $a1, 0x8002
|
||||
/* 006320 70005720 24A547FC */ addiu $a1, %lo(aMa) # addiu $a1, $a1, 0x47fc
|
||||
/* 006324 70005724 0C0026C0 */ jal tokenFind
|
||||
/* 006328 70005728 24040001 */ li $a0, 1
|
||||
/* 00632C 7000572C 1040000B */ beqz $v0, .L7000575C
|
||||
/* 006330 70005730 24040001 */ li $a0, 1
|
||||
/* 006334 70005734 3C058002 */ lui $a1, %hi(aMa_0) # $a1, 0x8002
|
||||
/* 006338 70005738 0C0026C0 */ jal tokenFind
|
||||
/* 00633C 7000573C 24A54800 */ addiu $a1, %lo(aMa_0) # addiu $a1, $a1, 0x4800
|
||||
/* 006340 70005740 00402025 */ move $a0, $v0
|
||||
/* 006344 70005744 00002825 */ move $a1, $zero
|
||||
/* 006348 70005748 0C002790 */ jal strtol
|
||||
/* 00634C 7000574C 00003025 */ move $a2, $zero
|
||||
/* 006350 70005750 0002C280 */ sll $t8, $v0, 0xa
|
||||
/* 006354 70005754 3C018002 */ lui $at, %hi(g_CurentMaMallocValue) # $at, 0x8002
|
||||
/* 006358 70005758 AC382040 */ sw $t8, %lo(g_CurentMaMallocValue)($at)
|
||||
.L7000575C:
|
||||
/* 00635C 7000575C 3C048002 */ lui $a0, %hi(g_CurentMaMallocValue) # $a0, 0x8002
|
||||
/* 006360 70005760 8C842040 */ lw $a0, %lo(g_CurentMaMallocValue)($a0)
|
||||
/* 006364 70005764 0C0022E0 */ jal mempAllocBytesInBank
|
||||
/* 006368 70005768 24050004 */ li $a1, 4
|
||||
/* 00636C 7000576C 3C058002 */ lui $a1, %hi(g_CurentMaMallocValue) # $a1, 0x8002
|
||||
/* 006370 70005770 8CA52040 */ lw $a1, %lo(g_CurentMaMallocValue)($a1)
|
||||
/* 006374 70005774 0C00247E */ jal memaSetBuffer
|
||||
/* 006378 70005778 00402025 */ move $a0, $v0
|
||||
/* 00637C 7000577C 0FC2661B */ jal reset_play_data_ptrs
|
||||
/* 006380 70005780 00000000 */ nop
|
||||
/* 006384 70005784 3C198002 */ lui $t9, %hi(g_StageNum) # $t9, 0x8002
|
||||
/* 006388 70005788 8F392038 */ lw $t9, %lo(g_StageNum)($t9)
|
||||
/* 00638C 7000578C 2401005A */ li $at, 90
|
||||
/* 006390 70005790 13210009 */ beq $t9, $at, .L700057B8
|
||||
/* 006394 70005794 00000000 */ nop
|
||||
/* 006398 70005798 0FC04060 */ jal get_selected_num_players
|
||||
/* 00639C 7000579C 24110001 */ li $s1, 1
|
||||
/* 0063A0 700057A0 28410002 */ slti $at, $v0, 2
|
||||
/* 0063A4 700057A4 14200004 */ bnez $at, .L700057B8
|
||||
/* 0063A8 700057A8 00000000 */ nop
|
||||
/* 0063AC 700057AC 0FC04060 */ jal get_selected_num_players
|
||||
/* 0063B0 700057B0 00000000 */ nop
|
||||
/* 0063B4 700057B4 00408825 */ move $s1, $v0
|
||||
.L700057B8:
|
||||
/* 0063B8 700057B8 0FC26633 */ jal init_player_data_ptrs_construct_viewports
|
||||
/* 0063BC 700057BC 02202025 */ move $a0, $s1
|
||||
/* 0063C0 700057C0 0FC2F20F */ jal dynInitMemory
|
||||
/* 0063C4 700057C4 00000000 */ nop
|
||||
/* 0063C8 700057C8 0C0028F3 */ jal joyCheckStatusThreadSafe
|
||||
/* 0063CC 700057CC 00000000 */ nop
|
||||
/* 0063D0 700057D0 3C048002 */ lui $a0, %hi(g_StageNum) # $a0, 0x8002
|
||||
/* 0063D4 700057D4 0FC2F398 */ jal lvlStageLoad
|
||||
/* 0063D8 700057D8 8C842038 */ lw $a0, %lo(g_StageNum)($a0)
|
||||
/* 0063DC 700057DC 0C000B26 */ jal viInitBuffers
|
||||
/* 0063E0 700057E0 00000000 */ nop
|
||||
/* 0063E4 700057E4 0C00287A */ jal debmenuInit
|
||||
/* 0063E8 700057E8 00000000 */ nop
|
||||
/* 0063EC 700057EC 0FC30001 */ jal sub_GAME_7F0C0B4C
|
||||
/* 0063F0 700057F0 00000000 */ nop
|
||||
/* 0063F4 700057F4 0C000AEC */ jal speedGraphVideoRelated_2
|
||||
/* 0063F8 700057F8 00000000 */ nop
|
||||
/* 0063FC 700057FC 3C048005 */ lui $a0, %hi(gfxFrameMsgQ) # $a0, 0x8005
|
||||
/* 006400 70005800 24841D60 */ addiu $a0, %lo(gfxFrameMsgQ) # addiu $a0, $a0, 0x1d60
|
||||
/* 006404 70005804 27A501D4 */ addiu $a1, $sp, 0x1d4
|
||||
/* 006408 70005808 0C0031F4 */ jal osRecvMesg
|
||||
/* 00640C 7000580C 00003025 */ move $a2, $zero
|
||||
/* 006410 70005810 14400007 */ bnez $v0, .L70005830
|
||||
.L70005814:
|
||||
/* 006414 70005814 3C048005 */ lui $a0, %hi(gfxFrameMsgQ) # $a0, 0x8005
|
||||
/* 006418 70005818 24841D60 */ addiu $a0, %lo(gfxFrameMsgQ) # addiu $a0, $a0, 0x1d60
|
||||
/* 00641C 7000581C 27A501D4 */ addiu $a1, $sp, 0x1d4
|
||||
/* 006420 70005820 0C0031F4 */ jal osRecvMesg
|
||||
/* 006424 70005824 00003025 */ move $a2, $zero
|
||||
/* 006428 70005828 1040FFFA */ beqz $v0, .L70005814
|
||||
/* 00642C 7000582C 00000000 */ nop
|
||||
.L70005830:
|
||||
/* 006430 70005830 3C088002 */ lui $t0, %hi(g_MainStageNum) # $t0, 0x8002
|
||||
/* 006434 70005834 8D08218C */ lw $t0, %lo(g_MainStageNum)($t0)
|
||||
/* 006438 70005838 05010130 */ bgez $t0, .L70005CFC
|
||||
.L7000583C:
|
||||
/* 00643C 7000583C 3C048005 */ lui $a0, %hi(gfxFrameMsgQ) # $a0, 0x8005
|
||||
/* 006440 70005840 24841D60 */ addiu $a0, %lo(gfxFrameMsgQ) # addiu $a0, $a0, 0x1d60
|
||||
/* 006444 70005844 27A501D4 */ addiu $a1, $sp, 0x1d4
|
||||
/* 006448 70005848 0C0031F4 */ jal osRecvMesg
|
||||
/* 00644C 7000584C 24060001 */ li $a2, 1
|
||||
/* 006450 70005850 8FA901D4 */ lw $t1, 0x1d4($sp)
|
||||
/* 006454 70005854 24010001 */ li $at, 1
|
||||
/* 006458 70005858 85230000 */ lh $v1, ($t1)
|
||||
/* 00645C 7000585C 10610009 */ beq $v1, $at, .L70005884
|
||||
/* 006460 70005860 24010002 */ li $at, 2
|
||||
/* 006464 70005864 1061011C */ beq $v1, $at, .L70005CD8
|
||||
/* 006468 70005868 3C028002 */ lui $v0, 0x8002
|
||||
/* 00646C 7000586C 24010005 */ li $at, 5
|
||||
/* 006470 70005870 1061011C */ beq $v1, $at, .L70005CE4
|
||||
/* 006474 70005874 3C028002 */ lui $v0, 0x8002
|
||||
/* 006478 70005878 3C028002 */ lui $v0, %hi(g_MainStageNum) # $v0, 0x8002
|
||||
/* 00647C 7000587C 1000011B */ b .L70005CEC
|
||||
/* 006480 70005880 8C42218C */ lw $v0, %lo(g_MainStageNum)($v0)
|
||||
.L70005884:
|
||||
/* 006484 70005884 0C003190 */ jal osGetCount
|
||||
/* 006488 70005888 00000000 */ nop
|
||||
/* 00648C 7000588C 3C0C8004 */ lui $t4, %hi(D_800484B4) # $t4, 0x8004
|
||||
/* 006490 70005890 8D8C113C */ lw $t4, %lo(D_800484B4)($t4)
|
||||
/* 006494 70005894 3C01000E */ lui $at, (0x000E34EA >> 16) # lui $at, 0xe
|
||||
/* 006498 70005898 342134EA */ ori $at, (0x000E34EA & 0xFFFF) # ori $at, $at, 0x34ea
|
||||
/* 00649C 7000589C 01810019 */ multu $t4, $at
|
||||
/* 0064A0 700058A0 3C0D8004 */ lui $t5, %hi(copy_of_osgetcount_value_1) # $t5, 0x8004
|
||||
/* 0064A4 700058A4 8DAD1138 */ lw $t5, %lo(copy_of_osgetcount_value_1)($t5)
|
||||
/* 0064A8 700058A8 3C01FFF8 */ lui $at, (0xFFF8E58B >> 16) # lui $at, 0xfff8
|
||||
/* 0064AC 700058AC 3421E58B */ ori $at, (0xFFF8E58B & 0xFFFF) # ori $at, $at, 0xe58b
|
||||
/* 0064B0 700058B0 004D1823 */ subu $v1, $v0, $t5
|
||||
/* 0064B4 700058B4 3C028002 */ lui $v0, 0x8002
|
||||
/* 0064B8 700058B8 00005012 */ mflo $t2
|
||||
/* 0064BC 700058BC 01415821 */ addu $t3, $t2, $at
|
||||
/* 0064C0 700058C0 006B082B */ sltu $at, $v1, $t3
|
||||
/* 0064C4 700058C4 10200004 */ beqz $at, .L700058D8
|
||||
/* 0064C8 700058C8 00000000 */ nop
|
||||
/* 0064CC 700058CC 3C028002 */ lui $v0, %hi(g_MainStageNum) # $v0, 0x8002
|
||||
/* 0064D0 700058D0 10000106 */ b .L70005CEC
|
||||
/* 0064D4 700058D4 8C42218C */ lw $v0, %lo(g_MainStageNum)($v0)
|
||||
.L700058D8:
|
||||
/* 0064D8 700058D8 8C42218C */ lw $v0, 0x218c($v0)
|
||||
/* 0064DC 700058DC 2FC10002 */ sltiu $at, $fp, 2
|
||||
/* 0064E0 700058E0 04410102 */ bgez $v0, .L70005CEC
|
||||
/* 0064E4 700058E4 00000000 */ nop
|
||||
/* 0064E8 700058E8 10200100 */ beqz $at, .L70005CEC
|
||||
/* 0064EC 700058EC 27AF01B4 */ addiu $t7, $sp, 0x1b4
|
||||
/* 0064F0 700058F0 0FC2FC43 */ jal get_is_ramrom_flag
|
||||
/* 0064F4 700058F4 AFAF0048 */ sw $t7, 0x48($sp)
|
||||
/* 0064F8 700058F8 10400005 */ beqz $v0, .L70005910
|
||||
/* 0064FC 700058FC 00000000 */ nop
|
||||
/* 006500 70005900 0FC2FDBA */ jal iterate_ramrom_entries_handle_camera_out
|
||||
/* 006504 70005904 00000000 */ nop
|
||||
/* 006508 70005908 10000003 */ b .L70005918
|
||||
/* 00650C 7000590C 00000000 */ nop
|
||||
.L70005910:
|
||||
/* 006510 70005910 0FC30001 */ jal sub_GAME_7F0C0B4C
|
||||
/* 006514 70005914 00000000 */ nop
|
||||
.L70005918:
|
||||
/* 006518 70005918 0C000AEE */ jal profileSetMarker
|
||||
/* 00651C 7000591C 00000000 */ nop
|
||||
/* 006520 70005920 0C000AEC */ jal speedGraphVideoRelated_2
|
||||
/* 006524 70005924 00000000 */ nop
|
||||
/* 006528 70005928 0C000AF0 */ jal speedGraphDisplay
|
||||
/* 00652C 7000592C 3C040002 */ lui $a0, %hi(0x20004) # $a0, 2
|
||||
/* 006530 70005930 0C002AA0 */ jal joyConsumeSamplesWrapper
|
||||
/* 006534 70005934 00000000 */ nop
|
||||
/* 006538 70005938 0C000262 */ jal permit_stderr
|
||||
/* 00653C 7000593C 00002025 */ move $a0, $zero
|
||||
/* 006540 70005940 0FC2F289 */ jal dynGetMasterDisplayList
|
||||
/* 006544 70005944 00000000 */ nop
|
||||
/* 006548 70005948 3C0E8002 */ lui $t6, %hi(g_BossIsDebugMenuOpen) # $t6, 0x8002
|
||||
/* 00654C 7000594C 8DCE2190 */ lw $t6, %lo(g_BossIsDebugMenuOpen)($t6)
|
||||
/* 006550 70005950 AFA201A4 */ sw $v0, 0x1a4($sp)
|
||||
/* 006554 70005954 00409825 */ move $s3, $v0
|
||||
/* 006558 70005958 11C0001D */ beqz $t6, .L700059D0
|
||||
/* 00655C 7000595C 00000000 */ nop
|
||||
/* 006560 70005960 0C002B98 */ jal joyGetStickX
|
||||
/* 006564 70005964 00002025 */ move $a0, $zero
|
||||
/* 006568 70005968 00028600 */ sll $s0, $v0, 0x18
|
||||
/* 00656C 7000596C 0010C603 */ sra $t8, $s0, 0x18
|
||||
/* 006570 70005970 03008025 */ move $s0, $t8
|
||||
/* 006574 70005974 0C002BDC */ jal joyGetStickY
|
||||
/* 006578 70005978 00002025 */ move $a0, $zero
|
||||
/* 00657C 7000597C 00028E00 */ sll $s1, $v0, 0x18
|
||||
/* 006580 70005980 0011CE03 */ sra $t9, $s1, 0x18
|
||||
/* 006584 70005984 03208825 */ move $s1, $t9
|
||||
/* 006588 70005988 00002025 */ move $a0, $zero
|
||||
/* 00658C 7000598C 0C002C20 */ jal joyGetButtons
|
||||
/* 006590 70005990 3405FFFF */ li $a1, 65535
|
||||
/* 006594 70005994 3052FFFF */ andi $s2, $v0, 0xffff
|
||||
/* 006598 70005998 00002025 */ move $a0, $zero
|
||||
/* 00659C 7000599C 0C002C48 */ jal joyGetButtonsPressedThisFrame
|
||||
/* 0065A0 700059A0 3405FFFF */ li $a1, 65535
|
||||
/* 0065A4 700059A4 00102600 */ sll $a0, $s0, 0x18
|
||||
/* 0065A8 700059A8 00112E00 */ sll $a1, $s1, 0x18
|
||||
/* 0065AC 700059AC 00054E03 */ sra $t1, $a1, 0x18
|
||||
/* 0065B0 700059B0 00044603 */ sra $t0, $a0, 0x18
|
||||
/* 0065B4 700059B4 01002025 */ move $a0, $t0
|
||||
/* 0065B8 700059B8 01202825 */ move $a1, $t1
|
||||
/* 0065BC 700059BC 3246FFFF */ andi $a2, $s2, 0xffff
|
||||
/* 0065C0 700059C0 0FC240F2 */ jal debug_menu_processor
|
||||
/* 0065C4 700059C4 3047FFFF */ andi $a3, $v0, 0xffff
|
||||
/* 0065C8 700059C8 3C018002 */ lui $at, %hi(g_BossIsDebugMenuOpen) # $at, 0x8002
|
||||
/* 0065CC 700059CC AC222190 */ sw $v0, %lo(g_BossIsDebugMenuOpen)($at)
|
||||
.L700059D0:
|
||||
/* 0065D0 700059D0 0FC2F7EB */ jal lvlManageMpGame
|
||||
/* 0065D4 700059D4 00000000 */ nop
|
||||
/* 0065D8 700059D8 0FC26A57 */ jal shuffle_player_ids
|
||||
/* 0065DC 700059DC 00000000 */ nop
|
||||
/* 0065E0 700059E0 3C0D8002 */ lui $t5, %hi(g_StageNum) # $t5, 0x8002
|
||||
/* 0065E4 700059E4 8DAD2038 */ lw $t5, %lo(g_StageNum)($t5)
|
||||
/* 0065E8 700059E8 2401005A */ li $at, 90
|
||||
/* 0065EC 700059EC 11A10018 */ beq $t5, $at, .L70005A50
|
||||
/* 0065F0 700059F0 00000000 */ nop
|
||||
/* 0065F4 700059F4 0FC26669 */ jal getPlayerCount
|
||||
/* 0065F8 700059F8 00008825 */ move $s1, $zero
|
||||
/* 0065FC 700059FC 18400014 */ blez $v0, .L70005A50
|
||||
/* 006600 70005A00 00000000 */ nop
|
||||
.L70005A04:
|
||||
/* 006604 70005A04 0FC26A9A */ jal get_nth_player_from_shuffled
|
||||
/* 006608 70005A08 02202025 */ move $a0, $s1
|
||||
/* 00660C 70005A0C 0FC26993 */ jal set_cur_player
|
||||
/* 006610 70005A10 00402025 */ move $a0, $v0
|
||||
/* 006614 70005A14 8EB00000 */ lw $s0, ($s5)
|
||||
/* 006618 70005A18 860407F0 */ lh $a0, 0x7f0($s0)
|
||||
/* 00661C 70005A1C 0C000FA3 */ jal viSetViewSize
|
||||
/* 006620 70005A20 860507F2 */ lh $a1, 0x7f2($s0)
|
||||
/* 006624 70005A24 8EB00000 */ lw $s0, ($s5)
|
||||
/* 006628 70005A28 860407F4 */ lh $a0, 0x7f4($s0)
|
||||
/* 00662C 70005A2C 0C000FC3 */ jal viSetViewPosition
|
||||
/* 006630 70005A30 860507F6 */ lh $a1, 0x7f6($s0)
|
||||
/* 006634 70005A34 0FC2FB11 */ jal lvlUpdateMpPlayerData
|
||||
/* 006638 70005A38 00000000 */ nop
|
||||
/* 00663C 70005A3C 0FC26669 */ jal getPlayerCount
|
||||
/* 006640 70005A40 26310001 */ addiu $s1, $s1, 1
|
||||
/* 006644 70005A44 0222082A */ slt $at, $s1, $v0
|
||||
/* 006648 70005A48 1420FFEE */ bnez $at, .L70005A04
|
||||
/* 00664C 70005A4C 00000000 */ nop
|
||||
.L70005A50:
|
||||
/* 006650 70005A50 0FC2F5B3 */ jal lvlRender
|
||||
/* 006654 70005A54 02602025 */ move $a0, $s3
|
||||
/* 006658 70005A58 0FC2411C */ jal get_debug_VisCVG_flag
|
||||
/* 00665C 70005A5C 00409825 */ move $s3, $v0
|
||||
/* 006660 70005A60 10400037 */ beqz $v0, .L70005B40 /*NOP this so vis-cvg are always drawn*/
|
||||
/* 006664 70005A64 2407FFFF */ li $a3, -1
|
||||
/* 006668 70005A68 02601025 */ move $v0, $s3
|
||||
/* 00666C 70005A6C 26730008 */ addiu $s3, $s3, 8
|
||||
/* 006670 70005A70 3C0CE700 */ lui $t4, 0xe700
|
||||
/* 006674 70005A74 02601825 */ move $v1, $s3
|
||||
/* 006678 70005A78 AC4C0000 */ sw $t4, ($v0)
|
||||
/* 00667C 70005A7C AC400004 */ sw $zero, 4($v0)
|
||||
/* 006680 70005A80 26730008 */ addiu $s3, $s3, 8
|
||||
/* 006684 70005A84 3C0ABA00 */ lui $t2, (0xBA001402 >> 16) # lui $t2, 0xba00
|
||||
/* 006688 70005A88 02602025 */ move $a0, $s3
|
||||
/* 00668C 70005A8C 354A1402 */ ori $t2, (0xBA001402 & 0xFFFF) # ori $t2, $t2, 0x1402
|
||||
/* 006690 70005A90 26730008 */ addiu $s3, $s3, 8
|
||||
/* 006694 70005A94 AC6A0000 */ sw $t2, ($v1)
|
||||
/* 006698 70005A98 AC600004 */ sw $zero, 4($v1)
|
||||
/* 00669C 70005A9C 02602825 */ move $a1, $s3
|
||||
/* 0066A0 70005AA0 3C0BF900 */ lui $t3, 0xf900
|
||||
/* 0066A4 70005AA4 26730008 */ addiu $s3, $s3, 8
|
||||
/* 0066A8 70005AA8 AC8B0000 */ sw $t3, ($a0)
|
||||
/* 0066AC 70005AAC AC870004 */ sw $a3, %lo(0x20004)($a0)
|
||||
/* 0066B0 70005AB0 02603025 */ move $a2, $s3
|
||||
/* 0066B4 70005AB4 3C0FEE00 */ lui $t7, 0xee00
|
||||
/* 0066B8 70005AB8 26730008 */ addiu $s3, $s3, 8
|
||||
/* 0066BC 70005ABC ACAF0000 */ sw $t7, ($a1)
|
||||
/* 0066C0 70005AC0 ACA70004 */ sw $a3, 4($a1)
|
||||
/* 0066C4 70005AC4 3C0EB900 */ lui $t6, (0xB9000201 >> 16) # lui $t6, 0xb900
|
||||
/* 0066C8 70005AC8 02601025 */ move $v0, $s3
|
||||
/* 0066CC 70005ACC 35CE0201 */ ori $t6, (0xB9000201 & 0xFFFF) # ori $t6, $t6, 0x201
|
||||
/* 0066D0 70005AD0 24180004 */ li $t8, 4
|
||||
/* 0066D4 70005AD4 26730008 */ addiu $s3, $s3, 8
|
||||
/* 0066D8 70005AD8 3C19B900 */ lui $t9, (0xB900031D >> 16) # lui $t9, 0xb900
|
||||
/* 0066DC 70005ADC 3C080FA5 */ lui $t0, (0x0FA54040 >> 16) # lui $t0, 0xfa5
|
||||
/* 0066E0 70005AE0 ACD80004 */ sw $t8, 4($a2)
|
||||
/* 0066E4 70005AE4 ACCE0000 */ sw $t6, ($a2)
|
||||
/* 0066E8 70005AE8 35084040 */ ori $t0, (0x0FA54040 & 0xFFFF) # ori $t0, $t0, 0x4040
|
||||
/* 0066EC 70005AEC 3739031D */ ori $t9, (0xB900031D & 0xFFFF) # ori $t9, $t9, 0x31d
|
||||
/* 0066F0 70005AF0 02608025 */ move $s0, $s3
|
||||
/* 0066F4 70005AF4 AC590000 */ sw $t9, ($v0)
|
||||
/* 0066F8 70005AF8 AC480004 */ sw $t0, 4($v0)
|
||||
/* 0066FC 70005AFC 0C000F9B */ jal viGetX
|
||||
/* 006700 70005B00 26730008 */ addiu $s3, $s3, 8
|
||||
/* 006704 70005B04 00028C00 */ sll $s1, $v0, 0x10
|
||||
/* 006708 70005B08 00114C03 */ sra $t1, $s1, 0x10
|
||||
/* 00670C 70005B0C 0C000F9F */ jal viGetY
|
||||
/* 006710 70005B10 01208825 */ move $s1, $t1
|
||||
/* 006714 70005B14 244DFFFF */ addiu $t5, $v0, -1
|
||||
/* 006718 70005B18 31AC03FF */ andi $t4, $t5, 0x3ff
|
||||
/* 00671C 70005B1C 262FFFFF */ addiu $t7, $s1, -1
|
||||
/* 006720 70005B20 31EE03FF */ andi $t6, $t7, 0x3ff
|
||||
/* 006724 70005B24 000C5080 */ sll $t2, $t4, 2
|
||||
/* 006728 70005B28 3C01F600 */ lui $at, 0xf600
|
||||
/* 00672C 70005B2C 01415825 */ or $t3, $t2, $at
|
||||
/* 006730 70005B30 000EC380 */ sll $t8, $t6, 0xe
|
||||
/* 006734 70005B34 0178C825 */ or $t9, $t3, $t8
|
||||
/* 006738 70005B38 AE190000 */ sw $t9, ($s0)/*NOP this so vis_cvg are always drawn*/
|
||||
/* 00673C 70005B3C AE000004 */ sw $zero, 4($s0)/*NOP this so vis_cvg are always drawn*/
|
||||
.L70005B40:
|
||||
/* 006740 70005B40 0C00289B */ jal debmenuDraw
|
||||
/* 006744 70005B44 02602025 */ move $a0, $s3
|
||||
/* 006748 70005B48 0FC24100 */ jal get_memusage_display_flag
|
||||
/* 00674C 70005B4C 00409825 */ move $s3, $v0
|
||||
/* 006750 70005B50 10400004 */ beqz $v0, .L70005B64
|
||||
/* 006754 70005B54 00000000 */ nop
|
||||
/* 006758 70005B58 0C000AF2 */ jal video_DL_related_4
|
||||
/* 00675C 70005B5C 02602025 */ move $a0, $s3
|
||||
/* 006760 70005B60 00409825 */ move $s3, $v0
|
||||
.L70005B64:
|
||||
/* 006764 70005B64 3C088002 */ lui $t0, %hi(g_BossIsDebugMenuOpen) # $t0, 0x8002
|
||||
/* 006768 70005B68 8D082190 */ lw $t0, %lo(g_BossIsDebugMenuOpen)($t0)
|
||||
/* 00676C 70005B6C 51000007 */ beql $t0, $zero, .L70005B8C
|
||||
/* 006770 70005B70 02601025 */ move $v0, $s3
|
||||
/* 006774 70005B74 0FC240F0 */ jal debugmenuUpdate
|
||||
/* 006778 70005B78 00000000 */ nop
|
||||
/* 00677C 70005B7C 0FC240DE */ jal debugmenuRender
|
||||
/* 006780 70005B80 02602025 */ move $a0, $s3
|
||||
/* 006784 70005B84 00409825 */ move $s3, $v0
|
||||
/* 006788 70005B88 02601025 */ move $v0, $s3
|
||||
.L70005B8C:
|
||||
/* 00678C 70005B8C 26730008 */ addiu $s3, $s3, 8
|
||||
/* 006790 70005B90 3C09E900 */ lui $t1, 0xe900
|
||||
/* 006794 70005B94 AC490000 */ sw $t1, ($v0)
|
||||
/* 006798 70005B98 AC400004 */ sw $zero, 4($v0)
|
||||
/* 00679C 70005B9C 02601825 */ move $v1, $s3
|
||||
/* 0067A0 70005BA0 3C0DB800 */ lui $t5, 0xb800
|
||||
/* 0067A4 70005BA4 AC6D0000 */ sw $t5, ($v1)
|
||||
/* 0067A8 70005BA8 AC600004 */ sw $zero, 4($v1)
|
||||
/* 0067AC 70005BAC 3C0C8002 */ lui $t4, %hi(g_ShowMemUseFlag) # $t4, 0x8002
|
||||
/* 0067B0 70005BB0 8D8C2044 */ lw $t4, %lo(g_ShowMemUseFlag)($t4)
|
||||
/* 0067B4 70005BB4 26730008 */ addiu $s3, $s3, 8
|
||||
/* 0067B8 70005BB8 1180000B */ beqz $t4, .L70005BE8
|
||||
/* 0067BC 70005BBC 00000000 */ nop
|
||||
/* 0067C0 70005BC0 0C002354 */ jal nulled_mempLoopAllMemBanks
|
||||
/* 0067C4 70005BC4 00000000 */ nop
|
||||
/* 0067C8 70005BC8 0C0025BF */ jal memaDumpPrePostMerge
|
||||
/* 0067CC 70005BCC 00000000 */ nop
|
||||
/* 0067D0 70005BD0 0FC2F2C9 */ jal dynRemovedFunc
|
||||
/* 0067D4 70005BD4 02602025 */ move $a0, $s3
|
||||
/* 0067D8 70005BD8 0FC316DC */ jal nullsub_41
|
||||
/* 0067DC 70005BDC 00002025 */ move $a0, $zero
|
||||
/* 0067E0 70005BE0 3C018002 */ lui $at, %hi(g_ShowMemUseFlag) # $at, 0x8002
|
||||
/* 0067E4 70005BE4 AC202044 */ sw $zero, %lo(g_ShowMemUseFlag)($at)
|
||||
.L70005BE8:
|
||||
/* 0067E8 70005BE8 3C0A8002 */ lui $t2, %hi(g_ShowMemBarsFlag) # $t2, 0x8002
|
||||
/* 0067EC 70005BEC 8D4A2048 */ lw $t2, %lo(g_ShowMemBarsFlag)($t2)
|
||||
/* 0067F0 70005BF0 11400003 */ beqz $t2, .L70005C00
|
||||
/* 0067F4 70005BF4 00000000 */ nop
|
||||
/* 0067F8 70005BF8 0FC2F2F0 */ jal dynDrawMembars
|
||||
/* 0067FC 70005BFC 02602025 */ move $a0, $s3
|
||||
.L70005C00:
|
||||
/* 006800 70005C00 0FC2F293 */ jal dynGetFreeGfx2
|
||||
/* 006804 70005C04 02602025 */ move $a0, $s3
|
||||
/* 006808 70005C08 0FC2F2BA */ jal dynSwapBuffers
|
||||
/* 00680C 70005C0C 00000000 */ nop
|
||||
/* 006810 70005C10 0C000B83 */ jal video_related_8
|
||||
/* 006814 70005C14 00000000 */ nop
|
||||
/* 006818 70005C18 0FC2412E */ jal get_debug_taskgrab_val
|
||||
/* 00681C 70005C1C 00000000 */ nop
|
||||
/* 006820 70005C20 1040001C */ beqz $v0, .L70005C94
|
||||
/* 006824 70005C24 00002025 */ move $a0, $zero
|
||||
/* 006828 70005C28 0C002C48 */ jal joyGetButtonsPressedThisFrame
|
||||
/* 00682C 70005C2C 3405C000 */ li $a1, 49152
|
||||
/* 006830 70005C30 10400018 */ beqz $v0, .L70005C94
|
||||
/* 006834 70005C34 00002025 */ move $a0, $zero
|
||||
/* 006838 70005C38 0C002C20 */ jal joyGetButtons
|
||||
/* 00683C 70005C3C 3405C000 */ li $a1, 49152
|
||||
/* 006840 70005C40 3401C000 */ li $at, 49152
|
||||
/* 006844 70005C44 14410013 */ bne $v0, $at, .L70005C94
|
||||
.L70005C48:
|
||||
/* 006848 70005C48 3C068002 */ lui $a2, %hi(taskgrab_ramdump_num) # $a2, 0x8002
|
||||
/* 00684C 70005C4C 8CC621B4 */ lw $a2, %lo(taskgrab_ramdump_num)($a2)
|
||||
/* 006850 70005C50 02802025 */ move $a0, $s4
|
||||
/* 006854 70005C54 0C00283D */ jal sprintf
|
||||
/* 006858 70005C58 02C02825 */ move $a1, $s6
|
||||
/* 00685C 70005C5C 02802025 */ move $a0, $s4
|
||||
/* 006860 70005C60 0FC33D6E */ jal indycommHostCheckFileExists
|
||||
/* 006864 70005C64 02E02825 */ move $a1, $s7
|
||||
/* 006868 70005C68 10400006 */ beqz $v0, .L70005C84
|
||||
/* 00686C 70005C6C 3C068002 */ lui $a2, %hi(taskgrab_ramdump_num) # $a2, 0x8002
|
||||
/* 006870 70005C70 8CC621B4 */ lw $a2, %lo(taskgrab_ramdump_num)($a2)
|
||||
/* 006874 70005C74 3C018002 */ lui $at, %hi(taskgrab_ramdump_num) # $at, 0x8002
|
||||
/* 006878 70005C78 24C60001 */ addiu $a2, $a2, 1
|
||||
/* 00687C 70005C7C 1000FFF2 */ b .L70005C48
|
||||
/* 006880 70005C80 AC2621B4 */ sw $a2, %lo(taskgrab_ramdump_num)($at)
|
||||
.L70005C84:
|
||||
/* 006884 70005C84 02802025 */ move $a0, $s4
|
||||
/* 006888 70005C88 3C058000 */ lui $a1, 0x8000
|
||||
/* 00688C 70005C8C 0FC33D40 */ jal indycommHostSendDump
|
||||
/* 006890 70005C90 3C060040 */ lui $a2, 0x40
|
||||
.L70005C94:
|
||||
/* 006894 70005C94 8FA401A4 */ lw $a0, 0x1a4($sp)
|
||||
/* 006898 70005C98 02602825 */ move $a1, $s3
|
||||
/* 00689C 70005C9C 00003025 */ move $a2, $zero
|
||||
/* 0068A0 70005CA0 0FC33CCE */ jal rspGfxTaskStart
|
||||
/* 0068A4 70005CA4 8FA70048 */ lw $a3, 0x48($sp)
|
||||
/* 0068A8 70005CA8 0C00249C */ jal memaIterateAndMerge
|
||||
/* 0068AC 70005CAC 27DE0001 */ addiu $fp, $fp, 1
|
||||
/* 0068B0 70005CB0 0FC30029 */ jal eu_sub_7f0c00a4
|
||||
/* 0068B4 70005CB4 00000000 */ nop
|
||||
/* 0068B8 70005CB8 8FAF01AC */ lw $t7, 0x1ac($sp)
|
||||
/* 0068BC 70005CBC 3C040001 */ lui $a0, 1
|
||||
/* 0068C0 70005CC0 39EE0001 */ xori $t6, $t7, 1
|
||||
/* 0068C4 70005CC4 0C000AF0 */ jal speedGraphDisplay
|
||||
/* 0068C8 70005CC8 AFAE01AC */ sw $t6, 0x1ac($sp)
|
||||
/* 0068CC 70005CCC 3C028002 */ lui $v0, %hi(g_MainStageNum) # $v0, 0x8002
|
||||
/* 0068D0 70005CD0 10000006 */ b .L70005CEC
|
||||
/* 0068D4 70005CD4 8C42218C */ lw $v0, %lo(g_MainStageNum)($v0)
|
||||
.L70005CD8:
|
||||
/* 0068D8 70005CD8 27DEFFFF */ addiu $fp, $fp, -1
|
||||
/* 0068DC 70005CDC 10000003 */ b .L70005CEC
|
||||
/* 0068E0 70005CE0 8C42218C */ lw $v0, 0x218c($v0)
|
||||
.L70005CE4:
|
||||
/* 0068E4 70005CE4 241E0004 */ li $fp, 4
|
||||
/* 0068E8 70005CE8 8C42218C */ lw $v0, 0x218c($v0)
|
||||
.L70005CEC:
|
||||
/* 0068EC 70005CEC 0440FED3 */ bltz $v0, .L7000583C
|
||||
/* 0068F0 70005CF0 00000000 */ nop
|
||||
/* 0068F4 70005CF4 17C0FED1 */ bnez $fp, .L7000583C
|
||||
/* 0068F8 70005CF8 00000000 */ nop
|
||||
.L70005CFC:
|
||||
/* 0068FC 70005CFC 0FC2FBD9 */ jal lvlUnloadStageTextData
|
||||
/* 006900 70005D00 00000000 */ nop
|
||||
/* 006904 70005D04 0FC2FF5F */ jal stop_demo_playback
|
||||
/* 006908 70005D08 00000000 */ nop
|
||||
/* 00690C 70005D0C 0C002389 */ jal mempNullNextEntryInBank
|
||||
/* 006910 70005D10 24040004 */ li $a0, 4
|
||||
/* 006914 70005D14 0FC2F15D */ jal obBlankResourcesLoadedInBank
|
||||
/* 006918 70005D18 24040004 */ li $a0, 4
|
||||
/* 00691C 70005D1C 3C028002 */ lui $v0, %hi(g_MainStageNum) # $v0, 0x8002
|
||||
/* 006920 70005D20 2442218C */ addiu $v0, %lo(g_MainStageNum) # addiu $v0, $v0, 0x218c
|
||||
/* 006924 70005D24 8C4B0000 */ lw $t3, ($v0)
|
||||
/* 006928 70005D28 8FB901DC */ lw $t9, 0x1dc($sp)
|
||||
/* 00692C 70005D2C 3C018002 */ lui $at, %hi(g_StageNum) # $at, 0x8002
|
||||
/* 006930 70005D30 2418FFFF */ li $t8, -1
|
||||
/* 006934 70005D34 AC2B2038 */ sw $t3, %lo(g_StageNum)($at)
|
||||
/* 006938 70005D38 1320FE1C */ beqz $t9, .L700055AC
|
||||
/* 00693C 70005D3C AC580000 */ sw $t8, ($v0)
|
||||
/* 006940 70005D40 0FC343E7 */ jal sub_GAME_7F0D1A7C
|
||||
/* 006944 70005D44 AFB301A8 */ sw $s3, 0x1a8($sp)
|
||||
/* 006948 70005D48 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
/* 00694C 70005D4C 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 006950 70005D50 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 006954 70005D54 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 006958 70005D58 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* 00695C 70005D5C 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* 006960 70005D60 8FB5002C */ lw $s5, 0x2c($sp)
|
||||
/* 006964 70005D64 8FB60030 */ lw $s6, 0x30($sp)
|
||||
/* 006968 70005D68 8FB70034 */ lw $s7, 0x34($sp)
|
||||
/* 00696C 70005D6C 8FBE0038 */ lw $fp, 0x38($sp)
|
||||
/* 006970 70005D70 03E00008 */ jr $ra
|
||||
/* 006974 70005D74 27BD01E0 */ addiu $sp, $sp, 0x1e0
|
||||
)
|
||||
#endif
|
||||
|
||||
/**
|
||||
* 7530 70006930
|
||||
@@ -1354,6 +712,6 @@ s32 bossGetDebugParseFlag(void) {
|
||||
* 75C0 700069C0
|
||||
* V0= p->debug.notice.list entry for boss_c_debug using data at 800241A0
|
||||
*/
|
||||
void bossInitDebugNoticeList(void) {
|
||||
void bossInit(void) {
|
||||
debTryAdd(&g_BossDebugNoticeEntry, "boss_c_debug");
|
||||
}
|
||||
+1
-1
@@ -11,7 +11,7 @@ struct memallocstring
|
||||
|
||||
LEVELID bossGetStageNum();
|
||||
void bossSetLoadedStage(LEVELID stage);
|
||||
void bossInitDebugNoticeList(void);
|
||||
void bossInit(void);
|
||||
void bossEnableShowMemUseFlag(void);
|
||||
void bossMemBarsFlagToggle(void);
|
||||
void bossRunTitleStage(void);
|
||||
|
||||
+20
-29
@@ -140,7 +140,7 @@
|
||||
// bss - TLB section
|
||||
|
||||
OSThread g_tlbThread;
|
||||
u8 g_tlbUnused[0x500];
|
||||
u8 g_CrashMessage[0x500];
|
||||
char g_tlbStack[0x2300];
|
||||
OSMesgQueue g_faultMesgQ;
|
||||
OSMesg *g_faultMesgBuf;
|
||||
@@ -150,7 +150,7 @@ OSMesg *g_faultMesgBuf;
|
||||
*/
|
||||
|
||||
// Padding
|
||||
u32 D_80023300 = 0;
|
||||
u32 g_CrashEnabled = FALSE;
|
||||
|
||||
//The following regDesc's are similar to PR/Tools/Gload/Server.c
|
||||
/*
|
||||
@@ -313,6 +313,7 @@ u32 D_80024184[4] = {0};
|
||||
|
||||
void crashMain(void* arg0);
|
||||
|
||||
void crashPrintDescription(u32 mask, char *label, struct regDesc_t *description);
|
||||
// end forward declarations
|
||||
|
||||
/**
|
||||
@@ -605,45 +606,35 @@ u8 *crashIndyFileGetAddressSubsequentData(u8 *arg0)
|
||||
*/
|
||||
s32 crashIndyScanLoadResourceIdFromBuffer(u32 arg0)
|
||||
{
|
||||
u32 *temp_v1;
|
||||
u8 *phi_s0 = (u8 *)0xE00004;
|
||||
u8 *v0;
|
||||
u32 a0 = arg0;
|
||||
u8 *phi_s3;
|
||||
u32 this = 0x00e00004;
|
||||
u32 prev = 0x00e00004;
|
||||
|
||||
phi_s3 = phi_s0;
|
||||
while (TRUE) {
|
||||
u32 next = crashIndyFileGetAddressSubsequentData(this);
|
||||
|
||||
while (1)
|
||||
{
|
||||
v0 = crashIndyFileGetAddressSubsequentData(phi_s0);
|
||||
if (arg0 >= (u32)g_indyCurrentReadBufferResourceId) {
|
||||
prev = this;
|
||||
|
||||
temp_v1 = g_indyCurrentReadBufferResourceId;
|
||||
if (g_indyCurrentReadBufferResourceId == 0) {
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (a0 < (u32)temp_v1)
|
||||
{
|
||||
break;
|
||||
}
|
||||
this = next;
|
||||
} else {
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
phi_s3 = phi_s0;
|
||||
crashIndyFileGetAddressSubsequentData(prev);
|
||||
|
||||
if (temp_v1 == NULL)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
phi_s0 = v0;
|
||||
}
|
||||
|
||||
crashIndyFileGetAddressSubsequentData(phi_s3);
|
||||
|
||||
return 1;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* 5FC8 700053C8
|
||||
* V0= TRUE if valid indy.read.buf.resourceID [matches 826475BE]
|
||||
*/
|
||||
u32 crashIidyIsValidReadBufferResourceId(void)
|
||||
u32 crashIndyIsValidReadBufferResourceId(void)
|
||||
{
|
||||
crashIndyFileGetAddressSubsequentData((u8*)0xe00000);
|
||||
return ((u32)g_indyCurrentReadBufferResourceId ^ 0x826475be) == 0;
|
||||
|
||||
+1
-1
@@ -7,7 +7,7 @@
|
||||
#define STACK_POINTER_COUNT 5
|
||||
|
||||
|
||||
typedef struct
|
||||
typedef struct regDesc_t
|
||||
{
|
||||
u32 mask;
|
||||
u32 value;
|
||||
|
||||
+101
-335
@@ -119,6 +119,7 @@ Gfx g_DebugMenuEndDisplayList = gsSPEndDisplayList();
|
||||
Gfx g_DebugMenuNoOp = gsDPNoOp();
|
||||
Gfx g_DebugMenuPrimitiveColor = gsDPSetPrimColor(0, 0, 255, 255, 255, 0);
|
||||
Gfx g_DebugMenuEnvironmentColor = gsDPSetEnvColor(0, 0, 0, 0);
|
||||
u32 g_DebugMenuPercentage = 0xFF; // Static?
|
||||
#endif
|
||||
|
||||
/**
|
||||
@@ -214,89 +215,33 @@ void debmenu7000AF84(s32 x1, s32 y1, s32 x2, s32 y2) {
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef NONMATCHING
|
||||
#ifndef LEFTOVERDEBUG
|
||||
|
||||
void debmenu7000AF98(s32 height)
|
||||
{
|
||||
s32 x; s32 y;
|
||||
#ifdef LEFTOVERDEBUG
|
||||
s32 x;
|
||||
s32 y;
|
||||
|
||||
for (y = 33, height = height + 33; y != 0; y--, height--)
|
||||
for (y = 34, height += y - 1; y--; height-- )
|
||||
{
|
||||
if ((height >= 0) && (height < 35)) {
|
||||
if ((height >= 0) && (height < 35))
|
||||
{
|
||||
for ( x = 0; x != 80; x++)
|
||||
{
|
||||
debmenu7000AF84(x, height, x, y);
|
||||
}
|
||||
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
for (x = 0; x != 80; x++)
|
||||
{
|
||||
debmenuWriteCharAtPos(x, y, 0);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#else
|
||||
#ifndef LEFTOVERDEBUG
|
||||
s32 debmenu7000AF98(s32 height) {
|
||||
}
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel debmenu7000AF98
|
||||
/* 00BB98 7000AF98 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 00BB9C 7000AF9C AFB30020 */ sw $s3, 0x20($sp)
|
||||
/* 00BBA0 7000AFA0 AFB2001C */ sw $s2, 0x1c($sp)
|
||||
/* 00BBA4 7000AFA4 AFB10018 */ sw $s1, 0x18($sp)
|
||||
/* 00BBA8 7000AFA8 AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* 00BBAC 7000AFAC AFB00014 */ sw $s0, 0x14($sp)
|
||||
/* 00BBB0 7000AFB0 24110021 */ li $s1, 33
|
||||
/* 00BBB4 7000AFB4 24120050 */ li $s2, 80
|
||||
/* 00BBB8 7000AFB8 24930021 */ addiu $s3, $a0, 0x21
|
||||
.L7000AFBC:
|
||||
/* 00BBBC 7000AFBC 0660000D */ bltz $s3, .L7000AFF4
|
||||
/* 00BBC0 7000AFC0 2A610023 */ slti $at, $s3, 0x23
|
||||
/* 00BBC4 7000AFC4 1020000B */ beqz $at, .L7000AFF4
|
||||
/* 00BBC8 7000AFC8 00008025 */ move $s0, $zero
|
||||
/* 00BBCC 7000AFCC 02002025 */ move $a0, $s0
|
||||
.L7000AFD0:
|
||||
/* 00BBD0 7000AFD0 02602825 */ move $a1, $s3
|
||||
/* 00BBD4 7000AFD4 02003025 */ move $a2, $s0
|
||||
/* 00BBD8 7000AFD8 0C002BE1 */ jal debmenu7000AF84
|
||||
/* 00BBDC 7000AFDC 02203825 */ move $a3, $s1
|
||||
/* 00BBE0 7000AFE0 26100001 */ addiu $s0, $s0, 1
|
||||
/* 00BBE4 7000AFE4 5612FFFA */ bnel $s0, $s2, .L7000AFD0
|
||||
/* 00BBE8 7000AFE8 02002025 */ move $a0, $s0
|
||||
/* 00BBEC 7000AFEC 1000000A */ b .L7000B018
|
||||
/* 00BBF0 7000AFF0 02201025 */ move $v0, $s1
|
||||
.L7000AFF4:
|
||||
/* 00BBF4 7000AFF4 00008025 */ move $s0, $zero
|
||||
/* 00BBF8 7000AFF8 02002025 */ move $a0, $s0
|
||||
.L7000AFFC:
|
||||
/* 00BBFC 7000AFFC 02202825 */ move $a1, $s1
|
||||
/* 00BC00 7000B000 0C002B74 */ jal debmenuWriteCharAtPos
|
||||
/* 00BC04 7000B004 00003025 */ move $a2, $zero
|
||||
/* 00BC08 7000B008 26100001 */ addiu $s0, $s0, 1
|
||||
/* 00BC0C 7000B00C 5612FFFB */ bnel $s0, $s2, .L7000AFFC
|
||||
/* 00BC10 7000B010 02002025 */ move $a0, $s0
|
||||
/* 00BC14 7000B014 02201025 */ move $v0, $s1
|
||||
.L7000B018:
|
||||
/* 00BC18 7000B018 2673FFFF */ addiu $s3, $s3, -1
|
||||
/* 00BC1C 7000B01C 1620FFE7 */ bnez $s1, .L7000AFBC
|
||||
/* 00BC20 7000B020 2631FFFF */ addiu $s1, $s1, -1
|
||||
/* 00BC24 7000B024 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 00BC28 7000B028 8FB00014 */ lw $s0, 0x14($sp)
|
||||
/* 00BC2C 7000B02C 8FB10018 */ lw $s1, 0x18($sp)
|
||||
/* 00BC30 7000B030 8FB2001C */ lw $s2, 0x1c($sp)
|
||||
/* 00BC34 7000B034 8FB30020 */ lw $s3, 0x20($sp)
|
||||
/* 00BC38 7000B038 03E00008 */ jr $ra
|
||||
/* 00BC3C 7000B03C 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
void debmenuSetPos(s32 x, s32 y) {
|
||||
#ifdef LEFTOVERDEBUG
|
||||
@@ -362,320 +307,141 @@ void debmenuSetPositionAndWriteString(s32 x, s32 y, const unsigned char *str) {
|
||||
#endif
|
||||
}
|
||||
|
||||
//hacky hack for DEBUGMENU until properly decompiled
|
||||
#if !defined(DEBUGMENU) && defined(LEFTOVERDEBUG)
|
||||
u32 percentage = 0xFF; // Static?
|
||||
#endif
|
||||
#ifdef DEBUGMENU
|
||||
u32 get_random_value(void);
|
||||
// very close gSPTextureRectangle has some reordering issues
|
||||
|
||||
|
||||
Gfx *debmenuDraw(Gfx *gdl)
|
||||
{
|
||||
#if defined(LEFTOVERDEBUG)
|
||||
s32 x;
|
||||
#if defined(LEFTOVERDEBUG)
|
||||
|
||||
s32 y;
|
||||
s32 x;
|
||||
s32 appliedpaletteindex;
|
||||
s32 available;
|
||||
s32 needed;
|
||||
s32 available;
|
||||
Gfx *gdl2;
|
||||
static u32 percentage = 255;
|
||||
|
||||
// Calculate how much space is needed in the display list
|
||||
// based on the number of characters to draw and the number
|
||||
// of times the colours will be changed.
|
||||
gdl2 = gdl;
|
||||
appliedpaletteindex = -1;
|
||||
for (y = 0; y < 35; y++) {
|
||||
for (x = 0; x < 80; x++) {
|
||||
|
||||
for (y = 0; y < 35; y++)
|
||||
{
|
||||
for (x = 0; x < 80; x++)
|
||||
{
|
||||
u32 c = g_DebugMenuTextBuffer[x][y].chr;
|
||||
s32 paletteindex = g_DebugMenuTextBuffer[x][y].color;
|
||||
if (c != '\0') {
|
||||
if (paletteindex != appliedpaletteindex) {
|
||||
|
||||
if (c != '\0')
|
||||
{
|
||||
if (paletteindex != appliedpaletteindex)
|
||||
{
|
||||
gdl2 += 2;
|
||||
appliedpaletteindex = paletteindex;
|
||||
}
|
||||
if (1);
|
||||
gdl2 += 3;
|
||||
|
||||
if (1)
|
||||
{
|
||||
gdl2 += 3;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Make sure there'll be a least 256 GBI commands free (2KB)
|
||||
available = dynGetFreeGfx(gdl) - 256 * sizeof(Gfx);
|
||||
needed = (u32)gdl2 - (u32)gdl;
|
||||
|
||||
if (needed <= 0) { // shouldn't be possible
|
||||
return gdl;
|
||||
}
|
||||
|
||||
if(1)
|
||||
{
|
||||
s32 x;
|
||||
s32 appliedpaletteindex = -1;
|
||||
// Write a "percentage" (out of 255) into a global variable
|
||||
|
||||
// Write a "g_DebugMenuPercentage" (out of 255) into a global variable
|
||||
// which shows how much of the displaylist will be committed,
|
||||
// provided 2KB is kept free.
|
||||
if (available <= 0) {
|
||||
// provided 2KB is kept free.
|
||||
if (available <= 0)
|
||||
{
|
||||
// There's already less than 2KB free in the display list
|
||||
percentage = 0;
|
||||
} else if (needed > available) {
|
||||
g_DebugMenuPercentage = 0;
|
||||
}
|
||||
else if (needed > available)
|
||||
{
|
||||
// The display list would end with less than 2KB free,
|
||||
// so calculate the percentage
|
||||
percentage = available * 255 / needed;
|
||||
} else {
|
||||
// so calculate the g_DebugMenuPercentage
|
||||
g_DebugMenuPercentage = available * 255 / needed;
|
||||
}
|
||||
else
|
||||
{
|
||||
// The display list would end with at least 2KB free,
|
||||
// so the displaylist can be committed in full
|
||||
percentage = 256;
|
||||
g_DebugMenuPercentage = 256;
|
||||
}
|
||||
|
||||
gSPDisplayList(gdl++, g_DebugMenuTextureDisplayList);
|
||||
// Build the display list for real this time.
|
||||
|
||||
// Build the display list for real this time.
|
||||
// Regardless of the availability checks above, just stop when
|
||||
// there's less than 1KB of free space... sort of. It still writes
|
||||
// the colour change commands, but the debug HUD doesn't exactly
|
||||
// draw rainbows so it's no big deal.
|
||||
for (y = 0; y < 35; y++) {
|
||||
for (x = 0; x < 80; x++) {
|
||||
for (y = 0; y < 35; y++)
|
||||
{
|
||||
s32 x;
|
||||
for (x = 0; x < 80; x++)
|
||||
{
|
||||
u32 c = g_DebugMenuTextBuffer[x][y].chr;
|
||||
s32 paletteindex = g_DebugMenuTextBuffer[x][y].color;
|
||||
if (c != '\0') {
|
||||
if (paletteindex != appliedpaletteindex) {
|
||||
*gdl = g_DHudFgGbiPtrs[paletteindex]; gdl++;
|
||||
*gdl = g_DHudBgGbiPtrs[paletteindex]; gdl++;
|
||||
|
||||
if(x == 80);
|
||||
|
||||
if (c != '\0')
|
||||
{
|
||||
if (paletteindex != appliedpaletteindex)
|
||||
{
|
||||
*gdl = g_DHudFgGbiPtrs[paletteindex];
|
||||
gdl++;
|
||||
*gdl = g_DHudBgGbiPtrs[paletteindex];
|
||||
gdl++;
|
||||
appliedpaletteindex = paletteindex;
|
||||
}
|
||||
#ifndef DEBUGMENU
|
||||
if ((randomGetNext() & 0xFF) < percentage) {
|
||||
#else
|
||||
if(1) {
|
||||
#endif
|
||||
if (dynGetFreeGfx(gdl) >= 1024) {
|
||||
|
||||
#ifndef DEBUGMENU
|
||||
if ((randomGetNext() & 0xFF) < g_DebugMenuPercentage )
|
||||
#else
|
||||
if(1)
|
||||
#endif
|
||||
{
|
||||
if (dynGetFreeGfx(gdl) >= 1024)
|
||||
{
|
||||
|
||||
gSPTextureRectangle(gdl++,
|
||||
// Screen coords to draw at
|
||||
x * 4 * 4,
|
||||
y * 7 * 4,
|
||||
x * 4 * 4 + 4 * 4,
|
||||
y * 7 * 4 + 7 * 4,
|
||||
0,
|
||||
// Sprite X and Y positions
|
||||
((c - ' ') % 32) * 4 * 32,
|
||||
((s32)(c - ' ') >> 5) * 7 * 32,
|
||||
1024, 1024);
|
||||
// Screen coords to draw at
|
||||
x * 4 * 4,
|
||||
y * 7 * 4,
|
||||
x * 4 * 4 + 4 * 4,
|
||||
y * 7 * 4 + 7 * 4,
|
||||
G_TX_RENDERTILE,
|
||||
// Sprite X and Y positions
|
||||
((c - ' ') % 32) * 4 * 32,
|
||||
((s32)(c - ' ') >> 5) * 7 * 32,
|
||||
1024,
|
||||
1024);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (appliedpaletteindex == 1);
|
||||
if(y);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif // defined(LEFTOVERDEBUG)
|
||||
|
||||
return gdl;
|
||||
}
|
||||
|
||||
|
||||
#else
|
||||
|
||||
#ifndef VERSION_EU
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel debmenuDraw
|
||||
/* 00BE7C 7000B27C 27BDFF78 */ addiu $sp, $sp, -0x88
|
||||
/* 00BE80 7000B280 AFB5002C */ sw $s5, 0x2c($sp)
|
||||
/* 00BE84 7000B284 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 00BE88 7000B288 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 00BE8C 7000B28C 3C078002 */ lui $a3, %hi(g_DHudFgGbiPtrs)
|
||||
/* 00BE90 7000B290 00808025 */ move $s0, $a0
|
||||
/* 00BE94 7000B294 AFBF003C */ sw $ra, 0x3c($sp)
|
||||
/* 00BE98 7000B298 AFBE0038 */ sw $fp, 0x38($sp)
|
||||
/* 00BE9C 7000B29C AFB70034 */ sw $s7, 0x34($sp)
|
||||
/* 00BEA0 7000B2A0 AFB60030 */ sw $s6, 0x30($sp)
|
||||
/* 00BEA4 7000B2A4 AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* 00BEA8 7000B2A8 AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* 00BEAC 7000B2AC AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 00BEB0 7000B2B0 00808825 */ move $s1, $a0
|
||||
/* 00BEB4 7000B2B4 2406FFFF */ li $a2, -1
|
||||
/* 00BEB8 7000B2B8 24E76610 */ addiu $a3, %lo(g_DHudFgGbiPtrs) # addiu $a3, $a3, 0x6610
|
||||
/* 00BEBC 7000B2BC 0000A825 */ move $s5, $zero
|
||||
/* 00BEC0 7000B2C0 00004025 */ move $t0, $zero
|
||||
.L7000B2C4:
|
||||
/* 00BEC4 7000B2C4 3C0E8002 */ lui $t6, %hi(g_DebugMenuTextBuffer)
|
||||
/* 00BEC8 7000B2C8 25C55030 */ addiu $a1, $t6, %lo(g_DebugMenuTextBuffer)
|
||||
/* 00BECC 7000B2CC 01052021 */ addu $a0, $t0, $a1
|
||||
.L7000B2D0:
|
||||
/* 00BED0 7000B2D0 90820000 */ lbu $v0, ($a0)
|
||||
/* 00BED4 7000B2D4 24A50046 */ addiu $a1, $a1, 0x46
|
||||
/* 00BED8 7000B2D8 90830001 */ lbu $v1, 1($a0)
|
||||
/* 00BEDC 7000B2DC 10400006 */ beqz $v0, .L7000B2F8
|
||||
/* 00BEE0 7000B2E0 00000000 */ nop
|
||||
/* 00BEE4 7000B2E4 50660004 */ beql $v1, $a2, .L7000B2F8
|
||||
/* 00BEE8 7000B2E8 26310018 */ addiu $s1, $s1, 0x18
|
||||
/* 00BEEC 7000B2EC 26310010 */ addiu $s1, $s1, 0x10
|
||||
/* 00BEF0 7000B2F0 00603025 */ move $a2, $v1
|
||||
/* 00BEF4 7000B2F4 26310018 */ addiu $s1, $s1, 0x18
|
||||
.L7000B2F8:
|
||||
/* 00BEF8 7000B2F8 14A7FFF5 */ bne $a1, $a3, .L7000B2D0
|
||||
/* 00BEFC 7000B2FC 24840046 */ addiu $a0, $a0, 0x46
|
||||
/* 00BF00 7000B300 25080002 */ addiu $t0, $t0, 2
|
||||
/* 00BF04 7000B304 29010046 */ slti $at, $t0, 0x46
|
||||
/* 00BF08 7000B308 1420FFEE */ bnez $at, .L7000B2C4
|
||||
/* 00BF0C 7000B30C 00000000 */ nop
|
||||
/* 00BF10 7000B310 0FC2F5DF */ jal dynGetFreeGfx
|
||||
/* 00BF14 7000B314 02002025 */ move $a0, $s0
|
||||
/* 00BF18 7000B318 02302023 */ subu $a0, $s1, $s0
|
||||
/* 00BF1C 7000B31C 1C800003 */ bgtz $a0, .L7000B32C
|
||||
/* 00BF20 7000B320 2443F800 */ addiu $v1, $v0, -0x800
|
||||
/* 00BF24 7000B324 10000080 */ b .L7000B528
|
||||
/* 00BF28 7000B328 02001025 */ move $v0, $s0
|
||||
.L7000B32C:
|
||||
/* 00BF2C 7000B32C 1C600004 */ bgtz $v1, .L7000B340
|
||||
/* 00BF30 7000B330 2414FFFF */ li $s4, -1
|
||||
/* 00BF34 7000B334 3C018002 */ lui $at, %hi(percentage)
|
||||
/* 00BF38 7000B338 10000017 */ b .L7000B398
|
||||
/* 00BF3C 7000B33C AC2068B8 */ sw $zero, %lo(percentage)($at)
|
||||
.L7000B340:
|
||||
/* 00BF40 7000B340 0064082A */ slt $at, $v1, $a0
|
||||
/* 00BF44 7000B344 10200011 */ beqz $at, .L7000B38C
|
||||
/* 00BF48 7000B348 00037A00 */ sll $t7, $v1, 8
|
||||
/* 00BF4C 7000B34C 01E37823 */ subu $t7, $t7, $v1
|
||||
/* 00BF50 7000B350 01E4001A */ div $zero, $t7, $a0
|
||||
/* 00BF54 7000B354 14800002 */ bnez $a0, .L7000B360
|
||||
/* 00BF58 7000B358 00000000 */ nop
|
||||
/* 00BF5C 7000B35C 0007000D */ break 7
|
||||
.L7000B360:
|
||||
/* 00BF60 7000B360 2401FFFF */ li $at, -1
|
||||
/* 00BF64 7000B364 14810004 */ bne $a0, $at, .L7000B378
|
||||
/* 00BF68 7000B368 3C018000 */ lui $at, 0x8000
|
||||
/* 00BF6C 7000B36C 15E10002 */ bne $t7, $at, .L7000B378
|
||||
/* 00BF70 7000B370 00000000 */ nop
|
||||
/* 00BF74 7000B374 0006000D */ break 6
|
||||
.L7000B378:
|
||||
/* 00BF78 7000B378 3C018002 */ lui $at, %hi(percentage)
|
||||
/* 00BF7C 7000B37C 0000C012 */ mflo $t8
|
||||
/* 00BF80 7000B380 AC3868B8 */ sw $t8, %lo(percentage)($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(percentage)
|
||||
/* 00BF94 7000B394 AC3968B8 */ sw $t9, %lo(percentage)($at)
|
||||
.L7000B398:
|
||||
/* 00BF98 7000B398 02001025 */ move $v0, $s0
|
||||
.L7000B39C:
|
||||
/* 00BF9C 7000B39C 3C0A8002 */ lui $t2, %hi(g_DebugMenuTextureDisplayList)
|
||||
/* 00BFA0 7000B3A0 254A4FB0 */ addiu $t2, %lo(g_DebugMenuTextureDisplayList) # 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(g_DHudBgGbiPtrs)
|
||||
/* 00BFB4 7000B3B4 3C178002 */ lui $s7, %hi(g_DHudFgGbiPtrs)
|
||||
/* 00BFB8 7000B3B8 26100008 */ addiu $s0, $s0, 8
|
||||
/* 00BFBC 7000B3BC 26F76610 */ addiu $s7, %lo(g_DHudFgGbiPtrs) # addiu $s7, $s7, 0x6610
|
||||
/* 00BFC0 7000B3C0 27DE6710 */ addiu $fp, %lo(g_DHudBgGbiPtrs) # addiu $fp, $fp, 0x6710
|
||||
/* 00BFC4 7000B3C4 AFA00040 */ sw $zero, 0x40($sp)
|
||||
/* 00BFC8 7000B3C8 0000A825 */ move $s5, $zero
|
||||
/* 00BFCC 7000B3CC 24160050 */ li $s6, 80
|
||||
.L7000B3D0:
|
||||
/* 00BFD0 7000B3D0 8FAB0040 */ lw $t3, 0x40($sp)
|
||||
/* 00BFD4 7000B3D4 3C0C8002 */ lui $t4, %hi(g_DebugMenuTextBuffer)
|
||||
/* 00BFD8 7000B3D8 258C5030 */ addiu $t4, %lo(g_DebugMenuTextBuffer) # addiu $t4, $t4, 0x5030
|
||||
/* 00BFDC 7000B3DC 00008825 */ move $s1, $zero
|
||||
/* 00BFE0 7000B3E0 016C9021 */ addu $s2, $t3, $t4
|
||||
.L7000B3E4:
|
||||
/* 00BFE4 7000B3E4 92530000 */ lbu $s3, ($s2)
|
||||
/* 00BFE8 7000B3E8 92430001 */ lbu $v1, 1($s2)
|
||||
/* 00BFEC 7000B3EC 52600045 */ beql $s3, $zero, .L7000B504
|
||||
/* 00BFF0 7000B3F0 26310001 */ addiu $s1, $s1, 1
|
||||
/* 00BFF4 7000B3F4 1074000D */ beq $v1, $s4, .L7000B42C
|
||||
/* 00BFF8 7000B3F8 000310C0 */ sll $v0, $v1, 3
|
||||
/* 00BFFC 7000B3FC 02E26821 */ addu $t5, $s7, $v0
|
||||
/* 00C000 7000B400 8DA10000 */ lw $at, ($t5)
|
||||
/* 00C004 7000B404 03C2C021 */ addu $t8, $fp, $v0
|
||||
/* 00C008 7000B408 26100010 */ addiu $s0, $s0, 0x10
|
||||
/* 00C00C 7000B40C AE01FFF0 */ sw $at, -0x10($s0)
|
||||
/* 00C010 7000B410 8DAF0004 */ lw $t7, 4($t5)
|
||||
/* 00C014 7000B414 0060A025 */ move $s4, $v1
|
||||
/* 00C018 7000B418 AE0FFFF4 */ sw $t7, -0xc($s0)
|
||||
/* 00C01C 7000B41C 8F010000 */ lw $at, ($t8)
|
||||
/* 00C020 7000B420 AE01FFF8 */ sw $at, -8($s0)
|
||||
/* 00C024 7000B424 8F090004 */ lw $t1, 4($t8)
|
||||
/* 00C028 7000B428 AE09FFFC */ sw $t1, -4($s0)
|
||||
.L7000B42C:
|
||||
/* 00C02C 7000B42C 0C002914 */ jal randomGetNext
|
||||
/* 00C030 7000B430 00000000 */ nop
|
||||
/* 00C034 7000B434 3C0B8002 */ lui $t3, %hi(percentage)
|
||||
/* 00C038 7000B438 8D6B68B8 */ lw $t3, %lo(percentage)($t3)
|
||||
/* 00C03C 7000B43C 304A00FF */ andi $t2, $v0, 0xff
|
||||
/* 00C040 7000B440 014B082B */ sltu $at, $t2, $t3
|
||||
/* 00C044 7000B444 5020002F */ beql $at, $zero, .L7000B504
|
||||
/* 00C048 7000B448 26310001 */ addiu $s1, $s1, 1
|
||||
/* 00C04C 7000B44C 0FC2F5DF */ jal dynGetFreeGfx
|
||||
/* 00C050 7000B450 02002025 */ move $a0, $s0
|
||||
/* 00C054 7000B454 28410400 */ slti $at, $v0, 0x400
|
||||
/* 00C058 7000B458 14200029 */ bnez $at, .L7000B500
|
||||
/* 00C05C 7000B45C 02001025 */ move $v0, $s0
|
||||
/* 00C060 7000B460 00111900 */ sll $v1, $s1, 4
|
||||
/* 00C064 7000B464 001520C0 */ sll $a0, $s5, 3
|
||||
/* 00C068 7000B468 00952023 */ subu $a0, $a0, $s5
|
||||
/* 00C06C 7000B46C 246C0010 */ addiu $t4, $v1, 0x10
|
||||
/* 00C070 7000B470 318E0FFF */ andi $t6, $t4, 0xfff
|
||||
/* 00C074 7000B474 00042080 */ sll $a0, $a0, 2
|
||||
/* 00C078 7000B478 306A0FFF */ andi $t2, $v1, 0xfff
|
||||
/* 00C07C 7000B47C 000A5B00 */ sll $t3, $t2, 0xc
|
||||
/* 00C080 7000B480 000E6B00 */ sll $t5, $t6, 0xc
|
||||
/* 00C084 7000B484 2499001C */ addiu $t9, $a0, 0x1c
|
||||
/* 00C088 7000B488 308C0FFF */ andi $t4, $a0, 0xfff
|
||||
/* 00C08C 7000B48C 3C01E400 */ lui $at, 0xe400
|
||||
/* 00C090 7000B490 2666FFE0 */ addiu $a2, $s3, -0x20
|
||||
/* 00C094 7000B494 00065143 */ sra $t2, $a2, 5
|
||||
/* 00C098 7000B498 01A17825 */ or $t7, $t5, $at
|
||||
/* 00C09C 7000B49C 016C7025 */ or $t6, $t3, $t4
|
||||
/* 00C0A0 7000B4A0 33380FFF */ andi $t8, $t9, 0xfff
|
||||
/* 00C0A4 7000B4A4 01F84825 */ or $t1, $t7, $t8
|
||||
/* 00C0A8 7000B4A8 000A58C0 */ sll $t3, $t2, 3
|
||||
/* 00C0AC 7000B4AC 016A5823 */ subu $t3, $t3, $t2
|
||||
/* 00C0B0 7000B4B0 26100008 */ addiu $s0, $s0, 8
|
||||
/* 00C0B4 7000B4B4 02002825 */ move $a1, $s0
|
||||
/* 00C0B8 7000B4B8 000B5940 */ sll $t3, $t3, 5
|
||||
/* 00C0BC 7000B4BC AC490000 */ sw $t1, ($v0)
|
||||
/* 00C0C0 7000B4C0 30D8001F */ andi $t8, $a2, 0x1f
|
||||
/* 00C0C4 7000B4C4 AC4E0004 */ sw $t6, 4($v0)
|
||||
/* 00C0C8 7000B4C8 00184DC0 */ sll $t1, $t8, 0x17
|
||||
/* 00C0CC 7000B4CC 316CFFFF */ andi $t4, $t3, 0xffff
|
||||
/* 00C0D0 7000B4D0 26100008 */ addiu $s0, $s0, 8
|
||||
/* 00C0D4 7000B4D4 3C0DB400 */ lui $t5, 0xb400
|
||||
/* 00C0D8 7000B4D8 ACAD0000 */ sw $t5, ($a1)
|
||||
/* 00C0DC 7000B4DC 02003825 */ move $a3, $s0
|
||||
/* 00C0E0 7000B4E0 012C7025 */ or $t6, $t1, $t4
|
||||
/* 00C0E4 7000B4E4 ACAE0004 */ sw $t6, 4($a1)
|
||||
/* 00C0E8 7000B4E8 3C190400 */ lui $t9, (0x04000400 >> 16) # lui $t9, 0x400
|
||||
/* 00C0EC 7000B4EC 37390400 */ ori $t9, (0x04000400 & 0xFFFF) # ori $t9, $t9, 0x400
|
||||
/* 00C0F0 7000B4F0 3C0DB300 */ lui $t5, 0xb300
|
||||
/* 00C0F4 7000B4F4 ACED0000 */ sw $t5, ($a3)
|
||||
/* 00C0F8 7000B4F8 ACF90004 */ sw $t9, 4($a3)
|
||||
/* 00C0FC 7000B4FC 26100008 */ addiu $s0, $s0, 8
|
||||
.L7000B500:
|
||||
/* 00C100 7000B500 26310001 */ addiu $s1, $s1, 1
|
||||
.L7000B504:
|
||||
/* 00C104 7000B504 1636FFB7 */ bne $s1, $s6, .L7000B3E4
|
||||
/* 00C108 7000B508 26520046 */ addiu $s2, $s2, 0x46
|
||||
/* 00C10C 7000B50C 8FAF0040 */ lw $t7, 0x40($sp)
|
||||
/* 00C110 7000B510 26B50001 */ addiu $s5, $s5, 1
|
||||
/* 00C114 7000B514 24010023 */ li $at, 35
|
||||
/* 00C118 7000B518 25F80002 */ addiu $t8, $t7, 2
|
||||
/* 00C11C 7000B51C 16A1FFAC */ bne $s5, $at, .L7000B3D0
|
||||
/* 00C120 7000B520 AFB80040 */ sw $t8, 0x40($sp)
|
||||
/* 00C124 7000B524 02001025 */ move $v0, $s0
|
||||
.L7000B528:
|
||||
/* 00C128 7000B528 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
/* 00C12C 7000B52C 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 00C130 7000B530 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 00C134 7000B534 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 00C138 7000B538 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* 00C13C 7000B53C 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* 00C140 7000B540 8FB5002C */ lw $s5, 0x2c($sp)
|
||||
/* 00C144 7000B544 8FB60030 */ lw $s6, 0x30($sp)
|
||||
/* 00C148 7000B548 8FB70034 */ lw $s7, 0x34($sp)
|
||||
/* 00C14C 7000B54C 8FBE0038 */ lw $fp, 0x38($sp)
|
||||
/* 00C150 7000B550 03E00008 */ jr $ra
|
||||
/* 00C154 7000B554 27BD0088 */ addiu $sp, $sp, 0x88
|
||||
)
|
||||
#else
|
||||
Gfx *debmenuDraw(Gfx *gdl)
|
||||
{
|
||||
return gdl;
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
@@ -57,8 +57,8 @@ struct VideoSettings_s g_ViDataArray[NUM_VIDEO_SETTINGS] =
|
||||
#else
|
||||
struct VideoSettings_s g_ViDataArray[NUM_VIDEO_SETTINGS] =
|
||||
{
|
||||
{0, 0, 0, 0, 320, 240, 60.0f, 1.3333334f, 30.0f, 10000.0f, SCREEN_WIDTH, SCREEN_HEIGHT, 320, 240, 0, 0, 1, NULL},
|
||||
{0, 0, 0, 0, 320, 240, 60.0f, 1.3333334f, 30.0f, 10000.0f, SCREEN_WIDTH, SCREEN_HEIGHT, 320, 240, 0, 0, 1, NULL}
|
||||
{0, 0, 0, 0, 320, 240, 60.0f, ASPECT_RATIO_SD, 30.0f, 10000.0f, SCREEN_WIDTH, SCREEN_HEIGHT, 320, 240, 0, 0, 1, NULL},
|
||||
{0, 0, 0, 0, 320, 240, 60.0f, ASPECT_RATIO_SD, 30.0f, 10000.0f, SCREEN_WIDTH, SCREEN_HEIGHT, 320, 240, 0, 0, 1, NULL}
|
||||
};
|
||||
#endif
|
||||
|
||||
@@ -284,6 +284,8 @@ void viVsyncRelated(void)
|
||||
* 3E98 70003298
|
||||
* Some code (and defines) based on n64devkit\ultra\usr\src\pr\demos\blockmonkey\block.c
|
||||
*
|
||||
* https://decomp.me/scratch/0yXle 98.52%
|
||||
*
|
||||
* decomp status:
|
||||
* - compiles: yes
|
||||
* - stack resize: ok
|
||||
@@ -492,11 +494,9 @@ void video_related_8(void)
|
||||
g_ViFrontIndex = (g_ViFrontIndex + 1) % NUM_VIDEO_SETTINGS;
|
||||
g_ViBackIndex = (g_ViBackIndex + 1) % NUM_VIDEO_SETTINGS;
|
||||
|
||||
// first li 44, needs to be signed. (sizeof(VideoSettings) == 44)
|
||||
g_ViFrontData = (VideoSettings*)((u8*)&g_ViDataArray + (g_ViFrontIndex * (s32)sizeof(VideoSettings)));
|
||||
g_ViBackData = (VideoSettings*)((u8*)&g_ViDataArray + (g_ViBackIndex * (s32)sizeof(VideoSettings)));
|
||||
g_ViFrontData = g_ViDataArray + g_ViFrontIndex;
|
||||
g_ViBackData = g_ViDataArray + g_ViBackIndex;
|
||||
|
||||
// second li 44, can be signed or unsigned.
|
||||
bcopy(settings, g_ViBackData, sizeof(VideoSettings));
|
||||
g_ViBackData->framebuf = cfb_16[g_ViBackIndex];
|
||||
}
|
||||
@@ -1114,7 +1114,7 @@ glabel video_related_8
|
||||
/* 003A44 70002E44 3C188002 */ lui $t8, %hi(g_viColorOutputMode) # $t8, 0x8002
|
||||
/* 003A48 70002E48 24010002 */ li $at, 2
|
||||
/* 003A4C 70002E4C 10610043 */ beq $v1, $at, .L70002F5C
|
||||
/* 003A50 70002E50 3C0E8002 */ lui $t6, 0x8002
|
||||
/* 003A50 70002E50 3C0E8002 */ lui $t6, 0x8002 # fixme?
|
||||
/* 003A54 70002E54 10000050 */ b .L70002F98
|
||||
/* 003A58 70002E58 00000000 */ nop
|
||||
.L70002E5C:
|
||||
@@ -1227,7 +1227,7 @@ glabel video_related_8
|
||||
/* 003BE4 70002FE4 3C0D8002 */ lui $t5, %hi(g_viColorOutputMode) # $t5, 0x8002
|
||||
/* 003BE8 70002FE8 340AFFFF */ li $t2, 65535
|
||||
/* 003BEC 70002FEC 468084A0 */ cvt.s.w $f18, $f16
|
||||
/* 003BF0 70002FF0 3C088002 */ lui $t0, 0x8002
|
||||
/* 003BF0 70002FF0 3C088002 */ lui $t0, %hi(D_800232A0)
|
||||
/* 003BF4 70002FF4 46802220 */ cvt.s.w $f8, $f4
|
||||
/* 003BF8 70002FF8 460A3083 */ div.s $f2, $f6, $f10
|
||||
/* 003BFC 70002FFC 14600003 */ bnez $v1, .L7000300C
|
||||
@@ -1236,22 +1236,22 @@ glabel video_related_8
|
||||
/* 003C08 70003008 00000000 */ nop
|
||||
.L7000300C:
|
||||
/* 003C0C 7000300C 8FFF1160 */ lw $ra, %lo(D_800232C0)($ra)
|
||||
/* 003C10 70003010 3C018002 */ lui $at, 0x8002
|
||||
/* 003C10 70003010 3C018002 */ lui $at, %hi(g_ViXScales)
|
||||
/* 003C14 70003014 001F6080 */ sll $t4, $ra, 2
|
||||
/* 003C18 70003018 002C0821 */ addu $at, $at, $t4
|
||||
/* 003C1C 7000301C E4220F74 */ swc1 $f2, 0xf74($at)
|
||||
/* 003C20 70003020 3C018002 */ lui $at, 0x8002
|
||||
/* 003C1C 7000301C E4220F74 */ swc1 $f2, %lo(g_ViXScales)($at)
|
||||
/* 003C20 70003020 3C018002 */ lui $at, %hi(g_ViYScales)
|
||||
/* 003C24 70003024 002C0821 */ addu $at, $at, $t4
|
||||
/* 003C28 70003028 E4200F7C */ swc1 $f0, 0xf7c($at)
|
||||
/* 003C28 70003028 E4200F7C */ swc1 $f0, %lo(g_ViYScales)($at)
|
||||
/* 003C2C 7000302C 90EE0000 */ lbu $t6, ($a3)
|
||||
/* 003C30 70003030 24010001 */ li $at, 1
|
||||
/* 003C34 70003034 15C100F2 */ bne $t6, $at, .L70003400
|
||||
/* 003C38 70003038 00000000 */ nop
|
||||
/* 003C3C 7000303C 8DAD114C */ lw $t5, %lo(g_viColorOutputMode)($t5)
|
||||
/* 003C40 70003040 3C018005 */ lui $at, 0x8005
|
||||
/* 003C40 70003040 3C018005 */ lui $at, %hi(g_ViModePtrs)
|
||||
/* 003C44 70003044 002C0821 */ addu $at, $at, $t4
|
||||
/* 003C48 70003048 11A00019 */ beqz $t5, .L700030B0
|
||||
/* 003C4C 7000304C AC391FA0 */ sw $t9, 0x1fa0($at)
|
||||
/* 003C4C 7000304C AC391FA0 */ sw $t9, %lo(g_ViModePtrs)($at)
|
||||
/* 003C50 70003050 001FC080 */ sll $t8, $ra, 2
|
||||
/* 003C54 70003054 031FC021 */ addu $t8, $t8, $ra
|
||||
/* 003C58 70003058 3C0F8005 */ lui $t7, %hi(g_ViModes) # $t7, 0x8005
|
||||
@@ -1415,7 +1415,7 @@ glabel video_related_8
|
||||
/* 003E94 70003294 10000001 */ b .L7000329C
|
||||
/* 003E98 70003298 2403000E */ li $v1, 14
|
||||
.L7000329C:
|
||||
/* 003E9C 7000329C 8D081140 */ lw $t0, 0x1140($t0)
|
||||
/* 003E9C 7000329C 8D081140 */ lw $t0, %lo(D_800232A0)($t0)
|
||||
/* 003EA0 700032A0 30D8FFFF */ andi $t8, $a2, 0xffff
|
||||
/* 003EA4 700032A4 00787821 */ addu $t7, $v1, $t8
|
||||
/* 003EA8 700032A8 01E87021 */ addu $t6, $t7, $t0
|
||||
@@ -1937,7 +1937,6 @@ Gfx *viSetFillColor(Gfx *gdl, s32 r, s32 g, s32 b)
|
||||
void indyGrabJpg16bit(void)
|
||||
{
|
||||
#ifdef LEFTOVERDEBUG
|
||||
#ifndef ENABLE_USB
|
||||
s32 *pgrabnum = &g_indyJpg16BitGrabnum;
|
||||
char buffer[250];
|
||||
s32 filesize;
|
||||
@@ -1970,10 +1969,6 @@ void indyGrabJpg16bit(void)
|
||||
|
||||
sprintf(buffer, "imgview grab.%d.jpeg", *pgrabnum);
|
||||
indycommHostSendCmd((u8*)&buffer);
|
||||
#else
|
||||
//msg.msgtype
|
||||
usb_write(DATATYPE_RAWBINARY , (u8*)g_ViBackData->framebuf, (viGetX() * viGetY() * 2));
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -1984,7 +1979,6 @@ usb_write(DATATYPE_RAWBINARY , (u8*)g_ViBackData->framebuf, (viGetX() * viGetY(
|
||||
void indyGrabJpg32bit(void)
|
||||
{
|
||||
#if defined(LEFTOVERDEBUG)
|
||||
#if !defined(ENABLE_USB)
|
||||
s32 *pgrabnum = &g_indyJpg32BitGrabnum;
|
||||
char buffer[250];
|
||||
s32 filesize;
|
||||
@@ -2017,9 +2011,6 @@ void indyGrabJpg32bit(void)
|
||||
|
||||
sprintf(buffer, "imgview grab.%d.jpeg", *pgrabnum);
|
||||
indycommHostSendCmd((u8*)&buffer);
|
||||
#else
|
||||
usb_write(DATATYPE_RAWBINARY , (u8*)&cfb_16, (viGetX() * viGetY() * 4));
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -2029,8 +2020,7 @@ usb_write(DATATYPE_RAWBINARY , (u8*)&cfb_16, (viGetX() * viGetY() * 4));
|
||||
*/
|
||||
void indyGrabRgb16bit(void)
|
||||
{
|
||||
#if defined(LEFTOVERDEBUG)
|
||||
#if !defined(ENABLE_USB)
|
||||
#if defined(LEFTOVERDEBUG)
|
||||
s32 *pgrabnum = &g_indyRgb16BitGrabnum;
|
||||
char buffer[250];
|
||||
s32 filesize;
|
||||
@@ -2060,11 +2050,7 @@ void indyGrabRgb16bit(void)
|
||||
|
||||
sprintf(buffer, "imgview grab.%d.rgb", *pgrabnum);
|
||||
indycommHostSendCmd((u8*)&buffer);
|
||||
#else
|
||||
//msg.msgtype
|
||||
usb_write(DATATYPE_RAWBINARY , (u8*)g_ViBackData->framebuf, (viGetX() * viGetY() * 2));
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2073,8 +2059,7 @@ usb_write(DATATYPE_RAWBINARY , (u8*)g_ViBackData->framebuf, (viGetX() * viGetY(
|
||||
*/
|
||||
void indyGrabRgb32bit(void)
|
||||
{
|
||||
#if defined(LEFTOVERDEBUG)
|
||||
#if !defined(ENABLE_USB)
|
||||
#if defined(LEFTOVERDEBUG)
|
||||
s32 *pgrabnum = &g_indyRgb32BitGrabnum;
|
||||
char buffer[250];
|
||||
s32 filesize;
|
||||
@@ -2104,9 +2089,5 @@ void indyGrabRgb32bit(void)
|
||||
|
||||
sprintf(buffer, "imgview grab.%d.rgb", *pgrabnum);
|
||||
indycommHostSendCmd((u8*)&buffer);
|
||||
#else
|
||||
//msg.msgtype
|
||||
usb_write(DATATYPE_RAWBINARY , (u8*)&cfb_16, (viGetX() * viGetY() * 4));
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
@@ -24,6 +24,8 @@
|
||||
#define VIEWPORT_WIDTH_WIDESCREEN SCREEN_WIDTH_320
|
||||
#define VIEWPORT_WIDTH_CINEMA SCREEN_WIDTH_320
|
||||
|
||||
#define SCREEN_HALF_WIDTH (SCREEN_WIDTH_320 / 2)
|
||||
|
||||
/* 304 = 320 - 16 ?? */
|
||||
#define VIEWPORT_HEIGHT_FULLSCREEN 304
|
||||
#define VIEWPORT_HEIGHT_WIDESCREEN 248
|
||||
@@ -84,6 +86,14 @@
|
||||
#define Z_BUFFER_4_3_HEIGHT 330
|
||||
#define Z_BUFFER_4_3_WIDTH 440
|
||||
|
||||
|
||||
// 4:3
|
||||
#define ASPECT_RATIO_SD (1.3333334f)
|
||||
#define ASPECT_RATIO_PAL (1.1764706f)
|
||||
|
||||
#define ASPECT_RATIO_EU_400_330 (1.5873016119f)
|
||||
#define ASPECT_RATIO_EU_320_272 (1.40056025982f)
|
||||
|
||||
#if defined(VERSION_EU)
|
||||
/* PAL */
|
||||
#define SCREEN_HEIGHT SCREEN_HEIGHT_272
|
||||
@@ -99,6 +109,7 @@
|
||||
#define VIEWPORT_ULY_4P_PLAYER_34 VIEWPORT_ULY_4P_PLAYER_34_PAL
|
||||
#define VIEWPORT_ULY_WIDESCREEN_OFFSET VIEWPORT_ULY_WIDESCREEN_OFFSET_PAL
|
||||
#define Z_BUFFER_HEIGHT Z_BUFFER_HEIGHT_PAL
|
||||
#define ASPECT_RATIO ASPECT_RATIO_PAL
|
||||
#else
|
||||
/* NTSC */
|
||||
#define SCREEN_HEIGHT SCREEN_HEIGHT_240
|
||||
@@ -114,13 +125,17 @@
|
||||
#define VIEWPORT_ULY_4P_PLAYER_34 VIEWPORT_ULY_4P_PLAYER_34_NTSC
|
||||
#define VIEWPORT_ULY_WIDESCREEN_OFFSET VIEWPORT_ULY_WIDESCREEN_OFFSET_NTSC
|
||||
#define Z_BUFFER_HEIGHT Z_BUFFER_HEIGHT_NTSC
|
||||
#define ASPECT_RATIO ASPECT_RATIO_SD
|
||||
#endif
|
||||
|
||||
|
||||
#define SCREEN_WIDTH SCREEN_WIDTH_320
|
||||
|
||||
#define XSCALE_MAX 0x400
|
||||
#define YSCALE_MAX 0x800
|
||||
|
||||
#define FOV_Y_F 60.0f
|
||||
|
||||
typedef struct VideoSettings_s {
|
||||
/**
|
||||
* enum VIDEOMODE.
|
||||
@@ -187,7 +202,8 @@ s32 viGetHorizontalOffset(void);
|
||||
void video_related_8(void);
|
||||
void viSetBuf(s16 x, s16 y);
|
||||
void viSetXY(s16 x, s16 y);
|
||||
|
||||
Gfx *viSetFillColor(Gfx *gdl, s32 r, s32 g, s32 b);
|
||||
Gfx *viFillScreen(Gfx *gdl);
|
||||
Gfx *viSetupScreensForNumPlayers(Gfx *gdl);
|
||||
|
||||
void indyGrabJpg16bit(void);
|
||||
|
||||
+375
-807
File diff suppressed because it is too large.
Load diff
+5
-3
@@ -109,14 +109,14 @@ extern bg_room_data * ptr_bgdata_room_fileposition_list;
|
||||
extern s_room_info array_room_info[];
|
||||
|
||||
|
||||
void bgInitDebugNoticeList(void);
|
||||
void bgInit(void);
|
||||
|
||||
// sub_GAME_7F033B38 requres arg be s32
|
||||
s32 sub_GAME_7F0B8FD0(s32 roomA, u8 roomB);
|
||||
|
||||
//f32 sub_GAME_7F0B4F9C(s32 room); // u8 not s32 for sub_GAME_7F0B2FE0
|
||||
u32 bgDecompress(u8* source, u8 *target);
|
||||
void sub_GAME_7F0B65C4(s32 roomID);
|
||||
void delete_room_data(s32 roomID);
|
||||
void load_bg_file(LEVEL_INDEX stagenum);
|
||||
|
||||
s32 bgDebugRemoved7F0B9DE4(s32 arg0, s32 arg1, s32 arg2);
|
||||
@@ -140,6 +140,8 @@ s32 bgGet2dBboxByRoomId(s32 room_id, struct bbox2d *result);
|
||||
f32 bgGetLevelVisibilityScale(void);
|
||||
void sub_GAME_7F0B5CC0(struct bbox2d *a, struct bbox2d *b);
|
||||
f32 get_room_data_float2(void);
|
||||
|
||||
s32 sub_GAME_7F0B9CC8(s32 arg0, s32 arg1, struct coord3d *arg2, struct coord3d *arg3);
|
||||
void sub_GAME_7F0B96CC(s32 arg0, struct PortalMetric *arg1);
|
||||
void bgLoadFromDynamicCCRMLUT(s32 arg0, s32 arg1, s32 arg2);
|
||||
|
||||
#endif
|
||||
+7
-7
@@ -33,11 +33,11 @@ u32 sub_GAME_7F0BA5C0(u32 arg0, u32 arg1) {
|
||||
phi_v0 = arg0;
|
||||
loop_2:
|
||||
// Node 2
|
||||
if (FogDL_primary_80044940 != 0)
|
||||
if (DL_LUT_PRIMARY_ADDFOG != 0)
|
||||
{
|
||||
// Node 3
|
||||
phi_a0 = FogDL_primary_80044940;
|
||||
phi_v1 = &FogDL_primary_80044940;
|
||||
phi_a0 = DL_LUT_PRIMARY_ADDFOG;
|
||||
phi_v1 = &DL_LUT_PRIMARY_ADDFOG;
|
||||
loop_4:
|
||||
// Node 4
|
||||
if (*phi_v0 == phi_a0)
|
||||
@@ -77,12 +77,12 @@ glabel sub_GAME_7F0BA5C0
|
||||
/* 0EF0F0 7F0BA5C0 0085082B */ sltu $at, $a0, $a1
|
||||
/* 0EF0F4 7F0BA5C4 1020001C */ beqz $at, .L7F0BA638
|
||||
/* 0EF0F8 7F0BA5C8 00801025 */ move $v0, $a0
|
||||
/* 0EF0FC 7F0BA5CC 3C068004 */ lui $a2, %hi(FogDL_primary_80044940)
|
||||
/* 0EF100 7F0BA5D0 24C64940 */ addiu $a2, %lo(FogDL_primary_80044940) # addiu $a2, $a2, 0x4940
|
||||
/* 0EF0FC 7F0BA5CC 3C068004 */ lui $a2, %hi(DL_LUT_PRIMARY_ADDFOG)
|
||||
/* 0EF100 7F0BA5D0 24C64940 */ addiu $a2, %lo(DL_LUT_PRIMARY_ADDFOG) # addiu $a2, $a2, 0x4940
|
||||
/* 0EF104 7F0BA5D4 8CCE0000 */ lw $t6, ($a2)
|
||||
.L7F0BA5D8:
|
||||
/* 0EF108 7F0BA5D8 3C0F8004 */ lui $t7, %hi(FogDL_primary_80044940)
|
||||
/* 0EF10C 7F0BA5DC 25EF4940 */ addiu $t7, %lo(FogDL_primary_80044940) # addiu $t7, $t7, 0x4940
|
||||
/* 0EF108 7F0BA5D8 3C0F8004 */ lui $t7, %hi(DL_LUT_PRIMARY_ADDFOG)
|
||||
/* 0EF10C 7F0BA5DC 25EF4940 */ addiu $t7, %lo(DL_LUT_PRIMARY_ADDFOG) # addiu $t7, $t7, 0x4940
|
||||
/* 0EF110 7F0BA5E0 11C00011 */ beqz $t6, .L7F0BA628
|
||||
/* 0EF114 7F0BA5E4 00C01825 */ move $v1, $a2
|
||||
/* 0EF118 7F0BA5E8 8DE40000 */ lw $a0, ($t7)
|
||||
|
||||
+169
-500
@@ -1,138 +1,71 @@
|
||||
#include "blood_decrypt.h"
|
||||
|
||||
#ifdef NONMATCHING
|
||||
u8 *decrypt_bleeding_animation_data(u8*, s32, s32, u8*, s8*) {
|
||||
// address 0x7F01CAE0 NTSC
|
||||
u8 *decrypt_bleeding_animation_data(u8 *arg0, u8 arg1, u8 arg2, u8 *arg3, u8 *arg4)
|
||||
{
|
||||
u8 var_a2;
|
||||
u8 var_a3;
|
||||
u8 temp_v0;
|
||||
u8 var_v1;
|
||||
u8 next;
|
||||
|
||||
temp_v0 = *arg0++;
|
||||
*arg4 = temp_v0;
|
||||
|
||||
do
|
||||
{
|
||||
s32 unused;
|
||||
var_v1 = *arg0++;
|
||||
unused = var_v1;
|
||||
|
||||
var_a2 = 0xFF;
|
||||
|
||||
if (var_v1 == 0xFF)
|
||||
{
|
||||
var_a3 = 0;
|
||||
for (var_v1 = *arg0++; var_v1 != 0xFF; var_a2 ^= 0xff, var_v1 = *arg0++ )
|
||||
{
|
||||
var_a3 += var_v1;
|
||||
|
||||
while (var_v1-- > 0)
|
||||
{
|
||||
*arg3++ = var_a2;
|
||||
}
|
||||
}
|
||||
|
||||
while (var_a3++ < arg1)
|
||||
{
|
||||
*arg3++ = var_a2;
|
||||
}
|
||||
|
||||
arg2--;
|
||||
}
|
||||
else
|
||||
{
|
||||
var_a3 = temp_v0 + (var_v1 & 0x1f);
|
||||
var_v1 = (var_v1 >> 5) + 1;
|
||||
arg2 -= var_v1;
|
||||
|
||||
do
|
||||
{
|
||||
var_a2 = var_a3;
|
||||
while (var_a2-- > 0)
|
||||
{
|
||||
*arg3++ = 0xff;
|
||||
}
|
||||
|
||||
var_a2 = arg1 - var_a3;
|
||||
while (var_a2-- > 0)
|
||||
{
|
||||
*arg3++ = 0;
|
||||
}
|
||||
} while (--var_v1 > 0);
|
||||
}
|
||||
} while (arg2 > 0);
|
||||
|
||||
return arg0;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel decrypt_bleeding_animation_data
|
||||
/* 051610 7F01CAE0 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 051614 7F01CAE4 AFB30014 */ sw $s3, 0x14($sp)
|
||||
/* 051618 7F01CAE8 AFB20010 */ sw $s2, 0x10($sp)
|
||||
/* 05161C 7F01CAEC AFB1000C */ sw $s1, 0xc($sp)
|
||||
/* 051620 7F01CAF0 AFB00008 */ sw $s0, 8($sp)
|
||||
/* 051624 7F01CAF4 AFA5001C */ sw $a1, 0x1c($sp)
|
||||
/* 051628 7F01CAF8 AFA60020 */ sw $a2, 0x20($sp)
|
||||
/* 05162C 7F01CAFC 90820000 */ lbu $v0, ($a0)
|
||||
/* 051630 7F01CB00 8FAF0028 */ lw $t7, 0x28($sp)
|
||||
/* 051634 7F01CB04 00E08025 */ move $s0, $a3
|
||||
/* 051638 7F01CB08 30D100FF */ andi $s1, $a2, 0xff
|
||||
/* 05163C 7F01CB0C 30A900FF */ andi $t1, $a1, 0xff
|
||||
/* 051640 7F01CB10 24840001 */ addiu $a0, $a0, 1
|
||||
/* 051644 7F01CB14 241200FF */ li $s2, 255
|
||||
/* 051648 7F01CB18 241300FF */ li $s3, 255
|
||||
/* 05164C 7F01CB1C A1E20000 */ sb $v0, ($t7)
|
||||
/* 051650 7F01CB20 90850000 */ lbu $a1, ($a0)
|
||||
.L7F01CB24:
|
||||
/* 051654 7F01CB24 24840001 */ addiu $a0, $a0, 1
|
||||
/* 051658 7F01CB28 326600FF */ andi $a2, $s3, 0xff
|
||||
/* 05165C 7F01CB2C 1645002B */ bne $s2, $a1, .L7F01CBDC
|
||||
/* 051660 7F01CB30 30B8001F */ andi $t8, $a1, 0x1f
|
||||
/* 051664 7F01CB34 90830000 */ lbu $v1, ($a0)
|
||||
/* 051668 7F01CB38 00003825 */ move $a3, $zero
|
||||
/* 05166C 7F01CB3C 24840001 */ addiu $a0, $a0, 1
|
||||
/* 051670 7F01CB40 12430016 */ beq $s2, $v1, .L7F01CB9C
|
||||
/* 051674 7F01CB44 00602825 */ move $a1, $v1
|
||||
.L7F01CB48:
|
||||
/* 051678 7F01CB48 00E53821 */ addu $a3, $a3, $a1
|
||||
/* 05167C 7F01CB4C 2463FFFF */ addiu $v1, $v1, -1
|
||||
/* 051680 7F01CB50 30F800FF */ andi $t8, $a3, 0xff
|
||||
/* 051684 7F01CB54 307900FF */ andi $t9, $v1, 0xff
|
||||
/* 051688 7F01CB58 0005402A */ slt $t0, $zero, $a1
|
||||
/* 05168C 7F01CB5C 03003825 */ move $a3, $t8
|
||||
/* 051690 7F01CB60 11000008 */ beqz $t0, .L7F01CB84
|
||||
/* 051694 7F01CB64 03201825 */ move $v1, $t9
|
||||
.L7F01CB68:
|
||||
/* 051698 7F01CB68 0003402A */ slt $t0, $zero, $v1
|
||||
/* 05169C 7F01CB6C 2463FFFF */ addiu $v1, $v1, -1
|
||||
/* 0516A0 7F01CB70 306E00FF */ andi $t6, $v1, 0xff
|
||||
/* 0516A4 7F01CB74 01C01825 */ move $v1, $t6
|
||||
/* 0516A8 7F01CB78 A2060000 */ sb $a2, ($s0)
|
||||
/* 0516AC 7F01CB7C 1500FFFA */ bnez $t0, .L7F01CB68
|
||||
/* 0516B0 7F01CB80 26100001 */ addiu $s0, $s0, 1
|
||||
.L7F01CB84:
|
||||
/* 0516B4 7F01CB84 90830000 */ lbu $v1, ($a0)
|
||||
/* 0516B8 7F01CB88 38CF00FF */ xori $t7, $a2, 0xff
|
||||
/* 0516BC 7F01CB8C 31E600FF */ andi $a2, $t7, 0xff
|
||||
/* 0516C0 7F01CB90 24840001 */ addiu $a0, $a0, 1
|
||||
/* 0516C4 7F01CB94 1643FFEC */ bne $s2, $v1, .L7F01CB48
|
||||
/* 0516C8 7F01CB98 00602825 */ move $a1, $v1
|
||||
.L7F01CB9C:
|
||||
/* 0516CC 7F01CB9C 00E9402A */ slt $t0, $a3, $t1
|
||||
/* 0516D0 7F01CBA0 24E70001 */ addiu $a3, $a3, 1
|
||||
/* 0516D4 7F01CBA4 30F900FF */ andi $t9, $a3, 0xff
|
||||
/* 0516D8 7F01CBA8 11000008 */ beqz $t0, .L7F01CBCC
|
||||
/* 0516DC 7F01CBAC 03203825 */ move $a3, $t9
|
||||
.L7F01CBB0:
|
||||
/* 0516E0 7F01CBB0 00E9402A */ slt $t0, $a3, $t1
|
||||
/* 0516E4 7F01CBB4 24E70001 */ addiu $a3, $a3, 1
|
||||
/* 0516E8 7F01CBB8 30EE00FF */ andi $t6, $a3, 0xff
|
||||
/* 0516EC 7F01CBBC 01C03825 */ move $a3, $t6
|
||||
/* 0516F0 7F01CBC0 A2060000 */ sb $a2, ($s0)
|
||||
/* 0516F4 7F01CBC4 1500FFFA */ bnez $t0, .L7F01CBB0
|
||||
/* 0516F8 7F01CBC8 26100001 */ addiu $s0, $s0, 1
|
||||
.L7F01CBCC:
|
||||
/* 0516FC 7F01CBCC 2631FFFF */ addiu $s1, $s1, -1
|
||||
/* 051700 7F01CBD0 322F00FF */ andi $t7, $s1, 0xff
|
||||
/* 051704 7F01CBD4 10000026 */ b .L7F01CC70
|
||||
/* 051708 7F01CBD8 01E08825 */ move $s1, $t7
|
||||
.L7F01CBDC:
|
||||
/* 05170C 7F01CBDC 00583821 */ addu $a3, $v0, $t8
|
||||
/* 051710 7F01CBE0 00051943 */ sra $v1, $a1, 5
|
||||
/* 051714 7F01CBE4 30F900FF */ andi $t9, $a3, 0xff
|
||||
/* 051718 7F01CBE8 24630001 */ addiu $v1, $v1, 1
|
||||
/* 05171C 7F01CBEC 306E00FF */ andi $t6, $v1, 0xff
|
||||
/* 051720 7F01CBF0 01393023 */ subu $a2, $t1, $t9
|
||||
/* 051724 7F01CBF4 022E8823 */ subu $s1, $s1, $t6
|
||||
/* 051728 7F01CBF8 30D800FF */ andi $t8, $a2, 0xff
|
||||
/* 05172C 7F01CBFC 322F00FF */ andi $t7, $s1, 0xff
|
||||
/* 051730 7F01CC00 01C01825 */ move $v1, $t6
|
||||
/* 051734 7F01CC04 01E08825 */ move $s1, $t7
|
||||
/* 051738 7F01CC08 0018602A */ slt $t4, $zero, $t8
|
||||
/* 05173C 7F01CC0C 270DFFFF */ addiu $t5, $t8, -1
|
||||
/* 051740 7F01CC10 0019502A */ slt $t2, $zero, $t9
|
||||
/* 051744 7F01CC14 272BFFFF */ addiu $t3, $t9, -1
|
||||
.L7F01CC18:
|
||||
/* 051748 7F01CC18 11400008 */ beqz $t2, .L7F01CC3C
|
||||
/* 05174C 7F01CC1C 316600FF */ andi $a2, $t3, 0xff
|
||||
.L7F01CC20:
|
||||
/* 051750 7F01CC20 0006402A */ slt $t0, $zero, $a2
|
||||
/* 051754 7F01CC24 24C6FFFF */ addiu $a2, $a2, -1
|
||||
/* 051758 7F01CC28 30D900FF */ andi $t9, $a2, 0xff
|
||||
/* 05175C 7F01CC2C 03203025 */ move $a2, $t9
|
||||
/* 051760 7F01CC30 A2130000 */ sb $s3, ($s0)
|
||||
/* 051764 7F01CC34 1500FFFA */ bnez $t0, .L7F01CC20
|
||||
/* 051768 7F01CC38 26100001 */ addiu $s0, $s0, 1
|
||||
.L7F01CC3C:
|
||||
/* 05176C 7F01CC3C 11800008 */ beqz $t4, .L7F01CC60
|
||||
/* 051770 7F01CC40 31A600FF */ andi $a2, $t5, 0xff
|
||||
.L7F01CC44:
|
||||
/* 051774 7F01CC44 0006402A */ slt $t0, $zero, $a2
|
||||
/* 051778 7F01CC48 24C6FFFF */ addiu $a2, $a2, -1
|
||||
/* 05177C 7F01CC4C 30CE00FF */ andi $t6, $a2, 0xff
|
||||
/* 051780 7F01CC50 01C03025 */ move $a2, $t6
|
||||
/* 051784 7F01CC54 A2000000 */ sb $zero, ($s0)
|
||||
/* 051788 7F01CC58 1500FFFA */ bnez $t0, .L7F01CC44
|
||||
/* 05178C 7F01CC5C 26100001 */ addiu $s0, $s0, 1
|
||||
.L7F01CC60:
|
||||
/* 051790 7F01CC60 2463FFFF */ addiu $v1, $v1, -1
|
||||
/* 051794 7F01CC64 306F00FF */ andi $t7, $v1, 0xff
|
||||
/* 051798 7F01CC68 1DE0FFEB */ bgtz $t7, .L7F01CC18
|
||||
/* 05179C 7F01CC6C 01E01825 */ move $v1, $t7
|
||||
.L7F01CC70:
|
||||
/* 0517A0 7F01CC70 5E20FFAC */ bgtzl $s1, .L7F01CB24
|
||||
/* 0517A4 7F01CC74 90850000 */ lbu $a1, ($a0)
|
||||
/* 0517A8 7F01CC78 8FB00008 */ lw $s0, 8($sp)
|
||||
/* 0517AC 7F01CC7C 8FB1000C */ lw $s1, 0xc($sp)
|
||||
/* 0517B0 7F01CC80 8FB20010 */ lw $s2, 0x10($sp)
|
||||
/* 0517B4 7F01CC84 8FB30014 */ lw $s3, 0x14($sp)
|
||||
/* 0517B8 7F01CC88 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
/* 0517BC 7F01CC8C 03E00008 */ jr $ra
|
||||
/* 0517C0 7F01CC90 00801025 */ move $v0, $a0
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -145,398 +78,134 @@ void sub_GAME_7F01CC94(u8* arg0, u16 arg1, u8* arg2)
|
||||
}
|
||||
}
|
||||
|
||||
// Address 0x7F01CCEC NTSC
|
||||
void sub_GAME_7F01CCEC(u8 *arg0, u8 arg1, u8 arg2, u8 *arg3, u8 arg4)
|
||||
{
|
||||
s16 i;
|
||||
s16 j;
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F01CCEC(void) {
|
||||
u32 var_t0;
|
||||
u32 var_t1;
|
||||
|
||||
s16 var_t5;
|
||||
|
||||
s16 var_s4;
|
||||
|
||||
u8 tempt9;
|
||||
|
||||
for (i = 0; i < arg2; i++)
|
||||
{
|
||||
for (j = 0; j < arg1; j++)
|
||||
{
|
||||
var_t0 = 0;
|
||||
var_t1 = 0;
|
||||
|
||||
var_t5 = ((i - arg4) < 0) ? 0 : (i - arg4);
|
||||
|
||||
while ((((arg2 - 1) < (i + arg4)) ? (arg2 - 1) : (i + arg4)) >= var_t5)
|
||||
{
|
||||
var_s4 = ((j - arg4) < 0) ? 0 : (j - arg4);
|
||||
|
||||
while ((((arg1 - 1) < (j + arg4)) ? (arg1 - 1) : (j + arg4)) >= var_s4)
|
||||
{
|
||||
var_t1 += arg0[var_s4 + (var_t5 * arg1)];
|
||||
|
||||
var_s4 += 1;
|
||||
var_t0 += 1;
|
||||
}
|
||||
|
||||
var_t5 += 1;
|
||||
}
|
||||
|
||||
tempt9 = (u8) ((u32) ((var_t0 >> 1) + var_t1) / var_t0);
|
||||
arg3[j + (i * arg1)] = tempt9;
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F01CCEC
|
||||
/* 05181C 7F01CCEC 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 051820 7F01CCF0 30CF00FF */ andi $t7, $a2, 0xff
|
||||
/* 051824 7F01CCF4 AFBE0024 */ sw $fp, 0x24($sp)
|
||||
/* 051828 7F01CCF8 AFB70020 */ sw $s7, 0x20($sp)
|
||||
/* 05182C 7F01CCFC AFB6001C */ sw $s6, 0x1c($sp)
|
||||
/* 051830 7F01CD00 AFB50018 */ sw $s5, 0x18($sp)
|
||||
/* 051834 7F01CD04 AFB40014 */ sw $s4, 0x14($sp)
|
||||
/* 051838 7F01CD08 AFB30010 */ sw $s3, 0x10($sp)
|
||||
/* 05183C 7F01CD0C AFB2000C */ sw $s2, 0xc($sp)
|
||||
/* 051840 7F01CD10 AFB10008 */ sw $s1, 8($sp)
|
||||
/* 051844 7F01CD14 AFB00004 */ sw $s0, 4($sp)
|
||||
/* 051848 7F01CD18 AFA5002C */ sw $a1, 0x2c($sp)
|
||||
/* 05184C 7F01CD1C AFA60030 */ sw $a2, 0x30($sp)
|
||||
/* 051850 7F01CD20 30AE00FF */ andi $t6, $a1, 0xff
|
||||
/* 051854 7F01CD24 01E01825 */ move $v1, $t7
|
||||
/* 051858 7F01CD28 19E00065 */ blez $t7, .L7F01CEC0
|
||||
/* 05185C 7F01CD2C 00001025 */ move $v0, $zero
|
||||
/* 051860 7F01CD30 01C03025 */ move $a2, $t6
|
||||
/* 051864 7F01CD34 93AA003B */ lbu $t2, 0x3b($sp)
|
||||
.L7F01CD38:
|
||||
/* 051868 7F01CD38 18C0005B */ blez $a2, .L7F01CEA8
|
||||
/* 05186C 7F01CD3C 00002825 */ move $a1, $zero
|
||||
/* 051870 7F01CD40 00460019 */ multu $v0, $a2
|
||||
/* 051874 7F01CD44 01405825 */ move $t3, $t2
|
||||
/* 051878 7F01CD48 004A6023 */ subu $t4, $v0, $t2
|
||||
/* 05187C 7F01CD4C 2470FFFF */ addiu $s0, $v1, -1
|
||||
/* 051880 7F01CD50 004A8821 */ addu $s1, $v0, $t2
|
||||
/* 051884 7F01CD54 0000F012 */ mflo $fp
|
||||
/* 051888 7F01CD58 00000000 */ nop
|
||||
/* 05188C 7F01CD5C 00000000 */ nop
|
||||
/* 051890 7F01CD60 00004025 */ move $t0, $zero
|
||||
.L7F01CD64:
|
||||
/* 051894 7F01CD64 05810003 */ bgez $t4, .L7F01CD74
|
||||
/* 051898 7F01CD68 00004825 */ move $t1, $zero
|
||||
/* 05189C 7F01CD6C 10000004 */ b .L7F01CD80
|
||||
/* 0518A0 7F01CD70 00006825 */ move $t5, $zero
|
||||
.L7F01CD74:
|
||||
/* 0518A4 7F01CD74 000C6C00 */ sll $t5, $t4, 0x10
|
||||
/* 0518A8 7F01CD78 000DC403 */ sra $t8, $t5, 0x10
|
||||
/* 0518AC 7F01CD7C 03006825 */ move $t5, $t8
|
||||
.L7F01CD80:
|
||||
/* 0518B0 7F01CD80 0211082A */ slt $at, $s0, $s1
|
||||
/* 0518B4 7F01CD84 10200003 */ beqz $at, .L7F01CD94
|
||||
/* 0518B8 7F01CD88 02209025 */ move $s2, $s1
|
||||
/* 0518BC 7F01CD8C 10000001 */ b .L7F01CD94
|
||||
/* 0518C0 7F01CD90 02009025 */ move $s2, $s0
|
||||
.L7F01CD94:
|
||||
/* 0518C4 7F01CD94 024D082A */ slt $at, $s2, $t5
|
||||
/* 0518C8 7F01CD98 54200033 */ bnezl $at, .L7F01CE68
|
||||
/* 0518CC 7F01CD9C 0008C842 */ srl $t9, $t0, 1
|
||||
/* 0518D0 7F01CDA0 00AB9823 */ subu $s3, $a1, $t3
|
||||
/* 0518D4 7F01CDA4 24D5FFFF */ addiu $s5, $a2, -1
|
||||
/* 0518D8 7F01CDA8 00ABB021 */ addu $s6, $a1, $t3
|
||||
.L7F01CDAC:
|
||||
/* 0518DC 7F01CDAC 06610003 */ bgez $s3, .L7F01CDBC
|
||||
/* 0518E0 7F01CDB0 02B6082A */ slt $at, $s5, $s6
|
||||
/* 0518E4 7F01CDB4 10000004 */ b .L7F01CDC8
|
||||
/* 0518E8 7F01CDB8 0000A025 */ move $s4, $zero
|
||||
.L7F01CDBC:
|
||||
/* 0518EC 7F01CDBC 0013A400 */ sll $s4, $s3, 0x10
|
||||
/* 0518F0 7F01CDC0 0014CC03 */ sra $t9, $s4, 0x10
|
||||
/* 0518F4 7F01CDC4 0320A025 */ move $s4, $t9
|
||||
.L7F01CDC8:
|
||||
/* 0518F8 7F01CDC8 10200003 */ beqz $at, .L7F01CDD8
|
||||
/* 0518FC 7F01CDCC 02C09025 */ move $s2, $s6
|
||||
/* 051900 7F01CDD0 10000001 */ b .L7F01CDD8
|
||||
/* 051904 7F01CDD4 02A09025 */ move $s2, $s5
|
||||
.L7F01CDD8:
|
||||
/* 051908 7F01CDD8 0254082A */ slt $at, $s2, $s4
|
||||
/* 05190C 7F01CDDC 54200016 */ bnezl $at, .L7F01CE38
|
||||
/* 051910 7F01CDE0 25AD0001 */ addiu $t5, $t5, 1
|
||||
/* 051914 7F01CDE4 01A60019 */ multu $t5, $a2
|
||||
/* 051918 7F01CDE8 0000B812 */ mflo $s7
|
||||
/* 05191C 7F01CDEC 00000000 */ nop
|
||||
/* 051920 7F01CDF0 00000000 */ nop
|
||||
/* 051924 7F01CDF4 00947021 */ addu $t6, $a0, $s4
|
||||
.L7F01CDF8:
|
||||
/* 051928 7F01CDF8 01D77821 */ addu $t7, $t6, $s7
|
||||
/* 05192C 7F01CDFC 91F80000 */ lbu $t8, ($t7)
|
||||
/* 051930 7F01CE00 26940001 */ addiu $s4, $s4, 1
|
||||
/* 051934 7F01CE04 0014CC00 */ sll $t9, $s4, 0x10
|
||||
/* 051938 7F01CE08 02B6082A */ slt $at, $s5, $s6
|
||||
/* 05193C 7F01CE0C 0019A403 */ sra $s4, $t9, 0x10
|
||||
/* 051940 7F01CE10 25080001 */ addiu $t0, $t0, 1
|
||||
/* 051944 7F01CE14 10200003 */ beqz $at, .L7F01CE24
|
||||
/* 051948 7F01CE18 01384821 */ addu $t1, $t1, $t8
|
||||
/* 05194C 7F01CE1C 10000002 */ b .L7F01CE28
|
||||
/* 051950 7F01CE20 02A09025 */ move $s2, $s5
|
||||
.L7F01CE24:
|
||||
/* 051954 7F01CE24 02C09025 */ move $s2, $s6
|
||||
.L7F01CE28:
|
||||
/* 051958 7F01CE28 0254082A */ slt $at, $s2, $s4
|
||||
/* 05195C 7F01CE2C 5020FFF2 */ beql $at, $zero, .L7F01CDF8
|
||||
/* 051960 7F01CE30 00947021 */ addu $t6, $a0, $s4
|
||||
/* 051964 7F01CE34 25AD0001 */ addiu $t5, $t5, 1
|
||||
.L7F01CE38:
|
||||
/* 051968 7F01CE38 000D7C00 */ sll $t7, $t5, 0x10
|
||||
/* 05196C 7F01CE3C 000FC403 */ sra $t8, $t7, 0x10
|
||||
/* 051970 7F01CE40 0211082A */ slt $at, $s0, $s1
|
||||
/* 051974 7F01CE44 10200003 */ beqz $at, .L7F01CE54
|
||||
/* 051978 7F01CE48 03006825 */ move $t5, $t8
|
||||
/* 05197C 7F01CE4C 10000002 */ b .L7F01CE58
|
||||
/* 051980 7F01CE50 02009025 */ move $s2, $s0
|
||||
.L7F01CE54:
|
||||
/* 051984 7F01CE54 02209025 */ move $s2, $s1
|
||||
.L7F01CE58:
|
||||
/* 051988 7F01CE58 024D082A */ slt $at, $s2, $t5
|
||||
/* 05198C 7F01CE5C 1020FFD3 */ beqz $at, .L7F01CDAC
|
||||
/* 051990 7F01CE60 00000000 */ nop
|
||||
/* 051994 7F01CE64 0008C842 */ srl $t9, $t0, 1
|
||||
.L7F01CE68:
|
||||
/* 051998 7F01CE68 03297021 */ addu $t6, $t9, $t1
|
||||
/* 05199C 7F01CE6C 01C8001B */ divu $zero, $t6, $t0
|
||||
/* 0519A0 7F01CE70 00E5C021 */ addu $t8, $a3, $a1
|
||||
/* 0519A4 7F01CE74 24A50001 */ addiu $a1, $a1, 1
|
||||
/* 0519A8 7F01CE78 00057400 */ sll $t6, $a1, 0x10
|
||||
/* 0519AC 7F01CE7C 031EC821 */ addu $t9, $t8, $fp
|
||||
/* 0519B0 7F01CE80 000EC403 */ sra $t8, $t6, 0x10
|
||||
/* 0519B4 7F01CE84 0306082A */ slt $at, $t8, $a2
|
||||
/* 0519B8 7F01CE88 00007812 */ mflo $t7
|
||||
/* 0519BC 7F01CE8C 03002825 */ move $a1, $t8
|
||||
/* 0519C0 7F01CE90 15000002 */ bnez $t0, .L7F01CE9C
|
||||
/* 0519C4 7F01CE94 00000000 */ nop
|
||||
/* 0519C8 7F01CE98 0007000D */ break 7
|
||||
.L7F01CE9C:
|
||||
/* 0519CC 7F01CE9C A32F0000 */ sb $t7, ($t9)
|
||||
/* 0519D0 7F01CEA0 5420FFB0 */ bnezl $at, .L7F01CD64
|
||||
/* 0519D4 7F01CEA4 00004025 */ move $t0, $zero
|
||||
.L7F01CEA8:
|
||||
/* 0519D8 7F01CEA8 24420001 */ addiu $v0, $v0, 1
|
||||
/* 0519DC 7F01CEAC 00027C00 */ sll $t7, $v0, 0x10
|
||||
/* 0519E0 7F01CEB0 000F1403 */ sra $v0, $t7, 0x10
|
||||
/* 0519E4 7F01CEB4 0043082A */ slt $at, $v0, $v1
|
||||
/* 0519E8 7F01CEB8 1420FF9F */ bnez $at, .L7F01CD38
|
||||
/* 0519EC 7F01CEBC 00000000 */ nop
|
||||
.L7F01CEC0:
|
||||
/* 0519F0 7F01CEC0 8FB00004 */ lw $s0, 4($sp)
|
||||
/* 0519F4 7F01CEC4 8FB10008 */ lw $s1, 8($sp)
|
||||
/* 0519F8 7F01CEC8 8FB2000C */ lw $s2, 0xc($sp)
|
||||
/* 0519FC 7F01CECC 8FB30010 */ lw $s3, 0x10($sp)
|
||||
/* 051A00 7F01CED0 8FB40014 */ lw $s4, 0x14($sp)
|
||||
/* 051A04 7F01CED4 8FB50018 */ lw $s5, 0x18($sp)
|
||||
/* 051A08 7F01CED8 8FB6001C */ lw $s6, 0x1c($sp)
|
||||
/* 051A0C 7F01CEDC 8FB70020 */ lw $s7, 0x20($sp)
|
||||
/* 051A10 7F01CEE0 8FBE0024 */ lw $fp, 0x24($sp)
|
||||
/* 051A14 7F01CEE4 03E00008 */ jr $ra
|
||||
/* 051A18 7F01CEE8 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F01CEEC(u8*, s32, u8*) {
|
||||
// Averages 4 pixel data, ending on "second" row.
|
||||
// Address 0x7F01CEEC NTSC
|
||||
void sub_GAME_7F01CEEC(u8 *arg0, s32 arg1, u8 *arg2)
|
||||
{
|
||||
s32 i;
|
||||
s32 j;
|
||||
|
||||
arg0 += 0x61;
|
||||
arg2 += 0x61;
|
||||
|
||||
for (i = 1; i < arg1 - 1; i++, arg2 += 2, arg0 += 2) {
|
||||
for (j = 1; j < 0x5f; j++, arg2++, arg0++) {
|
||||
*arg2 = (arg0[-1] + arg0[0] + arg0[-0x61] + arg0[-0x60] + 2) >> 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F01CEEC
|
||||
/* 051A1C 7F01CEEC 24A3FFFF */ addiu $v1, $a1, -1
|
||||
/* 051A20 7F01CEF0 28610002 */ slti $at, $v1, 2
|
||||
/* 051A24 7F01CEF4 24840061 */ addiu $a0, $a0, 0x61
|
||||
/* 051A28 7F01CEF8 24C60061 */ addiu $a2, $a2, 0x61
|
||||
/* 051A2C 7F01CEFC 14200049 */ bnez $at, .L7F01D024
|
||||
/* 051A30 7F01CF00 24020001 */ li $v0, 1
|
||||
/* 051A34 7F01CF04 2407005F */ li $a3, 95
|
||||
.L7F01CF08:
|
||||
/* 051A38 7F01CF08 908EFFA0 */ lbu $t6, -0x60($a0)
|
||||
/* 051A3C 7F01CF0C 908FFFFF */ lbu $t7, -1($a0)
|
||||
/* 051A40 7F01CF10 90990000 */ lbu $t9, ($a0)
|
||||
/* 051A44 7F01CF14 9089FF9F */ lbu $t1, -0x61($a0)
|
||||
/* 051A48 7F01CF18 01CFC021 */ addu $t8, $t6, $t7
|
||||
/* 051A4C 7F01CF1C 03194021 */ addu $t0, $t8, $t9
|
||||
/* 051A50 7F01CF20 01095021 */ addu $t2, $t0, $t1
|
||||
/* 051A54 7F01CF24 254B0002 */ addiu $t3, $t2, 2
|
||||
/* 051A58 7F01CF28 000B6083 */ sra $t4, $t3, 2
|
||||
/* 051A5C 7F01CF2C A0CC0000 */ sb $t4, ($a2)
|
||||
/* 051A60 7F01CF30 908E0000 */ lbu $t6, ($a0)
|
||||
/* 051A64 7F01CF34 908DFFA1 */ lbu $t5, -0x5f($a0)
|
||||
/* 051A68 7F01CF38 90980001 */ lbu $t8, 1($a0)
|
||||
/* 051A6C 7F01CF3C 9088FFA0 */ lbu $t0, -0x60($a0)
|
||||
/* 051A70 7F01CF40 01AE7821 */ addu $t7, $t5, $t6
|
||||
/* 051A74 7F01CF44 01F8C821 */ addu $t9, $t7, $t8
|
||||
/* 051A78 7F01CF48 03284821 */ addu $t1, $t9, $t0
|
||||
/* 051A7C 7F01CF4C 252A0002 */ addiu $t2, $t1, 2
|
||||
/* 051A80 7F01CF50 000A5883 */ sra $t3, $t2, 2
|
||||
/* 051A84 7F01CF54 A0CB0001 */ sb $t3, 1($a2)
|
||||
/* 051A88 7F01CF58 24050003 */ li $a1, 3
|
||||
/* 051A8C 7F01CF5C 24C60002 */ addiu $a2, $a2, 2
|
||||
/* 051A90 7F01CF60 24840002 */ addiu $a0, $a0, 2
|
||||
.L7F01CF64:
|
||||
/* 051A94 7F01CF64 908CFFA0 */ lbu $t4, -0x60($a0)
|
||||
/* 051A98 7F01CF68 908DFFFF */ lbu $t5, -1($a0)
|
||||
/* 051A9C 7F01CF6C 908F0000 */ lbu $t7, ($a0)
|
||||
/* 051AA0 7F01CF70 9099FF9F */ lbu $t9, -0x61($a0)
|
||||
/* 051AA4 7F01CF74 018D7021 */ addu $t6, $t4, $t5
|
||||
/* 051AA8 7F01CF78 01CFC021 */ addu $t8, $t6, $t7
|
||||
/* 051AAC 7F01CF7C 03194021 */ addu $t0, $t8, $t9
|
||||
/* 051AB0 7F01CF80 25090002 */ addiu $t1, $t0, 2
|
||||
/* 051AB4 7F01CF84 00095083 */ sra $t2, $t1, 2
|
||||
/* 051AB8 7F01CF88 A0CA0000 */ sb $t2, ($a2)
|
||||
/* 051ABC 7F01CF8C 908BFFA1 */ lbu $t3, -0x5f($a0)
|
||||
/* 051AC0 7F01CF90 908C0000 */ lbu $t4, ($a0)
|
||||
/* 051AC4 7F01CF94 908E0001 */ lbu $t6, 1($a0)
|
||||
/* 051AC8 7F01CF98 9098FFA0 */ lbu $t8, -0x60($a0)
|
||||
/* 051ACC 7F01CF9C 016C6821 */ addu $t5, $t3, $t4
|
||||
/* 051AD0 7F01CFA0 01AE7821 */ addu $t7, $t5, $t6
|
||||
/* 051AD4 7F01CFA4 01F8C821 */ addu $t9, $t7, $t8
|
||||
/* 051AD8 7F01CFA8 27280002 */ addiu $t0, $t9, 2
|
||||
/* 051ADC 7F01CFAC 00084883 */ sra $t1, $t0, 2
|
||||
/* 051AE0 7F01CFB0 A0C90001 */ sb $t1, 1($a2)
|
||||
/* 051AE4 7F01CFB4 908AFFA2 */ lbu $t2, -0x5e($a0)
|
||||
/* 051AE8 7F01CFB8 908B0001 */ lbu $t3, 1($a0)
|
||||
/* 051AEC 7F01CFBC 908D0002 */ lbu $t5, 2($a0)
|
||||
/* 051AF0 7F01CFC0 908FFFA1 */ lbu $t7, -0x5f($a0)
|
||||
/* 051AF4 7F01CFC4 014B6021 */ addu $t4, $t2, $t3
|
||||
/* 051AF8 7F01CFC8 018D7021 */ addu $t6, $t4, $t5
|
||||
/* 051AFC 7F01CFCC 01CFC021 */ addu $t8, $t6, $t7
|
||||
/* 051B00 7F01CFD0 27190002 */ addiu $t9, $t8, 2
|
||||
/* 051B04 7F01CFD4 00194083 */ sra $t0, $t9, 2
|
||||
/* 051B08 7F01CFD8 A0C80002 */ sb $t0, 2($a2)
|
||||
/* 051B0C 7F01CFDC 908A0002 */ lbu $t2, 2($a0)
|
||||
/* 051B10 7F01CFE0 9089FFA3 */ lbu $t1, -0x5d($a0)
|
||||
/* 051B14 7F01CFE4 908C0003 */ lbu $t4, 3($a0)
|
||||
/* 051B18 7F01CFE8 908EFFA2 */ lbu $t6, -0x5e($a0)
|
||||
/* 051B1C 7F01CFEC 012A5821 */ addu $t3, $t1, $t2
|
||||
/* 051B20 7F01CFF0 016C6821 */ addu $t5, $t3, $t4
|
||||
/* 051B24 7F01CFF4 01AE7821 */ addu $t7, $t5, $t6
|
||||
/* 051B28 7F01CFF8 25F80002 */ addiu $t8, $t7, 2
|
||||
/* 051B2C 7F01CFFC 0018C883 */ sra $t9, $t8, 2
|
||||
/* 051B30 7F01D000 24A50004 */ addiu $a1, $a1, 4
|
||||
/* 051B34 7F01D004 A0D90003 */ sb $t9, 3($a2)
|
||||
/* 051B38 7F01D008 24C60004 */ addiu $a2, $a2, 4
|
||||
/* 051B3C 7F01D00C 14A7FFD5 */ bne $a1, $a3, .L7F01CF64
|
||||
/* 051B40 7F01D010 24840004 */ addiu $a0, $a0, 4
|
||||
/* 051B44 7F01D014 24420001 */ addiu $v0, $v0, 1
|
||||
/* 051B48 7F01D018 24C60002 */ addiu $a2, $a2, 2
|
||||
/* 051B4C 7F01D01C 1443FFBA */ bne $v0, $v1, .L7F01CF08
|
||||
/* 051B50 7F01D020 24840002 */ addiu $a0, $a0, 2
|
||||
.L7F01D024:
|
||||
/* 051B54 7F01D024 03E00008 */ jr $ra
|
||||
/* 051B58 7F01D028 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F01D02C(u8*, s32, u8*) {
|
||||
// Averages 4 pixel data, ending on "first" row.
|
||||
// Address 0x7F01D02C NTSC
|
||||
void sub_GAME_7F01D02C(u8 *arg0, s32 arg1, u8 *arg2)
|
||||
{
|
||||
s32 i;
|
||||
s32 j;
|
||||
|
||||
arg0 += 0x61;
|
||||
arg2 += 0x61;
|
||||
|
||||
for (i = 1; i < arg1 - 1; i++, arg2 += 2, arg0 += 2) {
|
||||
for (j = 1; j < 0x5f; j++, arg2++, arg0++) {
|
||||
*arg2 = (arg0[1] + arg0[0] + arg0[0x61] + arg0[0x60] + 2) >> 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F01D02C
|
||||
/* 051B5C 7F01D02C 24A3FFFF */ addiu $v1, $a1, -1
|
||||
/* 051B60 7F01D030 28610002 */ slti $at, $v1, 2
|
||||
/* 051B64 7F01D034 24840061 */ addiu $a0, $a0, 0x61
|
||||
/* 051B68 7F01D038 24C60061 */ addiu $a2, $a2, 0x61
|
||||
/* 051B6C 7F01D03C 14200049 */ bnez $at, .L7F01D164
|
||||
/* 051B70 7F01D040 24020001 */ li $v0, 1
|
||||
/* 051B74 7F01D044 2407005F */ li $a3, 95
|
||||
.L7F01D048:
|
||||
/* 051B78 7F01D048 908E0060 */ lbu $t6, 0x60($a0)
|
||||
/* 051B7C 7F01D04C 908F0001 */ lbu $t7, 1($a0)
|
||||
/* 051B80 7F01D050 90990000 */ lbu $t9, ($a0)
|
||||
/* 051B84 7F01D054 90890061 */ lbu $t1, 0x61($a0)
|
||||
/* 051B88 7F01D058 01CFC021 */ addu $t8, $t6, $t7
|
||||
/* 051B8C 7F01D05C 03194021 */ addu $t0, $t8, $t9
|
||||
/* 051B90 7F01D060 01095021 */ addu $t2, $t0, $t1
|
||||
/* 051B94 7F01D064 254B0002 */ addiu $t3, $t2, 2
|
||||
/* 051B98 7F01D068 000B6083 */ sra $t4, $t3, 2
|
||||
/* 051B9C 7F01D06C A0CC0000 */ sb $t4, ($a2)
|
||||
/* 051BA0 7F01D070 908E0002 */ lbu $t6, 2($a0)
|
||||
/* 051BA4 7F01D074 908D0061 */ lbu $t5, 0x61($a0)
|
||||
/* 051BA8 7F01D078 90980001 */ lbu $t8, 1($a0)
|
||||
/* 051BAC 7F01D07C 90880062 */ lbu $t0, 0x62($a0)
|
||||
/* 051BB0 7F01D080 01AE7821 */ addu $t7, $t5, $t6
|
||||
/* 051BB4 7F01D084 01F8C821 */ addu $t9, $t7, $t8
|
||||
/* 051BB8 7F01D088 03284821 */ addu $t1, $t9, $t0
|
||||
/* 051BBC 7F01D08C 252A0002 */ addiu $t2, $t1, 2
|
||||
/* 051BC0 7F01D090 000A5883 */ sra $t3, $t2, 2
|
||||
/* 051BC4 7F01D094 A0CB0001 */ sb $t3, 1($a2)
|
||||
/* 051BC8 7F01D098 24050003 */ li $a1, 3
|
||||
/* 051BCC 7F01D09C 24C60002 */ addiu $a2, $a2, 2
|
||||
/* 051BD0 7F01D0A0 24840002 */ addiu $a0, $a0, 2
|
||||
.L7F01D0A4:
|
||||
/* 051BD4 7F01D0A4 908C0060 */ lbu $t4, 0x60($a0)
|
||||
/* 051BD8 7F01D0A8 908D0001 */ lbu $t5, 1($a0)
|
||||
/* 051BDC 7F01D0AC 908F0000 */ lbu $t7, ($a0)
|
||||
/* 051BE0 7F01D0B0 90990061 */ lbu $t9, 0x61($a0)
|
||||
/* 051BE4 7F01D0B4 018D7021 */ addu $t6, $t4, $t5
|
||||
/* 051BE8 7F01D0B8 01CFC021 */ addu $t8, $t6, $t7
|
||||
/* 051BEC 7F01D0BC 03194021 */ addu $t0, $t8, $t9
|
||||
/* 051BF0 7F01D0C0 25090002 */ addiu $t1, $t0, 2
|
||||
/* 051BF4 7F01D0C4 00095083 */ sra $t2, $t1, 2
|
||||
/* 051BF8 7F01D0C8 A0CA0000 */ sb $t2, ($a2)
|
||||
/* 051BFC 7F01D0CC 908C0002 */ lbu $t4, 2($a0)
|
||||
/* 051C00 7F01D0D0 908B0061 */ lbu $t3, 0x61($a0)
|
||||
/* 051C04 7F01D0D4 908E0001 */ lbu $t6, 1($a0)
|
||||
/* 051C08 7F01D0D8 90980062 */ lbu $t8, 0x62($a0)
|
||||
/* 051C0C 7F01D0DC 016C6821 */ addu $t5, $t3, $t4
|
||||
/* 051C10 7F01D0E0 01AE7821 */ addu $t7, $t5, $t6
|
||||
/* 051C14 7F01D0E4 01F8C821 */ addu $t9, $t7, $t8
|
||||
/* 051C18 7F01D0E8 27280002 */ addiu $t0, $t9, 2
|
||||
/* 051C1C 7F01D0EC 00084883 */ sra $t1, $t0, 2
|
||||
/* 051C20 7F01D0F0 A0C90001 */ sb $t1, 1($a2)
|
||||
/* 051C24 7F01D0F4 908B0003 */ lbu $t3, 3($a0)
|
||||
/* 051C28 7F01D0F8 908A0062 */ lbu $t2, 0x62($a0)
|
||||
/* 051C2C 7F01D0FC 908D0002 */ lbu $t5, 2($a0)
|
||||
/* 051C30 7F01D100 908F0063 */ lbu $t7, 0x63($a0)
|
||||
/* 051C34 7F01D104 014B6021 */ addu $t4, $t2, $t3
|
||||
/* 051C38 7F01D108 018D7021 */ addu $t6, $t4, $t5
|
||||
/* 051C3C 7F01D10C 01CFC021 */ addu $t8, $t6, $t7
|
||||
/* 051C40 7F01D110 27190002 */ addiu $t9, $t8, 2
|
||||
/* 051C44 7F01D114 00194083 */ sra $t0, $t9, 2
|
||||
/* 051C48 7F01D118 A0C80002 */ sb $t0, 2($a2)
|
||||
/* 051C4C 7F01D11C 908A0004 */ lbu $t2, 4($a0)
|
||||
/* 051C50 7F01D120 90890063 */ lbu $t1, 0x63($a0)
|
||||
/* 051C54 7F01D124 908C0003 */ lbu $t4, 3($a0)
|
||||
/* 051C58 7F01D128 908E0064 */ lbu $t6, 0x64($a0)
|
||||
/* 051C5C 7F01D12C 012A5821 */ addu $t3, $t1, $t2
|
||||
/* 051C60 7F01D130 016C6821 */ addu $t5, $t3, $t4
|
||||
/* 051C64 7F01D134 01AE7821 */ addu $t7, $t5, $t6
|
||||
/* 051C68 7F01D138 25F80002 */ addiu $t8, $t7, 2
|
||||
/* 051C6C 7F01D13C 0018C883 */ sra $t9, $t8, 2
|
||||
/* 051C70 7F01D140 24A50004 */ addiu $a1, $a1, 4
|
||||
/* 051C74 7F01D144 A0D90003 */ sb $t9, 3($a2)
|
||||
/* 051C78 7F01D148 24C60004 */ addiu $a2, $a2, 4
|
||||
/* 051C7C 7F01D14C 14A7FFD5 */ bne $a1, $a3, .L7F01D0A4
|
||||
/* 051C80 7F01D150 24840004 */ addiu $a0, $a0, 4
|
||||
/* 051C84 7F01D154 24420001 */ addiu $v0, $v0, 1
|
||||
/* 051C88 7F01D158 24C60002 */ addiu $a2, $a2, 2
|
||||
/* 051C8C 7F01D15C 1443FFBA */ bne $v0, $v1, .L7F01D048
|
||||
/* 051C90 7F01D160 24840002 */ addiu $a0, $a0, 2
|
||||
.L7F01D164:
|
||||
/* 051C94 7F01D164 03E00008 */ jr $ra
|
||||
/* 051C98 7F01D168 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
// Address 0x7F01D16C NTSC
|
||||
void sub_GAME_7F01D16C(u8 *arg0, s32 arg1, s32 arg2, u8 *arg3)
|
||||
{
|
||||
s32 temp_lo;
|
||||
u32 temp_a0;
|
||||
u32 var_t2;
|
||||
u8 *var_t0;
|
||||
u8 *var_v1;
|
||||
u32 t1;
|
||||
|
||||
temp_lo = arg1 * arg2;
|
||||
var_v1 = arg0;
|
||||
var_t0 = arg3;
|
||||
t1 = arg0 + temp_lo;
|
||||
var_t2 = arg0 + arg1;
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F01D16C(u8*, s32, s32, u8*) {
|
||||
do
|
||||
{
|
||||
temp_a0 = var_t2;
|
||||
|
||||
do
|
||||
{
|
||||
*var_t0 = *var_v1++;
|
||||
var_t2 += 1;
|
||||
var_t0 += arg2;
|
||||
|
||||
} while ((u32) var_v1 < temp_a0);
|
||||
|
||||
var_t0 = (var_t0 - (temp_lo)) + 1;
|
||||
|
||||
} while ((u32) var_v1 < (u32) t1);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F01D16C
|
||||
/* 051C9C 7F01D16C 00A60019 */ multu $a1, $a2
|
||||
/* 051CA0 7F01D170 00801825 */ move $v1, $a0
|
||||
/* 051CA4 7F01D174 00E04025 */ move $t0, $a3
|
||||
/* 051CA8 7F01D178 00855021 */ addu $t2, $a0, $a1
|
||||
/* 051CAC 7F01D17C 00001012 */ mflo $v0
|
||||
/* 051CB0 7F01D180 00824821 */ addu $t1, $a0, $v0
|
||||
/* 051CB4 7F01D184 00000000 */ nop
|
||||
.L7F01D188:
|
||||
/* 051CB8 7F01D188 01402025 */ move $a0, $t2
|
||||
.L7F01D18C:
|
||||
/* 051CBC 7F01D18C 906E0000 */ lbu $t6, ($v1)
|
||||
/* 051CC0 7F01D190 24630001 */ addiu $v1, $v1, 1
|
||||
/* 051CC4 7F01D194 0064082B */ sltu $at, $v1, $a0
|
||||
/* 051CC8 7F01D198 A10E0000 */ sb $t6, ($t0)
|
||||
/* 051CCC 7F01D19C 254A0001 */ addiu $t2, $t2, 1
|
||||
/* 051CD0 7F01D1A0 1420FFFA */ bnez $at, .L7F01D18C
|
||||
/* 051CD4 7F01D1A4 01064021 */ addu $t0, $t0, $a2
|
||||
/* 051CD8 7F01D1A8 01024023 */ subu $t0, $t0, $v0
|
||||
/* 051CDC 7F01D1AC 0069082B */ sltu $at, $v1, $t1
|
||||
/* 051CE0 7F01D1B0 1420FFF5 */ bnez $at, .L7F01D188
|
||||
/* 051CE4 7F01D1B4 25080001 */ addiu $t0, $t0, 1
|
||||
/* 051CE8 7F01D1B8 03E00008 */ jr $ra
|
||||
/* 051CEC 7F01D1BC 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F01D1C0(void) {
|
||||
// Unreferenced.
|
||||
// Address 0x7F01D1C0 NTSC.
|
||||
u8 *sub_GAME_7F01D1C0(u8 *arg0, s32 arg1, s32 arg2, u8 *arg3)
|
||||
{
|
||||
// mips2c output makes this look like `decrypt_bleeding_animation_data`, but without
|
||||
// u8 variables, and without arg4. But I can't get it to generate anything
|
||||
// close to matching.
|
||||
|
||||
// https://decomp.me/scratch/ptG72 0%
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
|
||||
@@ -3,7 +3,8 @@
|
||||
|
||||
#include <ultra64.h>
|
||||
|
||||
u8 *decrypt_bleeding_animation_data(u8*, s32, s32, u8*, s8*);
|
||||
u8 *decrypt_bleeding_animation_data(u8 *arg0, u8 arg1, u8 arg2, u8 *arg3, u8 *arg4);
|
||||
|
||||
void sub_GAME_7F01D16C(u8*, s32, s32, u8*);
|
||||
void sub_GAME_7F01D02C(u8*, s32, u8*);
|
||||
void sub_GAME_7F01CEEC(u8*, s32, u8*);
|
||||
|
||||
+82
-70
@@ -72,20 +72,20 @@ void bheadUpdateIdleRoll()
|
||||
{
|
||||
f32 mult = 1.0f / UINT_MAX;
|
||||
|
||||
g_CurrentPlayer->standlook[g_CurrentPlayer->standcnt][0] = ((f32)randomGetNext() * mult - 0.5f) * 0.02f;
|
||||
g_CurrentPlayer->standlook[g_CurrentPlayer->standcnt][2] = 1;
|
||||
g_CurrentPlayer->standup[g_CurrentPlayer->standcnt][0] = ((f32)randomGetNext() * mult - 0.5f) * 0.02f;
|
||||
g_CurrentPlayer->standup[g_CurrentPlayer->standcnt][1] = 1;
|
||||
g_CurrentPlayer->standlook[g_CurrentPlayer->standcnt].f[0] = ((f32)randomGetNext() * mult - 0.5f) * 0.02f;
|
||||
g_CurrentPlayer->standlook[g_CurrentPlayer->standcnt].f[2] = 1;
|
||||
g_CurrentPlayer->standup[g_CurrentPlayer->standcnt].f[0] = ((f32)randomGetNext() * mult - 0.5f) * 0.02f;
|
||||
g_CurrentPlayer->standup[g_CurrentPlayer->standcnt].f[1] = 1;
|
||||
|
||||
if (g_CurrentPlayer->standcnt)
|
||||
{
|
||||
g_CurrentPlayer->standlook[g_CurrentPlayer->standcnt][1] = (f32)randomGetNext() * mult * 0.01f;
|
||||
g_CurrentPlayer->standup[g_CurrentPlayer->standcnt][2] = (f32)randomGetNext() * mult * -0.01f;
|
||||
g_CurrentPlayer->standlook[g_CurrentPlayer->standcnt].f[1] = (f32)randomGetNext() * mult * 0.01f;
|
||||
g_CurrentPlayer->standup[g_CurrentPlayer->standcnt].f[2] = (f32)randomGetNext() * mult * -0.01f;
|
||||
}
|
||||
else
|
||||
{
|
||||
g_CurrentPlayer->standlook[g_CurrentPlayer->standcnt][1] = (f32)randomGetNext() * mult * -0.01f;
|
||||
g_CurrentPlayer->standup[g_CurrentPlayer->standcnt][2] = (f32)randomGetNext() * mult * 0.01f;
|
||||
g_CurrentPlayer->standlook[g_CurrentPlayer->standcnt].f[1] = (f32)randomGetNext() * mult * -0.01f;
|
||||
g_CurrentPlayer->standup[g_CurrentPlayer->standcnt].f[2] = (f32)randomGetNext() * mult * 0.01f;
|
||||
}
|
||||
|
||||
g_CurrentPlayer->standcnt = 1 - g_CurrentPlayer->standcnt;
|
||||
@@ -102,23 +102,23 @@ void bheadUpdatePos(coord3d *vel)
|
||||
|
||||
if (g_CurrentPlayer->resetheadpos)
|
||||
{
|
||||
g_CurrentPlayer->headpossum[0] = 0.0f;
|
||||
g_CurrentPlayer->headpossum[1] = (vel->f[1] / (1.0f - CURRENTPLAYERUPDATEHEADPOS_SCALE));
|
||||
g_CurrentPlayer->headpossum[2] = 0.0f;
|
||||
g_CurrentPlayer->headpossum.f[0] = 0.0f;
|
||||
g_CurrentPlayer->headpossum.f[1] = (vel->f[1] / (1.0f - CURRENTPLAYERUPDATEHEADPOS_SCALE));
|
||||
g_CurrentPlayer->headpossum.f[2] = 0.0f;
|
||||
|
||||
g_CurrentPlayer->resetheadpos = FALSE;
|
||||
}
|
||||
|
||||
for (i = 0; i < g_ClockTimer; i++)
|
||||
{
|
||||
g_CurrentPlayer->headpossum[0] = ((CURRENTPLAYERUPDATEHEADPOS_SCALE * g_CurrentPlayer->headpossum[0]) + vel->f[0]);
|
||||
g_CurrentPlayer->headpossum[1] = ((CURRENTPLAYERUPDATEHEADPOS_SCALE * g_CurrentPlayer->headpossum[1]) + vel->f[1]);
|
||||
g_CurrentPlayer->headpossum[2] = ((CURRENTPLAYERUPDATEHEADPOS_SCALE * g_CurrentPlayer->headpossum[2]) + vel->f[2]);
|
||||
g_CurrentPlayer->headpossum.f[0] = ((CURRENTPLAYERUPDATEHEADPOS_SCALE * g_CurrentPlayer->headpossum.f[0]) + vel->f[0]);
|
||||
g_CurrentPlayer->headpossum.f[1] = ((CURRENTPLAYERUPDATEHEADPOS_SCALE * g_CurrentPlayer->headpossum.f[1]) + vel->f[1]);
|
||||
g_CurrentPlayer->headpossum.f[2] = ((CURRENTPLAYERUPDATEHEADPOS_SCALE * g_CurrentPlayer->headpossum.f[2]) + vel->f[2]);
|
||||
}
|
||||
|
||||
g_CurrentPlayer->headpos[0] = (g_CurrentPlayer->headpossum[0] * (1.0f - CURRENTPLAYERUPDATEHEADPOS_SCALE));
|
||||
g_CurrentPlayer->headpos[1] = (g_CurrentPlayer->headpossum[1] * (1.0f - CURRENTPLAYERUPDATEHEADPOS_SCALE));
|
||||
g_CurrentPlayer->headpos[2] = (g_CurrentPlayer->headpossum[2] * (1.0f - CURRENTPLAYERUPDATEHEADPOS_SCALE));
|
||||
g_CurrentPlayer->headpos.f[0] = (g_CurrentPlayer->headpossum.f[0] * (1.0f - CURRENTPLAYERUPDATEHEADPOS_SCALE));
|
||||
g_CurrentPlayer->headpos.f[1] = (g_CurrentPlayer->headpossum.f[1] * (1.0f - CURRENTPLAYERUPDATEHEADPOS_SCALE));
|
||||
g_CurrentPlayer->headpos.f[2] = (g_CurrentPlayer->headpossum.f[2] * (1.0f - CURRENTPLAYERUPDATEHEADPOS_SCALE));
|
||||
#undef CURRENTPLAYERUPDATEHEADPOS_SCALE
|
||||
}
|
||||
|
||||
@@ -128,32 +128,35 @@ void bheadUpdateRot(coord3d *lookvel, coord3d *upvel)
|
||||
|
||||
if (g_CurrentPlayer->resetheadrot)
|
||||
{
|
||||
g_CurrentPlayer->headlooksum[0] = lookvel->f[0] / (1.0f - g_CurrentPlayer->headdamp);
|
||||
g_CurrentPlayer->headlooksum[1] = lookvel->f[1] / (1.0f - g_CurrentPlayer->headdamp);
|
||||
g_CurrentPlayer->headlooksum[2] = lookvel->f[2] / (1.0f - g_CurrentPlayer->headdamp);
|
||||
g_CurrentPlayer->headupsum[0] = upvel->f[0] / (1.0f - g_CurrentPlayer->headdamp);
|
||||
g_CurrentPlayer->headupsum[1] = upvel->f[1] / (1.0f - g_CurrentPlayer->headdamp);
|
||||
g_CurrentPlayer->headupsum[2] = upvel->f[2] / (1.0f - g_CurrentPlayer->headdamp);
|
||||
g_CurrentPlayer->headlooksum.f[0] = lookvel->f[0] / (1.0f - g_CurrentPlayer->headdamp);
|
||||
g_CurrentPlayer->headlooksum.f[1] = lookvel->f[1] / (1.0f - g_CurrentPlayer->headdamp);
|
||||
g_CurrentPlayer->headlooksum.f[2] = lookvel->f[2] / (1.0f - g_CurrentPlayer->headdamp);
|
||||
|
||||
g_CurrentPlayer->headupsum.f[0] = upvel->f[0] / (1.0f - g_CurrentPlayer->headdamp);
|
||||
g_CurrentPlayer->headupsum.f[1] = upvel->f[1] / (1.0f - g_CurrentPlayer->headdamp);
|
||||
g_CurrentPlayer->headupsum.f[2] = upvel->f[2] / (1.0f - g_CurrentPlayer->headdamp);
|
||||
|
||||
g_CurrentPlayer->resetheadrot = FALSE;
|
||||
}
|
||||
|
||||
for (i = 0; i < g_ClockTimer; i++)
|
||||
{
|
||||
g_CurrentPlayer->headlooksum[0] = g_CurrentPlayer->headdamp * g_CurrentPlayer->headlooksum[0] + lookvel->f[0];
|
||||
g_CurrentPlayer->headlooksum[1] = g_CurrentPlayer->headdamp * g_CurrentPlayer->headlooksum[1] + lookvel->f[1];
|
||||
g_CurrentPlayer->headlooksum[2] = g_CurrentPlayer->headdamp * g_CurrentPlayer->headlooksum[2] + lookvel->f[2];
|
||||
g_CurrentPlayer->headupsum[0] = g_CurrentPlayer->headdamp * g_CurrentPlayer->headupsum[0] + upvel->f[0];
|
||||
g_CurrentPlayer->headupsum[1] = g_CurrentPlayer->headdamp * g_CurrentPlayer->headupsum[1] + upvel->f[1];
|
||||
g_CurrentPlayer->headupsum[2] = g_CurrentPlayer->headdamp * g_CurrentPlayer->headupsum[2] + upvel->f[2];
|
||||
g_CurrentPlayer->headlooksum.f[0] = g_CurrentPlayer->headdamp * g_CurrentPlayer->headlooksum.f[0] + lookvel->f[0];
|
||||
g_CurrentPlayer->headlooksum.f[1] = g_CurrentPlayer->headdamp * g_CurrentPlayer->headlooksum.f[1] + lookvel->f[1];
|
||||
g_CurrentPlayer->headlooksum.f[2] = g_CurrentPlayer->headdamp * g_CurrentPlayer->headlooksum.f[2] + lookvel->f[2];
|
||||
|
||||
g_CurrentPlayer->headupsum.f[0] = g_CurrentPlayer->headdamp * g_CurrentPlayer->headupsum.f[0] + upvel->f[0];
|
||||
g_CurrentPlayer->headupsum.f[1] = g_CurrentPlayer->headdamp * g_CurrentPlayer->headupsum.f[1] + upvel->f[1];
|
||||
g_CurrentPlayer->headupsum.f[2] = g_CurrentPlayer->headdamp * g_CurrentPlayer->headupsum.f[2] + upvel->f[2];
|
||||
}
|
||||
|
||||
g_CurrentPlayer->headlook[0] = g_CurrentPlayer->headlooksum[0] * (1.0f - g_CurrentPlayer->headdamp);
|
||||
g_CurrentPlayer->headlook[1] = g_CurrentPlayer->headlooksum[1] * (1.0f - g_CurrentPlayer->headdamp);
|
||||
g_CurrentPlayer->headlook[2] = g_CurrentPlayer->headlooksum[2] * (1.0f - g_CurrentPlayer->headdamp);
|
||||
g_CurrentPlayer->headup[0] = g_CurrentPlayer->headupsum[0] * (1.0f - g_CurrentPlayer->headdamp);
|
||||
g_CurrentPlayer->headup[1] = g_CurrentPlayer->headupsum[1] * (1.0f - g_CurrentPlayer->headdamp);
|
||||
g_CurrentPlayer->headup[2] = g_CurrentPlayer->headupsum[2] * (1.0f - g_CurrentPlayer->headdamp);
|
||||
g_CurrentPlayer->headlook.f[0] = g_CurrentPlayer->headlooksum.f[0] * (1.0f - g_CurrentPlayer->headdamp);
|
||||
g_CurrentPlayer->headlook.f[1] = g_CurrentPlayer->headlooksum.f[1] * (1.0f - g_CurrentPlayer->headdamp);
|
||||
g_CurrentPlayer->headlook.f[2] = g_CurrentPlayer->headlooksum.f[2] * (1.0f - g_CurrentPlayer->headdamp);
|
||||
|
||||
g_CurrentPlayer->headup.f[0] = g_CurrentPlayer->headupsum.f[0] * (1.0f - g_CurrentPlayer->headdamp);
|
||||
g_CurrentPlayer->headup.f[1] = g_CurrentPlayer->headupsum.f[1] * (1.0f - g_CurrentPlayer->headdamp);
|
||||
g_CurrentPlayer->headup.f[2] = g_CurrentPlayer->headupsum.f[2] * (1.0f - g_CurrentPlayer->headdamp);
|
||||
}
|
||||
|
||||
void bheadSetdamp(f32 headdamp)
|
||||
@@ -161,22 +164,25 @@ void bheadSetdamp(f32 headdamp)
|
||||
if (headdamp != g_CurrentPlayer->headdamp)
|
||||
{
|
||||
f32 divisor = 1.0f - headdamp;
|
||||
g_CurrentPlayer->headlooksum[0] = (g_CurrentPlayer->headlooksum[0] * (1.0f - g_CurrentPlayer->headdamp)) / divisor;
|
||||
g_CurrentPlayer->headlooksum[1] = (g_CurrentPlayer->headlooksum[1] * (1.0f - g_CurrentPlayer->headdamp)) / divisor;
|
||||
g_CurrentPlayer->headlooksum[2] = (g_CurrentPlayer->headlooksum[2] * (1.0f - g_CurrentPlayer->headdamp)) / divisor;
|
||||
g_CurrentPlayer->headupsum[0] = (g_CurrentPlayer->headupsum[0] * (1.0f - g_CurrentPlayer->headdamp)) / divisor;
|
||||
g_CurrentPlayer->headupsum[1] = (g_CurrentPlayer->headupsum[1] * (1.0f - g_CurrentPlayer->headdamp)) / divisor;
|
||||
g_CurrentPlayer->headupsum[2] = (g_CurrentPlayer->headupsum[2] * (1.0f - g_CurrentPlayer->headdamp)) / divisor;
|
||||
g_CurrentPlayer->headdamp = headdamp;
|
||||
|
||||
g_CurrentPlayer->headlooksum.f[0] = (g_CurrentPlayer->headlooksum.f[0] * (1.0f - g_CurrentPlayer->headdamp)) / divisor;
|
||||
g_CurrentPlayer->headlooksum.f[1] = (g_CurrentPlayer->headlooksum.f[1] * (1.0f - g_CurrentPlayer->headdamp)) / divisor;
|
||||
g_CurrentPlayer->headlooksum.f[2] = (g_CurrentPlayer->headlooksum.f[2] * (1.0f - g_CurrentPlayer->headdamp)) / divisor;
|
||||
|
||||
g_CurrentPlayer->headupsum.f[0] = (g_CurrentPlayer->headupsum.f[0] * (1.0f - g_CurrentPlayer->headdamp)) / divisor;
|
||||
g_CurrentPlayer->headupsum.f[1] = (g_CurrentPlayer->headupsum.f[1] * (1.0f - g_CurrentPlayer->headdamp)) / divisor;
|
||||
g_CurrentPlayer->headupsum.f[2] = (g_CurrentPlayer->headupsum.f[2] * (1.0f - g_CurrentPlayer->headdamp)) / divisor;
|
||||
|
||||
g_CurrentPlayer->headdamp = headdamp;
|
||||
}
|
||||
}
|
||||
|
||||
void bheadUpdate(f32 arg0, f32 arg1)
|
||||
void bheadUpdate(f32 percent_speed, f32 speedsideways)
|
||||
{
|
||||
coord3d headpos;
|
||||
coord3d lookvel;
|
||||
coord3d upvel;
|
||||
f32 spC0;
|
||||
f32 abs_anim_speed;
|
||||
struct unk_joint_list sp80;
|
||||
Mtxf sp40;
|
||||
coord3d sp34;
|
||||
@@ -186,17 +192,17 @@ void bheadUpdate(f32 arg0, f32 arg1)
|
||||
lookvel = D_80036B0C;
|
||||
upvel = D_80036B18;
|
||||
|
||||
spC0 = modelGetAbsAnimSpeed(&g_CurrentPlayer->model);
|
||||
abs_anim_speed = modelGetAbsAnimSpeed(&g_CurrentPlayer->model);
|
||||
|
||||
if (g_CurrentPlayer->headanim == 0)
|
||||
{
|
||||
if (spC0 > 0.7f)
|
||||
if (abs_anim_speed > 0.7f)
|
||||
{
|
||||
g_CurrentPlayer->headamplitude = 1.0f;
|
||||
}
|
||||
else if (spC0 > 0.1f)
|
||||
else if (abs_anim_speed > 0.1f)
|
||||
{
|
||||
g_CurrentPlayer->headamplitude = (((spC0 - 0.1f) * 0.6f) / 0.59999996f) + 0.4f;
|
||||
g_CurrentPlayer->headamplitude = (((abs_anim_speed - 0.1f) * 0.6f) / 0.59999996f) + 0.4f;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -217,16 +223,15 @@ void bheadUpdate(f32 arg0, f32 arg1)
|
||||
}
|
||||
|
||||
sp80 = D_80036B24;
|
||||
|
||||
sp34 = D_80036B64;
|
||||
|
||||
sp30 = sub_GAME_7F0701E0();
|
||||
sp30 = modelIsAnimMergingEnabled();
|
||||
|
||||
g_CurrentPlayer->resetheadtick = 0;
|
||||
|
||||
sub_GAME_7F0701D4(0);
|
||||
sub_GAME_7F070AEC(&g_CurrentPlayer->model, g_ClockTimer, 1);
|
||||
sub_GAME_7F0701D4((s32) sp30);
|
||||
modelSetAnimMergingEnabled(0);
|
||||
modelTickAnimQuarterSpeed(&g_CurrentPlayer->model, g_ClockTimer, 1);
|
||||
modelSetAnimMergingEnabled((s32) sp30);
|
||||
|
||||
subcalcpos(&g_CurrentPlayer->model);
|
||||
matrix_4x4_set_identity(&sp40);
|
||||
@@ -236,9 +241,9 @@ void bheadUpdate(f32 arg0, f32 arg1)
|
||||
|
||||
subcalcmatrices(&sp80, &g_CurrentPlayer->model);
|
||||
|
||||
g_CurrentPlayer->headbodyoffset[0] = g_CurrentPlayer->standbodyoffset.x;
|
||||
g_CurrentPlayer->headbodyoffset[1] = g_CurrentPlayer->standbodyoffset.y;
|
||||
g_CurrentPlayer->headbodyoffset[2] = g_CurrentPlayer->standbodyoffset.z;
|
||||
g_CurrentPlayer->headbodyoffset.f[0] = g_CurrentPlayer->standbodyoffset.x;
|
||||
g_CurrentPlayer->headbodyoffset.f[1] = g_CurrentPlayer->standbodyoffset.y;
|
||||
g_CurrentPlayer->headbodyoffset.f[2] = g_CurrentPlayer->standbodyoffset.z;
|
||||
|
||||
getsuboffset(&g_CurrentPlayer->model, (struct float3 *) &sp34);
|
||||
|
||||
@@ -247,10 +252,10 @@ void bheadUpdate(f32 arg0, f32 arg1)
|
||||
|
||||
setsuboffset(&g_CurrentPlayer->model, (coord3d *) &sp34);
|
||||
|
||||
if (spC0 > 0.0f)
|
||||
if (abs_anim_speed > 0.0f)
|
||||
{
|
||||
g_CurrentPlayer->bondheadmatrices[0].m[3][0] += arg1;
|
||||
g_CurrentPlayer->bondheadmatrices[0].m[3][2] *= arg0;
|
||||
g_CurrentPlayer->bondheadmatrices[0].m[3][0] += speedsideways;
|
||||
g_CurrentPlayer->bondheadmatrices[0].m[3][2] *= percent_speed;
|
||||
|
||||
if (g_ClockTimer > 0)
|
||||
{
|
||||
@@ -258,9 +263,9 @@ void bheadUpdate(f32 arg0, f32 arg1)
|
||||
g_CurrentPlayer->bondheadmatrices[0].m[3][2] /= g_GlobalTimerDelta;
|
||||
}
|
||||
|
||||
headpos.f[0] = g_CurrentPlayer->bondheadmatrices[0].m[3][0] * g_CurrentPlayer->headamplitude;
|
||||
headpos.f[0] = g_CurrentPlayer->bondheadmatrices[0].m[3][0] * g_CurrentPlayer->headamplitude;
|
||||
headpos.f[1] = ((g_CurrentPlayer->bondheadmatrices[0].m[3][1] - g_CurrentPlayer->standheight) * g_CurrentPlayer->headamplitude) + g_CurrentPlayer->standheight;
|
||||
headpos.f[2] = g_CurrentPlayer->bondheadmatrices[0].m[3][2] * g_CurrentPlayer->headamplitude;
|
||||
headpos.f[2] = g_CurrentPlayer->bondheadmatrices[0].m[3][2] * g_CurrentPlayer->headamplitude;
|
||||
|
||||
if (g_CurrentPlayer->headanim >= 0)
|
||||
{
|
||||
@@ -275,7 +280,7 @@ void bheadUpdate(f32 arg0, f32 arg1)
|
||||
g_CurrentPlayer->headwalkingtime60 += g_ClockTimer;
|
||||
|
||||
#if defined(VERSION_EU)
|
||||
if (g_CurrentPlayer->headwalkingtime60 >= 0x33)
|
||||
if (g_CurrentPlayer->headwalkingtime60 > TICKS_PER_SECOND)
|
||||
{
|
||||
bheadSetdamp(0.916599988937f);
|
||||
}
|
||||
@@ -284,7 +289,7 @@ void bheadUpdate(f32 arg0, f32 arg1)
|
||||
bheadSetdamp(0.987999975681f);
|
||||
}
|
||||
#else
|
||||
if (g_CurrentPlayer->headwalkingtime60 >= 0x3D)
|
||||
if (g_CurrentPlayer->headwalkingtime60 > TICKS_PER_SECOND)
|
||||
{
|
||||
bheadSetdamp(0.93f);
|
||||
}
|
||||
@@ -309,9 +314,9 @@ void bheadUpdate(f32 arg0, f32 arg1)
|
||||
}
|
||||
else
|
||||
{
|
||||
g_CurrentPlayer->headbodyoffset[0] = g_CurrentPlayer->standbodyoffset.x;
|
||||
g_CurrentPlayer->headbodyoffset[1] = g_CurrentPlayer->standbodyoffset.y;
|
||||
g_CurrentPlayer->headbodyoffset[2] = g_CurrentPlayer->standbodyoffset.z;
|
||||
g_CurrentPlayer->headbodyoffset.f[0] = g_CurrentPlayer->standbodyoffset.x;
|
||||
g_CurrentPlayer->headbodyoffset.f[1] = g_CurrentPlayer->standbodyoffset.y;
|
||||
g_CurrentPlayer->headbodyoffset.f[2] = g_CurrentPlayer->standbodyoffset.z;
|
||||
|
||||
headpos.f[0] = 0.0f;
|
||||
headpos.f[1] = g_CurrentPlayer->standheight;
|
||||
@@ -331,18 +336,22 @@ void bheadUpdate(f32 arg0, f32 arg1)
|
||||
g_CurrentPlayer->standfrac -= 1.0f;
|
||||
}
|
||||
|
||||
// result = x vector plus ((y - x vector) * scaler)
|
||||
// lookvel = ...
|
||||
sub_GAME_7F05AE00(
|
||||
&g_CurrentPlayer->standlook[g_CurrentPlayer->standcnt][0],
|
||||
&g_CurrentPlayer->standlook[1 - g_CurrentPlayer->standcnt][0],
|
||||
&g_CurrentPlayer->standlook[g_CurrentPlayer->standcnt].f[0],
|
||||
&g_CurrentPlayer->standlook[1 - g_CurrentPlayer->standcnt].f[0],
|
||||
g_CurrentPlayer->standfrac,
|
||||
&lookvel);
|
||||
|
||||
lookvel.f[0] *= (1.0f + (5.0f * bondviewGetBondBreathing()));
|
||||
lookvel.f[1] *= (1.0f + (5.0f * bondviewGetBondBreathing()));
|
||||
|
||||
// result = x vector plus ((y - x vector) * scaler)
|
||||
// upvel = ...
|
||||
sub_GAME_7F05AE00(
|
||||
&g_CurrentPlayer->standup[g_CurrentPlayer->standcnt][0],
|
||||
&g_CurrentPlayer->standup[1 - g_CurrentPlayer->standcnt][0],
|
||||
&g_CurrentPlayer->standup[g_CurrentPlayer->standcnt].f[0],
|
||||
&g_CurrentPlayer->standup[1 - g_CurrentPlayer->standcnt].f[0],
|
||||
g_CurrentPlayer->standfrac,
|
||||
&upvel);
|
||||
|
||||
@@ -357,6 +366,8 @@ void bheadUpdate(f32 arg0, f32 arg1)
|
||||
|
||||
|
||||
/**
|
||||
* Adjust Bond model based on speed (speedforwards).
|
||||
* Toggle the currently selected headanim index.
|
||||
* Address 0x7F08E8BC.
|
||||
*/
|
||||
void bheadAdjustAnimation(f32 speed)
|
||||
@@ -435,6 +446,7 @@ void bheadSetSpeed(f32 speed)
|
||||
f32 bheadGetBreathingValue(void)
|
||||
{
|
||||
if (g_CurrentPlayer->headanim >= 0) {
|
||||
// bondviewGetBondBreathing() * (1/80) + (1/240)
|
||||
f32 a = bondviewGetBondBreathing() * 0.012500001f + 0.004166667f;
|
||||
f32 b = modelGetAbsAnimSpeed(&g_CurrentPlayer->model);
|
||||
|
||||
|
||||
+1
-1
@@ -20,7 +20,7 @@ s32 waypointFindRoute(waypoint *, waypoint *, waypoint ** arr, s32 arr_len);
|
||||
waypoint * sub_GAME_7F08FB90(waypoint *, waypoint *);
|
||||
void bheadFlipAnimation();
|
||||
void bheadUpdateIdleRoll();
|
||||
void bheadUpdate(f32 arg0, f32 arg1);
|
||||
void bheadUpdate(f32 percent_speed, f32 speedsideways);
|
||||
void bheadAdjustAnimation(f32 arg0);
|
||||
void bheadStartDeathAnimation(struct ModelAnimation *arg0, s32 arg1, f32 arg2, f32 arg3);
|
||||
void bheadSetSpeed(f32 arg0);
|
||||
|
||||
+11
-11
@@ -274,7 +274,7 @@ int bondinvItemAvailableForHand(ITEM_IDS right, ITEM_IDS left)
|
||||
right < ITEM_BOMBCASE &&
|
||||
right == left &&
|
||||
getPlayerCount() == 1 &&
|
||||
bondwalkItemCheckBitflags(right, 0x100000))
|
||||
bondwalkItemCheckBitflags(right, WEAPONSTATBITFLAG_CAN_DUAL_WIELD))
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
@@ -289,7 +289,7 @@ int bondinvItemAvailableForHand(ITEM_IDS right, ITEM_IDS left)
|
||||
right < ITEM_BOMBCASE &&
|
||||
right == left &&
|
||||
getPlayerCount() == 1 &&
|
||||
bondwalkItemCheckBitflags(right, 0x100000) &&
|
||||
bondwalkItemCheckBitflags(right, WEAPONSTATBITFLAG_CAN_DUAL_WIELD) &&
|
||||
(j_text_trigger == FALSE || (right != ITEM_KNIFE)))
|
||||
{
|
||||
return TRUE;
|
||||
@@ -561,7 +561,7 @@ void bondinvCycleForward(s32 *nextright, s32 *nextleft, s32 requireammo)
|
||||
{
|
||||
s32 candidate = *nextright;
|
||||
|
||||
if (getPlayerCount() == 1 && bondwalkItemCheckBitflags(*nextright, 0x100000) && (*nextleft < *nextright) && (requireammo == FALSE || bondwalkItemHasAmmo(*nextright)) && (weapon1 != *nextright || *nextright < weapon2)
|
||||
if (getPlayerCount() == 1 && bondwalkItemCheckBitflags(*nextright, WEAPONSTATBITFLAG_CAN_DUAL_WIELD) && (*nextleft < *nextright) && (requireammo == FALSE || bondwalkItemHasAmmo(*nextright)) && (weapon1 != *nextright || *nextright < weapon2)
|
||||
#ifdef BUGFIX_R1
|
||||
&& (!j_text_trigger || *nextright != ITEM_KNIFE)
|
||||
#endif
|
||||
@@ -671,7 +671,7 @@ void bondinvCycleBackward(s32 *nextright, s32 *nextleft, s32 requireammo)
|
||||
{
|
||||
if (candidate == weapon1)
|
||||
{
|
||||
if (getPlayerCount() == 1 && bondwalkItemCheckBitflags(candidate, 0x100000) && (requireammo == FALSE || bondwalkItemHasAmmo(candidate)) && (candidate != *nextright || candidate < *nextleft) && (weapon2 < candidate)
|
||||
if (getPlayerCount() == 1 && bondwalkItemCheckBitflags(candidate, WEAPONSTATBITFLAG_CAN_DUAL_WIELD) && (requireammo == FALSE || bondwalkItemHasAmmo(candidate)) && (candidate != *nextright || candidate < *nextleft) && (weapon2 < candidate)
|
||||
#ifdef BUGFIX_R1
|
||||
&& (!j_text_trigger || candidate != ITEM_KNIFE)
|
||||
#endif
|
||||
@@ -690,7 +690,7 @@ void bondinvCycleBackward(s32 *nextright, s32 *nextleft, s32 requireammo)
|
||||
#endif
|
||||
)
|
||||
{
|
||||
if (getPlayerCount() == 1 && bondwalkItemCheckBitflags(candidate, 0x100000) && (candidate != *nextright || candidate < *nextleft))
|
||||
if (getPlayerCount() == 1 && bondwalkItemCheckBitflags(candidate, WEAPONSTATBITFLAG_CAN_DUAL_WIELD) && (candidate != *nextright || candidate < *nextleft))
|
||||
{
|
||||
weapon1 = candidate;
|
||||
weapon2 = candidate;
|
||||
@@ -1389,9 +1389,9 @@ u8 *bondinvGetActivatedTextObject(ObjectRecord *obj)
|
||||
{
|
||||
textoverride *override = bondinvGetTextbyObj(obj);
|
||||
|
||||
if (override && override->unk8)
|
||||
if (override && override->pickuptext)
|
||||
{
|
||||
return langGet(override->unk8);
|
||||
return langGet(override->pickuptext);
|
||||
}
|
||||
|
||||
return NULL;
|
||||
@@ -1401,9 +1401,9 @@ u8 *bondinvGetActivatedTextWeapon(ITEM_IDS weaponnum)
|
||||
{
|
||||
textoverride *override = bondinvGetTextbyWeaponID(weaponnum);
|
||||
|
||||
if (override && override->unk8)
|
||||
if (override && override->pickuptext)
|
||||
{
|
||||
return langGet(override->unk8);
|
||||
return langGet(override->pickuptext);
|
||||
}
|
||||
|
||||
return NULL;
|
||||
@@ -1415,7 +1415,7 @@ void bondinvIncrementHeldTime(s32 weapon1, s32 weapon2)
|
||||
s32 leastusedindex;
|
||||
s32 i;
|
||||
|
||||
if (!bondwalkItemCheckBitflags(weapon1, 0x20000))
|
||||
if (!bondwalkItemCheckBitflags(weapon1, WEAPONSTATBITFLAG_USE_HOLD_TIME))
|
||||
{
|
||||
return;
|
||||
}
|
||||
@@ -1423,7 +1423,7 @@ void bondinvIncrementHeldTime(s32 weapon1, s32 weapon2)
|
||||
leastusedtime = 0x7fffffff;
|
||||
leastusedindex = 0;
|
||||
|
||||
if (!bondwalkItemCheckBitflags(weapon2, 0x20000))
|
||||
if (!bondwalkItemCheckBitflags(weapon2, WEAPONSTATBITFLAG_USE_HOLD_TIME))
|
||||
{
|
||||
weapon2 = ITEM_UNARMED;
|
||||
}
|
||||
|
||||
+4566
-26863
File diff suppressed because it is too large.
Load diff
+155
-108
@@ -43,9 +43,15 @@ struct collision434 {
|
||||
coord3d collision_position;
|
||||
|
||||
/**
|
||||
* This affects Bond's movement, but not the viewport.
|
||||
* This does not affect boost direction.
|
||||
*
|
||||
* f[0]: forward component (sin theta) in radians
|
||||
* f[1]: zero
|
||||
* f[2]: sideways component (cos theta) in radians.
|
||||
* Offset 0x10.
|
||||
*/
|
||||
struct coord3d field_10;
|
||||
struct coord3d theta_transform;
|
||||
|
||||
/**
|
||||
* Some kind of alternative to pos3 (in player struct).
|
||||
@@ -167,7 +173,7 @@ struct hand
|
||||
f32 field_A38;
|
||||
f32 field_A3C;
|
||||
f32 field_A40;
|
||||
s32 field_A44;
|
||||
ALSoundState * audioHandle;
|
||||
s32 field_A48;
|
||||
s32 field_A4C;
|
||||
s32 field_A50;
|
||||
@@ -176,8 +182,8 @@ struct hand
|
||||
f32 field_A84;
|
||||
f32 field_A88;
|
||||
s32 field_A8C;
|
||||
ObjectRecord* field_A90;
|
||||
s32 field_A94;
|
||||
ObjectRecord* rocket;
|
||||
s32 firedrocket;
|
||||
s32 field_A98;
|
||||
s32 field_A9C;
|
||||
s32 field_AA0;
|
||||
@@ -256,7 +262,7 @@ struct hand
|
||||
s32 field_BFC;
|
||||
s32 field_C00;
|
||||
s32 field_C04;
|
||||
s32 field_C08;
|
||||
s32 volley; // Number of bullets discharged in a row. For pistols, it's always 1 even if the fire button is held.
|
||||
coord3d item_related;
|
||||
};
|
||||
|
||||
@@ -284,7 +290,7 @@ typedef struct textoverride {
|
||||
/*0x10*/ u32 unk5;
|
||||
/*0x14*/ u32 unk6;
|
||||
/*0x18*/ u32 unk7;
|
||||
/*0x1c*/ u32 unk8;
|
||||
/*0x1c*/ u32 pickuptext;
|
||||
/*0x20*/ struct textoverride *next;
|
||||
/*0x24*/ struct ObjectRecord *obj;
|
||||
} textoverride;
|
||||
@@ -398,9 +404,12 @@ struct player
|
||||
|
||||
/**
|
||||
* Collision / clipping related.
|
||||
* When Bond falls off a ladder or similar, will "overshoot" vertical default.
|
||||
* Current offset is stored in this field.
|
||||
*
|
||||
* Offset 0x0090.
|
||||
*/
|
||||
/* 0x0090 */ f32 field_90;
|
||||
/* 0x0090 */ f32 vertical_bounce_adjust;
|
||||
/* 0x0094 */ s32 field_94;
|
||||
/* 0x0098 */ f32 field_98;
|
||||
|
||||
@@ -438,11 +447,29 @@ struct player
|
||||
/* 0x00f0 */ f32 apparentarmour;
|
||||
|
||||
#if defined(VERSION_JP) || defined (VERSION_EU)
|
||||
/* 0x00f4 */ f32 damageshowtime;
|
||||
/* 0x00f8 */ f32 healthshowtime;
|
||||
|
||||
/*
|
||||
* When a non-negative integer:
|
||||
* - hide ammo and aim sight
|
||||
* - hide any active speech text
|
||||
* - disable shoot and B press interact
|
||||
* Otherwise,
|
||||
* - undo the above.
|
||||
* 0x00f4
|
||||
**/
|
||||
f32 damageshowtime;
|
||||
|
||||
/**
|
||||
* When a non-negative integer:
|
||||
* - Show health and body armor overlay if Bond isn't dead.
|
||||
* Otherwise,
|
||||
* - undo the above.
|
||||
* 0x00f8
|
||||
**/
|
||||
f32 healthshowtime;
|
||||
#else
|
||||
/* 0x00f4 */ s32 damageshowtime;
|
||||
/* 0x00f8 */ s32 healthshowtime;
|
||||
/* See comments above. 0x00f4 */ s32 damageshowtime;
|
||||
/* See comments above. 0x00f8 */ s32 healthshowtime;
|
||||
#endif
|
||||
|
||||
|
||||
@@ -466,21 +493,53 @@ struct player
|
||||
/* 0x0124 */ s32 insightaimmode;
|
||||
/* 0x0128 */ s32 autoyaimenabled;
|
||||
/* 0x012c */ f32 autoaimy;
|
||||
/* 0x0130 */ s32 autoyaimtime;
|
||||
/* 0x0130 */ struct PropRecord *autoaim_target_y;
|
||||
/* 0x0134 */ s32 autoyaimtime60;
|
||||
/* 0x0138 */ s32 autoxaimenabled;
|
||||
/* 0x013c */ f32 autoaimx;
|
||||
/* 0x0140 */ s32 autoxaimtime;
|
||||
/* 0x0140 */ struct PropRecord *autoaim_target_x;
|
||||
/* 0x0144 */ s32 autoxaimtime60;
|
||||
/* 0x0148 */ f32 vv_theta;
|
||||
/* 0x014c */ f32 speedtheta;
|
||||
/* 0x0150 */ f32 vv_costheta;
|
||||
/* 0x0154 */ f32 vv_sintheta;
|
||||
/* 0x0158 */ f32 vv_verta;
|
||||
/* 0x015c */ f32 vv_verta360;
|
||||
|
||||
/**
|
||||
* Computed value from vv_theta, used to calculate boost direction.
|
||||
* 0x0150
|
||||
**/
|
||||
f32 vv_costheta;
|
||||
|
||||
/**
|
||||
* Computed value from vv_theta, used to calculate boost direction.
|
||||
* 0x0154
|
||||
**/
|
||||
f32 vv_sintheta;
|
||||
|
||||
/**
|
||||
* Vertical look angle.
|
||||
* 0x0158
|
||||
**/
|
||||
f32 vv_verta;
|
||||
|
||||
/**
|
||||
* Vertical look angle. Computed value from vv_verta, should always be between 0 and 360 degrees.
|
||||
* 0x015c
|
||||
**/
|
||||
f32 vv_verta360;
|
||||
|
||||
/* 0x0160 */ f32 speedverta;
|
||||
/* 0x0164 */ f32 vv_cosverta;
|
||||
/* 0x0168 */ f32 vv_sinverta;
|
||||
|
||||
/**
|
||||
* Computed value from vv_verta360, but otherwise unused?
|
||||
* 0x0164
|
||||
**/
|
||||
f32 vv_cosverta;
|
||||
|
||||
/**
|
||||
* Computed value from vv_verta360, but otherwise unused?
|
||||
* 0x0168
|
||||
**/
|
||||
f32 vv_sinverta;
|
||||
|
||||
/* 0x016c */ f32 speedsideways;
|
||||
/* 0x0170 */ f32 speedstrafe;
|
||||
/* 0x0174 */ f32 speedforwards;
|
||||
@@ -689,7 +748,7 @@ struct player
|
||||
* Address 0x800C6B17
|
||||
*/
|
||||
u16 buttons_pressed;
|
||||
s16 field_3B6;
|
||||
u16 prev_buttons_pressed;
|
||||
|
||||
struct coord3d field_3B8;
|
||||
|
||||
@@ -754,18 +813,18 @@ struct player
|
||||
s32 headwalkingtime60; //0x4f0
|
||||
f32 headamplitude; //0x4f4
|
||||
f32 sideamplitude; //0x4f8
|
||||
vec3 headpos;
|
||||
vec3 headlook;
|
||||
struct coord3d headpos;
|
||||
struct coord3d headlook;
|
||||
|
||||
vec3 headup;
|
||||
vec3 headpossum;
|
||||
struct coord3d headup;
|
||||
struct coord3d headpossum;
|
||||
|
||||
// headlooksum[2] has NTSC->PAL conversion rate (5/6)
|
||||
vec3 headlooksum;
|
||||
struct coord3d headlooksum;
|
||||
|
||||
// headupsum[1] has NTSC->PAL conversion rate (5/6)
|
||||
vec3 headupsum;
|
||||
vec3 headbodyoffset; //0x544
|
||||
struct coord3d headupsum;
|
||||
struct coord3d headbodyoffset; //0x544
|
||||
f32 standheight; // old name stationary_ground_offset
|
||||
|
||||
// f32[4] ?? or 2 x f32[2] ??
|
||||
@@ -773,10 +832,10 @@ struct player
|
||||
f32 standfrac; //0x560
|
||||
|
||||
// offset 0x564
|
||||
vec3 standlook[2];
|
||||
struct coord3d standlook[2];
|
||||
|
||||
// offset 0x57C
|
||||
vec3 standup[2];
|
||||
struct coord3d standup[2];
|
||||
|
||||
// offset 0x594
|
||||
s32 standcnt;
|
||||
@@ -890,7 +949,7 @@ struct player
|
||||
|
||||
s32 hand_invisible[2]; /* 0x7f8*/
|
||||
ITEM_IDS hand_item[2]; /* 0x800 */
|
||||
u8 *ptr_hand_weapon_buffer[2]; /* 0x808 */
|
||||
ModelFileHeader *ptr_hand_weapon_buffer[2]; /* 0x808 */
|
||||
|
||||
/**
|
||||
* Offset 0x810.
|
||||
@@ -919,12 +978,11 @@ struct player
|
||||
|
||||
s32 z_trigger_timer;
|
||||
s32 field_FD8;
|
||||
u8 field_FDC;
|
||||
u8 field_FDD;
|
||||
u8 field_FDE;
|
||||
u8 field_FDF;
|
||||
struct rgba_u8 tileColor;
|
||||
s32 resetshadecol;
|
||||
s32 field_FE4;
|
||||
|
||||
// unused. Name comes from XBLA debug.
|
||||
s32 aimtype;
|
||||
|
||||
/**
|
||||
* Crosshair or bullet angle related.
|
||||
@@ -942,7 +1000,7 @@ struct player
|
||||
Mtxf field_101C;
|
||||
s32 last_z_trigger_timer;
|
||||
s32 copiedgoldeneye;
|
||||
s32 ammodispflags;
|
||||
s32 gunammooff;
|
||||
s32 field_1068;
|
||||
f32 gunsync;
|
||||
f32 syncchange;
|
||||
@@ -1088,8 +1146,8 @@ struct player
|
||||
gunheld gunheldarr[10];
|
||||
s32 magnetattracttime;
|
||||
f32 swaytarget;
|
||||
f32 field_1278;
|
||||
f32 field_127C;
|
||||
f32 swayoffset0;
|
||||
f32 swayoffset2;
|
||||
f32 field_1280;
|
||||
s32 players_cur_animation;
|
||||
f32 field_1288;
|
||||
@@ -2509,7 +2567,7 @@ struct player
|
||||
s32 field_29B4;
|
||||
|
||||
// Alt field_29C0 ?? Used in EU.
|
||||
s32 field_29B8;
|
||||
s32 healthDamageType;
|
||||
|
||||
/**
|
||||
* Related to player perspective.
|
||||
@@ -2596,42 +2654,42 @@ struct struct_4 {
|
||||
};
|
||||
|
||||
#ifdef BUGFIX_R0
|
||||
typedef struct bondstruct_unk_80036634
|
||||
typedef struct DamageType
|
||||
{
|
||||
u32 field_0x0;
|
||||
u32 field_0x4;
|
||||
s32 field_0x8;
|
||||
f32 field_0xC;
|
||||
u32 field_0x10;
|
||||
u32 field_0x14;
|
||||
s32 field_0x18;
|
||||
f32 field_0x1c;
|
||||
u32 field_0x20;
|
||||
u32 field_0x24;
|
||||
u32 field_0x28;
|
||||
} bondstruct_unk_80036634;
|
||||
s32 flashStartFrame;
|
||||
u32 flashFullFrame;
|
||||
s32 flashEndFrame;
|
||||
f32 maxAlpha;
|
||||
u32 red;
|
||||
u32 green;
|
||||
u32 blue;
|
||||
} DamageType;
|
||||
#else
|
||||
typedef struct bondstruct_unk_80036634
|
||||
typedef struct DamageType
|
||||
{
|
||||
f32 field_0x0;
|
||||
f32 field_0x4;
|
||||
f32 field_0x8;
|
||||
f32 field_0xC;
|
||||
f32 field_0x10;
|
||||
f32 field_0x14;
|
||||
f32 field_0x18;
|
||||
f32 field_0x1c;
|
||||
u32 field_0x20;
|
||||
u32 field_0x24;
|
||||
u32 field_0x28;
|
||||
} bondstruct_unk_80036634;
|
||||
f32 flashStartFrame;
|
||||
f32 flashFullFrame;
|
||||
f32 flashEndFrame;
|
||||
f32 maxAlpha;
|
||||
u32 red;
|
||||
u32 green;
|
||||
u32 blue;
|
||||
} DamageType;
|
||||
#endif
|
||||
|
||||
typedef struct bondstruct_unk_80036794 { // time related idk
|
||||
s32 unk0;
|
||||
s32 unk4;
|
||||
s32 unk8;
|
||||
} bondstruct_unk_80036794;
|
||||
typedef struct HealthDamageType { // time related idk
|
||||
s32 updateStartFrame;
|
||||
s32 updateEndFrame;
|
||||
s32 otherEndFrame;
|
||||
} HealthDamageType;
|
||||
|
||||
typedef struct bondstruct_unk_80035904 {
|
||||
u32 unk00;
|
||||
@@ -2641,6 +2699,12 @@ typedef struct bondstruct_unk_80035904 {
|
||||
f32 unk20;
|
||||
} bondstruct_unk_80035904;
|
||||
|
||||
// placeholder while matching
|
||||
struct move_bond_temp_struct {
|
||||
s32 unk00;
|
||||
s32 unk04;
|
||||
};
|
||||
|
||||
//D:80036424
|
||||
extern s32 g_bondviewForceDisarm;
|
||||
//D:80036428
|
||||
@@ -2658,23 +2722,23 @@ extern s32 D_8003643C;
|
||||
//D:80036440
|
||||
extern CreditsEntry *D_80036440;
|
||||
//D:80036444
|
||||
extern s32 D_80036444;
|
||||
extern s32 g_SurroundBondWithExplosionsFlag;
|
||||
//D:80036448
|
||||
extern s32 in_tank_flag;
|
||||
//D:8003644C
|
||||
extern struct PropRecord *D_8003644C;
|
||||
extern struct PropRecord *g_WorldTankProp;
|
||||
|
||||
//D:80036450
|
||||
extern struct PropRecord *ptr_playerstank;
|
||||
extern struct PropRecord *g_PlayerTankProp;
|
||||
|
||||
/**
|
||||
* Related to ptr_playerstank.
|
||||
* Related to g_PlayerTankProp.
|
||||
* Address 0x80036454.
|
||||
*/
|
||||
extern f32 g_PlayerTankYOffset;
|
||||
|
||||
//D:80036458
|
||||
extern ALSoundState * SFX_80036458[2];
|
||||
extern ALSoundState * g_TankSfxState[2];
|
||||
|
||||
//D:80036460
|
||||
extern f32 g_TankTurnSpeed;
|
||||
@@ -2699,13 +2763,13 @@ extern f32 g_TankTurretAngle;
|
||||
//D:80036488
|
||||
extern f32 g_TankTurretTurn;
|
||||
//D:8003648C
|
||||
extern s32 D_8003648C;
|
||||
extern s32 g_ExplodeTankOnDeathFlag;
|
||||
//D:80036490
|
||||
extern s32 D_80036490;
|
||||
extern s32 g_TankDamagePenaltyTicks;
|
||||
//D:80036494
|
||||
extern s32 g_CameraMode;
|
||||
extern enum CAMERAMODE g_CameraMode;
|
||||
//D:80036498
|
||||
extern s32 enable_move_after_cinema;
|
||||
extern enum CAMERAMODE g_CameraAfterCinema;
|
||||
//D:8003649C
|
||||
extern s32 D_8003649C;
|
||||
//D:800364A0
|
||||
@@ -2742,7 +2806,7 @@ extern s32 g_bondviewBondDeathAnimations[];
|
||||
//D:8003650C
|
||||
extern s32 g_bondviewBondDeathAnimationsCount;
|
||||
//D:80036510
|
||||
extern s32 D_80036510;
|
||||
extern enum CAMERAMODE D_80036510;
|
||||
//D:80036514
|
||||
extern s32 g_IntroAnimationIndex;
|
||||
/*
|
||||
@@ -2778,7 +2842,7 @@ D:80036624 .word 0xFFFFFF00, 0xFFFFFF00, 0x4FFFFFF
|
||||
//D:80036630
|
||||
extern u32 D_80036630;
|
||||
//D:80036634
|
||||
extern bondstruct_unk_80036634 D_80036634[];
|
||||
extern struct DamageType g_DamageTypes[];
|
||||
/*
|
||||
D:80036638 .byte 0
|
||||
D:80036639 .byte 0, 0, 0xA
|
||||
@@ -2820,7 +2884,7 @@ D:8003676C .byte 0
|
||||
D:8003676D .byte 0, 0, 0xA
|
||||
D:80036770 .word 0x1E, 0x3F19999A, 0
|
||||
D:8003677C .word 5, 0xF, 0x3ECCCCCD, 0xFF, 0xFF, 0xFF
|
||||
D:80036794 D_80036794:.word 0
|
||||
D:80036794 g_HealthDamageTypes:.word 0
|
||||
D:80036798 .byte 0
|
||||
D:80036799 .byte 0, 0, 0x28
|
||||
D:8003679C .word 0x64, 0
|
||||
@@ -2845,30 +2909,11 @@ D:800367ED .byte 0, 0, 0x14
|
||||
D:800367F0 .word 0x32
|
||||
*/
|
||||
|
||||
//D:80036800
|
||||
extern s32 D_80036800;
|
||||
//D:80036804
|
||||
extern s32 D_80036804;
|
||||
//D:80036808
|
||||
extern s32 D_80036808;
|
||||
//D:8003680C
|
||||
extern s32 D_8003680C;
|
||||
//D:80036810
|
||||
extern s32 D_80036810;
|
||||
//D:80036814
|
||||
extern s32 D_80036814;
|
||||
//D:80036818
|
||||
extern s32 D_80036818;
|
||||
//D:8003681C
|
||||
extern s32 D_8003681C;
|
||||
//D:80036820
|
||||
extern s32 D_80036820;
|
||||
//D:80036824
|
||||
extern s32 D_80036824;
|
||||
//D:80036828
|
||||
extern s32 D_80036828;
|
||||
//D:8003682C
|
||||
extern s32 D_8003682C;
|
||||
extern struct coord3d g_DefaultFrozenPlayerPos;
|
||||
extern struct coord3d g_DefaultFrozenPlayerPos2;
|
||||
extern struct coord3d g_DefaultFrozenPlayerOffset;
|
||||
extern struct coord3d g_DefaultFrozenMoveOffset;
|
||||
|
||||
//D:80036830
|
||||
extern s32 D_80036830;
|
||||
//D:80036834
|
||||
@@ -2906,7 +2951,7 @@ extern s32 upper_text_buffer_index;
|
||||
extern s32 display_upper_text_window;
|
||||
//D:800368B0
|
||||
extern s32 upper_text_window_timer;
|
||||
extern s32 D_800368B4;
|
||||
extern s32 g_UpperTextDisplayFlag;
|
||||
/*
|
||||
D:800368D8 firing_animation_groups:firing_anim_struct <pistol_firing_animation_group1, 0, 0.1, 79.0, 87.0>
|
||||
D:800368D8 # DATA XREF: sub_CODE_7F08B0F0+720o
|
||||
@@ -2944,7 +2989,7 @@ extern f32 D_80036AC0;
|
||||
extern f32 D_80036AC4;
|
||||
|
||||
extern s32 startpadcount;
|
||||
extern vec3d flt_CODE_bss_80079990;
|
||||
extern vec3d g_ForceBondMoveOffset;
|
||||
extern s32 mission_timer;
|
||||
|
||||
#if defined(VERSION_JP) || defined(VERSION_EU)
|
||||
@@ -3006,6 +3051,7 @@ void jp_hudmsgBottomShow(char *string);
|
||||
// VERSION_US
|
||||
#define HUDMESSAGEBOTTOM hudmsgBottomShow
|
||||
void hudmsgBottomShow(char *string);
|
||||
void setFontTables(s32 arg0, s32 arg1);
|
||||
#endif
|
||||
|
||||
Gfx * sub_GAME_7F087A08(Gfx *arg0);
|
||||
@@ -3016,13 +3062,13 @@ Gfx * bondviewRemoved7F08BCB8(Gfx *arg0);
|
||||
s32 sub_GAME_7F078A58(coord3d *vec_scale, f32 norm_scale);
|
||||
s32 getMissiontimer(void);
|
||||
void solo_char_load(void);
|
||||
void bondviewUpdateYAutoAimTime(s32 auto_aim_time, f32 auto_aim_y);
|
||||
void bondviewUpdateXAutoAimTime(s32 auto_aim_time, f32 auto_aim_x);
|
||||
void bondviewUpdateYAutoAimTime(struct PropRecord *autoaim_target, f32 auto_aim_y);
|
||||
void bondviewUpdateXAutoAimTime(struct PropRecord *autoaim_target, f32 auto_aim_x);
|
||||
void bondviewSet3dCoord7F07CEB0(coord3d *arg0);
|
||||
f32 bondviewYPositionRelated(struct StandTile *arg0, f32 arg1, f32 arg2);
|
||||
f32 bondviewGetPlayerDuckingHeightRelated(struct player *player);
|
||||
void bondviewCollisionRadiusRelated(PropRecord* arg0, f32 *collision_radius, f32 *height, f32 *always_30);
|
||||
void bondviewUpdatePlayerClipping(s32 use_stanHeight, f32 stanHeight_offset);
|
||||
void bondviewGetCollisionRadius(PropRecord* arg0, f32 *collision_radius, f32 *height, f32 *always_30);
|
||||
void bondviewUpdatePlayerY(s32 use_stanHeight, f32 stanHeight_offset);
|
||||
void currentPlayerSetFadeColour(s32 r, s32 g, s32 b, f32 frac);
|
||||
void currentPlayerSetFadeFrac(f32 maxfadetime, f32 frac);
|
||||
void set_BONDdata_autoaim_x(s32 param_1);
|
||||
@@ -3052,7 +3098,7 @@ void set_bondata_invincible_flag(u32 arg0);
|
||||
void bondviewSetVisibleToGuardsFlag(s32 param_1);
|
||||
Mtxf *currentPlayerGetMatrix10EC(void);
|
||||
f32 get_curplay_horizontal_rotation_in_degrees(void);
|
||||
Mtxf *currentPlayerGetMatrix10CC(void);
|
||||
Mtxf *camGetWorldToScreenMtxf(void);
|
||||
void sub_GAME_7F077EEC(struct coord2d *in, coord3d *out, f32 value);
|
||||
s32 camIsPosInScreenBox(coord3d *, f32, struct bbox2d *);
|
||||
|
||||
@@ -3063,9 +3109,9 @@ Mtx *currentPlayerGetProjectionMatrix(void);
|
||||
Gfx *bondviewRenderProp(PropRecord *arg0, Gfx *arg1, s32 arg2);
|
||||
f32 getPlayer_c_lodscalez(void);
|
||||
f32 bondviewGetBondBreathing(void);
|
||||
void sub_GAME_7F08A928(int param_1);
|
||||
void bondviewClearUpperTextDisplayFlag(int param_1);
|
||||
|
||||
void sub_GAME_7F08A944(PLAYERFLAG flag);
|
||||
void bondviewSetUpperTextDisplayFlag(PLAYERFLAG flag);
|
||||
void set_camera_mode(s32 arg0);
|
||||
bool isBondInTank(void);
|
||||
void hudmsgTopShow(char* string);
|
||||
@@ -3077,9 +3123,10 @@ struct PropRecord *get_ptr_for_players_tank(void);
|
||||
s32 bondviewGetRandomSpawnPadIndex(void);
|
||||
void change_player_pos_to_target(struct collision434* arg0, struct coord3d *arg1, struct StandTile *arg2);
|
||||
void sub_GAME_7F089718(f32);
|
||||
void sub_GAME_7F08A900(void);
|
||||
void bondviewResetUpperTextDisplay(void);
|
||||
Mtxf *currentPlayerGetProjectionMatrixF(void);
|
||||
int redirect_get_BONDdata_autoaim_x(void);
|
||||
int redirect_get_BONDdata_autoaim_y(void);
|
||||
void sub_GAME_7F077FF4(coord3d *in, coord3d *out);
|
||||
|
||||
#endif
|
||||
+16
-16
@@ -129,17 +129,17 @@ void bondviewLoadSetupIntroSection(void)
|
||||
camera_80036438 = 0;
|
||||
D_8003643C = 0;
|
||||
D_80036440 = NULL;
|
||||
flt_CODE_bss_80079990.f[0] = FLOAT_INIT;
|
||||
flt_CODE_bss_80079990.f[1] = FLOAT_INIT;
|
||||
flt_CODE_bss_80079990.f[2] = FLOAT_INIT;
|
||||
D_80036444 = 0;
|
||||
g_ForceBondMoveOffset.f[0] = FLOAT_INIT;
|
||||
g_ForceBondMoveOffset.f[1] = FLOAT_INIT;
|
||||
g_ForceBondMoveOffset.f[2] = FLOAT_INIT;
|
||||
g_SurroundBondWithExplosionsFlag = 0;
|
||||
startpadcount = 0;
|
||||
in_tank_flag = 0;
|
||||
D_8003644C = 0;
|
||||
ptr_playerstank = NULL;
|
||||
g_WorldTankProp = 0;
|
||||
g_PlayerTankProp = NULL;
|
||||
g_PlayerTankYOffset = FLOAT_INIT;
|
||||
SFX_80036458[0] = NULL;
|
||||
SFX_80036458[1] = NULL;
|
||||
g_TankSfxState[0] = NULL;
|
||||
g_TankSfxState[1] = NULL;
|
||||
g_TankTurnSpeed = FLOAT_INIT;
|
||||
g_TankOrientationAngle = FLOAT_INIT;
|
||||
D_80036468 = FLOAT_INIT;
|
||||
@@ -151,11 +151,11 @@ void bondviewLoadSetupIntroSection(void)
|
||||
g_BondCanEnterTank = 0;
|
||||
g_TankTurretAngle = FLOAT_INIT;
|
||||
g_TankTurretTurn = FLOAT_INIT;
|
||||
D_8003648C = 0;
|
||||
g_ExplodeTankOnDeathFlag = 0;
|
||||
D_800364B0 = 1;
|
||||
g_PlayerInvincible = 0;
|
||||
g_CameraMode = 0;
|
||||
enable_move_after_cinema = 0;
|
||||
g_CameraAfterCinema = 0;
|
||||
D_8003649C = 0;
|
||||
stop_time_flag = 0;
|
||||
D_800364A4 = FLOAT_INIT;
|
||||
@@ -412,9 +412,9 @@ void bondviewLoadSetupIntroSection(void)
|
||||
g_CurrentPlayer->stanHeight = stan_height;
|
||||
g_CurrentPlayer->field_6C = stan_height / FIELD_6C_FACTOR;
|
||||
change_player_pos_to_target(&g_CurrentPlayer->field_488, &start_pos, start_stan);
|
||||
g_CurrentPlayer->field_488.field_10.f[0] = -sinf(start_look_angle);
|
||||
g_CurrentPlayer->field_488.field_10.f[1] = FLOAT_INIT;
|
||||
g_CurrentPlayer->field_488.field_10.f[2] = cosf(start_look_angle);
|
||||
g_CurrentPlayer->field_488.theta_transform.f[0] = -sinf(start_look_angle);
|
||||
g_CurrentPlayer->field_488.theta_transform.f[1] = FLOAT_INIT;
|
||||
g_CurrentPlayer->field_488.theta_transform.f[2] = cosf(start_look_angle);
|
||||
sub_GAME_7F089718(D_800364D0);
|
||||
dword_CODE_bss_80079DA0 = 0;
|
||||
|
||||
@@ -426,8 +426,8 @@ void bondviewLoadSetupIntroSection(void)
|
||||
}
|
||||
|
||||
bondviewResetIntroCameraMessageDialogs();
|
||||
sub_GAME_7F08A900();
|
||||
g_CurrentPlayer->prop = chrpropAllocate();
|
||||
bondviewResetUpperTextDisplay();
|
||||
g_CurrentPlayer->prop = propAllocate();
|
||||
g_CurrentPlayer->prop->obj = NULL;
|
||||
g_CurrentPlayer->prop->type = PROP_TYPE_VIEWER;
|
||||
|
||||
@@ -466,5 +466,5 @@ void bondviewLoadSetupIntroSection(void)
|
||||
g_CurrentPlayer->startnewbonddie = 1;
|
||||
g_CurrentPlayer->redbloodfinished = 0;
|
||||
g_CurrentPlayer->deathanimfinished = 0;
|
||||
D_80036510 = 0;
|
||||
D_80036510 = CAMERAMODE_NONE;
|
||||
}
|
||||
+31
-29
@@ -17,6 +17,8 @@
|
||||
#include "objecthandler.h"
|
||||
#include "player.h"
|
||||
#include "player_2.h"
|
||||
#include "assets/obseg/text/LmiscE.h"
|
||||
|
||||
//#include "chraicommands.h" /* needed for ai list commands, remove when moving global ai lists to chraicommands/chrai */
|
||||
// bss
|
||||
|
||||
@@ -683,39 +685,39 @@ u16 mBtnCheatUnlockAllGuns[] = {
|
||||
*/
|
||||
CheatInfo g_CheatInfo[] = {
|
||||
{ CHEAT_EXTRA_MP_CHARS, 0xA, 0, 0, mBtnCheatExtraMPChars, 0, 0, /* 0x31 */ CHEAT_MASK_GLOBAL | CHEAT_MASK_16 | CHEAT_MASK_MENUS},
|
||||
{ CHEAT_INVINCIBILITY, 0xA, 0, 0, mBtnCheatInvincibility, TEXT(LMISC,0x00), 0, /* 0x06 */ CHEAT_MASK_MPGAME | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_ALLGUNS, 0xA, 0, 0, mBtnCheatAllGuns, TEXT(LMISC,0x01), 0, /* 0x02 */ CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_INVINCIBILITY, 0xA, 0, 0, mBtnCheatInvincibility, TEXT(LMISC, MISC_STR_00), 0, /* 0x06 */ CHEAT_MASK_MPGAME | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_ALLGUNS, 0xA, 0, 0, mBtnCheatAllGuns, TEXT(LMISC, MISC_STR_01), 0, /* 0x02 */ CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_MAXAMMO, 0xA, 0, 0, mBtnCheatMaxAmmo, 0, 0, /* 0x16 */ CHEAT_MASK_16 | CHEAT_MASK_MPGAME | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_DEBUG_RETURN_SAVED_RA, 0xA, 0, 0, mBtnCheatInvalid, 0, 0, /* 0x16 */ CHEAT_MASK_16 | CHEAT_MASK_MPGAME | CHEAT_MASK_SPGAME},
|
||||
{CHEAT_DEACTIVATE_INVINCIBILITY, 0xA, 0, 0, mBtnCheatDeactivateInvincibilityMulti, 0, 0, /* 0x34 */ CHEAT_MASK_GLOBAL | CHEAT_MASK_16 | CHEAT_MASK_MPGAME},
|
||||
{ CHEAT_LINEMODE, 0xA, 0, 0, mBtnCheatLineMode, TEXT(LMISC,0x37), 0, /* 0x66 */ CHEAT_MASK_TOGGLE | CHEAT_MASK_GLOBAL | CHEAT_MASK_MPGAME | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_LINEMODE, 0xA, 0, 0, mBtnCheatLineMode, TEXT(LMISC, MISC_STR_37), 0, /* 0x66 */ CHEAT_MASK_TOGGLE | CHEAT_MASK_GLOBAL | CHEAT_MASK_MPGAME | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_2X_HEALTH, 0, 0, 0, 0, 0, 0, /* 0x16 */ CHEAT_MASK_16 | CHEAT_MASK_MPGAME | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_2X_ARMOR, 0, 0, 0, 0, 0, 0, /* 0x16 */ CHEAT_MASK_16 | CHEAT_MASK_MPGAME | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_INVISIBILITY, 0xA, 0, 0, mBtnCheatInvisibility, TEXT(LMISC,0x04), 0, /* 0x62 */ CHEAT_MASK_TOGGLE | CHEAT_MASK_GLOBAL | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_INFINITE_AMMO, 0, 0, 0, 0, TEXT(LMISC,0x06), 0, /* 0x66 */ CHEAT_MASK_TOGGLE | CHEAT_MASK_GLOBAL | CHEAT_MASK_MPGAME | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_DK_MODE, 0, 0, 0, 0, TEXT(LMISC,0x07), 0, /* 0x26 */ CHEAT_MASK_GLOBAL | CHEAT_MASK_MPGAME | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_INVISIBILITY, 0xA, 0, 0, mBtnCheatInvisibility, TEXT(LMISC, MISC_STR_04), 0, /* 0x62 */ CHEAT_MASK_TOGGLE | CHEAT_MASK_GLOBAL | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_INFINITE_AMMO, 0, 0, 0, 0, TEXT(LMISC, MISC_STR_06), 0, /* 0x66 */ CHEAT_MASK_TOGGLE | CHEAT_MASK_GLOBAL | CHEAT_MASK_MPGAME | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_DK_MODE, 0, 0, 0, 0, TEXT(LMISC, MISC_STR_07), 0, /* 0x26 */ CHEAT_MASK_GLOBAL | CHEAT_MASK_MPGAME | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_EXTRA_WEAPONS, 0, 0, 0, 0, 0, 0, /* 0x12 */ CHEAT_MASK_16 | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_TINY_BOND, 0, 0, 0, 0, TEXT(LMISC,0x08), 0, /* 0x02 */ CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_PAINTBALL, 0, 0, 0, 0, TEXT(LMISC,0x38), 0, /* 0x66 */ CHEAT_MASK_TOGGLE | CHEAT_MASK_GLOBAL | CHEAT_MASK_MPGAME | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_TINY_BOND, 0, 0, 0, 0, TEXT(LMISC, MISC_STR_08), 0, /* 0x02 */ CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_PAINTBALL, 0, 0, 0, 0, TEXT(LMISC, MISC_STR_38), 0, /* 0x66 */ CHEAT_MASK_TOGGLE | CHEAT_MASK_GLOBAL | CHEAT_MASK_MPGAME | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_10X_HEALTH, 0, 0, 0, 0, 0, 0, /* 0x16 */ CHEAT_MASK_16 | CHEAT_MASK_MPGAME | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_MAGNUM, 0, 0, 0, 0, TEXT(LMISC,0x0A), 0, /* 0x12 */ CHEAT_MASK_16 | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_LASER, 0, 0, 0, 0, TEXT(LMISC,0x0B), 0, /* 0x12 */ CHEAT_MASK_16 | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_GOLDEN_GUN, 0, 0, 0, 0, TEXT(LMISC,0x0C), 0, /* 0x12 */ CHEAT_MASK_16 | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_SILVER_PP7, 0, 0, 0, 0, TEXT(LMISC,0x0D), 0, /* 0x12 */ CHEAT_MASK_16 | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_GOLD_PP7, 0, 0, 0, 0, TEXT(LMISC,0x0E), 0, /* 0x12 */ CHEAT_MASK_16 | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_MAGNUM, 0, 0, 0, 0, TEXT(LMISC, MISC_STR_0A), 0, /* 0x12 */ CHEAT_MASK_16 | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_LASER, 0, 0, 0, 0, TEXT(LMISC, MISC_STR_0B), 0, /* 0x12 */ CHEAT_MASK_16 | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_GOLDEN_GUN, 0, 0, 0, 0, TEXT(LMISC, MISC_STR_0C), 0, /* 0x12 */ CHEAT_MASK_16 | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_SILVER_PP7, 0, 0, 0, 0, TEXT(LMISC, MISC_STR_0D), 0, /* 0x12 */ CHEAT_MASK_16 | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_GOLD_PP7, 0, 0, 0, 0, TEXT(LMISC, MISC_STR_0E), 0, /* 0x12 */ CHEAT_MASK_16 | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_INVISIBILITY_MP, 0xA, 0, 0, mBtnCheatInvisibilityMulti, 0, 0, /* 0x12 */ CHEAT_MASK_MPGAME},
|
||||
{ CHEAT_NO_RADAR_MP, 0, 0, 0, 0, TEXT(LMISC,0x43), 0, /* 0x64 */ CHEAT_MASK_TOGGLE | CHEAT_MASK_GLOBAL | CHEAT_MASK_MPGAME},
|
||||
{ CHEAT_TURBO_MODE, 0, 0, 0, 0, TEXT(LMISC,0x40), 0, /* 0x66 */ CHEAT_MASK_TOGGLE | CHEAT_MASK_GLOBAL | CHEAT_MASK_MPGAME | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_NO_RADAR_MP, 0, 0, 0, 0, TEXT(LMISC, MISC_STR_43), 0, /* 0x64 */ CHEAT_MASK_TOGGLE | CHEAT_MASK_GLOBAL | CHEAT_MASK_MPGAME},
|
||||
{ CHEAT_TURBO_MODE, 0, 0, 0, 0, TEXT(LMISC, MISC_STR_40), 0, /* 0x66 */ CHEAT_MASK_TOGGLE | CHEAT_MASK_GLOBAL | CHEAT_MASK_MPGAME | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_DEBUG_POS, 0, 0, 0, 0, 0, 0, /* 0x20 */ CHEAT_MASK_GLOBAL},
|
||||
{ CHEAT_FAST_ANIMATION, 0, 0, 0, 0, TEXT(LMISC,0x41), 0, /* 0x72 */ CHEAT_MASK_TOGGLE | CHEAT_MASK_GLOBAL | CHEAT_MASK_16 | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_SLOW_ANIMATION, 0, 0, 0, 0, TEXT(LMISC,0x42), 0, /* 0x72 */ CHEAT_MASK_TOGGLE | CHEAT_MASK_GLOBAL | CHEAT_MASK_16 | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_ENEMY_ROCKETS, 0, 0, 0, 0, TEXT(LMISC,0x39), 0, /* 0x01 */ CHEAT_MASK_MENUS},
|
||||
{ CHEAT_2X_ROCKET_LAUNCHER, 0, 0, 0, 0, TEXT(LMISC,0x3A), 0, /* 0x12 */ CHEAT_MASK_16 | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_2X_GRENADE_LAUNCHER, 0, 0, 0, 0, TEXT(LMISC,0x3B), 0, /* 0x12 */ CHEAT_MASK_16 | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_2X_RCP90, 0, 0, 0, 0, TEXT(LMISC,0x3C), 0, /* 0x12 */ CHEAT_MASK_16 | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_2X_THROWING_KNIFE, 0, 0, 0, 0, TEXT(LMISC,0x3D), 0, /* 0x12 */ CHEAT_MASK_16 | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_2X_HUNTING_KNIFE, 0, 0, 0, 0, TEXT(LMISC,0x3E), 0, /* 0x12 */ CHEAT_MASK_16 | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_2X_LASER, 0, 0, 0, 0, TEXT(LMISC,0x3F), 0, /* 0x12 */ CHEAT_MASK_16 | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_FAST_ANIMATION, 0, 0, 0, 0, TEXT(LMISC, MISC_STR_41), 0, /* 0x72 */ CHEAT_MASK_TOGGLE | CHEAT_MASK_GLOBAL | CHEAT_MASK_16 | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_SLOW_ANIMATION, 0, 0, 0, 0, TEXT(LMISC, MISC_STR_42), 0, /* 0x72 */ CHEAT_MASK_TOGGLE | CHEAT_MASK_GLOBAL | CHEAT_MASK_16 | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_ENEMY_ROCKETS, 0, 0, 0, 0, TEXT(LMISC, MISC_STR_39), 0, /* 0x01 */ CHEAT_MASK_MENUS},
|
||||
{ CHEAT_2X_ROCKET_LAUNCHER, 0, 0, 0, 0, TEXT(LMISC, MISC_STR_3A), 0, /* 0x12 */ CHEAT_MASK_16 | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_2X_GRENADE_LAUNCHER, 0, 0, 0, 0, TEXT(LMISC, MISC_STR_3B), 0, /* 0x12 */ CHEAT_MASK_16 | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_2X_RCP90, 0, 0, 0, 0, TEXT(LMISC, MISC_STR_3C), 0, /* 0x12 */ CHEAT_MASK_16 | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_2X_THROWING_KNIFE, 0, 0, 0, 0, TEXT(LMISC, MISC_STR_3D), 0, /* 0x12 */ CHEAT_MASK_16 | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_2X_HUNTING_KNIFE, 0, 0, 0, 0, TEXT(LMISC, MISC_STR_3E), 0, /* 0x12 */ CHEAT_MASK_16 | CHEAT_MASK_SPGAME},
|
||||
{ CHEAT_2X_LASER, 0, 0, 0, 0, TEXT(LMISC, MISC_STR_3F), 0, /* 0x12 */ CHEAT_MASK_16 | CHEAT_MASK_SPGAME},
|
||||
|
||||
{ CHEAT_UNLOCK_PAINTBALL, 0xA, 0, 0, mBtnCheatPaintballMod, 0, 0, /* 0x11 */ CHEAT_MASK_16 | CHEAT_MASK_MENUS}, //at cheat menu
|
||||
{ CHEAT_UNLOCK_INVINCIBLE, 0xA, 0, 0, mBtnCheatInvincible2, 0, 0, /* 0x11 */ CHEAT_MASK_16 | CHEAT_MASK_MENUS}, //at cheat menu
|
||||
@@ -1646,7 +1648,7 @@ char *cheatGetMenuTextPointer(CHEAT_ID cheat_id)
|
||||
return langGet((s32) temp_v0);
|
||||
}
|
||||
|
||||
return langGet(TEXT(LMISC,0x28));
|
||||
return langGet(TEXT(LMISC, MISC_STR_28));
|
||||
}
|
||||
|
||||
|
||||
@@ -1667,13 +1669,13 @@ bool cheatIsActive(CHEAT_ID cheat)
|
||||
*/
|
||||
void cheatButtonSetDkMode(CHEAT_ID cheat_id)
|
||||
{
|
||||
s32 num_guards;
|
||||
s32 g_NumChrSlots;
|
||||
s32 i;
|
||||
f32 scale;
|
||||
Model *model;
|
||||
ChrRecord* guard = ptr_guard_data;
|
||||
ChrRecord* guard = g_ChrSlots;
|
||||
|
||||
num_guards = get_numguards();
|
||||
g_NumChrSlots = get_numguards();
|
||||
|
||||
if (cheat_id)
|
||||
{
|
||||
@@ -1684,7 +1686,7 @@ void cheatButtonSetDkMode(CHEAT_ID cheat_id)
|
||||
scale = 1.25f;
|
||||
}
|
||||
|
||||
for (i=0; i<num_guards; i++, guard++)
|
||||
for (i=0; i<g_NumChrSlots; i++, guard++)
|
||||
{
|
||||
|
||||
#if defined(VERSION_US)
|
||||
|
||||
+173
-186
@@ -23,7 +23,7 @@
|
||||
|
||||
// forward declarations
|
||||
|
||||
void chrAimGlobalTimerTickRelated( ChrRecord *arg0);
|
||||
void chrUpdateAimProperties( ChrRecord *arg0);
|
||||
void chrPositionRelated7F020E40( ChrRecord *chr, s32 arg1);
|
||||
|
||||
// end forward declarations
|
||||
@@ -68,8 +68,8 @@ struct animation_something D_8002C914[] = {
|
||||
s32 D_8002CC58 = 0;
|
||||
s32 show_patrols_flag = FALSE;
|
||||
s32 player1_guardID = 5000;
|
||||
ChrRecord *ptr_guard_data = 0;
|
||||
s32 num_guards = 0;
|
||||
ChrRecord *g_ChrSlots = 0;
|
||||
s32 g_NumChrSlots = 0;
|
||||
struct unk_joint_list D_8002CC6C = {NULL, 1, 3, NULL, NULL, 0, 0, 0, 0, 0, 0, 0, 0, 0, {0, 0, 0, 0}, 0};
|
||||
s32 D_8002CCAC = 0;
|
||||
s32 D_8002CCB0 = 0;
|
||||
@@ -90,15 +90,15 @@ u32 num_female_heads = 0;
|
||||
|
||||
s32 list_of_bodies[] = {
|
||||
BODY_Jungle_Commando,BODY_St_Petersburg_Guard,BODY_Russian_Soldier,BODY_Russian_Infantry,
|
||||
BODY_Janus_Special_Forces,BODY_Tuxedo,BODY_Boris,BODY_Ourumov,
|
||||
BODY_Janus_Special_Forces,BODY_Brosnan_Tuxedo,BODY_Boris,BODY_Ourumov,
|
||||
BODY_Trevelyan_Janus,BODY_Valentin_,BODY_Xenia,BODY_Baron_Samedi,
|
||||
BODY_Jaws,BODY_Mayday,BODY_Oddjob,BODY_Natalya_Skirt,
|
||||
BODY_Janus_Marine,BODY_Russian_Commandant,BODY_Siberian_Guard_1_Mishkin,BODY_Naval_Officer,
|
||||
BODY_Siberian_Special_Forces,BODY_Special_Operations_Uniform,BODY_Formal_Wear,BODY_Jungle_Fatigues,
|
||||
BODY_Unused_Female,BODY_Rosika,BODY_Scientist_2_Female,BODY_Civilian_1_Female,
|
||||
BODY_Unused_Male_1,BODY_Unused_Male_2,BODY_Civilian_4,BODY_Civilian_2,
|
||||
BODY_Civilian_3,BODY_Scientist_1_Male,BODY_Tuxedo,BODY_Tuxedo,
|
||||
BODY_Tuxedo,BODY_Helicopter_Pilot,BODY_Siberian_Guard_2,BODY_Arctic_Commando,
|
||||
BODY_Civilian_3,BODY_Scientist_1_Male,BODY_Brosnan_Tuxedo,BODY_Brosnan_Tuxedo,
|
||||
BODY_Brosnan_Tuxedo,BODY_Helicopter_Pilot,BODY_Siberian_Guard_2,BODY_Arctic_Commando,
|
||||
BODY_Moonraker_Elite_1_Male,BODY_Moonraker_Elite_2_Female,-1,
|
||||
};
|
||||
|
||||
@@ -1139,7 +1139,7 @@ coord3d D_80030A44 = {0,0,0};
|
||||
|
||||
s32 get_numguards(void)
|
||||
{
|
||||
return num_guards;
|
||||
return g_NumChrSlots;
|
||||
}
|
||||
|
||||
void get_ptr_allocated_block_for_vertices(int param_1)
|
||||
@@ -1182,15 +1182,15 @@ f32 chrUnusedYPositionRelated(PropRecord *arg0)
|
||||
|
||||
|
||||
|
||||
void set_or_unset_GUARDdata_flag(ChrRecord *self, bool unset)
|
||||
void chrSetMoving(ChrRecord *self, bool unset)
|
||||
{
|
||||
if (unset)
|
||||
{
|
||||
self->hidden &= ~0x100;
|
||||
self->hidden &= ~CHRHIDDEN_MOVING;
|
||||
}
|
||||
else
|
||||
{
|
||||
self->hidden |= 0x100;
|
||||
self->hidden |= CHRHIDDEN_MOVING;
|
||||
}
|
||||
return;
|
||||
}
|
||||
@@ -1220,7 +1220,7 @@ glabel sub_GAME_7F01F614
|
||||
/* 054178 7F01F648 0FC08C58 */ jal chrGetChrWidthHeight
|
||||
/* 05417C 7F01F64C 27A6008C */ addiu $a2, $sp, 0x8c
|
||||
/* 054180 7F01F650 8FA40098 */ lw $a0, 0x98($sp)
|
||||
/* 054184 7F01F654 0FC07D7A */ jal set_or_unset_GUARDdata_flag
|
||||
/* 054184 7F01F654 0FC07D7A */ jal chrSetMoving
|
||||
/* 054188 7F01F658 00002825 */ move $a1, $zero
|
||||
/* 05418C 7F01F65C 0FC2C731 */ jal sub_GAME_7F0B1CC4
|
||||
/* 054190 7F01F660 00000000 */ nop
|
||||
@@ -1240,7 +1240,7 @@ glabel sub_GAME_7F01F614
|
||||
/* 0541C8 7F01F698 E7A60018 */ swc1 $f6, 0x18($sp)
|
||||
/* 0541CC 7F01F69C E7B00024 */ swc1 $f16, 0x24($sp)
|
||||
/* 0541D0 7F01F6A0 E7A8001C */ swc1 $f8, 0x1c($sp)
|
||||
/* 0541D4 7F01F6A4 0FC2C389 */ jal sub_GAME_7F0B0E24
|
||||
/* 0541D4 7F01F6A4 0FC2C389 */ jal stanTestLineUnobstructed
|
||||
/* 0541D8 7F01F6A8 E7AA0020 */ swc1 $f10, 0x20($sp)
|
||||
/* 0541DC 7F01F6AC 10400016 */ beqz $v0, .L7F01F708
|
||||
/* 0541E0 7F01F6B0 27A40090 */ addiu $a0, $sp, 0x90
|
||||
@@ -1252,7 +1252,7 @@ glabel sub_GAME_7F01F614
|
||||
/* 0541F8 7F01F6C8 AFB90010 */ sw $t9, 0x10($sp)
|
||||
/* 0541FC 7F01F6CC 8FA70084 */ lw $a3, 0x84($sp)
|
||||
/* 054200 7F01F6D0 E7B20014 */ swc1 $f18, 0x14($sp)
|
||||
/* 054204 7F01F6D4 0FC2C62E */ jal sub_GAME_7F0B18B8
|
||||
/* 054204 7F01F6D4 0FC2C62E */ jal stanTestVolume
|
||||
/* 054208 7F01F6D8 E7A40018 */ swc1 $f4, 0x18($sp)
|
||||
/* 05420C 7F01F6DC 0441000A */ bgez $v0, .L7F01F708
|
||||
/* 054210 7F01F6E0 8FA800A8 */ lw $t0, 0xa8($sp)
|
||||
@@ -1349,7 +1349,7 @@ glabel sub_GAME_7F01F614
|
||||
/* 05436C 7F01F83C E7B20018 */ swc1 $f18, 0x18($sp)
|
||||
/* 054370 7F01F840 E7A60024 */ swc1 $f6, 0x24($sp)
|
||||
/* 054374 7F01F844 E7AA001C */ swc1 $f10, 0x1c($sp)
|
||||
/* 054378 7F01F848 0FC2C389 */ jal sub_GAME_7F0B0E24
|
||||
/* 054378 7F01F848 0FC2C389 */ jal stanTestLineUnobstructed
|
||||
/* 05437C 7F01F84C E7A80020 */ swc1 $f8, 0x20($sp)
|
||||
/* 054380 7F01F850 10400016 */ beqz $v0, .L7F01F8AC
|
||||
/* 054384 7F01F854 27A40090 */ addiu $a0, $sp, 0x90
|
||||
@@ -1361,7 +1361,7 @@ glabel sub_GAME_7F01F614
|
||||
/* 05439C 7F01F86C 8FA60048 */ lw $a2, 0x48($sp)
|
||||
/* 0543A0 7F01F870 8FA70084 */ lw $a3, 0x84($sp)
|
||||
/* 0543A4 7F01F874 E7B00014 */ swc1 $f16, 0x14($sp)
|
||||
/* 0543A8 7F01F878 0FC2C62E */ jal sub_GAME_7F0B18B8
|
||||
/* 0543A8 7F01F878 0FC2C62E */ jal stanTestVolume
|
||||
/* 0543AC 7F01F87C E7A40018 */ swc1 $f4, 0x18($sp)
|
||||
/* 0543B0 7F01F880 0441000A */ bgez $v0, .L7F01F8AC
|
||||
/* 0543B4 7F01F884 C7B20040 */ lwc1 $f18, 0x40($sp)
|
||||
@@ -1455,7 +1455,7 @@ glabel sub_GAME_7F01F614
|
||||
/* 05450C 7F01F9DC E7AA001C */ swc1 $f10, 0x1c($sp)
|
||||
/* 054510 7F01F9E0 E7B20018 */ swc1 $f18, 0x18($sp)
|
||||
/* 054514 7F01F9E4 E7A60024 */ swc1 $f6, 0x24($sp)
|
||||
/* 054518 7F01F9E8 0FC2C389 */ jal sub_GAME_7F0B0E24
|
||||
/* 054518 7F01F9E8 0FC2C389 */ jal stanTestLineUnobstructed
|
||||
/* 05451C 7F01F9EC E7B00020 */ swc1 $f16, 0x20($sp)
|
||||
/* 054520 7F01F9F0 10400079 */ beqz $v0, .L7F01FBD8
|
||||
/* 054524 7F01F9F4 27A40090 */ addiu $a0, $sp, 0x90
|
||||
@@ -1467,7 +1467,7 @@ glabel sub_GAME_7F01F614
|
||||
/* 05453C 7F01FA0C 8FA60048 */ lw $a2, 0x48($sp)
|
||||
/* 054540 7F01FA10 8FA70084 */ lw $a3, 0x84($sp)
|
||||
/* 054544 7F01FA14 E7A40014 */ swc1 $f4, 0x14($sp)
|
||||
/* 054548 7F01FA18 0FC2C62E */ jal sub_GAME_7F0B18B8
|
||||
/* 054548 7F01FA18 0FC2C62E */ jal stanTestVolume
|
||||
/* 05454C 7F01FA1C E7A80018 */ swc1 $f8, 0x18($sp)
|
||||
/* 054550 7F01FA20 0441006D */ bgez $v0, .L7F01FBD8
|
||||
/* 054554 7F01FA24 C7B20040 */ lwc1 $f18, 0x40($sp)
|
||||
@@ -1557,7 +1557,7 @@ glabel sub_GAME_7F01F614
|
||||
/* 05469C 7F01FB6C E7AA001C */ swc1 $f10, 0x1c($sp)
|
||||
/* 0546A0 7F01FB70 E7A60018 */ swc1 $f6, 0x18($sp)
|
||||
/* 0546A4 7F01FB74 E7B20024 */ swc1 $f18, 0x24($sp)
|
||||
/* 0546A8 7F01FB78 0FC2C389 */ jal sub_GAME_7F0B0E24
|
||||
/* 0546A8 7F01FB78 0FC2C389 */ jal stanTestLineUnobstructed
|
||||
/* 0546AC 7F01FB7C E7A40020 */ swc1 $f4, 0x20($sp)
|
||||
/* 0546B0 7F01FB80 10400015 */ beqz $v0, .L7F01FBD8
|
||||
/* 0546B4 7F01FB84 27A40090 */ addiu $a0, $sp, 0x90
|
||||
@@ -1569,7 +1569,7 @@ glabel sub_GAME_7F01F614
|
||||
/* 0546CC 7F01FB9C 8FA60048 */ lw $a2, 0x48($sp)
|
||||
/* 0546D0 7F01FBA0 8FA70084 */ lw $a3, 0x84($sp)
|
||||
/* 0546D4 7F01FBA4 E7A80014 */ swc1 $f8, 0x14($sp)
|
||||
/* 0546D8 7F01FBA8 0FC2C62E */ jal sub_GAME_7F0B18B8
|
||||
/* 0546D8 7F01FBA8 0FC2C62E */ jal stanTestVolume
|
||||
/* 0546DC 7F01FBAC E7B00018 */ swc1 $f16, 0x18($sp)
|
||||
/* 0546E0 7F01FBB0 04410009 */ bgez $v0, .L7F01FBD8
|
||||
/* 0546E4 7F01FBB4 C7A60040 */ lwc1 $f6, 0x40($sp)
|
||||
@@ -1584,7 +1584,7 @@ glabel sub_GAME_7F01F614
|
||||
.L7F01FBD8:
|
||||
/* 054708 7F01FBD8 8FA40098 */ lw $a0, 0x98($sp)
|
||||
.L7F01FBDC:
|
||||
/* 05470C 7F01FBDC 0FC07D7A */ jal set_or_unset_GUARDdata_flag
|
||||
/* 05470C 7F01FBDC 0FC07D7A */ jal chrSetMoving
|
||||
/* 054710 7F01FBE0 24050001 */ li $a1, 1
|
||||
/* 054714 7F01FBE4 8FAC0094 */ lw $t4, 0x94($sp)
|
||||
/* 054718 7F01FBE8 8FAE0098 */ lw $t6, 0x98($sp)
|
||||
@@ -2527,9 +2527,9 @@ s32 chrGetNumFree(void)
|
||||
s32 count = 0;
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < num_guards; i++)
|
||||
for (i = 0; i < g_NumChrSlots; i++)
|
||||
{
|
||||
if (ptr_guard_data[i].model == 0)
|
||||
if (g_ChrSlots[i].model == 0)
|
||||
{
|
||||
count++;
|
||||
}
|
||||
@@ -2577,8 +2577,8 @@ glabel init_GUARDdata_with_set_values
|
||||
/* 054BEC 7F0200BC 27BDFFD0 */ addiu $sp, $sp, -0x30
|
||||
/* 054BF0 7F0200C0 F7B40010 */ sdc1 $f20, 0x10($sp)
|
||||
/* 054BF4 7F0200C4 4487A000 */ mtc1 $a3, $f20
|
||||
/* 054BF8 7F0200C8 3C078003 */ lui $a3, %hi(num_guards)
|
||||
/* 054BFC 7F0200CC 8CE7CC68 */ lw $a3, %lo(num_guards)($a3)
|
||||
/* 054BF8 7F0200C8 3C078003 */ lui $a3, %hi(g_NumChrSlots)
|
||||
/* 054BFC 7F0200CC 8CE7CC68 */ lw $a3, %lo(g_NumChrSlots)($a3)
|
||||
/* 054C00 7F0200D0 AFB30028 */ sw $s3, 0x28($sp)
|
||||
/* 054C04 7F0200D4 AFB20024 */ sw $s2, 0x24($sp)
|
||||
/* 054C08 7F0200D8 AFB10020 */ sw $s1, 0x20($sp)
|
||||
@@ -2590,8 +2590,8 @@ glabel init_GUARDdata_with_set_values
|
||||
/* 054C20 7F0200F0 00008025 */ move $s0, $zero
|
||||
/* 054C24 7F0200F4 18E0000E */ blez $a3, .L7F020130
|
||||
/* 054C28 7F0200F8 00001025 */ move $v0, $zero
|
||||
/* 054C2C 7F0200FC 3C058003 */ lui $a1, %hi(ptr_guard_data)
|
||||
/* 054C30 7F020100 8CA5CC64 */ lw $a1, %lo(ptr_guard_data)($a1)
|
||||
/* 054C2C 7F0200FC 3C058003 */ lui $a1, %hi(g_ChrSlots)
|
||||
/* 054C30 7F020100 8CA5CC64 */ lw $a1, %lo(g_ChrSlots)($a1)
|
||||
/* 054C34 7F020104 00002025 */ move $a0, $zero
|
||||
/* 054C38 7F020108 00A01825 */ move $v1, $a1
|
||||
.L7F02010C:
|
||||
@@ -2634,7 +2634,7 @@ glabel init_GUARDdata_with_set_values
|
||||
/* 054CC4 7F020194 3C058003 */ lui $a1, %hi(animation_rate)
|
||||
/* 054CC8 7F020198 8CA5C900 */ lw $a1, %lo(animation_rate)($a1)
|
||||
/* 054CCC 7F02019C 4406A000 */ mfc1 $a2, $f20
|
||||
/* 054CD0 7F0201A0 0FC1BFC6 */ jal modelSetAnimRateForDuration
|
||||
/* 054CD0 7F0201A0 0FC1BFC6 */ jal modelSetAnimPlaySpeed
|
||||
/* 054CD4 7F0201A4 02402025 */ move $a0, $s2
|
||||
/* 054CD8 7F0201A8 3C028003 */ lui $v0, %hi(player1_guardID)
|
||||
/* 054CDC 7F0201AC 2442CC60 */ addiu $v0, %lo(player1_guardID) # addiu $v0, $v0, -0x33a0
|
||||
@@ -2781,8 +2781,8 @@ glabel init_GUARDdata_with_set_values
|
||||
/* 05290C 7F01FF1C 27BDFFD0 */ addiu $sp, $sp, -0x30
|
||||
/* 052910 7F01FF20 F7B40010 */ sdc1 $f20, 0x10($sp)
|
||||
/* 052914 7F01FF24 4487A000 */ mtc1 $a3, $f20
|
||||
/* 052918 7F01FF28 3C078003 */ lui $a3, %hi(num_guards) # $a3, 0x8003
|
||||
/* 05291C 7F01FF2C 8CE781B8 */ lw $a3, %lo(num_guards)($a3)
|
||||
/* 052918 7F01FF28 3C078003 */ lui $a3, %hi(g_NumChrSlots) # $a3, 0x8003
|
||||
/* 05291C 7F01FF2C 8CE781B8 */ lw $a3, %lo(g_NumChrSlots)($a3)
|
||||
/* 052920 7F01FF30 AFB30028 */ sw $s3, 0x28($sp)
|
||||
/* 052924 7F01FF34 AFB20024 */ sw $s2, 0x24($sp)
|
||||
/* 052928 7F01FF38 AFB10020 */ sw $s1, 0x20($sp)
|
||||
@@ -2794,8 +2794,8 @@ glabel init_GUARDdata_with_set_values
|
||||
/* 052940 7F01FF50 00008025 */ move $s0, $zero
|
||||
/* 052944 7F01FF54 18E0000E */ blez $a3, .L7F01FF90
|
||||
/* 052948 7F01FF58 00001025 */ move $v0, $zero
|
||||
/* 05294C 7F01FF5C 3C058003 */ lui $a1, %hi(ptr_guard_data) # $a1, 0x8003
|
||||
/* 052950 7F01FF60 8CA581B4 */ lw $a1, %lo(ptr_guard_data)($a1)
|
||||
/* 05294C 7F01FF5C 3C058003 */ lui $a1, %hi(g_ChrSlots) # $a1, 0x8003
|
||||
/* 052950 7F01FF60 8CA581B4 */ lw $a1, %lo(g_ChrSlots)($a1)
|
||||
/* 052954 7F01FF64 00002025 */ move $a0, $zero
|
||||
/* 052958 7F01FF68 00A01825 */ move $v1, $a1
|
||||
.L7F01FF6C:
|
||||
@@ -2843,7 +2843,7 @@ glabel init_GUARDdata_with_set_values
|
||||
/* 0529F8 7F020008 46105482 */ mul.s $f18, $f10, $f16
|
||||
/* 0529FC 7F02000C 4406A000 */ mfc1 $a2, $f20
|
||||
/* 052A00 7F020010 44059000 */ mfc1 $a1, $f18
|
||||
/* 052A04 7F020014 0FC1C02E */ jal modelSetAnimRateForDuration
|
||||
/* 052A04 7F020014 0FC1C02E */ jal modelSetAnimPlaySpeed
|
||||
/* 052A08 7F020018 00000000 */ nop
|
||||
/* 052A0C 7F02001C 3C028003 */ lui $v0, %hi(player1_guardID) # $v0, 0x8003
|
||||
/* 052A10 7F020020 244281B0 */ addiu $v0, %lo(player1_guardID) # addiu $v0, $v0, -0x7e50
|
||||
@@ -2986,12 +2986,12 @@ glabel init_GUARDdata_with_set_values
|
||||
/**
|
||||
* Address 0x7F0203B8.
|
||||
*/
|
||||
PropRecord * replace_GUARDdata_with_actual_values( Model * arg0, coord3d * arg1, f32 arg2, StandTile * arg3, s32 arg4)
|
||||
PropRecord * chrAllocate( Model * arg0, coord3d * arg1, f32 arg2, StandTile * arg3, s32 arg4)
|
||||
{
|
||||
PropRecord * ret;
|
||||
s32 phi_a0;
|
||||
|
||||
ret = chrpropAllocate();
|
||||
ret = propAllocate();
|
||||
|
||||
if (ret != 0)
|
||||
{
|
||||
@@ -3051,12 +3051,12 @@ void disable_sounds_attached_to_player_then_something(PropRecord *prop)
|
||||
p = prop->child;
|
||||
while (p != NULL)
|
||||
{
|
||||
sub_GAME_7F04C044(p);
|
||||
objDetach(p);
|
||||
objFreePermanently(p->chr, 1);
|
||||
p = p->nextSibling;
|
||||
}
|
||||
|
||||
set_aircraft_obj_inst_scale_to_zero(model);
|
||||
clear_aircraft_model_obj(model);
|
||||
|
||||
chr->model = NULL;
|
||||
chr->chrnum = -1;
|
||||
@@ -3127,7 +3127,7 @@ glabel disable_sounds_attached_to_player_then_something
|
||||
/* 055010 7F0204E0 00000000 */ nop
|
||||
.L7F0204E4:
|
||||
/* 055014 7F0204E4 8C910004 */ lw $s1, 4($a0)
|
||||
/* 055018 7F0204E8 0FC13011 */ jal sub_GAME_7F04C044
|
||||
/* 055018 7F0204E8 0FC13011 */ jal objDetach
|
||||
/* 05501C 7F0204EC 8C900024 */ lw $s0, 0x24($a0)
|
||||
/* 055020 7F0204F0 02202025 */ move $a0, $s1
|
||||
/* 055024 7F0204F4 0FC10409 */ jal objFreePermanently
|
||||
@@ -3135,7 +3135,7 @@ glabel disable_sounds_attached_to_player_then_something
|
||||
/* 05502C 7F0204FC 1600FFF9 */ bnez $s0, .L7F0204E4
|
||||
/* 055030 7F020500 02002025 */ move $a0, $s0
|
||||
.L7F020504:
|
||||
/* 055034 7F020504 0FC1B0FE */ jal set_aircraft_obj_inst_scale_to_zero
|
||||
/* 055034 7F020504 0FC1B0FE */ jal clear_aircraft_model_obj
|
||||
/* 055038 7F020508 8FA40028 */ lw $a0, 0x28($sp)
|
||||
/* 05503C 7F02050C 8E440020 */ lw $a0, 0x20($s2)
|
||||
/* 055040 7F020510 240FFFFF */ li $t7, -1
|
||||
@@ -3166,15 +3166,15 @@ void setAnimationRate(f32 arg0)
|
||||
|
||||
animation_rate = arg0;
|
||||
|
||||
for (i=0; i<num_guards; i++)
|
||||
for (i=0; i<g_NumChrSlots; i++)
|
||||
{
|
||||
if (ptr_guard_data[i].model != NULL)
|
||||
if (g_ChrSlots[i].model != NULL)
|
||||
{
|
||||
#if defined(REFRESH_PAL)
|
||||
/* should reference D_80047E4C (1.2f) */
|
||||
modelSetAnimRateForDuration(ptr_guard_data[i].model, animation_rate * 1.2f, 600.0f);
|
||||
modelSetAnimPlaySpeed(g_ChrSlots[i].model, animation_rate * 1.2f, 600.0f);
|
||||
#else
|
||||
modelSetAnimRateForDuration(ptr_guard_data[i].model, animation_rate, 600.0f);
|
||||
modelSetAnimPlaySpeed(g_ChrSlots[i].model, animation_rate, 600.0f);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
@@ -3193,27 +3193,27 @@ f32 getAnimationRate(void)
|
||||
/**
|
||||
* Address 0x7F0205F0 (all versions).
|
||||
*/
|
||||
void chrAimGlobalTimerTickRelated( ChrRecord *self)
|
||||
void chrUpdateAimProperties( ChrRecord *self)
|
||||
{
|
||||
f32 temp_f0;
|
||||
f32 mult;
|
||||
|
||||
if (self->aimendcount >= 2)
|
||||
{
|
||||
#if defined(BUGFIX_R1)
|
||||
temp_f0 = g_JP_GlobalTimerDelta / (f32) self->aimendcount;
|
||||
mult = g_JP_GlobalTimerDelta / (f32) self->aimendcount;
|
||||
#else
|
||||
temp_f0 = g_GlobalTimerDelta / (f32) self->aimendcount;
|
||||
mult = g_GlobalTimerDelta / (f32) self->aimendcount;
|
||||
#endif
|
||||
|
||||
if (temp_f0 > 1.0f)
|
||||
if (mult > 1.0f)
|
||||
{
|
||||
temp_f0 = 1.0f;
|
||||
mult = 1.0f;
|
||||
}
|
||||
|
||||
self->aimuplshoulder += ((self->aimendlshoulder - self->aimuplshoulder) * temp_f0);
|
||||
self->aimuprshoulder += ((self->aimendrshoulder - self->aimuprshoulder) * temp_f0);
|
||||
self->aimupback += ((self->aimendback - self->aimupback) * temp_f0);
|
||||
self->aimsideback += ((self->aimendsideback - self->aimsideback) * temp_f0);
|
||||
self->aimuplshoulder += ((self->aimendlshoulder - self->aimuplshoulder) * mult);
|
||||
self->aimuprshoulder += ((self->aimendrshoulder - self->aimuprshoulder) * mult);
|
||||
self->aimupback += ((self->aimendback - self->aimupback) * mult);
|
||||
self->aimsideback += ((self->aimendsideback - self->aimsideback) * mult);
|
||||
self->aimendcount -= g_ClockTimer;
|
||||
|
||||
return;
|
||||
@@ -3249,11 +3249,11 @@ void chrSetHiddenToRandom(ChrRecord *self)
|
||||
|
||||
if (rand == 0)
|
||||
{
|
||||
self->hidden |= 0x1000;
|
||||
self->hidden |= CHRHIDDEN_1000;
|
||||
}
|
||||
else if (rand == 1)
|
||||
{
|
||||
self->hidden |= 0x2000;
|
||||
self->hidden |= CHRHIDDEN_2000;
|
||||
}
|
||||
|
||||
// roll for bits 14,15.
|
||||
@@ -3265,11 +3265,11 @@ void chrSetHiddenToRandom(ChrRecord *self)
|
||||
|
||||
if (rand == 0)
|
||||
{
|
||||
self->hidden |= 0x4000;
|
||||
self->hidden |= CHRHIDDEN_4000;
|
||||
}
|
||||
else if (rand == 1)
|
||||
{
|
||||
self->hidden |= 0x8000;
|
||||
self->hidden |= CHRHIDDEN_8000;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3421,8 +3421,25 @@ s32 not_in_us_7F0209EC(s32 bodynum, s32 headnum)
|
||||
return 1;
|
||||
}
|
||||
|
||||
if ((bodynum != 6) && (bodynum != 7) && (bodynum != 8) && (bodynum != 9) && (bodynum != 0xA) && (bodynum != 0xB) && (bodynum != 0xC) && (bodynum != 0xD) && (bodynum != 0xE) && (bodynum != 0xF) && (bodynum != 0x10) && (bodynum != 0x4F)
|
||||
&& (headnum != 0x4A) && (headnum != 0x4B) && (headnum != 0x4C) && (headnum != 0x4D) && (headnum != 0x4E) && (headnum != 0x45))
|
||||
if ((bodynum != BODY_Boris) &&
|
||||
(bodynum != BODY_Ourumov) &&
|
||||
(bodynum != BODY_Trevelyan_Janus) &&
|
||||
(bodynum != BODY_Trevelyan_006) &&
|
||||
(bodynum != BODY_Valentin_) &&
|
||||
(bodynum != BODY_Xenia) &&
|
||||
(bodynum != BODY_Baron_Samedi) &&
|
||||
(bodynum != BODY_Jaws) &&
|
||||
(bodynum != BODY_Mayday) &&
|
||||
(bodynum != BODY_Oddjob) &&
|
||||
(bodynum != BODY_Natalya_Skirt) &&
|
||||
(bodynum != BODY_Natalya_Jungle_Fatigues) &&
|
||||
|
||||
(headnum != BODY_Male_Pierce_Bond_1) &&
|
||||
(headnum != BODY_Male_Pierce_Bond_2) &&
|
||||
(headnum != BODY_Male_Pierce_Bond_3) &&
|
||||
(headnum != BODY_Male_Pierce_Bond_Parka) &&
|
||||
(headnum != BODY_Male_Pierce_Bond_Tuxedo) &&
|
||||
(headnum != BODY_Male_Mishkin))
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
@@ -3810,7 +3827,7 @@ glabel sub_GAME_7F02083C
|
||||
/* 055894 7F020D64 C7A80078 */ lwc1 $f8, 0x78($sp)
|
||||
/* 055898 7F020D68 E5080034 */ swc1 $f8, 0x34($t0)
|
||||
/* 05589C 7F020D6C C7A4007C */ lwc1 $f4, 0x7c($sp)
|
||||
/* 0558A0 7F020D70 0FC1E0F1 */ jal currentPlayerGetMatrix10CC
|
||||
/* 0558A0 7F020D70 0FC1E0F1 */ jal camGetWorldToScreenMtxf
|
||||
/* 0558A4 7F020D74 E5040038 */ swc1 $f4, 0x38($t0)
|
||||
/* 0558A8 7F020D78 00402025 */ move $a0, $v0
|
||||
/* 0558AC 7F020D7C 0FC16026 */ jal matrix_4x4_multiply_homogeneous_in_place
|
||||
@@ -4204,7 +4221,7 @@ glabel sub_GAME_7F02083C
|
||||
/* 055B6C 7F020FFC C7A80078 */ lwc1 $f8, 0x78($sp)
|
||||
/* 055B70 7F021000 E5280034 */ swc1 $f8, 0x34($t1)
|
||||
/* 055B74 7F021004 C7A4007C */ lwc1 $f4, 0x7c($sp)
|
||||
/* 055B78 7F021008 0FC1E26D */ jal currentPlayerGetMatrix10CC
|
||||
/* 055B78 7F021008 0FC1E26D */ jal camGetWorldToScreenMtxf
|
||||
/* 055B7C 7F02100C E5240038 */ swc1 $f4, 0x38($t1)
|
||||
/* 055B80 7F021010 00402025 */ move $a0, $v0
|
||||
/* 055B84 7F021014 0FC1616E */ jal matrix_4x4_multiply_homogeneous_in_place
|
||||
@@ -4256,10 +4273,10 @@ void chrPositionRelated7F020E40(ChrRecord *chr, s32 arg1)
|
||||
model = chr->model;
|
||||
prop = chr->prop;
|
||||
|
||||
if ((chr->hidden & 0x800) == 0)
|
||||
if (!(chr->hidden & CHRHIDDEN_FREEZE))
|
||||
{
|
||||
getsuboffset(model, &chr->prevpos);
|
||||
sub_GAME_7F070AEC(model, arg1, 1);
|
||||
modelTickAnimQuarterSpeed(model, arg1, 1);
|
||||
subcalcpos(model);
|
||||
set_color_shading_from_tile(prop, &chr->nextcol);
|
||||
getsuboffset(model, &prop->pos);
|
||||
@@ -4419,7 +4436,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 055C0C 7F0210DC 24010006 */ li $at, 6
|
||||
/* 055C10 7F0210E0 55A1000D */ bnel $t5, $at, .L7F021118
|
||||
/* 055C14 7F0210E4 00027A00 */ sll $t7, $v0, 8
|
||||
/* 055C18 7F0210E8 0FC26C57 */ jal sub_GAME_7F09B15C
|
||||
/* 055C18 7F0210E8 0FC26C57 */ jal getPlayerPointerIndex
|
||||
/* 055C1C 7F0210EC 01802025 */ move $a0, $t4
|
||||
/* 055C20 7F0210F0 0002C880 */ sll $t9, $v0, 2
|
||||
/* 055C24 7F0210F4 3C188008 */ lui $t8, %hi(g_playerPointers)
|
||||
@@ -4449,7 +4466,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 055C7C 7F02114C 00003025 */ move $a2, $zero
|
||||
/* 055C80 7F021150 11600005 */ beqz $t3, .L7F021168
|
||||
/* 055C84 7F021154 00000000 */ nop
|
||||
/* 055C88 7F021158 0FC1C2BB */ jal sub_GAME_7F070AEC
|
||||
/* 055C88 7F021158 0FC1C2BB */ jal modelTickAnimQuarterSpeed
|
||||
/* 055C8C 7F02115C 8FA40110 */ lw $a0, 0x110($sp)
|
||||
/* 055C90 7F021160 10000003 */ b .L7F021170
|
||||
/* 055C94 7F021164 00000000 */ nop
|
||||
@@ -4564,7 +4581,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 055E1C 7F0212EC 8FA40110 */ lw $a0, 0x110($sp)
|
||||
.L7F0212F0:
|
||||
/* 055E20 7F0212F0 8FA50104 */ lw $a1, 0x104($sp)
|
||||
/* 055E24 7F0212F4 0FC1C2BB */ jal sub_GAME_7F070AEC
|
||||
/* 055E24 7F0212F4 0FC1C2BB */ jal modelTickAnimQuarterSpeed
|
||||
/* 055E28 7F0212F8 00003025 */ move $a2, $zero
|
||||
.L7F0212FC:
|
||||
/* 055E2C 7F0212FC 10000032 */ b .L7F0213C8
|
||||
@@ -4598,7 +4615,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 055E90 7F021360 8FA50104 */ lw $a1, 0x104($sp)
|
||||
/* 055E94 7F021364 13000003 */ beqz $t8, .L7F021374
|
||||
/* 055E98 7F021368 00000000 */ nop
|
||||
/* 055E9C 7F02136C 0FC1C2BB */ jal sub_GAME_7F070AEC
|
||||
/* 055E9C 7F02136C 0FC1C2BB */ jal modelTickAnimQuarterSpeed
|
||||
/* 055EA0 7F021370 00003025 */ move $a2, $zero
|
||||
.L7F021374:
|
||||
/* 055EA4 7F021374 10000014 */ b .L7F0213C8
|
||||
@@ -4608,7 +4625,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 055EB0 7F021380 02002025 */ move $a0, $s0
|
||||
/* 055EB4 7F021384 8FA40110 */ lw $a0, 0x110($sp)
|
||||
/* 055EB8 7F021388 8FA50104 */ lw $a1, 0x104($sp)
|
||||
/* 055EBC 7F02138C 0FC1C2BB */ jal sub_GAME_7F070AEC
|
||||
/* 055EBC 7F02138C 0FC1C2BB */ jal modelTickAnimQuarterSpeed
|
||||
/* 055EC0 7F021390 00003025 */ move $a2, $zero
|
||||
/* 055EC4 7F021394 10000003 */ b .L7F0213A4
|
||||
/* 055EC8 7F021398 00000000 */ nop
|
||||
@@ -4643,7 +4660,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 055F28 7F0213F8 35AC0200 */ ori $t4, $t5, 0x200
|
||||
/* 055F2C 7F0213FC A60C0012 */ sh $t4, 0x12($s0)
|
||||
.L7F021400:
|
||||
/* 055F30 7F021400 0FC0817C */ jal chrAimGlobalTimerTickRelated
|
||||
/* 055F30 7F021400 0FC0817C */ jal chrUpdateAimProperties
|
||||
/* 055F34 7F021404 02002025 */ move $a0, $s0
|
||||
/* 055F38 7F021408 8E040020 */ lw $a0, 0x20($s0)
|
||||
/* 055F3C 7F02140C 50800005 */ beql $a0, $zero, .L7F021424
|
||||
@@ -4670,7 +4687,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 055F8C 7F02145C 10400004 */ beqz $v0, .L7F021470
|
||||
/* 055F90 7F021460 3C013EA0 */ li $at, 0x3EA00000 # 0.312500
|
||||
/* 055F94 7F021464 44816000 */ mtc1 $at, $f12
|
||||
/* 055F98 7F021468 0FC1B103 */ jal set_float_80036088
|
||||
/* 055F98 7F021468 0FC1B103 */ jal modelSetDistanceScale
|
||||
/* 055F9C 7F02146C 00000000 */ nop
|
||||
.L7F021470:
|
||||
/* 055FA0 7F021470 3C0A7F02 */ lui $t2, %hi(sub_GAME_7F02083C) # $t2, 0x7f02
|
||||
@@ -4678,7 +4695,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 055FA8 7F021478 3C018003 */ lui $at, %hi(D_80036090)
|
||||
/* 055FAC 7F02147C AC2A6090 */ sw $t2, %lo(D_80036090)($at)
|
||||
/* 055FB0 7F021480 3C018007 */ lui $at, %hi(dword_CODE_bss_80069B60)
|
||||
/* 055FB4 7F021484 0FC1E0F1 */ jal currentPlayerGetMatrix10CC
|
||||
/* 055FB4 7F021484 0FC1E0F1 */ jal camGetWorldToScreenMtxf
|
||||
/* 055FB8 7F021488 AC309B60 */ sw $s0, %lo(dword_CODE_bss_80069B60)($at)
|
||||
/* 055FBC 7F02148C 8FAB0110 */ lw $t3, 0x110($sp)
|
||||
/* 055FC0 7F021490 AFA20118 */ sw $v0, 0x118($sp)
|
||||
@@ -4713,7 +4730,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 05602C 7F0214FC AC206090 */ sw $zero, %lo(D_80036090)($at)
|
||||
/* 056030 7F021500 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
||||
/* 056034 7F021504 44816000 */ mtc1 $at, $f12
|
||||
/* 056038 7F021508 0FC1B103 */ jal set_float_80036088
|
||||
/* 056038 7F021508 0FC1B103 */ jal modelSetDistanceScale
|
||||
/* 05603C 7F02150C 00000000 */ nop
|
||||
/* 056040 7F021510 260400F4 */ addiu $a0, $s0, 0xf4
|
||||
/* 056044 7F021514 0FC100C4 */ jal update_color_shading
|
||||
@@ -4747,7 +4764,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 0560B4 7F021584 8C65001C */ lw $a1, 0x1c($v1)
|
||||
/* 0560B8 7F021588 8FA40110 */ lw $a0, 0x110($sp)
|
||||
/* 0560BC 7F02158C AFA70100 */ sw $a3, 0x100($sp)
|
||||
/* 0560C0 7F021590 0FC1B198 */ jal sub_GAME_7F06C660
|
||||
/* 0560C0 7F021590 0FC1B198 */ jal modelFindNodeMtx
|
||||
/* 0560C4 7F021594 AFA300FC */ sw $v1, 0xfc($sp)
|
||||
/* 0560C8 7F021598 8FAB00FC */ lw $t3, 0xfc($sp)
|
||||
/* 0560CC 7F02159C AFA20118 */ sw $v0, 0x118($sp)
|
||||
@@ -5110,7 +5127,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 056608 7F021AD8 3058FFFE */ andi $t8, $v0, 0xfffe
|
||||
/* 05660C 7F021ADC 8C830024 */ lw $v1, 0x24($a0)
|
||||
.L7F021AE0:
|
||||
/* 056610 7F021AE0 0FC1304C */ jal sub_GAME_7F04C130
|
||||
/* 056610 7F021AE0 0FC1304C */ jal objDrop
|
||||
/* 056614 7F021AE4 AFA3003C */ sw $v1, 0x3c($sp)
|
||||
/* 056618 7F021AE8 8FA4003C */ lw $a0, 0x3c($sp)
|
||||
/* 05661C 7F021AEC 5480FFFC */ bnezl $a0, .L7F021AE0
|
||||
@@ -5271,7 +5288,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 055EE4 7F021374 24010006 */ li $at, 6
|
||||
/* 055EE8 7F021378 55A1000D */ bnel $t5, $at, .Ljp7F0213B0
|
||||
/* 055EEC 7F02137C 00027A00 */ sll $t7, $v0, 8
|
||||
/* 055EF0 7F021380 0FC26F3F */ jal sub_GAME_7F09B15C
|
||||
/* 055EF0 7F021380 0FC26F3F */ jal getPlayerPointerIndex
|
||||
/* 055EF4 7F021384 01802025 */ move $a0, $t4
|
||||
/* 055EF8 7F021388 0002C880 */ sll $t9, $v0, 2
|
||||
/* 055EFC 7F02138C 3C188008 */ lui $t8, %hi(g_playerPointers)
|
||||
@@ -5301,7 +5318,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 055F54 7F0213E4 00003025 */ move $a2, $zero
|
||||
/* 055F58 7F0213E8 11600005 */ beqz $t3, .Ljp7F021400
|
||||
/* 055F5C 7F0213EC 00000000 */ nop
|
||||
/* 055F60 7F0213F0 0FC1C437 */ jal sub_GAME_7F070AEC
|
||||
/* 055F60 7F0213F0 0FC1C437 */ jal modelTickAnimQuarterSpeed
|
||||
/* 055F64 7F0213F4 8FA40110 */ lw $a0, 0x110($sp)
|
||||
/* 055F68 7F0213F8 10000003 */ b .Ljp7F021408
|
||||
/* 055F6C 7F0213FC 00000000 */ nop
|
||||
@@ -5416,7 +5433,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 0560F4 7F021584 8FA40110 */ lw $a0, 0x110($sp)
|
||||
.Ljp7F021588:
|
||||
/* 0560F8 7F021588 8FA50104 */ lw $a1, 0x104($sp)
|
||||
/* 0560FC 7F02158C 0FC1C437 */ jal sub_GAME_7F070AEC
|
||||
/* 0560FC 7F02158C 0FC1C437 */ jal modelTickAnimQuarterSpeed
|
||||
/* 056100 7F021590 00003025 */ move $a2, $zero
|
||||
.Ljp7F021594:
|
||||
/* 056104 7F021594 10000032 */ b .Ljp7F021660
|
||||
@@ -5450,7 +5467,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 056168 7F0215F8 8FA50104 */ lw $a1, 0x104($sp)
|
||||
/* 05616C 7F0215FC 13000003 */ beqz $t8, .Ljp7F02160C
|
||||
/* 056170 7F021600 00000000 */ nop
|
||||
/* 056174 7F021604 0FC1C437 */ jal sub_GAME_7F070AEC
|
||||
/* 056174 7F021604 0FC1C437 */ jal modelTickAnimQuarterSpeed
|
||||
/* 056178 7F021608 00003025 */ move $a2, $zero
|
||||
.Ljp7F02160C:
|
||||
/* 05617C 7F02160C 10000014 */ b .Ljp7F021660
|
||||
@@ -5460,7 +5477,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 056188 7F021618 02002025 */ move $a0, $s0
|
||||
/* 05618C 7F02161C 8FA40110 */ lw $a0, 0x110($sp)
|
||||
/* 056190 7F021620 8FA50104 */ lw $a1, 0x104($sp)
|
||||
/* 056194 7F021624 0FC1C437 */ jal sub_GAME_7F070AEC
|
||||
/* 056194 7F021624 0FC1C437 */ jal modelTickAnimQuarterSpeed
|
||||
/* 056198 7F021628 00003025 */ move $a2, $zero
|
||||
/* 05619C 7F02162C 10000003 */ b .Ljp7F02163C
|
||||
/* 0561A0 7F021630 00000000 */ nop
|
||||
@@ -5495,7 +5512,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 056200 7F021690 35AC0200 */ ori $t4, $t5, 0x200
|
||||
/* 056204 7F021694 A60C0012 */ sh $t4, 0x12($s0)
|
||||
.Ljp7F021698:
|
||||
/* 056208 7F021698 0FC081E8 */ jal chrAimGlobalTimerTickRelated
|
||||
/* 056208 7F021698 0FC081E8 */ jal chrUpdateAimProperties
|
||||
/* 05620C 7F02169C 02002025 */ move $a0, $s0
|
||||
/* 056210 7F0216A0 8E040020 */ lw $a0, 0x20($s0)
|
||||
/* 056214 7F0216A4 50800005 */ beql $a0, $zero, .Ljp7F0216BC
|
||||
@@ -5527,7 +5544,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 056278 7F021708 10400013 */ beqz $v0, .Ljp7F021758
|
||||
/* 05627C 7F02170C 3C013EA0 */ li $at, 0x3EA00000 # 0.312500
|
||||
/* 056280 7F021710 44816000 */ mtc1 $at, $f12
|
||||
/* 056284 7F021714 0FC1B27F */ jal set_float_80036088
|
||||
/* 056284 7F021714 0FC1B27F */ jal modelSetDistanceScale
|
||||
/* 056288 7F021718 00000000 */ nop
|
||||
/* 05628C 7F02171C 8E020014 */ lw $v0, 0x14($s0)
|
||||
/* 056290 7F021720 3C01EFFF */ lui $at, (0xEFFFFFFF >> 16) # lui $at, 0xefff
|
||||
@@ -5550,7 +5567,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 0562D0 7F021760 3C018003 */ lui $at, %hi(D_80036090) # $at, 0x8003
|
||||
/* 0562D4 7F021764 AC2D60D0 */ sw $t5, %lo(D_80036090)($at)
|
||||
/* 0562D8 7F021768 3C018007 */ lui $at, %hi(dword_CODE_bss_80069B60) # $at, 0x8007
|
||||
/* 0562DC 7F02176C 0FC1E26D */ jal currentPlayerGetMatrix10CC
|
||||
/* 0562DC 7F02176C 0FC1E26D */ jal camGetWorldToScreenMtxf
|
||||
/* 0562E0 7F021770 AC309BA0 */ sw $s0, %lo(dword_CODE_bss_80069B60)($at)
|
||||
/* 0562E4 7F021774 8FAC0110 */ lw $t4, 0x110($sp)
|
||||
/* 0562E8 7F021778 AFA20118 */ sw $v0, 0x118($sp)
|
||||
@@ -5585,7 +5602,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 056354 7F0217E4 AC2060D0 */ sw $zero, %lo(D_80036090)($at)
|
||||
/* 056358 7F0217E8 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
||||
/* 05635C 7F0217EC 44816000 */ mtc1 $at, $f12
|
||||
/* 056360 7F0217F0 0FC1B27F */ jal set_float_80036088
|
||||
/* 056360 7F0217F0 0FC1B27F */ jal modelSetDistanceScale
|
||||
/* 056364 7F0217F4 00000000 */ nop
|
||||
/* 056368 7F0217F8 260400F4 */ addiu $a0, $s0, 0xf4
|
||||
/* 05636C 7F0217FC 0FC10184 */ jal update_color_shading
|
||||
@@ -5619,7 +5636,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 0563DC 7F02186C 8C65001C */ lw $a1, 0x1c($v1)
|
||||
/* 0563E0 7F021870 8FA40110 */ lw $a0, 0x110($sp)
|
||||
/* 0563E4 7F021874 AFA70100 */ sw $a3, 0x100($sp)
|
||||
/* 0563E8 7F021878 0FC1B314 */ jal sub_GAME_7F06C660
|
||||
/* 0563E8 7F021878 0FC1B314 */ jal modelFindNodeMtx
|
||||
/* 0563EC 7F02187C AFA300FC */ sw $v1, 0xfc($sp)
|
||||
/* 0563F0 7F021880 8FAC00FC */ lw $t4, 0xfc($sp)
|
||||
/* 0563F4 7F021884 AFA20118 */ sw $v0, 0x118($sp)
|
||||
@@ -5982,7 +5999,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 056930 7F021DC0 3048FFFE */ andi $t0, $v0, 0xfffe
|
||||
/* 056934 7F021DC4 8C830024 */ lw $v1, 0x24($a0)
|
||||
.Ljp7F021DC8:
|
||||
/* 056938 7F021DC8 0FC1314D */ jal sub_GAME_7F04C130
|
||||
/* 056938 7F021DC8 0FC1314D */ jal objDrop
|
||||
/* 05693C 7F021DCC AFA3003C */ sw $v1, 0x3c($sp)
|
||||
/* 056940 7F021DD0 8FA4003C */ lw $a0, 0x3c($sp)
|
||||
/* 056944 7F021DD4 5480FFFC */ bnezl $a0, .Ljp7F021DC8
|
||||
@@ -6197,7 +6214,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 053A44 7F021054 24010006 */ li $at, 6
|
||||
/* 053A48 7F021058 55A1000D */ bnel $t5, $at, .L7F021090
|
||||
/* 053A4C 7F02105C 00027A00 */ sll $t7, $v0, 8
|
||||
/* 053A50 7F021060 0FC269A7 */ jal sub_GAME_7F09B15C
|
||||
/* 053A50 7F021060 0FC269A7 */ jal getPlayerPointerIndex
|
||||
/* 053A54 7F021064 01802025 */ move $a0, $t4
|
||||
/* 053A58 7F021068 0002C880 */ sll $t9, $v0, 2
|
||||
/* 053A5C 7F02106C 3C188007 */ lui $t8, %hi(g_playerPointers)
|
||||
@@ -6227,7 +6244,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 053AB4 7F0210C4 00003025 */ move $a2, $zero
|
||||
/* 053AB8 7F0210C8 11600005 */ beqz $t3, .L7F0210E0
|
||||
/* 053ABC 7F0210CC 00000000 */ nop
|
||||
/* 053AC0 7F0210D0 0FC1C323 */ jal sub_GAME_7F070AEC
|
||||
/* 053AC0 7F0210D0 0FC1C323 */ jal modelTickAnimQuarterSpeed
|
||||
/* 053AC4 7F0210D4 8FA40110 */ lw $a0, 0x110($sp)
|
||||
/* 053AC8 7F0210D8 10000003 */ b .L7F0210E8
|
||||
/* 053ACC 7F0210DC 00000000 */ nop
|
||||
@@ -6342,7 +6359,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 053C54 7F021264 8FA40110 */ lw $a0, 0x110($sp)
|
||||
.L7F021268:
|
||||
/* 053C58 7F021268 8FA50104 */ lw $a1, 0x104($sp)
|
||||
/* 053C5C 7F02126C 0FC1C323 */ jal sub_GAME_7F070AEC
|
||||
/* 053C5C 7F02126C 0FC1C323 */ jal modelTickAnimQuarterSpeed
|
||||
/* 053C60 7F021270 00003025 */ move $a2, $zero
|
||||
.L7F021274:
|
||||
/* 053C64 7F021274 10000032 */ b .L7F021340
|
||||
@@ -6376,7 +6393,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 053CC8 7F0212D8 8FA50104 */ lw $a1, 0x104($sp)
|
||||
/* 053CCC 7F0212DC 13000003 */ beqz $t8, .L7F0212EC
|
||||
/* 053CD0 7F0212E0 00000000 */ nop
|
||||
/* 053CD4 7F0212E4 0FC1C323 */ jal sub_GAME_7F070AEC
|
||||
/* 053CD4 7F0212E4 0FC1C323 */ jal modelTickAnimQuarterSpeed
|
||||
/* 053CD8 7F0212E8 00003025 */ move $a2, $zero
|
||||
.L7F0212EC:
|
||||
/* 053CDC 7F0212EC 10000014 */ b .L7F021340
|
||||
@@ -6386,7 +6403,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 053CE8 7F0212F8 02002025 */ move $a0, $s0
|
||||
/* 053CEC 7F0212FC 8FA40110 */ lw $a0, 0x110($sp)
|
||||
/* 053CF0 7F021300 8FA50104 */ lw $a1, 0x104($sp)
|
||||
/* 053CF4 7F021304 0FC1C323 */ jal sub_GAME_7F070AEC
|
||||
/* 053CF4 7F021304 0FC1C323 */ jal modelTickAnimQuarterSpeed
|
||||
/* 053CF8 7F021308 00003025 */ move $a2, $zero
|
||||
/* 053CFC 7F02130C 10000003 */ b .L7F02131C
|
||||
/* 053D00 7F021310 00000000 */ nop
|
||||
@@ -6421,7 +6438,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 053D60 7F021370 35AC0200 */ ori $t4, $t5, 0x200
|
||||
/* 053D64 7F021374 A60C0012 */ sh $t4, 0x12($s0)
|
||||
.L7F021378:
|
||||
/* 053D68 7F021378 0FC08120 */ jal chrAimGlobalTimerTickRelated
|
||||
/* 053D68 7F021378 0FC08120 */ jal chrUpdateAimProperties
|
||||
/* 053D6C 7F02137C 02002025 */ move $a0, $s0
|
||||
/* 053D70 7F021380 8E040020 */ lw $a0, 0x20($s0)
|
||||
/* 053D74 7F021384 50800005 */ beql $a0, $zero, .L7F02139C
|
||||
@@ -6453,7 +6470,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 053DD8 7F0213E8 10400013 */ beqz $v0, .L7F021438
|
||||
/* 053DDC 7F0213EC 3C013EA0 */ li $at, 0x3EA00000 # 0.312500
|
||||
/* 053DE0 7F0213F0 44816000 */ mtc1 $at, $f12
|
||||
/* 053DE4 7F0213F4 0FC1B2D3 */ jal set_float_80036088
|
||||
/* 053DE4 7F0213F4 0FC1B2D3 */ jal modelSetDistanceScale
|
||||
/* 053DE8 7F0213F8 00000000 */ nop
|
||||
/* 053DEC 7F0213FC 8E020014 */ lw $v0, 0x14($s0)
|
||||
/* 053DF0 7F021400 3C01EFFF */ lui $at, (0xEFFFFFFF >> 16) # lui $at, 0xefff
|
||||
@@ -6476,7 +6493,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 053E30 7F021440 3C018003 */ lui $at, %hi(D_80036090) # $at, 0x8003
|
||||
/* 053E34 7F021444 AC2D15E0 */ sw $t5, %lo(D_80036090)($at)
|
||||
/* 053E38 7F021448 3C018006 */ lui $at, %hi(dword_CODE_bss_80069B60) # $at, 0x8006
|
||||
/* 053E3C 7F02144C 0FC1E111 */ jal currentPlayerGetMatrix10CC
|
||||
/* 053E3C 7F02144C 0FC1E111 */ jal camGetWorldToScreenMtxf
|
||||
/* 053E40 7F021450 AC308AA0 */ sw $s0, %lo(dword_CODE_bss_80069B60)($at)
|
||||
/* 053E44 7F021454 8FAC0110 */ lw $t4, 0x110($sp)
|
||||
/* 053E48 7F021458 AFA20118 */ sw $v0, 0x118($sp)
|
||||
@@ -6511,7 +6528,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 053EB4 7F0214C4 AC2015E0 */ sw $zero, %lo(D_80036090)($at)
|
||||
/* 053EB8 7F0214C8 3C013F80 */ li $at, 0x3F800000 # 1.000000
|
||||
/* 053EBC 7F0214CC 44816000 */ mtc1 $at, $f12
|
||||
/* 053EC0 7F0214D0 0FC1B2D3 */ jal set_float_80036088
|
||||
/* 053EC0 7F0214D0 0FC1B2D3 */ jal modelSetDistanceScale
|
||||
/* 053EC4 7F0214D4 00000000 */ nop
|
||||
/* 053EC8 7F0214D8 260400F4 */ addiu $a0, $s0, 0xf4
|
||||
/* 053ECC 7F0214DC 0FC100F4 */ jal update_color_shading
|
||||
@@ -6545,7 +6562,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 053F3C 7F02154C 8C65001C */ lw $a1, 0x1c($v1)
|
||||
/* 053F40 7F021550 8FA40110 */ lw $a0, 0x110($sp)
|
||||
/* 053F44 7F021554 AFA70100 */ sw $a3, 0x100($sp)
|
||||
/* 053F48 7F021558 0FC1B366 */ jal sub_GAME_7F06C660
|
||||
/* 053F48 7F021558 0FC1B366 */ jal modelFindNodeMtx
|
||||
/* 053F4C 7F02155C AFA300FC */ sw $v1, 0xfc($sp)
|
||||
/* 053F50 7F021560 8FAC00FC */ lw $t4, 0xfc($sp)
|
||||
/* 053F54 7F021564 AFA20118 */ sw $v0, 0x118($sp)
|
||||
@@ -6908,7 +6925,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 054490 7F021AA0 3048FFFE */ andi $t0, $v0, 0xfffe
|
||||
/* 054494 7F021AA4 8C830024 */ lw $v1, 0x24($a0)
|
||||
.L7F021AA8:
|
||||
/* 054498 7F021AA8 0FC130C9 */ jal sub_GAME_7F04C130
|
||||
/* 054498 7F021AA8 0FC130C9 */ jal objDrop
|
||||
/* 05449C 7F021AAC AFA3003C */ sw $v1, 0x3c($sp)
|
||||
/* 0544A0 7F021AB0 8FA4003C */ lw $a0, 0x3c($sp)
|
||||
/* 0544A4 7F021AB4 5480FFFC */ bnezl $a0, .L7F021AA8
|
||||
@@ -7258,7 +7275,7 @@ glabel sub_GAME_7F022078
|
||||
/* 056CA4 7F022174 0FC1E111 */ jal currentPlayerGetMatrix10D4
|
||||
/* 056CA8 7F022178 E7A40044 */ swc1 $f4, 0x44($sp)
|
||||
/* 056CAC 7F02217C 00402025 */ move $a0, $v0
|
||||
/* 056CB0 7F022180 0FC1611D */ jal matrix_4x4_transform_vector_in_place
|
||||
/* 056CB0 7F022180 0FC1611D */ jal mtx4TransformVecInPlace
|
||||
/* 056CB4 7F022184 27A5003C */ addiu $a1, $sp, 0x3c
|
||||
/* 056CB8 7F022188 8FAD0050 */ lw $t5, 0x50($sp)
|
||||
/* 056CBC 7F02218C 27A4003C */ addiu $a0, $sp, 0x3c
|
||||
@@ -7385,17 +7402,17 @@ glabel sub_GAME_7F0221DC
|
||||
/* 056E54 7F022324 1000000C */ b .L7F022358
|
||||
/* 056E58 7F022328 00000000 */ nop
|
||||
.L7F02232C:
|
||||
/* 056E5C 7F02232C 0FC1BA5C */ jal sub_GAME_7F06E970
|
||||
/* 056E5C 7F02232C 0FC1BA5C */ jal modelApplyDistanceRelations
|
||||
/* 056E60 7F022330 02002825 */ move $a1, $s0
|
||||
/* 056E64 7F022334 10000008 */ b .L7F022358
|
||||
/* 056E68 7F022338 8E090014 */ lw $t1, 0x14($s0)
|
||||
.L7F02233C:
|
||||
/* 056E6C 7F02233C 0FC1BA6F */ jal process_12_handle_switch
|
||||
/* 056E6C 7F02233C 0FC1BA6F */ jal modelApplyToggleRelations
|
||||
/* 056E70 7F022340 02002825 */ move $a1, $s0
|
||||
/* 056E74 7F022344 10000004 */ b .L7F022358
|
||||
/* 056E78 7F022348 8E090014 */ lw $t1, 0x14($s0)
|
||||
.L7F02234C:
|
||||
/* 056E7C 7F02234C 0FC1BA82 */ jal process_17_pointer_to_head
|
||||
/* 056E7C 7F02234C 0FC1BA82 */ jal modelApplyHeadRelations
|
||||
/* 056E80 7F022350 02002825 */ move $a1, $s0
|
||||
/* 056E84 7F022354 8E090014 */ lw $t1, 0x14($s0)
|
||||
.L7F022358:
|
||||
@@ -7754,11 +7771,11 @@ glabel sub_GAME_7F022648
|
||||
/* 05736C 7F02283C 0FC1E111 */ jal currentPlayerGetMatrix10D4
|
||||
/* 057370 7F022840 E7A4007C */ swc1 $f4, 0x7c($sp)
|
||||
/* 057374 7F022844 00402025 */ move $a0, $v0
|
||||
/* 057378 7F022848 0FC160F6 */ jal matrix_4x4_rotate_vector_in_place
|
||||
/* 057378 7F022848 0FC160F6 */ jal mtx4RotateVecInPlace
|
||||
/* 05737C 7F02284C 27A50074 */ addiu $a1, $sp, 0x74
|
||||
/* 057380 7F022850 8FA400DC */ lw $a0, 0xdc($sp)
|
||||
/* 057384 7F022854 8FA500D8 */ lw $a1, 0xd8($sp)
|
||||
/* 057388 7F022858 0FC1B198 */ jal sub_GAME_7F06C660
|
||||
/* 057388 7F022858 0FC1B198 */ jal modelFindNodeMtx
|
||||
/* 05738C 7F02285C 00003025 */ move $a2, $zero
|
||||
/* 057390 7F022860 C4460030 */ lwc1 $f6, 0x30($v0)
|
||||
/* 057394 7F022864 C6480000 */ lwc1 $f8, ($s2)
|
||||
@@ -7910,7 +7927,7 @@ glabel sub_GAME_7F022980
|
||||
/* 0575A0 7F022A70 E7A800B0 */ swc1 $f8, 0xb0($sp)
|
||||
/* 0575A4 7F022A74 27B000A8 */ addiu $s0, $sp, 0xa8
|
||||
/* 0575A8 7F022A78 02002825 */ move $a1, $s0
|
||||
/* 0575AC 7F022A7C 0FC1611D */ jal matrix_4x4_transform_vector_in_place
|
||||
/* 0575AC 7F022A7C 0FC1611D */ jal mtx4TransformVecInPlace
|
||||
/* 0575B0 7F022A80 00402025 */ move $a0, $v0
|
||||
/* 0575B4 7F022A84 0FC19ED3 */ jal sub_GAME_7F067B4C
|
||||
/* 0575B8 7F022A88 02002025 */ move $a0, $s0
|
||||
@@ -8077,7 +8094,7 @@ glabel sub_GAME_7F022980
|
||||
/* 057810 7F022CE0 8FBF004C */ lw $ra, 0x4c($sp)
|
||||
.L7F022CE4:
|
||||
/* 057814 7F022CE4 8E240048 */ lw $a0, 0x48($s1)
|
||||
/* 057818 7F022CE8 0FC1B198 */ jal sub_GAME_7F06C660
|
||||
/* 057818 7F022CE8 0FC1B198 */ jal modelFindNodeMtx
|
||||
/* 05781C 7F022CEC 8E25000C */ lw $a1, 0xc($s1)
|
||||
/* 057820 7F022CF0 C7B20098 */ lwc1 $f18, 0x98($sp)
|
||||
/* 057824 7F022CF4 C7A4009C */ lwc1 $f4, 0x9c($sp)
|
||||
@@ -8136,7 +8153,7 @@ glabel sub_GAME_7F022980
|
||||
/* 0578F8 7F022DC8 E7A60078 */ swc1 $f6, 0x78($sp)
|
||||
/* 0578FC 7F022DCC 27B00070 */ addiu $s0, $sp, 0x70
|
||||
/* 057900 7F022DD0 02002825 */ move $a1, $s0
|
||||
/* 057904 7F022DD4 0FC1611D */ jal matrix_4x4_transform_vector_in_place
|
||||
/* 057904 7F022DD4 0FC1611D */ jal mtx4TransformVecInPlace
|
||||
/* 057908 7F022DD8 02402025 */ move $a0, $s2
|
||||
/* 05790C 7F022DDC 8E240048 */ lw $a0, 0x48($s1)
|
||||
/* 057910 7F022DE0 8E250008 */ lw $a1, 8($s1)
|
||||
@@ -8254,13 +8271,13 @@ void chrCheckGuardsHeardSound(f32 noise)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
for (i=0; i<num_guards; i++)
|
||||
for (i=0; i<g_NumChrSlots; i++)
|
||||
{
|
||||
if (ptr_guard_data[i].model != NULL)
|
||||
if (g_ChrSlots[i].model != NULL)
|
||||
{
|
||||
if (chrGetDistanceToBond(&ptr_guard_data[i]) < ptr_guard_data[i].hearingscale * (noise * 100.0f))
|
||||
if (chrGetDistanceToBond(&g_ChrSlots[i]) < g_ChrSlots[i].hearingscale * (noise * 100.0f))
|
||||
{
|
||||
chrlvAlertGuardToPlayerPosition(&ptr_guard_data[i]);
|
||||
chrlvAlertGuardToPlayerPosition(&g_ChrSlots[i]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -8269,7 +8286,7 @@ void chrCheckGuardsHeardSound(f32 noise)
|
||||
|
||||
|
||||
/**
|
||||
* Iterates ptr_guard_data. Returns the first object that (1) model
|
||||
* Iterates g_ChrSlots. Returns the first object that (1) model
|
||||
* is not null and (2) chrnum matches index.
|
||||
*
|
||||
* Address 0x7F022FC8.
|
||||
@@ -8279,11 +8296,11 @@ ChrRecord* chrFindByLiteralId(s32 index)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
for (i=0; i<num_guards; i++)
|
||||
for (i=0; i<g_NumChrSlots; i++)
|
||||
{
|
||||
if (ptr_guard_data[i].model != NULL && ptr_guard_data[i].chrnum == index)
|
||||
if (g_ChrSlots[i].model != NULL && g_ChrSlots[i].chrnum == index)
|
||||
{
|
||||
return &ptr_guard_data[i];
|
||||
return &g_ChrSlots[i];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -8313,7 +8330,7 @@ PropRecord *chrGetEquippedWeaponPropWithCheck(ChrRecord *self, GUNHAND hand)
|
||||
{
|
||||
WeaponObjRecord *wep = gunprop->weapon;
|
||||
|
||||
if (bondwalkItemCheckBitflags(wep->weaponnum, 0x200) == 0)
|
||||
if (bondwalkItemCheckBitflags(wep->weaponnum, WEAPONSTATBITFLAG_HOLD_AS_GUN) == 0)
|
||||
{
|
||||
gunprop = NULL;
|
||||
}
|
||||
@@ -8408,81 +8425,51 @@ f32 chrGetChrGround(PropRecord *arg0)
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void sub_GAME_7F023194(void) {
|
||||
/**
|
||||
* Calculate auto aim position coordinates.
|
||||
*
|
||||
* US address 7F023194.
|
||||
*/
|
||||
s32 sub_GAME_7F023194(PropRecord *arg0, struct coord3d *arg1, struct coord2d *arg2, struct coord2d *arg3)
|
||||
{
|
||||
struct ChrRecord *temp_v1;
|
||||
|
||||
temp_v1 = arg0->chr;
|
||||
|
||||
if (arg0->flags & PROPFLAG_ONSCREEN)
|
||||
{
|
||||
if ((temp_v1->actiontype != ACT_DIE) && (temp_v1->actiontype != ACT_DEAD) && !(temp_v1->chrflags & CHRFLAG_NO_AUTOAIM))
|
||||
{
|
||||
struct Model *model;
|
||||
RenderPosView *model_render_pos_1;
|
||||
RenderPosView *model_render_pos_2;
|
||||
|
||||
model = temp_v1->model;
|
||||
model_render_pos_1 = &model->render_pos[0];
|
||||
model_render_pos_2 = &model->render_pos[1];
|
||||
|
||||
arg1->f[2] = model_render_pos_2->pos.m[3][2] + ((model_render_pos_1->pos.m[3][2] - model_render_pos_2->pos.m[3][2]) * 0.25f);
|
||||
|
||||
if (arg1->f[2] < 0.0f)
|
||||
{
|
||||
arg1->f[0] = model_render_pos_2->pos.m[3][0] + ((model_render_pos_1->pos.m[3][0] - model_render_pos_2->pos.m[3][0]) * 0.25f);
|
||||
arg1->f[1] = model_render_pos_2->pos.m[3][1] + ((model_render_pos_1->pos.m[3][1] - model_render_pos_2->pos.m[3][1]) * 0.25f);
|
||||
|
||||
arg3->y = 0.0f;
|
||||
arg3->x = 0.0f;
|
||||
|
||||
arg2->x = 0.0f;
|
||||
arg2->y = 0.0f;
|
||||
|
||||
sub_GAME_7F03F90C(model, &arg2->y, &arg2->x, &arg3->y, &arg3->x);
|
||||
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F023194
|
||||
/* 057CC4 7F023194 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 057CC8 7F023198 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 057CCC 7F02319C AFA50024 */ sw $a1, 0x24($sp)
|
||||
/* 057CD0 7F0231A0 AFA7002C */ sw $a3, 0x2c($sp)
|
||||
/* 057CD4 7F0231A4 908E0001 */ lbu $t6, 1($a0)
|
||||
/* 057CD8 7F0231A8 8C830004 */ lw $v1, 4($a0)
|
||||
/* 057CDC 7F0231AC 31CF0002 */ andi $t7, $t6, 2
|
||||
/* 057CE0 7F0231B0 51E00033 */ beql $t7, $zero, .L7F023280
|
||||
/* 057CE4 7F0231B4 00001025 */ move $v0, $zero
|
||||
/* 057CE8 7F0231B8 80620007 */ lb $v0, 7($v1)
|
||||
/* 057CEC 7F0231BC 24010004 */ li $at, 4
|
||||
/* 057CF0 7F0231C0 1041002E */ beq $v0, $at, .L7F02327C
|
||||
/* 057CF4 7F0231C4 24010005 */ li $at, 5
|
||||
/* 057CF8 7F0231C8 5041002D */ beql $v0, $at, .L7F023280
|
||||
/* 057CFC 7F0231CC 00001025 */ move $v0, $zero
|
||||
/* 057D00 7F0231D0 8C780014 */ lw $t8, 0x14($v1)
|
||||
/* 057D04 7F0231D4 33190800 */ andi $t9, $t8, 0x800
|
||||
/* 057D08 7F0231D8 57200029 */ bnezl $t9, .L7F023280
|
||||
/* 057D0C 7F0231DC 00001025 */ move $v0, $zero
|
||||
/* 057D10 7F0231E0 8C64001C */ lw $a0, 0x1c($v1)
|
||||
/* 057D14 7F0231E4 3C013E80 */ li $at, 0x3E800000 # 0.250000
|
||||
/* 057D18 7F0231E8 44817000 */ mtc1 $at, $f14
|
||||
/* 057D1C 7F0231EC 8C82000C */ lw $v0, 0xc($a0)
|
||||
/* 057D20 7F0231F0 44806000 */ mtc1 $zero, $f12
|
||||
/* 057D24 7F0231F4 24480040 */ addiu $t0, $v0, 0x40
|
||||
/* 057D28 7F0231F8 C5000038 */ lwc1 $f0, 0x38($t0)
|
||||
/* 057D2C 7F0231FC C4440038 */ lwc1 $f4, 0x38($v0)
|
||||
/* 057D30 7F023200 46002181 */ sub.s $f6, $f4, $f0
|
||||
/* 057D34 7F023204 460E3202 */ mul.s $f8, $f6, $f14
|
||||
/* 057D38 7F023208 46004280 */ add.s $f10, $f8, $f0
|
||||
/* 057D3C 7F02320C 460C503C */ c.lt.s $f10, $f12
|
||||
/* 057D40 7F023210 E4AA0008 */ swc1 $f10, 8($a1)
|
||||
/* 057D44 7F023214 4502001A */ bc1fl .L7F023280
|
||||
/* 057D48 7F023218 00001025 */ move $v0, $zero
|
||||
/* 057D4C 7F02321C C5000030 */ lwc1 $f0, 0x30($t0)
|
||||
/* 057D50 7F023220 C4500030 */ lwc1 $f16, 0x30($v0)
|
||||
/* 057D54 7F023224 46008481 */ sub.s $f18, $f16, $f0
|
||||
/* 057D58 7F023228 460E9102 */ mul.s $f4, $f18, $f14
|
||||
/* 057D5C 7F02322C 46002180 */ add.s $f6, $f4, $f0
|
||||
/* 057D60 7F023230 E4A60000 */ swc1 $f6, ($a1)
|
||||
/* 057D64 7F023234 C4480034 */ lwc1 $f8, 0x34($v0)
|
||||
/* 057D68 7F023238 C5020034 */ lwc1 $f2, 0x34($t0)
|
||||
/* 057D6C 7F02323C 46024281 */ sub.s $f10, $f8, $f2
|
||||
/* 057D70 7F023240 460E5402 */ mul.s $f16, $f10, $f14
|
||||
/* 057D74 7F023244 46028480 */ add.s $f18, $f16, $f2
|
||||
/* 057D78 7F023248 E4B20004 */ swc1 $f18, 4($a1)
|
||||
/* 057D7C 7F02324C 8FAB002C */ lw $t3, 0x2c($sp)
|
||||
/* 057D80 7F023250 24C50004 */ addiu $a1, $a2, 4
|
||||
/* 057D84 7F023254 E56C0004 */ swc1 $f12, 4($t3)
|
||||
/* 057D88 7F023258 E56C0000 */ swc1 $f12, ($t3)
|
||||
/* 057D8C 7F02325C E4CC0000 */ swc1 $f12, ($a2)
|
||||
/* 057D90 7F023260 E4CC0004 */ swc1 $f12, 4($a2)
|
||||
/* 057D94 7F023264 8FAC002C */ lw $t4, 0x2c($sp)
|
||||
/* 057D98 7F023268 25870004 */ addiu $a3, $t4, 4
|
||||
/* 057D9C 7F02326C 0FC0FE43 */ jal sub_GAME_7F03F90C
|
||||
/* 057DA0 7F023270 AFAC0010 */ sw $t4, 0x10($sp)
|
||||
/* 057DA4 7F023274 10000002 */ b .L7F023280
|
||||
/* 057DA8 7F023278 24020001 */ li $v0, 1
|
||||
.L7F02327C:
|
||||
/* 057DAC 7F02327C 00001025 */ move $v0, $zero
|
||||
.L7F023280:
|
||||
/* 057DB0 7F023280 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 057DB4 7F023284 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 057DB8 7F023288 03E00008 */ jr $ra
|
||||
/* 057DBC 7F02328C 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
+7
-4
@@ -230,8 +230,8 @@ extern s32 D_8002C910;
|
||||
extern s32 D_8002CC58;
|
||||
extern s32 show_patrols_flag;
|
||||
extern s32 player1_guardID;
|
||||
extern ChrRecord *ptr_guard_data;
|
||||
extern s32 num_guards;
|
||||
extern ChrRecord *g_ChrSlots;
|
||||
extern s32 g_NumChrSlots;
|
||||
extern struct unk_joint_list D_8002CC6C;
|
||||
extern s32 D_8002CCAC;
|
||||
extern s32 D_8002CCB0;
|
||||
@@ -285,11 +285,11 @@ void sub_GAME_7F022EE0(s32 param_1);
|
||||
void setanimationdebugflag(s32 param_1);
|
||||
void disable_sounds_attached_to_player_then_something(PropRecord* prop);
|
||||
void chrPositionRelated7F020D94(ChrRecord *);
|
||||
void set_or_unset_GUARDdata_flag(ChrRecord *guard,s32 param_2);
|
||||
void chrSetMoving(ChrRecord *guard,s32 param_2);
|
||||
f32 getAnimationRate(void);
|
||||
void setAnimationRate(f32);
|
||||
PropRecord *init_GUARDdata_with_set_values(PropRecord *, Model *, coord3d *, f32 arg2, StandTile * arg3, s32 arg4);
|
||||
PropRecord *replace_GUARDdata_with_actual_values(struct Model * arg0, coord3d * arg1, f32 arg2, StandTile * arg3, s32 arg4);
|
||||
PropRecord *chrAllocate(struct Model * arg0, coord3d * arg1, f32 arg2, StandTile * arg3, s32 arg4);
|
||||
void chrSetHiddenToRandom(ChrRecord *arg0);
|
||||
void chrRemoved7F022E1C(f32 arg0);
|
||||
void chrDecrementAnimationTablePointerCount(void);
|
||||
@@ -307,9 +307,12 @@ s32 get_numguards(void);
|
||||
Gfx *chrRenderProp(PropRecord *arg0, Gfx *arg1, s32 arg2);
|
||||
void chrAddHealth(ChrRecord *chr, f32 health);
|
||||
void chrSetMaxDamage(ChrRecord *chr, f32 maxdamage);
|
||||
s32 sub_GAME_7F03DA50(struct PropRecord *arg0, s32 arg1);
|
||||
s32 sub_GAME_7F023194(PropRecord *arg0, struct coord3d *arg1, struct coord2d *arg2, struct coord2d *arg3);
|
||||
|
||||
//tentative signature
|
||||
s32 sub_GAME_7F01FC10(Model *, coord3d *, coord3d *, f32 *);
|
||||
void sub_GAME_7F0221DC(Model *arg0, s32 arg1, ModelNode *arg2, struct coord3d *arg3);
|
||||
|
||||
#ifdef BUGFIX_R1
|
||||
s32 not_in_us_7F0209EC(s32 bodynum, s32 headnum);
|
||||
|
||||
+3
-1
@@ -20,6 +20,8 @@ s32 load_body_head_if_not_loaded(s32 model)
|
||||
/**
|
||||
* Address 0x7F0232E8 (VERSION_US)
|
||||
* Address 0x7F0235D8 (other version)
|
||||
* Not a very descriptive name for a function. What it does is load Bond's model or those
|
||||
* for spawning guards. It is not used for guards that spawn at level loading.
|
||||
*/
|
||||
struct Model *makeonebody(s32 body, s32 head, struct ModelFileHeader *bodyHeader, struct ModelFileHeader *headHeader, s32 sunglasses, struct Model *model)
|
||||
{
|
||||
@@ -95,7 +97,7 @@ struct Model *makeonebody(s32 body, s32 head, struct ModelFileHeader *bodyHeader
|
||||
if ((headHeader != 0) && (c_item_entries[body].hasHead == 0))
|
||||
{
|
||||
bodyHeader->numRecords -= headHeader->numRecords;
|
||||
sub_GAME_7F06C3B4(model, opcode, headHeader);
|
||||
modelAttachHead(model, opcode, headHeader);
|
||||
|
||||
if ((sunglasses == 0) && ((s32) headHeader->numSwitches > 0))
|
||||
{
|
||||
|
||||
+33
-33
@@ -847,9 +847,9 @@ PathRecord *pathFindById(s32 ID)
|
||||
extern void chrpropDelist(PropRecord *prop);
|
||||
extern PadRecord * dword_CODE_bss_800799F8;
|
||||
extern CutsceneRecord *gBondViewCutscene;
|
||||
extern s32 dword_CODE_bss_80079A18;
|
||||
extern enum CAMERAMODE dword_CODE_bss_80079A18;
|
||||
extern s32 dword_CODE_bss_80079A1C;
|
||||
extern vec3d flt_CODE_bss_80079990;
|
||||
extern vec3d g_ForceBondMoveOffset;
|
||||
//CODE.bss:80079A00
|
||||
extern f32 flt_CODE_bss_80079A00;
|
||||
//CODE.bss:80079A04
|
||||
@@ -2290,14 +2290,14 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
#endif
|
||||
if (obj && obj->prop)
|
||||
{
|
||||
if (!do_something_if_object_destroyed(obj))
|
||||
if (!objGetDestroyedLevel(obj))
|
||||
{
|
||||
f32 damage = ((obj->damage - obj->maxdamage) + 1) / 250.0f;
|
||||
#ifdef ENABLE_LOG
|
||||
osSyncPrintf("ai_destroyobj 3 : adddamageobj\n");
|
||||
#endif
|
||||
|
||||
maybe_detonate_object(obj, damage, &obj->runtime_pos, 29, -1);
|
||||
maybe_detonate_object(obj, damage, &obj->runtime_pos, 0x1D, -1);
|
||||
}
|
||||
}
|
||||
Offset += AI_DestroyObject_LENGTH;
|
||||
@@ -2354,7 +2354,7 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
if (obj && obj->prop)
|
||||
{
|
||||
INV_ITEM_TYPE iType = collect_or_interact_object(obj->prop, FALSE);
|
||||
sub_GAME_7F03C2BC(obj->prop, iType);
|
||||
propExecuteTickOperation(obj->prop, iType);
|
||||
}
|
||||
Offset += AI_BondCollectObject_LENGTH;
|
||||
break;
|
||||
@@ -2368,7 +2368,7 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
{
|
||||
if (obj->prop->parent)
|
||||
{
|
||||
sub_GAME_7F04C044(obj->prop);
|
||||
objDetach(obj->prop);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2376,7 +2376,7 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
chrpropDelist(obj->prop);
|
||||
chrpropDisable(obj->prop);
|
||||
}
|
||||
if (obj->type != PROPDEF_COLLECTABLE || !sub_GAME_7F051E1C(obj, chr))
|
||||
if (obj->type != PROPDEF_COLLECTABLE || !chrEquipWeapon(obj, chr))
|
||||
{
|
||||
chrpropReparent(obj->prop, chr->prop);
|
||||
}
|
||||
@@ -3586,7 +3586,7 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
bool ok = FALSE;
|
||||
if (ChrEntityp && ChrEntityp->prop && ChrEntityp->model)
|
||||
{
|
||||
ok = chrTryEquipHat(ChrEntityp, modelnum, flags);
|
||||
ok = hatCreateForChr(ChrEntityp, modelnum, flags);
|
||||
}
|
||||
if (ok)
|
||||
{
|
||||
@@ -3665,7 +3665,7 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
{
|
||||
hatobj = hatprop->obj;
|
||||
|
||||
chrTryEquipHat(clone, hatobj->obj, 0);
|
||||
hatCreateForChr(clone, hatobj->obj, 0);
|
||||
}
|
||||
}
|
||||
/* PD extras */
|
||||
@@ -3953,15 +3953,15 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
if (obj->type == PROPDEF_MONITOR)
|
||||
{
|
||||
MonitorObjRecord *sm = (MonitorObjRecord *)obj;
|
||||
monitorSetImageByNum(&sm->Monitor.image, ai->val[2]);
|
||||
monitorSetImageByNum(&sm->Monitor.cmdlist, ai->val[2]);
|
||||
}
|
||||
else if (obj->type == PROPDEF_MULTI_MONITOR)
|
||||
{
|
||||
u8 slot = ai->val[1];
|
||||
if (slot < 4)
|
||||
{
|
||||
multimonitorobj *mm = (multimonitorobj *)obj; //need new size here 0x74 (116) + 0x80 (so monitor is obj + 74)
|
||||
monitorSetImageByNum(&mm->Monitor[slot].image, ai->val[2]);
|
||||
MultiMonitorObjRecord *mm = (MultiMonitorObjRecord *)obj; //need new size here 0x74 (116) + 0x80 (so monitor is obj + 74)
|
||||
monitorSetImageByNum(&mm->Monitor[slot].cmdlist, ai->val[2]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -4065,15 +4065,15 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
case AI_BondDisableControl:
|
||||
{
|
||||
AIRecord1 *ai = AiListp + Offset;
|
||||
set_unset_bitflags(4, FALSE);
|
||||
set_unset_ammo_on_screen_setting(2, FALSE);
|
||||
gunSetSightVisible(GUNSIGHTREASON_NOCONTROL, FALSE);
|
||||
gunSetGunAmmoVisible(GUNAMMOREASON_NOCONTROL, FALSE);
|
||||
if (!(PLAYERFLAG_NOCONTROL & ai->val))
|
||||
{
|
||||
hudmsgsSetOff(PLAYERFLAG_NOCONTROL);
|
||||
}
|
||||
if (!(ai->val & PLAYERFLAG_LOCKCONTROLS))
|
||||
{
|
||||
sub_GAME_7F08A944(PLAYERFLAG_NOCONTROL);
|
||||
bondviewSetUpperTextDisplayFlag(PLAYERFLAG_NOCONTROL);
|
||||
}
|
||||
if (!(ai->val & PLAYERFLAG_NOTIMER))
|
||||
{
|
||||
@@ -4088,10 +4088,10 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
#ifdef ENABLE_LOG
|
||||
osSyncPrintf("AI_BONDENABLECONTROL\n");
|
||||
#endif
|
||||
set_unset_bitflags(4, TRUE);
|
||||
set_unset_ammo_on_screen_setting(2, TRUE);
|
||||
gunSetSightVisible(GUNSIGHTREASON_NOCONTROL, TRUE);
|
||||
gunSetGunAmmoVisible(GUNAMMOREASON_NOCONTROL, TRUE);
|
||||
hudmsgsSetOn(PLAYERFLAG_NOCONTROL);
|
||||
sub_GAME_7F08A928(2);
|
||||
bondviewClearUpperTextDisplayFlag(2);
|
||||
countdownTimerSetVisible(16, TRUE);
|
||||
D_800364B0 = TRUE;
|
||||
Offset += AI_BondEnableControl_LENGTH;
|
||||
@@ -4202,9 +4202,9 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
s32 num;
|
||||
for (num = get_numguards() - 1; num >= 0; num--)
|
||||
{
|
||||
if (ptr_guard_data[num].model != NULL)
|
||||
if (g_ChrSlots[num].model != NULL)
|
||||
{
|
||||
ptr_guard_data[num].chrflags |= CHRFLAG_HIDDEN;
|
||||
g_ChrSlots[num].chrflags |= CHRFLAG_HIDDEN;
|
||||
}
|
||||
}
|
||||
Offset += AI_HideAllChrs_LENGTH;
|
||||
@@ -4215,7 +4215,7 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
s32 num;
|
||||
for (num = get_numguards() - 1; num >= 0; num--)
|
||||
{
|
||||
ptr_guard_data[num].chrflags &= ~CHRFLAG_HIDDEN;
|
||||
g_ChrSlots[num].chrflags &= ~CHRFLAG_HIDDEN;
|
||||
}
|
||||
|
||||
Offset += AI_ShowAllChrs_LENGTH;
|
||||
@@ -4305,9 +4305,9 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
g_Vars.currentplayer->bondforcespeed.z = (s8)ai->val[2];
|
||||
*/
|
||||
AIRecord *ai = AiListp + Offset;
|
||||
flt_CODE_bss_80079990.x = (s8)ai->val[0];
|
||||
flt_CODE_bss_80079990.y = 0;
|
||||
flt_CODE_bss_80079990.z = (s8)ai->val[1];
|
||||
g_ForceBondMoveOffset.x = (s8)ai->val[0];
|
||||
g_ForceBondMoveOffset.y = 0;
|
||||
g_ForceBondMoveOffset.z = (s8)ai->val[1];
|
||||
Offset += AI_BondSetLockedVelocity_LENGTH;
|
||||
break;
|
||||
}
|
||||
@@ -4549,15 +4549,15 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
|
||||
if (obj->runtime_bitflags & RUNTIMEBITFLAG_DEPOSIT)
|
||||
{
|
||||
obj->unk6C->flags |= 0x601;
|
||||
sub_GAME_7F03FE14(obj->prop);
|
||||
matrix_4x4_set_identity(&obj->unk6C->m);
|
||||
obj->unk6C->pos.x = 0;
|
||||
obj->unk6C->pos.y = 0.016666666f; //step height?
|
||||
obj->unk6C->pos.z = 0;
|
||||
obj->unk6C->vec.x = 0;
|
||||
obj->unk6C->vec.y = 0.29166666f; //direction to move?
|
||||
obj->unk6C->vec.z = 0;
|
||||
obj->projectile->flags |= 0x601;
|
||||
projectileSetSticky(obj->prop);
|
||||
matrix_4x4_set_identity(&obj->projectile->mtx);
|
||||
obj->projectile->speed.x = 0;
|
||||
obj->projectile->speed.y = 0.016666666f; //step height?
|
||||
obj->projectile->speed.z = 0;
|
||||
obj->projectile->unk10.x = 0;
|
||||
obj->projectile->unk10.y = 0.29166666f; //direction to move?
|
||||
obj->projectile->unk10.z = 0;
|
||||
}
|
||||
}
|
||||
Offset += AI_ObjectRocketLaunch_LENGTH;
|
||||
|
||||
+30
-259
@@ -165,11 +165,11 @@ Rotate Image:
|
||||
#define PTR_LIST_OBJECT_LOOKUP_INDICES_LEN 512
|
||||
#define BSS_8007161C_LEN 256
|
||||
#define BSS_8007161C_DATA_LEN 16
|
||||
#define PROJECTILEDATA_START_ADDRESS_LEN 30
|
||||
#define BSS_80072E70_DATA_LEN 10
|
||||
#define BSS_80073370_DATA_LEN 20
|
||||
#define BSS_80073DC0_DATA_LEN 20
|
||||
#define BSS_80075030_DATA_LEN 40
|
||||
#define MAX_WEAPON_SLOTS 30
|
||||
#define MAX_HAT_SLOTS 10
|
||||
#define MAX_AMMO_CRATES 20
|
||||
#define PROJECTILES_ARR_MAX 20
|
||||
#define EMBEDMENT_ARR_MAX 40
|
||||
#define ONSCREEN_PROP_LIST_LEN 500
|
||||
|
||||
|
||||
@@ -178,242 +178,9 @@ Rotate Image:
|
||||
* Getting a match on alloc_lookup_buffers makes it seem
|
||||
* the struct is just one continuous array. (or maybe there's no struct....)
|
||||
*/
|
||||
struct unk_8007161c
|
||||
struct roomproplistchunk
|
||||
{
|
||||
s16 data[16];
|
||||
};
|
||||
|
||||
struct projectile_data {
|
||||
u32 unk00;
|
||||
u32 unk04;
|
||||
u32 unk08;
|
||||
u32 unk0C;
|
||||
|
||||
u32 unk10;
|
||||
u32 unk14;
|
||||
u32 unk18;
|
||||
u32 unk1C;
|
||||
|
||||
u32 unk20;
|
||||
u32 unk24;
|
||||
u32 unk28;
|
||||
u32 unk2C;
|
||||
|
||||
u32 unk30;
|
||||
u32 unk34;
|
||||
u32 unk38;
|
||||
u32 unk3C;
|
||||
|
||||
u32 unk40;
|
||||
u32 unk44;
|
||||
u32 unk48;
|
||||
u32 unk4C;
|
||||
|
||||
u32 unk50;
|
||||
u32 unk54;
|
||||
u32 unk58;
|
||||
u32 unk5C;
|
||||
|
||||
u32 unk60;
|
||||
u32 unk64;
|
||||
u32 unk68;
|
||||
u32 unk6C;
|
||||
|
||||
u32 unk70;
|
||||
u32 unk74;
|
||||
u32 unk78;
|
||||
u32 unk7C;
|
||||
|
||||
u32 unk80;
|
||||
u32 unk84;
|
||||
};
|
||||
|
||||
struct bss_80072E70 {
|
||||
u32 unk00;
|
||||
u32 unk04;
|
||||
u32 unk08;
|
||||
u32 unk0C;
|
||||
|
||||
u32 unk10;
|
||||
u32 unk14;
|
||||
u32 unk18;
|
||||
u32 unk1C;
|
||||
|
||||
u32 unk20;
|
||||
u32 unk24;
|
||||
u32 unk28;
|
||||
u32 unk2C;
|
||||
|
||||
u32 unk30;
|
||||
u32 unk34;
|
||||
u32 unk38;
|
||||
u32 unk3C;
|
||||
|
||||
u32 unk40;
|
||||
u32 unk44;
|
||||
u32 unk48;
|
||||
u32 unk4C;
|
||||
|
||||
u32 unk50;
|
||||
u32 unk54;
|
||||
u32 unk58;
|
||||
u32 unk5C;
|
||||
|
||||
u32 unk60;
|
||||
u32 unk64;
|
||||
u32 unk68;
|
||||
u32 unk6C;
|
||||
|
||||
u32 unk70;
|
||||
u32 unk74;
|
||||
u32 unk78;
|
||||
u32 unk7C;
|
||||
};
|
||||
|
||||
struct bss_80073370 {
|
||||
u32 unk00;
|
||||
u32 unk04;
|
||||
u32 unk08;
|
||||
u32 unk0C;
|
||||
|
||||
u32 unk10;
|
||||
u32 unk14;
|
||||
u32 unk18;
|
||||
u32 unk1C;
|
||||
|
||||
u32 unk20;
|
||||
u32 unk24;
|
||||
u32 unk28;
|
||||
u32 unk2C;
|
||||
|
||||
u32 unk30;
|
||||
u32 unk34;
|
||||
u32 unk38;
|
||||
u32 unk3C;
|
||||
|
||||
u32 unk40;
|
||||
u32 unk44;
|
||||
u32 unk48;
|
||||
u32 unk4C;
|
||||
|
||||
u32 unk50;
|
||||
u32 unk54;
|
||||
u32 unk58;
|
||||
u32 unk5C;
|
||||
|
||||
u32 unk60;
|
||||
u32 unk64;
|
||||
u32 unk68;
|
||||
u32 unk6C;
|
||||
|
||||
u32 unk70;
|
||||
u32 unk74;
|
||||
u32 unk78;
|
||||
u32 unk7C;
|
||||
|
||||
u32 unk80;
|
||||
};
|
||||
|
||||
struct bss_80073DC0 {
|
||||
u32 unk00;
|
||||
f32 unk04;
|
||||
f32 unk08;
|
||||
f32 unk0C;
|
||||
|
||||
f32 unk10;
|
||||
f32 unk14;
|
||||
f32 unk18;
|
||||
f32 unk1C;
|
||||
|
||||
u32 unk20;
|
||||
u32 unk24;
|
||||
u32 unk28;
|
||||
u32 unk2C;
|
||||
|
||||
u32 unk30;
|
||||
u32 unk34;
|
||||
u32 unk38;
|
||||
u32 unk3C;
|
||||
|
||||
u32 unk40;
|
||||
u32 unk44;
|
||||
u32 unk48;
|
||||
u32 unk4C;
|
||||
|
||||
u32 unk50;
|
||||
u32 unk54;
|
||||
u32 unk58;
|
||||
u32 unk5C;
|
||||
|
||||
f32 unk60;
|
||||
u32 unk64;
|
||||
u32 unk68;
|
||||
u32 unk6C;
|
||||
|
||||
u32 unk70;
|
||||
u32 unk74;
|
||||
u32 unk78;
|
||||
u32 unk7C;
|
||||
|
||||
u32 unk80;
|
||||
u32 unk84;
|
||||
u32 unk88;
|
||||
f32 unk8C;
|
||||
|
||||
u32 unk90;
|
||||
f32 unk94;
|
||||
u32 unk98;
|
||||
u32 unk9C;
|
||||
|
||||
u32 unkA0;
|
||||
u32 unkA4;
|
||||
u32 unkA8;
|
||||
u32 unkAC;
|
||||
|
||||
u32 unkB0;
|
||||
u32 unkB4;
|
||||
u32 unkB8;
|
||||
u32 unkBC;
|
||||
|
||||
f32 unkC0;
|
||||
f32 unkC4;
|
||||
f32 unkC8;
|
||||
u32 unkCC;
|
||||
|
||||
u32 unkD0;
|
||||
u32 unkD4;
|
||||
u32 unkD8;
|
||||
u32 unkDC;
|
||||
|
||||
u32 unkE0;
|
||||
u32 unkE4;
|
||||
u32 unkE8;
|
||||
};
|
||||
|
||||
|
||||
struct bss_80075030 {
|
||||
s32 unk00;
|
||||
u32 unk04;
|
||||
u32 unk08;
|
||||
u32 unk0C;
|
||||
|
||||
u32 unk10;
|
||||
u32 unk14;
|
||||
u32 unk18;
|
||||
u32 unk1C;
|
||||
|
||||
u32 unk20;
|
||||
u32 unk24;
|
||||
u32 unk28;
|
||||
u32 unk2C;
|
||||
|
||||
u32 unk30;
|
||||
u32 unk34;
|
||||
u32 unk38;
|
||||
u32 unk3C;
|
||||
|
||||
u32 unk40;
|
||||
u32 unk44;
|
||||
s16 propnums[16];
|
||||
};
|
||||
|
||||
extern struct SetupPtrs g_SetupPtrs;
|
||||
@@ -465,17 +232,20 @@ extern PropRecord *ptr_obj_pos_list_final_entry;
|
||||
extern s32 g_OnScreenPropCount;
|
||||
extern PropRecord ** g_LastOnScreenProp;
|
||||
extern PropRecord * g_OnScreenPropList[];
|
||||
extern s16 * ptr_room_lookup_buffer_maybe;
|
||||
extern struct unk_8007161c * dword_CODE_bss_8007161C;
|
||||
extern PropRecord * g_InteractProp;
|
||||
extern s16 * RoomPropListChunkIndexes;
|
||||
extern struct roomproplistchunk * RoomPropListChunks;
|
||||
extern sfxRecord sfx_related[];
|
||||
extern struct projectile_data ProjectileData_start_address[];
|
||||
extern struct bss_80072E70 dword_CODE_bss_80072E70[];
|
||||
extern struct bss_80073370 dword_CODE_bss_80073370[];
|
||||
extern struct bss_80073DC0 dword_CODE_bss_80073DC0[];
|
||||
extern struct bss_80075030 dword_CODE_bss_80075030[];
|
||||
extern struct WeaponObjRecord g_WeaponSlots[];
|
||||
extern struct HatRecord g_HatSlots[];
|
||||
extern struct AmmoCrateRecord g_AmmoCrates[];
|
||||
extern struct Projectile g_Projectiles[];
|
||||
extern struct Embedment g_Embedments[];
|
||||
extern struct coord3d flt_CODE_bss_80075B78;
|
||||
extern struct coord3d flt_CODE_bss_80075B88;
|
||||
|
||||
|
||||
extern struct object_animation_controller g_MonitorAnimController;
|
||||
extern MonitorRecord g_MonitorAnimController;
|
||||
extern struct object_animation_controller g_UnknownAnimController;
|
||||
extern struct object_animation_controller g_TaserAnimController;
|
||||
|
||||
@@ -487,12 +257,12 @@ void check_deactivate_gas_sound(void);
|
||||
void handle_mp_respawn_and_some_things(void);
|
||||
void determing_type_of_object_and_detection(void);
|
||||
void chraiUpdateOnscreenPropCount(void);
|
||||
void sub_GAME_7F03D78C(void);
|
||||
void chrpropUpdateAutoaimTarget(void);
|
||||
void chraiCheckUseHeldItems(void);
|
||||
s32 bond_interact_object(void);
|
||||
bool bond_interact_object(void);
|
||||
void sub_GAME_7F03D0D4(void);
|
||||
void chrpropRegisterRoom(PropRecord *, s16);
|
||||
PropRecord* chrpropAllocate();
|
||||
PropRecord* propAllocate();
|
||||
void chrpropDeregisterRooms(PropRecord *);
|
||||
void sub_GAME_7F03E27C(PropRecord *, coord3d *, coord3d *, f32);
|
||||
void chrpropRegisterRooms(PropRecord *posData);
|
||||
@@ -506,7 +276,7 @@ void chraiGetCollisionBounds(PropRecord *arg0, struct rect4f **arg1, s3
|
||||
void sub_GAME_7F03D058(PropRecord *prop, bool unset);
|
||||
void chraiGetCollisionBoundsWithoutY(PropRecord *arg0, struct rect4f **arg1, s32 *arg2);
|
||||
s32 chrpropTestPointInPolygon(coord3d *point, struct rect4f *polygon, s32 edges);
|
||||
void sub_GAME_7F03E3FC(s32 *roomids);
|
||||
void roomGetProps(s32 *roomids);
|
||||
ObjectRecord *scan_position_data_table_for_normal_object_at_preset(s32 arg0);
|
||||
Gfx *chrpropsRenderPass(Gfx *arg0, s32 roomid, s32 arg2);
|
||||
PropRecord *get_ptr_obj_pos_list_current_entry(void);
|
||||
@@ -521,11 +291,12 @@ ObjectRecord *sub_GAME_7F03FAB0(PadRecord *pad, s32 RoomID);
|
||||
void chraiGetCollisionBounds(PropRecord *arg0, struct rect4f **arg1, s32 *arg2, f32 *arg3, f32 *arg4);
|
||||
void chrpropGetCollisionBounds(PropRecord *arg0, f32 *arg1, f32 *arg2, f32 *arg3);
|
||||
f32 sub_GAME_7F03CFE8(PropRecord *arg0);
|
||||
f32 chrpropSumMatrixPosX(struct modeldata_unk_pos* arg0, Mtxf *arg1);
|
||||
f32 chrpropSumMatrixNegX(struct modeldata_unk_pos* arg0, Mtxf *arg1);
|
||||
f32 chrpropSumMatrixPosY(struct modeldata_unk_pos* arg0, Mtxf *arg1);
|
||||
f32 chrpropSumMatrixNegY(struct modeldata_unk_pos* arg0, Mtxf *arg1);
|
||||
f32 chrpropSumMatrixPosZ(struct modeldata_unk_pos* arg0, Mtxf *arg1);
|
||||
f32 chrpropSumMatrixNegZ(struct modeldata_unk_pos* arg0, Mtxf *arg1);
|
||||
void sub_GAME_7F03F540(struct modeldata_unk_pos *arg0, Mtxf *arg1, s32* arg2, struct collision_data *arg3);
|
||||
f32 chrpropSumMatrixPosX(struct ModelRoData_BoundingBoxRecord *bbox, Mtxf *arg1);
|
||||
f32 chrpropSumMatrixNegX(struct ModelRoData_BoundingBoxRecord *bbox, Mtxf *arg1);
|
||||
f32 chrpropSumMatrixPosY(struct ModelRoData_BoundingBoxRecord *bbox, Mtxf *arg1);
|
||||
f32 chrpropSumMatrixNegY(struct ModelRoData_BoundingBoxRecord *bbox, Mtxf *arg1);
|
||||
f32 chrpropSumMatrixPosZ(struct ModelRoData_BoundingBoxRecord *bbox, Mtxf *arg1);
|
||||
f32 chrpropSumMatrixNegZ(struct ModelRoData_BoundingBoxRecord *bbox, Mtxf *arg1);
|
||||
void sub_GAME_7F03F540(struct ModelRoData_BoundingBoxRecord *bbox, Mtxf *arg1, struct rect4f* arg2, struct collision_data *arg3);
|
||||
void sub_GAME_7F03F948(struct coord3d *arg0, f32 *arg1, f32 *arg2, f32 *arg3, f32 *arg4);
|
||||
#endif
|
||||
+296
-799
File diff suppressed because it is too large.
Load diff
+3
-3
@@ -47,14 +47,14 @@ Model * retrieve_header_for_body_and_head(s32 body, s32 head, u32 bitflags);
|
||||
|
||||
s32 get_current_random_body(void);
|
||||
|
||||
s32 select_psuedorandom_heads(s32 id);
|
||||
s32 bodyChooseHead(s32 id);
|
||||
|
||||
s32 get_random_head(s32 id);
|
||||
f32 chrGetDistanceToBond(ChrRecord *guardData);
|
||||
s32 chrCheckTargetInSight(ChrRecord *self);
|
||||
bool actor_fire_or_aim_at_target_update(ChrRecord *self, s32 newtargettype, s32 newtargetid);
|
||||
void chrlvAlertGuardToPlayerPosition(ChrRecord *);
|
||||
void chrlvIdleAnimationRelated7F023A94(ChrRecord *arg0, f32 duration);
|
||||
void chrlvIdleAnimationRelated7F023A94(ChrRecord *self, f32 mergetime);
|
||||
f32 chrGetAngleToBond(ChrRecord *arg0);
|
||||
s32 chrHasStoppedOrPatroling(ChrRecord *);
|
||||
s32 chrResolvePadId(ChrRecord *guardData,s32 padNo);
|
||||
@@ -80,7 +80,7 @@ bool if_actor_able_set_on_path(ChrRecord *self, s32 pathid);
|
||||
f32 chrlvGetSubrotySideback(ChrRecord *arg0);
|
||||
f32 chrlvGetAimLimitAngle(f32 arg0);
|
||||
void chrlvUpdateAimendbackShoulders(ChrRecord *arg0, void *arg1, s32 same, s32 swap, f32 next);
|
||||
void sub_GAME_7F02D118(ChrRecord *arg0, s32 hand, s32 arg2);
|
||||
void chrSetFiring(ChrRecord *arg0, s32 hand, s32 firing);
|
||||
s32 sub_GAME_7F02D630(ChrRecord *arg0, GUNHAND hand, coord3d *arg2);
|
||||
void chrlvTriggerFireWeapon(ChrRecord *arg0);
|
||||
s32 chrlvGeometryRelated7F02FC34(coord3d *arg0, coord3d *arg1, coord3d *arg2, f32 arg3);
|
||||
|
||||
@@ -568,5 +568,4 @@ extern struct ChrModelFileRecord c_item_entries[];
|
||||
extern struct ModelSkeleton SKELETON(guard);
|
||||
extern struct ModelSkeleton SKELETON(suit_lf_hand);
|
||||
|
||||
extern struct object_weapon blank_08_object_preset_1[];
|
||||
#endif
|
||||
+6468
-11946
File diff suppressed because it is too large.
Load diff
+64
-26
@@ -6,10 +6,40 @@
|
||||
#include <bondtypes.h>
|
||||
#include <snd.h>
|
||||
|
||||
struct ShotData {
|
||||
// temporary definition for GE:
|
||||
/*0x00*/ s32 unk00[13];
|
||||
/*0x34*/ f32 unk34;
|
||||
|
||||
// the following is from PD, it seems to line up:
|
||||
/*0x00*/ //struct coord unk00;
|
||||
/*0x0c*/ //struct coord unk0c;
|
||||
/*0x18*/ //struct gset gset;
|
||||
/*0x1c*/ //struct coord gunpos;
|
||||
/*0x28*/ //struct coord dir;
|
||||
/*0x34*/ //f32 unk34;
|
||||
/*0x38*/ //s32 penetration;
|
||||
/*0x3c*/ //struct hit hits[10];
|
||||
};
|
||||
|
||||
struct HitThing {
|
||||
// the following is taken from PD
|
||||
// may need adjustments
|
||||
coord3d unk00;
|
||||
coord3d unk0c;
|
||||
Vertex *unk18;
|
||||
Vertex *unk1c;
|
||||
Vertex *unk20;
|
||||
Gfx *tricmd;
|
||||
s16 unk28;
|
||||
s16 texturenum;
|
||||
s16 unk2c;
|
||||
};
|
||||
|
||||
extern f32 F_80030B14;
|
||||
extern f32 F_80030B18;
|
||||
extern f32 F_80030B1C;
|
||||
extern f32 F_80030B20;
|
||||
extern f32 g_AutogunPendingDamageTick;
|
||||
extern f32 g_AutogunDamageScalar;
|
||||
extern f32 F_80030B24;
|
||||
extern f32 g_SoloAmmoMultiplier;
|
||||
|
||||
@@ -24,18 +54,18 @@ extern ALSoundState *ptr_gas_sound;
|
||||
extern s32 clock_drawn_flag;
|
||||
extern s32 clock_enable;
|
||||
extern f32 clock_time;
|
||||
extern s32 D_80030AF4;
|
||||
extern s32 D_80030AF8;
|
||||
extern s32 D_80030AFC;
|
||||
extern s32 g_RemoteMineOwnerTriggerFlag;
|
||||
extern s32 g_NextWeaponSlot;
|
||||
extern s32 g_NextHatSlot;
|
||||
extern ObjectRecord *g_LevelLoadPropSwitch;
|
||||
extern ObjectRecord *g_LevelLoadPropLockDoor;
|
||||
extern LockDoorRecord *g_LevelLoadPropLockDoor;
|
||||
extern ObjectRecord *g_LevelLoadPropSafeItem;
|
||||
extern s32 D_80030B0C;
|
||||
extern struct PropRecord *D_80030B0C;
|
||||
extern s32 bodypartshot;
|
||||
extern f32 F_80030B14;
|
||||
extern f32 F_80030B18;
|
||||
extern f32 F_80030B1C;
|
||||
extern f32 F_80030B20;
|
||||
extern f32 g_AutogunPendingDamageTick;
|
||||
extern f32 g_AutogunDamageScalar;
|
||||
extern f32 F_80030B24;
|
||||
extern f32 g_SoloAmmoMultiplier;
|
||||
|
||||
@@ -51,24 +81,24 @@ void chrobjApplySpeed(f32 *openPosition, f32 maxFrac, f32 *speed
|
||||
void chrobjCallsApplySpeed(f32 *openPosition, f32 maxFrac, f32 *speedPtr, f32 accel, f32 decel, f32 maxSpeed);
|
||||
Gfx *sub_GAME_7F049B58(Gfx *arg0);
|
||||
void set_color_shading_from_tile(PropRecord *, rgba_u8 *);
|
||||
void propobjSetDropped(PropRecord *, s32);
|
||||
void sub_GAME_7F053A10(ALSoundState *, coord3d *);
|
||||
void propobjSetDropped(PropRecord *prop, DROPTYPE droptype);
|
||||
void chrobjSndCreatePostEventDefault(ALSoundState *, coord3d *);
|
||||
void alarmActivate(void);
|
||||
void sub_GAME_7F052574(PropRecord *, s32);
|
||||
s32 sub_GAME_7F052604(PropRecord *);
|
||||
void weaponSetGunfireVisible(PropRecord *prop, s32 firing);
|
||||
s32 weaponIsGunfireVisible(PropRecord *);
|
||||
s32 sub_GAME_7F0539E4(coord3d *pos); //getVolume?
|
||||
ObjectRecord *create_new_item_instance_of_model(PROP propid, s32 arg1);
|
||||
void maybe_detonate_object(ObjectRecord *arg0, f32 arg1, coord3d *arg2, ITEM_IDS item, s32 arg4);
|
||||
void maybe_detonate_object(ObjectRecord *obj, f32 damage, coord3d *pos, ITEM_IDS item, s32 owner);
|
||||
void chrobjMaybeDetonateObjectIfFlags(ObjectRecord *arg0, f32 arg1, coord3d *arg2, ITEM_IDS item, s32 arg4);
|
||||
void sub_GAME_7F03FDA8(PropRecord *);
|
||||
void sub_GAME_7F03FE14(PropRecord *);
|
||||
void projectileSetSticky(PropRecord *);
|
||||
void chrobjCollisionRelated(ObjectRecord *);
|
||||
void sub_GAME_7F040754(ObjectRecord *, coord3d *, Mtxf *, StandTile *);
|
||||
void objChangeShading(ObjectRecord *, coord3d *, Mtxf *, StandTile *);
|
||||
s32 sub_GAME_7F041074(coord3d *arg0, coord3d *arg1, coord3d *arg2, f32 arg3);
|
||||
void sub_GAME_7F04F244(PropRecord *arg0, struct rect4f **arg1, s32 *arg2, f32 *arg3, f32 *arg4);
|
||||
void doorActivate(DoorRecord *door, DOORSTATE State);
|
||||
s32 sub_GAME_7F055A70(PropRecord *arg0, DoorRecord *arg1);
|
||||
void sub_GAME_7F055B78(PropRecord *arg0, DoorRecord *arg1);
|
||||
s32 posIsInFrontOfDoor(PropRecord *arg0, DoorRecord *arg1);
|
||||
void doorsChooseSwingDirection(PropRecord *arg0, DoorRecord *arg1);
|
||||
Gfx *chrobjRenderProp(PropRecord *arg0, Gfx *arg1, s32 arg2);
|
||||
|
||||
f32 chrobjFogVisRangeRelated(PropRecord *prop, f32 size);
|
||||
@@ -78,8 +108,8 @@ s32 sub_GAME_7F054A64(PropRecord *prop, bbox2d *bbox);
|
||||
void sub_GAME_7F040384(rgba_s32 *arg0, s32 arg1, rgba_f32 *arg2);
|
||||
void trigger_remote_mine_detonation(void);
|
||||
|
||||
void sub_GAME_7F04C044(PropRecord *prop);
|
||||
void sub_GAME_7F040CF0(PropRecord *);
|
||||
void objDetach(PropRecord *prop);
|
||||
void objFreeEmbedmentOrProjectile(PropRecord *);
|
||||
bool alarmIsActive();
|
||||
void init_trigger_toxic_gas_effect(coord3d *source);
|
||||
void chrSetWeaponFlag4(ChrRecord *chr, GUNHAND hand);
|
||||
@@ -95,19 +125,27 @@ void countdownTimerSetRunning(bool enable);
|
||||
void countdownTimerSetValue(f32 time);
|
||||
void countdownTimerSetVisible(int clocklockbits, bool unset);
|
||||
void sub_GAME_7F04088C(ObjectRecord *baseobj, PadRecord *pad, Mtxf *matrix, StandTile *stan, PadRecord *pad2);
|
||||
bool sub_GAME_7F051E1C(WeaponObjRecord *wep, ChrRecord *chr);
|
||||
bool chrEquipWeapon(WeaponObjRecord *wep, ChrRecord *chr);
|
||||
INV_ITEM_TYPE collect_or_interact_object(PropRecord *prop, bool showstring);
|
||||
INV_ITEM_TYPE propobjInteract(PropRecord *prop);
|
||||
s32 do_something_if_object_destroyed(ObjectRecord *obj);
|
||||
s32 objGetDestroyedLevel(ObjectRecord *obj);
|
||||
void doorActivateWrapper(PropRecord *prop);
|
||||
bool objIsHealthy(ObjectRecord *self);
|
||||
ObjectRecord *weaponFindThrown(s32 ID);
|
||||
bool check_if_toxic_gas_activated();
|
||||
PropRecord *chrTryEquipHat(ChrRecord *self, s32 index, s32 flags);
|
||||
void sub_GAME_7F04C044(PropRecord *prop);
|
||||
HatRecord *hatCreate(bool musthaveprop, bool musthavemodel, ModelFileHeader *modeldef);
|
||||
PropRecord* objInitWithAutoModel(ObjectRecord* obj);
|
||||
Embedment *embedmentAllocate(void);
|
||||
void objDetach(PropRecord *prop);
|
||||
void sub_GAME_7F043650(struct WeaponObjRecord *arg0);
|
||||
s32 sub_GAME_7F0446B8(struct rect4f *arg0, s32 arg1, struct rect4f *arg2, s32 arg3);
|
||||
s32 chrobjTestPointPolygonCollision(struct coord3d *arg0, f32 arg1, struct rect4f *arg2, s32 arg3);
|
||||
void sub_GAME_7F04DEFC(PropRecord *arg0, f32 arg1, struct coord3d *arg2, s32 arg3, s32 owner);
|
||||
struct modeldata_unk_pos * sub_GAME_7F040078(ObjectRecord *arg0);
|
||||
void maybe_detonate_object_and_its_children(PropRecord *arg0, f32 arg1, struct coord3d *arg2, s32 arg3, s32 owner);
|
||||
struct ModelRoData_BoundingBoxRecord* chrobjGetBboxFromObjectRecord(ObjectRecord *arg0);
|
||||
void deactivate_alarm_sound_effect(void);
|
||||
s32 sub_GAME_7F03F598(coord3d* pos, f32 arg1, BoundPadRecord *boundpads);
|
||||
void sub_GAME_7F0A1DA0(f32*, f32*, f32*, f32*, f32, f32, f32, f32, f32, f32);
|
||||
void sub_GAME_7F03F90C(Model *model, f32 *arg1, f32 *arg2, f32 *arg3, f32 *arg4);
|
||||
s32 sub_GAME_7F0448A8(struct PropRecord *arg0);
|
||||
|
||||
#endif
|
||||
+660
-915
File diff suppressed because it is too large.
Load diff
+9
-121
@@ -2,137 +2,25 @@
|
||||
#include <PR/libaudio.h>
|
||||
#include "game/player.h"
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
// Address 0x7F007980 NTSC.
|
||||
// Address 0x7F007900 PAL.
|
||||
void cleanupplayersoundrelated(void)
|
||||
{
|
||||
int i;
|
||||
int j=0;
|
||||
int j;
|
||||
|
||||
for(i=0; i < getPlayerCount(); i++)
|
||||
for (i = 0; i < getPlayerCount(); i++)
|
||||
{
|
||||
for(;j<2;j++)
|
||||
for (j = 0; j < 2; j++)
|
||||
{
|
||||
if((&g_playerPointers[i]->hands[j])->field_A44 && sndGetPlayingState((&g_playerPointers[i]->hands[j])->field_A44))
|
||||
struct hand *hand = &g_playerPointers[i]->hands[j];
|
||||
|
||||
if (hand->audioHandle != NULL && sndGetPlayingState(hand->audioHandle))
|
||||
{
|
||||
sndDeactivate((&g_playerPointers[i]->hands[j])->field_A44);
|
||||
sndDeactivate(hand->audioHandle);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
#if defined(VERSION_US) || defined(VERSION_JP)
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel cleanupplayersoundrelated
|
||||
/* 03C4B0 7F007980 27BDFFD0 */ addiu $sp, $sp, -0x30
|
||||
/* 03C4B4 7F007984 AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* 03C4B8 7F007988 AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* 03C4BC 7F00798C AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* 03C4C0 7F007990 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 03C4C4 7F007994 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 03C4C8 7F007998 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 03C4CC 7F00799C 0FC26919 */ jal getPlayerCount
|
||||
/* 03C4D0 7F0079A0 0000A025 */ move $s4, $zero
|
||||
/* 03C4D4 7F0079A4 1840001B */ blez $v0, .L7F007A14
|
||||
/* 03C4D8 7F0079A8 00147080 */ sll $t6, $s4, 2
|
||||
/* 03C4DC 7F0079AC 3C0F8008 */ lui $t7, %hi(g_playerPointers)
|
||||
/* 03C4E0 7F0079B0 25EF9EE0 */ addiu $t7, %lo(g_playerPointers) # addiu $t7, $t7, -0x6120
|
||||
/* 03C4E4 7F0079B4 01CF9021 */ addu $s2, $t6, $t7
|
||||
/* 03C4E8 7F0079B8 24130750 */ li $s3, 1872
|
||||
/* 03C4EC 7F0079BC 00008825 */ move $s1, $zero
|
||||
.L7F0079C0:
|
||||
/* 03C4F0 7F0079C0 8E580000 */ lw $t8, ($s2)
|
||||
.L7F0079C4:
|
||||
/* 03C4F4 7F0079C4 03118021 */ addu $s0, $t8, $s1
|
||||
/* 03C4F8 7F0079C8 8E040A44 */ lw $a0, 0xa44($s0)
|
||||
/* 03C4FC 7F0079CC 26100870 */ addiu $s0, $s0, 0x870
|
||||
/* 03C500 7F0079D0 50800008 */ beql $a0, $zero, .L7F0079F4
|
||||
/* 03C504 7F0079D4 263103A8 */ addiu $s1, $s1, 0x3a8
|
||||
/* 03C508 7F0079D8 0C00237C */ jal sndGetPlayingState
|
||||
/* 03C50C 7F0079DC 00000000 */ nop
|
||||
/* 03C510 7F0079E0 50400004 */ beql $v0, $zero, .L7F0079F4
|
||||
/* 03C514 7F0079E4 263103A8 */ addiu $s1, $s1, 0x3a8
|
||||
/* 03C518 7F0079E8 0C002408 */ jal sndDeactivate
|
||||
/* 03C51C 7F0079EC 8E0401D4 */ lw $a0, 0x1d4($s0)
|
||||
/* 03C520 7F0079F0 263103A8 */ addiu $s1, $s1, 0x3a8
|
||||
.L7F0079F4:
|
||||
/* 03C524 7F0079F4 5633FFF3 */ bnel $s1, $s3, .L7F0079C4
|
||||
/* 03C528 7F0079F8 8E580000 */ lw $t8, ($s2)
|
||||
/* 03C52C 7F0079FC 26940001 */ addiu $s4, $s4, 1
|
||||
/* 03C530 7F007A00 0FC26919 */ jal getPlayerCount
|
||||
/* 03C534 7F007A04 26520004 */ addiu $s2, $s2, 4
|
||||
/* 03C538 7F007A08 0282082A */ slt $at, $s4, $v0
|
||||
/* 03C53C 7F007A0C 5420FFEC */ bnezl $at, .L7F0079C0
|
||||
/* 03C540 7F007A10 00008825 */ move $s1, $zero
|
||||
.L7F007A14:
|
||||
/* 03C544 7F007A14 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
/* 03C548 7F007A18 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 03C54C 7F007A1C 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 03C550 7F007A20 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 03C554 7F007A24 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* 03C558 7F007A28 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* 03C55C 7F007A2C 03E00008 */ jr $ra
|
||||
/* 03C560 7F007A30 27BD0030 */ addiu $sp, $sp, 0x30
|
||||
)
|
||||
#endif
|
||||
|
||||
#if defined(VERSION_EU)
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel cleanupplayersoundrelated
|
||||
/* 03A2F0 7F007900 27BDFFD0 */ addiu $sp, $sp, -0x30
|
||||
/* 03A2F4 7F007904 AFBF002C */ sw $ra, 0x2c($sp)
|
||||
/* 03A2F8 7F007908 AFB40028 */ sw $s4, 0x28($sp)
|
||||
/* 03A2FC 7F00790C AFB30024 */ sw $s3, 0x24($sp)
|
||||
/* 03A300 7F007910 AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 03A304 7F007914 AFB1001C */ sw $s1, 0x1c($sp)
|
||||
/* 03A308 7F007918 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 03A30C 7F00791C 0FC26669 */ jal getPlayerCount
|
||||
/* 03A310 7F007920 0000A025 */ move $s4, $zero
|
||||
/* 03A314 7F007924 1840001B */ blez $v0, .L7F007994
|
||||
/* 03A318 7F007928 00147080 */ sll $t6, $s4, 2
|
||||
/* 03A31C 7F00792C 3C0F8007 */ lui $t7, %hi(g_playerPointers) # $t7, 0x8007
|
||||
/* 03A320 7F007930 25EF89F0 */ addiu $t7, %lo(g_playerPointers) # addiu $t7, $t7, -0x7610
|
||||
/* 03A324 7F007934 01CF9021 */ addu $s2, $t6, $t7
|
||||
/* 03A328 7F007938 24130750 */ li $s3, 1872
|
||||
/* 03A32C 7F00793C 00008825 */ move $s1, $zero
|
||||
.L7F007940:
|
||||
/* 03A330 7F007940 8E580000 */ lw $t8, ($s2)
|
||||
.L7F007944:
|
||||
/* 03A334 7F007944 03118021 */ addu $s0, $t8, $s1
|
||||
/* 03A338 7F007948 8E040A3C */ lw $a0, 0xa3c($s0)
|
||||
/* 03A33C 7F00794C 26100868 */ addiu $s0, $s0, 0x868
|
||||
/* 03A340 7F007950 50800008 */ beql $a0, $zero, .L7F007974
|
||||
/* 03A344 7F007954 263103A8 */ addiu $s1, $s1, 0x3a8
|
||||
/* 03A348 7F007958 0C002094 */ jal sndGetPlayingState
|
||||
/* 03A34C 7F00795C 00000000 */ nop
|
||||
/* 03A350 7F007960 50400004 */ beql $v0, $zero, .L7F007974
|
||||
/* 03A354 7F007964 263103A8 */ addiu $s1, $s1, 0x3a8
|
||||
/* 03A358 7F007968 0C002120 */ jal sndDeactivate
|
||||
/* 03A35C 7F00796C 8E0401D4 */ lw $a0, 0x1d4($s0)
|
||||
/* 03A360 7F007970 263103A8 */ addiu $s1, $s1, 0x3a8
|
||||
.L7F007974:
|
||||
/* 03A364 7F007974 5633FFF3 */ bnel $s1, $s3, .L7F007944
|
||||
/* 03A368 7F007978 8E580000 */ lw $t8, ($s2)
|
||||
/* 03A36C 7F00797C 26940001 */ addiu $s4, $s4, 1
|
||||
/* 03A370 7F007980 0FC26669 */ jal getPlayerCount
|
||||
/* 03A374 7F007984 26520004 */ addiu $s2, $s2, 4
|
||||
/* 03A378 7F007988 0282082A */ slt $at, $s4, $v0
|
||||
/* 03A37C 7F00798C 5420FFEC */ bnezl $at, .L7F007940
|
||||
/* 03A380 7F007990 00008825 */ move $s1, $zero
|
||||
.L7F007994:
|
||||
/* 03A384 7F007994 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
/* 03A388 7F007998 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 03A38C 7F00799C 8FB1001C */ lw $s1, 0x1c($sp)
|
||||
/* 03A390 7F0079A0 8FB20020 */ lw $s2, 0x20($sp)
|
||||
/* 03A394 7F0079A4 8FB30024 */ lw $s3, 0x24($sp)
|
||||
/* 03A398 7F0079A8 8FB40028 */ lw $s4, 0x28($sp)
|
||||
/* 03A39C 7F0079AC 03E00008 */ jr $ra
|
||||
/* 03A3A0 7F0079B0 27BD0030 */ addiu $sp, $sp, 0x30
|
||||
)
|
||||
#endif
|
||||
#endif
|
||||
|
||||
@@ -4,19 +4,19 @@
|
||||
#include "bondview.h"
|
||||
|
||||
void cleanupSFXRelated(void) {
|
||||
if (SFX_80036458[0] != 0)
|
||||
if (g_TankSfxState[0] != 0)
|
||||
{
|
||||
if (sndGetPlayingState(SFX_80036458[0]) != AL_STOPPED)
|
||||
if (sndGetPlayingState(g_TankSfxState[0]) != AL_STOPPED)
|
||||
{
|
||||
sndDeactivate(SFX_80036458[0]);
|
||||
sndDeactivate(g_TankSfxState[0]);
|
||||
}
|
||||
}
|
||||
|
||||
if (SFX_80036458[1] != 0)
|
||||
if (g_TankSfxState[1] != 0)
|
||||
{
|
||||
if (sndGetPlayingState(SFX_80036458[1]) != AL_STOPPED)
|
||||
if (sndGetPlayingState(g_TankSfxState[1]) != AL_STOPPED)
|
||||
{
|
||||
sndDeactivate(SFX_80036458[1]);
|
||||
sndDeactivate(g_TankSfxState[1]);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -12,23 +12,23 @@ void cleanupGuardData(void) {
|
||||
s32 phi_v1;
|
||||
|
||||
// Node 0
|
||||
if (num_guards > 0)
|
||||
if (g_NumChrSlots > 0)
|
||||
{
|
||||
// Node 1
|
||||
phi_s0 = 0;
|
||||
phi_s2 = 0;
|
||||
phi_v1 = num_guards;
|
||||
phi_v1 = g_NumChrSlots;
|
||||
loop_2:
|
||||
// Node 2
|
||||
temp_v0 = (ptr_guard_data + phi_s0);
|
||||
temp_v0 = (g_ChrSlots + phi_s0);
|
||||
if (temp_v0->unk1C != 0)
|
||||
{
|
||||
// Node 3
|
||||
disable_sounds_attached_to_player_then_something(temp_v0->unk18);
|
||||
chrpropDelist((ptr_guard_data + phi_s0)->unk18);
|
||||
chrpropDisable((ptr_guard_data + phi_s0)->unk18);
|
||||
chrpropFree((ptr_guard_data + phi_s0)->unk18);
|
||||
phi_v1 = num_guards;
|
||||
chrpropDelist((g_ChrSlots + phi_s0)->unk18);
|
||||
chrpropDisable((g_ChrSlots + phi_s0)->unk18);
|
||||
chrpropFree((g_ChrSlots + phi_s0)->unk18);
|
||||
phi_v1 = g_NumChrSlots;
|
||||
}
|
||||
// Node 4
|
||||
temp_s2 = (phi_s2 + 1);
|
||||
@@ -47,8 +47,8 @@ loop_2:
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel cleanupGuardData
|
||||
/* 03BEE0 7F0073B0 3C038003 */ lui $v1, %hi(num_guards)
|
||||
/* 03BEE4 7F0073B4 8C63CC68 */ lw $v1, %lo(num_guards)($v1)
|
||||
/* 03BEE0 7F0073B0 3C038003 */ lui $v1, %hi(g_NumChrSlots)
|
||||
/* 03BEE4 7F0073B4 8C63CC68 */ lw $v1, %lo(g_NumChrSlots)($v1)
|
||||
/* 03BEE8 7F0073B8 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 03BEEC 7F0073BC AFB20020 */ sw $s2, 0x20($sp)
|
||||
/* 03BEF0 7F0073C0 AFBF0024 */ sw $ra, 0x24($sp)
|
||||
@@ -56,8 +56,8 @@ glabel cleanupGuardData
|
||||
/* 03BEF8 7F0073C8 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 03BEFC 7F0073CC 1860001D */ blez $v1, .L7F007444
|
||||
/* 03BF00 7F0073D0 00009025 */ move $s2, $zero
|
||||
/* 03BF04 7F0073D4 3C118003 */ lui $s1, %hi(ptr_guard_data)
|
||||
/* 03BF08 7F0073D8 2631CC64 */ addiu $s1, %lo(ptr_guard_data) # addiu $s1, $s1, -0x339c
|
||||
/* 03BF04 7F0073D4 3C118003 */ lui $s1, %hi(g_ChrSlots)
|
||||
/* 03BF08 7F0073D8 2631CC64 */ addiu $s1, %lo(g_ChrSlots) # addiu $s1, $s1, -0x339c
|
||||
/* 03BF0C 7F0073DC 00008025 */ move $s0, $zero
|
||||
.L7F0073E0:
|
||||
/* 03BF10 7F0073E0 8E2E0000 */ lw $t6, ($s1)
|
||||
@@ -79,8 +79,8 @@ glabel cleanupGuardData
|
||||
/* 03BF50 7F007420 01505821 */ addu $t3, $t2, $s0
|
||||
/* 03BF54 7F007424 0FC0E921 */ jal chrpropFree
|
||||
/* 03BF58 7F007428 8D640018 */ lw $a0, 0x18($t3)
|
||||
/* 03BF5C 7F00742C 3C038003 */ lui $v1, %hi(num_guards)
|
||||
/* 03BF60 7F007430 8C63CC68 */ lw $v1, %lo(num_guards)($v1)
|
||||
/* 03BF5C 7F00742C 3C038003 */ lui $v1, %hi(g_NumChrSlots)
|
||||
/* 03BF60 7F007430 8C63CC68 */ lw $v1, %lo(g_NumChrSlots)($v1)
|
||||
/* 03BF64 7F007434 26520001 */ addiu $s2, $s2, 1
|
||||
.L7F007438:
|
||||
/* 03BF68 7F007438 0243082A */ slt $at, $s2, $v1
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#include "aicommands2.h"
|
||||
#include "dyn.h"
|
||||
#include "memp.h"
|
||||
#include <macro.h>
|
||||
|
||||
//i belong in a header, probably to another file
|
||||
|
||||
|
||||
+40
-171
@@ -181,234 +181,103 @@ void gotoBelowDebugOption(void)
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
#if defined(LEFTOVERDEBUG)
|
||||
void gotoRightDebugOption(void)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
if (g_DMenuSelectedOption < g_DMenuCurOffsets[0]) {
|
||||
if (g_DMenuNumGroups >= 2) {
|
||||
g_DMenuSelectedOption += g_DMenuCurOffsets[0];
|
||||
if (g_DMenuSelectedOption < g_DMenuCurOffsets[0])
|
||||
{
|
||||
g_DMenuSelectedOption += g_DMenuCurOffsets[0];
|
||||
|
||||
if (g_DMenuSelectedOption >= g_DMenuCurOffsets[1]) {
|
||||
g_DMenuSelectedOption = g_DMenuCurOffsets[1] - 1;
|
||||
}
|
||||
}
|
||||
if (g_DMenuSelectedOption >= g_DMenuCurOffsets[1])
|
||||
{
|
||||
g_DMenuSelectedOption = g_DMenuCurOffsets[1] - 1;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
for (i = 0; i < g_DMenuNumGroups; i++) {
|
||||
if (g_DMenuSelectedOption < g_DMenuCurOffsets[i]) {
|
||||
for (i = 0; i < g_DMenuNumGroups; i++)
|
||||
{
|
||||
if (g_DMenuSelectedOption < g_DMenuCurOffsets[i])
|
||||
{
|
||||
g_DMenuSelectedOption = g_DMenuSelectedOption + g_DMenuCurOffsets[i] - g_DMenuCurOffsets[i - 1];
|
||||
|
||||
if (g_DMenuCurOffsets[i + 1] < 0) {
|
||||
if (g_DMenuCurOffsets[i + 1] < 0)
|
||||
{
|
||||
g_DMenuSelectedOption -= g_DMenuCurOffsets[i];
|
||||
|
||||
if (g_DMenuSelectedOption >= g_DMenuCurOffsets[0]) {
|
||||
if (g_DMenuSelectedOption >= g_DMenuCurOffsets[0])
|
||||
{
|
||||
g_DMenuSelectedOption = g_DMenuCurOffsets[0] - 1;
|
||||
}
|
||||
} else {
|
||||
if (g_DMenuSelectedOption >= g_DMenuCurOffsets[i + 1]) {
|
||||
}
|
||||
else
|
||||
{
|
||||
if (g_DMenuSelectedOption >= g_DMenuCurOffsets[i + 1])
|
||||
{
|
||||
g_DMenuSelectedOption = g_DMenuCurOffsets[i + 1] - 1;
|
||||
}
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
#if defined(LEFTOVERDEBUG)
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel gotoRightDebugOption
|
||||
/* 0C4DF0 7F0902C0 3C038003 */ lui $v1, %hi(g_DMenuCurOffsets)
|
||||
/* 0C4DF4 7F0902C4 8C636B84 */ lw $v1, %lo(g_DMenuCurOffsets)($v1)
|
||||
/* 0C4DF8 7F0902C8 3C088003 */ lui $t0, %hi(g_DMenuSelectedOption)
|
||||
/* 0C4DFC 7F0902CC 25086B70 */ addiu $t0, %lo(g_DMenuSelectedOption) # addiu $t0, $t0, 0x6b70
|
||||
/* 0C4E00 7F0902D0 8D020000 */ lw $v0, ($t0)
|
||||
/* 0C4E04 7F0902D4 8C640000 */ lw $a0, ($v1)
|
||||
/* 0C4E08 7F0902D8 3C058003 */ lui $a1, %hi(g_DMenuNumGroups )
|
||||
/* 0C4E0C 7F0902DC 0044082A */ slt $at, $v0, $a0
|
||||
/* 0C4E10 7F0902E0 10200008 */ beqz $at, .L7F090304
|
||||
/* 0C4E14 7F0902E4 00447021 */ addu $t6, $v0, $a0
|
||||
/* 0C4E18 7F0902E8 AD0E0000 */ sw $t6, ($t0)
|
||||
/* 0C4E1C 7F0902EC 8C650004 */ lw $a1, 4($v1)
|
||||
/* 0C4E20 7F0902F0 01C5082A */ slt $at, $t6, $a1
|
||||
/* 0C4E24 7F0902F4 14200027 */ bnez $at, .L7F090394
|
||||
/* 0C4E28 7F0902F8 24B8FFFF */ addiu $t8, $a1, -1
|
||||
/* 0C4E2C 7F0902FC 03E00008 */ jr $ra
|
||||
/* 0C4E30 7F090300 AD180000 */ sw $t8, ($t0)
|
||||
|
||||
.L7F090304:
|
||||
/* 0C4E34 7F090304 8CA56B80 */ lw $a1, %lo(g_DMenuNumGroups )($a1)
|
||||
/* 0C4E38 7F090308 00002025 */ move $a0, $zero
|
||||
/* 0C4E3C 7F09030C 00603025 */ move $a2, $v1
|
||||
/* 0C4E40 7F090310 18A00020 */ blez $a1, .L7F090394
|
||||
/* 0C4E44 7F090314 00000000 */ nop
|
||||
.L7F090318:
|
||||
/* 0C4E48 7F090318 8CC70000 */ lw $a3, ($a2)
|
||||
/* 0C4E4C 7F09031C 24840001 */ addiu $a0, $a0, 1
|
||||
/* 0C4E50 7F090320 0047082A */ slt $at, $v0, $a3
|
||||
/* 0C4E54 7F090324 50200019 */ beql $at, $zero, .L7F09038C
|
||||
/* 0C4E58 7F090328 0085082A */ slt $at, $a0, $a1
|
||||
/* 0C4E5C 7F09032C 8CC9FFFC */ lw $t1, -4($a2)
|
||||
/* 0C4E60 7F090330 0047C821 */ addu $t9, $v0, $a3
|
||||
/* 0C4E64 7F090334 03295023 */ subu $t2, $t9, $t1
|
||||
/* 0C4E68 7F090338 AD0A0000 */ sw $t2, ($t0)
|
||||
/* 0C4E6C 7F09033C 8CC40004 */ lw $a0, 4($a2)
|
||||
/* 0C4E70 7F090340 0483000B */ bgezl $a0, .L7F090370
|
||||
/* 0C4E74 7F090344 8D180000 */ lw $t8, ($t0)
|
||||
/* 0C4E78 7F090348 8CCC0000 */ lw $t4, ($a2)
|
||||
/* 0C4E7C 7F09034C 014C6823 */ subu $t5, $t2, $t4
|
||||
/* 0C4E80 7F090350 AD0D0000 */ sw $t5, ($t0)
|
||||
/* 0C4E84 7F090354 8C640000 */ lw $a0, ($v1)
|
||||
/* 0C4E88 7F090358 01A4082A */ slt $at, $t5, $a0
|
||||
/* 0C4E8C 7F09035C 1420000D */ bnez $at, .L7F090394
|
||||
/* 0C4E90 7F090360 248FFFFF */ addiu $t7, $a0, -1
|
||||
/* 0C4E94 7F090364 03E00008 */ jr $ra
|
||||
/* 0C4E98 7F090368 AD0F0000 */ sw $t7, ($t0)
|
||||
|
||||
/* 0C4E9C 7F09036C 8D180000 */ lw $t8, ($t0)
|
||||
.L7F090370:
|
||||
/* 0C4EA0 7F090370 2499FFFF */ addiu $t9, $a0, -1
|
||||
/* 0C4EA4 7F090374 0304082A */ slt $at, $t8, $a0
|
||||
/* 0C4EA8 7F090378 14200006 */ bnez $at, .L7F090394
|
||||
/* 0C4EAC 7F09037C 00000000 */ nop
|
||||
/* 0C4EB0 7F090380 03E00008 */ jr $ra
|
||||
/* 0C4EB4 7F090384 AD190000 */ sw $t9, ($t0)
|
||||
|
||||
/* 0C4EB8 7F090388 0085082A */ slt $at, $a0, $a1
|
||||
.L7F09038C:
|
||||
/* 0C4EBC 7F09038C 1420FFE2 */ bnez $at, .L7F090318
|
||||
/* 0C4EC0 7F090390 24C60004 */ addiu $a2, $a2, 4
|
||||
.L7F090394:
|
||||
/* 0C4EC4 7F090394 03E00008 */ jr $ra
|
||||
/* 0C4EC8 7F090398 00000000 */ nop
|
||||
)
|
||||
#else
|
||||
void gotoRightDebugOption(void)
|
||||
{
|
||||
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
#if defined(LEFTOVERDEBUG)
|
||||
void gotoLeftDebugOption(void)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
// First group
|
||||
if (g_DMenuSelectedOption < g_DMenuCurOffsets[0]) {
|
||||
if (g_DMenuSelectedOption < g_DMenuCurOffsets[0])
|
||||
{
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < g_DMenuNumGroups - 1; i++);
|
||||
for (i = 0; i < g_DMenuNumGroups - 1; i++)
|
||||
{}
|
||||
|
||||
if (i > 0) {
|
||||
g_DMenuSelectedOption += g_DMenuCurOffsets[i - 1];
|
||||
g_DMenuSelectedOption += g_DMenuCurOffsets[i - 1];
|
||||
|
||||
if (g_DMenuSelectedOption >= g_DMenuCurOffsets[i]) {
|
||||
g_DMenuSelectedOption = g_DMenuCurOffsets[i] - 1;
|
||||
}
|
||||
}
|
||||
if (g_DMenuSelectedOption >= g_DMenuCurOffsets[i])
|
||||
{
|
||||
g_DMenuSelectedOption = g_DMenuCurOffsets[i] - 1;
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
// Any other group
|
||||
for (i = 0; g_DMenuSelectedOption >= g_DMenuCurOffsets[i]; i++);
|
||||
for (i = 0; g_DMenuSelectedOption >= g_DMenuCurOffsets[i]; i++)
|
||||
{}
|
||||
|
||||
g_DMenuSelectedOption -= g_DMenuCurOffsets[i - 1];
|
||||
|
||||
if (i - 2 >= 0) {
|
||||
if (i - 2 >= 0)
|
||||
{
|
||||
g_DMenuSelectedOption += g_DMenuCurOffsets[i - 2];
|
||||
}
|
||||
|
||||
if (g_DMenuSelectedOption >= g_DMenuCurOffsets[i - 1]) {
|
||||
if (g_DMenuSelectedOption >= g_DMenuCurOffsets[i - 1])
|
||||
{
|
||||
g_DMenuSelectedOption = g_DMenuCurOffsets[i - 1] - 1;
|
||||
}
|
||||
}
|
||||
#else
|
||||
#if defined(LEFTOVERDEBUG)
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel gotoLeftDebugOption
|
||||
/* 0C4ECC 7F09039C 3C038003 */ lui $v1, %hi(g_DMenuCurOffsets)
|
||||
/* 0C4ED0 7F0903A0 8C636B84 */ lw $v1, %lo(g_DMenuCurOffsets)($v1)
|
||||
/* 0C4ED4 7F0903A4 3C078003 */ lui $a3, %hi(g_DMenuSelectedOption)
|
||||
/* 0C4ED8 7F0903A8 24E76B70 */ addiu $a3, %lo(g_DMenuSelectedOption) # addiu $a3, $a3, 0x6b70
|
||||
/* 0C4EDC 7F0903AC 8CE20000 */ lw $v0, ($a3)
|
||||
/* 0C4EE0 7F0903B0 8C640000 */ lw $a0, ($v1)
|
||||
/* 0C4EE4 7F0903B4 3C058003 */ lui $a1, %hi(g_DMenuNumGroups )
|
||||
/* 0C4EE8 7F0903B8 0044082A */ slt $at, $v0, $a0
|
||||
/* 0C4EEC 7F0903BC 50200016 */ beql $at, $zero, .L7F090418
|
||||
/* 0C4EF0 7F0903C0 0044082A */ slt $at, $v0, $a0
|
||||
/* 0C4EF4 7F0903C4 8CA56B80 */ lw $a1, %lo(g_DMenuNumGroups )($a1)
|
||||
/* 0C4EF8 7F0903C8 00002025 */ move $a0, $zero
|
||||
/* 0C4EFC 7F0903CC 24A5FFFF */ addiu $a1, $a1, -1
|
||||
/* 0C4F00 7F0903D0 58A00006 */ blezl $a1, .L7F0903EC
|
||||
/* 0C4F04 7F0903D4 00047080 */ sll $t6, $a0, 2
|
||||
/* 0C4F08 7F0903D8 24840001 */ addiu $a0, $a0, 1
|
||||
.L7F0903DC:
|
||||
/* 0C4F0C 7F0903DC 0085082A */ slt $at, $a0, $a1
|
||||
/* 0C4F10 7F0903E0 5420FFFE */ bnezl $at, .L7F0903DC
|
||||
/* 0C4F14 7F0903E4 24840001 */ addiu $a0, $a0, 1
|
||||
/* 0C4F18 7F0903E8 00047080 */ sll $t6, $a0, 2
|
||||
.L7F0903EC:
|
||||
/* 0C4F1C 7F0903EC 006E2821 */ addu $a1, $v1, $t6
|
||||
/* 0C4F20 7F0903F0 8CAFFFFC */ lw $t7, -4($a1)
|
||||
/* 0C4F24 7F0903F4 004FC021 */ addu $t8, $v0, $t7
|
||||
/* 0C4F28 7F0903F8 ACF80000 */ sw $t8, ($a3)
|
||||
/* 0C4F2C 7F0903FC 8CA60000 */ lw $a2, ($a1)
|
||||
/* 0C4F30 7F090400 0306082A */ slt $at, $t8, $a2
|
||||
/* 0C4F34 7F090404 1420001E */ bnez $at, .L7F090480
|
||||
/* 0C4F38 7F090408 24C8FFFF */ addiu $t0, $a2, -1
|
||||
/* 0C4F3C 7F09040C 03E00008 */ jr $ra
|
||||
/* 0C4F40 7F090410 ACE80000 */ sw $t0, ($a3)
|
||||
|
||||
/* 0C4F44 7F090414 0044082A */ slt $at, $v0, $a0
|
||||
.L7F090418:
|
||||
/* 0C4F48 7F090418 14200008 */ bnez $at, .L7F09043C
|
||||
/* 0C4F4C 7F09041C 00002825 */ move $a1, $zero
|
||||
/* 0C4F50 7F090420 00602025 */ move $a0, $v1
|
||||
/* 0C4F54 7F090424 8C890004 */ lw $t1, 4($a0)
|
||||
.L7F090428:
|
||||
/* 0C4F58 7F090428 24A50001 */ addiu $a1, $a1, 1
|
||||
/* 0C4F5C 7F09042C 24840004 */ addiu $a0, $a0, 4
|
||||
/* 0C4F60 7F090430 0049082A */ slt $at, $v0, $t1
|
||||
/* 0C4F64 7F090434 5020FFFC */ beql $at, $zero, .L7F090428
|
||||
/* 0C4F68 7F090438 8C890004 */ lw $t1, 4($a0)
|
||||
.L7F09043C:
|
||||
/* 0C4F6C 7F09043C 00055080 */ sll $t2, $a1, 2
|
||||
/* 0C4F70 7F090440 006A2021 */ addu $a0, $v1, $t2
|
||||
/* 0C4F74 7F090444 8C8BFFFC */ lw $t3, -4($a0)
|
||||
/* 0C4F78 7F090448 24ADFFFE */ addiu $t5, $a1, -2
|
||||
/* 0C4F7C 7F09044C 004B6023 */ subu $t4, $v0, $t3
|
||||
/* 0C4F80 7F090450 05A00004 */ bltz $t5, .L7F090464
|
||||
/* 0C4F84 7F090454 ACEC0000 */ sw $t4, ($a3)
|
||||
/* 0C4F88 7F090458 8C8FFFF8 */ lw $t7, -8($a0)
|
||||
/* 0C4F8C 7F09045C 018FC021 */ addu $t8, $t4, $t7
|
||||
/* 0C4F90 7F090460 ACF80000 */ sw $t8, ($a3)
|
||||
.L7F090464:
|
||||
/* 0C4F94 7F090464 8C82FFFC */ lw $v0, -4($a0)
|
||||
/* 0C4F98 7F090468 8CF90000 */ lw $t9, ($a3)
|
||||
/* 0C4F9C 7F09046C 2448FFFF */ addiu $t0, $v0, -1
|
||||
/* 0C4FA0 7F090470 0322082A */ slt $at, $t9, $v0
|
||||
/* 0C4FA4 7F090474 14200002 */ bnez $at, .L7F090480
|
||||
/* 0C4FA8 7F090478 00000000 */ nop
|
||||
/* 0C4FAC 7F09047C ACE80000 */ sw $t0, ($a3)
|
||||
.L7F090480:
|
||||
/* 0C4FB0 7F090480 03E00008 */ jr $ra
|
||||
/* 0C4FB4 7F090484 00000000 */ nop
|
||||
)
|
||||
#else
|
||||
void gotoLeftDebugOption(void)
|
||||
{
|
||||
|
||||
}
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
+239
-903
File diff suppressed because it is too large.
Load diff
@@ -31,7 +31,7 @@ s32 get_debug_joy2skyedit_flag(void);
|
||||
s32 get_debug_joy2hitsedit_flag(void);
|
||||
s32 get_debug_joy2detailedit_flag(void);
|
||||
s32 get_debug_explosioninfo_flag(void);
|
||||
s32 get_debug_prroomloads_flag(void);
|
||||
s32 debugIsRoomStateDebugEnabled(void);
|
||||
s32 get_debug_VisCVG_flag(void);
|
||||
void set_debug_VisCVG_flag(s32 flag);
|
||||
s32 get_debug_007_unlock_flag(void);
|
||||
|
||||
Loaded 100 of 216 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user