forked from Ports/goldeneye-pc-port
Figure its time to update this again
This commit is contained in:
1 parent
76f3582e08
commit
3c9651a097
181 files changed
+29557
-81351
No files matched your search
@@ -54,7 +54,7 @@ jobs:
|
||||
run: ./extract_diff.e.sh
|
||||
|
||||
- name: Make EU
|
||||
run: make -j IDO_RECOMP=YES VERSION=EU
|
||||
run: make -j IDO_RECOMP=YES VERSION=EU VERBOSE=1
|
||||
|
||||
- name: Make report
|
||||
run: make -C tools/report
|
||||
|
||||
@@ -54,7 +54,7 @@ jobs:
|
||||
run: ./extract_diff.j.sh
|
||||
|
||||
- name: Make JP
|
||||
run: make -j IDO_RECOMP=YES VERSION=JP
|
||||
run: make -j IDO_RECOMP=YES VERSION=JP VERBOSE=1
|
||||
|
||||
- name: Make report
|
||||
run: make -C tools/report
|
||||
@@ -64,7 +64,7 @@ jobs:
|
||||
|
||||
- name: Upload output files
|
||||
|
||||
uses: dmnemec/copy_file_to_another_repo_action@v1.0.4
|
||||
uses: dmnemec/copy_file_to_another_repo_action@main
|
||||
|
||||
env:
|
||||
API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }}
|
||||
@@ -75,7 +75,6 @@ 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
|
||||
@@ -17,13 +17,29 @@ on:
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
changedfiles:
|
||||
runs-on: ubuntu-latest
|
||||
# Map a step output to a job output
|
||||
outputs:
|
||||
all: ${{ steps.changes.outputs.all}}
|
||||
steps:
|
||||
# Make sure we have some code to diff.
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v2
|
||||
- name: Get changed files
|
||||
id: changes
|
||||
# Set outputs using the command.
|
||||
run: |
|
||||
echo "::set-output name=all::$(git diff --name-only --diff-filter=ACMRT ${{ github.event.pull_request.base.sha }} ${{ github.sha }} | xargs)"
|
||||
|
||||
buildus:
|
||||
|
||||
runs-on: ubuntu-18.04
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
|
||||
# with:
|
||||
# fetch-depth: 2
|
||||
- name: Install Depedencies
|
||||
run: |
|
||||
sudo apt update
|
||||
@@ -43,19 +59,40 @@ jobs:
|
||||
FILE_US: ${{ secrets.SECRET_FILE_US }}
|
||||
run: wget -O baserom.u.z64 $FILE_US
|
||||
|
||||
# cach is only usefull if downloading things takes longer than copying things - in this case, extraction is quicker
|
||||
#- name: Cache Assets
|
||||
# id: cache-assets
|
||||
# uses: actions/cache@v3
|
||||
# with:
|
||||
# path: assets
|
||||
# key: ${{ hashFiles('extract_baserom.u.sh') }}
|
||||
|
||||
- name: Extract US Assets
|
||||
#if: steps.cache-assets.outputs.cache-hit != 'true'
|
||||
run: ./extract_baserom.u.sh
|
||||
|
||||
- name: Make US
|
||||
run: make -j IDO_RECOMP=YES VERSION=US
|
||||
run: make -j IDO_RECOMP=YES VERSION=US VERBOSE=1
|
||||
|
||||
- name: Make report
|
||||
run: make -C tools/report
|
||||
|
||||
|
||||
# for refrence, these diff commands wont work in GHA, so, "Last modified file" will never work
|
||||
# GHA makes new copies of all files (so modified date is all the same) and wont lok at logs (commands below)
|
||||
#- name: difftest1
|
||||
# run: git diff --name-only origin/master ${GITHUB_HEAD_REF}
|
||||
|
||||
#- name: difftest2
|
||||
# run: git diff --name-only ${{ github.event.before }} ${{ github.sha }}
|
||||
|
||||
#- name: difftest3
|
||||
# run: git diff --name-only -1
|
||||
|
||||
#- name: difftest4
|
||||
# run: git diff --name-only @"{10 minutes ago}"
|
||||
|
||||
- name: Stats
|
||||
run: python3 tools/ge-stats.py --version us --report
|
||||
#git diff HEAD^ HEAD --name-only
|
||||
|
||||
run: python3 tools/ge-stats.py --version us --report
|
||||
# expected args
|
||||
# 1481 15854 12774 232276 564 1312 652 20330 15471 269772 49 336 tools/report/index.html "src/game/bondview.c"
|
||||
|
||||
|
||||
+28
-88
@@ -1,6 +1,9 @@
|
||||
#Git and VS files
|
||||
.*~
|
||||
__pycache__/*
|
||||
.vscode/
|
||||
.[vV][sS]/
|
||||
|
||||
*.rz
|
||||
*.tmp
|
||||
*.o
|
||||
@@ -8,10 +11,14 @@ branchdiff.sh
|
||||
branchdiff_report.txt
|
||||
*.dump
|
||||
*.cdata*
|
||||
/StructLayoutSettings.json
|
||||
# rom files
|
||||
*.[zZnN]64
|
||||
.[vV][sS]/
|
||||
|
||||
021990.bin
|
||||
0219D0.bin
|
||||
|
||||
# Assets
|
||||
assets/animationtable_data.bin
|
||||
assets/animationtable_entries.bin
|
||||
assets/font/*.bin
|
||||
@@ -27,7 +34,11 @@ assets/ge007.u.117880.jfont_dl.bin
|
||||
assets/ge007.u.117940.jfont_chardata.bin
|
||||
assets/ge007.u.123040.efont_chardata.bin
|
||||
assets/ge007.u.29E560.Globalimagetable_commandblock.bin
|
||||
#images
|
||||
assets/images/split/*.bin*
|
||||
assets/images/out/*
|
||||
assets/images/split/png/*
|
||||
#music
|
||||
assets/music/*.bin
|
||||
assets/music/*.ctl
|
||||
assets/music/*.tbl
|
||||
@@ -35,6 +46,7 @@ assets/music/*.sbk
|
||||
assets/music/*.seq
|
||||
assets/music/*.aifc
|
||||
assets/music/*.aiff
|
||||
#obseg
|
||||
assets/obseg/bg/*.bin
|
||||
assets/obseg/bg/e/*.bin
|
||||
assets/obseg/chr/*.bin
|
||||
@@ -46,13 +58,17 @@ assets/obseg/setup/[eju]/*.bin
|
||||
assets/obseg/stan/*.bin
|
||||
assets/obseg/text/*.bin
|
||||
assets/obseg/text/[eju]/*.bin
|
||||
assets/obseg/text/[eju]/*.c
|
||||
assets/ramrom/*.bin
|
||||
assets/ramrom/[eju]/*.bin
|
||||
# bin is required, but lets prevent accidental deletion
|
||||
bin/*
|
||||
build/*
|
||||
build-*/*
|
||||
notes/*
|
||||
!build/test.c
|
||||
!notes/StyleGuide.md
|
||||
#tools
|
||||
tools/extractor/*.o
|
||||
tools/extractor/extractor
|
||||
tools/aaa_rip/main.o
|
||||
@@ -62,94 +78,18 @@ tools/armips
|
||||
tools/gzipsrc/gzip
|
||||
tools/gzipsrc/*.o
|
||||
tools/report/report
|
||||
/StructLayoutSettings.json
|
||||
|
||||
|
||||
|
||||
assets/obseg/text/e/LameP.c
|
||||
assets/obseg/text/e/LarchP.c
|
||||
assets/obseg/text/e/LarecE.c
|
||||
assets/obseg/text/e/LarecJ.c
|
||||
assets/obseg/text/e/LarecP.c
|
||||
assets/obseg/text/e/LarkE.c
|
||||
assets/obseg/text/e/LarkJ.c
|
||||
assets/obseg/text/e/LarkP.c
|
||||
assets/obseg/text/e/LashP.c
|
||||
assets/obseg/text/e/LaztP.c
|
||||
assets/obseg/text/e/LcatP.c
|
||||
assets/obseg/text/e/LcaveP.c
|
||||
assets/obseg/text/e/LcradE.c
|
||||
assets/obseg/text/e/LcradJ.c
|
||||
assets/obseg/text/e/LcradP.c
|
||||
assets/obseg/text/e/LcrypE.c
|
||||
assets/obseg/text/e/LcrypJ.c
|
||||
assets/obseg/text/e/LcrypP.c
|
||||
assets/obseg/text/e/LdamE.c
|
||||
assets/obseg/text/e/LdamJ.c
|
||||
assets/obseg/text/e/LdamP.c
|
||||
assets/obseg/text/e/LdepoE.c
|
||||
assets/obseg/text/e/LdepoJ.c
|
||||
assets/obseg/text/e/LdepoP.c
|
||||
assets/obseg/text/e/LdestP.c
|
||||
assets/obseg/text/e/LdishP.c
|
||||
assets/obseg/text/e/LearP.c
|
||||
assets/obseg/text/e/LeldP.c
|
||||
assets/obseg/text/e/LgunE.c
|
||||
assets/obseg/text/e/LgunJ.c
|
||||
assets/obseg/text/e/LgunP.c
|
||||
assets/obseg/text/e/LimpP.c
|
||||
assets/obseg/text/e/LjunE.c
|
||||
assets/obseg/text/e/LjunJ.c
|
||||
assets/obseg/text/e/LjunP.c
|
||||
assets/obseg/text/e/LleeP.c
|
||||
assets/obseg/text/e/LlenE.c
|
||||
assets/obseg/text/e/LlenJ.c
|
||||
assets/obseg/text/e/LlenP.c
|
||||
assets/obseg/text/e/LlipP.c
|
||||
assets/obseg/text/e/LlueP.c
|
||||
assets/obseg/text/e/LmiscP.c
|
||||
assets/obseg/text/e/LmpmenuE.c
|
||||
assets/obseg/text/e/LmpmenuJ.c
|
||||
assets/obseg/text/e/LmpmenuP.c
|
||||
assets/obseg/text/e/LmpweaponsE.c
|
||||
assets/obseg/text/e/LmpweaponsJ.c
|
||||
assets/obseg/text/e/LmpweaponsP.c
|
||||
assets/obseg/text/e/LoatP.c
|
||||
assets/obseg/text/e/LoptionsE.c
|
||||
assets/obseg/text/e/LoptionsJ.c
|
||||
assets/obseg/text/e/LoptionsP.c
|
||||
assets/obseg/text/e/LpamP.c
|
||||
assets/obseg/text/e/LpeteE.c
|
||||
assets/obseg/text/e/LpeteJ.c
|
||||
assets/obseg/text/e/LpeteP.c
|
||||
assets/obseg/text/e/LpropobjE.c
|
||||
assets/obseg/text/e/LpropobjJ.c
|
||||
assets/obseg/text/e/LpropobjP.c
|
||||
assets/obseg/text/e/LrefP.c
|
||||
assets/obseg/text/e/LritP.c
|
||||
assets/obseg/text/e/LrunP.c
|
||||
assets/obseg/text/e/LsevbP.c
|
||||
assets/obseg/text/e/LsevE.c
|
||||
assets/obseg/text/e/LsevJ.c
|
||||
assets/obseg/text/e/LsevP.c
|
||||
assets/obseg/text/e/LsevxbP.c
|
||||
assets/obseg/text/e/LsevxE.c
|
||||
assets/obseg/text/e/LsevxJ.c
|
||||
assets/obseg/text/e/LsevxP.c
|
||||
assets/obseg/text/e/LshoP.c
|
||||
assets/obseg/text/e/LsiloE.c
|
||||
assets/obseg/text/e/LsiloJ.c
|
||||
assets/obseg/text/e/LsiloP.c
|
||||
assets/obseg/text/e/LstatP.c
|
||||
assets/obseg/text/e/LtitleE.c
|
||||
assets/obseg/text/e/LtitleJ.c
|
||||
assets/obseg/text/e/LtitleP.c
|
||||
assets/obseg/text/e/LtraE.c
|
||||
assets/obseg/text/e/LtraJ.c
|
||||
assets/obseg/text/e/LtraP.c
|
||||
assets/obseg/text/e/LwaxP.c
|
||||
tools/report/index.html
|
||||
tools/report/JPN.htm
|
||||
tools/gaudio/*
|
||||
bondtypes_AI.h
|
||||
baserom*
|
||||
acpp_c.c
|
||||
as1_c.c
|
||||
cc_c.c
|
||||
cfe_c.c
|
||||
copt_c.c
|
||||
ugen_c.c
|
||||
ujoin_c.c
|
||||
uld_c.c
|
||||
umerge_c.c
|
||||
uopt_c.c
|
||||
usplit_c.c
|
||||
@@ -68,6 +68,15 @@ BG_VIOLET:= 105
|
||||
BG_CYAN:= 106
|
||||
BG_WHITE:= 107
|
||||
|
||||
# define a "newline" variable to be used in make scripts
|
||||
# use with ${\n}
|
||||
# https://stackoverflow.com/questions/12528637/how-do-i-execute-each-command-in-a-list
|
||||
define \n
|
||||
|
||||
|
||||
endef
|
||||
#end newline.
|
||||
|
||||
### Build Functions ###
|
||||
# Common build print status function
|
||||
PRINT_STATUS = @echo "$(call SET_TEXTATTRIB,$(FG_GREEN))$(1) $(call SET_TEXTATTRIB,$(FG_OLIVE))$(2)$(call SET_TEXTATTRIB,$(FG_GRAY)) $(if $3, -> $(call SET_TEXTATTRIB,$(FG_NAVY))$(3))$(RESTORECOLOUR)"
|
||||
@@ -201,33 +210,52 @@ endif
|
||||
ifeq ($(VERSION), US)
|
||||
COUNTRYCODE := u
|
||||
OUTCODE := $(COUNTRYCODE)
|
||||
LCDEFS := -DVERSION_US -DLANG_US -DREFRESH_NTSC -DLEFTOVERDEBUG -DLEFTOVERSPECTRUM -DBUGFIX_R0
|
||||
ASMDEFS := --defsym VERSION_US=1 --defsym LANG_US=1 --defsym REFRESH_NTSC=1 --defsym LEFTOVERDEBUG=1 --defsym LEFTOVERSPECTRUM=1 --defsym BUGFIX_R0=1
|
||||
LANG := US
|
||||
LCDEFS := -DVERSION_US -DLANG_US -DREFRESH_NTSC -DLEFTOVERDEBUG -DLEFTOVERSPECTRUM -DBUGFIX_R0 -DBYTEMATCH
|
||||
ASMDEFS := --defsym VERSION_US=1 --defsym LANG_US=1 --defsym REFRESH_NTSC=1 --defsym LEFTOVERDEBUG=1 --defsym LEFTOVERSPECTRUM=1 --defsym BUGFIX_R0=1 --defsym BYTEMATCH=1
|
||||
LDFILEOPTS := -DVERSION_$(LANG) -DOUTCODE=$(OUTCODE)
|
||||
endif
|
||||
|
||||
ifeq ($(VERSION), EU)
|
||||
COUNTRYCODE := e
|
||||
OUTCODE := $(COUNTRYCODE)
|
||||
LCDEFS := -DVERSION_EU -DLANG_EU -DREFRESH_PAL -DBUGFIX_R1 -DBUGFIX_R2
|
||||
ASMDEFS := --defsym VERSION_EU=1 --defsym LANG_EU=1 --defsym REFRESH_PAL=1 --defsym BUGFIX_R1=1 --defsym BUGFIX_R2=1
|
||||
LANG := EU
|
||||
LCDEFS := -DVERSION_EU -DLANG_EU -DREFRESH_PAL -DBUGFIX_R1 -DBUGFIX_R2 -DBYTEMATCH
|
||||
ASMDEFS := --defsym VERSION_EU=1 --defsym LANG_EU=1 --defsym REFRESH_PAL=1 --defsym BUGFIX_R1=1 --defsym BUGFIX_R2=1 --defsym BYTEMATCH=1
|
||||
LDFILEOPTS := -DVERSION_$(LANG) -DOUTCODE=$(OUTCODE)
|
||||
endif
|
||||
|
||||
ifeq ($(VERSION), JP)
|
||||
COUNTRYCODE := j
|
||||
OUTCODE := $(COUNTRYCODE)
|
||||
LCDEFS := -DVERSION_JP -DLANG_JP -DREFRESH_NTSC -DBUGFIX_R1 -DLEFTOVERDEBUG -DLEFTOVERSPECTRUM
|
||||
ASMDEFS := --defsym VERSION_JP=1 --defsym LANG_JP=1 --defsym REFRESH_NTSC=1 --defsym BUGFIX_R1=1 --defsym LEFTOVERDEBUG=1 --defsym LEFTOVERSPECTRUM=1
|
||||
LANG := JP
|
||||
LCDEFS := -DVERSION_JP -DLANG_JP -DREFRESH_NTSC -DBUGFIX_R1 -DLEFTOVERDEBUG -DLEFTOVERSPECTRUM -DBYTEMATCH
|
||||
ASMDEFS := --defsym VERSION_JP=1 --defsym LANG_JP=1 --defsym REFRESH_NTSC=1 --defsym BUGFIX_R1=1 --defsym LEFTOVERDEBUG=1 --defsym LEFTOVERSPECTRUM=1 --defsym BYTEMATCH=1
|
||||
LDFILEOPTS := -DVERSION_$(LANG) -DOUTCODE=$(OUTCODE)
|
||||
endif
|
||||
|
||||
ifeq ($(VERSION), DEBUG)
|
||||
COUNTRYCODE := u
|
||||
OUTCODE := d
|
||||
LCDEFS := -DVERSION_US -DLANG_US -DREFRESH_NTSC -DLEFTOVERDEBUG -DLEFTOVERSPECTRUM -DBUGFIX_R0 -DDEBUGMENU
|
||||
LANG := US
|
||||
LCDEFS := -DVERSION_US -DLANG_US -DREFRESH_NTSC -DLEFTOVERDEBUG -DLEFTOVERSPECTRUM -DBUGFIX_R0 -DDEBUGMENU -DVERSION_DEBUG
|
||||
ASMDEFS := --defsym VERSION_DEBUG=1 --defsym LANG_US=1 --defsym REFRESH_NTSC=1 --defsym LEFTOVERDEBUG=1 --defsym LEFTOVERSPECTRUM=1 --defsym BUGFIX_R0=1 --defsym DEBUGMENU=1
|
||||
COMPARE := 0
|
||||
LDFILEOPTS := -DVERSION_$(LANG) -DOUTCODE=$(OUTCODE)
|
||||
endif
|
||||
|
||||
ALLOWED_VERSIONS := US EU JP DEBUG
|
||||
ifeq ($(VERSION), USB)
|
||||
COUNTRYCODE := u
|
||||
OUTCODE := usb
|
||||
LANG := US
|
||||
LCDEFS := -DVERSION_US -DLANG_US -DREFRESH_NTSC -DLEFTOVERDEBUG -DLEFTOVERSPECTRUM -DBUGFIX_R0 -DDEBUGMENU -DENABLE_USB
|
||||
ASMDEFS := --defsym VERSION_US=1 --defsym LANG_US=1 --defsym REFRESH_NTSC=1 --defsym LEFTOVERDEBUG=1 --defsym LEFTOVERSPECTRUM=1 --defsym BUGFIX_R0=1 --defsym DEBUGMENU=1 --defsym ENABLE_USB=1
|
||||
COMPARE := 0
|
||||
LDFILEOPTS := -DVERSION_$(LANG) -DOUTCODE=$(OUTCODE) -DENABLE_USB
|
||||
endif
|
||||
|
||||
ALLOWED_VERSIONS := US EU JP DEBUG USB
|
||||
ALLOWED_COUNTRYCODE := u e j
|
||||
|
||||
BUILD_DIR_BASE := build
|
||||
# BUILD_DIR is the location where all build artifacts are placed
|
||||
@@ -312,7 +340,8 @@ INCLUDE := -I . -I include -I include/ultra64 -I include/PR -I src -I src/game -
|
||||
# 712 : illegal combination of pointer and integer - could be fixed by casting, but implicit is fine.
|
||||
# 807 : member cannot be of function or incomplete type - Variable length structs
|
||||
# 838 : Microsoft extension (unnamed structs) - used for "Inheritance" and member/array call swapping
|
||||
WOFF := -woff 609,649,709,712,807,838
|
||||
# 763 : Max Float
|
||||
WOFF := -woff 609,649,709,712,807,838,763
|
||||
|
||||
ifeq ($(IDO_RECOMP), NO)
|
||||
CC := $(QEMU_IRIX) -silent -L $(IRIX_ROOT) $(IRIX_ROOT)/usr/bin/cc
|
||||
@@ -323,7 +352,7 @@ endif
|
||||
CFLAGS := -Wab,-r4300_mul -non_shared -Olimit 2000 -G 0 -Xcpluscomm $(CFLAGWARNING) $(WOFF) -signed $(INCLUDE) $(MIPSISET) $(LCDEFS) -DTARGET_N64
|
||||
|
||||
LD := $(TOOLCHAIN)ld
|
||||
LD_SCRIPT := ge007.$(OUTCODE).ld
|
||||
LD_SCRIPT := build/ge007.$(OUTCODE).ld
|
||||
|
||||
# --no-warn-mismatch is needed to link -mips3 object files (some libultra math) with the regular files compiled with -mips2
|
||||
LDFLAGS := -T $(LD_SCRIPT) -Map build/ge007.$(OUTCODE).map --no-warn-mismatch
|
||||
@@ -374,7 +403,7 @@ endif
|
||||
$(HEADEROBJECTS) $(BOOTOBJECTS) $(CODEOBJECTS) $(GAMEOBJECTS) $(RZOBJECTS) \
|
||||
$(OBSEG_OBJECTS) $(OBSEG_RZ) $(ROMOBJECTS) $(RAMROM_OBJECTS) $(FONTOBJECTS) $(MUSIC_OBJECTS) $(IMAGE_OBJS) $(MUSIC_RZ_FILES)
|
||||
|
||||
ifeq ($(filter clean dataclean help codeclean context cmdbuilder test stanclean setupclean colour print-%,$(MAKECMDGOALS)),)
|
||||
ifeq ($(filter clean nuke dataclean help codeclean context cmdbuilder test stanclean setupclean colour print-%,$(MAKECMDGOALS)),)
|
||||
# Dont print version on "default" since it will be spat out twice
|
||||
ifneq ($(filter $(VERSION),$(ALLOWED_VERSIONS)),)
|
||||
#$(info VERSION=$(VERSION))
|
||||
@@ -472,9 +501,10 @@ endif
|
||||
# $(CC) -c -Wab,-r4300_mul -non_shared -G 0 -Xcpluscomm $(CFLAGWARNING) -woff 819,820,852,821,838,649 -signed $(INCLUDE) $(MIPSISET) $(LCDEFS) -DTARGET_N64 $(OPTIMIZATION) -o $@ $<
|
||||
|
||||
#Link Files
|
||||
$(APPELF): $(RSPOBJECTS) $(ULTRAOBJECTS) $(HEADEROBJECTS) $(OBSEG_RZ) $(BUILD_DIR)/$(OBSEGMENT) $(MUSIC_RZ_FILES) $(BOOTOBJECTS) $(CODEOBJECTS) $(GAMEOBJECTS) $(RZOBJECTS) $(ROMOBJECTS) $(ASSET_DATAOBJECTS) $(ROMOBJECTS2) $(RAMROM_OBJECTS) $(FONTOBJECTS) $(MUSIC_OBJECTS) $(OBSEG_OBJECTS) pb14
|
||||
$(APPELF): $(RSPOBJECTS) $(ULTRAOBJECTS) $(HEADEROBJECTS) $(OBSEG_RZ) $(BUILD_DIR)/$(OBSEGMENT) $(MUSIC_RZ_FILES) $(BOOTOBJECTS) $(CODEOBJECTS) $(GAMEOBJECTS) $(RZOBJECTS) $(ROMOBJECTS) $(ASSET_DATAOBJECTS) $(ROMOBJECTS2) $(RAMROM_OBJECTS) $(FONTOBJECTS) $(MUSIC_OBJECTS) $(OBSEG_OBJECTS) pb14 ge007.ld
|
||||
cpp $(LDFILEOPTS) -P ge007.ld -o build/ge007.$(OUTCODE).ld
|
||||
@echo "Linking Files into ELF"
|
||||
$(LD) $(LDFLAGS) -o $@ & $(call IncrementProgressBarFromAtRate,87,1.5)
|
||||
$(LD) $(LDFLAGS) -o $@
|
||||
|
||||
$(APPBIN): $(APPELF)
|
||||
ifeq ($(VERBOSE),0)
|
||||
@@ -523,8 +553,8 @@ ifeq ($(VERBOSE),1)
|
||||
$(HEADEROBJECTS) $(BOOTOBJECTS) $(CODEOBJECTS) $(GAMEOBJECTS) $(RZOBJECTS) $(RSPOBJECTS)
|
||||
else
|
||||
@clear
|
||||
$(call SetupProgressBar)
|
||||
@echo "\n\nDeleting All Code Binaries Only [Assets will be left from previous compile]"
|
||||
@$(call SetupProgressBar)
|
||||
@echo "\n\n\nDeleting All Code Binaries Only [Assets will be left from previous compile]"
|
||||
@rm -f $(APPELF) $(APPROM) $(APPBIN) $(ULTRAOBJECTS) $(BUILD_DIR)/ge007.$(OUTCODE).map
|
||||
@$(call DrawProgressBar,50)
|
||||
@rm -f $(HEADEROBJECTS) $(BOOTOBJECTS) $(CODEOBJECTS) $(GAMEOBJECTS) $(RZOBJECTS) $(RSPOBJECTS)
|
||||
@@ -537,28 +567,46 @@ dataclean:
|
||||
$(OBSEG_OBJECTS) $(OBSEG_RZ) $(ROMOBJECTS) $(RAMROM_OBJECTS) $(FONTOBJECTS) $(MUSIC_OBJECTS) $(IMAGE_OBJS) $(MUSIC_RZ_FILES) \
|
||||
$(STAN_BUILD_FILES) $(SETUP_BUILD_FILES)
|
||||
|
||||
clean:
|
||||
# "Conditionals control what 'make' actually "sees" in the makefile, so they cannot be used to control recipes at the time of execution."
|
||||
# https://www.gnu.org/software/make/manual/html_node/Conditionals.html
|
||||
ifeq ($(VERBOSE),1)
|
||||
clean::
|
||||
# if this command is modified, make sure to update this in the `nuke` recipe.
|
||||
rm -f $(APPELF) $(APPROM) $(APPBIN) $(ULTRAOBJECTS) $(BUILD_DIR)/ge007.$(OUTCODE).map \
|
||||
$(HEADEROBJECTS) $(BOOTOBJECTS) $(CODEOBJECTS) $(GAMEOBJECTS) $(RZOBJECTS) \
|
||||
$(OBSEG_OBJECTS) $(OBSEG_RZ) $(ROMOBJECTS) $(RAMROM_OBJECTS) $(FONTOBJECTS) $(MUSIC_OBJECTS) $(IMAGE_OBJS) $(MUSIC_RZ_FILES) $(RSPOBJECTS) \
|
||||
$(STAN_BUILD_FILES) $(SETUP_BUILD_FILES)
|
||||
else
|
||||
clean::
|
||||
@clear
|
||||
@echo "\n\nDeleting All Code and Asset Binaries"
|
||||
$(call SetupProgressBar)
|
||||
@$(call DrawProgressBar,0)
|
||||
@rm -f $(APPELF) $(APPROM) $(APPBIN) $(ULTRAOBJECTS) $(BUILD_DIR)/ge007.$(OUTCODE).map
|
||||
@$(call DrawProgressBar,1,4)
|
||||
@rm -f $(HEADEROBJECTS) $(BOOTOBJECTS) $(CODEOBJECTS) $(GAMEOBJECTS) $(RZOBJECTS)
|
||||
@$(call DrawProgressBar,2,4)
|
||||
@rm -f $(OBSEG_OBJECTS) $(OBSEG_RZ) $(ROMOBJECTS) $(RAMROM_OBJECTS) $(FONTOBJECTS) $(MUSIC_OBJECTS)
|
||||
@$(call DrawProgressBar,3,4)
|
||||
@rm -f $(IMAGE_OBJS) $(MUSIC_RZ_FILES) $(RSPOBJECTS) $(STAN_BUILD_FILES) $(SETUP_BUILD_FILES)
|
||||
@$(call DrawProgressBar,100)
|
||||
endif
|
||||
@echo "\033[1J$(RESTORESCROLLREGION)\nAll Code and Asset Binaries Cleared! Make will Re-Build these next time.\n"
|
||||
@echo "\n\n\nDeleting All Code and Asset Binaries"
|
||||
@$(call SetupProgressBar)
|
||||
@rm -f $(APPELF) $(APPROM) $(APPBIN) $(ULTRAOBJECTS) $(BUILD_DIR)/ge007.$(OUTCODE).map & $(call IncrementProgressBarFromAtRate,0,0.125)
|
||||
@rm -f $(HEADEROBJECTS) $(BOOTOBJECTS) $(CODEOBJECTS) $(GAMEOBJECTS) $(RZOBJECTS) & $(call IncrementProgressBarFromAtRate,25,0.125)
|
||||
@rm -f $(OBSEG_OBJECTS) $(OBSEG_RZ) $(ROMOBJECTS) $(RAMROM_OBJECTS) $(FONTOBJECTS) $(MUSIC_OBJECTS) & $(call IncrementProgressBarFromAtRate,50,0.125)
|
||||
@rm -f $(IMAGE_OBJS) $(MUSIC_RZ_FILES) $(RSPOBJECTS) $(STAN_BUILD_FILES) $(SETUP_BUILD_FILES)& $(call IncrementProgressBarFromAtRate,75,0.125)
|
||||
|
||||
@$(call DrawProgressBar,100)
|
||||
@echo "\033[1J$(RESTORESCROLLREGION)\nAll Code and Asset Binaries Cleared! Make will Re-Build these next time.\n"
|
||||
endif
|
||||
|
||||
nuke:
|
||||
@echo deleting files specified from make clean ...
|
||||
@# if this command is modified, update the `clean` recipe above.
|
||||
rm -f $(APPELF) $(APPROM) $(APPBIN) $(ULTRAOBJECTS) $(BUILD_DIR)/ge007.$(OUTCODE).map \
|
||||
$(HEADEROBJECTS) $(BOOTOBJECTS) $(CODEOBJECTS) $(GAMEOBJECTS) $(RZOBJECTS) \
|
||||
$(OBSEG_OBJECTS) $(OBSEG_RZ) $(ROMOBJECTS) $(RAMROM_OBJECTS) $(FONTOBJECTS) $(MUSIC_OBJECTS) $(IMAGE_OBJS) $(MUSIC_RZ_FILES) $(RSPOBJECTS) \
|
||||
$(STAN_BUILD_FILES) $(SETUP_BUILD_FILES)
|
||||
@echo
|
||||
@echo make: deleting build folders and files
|
||||
$(foreach x,$(ALLOWED_COUNTRYCODE),rm -r -f -d "$(BUILD_DIR_BASE)/$(x)/"${\n})
|
||||
@echo
|
||||
@echo make: deleting bin / rsp / asp
|
||||
rm -r -f -d "bin/"
|
||||
@echo
|
||||
@echo make: deleting assets
|
||||
rm -r -f -d "assets/images/split/"
|
||||
rm -r -f "assets/music/*.bin" "assets/obseg/bg/*.bin" "assets/obseg/brief/*.bin" "assets/obseg/chr/*.bin" "assets/obseg/gun/*.bin" "assets/obseg/prop/*.bin" "assets/obseg/setup/*.bin" "assets/obseg/setup/e/*.bin" "assets/obseg/setup/u/*.bin" "assets/obseg/setup/j/*.bin" "assets/obseg/stan/*.bin" "assets/obseg/text/*.bin" "assets/obseg/text/e/*.bin" "assets/obseg/text/u/*.bin" "assets/obseg/text/j/*.bin" "assets/ramrom/*.bin" "assets/ramrom/e/*.bin" "assets/ramrom/u/*.bin" "assets/ramrom/j/*.bin"
|
||||
|
||||
# 0 4 35 80 80(with colour codes)
|
||||
help:
|
||||
@@ -567,7 +615,10 @@ help:
|
||||
@echo " supported targets:"
|
||||
@echo ""
|
||||
@echo " all $(call SET_TEXTATTRIB,$(FG_LIME)) Build$(RESTORECOLOUR) all (default)"
|
||||
@echo " clean $(call SET_TEXTATTRIB,$(FG_RED)) Delete all$(RESTORECOLOUR) build artifacts"
|
||||
@echo " clean $(call SET_TEXTATTRIB,$(FG_RED)) Delete all$(RESTORECOLOUR) known build artifacts"
|
||||
@echo " nuke $(call SET_TEXTATTRIB,$(FG_RED)) Delete all$(RESTORECOLOUR) files explicitly listed in Makefile (same as make clean),"
|
||||
@echo " all build output for all versions, any .bin file in assets folders,"
|
||||
@echo " and asp/rsp bin."
|
||||
@echo " dataclean $(call SET_TEXTATTRIB,$(FG_RED)) Delete$(RESTORECOLOUR) only asset build artifacts"
|
||||
@echo " codeclean $(call SET_TEXTATTRIB,$(FG_RED)) Delete$(RESTORECOLOUR) only code (asm, .c) build artifacts"
|
||||
@echo " libultraclean $(call SET_TEXTATTRIB,$(FG_RED)) Delete$(RESTORECOLOUR) only code (asm, .c) build artifacts "
|
||||
@@ -692,6 +743,9 @@ testPB:
|
||||
$(call SetupProgressBar)
|
||||
$(call IncrementProgressBarFromAtRate,0,0.125)
|
||||
|
||||
textures:
|
||||
for file in assets/images/split/*.bin; do ../../tools/mktex/build/tex2png $file .assets/images/out; done
|
||||
|
||||
colour:
|
||||
@echo "\033[3A"
|
||||
ifeq ($(VERBOSE),0)
|
||||
@@ -707,8 +761,12 @@ colour:
|
||||
-e "s/((([^\/]*([^s][^t][^d][^i][^n])\.c)|([^\/]*\.o))\s)/$$(echo "$(call SET_TEXTATTRIB,$(FG_WHITE))")&$$(echo "$(RESTORECOLOUR)")/g"
|
||||
@echo "$(SAVECURSOR)$(RESTORESCROLLREGION)$(RESTORECURSOR)\033[1A"
|
||||
|
||||
ifeq ($(VERBOSE),0)
|
||||
.SILENT:
|
||||
# hide output by default, unless this one of the following targets
|
||||
ifeq ($(filter nuke,$(MAKECMDGOALS)),)
|
||||
else
|
||||
ifeq ($(VERBOSE),0)
|
||||
.SILENT:
|
||||
endif
|
||||
endif
|
||||
|
||||
|
||||
|
||||
@@ -7,13 +7,13 @@ ModelNode player_gait_pos_hdr_2 = {2, &player_gait_pos_2, &player_gait_pos_hdr_1
|
||||
//D:8003C5C8
|
||||
ModelNode player_gait_pos_hdr_3 = {2, &player_gait_pos_3, &player_gait_pos_hdr_2, 0, 0, 0};
|
||||
//D:8003C5E0
|
||||
ModelNode_HeaderRecord player_gait_obj = {1, &player_gait_pos_hdr_1, 0, 0, 0, 0};
|
||||
ModelRoData_HeaderRecord player_gait_obj = {1, &player_gait_pos_hdr_1, 0, 0, 0, 0};
|
||||
//D:8003C5F0
|
||||
ModelNode_GroupRecord player_gait_pos_1 = {{0.0, 0.0, 0.0}, 0x0001, 0x0002, 0xFFFF, 0xFFFF, &player_gait_pos_hdr_2, 0};
|
||||
ModelRoData_GroupRecord player_gait_pos_1 = {{0.0, 0.0, 0.0}, 0x0001, 0x0002, 0xFFFF, 0xFFFF, &player_gait_pos_hdr_2, 0};
|
||||
//D:8003C60C
|
||||
ModelNode_GroupRecord player_gait_pos_2 = {{1.177982, 41.14437, 0.0}, 0x0002, 0x0003, 0xFFFF, 0xFFFF, &player_gait_pos_hdr_3, 0};
|
||||
ModelRoData_GroupRecord player_gait_pos_2 = {{1.177982, 41.14437, 0.0}, 0x0002, 0x0003, 0xFFFF, 0xFFFF, &player_gait_pos_hdr_3, 0};
|
||||
//D:8003C628
|
||||
ModelNode_GroupRecord player_gait_pos_3 = {{-2.576027, 480.42902, 0.0}, 0x0003, 0x0000, 0xFFFF, 0xFFFF, NULL, 0};
|
||||
ModelRoData_GroupRecord player_gait_pos_3 = {{-2.576027, 480.42902, 0.0}, 0x0003, 0x0000, 0xFFFF, 0xFFFF, NULL, 0};
|
||||
|
||||
//FIXME File split likely
|
||||
//D:8003C644
|
||||
|
||||
+2
-2
@@ -19,8 +19,8 @@ IMAGE(17, 0x3DA, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(VERTICALSTRIPES_RED, 0x1A, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(VERTICALSTRIPES_RED2, 0x1A, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(GRAVELGREY, 0x619, HIT_DIRT, HIT_DIRT, 0, 0, 0, 0)
|
||||
IMAGE(GRAVELDETAIL, 0x135, HIT_DEFAULT, HIT_DEFAULT, 0x38, 0xD2, 0, 0)
|
||||
IMAGE(TARDETAIL, 0x5F5, HIT_DIRT, HIT_DIRT, 0x38, 0xD2, 0, 0)
|
||||
IMAGE(GRAVELDETAIL, 0x135, HIT_DEFAULT, HIT_DEFAULT, 0x3, 0x8, 0xD, 0x2)
|
||||
IMAGE(TARDETAIL, 0x5F5, HIT_DIRT, HIT_DIRT, 0x3, 0x8, 0xD, 0x2)
|
||||
IMAGE(TAZER_TEXT, 0x35F, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(BOY_TEXT, 0x350, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
IMAGE(25, 0x60C, HIT_DEFAULT, HIT_DEFAULT, 0, 0, 0, 0)
|
||||
|
||||
@@ -12,7 +12,7 @@ ModelNode ModelNode_05000018 = {0x2, ModelNode_GroupRecord_05000060, 0x0, 0x0, 0
|
||||
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};
|
||||
|
||||
ModelNode_GroupRecord ModelNode_GroupRecord_05000060 =
|
||||
ModelRoData_GroupRecord ModelNode_GroupRecord_05000060 =
|
||||
{
|
||||
{962.5, 2015.0167, -36.117146},
|
||||
0x0,
|
||||
@@ -23,7 +23,7 @@ ModelNode_GroupRecord ModelNode_GroupRecord_05000060 =
|
||||
304.6402
|
||||
};
|
||||
|
||||
ModelNode_BoundingBoxRecord ModelNode_BoundingBoxRecord_0500007c =
|
||||
ModelRoData_BoundingBoxRecord ModelNode_BoundingBoxRecord_0500007c =
|
||||
{
|
||||
0x1,
|
||||
{-146.0, 146.0, -265.0, 265.0, -36.0, 36.0}
|
||||
@@ -116,7 +116,7 @@ s16 POINT_USAGE_ARRAY_05000218[VERTEXGROUPCOUNT0] =
|
||||
0xFFFF, 0xFFFF, 0xFFFF, 0xFFFF,
|
||||
};
|
||||
|
||||
ModelNode_DisplayList_CollisionRecord ModelNode_DisplayList_CollisionRecord_05000230 =
|
||||
ModelRoData_DisplayList_CollisionRecord ModelNode_DisplayList_CollisionRecord_05000230 =
|
||||
{
|
||||
GFX_ARRAY_PRIMARY_05000250,
|
||||
GFX_ARRAY_SECONDARY_050002B0,
|
||||
|
||||
+2
-152
@@ -3,155 +3,7 @@
|
||||
.global _ramromDam1SegmentRomStart
|
||||
_ramromDam1SegmentRomStart:
|
||||
|
||||
# VERSION_US is same as VERSION_JP
|
||||
|
||||
.ifdef VERSION_US
|
||||
|
||||
.global ramrom_Dam_1
|
||||
ramrom_Dam_1:
|
||||
.incbin "assets/ramrom/ramrom_Dam_1.bin"
|
||||
ramrom_Dam_1_end:
|
||||
|
||||
.global ramrom_Dam_2
|
||||
ramrom_Dam_2:
|
||||
.incbin "assets/ramrom/ramrom_Dam_2.bin"
|
||||
ramrom_Dam_2_end:
|
||||
|
||||
.global ramrom_Facility_1
|
||||
ramrom_Facility_1:
|
||||
.incbin "assets/ramrom/ramrom_Facility_1.bin"
|
||||
ramrom_Facility_1_end:
|
||||
|
||||
.global ramrom_Facility_2
|
||||
ramrom_Facility_2:
|
||||
.incbin "assets/ramrom/ramrom_Facility_2.bin"
|
||||
ramrom_Facility_2_end:
|
||||
|
||||
.global ramrom_Facility_3
|
||||
ramrom_Facility_3:
|
||||
.incbin "assets/ramrom/ramrom_Facility_3.bin"
|
||||
ramrom_Facility_3_end:
|
||||
|
||||
.global ramrom_Runway_1
|
||||
ramrom_Runway_1:
|
||||
.incbin "assets/ramrom/ramrom_Runway_1.bin"
|
||||
ramrom_Runway_1_end:
|
||||
|
||||
.global ramrom_Runway_2
|
||||
ramrom_Runway_2:
|
||||
.incbin "assets/ramrom/ramrom_Runway_2.bin"
|
||||
ramrom_Runway_2_end:
|
||||
|
||||
.global ramrom_BunkerI_1
|
||||
ramrom_BunkerI_1:
|
||||
.incbin "assets/ramrom/ramrom_BunkerI_1.bin"
|
||||
ramrom_BunkerI_1_end:
|
||||
|
||||
.global ramrom_BunkerI_2
|
||||
ramrom_BunkerI_2:
|
||||
.incbin "assets/ramrom/ramrom_BunkerI_2.bin"
|
||||
ramrom_BunkerI_2_end:
|
||||
|
||||
.global ramrom_Silo_1
|
||||
ramrom_Silo_1:
|
||||
.incbin "assets/ramrom/ramrom_Silo_1.bin"
|
||||
ramrom_Silo_1_end:
|
||||
|
||||
.global ramrom_Silo_2
|
||||
ramrom_Silo_2:
|
||||
.incbin "assets/ramrom/ramrom_Silo_2.bin"
|
||||
ramrom_Silo_2_end:
|
||||
|
||||
.global ramrom_Frigate_1
|
||||
ramrom_Frigate_1:
|
||||
.incbin "assets/ramrom/ramrom_Frigate_1.bin"
|
||||
ramrom_Frigate_1_end:
|
||||
|
||||
.global ramrom_Frigate_2
|
||||
ramrom_Frigate_2:
|
||||
.incbin "assets/ramrom/ramrom_Frigate_2.bin"
|
||||
ramrom_Frigate_2_end:
|
||||
|
||||
.global ramrom_Train
|
||||
ramrom_Train:
|
||||
.incbin "assets/ramrom/ramrom_Train.bin"
|
||||
ramrom_Train_end:
|
||||
|
||||
.endif
|
||||
|
||||
.ifdef VERSION_JP
|
||||
|
||||
.global ramrom_Dam_1
|
||||
ramrom_Dam_1:
|
||||
.incbin "assets/ramrom/ramrom_Dam_1.bin"
|
||||
ramrom_Dam_1_end:
|
||||
|
||||
.global ramrom_Dam_2
|
||||
ramrom_Dam_2:
|
||||
.incbin "assets/ramrom/ramrom_Dam_2.bin"
|
||||
ramrom_Dam_2_end:
|
||||
|
||||
.global ramrom_Facility_1
|
||||
ramrom_Facility_1:
|
||||
.incbin "assets/ramrom/ramrom_Facility_1.bin"
|
||||
ramrom_Facility_1_end:
|
||||
|
||||
.global ramrom_Facility_2
|
||||
ramrom_Facility_2:
|
||||
.incbin "assets/ramrom/ramrom_Facility_2.bin"
|
||||
ramrom_Facility_2_end:
|
||||
|
||||
.global ramrom_Facility_3
|
||||
ramrom_Facility_3:
|
||||
.incbin "assets/ramrom/ramrom_Facility_3.bin"
|
||||
ramrom_Facility_3_end:
|
||||
|
||||
.global ramrom_Runway_1
|
||||
ramrom_Runway_1:
|
||||
.incbin "assets/ramrom/ramrom_Runway_1.bin"
|
||||
ramrom_Runway_1_end:
|
||||
|
||||
.global ramrom_Runway_2
|
||||
ramrom_Runway_2:
|
||||
.incbin "assets/ramrom/ramrom_Runway_2.bin"
|
||||
ramrom_Runway_2_end:
|
||||
|
||||
.global ramrom_BunkerI_1
|
||||
ramrom_BunkerI_1:
|
||||
.incbin "assets/ramrom/ramrom_BunkerI_1.bin"
|
||||
ramrom_BunkerI_1_end:
|
||||
|
||||
.global ramrom_BunkerI_2
|
||||
ramrom_BunkerI_2:
|
||||
.incbin "assets/ramrom/ramrom_BunkerI_2.bin"
|
||||
ramrom_BunkerI_2_end:
|
||||
|
||||
.global ramrom_Silo_1
|
||||
ramrom_Silo_1:
|
||||
.incbin "assets/ramrom/ramrom_Silo_1.bin"
|
||||
ramrom_Silo_1_end:
|
||||
|
||||
.global ramrom_Silo_2
|
||||
ramrom_Silo_2:
|
||||
.incbin "assets/ramrom/ramrom_Silo_2.bin"
|
||||
ramrom_Silo_2_end:
|
||||
|
||||
.global ramrom_Frigate_1
|
||||
ramrom_Frigate_1:
|
||||
.incbin "assets/ramrom/ramrom_Frigate_1.bin"
|
||||
ramrom_Frigate_1_end:
|
||||
|
||||
.global ramrom_Frigate_2
|
||||
ramrom_Frigate_2:
|
||||
.incbin "assets/ramrom/ramrom_Frigate_2.bin"
|
||||
ramrom_Frigate_2_end:
|
||||
|
||||
.global ramrom_Train
|
||||
ramrom_Train:
|
||||
.incbin "assets/ramrom/ramrom_Train.bin"
|
||||
ramrom_Train_end:
|
||||
|
||||
.endif
|
||||
# VERSION_EU is only one with differences
|
||||
|
||||
.ifdef VERSION_EU
|
||||
|
||||
@@ -225,9 +77,7 @@ ramrom_Train:
|
||||
.incbin "assets/ramrom/e/ramrom_Train.bin"
|
||||
ramrom_Train_end:
|
||||
|
||||
.endif
|
||||
|
||||
.ifdef VERSION_DEBUG
|
||||
.else
|
||||
|
||||
.global ramrom_Dam_1
|
||||
ramrom_Dam_1:
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+999
-2
File diff suppressed because it is too large.
Load diff
Executable
+157
@@ -0,0 +1,157 @@
|
||||
#!/bin/bash
|
||||
|
||||
if ! command -v md5sum &> /dev/null
|
||||
then
|
||||
echo "md5sum could not be found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! command -v dd &> /dev/null
|
||||
then
|
||||
echo "dd could not be found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! command -v dd &> /dev/null
|
||||
then
|
||||
echo "gzip could not be found"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
||||
DATA_FILENAME=
|
||||
OUT_FILENAME=
|
||||
ROM_MD5=
|
||||
|
||||
# US
|
||||
ROM_FILENAME="baserom.u.z64"
|
||||
OUT_FILENAME="baserom.u.cdata"
|
||||
MD5_US="70c525880240c1e838b8b1be35666c3b"
|
||||
if [ -f "${ROM_FILENAME}" ]; then
|
||||
ROM_MD5=$(md5sum "${ROM_FILENAME}" | cut -d " " -f1)
|
||||
|
||||
if [ "${ROM_MD5}" = "${MD5_US}" ]; then
|
||||
echo "extracting US compressed data segment"
|
||||
dd bs=1 skip=137616 count=71760 if="${ROM_FILENAME}" of="${OUT_FILENAME}" status=none
|
||||
GZ=gzip tools/1172inflate.sh "${OUT_FILENAME}" "${OUT_FILENAME}.bin"
|
||||
rm "${OUT_FILENAME}"
|
||||
else
|
||||
echo "cannot extract compressed data segment from ${ROM_FILENAME}, md5=${ROM_MD5}, expected ${MD5_US}"
|
||||
fi
|
||||
else
|
||||
echo "${ROM_FILENAME} not found"
|
||||
fi
|
||||
|
||||
MD5_DATA_US="055525d9087f953d43d80639773b4291"
|
||||
|
||||
|
||||
RAMSTART=0x80020d90
|
||||
rspbootTextStart_ADDR=$((0x80020d90-RAMSTART)) #rspbootTextStart
|
||||
rspbootTextEnd_ADDR=$((0x80020e60-RAMSTART)) #rspbootTextEnd
|
||||
rspbootTextSize=$((rspbootTextEnd_ADDR-rspbootTextStart_ADDR))
|
||||
|
||||
gsp3DTextStart_ADDR=$((0x80020e60-RAMSTART)) #gsp3DTextStart
|
||||
gsp3DTextEnd_ADDR=$((0x80022280-RAMSTART)) #gsp3DTextEnd
|
||||
gsp3DTextSize=$((gsp3DTextEnd_ADDR-gsp3DTextStart_ADDR))
|
||||
|
||||
aspMainTextStart_ADDR=$((0x80022280-RAMSTART)) #aspMainTextStart
|
||||
aspMainTextEnd_ADDR=$((0x80023040-RAMSTART)) #aspMainTextEnd
|
||||
aspMainTextSize=$((aspMainTextEnd_ADDR-aspMainTextStart_ADDR))
|
||||
|
||||
gsp3DDataStart_ADDR=$((0x8005c820-RAMSTART)) #gsp3DDataStart
|
||||
gsp3DDataEnd_ADDR=$((0x8005d020-RAMSTART)) #gsp3DDataEnd
|
||||
gsp3DDataSize=$((gsp3DDataEnd_ADDR-gsp3DDataStart_ADDR))
|
||||
|
||||
aspMainDataStart_ADDR=$((0x8005d020-RAMSTART)) #aspMainDataStart
|
||||
aspMainDataEnd_ADDR=$((0x8005d2e0-RAMSTART)) #aspMainDataEnd
|
||||
aspMainDataSize=$((aspMainDataEnd_ADDR-aspMainDataStart_ADDR))
|
||||
|
||||
# rsp text
|
||||
OUT_FILENAME="bin/rspboot.text.bin"
|
||||
DATA_FILENAME="baserom.u.cdata.bin"
|
||||
START=${rspbootTextStart_ADDR}
|
||||
SIZE=${rspbootTextSize}
|
||||
if [ -f "${DATA_FILENAME}" ]; then
|
||||
ROM_MD5=$(md5sum "${DATA_FILENAME}" | cut -d " " -f1)
|
||||
|
||||
if [ "${ROM_MD5}" = "${MD5_DATA_US}" ]; then
|
||||
echo "extracting ${OUT_FILENAME}"
|
||||
dd bs=1 skip=${START} count=${SIZE} if="${DATA_FILENAME}" of="${OUT_FILENAME}" status=none
|
||||
else
|
||||
echo "cannot ${OUT_FILENAME} from ${DATA_FILENAME}, md5=${ROM_MD5}, expected ${MD5_DATA_US}"
|
||||
fi
|
||||
else
|
||||
echo "${DATA_FILENAME} not found"
|
||||
fi
|
||||
|
||||
# gsp3d text
|
||||
OUT_FILENAME="bin/gspboot.text.bin"
|
||||
DATA_FILENAME="baserom.u.cdata.bin"
|
||||
START=${gsp3DTextStart_ADDR}
|
||||
SIZE=${gsp3DTextSize}
|
||||
if [ -f "${DATA_FILENAME}" ]; then
|
||||
ROM_MD5=$(md5sum "${DATA_FILENAME}" | cut -d " " -f1)
|
||||
|
||||
if [ "${ROM_MD5}" = "${MD5_DATA_US}" ]; then
|
||||
echo "extracting ${OUT_FILENAME}"
|
||||
dd bs=1 skip=${START} count=${SIZE} if="${DATA_FILENAME}" of="${OUT_FILENAME}" status=none
|
||||
else
|
||||
echo "cannot ${OUT_FILENAME} from ${DATA_FILENAME}, md5=${ROM_MD5}, expected ${MD5_DATA_US}"
|
||||
fi
|
||||
else
|
||||
echo "${DATA_FILENAME} not found"
|
||||
fi
|
||||
|
||||
# gsp3d data
|
||||
OUT_FILENAME="bin/gspboot.data.bin"
|
||||
DATA_FILENAME="baserom.u.cdata.bin"
|
||||
START=${gsp3DDataStart_ADDR}
|
||||
SIZE=${gsp3DDataSize}
|
||||
if [ -f "${DATA_FILENAME}" ]; then
|
||||
ROM_MD5=$(md5sum "${DATA_FILENAME}" | cut -d " " -f1)
|
||||
|
||||
if [ "${ROM_MD5}" = "${MD5_DATA_US}" ]; then
|
||||
echo "extracting ${OUT_FILENAME}"
|
||||
dd bs=1 skip=${START} count=${SIZE} if="${DATA_FILENAME}" of="${OUT_FILENAME}" status=none
|
||||
else
|
||||
echo "cannot ${OUT_FILENAME} from ${DATA_FILENAME}, md5=${ROM_MD5}, expected ${MD5_DATA_US}"
|
||||
fi
|
||||
else
|
||||
echo "${DATA_FILENAME} not found"
|
||||
fi
|
||||
|
||||
# asp text
|
||||
OUT_FILENAME="bin/aspboot.text.bin"
|
||||
DATA_FILENAME="baserom.u.cdata.bin"
|
||||
START=${aspMainTextStart_ADDR}
|
||||
SIZE=${aspMainTextSize}
|
||||
if [ -f "${DATA_FILENAME}" ]; then
|
||||
ROM_MD5=$(md5sum "${DATA_FILENAME}" | cut -d " " -f1)
|
||||
|
||||
if [ "${ROM_MD5}" = "${MD5_DATA_US}" ]; then
|
||||
echo "extracting ${OUT_FILENAME}"
|
||||
dd bs=1 skip=${START} count=${SIZE} if="${DATA_FILENAME}" of="${OUT_FILENAME}" status=none
|
||||
else
|
||||
echo "cannot ${OUT_FILENAME} from ${DATA_FILENAME}, md5=${ROM_MD5}, expected ${MD5_DATA_US}"
|
||||
fi
|
||||
else
|
||||
echo "${DATA_FILENAME} not found"
|
||||
fi
|
||||
|
||||
# asp data
|
||||
OUT_FILENAME="bin/aspboot.data.bin"
|
||||
DATA_FILENAME="baserom.u.cdata.bin"
|
||||
START=${aspMainDataStart_ADDR}
|
||||
SIZE=${aspMainDataSize}
|
||||
if [ -f "${DATA_FILENAME}" ]; then
|
||||
ROM_MD5=$(md5sum "${DATA_FILENAME}" | cut -d " " -f1)
|
||||
|
||||
if [ "${ROM_MD5}" = "${MD5_DATA_US}" ]; then
|
||||
echo "extracting ${OUT_FILENAME}"
|
||||
dd bs=1 skip=${START} count=${SIZE} if="${DATA_FILENAME}" of="${OUT_FILENAME}" status=none
|
||||
else
|
||||
echo "cannot ${OUT_FILENAME} from ${DATA_FILENAME}, md5=${ROM_MD5}, expected ${MD5_DATA_US}"
|
||||
fi
|
||||
else
|
||||
echo "${DATA_FILENAME} not found"
|
||||
fi
|
||||
@@ -92,3 +92,5 @@ if [ "$DOALL" == "1" ] || [ $1 == 'images' ]; then
|
||||
#formatting matters, no comments, no extra lines, unix line endings only
|
||||
#and always end with a newline
|
||||
fi
|
||||
mkdir -p ./bin
|
||||
./extract_asp_gsp_rsp.sh
|
||||
-4346
File diff suppressed because it is too large.
Load diff
@@ -58,11 +58,11 @@ d41d8cd98f00b204e9800998ecf8427e,.code,build/e/src/decompressbuffer.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.bss,build/e/src/decompressbuffer.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.data,build/e/src/decompressbuffer.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.rodata,build/e/src/decompressbuffer.o
|
||||
377a8cb4f582defa3f1bb86cd30a60c1,.text,build/e/src/fault.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.code,build/e/src/fault.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.bss,build/e/src/fault.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.data,build/e/src/fault.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.rodata,build/e/src/fault.o
|
||||
377a8cb4f582defa3f1bb86cd30a60c1,.text,build/e/src/crash.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.code,build/e/src/crash.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.bss,build/e/src/crash.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.data,build/e/src/crash.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.rodata,build/e/src/crash.o
|
||||
6708969f43a282c2c6e87c98fa031b2d,.text,build/e/src/fr.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.code,build/e/src/fr.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.bss,build/e/src/fr.o
|
||||
|
||||
|
-4445
File diff suppressed because it is too large.
Load diff
@@ -53,11 +53,11 @@ d41d8cd98f00b204e9800998ecf8427e,.code,build/j/src/decompressbuffer.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.bss,build/j/src/decompressbuffer.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.data,build/j/src/decompressbuffer.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.rodata,build/j/src/decompressbuffer.o
|
||||
377a8cb4f582defa3f1bb86cd30a60c1,.text,build/j/src/fault.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.code,build/j/src/fault.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.bss,build/j/src/fault.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.data,build/j/src/fault.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.rodata,build/j/src/fault.o
|
||||
377a8cb4f582defa3f1bb86cd30a60c1,.text,build/j/src/crash.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.code,build/j/src/crash.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.bss,build/j/src/crash.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.data,build/j/src/crash.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.rodata,build/j/src/crash.o
|
||||
c6af3c2e9a83066c1ff902c20ee56af0,.text,build/j/src/fr.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.code,build/j/src/fr.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.bss,build/j/src/fr.o
|
||||
|
||||
|
-4345
File diff suppressed because it is too large.
Load diff
@@ -53,11 +53,11 @@ d41d8cd98f00b204e9800998ecf8427e,.code,build/u/src/decompressbuffer.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.bss,build/u/src/decompressbuffer.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.data,build/u/src/decompressbuffer.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.rodata,build/u/src/decompressbuffer.o
|
||||
377a8cb4f582defa3f1bb86cd30a60c1,.text,build/u/src/fault.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.code,build/u/src/fault.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.bss,build/u/src/fault.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.data,build/u/src/fault.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.rodata,build/u/src/fault.o
|
||||
377a8cb4f582defa3f1bb86cd30a60c1,.text,build/u/src/crash.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.code,build/u/src/crash.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.bss,build/u/src/crash.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.data,build/u/src/crash.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.rodata,build/u/src/crash.o
|
||||
c6af3c2e9a83066c1ff902c20ee56af0,.text,build/u/src/fr.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.code,build/u/src/fr.o
|
||||
d41d8cd98f00b204e9800998ecf8427e,.bss,build/u/src/fr.o
|
||||
|
||||
|
-4346
File diff suppressed because it is too large.
Load diff
+2699
-2699
File diff suppressed because it is too large.
Load diff
+14
-14
@@ -579,22 +579,22 @@ HAS_ARGS(( ()))
|
||||
COUNTPARAMS((A, B, C, D, E, F,G,H,I))
|
||||
|
||||
#enAdif
|
||||
#define LIST_TO_TUPLE(list) \
|
||||
IF_ELSE(IS_PAREN(list))\
|
||||
(\
|
||||
EVAL16((LIST_TO_TUPLE_INNER(SECOND list, FIRST list)))\
|
||||
)\
|
||||
(\
|
||||
list\
|
||||
#define LIST_TO_TUPLE(list) \
|
||||
IF_ELSE(IS_PAREN(list))\
|
||||
(\
|
||||
EVAL16((LIST_TO_TUPLE_INNER(SECOND list, FIRST list)))\
|
||||
)\
|
||||
(\
|
||||
list\
|
||||
)
|
||||
|
||||
#define LIST_TO_TUPLE_INNER(list, listb) \
|
||||
IF_ELSE(HAS_ARGS(list)) \
|
||||
(\
|
||||
EXPAND(DEFER4(_LIST_TO_TUPLE_INNER)()(TRY_EXPAND((POP_ARG list)), PUSH_ARG(FIRST list, listb)))\
|
||||
)\
|
||||
(\
|
||||
0 listb\
|
||||
#define LIST_TO_TUPLE_INNER(list, listb) \
|
||||
IF_ELSE(HAS_ARGS(list)) \
|
||||
(\
|
||||
EXPAND(DEFER4(_LIST_TO_TUPLE_INNER)()(TRY_EXPAND((POP_ARG list)), PUSH_ARG(FIRST list, listb)))\
|
||||
)\
|
||||
(\
|
||||
0 listb\
|
||||
)
|
||||
#define _LIST_TO_TUPLE_INNER() LIST_TO_TUPLE_INNER
|
||||
// list to tuple
|
||||
|
||||
@@ -130,6 +130,62 @@
|
||||
gsSP4Triangles(x1, y1, z1, x2, y2, z2, 0, 0, 0, 0, 0, 0)
|
||||
|
||||
|
||||
/**
|
||||
* B1 rsp_tri4
|
||||
* Draws up to four triangles at a time.
|
||||
* Expects values from 0-F, corresponding with # points declared by vertex command.
|
||||
* Triangles with all points set to 0 are not drawn.
|
||||
*
|
||||
* upper word
|
||||
* 0000F000 z4
|
||||
* 00000F00 z3
|
||||
* 000000F0 z2
|
||||
* 0000000F z1
|
||||
*
|
||||
* lower word
|
||||
* f0000000 y4
|
||||
* 0f000000 x4
|
||||
* 00f00000 y3
|
||||
* 000f0000 x3
|
||||
* 0000f000 y2
|
||||
* 00000f00 x2
|
||||
* 000000f0 y1
|
||||
* 0000000f x1
|
||||
*/
|
||||
#define gDPTri4(pkt, x1, y1, z1, x2, y2, z2, x3, y3, z3, x4, y4, z4) \
|
||||
{ \
|
||||
Gfx *_g = (Gfx *)(pkt); \
|
||||
_g->words.w0 = (_SHIFTL(G_TRI4, 24, 8) \
|
||||
| _SHIFTL(z4, 12, 4) \
|
||||
| _SHIFTL(z3, 8, 4) \
|
||||
| _SHIFTL(z2, 4, 4) \
|
||||
| _SHIFTL(z1, 0, 4)); \
|
||||
_g->words.w1 = (_SHIFTL(y4, 28, 4) \
|
||||
| _SHIFTL(x4, 24, 4) \
|
||||
| _SHIFTL(y3, 20, 4) \
|
||||
| _SHIFTL(x3, 16, 4) \
|
||||
| _SHIFTL(y2, 12, 4) \
|
||||
| _SHIFTL(x2, 8, 4) \
|
||||
| _SHIFTL(y1, 4, 4) \
|
||||
| _SHIFTL(x1, 0, 4)); \
|
||||
}
|
||||
|
||||
#define gDPTri3(pkt, x1, y1, z1, x2, y2, z2, x3, y3, z3) \
|
||||
gDPTri4(pkt, x1, y1, z1, x2, y2, z2, x3, y3, z3, 0, 0, 0)
|
||||
|
||||
#define gDPTri2(pkt, x1, y1, z1, x2, y2, z2) \
|
||||
gDPTri4(pkt, x1, y1, z1, x2, y2, z2, 0, 0, 0, 0, 0, 0)
|
||||
|
||||
#define gDPTri1(pkt, x1, y1, z1) \
|
||||
gDPTri4(pkt, x1, y1, z1, 0, 0, 0, 0, 0, 0, 0, 0, 0)
|
||||
|
||||
#define gDPLoadTLUT06(pkt, a, b, c, d) \
|
||||
{ \
|
||||
Gfx *_g = (Gfx *)pkt; \
|
||||
_g->words.w0 = _SHIFTL(G_LOADTLUT, 24, 8) | _SHIFTL((a), 14, 10) | _SHIFTL((b), 2, 10); \
|
||||
_g->words.w1 = _SHIFTL(0x06, 24, 8) | _SHIFTL((c), 14, 10) | _SHIFTL((d), 2, 10); \
|
||||
}
|
||||
|
||||
/*
|
||||
* Texturing macro Overrides
|
||||
*/
|
||||
|
||||
@@ -0,0 +1,133 @@
|
||||
build/OUTCODE/src/game/initgamedata.o (.bss);
|
||||
build/OUTCODE/src/game/initweaponanigroups.o (.bss);
|
||||
build/OUTCODE/src/game/initactorpropstuff.o (.bss);
|
||||
build/OUTCODE/src/game/initnull_0009D0.o (.bss);
|
||||
build/OUTCODE/src/game/initunk_0009E0.o (.bss);
|
||||
build/OUTCODE/src/game/initanitable.o (.bss);
|
||||
build/OUTCODE/src/game/initplayergaitobject.o (.bss);
|
||||
build/OUTCODE/src/game/setguscale.o (.bss);
|
||||
build/OUTCODE/src/game/initnull_000BC0.o (.bss);
|
||||
build/OUTCODE/src/game/initimages.o (.bss);
|
||||
build/OUTCODE/src/game/initintromatrices.o (.bss);
|
||||
build/OUTCODE/src/game/initmenus.o (.bss);
|
||||
build/OUTCODE/src/game/initguards.o (.bss);
|
||||
build/OUTCODE/src/game/deb_loadallmodels.o (.bss);
|
||||
build/OUTCODE/src/game/initobjects.o (.bss);
|
||||
build/OUTCODE/src/game/prop.o (.bss);
|
||||
build/OUTCODE/src/game/objective.o (.bss);
|
||||
build/OUTCODE/src/game/ejectedcartridges.o (.bss);
|
||||
build/OUTCODE/src/game/initBondDATA.o (.bss);
|
||||
build/OUTCODE/src/game/initunk_005450.o (.bss);
|
||||
build/OUTCODE/src/game/initunk_005520.o (.bss);
|
||||
build/OUTCODE/src/game/bondview_r.o (.bss);
|
||||
build/OUTCODE/src/game/inititemslots.o (.bss);
|
||||
build/OUTCODE/src/game/initBondDATAdefaults.o (.bss);
|
||||
build/OUTCODE/src/game/initpathtablesomething.o (.bss);
|
||||
build/OUTCODE/src/game/initpathtablelinks.o (.bss);
|
||||
build/OUTCODE/src/game/initexplosioncasing.o (.bss);
|
||||
build/OUTCODE/src/game/alloc_window_pieces.o (.bss);
|
||||
build/OUTCODE/src/game/initunk_007290.o (.bss);
|
||||
build/OUTCODE/src/game/initcheattext.o (.bss);
|
||||
build/OUTCODE/src/game/initmttex.o (.bss);
|
||||
build/OUTCODE/src/game/cleanup_guard_data.o (.bss);
|
||||
build/OUTCODE/src/game/cleanup_object_sounds.o (.bss);
|
||||
build/OUTCODE/src/game/cleanup_alarms.o (.bss);
|
||||
build/OUTCODE/src/game/cleanup_objects.o (.bss);
|
||||
build/OUTCODE/src/game/cleanup_objectives.o (.bss);
|
||||
build/OUTCODE/src/game/cleanupSFXRelated.o (.bss);
|
||||
build/OUTCODE/src/game/playerstats_007770.o (.bss);
|
||||
build/OUTCODE/src/game/cleanexplosions.o (.bss);
|
||||
build/OUTCODE/src/game/cleanwindowpieces.o (.bss);
|
||||
build/OUTCODE/src/game/null_007970.o (.bss);
|
||||
build/OUTCODE/src/game/cleanplayersound.o (.bss);
|
||||
build/OUTCODE/src/game/title.o (.bss);
|
||||
build/OUTCODE/src/game/front.o (.bss);
|
||||
build/OUTCODE/src/game/unk_01B0E0.o (.bss);
|
||||
build/OUTCODE/src/game/unk_01B240.o (.bss);
|
||||
build/OUTCODE/src/game/unk_01BAE0.o (.bss);
|
||||
build/OUTCODE/src/game/blood_animation.o (.bss);
|
||||
build/OUTCODE/src/game/blood_decrypt.o (.bss);
|
||||
build/OUTCODE/src/game/file.o (.bss);
|
||||
build/OUTCODE/src/game/file2.o (.bss);
|
||||
build/OUTCODE/src/game/chr.o (.bss);
|
||||
build/OUTCODE/src/game/chr_b.o (.bss);
|
||||
build/OUTCODE/src/game/chrlv.o (.bss);
|
||||
build/OUTCODE/src/game/chrai.o (.bss);
|
||||
build/OUTCODE/src/game/chrprop.o (.bss);
|
||||
build/OUTCODE/src/game/chrobjhandler.o (.bss);
|
||||
build/OUTCODE/src/game/loadobjectmodel.o (.bss);
|
||||
build/OUTCODE/src/game/objective_status.o (.bss);
|
||||
build/OUTCODE/src/game/objective_status2.o (.bss);
|
||||
build/OUTCODE/src/game/math_sincos.o (.bss);
|
||||
build/OUTCODE/src/game/matrixmath.o (.bss);
|
||||
build/OUTCODE/src/game/math_unk_05A9E0.o (.bss);
|
||||
build/OUTCODE/src/game/math_atan2f.o (.bss);
|
||||
build/OUTCODE/src/game/math_asinacos.o (.bss);
|
||||
build/OUTCODE/src/game/math_asinfacosf.o (.bss);
|
||||
build/OUTCODE/src/game/matrixmath_misc.o (.bss);
|
||||
build/OUTCODE/src/game/quaternion.o (.bss);
|
||||
build/OUTCODE/src/game/math_floor.o (.bss);
|
||||
build/OUTCODE/src/game/math_ceil.o (.bss);
|
||||
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/objecthandler_2.o (.bss);
|
||||
build/OUTCODE/src/game/othermodemicrocode.o (.bss);
|
||||
build/OUTCODE/src/game/bondview.o (.bss);
|
||||
build/OUTCODE/src/game/bondinv.o (.bss);
|
||||
build/OUTCODE/src/game/bondhead.o (.bss);
|
||||
build/OUTCODE/src/game/padhalllv.o (.bss);
|
||||
build/OUTCODE/src/game/debugmenu_08FE00.o (.bss);
|
||||
build/OUTCODE/src/game/debugmenu_handler.o (.bss);
|
||||
build/OUTCODE/src/game/unk_091080.o (.bss);
|
||||
build/OUTCODE/src/game/chraidata.o (.bss);
|
||||
build/OUTCODE/src/game/pobjdata.o (.bss);
|
||||
build/OUTCODE/src/game/gobjdata.o (.bss);
|
||||
build/OUTCODE/src/game/gobjdata2.o (.bss);
|
||||
build/OUTCODE/src/game/cobjdata.o (.bss);
|
||||
build/OUTCODE/src/game/cheat_buttons.o (.bss);
|
||||
build/OUTCODE/src/game/unk_092890.o (.bss);
|
||||
build/OUTCODE/src/game/unk_092E50.o (.bss);
|
||||
build/OUTCODE/src/game/player.o (.bss);
|
||||
build/OUTCODE/src/game/player_2.o (.bss);
|
||||
build/OUTCODE/src/game/crc.o (.bss);
|
||||
build/OUTCODE/src/game/chrObjRandom.o (.bss);
|
||||
build/OUTCODE/src/game/unk_09B7A0.o (.bss);
|
||||
build/OUTCODE/src/game/explosions.o (.bss);
|
||||
build/OUTCODE/src/game/unk_0A1DA0.o (.bss);
|
||||
build/OUTCODE/src/game/watch.o (.bss);
|
||||
build/OUTCODE/src/game/textrelated.o (.bss);
|
||||
build/OUTCODE/src/game/stan.o (.bss);
|
||||
build/OUTCODE/src/game/unk_0B3200.o (.bss);
|
||||
build/OUTCODE/src/game/bg.o (.bss);
|
||||
build/OUTCODE/src/game/bg2.o (.bss);
|
||||
build/OUTCODE/src/game/fog.o (.bss);
|
||||
build/OUTCODE/src/game/lightfixture.o (.bss);
|
||||
build/OUTCODE/src/game/unk_0BC530.o (.bss);
|
||||
build/OUTCODE/src/game/ob.o (.bss);
|
||||
build/OUTCODE/src/game/dyn.o (.bss);
|
||||
build/OUTCODE/src/game/lvl.o (.bss);
|
||||
build/OUTCODE/src/game/ramromreplay.o (.bss);
|
||||
build/OUTCODE/src/game/unk_0C0A70.o (.bss);
|
||||
build/OUTCODE/src/game/mp_music.o (.bss);
|
||||
build/OUTCODE/src/game/lvl_text.o (.bss);
|
||||
build/OUTCODE/src/game/mp_watch.o (.bss);
|
||||
build/OUTCODE/src/game/radar.o (.bss);
|
||||
build/OUTCODE/src/game/mp_weapon.o (.bss);
|
||||
build/OUTCODE/src/game/image.o (.bss);
|
||||
build/OUTCODE/src/game/image_bank.o (.bss);
|
||||
build/OUTCODE/src/game/unk_0CC4C0.o (.bss);
|
||||
build/OUTCODE/src/game/decompress.o (.bss);
|
||||
build/OUTCODE/src/game/zlib.o (.bss);
|
||||
build/OUTCODE/src/game/rsp.o (.bss);
|
||||
build/OUTCODE/src/game/indy_comms.o (.bss);
|
||||
build/OUTCODE/src/game/indy_commands.o (.bss);
|
||||
build/OUTCODE/src/game/game_debug.o (.bss);
|
||||
build/OUTCODE/src/game/compiletime.o (.bss);
|
||||
build/OUTCODE/src/game/unk_0D1AC0.o (.bss);
|
||||
build/OUTCODE/src/game/viewport.o (.bss);
|
||||
build/OUTCODE/src/game/music_0D2720.o (.bss);
|
||||
#ifndef VERSION_EU
|
||||
build/OUTCODE/src/game/spectrum.o (.bss);
|
||||
#endif
|
||||
@@ -0,0 +1,133 @@
|
||||
build/OUTCODE/src/game/initgamedata.o (.data);
|
||||
build/OUTCODE/src/game/initweaponanigroups.o (.data);
|
||||
build/OUTCODE/src/game/initactorpropstuff.o (.data);
|
||||
build/OUTCODE/src/game/initnull_0009D0.o (.data);
|
||||
build/OUTCODE/src/game/initunk_0009E0.o (.data);
|
||||
build/OUTCODE/src/game/initanitable.o (.data);
|
||||
build/OUTCODE/src/game/initplayergaitobject.o (.data);
|
||||
build/OUTCODE/src/game/setguscale.o (.data);
|
||||
build/OUTCODE/src/game/initnull_000BC0.o (.data);
|
||||
build/OUTCODE/src/game/initimages.o (.data);
|
||||
build/OUTCODE/src/game/initintromatrices.o (.data);
|
||||
build/OUTCODE/src/game/initmenus.o (.data);
|
||||
build/OUTCODE/src/game/initguards.o (.data);
|
||||
build/OUTCODE/src/game/deb_loadallmodels.o (.data);
|
||||
build/OUTCODE/src/game/initobjects.o (.data);
|
||||
build/OUTCODE/src/game/prop.o (.data);
|
||||
build/OUTCODE/src/game/objective.o (.data);
|
||||
build/OUTCODE/src/game/ejectedcartridges.o (.data);
|
||||
build/OUTCODE/src/game/initBondDATA.o (.data);
|
||||
build/OUTCODE/src/game/initunk_005450.o (.data);
|
||||
build/OUTCODE/src/game/initunk_005520.o (.data);
|
||||
build/OUTCODE/src/game/bondview_r.o (.data);
|
||||
build/OUTCODE/src/game/inititemslots.o (.data);
|
||||
build/OUTCODE/src/game/initBondDATAdefaults.o (.data);
|
||||
build/OUTCODE/src/game/initpathtablesomething.o (.data);
|
||||
build/OUTCODE/src/game/initpathtablelinks.o (.data);
|
||||
build/OUTCODE/src/game/initexplosioncasing.o (.data);
|
||||
build/OUTCODE/src/game/alloc_window_pieces.o (.data);
|
||||
build/OUTCODE/src/game/initunk_007290.o (.data);
|
||||
build/OUTCODE/src/game/initcheattext.o (.data);
|
||||
build/OUTCODE/src/game/initmttex.o (.data);
|
||||
build/OUTCODE/src/game/cleanup_guard_data.o (.data);
|
||||
build/OUTCODE/src/game/cleanup_object_sounds.o (.data);
|
||||
build/OUTCODE/src/game/cleanup_alarms.o (.data);
|
||||
build/OUTCODE/src/game/cleanup_objects.o (.data);
|
||||
build/OUTCODE/src/game/cleanup_objectives.o (.data);
|
||||
build/OUTCODE/src/game/cleanupSFXRelated.o (.data);
|
||||
build/OUTCODE/src/game/playerstats_007770.o (.data);
|
||||
build/OUTCODE/src/game/cleanexplosions.o (.data);
|
||||
build/OUTCODE/src/game/cleanwindowpieces.o (.data);
|
||||
build/OUTCODE/src/game/null_007970.o (.data);
|
||||
build/OUTCODE/src/game/cleanplayersound.o (.data);
|
||||
build/OUTCODE/src/game/title.o (.data);
|
||||
build/OUTCODE/src/game/front.o (.data);
|
||||
build/OUTCODE/src/game/unk_01B0E0.o (.data);
|
||||
build/OUTCODE/src/game/unk_01B240.o (.data);
|
||||
build/OUTCODE/src/game/unk_01BAE0.o (.data);
|
||||
build/OUTCODE/src/game/blood_animation.o (.data);
|
||||
build/OUTCODE/src/game/blood_decrypt.o (.data);
|
||||
build/OUTCODE/src/game/file.o (.data);
|
||||
build/OUTCODE/src/game/file2.o (.data);
|
||||
build/OUTCODE/src/game/chr.o (.data);
|
||||
build/OUTCODE/src/game/chr_b.o (.data);
|
||||
build/OUTCODE/src/game/chrlv.o (.data);
|
||||
build/OUTCODE/src/game/chrai.o (.data);
|
||||
build/OUTCODE/src/game/chrprop.o (.data);
|
||||
build/OUTCODE/src/game/chrobjhandler.o (.data);
|
||||
build/OUTCODE/src/game/loadobjectmodel.o (.data);
|
||||
build/OUTCODE/src/game/objective_status.o (.data);
|
||||
build/OUTCODE/src/game/objective_status2.o (.data);
|
||||
build/OUTCODE/src/game/math_sincos.o (.data);
|
||||
build/OUTCODE/src/game/matrixmath.o (.data);
|
||||
build/OUTCODE/src/game/math_unk_05A9E0.o (.data);
|
||||
build/OUTCODE/src/game/math_atan2f.o (.data);
|
||||
build/OUTCODE/src/game/math_asinacos.o (.data);
|
||||
build/OUTCODE/src/game/math_asinfacosf.o (.data);
|
||||
build/OUTCODE/src/game/matrixmath_misc.o (.data);
|
||||
build/OUTCODE/src/game/quaternion.o (.data);
|
||||
build/OUTCODE/src/game/math_floor.o (.data);
|
||||
build/OUTCODE/src/game/math_ceil.o (.data);
|
||||
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/objecthandler_2.o (.data);
|
||||
build/OUTCODE/src/game/othermodemicrocode.o (.data);
|
||||
build/OUTCODE/src/game/bondview.o (.data);
|
||||
build/OUTCODE/src/game/bondinv.o (.data);
|
||||
build/OUTCODE/src/game/bondhead.o (.data);
|
||||
build/OUTCODE/src/game/padhalllv.o (.data);
|
||||
build/OUTCODE/src/game/debugmenu_08FE00.o (.data);
|
||||
build/OUTCODE/src/game/debugmenu_handler.o (.data);
|
||||
build/OUTCODE/src/game/unk_091080.o (.data);
|
||||
build/OUTCODE/src/game/chraidata.o (.data);
|
||||
build/OUTCODE/src/game/pobjdata.o (.data);
|
||||
build/OUTCODE/src/game/gobjdata.o (.data);
|
||||
build/OUTCODE/src/game/gobjdata2.o (.data);
|
||||
build/OUTCODE/src/game/cobjdata.o (.data);
|
||||
build/OUTCODE/src/game/cheat_buttons.o (.data);
|
||||
build/OUTCODE/src/game/unk_092890.o (.data);
|
||||
build/OUTCODE/src/game/unk_092E50.o (.data);
|
||||
build/OUTCODE/src/game/player.o (.data);
|
||||
build/OUTCODE/src/game/player_2.o (.data);
|
||||
build/OUTCODE/src/game/crc.o (.data);
|
||||
build/OUTCODE/src/game/chrObjRandom.o (.data);
|
||||
build/OUTCODE/src/game/unk_09B7A0.o (.data);
|
||||
build/OUTCODE/src/game/explosions.o (.data);
|
||||
build/OUTCODE/src/game/unk_0A1DA0.o (.data);
|
||||
build/OUTCODE/src/game/watch.o (.data);
|
||||
build/OUTCODE/src/game/textrelated.o (.data);
|
||||
build/OUTCODE/src/game/stan.o (.data);
|
||||
build/OUTCODE/src/game/unk_0B3200.o (.data);
|
||||
build/OUTCODE/src/game/bg.o (.data);
|
||||
build/OUTCODE/src/game/bg2.o (.data);
|
||||
build/OUTCODE/src/game/fog.o (.data);
|
||||
build/OUTCODE/src/game/lightfixture.o (.data);
|
||||
build/OUTCODE/src/game/unk_0BC530.o (.data);
|
||||
build/OUTCODE/src/game/ob.o (.data);
|
||||
build/OUTCODE/src/game/dyn.o (.data);
|
||||
build/OUTCODE/src/game/lvl.o (.data);
|
||||
build/OUTCODE/src/game/ramromreplay.o (.data);
|
||||
build/OUTCODE/src/game/unk_0C0A70.o (.data);
|
||||
build/OUTCODE/src/game/mp_music.o (.data);
|
||||
build/OUTCODE/src/game/lvl_text.o (.data);
|
||||
build/OUTCODE/src/game/mp_watch.o (.data);
|
||||
build/OUTCODE/src/game/radar.o (.data);
|
||||
build/OUTCODE/src/game/mp_weapon.o (.data);
|
||||
build/OUTCODE/src/game/image.o (.data);
|
||||
build/OUTCODE/src/game/image_bank.o (.data);
|
||||
build/OUTCODE/src/game/unk_0CC4C0.o (.data);
|
||||
build/OUTCODE/src/game/decompress.o (.data);
|
||||
build/OUTCODE/src/game/zlib.o (.data);
|
||||
build/OUTCODE/src/game/rsp.o (.data);
|
||||
build/OUTCODE/src/game/indy_comms.o (.data);
|
||||
build/OUTCODE/src/game/indy_commands.o (.data);
|
||||
build/OUTCODE/src/game/game_debug.o (.data);
|
||||
build/OUTCODE/src/game/compiletime.o (.data);
|
||||
build/OUTCODE/src/game/unk_0D1AC0.o (.data);
|
||||
build/OUTCODE/src/game/viewport.o (.data);
|
||||
build/OUTCODE/src/game/music_0D2720.o (.data);
|
||||
#ifndef VERSION_EU
|
||||
build/OUTCODE/src/game/spectrum.o (.data);
|
||||
#endif
|
||||
@@ -0,0 +1,133 @@
|
||||
build/OUTCODE/src/game/initgamedata.o (.rodata);
|
||||
build/OUTCODE/src/game/initweaponanigroups.o (.rodata);
|
||||
build/OUTCODE/src/game/initactorpropstuff.o (.rodata);
|
||||
build/OUTCODE/src/game/initnull_0009D0.o (.rodata);
|
||||
build/OUTCODE/src/game/initunk_0009E0.o (.rodata);
|
||||
build/OUTCODE/src/game/initanitable.o (.rodata);
|
||||
build/OUTCODE/src/game/initplayergaitobject.o (.rodata);
|
||||
build/OUTCODE/src/game/setguscale.o (.rodata);
|
||||
build/OUTCODE/src/game/initnull_000BC0.o (.rodata);
|
||||
build/OUTCODE/src/game/initimages.o (.rodata);
|
||||
build/OUTCODE/src/game/initintromatrices.o (.rodata);
|
||||
build/OUTCODE/src/game/initmenus.o (.rodata);
|
||||
build/OUTCODE/src/game/initguards.o (.rodata);
|
||||
build/OUTCODE/src/game/deb_loadallmodels.o (.rodata);
|
||||
build/OUTCODE/src/game/initobjects.o (.rodata);
|
||||
build/OUTCODE/src/game/prop.o (.rodata);
|
||||
build/OUTCODE/src/game/objective.o (.rodata);
|
||||
build/OUTCODE/src/game/ejectedcartridges.o (.rodata);
|
||||
build/OUTCODE/src/game/initBondDATA.o (.rodata);
|
||||
build/OUTCODE/src/game/initunk_005450.o (.rodata);
|
||||
build/OUTCODE/src/game/initunk_005520.o (.rodata);
|
||||
build/OUTCODE/src/game/bondview_r.o (.rodata);
|
||||
build/OUTCODE/src/game/inititemslots.o (.rodata);
|
||||
build/OUTCODE/src/game/initBondDATAdefaults.o (.rodata);
|
||||
build/OUTCODE/src/game/initpathtablesomething.o (.rodata);
|
||||
build/OUTCODE/src/game/initpathtablelinks.o (.rodata);
|
||||
build/OUTCODE/src/game/initexplosioncasing.o (.rodata);
|
||||
build/OUTCODE/src/game/alloc_window_pieces.o (.rodata);
|
||||
build/OUTCODE/src/game/initunk_007290.o (.rodata);
|
||||
build/OUTCODE/src/game/initcheattext.o (.rodata);
|
||||
build/OUTCODE/src/game/initmttex.o (.rodata);
|
||||
build/OUTCODE/src/game/cleanup_guard_data.o (.rodata);
|
||||
build/OUTCODE/src/game/cleanup_object_sounds.o (.rodata);
|
||||
build/OUTCODE/src/game/cleanup_alarms.o (.rodata);
|
||||
build/OUTCODE/src/game/cleanup_objects.o (.rodata);
|
||||
build/OUTCODE/src/game/cleanup_objectives.o (.rodata);
|
||||
build/OUTCODE/src/game/cleanupSFXRelated.o (.rodata);
|
||||
build/OUTCODE/src/game/playerstats_007770.o (.rodata);
|
||||
build/OUTCODE/src/game/cleanexplosions.o (.rodata);
|
||||
build/OUTCODE/src/game/cleanwindowpieces.o (.rodata);
|
||||
build/OUTCODE/src/game/null_007970.o (.rodata);
|
||||
build/OUTCODE/src/game/cleanplayersound.o (.rodata);
|
||||
build/OUTCODE/src/game/title.o (.rodata);
|
||||
build/OUTCODE/src/game/front.o (.rodata);
|
||||
build/OUTCODE/src/game/unk_01B0E0.o (.rodata);
|
||||
build/OUTCODE/src/game/unk_01B240.o (.rodata);
|
||||
build/OUTCODE/src/game/unk_01BAE0.o (.rodata);
|
||||
build/OUTCODE/src/game/blood_animation.o (.rodata);
|
||||
build/OUTCODE/src/game/blood_decrypt.o (.rodata);
|
||||
build/OUTCODE/src/game/file.o (.rodata);
|
||||
build/OUTCODE/src/game/file2.o (.rodata);
|
||||
build/OUTCODE/src/game/chr.o (.rodata);
|
||||
build/OUTCODE/src/game/chr_b.o (.rodata);
|
||||
build/OUTCODE/src/game/chrlv.o (.rodata);
|
||||
build/OUTCODE/src/game/chrai.o (.rodata);
|
||||
build/OUTCODE/src/game/chrprop.o (.rodata);
|
||||
build/OUTCODE/src/game/chrobjhandler.o (.rodata);
|
||||
build/OUTCODE/src/game/loadobjectmodel.o (.rodata);
|
||||
build/OUTCODE/src/game/objective_status.o (.rodata);
|
||||
build/OUTCODE/src/game/objective_status2.o (.rodata);
|
||||
build/OUTCODE/src/game/math_sincos.o (.rodata);
|
||||
build/OUTCODE/src/game/matrixmath.o (.rodata);
|
||||
build/OUTCODE/src/game/math_unk_05A9E0.o (.rodata);
|
||||
build/OUTCODE/src/game/math_atan2f.o (.rodata);
|
||||
build/OUTCODE/src/game/math_asinacos.o (.rodata);
|
||||
build/OUTCODE/src/game/math_asinfacosf.o (.rodata);
|
||||
build/OUTCODE/src/game/matrixmath_misc.o (.rodata);
|
||||
build/OUTCODE/src/game/quaternion.o (.rodata);
|
||||
build/OUTCODE/src/game/math_floor.o (.rodata);
|
||||
build/OUTCODE/src/game/math_ceil.o (.rodata);
|
||||
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/objecthandler_2.o (.rodata);
|
||||
build/OUTCODE/src/game/othermodemicrocode.o (.rodata);
|
||||
build/OUTCODE/src/game/bondview.o (.rodata);
|
||||
build/OUTCODE/src/game/bondinv.o (.rodata);
|
||||
build/OUTCODE/src/game/bondhead.o (.rodata);
|
||||
build/OUTCODE/src/game/padhalllv.o (.rodata);
|
||||
build/OUTCODE/src/game/debugmenu_08FE00.o (.rodata);
|
||||
build/OUTCODE/src/game/debugmenu_handler.o (.rodata);
|
||||
build/OUTCODE/src/game/unk_091080.o (.rodata);
|
||||
build/OUTCODE/src/game/chraidata.o (.rodata);
|
||||
build/OUTCODE/src/game/pobjdata.o (.rodata);
|
||||
build/OUTCODE/src/game/gobjdata.o (.rodata);
|
||||
build/OUTCODE/src/game/gobjdata2.o (.rodata);
|
||||
build/OUTCODE/src/game/cobjdata.o (.rodata);
|
||||
build/OUTCODE/src/game/cheat_buttons.o (.rodata);
|
||||
build/OUTCODE/src/game/unk_092890.o (.rodata);
|
||||
build/OUTCODE/src/game/unk_092E50.o (.rodata);
|
||||
build/OUTCODE/src/game/player.o (.rodata);
|
||||
build/OUTCODE/src/game/player_2.o (.rodata);
|
||||
build/OUTCODE/src/game/crc.o (.rodata);
|
||||
build/OUTCODE/src/game/chrObjRandom.o (.rodata);
|
||||
build/OUTCODE/src/game/unk_09B7A0.o (.rodata);
|
||||
build/OUTCODE/src/game/explosions.o (.rodata);
|
||||
build/OUTCODE/src/game/unk_0A1DA0.o (.rodata);
|
||||
build/OUTCODE/src/game/watch.o (.rodata);
|
||||
build/OUTCODE/src/game/textrelated.o (.rodata);
|
||||
build/OUTCODE/src/game/stan.o (.rodata);
|
||||
build/OUTCODE/src/game/unk_0B3200.o (.rodata);
|
||||
build/OUTCODE/src/game/bg.o (.rodata);
|
||||
build/OUTCODE/src/game/bg2.o (.rodata);
|
||||
build/OUTCODE/src/game/fog.o (.rodata);
|
||||
build/OUTCODE/src/game/lightfixture.o (.rodata);
|
||||
build/OUTCODE/src/game/unk_0BC530.o (.rodata);
|
||||
build/OUTCODE/src/game/ob.o (.rodata);
|
||||
build/OUTCODE/src/game/dyn.o (.rodata);
|
||||
build/OUTCODE/src/game/lvl.o (.rodata);
|
||||
build/OUTCODE/src/game/ramromreplay.o (.rodata);
|
||||
build/OUTCODE/src/game/unk_0C0A70.o (.rodata);
|
||||
build/OUTCODE/src/game/mp_music.o (.rodata);
|
||||
build/OUTCODE/src/game/lvl_text.o (.rodata);
|
||||
build/OUTCODE/src/game/mp_watch.o (.rodata);
|
||||
build/OUTCODE/src/game/radar.o (.rodata);
|
||||
build/OUTCODE/src/game/mp_weapon.o (.rodata);
|
||||
build/OUTCODE/src/game/image.o (.rodata);
|
||||
build/OUTCODE/src/game/image_bank.o (.rodata);
|
||||
build/OUTCODE/src/game/unk_0CC4C0.o (.rodata);
|
||||
build/OUTCODE/src/game/decompress.o (.rodata);
|
||||
build/OUTCODE/src/game/zlib.o (.rodata);
|
||||
build/OUTCODE/src/game/rsp.o (.rodata);
|
||||
build/OUTCODE/src/game/indy_comms.o (.rodata);
|
||||
build/OUTCODE/src/game/indy_commands.o (.rodata);
|
||||
build/OUTCODE/src/game/game_debug.o (.rodata);
|
||||
build/OUTCODE/src/game/compiletime.o (.rodata);
|
||||
build/OUTCODE/src/game/unk_0D1AC0.o (.rodata);
|
||||
build/OUTCODE/src/game/viewport.o (.rodata);
|
||||
build/OUTCODE/src/game/music_0D2720.o (.rodata);
|
||||
#ifndef VERSION_EU
|
||||
build/OUTCODE/src/game/spectrum.o (.rodata);
|
||||
#endif
|
||||
@@ -0,0 +1,133 @@
|
||||
build/OUTCODE/src/game/initgamedata.o (.text);
|
||||
build/OUTCODE/src/game/initweaponanigroups.o (.text);
|
||||
build/OUTCODE/src/game/initactorpropstuff.o (.text);
|
||||
build/OUTCODE/src/game/initnull_0009D0.o (.text);
|
||||
build/OUTCODE/src/game/initunk_0009E0.o (.text);
|
||||
build/OUTCODE/src/game/initanitable.o (.text);
|
||||
build/OUTCODE/src/game/initplayergaitobject.o (.text);
|
||||
build/OUTCODE/src/game/setguscale.o (.text);
|
||||
build/OUTCODE/src/game/initnull_000BC0.o (.text);
|
||||
build/OUTCODE/src/game/initimages.o (.text);
|
||||
build/OUTCODE/src/game/initintromatrices.o (.text);
|
||||
build/OUTCODE/src/game/initmenus.o (.text);
|
||||
build/OUTCODE/src/game/initguards.o (.text);
|
||||
build/OUTCODE/src/game/deb_loadallmodels.o (.text);
|
||||
build/OUTCODE/src/game/initobjects.o (.text);
|
||||
build/OUTCODE/src/game/prop.o (.text);
|
||||
build/OUTCODE/src/game/objective.o (.text);
|
||||
build/OUTCODE/src/game/ejectedcartridges.o (.text);
|
||||
build/OUTCODE/src/game/initBondDATA.o (.text);
|
||||
build/OUTCODE/src/game/initunk_005450.o (.text);
|
||||
build/OUTCODE/src/game/initunk_005520.o (.text);
|
||||
build/OUTCODE/src/game/bondview_r.o (.text);
|
||||
build/OUTCODE/src/game/inititemslots.o (.text);
|
||||
build/OUTCODE/src/game/initBondDATAdefaults.o (.text);
|
||||
build/OUTCODE/src/game/initpathtablesomething.o (.text);
|
||||
build/OUTCODE/src/game/initpathtablelinks.o (.text);
|
||||
build/OUTCODE/src/game/initexplosioncasing.o (.text);
|
||||
build/OUTCODE/src/game/alloc_window_pieces.o (.text);
|
||||
build/OUTCODE/src/game/initunk_007290.o (.text);
|
||||
build/OUTCODE/src/game/initcheattext.o (.text);
|
||||
build/OUTCODE/src/game/initmttex.o (.text);
|
||||
build/OUTCODE/src/game/cleanup_guard_data.o (.text);
|
||||
build/OUTCODE/src/game/cleanup_object_sounds.o (.text);
|
||||
build/OUTCODE/src/game/cleanup_alarms.o (.text);
|
||||
build/OUTCODE/src/game/cleanup_objects.o (.text);
|
||||
build/OUTCODE/src/game/cleanup_objectives.o (.text);
|
||||
build/OUTCODE/src/game/cleanupSFXRelated.o (.text);
|
||||
build/OUTCODE/src/game/playerstats_007770.o (.text);
|
||||
build/OUTCODE/src/game/cleanexplosions.o (.text);
|
||||
build/OUTCODE/src/game/cleanwindowpieces.o (.text);
|
||||
build/OUTCODE/src/game/null_007970.o (.text);
|
||||
build/OUTCODE/src/game/cleanplayersound.o (.text);
|
||||
build/OUTCODE/src/game/title.o (.text);
|
||||
build/OUTCODE/src/game/front.o (.text);
|
||||
build/OUTCODE/src/game/unk_01B0E0.o (.text);
|
||||
build/OUTCODE/src/game/unk_01B240.o (.text);
|
||||
build/OUTCODE/src/game/unk_01BAE0.o (.text);
|
||||
build/OUTCODE/src/game/blood_animation.o (.text);
|
||||
build/OUTCODE/src/game/blood_decrypt.o (.text);
|
||||
build/OUTCODE/src/game/file.o (.text);
|
||||
build/OUTCODE/src/game/file2.o (.text);
|
||||
build/OUTCODE/src/game/chr.o (.text);
|
||||
build/OUTCODE/src/game/chr_b.o (.text);
|
||||
build/OUTCODE/src/game/chrlv.o (.text);
|
||||
build/OUTCODE/src/game/chrai.o (.text);
|
||||
build/OUTCODE/src/game/chrprop.o (.text);
|
||||
build/OUTCODE/src/game/chrobjhandler.o (.text);
|
||||
build/OUTCODE/src/game/loadobjectmodel.o (.text);
|
||||
build/OUTCODE/src/game/objective_status.o (.text);
|
||||
build/OUTCODE/src/game/objective_status2.o (.text);
|
||||
build/OUTCODE/src/game/math_sincos.o (.text);
|
||||
build/OUTCODE/src/game/matrixmath.o (.text);
|
||||
build/OUTCODE/src/game/math_unk_05A9E0.o (.text);
|
||||
build/OUTCODE/src/game/math_atan2f.o (.text);
|
||||
build/OUTCODE/src/game/math_asinacos.o (.text);
|
||||
build/OUTCODE/src/game/math_asinfacosf.o (.text);
|
||||
build/OUTCODE/src/game/matrixmath_misc.o (.text);
|
||||
build/OUTCODE/src/game/quaternion.o (.text);
|
||||
build/OUTCODE/src/game/math_floor.o (.text);
|
||||
build/OUTCODE/src/game/math_ceil.o (.text);
|
||||
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/objecthandler_2.o (.text);
|
||||
build/OUTCODE/src/game/othermodemicrocode.o (.text);
|
||||
build/OUTCODE/src/game/bondview.o (.text);
|
||||
build/OUTCODE/src/game/bondinv.o (.text);
|
||||
build/OUTCODE/src/game/bondhead.o (.text);
|
||||
build/OUTCODE/src/game/padhalllv.o (.text);
|
||||
build/OUTCODE/src/game/debugmenu_08FE00.o (.text);
|
||||
build/OUTCODE/src/game/debugmenu_handler.o (.text);
|
||||
build/OUTCODE/src/game/unk_091080.o (.text);
|
||||
build/OUTCODE/src/game/chraidata.o (.text);
|
||||
build/OUTCODE/src/game/pobjdata.o (.text);
|
||||
build/OUTCODE/src/game/gobjdata.o (.text);
|
||||
build/OUTCODE/src/game/gobjdata2.o (.text);
|
||||
build/OUTCODE/src/game/cobjdata.o (.text);
|
||||
build/OUTCODE/src/game/cheat_buttons.o (.text);
|
||||
build/OUTCODE/src/game/unk_092890.o (.text);
|
||||
build/OUTCODE/src/game/unk_092E50.o (.text);
|
||||
build/OUTCODE/src/game/player.o (.text);
|
||||
build/OUTCODE/src/game/player_2.o (.text);
|
||||
build/OUTCODE/src/game/crc.o (.text);
|
||||
build/OUTCODE/src/game/chrObjRandom.o (.text);
|
||||
build/OUTCODE/src/game/unk_09B7A0.o (.text);
|
||||
build/OUTCODE/src/game/explosions.o (.text);
|
||||
build/OUTCODE/src/game/unk_0A1DA0.o (.text);
|
||||
build/OUTCODE/src/game/watch.o (.text);
|
||||
build/OUTCODE/src/game/textrelated.o (.text);
|
||||
build/OUTCODE/src/game/stan.o (.text);
|
||||
build/OUTCODE/src/game/unk_0B3200.o (.text);
|
||||
build/OUTCODE/src/game/bg.o (.text);
|
||||
build/OUTCODE/src/game/bg2.o (.text);
|
||||
build/OUTCODE/src/game/fog.o (.text);
|
||||
build/OUTCODE/src/game/lightfixture.o (.text);
|
||||
build/OUTCODE/src/game/unk_0BC530.o (.text);
|
||||
build/OUTCODE/src/game/ob.o (.text);
|
||||
build/OUTCODE/src/game/dyn.o (.text);
|
||||
build/OUTCODE/src/game/lvl.o (.text);
|
||||
build/OUTCODE/src/game/ramromreplay.o (.text);
|
||||
build/OUTCODE/src/game/unk_0C0A70.o (.text);
|
||||
build/OUTCODE/src/game/mp_music.o (.text);
|
||||
build/OUTCODE/src/game/lvl_text.o (.text);
|
||||
build/OUTCODE/src/game/mp_watch.o (.text);
|
||||
build/OUTCODE/src/game/radar.o (.text);
|
||||
build/OUTCODE/src/game/mp_weapon.o (.text);
|
||||
build/OUTCODE/src/game/image.o (.text);
|
||||
build/OUTCODE/src/game/image_bank.o (.text);
|
||||
build/OUTCODE/src/game/unk_0CC4C0.o (.text);
|
||||
build/OUTCODE/src/game/decompress.o (.text);
|
||||
build/OUTCODE/src/game/zlib.o (.text);
|
||||
build/OUTCODE/src/game/rsp.o (.text);
|
||||
build/OUTCODE/src/game/indy_comms.o (.text);
|
||||
build/OUTCODE/src/game/indy_commands.o (.text);
|
||||
build/OUTCODE/src/game/game_debug.o (.text);
|
||||
build/OUTCODE/src/game/compiletime.o (.text);
|
||||
build/OUTCODE/src/game/unk_0D1AC0.o (.text);
|
||||
build/OUTCODE/src/game/viewport.o (.text);
|
||||
build/OUTCODE/src/game/music_0D2720.o (.text);
|
||||
#ifndef VERSION_EU
|
||||
build/OUTCODE/src/game/spectrum.o (.text);
|
||||
#endif
|
||||
+2699
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,252 @@
|
||||
build/OUTCODE/src/boot.o (.bss);
|
||||
build/OUTCODE/src/init.o (.bss);
|
||||
build/OUTCODE/src/sched.o (.bss);
|
||||
build/OUTCODE/src/osMapTLB.o (.bss);
|
||||
#ifdef VERSION_EU
|
||||
build/OUTCODE/src/libultrare/io/vimgr.o (.bss);
|
||||
build/OUTCODE/src/libultrare/io/pimgr.o (.bss);
|
||||
#endif
|
||||
build/OUTCODE/src/tlb_manage.o (.bss);
|
||||
build/OUTCODE/src/tlb_random.o (.bss);
|
||||
build/OUTCODE/src/tlb_resolve.o (.bss);
|
||||
build/OUTCODE/src/audi.o (.bss);
|
||||
build/OUTCODE/src/speed_graph.o (.bss);
|
||||
build/OUTCODE/src/fr.o (.bss);
|
||||
build/OUTCODE/src/deb.o (.bss);
|
||||
build/OUTCODE/src/crash.o (.bss);
|
||||
/*deb_print may be part of fault per pd beta (.bss);*/
|
||||
/*build/OUTCODE/src/deb_print.o (.bss);*/
|
||||
build/OUTCODE/src/getra.o (.bss);
|
||||
build/OUTCODE/src/ramrom.o (.bss);
|
||||
build/OUTCODE/src/boss.o (.bss);
|
||||
build/OUTCODE/src/music.o (.bss);
|
||||
build/OUTCODE/src/snd.o (.bss);
|
||||
build/OUTCODE/src/memp.o (.bss);
|
||||
build/OUTCODE/src/mema.o (.bss);
|
||||
build/OUTCODE/src/random.o (.bss);
|
||||
build/OUTCODE/src/token.o (.bss);
|
||||
build/OUTCODE/src/str.o (.bss);
|
||||
build/OUTCODE/src/sprintf.o (.bss);
|
||||
build/OUTCODE/src/pi.o (.bss);
|
||||
build/OUTCODE/src/vi.o (.bss);
|
||||
build/OUTCODE/src/debugmenu.o (.bss);
|
||||
build/OUTCODE/src/joy.o (.bss);
|
||||
build/OUTCODE/src/motor.o (.bss);
|
||||
#ifdef VERSION_EU
|
||||
build/OUTCODE/src/libultrare/io/leointerrupt.o (.bss);
|
||||
#endif
|
||||
build/OUTCODE/src/rmon.o (.bss);
|
||||
#ifdef ENABLE_USB
|
||||
build/OUTCODE/src/usb.o (.bss);
|
||||
#endif
|
||||
/*build/OUTCODE/src/libultra/osPiRawStartDma.o (.bss);*/
|
||||
build/OUTCODE/src/libultra/io/pirawdma.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/pigetstat.o (.bss);
|
||||
build/OUTCODE/src/libultrare/os/initialize.o (.bss);
|
||||
build/OUTCODE/src/libultra/os/writebackdcacheall.o (.bss);
|
||||
build/OUTCODE/src/libultra/os/invalicache.o (.bss);
|
||||
build/OUTCODE/src/libultra/os/unmaptlb.o (.bss);
|
||||
build/OUTCODE/src/libultra/os/getfpccsr.o (.bss);
|
||||
build/OUTCODE/src/libultra/os/setfpccsr.o (.bss);
|
||||
build/OUTCODE/src/libultra/os/createthread.o (.bss);
|
||||
build/OUTCODE/src/libultra/os/startthread.o (.bss);
|
||||
build/OUTCODE/src/libultra/os/createmesgqueue.o (.bss);
|
||||
build/OUTCODE/src/libultra/os/parameters.o (.bss);
|
||||
build/OUTCODE/src/libultra/os/stopthread.o (.bss);
|
||||
build/OUTCODE/src/libultra/os/setthreadpri.o (.bss);
|
||||
build/OUTCODE/src/libultra/os/getcount.o (.bss);
|
||||
#ifndef VERSION_EU
|
||||
build/OUTCODE/src/libultrare/io/vimgr.o (.bss);
|
||||
#endif
|
||||
build/OUTCODE/src/libultrare/io/vitbl.o (.bss); /*edited*/
|
||||
build/OUTCODE/src/libultra/os/seteventmesg.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/visetevent.o (.bss);
|
||||
build/OUTCODE/src/libultra/os/setintmask.o (.bss);
|
||||
build/OUTCODE/src/libultra/os/recvmesg.o (.bss);
|
||||
build/OUTCODE/src/libultra/os/sendmesg.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/visetmode.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/visetxscale.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/visetyscale.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/virepeatline.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/viblack.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/sptaskyielded.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/dpctr.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/vigetcurrframebuf.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/vigetnextframebuf.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/viswapbuf.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/dpsetstat.o (.bss);
|
||||
build/OUTCODE/src/libultrare/io/sptask.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/dpsetnextbuf.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/sptaskyield.o (.bss);
|
||||
#ifdef VERSION_EU
|
||||
build/OUTCODE/src/libultra/os/timerintr.o (.bss);
|
||||
build/OUTCODE/src/libultra/os/getthreadpri.o (.bss);
|
||||
build/OUTCODE/src/libultra/os/interrupt.o (.bss);
|
||||
build/OUTCODE/src/libultrare/io/vi.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/vigetcurrcontext.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/viswapcontext.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/piacs.o (.bss);
|
||||
build/OUTCODE/src/libultrare/io/epirawdma.o (.bss);
|
||||
build/OUTCODE/src/libultrare/io/devmgr.o (.bss);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/os/gettlbhi.o (.bss);
|
||||
build/OUTCODE/src/libultra/os/virtualtophysical.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/aisetfreq.o (.bss);
|
||||
build/OUTCODE/src/libultra/audio/sl.o (.bss);
|
||||
build/OUTCODE/src/libultra/audio/heapalloc.o (.bss);
|
||||
build/OUTCODE/src/libultra/os/gettime.o (.bss);
|
||||
build/OUTCODE/src/libultra/libc/ll.o (.bss); /*edited*/
|
||||
build/OUTCODE/src/libultrare/io/aisetnextbuf.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/aigetlen.o (.bss);
|
||||
build/OUTCODE/src/libultra/audio/synthesizer.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/pidma.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/visetspecial.o (.bss);
|
||||
build/OUTCODE/src/libultra/libc/bcopy.o (.bss);
|
||||
build/OUTCODE/src/libultra/gu/perspective.o (.bss);
|
||||
build/OUTCODE/src/libultra/gu/mtxutil.o (.bss);
|
||||
build/OUTCODE/src/libultra/os/getcurrfaultthread.o (.bss);
|
||||
build/OUTCODE/src/libultra/os/exception.o (.bss); /*edited*/
|
||||
build/OUTCODE/src/libultra/os/thread.o (.bss);
|
||||
build/OUTCODE/src/libultra/os/yieldthread.o (.bss);
|
||||
build/OUTCODE/src/libultra/os/invaldcache.o (.bss);
|
||||
build/OUTCODE/src/libultra/os/writebackdcache.o (.bss);
|
||||
build/OUTCODE/src/libultra/os/settimer.o (.bss);
|
||||
build/OUTCODE/src/libultra/audio/heapinit.o (.bss);
|
||||
build/OUTCODE/src/libultra/audio/bnkf.o (.bss);
|
||||
build/OUTCODE/src/libultra/audio/csplayer.o (.bss);
|
||||
build/OUTCODE/src/libultra/audio/seqpsetbank.o (.bss);
|
||||
build/OUTCODE/src/libultra/audio/cspgetstate.o (.bss);
|
||||
build/OUTCODE/src/libultra/audio/cseq.o (.bss);
|
||||
build/OUTCODE/src/libultra/audio/cspsetseq.o (.bss);
|
||||
build/OUTCODE/src/libultra/audio/cspplay.o (.bss);
|
||||
build/OUTCODE/src/libultra/audio/cspstop.o (.bss);
|
||||
build/OUTCODE/src/libultra/audio/cspsetvol.o (.bss);
|
||||
build/OUTCODE/src/libultra/audio/event.o (.bss);
|
||||
build/OUTCODE/src/libultra/audio/synaddplayer.o (.bss);
|
||||
build/OUTCODE/src/libultra/audio/synallocvoice.o (.bss);
|
||||
build/OUTCODE/src/libultra/audio/synsetvol.o (.bss);
|
||||
build/OUTCODE/src/libultra/audio/synstartvoice.o (.bss);
|
||||
build/OUTCODE/src/libultra/audio/synsetpan.o (.bss);
|
||||
build/OUTCODE/src/libultra/audio/synsetpitch.o (.bss);
|
||||
build/OUTCODE/src/libultra/audio/synsetfxmix.o (.bss);
|
||||
build/OUTCODE/src/libultra/audio/synstopvoice.o (.bss);
|
||||
build/OUTCODE/src/libultra/audio/synfreevoice.o (.bss);
|
||||
build/OUTCODE/src/libultra/audio/cents2ratio.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/piread.o (.bss);
|
||||
#ifdef ENABLE_USB
|
||||
build/OUTCODE/src/libultra/io/piwrite.o (.bss);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/libc/string.o (.bss);
|
||||
build/OUTCODE/src/libultrare/libc/xprintf.o (.bss);
|
||||
#ifndef VERSION_EU
|
||||
build/OUTCODE/src/libultrare/io/pimgr.o (.bss);
|
||||
#endif
|
||||
build/OUTCODE/src/libultrare/io/pfsinit.o (.bss);
|
||||
build/OUTCODE/src/libultrare/io/controller.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/contquery.o (.bss);
|
||||
build/OUTCODE/src/libultrare/io/contreaddata.o (.bss);
|
||||
build/OUTCODE/src/libultrare/io/conteepprobe.o (.bss);
|
||||
build/OUTCODE/src/libultrare/io/conteepread.o (.bss);
|
||||
build/OUTCODE/src/libultrare/io/conteepwrite.o (.bss);
|
||||
build/OUTCODE/src/libultrare/io/conteeplongread.o (.bss);
|
||||
build/OUTCODE/src/libultrare/io/conteeplongwrite.o (.bss);
|
||||
build/OUTCODE/src/libultrare/io/pfsisplug.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/siacs.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/sirawdma.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/crc.o (.bss);
|
||||
build/OUTCODE/src/libultrare/io/contramwrite.o (.bss);
|
||||
build/OUTCODE/src/libultrare/io/contramread.o (.bss);
|
||||
build/OUTCODE/src/libultra/gu/align.o (.bss);
|
||||
build/OUTCODE/src/libultra/gu/ortho.o (.bss);
|
||||
build/OUTCODE/src/libultra/gu/coss.o (.bss);
|
||||
build/OUTCODE/src/libultra/gu/sins.o (.bss);
|
||||
build/OUTCODE/src/libultra/gu/translate.o (.bss);
|
||||
build/OUTCODE/src/libultra/libc/bcmp.o (.bss);
|
||||
build/OUTCODE/src/libultra/gu/scale.o (.bss);
|
||||
build/OUTCODE/src/libultra/gu/lookatref.o (.bss);
|
||||
build/OUTCODE/src/libultra/gu/lookat.o (.bss);
|
||||
build/OUTCODE/src/libultra/gu/rotate.o (.bss);
|
||||
build/OUTCODE/src/libultra/libc/llcvt.o (.bss); /*edited*/
|
||||
build/OUTCODE/src/libultra/os/setsr.o (.bss);
|
||||
build/OUTCODE/src/libultra/os/getsr.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/sirawread.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/sirawwrite.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/pirawread.o (.bss);
|
||||
#ifdef ENABLE_USB
|
||||
build/OUTCODE/src/libultra/io/pirawwrite.o (.bss);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/libc/bzero.o (.bss);
|
||||
build/OUTCODE/src/libultra/os/sethwinterrupt.o (.bss);
|
||||
#ifndef VERSION_EU
|
||||
build/OUTCODE/src/libultrare/io/leointerrupt.o (.bss);
|
||||
build/OUTCODE/src/libultra/os/interrupt.o (.bss);
|
||||
build/OUTCODE/src/libultra/os/timerintr.o (.bss);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/os/kdebugserver.o (.bss);
|
||||
#ifndef VERSION_EU
|
||||
build/OUTCODE/src/libultra/os/getthreadpri.o (.bss);
|
||||
build/OUTCODE/src/libultrare/io/vi.o (.bss); /*edited*/
|
||||
build/OUTCODE/src/libultra/io/vigetcurrcontext.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/viswapcontext.o (.bss);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/io/spgetstat.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/spsetstat.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/spsetpc.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/sprawdma.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/sp.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/dp.o (.bss);
|
||||
#ifdef VERSION_EU
|
||||
build/OUTCODE/src/libultra/os/setcompare.o (.bss);
|
||||
build/OUTCODE/src/libultra/os/resetglobalintmask.o (.bss);
|
||||
build/OUTCODE/src/libultrare/io/epirawwrite.o (.bss);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/os/probetlb.o (.bss);
|
||||
build/OUTCODE/src/libultra/audio/syndelete.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/ai.o (.bss);
|
||||
build/OUTCODE/src/libultrare/audio/drvrNew.o (.bss);
|
||||
build/OUTCODE/src/libultra/audio/synallocfx.o (.bss);
|
||||
build/OUTCODE/src/libultra/audio/mainbus.o (.bss);
|
||||
build/OUTCODE/src/libultra/audio/load.o (.bss);
|
||||
build/OUTCODE/src/libultra/audio/resample.o (.bss);
|
||||
build/OUTCODE/src/libultrare/audio/env.o (.bss); /*edited*/
|
||||
build/OUTCODE/src/libultra/audio/auxbus.o (.bss);
|
||||
build/OUTCODE/src/libultra/audio/save.o (.bss);
|
||||
build/OUTCODE/src/libultra/os/jammesg.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/pigetcmdq.o (.bss);
|
||||
build/OUTCODE/src/libultra/gu/cosf.o (.bss); /*edited*/
|
||||
build/OUTCODE/src/libultra/gu/sinf.o (.bss); /*edited*/
|
||||
build/OUTCODE/src/libultrare/os/destroythread.o (.bss);
|
||||
build/OUTCODE/src/libultra/audio/seqplayer.o (.bss);
|
||||
build/OUTCODE/src/libultra/audio/synstartvoiceparam.o (.bss);
|
||||
build/OUTCODE/src/libultra/audio/copy.o (.bss);
|
||||
#ifndef VERSION_EU
|
||||
build/OUTCODE/src/libultra/io/piacs.o (.bss);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/libc/xlitob.o (.bss);
|
||||
build/OUTCODE/src/libultra/libc/xldtob.o (.bss);
|
||||
#ifndef VERSION_EU
|
||||
build/OUTCODE/src/libultrare/io/epirawdma.o (.bss);
|
||||
build/OUTCODE/src/libultrare/io/devmgr.o (.bss);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/io/contpfs.o (.bss);
|
||||
build/OUTCODE/src/libultra/io/si.o (.bss);
|
||||
build/OUTCODE/src/libultra/gu/normalize.o (.bss);
|
||||
build/OUTCODE/src/libultra/gu/sqrtf.o (.bss);
|
||||
#ifndef VERSION_EU
|
||||
build/OUTCODE/src/libultrare/io/leodiskinit.o (.bss);
|
||||
build/OUTCODE/src/libultra/os/setcompare.o (.bss);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/audio/filter.o (.bss);
|
||||
build/OUTCODE/src/libultrare/audio/reverb.o (.bss); /*edited*/
|
||||
build/OUTCODE/src/libultra/gu/libm_vals.o (.bss); /*edited*/
|
||||
build/OUTCODE/src/libultra/audio/seq.o (.bss);
|
||||
build/OUTCODE/src/libultra/audio/synsetpriority.o (.bss);
|
||||
build/OUTCODE/src/libultra/libc/ldiv.o (.bss);
|
||||
#ifndef VERSION_EU
|
||||
build/OUTCODE/src/libultra/os/resetglobalintmask.o (.bss);
|
||||
build/OUTCODE/src/libultrare/io/epirawwrite.o (.bss);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/io/vimodentsclan1.o (.bss);
|
||||
build/OUTCODE/src/libultrare/io/vimodepallan1.o (.bss);
|
||||
build/OUTCODE/src/libultrare/ultra80069080.o (.bss); /*edited*/
|
||||
/*build/OUTCODE/src/libultra/libultra.a:libultra.o (.bss);*/
|
||||
@@ -0,0 +1,256 @@
|
||||
build/OUTCODE/src/boot.o (.data);
|
||||
build/OUTCODE/src/init.o (.data);
|
||||
build/OUTCODE/src/sched.o (.data);
|
||||
build/OUTCODE/src/osMapTLB.o (.data);
|
||||
#ifdef VERSION_EU
|
||||
build/OUTCODE/src/libultrare/io/vimgr.o (.data);
|
||||
build/OUTCODE/src/libultrare/io/pimgr.o (.data);
|
||||
#endif
|
||||
build/OUTCODE/src/tlb_manage.o (.data);
|
||||
build/OUTCODE/src/tlb_random.o (.data);
|
||||
build/OUTCODE/src/tlb_resolve.o (.data);
|
||||
build/OUTCODE/src/tlb_hardwire.o (.data);
|
||||
build/OUTCODE/src/audi.o (.data);
|
||||
build/OUTCODE/src/speed_graph.o (.data);
|
||||
build/OUTCODE/src/fr.o (.data);
|
||||
build/OUTCODE/src/deb.o (.data);
|
||||
build/OUTCODE/src/crash.o (.data);
|
||||
/*deb_print may be part of fault per pd beta (.data);*/
|
||||
/*build/OUTCODE/src/deb_print.o (.data);*/
|
||||
build/OUTCODE/src/getra.o (.data);
|
||||
build/OUTCODE/src/ramrom.o (.data);
|
||||
build/OUTCODE/src/boss.o (.data);
|
||||
build/OUTCODE/src/music.o (.data);
|
||||
build/OUTCODE/src/snd.o (.data);
|
||||
build/OUTCODE/src/memp.o (.data);
|
||||
build/OUTCODE/src/mema.o (.data);
|
||||
build/OUTCODE/src/random.o (.data);
|
||||
build/OUTCODE/src/token.o (.data);
|
||||
build/OUTCODE/src/str.o (.data);
|
||||
build/OUTCODE/src/sprintf.o (.data);
|
||||
build/OUTCODE/src/pi.o (.data);
|
||||
build/OUTCODE/src/vi.o (.data);
|
||||
build/OUTCODE/src/debugmenu.o (.data);
|
||||
build/OUTCODE/src/joy.o (.data);
|
||||
build/OUTCODE/src/motor.o (.data);
|
||||
#ifdef VERSION_EU
|
||||
build/OUTCODE/src/libultrare/io/leointerrupt.o (.data);
|
||||
#endif
|
||||
build/OUTCODE/src/rmon.o (.data);
|
||||
#ifdef ENABLE_USB
|
||||
build/OUTCODE/src/usb.o (.data);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/io/pirawdma.o (.data);
|
||||
build/OUTCODE/src/libultra/io/pigetstat.o (.data);
|
||||
build/OUTCODE/src/libultrare/os/initialize.o (.data);
|
||||
build/OUTCODE/src/libultra/os/writebackdcacheall.o (.data);
|
||||
build/OUTCODE/src/libultra/os/invalicache.o (.data);
|
||||
build/OUTCODE/src/libultra/os/unmaptlb.o (.data);
|
||||
build/OUTCODE/src/libultra/os/getfpccsr.o (.data);
|
||||
build/OUTCODE/src/libultra/os/setfpccsr.o (.data);
|
||||
build/OUTCODE/src/libultra/os/createthread.o (.data);
|
||||
build/OUTCODE/src/libultra/os/startthread.o (.data);
|
||||
build/OUTCODE/src/libultra/os/createmesgqueue.o (.data);
|
||||
build/OUTCODE/src/libultra/os/parameters.o (.data);
|
||||
build/OUTCODE/src/libultra/os/stopthread.o (.data);
|
||||
build/OUTCODE/src/libultra/os/setthreadpri.o (.data);
|
||||
build/OUTCODE/src/libultra/os/getcount.o (.data);
|
||||
#ifndef VERSION_EU
|
||||
build/OUTCODE/src/libultrare/io/vimgr.o (.data);
|
||||
#endif
|
||||
build/OUTCODE/src/libultrare/io/vitbl.o (.data); /*edited*/
|
||||
build/OUTCODE/src/libultra/os/seteventmesg.o (.data);
|
||||
build/OUTCODE/src/libultra/io/visetevent.o (.data);
|
||||
build/OUTCODE/src/libultra/os/setintmask.o (.data);
|
||||
build/OUTCODE/src/libultra/os/recvmesg.o (.data);
|
||||
build/OUTCODE/src/libultra/os/sendmesg.o (.data);
|
||||
build/OUTCODE/src/libultra/io/visetmode.o (.data);
|
||||
build/OUTCODE/src/libultra/io/visetxscale.o (.data);
|
||||
build/OUTCODE/src/libultra/io/visetyscale.o (.data);
|
||||
build/OUTCODE/src/libultra/io/virepeatline.o (.data);
|
||||
build/OUTCODE/src/libultra/io/viblack.o (.data);
|
||||
build/OUTCODE/src/libultra/io/sptaskyielded.o (.data);
|
||||
build/OUTCODE/src/libultra/io/dpctr.o (.data);
|
||||
build/OUTCODE/src/libultra/io/vigetcurrframebuf.o (.data);
|
||||
build/OUTCODE/src/libultra/io/vigetnextframebuf.o (.data);
|
||||
build/OUTCODE/src/libultra/io/viswapbuf.o (.data);
|
||||
build/OUTCODE/src/libultra/io/dpsetstat.o (.data);
|
||||
build/OUTCODE/src/libultrare/io/sptask.o (.data);
|
||||
build/OUTCODE/src/libultra/io/dpsetnextbuf.o (.data);
|
||||
build/OUTCODE/src/libultra/io/sptaskyield.o (.data);
|
||||
#ifdef VERSION_EU
|
||||
build/OUTCODE/src/libultra/os/timerintr.o (.data);
|
||||
build/OUTCODE/src/libultra/os/getthreadpri.o (.data);
|
||||
build/OUTCODE/src/libultra/os/interrupt.o (.data);
|
||||
build/OUTCODE/src/libultrare/io/vi.o (.data);
|
||||
build/OUTCODE/src/libultra/io/vigetcurrcontext.o (.data);
|
||||
build/OUTCODE/src/libultra/io/viswapcontext.o (.data);
|
||||
build/OUTCODE/src/libultra/io/piacs.o (.data);
|
||||
build/OUTCODE/src/libultrare/io/epirawdma.o (.data);
|
||||
build/OUTCODE/src/libultrare/io/devmgr.o (.data);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/os/gettlbhi.o (.data);
|
||||
build/OUTCODE/src/libultra/os/virtualtophysical.o (.data);
|
||||
build/OUTCODE/src/libultra/io/aisetfreq.o (.data);
|
||||
build/OUTCODE/src/libultra/audio/sl.o (.data);
|
||||
build/OUTCODE/src/libultra/audio/heapalloc.o (.data);
|
||||
build/OUTCODE/src/libultra/os/gettime.o (.data);
|
||||
build/OUTCODE/src/libultra/libc/ll.o (.data); /*edited*/
|
||||
build/OUTCODE/src/libultrare/io/aisetnextbuf.o (.data);
|
||||
build/OUTCODE/src/libultra/io/aigetlen.o (.data);
|
||||
build/OUTCODE/src/libultra/audio/synthesizer.o (.data);
|
||||
build/OUTCODE/src/libultra/io/pidma.o (.data);
|
||||
build/OUTCODE/src/libultra/io/visetspecial.o (.data);
|
||||
build/OUTCODE/src/libultra/libc/bcopy.o (.data);
|
||||
build/OUTCODE/src/libultra/gu/perspective.o (.data);
|
||||
build/OUTCODE/src/libultra/gu/mtxutil.o (.data);
|
||||
build/OUTCODE/src/libultra/os/getcurrfaultthread.o (.data);
|
||||
build/OUTCODE/src/libultra/os/exception.o (.data); /*edited*/
|
||||
build/OUTCODE/src/libultra/os/thread.o (.data);
|
||||
build/OUTCODE/src/libultra/os/yieldthread.o (.data);
|
||||
build/OUTCODE/src/libultra/os/invaldcache.o (.data);
|
||||
build/OUTCODE/src/libultra/os/writebackdcache.o (.data);
|
||||
build/OUTCODE/src/libultra/os/settimer.o (.data);
|
||||
build/OUTCODE/src/libultra/audio/heapinit.o (.data);
|
||||
build/OUTCODE/src/libultra/audio/bnkf.o (.data);
|
||||
build/OUTCODE/src/libultra/audio/csplayer.o (.data);
|
||||
build/OUTCODE/src/libultra/audio/seqpsetbank.o (.data);
|
||||
build/OUTCODE/src/libultra/audio/cspgetstate.o (.data);
|
||||
build/OUTCODE/src/libultra/audio/cseq.o (.data);
|
||||
build/OUTCODE/src/libultra/audio/cspsetseq.o (.data);
|
||||
build/OUTCODE/src/libultra/audio/cspplay.o (.data);
|
||||
build/OUTCODE/src/libultra/audio/cspstop.o (.data);
|
||||
build/OUTCODE/src/libultra/audio/cspsetvol.o (.data);
|
||||
build/OUTCODE/src/libultra/audio/event.o (.data);
|
||||
build/OUTCODE/src/libultra/audio/synaddplayer.o (.data);
|
||||
build/OUTCODE/src/libultra/audio/synallocvoice.o (.data);
|
||||
build/OUTCODE/src/libultra/audio/synsetvol.o (.data);
|
||||
build/OUTCODE/src/libultra/audio/synstartvoice.o (.data);
|
||||
build/OUTCODE/src/libultra/audio/synsetpan.o (.data);
|
||||
build/OUTCODE/src/libultra/audio/synsetpitch.o (.data);
|
||||
build/OUTCODE/src/libultra/audio/synsetfxmix.o (.data);
|
||||
build/OUTCODE/src/libultra/audio/synstopvoice.o (.data);
|
||||
build/OUTCODE/src/libultra/audio/synfreevoice.o (.data);
|
||||
build/OUTCODE/src/libultra/audio/cents2ratio.o (.data);
|
||||
build/OUTCODE/src/libultra/io/piread.o (.data);
|
||||
#ifdef ENABLE_USB
|
||||
build/OUTCODE/src/libultra/io/piwrite.o (.data);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/libc/string.o (.data);
|
||||
build/OUTCODE/src/libultrare/libc/xprintf.o (.data);
|
||||
#ifndef VERSION_EU
|
||||
build/OUTCODE/src/libultrare/io/pimgr.o (.data);
|
||||
#endif
|
||||
build/OUTCODE/src/libultrare/io/pfsinit.o (.data);
|
||||
build/OUTCODE/src/libultrare/io/controller.o (.data);
|
||||
build/OUTCODE/src/libultra/io/contquery.o (.data);
|
||||
build/OUTCODE/src/libultrare/io/contreaddata.o (.data);
|
||||
build/OUTCODE/src/libultrare/io/conteepprobe.o (.data);
|
||||
build/OUTCODE/src/libultrare/io/conteepread.o (.data);
|
||||
build/OUTCODE/src/libultrare/io/conteepwrite.o (.data);
|
||||
build/OUTCODE/src/libultrare/io/conteeplongread.o (.data);
|
||||
build/OUTCODE/src/libultrare/io/conteeplongwrite.o (.data);
|
||||
build/OUTCODE/src/libultrare/io/pfsisplug.o (.data);
|
||||
build/OUTCODE/src/libultra/io/siacs.o (.data);
|
||||
build/OUTCODE/src/libultra/io/sirawdma.o (.data);
|
||||
build/OUTCODE/src/libultra/io/crc.o (.data);
|
||||
build/OUTCODE/src/libultrare/io/contramwrite.o (.data);
|
||||
build/OUTCODE/src/libultrare/io/contramread.o (.data);
|
||||
build/OUTCODE/src/libultra/gu/align.o (.data);
|
||||
build/OUTCODE/src/libultra/gu/ortho.o (.data);
|
||||
build/OUTCODE/src/libultra/gu/coss.o (.data);
|
||||
build/OUTCODE/src/libultra/gu/sins.o (.data);
|
||||
#ifdef VERSION_EU
|
||||
build/OUTCODE/src/libultra/io/vimodentsclan1.o (.data);
|
||||
build/OUTCODE/src/libultrare/io/vimodepallan1.o (.data);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/gu/translate.o (.data);
|
||||
build/OUTCODE/src/libultra/libc/bcmp.o (.data);
|
||||
build/OUTCODE/src/libultra/gu/scale.o (.data);
|
||||
build/OUTCODE/src/libultra/gu/lookatref.o (.data);
|
||||
build/OUTCODE/src/libultra/gu/lookat.o (.data);
|
||||
build/OUTCODE/src/libultra/gu/rotate.o (.data);
|
||||
build/OUTCODE/src/libultra/libc/llcvt.o (.data); /*edited*/
|
||||
build/OUTCODE/src/libultra/os/setsr.o (.data);
|
||||
build/OUTCODE/src/libultra/os/getsr.o (.data);
|
||||
build/OUTCODE/src/libultra/io/sirawread.o (.data);
|
||||
build/OUTCODE/src/libultra/io/sirawwrite.o (.data);
|
||||
build/OUTCODE/src/libultra/io/pirawread.o (.data);
|
||||
#ifdef ENABLE_USB
|
||||
build/OUTCODE/src/libultra/io/pirawwrite.o (.data);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/libc/bzero.o (.data);
|
||||
build/OUTCODE/src/libultra/os/sethwinterrupt.o (.data);
|
||||
#ifndef VERSION_EU
|
||||
build/OUTCODE/src/libultrare/io/leointerrupt.o (.data);
|
||||
build/OUTCODE/src/libultra/os/interrupt.o (.data);
|
||||
build/OUTCODE/src/libultra/os/timerintr.o (.data);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/os/kdebugserver.o (.data);
|
||||
#ifndef VERSION_EU
|
||||
build/OUTCODE/src/libultra/os/getthreadpri.o (.data);
|
||||
build/OUTCODE/src/libultrare/io/vi.o (.data); /*edited*/
|
||||
build/OUTCODE/src/libultra/io/vigetcurrcontext.o (.data);
|
||||
build/OUTCODE/src/libultra/io/viswapcontext.o (.data);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/io/spgetstat.o (.data);
|
||||
build/OUTCODE/src/libultra/io/spsetstat.o (.data);
|
||||
build/OUTCODE/src/libultra/io/spsetpc.o (.data);
|
||||
build/OUTCODE/src/libultra/io/sprawdma.o (.data);
|
||||
build/OUTCODE/src/libultra/io/sp.o (.data);
|
||||
build/OUTCODE/src/libultra/io/dp.o (.data);
|
||||
#ifdef VERSION_EU
|
||||
build/OUTCODE/src/libultra/os/setcompare.o (.data);
|
||||
build/OUTCODE/src/libultra/os/resetglobalintmask.o (.data);
|
||||
build/OUTCODE/src/libultrare/io/epirawwrite.o (.data);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/os/probetlb.o (.data);
|
||||
build/OUTCODE/src/libultra/audio/syndelete.o (.data);
|
||||
build/OUTCODE/src/libultra/io/ai.o (.data);
|
||||
build/OUTCODE/src/libultrare/audio/drvrNew.o (.data);
|
||||
build/OUTCODE/src/libultra/audio/synallocfx.o (.data);
|
||||
build/OUTCODE/src/libultra/audio/mainbus.o (.data);
|
||||
build/OUTCODE/src/libultra/audio/load.o (.data);
|
||||
build/OUTCODE/src/libultra/audio/resample.o (.data);
|
||||
build/OUTCODE/src/libultrare/audio/env.o (.data); /*edited*/
|
||||
build/OUTCODE/src/libultra/audio/auxbus.o (.data);
|
||||
build/OUTCODE/src/libultra/audio/save.o (.data);
|
||||
build/OUTCODE/src/libultra/os/jammesg.o (.data);
|
||||
build/OUTCODE/src/libultra/io/pigetcmdq.o (.data);
|
||||
build/OUTCODE/src/libultra/gu/cosf.o (.data); /*edited*/
|
||||
build/OUTCODE/src/libultra/gu/sinf.o (.data); /*edited*/
|
||||
build/OUTCODE/src/libultrare/os/destroythread.o (.data);
|
||||
build/OUTCODE/src/libultra/audio/seqplayer.o (.data);
|
||||
build/OUTCODE/src/libultra/audio/synstartvoiceparam.o (.data);
|
||||
build/OUTCODE/src/libultra/audio/copy.o (.data);
|
||||
#ifndef VERSION_EU
|
||||
build/OUTCODE/src/libultra/io/piacs.o (.data);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/libc/xlitob.o (.data);
|
||||
build/OUTCODE/src/libultra/libc/xldtob.o (.data);
|
||||
#ifndef VERSION_EU
|
||||
build/OUTCODE/src/libultrare/io/epirawdma.o (.data);
|
||||
build/OUTCODE/src/libultrare/io/devmgr.o (.data);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/io/contpfs.o (.data);
|
||||
build/OUTCODE/src/libultra/io/si.o (.data);
|
||||
build/OUTCODE/src/libultra/gu/normalize.o (.data);
|
||||
build/OUTCODE/src/libultra/gu/sqrtf.o (.data);
|
||||
#ifndef VERSION_EU
|
||||
build/OUTCODE/src/libultrare/io/leodiskinit.o (.data);
|
||||
build/OUTCODE/src/libultra/os/setcompare.o (.data);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/audio/filter.o (.data);
|
||||
build/OUTCODE/src/libultrare/audio/reverb.o (.data); /*edited*/
|
||||
build/OUTCODE/src/libultra/gu/libm_vals.o (.data); /*edited*/
|
||||
build/OUTCODE/src/libultra/audio/seq.o (.data);
|
||||
build/OUTCODE/src/libultra/audio/synsetpriority.o (.data);
|
||||
build/OUTCODE/src/libultra/libc/ldiv.o (.data);
|
||||
#ifndef VERSION_EU
|
||||
build/OUTCODE/src/libultra/os/resetglobalintmask.o (.data);
|
||||
build/OUTCODE/src/libultrare/io/epirawwrite.o (.data);
|
||||
build/OUTCODE/src/libultra/io/vimodentsclan1.o (.data);
|
||||
build/OUTCODE/src/libultrare/io/vimodepallan1.o (.data);
|
||||
#endif
|
||||
build/OUTCODE/src/libultrare/ultra80069080.o (.data); /*edited*/
|
||||
/*build/OUTCODE/src/libultra/libultra.a:libultra.o (.data);*/
|
||||
@@ -0,0 +1,254 @@
|
||||
build/OUTCODE/src/aspboot.o (.rodata);
|
||||
build/OUTCODE/src/boot.o (.rodata);
|
||||
build/OUTCODE/src/init.o (.rodata);
|
||||
build/OUTCODE/src/sched.o (.rodata);
|
||||
build/OUTCODE/src/osMapTLB.o (.rodata);
|
||||
#ifdef VERSION_EU
|
||||
build/OUTCODE/src/libultrare/io/vimgr.o (.rodata);
|
||||
build/OUTCODE/src/libultrare/io/pimgr.o (.rodata);
|
||||
#endif
|
||||
build/OUTCODE/src/tlb_manage.o (.rodata);
|
||||
build/OUTCODE/src/tlb_random.o (.rodata);
|
||||
build/OUTCODE/src/tlb_resolve.o (.rodata);
|
||||
build/OUTCODE/src/tlb_hardwire.o (.rodata);
|
||||
build/OUTCODE/src/audi.o (.rodata);
|
||||
build/OUTCODE/src/speed_graph.o (.rodata);
|
||||
build/OUTCODE/src/fr.o (.rodata);
|
||||
build/OUTCODE/src/deb.o (.rodata);
|
||||
build/OUTCODE/src/crash.o (.rodata);
|
||||
/*deb_print may be part of fault per pd beta (.rodata);*/
|
||||
/*build/OUTCODE/src/deb_print.o (.rodata);*/
|
||||
build/OUTCODE/src/getra.o (.rodata);
|
||||
build/OUTCODE/src/ramrom.o (.rodata);
|
||||
build/OUTCODE/src/boss.o (.rodata);
|
||||
build/OUTCODE/src/music.o (.rodata);
|
||||
build/OUTCODE/src/snd.o (.rodata);
|
||||
build/OUTCODE/src/memp.o (.rodata);
|
||||
build/OUTCODE/src/mema.o (.rodata);
|
||||
build/OUTCODE/src/random.o (.rodata);
|
||||
build/OUTCODE/src/token.o (.rodata);
|
||||
build/OUTCODE/src/str.o (.rodata);
|
||||
build/OUTCODE/src/sprintf.o (.rodata);
|
||||
build/OUTCODE/src/pi.o (.rodata);
|
||||
build/OUTCODE/src/vi.o (.rodata);
|
||||
build/OUTCODE/src/debugmenu.o (.rodata);
|
||||
build/OUTCODE/src/joy.o (.rodata);
|
||||
build/OUTCODE/src/motor.o (.rodata);
|
||||
#ifdef VERSION_EU
|
||||
build/OUTCODE/src/libultrare/io/leointerrupt.o (.rodata);
|
||||
#endif
|
||||
build/OUTCODE/src/rmon.o (.rodata);
|
||||
#ifdef ENABLE_USB
|
||||
build/OUTCODE/src/usb.o (.rodata);
|
||||
#endif
|
||||
/*build/OUTCODE/src/libultra/osPiRawStartDma.o (.rodata);*/
|
||||
build/OUTCODE/src/libultra/io/pirawdma.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/pigetstat.o (.rodata);
|
||||
build/OUTCODE/src/libultrare/os/initialize.o (.rodata);
|
||||
build/OUTCODE/src/libultra/os/writebackdcacheall.o (.rodata);
|
||||
build/OUTCODE/src/libultra/os/invalicache.o (.rodata);
|
||||
build/OUTCODE/src/libultra/os/unmaptlb.o (.rodata);
|
||||
build/OUTCODE/src/libultra/os/getfpccsr.o (.rodata);
|
||||
build/OUTCODE/src/libultra/os/setfpccsr.o (.rodata);
|
||||
build/OUTCODE/src/libultra/os/createthread.o (.rodata);
|
||||
build/OUTCODE/src/libultra/os/startthread.o (.rodata);
|
||||
build/OUTCODE/src/libultra/os/createmesgqueue.o (.rodata);
|
||||
build/OUTCODE/src/libultra/os/parameters.o (.rodata);
|
||||
build/OUTCODE/src/libultra/os/stopthread.o (.rodata);
|
||||
build/OUTCODE/src/libultra/os/setthreadpri.o (.rodata);
|
||||
build/OUTCODE/src/libultra/os/getcount.o (.rodata);
|
||||
#ifndef VERSION_EU
|
||||
build/OUTCODE/src/libultrare/io/vimgr.o (.rodata);
|
||||
#endif
|
||||
build/OUTCODE/src/libultrare/io/vitbl.o (.rodata); /*edited*/
|
||||
build/OUTCODE/src/libultra/os/seteventmesg.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/visetevent.o (.rodata);
|
||||
build/OUTCODE/src/libultra/os/setintmask.o (.rodata);
|
||||
build/OUTCODE/src/libultra/os/recvmesg.o (.rodata);
|
||||
build/OUTCODE/src/libultra/os/sendmesg.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/visetmode.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/visetxscale.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/visetyscale.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/virepeatline.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/viblack.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/sptaskyielded.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/dpctr.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/vigetcurrframebuf.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/vigetnextframebuf.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/viswapbuf.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/dpsetstat.o (.rodata);
|
||||
build/OUTCODE/src/libultrare/io/sptask.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/dpsetnextbuf.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/sptaskyield.o (.rodata);
|
||||
#ifdef VERSION_EU
|
||||
build/OUTCODE/src/libultra/os/timerintr.o (.rodata);
|
||||
build/OUTCODE/src/libultra/os/getthreadpri.o (.rodata);
|
||||
build/OUTCODE/src/libultra/os/interrupt.o (.rodata);
|
||||
build/OUTCODE/src/libultrare/io/vi.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/vigetcurrcontext.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/viswapcontext.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/piacs.o (.rodata);
|
||||
build/OUTCODE/src/libultrare/io/epirawdma.o (.rodata);
|
||||
build/OUTCODE/src/libultrare/io/devmgr.o (.rodata);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/os/gettlbhi.o (.rodata);
|
||||
build/OUTCODE/src/libultra/os/virtualtophysical.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/aisetfreq.o (.rodata);
|
||||
build/OUTCODE/src/libultra/audio/sl.o (.rodata);
|
||||
build/OUTCODE/src/libultra/audio/heapalloc.o (.rodata);
|
||||
build/OUTCODE/src/libultra/os/gettime.o (.rodata);
|
||||
build/OUTCODE/src/libultra/libc/ll.o (.rodata); /*edited*/
|
||||
build/OUTCODE/src/libultrare/io/aisetnextbuf.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/aigetlen.o (.rodata);
|
||||
build/OUTCODE/src/libultra/audio/synthesizer.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/pidma.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/visetspecial.o (.rodata);
|
||||
build/OUTCODE/src/libultra/libc/bcopy.o (.rodata);
|
||||
build/OUTCODE/src/libultra/gu/perspective.o (.rodata);
|
||||
build/OUTCODE/src/libultra/gu/mtxutil.o (.rodata);
|
||||
build/OUTCODE/src/libultra/os/getcurrfaultthread.o (.rodata);
|
||||
build/OUTCODE/src/libultra/os/exception.o (.rodata); /*edited*/
|
||||
build/OUTCODE/src/libultra/os/thread.o (.rodata);
|
||||
build/OUTCODE/src/libultra/os/yieldthread.o (.rodata);
|
||||
build/OUTCODE/src/libultra/os/invaldcache.o (.rodata);
|
||||
build/OUTCODE/src/libultra/os/writebackdcache.o (.rodata);
|
||||
build/OUTCODE/src/libultra/os/settimer.o (.rodata);
|
||||
build/OUTCODE/src/libultra/audio/heapinit.o (.rodata);
|
||||
build/OUTCODE/src/libultra/audio/bnkf.o (.rodata);
|
||||
build/OUTCODE/src/libultra/audio/csplayer.o (.rodata);
|
||||
build/OUTCODE/src/libultra/audio/seqpsetbank.o (.rodata);
|
||||
build/OUTCODE/src/libultra/audio/cspgetstate.o (.rodata);
|
||||
build/OUTCODE/src/libultra/audio/cseq.o (.rodata);
|
||||
build/OUTCODE/src/libultra/audio/cspsetseq.o (.rodata);
|
||||
build/OUTCODE/src/libultra/audio/cspplay.o (.rodata);
|
||||
build/OUTCODE/src/libultra/audio/cspstop.o (.rodata);
|
||||
build/OUTCODE/src/libultra/audio/cspsetvol.o (.rodata);
|
||||
build/OUTCODE/src/libultra/audio/event.o (.rodata);
|
||||
build/OUTCODE/src/libultra/audio/synaddplayer.o (.rodata);
|
||||
build/OUTCODE/src/libultra/audio/synallocvoice.o (.rodata);
|
||||
build/OUTCODE/src/libultra/audio/synsetvol.o (.rodata);
|
||||
build/OUTCODE/src/libultra/audio/synstartvoice.o (.rodata);
|
||||
build/OUTCODE/src/libultra/audio/synsetpan.o (.rodata);
|
||||
build/OUTCODE/src/libultra/audio/synsetpitch.o (.rodata);
|
||||
build/OUTCODE/src/libultra/audio/synsetfxmix.o (.rodata);
|
||||
build/OUTCODE/src/libultra/audio/synstopvoice.o (.rodata);
|
||||
build/OUTCODE/src/libultra/audio/synfreevoice.o (.rodata);
|
||||
build/OUTCODE/src/libultra/audio/cents2ratio.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/piread.o (.rodata);
|
||||
#ifdef ENABLE_USB
|
||||
build/OUTCODE/src/libultra/io/piwrite.o (.rodata);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/libc/string.o (.rodata);
|
||||
build/OUTCODE/src/libultrare/libc/xprintf.o (.rodata);
|
||||
#ifndef VERSION_EU
|
||||
build/OUTCODE/src/libultrare/io/pimgr.o (.rodata);
|
||||
#endif
|
||||
build/OUTCODE/src/libultrare/io/pfsinit.o (.rodata);
|
||||
build/OUTCODE/src/libultrare/io/controller.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/contquery.o (.rodata);
|
||||
build/OUTCODE/src/libultrare/io/contreaddata.o (.rodata);
|
||||
build/OUTCODE/src/libultrare/io/conteepprobe.o (.rodata);
|
||||
build/OUTCODE/src/libultrare/io/conteepread.o (.rodata);
|
||||
build/OUTCODE/src/libultrare/io/conteepwrite.o (.rodata);
|
||||
build/OUTCODE/src/libultrare/io/conteeplongread.o (.rodata);
|
||||
build/OUTCODE/src/libultrare/io/conteeplongwrite.o (.rodata);
|
||||
build/OUTCODE/src/libultrare/io/pfsisplug.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/siacs.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/sirawdma.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/crc.o (.rodata);
|
||||
build/OUTCODE/src/libultrare/io/contramwrite.o (.rodata);
|
||||
build/OUTCODE/src/libultrare/io/contramread.o (.rodata);
|
||||
build/OUTCODE/src/libultra/gu/align.o (.rodata);
|
||||
build/OUTCODE/src/libultra/gu/ortho.o (.rodata);
|
||||
build/OUTCODE/src/libultra/gu/coss.o (.rodata);
|
||||
build/OUTCODE/src/libultra/gu/sins.o (.rodata);
|
||||
build/OUTCODE/src/libultra/gu/translate.o (.rodata);
|
||||
build/OUTCODE/src/libultra/libc/bcmp.o (.rodata);
|
||||
build/OUTCODE/src/libultra/gu/scale.o (.rodata);
|
||||
build/OUTCODE/src/libultra/gu/lookatref.o (.rodata);
|
||||
build/OUTCODE/src/libultra/gu/lookat.o (.rodata);
|
||||
build/OUTCODE/src/libultra/gu/rotate.o (.rodata);
|
||||
build/OUTCODE/src/libultra/libc/llcvt.o (.rodata); /*edited*/
|
||||
build/OUTCODE/src/libultra/os/setsr.o (.rodata);
|
||||
build/OUTCODE/src/libultra/os/getsr.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/sirawread.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/sirawwrite.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/pirawread.o (.rodata);
|
||||
#ifdef ENABLE_USB
|
||||
build/OUTCODE/src/libultra/io/pirawwrite.o (.rodata);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/libc/bzero.o (.rodata);
|
||||
build/OUTCODE/src/libultra/os/sethwinterrupt.o (.rodata);
|
||||
#ifndef VERSION_EU
|
||||
build/OUTCODE/src/libultrare/io/leointerrupt.o (.rodata);
|
||||
build/OUTCODE/src/libultra/os/interrupt.o (.rodata);
|
||||
build/OUTCODE/src/libultra/os/timerintr.o (.rodata);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/os/kdebugserver.o (.rodata);
|
||||
#ifndef VERSION_EU
|
||||
build/OUTCODE/src/libultra/os/getthreadpri.o (.rodata);
|
||||
build/OUTCODE/src/libultrare/io/vi.o (.rodata); /*edited*/
|
||||
build/OUTCODE/src/libultra/io/vigetcurrcontext.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/viswapcontext.o (.rodata);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/io/spgetstat.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/spsetstat.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/spsetpc.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/sprawdma.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/sp.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/dp.o (.rodata);
|
||||
#ifdef VERSION_EU
|
||||
build/OUTCODE/src/libultra/os/setcompare.o (.rodata);
|
||||
build/OUTCODE/src/libultra/os/resetglobalintmask.o (.rodata);
|
||||
build/OUTCODE/src/libultrare/io/epirawwrite.o (.rodata);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/os/probetlb.o (.rodata);
|
||||
build/OUTCODE/src/libultra/audio/syndelete.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/ai.o (.rodata);
|
||||
build/OUTCODE/src/libultrare/audio/drvrNew.o (.rodata);
|
||||
build/OUTCODE/src/libultra/audio/synallocfx.o (.rodata);
|
||||
build/OUTCODE/src/libultra/audio/mainbus.o (.rodata);
|
||||
build/OUTCODE/src/libultra/audio/load.o (.rodata);
|
||||
build/OUTCODE/src/libultra/audio/resample.o (.rodata);
|
||||
build/OUTCODE/src/libultrare/audio/env.o (.rodata); /*edited*/
|
||||
build/OUTCODE/src/libultra/audio/auxbus.o (.rodata);
|
||||
build/OUTCODE/src/libultra/audio/save.o (.rodata);
|
||||
build/OUTCODE/src/libultra/os/jammesg.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/pigetcmdq.o (.rodata);
|
||||
build/OUTCODE/src/libultra/gu/cosf.o (.rodata); /*edited*/
|
||||
build/OUTCODE/src/libultra/gu/sinf.o (.rodata); /*edited*/
|
||||
build/OUTCODE/src/libultrare/os/destroythread.o (.rodata);
|
||||
build/OUTCODE/src/libultra/audio/seqplayer.o (.rodata);
|
||||
build/OUTCODE/src/libultra/audio/synstartvoiceparam.o (.rodata);
|
||||
build/OUTCODE/src/libultra/audio/copy.o (.rodata);
|
||||
#ifndef VERSION_EU
|
||||
build/OUTCODE/src/libultra/io/piacs.o (.rodata);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/libc/xlitob.o (.rodata);
|
||||
build/OUTCODE/src/libultra/libc/xldtob.o (.rodata);
|
||||
#ifndef VERSION_EU
|
||||
build/OUTCODE/src/libultrare/io/epirawdma.o (.rodata);
|
||||
build/OUTCODE/src/libultrare/io/devmgr.o (.rodata);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/io/contpfs.o (.rodata);
|
||||
build/OUTCODE/src/libultra/io/si.o (.rodata);
|
||||
build/OUTCODE/src/libultra/gu/normalize.o (.rodata);
|
||||
build/OUTCODE/src/libultra/gu/sqrtf.o (.rodata);
|
||||
#ifndef VERSION_EU
|
||||
build/OUTCODE/src/libultrare/io/leodiskinit.o (.rodata);
|
||||
build/OUTCODE/src/libultra/os/setcompare.o (.rodata);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/audio/filter.o (.rodata);
|
||||
build/OUTCODE/src/libultrare/audio/reverb.o (.rodata); /*edited*/
|
||||
build/OUTCODE/src/libultra/gu/libm_vals.o (.rodata); /*edited*/
|
||||
build/OUTCODE/src/libultra/audio/seq.o (.rodata);
|
||||
build/OUTCODE/src/libultra/audio/synsetpriority.o (.rodata);
|
||||
build/OUTCODE/src/libultra/libc/ldiv.o (.rodata);
|
||||
#ifndef VERSION_EU
|
||||
build/OUTCODE/src/libultra/os/resetglobalintmask.o (.rodata);
|
||||
build/OUTCODE/src/libultrare/io/epirawwrite.o (.rodata);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/io/vimodentsclan1.o (.rodata);
|
||||
build/OUTCODE/src/libultrare/io/vimodepallan1.o (.rodata);
|
||||
build/OUTCODE/src/libultrare/ultra80069080.o (.rodata); /*edited*/
|
||||
/*build/OUTCODE/src/libultra/libultra.a:libultra.o (.rodata);*/
|
||||
@@ -0,0 +1,253 @@
|
||||
build/OUTCODE/src/boot.o (.text);
|
||||
build/OUTCODE/src/init.o (.text);
|
||||
build/OUTCODE/src/sched.o (.text);
|
||||
build/OUTCODE/src/osMapTLB.o (.text);
|
||||
#ifdef VERSION_EU
|
||||
build/OUTCODE/src/libultrare/io/vimgr.o (.text);
|
||||
build/OUTCODE/src/libultrare/io/pimgr.o (.text);
|
||||
#endif
|
||||
build/OUTCODE/src/tlb_manage.o (.text);
|
||||
build/OUTCODE/src/tlb_random.o (.text);
|
||||
build/OUTCODE/src/tlb_resolve.o (.text);
|
||||
build/OUTCODE/src/tlb_hardwire.o (.text);
|
||||
build/OUTCODE/src/audi.o (.text);
|
||||
build/OUTCODE/src/speed_graph.o (.text);
|
||||
build/OUTCODE/src/fr.o (.text);
|
||||
build/OUTCODE/src/deb.o (.text);
|
||||
build/OUTCODE/src/crash.o (.text);
|
||||
/*deb_print may be part of fault per pd beta (.text);*/
|
||||
/*build/OUTCODE/src/deb_print.o (.text);*/
|
||||
build/OUTCODE/src/getra.o (.text);
|
||||
build/OUTCODE/src/ramrom.o (.text);
|
||||
build/OUTCODE/src/boss.o (.text);
|
||||
build/OUTCODE/src/music.o (.text);
|
||||
build/OUTCODE/src/snd.o (.text);
|
||||
build/OUTCODE/src/memp.o (.text);
|
||||
build/OUTCODE/src/mema.o (.text);
|
||||
build/OUTCODE/src/random.o (.text);
|
||||
build/OUTCODE/src/token.o (.text);
|
||||
build/OUTCODE/src/str.o (.text);
|
||||
build/OUTCODE/src/sprintf.o (.text);
|
||||
build/OUTCODE/src/pi.o (.text);
|
||||
build/OUTCODE/src/vi.o (.text);
|
||||
build/OUTCODE/src/debugmenu.o (.text);
|
||||
build/OUTCODE/src/joy.o (.text);
|
||||
build/OUTCODE/src/motor.o (.text);
|
||||
#ifdef VERSION_EU
|
||||
build/OUTCODE/src/libultrare/io/leointerrupt.o (.text);
|
||||
#endif
|
||||
build/OUTCODE/src/rmon.o (.text);
|
||||
#ifdef ENABLE_USB
|
||||
build/OUTCODE/src/usb.o (.text);
|
||||
#endif
|
||||
/*build/OUTCODE/src/libultra/osPiRawStartDma.o (.text);*/
|
||||
build/OUTCODE/src/libultra/io/pirawdma.o (.text);
|
||||
build/OUTCODE/src/libultra/io/pigetstat.o (.text);
|
||||
build/OUTCODE/src/libultrare/os/initialize.o (.text);
|
||||
build/OUTCODE/src/libultra/os/writebackdcacheall.o (.text);
|
||||
build/OUTCODE/src/libultra/os/invalicache.o (.text);
|
||||
build/OUTCODE/src/libultra/os/unmaptlb.o (.text);
|
||||
build/OUTCODE/src/libultra/os/getfpccsr.o (.text);
|
||||
build/OUTCODE/src/libultra/os/setfpccsr.o (.text);
|
||||
build/OUTCODE/src/libultra/os/createthread.o (.text);
|
||||
build/OUTCODE/src/libultra/os/startthread.o (.text);
|
||||
build/OUTCODE/src/libultra/os/createmesgqueue.o (.text);
|
||||
build/OUTCODE/src/libultra/os/parameters.o (.text);
|
||||
build/OUTCODE/src/libultra/os/stopthread.o (.text);
|
||||
build/OUTCODE/src/libultra/os/setthreadpri.o (.text);
|
||||
build/OUTCODE/src/libultra/os/getcount.o (.text);
|
||||
#ifndef VERSION_EU
|
||||
build/OUTCODE/src/libultrare/io/vimgr.o (.text);
|
||||
#endif
|
||||
build/OUTCODE/src/libultrare/io/vitbl.o (.text); /*edited*/
|
||||
build/OUTCODE/src/libultra/os/seteventmesg.o (.text);
|
||||
build/OUTCODE/src/libultra/io/visetevent.o (.text);
|
||||
build/OUTCODE/src/libultra/os/setintmask.o (.text);
|
||||
build/OUTCODE/src/libultra/os/recvmesg.o (.text);
|
||||
build/OUTCODE/src/libultra/os/sendmesg.o (.text);
|
||||
build/OUTCODE/src/libultra/io/visetmode.o (.text);
|
||||
build/OUTCODE/src/libultra/io/visetxscale.o (.text);
|
||||
build/OUTCODE/src/libultra/io/visetyscale.o (.text);
|
||||
build/OUTCODE/src/libultra/io/virepeatline.o (.text);
|
||||
build/OUTCODE/src/libultra/io/viblack.o (.text);
|
||||
build/OUTCODE/src/libultra/io/sptaskyielded.o (.text);
|
||||
build/OUTCODE/src/libultra/io/dpctr.o (.text);
|
||||
build/OUTCODE/src/libultra/io/vigetcurrframebuf.o (.text);
|
||||
build/OUTCODE/src/libultra/io/vigetnextframebuf.o (.text);
|
||||
build/OUTCODE/src/libultra/io/viswapbuf.o (.text);
|
||||
build/OUTCODE/src/libultra/io/dpsetstat.o (.text);
|
||||
build/OUTCODE/src/libultrare/io/sptask.o (.text);
|
||||
build/OUTCODE/src/libultra/io/dpsetnextbuf.o (.text);
|
||||
build/OUTCODE/src/libultra/io/sptaskyield.o (.text);
|
||||
#ifdef VERSION_EU
|
||||
build/OUTCODE/src/libultra/os/timerintr.o (.text);
|
||||
build/OUTCODE/src/libultra/os/getthreadpri.o (.text);
|
||||
build/OUTCODE/src/libultra/os/interrupt.o (.text);
|
||||
build/OUTCODE/src/libultrare/io/vi.o (.text);
|
||||
build/OUTCODE/src/libultra/io/vigetcurrcontext.o (.text);
|
||||
build/OUTCODE/src/libultra/io/viswapcontext.o (.text);
|
||||
build/OUTCODE/src/libultra/io/piacs.o (.text);
|
||||
build/OUTCODE/src/libultrare/io/epirawdma.o (.text);
|
||||
build/OUTCODE/src/libultrare/io/devmgr.o (.text);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/os/gettlbhi.o (.text);
|
||||
build/OUTCODE/src/libultra/os/virtualtophysical.o (.text);
|
||||
build/OUTCODE/src/libultra/io/aisetfreq.o (.text);
|
||||
build/OUTCODE/src/libultra/audio/sl.o (.text);
|
||||
build/OUTCODE/src/libultra/audio/heapalloc.o (.text);
|
||||
build/OUTCODE/src/libultra/os/gettime.o (.text);
|
||||
build/OUTCODE/src/libultra/libc/ll.o (.text); /*edited*/
|
||||
build/OUTCODE/src/libultrare/io/aisetnextbuf.o (.text);
|
||||
build/OUTCODE/src/libultra/io/aigetlen.o (.text);
|
||||
build/OUTCODE/src/libultra/audio/synthesizer.o (.text);
|
||||
build/OUTCODE/src/libultra/io/pidma.o (.text);
|
||||
build/OUTCODE/src/libultra/io/visetspecial.o (.text);
|
||||
build/OUTCODE/src/libultra/libc/bcopy.o (.text);
|
||||
build/OUTCODE/src/libultra/gu/perspective.o (.text);
|
||||
build/OUTCODE/src/libultra/gu/mtxutil.o (.text);
|
||||
build/OUTCODE/src/libultra/os/getcurrfaultthread.o (.text);
|
||||
build/OUTCODE/src/libultra/os/exception.o (.text); /*edited*/
|
||||
build/OUTCODE/src/libultra/os/thread.o (.text);
|
||||
build/OUTCODE/src/libultra/os/yieldthread.o (.text);
|
||||
build/OUTCODE/src/libultra/os/invaldcache.o (.text);
|
||||
build/OUTCODE/src/libultra/os/writebackdcache.o (.text);
|
||||
build/OUTCODE/src/libultra/os/settimer.o (.text);
|
||||
build/OUTCODE/src/libultra/audio/heapinit.o (.text);
|
||||
build/OUTCODE/src/libultra/audio/bnkf.o (.text);
|
||||
build/OUTCODE/src/libultra/audio/csplayer.o (.text);
|
||||
build/OUTCODE/src/libultra/audio/seqpsetbank.o (.text);
|
||||
build/OUTCODE/src/libultra/audio/cspgetstate.o (.text);
|
||||
build/OUTCODE/src/libultra/audio/cseq.o (.text);
|
||||
build/OUTCODE/src/libultra/audio/cspsetseq.o (.text);
|
||||
build/OUTCODE/src/libultra/audio/cspplay.o (.text);
|
||||
build/OUTCODE/src/libultra/audio/cspstop.o (.text);
|
||||
build/OUTCODE/src/libultra/audio/cspsetvol.o (.text);
|
||||
build/OUTCODE/src/libultra/audio/event.o (.text);
|
||||
build/OUTCODE/src/libultra/audio/synaddplayer.o (.text);
|
||||
build/OUTCODE/src/libultra/audio/synallocvoice.o (.text);
|
||||
build/OUTCODE/src/libultra/audio/synsetvol.o (.text);
|
||||
build/OUTCODE/src/libultra/audio/synstartvoice.o (.text);
|
||||
build/OUTCODE/src/libultra/audio/synsetpan.o (.text);
|
||||
build/OUTCODE/src/libultra/audio/synsetpitch.o (.text);
|
||||
build/OUTCODE/src/libultra/audio/synsetfxmix.o (.text);
|
||||
build/OUTCODE/src/libultra/audio/synstopvoice.o (.text);
|
||||
build/OUTCODE/src/libultra/audio/synfreevoice.o (.text);
|
||||
build/OUTCODE/src/libultra/audio/cents2ratio.o (.text);
|
||||
build/OUTCODE/src/libultra/io/piread.o (.text);
|
||||
#ifdef ENABLE_USB
|
||||
build/OUTCODE/src/libultra/io/piwrite.o (.text);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/libc/string.o (.text);
|
||||
build/OUTCODE/src/libultrare/libc/xprintf.o (.text);
|
||||
#ifndef VERSION_EU
|
||||
build/OUTCODE/src/libultrare/io/pimgr.o (.text);
|
||||
#endif
|
||||
build/OUTCODE/src/libultrare/io/pfsinit.o (.text);
|
||||
build/OUTCODE/src/libultrare/io/controller.o (.text);
|
||||
build/OUTCODE/src/libultra/io/contquery.o (.text);
|
||||
build/OUTCODE/src/libultrare/io/contreaddata.o (.text);
|
||||
build/OUTCODE/src/libultrare/io/conteepprobe.o (.text);
|
||||
build/OUTCODE/src/libultrare/io/conteepread.o (.text);
|
||||
build/OUTCODE/src/libultrare/io/conteepwrite.o (.text);
|
||||
build/OUTCODE/src/libultrare/io/conteeplongread.o (.text);
|
||||
build/OUTCODE/src/libultrare/io/conteeplongwrite.o (.text);
|
||||
build/OUTCODE/src/libultrare/io/pfsisplug.o (.text);
|
||||
build/OUTCODE/src/libultra/io/siacs.o (.text);
|
||||
build/OUTCODE/src/libultra/io/sirawdma.o (.text);
|
||||
build/OUTCODE/src/libultra/io/crc.o (.text);
|
||||
build/OUTCODE/src/libultrare/io/contramwrite.o (.text);
|
||||
build/OUTCODE/src/libultrare/io/contramread.o (.text);
|
||||
build/OUTCODE/src/libultra/gu/align.o (.text);
|
||||
build/OUTCODE/src/libultra/gu/ortho.o (.text);
|
||||
build/OUTCODE/src/libultra/gu/coss.o (.text);
|
||||
build/OUTCODE/src/libultra/gu/sins.o (.text);
|
||||
build/OUTCODE/src/libultra/gu/translate.o (.text);
|
||||
build/OUTCODE/src/libultra/libc/bcmp.o (.text);
|
||||
build/OUTCODE/src/libultra/gu/scale.o (.text);
|
||||
build/OUTCODE/src/libultra/gu/lookatref.o (.text);
|
||||
build/OUTCODE/src/libultra/gu/lookat.o (.text);
|
||||
build/OUTCODE/src/libultra/gu/rotate.o (.text);
|
||||
build/OUTCODE/src/libultra/libc/llcvt.o (.text); /*edited*/
|
||||
build/OUTCODE/src/libultra/os/setsr.o (.text);
|
||||
build/OUTCODE/src/libultra/os/getsr.o (.text);
|
||||
build/OUTCODE/src/libultra/io/sirawread.o (.text);
|
||||
build/OUTCODE/src/libultra/io/sirawwrite.o (.text);
|
||||
build/OUTCODE/src/libultra/io/pirawread.o (.text);
|
||||
#ifdef ENABLE_USB
|
||||
build/OUTCODE/src/libultra/io/pirawwrite.o (.text);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/libc/bzero.o (.text);
|
||||
build/OUTCODE/src/libultra/os/sethwinterrupt.o (.text);
|
||||
#ifndef VERSION_EU
|
||||
build/OUTCODE/src/libultrare/io/leointerrupt.o (.text);
|
||||
build/OUTCODE/src/libultra/os/interrupt.o (.text);
|
||||
build/OUTCODE/src/libultra/os/timerintr.o (.text);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/os/kdebugserver.o (.text);
|
||||
#ifndef VERSION_EU
|
||||
build/OUTCODE/src/libultra/os/getthreadpri.o (.text);
|
||||
build/OUTCODE/src/libultrare/io/vi.o (.text); /*edited*/
|
||||
build/OUTCODE/src/libultra/io/vigetcurrcontext.o (.text);
|
||||
build/OUTCODE/src/libultra/io/viswapcontext.o (.text);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/io/spgetstat.o (.text);
|
||||
build/OUTCODE/src/libultra/io/spsetstat.o (.text);
|
||||
build/OUTCODE/src/libultra/io/spsetpc.o (.text);
|
||||
build/OUTCODE/src/libultra/io/sprawdma.o (.text);
|
||||
build/OUTCODE/src/libultra/io/sp.o (.text);
|
||||
build/OUTCODE/src/libultra/io/dp.o (.text);
|
||||
#ifdef VERSION_EU
|
||||
build/OUTCODE/src/libultra/os/setcompare.o (.text);
|
||||
build/OUTCODE/src/libultra/os/resetglobalintmask.o (.text);
|
||||
build/OUTCODE/src/libultrare/io/epirawwrite.o (.text);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/os/probetlb.o (.text);
|
||||
build/OUTCODE/src/libultra/audio/syndelete.o (.text);
|
||||
build/OUTCODE/src/libultra/io/ai.o (.text);
|
||||
build/OUTCODE/src/libultrare/audio/drvrNew.o (.text);
|
||||
build/OUTCODE/src/libultra/audio/synallocfx.o (.text);
|
||||
build/OUTCODE/src/libultra/audio/mainbus.o (.text);
|
||||
build/OUTCODE/src/libultra/audio/load.o (.text);
|
||||
build/OUTCODE/src/libultra/audio/resample.o (.text);
|
||||
build/OUTCODE/src/libultrare/audio/env.o (.text); /*edited*/
|
||||
build/OUTCODE/src/libultra/audio/auxbus.o (.text);
|
||||
build/OUTCODE/src/libultra/audio/save.o (.text);
|
||||
build/OUTCODE/src/libultra/os/jammesg.o (.text);
|
||||
build/OUTCODE/src/libultra/io/pigetcmdq.o (.text);
|
||||
build/OUTCODE/src/libultra/gu/cosf.o (.text); /*edited*/
|
||||
build/OUTCODE/src/libultra/gu/sinf.o (.text); /*edited*/
|
||||
build/OUTCODE/src/libultrare/os/destroythread.o (.text);
|
||||
build/OUTCODE/src/libultra/audio/seqplayer.o (.text);
|
||||
build/OUTCODE/src/libultra/audio/synstartvoiceparam.o (.text);
|
||||
build/OUTCODE/src/libultra/audio/copy.o (.text);
|
||||
#ifndef VERSION_EU
|
||||
build/OUTCODE/src/libultra/io/piacs.o (.text);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/libc/xlitob.o (.text);
|
||||
build/OUTCODE/src/libultra/libc/xldtob.o (.text);
|
||||
#ifndef VERSION_EU
|
||||
build/OUTCODE/src/libultrare/io/epirawdma.o (.text);
|
||||
build/OUTCODE/src/libultrare/io/devmgr.o (.text);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/io/contpfs.o (.text);
|
||||
build/OUTCODE/src/libultra/io/si.o (.text);
|
||||
build/OUTCODE/src/libultra/gu/normalize.o (.text);
|
||||
build/OUTCODE/src/libultra/gu/sqrtf.o (.text);
|
||||
#ifndef VERSION_EU
|
||||
build/OUTCODE/src/libultrare/io/leodiskinit.o (.text);
|
||||
build/OUTCODE/src/libultra/os/setcompare.o (.text);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/audio/filter.o (.text);
|
||||
build/OUTCODE/src/libultrare/audio/reverb.o (.text); /*edited*/
|
||||
build/OUTCODE/src/libultra/gu/libm_vals.o (.text); /*edited*/
|
||||
build/OUTCODE/src/libultra/audio/seq.o (.text);
|
||||
build/OUTCODE/src/libultra/audio/synsetpriority.o (.text);
|
||||
build/OUTCODE/src/libultra/libc/ldiv.o (.text);
|
||||
#ifndef VERSION_EU
|
||||
build/OUTCODE/src/libultra/os/resetglobalintmask.o (.text);
|
||||
build/OUTCODE/src/libultrare/io/epirawwrite.o (.text);
|
||||
#endif
|
||||
build/OUTCODE/src/libultra/io/vimodentsclan1.o (.text);
|
||||
build/OUTCODE/src/libultrare/io/vimodepallan1.o (.text);
|
||||
build/OUTCODE/src/libultrare/ultra80069080.o (.text); /*edited*/
|
||||
/*build/OUTCODE/src/libultra/libultra.a:libultra.o (.text);*/
|
||||
+12
-12
@@ -5149,11 +5149,11 @@ _AI_CMD(
|
||||
{
|
||||
if (isNotBoundPad(padnum))
|
||||
{
|
||||
pad = &g_chraiCurrentSetup.pads[padnum];
|
||||
pad = &g_CurrentSetup.pads[padnum];
|
||||
}
|
||||
else
|
||||
{
|
||||
pad = (PadRecord *)&g_chraiCurrentSetup.boundpads[getBoundPadNum(padnum)];
|
||||
pad = (PadRecord *)&g_CurrentSetup.boundpads[getBoundPadNum(padnum)];
|
||||
}
|
||||
matrix_4x4_7F059908(&matrix, 0, 0, 0, -pad->target.x, -pad->target.y, -pad->target.z, pad->up.x, pad->up.y, pad->up.z);
|
||||
if (obj->model)
|
||||
@@ -9482,11 +9482,11 @@ _AI_CMD(
|
||||
u16 sfxID = CharArrayTo16(ai->val,2);
|
||||
if (isNotBoundPad(padnum))
|
||||
{
|
||||
pad = &g_chraiCurrentSetup.pads[padnum];
|
||||
pad = &g_CurrentSetup.pads[padnum];
|
||||
}
|
||||
else
|
||||
{
|
||||
pad = (PadRecord *) &g_chraiCurrentSetup.boundpads[getBoundPadNum(padnum)];
|
||||
pad = (PadRecord *) &g_CurrentSetup.boundpads[getBoundPadNum(padnum)];
|
||||
}
|
||||
if (ai->SlotID >= 0 && ai->SlotID < 8 && pad)
|
||||
{
|
||||
@@ -10151,11 +10151,11 @@ _AI_CMD(
|
||||
u16 padnum = CharArrayTo16(ai->val,0);
|
||||
if (isNotBoundPad(padnum))
|
||||
{
|
||||
dword_CODE_bss_800799F8 = &g_chraiCurrentSetup.pads[padnum];
|
||||
dword_CODE_bss_800799F8 = &g_CurrentSetup.pads[padnum];
|
||||
}
|
||||
else
|
||||
{
|
||||
dword_CODE_bss_800799F8 = (PadRecord *) &g_chraiCurrentSetup.boundpads[getBoundPadNum(padnum)];
|
||||
dword_CODE_bss_800799F8 = (PadRecord *) &g_CurrentSetup.boundpads[getBoundPadNum(padnum)];
|
||||
}
|
||||
set_camera_mode(CAMERAMODE_POSEND);
|
||||
Offset += CAT(CAT(AI_, CMDNAME), _LENGTH);
|
||||
@@ -10392,11 +10392,11 @@ _AI_CMD(
|
||||
padnum = chrResolvePadId(ChrEntityp, padnum);
|
||||
if (isNotBoundPad(padnum))
|
||||
{
|
||||
pad = &g_chraiCurrentSetup.pads[padnum];
|
||||
pad = &g_CurrentSetup.pads[padnum];
|
||||
}
|
||||
else
|
||||
{
|
||||
pad = (PadRecord *) &g_chraiCurrentSetup.boundpads[getBoundPadNum(padnum)];
|
||||
pad = (PadRecord *) &g_CurrentSetup.boundpads[getBoundPadNum(padnum)];
|
||||
}
|
||||
FacingDirection = atan2f(pad->target.x, pad->target.z);
|
||||
pos.x = pad->pos.x;
|
||||
@@ -10673,7 +10673,7 @@ _AI_CMD(
|
||||
door->openedTime = g_GlobalTimer;
|
||||
door->openstate = DOORSTATE_STATIONARY;
|
||||
sub_GAME_7F052B00(door);
|
||||
sub_GAME_7F053598(door);
|
||||
doorActivatePortal(door);
|
||||
sub_GAME_7F053B10(door);
|
||||
}
|
||||
Offset += CAT(CAT(AI_, CMDNAME), _LENGTH);
|
||||
@@ -10956,11 +10956,11 @@ _AI_CMD(
|
||||
ObjectRecord *obj = objFindByTagId(ai->val[0]);
|
||||
if (isNotBoundPad(padnum))
|
||||
{
|
||||
pad = &g_chraiCurrentSetup.pads[padnum * 1];
|
||||
pad = &g_CurrentSetup.pads[padnum * 1];
|
||||
}
|
||||
else
|
||||
{
|
||||
pad = (PadRecord *) &g_chraiCurrentSetup.boundpads[getBoundPadNum(padnum)];
|
||||
pad = (PadRecord *) &g_CurrentSetup.boundpads[getBoundPadNum(padnum)];
|
||||
}
|
||||
if (pad->stan && obj && obj->prop && (pad->stan->RoomID == obj->prop->stan->RoomID))
|
||||
{
|
||||
@@ -11838,7 +11838,7 @@ _AI_CMD(
|
||||
sub_GAME_7F03FDA8(obj->prop);
|
||||
if (obj->runtime_bitflags & RUNTIMEBITFLAG_DEPOSIT)
|
||||
{
|
||||
obj->unk6C->id |= 0x601;
|
||||
obj->unk6C->flags |= 0x601;
|
||||
sub_GAME_7F03FE14(obj->prop);
|
||||
matrix_4x4_set_identity(&obj->unk6C->m);
|
||||
obj->unk6C->pos.x = 0;
|
||||
|
||||
+2
-2
@@ -593,7 +593,7 @@ void amHandleDoneMessage(AudioInfo *info)
|
||||
if (!samplesLeft && !(*b))
|
||||
{
|
||||
// debug printf from audioMgr demo
|
||||
#ifdef DEBUG
|
||||
#ifdef ENABLE_LOG
|
||||
osSyncPrintf("audio: ai out of samples\n");
|
||||
#endif
|
||||
g_FirstTime = 0;
|
||||
@@ -776,7 +776,7 @@ void amClearDmaBuffers(void)
|
||||
{
|
||||
if (osRecvMesg(&g_DmaMessageQueue, (OSMesg *)&osmesg, OS_MESG_NOBLOCK) == -1)
|
||||
{
|
||||
#ifdef DEBUG
|
||||
#ifdef ENABLE_LOG
|
||||
osSyncPrintf("Dma not done\n");
|
||||
#endif
|
||||
}
|
||||
|
||||
+86
-2
@@ -330,6 +330,12 @@ typedef enum PROPFLAG2
|
||||
PROPFLAG2_80000000 = 0x80000000 // unknown
|
||||
}PROPFLAG2;
|
||||
|
||||
typedef enum DOORFLAG
|
||||
{
|
||||
DOORFLAG_100 = 0x00000100,
|
||||
DOORFLAG_CANNOT_ACTIVATE = 0x02000000,
|
||||
DOORFLAG_KEEPOPEN = 0x80000000
|
||||
}DOORFLAG;
|
||||
|
||||
/* door lock flags*/
|
||||
BITFLAG(DOOR_LOCK,
|
||||
@@ -444,6 +450,10 @@ BITFLAG(RUNTIMEBITFLAG,
|
||||
#define QUADRANT_2NDWPTOTARGET 0x10 // second waypoint on route to target
|
||||
#define QUADRANT_20 0x20 // second waypoint on route to target
|
||||
|
||||
#define CULLMODE_NONE 1
|
||||
#define CULLMODE_FRONT 2
|
||||
#define CULLMODE_BACK 3
|
||||
|
||||
#pragma endregion
|
||||
|
||||
#pragma region Constants
|
||||
@@ -779,7 +789,9 @@ typedef enum CHEAT_IDS
|
||||
CHEAT_UNLOCK_AZTEK,
|
||||
CHEAT_UNLOCK_EGYPT,
|
||||
|
||||
CHEAT_INVALID
|
||||
CHEAT_INVALID,
|
||||
|
||||
CHEAT_MAX = CHEAT_INVALID+5
|
||||
} CHEAT_ID;
|
||||
|
||||
//Controller stuff including Rumble Pak are in joy.c
|
||||
@@ -1199,6 +1211,15 @@ typedef enum MODELNODE_OPCODE
|
||||
MODELNODE_OPCODE_MAX
|
||||
} MODELNODE_OPCODE;
|
||||
|
||||
typedef enum MODELNODE_CHILD
|
||||
{
|
||||
MODELNODE_CHILD_NULL,
|
||||
MODELNODE_CHILD_VTX,
|
||||
MODELNODE_CHILD_IMAGE,
|
||||
MODELNODE_CHILD_TRI,
|
||||
MODELNODE_CHILD_MAX
|
||||
} MODELNODE_CHILD;
|
||||
|
||||
typedef enum MP_STAGE_SELECTED
|
||||
{
|
||||
MP_STAGE_RANDOM,
|
||||
@@ -1389,6 +1410,8 @@ typedef enum PLAYER_ID
|
||||
PLAYER_4
|
||||
} PLAYER_ID;
|
||||
|
||||
#define MAX_PLAYER_COUNT 4
|
||||
|
||||
typedef enum RGBA_ENUM
|
||||
{
|
||||
RED,
|
||||
@@ -1949,6 +1972,13 @@ typedef enum SPEED
|
||||
SPEED_SPRINT
|
||||
} SPEED;
|
||||
|
||||
typedef enum STAGESTATUS
|
||||
{
|
||||
STAGESTATUS_LOCKED,
|
||||
STAGESTATUS_UNLOCKED,
|
||||
STAGESTATUS_NOTCOMPLETED,
|
||||
STAGESTATUS_COMPLETED
|
||||
} STAGESTATUS;
|
||||
|
||||
typedef enum TEXTBANK_LEVEL_INDEX
|
||||
{
|
||||
@@ -2020,6 +2050,28 @@ typedef enum WATCH_BRIEFING_PAGE
|
||||
} WATCH_BRIEFING_PAGE;
|
||||
|
||||
|
||||
typedef enum AWARD {
|
||||
|
||||
AWARD_MOSTSUICIDAL = 0x00001,
|
||||
AWARD_WHONEEDSAMMO = 0x00002,
|
||||
AWARD_WHERESTHEARMOR = 0x00004,
|
||||
AWARD_ACNEGATIVE10 = 0x00008,
|
||||
AWARD_MARKSMANSHIP = 0x00010,
|
||||
AWARD_MOSTPROFESSIONAL = 0x00020,
|
||||
AWARD_MOSTDEADLY = 0x00040,
|
||||
AWARD_MOSTHARMLESS = 0x00080,
|
||||
AWARD_MOSTCOWARDLY = 0x00100,
|
||||
AWARD_MOSTFRANTIC = 0x00200,
|
||||
AWARD_MOSTHONORABLE = 0x00400,
|
||||
AWARD_MOSTDISHONORABLE = 0x00800,
|
||||
AWARD_SHORTESTINNINGS = 0x01000,
|
||||
AWARD_LONGESTINNINGS = 0x02000,
|
||||
AWARD_DOUBLEKILL = 0x04000,
|
||||
AWARD_TRIPLEKILL = 0x08000,
|
||||
AWARD_QUADKILL = 0x10000
|
||||
} AWARD;
|
||||
|
||||
|
||||
typedef enum WAYMODE
|
||||
{
|
||||
WAYMODE_0,
|
||||
@@ -2031,6 +2083,20 @@ typedef enum WAYMODE
|
||||
WAYMODE_MAGIC
|
||||
} WAYMODE;
|
||||
|
||||
typedef enum SPSEGMENT
|
||||
{
|
||||
SPSEGMENT_PHYSICAL = 0,
|
||||
SPSEGMENT_UNKNOWN = 1,
|
||||
SPSEGMENT_GETITLE = 2,
|
||||
SPSEGMENT_MODEL_MTX = 3,
|
||||
SPSEGMENT_MODEL_VTX = 4,
|
||||
SPSEGMENT_MODEL_COL1 = 5,
|
||||
SPSEGMENT_MODEL_COL2 = 6,
|
||||
SPSEGMENT_BG_COL = 13,
|
||||
SPSEGMENT_BG_VTX = 14,
|
||||
SPSEGMENT_BG_DL = 15
|
||||
} SPSEGMENT;
|
||||
|
||||
#pragma region Object Instance Stuff
|
||||
typedef enum BODIES
|
||||
{
|
||||
@@ -2959,7 +3025,13 @@ typedef enum WAYMODE
|
||||
} VIDEOMODE;
|
||||
#pragma endregion
|
||||
|
||||
|
||||
#if !defined(VERSION_EU)
|
||||
#define MAXROOMCOUNT 150
|
||||
#else
|
||||
#define MAXROOMCOUNT 139
|
||||
#endif
|
||||
|
||||
|
||||
/* special chr num IDs */
|
||||
#define CHR_BOND_CINEMA -8 /* only works when bond has a third person model (intro/exit cutscene) */
|
||||
#define CHR_CLONE -7
|
||||
@@ -2980,9 +3052,17 @@ typedef enum WAYMODE
|
||||
#define OBJECTIVES_MAX 10
|
||||
#define MAX_CHRWAYPOINTS 6
|
||||
#define MAX_WAYMODE ((s32)WAYMODE_MAGIC)
|
||||
#define MAX_TEXTURES 3001
|
||||
#define PROPRECORD_STAN_ROOM_LEN 4
|
||||
#define NUMBER_SHOTGUN_BULLETS 5
|
||||
|
||||
#ifdef VERSION_EU
|
||||
#define NTSC 0
|
||||
#define PAL 1
|
||||
#else
|
||||
#define NTSC 1
|
||||
#define PAL 0
|
||||
#endif
|
||||
|
||||
#pragma endregion
|
||||
|
||||
@@ -3193,7 +3273,11 @@ typedef enum WAYMODE
|
||||
|
||||
#define forever for (;;)
|
||||
|
||||
#define ARRAYCOUNT(a) (s32)(sizeof(a) / sizeof(a[0]))
|
||||
#define ALIGN8(val) (((val) + 0x7 | 0x7) ^ 0x7)
|
||||
#define RANDOMFRAC() ((f32) randomGetNext() * 2.3283064e-10f)
|
||||
|
||||
#pragma endregion
|
||||
|
||||
#endif
|
||||
|
||||
+389
-149
@@ -55,6 +55,7 @@ struct PropRecord;
|
||||
struct ObjectRecord;
|
||||
struct WeaponObjRecord;
|
||||
struct WeaponObjRecordExtended;
|
||||
union ModelRoData;
|
||||
|
||||
/**
|
||||
* The following region deals with various AI structures that can be applied to
|
||||
@@ -537,7 +538,10 @@ typedef union
|
||||
s32 unk00;
|
||||
u16 unk04;
|
||||
u16 unk06;
|
||||
|
||||
u16 unk08;
|
||||
u16 unk0A;
|
||||
u16 unk0C;
|
||||
u16 unk0E;
|
||||
// ...
|
||||
} ModelAnimation;
|
||||
|
||||
@@ -654,6 +658,28 @@ typedef union
|
||||
|
||||
#pragma region ModelTypes
|
||||
|
||||
/**
|
||||
* Taken from PD, unsure that all of the fields line up
|
||||
*/
|
||||
typedef struct ModelRenderData {
|
||||
/*0x00*/ Mtxf *unk00;
|
||||
/*0x04*/ bool zbufferenabled;
|
||||
/*0x08*/ u32 flags;
|
||||
/*0x0c*/ Gfx *gdl;
|
||||
/*0x10*/ Mtxf *unk10;
|
||||
/*0x14*/ u32 unk14;
|
||||
/*0x18*/ u32 unk18;
|
||||
/*0x1c*/ u32 unk1c;
|
||||
/*0x20*/ u32 unk20;
|
||||
/*0x24*/ u32 unk24;
|
||||
/*0x28*/ u32 unk28;
|
||||
/*0x2c*/ u32 unk2c;
|
||||
/*0x30*/ s32 unk30;
|
||||
/*0x34*/ u32 envcolour;
|
||||
/*0x38*/ u32 fogcolour;
|
||||
/*0x3c*/ u32 cullmode;
|
||||
} ModelRenderData;
|
||||
|
||||
/**
|
||||
* Binary compatible with gbi Vtx but more verbose and with "collision"
|
||||
* information in place of "flags" for use in Openflight Records below
|
||||
@@ -750,43 +776,59 @@ typedef union
|
||||
|
||||
} ModelFileTextures;
|
||||
|
||||
/*
|
||||
Handy Union for each type of Node
|
||||
More Verbose than void *Data
|
||||
Note: Probably cant actually use this since would need to know the type before hand
|
||||
union ModelNode_Data
|
||||
{
|
||||
struct ModelNode_HeaderRecord Header;
|
||||
struct ModelNode_GroupRecord Group;
|
||||
struct ModelNode_DisplayListRecord DisplayList;
|
||||
struct ModelNode_LODRecord LOD;
|
||||
struct ModelNode_BSPRecord BSP;
|
||||
struct ModelNode_BoundingBoxRecord BoundingBox;
|
||||
struct ModelNode_GunfireRecord Gunfire;
|
||||
struct ModelNode_ShadowRecord Shadow;
|
||||
struct ModelNode_InterlinkageRecord Interlinkage;
|
||||
struct ModelNode_SwitchRecord Switch;
|
||||
struct ModelNode_GroupSimpleRecord GroupSimple;
|
||||
struct ModelNode_DisplayListPrimaryRecord DisplayListPrimary;
|
||||
struct ModelNode_HeadPlaceholderRecord HeadPlaceholder;
|
||||
struct ModelNode_DisplayList_CollisionRecord DisplayListCollisions;
|
||||
};
|
||||
*/
|
||||
|
||||
/*
|
||||
This defines each row of the Node Table
|
||||
*/
|
||||
typedef struct ModelNode
|
||||
{
|
||||
//u8 UseAdditionalMatrices; //1 = group use MatrixID1 also. not actually used
|
||||
u16 Opcode; /*0x00*/
|
||||
void *Data; /*0x04 Node Data*/
|
||||
struct ModelNode *Parent; /*0x08*/
|
||||
struct ModelNode *Next; /*0x0c*/
|
||||
struct ModelNode *Prev; /*0x10*/
|
||||
struct ModelNode *Child; /*0x14*/
|
||||
u16 Opcode; /*0x00*/
|
||||
union ModelRoData *Data; /*0x04 Node Data*/
|
||||
struct ModelNode *Parent; /*0x08*/
|
||||
struct ModelNode *Next; /*0x0c*/
|
||||
struct ModelNode *Prev; /*0x10*/
|
||||
struct ModelNode *Child; /*0x14*/
|
||||
} ModelNode;
|
||||
|
||||
|
||||
#pragma region Model Node OpCode Definitions
|
||||
|
||||
/*
|
||||
* These are some extra RoData structs that are used by Op07 (and presumably Op05)
|
||||
* Not sure how these fit in with the rest, they appear to be separate
|
||||
*/
|
||||
|
||||
typedef struct ModelRoData_Child
|
||||
{
|
||||
u8 NumEntries; /*0x00*/
|
||||
u8 unk01; /*0x01*/
|
||||
u16 unk02; /*0x02*/
|
||||
u8 *unk04; /*0x04*/
|
||||
} ModelRoData_Child;
|
||||
|
||||
typedef struct ModelRoData_Child_Vtx
|
||||
{
|
||||
u8 Type; /*0x00*/
|
||||
u8 unk01; /*0x01*/
|
||||
u16 VtxIndex; /*0x02*/
|
||||
} ModelRoData_Child_Vtx;
|
||||
|
||||
typedef struct ModelRoData_Child_Tri
|
||||
{
|
||||
u8 Type; /*0x00*/
|
||||
u8 VtxIndex1; /*0x01*/
|
||||
u8 VtxIndex2; /*0x02*/
|
||||
u8 VtxIndex3; /*0x03*/
|
||||
} ModelRoData_Child_Tri;
|
||||
|
||||
typedef struct ModelRoData_Child_Image
|
||||
{
|
||||
u8 Type; /*0x00*/
|
||||
u8 ImageIndex; /*0x01*/
|
||||
} ModelRoData_Child_Image;
|
||||
|
||||
#pragma endregion
|
||||
|
||||
#pragma region Model Node OpCode Definitions
|
||||
|
||||
/**
|
||||
@@ -794,15 +836,44 @@ typedef union
|
||||
* The header record is found at the beginning of the database file.
|
||||
* Used on Character Bodies Only
|
||||
*/
|
||||
typedef struct ModelNode_HeaderRecord
|
||||
typedef struct ModelRoData_HeaderRecord
|
||||
{
|
||||
u32 ModelType; /*0x0 Legnth of Record (4)*/
|
||||
struct ModelNode_GroupRecord *FirstGroup; /*0x4 First group in tree*/
|
||||
u16 Group1; /*0x8*/
|
||||
u16 Group2; /*0xA*/
|
||||
u16 number; /*0xC*/
|
||||
u16 reserved; /*0xE padding*/
|
||||
} ModelNode_HeaderRecord;
|
||||
u32 ModelType; /*0x0 Legnth of Record (4)*/
|
||||
struct ModelRoData_GroupRecord *FirstGroup; /*0x4 First group in tree*/
|
||||
|
||||
union
|
||||
{
|
||||
struct
|
||||
{
|
||||
u16 Group1; /*0x8*/
|
||||
u16 Group2; /*0xA*/
|
||||
};
|
||||
f32 GroupsAsF32; /*0x8*/
|
||||
};
|
||||
|
||||
u16 RwDataIndex; /*0xC*/
|
||||
u16 reserved; /*0xE padding*/
|
||||
} ModelRoData_HeaderRecord;
|
||||
|
||||
typedef struct ModelRwData_HeaderRecord
|
||||
{
|
||||
s8 unk00;
|
||||
s8 unk01;
|
||||
s8 unk02;
|
||||
f32 ground;
|
||||
coord3d pos;
|
||||
f32 unk14; // angle
|
||||
f32 unk18;
|
||||
f32 unk1c;
|
||||
f32 unk20; // angle
|
||||
coord3d unk24;
|
||||
f32 unk30; // angle
|
||||
coord3d unk34;
|
||||
coord3d unk40; // "2" version of unk24
|
||||
coord3d unk4c; // "2" version of unk34
|
||||
f32 unk58;
|
||||
f32 unk5c;
|
||||
} ModelRwData_HeaderRecord;
|
||||
|
||||
/**
|
||||
* Opcode 2
|
||||
@@ -819,16 +890,21 @@ typedef union
|
||||
* Since MultiGen sorts based on this field before saving the database, it can
|
||||
* be ignored by the real-time software.
|
||||
*/
|
||||
typedef struct ModelNode_GroupRecord
|
||||
typedef struct ModelRoData_GroupRecord
|
||||
{
|
||||
coord3d Origin; /*0x0*/
|
||||
u16 JointID; /*0xC*/
|
||||
u16 MatrixID0; /*0xE*/
|
||||
u16 MatrixID1; /*0x10*/
|
||||
u16 MatrixID2; /*0x12 never used*/
|
||||
struct ModelNode_GroupRecord *ChildGroup; /*0x14*/
|
||||
union {
|
||||
s16 MatrixIDs[3]; /*0xE*/
|
||||
struct {
|
||||
s16 MatrixID0; /*0xE*/
|
||||
s16 MatrixID1; /*0x10*/
|
||||
s16 MatrixID2; /*0x12 never used*/
|
||||
};
|
||||
};
|
||||
struct ModelRoData_GroupRecord *ChildGroup; /*0x14*/
|
||||
f32 BoundingVolumeRadius; /*0x18*/
|
||||
} ModelNode_GroupRecord;
|
||||
} ModelRoData_GroupRecord;
|
||||
|
||||
/**
|
||||
* Opcode 3
|
||||
@@ -839,11 +915,11 @@ typedef union
|
||||
* Opcode 4
|
||||
* Collisionless Display List used primarely for guns
|
||||
*/
|
||||
typedef struct ModelNode_DisplayListRecord
|
||||
typedef struct ModelRoData_DisplayListRecord
|
||||
{
|
||||
Gfx *Primary; /*0x0*/
|
||||
Gfx *Secondary; /*0x4*/ // optional
|
||||
u32 reserved; /*0x8*/
|
||||
void *BaseAddr; /*0x8*/
|
||||
Vertex *Vertices; /*0xC*/
|
||||
u16 numVertices; /*0x10*/
|
||||
/*
|
||||
@@ -854,29 +930,70 @@ typedef union
|
||||
3 = GunLighting - Reduced Secondary Commands (guns)
|
||||
4 = Normal Fog/Lighting object
|
||||
*/
|
||||
u8 ModelType;
|
||||
} ModelNode_DisplayListRecord;
|
||||
s8 ModelType;
|
||||
} ModelRoData_DisplayListRecord;
|
||||
|
||||
typedef struct ModelRwData_DisplayListRecord // this record is a guess
|
||||
{
|
||||
s32 unk00;
|
||||
} ModelRwData_DisplayListRecord;
|
||||
|
||||
/**
|
||||
* Opcode 5
|
||||
* unused
|
||||
*/
|
||||
typedef struct ModelRoData_Op05Record
|
||||
{
|
||||
// shares this structure with op07
|
||||
s32 NumChildren; /*0x00*/
|
||||
struct ModelRoData_Child *Children; /*0x04*/
|
||||
struct Vertex *Vertices; /*0x08*/
|
||||
struct sImageTableEntry *Images; /*0x0C*/
|
||||
u8 Data[400]; /*0x10*/
|
||||
|
||||
u32 unk1A0; /*0x1A0*/
|
||||
void* BaseAddr; /*0x1A4*/
|
||||
} ModelRoData_Op05Record;
|
||||
|
||||
/**
|
||||
* Opcode 6
|
||||
* unused
|
||||
*/
|
||||
typedef struct ModelRoData_Op06Record
|
||||
{
|
||||
u32 unk00;
|
||||
u32 unk04;
|
||||
u32 unk08;
|
||||
u32 unk0C;
|
||||
u32 unk10;
|
||||
void* BaseAddr; /*0x14*/
|
||||
} ModelRoData_Op06Record;
|
||||
|
||||
/**
|
||||
* Opcode 7
|
||||
* unused but referenced
|
||||
*/
|
||||
typedef struct ModelNode_Op07Record
|
||||
typedef struct ModelRoData_Op07Record
|
||||
{
|
||||
u32 unk00[106]; /*0x0*/
|
||||
u16 unk1A8; /*0x1A8*/
|
||||
u16 number; /*0x1AA*/
|
||||
} ModelNode_Op07Record;
|
||||
struct ModelNode* unk00; /*0x00*/
|
||||
struct ModelNode* unk04; /*0x04*/
|
||||
|
||||
// shares this structure with op05
|
||||
s32 NumChildren; /*0x08*/
|
||||
struct ModelRoData_Child *Children; /*0x0C*/
|
||||
struct Vertex *Vertices; /*0x10*/
|
||||
struct sImageTableEntry *Images; /*0x14*/
|
||||
u8 Data[400]; /*0x18*/
|
||||
|
||||
u16 unk1A8; /*0x1A8*/
|
||||
u16 RwDataIndex; /*0x1AA*/
|
||||
void* BaseAddr;
|
||||
} ModelRoData_Op07Record;
|
||||
|
||||
typedef struct ModelRwData_Op07Record
|
||||
{
|
||||
s32 index;
|
||||
} ModelRwData_Op07Record;
|
||||
|
||||
/**
|
||||
* Opcode 8
|
||||
@@ -884,90 +1001,113 @@ typedef union
|
||||
* The distance is calculated by the real-time software by using the distance
|
||||
* from the eye-point to the LOD center found
|
||||
*/
|
||||
typedef struct ModelNode_LODRecord
|
||||
typedef struct ModelRoData_LODRecord
|
||||
{
|
||||
f32 MinDistance; /*0x0 Switch in distance*/
|
||||
f32 MaxDistance; /*0x4 Switch out distance*/
|
||||
ModelNode *Affects; /*0x8 Affects this node (Must be child)*/
|
||||
u16 number; /*0xC*/
|
||||
u16 RwDataIndex; /*0xC*/
|
||||
u16 reserved; /*0xE padding*/
|
||||
} ModelNode_LODRecord;
|
||||
} ModelRoData_LODRecord;
|
||||
|
||||
typedef struct ModelRwData_LODRecord
|
||||
{
|
||||
bool visible;
|
||||
} ModelRwData_LODRecord;
|
||||
|
||||
/**
|
||||
* Opcode 9
|
||||
* Binary Separating Plane
|
||||
* BSPs allow you to model 3D databases with the Z buffer turned off.
|
||||
*/
|
||||
typedef struct ModelNode_BSPRecord
|
||||
typedef struct ModelRoData_BSPRecord
|
||||
{
|
||||
coord3d Point; /*0x0*/
|
||||
coord3d Vector; /*0xC*/
|
||||
ModelNode *leftChild; /*0x18 back/first */
|
||||
ModelNode *rightChild; /*0x1C front/last */
|
||||
u16 reserved; /*0x20 padding or u32*/
|
||||
u16 number; /*0x22*/
|
||||
} ModelNode_BSPRecord;
|
||||
coord3d Point; /*0x0*/
|
||||
coord3d Vector; /*0xC*/
|
||||
ModelNode *leftChild; /*0x18 back/first */
|
||||
ModelNode *rightChild; /*0x1C front/last */
|
||||
s16 reserved; /*0x20 padding or u32*/
|
||||
u16 RwDataIndex; /*0x22*/
|
||||
} ModelRoData_BSPRecord;
|
||||
|
||||
typedef struct ModelRwData_BSPRecord
|
||||
{
|
||||
bool visible;
|
||||
} ModelRwData_BSPRecord;
|
||||
|
||||
/**
|
||||
* Opcode 10 0xA
|
||||
* Box within which collisions are tested
|
||||
*/
|
||||
typedef struct ModelNode_BoundingBoxRecord
|
||||
typedef struct ModelRoData_BoundingBoxRecord
|
||||
{
|
||||
u32 ModelNumber; /*0x0*/
|
||||
struct bbox Bounds; /*0x4*/
|
||||
} ModelNode_BoundingBoxRecord;
|
||||
} ModelRoData_BoundingBoxRecord;
|
||||
|
||||
/**
|
||||
* Opcode 11
|
||||
* unused but referenced
|
||||
*/
|
||||
typedef struct ModelNode_Op11Record
|
||||
typedef struct ModelRoData_Op11Record
|
||||
{
|
||||
u32 unk0c[16]; /*0x0*/
|
||||
f32 BoundingVolumeRadius;
|
||||
u16 number; /*0x44*/
|
||||
} ModelNode_Op11Record;
|
||||
u16 RwDataIndex; /*0x44*/
|
||||
u16 unk46;
|
||||
void* BaseAddr;
|
||||
} ModelRoData_Op11Record;
|
||||
|
||||
typedef struct ModelRwData_Op11Record
|
||||
{
|
||||
s16 unk00;
|
||||
s16 unk02;
|
||||
} ModelRwData_Op11Record;
|
||||
|
||||
/**
|
||||
* Opcode 12 0xC
|
||||
*/
|
||||
typedef struct ModelNode_GunfireRecord
|
||||
typedef struct ModelRoData_GunfireRecord
|
||||
{
|
||||
coord3d Offset; /*0x0*/
|
||||
coord3d Size; /*0xC*/
|
||||
void * Image; /*0x18*/
|
||||
f32 Scale; /*0x1c*/
|
||||
u16 number; /*0x20*/
|
||||
u16 reserved; /*0x22 padding*/
|
||||
u32 reserved2; /*0x24 padding*/
|
||||
} ModelNode_GunfireRecord;
|
||||
coord3d Offset; /*0x0*/
|
||||
coord3d Size; /*0xC*/
|
||||
void * Image; /*0x18*/
|
||||
f32 Scale; /*0x1c*/
|
||||
u16 RwDataIndex; /*0x20*/
|
||||
u16 reserved; /*0x22 padding*/
|
||||
u32 BaseAddr; /*0x24 padding*/
|
||||
} ModelRoData_GunfireRecord;
|
||||
|
||||
typedef struct ModelRwData_GunfireRecord
|
||||
{
|
||||
s16 visible;
|
||||
u16 unk02;
|
||||
} ModelRwData_GunfireRecord;
|
||||
|
||||
/**
|
||||
* Opcode 13 0xD
|
||||
* Draws a shadow under character only
|
||||
*/
|
||||
typedef struct ModelNode_ShadowRecord
|
||||
typedef struct ModelRoData_ShadowRecord
|
||||
{
|
||||
coord2d pos; /*0x0*/
|
||||
coord2d size; /*0x8*/
|
||||
void *image; /*0x10*/
|
||||
ModelNode_HeaderRecord *Header; /*0x14*/
|
||||
f32 Scale; /*0x18*/
|
||||
u16 number; /*0x1C*/
|
||||
u16 reserved; /*0x1E padding*/
|
||||
} ModelNode_ShadowRecord;
|
||||
coord2d pos; /*0x0*/
|
||||
coord2d size; /*0x8*/
|
||||
void *image; /*0x10*/
|
||||
ModelRoData_HeaderRecord *Header; /*0x14*/
|
||||
f32 Scale; /*0x18*/
|
||||
void *BaseAddr; /*0x1C*/
|
||||
} ModelRoData_ShadowRecord;
|
||||
|
||||
/**
|
||||
* Opcode 14
|
||||
* unused
|
||||
*/
|
||||
typedef struct ModelNode_Op14Record
|
||||
typedef struct ModelRoData_Op14Record
|
||||
{
|
||||
coord3d pos; /*0x0*/
|
||||
f32 Scale; /*0xC*/
|
||||
|
||||
} ModelNode_Op14Record;
|
||||
} ModelRoData_Op14Record;
|
||||
|
||||
/**
|
||||
* Opcode 15 0xF
|
||||
@@ -980,14 +1120,14 @@ typedef union
|
||||
* The key value is used to represent a node, an arc, or a node name, if the
|
||||
* node represents a database entity
|
||||
*/
|
||||
typedef struct ModelNode_InterlinkageRecord
|
||||
typedef struct ModelRoData_InterlinkageRecord
|
||||
{
|
||||
coord3d pos; /*0x0*/
|
||||
u32 unknown1; /*0xC*/
|
||||
u32 unknown2; /*0x10*/
|
||||
u32 unknown3; /*0x14*/
|
||||
f32 Scale; /*0x18*/
|
||||
} ModelNode_InterlinkageRecord;
|
||||
} ModelRoData_InterlinkageRecord;
|
||||
|
||||
/**
|
||||
* Opcode 16
|
||||
@@ -1012,12 +1152,17 @@ typedef union
|
||||
* The mask may inhibit the display of some, none, or all of the switch node
|
||||
* children.
|
||||
*/
|
||||
typedef struct ModelNode_SwitchRecord
|
||||
typedef struct ModelRoData_SwitchRecord
|
||||
{
|
||||
ModelNode *Controls; /*0x0 Which node to display (Must be Child)*/
|
||||
u16 number; /*0x4*/
|
||||
u16 reserved; /*0x6 padding*/
|
||||
} ModelNode_SwitchRecord;
|
||||
ModelNode *Controls; /*0x0 Which node to display (Must be Child)*/
|
||||
u16 RwDataIndex; /*0x4*/
|
||||
u16 reserved; /*0x6 padding*/
|
||||
} ModelRoData_SwitchRecord;
|
||||
|
||||
typedef struct ModelRwData_SwitchRecord
|
||||
{
|
||||
bool visible;
|
||||
} ModelRwData_SwitchRecord;
|
||||
|
||||
/**
|
||||
* Opcode 19
|
||||
@@ -1033,56 +1178,112 @@ typedef union
|
||||
* Opcode 21 0x15
|
||||
* Simple Group used to position Cartridge ejection and held items
|
||||
*/
|
||||
typedef struct ModelNode_GroupSimpleRecord
|
||||
typedef struct ModelRoData_GroupSimpleRecord
|
||||
{
|
||||
coord3d Origin; /*0x0*/
|
||||
u16 Group1; /*0xC*/
|
||||
s16 Group1; /*0xC*/
|
||||
u16 Group2; /*0xE*/
|
||||
f32 BoundingVolumeRadius; /*0x10*/
|
||||
} ModelNode_GroupSimpleRecord;
|
||||
} ModelRoData_GroupSimpleRecord;
|
||||
|
||||
/**
|
||||
* Opcode 22 0x16
|
||||
* Primary Display List Only
|
||||
*/
|
||||
typedef struct ModelNode_DisplayListPrimaryRecord
|
||||
typedef struct ModelRoData_DisplayListPrimaryRecord
|
||||
{
|
||||
u16 numVertices; /*0x0*/
|
||||
s32 numVertices; /*0x0*/
|
||||
Vertex *Vertices; /*0x4*/
|
||||
Gfx *Primary; /*0x8*/
|
||||
u32 reserved; /*0xC*/
|
||||
} ModelNode_DisplayListPrimaryRecord;
|
||||
void *BaseAddr; /*0xC*/
|
||||
} ModelRoData_DisplayListPrimaryRecord;
|
||||
|
||||
/**
|
||||
* Opcode 23 0x17
|
||||
* Head Placeholder for Random Heads
|
||||
*/
|
||||
typedef struct ModelNode_HeadPlaceholderRecord
|
||||
typedef struct ModelRoData_HeadPlaceholderRecord
|
||||
{
|
||||
u16 number; //referenced by extract_id_from_object_structure_microcode()
|
||||
} ModelNode_HeadPlaceholderRecord;
|
||||
u16 RwDataIndex;
|
||||
} ModelRoData_HeadPlaceholderRecord;
|
||||
|
||||
typedef struct ModelRwData_HeadPlaceholderRecord
|
||||
{
|
||||
struct ModelFileHeader *ModelFileHeader;
|
||||
void *RwDatas;
|
||||
} ModelRwData_HeadPlaceholderRecord;
|
||||
|
||||
/**
|
||||
* Opcode 24 0x18
|
||||
* Full Display List with Collision Table
|
||||
*/
|
||||
typedef struct ModelNode_DisplayList_CollisionRecord
|
||||
typedef struct ModelRoData_DisplayList_CollisionRecord
|
||||
{
|
||||
Gfx *Primary; /*0x0*/
|
||||
Gfx *Secondary; /*0x4*/ // optional
|
||||
Vertex *Vertices; /*0x8*/
|
||||
u16 numVertices; /*0xC*/
|
||||
u16 numCollisionVertices; /*0xE*/
|
||||
Vertex *CollisionVertices; /*0x10 Table of vertices with unique point in space (UV's and Colour are disregarded). */
|
||||
s16 *PointUsage; /*0x14*/
|
||||
u16 ModelType; /*0x18*/
|
||||
u16 unknown; /*0x1A*/
|
||||
u16 number; /*0x1C*/
|
||||
u16 reserved; /*0x1E*/
|
||||
} ModelNode_DisplayList_CollisionRecord;
|
||||
Gfx *Primary; /*0x0*/
|
||||
Gfx *Secondary; /*0x4*/ // optional
|
||||
Vertex *Vertices; /*0x8*/
|
||||
u16 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*/
|
||||
s16 ModelType; /*0x18*/
|
||||
u16 RwDataIndex; /*0x1A*/
|
||||
void *BaseAddr; /*0x1C*/
|
||||
|
||||
} ModelRoData_DisplayList_CollisionRecord;
|
||||
|
||||
typedef struct ModelRwData_DisplayList_CollisionRecord
|
||||
{
|
||||
Vertex *Vertices;
|
||||
Gfx *gdl;
|
||||
} ModelRwData_DisplayList_CollisionRecord;
|
||||
|
||||
#pragma endregion Model Node OpCode Definitions
|
||||
|
||||
/*
|
||||
* Handy Union for each type of RoData
|
||||
*/
|
||||
union ModelRoData
|
||||
{
|
||||
struct ModelRoData_HeaderRecord Header;
|
||||
struct ModelRoData_GroupRecord Group;
|
||||
struct ModelRoData_DisplayListRecord DisplayList;
|
||||
struct ModelRoData_Op05Record Op05;
|
||||
struct ModelRoData_Op06Record Op06;
|
||||
struct ModelRoData_Op07Record Op07;
|
||||
struct ModelRoData_LODRecord LOD;
|
||||
struct ModelRoData_BSPRecord BSP;
|
||||
struct ModelRoData_BoundingBoxRecord BoundingBox;
|
||||
struct ModelRoData_Op11Record Op11;
|
||||
struct ModelRoData_GunfireRecord Gunfire;
|
||||
struct ModelRoData_ShadowRecord Shadow;
|
||||
struct ModelRoData_Op14Record Op14;
|
||||
struct ModelRoData_InterlinkageRecord Interlinkage;
|
||||
struct ModelNode_Op16Record Op16;
|
||||
struct ModelRoData_SwitchRecord Switch;
|
||||
struct ModelRoData_GroupSimpleRecord GroupSimple;
|
||||
struct ModelRoData_DisplayListPrimaryRecord DisplayListPrimary;
|
||||
struct ModelRoData_HeadPlaceholderRecord HeadPlaceholder;
|
||||
struct ModelRoData_DisplayList_CollisionRecord DisplayListCollisions;
|
||||
};
|
||||
|
||||
/*
|
||||
* Handy Union for each type of RwData
|
||||
*/
|
||||
union ModelRwData
|
||||
{
|
||||
struct ModelRwData_HeaderRecord Header;
|
||||
struct ModelRwData_DisplayListRecord DisplayList;
|
||||
struct ModelRwData_Op07Record Op07;
|
||||
struct ModelRwData_LODRecord LOD;
|
||||
struct ModelRwData_BSPRecord BSP;
|
||||
struct ModelRwData_Op11Record Op11;
|
||||
struct ModelRwData_GunfireRecord Gunfire;
|
||||
struct ModelRwData_SwitchRecord Switch;
|
||||
struct ModelRwData_HeadPlaceholderRecord HeadPlaceholder;
|
||||
struct ModelRwData_DisplayList_CollisionRecord DisplayListCollisions;
|
||||
};
|
||||
|
||||
|
||||
#pragma endregion OpenFlight Records
|
||||
|
||||
@@ -1193,7 +1394,7 @@ typedef union
|
||||
u16 unk00; /*0*/
|
||||
u8 unk02; /*2*/
|
||||
f32 ground; /*4*/
|
||||
coord3d pos; //8, 12, 16 - this is the right poition for this, but no idea what this node actually is (used in extract_id_from_object_structure_microcode)
|
||||
coord3d pos; //8, 12, 16 - this is the right poition for this, but no idea what this node actually is (used in modelGetNodeRwData)
|
||||
f32 subroty; //14 angle - this also happens to fit best for getsubroty
|
||||
f32 unk18; /*18*/
|
||||
u32 unk1c; /*1c*/
|
||||
@@ -1220,12 +1421,14 @@ typedef union
|
||||
*/
|
||||
typedef struct Model
|
||||
{
|
||||
u8 unk00; /*0x00*/
|
||||
s16 Type; /*0x01*/ //per sub_GAME_7F075F68 should be s16?
|
||||
struct ChrRecord *chr; /*0x04*/
|
||||
ModelFileHeader *obj; /*0x08 GE Name confirmed*/
|
||||
RenderPosView *render_pos; /*0x0c*/
|
||||
void **datas; // array of pointers to modeldata structs /*0x10*/
|
||||
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...
|
||||
// not sure which is correct.
|
||||
|
||||
struct ChrRecord *chr; /*0x04*/
|
||||
ModelFileHeader *obj; /*0x08 GE Name confirmed*/
|
||||
RenderPosView *render_pos; /*0x0c*/
|
||||
union ModelRwData **datas; // array of pointers to modeldata structs /*0x10*/
|
||||
|
||||
f32 scale; /*0x14*/
|
||||
struct Model *attachedto; /*0x18*/
|
||||
@@ -1282,12 +1485,12 @@ typedef union
|
||||
|
||||
s32 unk64;
|
||||
s32 unk68;
|
||||
s32 unk6c;
|
||||
f32 unk6c;
|
||||
// 0x70
|
||||
s32 unk70;
|
||||
f32 unk70;
|
||||
s32 unk74;
|
||||
s32 unk78;
|
||||
s32 unk7c;
|
||||
f32 unk7c;
|
||||
// 0x80
|
||||
s32 unk80;
|
||||
|
||||
@@ -1296,7 +1499,7 @@ typedef union
|
||||
*/
|
||||
f32 unk84;
|
||||
|
||||
s32 unk88;
|
||||
f32 unk88;
|
||||
s32 unk8c;
|
||||
// 0x90
|
||||
f32 animloopframe; /*0x90*/
|
||||
@@ -1306,7 +1509,7 @@ typedef union
|
||||
// 0xa0
|
||||
s32 unka0;
|
||||
f32 unka4; // used by ACT_STAND in chrlv
|
||||
f32 unka8;
|
||||
f32 animrate;
|
||||
f32 unkac;
|
||||
// 0xb0
|
||||
f32 unkb0;
|
||||
@@ -1997,7 +2200,7 @@ typedef union
|
||||
typedef struct ChrRecord_f180
|
||||
{
|
||||
/***/
|
||||
char unk00;
|
||||
s8 unk00;
|
||||
s8 item_id; // type ITEM_IDS
|
||||
char unk02;
|
||||
char unk03;
|
||||
@@ -2017,7 +2220,7 @@ typedef union
|
||||
|
||||
typedef struct ObjectRecord_f6c
|
||||
{
|
||||
u32 id;
|
||||
u32 flags;
|
||||
coord3d pos;
|
||||
|
||||
/**
|
||||
@@ -2059,7 +2262,7 @@ typedef union
|
||||
|
||||
u32 unka0;
|
||||
u32 unka4;
|
||||
u32 unka8;
|
||||
u32 animrate;
|
||||
u32 unkac;
|
||||
|
||||
f32 unkb0; // runtime y position?
|
||||
@@ -2264,16 +2467,9 @@ typedef union
|
||||
|
||||
struct collision_data {
|
||||
s32 unk00;
|
||||
s32 unk04;
|
||||
s32 unk08;
|
||||
s32 unk0C;
|
||||
|
||||
s32 unk10;
|
||||
s32 unk14;
|
||||
s32 unk18;
|
||||
s32 unk1C;
|
||||
rect4f unk04;
|
||||
|
||||
s32 unk20;
|
||||
s32 unk24;
|
||||
s32 unk28;
|
||||
s32 unk2C;
|
||||
@@ -2683,9 +2879,9 @@ typedef union
|
||||
* If you reset this to 0 (NULL pointer), then the door opening
|
||||
* sound never stops playing.
|
||||
*/
|
||||
void *unkf4; // ALSoundState *openSoundState;
|
||||
ALSoundState *openSoundState;
|
||||
|
||||
void *unkf8; // ALSoundState *closeSoundState;
|
||||
ALSoundState *closeSoundState;
|
||||
|
||||
/**
|
||||
* Copy of global timer value.
|
||||
@@ -2708,7 +2904,7 @@ typedef union
|
||||
typedef struct GlobalDoorScaleRecord
|
||||
{
|
||||
inherits PropDefHeaderRecord;
|
||||
u32 Scale;
|
||||
s32 Scale;
|
||||
} GlobalDoorScaleRecord;
|
||||
|
||||
#define New_GlobalDoorScaleRecord(Scale) \
|
||||
@@ -3014,6 +3210,18 @@ typedef union
|
||||
// PROPDEF_HAT (17)
|
||||
|
||||
// PROPDEF_GUARD_ATTRIBUTE (18)
|
||||
typedef struct GuardAttributeRecord
|
||||
{
|
||||
inherits PropDefHeaderRecord;
|
||||
s32 chrnum; //0x4
|
||||
s16 unk8; //0x8
|
||||
s8 unkA; // 0xa
|
||||
s8 GrenadeProb; //0xb
|
||||
} GuardAttributeRecord;
|
||||
#define New_SwitchRecord(ID1, ID2) \
|
||||
{ \
|
||||
New_PropDefHeaderRecord(19), ID1 + 0, ID2 + 0 \
|
||||
}
|
||||
|
||||
// PROPDEF_SWITCH (19) - see LinkRecord
|
||||
#define New_SwitchRecord(ID1, ID2) \
|
||||
@@ -3364,8 +3572,8 @@ typedef union
|
||||
s32 CullDist;
|
||||
s32 unk88;
|
||||
s32 unk8c;
|
||||
s32 unk90;
|
||||
} GlassData;
|
||||
f32 unk90;
|
||||
} TintedGlassRecord;
|
||||
#define New_TintedGlassRecord(pad) \
|
||||
{ \
|
||||
New_PropDefHeaderRecord(47), 0, pad + 0 \
|
||||
@@ -3550,7 +3758,9 @@ struct SetupIntroCredits
|
||||
enum WATCH_BRIEFING_PAGE menu;//4
|
||||
u16 reserved;//8
|
||||
u16 text; //a
|
||||
struct watchMenuObjectiveText *nextentry; //c
|
||||
u16 unkC; //c
|
||||
s8 unkD; //d
|
||||
s8 difficulty; //f
|
||||
};
|
||||
#pragma endregion Objectives
|
||||
|
||||
@@ -3573,6 +3783,36 @@ struct SetupIntroCredits
|
||||
#pragma endregion Images
|
||||
|
||||
#pragma region Player
|
||||
|
||||
typedef struct SkyRelated38 {
|
||||
f32 unk00; /*0x00*/
|
||||
f32 unk04; /*0x04*/
|
||||
f32 unk08; /*0x08*/
|
||||
f32 unk0c; /*0x0c*/
|
||||
f32 r; /*0x10*/
|
||||
f32 g; /*0x14*/
|
||||
f32 b; /*0x18*/
|
||||
f32 a; /*0x1c*/
|
||||
f32 unk20; /*0x20*/
|
||||
f32 unk24; /*0x24*/
|
||||
f32 unk28; /*0x28*/
|
||||
f32 unk2c; /*0x2c*/
|
||||
f32 unk30; /*0x30*/
|
||||
f32 unk34; /*0x34*/
|
||||
} SkyRelated38;
|
||||
|
||||
typedef struct SkyRelated18 {
|
||||
f32 unk00; /*0x00*/
|
||||
f32 unk04; /*0x04*/
|
||||
f32 unk08; /*0x08*/
|
||||
f32 unk0c; /*0x0c*/
|
||||
f32 unk10; /*0x10*/
|
||||
u8 r; /*0x14*/
|
||||
u8 g; /*0x15*/
|
||||
u8 b; /*0x16*/
|
||||
u8 a; /*0x17*/
|
||||
} SkyRelated18;
|
||||
|
||||
#pragma endregion Player
|
||||
|
||||
#pragma region stagesetup.h
|
||||
@@ -3581,7 +3821,7 @@ struct SetupIntroCredits
|
||||
waypoint *pathwaypoints;
|
||||
waygroup *waypointgroups;
|
||||
struct SetupIntroEmpty *intro;
|
||||
s32 *propDefs;
|
||||
PropDefHeaderRecord *propDefs;
|
||||
PathRecord *patrolpaths;
|
||||
AIListRecord *ailists;
|
||||
PadRecord *pads;
|
||||
|
||||
+3
-3
@@ -160,7 +160,7 @@ void bossInitMainthreadData(void)
|
||||
viInitDebugNoticeList();
|
||||
viInitVideoSettings();
|
||||
indycommInit();
|
||||
g_DebugAndUpdateStageFlag = rmonIsDisabled();
|
||||
g_DebugAndUpdateStageFlag = rmonGetToken();
|
||||
obInitDebugNoticeList();
|
||||
rspInitDebugNoticeList();
|
||||
dynInitDebugNoticeList();
|
||||
@@ -477,7 +477,7 @@ void bossMainloop(void)
|
||||
#if defined(VERSION_EU)
|
||||
profileSetMarker();
|
||||
speedGraphVideoRelated_2();
|
||||
speedGraphDisplay(0x20004);
|
||||
speedGraphDisplay(0x20000);
|
||||
#else
|
||||
video_DL_related_4();
|
||||
speedGraphVideoRelated_2();
|
||||
@@ -500,7 +500,7 @@ void bossMainloop(void)
|
||||
g_DebugMode = g_DebugHighlightedOption;
|
||||
} else
|
||||
#endif
|
||||
#ifndef DEBUGMEN
|
||||
#ifndef DEBUGMENU
|
||||
if (g_BossIsDebugMenuOpen)
|
||||
#endif
|
||||
{
|
||||
|
||||
+411
-25
@@ -1,8 +1,9 @@
|
||||
#include <ultra64.h>
|
||||
#include <PR/os.h>
|
||||
#include <bondgame.h>
|
||||
#include "fr.h"
|
||||
#include "tlb_manage.h"
|
||||
#include "deb_print.h"
|
||||
#include "crash.h"
|
||||
#include "ramrom.h"
|
||||
#include <PR/R4300.h>
|
||||
#include "thread_config.h"
|
||||
@@ -21,7 +22,7 @@
|
||||
#define g_indyReadBuffer_LEN 0x60
|
||||
|
||||
/**
|
||||
* Copied from n64devkit\ultra\usr\src\pr\demos\fault\fault.c
|
||||
* Copied from n64devkit\ultra\usr\src\pr\demos\fault\crash.c
|
||||
*/
|
||||
#define MSG_FAULT 0x10
|
||||
|
||||
@@ -144,25 +145,184 @@ char g_tlbStack[0x2300];
|
||||
OSMesgQueue g_faultMesgQ;
|
||||
OSMesg *g_faultMesgBuf;
|
||||
|
||||
/**
|
||||
* EU .data, offset from start of data_seg : 0x2540
|
||||
*/
|
||||
|
||||
// Padding
|
||||
u32 D_80023300 = 0;
|
||||
|
||||
//The following regDesc's are similar to PR/Tools/Gload/Server.c
|
||||
/*
|
||||
* Cause Register
|
||||
*/
|
||||
static regDesc_t causeDesc[] = {
|
||||
{CAUSE_BD, CAUSE_BD, "BD"},
|
||||
/* Interrupt pending bits */
|
||||
{CAUSE_IP8, CAUSE_IP8, "IP8"},
|
||||
{CAUSE_IP7, CAUSE_IP7, "IP7"},
|
||||
{CAUSE_IP6, CAUSE_IP6, "IP6"},
|
||||
{CAUSE_IP5, CAUSE_IP5, "IP5"},
|
||||
{CAUSE_IP4, CAUSE_IP4, "IP4"},
|
||||
{CAUSE_IP3, CAUSE_IP3, "IP3"},
|
||||
{CAUSE_SW2, CAUSE_SW2, "IP2"},
|
||||
{CAUSE_SW1, CAUSE_SW1, "IP1"},
|
||||
/* Hardware exception codes */
|
||||
{CAUSE_EXCMASK, EXC_INT, "Int"},
|
||||
{CAUSE_EXCMASK, EXC_MOD, "TLBmod"},
|
||||
{CAUSE_EXCMASK, EXC_RMISS, "TLBload"},
|
||||
{CAUSE_EXCMASK, EXC_WMISS, "TLBstore"},
|
||||
{CAUSE_EXCMASK, EXC_RADE, "Address error on load or instruction fetch"},
|
||||
{CAUSE_EXCMASK, EXC_WADE, "Address error on store"},
|
||||
{CAUSE_EXCMASK, EXC_IBE, "Bus error exception on instruction fetch"},
|
||||
{CAUSE_EXCMASK, EXC_DBE, "Bus error exception on data reference"},
|
||||
{CAUSE_EXCMASK, EXC_SYSCALL, "Syscall"},
|
||||
{CAUSE_EXCMASK, EXC_BREAK, "Brk"},
|
||||
{CAUSE_EXCMASK, EXC_II, "Reserved instruction"},
|
||||
{CAUSE_EXCMASK, EXC_CPU, "Cop unusable"},
|
||||
{CAUSE_EXCMASK, EXC_OV, "Overflow"},
|
||||
{CAUSE_EXCMASK, EXC_TRAP, "Trap"},
|
||||
{CAUSE_EXCMASK,
|
||||
EXC_VCEI,
|
||||
"Virtual coherency exception on intruction fetch"},
|
||||
{CAUSE_EXCMASK, EXC_FPE, "Fp exception"},
|
||||
{CAUSE_EXCMASK, EXC_WATCH, "Watchpoint"},
|
||||
{CAUSE_EXCMASK, EXC_VCED, "Virtual coherency exception on data reference"},
|
||||
{0, 0, ""},
|
||||
};
|
||||
|
||||
/*
|
||||
* Status register
|
||||
*/
|
||||
static regDesc_t srDesc[] = {
|
||||
{SR_CU3, SR_CU3, "CU3"},
|
||||
{SR_CU2, SR_CU2, "CU2"},
|
||||
{SR_CU1, SR_CU1, "CU1"},
|
||||
{SR_CU0, SR_CU0, "CU0"},
|
||||
{SR_RP, SR_RP, "RP"},
|
||||
{SR_FR, SR_FR, "FR"},
|
||||
{SR_RE, SR_RE, "RE"},
|
||||
{SR_BEV, SR_BEV, "BEV"},
|
||||
{SR_TS, SR_TS, "TS"},
|
||||
{SR_SR, SR_SR, "SR"},
|
||||
{SR_CH, SR_CH, "CH"},
|
||||
{SR_CE, SR_CE, "CE"},
|
||||
{SR_DE, SR_DE, "DE"},
|
||||
|
||||
/*
|
||||
* Interrupt enable bits
|
||||
* (NOTE: bits set to 1 enable the corresponding level interrupt)
|
||||
*/
|
||||
|
||||
{SR_IBIT8, SR_IBIT8, "IM8"},
|
||||
{SR_IBIT7, SR_IBIT7, "IM7"},
|
||||
{SR_IBIT6, SR_IBIT6, "IM6"},
|
||||
{SR_IBIT5, SR_IBIT5, "IM5"},
|
||||
{SR_IBIT4, SR_IBIT4, "IM4"},
|
||||
{SR_IBIT3, SR_IBIT3, "IM3"},
|
||||
{SR_IBIT2, SR_IBIT2, "IM2"},
|
||||
{SR_IBIT1, SR_IBIT1, "IM1"},
|
||||
{SR_KX, SR_KX, "KX"},
|
||||
{SR_SX, SR_SX, "SX"},
|
||||
{SR_UX, SR_UX, "UX"},
|
||||
{SR_KSU_MASK, SR_KSU_USR, "USR"},
|
||||
{SR_KSU_MASK, SR_KSU_SUP, "SUP"},
|
||||
{SR_KSU_MASK, SR_KSU_KER, "KER"},
|
||||
{SR_ERL, SR_ERL, "ERL"},
|
||||
{SR_EXL, SR_EXL, "EXL"},
|
||||
{SR_IE, SR_IE, "IE"},
|
||||
{0, 0, ""}
|
||||
};
|
||||
|
||||
/*
|
||||
* floating-point status register
|
||||
*/
|
||||
static regDesc_t fpcsrDesc[] = {
|
||||
{FPCSR_FS, FPCSR_FS, "FS"},
|
||||
{FPCSR_C, FPCSR_C, "C"},
|
||||
{FPCSR_CE, FPCSR_CE, "Unimplemented"},
|
||||
{FPCSR_CV, FPCSR_CV, "Invalid op"},
|
||||
{FPCSR_CZ, FPCSR_CZ, "/ by 0.0"},
|
||||
{FPCSR_CO, FPCSR_CO, "Overflow"},
|
||||
{FPCSR_CU, FPCSR_CU, "Underflow"},
|
||||
{FPCSR_CI, FPCSR_CI, "Inexact op"},
|
||||
{FPCSR_EV, FPCSR_EV, "EV"},
|
||||
{FPCSR_EZ, FPCSR_EZ, "EZ"},
|
||||
{FPCSR_EO, FPCSR_EO, "EO"},
|
||||
{FPCSR_EU, FPCSR_EU, "EU"},
|
||||
{FPCSR_EI, FPCSR_EI, "EI"},
|
||||
{FPCSR_FV, FPCSR_FV, "FV"},
|
||||
{FPCSR_FZ, FPCSR_FZ, "FZ"},
|
||||
{FPCSR_FO, FPCSR_FO, "FO"},
|
||||
{FPCSR_FU, FPCSR_FU, "FU"},
|
||||
{FPCSR_FI, FPCSR_FI, "FI"},
|
||||
{FPCSR_RM_MASK, FPCSR_RM_RN, "RN"},
|
||||
{FPCSR_RM_MASK, FPCSR_RM_RZ, "RZ"},
|
||||
{FPCSR_RM_MASK, FPCSR_RM_RP, "RP"},
|
||||
{FPCSR_RM_MASK, FPCSR_RM_RM, "RM"},
|
||||
{0, 0, ""}
|
||||
};
|
||||
|
||||
void *g_StackPtrs1[STACK_POINTER_COUNT] = {&sp_rmon, &sp_idle, &sp_shed, &sp_main, &sp_audi};
|
||||
|
||||
#ifndef VERSION_EU
|
||||
void *g_StackPtrs2[STACK_POINTER_COUNT] = {&sp_idle, &sp_shed, &sp_main, &sp_audi, &sp_debug};
|
||||
#else
|
||||
// no sp_debug
|
||||
void *g_StackPtrs2[STACK_POINTER_COUNT] = {&sp_idle, &sp_shed, &sp_main, &sp_audi, &cfb_16};
|
||||
#endif
|
||||
|
||||
void *g_StackPtrs3[STACK_POINTER_COUNT] = {&sp_rmon, &sp_idle, &sp_shed, &sp_main, &sp_audi};
|
||||
|
||||
// 71 x 32 text buffer (32th line is not drawn)
|
||||
unsigned char g_DebugOutputTextBuffer[32][71] = {0};
|
||||
|
||||
static s32 g_DebugOutputCurrentPosX = 0;
|
||||
static s32 g_DebugOutputCurrentPosY = 0;
|
||||
|
||||
// 4 x 7 bitmaps of ascii characters (0x20 - 0x7E), each padded to 32 bits
|
||||
u32 g_DebugOutputBitmaps[] = {
|
||||
0x00000000, 0x22220200, 0x55000000, 0x05F5F500, 0x27427200, // ' ', '!', '\"', '#', '$'
|
||||
0x05124500, 0x34255300, 0x22000000, 0x24444420, 0x42222240, // '%', '&', '\'', '(', ')'
|
||||
0x06F6F600, 0x00272000, 0x00000240, 0x00070000, 0x00000200, // '*', '+', '\,', '-', '.'
|
||||
0x11224480, 0x25555200, 0x26222700, 0x25125700, 0x61211600, // '/', '0', '1', '2', '3'
|
||||
0x33557300, 0x64611600, 0x24655200, 0x71112200, 0x25755200, // '4', '5', '6', '7', '8'
|
||||
0x25531600, 0x00200200, 0x00200640, 0x01242100, 0x00707000, // '9', ':', ';', '<', '='
|
||||
0x04212400, 0x07120200, 0x25FF5700, 0x02557D00, 0x06575E00, // '>', '?', '@', 'A', 'B'
|
||||
0x07445300, 0x07555600, 0x07565700, 0x07564400, 0x07C95700, // 'C', 'D', 'E', 'F', 'G'
|
||||
0x05575500, 0x07222700, 0x03111600, 0x05665500, 0x04445F00, // 'H', 'I', 'J', 'K', 'L'
|
||||
0x0DFF9D00, 0x0F777D00, 0x07DD5700, 0x07564600, 0x07995770, // 'M', 'N', 'O', 'P', 'Q'
|
||||
0x07565500, 0x07461E00, 0x07222200, 0x0D999600, 0x0D552200, // 'R', 'S', 'T', 'U', 'V'
|
||||
0x0DF77500, 0x0D625500, 0x05622600, 0x07125700, 0x32222230, // 'W', 'X', 'Y', 'Z', '['
|
||||
0x44222110, 0x62222260, 0x25000000, 0x00000700, 0x42200000, // '\\', ']', '^', '_', '`'
|
||||
0x0067D700, 0x44755700, 0x00788600, 0x117DD700, 0x006FC700, // 'a', 'b', 'c', 'd', 'e'
|
||||
0x32722700, 0x007DD730, 0x44755500, 0x02622700, 0x02711130, // 'f', 'g', 'h', 'i', 'j',
|
||||
0x44766500, 0x62222700, 0x00FFFF00, 0x00755D00, 0x006DD600, // 'k', 'l', 'm', 'n', 'o'
|
||||
0x00755740, 0x00799710, 0x00744600, 0x00775700, 0x02722300, // 'p', 'q', 'r', 's', 't'
|
||||
0x00555700, 0x00552200, 0x00577500, 0x00562500, 0x00552220, // 'u', 'v', 'w', 'x', 'y'
|
||||
0x00703700, 0x12242210, 0x02222220, 0x42212240, 0x005A0000 // 'z', '{', '|', '}', '~'
|
||||
};
|
||||
|
||||
u16 *g_DebugOutputVideoBuffer1 = NULL;
|
||||
u16 *g_DebugOutputVideoBuffer2 = NULL;
|
||||
|
||||
// Padding
|
||||
u32 D_80024184[4] = {0};
|
||||
|
||||
// forward declarations
|
||||
|
||||
void faultMain(void* arg0);
|
||||
void crashMain(void* arg0);
|
||||
|
||||
// end forward declarations
|
||||
|
||||
/**
|
||||
* 5AE0 70004EE0
|
||||
*/
|
||||
void faultInit(void)
|
||||
void crashInit(void)
|
||||
{
|
||||
deboutInitBuffers();
|
||||
crashInitBuffers();
|
||||
osCreateMesgQueue(&g_faultMesgQ, (OSMesg *)&g_faultMesgBuf, TLB_MESSAGE_QUEUE_SIZE);
|
||||
osCreateThread(&g_tlbThread, TLB_THREAD_ID, &faultMain, NULL, &g_tlbStack, TLB_THREAD_PRIORITY);
|
||||
osCreateThread(&g_tlbThread, TLB_THREAD_ID, &crashMain, NULL, &g_tlbStack, TLB_THREAD_PRIORITY);
|
||||
osStartThread(&g_tlbThread);
|
||||
}
|
||||
|
||||
@@ -172,7 +332,7 @@ void faultInit(void)
|
||||
* @param arg0 Unused.
|
||||
*/
|
||||
extern OSThread *__osRunQueue;
|
||||
void faultMain(void* arg0)
|
||||
void crashMain(void* arg0)
|
||||
{
|
||||
OSMesg msg = 0;
|
||||
OSIntMask mask;
|
||||
@@ -202,8 +362,8 @@ void faultMain(void* arg0)
|
||||
else if (((curr->context.cause & 0x7c) == 8) && ((curr->context.badvaddr & 0xFFC00000) == (u32)0x7F000000))
|
||||
{
|
||||
tlbmanageTranslateLoadRomFromTlbAddress(curr->context.badvaddr);
|
||||
curr->state = (u16)0xA;
|
||||
curr->flags = (u16)0;
|
||||
curr->state = OS_STATE_RUNNABLE | OS_STATE_WAITING;;
|
||||
curr->flags = OS_READ;
|
||||
|
||||
__osEnqueueThread(&__osRunQueue, curr);
|
||||
osSetIntMask(mask);
|
||||
@@ -383,7 +543,7 @@ s32 crashIsReturnAddress(u32 *instruction)
|
||||
*
|
||||
* Max length returned is 256.
|
||||
*/
|
||||
s32 indyStrlen(u8 *arg0)
|
||||
s32 crashGetStrLen(u8 *arg0)
|
||||
{
|
||||
s32 count = 0;
|
||||
u8 c;
|
||||
@@ -412,7 +572,7 @@ char g_indyReadBuffer[g_indyReadBuffer_LEN];
|
||||
* V0= total size of one word, two strings at hardware A0
|
||||
* accepts: A0=hardware address
|
||||
*/
|
||||
u8 *indyFileGetAddressSubsequentData(u8 *arg0)
|
||||
u8 *crashIndyFileGetAddressSubsequentData(u8 *arg0)
|
||||
{
|
||||
u32 returnAddress;
|
||||
|
||||
@@ -421,13 +581,13 @@ u8 *indyFileGetAddressSubsequentData(u8 *arg0)
|
||||
g_indyCurrentReadBufferResourceId = (u32*)(*(s32*) &g_indyReadBuffer);
|
||||
g_indyReadBufferString1 = (u8*)&g_indyReadBuffer[4];
|
||||
g_indyReadBufferString2 = (u8 *) (
|
||||
indyStrlen(g_indyReadBufferString1)
|
||||
crashGetStrLen(g_indyReadBufferString1)
|
||||
+ (u32)g_indyReadBufferString1
|
||||
+ 1);
|
||||
|
||||
returnAddress =
|
||||
indyStrlen(g_indyReadBufferString1)
|
||||
+ ((u32)arg0 + indyStrlen(g_indyReadBufferString2))
|
||||
crashGetStrLen(g_indyReadBufferString1)
|
||||
+ ((u32)arg0 + crashGetStrLen(g_indyReadBufferString2))
|
||||
+ 6;
|
||||
|
||||
if (returnAddress & 3)
|
||||
@@ -443,7 +603,7 @@ u8 *indyFileGetAddressSubsequentData(u8 *arg0)
|
||||
* scan for and load resourceID A0 from indy.read.buf
|
||||
* accepts: A0=resourceID
|
||||
*/
|
||||
s32 indyScanLoadResourceIdFromBuffer(u32 arg0)
|
||||
s32 crashIndyScanLoadResourceIdFromBuffer(u32 arg0)
|
||||
{
|
||||
u32 *temp_v1;
|
||||
u8 *phi_s0 = (u8 *)0xE00004;
|
||||
@@ -455,7 +615,7 @@ s32 indyScanLoadResourceIdFromBuffer(u32 arg0)
|
||||
|
||||
while (1)
|
||||
{
|
||||
v0 = indyFileGetAddressSubsequentData(phi_s0);
|
||||
v0 = crashIndyFileGetAddressSubsequentData(phi_s0);
|
||||
|
||||
temp_v1 = g_indyCurrentReadBufferResourceId;
|
||||
|
||||
@@ -474,7 +634,7 @@ s32 indyScanLoadResourceIdFromBuffer(u32 arg0)
|
||||
phi_s0 = v0;
|
||||
}
|
||||
|
||||
indyFileGetAddressSubsequentData(phi_s3);
|
||||
crashIndyFileGetAddressSubsequentData(phi_s3);
|
||||
|
||||
return 1;
|
||||
}
|
||||
@@ -483,9 +643,9 @@ s32 indyScanLoadResourceIdFromBuffer(u32 arg0)
|
||||
* 5FC8 700053C8
|
||||
* V0= TRUE if valid indy.read.buf.resourceID [matches 826475BE]
|
||||
*/
|
||||
u32 indyIsValidReadBufferResourceId(void)
|
||||
u32 crashIidyIsValidReadBufferResourceId(void)
|
||||
{
|
||||
indyFileGetAddressSubsequentData((u8*)0xe00000);
|
||||
crashIndyFileGetAddressSubsequentData((u8*)0xe00000);
|
||||
return ((u32)g_indyCurrentReadBufferResourceId ^ 0x826475be) == 0;
|
||||
}
|
||||
|
||||
@@ -493,8 +653,25 @@ u32 indyIsValidReadBufferResourceId(void)
|
||||
* 5FFC 700053FC
|
||||
* unconditional return
|
||||
*/
|
||||
void indyRemoved01(void)
|
||||
void crashIndyRemoved01(void)
|
||||
{
|
||||
//from pd
|
||||
#ifdef VERSION_DEBUG
|
||||
s32 numvalid = 0;
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
if (g_indyReadBufferString1[i] >= '!' && g_indyReadBufferString1[i] <= 0x7f) {
|
||||
numvalid++;
|
||||
}
|
||||
}
|
||||
|
||||
if (numvalid == 4) {
|
||||
rmonPrintf("%.49s", g_indyReadBufferString1);
|
||||
} else {
|
||||
rmonPrintf("???");
|
||||
}
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -502,8 +679,24 @@ void indyRemoved01(void)
|
||||
* 6004 70005404
|
||||
* unconditional return
|
||||
*/
|
||||
void indyRemoved02(void)
|
||||
void crashIndyRemoved02(void)
|
||||
{
|
||||
#ifdef VERSION_DEBUG
|
||||
s32 numvalid = 0;
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 4; i++) {
|
||||
if (g_indyReadBufferString2[i] >= '!' && g_indyReadBufferString2[i] <= 0x7f) {
|
||||
numvalid++;
|
||||
}
|
||||
}
|
||||
|
||||
if (numvalid == 4) {
|
||||
rmonPrintf("%.41s", g_indyReadBufferString2);
|
||||
} else {
|
||||
rmonPrintf("???");
|
||||
}
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -511,10 +704,10 @@ void indyRemoved02(void)
|
||||
* 600C 7000540C
|
||||
* unconditional return
|
||||
*/
|
||||
void indyPrintReadBufferResourceId(void)
|
||||
void crashIndyPrintReadBufferResourceIdI(void)
|
||||
{
|
||||
#ifdef DEBUG
|
||||
osSyncPrintf("%08x",_g_indyCurrentReadBufferResourceId); //from pd beta
|
||||
#ifdef ENABLE_LOG
|
||||
rmonPrintf("%08x",g_indyCurrentReadBufferResourceId); //from pd beta
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
@@ -523,7 +716,7 @@ void indyPrintReadBufferResourceId(void)
|
||||
* 6014 70005414
|
||||
* V0= indy.read.buf.resourceID [80063664]
|
||||
*/
|
||||
u32 * indyGetReadBufferResourceId(void)
|
||||
u32 * crashIndyGetReadBufferResourceId(void)
|
||||
{
|
||||
return g_indyCurrentReadBufferResourceId;
|
||||
}
|
||||
@@ -634,6 +827,20 @@ s32 crashPrintFloat(s32 index, f32 value)
|
||||
return crashIsDouble(value);
|
||||
}
|
||||
|
||||
#ifdef VERSION_DEBUG
|
||||
void crashPrint2Floats(s32 index, f32 value1, f32 value2)
|
||||
{
|
||||
crashPrintFloat(index, value1);
|
||||
crashPrintFloat(index + 1, value2);
|
||||
}
|
||||
|
||||
void crashPrint3Floats(s32 index, f32 value1, f32 value2, f32 value3)
|
||||
{
|
||||
crashPrintFloat(index, value1);
|
||||
crashPrintFloat(index + 1, value2);
|
||||
crashPrintFloat(index + 2, value3);
|
||||
}
|
||||
#endif
|
||||
/**
|
||||
* 61C8 700055C8
|
||||
* removed: set normality of single-precision floats A1, A2, A3, SP+10 in table at A0
|
||||
@@ -656,3 +863,182 @@ void crashRender(void) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* DebConTextPos
|
||||
* Sets the position where text will be displayed inside console window
|
||||
* (Does not draw - see print_to_vidbuff1)
|
||||
* @param x: column in which to display text (0-71)
|
||||
* @param y: line in which to display text (0-31)
|
||||
* @param c: Character to Print
|
||||
*/
|
||||
void crashPutChar(s32 x, s32 y, unsigned char c)
|
||||
{
|
||||
// replace tabs and line feeds with nothing
|
||||
if ((c == '\t') || (c == '\n'))
|
||||
{
|
||||
c = '\0';
|
||||
}
|
||||
// is printable char? if not replace with "?"
|
||||
if ((c > '\0') && (c < ' ') || (c > '~'))
|
||||
{
|
||||
c = '?';
|
||||
}
|
||||
if (((x >= 0) && (x <= 71)) && ((y >= 0) && (y <= 31)))
|
||||
{
|
||||
// Debug Window is 71 chars wide 32 rows high
|
||||
//! BUG 71 is accepted as xpos but will overflow the buffer
|
||||
g_DebugOutputTextBuffer[y][x] = c;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* crashAppendChar
|
||||
* Parse Character and save to On-Screen Buffer
|
||||
* @param c: Character to parse
|
||||
*/
|
||||
void crashAppendChar(unsigned char c)
|
||||
{
|
||||
if (c != '\0')
|
||||
{
|
||||
if (c == '\t')
|
||||
{
|
||||
do
|
||||
{
|
||||
crashAppendChar(' '); // fill with blanks
|
||||
} while (g_DebugOutputCurrentPosX & 7);
|
||||
|
||||
return;
|
||||
}
|
||||
if (c == '\n')
|
||||
{
|
||||
g_DebugOutputCurrentPosY++;
|
||||
g_DebugOutputCurrentPosX = 0;
|
||||
}
|
||||
if (g_DebugOutputCurrentPosY > 30)
|
||||
{
|
||||
crashScroll(g_DebugOutputCurrentPosY - 30);
|
||||
g_DebugOutputCurrentPosY = 30;
|
||||
}
|
||||
if (c != '\n')
|
||||
{
|
||||
crashPutChar(g_DebugOutputCurrentPosX, g_DebugOutputCurrentPosY, c);
|
||||
g_DebugOutputCurrentPosX++;
|
||||
if (g_DebugOutputCurrentPosX > 70)
|
||||
{
|
||||
g_DebugOutputCurrentPosX = 0;
|
||||
g_DebugOutputCurrentPosY++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Scroll Buffer up by a number of lines
|
||||
* @param LinesToScroll: Number of Lines to scroll upward
|
||||
*/
|
||||
void crashScroll(s32 numlines)
|
||||
{
|
||||
s32 y;
|
||||
s32 x;
|
||||
while (numlines-- > 0)
|
||||
{
|
||||
for (y = 0; y < 31; y++)
|
||||
{
|
||||
for (x = 0; x < 71; x++)
|
||||
{
|
||||
g_DebugOutputTextBuffer[y][x] = g_DebugOutputTextBuffer[y + 1][x];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Print 4x8 1bit Glyph to stderr screen at position (x,y)
|
||||
* @param x: Pixels from left within the stderr box
|
||||
* @param y: Pixels from top within the stderr box
|
||||
* @param c: the character to display
|
||||
*/
|
||||
void crashRenderChar(s32 x, s32 y, unsigned char c)
|
||||
{
|
||||
s32 bitmap_x;
|
||||
s32 bitmap_y;
|
||||
u32 bitmap;
|
||||
s16 screen_w = viGetX();
|
||||
u16 *Vidbufp;
|
||||
if (c == '\0')
|
||||
{
|
||||
c = ' '; //replace nul with space
|
||||
}
|
||||
if ((c >= ' ') && (c <= '~')) //if valid char
|
||||
{
|
||||
Vidbufp = (g_DebugOutputVideoBuffer1 + x + (y * screen_w));
|
||||
bitmap = g_DebugOutputBitmaps[c - ' '];
|
||||
for (bitmap_y = 0; bitmap_y < 7; bitmap_y++)
|
||||
{
|
||||
for (bitmap_x = 0; bitmap_x < 4; bitmap_x++)
|
||||
{
|
||||
if (bitmap & (1 << 31))
|
||||
{
|
||||
*Vidbufp = GPACK_RGBA5551(255, 255, 255, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
*Vidbufp = GPACK_RGBA5551(0, 0, 0, 1);
|
||||
}
|
||||
Vidbufp++;
|
||||
bitmap <<= 1; //
|
||||
}
|
||||
Vidbufp += screen_w;
|
||||
Vidbufp -= 4;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set pointers to video buffers 1 & 2.
|
||||
* Converts values to uncached addresses
|
||||
* @param cfba | A0000000 -> 8002417C
|
||||
* @param cfbb | A0000000 -> 80024180
|
||||
*/
|
||||
void crashSetBuffers(u16 *buffer1, u16 *buffer2)
|
||||
{
|
||||
g_DebugOutputVideoBuffer1 = (void *)K0_TO_K1(buffer1);
|
||||
g_DebugOutputVideoBuffer2 = (void *)K0_TO_K1(buffer2);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set up the 2 16bit CFBs to Direct mapped, uncached memory
|
||||
*/
|
||||
void crashInitBuffers(void)
|
||||
{
|
||||
crashSetBuffers(&cfb_16[0], &cfb_16[1]);
|
||||
}
|
||||
|
||||
/**
|
||||
* crashRenderFrame
|
||||
* write stderr to video buffer
|
||||
* @param buffer: video buffer to render output
|
||||
*/
|
||||
void crashRenderFrame(u16 *buffer)
|
||||
{
|
||||
s32 screen_w;
|
||||
s32 screen_h;
|
||||
s32 output_w;
|
||||
s32 output_h;
|
||||
s32 x;
|
||||
s32 y;
|
||||
crashInitBuffers();
|
||||
g_DebugOutputVideoBuffer1 = (void *)K0_TO_K1(buffer); // overwrite cfba
|
||||
screen_w = ((viGetX() - 13) / 4);
|
||||
screen_h = ((viGetY() - 10) / 7);
|
||||
output_w = screen_w - 5; // - margin_w
|
||||
output_h = screen_h - 1; // - margin_h
|
||||
for (y = 0; ((y < output_h) && (y < 31)); y++)
|
||||
{
|
||||
for (x = 0; ((x < output_w) && (x < 71)); x++)
|
||||
{
|
||||
crashRenderChar(((x + 5) * 4), ((y + 1) * 7), g_DebugOutputTextBuffer[y][x]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
#ifndef _DEBUG_PRINT_H_
|
||||
#define _DEBUG_PRINT_H_
|
||||
#ifndef _TLB_PAGING_H_
|
||||
#define _TLB_PAGING_H_
|
||||
|
||||
#include <ultra64.h>
|
||||
|
||||
@@ -18,9 +18,14 @@ extern void *g_StackPtrs1[STACK_POINTER_COUNT];
|
||||
extern void *g_StackPtrs2[STACK_POINTER_COUNT];
|
||||
extern void *g_StackPtrs3[STACK_POINTER_COUNT];
|
||||
|
||||
void deboutWriteChar(unsigned char c);
|
||||
void deboutScrollUp(s32 numlines);
|
||||
void deboutInitBuffers();
|
||||
void deboutDrawToBuffer(u16 *buffer);
|
||||
void crashInit(void);
|
||||
void crashMain(void* arg0);
|
||||
|
||||
void crashAppendChar(unsigned char c);
|
||||
void crashScroll(s32 numlines);
|
||||
void crashInitBuffers();
|
||||
void crashRenderFrame(u16 *buffer);
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
@@ -4,8 +4,12 @@
|
||||
#include "deb.h"
|
||||
#include "str.h"
|
||||
#include "memp.h"
|
||||
#include "fault.h"
|
||||
|
||||
#include "crash.h"
|
||||
#include <PR/os.h>
|
||||
#include "fr.h"
|
||||
#include "tlb_manage.h"
|
||||
#include <PR/R4300.h>
|
||||
#include "thread_config.h"
|
||||
struct deblistentry
|
||||
{
|
||||
struct deblistentry *next;
|
||||
@@ -76,7 +80,7 @@ void debAdd(const char *name, void *data) {
|
||||
|
||||
void debInit(void) {
|
||||
debTryAdd(&g_DebDebugData, "deb_c_debug");
|
||||
faultInit();
|
||||
crashInit();
|
||||
}
|
||||
|
||||
void debTryAdd(void* data, const char *name) {
|
||||
|
||||
-348
@@ -1,348 +0,0 @@
|
||||
|
||||
#include <ultra64.h>
|
||||
#include "deb_print.h"
|
||||
#include <bondgame.h>
|
||||
#include "fr.h"
|
||||
#include <PR/R4300.h>
|
||||
|
||||
/**
|
||||
* EU .data, offset from start of data_seg : 0x2540
|
||||
*/
|
||||
|
||||
// Padding
|
||||
u32 D_80023300 = 0;
|
||||
|
||||
//The following regDesc's are similar to PR/Tools/Gload/Server.c
|
||||
/*
|
||||
* Cause Register
|
||||
*/
|
||||
static regDesc_t causeDesc[] = {
|
||||
{CAUSE_BD, CAUSE_BD, "BD"},
|
||||
/* Interrupt pending bits */
|
||||
{CAUSE_IP8, CAUSE_IP8, "IP8"},
|
||||
{CAUSE_IP7, CAUSE_IP7, "IP7"},
|
||||
{CAUSE_IP6, CAUSE_IP6, "IP6"},
|
||||
{CAUSE_IP5, CAUSE_IP5, "IP5"},
|
||||
{CAUSE_IP4, CAUSE_IP4, "IP4"},
|
||||
{CAUSE_IP3, CAUSE_IP3, "IP3"},
|
||||
{CAUSE_SW2, CAUSE_SW2, "IP2"},
|
||||
{CAUSE_SW1, CAUSE_SW1, "IP1"},
|
||||
/* Hardware exception codes */
|
||||
{CAUSE_EXCMASK, EXC_INT, "Int"},
|
||||
{CAUSE_EXCMASK, EXC_MOD, "TLBmod"},
|
||||
{CAUSE_EXCMASK, EXC_RMISS, "TLBload"},
|
||||
{CAUSE_EXCMASK, EXC_WMISS, "TLBstore"},
|
||||
{CAUSE_EXCMASK, EXC_RADE, "Address error on load or instruction fetch"},
|
||||
{CAUSE_EXCMASK, EXC_WADE, "Address error on store"},
|
||||
{CAUSE_EXCMASK, EXC_IBE, "Bus error exception on instruction fetch"},
|
||||
{CAUSE_EXCMASK, EXC_DBE, "Bus error exception on data reference"},
|
||||
{CAUSE_EXCMASK, EXC_SYSCALL, "Syscall"},
|
||||
{CAUSE_EXCMASK, EXC_BREAK, "Brk"},
|
||||
{CAUSE_EXCMASK, EXC_II, "Reserved instruction"},
|
||||
{CAUSE_EXCMASK, EXC_CPU, "Cop unusable"},
|
||||
{CAUSE_EXCMASK, EXC_OV, "Overflow"},
|
||||
{CAUSE_EXCMASK, EXC_TRAP, "Trap"},
|
||||
{CAUSE_EXCMASK,
|
||||
EXC_VCEI,
|
||||
"Virtual coherency exception on intruction fetch"},
|
||||
{CAUSE_EXCMASK, EXC_FPE, "Fp exception"},
|
||||
{CAUSE_EXCMASK, EXC_WATCH, "Watchpoint"},
|
||||
{CAUSE_EXCMASK, EXC_VCED, "Virtual coherency exception on data reference"},
|
||||
{0, 0, ""},
|
||||
};
|
||||
|
||||
/*
|
||||
* Status register
|
||||
*/
|
||||
static regDesc_t srDesc[] = {
|
||||
{SR_CU3, SR_CU3, "CU3"},
|
||||
{SR_CU2, SR_CU2, "CU2"},
|
||||
{SR_CU1, SR_CU1, "CU1"},
|
||||
{SR_CU0, SR_CU0, "CU0"},
|
||||
{SR_RP, SR_RP, "RP"},
|
||||
{SR_FR, SR_FR, "FR"},
|
||||
{SR_RE, SR_RE, "RE"},
|
||||
{SR_BEV, SR_BEV, "BEV"},
|
||||
{SR_TS, SR_TS, "TS"},
|
||||
{SR_SR, SR_SR, "SR"},
|
||||
{SR_CH, SR_CH, "CH"},
|
||||
{SR_CE, SR_CE, "CE"},
|
||||
{SR_DE, SR_DE, "DE"},
|
||||
|
||||
/*
|
||||
* Interrupt enable bits
|
||||
* (NOTE: bits set to 1 enable the corresponding level interrupt)
|
||||
*/
|
||||
|
||||
{SR_IBIT8, SR_IBIT8, "IM8"},
|
||||
{SR_IBIT7, SR_IBIT7, "IM7"},
|
||||
{SR_IBIT6, SR_IBIT6, "IM6"},
|
||||
{SR_IBIT5, SR_IBIT5, "IM5"},
|
||||
{SR_IBIT4, SR_IBIT4, "IM4"},
|
||||
{SR_IBIT3, SR_IBIT3, "IM3"},
|
||||
{SR_IBIT2, SR_IBIT2, "IM2"},
|
||||
{SR_IBIT1, SR_IBIT1, "IM1"},
|
||||
{SR_KX, SR_KX, "KX"},
|
||||
{SR_SX, SR_SX, "SX"},
|
||||
{SR_UX, SR_UX, "UX"},
|
||||
{SR_KSU_MASK, SR_KSU_USR, "USR"},
|
||||
{SR_KSU_MASK, SR_KSU_SUP, "SUP"},
|
||||
{SR_KSU_MASK, SR_KSU_KER, "KER"},
|
||||
{SR_ERL, SR_ERL, "ERL"},
|
||||
{SR_EXL, SR_EXL, "EXL"},
|
||||
{SR_IE, SR_IE, "IE"},
|
||||
{0, 0, ""}
|
||||
};
|
||||
|
||||
/*
|
||||
* floating-point status register
|
||||
*/
|
||||
static regDesc_t fpcsrDesc[] = {
|
||||
{FPCSR_FS, FPCSR_FS, "FS"},
|
||||
{FPCSR_C, FPCSR_C, "C"},
|
||||
{FPCSR_CE, FPCSR_CE, "Unimplemented"},
|
||||
{FPCSR_CV, FPCSR_CV, "Invalid op"},
|
||||
{FPCSR_CZ, FPCSR_CZ, "/ by 0.0"},
|
||||
{FPCSR_CO, FPCSR_CO, "Overflow"},
|
||||
{FPCSR_CU, FPCSR_CU, "Underflow"},
|
||||
{FPCSR_CI, FPCSR_CI, "Inexact op"},
|
||||
{FPCSR_EV, FPCSR_EV, "EV"},
|
||||
{FPCSR_EZ, FPCSR_EZ, "EZ"},
|
||||
{FPCSR_EO, FPCSR_EO, "EO"},
|
||||
{FPCSR_EU, FPCSR_EU, "EU"},
|
||||
{FPCSR_EI, FPCSR_EI, "EI"},
|
||||
{FPCSR_FV, FPCSR_FV, "FV"},
|
||||
{FPCSR_FZ, FPCSR_FZ, "FZ"},
|
||||
{FPCSR_FO, FPCSR_FO, "FO"},
|
||||
{FPCSR_FU, FPCSR_FU, "FU"},
|
||||
{FPCSR_FI, FPCSR_FI, "FI"},
|
||||
{FPCSR_RM_MASK, FPCSR_RM_RN, "RN"},
|
||||
{FPCSR_RM_MASK, FPCSR_RM_RZ, "RZ"},
|
||||
{FPCSR_RM_MASK, FPCSR_RM_RP, "RP"},
|
||||
{FPCSR_RM_MASK, FPCSR_RM_RM, "RM"},
|
||||
{0, 0, ""}
|
||||
};
|
||||
|
||||
void *g_StackPtrs1[STACK_POINTER_COUNT] = {&sp_rmon, &sp_idle, &sp_shed, &sp_main, &sp_audi};
|
||||
|
||||
#ifndef VERSION_EU
|
||||
void *g_StackPtrs2[STACK_POINTER_COUNT] = {&sp_idle, &sp_shed, &sp_main, &sp_audi, &sp_debug};
|
||||
#else
|
||||
// no sp_debug
|
||||
void *g_StackPtrs2[STACK_POINTER_COUNT] = {&sp_idle, &sp_shed, &sp_main, &sp_audi, &cfb_16};
|
||||
#endif
|
||||
|
||||
void *g_StackPtrs3[STACK_POINTER_COUNT] = {&sp_rmon, &sp_idle, &sp_shed, &sp_main, &sp_audi};
|
||||
|
||||
// 71 x 32 text buffer (32th line is not drawn)
|
||||
unsigned char g_DebugOutputTextBuffer[32][71] = {0};
|
||||
|
||||
static s32 g_DebugOutputCurrentPosX = 0;
|
||||
static s32 g_DebugOutputCurrentPosY = 0;
|
||||
|
||||
// 4 x 7 bitmaps of ascii characters (0x20 - 0x7E), each padded to 32 bits
|
||||
u32 g_DebugOutputBitmaps[] = {
|
||||
0x00000000, 0x22220200, 0x55000000, 0x05F5F500, 0x27427200, // ' ', '!', '\"', '#', '$'
|
||||
0x05124500, 0x34255300, 0x22000000, 0x24444420, 0x42222240, // '%', '&', '\'', '(', ')'
|
||||
0x06F6F600, 0x00272000, 0x00000240, 0x00070000, 0x00000200, // '*', '+', '\,', '-', '.'
|
||||
0x11224480, 0x25555200, 0x26222700, 0x25125700, 0x61211600, // '/', '0', '1', '2', '3'
|
||||
0x33557300, 0x64611600, 0x24655200, 0x71112200, 0x25755200, // '4', '5', '6', '7', '8'
|
||||
0x25531600, 0x00200200, 0x00200640, 0x01242100, 0x00707000, // '9', ':', ';', '<', '='
|
||||
0x04212400, 0x07120200, 0x25FF5700, 0x02557D00, 0x06575E00, // '>', '?', '@', 'A', 'B'
|
||||
0x07445300, 0x07555600, 0x07565700, 0x07564400, 0x07C95700, // 'C', 'D', 'E', 'F', 'G'
|
||||
0x05575500, 0x07222700, 0x03111600, 0x05665500, 0x04445F00, // 'H', 'I', 'J', 'K', 'L'
|
||||
0x0DFF9D00, 0x0F777D00, 0x07DD5700, 0x07564600, 0x07995770, // 'M', 'N', 'O', 'P', 'Q'
|
||||
0x07565500, 0x07461E00, 0x07222200, 0x0D999600, 0x0D552200, // 'R', 'S', 'T', 'U', 'V'
|
||||
0x0DF77500, 0x0D625500, 0x05622600, 0x07125700, 0x32222230, // 'W', 'X', 'Y', 'Z', '['
|
||||
0x44222110, 0x62222260, 0x25000000, 0x00000700, 0x42200000, // '\\', ']', '^', '_', '`'
|
||||
0x0067D700, 0x44755700, 0x00788600, 0x117DD700, 0x006FC700, // 'a', 'b', 'c', 'd', 'e'
|
||||
0x32722700, 0x007DD730, 0x44755500, 0x02622700, 0x02711130, // 'f', 'g', 'h', 'i', 'j',
|
||||
0x44766500, 0x62222700, 0x00FFFF00, 0x00755D00, 0x006DD600, // 'k', 'l', 'm', 'n', 'o'
|
||||
0x00755740, 0x00799710, 0x00744600, 0x00775700, 0x02722300, // 'p', 'q', 'r', 's', 't'
|
||||
0x00555700, 0x00552200, 0x00577500, 0x00562500, 0x00552220, // 'u', 'v', 'w', 'x', 'y'
|
||||
0x00703700, 0x12242210, 0x02222220, 0x42212240, 0x005A0000 // 'z', '{', '|', '}', '~'
|
||||
};
|
||||
|
||||
u16 *g_DebugOutputVideoBuffer1 = NULL;
|
||||
u16 *g_DebugOutputVideoBuffer2 = NULL;
|
||||
|
||||
// Padding
|
||||
u32 D_80024184[4] = {0};
|
||||
|
||||
/**
|
||||
* DebConTextPos
|
||||
* Sets the position where text will be displayed inside console window
|
||||
* (Does not draw - see print_to_vidbuff1)
|
||||
* @param x: column in which to display text (0-71)
|
||||
* @param y: line in which to display text (0-31)
|
||||
* @param c: Character to Print
|
||||
*/
|
||||
void deboutWriteCharAtPos(s32 x, s32 y, unsigned char c)
|
||||
{
|
||||
// replace tabs and line feeds with nothing
|
||||
if ((c == '\t') || (c == '\n'))
|
||||
{
|
||||
c = '\0';
|
||||
}
|
||||
// is printable char? if not replace with "?"
|
||||
if ((c > '\0') && (c < ' ') || (c > '~'))
|
||||
{
|
||||
c = '?';
|
||||
}
|
||||
if (((x >= 0) && (x <= 71)) && ((y >= 0) && (y <= 31)))
|
||||
{
|
||||
// Debug Window is 71 chars wide 32 rows high
|
||||
//! BUG 71 is accepted as xpos but will overflow the buffer
|
||||
g_DebugOutputTextBuffer[y][x] = c;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* deboutWriteChar
|
||||
* Parse Character and save to On-Screen Buffer
|
||||
* @param c: Character to parse
|
||||
*/
|
||||
void deboutWriteChar(unsigned char c)
|
||||
{
|
||||
if (c != '\0')
|
||||
{
|
||||
if (c == '\t')
|
||||
{
|
||||
do
|
||||
{
|
||||
deboutWriteChar(' '); // fill with blanks
|
||||
} while (g_DebugOutputCurrentPosX & 7);
|
||||
|
||||
return;
|
||||
}
|
||||
if (c == '\n')
|
||||
{
|
||||
g_DebugOutputCurrentPosY++;
|
||||
g_DebugOutputCurrentPosX = 0;
|
||||
}
|
||||
if (g_DebugOutputCurrentPosY > 30)
|
||||
{
|
||||
deboutScrollUp(g_DebugOutputCurrentPosY - 30);
|
||||
g_DebugOutputCurrentPosY = 30;
|
||||
}
|
||||
if (c != '\n')
|
||||
{
|
||||
deboutWriteCharAtPos(g_DebugOutputCurrentPosX, g_DebugOutputCurrentPosY, c);
|
||||
g_DebugOutputCurrentPosX++;
|
||||
if (g_DebugOutputCurrentPosX > 70)
|
||||
{
|
||||
g_DebugOutputCurrentPosX = 0;
|
||||
g_DebugOutputCurrentPosY++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Scroll Buffer up by a number of lines
|
||||
* @param LinesToScroll: Number of Lines to scroll upward
|
||||
*/
|
||||
void deboutScrollUp(s32 numlines)
|
||||
{
|
||||
s32 y;
|
||||
s32 x;
|
||||
while (numlines-- > 0)
|
||||
{
|
||||
for (y = 0; y < 31; y++)
|
||||
{
|
||||
for (x = 0; x < 71; x++)
|
||||
{
|
||||
g_DebugOutputTextBuffer[y][x] = g_DebugOutputTextBuffer[y + 1][x];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Print 4x8 1bit Glyph to stderr screen at position (x,y)
|
||||
* @param x: Pixels from left within the stderr box
|
||||
* @param y: Pixels from top within the stderr box
|
||||
* @param c: the character to display
|
||||
*/
|
||||
void deboutDrawChar(s32 x, s32 y, unsigned char c)
|
||||
{
|
||||
s32 bitmap_x;
|
||||
s32 bitmap_y;
|
||||
u32 bitmap;
|
||||
s16 screen_w = viGetX();
|
||||
u16 *Vidbufp;
|
||||
if (c == '\0')
|
||||
{
|
||||
c = ' '; //replace nul with space
|
||||
}
|
||||
if ((c >= ' ') && (c <= '~')) //if valid char
|
||||
{
|
||||
Vidbufp = (g_DebugOutputVideoBuffer1 + x + (y * screen_w));
|
||||
bitmap = g_DebugOutputBitmaps[c - ' '];
|
||||
for (bitmap_y = 0; bitmap_y < 7; bitmap_y++)
|
||||
{
|
||||
for (bitmap_x = 0; bitmap_x < 4; bitmap_x++)
|
||||
{
|
||||
if (bitmap & (1 << 31))
|
||||
{
|
||||
*Vidbufp = GPACK_RGBA5551(255, 255, 255, 1);
|
||||
}
|
||||
else
|
||||
{
|
||||
*Vidbufp = GPACK_RGBA5551(0, 0, 0, 1);
|
||||
}
|
||||
Vidbufp++;
|
||||
bitmap <<= 1; //
|
||||
}
|
||||
Vidbufp += screen_w;
|
||||
Vidbufp -= 4;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set pointers to video buffers 1 & 2.
|
||||
* Converts values to uncached addresses
|
||||
* @param cfba | A0000000 -> 8002417C
|
||||
* @param cfbb | A0000000 -> 80024180
|
||||
*/
|
||||
void deboutSetBuffers(u16 *buffer1, u16 *buffer2)
|
||||
{
|
||||
g_DebugOutputVideoBuffer1 = (void *)K0_TO_K1(buffer1);
|
||||
g_DebugOutputVideoBuffer2 = (void *)K0_TO_K1(buffer2);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set up the 2 16bit CFBs to Direct mapped, uncached memory
|
||||
*/
|
||||
void deboutInitBuffers(void)
|
||||
{
|
||||
deboutSetBuffers(&cfb_16[0], &cfb_16[1]);
|
||||
}
|
||||
|
||||
/**
|
||||
* deboutDrawToBuffer
|
||||
* write stderr to video buffer
|
||||
* @param buffer: video buffer to render output
|
||||
*/
|
||||
void deboutDrawToBuffer(u16 *buffer)
|
||||
{
|
||||
s32 screen_w;
|
||||
s32 screen_h;
|
||||
s32 output_w;
|
||||
s32 output_h;
|
||||
s32 x;
|
||||
s32 y;
|
||||
deboutInitBuffers();
|
||||
g_DebugOutputVideoBuffer1 = (void *)K0_TO_K1(buffer); // overwrite cfba
|
||||
screen_w = ((viGetX() - 13) / 4);
|
||||
screen_h = ((viGetY() - 10) / 7);
|
||||
output_w = screen_w - 5; // - margin_w
|
||||
output_h = screen_h - 1; // - margin_h
|
||||
for (y = 0; ((y < output_h) && (y < 31)); y++)
|
||||
{
|
||||
for (x = 0; ((x < output_w) && (x < 71)); x++)
|
||||
{
|
||||
deboutDrawChar(((x + 5) * 4), ((y + 1) * 7), g_DebugOutputTextBuffer[y][x]);
|
||||
}
|
||||
}
|
||||
}
|
||||
+18
-14
@@ -215,25 +215,29 @@ void debmenu7000AF84(s32 x1, s32 y1, s32 x2, s32 y2) {
|
||||
#endif
|
||||
|
||||
#ifdef NONMATCHING
|
||||
s32 debmenu7000AF98(s32 height) {
|
||||
s32 x;
|
||||
s32 y;
|
||||
s32 ret;
|
||||
for (y = 33; y > 0; y--) {
|
||||
s32 y2 = (y + height);
|
||||
if (y2 >= 0 && y2 < 35) {
|
||||
for (x = 0; x < 80; x++) {
|
||||
debmenu7000AF84(x, y2, x, y);
|
||||
#ifndef LEFTOVERDEBUG
|
||||
void debmenu7000AF98(s32 height)
|
||||
{
|
||||
s32 x; s32 y;
|
||||
|
||||
for (y = 33, height = height + 33; y != 0; y--, height--)
|
||||
{
|
||||
if ((height >= 0) && (height < 35)) {
|
||||
for ( x = 0; x != 80; x++)
|
||||
{
|
||||
debmenu7000AF84(x, height, x, y);
|
||||
}
|
||||
} else {
|
||||
for (x = 0; x < 80; x++) {
|
||||
debmenuWriteCharAtPos(x, y, '\0');
|
||||
|
||||
} else {
|
||||
for (x = 0; x != 80; x++)
|
||||
{
|
||||
debmenuWriteCharAtPos(x, y, 0);
|
||||
}
|
||||
|
||||
}
|
||||
ret = y;
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
#endif
|
||||
#else
|
||||
#ifndef LEFTOVERDEBUG
|
||||
s32 debmenu7000AF98(s32 height) {
|
||||
|
||||
@@ -11,10 +11,17 @@ typedef struct {
|
||||
void debmenu7000ADA8(void);
|
||||
void debmenuInit(void);
|
||||
void debmenuReset(void);
|
||||
#ifdef LEFTOVERDEBUG
|
||||
void debmenu7000AF84(s32 x1, s32 y1, s32 x2, s32 y2);
|
||||
#endif
|
||||
void debmenuSetPos(s32 x, s32 y);
|
||||
void debmenuSetFgColour(s32 r, s32 g, s32 b, s32 a);
|
||||
void debmenuSetEnvColor(s32 r, s32 g, s32 b, s32 a);
|
||||
void debmenuPrintString(const unsigned char *str);
|
||||
Gfx *debmenuDraw(Gfx *gdl);
|
||||
|
||||
#ifdef LEFTOVERDEBUG
|
||||
void debmenuWriteCharAtPos(s32 x, s32 y, unsigned char c);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
@@ -1,9 +0,0 @@
|
||||
#ifndef _TLB_PAGING_H_
|
||||
#define _TLB_PAGING_H_
|
||||
|
||||
#include <ultra64.h>
|
||||
|
||||
void faultInit(void);
|
||||
void faultMain(void* arg0);
|
||||
|
||||
#endif
|
||||
@@ -11,6 +11,9 @@
|
||||
#include "game/bondview.h"
|
||||
#include "game/viewport.h"
|
||||
#include "game/dyn.h"
|
||||
#ifdef ENABLE_USB
|
||||
#include "usb.h"
|
||||
#endif
|
||||
|
||||
/**
|
||||
* EU .data, offset from start of data_seg : 0x2484
|
||||
@@ -1933,7 +1936,8 @@ Gfx *viSetFillColor(Gfx *gdl, s32 r, s32 g, s32 b)
|
||||
*/
|
||||
void indyGrabJpg16bit(void)
|
||||
{
|
||||
#ifdef LEFTOVERDEBUG
|
||||
#ifdef LEFTOVERDEBUG
|
||||
#ifndef ENABLE_USB
|
||||
s32 *pgrabnum = &g_indyJpg16BitGrabnum;
|
||||
char buffer[250];
|
||||
s32 filesize;
|
||||
@@ -1966,7 +1970,11 @@ 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
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -1975,7 +1983,8 @@ void indyGrabJpg16bit(void)
|
||||
*/
|
||||
void indyGrabJpg32bit(void)
|
||||
{
|
||||
#ifdef LEFTOVERDEBUG
|
||||
#if defined(LEFTOVERDEBUG)
|
||||
#if !defined(ENABLE_USB)
|
||||
s32 *pgrabnum = &g_indyJpg32BitGrabnum;
|
||||
char buffer[250];
|
||||
s32 filesize;
|
||||
@@ -2008,6 +2017,9 @@ 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
|
||||
}
|
||||
|
||||
@@ -2017,7 +2029,8 @@ void indyGrabJpg32bit(void)
|
||||
*/
|
||||
void indyGrabRgb16bit(void)
|
||||
{
|
||||
#ifdef LEFTOVERDEBUG
|
||||
#if defined(LEFTOVERDEBUG)
|
||||
#if !defined(ENABLE_USB)
|
||||
s32 *pgrabnum = &g_indyRgb16BitGrabnum;
|
||||
char buffer[250];
|
||||
s32 filesize;
|
||||
@@ -2047,6 +2060,10 @@ 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
|
||||
}
|
||||
|
||||
@@ -2056,7 +2073,8 @@ void indyGrabRgb16bit(void)
|
||||
*/
|
||||
void indyGrabRgb32bit(void)
|
||||
{
|
||||
#ifdef LEFTOVERDEBUG
|
||||
#if defined(LEFTOVERDEBUG)
|
||||
#if !defined(ENABLE_USB)
|
||||
s32 *pgrabnum = &g_indyRgb32BitGrabnum;
|
||||
char buffer[250];
|
||||
s32 filesize;
|
||||
@@ -2086,5 +2104,9 @@ 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
|
||||
}
|
||||
@@ -19,7 +19,7 @@ void alloc_shattered_window_pieces(void)
|
||||
ptr_shattered_window_pieces = mempAllocBytesInBank(((SHATTERED_WINDOW_PIECES_BUFFER_LEN * 0x68) + 0xF) & ~0xF, 4U);
|
||||
for(i=0; i<SHATTERED_WINDOW_PIECES_BUFFER_LEN; i++)
|
||||
{
|
||||
ptr_shattered_window_pieces[i].piece = NULL;
|
||||
ptr_shattered_window_pieces[i].piece = 0;
|
||||
}
|
||||
|
||||
D_80040940 = 0;
|
||||
|
||||
+138
-676
File diff suppressed because it is too large.
Load diff
+23
-8
@@ -20,7 +20,7 @@ typedef struct s_room_info {
|
||||
u8 bitflags1;
|
||||
u8 model_bin_loaded;
|
||||
u8 bitflags2;
|
||||
void * ptr_point_index;
|
||||
Vtx * ptr_point_index;
|
||||
void * ptr_expanded_mapping_info;
|
||||
void * ptr_secondary_expanded_mapping_info;
|
||||
s32 csize_point_index_binary;
|
||||
@@ -35,12 +35,8 @@ typedef struct s_room_info {
|
||||
u8 room_loaded_mask;
|
||||
u8 field_35;
|
||||
s16 field_36;
|
||||
f32 minxbounds;
|
||||
f32 minybounds;
|
||||
f32 minzbounds;
|
||||
f32 maxxbounds;
|
||||
f32 maxybounds;
|
||||
f32 maxzbounds;
|
||||
coord3d minbounds;
|
||||
coord3d maxbounds;
|
||||
} s_room_info;
|
||||
|
||||
typedef struct s_bound_info
|
||||
@@ -90,6 +86,22 @@ typedef struct bg_room_data
|
||||
coord3d pos;
|
||||
} bg_room_data;
|
||||
|
||||
typedef struct s_specialportal
|
||||
{
|
||||
u8 levelid;
|
||||
u8 portallist[];
|
||||
} s_specialportal;
|
||||
|
||||
typedef struct unk_portalstruct
|
||||
{
|
||||
s32 unk0;
|
||||
s32 unk4;
|
||||
s32 unk8;
|
||||
s32 unkC;
|
||||
s32 unk10;
|
||||
} unk_portalstruct;
|
||||
|
||||
extern struct unk_portalstruct table_for_portals[200];
|
||||
extern s32 MaxNumRooms;
|
||||
extern f32 room_data_float2;
|
||||
|
||||
@@ -102,7 +114,7 @@ void bgInitDebugNoticeList(void);
|
||||
// sub_GAME_7F033B38 requres arg be s32
|
||||
s32 sub_GAME_7F0B8FD0(s32 roomA, u8 roomB);
|
||||
|
||||
s32 sub_GAME_7F0B4F9C(u8 room); // u8 not s32 for sub_GAME_7F0B2FE0
|
||||
//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 load_bg_file(LEVEL_INDEX stagenum);
|
||||
@@ -126,5 +138,8 @@ f32 get_room_data_float1(void);
|
||||
u8 getROOMID_Bitflags(int roomID);
|
||||
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);
|
||||
|
||||
|
||||
#endif
|
||||
+16
-16
@@ -191,7 +191,7 @@ u8 die_blood_image_1[] = {
|
||||
0xE5, 0xE5, 0xE5, 0xE5
|
||||
};
|
||||
|
||||
u8 D_8002C50C = 0;
|
||||
u8 die_blood_image_end = 0;
|
||||
|
||||
Gfx *insert_imageDL(Gfx *gdl) {
|
||||
gDPSetCycleType(gdl++, G_CYC_FILL);
|
||||
@@ -218,26 +218,26 @@ s32 die_blood_image_routine(s32 arg0) {
|
||||
u8* temp_v0_2;
|
||||
|
||||
if (arg0 == 0) {
|
||||
g_CurrentPlayer->field_11A8 = die_blood_image_1;
|
||||
g_CurrentPlayer->bloodImgCur = die_blood_image_1;
|
||||
} else if (arg0 == 1) {
|
||||
if (g_CurrentPlayer->field_11AC < &D_8002C50C) {
|
||||
g_CurrentPlayer->field_11A8 = g_CurrentPlayer->field_11AC;
|
||||
if (g_CurrentPlayer->bloodImgNxt < &die_blood_image_end) {
|
||||
g_CurrentPlayer->bloodImgCur = g_CurrentPlayer->bloodImgNxt;
|
||||
}
|
||||
}
|
||||
|
||||
g_CurrentPlayer->field_11B8 = (1 - g_CurrentPlayer->field_11B8);
|
||||
g_CurrentPlayer->field_11B0[g_CurrentPlayer->field_11B8] = dynAllocate(0x1E00);
|
||||
g_CurrentPlayer->bloodImgIdx = (1 - g_CurrentPlayer->bloodImgIdx);
|
||||
g_CurrentPlayer->bloodImgBufPtrArray[g_CurrentPlayer->bloodImgIdx] = dynAllocate(0x1E00);
|
||||
temp_v0_2 = dynAllocate(0x1E00);
|
||||
g_CurrentPlayer->field_11AC = decrypt_bleeding_animation_data(g_CurrentPlayer->field_11A8, 0x50, 0x60, temp_v0_2, &sp37);
|
||||
sub_GAME_7F01D16C(temp_v0_2, 0x50, 0x60, g_CurrentPlayer->field_11B0[g_CurrentPlayer->field_11B8]);
|
||||
sub_GAME_7F01D02C(g_CurrentPlayer->field_11B0[g_CurrentPlayer->field_11B8], 0x50, g_CurrentPlayer->field_11B0[g_CurrentPlayer->field_11B8]);
|
||||
sub_GAME_7F01CEEC(g_CurrentPlayer->field_11B0[g_CurrentPlayer->field_11B8], 0x50, g_CurrentPlayer->field_11B0[g_CurrentPlayer->field_11B8]);
|
||||
sub_GAME_7F01CC94(g_CurrentPlayer->field_11B0[g_CurrentPlayer->field_11B8], 0x1E00, g_CurrentPlayer->field_11B0[g_CurrentPlayer->field_11B8]);
|
||||
g_CurrentPlayer->bloodImgNxt = decrypt_bleeding_animation_data(g_CurrentPlayer->bloodImgCur, 0x50, 0x60, temp_v0_2, &sp37);
|
||||
sub_GAME_7F01D16C(temp_v0_2, 0x50, 0x60, g_CurrentPlayer->bloodImgBufPtrArray[g_CurrentPlayer->bloodImgIdx]);
|
||||
sub_GAME_7F01D02C(g_CurrentPlayer->bloodImgBufPtrArray[g_CurrentPlayer->bloodImgIdx], 0x50, g_CurrentPlayer->bloodImgBufPtrArray[g_CurrentPlayer->bloodImgIdx]);
|
||||
sub_GAME_7F01CEEC(g_CurrentPlayer->bloodImgBufPtrArray[g_CurrentPlayer->bloodImgIdx], 0x50, g_CurrentPlayer->bloodImgBufPtrArray[g_CurrentPlayer->bloodImgIdx]);
|
||||
sub_GAME_7F01CC94(g_CurrentPlayer->bloodImgBufPtrArray[g_CurrentPlayer->bloodImgIdx], 0x1E00, g_CurrentPlayer->bloodImgBufPtrArray[g_CurrentPlayer->bloodImgIdx]);
|
||||
|
||||
return (g_CurrentPlayer->field_11AC >= &D_8002C50C);
|
||||
return (g_CurrentPlayer->bloodImgNxt >= &die_blood_image_end);
|
||||
}
|
||||
|
||||
Gfx *sub_GAME_7F01C400(Gfx *gdl) {
|
||||
Gfx *gunbarrelBloodOverlayDL(Gfx *gdl) {
|
||||
gDPSetTextureLUT(gdl++, G_TT_NONE);
|
||||
gDPSetTextureFilter(gdl++, G_TF_BILERP);
|
||||
|
||||
@@ -249,13 +249,13 @@ Gfx *sub_GAME_7F01C400(Gfx *gdl) {
|
||||
gDPSetColorDither(gdl++, G_CD_MAGICSQ);
|
||||
gDPSetPrimColor(gdl++, 0, 0, 0x96, 0x00, 0x00, 0xB4);
|
||||
gDPSetTexturePersp(gdl++, G_TP_NONE);
|
||||
gDPLoadTextureBlock_4b(gdl++, OS_K0_TO_PHYSICAL(g_CurrentPlayer->field_11B0[g_CurrentPlayer->field_11B8]), G_IM_FMT_I, 96, 80, 0, (G_TX_NOMIRROR | G_TX_CLAMP), (G_TX_NOMIRROR | G_TX_CLAMP), G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||
gDPLoadTextureBlock_4b(gdl++, OS_K0_TO_PHYSICAL(g_CurrentPlayer->bloodImgBufPtrArray[g_CurrentPlayer->bloodImgIdx]), G_IM_FMT_I, 96, 80, 0, (G_TX_NOMIRROR | G_TX_CLAMP), (G_TX_NOMIRROR | G_TX_CLAMP), G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||
gSPTextureRectangle(gdl++, 0, 0, ((viGetX() * 4) - 1), ((viGetY() * 4) - 1), G_TX_RENDERTILE, 0, 0, 0x18000 / viGetX(), 0x14000 / viGetY());
|
||||
|
||||
return gdl;
|
||||
}
|
||||
|
||||
Gfx *sub_GAME_7F01C670(Gfx *gdl) {
|
||||
Gfx *gameplayBloodOverlayDL(Gfx *gdl) {
|
||||
gDPSetTextureLUT(gdl++, G_TT_NONE);
|
||||
gDPSetTextureFilter(gdl++, G_TF_BILERP);
|
||||
gDPSetCycleType(gdl++, G_CYC_1CYCLE);
|
||||
@@ -266,7 +266,7 @@ Gfx *sub_GAME_7F01C670(Gfx *gdl) {
|
||||
gDPSetColorDither(gdl++, G_CD_MAGICSQ);
|
||||
gDPSetPrimColor(gdl++, 0, 0, 0x96, 0x00, 0x00, 0xB4);
|
||||
gDPSetTexturePersp(gdl++, G_TP_NONE);
|
||||
gDPLoadTextureBlock_4b(gdl++, OS_K0_TO_PHYSICAL(g_CurrentPlayer->field_11B0[g_CurrentPlayer->field_11B8]), G_IM_FMT_I, 96, 80, 0, (G_TX_NOMIRROR | G_TX_CLAMP), (G_TX_NOMIRROR | G_TX_CLAMP), G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||
gDPLoadTextureBlock_4b(gdl++, OS_K0_TO_PHYSICAL(g_CurrentPlayer->bloodImgBufPtrArray[g_CurrentPlayer->bloodImgIdx]), G_IM_FMT_I, 96, 80, 0, (G_TX_NOMIRROR | G_TX_CLAMP), (G_TX_NOMIRROR | G_TX_CLAMP), G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
|
||||
gSPTextureRectangle(gdl++, (viGetViewLeft() * 4), (viGetViewTop() * 4), (((viGetViewLeft() + viGetViewWidth()) * 4) - 1), (((viGetViewTop() + viGetViewHeight()) * 4) - 1), G_TX_RENDERTILE, 0, 0, (0x18000 / viGetViewWidth()), (0x14000 / viGetViewHeight()));
|
||||
gDPPipeSync(gdl++);
|
||||
gDPSetColorDither(gdl++, G_CD_BAYER);
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
Gfx *insert_imageDL(Gfx *gdl);
|
||||
Gfx *sub_GAME_7F01C1A4(Gfx *gdl);
|
||||
s32 die_blood_image_routine(s32 arg0);
|
||||
Gfx *sub_GAME_7F01C400(Gfx *gdl);
|
||||
Gfx *gunbarrelBloodOverlayDL(Gfx *gdl);
|
||||
Gfx *sub_GAME_7F01CA18(Gfx *gdl);
|
||||
|
||||
#endif
|
||||
|
||||
+44
-103
@@ -232,7 +232,7 @@ void bheadUpdate(f32 arg0, f32 arg1)
|
||||
matrix_4x4_set_identity(&sp40);
|
||||
|
||||
sp80.unk_matrix = &sp40;
|
||||
sp80.mtxlist = &g_CurrentPlayer->field_6D0;
|
||||
sp80.mtxlist = &g_CurrentPlayer->bondheadmatrices[0];
|
||||
|
||||
subcalcmatrices(&sp80, &g_CurrentPlayer->model);
|
||||
|
||||
@@ -242,35 +242,35 @@ void bheadUpdate(f32 arg0, f32 arg1)
|
||||
|
||||
getsuboffset(&g_CurrentPlayer->model, (struct float3 *) &sp34);
|
||||
|
||||
sp34.f[0] -= g_CurrentPlayer->field_700;
|
||||
sp34.f[2] -= g_CurrentPlayer->field_708;
|
||||
sp34.f[0] -= g_CurrentPlayer->bondheadmatrices[0].m[3][0];
|
||||
sp34.f[2] -= g_CurrentPlayer->bondheadmatrices[0].m[3][2];
|
||||
|
||||
setsuboffset(&g_CurrentPlayer->model, (coord3d *) &sp34);
|
||||
|
||||
if (spC0 > 0.0f)
|
||||
{
|
||||
g_CurrentPlayer->field_700 += arg1;
|
||||
g_CurrentPlayer->field_708 *= arg0;
|
||||
g_CurrentPlayer->bondheadmatrices[0].m[3][0] += arg1;
|
||||
g_CurrentPlayer->bondheadmatrices[0].m[3][2] *= arg0;
|
||||
|
||||
if (g_ClockTimer > 0)
|
||||
{
|
||||
g_CurrentPlayer->field_700 /= g_GlobalTimerDelta;
|
||||
g_CurrentPlayer->field_708 /= g_GlobalTimerDelta;
|
||||
g_CurrentPlayer->bondheadmatrices[0].m[3][0] /= g_GlobalTimerDelta;
|
||||
g_CurrentPlayer->bondheadmatrices[0].m[3][2] /= g_GlobalTimerDelta;
|
||||
}
|
||||
|
||||
headpos.f[0] = g_CurrentPlayer->field_700 * g_CurrentPlayer->headamplitude;
|
||||
headpos.f[1] = ((g_CurrentPlayer->field_704 - g_CurrentPlayer->standheight) * g_CurrentPlayer->headamplitude) + g_CurrentPlayer->standheight;
|
||||
headpos.f[2] = g_CurrentPlayer->field_708 * 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;
|
||||
|
||||
if (g_CurrentPlayer->headanim >= 0)
|
||||
{
|
||||
lookvel.f[0] = g_CurrentPlayer->field_6F0 * g_CurrentPlayer->sideamplitude;
|
||||
lookvel.f[1] = g_CurrentPlayer->field_6F4 * g_CurrentPlayer->headamplitude;
|
||||
lookvel.f[2] = ((g_CurrentPlayer->field_6F8 - 1.0f) * g_CurrentPlayer->headamplitude) + 1.0f;
|
||||
lookvel.f[0] = g_CurrentPlayer->bondheadmatrices[0].m[2][0] * g_CurrentPlayer->sideamplitude;
|
||||
lookvel.f[1] = g_CurrentPlayer->bondheadmatrices[0].m[2][1] * g_CurrentPlayer->headamplitude;
|
||||
lookvel.f[2] = ((g_CurrentPlayer->bondheadmatrices[0].m[2][2] - 1.0f) * g_CurrentPlayer->headamplitude) + 1.0f;
|
||||
|
||||
upvel.f[0] = g_CurrentPlayer->field_6E0 * g_CurrentPlayer->headamplitude;
|
||||
upvel.f[1] = ((g_CurrentPlayer->field_6E4 - 1.0f) * g_CurrentPlayer->headamplitude) + 1.0f;
|
||||
upvel.f[2] = g_CurrentPlayer->field_6E8 * g_CurrentPlayer->headamplitude;
|
||||
upvel.f[0] = g_CurrentPlayer->bondheadmatrices[0].m[1][0] * g_CurrentPlayer->headamplitude;
|
||||
upvel.f[1] = ((g_CurrentPlayer->bondheadmatrices[0].m[1][1] - 1.0f) * g_CurrentPlayer->headamplitude) + 1.0f;
|
||||
upvel.f[2] = g_CurrentPlayer->bondheadmatrices[0].m[1][2] * g_CurrentPlayer->headamplitude;
|
||||
|
||||
g_CurrentPlayer->headwalkingtime60 += g_ClockTimer;
|
||||
|
||||
@@ -296,13 +296,13 @@ void bheadUpdate(f32 arg0, f32 arg1)
|
||||
}
|
||||
else
|
||||
{
|
||||
lookvel.f[0] = g_CurrentPlayer->field_6F0;
|
||||
lookvel.f[1] = g_CurrentPlayer->field_6F4;
|
||||
lookvel.f[2] = g_CurrentPlayer->field_6F8;
|
||||
lookvel.f[0] = g_CurrentPlayer->bondheadmatrices[0].m[2][0];
|
||||
lookvel.f[1] = g_CurrentPlayer->bondheadmatrices[0].m[2][1];
|
||||
lookvel.f[2] = g_CurrentPlayer->bondheadmatrices[0].m[2][2];
|
||||
|
||||
upvel.f[0] = g_CurrentPlayer->field_6E0;
|
||||
upvel.f[1] = g_CurrentPlayer->field_6E4;
|
||||
upvel.f[2] = g_CurrentPlayer->field_6E8;
|
||||
upvel.f[0] = g_CurrentPlayer->bondheadmatrices[0].m[1][0];
|
||||
upvel.f[1] = g_CurrentPlayer->bondheadmatrices[0].m[1][1];
|
||||
upvel.f[2] = g_CurrentPlayer->bondheadmatrices[0].m[1][2];
|
||||
|
||||
bheadSetdamp(0.85f);
|
||||
}
|
||||
@@ -376,10 +376,10 @@ void bheadAdjustAnimation(f32 speed)
|
||||
|
||||
if (g_CurrentPlayer->headanim >= 0)
|
||||
{
|
||||
startframe = (g_CurrentPlayer->field_5C0 - g_BondMoveAnimationSetup[g_CurrentPlayer->headanim].unk04)
|
||||
/ (g_BondMoveAnimationSetup[g_CurrentPlayer->headanim].unk08 - g_BondMoveAnimationSetup[g_CurrentPlayer->headanim].unk04);
|
||||
startframe = (g_CurrentPlayer->field_5C0 - g_BondMoveAnimationSetup[g_CurrentPlayer->headanim].loopframe)
|
||||
/ (g_BondMoveAnimationSetup[g_CurrentPlayer->headanim].endframe - g_BondMoveAnimationSetup[g_CurrentPlayer->headanim].loopframe);
|
||||
|
||||
startframe = g_BondMoveAnimationSetup[i].unk04 + ((g_BondMoveAnimationSetup[i].unk08 - g_BondMoveAnimationSetup[i].unk04) * startframe);
|
||||
startframe = g_BondMoveAnimationSetup[i].loopframe + ((g_BondMoveAnimationSetup[i].endframe - g_BondMoveAnimationSetup[i].loopframe) * startframe);
|
||||
}
|
||||
|
||||
modelSetAnimation(
|
||||
@@ -391,8 +391,8 @@ void bheadAdjustAnimation(f32 speed)
|
||||
0.5f,
|
||||
12.0f);
|
||||
|
||||
modelSetAnimLooping(&g_CurrentPlayer->model, g_BondMoveAnimationSetup[i].unk04, 0.0f);
|
||||
modelSetAnimEndFrame(&g_CurrentPlayer->model, g_BondMoveAnimationSetup[i].unk08);
|
||||
modelSetAnimLooping(&g_CurrentPlayer->model, g_BondMoveAnimationSetup[i].loopframe, 0.0f);
|
||||
modelSetAnimEndFrame(&g_CurrentPlayer->model, g_BondMoveAnimationSetup[i].endframe);
|
||||
modelSetAnimFlipFunction(&g_CurrentPlayer->model, bheadFlipAnimation);
|
||||
g_CurrentPlayer->headanim = i;
|
||||
}
|
||||
@@ -432,84 +432,25 @@ void bheadSetSpeed(f32 speed)
|
||||
}
|
||||
|
||||
|
||||
f32 bheadGetBreathingValue(void)
|
||||
{
|
||||
if (g_CurrentPlayer->headanim >= 0) {
|
||||
f32 a = bondviewGetBondBreathing() * 0.012500001f + 0.004166667f;
|
||||
f32 b = modelGetAbsAnimSpeed(&g_CurrentPlayer->model);
|
||||
|
||||
if (b > 0) {
|
||||
f32 c = b / (g_BondMoveAnimationSetup[g_CurrentPlayer->headanim].endframe - g_BondMoveAnimationSetup[g_CurrentPlayer->headanim].loopframe);
|
||||
|
||||
#ifdef NONMATCHING
|
||||
f32 bheadGetBreathingValue(void) {
|
||||
if (c < a) {
|
||||
c = a;
|
||||
}
|
||||
|
||||
return c;
|
||||
}
|
||||
|
||||
return a;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.late_rodata
|
||||
glabel D_80055338
|
||||
.word 0x3c4cccce /*0.012500001*/
|
||||
glabel D_8005533C
|
||||
.word 0x3b888889 /*0.0041666669*/
|
||||
.text
|
||||
glabel bheadGetBreathingValue
|
||||
/* 0C3628 7F08EAF8 3C0E8008 */ lui $t6, %hi(g_CurrentPlayer)
|
||||
/* 0C362C 7F08EAFC 8DCEA0B0 */ lw $t6, %lo(g_CurrentPlayer)($t6)
|
||||
/* 0C3630 7F08EB00 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 0C3634 7F08EB04 AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 0C3638 7F08EB08 8DCF04E8 */ lw $t7, 0x4e8($t6)
|
||||
/* 0C363C 7F08EB0C 05E2002B */ bltzl $t7, .L7F08EBBC
|
||||
/* 0C3640 7F08EB10 44800000 */ mtc1 $zero, $f0
|
||||
/* 0C3644 7F08EB14 0FC227B5 */ jal bondviewGetBondBreathing
|
||||
/* 0C3648 7F08EB18 00000000 */ nop
|
||||
/* 0C364C 7F08EB1C 3C018005 */ lui $at, %hi(D_80055338)
|
||||
/* 0C3650 7F08EB20 C4245338 */ lwc1 $f4, %lo(D_80055338)($at)
|
||||
/* 0C3654 7F08EB24 3C018005 */ lui $at, %hi(D_8005533C)
|
||||
/* 0C3658 7F08EB28 C428533C */ lwc1 $f8, %lo(D_8005533C)($at)
|
||||
/* 0C365C 7F08EB2C 46040182 */ mul.s $f6, $f0, $f4
|
||||
/* 0C3660 7F08EB30 3C048008 */ lui $a0, %hi(g_CurrentPlayer)
|
||||
/* 0C3664 7F08EB34 8C84A0B0 */ lw $a0, %lo(g_CurrentPlayer)($a0)
|
||||
/* 0C3668 7F08EB38 24840598 */ addiu $a0, $a0, 0x598
|
||||
/* 0C366C 7F08EB3C 46083080 */ add.s $f2, $f6, $f8
|
||||
/* 0C3670 7F08EB40 0FC1BD86 */ jal modelGetAbsAnimSpeed
|
||||
/* 0C3674 7F08EB44 E7A2001C */ swc1 $f2, 0x1c($sp)
|
||||
/* 0C3678 7F08EB48 44805000 */ mtc1 $zero, $f10
|
||||
/* 0C367C 7F08EB4C C7A2001C */ lwc1 $f2, 0x1c($sp)
|
||||
/* 0C3680 7F08EB50 3C188008 */ lui $t8, %hi(g_CurrentPlayer)
|
||||
/* 0C3684 7F08EB54 4600503C */ c.lt.s $f10, $f0
|
||||
/* 0C3688 7F08EB58 00000000 */ nop
|
||||
/* 0C368C 7F08EB5C 45000014 */ bc1f .L7F08EBB0
|
||||
/* 0C3690 7F08EB60 00000000 */ nop
|
||||
/* 0C3694 7F08EB64 8F18A0B0 */ lw $t8, %lo(g_CurrentPlayer)($t8)
|
||||
/* 0C3698 7F08EB68 3C098003 */ lui $t1, %hi(g_BondMoveAnimationSetup)
|
||||
/* 0C369C 7F08EB6C 25296AD0 */ addiu $t1, %lo(g_BondMoveAnimationSetup) # addiu $t1, $t1, 0x6ad0
|
||||
/* 0C36A0 7F08EB70 8F1904E8 */ lw $t9, 0x4e8($t8)
|
||||
/* 0C36A4 7F08EB74 00194080 */ sll $t0, $t9, 2
|
||||
/* 0C36A8 7F08EB78 01194023 */ subu $t0, $t0, $t9
|
||||
/* 0C36AC 7F08EB7C 000840C0 */ sll $t0, $t0, 3
|
||||
/* 0C36B0 7F08EB80 01091021 */ addu $v0, $t0, $t1
|
||||
/* 0C36B4 7F08EB84 C4500008 */ lwc1 $f16, 8($v0)
|
||||
/* 0C36B8 7F08EB88 C4520004 */ lwc1 $f18, 4($v0)
|
||||
/* 0C36BC 7F08EB8C 46128101 */ sub.s $f4, $f16, $f18
|
||||
/* 0C36C0 7F08EB90 46040303 */ div.s $f12, $f0, $f4
|
||||
/* 0C36C4 7F08EB94 4602603C */ c.lt.s $f12, $f2
|
||||
/* 0C36C8 7F08EB98 00000000 */ nop
|
||||
/* 0C36CC 7F08EB9C 45000002 */ bc1f .L7F08EBA8
|
||||
/* 0C36D0 7F08EBA0 00000000 */ nop
|
||||
/* 0C36D4 7F08EBA4 46001306 */ mov.s $f12, $f2
|
||||
.L7F08EBA8:
|
||||
/* 0C36D8 7F08EBA8 10000005 */ b .L7F08EBC0
|
||||
/* 0C36DC 7F08EBAC 46006006 */ mov.s $f0, $f12
|
||||
.L7F08EBB0:
|
||||
/* 0C36E0 7F08EBB0 10000003 */ b .L7F08EBC0
|
||||
/* 0C36E4 7F08EBB4 46001006 */ mov.s $f0, $f2
|
||||
/* 0C36E8 7F08EBB8 44800000 */ mtc1 $zero, $f0
|
||||
.L7F08EBBC:
|
||||
/* 0C36EC 7F08EBBC 00000000 */ nop
|
||||
.L7F08EBC0:
|
||||
/* 0C36F0 7F08EBC0 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 0C36F4 7F08EBC4 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
/* 0C36F8 7F08EBC8 03E00008 */ jr $ra
|
||||
/* 0C36FC 7F08EBCC 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+2
-2
@@ -6,8 +6,8 @@
|
||||
|
||||
struct init_bond_anim_unk {
|
||||
u32 anim_id;
|
||||
f32 unk04;
|
||||
f32 unk08;
|
||||
f32 loopframe;
|
||||
f32 endframe;
|
||||
f32 unk0C;
|
||||
|
||||
f32 unk10;
|
||||
|
||||
@@ -23,4 +23,6 @@ void bondinvSetAllGunsFlag(s32 all_guns);
|
||||
bool bondinvHasPropInInv(PropRecord *prop);
|
||||
WeaponObjRecord *bondinvRemovePropWeaponByID(ITEM_IDS weaponnum);
|
||||
void bondinvRemoveItemByID(ITEM_IDS weaponnum);
|
||||
s32 bondinvGetWeaponOfChoice(s32 *weapon1, s32 *weapon2);
|
||||
|
||||
#endif
|
||||
+860
-3120
File diff suppressed because it is too large.
Load diff
+109
-243
@@ -6,6 +6,7 @@
|
||||
#include "chr.h"
|
||||
#include "matrixmath.h"
|
||||
#include "watch.h"
|
||||
#include "image.h"
|
||||
|
||||
typedef struct invitem_weap
|
||||
{
|
||||
@@ -88,9 +89,10 @@ struct collision434 {
|
||||
*/
|
||||
struct hand
|
||||
{
|
||||
s32 weaponnum;
|
||||
s32 weaponnum_watchmenu;
|
||||
s32 previous_weapon;
|
||||
ITEM_IDS weaponnum;
|
||||
ITEM_IDS weaponnum_watchmenu;
|
||||
ITEM_IDS previous_weapon;
|
||||
|
||||
s8 weapon_firing_status;
|
||||
|
||||
s8 field_87D;
|
||||
@@ -127,22 +129,7 @@ struct hand
|
||||
s32 field_8E0;
|
||||
s32 field_8E4;
|
||||
s32 field_8E8;
|
||||
s32 field_8EC;
|
||||
s32 field_8F0;
|
||||
s32 field_8F4;
|
||||
s32 field_8F8;
|
||||
s32 field_8FC;
|
||||
s32 field_900;
|
||||
s32 field_904;
|
||||
s32 field_908;
|
||||
s32 field_90C;
|
||||
s32 field_910;
|
||||
s32 field_914;
|
||||
s32 field_918;
|
||||
s32 field_91C;
|
||||
s32 field_920;
|
||||
s32 field_924;
|
||||
s32 field_928;
|
||||
Mtxf field_8EC;
|
||||
s32 field_92C;
|
||||
s32 field_930;
|
||||
s32 field_934;
|
||||
@@ -162,47 +149,14 @@ struct hand
|
||||
s32 field_96C;
|
||||
s32 field_970;
|
||||
s32 field_974;
|
||||
s32 field_978;
|
||||
s32 field_97C;
|
||||
s32 field_980;
|
||||
s32 field_984;
|
||||
s32 field_988;
|
||||
s32 field_98C;
|
||||
s32 field_990;
|
||||
s32 field_994;
|
||||
s32 field_998;
|
||||
s32 field_99C;
|
||||
s32 field_9A0;
|
||||
s32 field_9A4;
|
||||
s32 field_9A8;
|
||||
s32 field_9AC;
|
||||
s32 field_9B0;
|
||||
s32 field_9B4;
|
||||
s32 field_9B8;
|
||||
s32 field_9BC;
|
||||
s32 field_9C0;
|
||||
s32 field_9C4;
|
||||
s32 field_9C8;
|
||||
s32 field_9CC;
|
||||
s32 field_9D0;
|
||||
s32 field_9D4;
|
||||
s32 field_9D8;
|
||||
s32 field_9DC;
|
||||
s32 field_9E0;
|
||||
s32 field_9E4;
|
||||
s32 field_9E8;
|
||||
s32 field_9EC;
|
||||
s32 field_9F0;
|
||||
s32 field_9F4;
|
||||
s32 field_9F8;
|
||||
s32 field_9FC;
|
||||
s32 field_A00;
|
||||
s32 field_A04;
|
||||
s32 field_A08;
|
||||
f32 field_A0C;
|
||||
s32 field_A10;
|
||||
s32 field_A14;
|
||||
s32 field_A18; // sway state?
|
||||
coord3d blendpos[4];
|
||||
coord3d blendlook[4];
|
||||
coord3d blendup[4];
|
||||
s32 curblendpos;
|
||||
f32 dampt;
|
||||
f32 blendscale;
|
||||
f32 blendscale1;
|
||||
s32 sideflag;
|
||||
f32 weapon_theta_displacement;
|
||||
f32 weapon_verta_displacement;
|
||||
s32 field_A24;
|
||||
@@ -217,22 +171,12 @@ struct hand
|
||||
s32 field_A48;
|
||||
s32 field_A4C;
|
||||
s32 field_A50;
|
||||
s32 field_A54;
|
||||
s32 field_A58;
|
||||
s32 field_A5C;
|
||||
s32 field_A60;
|
||||
s32 field_A64;
|
||||
s32 field_A68;
|
||||
s32 field_A6C;
|
||||
s32 field_A70;
|
||||
s32 field_A74;
|
||||
s32 field_A78;
|
||||
s32 field_A7C;
|
||||
s32 noise;
|
||||
s32 field_A84;
|
||||
s32 field_A88;
|
||||
ChrRecord_f180 field_A54;
|
||||
f32 noise;
|
||||
f32 field_A84;
|
||||
f32 field_A88;
|
||||
s32 field_A8C;
|
||||
s32 field_A90;
|
||||
ObjectRecord* field_A90;
|
||||
s32 field_A94;
|
||||
s32 field_A98;
|
||||
s32 field_A9C;
|
||||
@@ -270,10 +214,8 @@ struct hand
|
||||
s32 field_B4C;
|
||||
s32 field_B50;
|
||||
s32 field_B54;
|
||||
s32 field_B58;
|
||||
s32 field_B5C;
|
||||
s32 field_B60;
|
||||
s32 field_B64;
|
||||
coord3d field_B58;
|
||||
f32 field_B64;
|
||||
s32 field_B68;
|
||||
s32 field_B6C;
|
||||
s32 field_B70;
|
||||
@@ -315,9 +257,7 @@ struct hand
|
||||
s32 field_C00;
|
||||
s32 field_C04;
|
||||
s32 field_C08;
|
||||
s32 item_related1;
|
||||
s32 item_related2;
|
||||
s32 item_related3;
|
||||
coord3d item_related;
|
||||
};
|
||||
|
||||
typedef struct InvItem {
|
||||
@@ -601,15 +541,15 @@ struct player
|
||||
*/
|
||||
s32 outside_watch_menu;
|
||||
s32 open_close_solo_watch_menu;
|
||||
s32 field_1D4;
|
||||
s32 field_1D8;
|
||||
s32 pause_watch_position;
|
||||
s32 field_1E0;
|
||||
s32 field_1E4;
|
||||
s32 field_1E8;
|
||||
s32 field_1EC;
|
||||
s32 field_1F0;
|
||||
s32 field_1F4;
|
||||
f32 field_1D4;
|
||||
f32 field_1D8;
|
||||
f32 pause_watch_position;
|
||||
f32 field_1E0;
|
||||
f32 field_1E4;
|
||||
f32 field_1E8;
|
||||
f32 field_1EC;
|
||||
f32 field_1F0;
|
||||
f32 field_1F4;
|
||||
s32 field_1F8;
|
||||
s32 field_1FC;
|
||||
/**
|
||||
@@ -803,9 +743,9 @@ struct player
|
||||
struct collision434 previous_collision_info;
|
||||
struct collision434 field_488;
|
||||
|
||||
u32 resetheadpos; // bool
|
||||
u32 resetheadrot; // bool
|
||||
u32 resetheadtick; // bool 0x4e4
|
||||
s32 resetheadpos; // bool
|
||||
s32 resetheadrot; // bool
|
||||
s32 resetheadtick; // bool 0x4e4
|
||||
|
||||
s32 headanim; // index into array of pointers. Pointers are for animations.
|
||||
|
||||
@@ -924,81 +864,8 @@ struct player
|
||||
s32 field_6C8;
|
||||
s32 field_6CC;
|
||||
|
||||
// struct? this gets pointed to. Pointer called "mtxlist" takes address of this property.
|
||||
// bondheadmatrices 0 - 3
|
||||
s32 field_6D0;
|
||||
s32 field_6D4;
|
||||
s32 field_6D8;
|
||||
s32 field_6DC;
|
||||
|
||||
f32 field_6E0;
|
||||
f32 field_6E4;
|
||||
f32 field_6E8;
|
||||
Mtxf bondheadmatrices[4];
|
||||
|
||||
s32 field_6EC;
|
||||
|
||||
f32 field_6F0;
|
||||
f32 field_6F4;
|
||||
f32 field_6F8;
|
||||
|
||||
s32 field_6FC;
|
||||
|
||||
|
||||
f32 field_700;
|
||||
f32 field_704; // related to standheight
|
||||
f32 field_708;
|
||||
|
||||
s32 field_70C;
|
||||
s32 field_710;
|
||||
s32 field_714;
|
||||
s32 field_718;
|
||||
s32 field_71C;
|
||||
s32 field_720;
|
||||
s32 field_724;
|
||||
s32 field_728;
|
||||
s32 field_72C;
|
||||
s32 field_730;
|
||||
s32 field_734;
|
||||
s32 field_738;
|
||||
s32 field_73C;
|
||||
s32 field_740;
|
||||
|
||||
f32 field_744;
|
||||
f32 field_748;
|
||||
|
||||
s32 field_74C;
|
||||
s32 field_750;
|
||||
s32 field_754;
|
||||
s32 field_758;
|
||||
s32 field_75C;
|
||||
s32 field_760;
|
||||
s32 field_764;
|
||||
s32 field_768;
|
||||
s32 field_76C;
|
||||
s32 field_770;
|
||||
s32 field_774;
|
||||
s32 field_778;
|
||||
s32 field_77C;
|
||||
s32 field_780;
|
||||
s32 field_784;
|
||||
s32 field_788;
|
||||
s32 field_78C;
|
||||
s32 field_790;
|
||||
s32 field_794;
|
||||
s32 field_798;
|
||||
s32 field_79C;
|
||||
s32 field_7A0;
|
||||
s32 field_7A4;
|
||||
s32 field_7A8;
|
||||
s32 field_7AC;
|
||||
s32 field_7B0;
|
||||
s32 field_7B4;
|
||||
s32 field_7B8;
|
||||
s32 field_7BC;
|
||||
s32 field_7C0;
|
||||
s32 field_7C4;
|
||||
s32 field_7C8;
|
||||
s32 field_7CC;
|
||||
Vp viewports[2];
|
||||
|
||||
/**
|
||||
@@ -1021,35 +888,16 @@ struct player
|
||||
*/
|
||||
s16 viewtop;
|
||||
|
||||
s32 hand_invisible[2];
|
||||
s32 hand_item[2];
|
||||
u8 *ptr_hand_weapon_buffer[2];
|
||||
s32 hand_invisible[2]; /* 0x7f8*/
|
||||
ITEM_IDS hand_item[2]; /* 0x800 */
|
||||
u8 *ptr_hand_weapon_buffer[2]; /* 0x808 */
|
||||
|
||||
/**
|
||||
* Offset 0x810.
|
||||
*/
|
||||
ModelFileHeader copy_of_body_obj_header[2];
|
||||
|
||||
s32 field_850;
|
||||
s32 field_854;
|
||||
s32 field_858;
|
||||
s32 field_85C;
|
||||
s32 field_860;
|
||||
|
||||
/**
|
||||
* Offset 0x864.
|
||||
*/
|
||||
s32 right_item_related1;
|
||||
|
||||
/**
|
||||
* Offset 0x868.
|
||||
*/
|
||||
s32 right_item_related2;
|
||||
|
||||
/**
|
||||
* Offset 0x86c.
|
||||
*/
|
||||
s32 right_item_related3;
|
||||
struct texpool item_related[2]; /* 0x850 */
|
||||
|
||||
/**
|
||||
* Offset 0x870.
|
||||
@@ -1086,38 +934,20 @@ struct player
|
||||
f32 crosshair_x_pos;
|
||||
f32 crosshair_y_pos;
|
||||
f32 guncrossdamp;
|
||||
f32 field_FFC;
|
||||
f32 field_1000;
|
||||
coord2d field_FFC;
|
||||
f32 gun_azimuth_angle;
|
||||
f32 gun_azimuth_turning;
|
||||
f32 gunaimdamp;
|
||||
f32 field_1010;
|
||||
f32 holds_neg_pi;
|
||||
f32 field_1018;
|
||||
s32 field_101C;
|
||||
s32 field_1020;
|
||||
s32 field_1024;
|
||||
s32 field_1028;
|
||||
s32 field_102C;
|
||||
s32 field_1030;
|
||||
s32 field_1034;
|
||||
s32 field_1038;
|
||||
s32 field_103C;
|
||||
s32 field_1040;
|
||||
s32 field_1044;
|
||||
s32 field_1048;
|
||||
s32 field_104C;
|
||||
s32 field_1050;
|
||||
s32 field_1054;
|
||||
s32 field_1058;
|
||||
coord3d field_1010;
|
||||
Mtxf field_101C;
|
||||
s32 last_z_trigger_timer;
|
||||
s32 copiedgoldeneye;
|
||||
s32 ammodispflags;
|
||||
s32 field_1068;
|
||||
f32 field_106C;
|
||||
f32 field_1070;
|
||||
f32 field_1074;
|
||||
s32 field_1078;
|
||||
f32 gunsync;
|
||||
f32 syncchange;
|
||||
f32 synccount;
|
||||
s32 syncoffset;
|
||||
f32 field_107C;
|
||||
f32 field_1080;
|
||||
f32 sniper_zoom;
|
||||
@@ -1236,10 +1066,10 @@ struct player
|
||||
s32 gunsightmode;
|
||||
s32 field_112C;
|
||||
s32 ammoheldarr[30];
|
||||
u8 *field_11A8;
|
||||
u8 *field_11AC;
|
||||
u8 *field_11B0[2];
|
||||
s32 field_11B8;
|
||||
u8 *bloodImgCur;
|
||||
u8 *bloodImgNxt;
|
||||
u8 *bloodImgBufPtrArray[2];
|
||||
s32 bloodImgIdx;
|
||||
f32 zoomintime;
|
||||
f32 zoomintimemax;
|
||||
f32 zoominfovy;
|
||||
@@ -1260,9 +1090,9 @@ struct player
|
||||
f32 swaytarget;
|
||||
f32 field_1278;
|
||||
f32 field_127C;
|
||||
s32 field_1280;
|
||||
f32 field_1280;
|
||||
s32 players_cur_animation;
|
||||
s32 field_1288;
|
||||
f32 field_1288;
|
||||
|
||||
/**
|
||||
* This buffers button presses.
|
||||
@@ -2679,7 +2509,7 @@ struct player
|
||||
s32 field_29B4;
|
||||
|
||||
// Alt field_29C0 ?? Used in EU.
|
||||
f32 field_29B8;
|
||||
s32 field_29B8;
|
||||
|
||||
/**
|
||||
* Related to player perspective.
|
||||
@@ -2696,10 +2526,7 @@ struct player
|
||||
s32 deathcount;
|
||||
s32 num_suicides;
|
||||
s32 field_29E0;
|
||||
s32 last_kill_time;
|
||||
s32 field_29E8;
|
||||
s32 field_29EC;
|
||||
s32 field_29F0;
|
||||
s32 last_kill_time[4];
|
||||
|
||||
/**
|
||||
* Holds mission offset timer value.
|
||||
@@ -2721,18 +2548,13 @@ struct player
|
||||
f32 field_2A0C;
|
||||
s32 ptr_text_first_mp_award;
|
||||
s32 ptr_text_second_mp_award;
|
||||
s32 field_2A18;
|
||||
s32 field_2A1C;
|
||||
s32 field_2A20;
|
||||
s32 field_2A24;
|
||||
s32 field_2A28;
|
||||
s32 field_2A2C;
|
||||
coord3d field_2A18[2];
|
||||
s32 field_2A30;
|
||||
s32 field_2A34;
|
||||
s32 cur_item_weapon_getname;
|
||||
f32 actual_health;
|
||||
f32 actual_armor;
|
||||
s32 field_2A44[2];
|
||||
ITEM_IDS field_2A44[2];
|
||||
f32 field_2A4C;
|
||||
s32 lock_hand_model[2];
|
||||
s32 cur_player_control_type_0;
|
||||
@@ -2773,6 +2595,52 @@ struct struct_4 {
|
||||
float anonymous_3;
|
||||
};
|
||||
|
||||
#ifdef BUGFIX_R0
|
||||
typedef struct bondstruct_unk_80036634
|
||||
{
|
||||
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;
|
||||
#else
|
||||
typedef struct bondstruct_unk_80036634
|
||||
{
|
||||
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;
|
||||
#endif
|
||||
|
||||
typedef struct bondstruct_unk_80036794 { // time related idk
|
||||
s32 unk0;
|
||||
s32 unk4;
|
||||
s32 unk8;
|
||||
} bondstruct_unk_80036794;
|
||||
|
||||
typedef struct bondstruct_unk_80035904 {
|
||||
u32 unk00;
|
||||
coord3d unk04;
|
||||
coord3d unk10;
|
||||
f32 unk1C;
|
||||
f32 unk20;
|
||||
} bondstruct_unk_80035904;
|
||||
|
||||
//D:80036424
|
||||
extern s32 g_bondviewForceDisarm;
|
||||
//D:80036428
|
||||
@@ -2910,7 +2778,7 @@ D:80036624 .word 0xFFFFFF00, 0xFFFFFF00, 0x4FFFFFF
|
||||
//D:80036630
|
||||
extern u32 D_80036630;
|
||||
//D:80036634
|
||||
extern u32 D_80036634[];
|
||||
extern bondstruct_unk_80036634 D_80036634[];
|
||||
/*
|
||||
D:80036638 .byte 0
|
||||
D:80036639 .byte 0, 0, 0xA
|
||||
@@ -3096,12 +2964,6 @@ extern StandTilePoint *dword_CODE_bss_80079DA4;
|
||||
#define BSS_80079DA8_LENGTH 8
|
||||
extern s32 dword_CODE_bss_80079DA8[];
|
||||
|
||||
#ifndef VERSION_EU
|
||||
extern char dword_CODE_bss_80079DC8[];
|
||||
#else
|
||||
extern char dword_CODE_bss_80079DC8[];
|
||||
#endif
|
||||
|
||||
|
||||
u32 get_camera_mode(void);
|
||||
|
||||
@@ -3192,7 +3054,7 @@ Mtxf *currentPlayerGetMatrix10EC(void);
|
||||
f32 get_curplay_horizontal_rotation_in_degrees(void);
|
||||
Mtxf *currentPlayerGetMatrix10CC(void);
|
||||
void sub_GAME_7F077EEC(struct coord2d *in, coord3d *out, f32 value);
|
||||
s32 sub_GAME_7F078BF4(coord3d *, f32, struct bbox2d *);
|
||||
s32 camIsPosInScreenBox(coord3d *, f32, struct bbox2d *);
|
||||
|
||||
void bondviewTransformManyPosToViewMatrix(RenderPosView *arg0, s32 arg1);
|
||||
s32 sub_GAME_7F078474(void);
|
||||
@@ -3206,7 +3068,7 @@ void sub_GAME_7F08A928(int param_1);
|
||||
void sub_GAME_7F08A944(PLAYERFLAG flag);
|
||||
void set_camera_mode(s32 arg0);
|
||||
bool isBondInTank(void);
|
||||
void hudmsgTopShow(s8 *string);
|
||||
void hudmsgTopShow(char* string);
|
||||
void SurroundWithExplosions(int delay);
|
||||
s32 check_watch_page_transistion_running(void);
|
||||
f32 bondviewWatchAnimationRelated(void);
|
||||
@@ -3216,4 +3078,8 @@ 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);
|
||||
Mtxf *currentPlayerGetProjectionMatrixF(void);
|
||||
int redirect_get_BONDdata_autoaim_x(void);
|
||||
void sub_GAME_7F077FF4(coord3d *in, coord3d *out);
|
||||
|
||||
#endif
|
||||
+13
-13
@@ -109,7 +109,7 @@ void bondviewLoadSetupIntroSection(void)
|
||||
|
||||
start_pos = D_8002A780;
|
||||
|
||||
intro_record = (struct SetupIntroEmpty *)g_chraiCurrentSetup.intro;
|
||||
intro_record = (struct SetupIntroEmpty *)g_CurrentSetup.intro;
|
||||
g_isBondKIA = 0;
|
||||
g_bondviewForceDisarm = 0;
|
||||
resolution = 0;
|
||||
@@ -179,10 +179,10 @@ void bondviewLoadSetupIntroSection(void)
|
||||
{
|
||||
case INTROTYPE_SPAWN:
|
||||
{
|
||||
if (g_chraiCurrentSetup.pads != NULL
|
||||
if (g_CurrentSetup.pads != NULL
|
||||
&& (check_ramrom_flags() == ((struct SetupIntroSpawn*)intro_record)->is_demo_playback))
|
||||
{
|
||||
g_Startpad[startpadcount] = &g_chraiCurrentSetup.pads[((struct SetupIntroSpawn*)intro_record)->index];
|
||||
g_Startpad[startpadcount] = &g_CurrentSetup.pads[((struct SetupIntroSpawn*)intro_record)->index];
|
||||
startpadcount++;
|
||||
}
|
||||
|
||||
@@ -247,11 +247,11 @@ void bondviewLoadSetupIntroSection(void)
|
||||
g_IntroSwirl = intro_swirl;
|
||||
}
|
||||
|
||||
intro_swirl->unk08.fval = intro_swirl->unk08.ival / 65536.0f;
|
||||
intro_swirl->unk0C.fval = intro_swirl->unk0C.ival / 65536.0f;
|
||||
intro_swirl->unk10.fval = intro_swirl->unk10.ival / 65536.0f;
|
||||
intro_swirl->unk14.fval = intro_swirl->unk14.ival / 65536.0f;
|
||||
intro_swirl->unk18.fval = intro_swirl->unk18.ival / 65536.0f;
|
||||
intro_swirl->unk08.fval = intro_swirl->unk08.ival / M_U16_MAX_VALUE_F;
|
||||
intro_swirl->unk0C.fval = intro_swirl->unk0C.ival / M_U16_MAX_VALUE_F;
|
||||
intro_swirl->unk10.fval = intro_swirl->unk10.ival / M_U16_MAX_VALUE_F;
|
||||
intro_swirl->unk14.fval = intro_swirl->unk14.ival / M_U16_MAX_VALUE_F;
|
||||
intro_swirl->unk18.fval = intro_swirl->unk18.ival / M_U16_MAX_VALUE_F;
|
||||
|
||||
intro_record = (struct SetupIntroEmpty*)((s32)intro_record + sizeof(struct SetupIntroSwirl));
|
||||
}
|
||||
@@ -284,8 +284,8 @@ void bondviewLoadSetupIntroSection(void)
|
||||
((struct SetupIntroCamera*)intro_record)->unk04.fval = ((struct SetupIntroCamera*)intro_record)->unk04.ival / 100.0f;
|
||||
((struct SetupIntroCamera*)intro_record)->unk08.fval = ((struct SetupIntroCamera*)intro_record)->unk08.ival / 100.0f;
|
||||
((struct SetupIntroCamera*)intro_record)->unk0C.fval = ((struct SetupIntroCamera*)intro_record)->unk0C.ival / 100.0f;
|
||||
((struct SetupIntroCamera*)intro_record)->unk10.fval = ((struct SetupIntroCamera*)intro_record)->unk10.ival / 65536.0f;
|
||||
((struct SetupIntroCamera*)intro_record)->unk14.fval = ((struct SetupIntroCamera*)intro_record)->unk14.ival / 65536.0f;
|
||||
((struct SetupIntroCamera*)intro_record)->unk10.fval = ((struct SetupIntroCamera*)intro_record)->unk10.ival / M_U16_MAX_VALUE_F;
|
||||
((struct SetupIntroCamera*)intro_record)->unk14.fval = ((struct SetupIntroCamera*)intro_record)->unk14.ival / M_U16_MAX_VALUE_F;
|
||||
|
||||
((struct SetupIntroCamera*)intro_record)->lang1c.lang_ptr = langGet(((struct SetupIntroCamera*)intro_record)->lang1c.lang_index[1]);
|
||||
|
||||
@@ -326,7 +326,7 @@ void bondviewLoadSetupIntroSection(void)
|
||||
intro_credits = (struct SetupIntroCredits*)intro_record;
|
||||
|
||||
// hack: bad address math
|
||||
credits = (CreditsEntry*)((s32)dword_CODE_bss_80075D28 + (s32)intro_credits->unk04);
|
||||
credits = (CreditsEntry*)((s32)g_ptrStageSetupFile + (s32)intro_credits->unk04);
|
||||
D_80036440 = credits;
|
||||
|
||||
// what is the point of this?
|
||||
@@ -398,7 +398,7 @@ void bondviewLoadSetupIntroSection(void)
|
||||
stan_height = bondviewYPositionRelated(start_stan, start_pos.f[0], start_pos.f[2]);
|
||||
start_pos.f[1] = g_CurrentPlayer->field_29BC + stan_height;
|
||||
g_CurrentPlayer->field_70 = stan_height;
|
||||
start_look_angle = 6.2831855f - atan2f(g_Startpad[rand_pad_index]->look.f[0], g_Startpad[rand_pad_index]->look.f[2]);
|
||||
start_look_angle = M_TAU_F - atan2f(g_Startpad[rand_pad_index]->look.f[0], g_Startpad[rand_pad_index]->look.f[2]);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -408,7 +408,7 @@ void bondviewLoadSetupIntroSection(void)
|
||||
g_CurrentPlayer->field_70 = stan_height;
|
||||
}
|
||||
|
||||
g_CurrentPlayer->vv_theta = (start_look_angle * 360.0f) / 6.2831855f;
|
||||
g_CurrentPlayer->vv_theta = (start_look_angle * 360.0f) / M_TAU_F;
|
||||
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);
|
||||
|
||||
+101
-592
@@ -1,611 +1,120 @@
|
||||
#include <ultra64.h>
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
f32 sub_GAME_7F06ABB0(void *arg0, void *arg1, void *arg2, s32 arg3, s32 arg4, s3 2 arg5, s32 arg6, s32 arg7) {
|
||||
void *sp0;
|
||||
void *spC;
|
||||
void *temp_v0;
|
||||
s32 temp_f18;
|
||||
s32 temp_f8;
|
||||
s32 temp_f4;
|
||||
s32 temp_f10;
|
||||
void *temp_v0_2;
|
||||
void *temp_v0_4;
|
||||
void *temp_v0_3;
|
||||
void *temp_v0_5;
|
||||
void *temp_v1;
|
||||
s32 phi_a1;
|
||||
s32 phi_a2;
|
||||
s32 phi_a3;
|
||||
s32 phi_t0;
|
||||
s32 phi_v1;
|
||||
s32 phi_a0;
|
||||
void *phi_v0;
|
||||
s32 phi_a3_2;
|
||||
s32 phi_t0_2;
|
||||
s32 phi_v1_2;
|
||||
s32 phi_a0_2;
|
||||
s32 phi_a3_3;
|
||||
s32 phi_t0_3;
|
||||
|
||||
// Node 0
|
||||
if (0.0f < *arg2)
|
||||
void sub_GAME_7F06ABB0(Gfx **gdlptr, f32 *arg1, f32 *arg2, s32 width, s32 height, s32 arg5, s32 arg6, s32 arg7)
|
||||
{
|
||||
if (arg2[0] > 0.0f && arg2[1] > 0.0f)
|
||||
{
|
||||
// Node 1
|
||||
if (0.0f < arg2->unk4)
|
||||
Gfx *gdl = *gdlptr;
|
||||
s32 xl;
|
||||
s32 yl;
|
||||
s32 xh;
|
||||
s32 yh;
|
||||
s32 s = 0;
|
||||
s32 t = 0;
|
||||
s32 dsdx;
|
||||
s32 dtdy;
|
||||
|
||||
gDPSetTexturePersp(gdl++, G_TP_NONE);
|
||||
|
||||
xl = (arg1[0] - arg2[0]) * 4.0f;
|
||||
yl = (arg1[1] - arg2[1]) * 4.0f;
|
||||
xh = (arg1[0] + arg2[0]) * 4.0f;
|
||||
yh = (arg1[1] + arg2[1]) * 4.0f;
|
||||
|
||||
if (xh >= 0 && yh >= 0)
|
||||
{
|
||||
// Node 2
|
||||
**arg0 = 0xba001301;
|
||||
*arg0->unk4 = 0;
|
||||
temp_v0 = (*arg0 + 8);
|
||||
temp_f18 = (s32) ((*arg1 - *arg2) * 4.0f);
|
||||
temp_f8 = (s32) ((arg1->unk4 - arg2->unk4) * 4.0f);
|
||||
temp_f4 = (s32) ((*arg2 + *arg1) * 4.0f);
|
||||
temp_f10 = (s32) ((arg2->unk4 + arg1->unk4) * 4.0f);
|
||||
phi_v0 = temp_v0;
|
||||
if (temp_f4 >= 0)
|
||||
if (xl < 0)
|
||||
{
|
||||
// Node 3
|
||||
phi_v0 = temp_v0;
|
||||
if (temp_f10 >= 0)
|
||||
if (arg5)
|
||||
{
|
||||
// Node 4
|
||||
phi_a1 = temp_f18;
|
||||
phi_a3_3 = 0;
|
||||
phi_t0_3 = 0;
|
||||
if (temp_f18 < 0)
|
||||
{
|
||||
// Node 5
|
||||
if (arg5 != 0)
|
||||
{
|
||||
// Node 6
|
||||
phi_a1 = 0;
|
||||
phi_a3_3 = 0;
|
||||
phi_t0_3 = ((s32) ((-temp_f18 * arg4) << 5) / (s32) (temp_f4 - temp_f18));
|
||||
}
|
||||
else
|
||||
{
|
||||
// Node 7
|
||||
phi_a1 = 0;
|
||||
phi_a3_3 = ((s32) ((-temp_f18 * arg3) << 5) / (s32) (temp_f4 - temp_f18));
|
||||
phi_t0_3 = 0;
|
||||
}
|
||||
}
|
||||
// Node 8
|
||||
phi_a2 = temp_f8;
|
||||
phi_a3_2 = phi_a3_3;
|
||||
phi_t0_2 = phi_t0_3;
|
||||
if (temp_f8 < 0)
|
||||
{
|
||||
// Node 9
|
||||
if (arg5 != 0)
|
||||
{
|
||||
// Node 10
|
||||
phi_a2 = 0;
|
||||
phi_a3_2 = (phi_a3_3 + ((s32) ((-temp_f8 * arg3) << 5) / (s32) (temp_f10 - temp_f8)));
|
||||
phi_t0_2 = phi_t0_3;
|
||||
}
|
||||
else
|
||||
{
|
||||
// Node 11
|
||||
phi_a2 = 0;
|
||||
phi_a3_2 = phi_a3_3;
|
||||
phi_t0_2 = (phi_t0_3 + ((s32) ((-temp_f8 * arg4) << 5) / (s32) (temp_f10 - temp_f8)));
|
||||
}
|
||||
}
|
||||
// Node 12
|
||||
if (arg5 != 0)
|
||||
{
|
||||
// Node 13
|
||||
phi_v1_2 = (s32) (((f32) arg3 / (arg2->unk4 + arg2->unk4 )) * 1024.0f);
|
||||
phi_a0_2 = (s32) (((f32) arg4 / (*arg2 + *arg2)) * 1024. 0f);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Node 14
|
||||
phi_v1_2 = (s32) (((f32) arg3 / (*arg2 + *arg2)) * 1024. 0f);
|
||||
phi_a0_2 = (s32) (((f32) arg4 / (arg2->unk4 + arg2->unk4 )) * 1024.0f);
|
||||
}
|
||||
// Node 15
|
||||
phi_a3 = phi_a3_2;
|
||||
phi_v1 = phi_v1_2;
|
||||
if (arg6 != 0)
|
||||
{
|
||||
// Node 16
|
||||
phi_a3 = (((arg3 + -1) << 5) - phi_a3_2);
|
||||
phi_v1 = (0x10000 - phi_v1_2);
|
||||
}
|
||||
// Node 17
|
||||
phi_t0 = phi_t0_2;
|
||||
phi_a0 = phi_a0_2;
|
||||
if (arg7 != 0)
|
||||
{
|
||||
// Node 18
|
||||
phi_t0 = (((arg4 + -1) << 5) - phi_t0_2);
|
||||
phi_a0 = (0x10000 - phi_a0_2);
|
||||
}
|
||||
// Node 19
|
||||
if (arg5 != 0)
|
||||
{
|
||||
// Node 20
|
||||
*temp_v0 = (s32) ((((temp_f4 & 0xfff) << 0xc) | 0xe50000 00) | (temp_f10 & 0xfff));
|
||||
temp_v0->unk4 = (s32) (((phi_a1 & 0xfff) << 0xc) | (phi_ a2 & 0xfff));
|
||||
temp_v0_2 = (temp_v0 + 8);
|
||||
*temp_v0_2 = 0xb4000000;
|
||||
temp_v0_2->unk4 = (s32) ((phi_a3 << 0x10) | (phi_t0 & 0x ffff));
|
||||
temp_v0_4 = (temp_v0_2 + 8);
|
||||
spC = temp_v0_4;
|
||||
*spC = 0xb3000000;
|
||||
spC->unk4 = (s32) ((phi_v1 << 0x10) | (phi_a0 & 0xffff)) ;
|
||||
phi_v0 = (temp_v0_4 + 8);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Node 21
|
||||
*temp_v0 = (s32) ((((temp_f4 & 0xfff) << 0xc) | 0xe40000 00) | (temp_f10 & 0xfff));
|
||||
temp_v0->unk4 = (s32) (((phi_a1 & 0xfff) << 0xc) | (phi_ a2 & 0xfff));
|
||||
temp_v0_3 = (temp_v0 + 8);
|
||||
*temp_v0_3 = 0xb4000000;
|
||||
temp_v0_3->unk4 = (s32) ((phi_a3 << 0x10) | (phi_t0 & 0x ffff));
|
||||
temp_v0_5 = (temp_v0_3 + 8);
|
||||
sp0 = temp_v0_5;
|
||||
*sp0 = 0xb3000000;
|
||||
sp0->unk4 = (s32) ((phi_v1 << 0x10) | (phi_a0 & 0xffff)) ;
|
||||
phi_v0 = (temp_v0_5 + 8);
|
||||
}
|
||||
}
|
||||
}
|
||||
// Node 22
|
||||
temp_v1 = phi_v0;
|
||||
temp_v1->unk4 = 0x80000;
|
||||
*temp_v1 = 0xba001301;
|
||||
*arg0 = (void *) (phi_v0 + 8);
|
||||
}
|
||||
}
|
||||
// Node 23
|
||||
return 0.0f;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel sub_GAME_7F06ABB0
|
||||
/* 09F6E0 7F06ABB0 27BDFFC0 */ addiu $sp, $sp, -0x40
|
||||
/* 09F6E4 7F06ABB4 AFA40040 */ sw $a0, 0x40($sp)
|
||||
/* 09F6E8 7F06ABB8 AFA50044 */ sw $a1, 0x44($sp)
|
||||
/* 09F6EC 7F06ABBC AFA60048 */ sw $a2, 0x48($sp)
|
||||
/* 09F6F0 7F06ABC0 AFA7004C */ sw $a3, 0x4c($sp)
|
||||
/* 09F6F4 7F06ABC4 44800000 */ mtc1 $zero, $f0
|
||||
/* 09F6F8 7F06ABC8 C4C40000 */ lwc1 $f4, ($a2)
|
||||
/* 09F6FC 7F06ABCC 4604003C */ c.lt.s $f0, $f4
|
||||
/* 09F700 7F06ABD0 00000000 */ nop
|
||||
/* 09F704 7F06ABD4 45000102 */ bc1f .L7F06AFE0
|
||||
/* 09F708 7F06ABD8 00000000 */ nop
|
||||
/* 09F70C 7F06ABDC C4C60004 */ lwc1 $f6, 4($a2)
|
||||
/* 09F710 7F06ABE0 3C0BBA00 */ lui $t3, (0xBA001301 >> 16) # lui $t3, 0xba00
|
||||
/* 09F714 7F06ABE4 4606003C */ c.lt.s $f0, $f6
|
||||
/* 09F718 7F06ABE8 00000000 */ nop
|
||||
/* 09F71C 7F06ABEC 450000FC */ bc1f .L7F06AFE0
|
||||
/* 09F720 7F06ABF0 00000000 */ nop
|
||||
/* 09F724 7F06ABF4 8C820000 */ lw $v0, ($a0)
|
||||
/* 09F728 7F06ABF8 356B1301 */ ori $t3, (0xBA001301 & 0xFFFF) # ori $t3, $t3, 0x1301
|
||||
/* 09F72C 7F06ABFC 3C014080 */ li $at, 0x40800000 # 4.000000
|
||||
/* 09F730 7F06AC00 00401825 */ move $v1, $v0
|
||||
/* 09F734 7F06AC04 AC6B0000 */ sw $t3, ($v1)
|
||||
/* 09F738 7F06AC08 AC600004 */ sw $zero, 4($v1)
|
||||
/* 09F73C 7F06AC0C 8FB90048 */ lw $t9, 0x48($sp)
|
||||
/* 09F740 7F06AC10 8FB80044 */ lw $t8, 0x44($sp)
|
||||
/* 09F744 7F06AC14 44818000 */ mtc1 $at, $f16
|
||||
/* 09F748 7F06AC18 C7200000 */ lwc1 $f0, ($t9)
|
||||
/* 09F74C 7F06AC1C C70C0000 */ lwc1 $f12, ($t8)
|
||||
/* 09F750 7F06AC20 C7220004 */ lwc1 $f2, 4($t9)
|
||||
/* 09F754 7F06AC24 C70E0004 */ lwc1 $f14, 4($t8)
|
||||
/* 09F758 7F06AC28 46006201 */ sub.s $f8, $f12, $f0
|
||||
/* 09F75C 7F06AC2C 00003825 */ move $a3, $zero
|
||||
/* 09F760 7F06AC30 00004025 */ move $t0, $zero
|
||||
/* 09F764 7F06AC34 46027101 */ sub.s $f4, $f14, $f2
|
||||
/* 09F768 7F06AC38 46104282 */ mul.s $f10, $f8, $f16
|
||||
/* 09F76C 7F06AC3C 24420008 */ addiu $v0, $v0, 8
|
||||
/* 09F770 7F06AC40 46102182 */ mul.s $f6, $f4, $f16
|
||||
/* 09F774 7F06AC44 4600548D */ trunc.w.s $f18, $f10
|
||||
/* 09F778 7F06AC48 460C0280 */ add.s $f10, $f0, $f12
|
||||
/* 09F77C 7F06AC4C 44059000 */ mfc1 $a1, $f18
|
||||
/* 09F780 7F06AC50 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 09F784 7F06AC54 46105482 */ mul.s $f18, $f10, $f16
|
||||
/* 09F788 7F06AC58 460E1180 */ add.s $f6, $f2, $f14
|
||||
/* 09F78C 7F06AC5C 44064000 */ mfc1 $a2, $f8
|
||||
/* 09F790 7F06AC60 46103202 */ mul.s $f8, $f6, $f16
|
||||
/* 09F794 7F06AC64 4600910D */ trunc.w.s $f4, $f18
|
||||
/* 09F798 7F06AC68 44092000 */ mfc1 $t1, $f4
|
||||
/* 09F79C 7F06AC6C 4600428D */ trunc.w.s $f10, $f8
|
||||
/* 09F7A0 7F06AC70 440A5000 */ mfc1 $t2, $f10
|
||||
/* 09F7A4 7F06AC74 052200D4 */ bltzl $t1, .L7F06AFC8
|
||||
/* 09F7A8 7F06AC78 00401825 */ move $v1, $v0
|
||||
/* 09F7AC 7F06AC7C 054200D2 */ bltzl $t2, .L7F06AFC8
|
||||
/* 09F7B0 7F06AC80 00401825 */ move $v1, $v0
|
||||
/* 09F7B4 7F06AC84 04A1002A */ bgez $a1, .L7F06AD30
|
||||
/* 09F7B8 7F06AC88 8FAC0054 */ lw $t4, 0x54($sp)
|
||||
/* 09F7BC 7F06AC8C 11800015 */ beqz $t4, .L7F06ACE4
|
||||
/* 09F7C0 7F06AC90 8FAF004C */ lw $t7, 0x4c($sp)
|
||||
/* 09F7C4 7F06AC94 8FAD0050 */ lw $t5, 0x50($sp)
|
||||
/* 09F7C8 7F06AC98 0005C823 */ negu $t9, $a1
|
||||
/* 09F7CC 7F06AC9C 0125C023 */ subu $t8, $t1, $a1
|
||||
/* 09F7D0 7F06ACA0 032D0019 */ multu $t9, $t5
|
||||
/* 09F7D4 7F06ACA4 00007812 */ mflo $t7
|
||||
/* 09F7D8 7F06ACA8 000F7140 */ sll $t6, $t7, 5
|
||||
/* 09F7DC 7F06ACAC 00000000 */ nop
|
||||
/* 09F7E0 7F06ACB0 01D8001A */ div $zero, $t6, $t8
|
||||
/* 09F7E4 7F06ACB4 00004012 */ mflo $t0
|
||||
/* 09F7E8 7F06ACB8 17000002 */ bnez $t8, .L7F06ACC4
|
||||
/* 09F7EC 7F06ACBC 00000000 */ nop
|
||||
/* 09F7F0 7F06ACC0 0007000D */ break 7
|
||||
.L7F06ACC4:
|
||||
/* 09F7F4 7F06ACC4 2401FFFF */ li $at, -1
|
||||
/* 09F7F8 7F06ACC8 17010004 */ bne $t8, $at, .L7F06ACDC
|
||||
/* 09F7FC 7F06ACCC 3C018000 */ lui $at, 0x8000
|
||||
/* 09F800 7F06ACD0 15C10002 */ bne $t6, $at, .L7F06ACDC
|
||||
/* 09F804 7F06ACD4 00000000 */ nop
|
||||
/* 09F808 7F06ACD8 0006000D */ break 6
|
||||
.L7F06ACDC:
|
||||
/* 09F80C 7F06ACDC 10000014 */ b .L7F06AD30
|
||||
/* 09F810 7F06ACE0 00002825 */ move $a1, $zero
|
||||
.L7F06ACE4:
|
||||
/* 09F814 7F06ACE4 0005C823 */ negu $t9, $a1
|
||||
/* 09F818 7F06ACE8 032F0019 */ multu $t9, $t7
|
||||
/* 09F81C 7F06ACEC 0125C823 */ subu $t9, $t1, $a1
|
||||
/* 09F820 7F06ACF0 8FAD0050 */ lw $t5, 0x50($sp)
|
||||
/* 09F824 7F06ACF4 00007012 */ mflo $t6
|
||||
/* 09F828 7F06ACF8 000EC140 */ sll $t8, $t6, 5
|
||||
/* 09F82C 7F06ACFC 00000000 */ nop
|
||||
/* 09F830 7F06AD00 0319001A */ div $zero, $t8, $t9
|
||||
/* 09F834 7F06AD04 00003812 */ mflo $a3
|
||||
/* 09F838 7F06AD08 17200002 */ bnez $t9, .L7F06AD14
|
||||
/* 09F83C 7F06AD0C 00000000 */ nop
|
||||
/* 09F840 7F06AD10 0007000D */ break 7
|
||||
.L7F06AD14:
|
||||
/* 09F844 7F06AD14 2401FFFF */ li $at, -1
|
||||
/* 09F848 7F06AD18 17210004 */ bne $t9, $at, .L7F06AD2C
|
||||
/* 09F84C 7F06AD1C 3C018000 */ lui $at, 0x8000
|
||||
/* 09F850 7F06AD20 17010002 */ bne $t8, $at, .L7F06AD2C
|
||||
/* 09F854 7F06AD24 00000000 */ nop
|
||||
/* 09F858 7F06AD28 0006000D */ break 6
|
||||
.L7F06AD2C:
|
||||
/* 09F85C 7F06AD2C 00002825 */ move $a1, $zero
|
||||
.L7F06AD30:
|
||||
/* 09F860 7F06AD30 8FAC0054 */ lw $t4, 0x54($sp)
|
||||
/* 09F864 7F06AD34 04C1002A */ bgez $a2, .L7F06ADE0
|
||||
/* 09F868 7F06AD38 8FAD0050 */ lw $t5, 0x50($sp)
|
||||
/* 09F86C 7F06AD3C 11800016 */ beqz $t4, .L7F06AD98
|
||||
/* 09F870 7F06AD40 0006C023 */ negu $t8, $a2
|
||||
/* 09F874 7F06AD44 8FAE004C */ lw $t6, 0x4c($sp)
|
||||
/* 09F878 7F06AD48 00067823 */ negu $t7, $a2
|
||||
/* 09F87C 7F06AD4C 01EE0019 */ multu $t7, $t6
|
||||
/* 09F880 7F06AD50 01467823 */ subu $t7, $t2, $a2
|
||||
/* 09F884 7F06AD54 0000C012 */ mflo $t8
|
||||
/* 09F888 7F06AD58 0018C940 */ sll $t9, $t8, 5
|
||||
/* 09F88C 7F06AD5C 00000000 */ nop
|
||||
/* 09F890 7F06AD60 032F001A */ div $zero, $t9, $t7
|
||||
/* 09F894 7F06AD64 00007012 */ mflo $t6
|
||||
/* 09F898 7F06AD68 00EE3821 */ addu $a3, $a3, $t6
|
||||
/* 09F89C 7F06AD6C 15E00002 */ bnez $t7, .L7F06AD78
|
||||
/* 09F8A0 7F06AD70 00000000 */ nop
|
||||
/* 09F8A4 7F06AD74 0007000D */ break 7
|
||||
.L7F06AD78:
|
||||
/* 09F8A8 7F06AD78 2401FFFF */ li $at, -1
|
||||
/* 09F8AC 7F06AD7C 15E10004 */ bne $t7, $at, .L7F06AD90
|
||||
/* 09F8B0 7F06AD80 3C018000 */ lui $at, 0x8000
|
||||
/* 09F8B4 7F06AD84 17210002 */ bne $t9, $at, .L7F06AD90
|
||||
/* 09F8B8 7F06AD88 00000000 */ nop
|
||||
/* 09F8BC 7F06AD8C 0006000D */ break 6
|
||||
.L7F06AD90:
|
||||
/* 09F8C0 7F06AD90 10000013 */ b .L7F06ADE0
|
||||
/* 09F8C4 7F06AD94 00003025 */ move $a2, $zero
|
||||
.L7F06AD98:
|
||||
/* 09F8C8 7F06AD98 030D0019 */ multu $t8, $t5
|
||||
/* 09F8CC 7F06AD9C 01467023 */ subu $t6, $t2, $a2
|
||||
/* 09F8D0 7F06ADA0 0000C812 */ mflo $t9
|
||||
/* 09F8D4 7F06ADA4 00197940 */ sll $t7, $t9, 5
|
||||
/* 09F8D8 7F06ADA8 00000000 */ nop
|
||||
/* 09F8DC 7F06ADAC 01EE001A */ div $zero, $t7, $t6
|
||||
/* 09F8E0 7F06ADB0 0000C012 */ mflo $t8
|
||||
/* 09F8E4 7F06ADB4 01184021 */ addu $t0, $t0, $t8
|
||||
/* 09F8E8 7F06ADB8 15C00002 */ bnez $t6, .L7F06ADC4
|
||||
/* 09F8EC 7F06ADBC 00000000 */ nop
|
||||
/* 09F8F0 7F06ADC0 0007000D */ break 7
|
||||
.L7F06ADC4:
|
||||
/* 09F8F4 7F06ADC4 2401FFFF */ li $at, -1
|
||||
/* 09F8F8 7F06ADC8 15C10004 */ bne $t6, $at, .L7F06ADDC
|
||||
/* 09F8FC 7F06ADCC 3C018000 */ lui $at, 0x8000
|
||||
/* 09F900 7F06ADD0 15E10002 */ bne $t7, $at, .L7F06ADDC
|
||||
/* 09F904 7F06ADD4 00000000 */ nop
|
||||
/* 09F908 7F06ADD8 0006000D */ break 6
|
||||
.L7F06ADDC:
|
||||
/* 09F90C 7F06ADDC 00003025 */ move $a2, $zero
|
||||
.L7F06ADE0:
|
||||
/* 09F910 7F06ADE0 11800015 */ beqz $t4, .L7F06AE38
|
||||
/* 09F914 7F06ADE4 8FAE0058 */ lw $t6, 0x58($sp)
|
||||
/* 09F918 7F06ADE8 8FB9004C */ lw $t9, 0x4c($sp)
|
||||
/* 09F91C 7F06ADEC 46021180 */ add.s $f6, $f2, $f2
|
||||
/* 09F920 7F06ADF0 3C014480 */ li $at, 0x44800000 # 1024.000000
|
||||
/* 09F924 7F06ADF4 44999000 */ mtc1 $t9, $f18
|
||||
/* 09F928 7F06ADF8 44816000 */ mtc1 $at, $f12
|
||||
/* 09F92C 7F06ADFC 46809120 */ cvt.s.w $f4, $f18
|
||||
/* 09F930 7F06AE00 46062203 */ div.s $f8, $f4, $f6
|
||||
/* 09F934 7F06AE04 448D2000 */ mtc1 $t5, $f4
|
||||
/* 09F938 7F06AE08 00000000 */ nop
|
||||
/* 09F93C 7F06AE0C 468021A0 */ cvt.s.w $f6, $f4
|
||||
/* 09F940 7F06AE10 460C4282 */ mul.s $f10, $f8, $f12
|
||||
/* 09F944 7F06AE14 46000200 */ add.s $f8, $f0, $f0
|
||||
/* 09F948 7F06AE18 4600548D */ trunc.w.s $f18, $f10
|
||||
/* 09F94C 7F06AE1C 46083283 */ div.s $f10, $f6, $f8
|
||||
/* 09F950 7F06AE20 44039000 */ mfc1 $v1, $f18
|
||||
/* 09F954 7F06AE24 460C5482 */ mul.s $f18, $f10, $f12
|
||||
/* 09F958 7F06AE28 4600910D */ trunc.w.s $f4, $f18
|
||||
/* 09F95C 7F06AE2C 44042000 */ mfc1 $a0, $f4
|
||||
/* 09F960 7F06AE30 10000014 */ b .L7F06AE84
|
||||
/* 09F964 7F06AE34 00000000 */ nop
|
||||
.L7F06AE38:
|
||||
/* 09F968 7F06AE38 8FB8004C */ lw $t8, 0x4c($sp)
|
||||
/* 09F96C 7F06AE3C 46000280 */ add.s $f10, $f0, $f0
|
||||
/* 09F970 7F06AE40 3C014480 */ li $at, 0x44800000 # 1024.000000
|
||||
/* 09F974 7F06AE44 44983000 */ mtc1 $t8, $f6
|
||||
/* 09F978 7F06AE48 44816000 */ mtc1 $at, $f12
|
||||
/* 09F97C 7F06AE4C 46803220 */ cvt.s.w $f8, $f6
|
||||
/* 09F980 7F06AE50 460A4483 */ div.s $f18, $f8, $f10
|
||||
/* 09F984 7F06AE54 448D4000 */ mtc1 $t5, $f8
|
||||
/* 09F988 7F06AE58 00000000 */ nop
|
||||
/* 09F98C 7F06AE5C 468042A0 */ cvt.s.w $f10, $f8
|
||||
/* 09F990 7F06AE60 460C9102 */ mul.s $f4, $f18, $f12
|
||||
/* 09F994 7F06AE64 46021480 */ add.s $f18, $f2, $f2
|
||||
/* 09F998 7F06AE68 4600218D */ trunc.w.s $f6, $f4
|
||||
/* 09F99C 7F06AE6C 46125103 */ div.s $f4, $f10, $f18
|
||||
/* 09F9A0 7F06AE70 44033000 */ mfc1 $v1, $f6
|
||||
/* 09F9A4 7F06AE74 460C2182 */ mul.s $f6, $f4, $f12
|
||||
/* 09F9A8 7F06AE78 4600320D */ trunc.w.s $f8, $f6
|
||||
/* 09F9AC 7F06AE7C 44044000 */ mfc1 $a0, $f8
|
||||
/* 09F9B0 7F06AE80 00000000 */ nop
|
||||
.L7F06AE84:
|
||||
/* 09F9B4 7F06AE84 11C00006 */ beqz $t6, .L7F06AEA0
|
||||
/* 09F9B8 7F06AE88 8FB9004C */ lw $t9, 0x4c($sp)
|
||||
/* 09F9BC 7F06AE8C 272FFFFF */ addiu $t7, $t9, -1
|
||||
/* 09F9C0 7F06AE90 3C180001 */ lui $t8, 1
|
||||
/* 09F9C4 7F06AE94 000F7140 */ sll $t6, $t7, 5
|
||||
/* 09F9C8 7F06AE98 03031823 */ subu $v1, $t8, $v1
|
||||
/* 09F9CC 7F06AE9C 01C73823 */ subu $a3, $t6, $a3
|
||||
.L7F06AEA0:
|
||||
/* 09F9D0 7F06AEA0 8FB8005C */ lw $t8, 0x5c($sp)
|
||||
/* 09F9D4 7F06AEA4 25AFFFFF */ addiu $t7, $t5, -1
|
||||
/* 09F9D8 7F06AEA8 3C190001 */ lui $t9, 1
|
||||
/* 09F9DC 7F06AEAC 13000003 */ beqz $t8, .L7F06AEBC
|
||||
/* 09F9E0 7F06AEB0 000F7140 */ sll $t6, $t7, 5
|
||||
/* 09F9E4 7F06AEB4 03242023 */ subu $a0, $t9, $a0
|
||||
/* 09F9E8 7F06AEB8 01C84023 */ subu $t0, $t6, $t0
|
||||
.L7F06AEBC:
|
||||
/* 09F9EC 7F06AEBC 11800022 */ beqz $t4, .L7F06AF48
|
||||
/* 09F9F0 7F06AEC0 31390FFF */ andi $t9, $t1, 0xfff
|
||||
/* 09F9F4 7F06AEC4 31380FFF */ andi $t8, $t1, 0xfff
|
||||
/* 09F9F8 7F06AEC8 0018CB00 */ sll $t9, $t8, 0xc
|
||||
/* 09F9FC 7F06AECC 3C01E500 */ lui $at, 0xe500
|
||||
/* 09FA00 7F06AED0 03217825 */ or $t7, $t9, $at
|
||||
/* 09FA04 7F06AED4 314E0FFF */ andi $t6, $t2, 0xfff
|
||||
/* 09FA08 7F06AED8 01EEC025 */ or $t8, $t7, $t6
|
||||
/* 09FA0C 7F06AEDC 30B90FFF */ andi $t9, $a1, 0xfff
|
||||
/* 09FA10 7F06AEE0 00406025 */ move $t4, $v0
|
||||
/* 09FA14 7F06AEE4 AD980000 */ sw $t8, ($t4)
|
||||
/* 09FA18 7F06AEE8 00197B00 */ sll $t7, $t9, 0xc
|
||||
/* 09FA1C 7F06AEEC 30CE0FFF */ andi $t6, $a2, 0xfff
|
||||
/* 09FA20 7F06AEF0 01EEC025 */ or $t8, $t7, $t6
|
||||
/* 09FA24 7F06AEF4 AD980004 */ sw $t8, 4($t4)
|
||||
/* 09FA28 7F06AEF8 24420008 */ addiu $v0, $v0, 8
|
||||
/* 09FA2C 7F06AEFC 00406825 */ move $t5, $v0
|
||||
/* 09FA30 7F06AF00 3C19B400 */ lui $t9, 0xb400
|
||||
/* 09FA34 7F06AF04 ADB90000 */ sw $t9, ($t5)
|
||||
/* 09FA38 7F06AF08 3118FFFF */ andi $t8, $t0, 0xffff
|
||||
/* 09FA3C 7F06AF0C 00077400 */ sll $t6, $a3, 0x10
|
||||
/* 09FA40 7F06AF10 01D8C825 */ or $t9, $t6, $t8
|
||||
/* 09FA44 7F06AF14 ADB90004 */ sw $t9, 4($t5)
|
||||
/* 09FA48 7F06AF18 24420008 */ addiu $v0, $v0, 8
|
||||
/* 09FA4C 7F06AF1C AFA2000C */ sw $v0, 0xc($sp)
|
||||
/* 09FA50 7F06AF20 8FAE000C */ lw $t6, 0xc($sp)
|
||||
/* 09FA54 7F06AF24 3C0FB300 */ lui $t7, 0xb300
|
||||
/* 09FA58 7F06AF28 0003CC00 */ sll $t9, $v1, 0x10
|
||||
/* 09FA5C 7F06AF2C ADCF0000 */ sw $t7, ($t6)
|
||||
/* 09FA60 7F06AF30 8FB8000C */ lw $t8, 0xc($sp)
|
||||
/* 09FA64 7F06AF34 308FFFFF */ andi $t7, $a0, 0xffff
|
||||
/* 09FA68 7F06AF38 032F7025 */ or $t6, $t9, $t7
|
||||
/* 09FA6C 7F06AF3C 24420008 */ addiu $v0, $v0, 8
|
||||
/* 09FA70 7F06AF40 10000020 */ b .L7F06AFC4
|
||||
/* 09FA74 7F06AF44 AF0E0004 */ sw $t6, 4($t8)
|
||||
.L7F06AF48:
|
||||
/* 09FA78 7F06AF48 00197B00 */ sll $t7, $t9, 0xc
|
||||
/* 09FA7C 7F06AF4C 3C01E400 */ lui $at, 0xe400
|
||||
/* 09FA80 7F06AF50 01E17025 */ or $t6, $t7, $at
|
||||
/* 09FA84 7F06AF54 31580FFF */ andi $t8, $t2, 0xfff
|
||||
/* 09FA88 7F06AF58 01D8C825 */ or $t9, $t6, $t8
|
||||
/* 09FA8C 7F06AF5C 30AF0FFF */ andi $t7, $a1, 0xfff
|
||||
/* 09FA90 7F06AF60 00406025 */ move $t4, $v0
|
||||
/* 09FA94 7F06AF64 AD990000 */ sw $t9, ($t4)
|
||||
/* 09FA98 7F06AF68 000F7300 */ sll $t6, $t7, 0xc
|
||||
/* 09FA9C 7F06AF6C 30D80FFF */ andi $t8, $a2, 0xfff
|
||||
/* 09FAA0 7F06AF70 01D8C825 */ or $t9, $t6, $t8
|
||||
/* 09FAA4 7F06AF74 AD990004 */ sw $t9, 4($t4)
|
||||
/* 09FAA8 7F06AF78 24420008 */ addiu $v0, $v0, 8
|
||||
/* 09FAAC 7F06AF7C 00406825 */ move $t5, $v0
|
||||
/* 09FAB0 7F06AF80 3C0FB400 */ lui $t7, 0xb400
|
||||
/* 09FAB4 7F06AF84 ADAF0000 */ sw $t7, ($t5)
|
||||
/* 09FAB8 7F06AF88 3119FFFF */ andi $t9, $t0, 0xffff
|
||||
/* 09FABC 7F06AF8C 0007C400 */ sll $t8, $a3, 0x10
|
||||
/* 09FAC0 7F06AF90 03197825 */ or $t7, $t8, $t9
|
||||
/* 09FAC4 7F06AF94 ADAF0004 */ sw $t7, 4($t5)
|
||||
/* 09FAC8 7F06AF98 24420008 */ addiu $v0, $v0, 8
|
||||
/* 09FACC 7F06AF9C AFA20000 */ sw $v0, ($sp)
|
||||
/* 09FAD0 7F06AFA0 8FB80000 */ lw $t8, ($sp)
|
||||
/* 09FAD4 7F06AFA4 3C0EB300 */ lui $t6, 0xb300
|
||||
/* 09FAD8 7F06AFA8 00037C00 */ sll $t7, $v1, 0x10
|
||||
/* 09FADC 7F06AFAC AF0E0000 */ sw $t6, ($t8)
|
||||
/* 09FAE0 7F06AFB0 8FB90000 */ lw $t9, ($sp)
|
||||
/* 09FAE4 7F06AFB4 308EFFFF */ andi $t6, $a0, 0xffff
|
||||
/* 09FAE8 7F06AFB8 01EEC025 */ or $t8, $t7, $t6
|
||||
/* 09FAEC 7F06AFBC 24420008 */ addiu $v0, $v0, 8
|
||||
/* 09FAF0 7F06AFC0 AF380004 */ sw $t8, 4($t9)
|
||||
.L7F06AFC4:
|
||||
/* 09FAF4 7F06AFC4 00401825 */ move $v1, $v0
|
||||
.L7F06AFC8:
|
||||
/* 09FAF8 7F06AFC8 3C0F0008 */ lui $t7, 8
|
||||
/* 09FAFC 7F06AFCC AC6F0004 */ sw $t7, 4($v1)
|
||||
/* 09FB00 7F06AFD0 AC6B0000 */ sw $t3, ($v1)
|
||||
/* 09FB04 7F06AFD4 8FAE0040 */ lw $t6, 0x40($sp)
|
||||
/* 09FB08 7F06AFD8 24420008 */ addiu $v0, $v0, 8
|
||||
/* 09FB0C 7F06AFDC ADC20000 */ sw $v0, ($t6)
|
||||
.L7F06AFE0:
|
||||
/* 09FB10 7F06AFE0 03E00008 */ jr $ra
|
||||
/* 09FB14 7F06AFE4 27BD0040 */ addiu $sp, $sp, 0x40
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
f32 display_image_at_on_screen_coord(void *arg0, void *arg2, ?32 arg4, ?32 arg5, ?32 arg6, ?32 arg7, s32 arg8, s32 arg9, s32 argA, s32 argB, s32 argC, s32 argD) {
|
||||
void *temp_v0;
|
||||
void *phi_v0;
|
||||
f32 phi_return_reg;
|
||||
|
||||
// Node 0
|
||||
phi_return_reg = 0.0f;
|
||||
if (0.0f < *arg2)
|
||||
{
|
||||
// Node 1
|
||||
phi_return_reg = 0.0f;
|
||||
if (0.0f < arg2->unk4)
|
||||
{
|
||||
// Node 2
|
||||
**arg0 = 0xfb000000;
|
||||
*arg0->unk4 = (s32) ((((arg8 << 0x18) | ((arg9 & 0xff) << 0x10)) | ((argA & 0xff) << 8)) | (argB & 0xff));
|
||||
temp_v0 = (*arg0 + 8);
|
||||
if (argC != 0)
|
||||
{
|
||||
// Node 3
|
||||
*temp_v0 = 0xfc26a005;
|
||||
temp_v0->unk4 = 0x1f1493ff;
|
||||
phi_v0 = (temp_v0 + 8);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Node 4
|
||||
if (argD != 0)
|
||||
{
|
||||
// Node 5
|
||||
temp_v0->unk4 = -0x1c8;
|
||||
*temp_v0 = 0xfc129bff;
|
||||
phi_v0 = (temp_v0 + 8);
|
||||
t += ((-xl * height) << 5) / (xh - xl);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Node 6
|
||||
*temp_v0 = 0xfc129a25;
|
||||
temp_v0->unk4 = 0xff37ffff;
|
||||
phi_v0 = (temp_v0 + 8);
|
||||
s += ((-xl * width) << 5) / (xh - xl);
|
||||
}
|
||||
|
||||
xl = 0;
|
||||
}
|
||||
|
||||
if (yl < 0)
|
||||
{
|
||||
if (arg5)
|
||||
{
|
||||
s += ((-yl * width) << 5) / (yh - yl);
|
||||
}
|
||||
else
|
||||
{
|
||||
t += ((-yl * height) << 5) / (yh - yl);
|
||||
}
|
||||
|
||||
yl = 0;
|
||||
}
|
||||
|
||||
if (arg5)
|
||||
{
|
||||
dsdx = width / (2.0f * arg2[1]) * 1024.0f;
|
||||
dtdy = height / (2.0f * arg2[0]) * 1024.0f;
|
||||
}
|
||||
else
|
||||
{
|
||||
dsdx = width / (2.0f * arg2[0]) * 1024.0f;
|
||||
dtdy = height / (2.0f * arg2[1]) * 1024.0f;
|
||||
}
|
||||
|
||||
if (arg6)
|
||||
{
|
||||
dsdx = 0x10000 - dsdx;
|
||||
s = ((width - 1) << 5) - s;
|
||||
}
|
||||
|
||||
if (arg7)
|
||||
{
|
||||
dtdy = 0x10000 - dtdy;
|
||||
t = ((height - 1) << 5) - t;
|
||||
}
|
||||
|
||||
if (arg5)
|
||||
{
|
||||
gSPTextureRectangleFlip(gdl++, xl, yl, xh, yh, G_TX_RENDERTILE, s, t, dsdx, dtdy);
|
||||
}
|
||||
else
|
||||
{
|
||||
gSPTextureRectangle(gdl++, xl, yl, xh, yh, G_TX_RENDERTILE, s, t, dsdx, dtdy);
|
||||
}
|
||||
// Node 7
|
||||
*arg0 = (void *) phi_v0;
|
||||
phi_return_reg = sub_GAME_7F06ABB0(arg4, arg5, arg6, arg7);
|
||||
}
|
||||
|
||||
gDPSetTexturePersp(gdl++, G_TP_PERSP);
|
||||
|
||||
*gdlptr = gdl;
|
||||
}
|
||||
// Node 8
|
||||
return phi_return_reg;
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel display_image_at_on_screen_coord
|
||||
/* 09FB18 7F06AFE8 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 09FB1C 7F06AFEC AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* 09FB20 7F06AFF0 44800000 */ mtc1 $zero, $f0
|
||||
/* 09FB24 7F06AFF4 C4C40000 */ lwc1 $f4, ($a2)
|
||||
/* 09FB28 7F06AFF8 4604003C */ c.lt.s $f0, $f4
|
||||
/* 09FB2C 7F06AFFC 00000000 */ nop
|
||||
/* 09FB30 7F06B000 45020041 */ bc1fl .L7F06B108
|
||||
/* 09FB34 7F06B004 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 09FB38 7F06B008 C4C60004 */ lwc1 $f6, 4($a2)
|
||||
/* 09FB3C 7F06B00C 4606003C */ c.lt.s $f0, $f6
|
||||
/* 09FB40 7F06B010 00000000 */ nop
|
||||
/* 09FB44 7F06B014 4502003C */ bc1fl .L7F06B108
|
||||
/* 09FB48 7F06B018 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 09FB4C 7F06B01C 8C820000 */ lw $v0, ($a0)
|
||||
/* 09FB50 7F06B020 3C0EFB00 */ lui $t6, 0xfb00
|
||||
/* 09FB54 7F06B024 00401825 */ move $v1, $v0
|
||||
/* 09FB58 7F06B028 AC6E0000 */ sw $t6, ($v1)
|
||||
/* 09FB5C 7F06B02C 8FB80048 */ lw $t8, 0x48($sp)
|
||||
/* 09FB60 7F06B030 8FA8004C */ lw $t0, 0x4c($sp)
|
||||
/* 09FB64 7F06B034 8FAC0050 */ lw $t4, 0x50($sp)
|
||||
/* 09FB68 7F06B038 0018CE00 */ sll $t9, $t8, 0x18
|
||||
/* 09FB6C 7F06B03C 8FB80054 */ lw $t8, 0x54($sp)
|
||||
/* 09FB70 7F06B040 310900FF */ andi $t1, $t0, 0xff
|
||||
/* 09FB74 7F06B044 00095400 */ sll $t2, $t1, 0x10
|
||||
/* 09FB78 7F06B048 318D00FF */ andi $t5, $t4, 0xff
|
||||
/* 09FB7C 7F06B04C 000D7200 */ sll $t6, $t5, 8
|
||||
/* 09FB80 7F06B050 032A5825 */ or $t3, $t9, $t2
|
||||
/* 09FB84 7F06B054 016E7825 */ or $t7, $t3, $t6
|
||||
/* 09FB88 7F06B058 330800FF */ andi $t0, $t8, 0xff
|
||||
/* 09FB8C 7F06B05C 01E84825 */ or $t1, $t7, $t0
|
||||
/* 09FB90 7F06B060 AC690004 */ sw $t1, 4($v1)
|
||||
/* 09FB94 7F06B064 8FB90058 */ lw $t9, 0x58($sp)
|
||||
/* 09FB98 7F06B068 24420008 */ addiu $v0, $v0, 8
|
||||
/* 09FB9C 7F06B06C 00401825 */ move $v1, $v0
|
||||
/* 09FBA0 7F06B070 13200009 */ beqz $t9, .L7F06B098
|
||||
/* 09FBA4 7F06B074 8FAD005C */ lw $t5, 0x5c($sp)
|
||||
/* 09FBA8 7F06B078 3C0AFC26 */ lui $t2, (0xFC26A005 >> 16) # lui $t2, 0xfc26
|
||||
/* 09FBAC 7F06B07C 3C0C1F14 */ lui $t4, (0x1F1493FF >> 16) # lui $t4, 0x1f14
|
||||
/* 09FBB0 7F06B080 358C93FF */ ori $t4, (0x1F1493FF & 0xFFFF) # ori $t4, $t4, 0x93ff
|
||||
/* 09FBB4 7F06B084 354AA005 */ ori $t2, (0xFC26A005 & 0xFFFF) # ori $t2, $t2, 0xa005
|
||||
/* 09FBB8 7F06B088 AC6A0000 */ sw $t2, ($v1)
|
||||
/* 09FBBC 7F06B08C AC6C0004 */ sw $t4, 4($v1)
|
||||
/* 09FBC0 7F06B090 10000012 */ b .L7F06B0DC
|
||||
/* 09FBC4 7F06B094 24420008 */ addiu $v0, $v0, 8
|
||||
.L7F06B098:
|
||||
/* 09FBC8 7F06B098 11A00009 */ beqz $t5, .L7F06B0C0
|
||||
/* 09FBCC 7F06B09C 00401825 */ move $v1, $v0
|
||||
/* 09FBD0 7F06B0A0 00401825 */ move $v1, $v0
|
||||
/* 09FBD4 7F06B0A4 3C0BFC12 */ lui $t3, (0xFC129BFF >> 16) # lui $t3, 0xfc12
|
||||
/* 09FBD8 7F06B0A8 356B9BFF */ ori $t3, (0xFC129BFF & 0xFFFF) # ori $t3, $t3, 0x9bff
|
||||
/* 09FBDC 7F06B0AC 240EFE38 */ li $t6, -456
|
||||
/* 09FBE0 7F06B0B0 AC6E0004 */ sw $t6, 4($v1)
|
||||
/* 09FBE4 7F06B0B4 AC6B0000 */ sw $t3, ($v1)
|
||||
/* 09FBE8 7F06B0B8 10000008 */ b .L7F06B0DC
|
||||
/* 09FBEC 7F06B0BC 24420008 */ addiu $v0, $v0, 8
|
||||
.L7F06B0C0:
|
||||
/* 09FBF0 7F06B0C0 3C18FC12 */ lui $t8, (0xFC129A25 >> 16) # lui $t8, 0xfc12
|
||||
/* 09FBF4 7F06B0C4 3C0FFF37 */ lui $t7, (0xFF37FFFF >> 16) # lui $t7, 0xff37
|
||||
/* 09FBF8 7F06B0C8 35EFFFFF */ ori $t7, (0xFF37FFFF & 0xFFFF) # ori $t7, $t7, 0xffff
|
||||
/* 09FBFC 7F06B0CC 37189A25 */ ori $t8, (0xFC129A25 & 0xFFFF) # ori $t8, $t8, 0x9a25
|
||||
/* 09FC00 7F06B0D0 AC780000 */ sw $t8, ($v1)
|
||||
/* 09FC04 7F06B0D4 AC6F0004 */ sw $t7, 4($v1)
|
||||
/* 09FC08 7F06B0D8 24420008 */ addiu $v0, $v0, 8
|
||||
.L7F06B0DC:
|
||||
/* 09FC0C 7F06B0DC AC820000 */ sw $v0, ($a0)
|
||||
/* 09FC10 7F06B0E0 8FAA0044 */ lw $t2, 0x44($sp)
|
||||
/* 09FC14 7F06B0E4 8FB90040 */ lw $t9, 0x40($sp)
|
||||
/* 09FC18 7F06B0E8 8FA9003C */ lw $t1, 0x3c($sp)
|
||||
/* 09FC1C 7F06B0EC 8FA80038 */ lw $t0, 0x38($sp)
|
||||
/* 09FC20 7F06B0F0 AFAA001C */ sw $t2, 0x1c($sp)
|
||||
/* 09FC24 7F06B0F4 AFB90018 */ sw $t9, 0x18($sp)
|
||||
/* 09FC28 7F06B0F8 AFA90014 */ sw $t1, 0x14($sp)
|
||||
/* 09FC2C 7F06B0FC 0FC1AAEC */ jal sub_GAME_7F06ABB0
|
||||
/* 09FC30 7F06B100 AFA80010 */ sw $t0, 0x10($sp)
|
||||
/* 09FC34 7F06B104 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
.L7F06B108:
|
||||
/* 09FC38 7F06B108 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
/* 09FC3C 7F06B10C 03E00008 */ jr $ra
|
||||
/* 09FC40 7F06B110 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
void display_image_at_on_screen_coord(Gfx **gdlptr, f32 *arg1, f32 *arg2, s32 twidth, u32 theight, u32 arg5, u32 arg6, u32 arg7, u32 r, u32 g, u32 b, u32 alpha, u32 arg12, u32 arg13)
|
||||
{
|
||||
if (arg2[0] > 0.0f && arg2[1] > 0.0f)
|
||||
{
|
||||
Gfx *gdl = *gdlptr;
|
||||
|
||||
gDPSetEnvColor(gdl++, r, g, b, alpha);
|
||||
|
||||
if (arg12)
|
||||
{
|
||||
gDPSetCombineLERP(gdl++, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, TEXEL1, TEXEL0, LOD_FRACTION, TEXEL0, COMBINED, 0, ENVIRONMENT, 0, COMBINED, 0, ENVIRONMENT, 0);
|
||||
}
|
||||
else if (arg13)
|
||||
{
|
||||
gDPSetCombineLERP(gdl++, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED);
|
||||
}
|
||||
else
|
||||
{
|
||||
gDPSetCombineLERP(gdl++, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0, TEXEL0, 0, ENVIRONMENT, 0);
|
||||
}
|
||||
|
||||
*gdlptr = gdl;
|
||||
|
||||
sub_GAME_7F06ABB0(gdlptr, arg1, arg2, twidth, theight, arg5, arg6, arg7);
|
||||
}
|
||||
}
|
||||
@@ -1242,19 +1242,19 @@ void cheatButtonHandleCheatsTurnedOn(CHEAT_ID cheat_id)
|
||||
return;
|
||||
|
||||
case CHEAT_FAST_ANIMATION:
|
||||
if (get_animation_rate() < 4.0f)
|
||||
if (getAnimationRate() < 4.0f)
|
||||
{
|
||||
HUDMESSAGEBOTTOM((char *)langGet(TEXT(LMISC, 0x34)));
|
||||
animation_speed_related(4.0f);
|
||||
setAnimationRate(4.0f);
|
||||
return;
|
||||
}
|
||||
return;
|
||||
|
||||
case CHEAT_SLOW_ANIMATION:
|
||||
if (get_animation_rate() > 0.25f)
|
||||
if (getAnimationRate() > 0.25f)
|
||||
{
|
||||
HUDMESSAGEBOTTOM((char *)langGet(TEXT(LMISC, 0x32)));
|
||||
animation_speed_related(0.25);
|
||||
setAnimationRate(0.25);
|
||||
return;
|
||||
}
|
||||
return;
|
||||
|
||||
+233
-233
@@ -151,352 +151,352 @@ f32 g_AiReactionSpeed = 1.0f;
|
||||
s32 g_SeenBondRecentlyGuardCount = 0;
|
||||
|
||||
struct struck_animation_table D_8002CE54[] = {
|
||||
{0x35C8, 0, -1.0, 0.5, 0, 27.0, -1.0},
|
||||
{0x36D8, 0, -1.0, 0.5, 0, 26.0, -1.0},
|
||||
{0x33AC, 1, -1.0, 0.5, 0, 25.0, -1.0},
|
||||
{0x34D4, 1, -1.0, 0.5, 0, 23.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_down_left, 0, -1.0, 0.5, 0, 27.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_up_left, 0, -1.0, 0.5, 0, 26.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_down_right, 1, -1.0, 0.5, 0, 25.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_up_right, 1, -1.0, 0.5, 0, 23.0, -1.0},
|
||||
{0, 0, 0.0, 0.5, 0, -1.0, -1.0}
|
||||
};
|
||||
|
||||
struct struck_animation_table D_8002CEE0[] = {
|
||||
{0x35C8, 0, -1.0, 0.5, 0, 27.0, -1.0},
|
||||
{0x36D8, 0, -1.0, 0.5, 0, 26.0, -1.0},
|
||||
{0x33AC, 1, -1.0, 0.5, 0, 25.0, -1.0},
|
||||
{0x34D4, 1, -1.0, 0.5, 0, 23.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_down_left, 0, -1.0, 0.5, 0, 27.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_up_left, 0, -1.0, 0.5, 0, 26.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_down_right, 1, -1.0, 0.5, 0, 25.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_up_right, 1, -1.0, 0.5, 0, 23.0, -1.0},
|
||||
{0, 0, 0.0, 0.5, 0, -1.0, -1.0}
|
||||
};
|
||||
|
||||
struct struck_animation_table D_8002CF6C[] = {
|
||||
{0x35C8, 0, -1.0, 0.5, 1, 27.0, -1.0},
|
||||
{0x36D8, 0, -1.0, 0.5, 1, 26.0, -1.0},
|
||||
{0x33AC, 1, -1.0, 0.5, 1, 25.0, -1.0},
|
||||
{0x34D4, 1, -1.0, 0.5, 1, 23.0, -1.0},
|
||||
{0x540C, 1, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_down_left, 0, -1.0, 0.5, 1, 27.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_up_left, 0, -1.0, 0.5, 1, 26.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_down_right, 1, -1.0, 0.5, 1, 25.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_up_right, 1, -1.0, 0.5, 1, 23.0, -1.0},
|
||||
{PTR_ANIM_death_left_leg, 1, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{0, 0, 0.0, 0.5, 0, -1.0, -1.0}
|
||||
};
|
||||
|
||||
struct struck_animation_table D_8002D014[] = {
|
||||
{0x33AC, 0, -1.0, 0.5, 0, 25.0, -1.0},
|
||||
{0x34D4, 0, -1.0, 0.5, 0, 23.0, -1.0},
|
||||
{0x35C8, 1, -1.0, 0.5, 0, 27.0, -1.0},
|
||||
{0x36D8, 1, -1.0, 0.5, 0, 26.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_down_right, 0, -1.0, 0.5, 0, 25.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_up_right, 0, -1.0, 0.5, 0, 23.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_down_left, 1, -1.0, 0.5, 0, 27.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_up_left, 1, -1.0, 0.5, 0, 26.0, -1.0},
|
||||
{0, 0, 0.0, 0.5, 0, -1.0, -1.0}
|
||||
};
|
||||
|
||||
struct struck_animation_table D_8002D0A0[] = {
|
||||
{0x33AC, 0, -1.0, 0.5, 0, 25.0, -1.0},
|
||||
{0x34D4, 0, -1.0, 0.5, 0, 23.0, -1.0},
|
||||
{0x35C8, 1, -1.0, 0.5, 0, 27.0, -1.0},
|
||||
{0x36D8, 1, -1.0, 0.5, 0, 26.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_down_right, 0, -1.0, 0.5, 0, 25.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_up_right, 0, -1.0, 0.5, 0, 23.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_down_left, 1, -1.0, 0.5, 0, 27.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_up_left, 1, -1.0, 0.5, 0, 26.0, -1.0},
|
||||
{0, 0, 0.0, 0.5, 0, -1.0, -1.0}
|
||||
};
|
||||
|
||||
struct struck_animation_table D_8002D12C[] = {
|
||||
{0x33AC, 0, -1.0, 0.5, 1, 25.0, -1.0},
|
||||
{0x34D4, 0, -1.0, 0.5, 1, 23.0, -1.0},
|
||||
{0x35C8, 1, -1.0, 0.5, 1, 27.0, -1.0},
|
||||
{0x36D8, 1, -1.0, 0.5, 1, 26.0, -1.0},
|
||||
{0x540C, 0, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_down_right, 0, -1.0, 0.5, 1, 25.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_up_right, 0, -1.0, 0.5, 1, 23.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_down_left, 1, -1.0, 0.5, 1, 27.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_up_left, 1, -1.0, 0.5, 1, 26.0, -1.0},
|
||||
{PTR_ANIM_death_left_leg, 0, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{0, 0, 0.0, 0.5, 0, -1.0, -1.0}
|
||||
};
|
||||
|
||||
struct struck_animation_table D_8002D1D4[] = {
|
||||
{0x30B8, 0, -1.0, 0.5, 0, 55.0, 39.0},
|
||||
{0x30B8, 1, -1.0, 0.5, 0, 55.0, 39.0},
|
||||
{0x31DC, 0, -1.0, 0.5, 0, 36.0, -1.0},
|
||||
{0x31DC, 1, -1.0, 0.5, 0, 36.0, -1.0},
|
||||
{0x32C8, 0, -1.0, 0.5, 1, 29.0, -1.0},
|
||||
{0x32C8, 1, -1.0, 0.5, 1, 29.0, -1.0},
|
||||
{0x384C, 0, -1.0, 0.5, 0, 97.0, 64.0},
|
||||
{0x384C, 1, -1.0, 0.5, 0, 97.0, 64.0},
|
||||
{0x3AF0, 0, -1.0, 0.5, 0, 31.0, -1.0},
|
||||
{0x3AF0, 1, -1.0, 0.5, 0, 31.0, -1.0},
|
||||
{0x3C10, 0, -1.0, 0.5, 0, 36.0, -1.0},
|
||||
{0x3C10, 1, -1.0, 0.5, 0, 36.0, -1.0},
|
||||
{0x3D04, 0, -1.0, 0.5, 0, 28.0, -1.0},
|
||||
{0x3D04, 1, -1.0, 0.5, 0, 28.0, -1.0},
|
||||
{0x282C, 0, -1.0, 0.5, 0, 79.0, 415.0},
|
||||
{0x282C, 1, -1.0, 0.5, 0, 79.0, 415.0},
|
||||
{PTR_ANIM_death_forward_face_down, 0, -1.0, 0.5, 0, 55.0, 39.0},
|
||||
{PTR_ANIM_death_forward_face_down, 1, -1.0, 0.5, 0, 55.0, 39.0},
|
||||
{PTR_ANIM_death_forward_spin_face_up, 0, -1.0, 0.5, 0, 36.0, -1.0},
|
||||
{PTR_ANIM_death_forward_spin_face_up, 1, -1.0, 0.5, 0, 36.0, -1.0},
|
||||
{PTR_ANIM_death_backward_fall_face_up1, 0, -1.0, 0.5, 1, 29.0, -1.0},
|
||||
{PTR_ANIM_death_backward_fall_face_up1, 1, -1.0, 0.5, 1, 29.0, -1.0},
|
||||
{PTR_ANIM_death_forward_face_down_hard, 0, -1.0, 0.5, 0, 97.0, 64.0},
|
||||
{PTR_ANIM_death_forward_face_down_hard, 1, -1.0, 0.5, 0, 97.0, 64.0},
|
||||
{PTR_ANIM_death_fetal_position_right, 0, -1.0, 0.5, 0, 31.0, -1.0},
|
||||
{PTR_ANIM_death_fetal_position_right, 1, -1.0, 0.5, 0, 31.0, -1.0},
|
||||
{PTR_ANIM_death_fetal_position_left, 0, -1.0, 0.5, 0, 36.0, -1.0},
|
||||
{PTR_ANIM_death_fetal_position_left, 1, -1.0, 0.5, 0, 36.0, -1.0},
|
||||
{PTR_ANIM_death_backward_fall_face_up2, 0, -1.0, 0.5, 0, 28.0, -1.0},
|
||||
{PTR_ANIM_death_backward_fall_face_up2, 1, -1.0, 0.5, 0, 28.0, -1.0},
|
||||
{PTR_ANIM_death_genitalia, 0, -1.0, 0.5, 0, 79.0, 415.0},
|
||||
{PTR_ANIM_death_genitalia, 1, -1.0, 0.5, 0, 79.0, 415.0},
|
||||
{0, 0, -1.0, 0.5, 0, -1.0, -1.0}
|
||||
};
|
||||
|
||||
struct struck_animation_table D_8002D3B0[] = {
|
||||
{0x30B8, 0, -1.0, 0.5, 0, 55.0, 39.0},
|
||||
{0x30B8, 1, -1.0, 0.5, 0, 55.0, 39.0},
|
||||
{0x31DC, 0, -1.0, 0.5, 0, 36.0, -1.0},
|
||||
{0x31DC, 1, -1.0, 0.5, 0, 36.0, -1.0},
|
||||
{0x32C8, 0, -1.0, 0.5, 1, 29.0, -1.0},
|
||||
{0x32C8, 1, -1.0, 0.5, 1, 29.0, -1.0},
|
||||
{0x33AC, 0, -1.0, 0.5, 1, 25.0, -1.0},
|
||||
{0x33AC, 1, -1.0, 0.5, 1, 25.0, -1.0},
|
||||
{0x34D4, 0, -1.0, 0.5, 1, 23.0, -1.0},
|
||||
{0x34D4, 1, -1.0, 0.5, 1, 23.0, -1.0},
|
||||
{0x35C8, 0, -1.0, 0.5, 1, 27.0, -1.0},
|
||||
{0x35C8, 1, -1.0, 0.5, 1, 27.0, -1.0},
|
||||
{0x36D8, 0, -1.0, 0.5, 1, 26.0, -1.0},
|
||||
{0x36D8, 1, -1.0, 0.5, 1, 26.0, -1.0},
|
||||
{0x384C, 0, -1.0, 0.5, 0, 97.0, 64.0},
|
||||
{0x384C, 1, -1.0, 0.5, 0, 97.0, 64.0},
|
||||
{0x39C0, 0, -1.0, 0.5, 0, 94.0, 66.0},
|
||||
{0x39C0, 1, -1.0, 0.5, 0, 94.0, 66.0},
|
||||
{0x3AF0, 0, -1.0, 0.5, 0, 31.0, -1.0},
|
||||
{0x3AF0, 1, -1.0, 0.5, 0, 31.0, -1.0},
|
||||
{0x3C10, 0, -1.0, 0.5, 0, 36.0, -1.0},
|
||||
{0x3C10, 1, -1.0, 0.5, 0, 36.0, -1.0},
|
||||
{0x3D04, 0, -1.0, 0.5, 0, 28.0, -1.0},
|
||||
{0x3D04, 1, -1.0, 0.5, 0, 28.0, -1.0},
|
||||
{0x2E64, 0, -1.0, 0.5, 0, 87.0, 203.0},
|
||||
{0x2E64, 1, -1.0, 0.5, 0, 87.0, 203.0},
|
||||
{0x51C4, 0, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{0x51C4, 1, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_death_forward_face_down, 0, -1.0, 0.5, 0, 55.0, 39.0},
|
||||
{PTR_ANIM_death_forward_face_down, 1, -1.0, 0.5, 0, 55.0, 39.0},
|
||||
{PTR_ANIM_death_forward_spin_face_up, 0, -1.0, 0.5, 0, 36.0, -1.0},
|
||||
{PTR_ANIM_death_forward_spin_face_up, 1, -1.0, 0.5, 0, 36.0, -1.0},
|
||||
{PTR_ANIM_death_backward_fall_face_up1, 0, -1.0, 0.5, 1, 29.0, -1.0},
|
||||
{PTR_ANIM_death_backward_fall_face_up1, 1, -1.0, 0.5, 1, 29.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_down_right, 0, -1.0, 0.5, 1, 25.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_down_right, 1, -1.0, 0.5, 1, 25.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_up_right, 0, -1.0, 0.5, 1, 23.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_up_right, 1, -1.0, 0.5, 1, 23.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_down_left, 0, -1.0, 0.5, 1, 27.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_down_left, 1, -1.0, 0.5, 1, 27.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_up_left, 0, -1.0, 0.5, 1, 26.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_up_left, 1, -1.0, 0.5, 1, 26.0, -1.0},
|
||||
{PTR_ANIM_death_forward_face_down_hard, 0, -1.0, 0.5, 0, 97.0, 64.0},
|
||||
{PTR_ANIM_death_forward_face_down_hard, 1, -1.0, 0.5, 0, 97.0, 64.0},
|
||||
{PTR_ANIM_death_forward_face_down_soft, 0, -1.0, 0.5, 0, 94.0, 66.0},
|
||||
{PTR_ANIM_death_forward_face_down_soft, 1, -1.0, 0.5, 0, 94.0, 66.0},
|
||||
{PTR_ANIM_death_fetal_position_right, 0, -1.0, 0.5, 0, 31.0, -1.0},
|
||||
{PTR_ANIM_death_fetal_position_right, 1, -1.0, 0.5, 0, 31.0, -1.0},
|
||||
{PTR_ANIM_death_fetal_position_left, 0, -1.0, 0.5, 0, 36.0, -1.0},
|
||||
{PTR_ANIM_death_fetal_position_left, 1, -1.0, 0.5, 0, 36.0, -1.0},
|
||||
{PTR_ANIM_death_backward_fall_face_up2, 0, -1.0, 0.5, 0, 28.0, -1.0},
|
||||
{PTR_ANIM_death_backward_fall_face_up2, 1, -1.0, 0.5, 0, 28.0, -1.0},
|
||||
{PTR_ANIM_death_neck, 0, -1.0, 0.5, 0, 87.0, 203.0},
|
||||
{PTR_ANIM_death_neck, 1, -1.0, 0.5, 0, 87.0, 203.0},
|
||||
{PTR_ANIM_death_head, 0, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_death_head, 1, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{0, 0, -1.0, 0.5, 0, -1.0, -1.0}
|
||||
};
|
||||
|
||||
struct struck_animation_table D_8002D6DC[] = {
|
||||
{0x35C8, 0, -1.0, 0.5, 0, 27.0, -1.0},
|
||||
{0x36D8, 0, -1.0, 0.5, 0, 26.0, -1.0},
|
||||
{0x33AC, 1, -1.0, 0.5, 0, 25.0, -1.0},
|
||||
{0x34D4, 1, -1.0, 0.5, 0, 23.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_down_left, 0, -1.0, 0.5, 0, 27.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_up_left, 0, -1.0, 0.5, 0, 26.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_down_right, 1, -1.0, 0.5, 0, 25.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_up_right, 1, -1.0, 0.5, 0, 23.0, -1.0},
|
||||
{0, 0, -1.0, 0.5, 0, -1.0, -1.0}
|
||||
};
|
||||
|
||||
struct struck_animation_table D_8002D768[] = {
|
||||
{0x35C8, 0, -1.0, 0.5, 0, 27.0, -1.0},
|
||||
{0x36D8, 0, -1.0, 0.5, 0, 26.0, -1.0},
|
||||
{0x33AC, 1, -1.0, 0.5, 0, 25.0, -1.0},
|
||||
{0x34D4, 1, -1.0, 0.5, 0, 23.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_down_left, 0, -1.0, 0.5, 0, 27.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_up_left, 0, -1.0, 0.5, 0, 26.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_down_right, 1, -1.0, 0.5, 0, 25.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_up_right, 1, -1.0, 0.5, 0, 23.0, -1.0},
|
||||
{0, 0, -1.0, 0.5, 0, -1.0, -1.0}
|
||||
};
|
||||
|
||||
struct struck_animation_table D_8002D7F4[] = {
|
||||
{0x35C8, 0, -1.0, 0.5, 1, 27.0, -1.0},
|
||||
{0x36D8, 0, -1.0, 0.5, 1, 26.0, -1.0},
|
||||
{0x33AC, 1, -1.0, 0.5, 1, 25.0, -1.0},
|
||||
{0x34D4, 1, -1.0, 0.5, 1, 23.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_down_left, 0, -1.0, 0.5, 1, 27.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_up_left, 0, -1.0, 0.5, 1, 26.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_down_right, 1, -1.0, 0.5, 1, 25.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_up_right, 1, -1.0, 0.5, 1, 23.0, -1.0},
|
||||
{0, 0, -1.0, 0.5, 0, -1.0, -1.0}
|
||||
};
|
||||
|
||||
struct struck_animation_table D_8002D880[] = {
|
||||
{0x33AC, 0, -1.0, 0.5, 0, 25.0, -1.0},
|
||||
{0x34D4, 0, -1.0, 0.5, 0, 23.0, -1.0},
|
||||
{0x35C8, 1, -1.0, 0.5, 0, 27.0, -1.0},
|
||||
{0x36D8, 1, -1.0, 0.5, 0, 26.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_down_right, 0, -1.0, 0.5, 0, 25.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_up_right, 0, -1.0, 0.5, 0, 23.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_down_left, 1, -1.0, 0.5, 0, 27.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_up_left, 1, -1.0, 0.5, 0, 26.0, -1.0},
|
||||
{0, 0, -1.0, 0.5, 0, -1.0, -1.0}
|
||||
};
|
||||
|
||||
struct struck_animation_table D_8002D90C[] = {
|
||||
{0x33AC, 0, -1.0, 0.5, 0, 25.0, -1.0},
|
||||
{0x34D4, 0, -1.0, 0.5, 0, 23.0, -1.0},
|
||||
{0x35C8, 1, -1.0, 0.5, 0, 27.0, -1.0},
|
||||
{0x36D8, 1, -1.0, 0.5, 0, 26.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_down_right, 0, -1.0, 0.5, 0, 25.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_up_right, 0, -1.0, 0.5, 0, 23.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_down_left, 1, -1.0, 0.5, 0, 27.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_up_left, 1, -1.0, 0.5, 0, 26.0, -1.0},
|
||||
{0, 0, -1.0, 0.5, 0, -1.0, -1.0}
|
||||
};
|
||||
|
||||
struct struck_animation_table D_8002D998[] = {
|
||||
{0x33AC, 0, -1.0, 0.5, 1, 25.0, -1.0},
|
||||
{0x34D4, 0, -1.0, 0.5, 1, 23.0, -1.0},
|
||||
{0x35C8, 1, -1.0, 0.5, 1, 27.0, -1.0},
|
||||
{0x36D8, 1, -1.0, 0.5, 1, 26.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_down_right, 0, -1.0, 0.5, 1, 25.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_up_right, 0, -1.0, 0.5, 1, 23.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_down_left, 1, -1.0, 0.5, 1, 27.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_up_left, 1, -1.0, 0.5, 1, 26.0, -1.0},
|
||||
{0, 0, -1.0, 0.5, 0, -1.0, -1.0}
|
||||
};
|
||||
|
||||
struct struck_animation_table D_8002DA24[] = {
|
||||
{0x30B8, 0, -1.0, 0.5, 0, 55.0, 39.0},
|
||||
{0x30B8, 1, -1.0, 0.5, 0, 55.0, 39.0},
|
||||
{0x31DC, 0, -1.0, 0.5, 0, 36.0, -1.0},
|
||||
{0x31DC, 1, -1.0, 0.5, 0, 36.0, -1.0},
|
||||
{0x32C8, 0, -1.0, 0.5, 1, 29.0, -1.0},
|
||||
{0x32C8, 1, -1.0, 0.5, 1, 29.0, -1.0},
|
||||
{0x33AC, 0, -1.0, 0.5, 1, 25.0, -1.0},
|
||||
{0x33AC, 1, -1.0, 0.5, 1, 25.0, -1.0},
|
||||
{0x34D4, 0, -1.0, 0.5, 1, 23.0, -1.0},
|
||||
{0x34D4, 1, -1.0, 0.5, 1, 23.0, -1.0},
|
||||
{0x35C8, 0, -1.0, 0.5, 1, 27.0, -1.0},
|
||||
{0x35C8, 1, -1.0, 0.5, 1, 27.0, -1.0},
|
||||
{0x36D8, 0, -1.0, 0.5, 1, 26.0, -1.0},
|
||||
{0x36D8, 1, -1.0, 0.5, 1, 26.0, -1.0},
|
||||
{0x384C, 0, -1.0, 0.5, 0, 97.0, 64.0},
|
||||
{0x384C, 1, -1.0, 0.5, 0, 97.0, 64.0},
|
||||
{0x39C0, 0, -1.0, 0.5, 0, 94.0, 66.0},
|
||||
{0x39C0, 1, -1.0, 0.5, 0, 94.0, 66.0},
|
||||
{0x3AF0, 0, -1.0, 0.5, 0, 31.0, -1.0},
|
||||
{0x3AF0, 1, -1.0, 0.5, 0, 31.0, -1.0},
|
||||
{0x3C10, 0, -1.0, 0.5, 0, 36.0, -1.0},
|
||||
{0x3C10, 1, -1.0, 0.5, 0, 36.0, -1.0},
|
||||
{0x3D04, 0, -1.0, 0.5, 0, 28.0, -1.0},
|
||||
{0x3D04, 1, -1.0, 0.5, 0, 28.0, -1.0},
|
||||
{PTR_ANIM_death_forward_face_down, 0, -1.0, 0.5, 0, 55.0, 39.0},
|
||||
{PTR_ANIM_death_forward_face_down, 1, -1.0, 0.5, 0, 55.0, 39.0},
|
||||
{PTR_ANIM_death_forward_spin_face_up, 0, -1.0, 0.5, 0, 36.0, -1.0},
|
||||
{PTR_ANIM_death_forward_spin_face_up, 1, -1.0, 0.5, 0, 36.0, -1.0},
|
||||
{PTR_ANIM_death_backward_fall_face_up1, 0, -1.0, 0.5, 1, 29.0, -1.0},
|
||||
{PTR_ANIM_death_backward_fall_face_up1, 1, -1.0, 0.5, 1, 29.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_down_right, 0, -1.0, 0.5, 1, 25.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_down_right, 1, -1.0, 0.5, 1, 25.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_up_right, 0, -1.0, 0.5, 1, 23.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_up_right, 1, -1.0, 0.5, 1, 23.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_down_left, 0, -1.0, 0.5, 1, 27.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_down_left, 1, -1.0, 0.5, 1, 27.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_up_left, 0, -1.0, 0.5, 1, 26.0, -1.0},
|
||||
{PTR_ANIM_death_backward_spin_face_up_left, 1, -1.0, 0.5, 1, 26.0, -1.0},
|
||||
{PTR_ANIM_death_forward_face_down_hard, 0, -1.0, 0.5, 0, 97.0, 64.0},
|
||||
{PTR_ANIM_death_forward_face_down_hard, 1, -1.0, 0.5, 0, 97.0, 64.0},
|
||||
{PTR_ANIM_death_forward_face_down_soft, 0, -1.0, 0.5, 0, 94.0, 66.0},
|
||||
{PTR_ANIM_death_forward_face_down_soft, 1, -1.0, 0.5, 0, 94.0, 66.0},
|
||||
{PTR_ANIM_death_fetal_position_right, 0, -1.0, 0.5, 0, 31.0, -1.0},
|
||||
{PTR_ANIM_death_fetal_position_right, 1, -1.0, 0.5, 0, 31.0, -1.0},
|
||||
{PTR_ANIM_death_fetal_position_left, 0, -1.0, 0.5, 0, 36.0, -1.0},
|
||||
{PTR_ANIM_death_fetal_position_left, 1, -1.0, 0.5, 0, 36.0, -1.0},
|
||||
{PTR_ANIM_death_backward_fall_face_up2, 0, -1.0, 0.5, 0, 28.0, -1.0},
|
||||
{PTR_ANIM_death_backward_fall_face_up2, 1, -1.0, 0.5, 0, 28.0, -1.0},
|
||||
{0, 0, -1.0, 0.5, 0, -1.0, -1.0}
|
||||
};
|
||||
|
||||
struct struck_animation_table D_8002DCE0[] = {
|
||||
{0x30B8, 0, -1.0, 0.5, 0, 55.0, 39.0},
|
||||
{0x30B8, 1, -1.0, 0.5, 0, 55.0, 39.0},
|
||||
{0x31DC, 0, -1.0, 0.5, 0, 36.0, -1.0},
|
||||
{0x31DC, 1, -1.0, 0.5, 0, 36.0, -1.0},
|
||||
{0x32C8, 0, -1.0, 0.5, 1, 29.0, -1.0},
|
||||
{0x32C8, 1, -1.0, 0.5, 1, 29.0, -1.0},
|
||||
{0x384C, 0, -1.0, 0.5, 0, 97.0, 64.0},
|
||||
{0x384C, 1, -1.0, 0.5, 0, 97.0, 64.0},
|
||||
{0x39C0, 0, -1.0, 0.5, 0, 94.0, 66.0},
|
||||
{0x39C0, 1, -1.0, 0.5, 0, 94.0, 66.0},
|
||||
{0x3AF0, 0, -1.0, 0.5, 0, 31.0, -1.0},
|
||||
{0x3AF0, 1, -1.0, 0.5, 0, 31.0, -1.0},
|
||||
{0x3C10, 0, -1.0, 0.5, 0, 36.0, -1.0},
|
||||
{0x3C10, 1, -1.0, 0.5, 0, 36.0, -1.0},
|
||||
{0x3D04, 0, -1.0, 0.5, 0, 28.0, -1.0},
|
||||
{0x3D04, 1, -1.0, 0.5, 0, 28.0, -1.0},
|
||||
{PTR_ANIM_death_forward_face_down, 0, -1.0, 0.5, 0, 55.0, 39.0},
|
||||
{PTR_ANIM_death_forward_face_down, 1, -1.0, 0.5, 0, 55.0, 39.0},
|
||||
{PTR_ANIM_death_forward_spin_face_up, 0, -1.0, 0.5, 0, 36.0, -1.0},
|
||||
{PTR_ANIM_death_forward_spin_face_up, 1, -1.0, 0.5, 0, 36.0, -1.0},
|
||||
{PTR_ANIM_death_backward_fall_face_up1, 0, -1.0, 0.5, 1, 29.0, -1.0},
|
||||
{PTR_ANIM_death_backward_fall_face_up1, 1, -1.0, 0.5, 1, 29.0, -1.0},
|
||||
{PTR_ANIM_death_forward_face_down_hard, 0, -1.0, 0.5, 0, 97.0, 64.0},
|
||||
{PTR_ANIM_death_forward_face_down_hard, 1, -1.0, 0.5, 0, 97.0, 64.0},
|
||||
{PTR_ANIM_death_forward_face_down_soft, 0, -1.0, 0.5, 0, 94.0, 66.0},
|
||||
{PTR_ANIM_death_forward_face_down_soft, 1, -1.0, 0.5, 0, 94.0, 66.0},
|
||||
{PTR_ANIM_death_fetal_position_right, 0, -1.0, 0.5, 0, 31.0, -1.0},
|
||||
{PTR_ANIM_death_fetal_position_right, 1, -1.0, 0.5, 0, 31.0, -1.0},
|
||||
{PTR_ANIM_death_fetal_position_left, 0, -1.0, 0.5, 0, 36.0, -1.0},
|
||||
{PTR_ANIM_death_fetal_position_left, 1, -1.0, 0.5, 0, 36.0, -1.0},
|
||||
{PTR_ANIM_death_backward_fall_face_up2, 0, -1.0, 0.5, 0, 28.0, -1.0},
|
||||
{PTR_ANIM_death_backward_fall_face_up2, 1, -1.0, 0.5, 0, 28.0, -1.0},
|
||||
{0, 0, -1.0, 0.5, 0, -1.0, -1.0}
|
||||
};
|
||||
|
||||
struct struck_animation_table D_8002DEBC[] = {
|
||||
{0x2F94, 0, -1.0, 0.5, 0, 67.0, 54.0},
|
||||
{0x2F94, 1, -1.0, 0.5, 0, 67.0, 54.0},
|
||||
{PTR_ANIM_death_stagger_back_to_wall, 0, -1.0, 0.5, 0, 67.0, 54.0},
|
||||
{PTR_ANIM_death_stagger_back_to_wall, 1, -1.0, 0.5, 0, 67.0, 54.0},
|
||||
{0, 0, -1.0, 0.5, 0, -1.0, -1.0}
|
||||
};
|
||||
|
||||
struct struck_animation_table D_8002DF10[] = {
|
||||
{0x1F84, 0, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{0x2134, 1, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_hit_left_leg, 0, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_hit_right_leg, 1, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{0, 0, -1.0, 0.5, 0, -1.0, -1.0}
|
||||
};
|
||||
|
||||
struct struck_animation_table D_8002DF64[] = {
|
||||
{0x1F84, 0, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{0x2134, 1, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_hit_left_leg, 0, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_hit_right_leg, 1, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{0, 0, -1.0, 0.5, 0, -1.0, -1.0}
|
||||
};
|
||||
|
||||
struct struck_animation_table D_8002DFB8[] = {
|
||||
{0x1F84, 0, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{0x2134, 1, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{0x540C, 1, 20.0, 0.40000001, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_hit_left_leg, 0, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_hit_right_leg, 1, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_death_left_leg, 1, 20.0, 0.40000001, 0, -1.0, -1.0},
|
||||
{0, 0, -1.0, 0.5, 0, -1.0, -1.0}
|
||||
};
|
||||
|
||||
struct struck_animation_table D_8002E028[] = {
|
||||
{0x2134, 0, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{0x1F84, 1, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_hit_right_leg, 0, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_hit_left_leg, 1, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{0, 0, -1.0, 0.5, 0, -1.0, -1.0}
|
||||
};
|
||||
|
||||
struct struck_animation_table D_8002E07C[] = {
|
||||
{0x2134, 0, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{0x1F84, 1, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_hit_right_leg, 0, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_hit_left_leg, 1, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{0, 0, -1.0, 0.5, 0, -1.0, -1.0}
|
||||
};
|
||||
|
||||
struct struck_animation_table D_8002E0D0[] = {
|
||||
{0x2134, 0, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{0x1F84, 1, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{0x540C, 0, 20.0, 0.40000001, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_hit_right_leg, 0, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_hit_left_leg, 1, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_death_left_leg, 0, 20.0, 0.40000001, 0, -1.0, -1.0},
|
||||
{0, 0, -1.0, 0.5, 0, -1.0, -1.0}
|
||||
};
|
||||
|
||||
struct struck_animation_table D_8002E140[] = {
|
||||
{0x282C, 0, 20.0, 0.5, 0, -1.0, -1.0},
|
||||
{0x282C, 1, 30.0, 0.5, 0, -1.0, -1.0},
|
||||
{0x39C0, 0, 20.0, 0.5, 0, -1.0, -1.0},
|
||||
{0x39C0, 1, 20.0, 0.5, 0, -1.0, -1.0},
|
||||
{0x30B8, 0, 15.0, 0.5, 0, -1.0, -1.0},
|
||||
{0x30B8, 1, 15.0, 0.5, 0, -1.0, -1.0},
|
||||
{0x3AF0, 0, 10.0, 0.25, 0, -1.0, -1.0},
|
||||
{0x3AF0, 1, 10.0, 0.25, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_death_genitalia, 0, 20.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_death_genitalia, 1, 30.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_death_forward_face_down_soft, 0, 20.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_death_forward_face_down_soft, 1, 20.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_death_forward_face_down, 0, 15.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_death_forward_face_down, 1, 15.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_death_fetal_position_right, 0, 10.0, 0.25, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_death_fetal_position_right, 1, 10.0, 0.25, 0, -1.0, -1.0},
|
||||
{0, 0, -1.0, 0.5, 0, -1.0, -1.0}
|
||||
};
|
||||
|
||||
struct struck_animation_table D_8002E23C[] = {
|
||||
{0x2E64, 0, 15.0, 0.5, 0, 87.0, 203.0},
|
||||
{0x2E64, 1, 15.0, 0.5, 0, 87.0, 203.0},
|
||||
{0x39C0, 0, 20.0, 0.5, 0, -1.0, -1.0},
|
||||
{0x39C0, 1, 20.0, 0.5, 0, -1.0, -1.0},
|
||||
{0x30B8, 0, 15.0, 0.5, 0, -1.0, -1.0},
|
||||
{0x30B8, 1, 15.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_death_neck, 0, 15.0, 0.5, 0, 87.0, 203.0},
|
||||
{PTR_ANIM_death_neck, 1, 15.0, 0.5, 0, 87.0, 203.0},
|
||||
{PTR_ANIM_death_forward_face_down_soft, 0, 20.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_death_forward_face_down_soft, 1, 20.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_death_forward_face_down, 0, 15.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_death_forward_face_down, 1, 15.0, 0.5, 0, -1.0, -1.0},
|
||||
{0, 0, -1.0, 0.5, 0, -1.0, -1.0}
|
||||
};
|
||||
|
||||
struct struck_animation_table D_8002E300[] = {
|
||||
{0x1C9C, 0, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{0x1E40, 1, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_hit_left_hand, 0, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_hit_right_hand, 1, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{0, 0, -1.0, 0.5, 0, -1.0, -1.0}
|
||||
};
|
||||
|
||||
struct struck_animation_table D_8002E354[] = {
|
||||
{0x1A6C, 0, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{0x1B54, 1, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_hit_left_arm, 0, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_hit_right_arm, 1, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{0, 0, -1.0, 0.5, 0, -1.0, -1.0}
|
||||
};
|
||||
|
||||
struct struck_animation_table D_8002E3A8[] = {
|
||||
{0x186C, 0, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{0x1984, 1, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{0x39C0, 0, 20.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_hit_left_shoulder, 0, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_hit_right_shoulder, 1, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_death_forward_face_down_soft, 0, 20.0, 0.5, 0, -1.0, -1.0},
|
||||
{0, 0, -1.0, 0.5, 0, -1.0, -1.0}
|
||||
};
|
||||
|
||||
struct struck_animation_table D_8002E418[] = {
|
||||
{0x1E40, 0, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{0x1C9C, 1, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_hit_right_hand, 0, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_hit_left_hand, 1, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{0, 0, -1.0, 0.5, 0, -1.0, -1.0}
|
||||
};
|
||||
|
||||
struct struck_animation_table D_8002E46C[] = {
|
||||
{0x1B54, 0, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{0x1A6C, 1, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_hit_right_arm, 0, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_hit_left_arm, 1, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{0, 0, -1.0, 0.5, 0, -1.0, -1.0}
|
||||
};
|
||||
|
||||
struct struck_animation_table D_8002E4C0[] = {
|
||||
{0x1984, 0, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{0x186C, 1, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{0x39C0, 1, 20.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_hit_right_shoulder, 0, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_hit_left_shoulder, 1, -1.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_death_forward_face_down_soft, 1, 20.0, 0.5, 0, -1.0, -1.0},
|
||||
{0, 0, -1.0, 0.5, 0, -1.0, -1.0}
|
||||
};
|
||||
|
||||
struct struck_animation_table D_8002E530[] = {
|
||||
{0x39C0, 0, 20.0, 0.5, 0, -1.0, -1.0},
|
||||
{0x39C0, 1, 20.0, 0.5, 0, -1.0, -1.0},
|
||||
{0x30B8, 0, 15.0, 0.5, 0, -1.0, -1.0},
|
||||
{0x30B8, 1, 15.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_death_forward_face_down_soft, 0, 20.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_death_forward_face_down_soft, 1, 20.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_death_forward_face_down, 0, 15.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_death_forward_face_down, 1, 15.0, 0.5, 0, -1.0, -1.0},
|
||||
{0, 0, -1.0, 0.5, 0, -1.0, -1.0}
|
||||
};
|
||||
|
||||
struct struck_animation_table D_8002E5BC[] = {
|
||||
{0x39C0, 0, 20.0, 0.5, 0, -1.0, -1.0},
|
||||
{0x39C0, 1, 20.0, 0.5, 0, -1.0, -1.0},
|
||||
{0x30B8, 0, 15.0, 0.5, 0, -1.0, -1.0},
|
||||
{0x30B8, 1, 15.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_death_forward_face_down_soft, 0, 20.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_death_forward_face_down_soft, 1, 20.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_death_forward_face_down, 0, 15.0, 0.5, 0, -1.0, -1.0},
|
||||
{PTR_ANIM_death_forward_face_down, 1, 15.0, 0.5, 0, -1.0, -1.0},
|
||||
{0, 0, -1.0, 0.5, 0, -1.0, -1.0}
|
||||
};
|
||||
|
||||
|
||||
|
||||
struct explosion_death_animation D_8002E648[] = {
|
||||
{0x98C8, 0, 0.5, 9.0, 18.0, 29.0, -1.0},
|
||||
{0x98C8, 1, 0.5, 9.0, 18.0, 29.0, -1.0},
|
||||
{0xA1B8, 0, 0.5, 11.0, 19.0, 31.0, -1.0},
|
||||
{0xA1B8, 1, 0.5, 11.0, 19.0, 31.0, -1.0},
|
||||
{0xA094, 0, 0.5, 6.0, 20.0, 27.0, -1.0},
|
||||
{0xA094, 1, 0.5, 6.0, 20.0, 27.0, -1.0},
|
||||
{0xA424, 0, 0.5, 29.0, 36.0, 48.0, -1.0},
|
||||
{0xA424, 1, 0.5, 29.0, 36.0, 48.0, -1.0},
|
||||
{0xA538, 0, 0.5, 29.0, 38.0, 49.0, -1.0},
|
||||
{0xA538, 1, 0.5, 29.0, 38.0, 49.0, -1.0},
|
||||
{0xA650, 0, 0.5, 19.0, 30.0, 42.0, -1.0},
|
||||
{0xA650, 1, 0.5, 19.0, 30.0, 42.0, -1.0},
|
||||
{0x9A2C, 0, 0.5, 9.0, 21.0, 29.0, 55.0},
|
||||
{0x9A2C, 1, 0.5, 9.0, 21.0, 29.0, 55.0},
|
||||
{0x9D5C, 0, 0.5, 6.0, 18.0, 27.0, -1.0},
|
||||
{0x9D5C, 1, 0.5, 6.0, 18.0, 27.0, -1.0},
|
||||
{0x9E44, 0, 0.5, 6.0, 19.0, 29.0, -1.0},
|
||||
{0x9E44, 1, 0.5, 6.0, 19.0, 29.0, -1.0},
|
||||
{0x9B48, 0, 0.5, 8.0, 14.0, 25.0, -1.0},
|
||||
{0x9B48, 1, 0.5, 8.0, 14.0, 25.0, -1.0},
|
||||
{0x9C4C, 0, 0.5, 8.0, 19.0, 25.0, -1.0},
|
||||
{0x9C4C, 1, 0.5, 8.0, 19.0, 25.0, -1.0},
|
||||
{0x9F48, 0, 0.5, 12.0, 21.0, 29.0, -1.0},
|
||||
{0x9F48, 1, 0.5, 12.0, 21.0, 29.0, -1.0},
|
||||
{0xA2F8, 0, 0.5, 22.0, 30.0, 41.0, -1.0},
|
||||
{0xA2F8, 1, 0.5, 22.0, 30.0, 41.0, -1.0},
|
||||
{PTR_ANIM_death_explosion_forward, 0, 0.5, 9.0, 18.0, 29.0, -1.0},
|
||||
{PTR_ANIM_death_explosion_forward, 1, 0.5, 9.0, 18.0, 29.0, -1.0},
|
||||
{PTR_ANIM_death_explosion_forward_face_down, 0, 0.5, 11.0, 19.0, 31.0, -1.0},
|
||||
{PTR_ANIM_death_explosion_forward_face_down, 1, 0.5, 11.0, 19.0, 31.0, -1.0},
|
||||
{PTR_ANIM_death_explosion_forward_roll, 0, 0.5, 6.0, 20.0, 27.0, -1.0},
|
||||
{PTR_ANIM_death_explosion_forward_roll, 1, 0.5, 6.0, 20.0, 27.0, -1.0},
|
||||
{PTR_ANIM_death_explosion_forward_right2, 0, 0.5, 29.0, 36.0, 48.0, -1.0},
|
||||
{PTR_ANIM_death_explosion_forward_right2, 1, 0.5, 29.0, 36.0, 48.0, -1.0},
|
||||
{PTR_ANIM_death_explosion_forward_right2_alt, 0, 0.5, 29.0, 38.0, 49.0, -1.0},
|
||||
{PTR_ANIM_death_explosion_forward_right2_alt, 1, 0.5, 29.0, 38.0, 49.0, -1.0},
|
||||
{PTR_ANIM_death_explosion_forward_right3, 0, 0.5, 19.0, 30.0, 42.0, -1.0},
|
||||
{PTR_ANIM_death_explosion_forward_right3, 1, 0.5, 19.0, 30.0, 42.0, -1.0},
|
||||
{PTR_ANIM_death_explosion_left1, 0, 0.5, 9.0, 21.0, 29.0, 55.0},
|
||||
{PTR_ANIM_death_explosion_left1, 1, 0.5, 9.0, 21.0, 29.0, 55.0},
|
||||
{PTR_ANIM_death_explosion_right, 0, 0.5, 6.0, 18.0, 27.0, -1.0},
|
||||
{PTR_ANIM_death_explosion_right, 1, 0.5, 6.0, 18.0, 27.0, -1.0},
|
||||
{PTR_ANIM_death_explosion_forward_right1, 0, 0.5, 6.0, 19.0, 29.0, -1.0},
|
||||
{PTR_ANIM_death_explosion_forward_right1, 1, 0.5, 6.0, 19.0, 29.0, -1.0},
|
||||
{PTR_ANIM_death_explosion_back_left, 0, 0.5, 8.0, 14.0, 25.0, -1.0},
|
||||
{PTR_ANIM_death_explosion_back_left, 1, 0.5, 8.0, 14.0, 25.0, -1.0},
|
||||
{PTR_ANIM_death_explosion_back1, 0, 0.5, 8.0, 19.0, 25.0, -1.0},
|
||||
{PTR_ANIM_death_explosion_back1, 1, 0.5, 8.0, 19.0, 25.0, -1.0},
|
||||
{PTR_ANIM_death_explosion_back2, 0, 0.5, 12.0, 21.0, 29.0, -1.0},
|
||||
{PTR_ANIM_death_explosion_back2, 1, 0.5, 12.0, 21.0, 29.0, -1.0},
|
||||
{PTR_ANIM_death_explosion_left2, 0, 0.5, 22.0, 30.0, 41.0, -1.0},
|
||||
{PTR_ANIM_death_explosion_left2, 1, 0.5, 22.0, 30.0, 41.0, -1.0},
|
||||
{0, 0, 0.5, 0.0, 0.0, 0.0, -1.0},
|
||||
};
|
||||
|
||||
@@ -1791,7 +1791,7 @@ glabel sub_GAME_7F01FC10
|
||||
/* 0548F4 7F01FDC4 8FA40038 */ lw $a0, 0x38($sp)
|
||||
/* 0548F8 7F01FDC8 8C880008 */ lw $t0, 8($a0)
|
||||
/* 0548FC 7F01FDCC 8D050000 */ lw $a1, ($t0)
|
||||
/* 054900 7F01FDD0 0FC1B1E7 */ jal extract_id_from_object_structure_microcode
|
||||
/* 054900 7F01FDD0 0FC1B1E7 */ jal modelGetNodeRwData
|
||||
/* 054904 7F01FDD4 E7AE002C */ swc1 $f14, 0x2c($sp)
|
||||
/* 054908 7F01FDD8 8E090014 */ lw $t1, 0x14($s0)
|
||||
/* 05490C 7F01FDDC C60200AC */ lwc1 $f2, 0xac($s0)
|
||||
@@ -2114,7 +2114,7 @@ glabel sub_GAME_7F01FC10
|
||||
/* 0548F4 7F01FDC4 8FA40038 */ lw $a0, 0x38($sp)
|
||||
/* 0548F8 7F01FDC8 8C880008 */ lw $t0, 8($a0)
|
||||
/* 0548FC 7F01FDCC 8D050000 */ lw $a1, ($t0)
|
||||
/* 054900 7F01FDD0 0FC1B1E7 */ jal extract_id_from_object_structure_microcode
|
||||
/* 054900 7F01FDD0 0FC1B1E7 */ jal modelGetNodeRwData
|
||||
/* 054904 7F01FDD4 E7AE002C */ swc1 $f14, 0x2c($sp)
|
||||
/* 054908 7F01FDD8 8E090014 */ lw $t1, 0x14($s0)
|
||||
/* 05490C 7F01FDDC C60200AC */ lwc1 $f2, 0xac($s0)
|
||||
@@ -2382,7 +2382,7 @@ glabel sub_GAME_7F01FC10
|
||||
/* 0548F4 7F01FDC4 8FA40038 */ lw $a0, 0x38($sp)
|
||||
/* 0548F8 7F01FDC8 8C880008 */ lw $t0, 8($a0)
|
||||
/* 0548FC 7F01FDCC 8D050000 */ lw $a1, ($t0)
|
||||
/* 054900 7F01FDD0 0FC1B1E7 */ jal extract_id_from_object_structure_microcode
|
||||
/* 054900 7F01FDD0 0FC1B1E7 */ jal modelGetNodeRwData
|
||||
/* 054904 7F01FDD4 E7AE002C */ swc1 $f14, 0x2c($sp)
|
||||
/* 054908 7F01FDD8 8E090014 */ lw $t1, 0x14($s0)
|
||||
/* 05490C 7F01FDDC C60200AC */ lwc1 $f2, 0xac($s0)
|
||||
@@ -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 sub_GAME_7F06FF18
|
||||
/* 054CD0 7F0201A0 0FC1BFC6 */ jal modelSetAnimRateForDuration
|
||||
/* 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
|
||||
@@ -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 sub_GAME_7F06FF18
|
||||
/* 052A04 7F020014 0FC1C02E */ jal modelSetAnimRateForDuration
|
||||
/* 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
|
||||
@@ -3160,7 +3160,7 @@ glabel disable_sounds_attached_to_player_then_something
|
||||
* Address 0x7F020540 (VERSION_US, VERSION_JP).
|
||||
* Address 0x7F0203B4 (VERSION_EU).
|
||||
*/
|
||||
void animation_speed_related(f32 arg0)
|
||||
void setAnimationRate(f32 arg0)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
@@ -3172,9 +3172,9 @@ void animation_speed_related(f32 arg0)
|
||||
{
|
||||
#if defined(REFRESH_PAL)
|
||||
/* should reference D_80047E4C (1.2f) */
|
||||
sub_GAME_7F06FF18(ptr_guard_data[i].model, animation_rate * 1.2f, 600.0f);
|
||||
modelSetAnimRateForDuration(ptr_guard_data[i].model, animation_rate * 1.2f, 600.0f);
|
||||
#else
|
||||
sub_GAME_7F06FF18(ptr_guard_data[i].model, animation_rate, 600.0f);
|
||||
modelSetAnimRateForDuration(ptr_guard_data[i].model, animation_rate, 600.0f);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
@@ -3183,7 +3183,7 @@ void animation_speed_related(f32 arg0)
|
||||
|
||||
|
||||
|
||||
f32 get_animation_rate(void)
|
||||
f32 getAnimationRate(void)
|
||||
{
|
||||
return animation_rate;
|
||||
}
|
||||
@@ -5040,7 +5040,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 056508 7F0219D8 8D050010 */ lw $a1, 0x10($t0)
|
||||
/* 05650C 7F0219DC 10A0000E */ beqz $a1, .L7F021A18
|
||||
/* 056510 7F0219E0 00000000 */ nop
|
||||
/* 056514 7F0219E4 0FC1B1E7 */ jal extract_id_from_object_structure_microcode
|
||||
/* 056514 7F0219E4 0FC1B1E7 */ jal modelGetNodeRwData
|
||||
/* 056518 7F0219E8 01A02025 */ move $a0, $t5
|
||||
/* 05651C 7F0219EC 8C430000 */ lw $v1, ($v0)
|
||||
/* 056520 7F0219F0 10600009 */ beqz $v1, .L7F021A18
|
||||
@@ -5049,7 +5049,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 05652C 7F0219FC 8F050004 */ lw $a1, 4($t8)
|
||||
/* 056530 7F021A00 10A00005 */ beqz $a1, .L7F021A18
|
||||
/* 056534 7F021A04 00000000 */ nop
|
||||
/* 056538 7F021A08 0FC1B1E7 */ jal extract_id_from_object_structure_microcode
|
||||
/* 056538 7F021A08 0FC1B1E7 */ jal modelGetNodeRwData
|
||||
/* 05653C 7F021A0C 8FA40110 */ lw $a0, 0x110($sp)
|
||||
/* 056540 7F021A10 8FB90108 */ lw $t9, 0x108($sp)
|
||||
/* 056544 7F021A14 AC590000 */ sw $t9, ($v0)
|
||||
@@ -5912,7 +5912,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 056830 7F021CC0 8DC50010 */ lw $a1, 0x10($t6)
|
||||
/* 056834 7F021CC4 10A0000E */ beqz $a1, .Ljp7F021D00
|
||||
/* 056838 7F021CC8 00000000 */ nop
|
||||
/* 05683C 7F021CCC 0FC1B363 */ jal extract_id_from_object_structure_microcode
|
||||
/* 05683C 7F021CCC 0FC1B363 */ jal modelGetNodeRwData
|
||||
/* 056840 7F021CD0 03002025 */ move $a0, $t8
|
||||
/* 056844 7F021CD4 8C430000 */ lw $v1, ($v0)
|
||||
/* 056848 7F021CD8 10600009 */ beqz $v1, .Ljp7F021D00
|
||||
@@ -5921,7 +5921,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 056854 7F021CE4 8D050004 */ lw $a1, 4($t0)
|
||||
/* 056858 7F021CE8 10A00005 */ beqz $a1, .Ljp7F021D00
|
||||
/* 05685C 7F021CEC 00000000 */ nop
|
||||
/* 056860 7F021CF0 0FC1B363 */ jal extract_id_from_object_structure_microcode
|
||||
/* 056860 7F021CF0 0FC1B363 */ jal modelGetNodeRwData
|
||||
/* 056864 7F021CF4 8FA40110 */ lw $a0, 0x110($sp)
|
||||
/* 056868 7F021CF8 8FAF0108 */ lw $t7, 0x108($sp)
|
||||
/* 05686C 7F021CFC AC4F0000 */ sw $t7, ($v0)
|
||||
@@ -6838,7 +6838,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 054390 7F0219A0 8DC50010 */ lw $a1, 0x10($t6)
|
||||
/* 054394 7F0219A4 10A0000E */ beqz $a1, .L7F0219E0
|
||||
/* 054398 7F0219A8 00000000 */ nop
|
||||
/* 05439C 7F0219AC 0FC1B3A3 */ jal extract_id_from_object_structure_microcode
|
||||
/* 05439C 7F0219AC 0FC1B3A3 */ jal modelGetNodeRwData
|
||||
/* 0543A0 7F0219B0 03002025 */ move $a0, $t8
|
||||
/* 0543A4 7F0219B4 8C430000 */ lw $v1, ($v0)
|
||||
/* 0543A8 7F0219B8 10600009 */ beqz $v1, .L7F0219E0
|
||||
@@ -6847,7 +6847,7 @@ glabel sub_GAME_7F020EF0
|
||||
/* 0543B4 7F0219C4 8D050004 */ lw $a1, 4($t0)
|
||||
/* 0543B8 7F0219C8 10A00005 */ beqz $a1, .L7F0219E0
|
||||
/* 0543BC 7F0219CC 00000000 */ nop
|
||||
/* 0543C0 7F0219D0 0FC1B3A3 */ jal extract_id_from_object_structure_microcode
|
||||
/* 0543C0 7F0219D0 0FC1B3A3 */ jal modelGetNodeRwData
|
||||
/* 0543C4 7F0219D4 8FA40110 */ lw $a0, 0x110($sp)
|
||||
/* 0543C8 7F0219D8 8FAF0108 */ lw $t7, 0x108($sp)
|
||||
/* 0543CC 7F0219DC AC4F0000 */ sw $t7, ($v0)
|
||||
@@ -7435,7 +7435,7 @@ glabel sub_GAME_7F0221DC
|
||||
/* 056EF0 7F0223C0 12800097 */ beqz $s4, .L7F022620
|
||||
/* 056EF4 7F0223C4 02C02025 */ move $a0, $s6
|
||||
/* 056EF8 7F0223C8 8E900004 */ lw $s0, 4($s4)
|
||||
/* 056EFC 7F0223CC 0FC1B1E7 */ jal extract_id_from_object_structure_microcode
|
||||
/* 056EFC 7F0223CC 0FC1B1E7 */ jal modelGetNodeRwData
|
||||
/* 056F00 7F0223D0 02802825 */ move $a1, $s4
|
||||
/* 056F04 7F0223D4 0040A025 */ move $s4, $v0
|
||||
/* 056F08 7F0223D8 00008825 */ move $s1, $zero
|
||||
@@ -7466,7 +7466,7 @@ glabel sub_GAME_7F0221DC
|
||||
/* 056F64 7F022434 1040000A */ beqz $v0, .L7F022460
|
||||
/* 056F68 7F022438 00402825 */ move $a1, $v0
|
||||
/* 056F6C 7F02243C 8C510004 */ lw $s1, 4($v0)
|
||||
/* 056F70 7F022440 0FC1B1E7 */ jal extract_id_from_object_structure_microcode
|
||||
/* 056F70 7F022440 0FC1B1E7 */ jal modelGetNodeRwData
|
||||
/* 056F74 7F022444 AFA8003C */ sw $t0, 0x3c($sp)
|
||||
/* 056F78 7F022448 8FA8003C */ lw $t0, 0x3c($sp)
|
||||
/* 056F7C 7F02244C 8E0B0010 */ lw $t3, 0x10($s0)
|
||||
@@ -7992,9 +7992,9 @@ glabel sub_GAME_7F022980
|
||||
/* 0576DC 7F022BAC 10000008 */ b .L7F022BD0
|
||||
/* 0576E0 7F022BB0 8EA30000 */ lw $v1, ($s5)
|
||||
.L7F022BB4:
|
||||
/* 0576E4 7F022BB4 3C0C8005 */ lui $t4, %hi(image_entries)
|
||||
/* 0576E4 7F022BB4 3C0C8005 */ lui $t4, %hi(g_Textures)
|
||||
/* 0576E8 7F022BB8 018B6021 */ addu $t4, $t4, $t3
|
||||
/* 0576EC 7F022BBC 918C9300 */ lbu $t4, %lo(image_entries)($t4)
|
||||
/* 0576EC 7F022BBC 918C9300 */ lbu $t4, %lo(g_Textures)($t4)
|
||||
/* 0576F0 7F022BC0 318D000F */ andi $t5, $t4, 0xf
|
||||
/* 0576F4 7F022BC4 000D7080 */ sll $t6, $t5, 2
|
||||
/* 0576F8 7F022BC8 02AE7821 */ addu $t7, $s5, $t6
|
||||
@@ -8036,7 +8036,7 @@ glabel sub_GAME_7F022980
|
||||
/* 057778 7F022C48 00003025 */ move $a2, $zero
|
||||
/* 05777C 7F022C4C 8622003A */ lh $v0, 0x3a($s1)
|
||||
/* 057780 7F022C50 3C158005 */ lui $s5, %hi(D_8004E86C)
|
||||
/* 057784 7F022C54 3C0C8005 */ lui $t4, %hi(image_entries)
|
||||
/* 057784 7F022C54 3C0C8005 */ lui $t4, %hi(g_Textures)
|
||||
/* 057788 7F022C58 04410004 */ bgez $v0, .L7F022C6C
|
||||
/* 05778C 7F022C5C 000258C0 */ sll $t3, $v0, 3
|
||||
/* 057790 7F022C60 26B5E86C */ addiu $s5, %lo(D_8004E86C) # addiu $s5, $s5, -0x1794
|
||||
@@ -8044,7 +8044,7 @@ glabel sub_GAME_7F022980
|
||||
/* 057798 7F022C68 8EB00000 */ lw $s0, ($s5)
|
||||
.L7F022C6C:
|
||||
/* 05779C 7F022C6C 018B6021 */ addu $t4, $t4, $t3
|
||||
/* 0577A0 7F022C70 918C9300 */ lbu $t4, %lo(image_entries)($t4)
|
||||
/* 0577A0 7F022C70 918C9300 */ lbu $t4, %lo(g_Textures)($t4)
|
||||
/* 0577A4 7F022C74 3C158005 */ lui $s5, %hi(D_8004E86C)
|
||||
/* 0577A8 7F022C78 26B5E86C */ addiu $s5, %lo(D_8004E86C) # addiu $s5, $s5, -0x1794
|
||||
/* 0577AC 7F022C7C 318D000F */ andi $t5, $t4, 0xf
|
||||
|
||||
+3
-4
@@ -118,8 +118,7 @@ struct unk_joint_list {
|
||||
s32 unk08;
|
||||
Gfx *gdl;
|
||||
|
||||
// unknown type
|
||||
void *mtxlist;
|
||||
Mtxf * mtxlist;
|
||||
u32 unk14;
|
||||
u32 unk18;
|
||||
u32 unk1C;
|
||||
@@ -287,8 +286,8 @@ 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);
|
||||
f32 get_animation_rate(void);
|
||||
void animation_speed_related(f32);
|
||||
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);
|
||||
void chrSetHiddenToRandom(ChrRecord *arg0);
|
||||
|
||||
+2
-2
@@ -26,7 +26,7 @@ struct Model *makeonebody(s32 body, s32 head, struct ModelFileHeader *bodyHeader
|
||||
f32 scale;
|
||||
f32 pov;
|
||||
s32 opcode;
|
||||
struct ModelNode_HeaderRecord *node;
|
||||
struct ModelRoData_HeaderRecord *node;
|
||||
|
||||
scale = c_item_entries[body].scale * 0.10000001f;
|
||||
opcode = 0;
|
||||
@@ -101,7 +101,7 @@ struct Model *makeonebody(s32 body, s32 head, struct ModelFileHeader *bodyHeader
|
||||
{
|
||||
if (headHeader->Switches[0] != 0)
|
||||
{
|
||||
node = extract_id_from_object_structure_microcode(model, headHeader->Switches[0]);
|
||||
node = modelGetNodeRwData(model, headHeader->Switches[0]);
|
||||
node->ModelType = 0;
|
||||
}
|
||||
}
|
||||
|
||||
+65
-66
@@ -166,10 +166,10 @@ void sub_GAME_7F0349BC(s32 slot)
|
||||
*/
|
||||
s32 chraiitemsize(u8 *AIList, s32 offset)
|
||||
{
|
||||
//matches only as u8* despite text evidence of ai->val structs
|
||||
//matches only as u8* despite text evidence of ai->val structs
|
||||
switch (AIList[offset])
|
||||
{
|
||||
//Cant Use CMD Builder due to different order...
|
||||
//Cant Use CMD Builder due to different order...
|
||||
#if defined(USECMDBUILDER)
|
||||
# ifndef _SYNHILITE
|
||||
# define _AI_CMD(CMD) /* \
|
||||
@@ -688,16 +688,16 @@ s32 chraiitemsize(u8 *AIList, s32 offset)
|
||||
case AI_ObjectRocketLaunch:
|
||||
return AI_ObjectRocketLaunch_LENGTH;
|
||||
case AI_PRINT:
|
||||
{
|
||||
{
|
||||
s32 pos = offset + 1;
|
||||
while (AIList[pos] != 0)
|
||||
{
|
||||
++pos;
|
||||
}
|
||||
return (pos - offset) + 1;
|
||||
}
|
||||
}
|
||||
default:
|
||||
# if defined(DEBUG)
|
||||
# if defined(ENABLE_LOG)
|
||||
osSyncPrintf("chraiitemsize: unknown type %d!\n", *AIList);
|
||||
# endif
|
||||
return 1;
|
||||
@@ -714,14 +714,14 @@ s32 chraiGetAIListID(AIRecord *AIList, bool *isGlobalAIList)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
if (g_chraiCurrentSetup.ailists)
|
||||
if (g_CurrentSetup.ailists)
|
||||
{
|
||||
for (i = 0; g_chraiCurrentSetup.ailists[i].ailist; i++)
|
||||
for (i = 0; g_CurrentSetup.ailists[i].ailist; i++)
|
||||
{
|
||||
if (g_chraiCurrentSetup.ailists[i].ailist == AIList)
|
||||
if (g_CurrentSetup.ailists[i].ailist == AIList)
|
||||
{
|
||||
*isGlobalAIList = FALSE;
|
||||
return g_chraiCurrentSetup.ailists[i].ID;
|
||||
return g_CurrentSetup.ailists[i].ID;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -795,13 +795,13 @@ AIRecord *ailistFindById(s32 ID)
|
||||
|
||||
if (!isGlobalAIListID(ID))
|
||||
{
|
||||
if (g_chraiCurrentSetup.ailists)
|
||||
if (g_CurrentSetup.ailists)
|
||||
{
|
||||
for (i = 0; g_chraiCurrentSetup.ailists[i].ailist; i++)
|
||||
for (i = 0; g_CurrentSetup.ailists[i].ailist; i++)
|
||||
{
|
||||
if (g_chraiCurrentSetup.ailists[i].ID == ID)
|
||||
if (g_CurrentSetup.ailists[i].ID == ID)
|
||||
{
|
||||
return g_chraiCurrentSetup.ailists[i].ailist;
|
||||
return g_CurrentSetup.ailists[i].ailist;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -827,11 +827,11 @@ PathRecord *pathFindById(s32 ID)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i=0;g_chraiCurrentSetup.patrolpaths[i].waypoints;i++)
|
||||
for (i=0;g_CurrentSetup.patrolpaths[i].waypoints;i++)
|
||||
{
|
||||
if ( ID == g_chraiCurrentSetup.patrolpaths[i].ID )
|
||||
if ( ID == g_CurrentSetup.patrolpaths[i].ID )
|
||||
{
|
||||
return &g_chraiCurrentSetup.patrolpaths[i];
|
||||
return &g_CurrentSetup.patrolpaths[i];
|
||||
}
|
||||
|
||||
}
|
||||
@@ -955,8 +955,8 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
{
|
||||
AIRecord1 *ai = AiListp + Offset;
|
||||
Offset = chraiGoToLabel(AiListp, Offset, ai->val);
|
||||
#ifdef DEBUG
|
||||
osSyncPrintf(" (%d)\n", ai->val);
|
||||
#ifdef ENABLE_LOG
|
||||
osSyncPrintf("GOTO Next (%d)\n", ai->val);
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
@@ -964,8 +964,8 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
{
|
||||
AIRecord1 *ai = AiListp + Offset;
|
||||
Offset = chraiGoToLabel(AiListp, 0, ai->val);
|
||||
#ifdef DEBUG
|
||||
osSyncPrintf(" (%d)\n", ai->val);
|
||||
#ifdef ENABLE_LOG
|
||||
osSyncPrintf("GOTO First (%d)\n", ai->val);
|
||||
#endif
|
||||
break;
|
||||
}
|
||||
@@ -2113,7 +2113,7 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
u16 pad_id = CharArrayTo16(ai->val,0);
|
||||
if (check_if_actor_is_at_preset(ChrEntityp, pad_id))
|
||||
{
|
||||
#ifdef DEBUG
|
||||
#ifdef ENABLE_LOG
|
||||
osSyncPrintf("BOND IN ROOM\n");
|
||||
#endif
|
||||
Offset = chraiGoToLabel(AiListp, Offset, ai->val[2]);
|
||||
@@ -2285,17 +2285,18 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
{
|
||||
AIRecord *ai = AiListp + Offset;
|
||||
ObjectRecord *obj = objFindByTagId(ai->val[0]);
|
||||
#ifdef DEBUG
|
||||
#ifdef ENABLE_LOG
|
||||
osSyncPrintf("ai_destroyobj 1 : \n");
|
||||
#endif
|
||||
if (obj && obj->prop)
|
||||
{
|
||||
if (!do_something_if_object_destroyed(obj))
|
||||
{
|
||||
#ifdef DEBUG
|
||||
f32 damage = ((obj->damage - obj->maxdamage) + 1) / 250.0f;
|
||||
#ifdef ENABLE_LOG
|
||||
osSyncPrintf("ai_destroyobj 3 : adddamageobj\n");
|
||||
#endif
|
||||
f32 damage = ((obj->damage - obj->maxdamage) + 1) / 250.0f;
|
||||
|
||||
maybe_detonate_object(obj, damage, &obj->runtime_pos, 29, -1);
|
||||
}
|
||||
}
|
||||
@@ -2395,14 +2396,14 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
{
|
||||
if (isNotBoundPad(padnum))
|
||||
{
|
||||
pad = &g_chraiCurrentSetup.pads[padnum];
|
||||
pad = &g_CurrentSetup.pads[padnum];
|
||||
}
|
||||
else
|
||||
{
|
||||
pad = (PadRecord *)&g_chraiCurrentSetup.boundpads[getBoundPadNum(padnum)];
|
||||
pad = (PadRecord *)&g_CurrentSetup.boundpads[getBoundPadNum(padnum)];
|
||||
}
|
||||
#ifdef DEBUG
|
||||
osSyncPrintf("aiMoveObj: moving object to pad %d\n");
|
||||
#ifdef ENABLE_LOG
|
||||
osSyncPrintf("aiMoveObj: moving object to pad %d\n", pad);
|
||||
#endif
|
||||
matrix_4x4_7F059908(&matrix, 0, 0, 0, -pad->look.x, -pad->look.y, -pad->look.z, pad->up.x, pad->up.y, pad->up.z);
|
||||
if (obj->model)
|
||||
@@ -2773,7 +2774,7 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
case AI_IFSystemPowerTimeLessThan:
|
||||
{
|
||||
AIRecord *ai = AiListp + Offset;
|
||||
f32 target = CharArrayTo16(ai->val,0) * CHRLV_FRAMERATE_F;
|
||||
f32 target = CharArrayTo16(ai->val,0) * CHRAI_TICKRATE_F;
|
||||
if (target > lvlGetCurrentMultiPlayerMin())
|
||||
{
|
||||
Offset = chraiGoToLabel(AiListp, Offset, ai->val[2]);
|
||||
@@ -2787,7 +2788,7 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
case AI_IFSystemPowerTimeGreaterThan:
|
||||
{
|
||||
AIRecord *ai = AiListp + Offset;
|
||||
f32 target = CharArrayTo16(ai->val,0) * CHRLV_FRAMERATE_F;
|
||||
f32 target = CharArrayTo16(ai->val,0) * CHRAI_TICKRATE_F;
|
||||
if (target < lvlGetCurrentMultiPlayerMin())
|
||||
{
|
||||
Offset = chraiGoToLabel(AiListp, Offset, ai->val[2]);
|
||||
@@ -2828,7 +2829,7 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
{
|
||||
AIRecord1 *ai = AiListp + Offset;
|
||||
ChrEntityp->morale = ai->val;
|
||||
#ifdef DEBUG
|
||||
#ifdef ENABLE_LOG
|
||||
osSyncPrintf("MORALE IS NOW %d \n",ChrEntityp->morale);
|
||||
#endif
|
||||
Offset += AI_SetMyMorale_LENGTH;
|
||||
@@ -2845,7 +2846,7 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
{
|
||||
ChrEntityp->morale += ai->val;
|
||||
}
|
||||
#ifdef DEBUG
|
||||
#ifdef ENABLE_LOG
|
||||
osSyncPrintf("MORALE IS NOW %d \n",ChrEntityp->morale);
|
||||
#endif
|
||||
|
||||
@@ -2863,7 +2864,7 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
{
|
||||
ChrEntityp->morale -= ai->val;
|
||||
}
|
||||
#ifdef DEBUG
|
||||
#ifdef ENABLE_LOG
|
||||
osSyncPrintf("MORALE IS NOW %d \n", ChrEntityp->morale);
|
||||
#endif
|
||||
Offset += AI_SubtractFromMyMorale_LENGTH;
|
||||
@@ -2899,7 +2900,7 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
{
|
||||
AIRecord1 *ai = AiListp + Offset;
|
||||
ChrEntityp->alertness = ai->val;
|
||||
#ifdef DEBUG
|
||||
#ifdef ENABLE_LOG
|
||||
osSyncPrintf("AI_PRINT(void) Alertness = %d!\n", ChrEntityp->alertness);
|
||||
#endif
|
||||
Offset += AI_SetMyAlertness_LENGTH;
|
||||
@@ -3294,7 +3295,7 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
u16 pad_id = CharArrayTo16(ai->val,0);
|
||||
if (ChrEntityp)
|
||||
{
|
||||
#ifdef DEBUG
|
||||
#ifdef ENABLE_LOG
|
||||
if (pad_id == PAD_PRESET1 && ChrEntityp->padpreset1 == PAD_PRESET1)
|
||||
{
|
||||
osSyncPrintf("RUSS : Pad is bollox -> Num=%d (%d) - PAD_PRESET1=%d\n", pad_id, ChrEntityp->padpreset1, PAD_PRESET1);
|
||||
@@ -3319,7 +3320,7 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
}
|
||||
case AI_PRINT:
|
||||
{
|
||||
#ifdef DEBUG
|
||||
#ifdef ENABLE_LOG
|
||||
AIRecord *ai = AiListp + Offset;
|
||||
//PD = osSyncPrintf("AI_PRINT(void) [%d] %s\n", ai-val);
|
||||
osSyncPrintf("AI_PRINT: %s\n", ai->val);
|
||||
@@ -3367,7 +3368,7 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
case AI_IFMyTimerLessThanTicks:
|
||||
{
|
||||
AIRecord *ai = AiListp + Offset;
|
||||
f32 valf = ((unsigned)CharArrayTo24(ai->val,0)) / CHRLV_FRAMERATE_F;
|
||||
f32 valf = ((unsigned)CharArrayTo24(ai->val,0)) / CHRAI_TICKRATE_F;
|
||||
|
||||
if (chrGetTimer(ChrEntityp) < valf)
|
||||
{
|
||||
@@ -3382,7 +3383,7 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
case AI_IFMyTimerGreaterThanTicks:
|
||||
{
|
||||
AIRecord *ai = AiListp + Offset;
|
||||
f32 valf = ((unsigned)CharArrayTo24(ai->val,0)) / CHRLV_FRAMERATE_F;
|
||||
f32 valf = ((unsigned)CharArrayTo24(ai->val,0)) / CHRAI_TICKRATE_F;
|
||||
if (chrGetTimer(ChrEntityp) > valf)
|
||||
{
|
||||
Offset = chraiGoToLabel(AiListp, Offset, ai->val[3]);
|
||||
@@ -3409,7 +3410,7 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
{
|
||||
AIRecord *ai = AiListp + Offset;
|
||||
f32 seconds = CharArrayTo16(ai->val,0);
|
||||
countdownTimerSetValue(seconds * CHRLV_FRAMERATE_F);
|
||||
countdownTimerSetValue(seconds * CHRAI_TICKRATE_F);
|
||||
Offset += AI_HudCountdownSet_LENGTH;
|
||||
break;
|
||||
}
|
||||
@@ -3442,7 +3443,7 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
{
|
||||
AIRecord *ai = AiListp + Offset;
|
||||
f32 value = CharArrayTo16(ai->val,0);
|
||||
if (countdownTimerGetValue() < value * CHRLV_FRAMERATE_F)
|
||||
if (countdownTimerGetValue() < value * CHRAI_TICKRATE_F)
|
||||
{
|
||||
Offset = chraiGoToLabel(AiListp, Offset, ai->val[2]);
|
||||
}
|
||||
@@ -3456,7 +3457,7 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
{
|
||||
AIRecord *ai = AiListp + Offset;
|
||||
f32 value = CharArrayTo16(ai->val,0);
|
||||
if (countdownTimerGetValue() > value * CHRLV_FRAMERATE_F)
|
||||
if (countdownTimerGetValue() > value * CHRAI_TICKRATE_F)
|
||||
{
|
||||
Offset = chraiGoToLabel(AiListp, Offset, ai->val[2]);
|
||||
}
|
||||
@@ -3473,7 +3474,7 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
CHRFLAG flags = CharArrayTo32(ai->val,6);
|
||||
u16 ailistid = CharArrayTo16(ai->val,4);
|
||||
AIRecord *ailist = ailistFindById(ailistid);
|
||||
#ifdef DEBUG
|
||||
#ifdef ENABLE_LOG
|
||||
if (flags & 32)
|
||||
{
|
||||
osSyncPrintf("ai_createchrheadthenjumpf : Flag set CHRSTART_FORCENOBLOOD\n");
|
||||
@@ -3688,7 +3689,7 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
{
|
||||
AIRecord *ai = AiListp + Offset;
|
||||
char *text = langGet(CharArrayTo16(ai->val,0));
|
||||
#ifdef DEBUG
|
||||
#ifdef ENABLE_LOG
|
||||
osSyncPrintf("USING HUD MESSAGE Stringy = %d, ai->txt = %d\n", CharArrayTo16(ai->val,0), text);
|
||||
#endif
|
||||
#ifdef BUGFIX_R1
|
||||
@@ -3704,7 +3705,7 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
AIRecord *ai = AiListp + Offset;
|
||||
char *text = langGet(CharArrayTo16(ai->val,0));
|
||||
|
||||
#ifdef DEBUG
|
||||
#ifdef ENABLE_LOG
|
||||
osSyncPrintf("ptop = %f \n", text);
|
||||
osSyncPrintf("USING HUD MESSAGE Stringy = %d, ai->txt = %d\n", CharArrayTo16(ai->val,0), text);
|
||||
|
||||
@@ -3832,11 +3833,11 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
u16 sfxID = CharArrayTo16(ai->val,2);
|
||||
if (isNotBoundPad(padnum))
|
||||
{
|
||||
pad = &g_chraiCurrentSetup.pads[padnum];
|
||||
pad = &g_CurrentSetup.pads[padnum];
|
||||
}
|
||||
else
|
||||
{
|
||||
pad = (PadRecord *)&g_chraiCurrentSetup.boundpads[getBoundPadNum(padnum)];
|
||||
pad = (PadRecord *)&g_CurrentSetup.boundpads[getBoundPadNum(padnum)];
|
||||
}
|
||||
if (ai->slotID >= 0 && ai->slotID < 8 && pad)
|
||||
{
|
||||
@@ -3969,12 +3970,10 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
}
|
||||
case AI_IFBondInTank: //canonical name
|
||||
{
|
||||
/*
|
||||
#ifdef DEBUG && PD
|
||||
osSyncPrintf("ai_ifbondintank: tank code has been removed.\n");
|
||||
#endif
|
||||
*/
|
||||
AIRecord *ai = AiListp + Offset;
|
||||
#ifdef ENABLE_LOG
|
||||
osSyncPrintf("ai_ifbondintank\n");
|
||||
#endif
|
||||
if (isBondInTank() == TRUE)
|
||||
{
|
||||
Offset = chraiGoToLabel(AiListp, Offset, ai->val[0]);
|
||||
@@ -4014,11 +4013,11 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
u16 padnum = CharArrayTo16(ai->val,0);
|
||||
if (isNotBoundPad(padnum))
|
||||
{
|
||||
dword_CODE_bss_800799F8 = &g_chraiCurrentSetup.pads[padnum];
|
||||
dword_CODE_bss_800799F8 = &g_CurrentSetup.pads[padnum];
|
||||
}
|
||||
else
|
||||
{
|
||||
dword_CODE_bss_800799F8 = (PadRecord *)&g_chraiCurrentSetup.boundpads[getBoundPadNum(padnum)];
|
||||
dword_CODE_bss_800799F8 = (PadRecord *)&g_CurrentSetup.boundpads[getBoundPadNum(padnum)];
|
||||
}
|
||||
set_camera_mode(CAMERAMODE_POSEND);
|
||||
Offset += AI_CameraLookAtBondFromPad_LENGTH;
|
||||
@@ -4035,7 +4034,7 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
{
|
||||
CutsceneRecord *cdef = setupGetPtrToCommandByIndex(tag->OffsetToObj + TagIndex); //get obj
|
||||
|
||||
#ifdef DEBUG
|
||||
#ifdef ENABLE_LOG
|
||||
/*".\\ported\\chrai.c", 0xc2b, "Assertion failed: cdef->type==PROPDEF_CAMERAPOS") */
|
||||
assert(cdef->type == PROPDEF_CAMERAPOS);
|
||||
#endif
|
||||
@@ -4086,7 +4085,7 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
}
|
||||
case AI_BondEnableControl:
|
||||
{
|
||||
#ifdef DEBUG
|
||||
#ifdef ENABLE_LOG
|
||||
osSyncPrintf("AI_BONDENABLECONTROL\n");
|
||||
#endif
|
||||
set_unset_bitflags(4, TRUE);
|
||||
@@ -4114,11 +4113,11 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
padnum = chrResolvePadId(ChrEntityp, padnum);
|
||||
if (isNotBoundPad(padnum))
|
||||
{
|
||||
pad = &g_chraiCurrentSetup.pads[padnum];
|
||||
pad = &g_CurrentSetup.pads[padnum];
|
||||
}
|
||||
else
|
||||
{
|
||||
pad = (PadRecord *)&g_chraiCurrentSetup.boundpads[getBoundPadNum(padnum)];
|
||||
pad = (PadRecord *)&g_CurrentSetup.boundpads[getBoundPadNum(padnum)];
|
||||
}
|
||||
|
||||
FacingDirection = atan2f(pad->look.x, pad->look.z);
|
||||
@@ -4170,7 +4169,7 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
if (stop_time_flag != 2)
|
||||
{
|
||||
currentPlayerSetFadeColour(0, 0, 0, 0);
|
||||
currentPlayerSetFadeFrac(CHRLV_FRAMERATE_F, 1);
|
||||
currentPlayerSetFadeFrac(CHRAI_TICKRATE_F, 1);
|
||||
}
|
||||
Offset += AI_ScreenFadeToBlack_LENGTH;
|
||||
break;
|
||||
@@ -4180,7 +4179,7 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
if (stop_time_flag != 2)
|
||||
{
|
||||
currentPlayerSetFadeColour(0, 0, 0, 1);
|
||||
currentPlayerSetFadeFrac(CHRLV_FRAMERATE_F, 0);
|
||||
currentPlayerSetFadeFrac(CHRAI_TICKRATE_F, 0);
|
||||
}
|
||||
Offset += AI_ScreenFadeFromBlack_LENGTH;
|
||||
break;
|
||||
@@ -4234,7 +4233,7 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
door->openedTime = g_GlobalTimer;
|
||||
door->openstate = DOORSTATE_STATIONARY;
|
||||
sub_GAME_7F052B00(door);
|
||||
sub_GAME_7F053598(door); // doorActivatePortal
|
||||
doorActivatePortal(door); // doorActivatePortal
|
||||
sub_GAME_7F053B10(door);
|
||||
}
|
||||
Offset += AI_DoorOpenInstant_LENGTH;
|
||||
@@ -4321,11 +4320,11 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
|
||||
if (isNotBoundPad(padnum))
|
||||
{
|
||||
pad = &g_chraiCurrentSetup.pads[padnum * 1]; //needs a mult by 1 to correct s0/v1
|
||||
pad = &g_CurrentSetup.pads[padnum * 1]; //needs a mult by 1 to correct s0/v1
|
||||
}
|
||||
else
|
||||
{
|
||||
pad = (PadRecord *)&g_chraiCurrentSetup.boundpads[getBoundPadNum(padnum)];
|
||||
pad = (PadRecord *)&g_CurrentSetup.boundpads[getBoundPadNum(padnum)];
|
||||
}
|
||||
|
||||
if (pad->stan && obj && obj->prop && (pad->stan->room == obj->prop->stan->room))
|
||||
@@ -4471,7 +4470,7 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
AIRecord *ai = AiListp + Offset;
|
||||
Offset += AI_MusicPlaySlot_LENGTH;
|
||||
musicPlaySlot((s8)ai->val[0], ai->val[1], ai->val[2]);
|
||||
#ifdef DEBUG
|
||||
#ifdef ENABLE_LOG
|
||||
osSyncPrintf("ai: enery tune on (%d, %d, %d)\n", ai->val[0], ai->val[1], ai->val[2]);
|
||||
#endif
|
||||
break;
|
||||
@@ -4481,7 +4480,7 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
AIRecord *ai = AiListp + Offset;
|
||||
Offset += AI_MusicStopSlot_LENGTH;
|
||||
musicStopSlot((s8)ai->val[0]);
|
||||
#ifdef DEBUG
|
||||
#ifdef ENABLE_LOG
|
||||
osSyncPrintf("ai: enery tune off (%d)\n", ai->val[0]);
|
||||
#endif
|
||||
break;
|
||||
@@ -4550,7 +4549,7 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
|
||||
if (obj->runtime_bitflags & RUNTIMEBITFLAG_DEPOSIT)
|
||||
{
|
||||
obj->unk6C->id |= 0x601;
|
||||
obj->unk6C->flags |= 0x601;
|
||||
sub_GAME_7F03FE14(obj->prop);
|
||||
matrix_4x4_set_identity(&obj->unk6C->m);
|
||||
obj->unk6C->pos.x = 0;
|
||||
@@ -4582,7 +4581,7 @@ void ai(PropDefHeaderRecord *Entityp, PROP_TYPE EntityType)
|
||||
} // switch
|
||||
} // for
|
||||
} // Has ailist
|
||||
#ifdef DEBUG
|
||||
#ifdef ENABLE_LOG
|
||||
osSyncPrintf("SERIOUS AI ERROR!!!!!! Null ailist!\n");
|
||||
#endif
|
||||
} //ai()
|
||||
+23
-22
@@ -4,7 +4,7 @@
|
||||
|
||||
#include <bondtypes.h>
|
||||
|
||||
|
||||
#define CHRAI_TICKRATE_F 60.0f
|
||||
|
||||
/*
|
||||
Stop Scolling:
|
||||
@@ -316,14 +316,14 @@ struct bss_80073370 {
|
||||
|
||||
struct bss_80073DC0 {
|
||||
u32 unk00;
|
||||
u32 unk04;
|
||||
u32 unk08;
|
||||
u32 unk0C;
|
||||
f32 unk04;
|
||||
f32 unk08;
|
||||
f32 unk0C;
|
||||
|
||||
u32 unk10;
|
||||
u32 unk14;
|
||||
u32 unk18;
|
||||
u32 unk1C;
|
||||
f32 unk10;
|
||||
f32 unk14;
|
||||
f32 unk18;
|
||||
f32 unk1C;
|
||||
|
||||
u32 unk20;
|
||||
u32 unk24;
|
||||
@@ -345,7 +345,7 @@ struct bss_80073DC0 {
|
||||
u32 unk58;
|
||||
u32 unk5C;
|
||||
|
||||
u32 unk60;
|
||||
f32 unk60;
|
||||
u32 unk64;
|
||||
u32 unk68;
|
||||
u32 unk6C;
|
||||
@@ -358,10 +358,10 @@ struct bss_80073DC0 {
|
||||
u32 unk80;
|
||||
u32 unk84;
|
||||
u32 unk88;
|
||||
u32 unk8C;
|
||||
f32 unk8C;
|
||||
|
||||
u32 unk90;
|
||||
u32 unk94;
|
||||
f32 unk94;
|
||||
u32 unk98;
|
||||
u32 unk9C;
|
||||
|
||||
@@ -375,9 +375,9 @@ struct bss_80073DC0 {
|
||||
u32 unkB8;
|
||||
u32 unkBC;
|
||||
|
||||
u32 unkC0;
|
||||
u32 unkC4;
|
||||
u32 unkC8;
|
||||
f32 unkC0;
|
||||
f32 unkC4;
|
||||
f32 unkC8;
|
||||
u32 unkCC;
|
||||
|
||||
u32 unkD0;
|
||||
@@ -390,6 +390,7 @@ struct bss_80073DC0 {
|
||||
u32 unkE8;
|
||||
};
|
||||
|
||||
|
||||
struct bss_80075030 {
|
||||
s32 unk00;
|
||||
u32 unk04;
|
||||
@@ -449,11 +450,11 @@ extern u32 monAnim2DRandEffectFlash[];
|
||||
extern u32 monAnim00Bond[];
|
||||
extern u32 monAnim34[];
|
||||
extern u32 monAnim35Taser[];
|
||||
extern u32 temp_mine_table[30];
|
||||
extern WeaponObjRecord* temp_mine_table[30];
|
||||
extern f32 gas_damage_flag;
|
||||
extern u32 gas_cutoff_flag;
|
||||
extern f32 difficulty ;
|
||||
extern stagesetup g_chraiCurrentSetup;
|
||||
extern stagesetup g_CurrentSetup;
|
||||
extern s16 * ptr_list_object_lookup_indices;
|
||||
extern PropRecord pos_data_entry[];
|
||||
|
||||
@@ -478,7 +479,7 @@ extern struct object_animation_controller g_MonitorAnimController;
|
||||
extern struct object_animation_controller g_UnknownAnimController;
|
||||
extern struct object_animation_controller g_TaserAnimController;
|
||||
|
||||
extern CreditsEntry *dword_CODE_bss_80075D28;
|
||||
extern stagesetup *g_ptrStageSetupFile;
|
||||
|
||||
void alarmDeactivate(void);
|
||||
s32 chraiitemsize(u8 *AIList, s32 offset);
|
||||
@@ -498,7 +499,7 @@ void chrpropRegisterRooms(PropRecord *posData);
|
||||
|
||||
void chrpropActivate(PropRecord *);
|
||||
void chrpropEnable(PropRecord *);
|
||||
void chrpropActivateThisFrame(Model *);
|
||||
void chrpropActivateThisFrame(PropRecord *);
|
||||
void chrpropReparent(PropRecord *newChild, PropRecord *host);
|
||||
AIRecord *ailistFindById(s32 ID);
|
||||
void chraiGetCollisionBounds(PropRecord *arg0, struct rect4f **arg1, s32 *arg2, f32 *arg3, f32 *arg4);
|
||||
@@ -512,10 +513,10 @@ PropRecord *get_ptr_obj_pos_list_current_entry(void);
|
||||
void chraiGetPropRoomIds(PropRecord *self, s32 *roomids);
|
||||
void chrpropFree(PropRecord *prop);
|
||||
void chrpropDisable(PropRecord *prop);
|
||||
f32 chrpropBBOXGetXmin(ModelNode_BoundingBoxRecord *modelBoundingBox);
|
||||
f32 chrpropBBOXGetYmin(ModelNode_BoundingBoxRecord *modelBoundingBox);
|
||||
f32 chrpropBBOXGetYmax(ModelNode_BoundingBoxRecord *modelBoundingBox);
|
||||
f32 chrpropBBOXGetZmin(ModelNode_BoundingBoxRecord *modelBoundingBox);
|
||||
f32 chrpropBBOXGetXmin(ModelRoData_BoundingBoxRecord *modelBoundingBox);
|
||||
f32 chrpropBBOXGetYmin(ModelRoData_BoundingBoxRecord *modelBoundingBox);
|
||||
f32 chrpropBBOXGetYmax(ModelRoData_BoundingBoxRecord *modelBoundingBox);
|
||||
f32 chrpropBBOXGetZmin(ModelRoData_BoundingBoxRecord *modelBoundingBox);
|
||||
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);
|
||||
|
||||
+60
-101
@@ -30,39 +30,7 @@
|
||||
#include "bondhead.h"
|
||||
#include "unk_0A1DA0.h"
|
||||
|
||||
#ifdef REFRESH_PAL
|
||||
#define CHRLV_RECENT_TIME_CHECK 151
|
||||
#define CHRLV_TICK_DEAD_CHECK 75
|
||||
#define CHRLV_SEEN_RECENT_CHECK 100
|
||||
#define CHRLV_LASTMOVEOK60_CHECK 50
|
||||
#define CHRLV_ATTACKWALK_CLOCK_TIMER30_MIN 0x11
|
||||
#define CHRLV_ATTACKWALK_CLOCK_TIMER30_MAX 0x1a
|
||||
#define CHRLV_ATTACKWALK_TIMER40_A 0x4b
|
||||
#define CHRLV_ATTACKWALK_TIMER40_B 0x10
|
||||
#define CHRLV_ATTACKWALK_TIMER40_C 0x96
|
||||
#define CHRLV_ATTACKWALK_TIMER40_D 0x21
|
||||
|
||||
#define CHRLV_DEFAULT_TIMER 0x96
|
||||
#define CHRLV_10_SEC_TIMER 0x1f4 /* 500 */
|
||||
#define CHRLV_FRAMERATE_F 50.0f
|
||||
|
||||
#else
|
||||
|
||||
#define CHRLV_RECENT_TIME_CHECK 181
|
||||
#define CHRLV_TICK_DEAD_CHECK 90
|
||||
#define CHRLV_SEEN_RECENT_CHECK 120
|
||||
#define CHRLV_LASTMOVEOK60_CHECK 60
|
||||
#define CHRLV_ATTACKWALK_CLOCK_TIMER30_MIN 0x15
|
||||
#define CHRLV_ATTACKWALK_CLOCK_TIMER30_MAX 0x1F
|
||||
#define CHRLV_ATTACKWALK_TIMER40_A 0x5a
|
||||
#define CHRLV_ATTACKWALK_TIMER40_B 0x14
|
||||
#define CHRLV_ATTACKWALK_TIMER40_C 0xb4
|
||||
#define CHRLV_ATTACKWALK_TIMER40_D 0x28
|
||||
|
||||
#define CHRLV_DEFAULT_TIMER 0xb4
|
||||
#define CHRLV_10_SEC_TIMER 0x258 /* 600 */
|
||||
#define CHRLV_FRAMERATE_F 60.0f
|
||||
#endif
|
||||
|
||||
|
||||
// forward declarations
|
||||
@@ -299,7 +267,7 @@ void expand_09_characters(s32 stageid, GuardRecord *arg1, s32 arg2)
|
||||
s32 bodyid;
|
||||
s32 headid;
|
||||
|
||||
pad = &g_chraiCurrentSetup.pads[arg1->PadID];
|
||||
pad = &g_CurrentSetup.pads[arg1->PadID];
|
||||
|
||||
if (sub_GAME_7F056850(pad, pad->stan, 20.0f, (PadRecord *)&sp48, &sp54) != 0)
|
||||
{
|
||||
@@ -3000,11 +2968,11 @@ waypoint *get_ptrpreset_in_table_matching_tile(StandTile* stan)
|
||||
waypoint *waypoint;
|
||||
PadRecord *pad;
|
||||
|
||||
if (g_chraiCurrentSetup.pathwaypoints != NULL)
|
||||
if (g_CurrentSetup.pathwaypoints != NULL)
|
||||
{
|
||||
for (waypoint = g_chraiCurrentSetup.pathwaypoints; waypoint->padID >= 0; waypoint++)
|
||||
for (waypoint = g_CurrentSetup.pathwaypoints; waypoint->padID >= 0; waypoint++)
|
||||
{
|
||||
pad = &((PadRecord *)g_chraiCurrentSetup.pads)[waypoint->padID];
|
||||
pad = &((PadRecord *)g_CurrentSetup.pads)[waypoint->padID];
|
||||
|
||||
if (pad->stan == stan)
|
||||
{
|
||||
@@ -3019,18 +2987,18 @@ waypoint *get_ptrpreset_in_table_matching_tile(StandTile* stan)
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel get_ptrpreset_in_table_matching_tile
|
||||
/* 05C724 7F027BF4 3C028007 */ lui $v0, %hi(g_chraiCurrentSetup+0)
|
||||
/* 05C728 7F027BF8 8C425D00 */ lw $v0, %lo(g_chraiCurrentSetup+0)($v0)
|
||||
/* 05C724 7F027BF4 3C028007 */ lui $v0, %hi(g_CurrentSetup+0)
|
||||
/* 05C728 7F027BF8 8C425D00 */ lw $v0, %lo(g_CurrentSetup+0)($v0)
|
||||
/* 05C72C 7F027BFC 00803025 */ move $a2, $a0
|
||||
/* 05C730 7F027C00 50400015 */ beql $v0, $zero, .L7F027C58
|
||||
/* 05C734 7F027C04 00001025 */ move $v0, $zero
|
||||
/* 05C738 7F027C08 8C4E0000 */ lw $t6, ($v0)
|
||||
/* 05C73C 7F027C0C 00401825 */ move $v1, $v0
|
||||
/* 05C740 7F027C10 3C058007 */ lui $a1, %hi(g_chraiCurrentSetup+0x18)
|
||||
/* 05C740 7F027C10 3C058007 */ lui $a1, %hi(g_CurrentSetup+0x18)
|
||||
/* 05C744 7F027C14 05C0000F */ bltz $t6, .L7F027C54
|
||||
/* 05C748 7F027C18 2407002C */ li $a3, 44
|
||||
/* 05C74C 7F027C1C 8C440000 */ lw $a0, ($v0)
|
||||
/* 05C750 7F027C20 8CA55D18 */ lw $a1, %lo(g_chraiCurrentSetup+0x18)($a1)
|
||||
/* 05C750 7F027C20 8CA55D18 */ lw $a1, %lo(g_CurrentSetup+0x18)($a1)
|
||||
.L7F027C24:
|
||||
/* 05C754 7F027C24 00870019 */ multu $a0, $a3
|
||||
/* 05C758 7F027C28 00007812 */ mflo $t7
|
||||
@@ -3075,7 +3043,7 @@ f32 chrlvPadPresetRelated(coord3d *arg0, waypoint *arg1)
|
||||
f32 temp_f2;
|
||||
PadRecord *temp_v0;
|
||||
|
||||
temp_v0 = &g_chraiCurrentSetup.pads[arg1->padID];
|
||||
temp_v0 = &g_CurrentSetup.pads[arg1->padID];
|
||||
temp_f2 = temp_v0->pos.f[0] - arg0->f[0];
|
||||
temp_f12 = temp_v0->pos.f[2] - arg0->f[2];
|
||||
return (temp_f2 * temp_f2) + (temp_f12 * temp_f12);
|
||||
@@ -3105,7 +3073,7 @@ waypoint *chrlvStanPathRelated(coord3d *arg0, StandTile *arg1)
|
||||
|
||||
for (n = ret->neighbours; *n >= 0; n++)
|
||||
{
|
||||
wayp = &g_chraiCurrentSetup.pathwaypoints[*n];
|
||||
wayp = &g_CurrentSetup.pathwaypoints[*n];
|
||||
|
||||
if (chrlvPadPresetRelated(arg0, wayp) < temp_f20)
|
||||
{
|
||||
@@ -3208,7 +3176,7 @@ void chrlvActGoposRelated(ChrRecord *self, coord3d *target_point, StandTile **ta
|
||||
|
||||
if (temp_v0 != 0)
|
||||
{
|
||||
temp_v1 = &g_chraiCurrentSetup.pads[temp_v0->padID];
|
||||
temp_v1 = &g_CurrentSetup.pads[temp_v0->padID];
|
||||
|
||||
target_point->f[0] = temp_v1->pos.f[0];
|
||||
target_point->f[1] = temp_v1->pos.f[1];
|
||||
@@ -3489,32 +3457,23 @@ s32 chrlvPatrolCalculateStep(ChrRecord *self, bool *forward, s32 numsteps)
|
||||
|
||||
#ifdef NONMATCHING
|
||||
|
||||
// notes: struct SetupPtrs isn't (currently defined), it's theoretical update
|
||||
// to struct stagesetup. Requires AI Branch merge first.
|
||||
|
||||
/**
|
||||
* Address 0x7F0283FC.
|
||||
*/
|
||||
PadRecord * chrlvGetPatrolStepPad(ChrRecord *self, s32 arg1)
|
||||
// notes: 99.33% match, only failing regalloc on a single line
|
||||
PadRecord *chrlvGetPatrolStepPad(ChrRecord *self, s32 numsteps)
|
||||
{
|
||||
//struct patrol_path *path;
|
||||
s32 data;
|
||||
s32 forward;
|
||||
s32 step;
|
||||
//s32 nextstep;
|
||||
s32 * padnumptr;
|
||||
|
||||
forward = self->act_patrol.forward;
|
||||
|
||||
step = chrlvPatrolCalculateStep(self, &forward, arg1);
|
||||
|
||||
//path = self->act_patrol.path;
|
||||
|
||||
step = self->act_patrol.path->data[step];
|
||||
|
||||
return &((struct SetupPtrs *)&g_chraiCurrentSetup.pathwaypoints)->pads[
|
||||
((struct SetupPtrs *)&g_chraiCurrentSetup.pathwaypoints)->pathwaypoints[step].padID
|
||||
];
|
||||
step = chrlvPatrolCalculateStep(self, &forward, numsteps);
|
||||
data = self->act_patrol.path->data[step]; // <---- this line fails regalloc, swapping t0 and v1
|
||||
padnumptr = &g_CurrentSetup.pathwaypoints[data].padID;
|
||||
return &g_CurrentSetup.pads[*padnumptr];
|
||||
}
|
||||
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
@@ -3529,9 +3488,9 @@ glabel chrlvGetPatrolStepPad
|
||||
/* 05CF48 7F028418 AFAE0020 */ sw $t6, 0x20($sp)
|
||||
/* 05CF4C 7F02841C 8FA70028 */ lw $a3, 0x28($sp)
|
||||
/* 05CF50 7F028420 0002C880 */ sll $t9, $v0, 2
|
||||
/* 05CF54 7F028424 3C058007 */ lui $a1, %hi(g_chraiCurrentSetup+0)
|
||||
/* 05CF54 7F028424 3C058007 */ lui $a1, %hi(g_CurrentSetup+0)
|
||||
/* 05CF58 7F028428 8CEF002C */ lw $t7, 0x2c($a3)
|
||||
/* 05CF5C 7F02842C 24A55D00 */ addiu $a1, %lo(g_chraiCurrentSetup+0) # addiu $a1, $a1, 0x5d00
|
||||
/* 05CF5C 7F02842C 24A55D00 */ addiu $a1, %lo(g_CurrentSetup+0) # addiu $a1, $a1, 0x5d00
|
||||
/* 05CF60 7F028430 8CAA0000 */ lw $t2, ($a1)
|
||||
/* 05CF64 7F028434 8DF80000 */ lw $t8, ($t7)
|
||||
/* 05CF68 7F028438 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
@@ -3691,7 +3650,7 @@ void chrlvTravelTickMagic(ChrRecord *self, struct waydata *arg1, f32 arg2, coord
|
||||
if (curindex > 0)
|
||||
{
|
||||
pta = self->act_gopos.waypoints[curindex - 1];
|
||||
pad = &g_chraiCurrentSetup.pads[pta->padID];
|
||||
pad = &g_CurrentSetup.pads[pta->padID];
|
||||
|
||||
setsubroty(
|
||||
self->model,
|
||||
@@ -4043,10 +4002,10 @@ void set_actor_on_path(ChrRecord *self, struct patrol_path *path)
|
||||
{
|
||||
//s32 aa;
|
||||
|
||||
//aa = g_chraiCurrentSetup.pathwaypoints[index].id;
|
||||
//pad = &g_chraiCurrentSetup.pads[aa];
|
||||
waypoint *pta = &g_chraiCurrentSetup.pathwaypoints[index];
|
||||
pad = &g_chraiCurrentSetup.pads[pta->padID];
|
||||
//aa = g_CurrentSetup.pathwaypoints[index].id;
|
||||
//pad = &g_CurrentSetup.pads[aa];
|
||||
waypoint *pta = &g_CurrentSetup.pathwaypoints[index];
|
||||
pad = &g_CurrentSetup.pads[pta->padID];
|
||||
|
||||
if ((pad->stan != NULL) && (prop->stan == pad->stan))
|
||||
{
|
||||
@@ -4111,12 +4070,12 @@ glabel set_actor_on_path
|
||||
/* 05DC48 7F029118 8C870018 */ lw $a3, 0x18($a0)
|
||||
/* 05DC4C 7F02911C 00003025 */ move $a2, $zero
|
||||
/* 05DC50 7F029120 05E0002C */ bltz $t7, .L7F0291D4
|
||||
/* 05DC54 7F029124 3C098007 */ lui $t1, %hi(g_chraiCurrentSetup+0)
|
||||
/* 05DC58 7F029128 3C0A8007 */ lui $t2, %hi(g_chraiCurrentSetup+0x18)
|
||||
/* 05DC54 7F029124 3C098007 */ lui $t1, %hi(g_CurrentSetup+0)
|
||||
/* 05DC58 7F029128 3C0A8007 */ lui $t2, %hi(g_CurrentSetup+0x18)
|
||||
/* 05DC5C 7F02912C 3C018005 */ lui $at, %hi(D_80051DF8)
|
||||
/* 05DC60 7F029130 C42C1DF8 */ lwc1 $f12, %lo(D_80051DF8)($at)
|
||||
/* 05DC64 7F029134 8D4A5D18 */ lw $t2, %lo(g_chraiCurrentSetup+0x18)($t2)
|
||||
/* 05DC68 7F029138 8D295D00 */ lw $t1, %lo(g_chraiCurrentSetup+0)($t1)
|
||||
/* 05DC64 7F029134 8D4A5D18 */ lw $t2, %lo(g_CurrentSetup+0x18)($t2)
|
||||
/* 05DC68 7F029138 8D295D00 */ lw $t1, %lo(g_CurrentSetup+0)($t1)
|
||||
/* 05DC6C 7F02913C 240B002C */ li $t3, 44
|
||||
/* 05DC70 7F029140 0006C080 */ sll $t8, $a2, 2
|
||||
.L7F029144:
|
||||
@@ -5223,11 +5182,11 @@ bool chrGoToPad(ChrRecord *self, s32 padid, SPEED speed)
|
||||
padid = chrResolvePadId(self, padid);
|
||||
if (isNotBoundPad(padid))
|
||||
{
|
||||
pad = &g_chraiCurrentSetup.pads[padid];
|
||||
pad = &g_CurrentSetup.pads[padid];
|
||||
}
|
||||
else
|
||||
{
|
||||
pad = (PadRecord *)&g_chraiCurrentSetup.boundpads[getBoundPadNum(padid)];
|
||||
pad = (PadRecord *)&g_CurrentSetup.boundpads[getBoundPadNum(padid)];
|
||||
}
|
||||
|
||||
stan = pad->stan;
|
||||
@@ -6527,7 +6486,7 @@ s32 chrlvUpdateAimendsideback(ChrRecord *self, struct weapon_firing_animation_ta
|
||||
calc_aimendsideback = t1 - subroty + M_TAU_F;
|
||||
}
|
||||
|
||||
temp_v0_4 = (struct modeldata_root*)extract_id_from_object_structure_microcode(self->model, self->model->obj->RootNode);
|
||||
temp_v0_4 = (struct modeldata_root*)modelGetNodeRwData(self->model, self->model->obj->RootNode);
|
||||
|
||||
if (temp_v0_4->unk5c > 0.0f)
|
||||
{
|
||||
@@ -7190,9 +7149,9 @@ void chrlvFireWeaponRelated(ChrRecord *self, s32 hand)
|
||||
|
||||
if (sp208->runtime_bitflags & RUNTIMEBITFLAG_DEPOSIT)
|
||||
{
|
||||
sp208->unk6C->id |= 0x80;
|
||||
sp208->unk6C->flags |= 0x80;
|
||||
sp208->timer = -1;
|
||||
sp208->unk6C->id |= 0x20;
|
||||
sp208->unk6C->flags |= 0x20;
|
||||
|
||||
sp208->unk6C->unkb0 = sp208->runtime_pos.y;
|
||||
sp208->unk6C->unkb4 = sp208->unk6C->pos.f[1];
|
||||
@@ -7646,7 +7605,7 @@ void chrlvTickAttackCommon(ChrRecord *self)
|
||||
|
||||
if (self_model->gunhand != GUNRIGHT)
|
||||
{
|
||||
fn40 = 6.2831855f - fn40;
|
||||
fn40 = M_TAU_F - fn40;
|
||||
}
|
||||
|
||||
self->act_attack.unk30 = chrlvSetSubroty(
|
||||
@@ -8535,7 +8494,7 @@ void chrlvTickAttackRoll(ChrRecord *self)
|
||||
|
||||
if (self->act_attackroll.animfloats->anonymous_3 != 0.0f)
|
||||
{
|
||||
temp_v0_2 = (struct modeldata_root *)extract_id_from_object_structure_microcode(temp_a0, temp_a0->obj->RootNode);
|
||||
temp_v0_2 = (struct modeldata_root *)modelGetNodeRwData(temp_a0, temp_a0->obj->RootNode);
|
||||
temp_v0_2->unk5c = phi_f2_2;
|
||||
temp_v0_2->unk58 = (-self->act_attackroll.animfloats->anonymous_3 / phi_f2_2);
|
||||
|
||||
@@ -10237,7 +10196,7 @@ void chrlvTickGoPos(ChrRecord *self)
|
||||
|
||||
if (wp != NULL)
|
||||
{
|
||||
if (chrlvIsArrivingLaterallyAtPos(&self->prevpos, &self_prop->pos, &g_chraiCurrentSetup.pads[wp->padID].pos, 30.0f) != 0)
|
||||
if (chrlvIsArrivingLaterallyAtPos(&self->prevpos, &self_prop->pos, &g_CurrentSetup.pads[wp->padID].pos, 30.0f) != 0)
|
||||
{
|
||||
phi_v1 = 1;
|
||||
}
|
||||
@@ -10271,7 +10230,7 @@ void chrlvTickGoPos(ChrRecord *self)
|
||||
|
||||
if (wp != NULL)
|
||||
{
|
||||
pad = &g_chraiCurrentSetup.pads[wp->padID];
|
||||
pad = &g_CurrentSetup.pads[wp->padID];
|
||||
wp_pos = &pad->pos;
|
||||
wp_stan = pad->stan;
|
||||
}
|
||||
@@ -10301,7 +10260,7 @@ void chrlvTickGoPos(ChrRecord *self)
|
||||
|
||||
if (wp != NULL)
|
||||
{
|
||||
pad = &g_chraiCurrentSetup.pads[wp->padID];
|
||||
pad = &g_CurrentSetup.pads[wp->padID];
|
||||
wp_pos = &pad->pos;
|
||||
wp_stan = pad->stan;
|
||||
}
|
||||
@@ -10323,7 +10282,7 @@ void chrlvTickGoPos(ChrRecord *self)
|
||||
|
||||
if (wp != NULL)
|
||||
{
|
||||
pad = &g_chraiCurrentSetup.pads[wp->padID];
|
||||
pad = &g_CurrentSetup.pads[wp->padID];
|
||||
wp_pos = &pad->pos;
|
||||
wp_stan = pad->stan;
|
||||
}
|
||||
@@ -10634,11 +10593,11 @@ coord3d *chrlvGetChrOrPresetLocation(ChrRecord *self, s32 flags, s32 lookup_id,
|
||||
|
||||
if (isNotBoundPad(padid))
|
||||
{
|
||||
preset_pad = &g_chraiCurrentSetup.pads[padid];
|
||||
preset_pad = &g_CurrentSetup.pads[padid];
|
||||
}
|
||||
else
|
||||
{
|
||||
preset_pad = (PadRecord *)&g_chraiCurrentSetup.boundpads[getBoundPadNum(padid)];
|
||||
preset_pad = (PadRecord *)&g_CurrentSetup.boundpads[getBoundPadNum(padid)];
|
||||
}
|
||||
|
||||
*stan = (StandTile *) preset_pad->stan;
|
||||
@@ -10707,11 +10666,11 @@ f32 chrGetDistanceToPad(ChrRecord *self, s32 padID)
|
||||
|
||||
if (isNotBoundPad(padID))
|
||||
{
|
||||
pad = (PadRecord *)&g_chraiCurrentSetup.pads[padID];
|
||||
pad = (PadRecord *)&g_CurrentSetup.pads[padID];
|
||||
}
|
||||
else
|
||||
{
|
||||
pad = (PadRecord *)&g_chraiCurrentSetup.boundpads[getBoundPadNum(padID)];
|
||||
pad = (PadRecord *)&g_CurrentSetup.boundpads[getBoundPadNum(padID)];
|
||||
}
|
||||
|
||||
return sqrtf(
|
||||
@@ -10734,11 +10693,11 @@ bool check_if_room_for_preset_loaded(ChrRecord *self, s32 padnum)
|
||||
|
||||
if (isNotBoundPad(padnum))
|
||||
{
|
||||
pad = (PadRecord *)&g_chraiCurrentSetup.pads[padnum];
|
||||
pad = (PadRecord *)&g_CurrentSetup.pads[padnum];
|
||||
}
|
||||
else
|
||||
{
|
||||
pad = (PadRecord *)&g_chraiCurrentSetup.boundpads[getBoundPadNum(padnum)];
|
||||
pad = (PadRecord *)&g_CurrentSetup.boundpads[getBoundPadNum(padnum)];
|
||||
}
|
||||
|
||||
padstan = pad->stan;
|
||||
@@ -10870,11 +10829,11 @@ f32 chrGetDistanceFromBondToPad(ChrRecord *self, s32 padid)
|
||||
|
||||
if (isNotBoundPad(padid))
|
||||
{
|
||||
pad = (PadRecord *)&g_chraiCurrentSetup.pads[padid];
|
||||
pad = (PadRecord *)&g_CurrentSetup.pads[padid];
|
||||
}
|
||||
else
|
||||
{
|
||||
pad = (PadRecord *)&g_chraiCurrentSetup.boundpads[getBoundPadNum(padid)];
|
||||
pad = (PadRecord *)&g_CurrentSetup.boundpads[getBoundPadNum(padid)];
|
||||
}
|
||||
|
||||
return sqrtf(
|
||||
@@ -11327,7 +11286,7 @@ s32 sub_GAME_7F033780(waypoint *arg0, coord3d *arg1, f32 angle)
|
||||
f32 dz;
|
||||
f32 ff;
|
||||
|
||||
pad = &g_chraiCurrentSetup.pads[arg0->padID];
|
||||
pad = &g_CurrentSetup.pads[arg0->padID];
|
||||
dx = pad->pos.f[0] - arg1->f[0];
|
||||
dz = pad->pos.f[2] - arg1->f[2];
|
||||
|
||||
@@ -11413,9 +11372,9 @@ s32 chrlvFindPathNeighborRelated(coord3d *bondpos, StandTile *stan, f32 rot, u8
|
||||
neighbor_index++, path_id = waypoint->neighbours[neighbor_index]
|
||||
)
|
||||
{
|
||||
if (sub_GAME_7F033780(&g_chraiCurrentSetup.pathwaypoints[path_id], bondpos, rot) != 0)
|
||||
if (sub_GAME_7F033780(&g_CurrentSetup.pathwaypoints[path_id], bondpos, rot) != 0)
|
||||
{
|
||||
return g_chraiCurrentSetup.pathwaypoints[path_id].padID;
|
||||
return g_CurrentSetup.pathwaypoints[path_id].padID;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -11673,7 +11632,7 @@ s32 sub_GAME_7F033EAC(coord3d *arg0, StandTile *arg1)
|
||||
{
|
||||
if (bgGet2dBboxByRoomId(getTileRoom(arg1), &sp1C))
|
||||
{
|
||||
pass = sub_GAME_7F078BF4(arg0, 200.0f, &sp1C) == 0;
|
||||
pass = camIsPosInScreenBox(arg0, 200.0f, &sp1C) == 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -11797,13 +11756,13 @@ PropRecord *chrSpawnAtPad(ChrRecord *self, s32 bodynum, s32 headnum, s32 padid,
|
||||
|
||||
if (isNotBoundPad(padid))
|
||||
{
|
||||
pad = (PadRecord *)&g_chraiCurrentSetup.pads[padid];
|
||||
pad = (PadRecord *)&g_CurrentSetup.pads[padid];
|
||||
}
|
||||
else
|
||||
{
|
||||
pad = (PadRecord *)&g_chraiCurrentSetup.boundpads[getBoundPadNum(padid)];
|
||||
pad = (PadRecord *)&g_CurrentSetup.boundpads[getBoundPadNum(padid)];
|
||||
}
|
||||
#ifdef DEBUG
|
||||
#ifdef ENABLE_LOG
|
||||
osSyncPrintf("%s%s new char x = %f, y = %f, z = %f \n", "", "", pad->pos.x, pad->pos.y, pad->pos.z);
|
||||
#endif
|
||||
return actionblock_guard_constructor_BDBE(bodynum, headnum, &pad->pos, pad->stan, atan2f(pad->look.f[0], pad->look.f[2]), ailist, flags);
|
||||
@@ -11845,11 +11804,11 @@ bool chrIfInPadRoom(ChrRecord *self, s32 chrnum, s32 padnum)
|
||||
|
||||
if (isNotBoundPad(padnum))
|
||||
{
|
||||
pad = (PadRecord *)&g_chraiCurrentSetup.pads[padnum];
|
||||
pad = (PadRecord *)&g_CurrentSetup.pads[padnum];
|
||||
}
|
||||
else
|
||||
{
|
||||
pad = (PadRecord *)&g_chraiCurrentSetup.boundpads[getBoundPadNum(padnum)];
|
||||
pad = (PadRecord *)&g_CurrentSetup.boundpads[getBoundPadNum(padnum)];
|
||||
}
|
||||
|
||||
if (pad->stan && chr)
|
||||
@@ -11877,11 +11836,11 @@ bool check_if_actor_is_at_preset(ChrRecord *self, s32 padnum)
|
||||
|
||||
if (isNotBoundPad(padnum))
|
||||
{
|
||||
pad = (PadRecord *)&g_chraiCurrentSetup.pads[padnum];
|
||||
pad = (PadRecord *)&g_CurrentSetup.pads[padnum];
|
||||
}
|
||||
else
|
||||
{
|
||||
pad = (PadRecord *)&g_chraiCurrentSetup.boundpads[getBoundPadNum(padnum)];
|
||||
pad = (PadRecord *)&g_CurrentSetup.boundpads[getBoundPadNum(padnum)];
|
||||
}
|
||||
|
||||
if (pad->stan && (pad->stan->room == bondprop->stan->room))
|
||||
|
||||
+31
-8
@@ -6,17 +6,40 @@
|
||||
|
||||
// Value is 3, it just needs to be less than MAX_CHRWAYPOINTS
|
||||
#define PATH_FINDING_WP_LIMIT (MAX_CHRWAYPOINTS - 3)
|
||||
# ifdef REFRESH_PAL
|
||||
# define CHRLV_FRAMERATE_F 50.0f
|
||||
|
||||
#endif
|
||||
#ifdef REFRESH_PAL
|
||||
#define CHRLV_RECENT_TIME_CHECK 151
|
||||
#define CHRLV_TICK_DEAD_CHECK 75
|
||||
#define CHRLV_SEEN_RECENT_CHECK 100
|
||||
#define CHRLV_LASTMOVEOK60_CHECK 50
|
||||
#define CHRLV_ATTACKWALK_CLOCK_TIMER30_MIN 0x11
|
||||
#define CHRLV_ATTACKWALK_CLOCK_TIMER30_MAX 0x1a
|
||||
#define CHRLV_ATTACKWALK_TIMER40_A 0x4b
|
||||
#define CHRLV_ATTACKWALK_TIMER40_B 0x10
|
||||
#define CHRLV_ATTACKWALK_TIMER40_C 0x96
|
||||
#define CHRLV_ATTACKWALK_TIMER40_D 0x21
|
||||
|
||||
#define CHRLV_DEFAULT_TIMER 0x96
|
||||
#define CHRLV_10_SEC_TIMER 0x1f4 /* 500 */
|
||||
#define CHRLV_FRAMERATE_F 50.0f
|
||||
|
||||
#else
|
||||
|
||||
#define CHRLV_RECENT_TIME_CHECK 181
|
||||
#define CHRLV_TICK_DEAD_CHECK 90
|
||||
#define CHRLV_SEEN_RECENT_CHECK 120
|
||||
#define CHRLV_LASTMOVEOK60_CHECK 60
|
||||
#define CHRLV_ATTACKWALK_CLOCK_TIMER30_MIN 0x15
|
||||
#define CHRLV_ATTACKWALK_CLOCK_TIMER30_MAX 0x1F
|
||||
#define CHRLV_ATTACKWALK_TIMER40_A 0x5a
|
||||
#define CHRLV_ATTACKWALK_TIMER40_B 0x14
|
||||
#define CHRLV_ATTACKWALK_TIMER40_C 0xb4
|
||||
#define CHRLV_ATTACKWALK_TIMER40_D 0x28
|
||||
|
||||
#define CHRLV_DEFAULT_TIMER 0xb4
|
||||
#define CHRLV_10_SEC_TIMER 0x258 /* 600 */
|
||||
#define CHRLV_FRAMERATE_F 60.0f
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -41,10 +41,10 @@ extern struct ModelNode player_gait_hdr;
|
||||
extern struct ModelNode player_gait_pos_hdr_1;
|
||||
extern struct ModelNode player_gait_pos_hdr_2;
|
||||
extern struct ModelNode player_gait_pos_hdr_3;
|
||||
extern struct ModelNode_HeaderRecord player_gait_obj;
|
||||
extern struct ModelNode_GroupRecord player_gait_pos_1;
|
||||
extern struct ModelNode_GroupRecord player_gait_pos_2;
|
||||
extern struct ModelNode_GroupRecord player_gait_pos_3;
|
||||
extern struct ModelRoData_HeaderRecord player_gait_obj;
|
||||
extern struct ModelRoData_GroupRecord player_gait_pos_1;
|
||||
extern struct ModelRoData_GroupRecord player_gait_pos_2;
|
||||
extern struct ModelRoData_GroupRecord player_gait_pos_3;
|
||||
|
||||
extern struct ModelFileHeader player_gait_object_header;
|
||||
|
||||
|
||||
+771
-1850
File diff suppressed because it is too large.
Load diff
@@ -72,7 +72,7 @@ void sub_GAME_7F055B78(PropRecord *arg0, DoorRecord *arg1);
|
||||
Gfx *chrobjRenderProp(PropRecord *arg0, Gfx *arg1, s32 arg2);
|
||||
|
||||
f32 chrobjFogVisRangeRelated(PropRecord *prop, f32 size);
|
||||
s32 sub_GAME_7F054A64(PropRecord *, struct view4s32 *);
|
||||
s32 sub_GAME_7F054A64(PropRecord *prop, bbox2d *bbox);
|
||||
|
||||
// note: rgba to rgb
|
||||
void sub_GAME_7F040384(rgba_s32 *arg0, s32 arg1, rgba_f32 *arg2);
|
||||
@@ -84,7 +84,7 @@ bool alarmIsActive();
|
||||
void init_trigger_toxic_gas_effect(coord3d *source);
|
||||
void chrSetWeaponFlag4(ChrRecord *chr, GUNHAND hand);
|
||||
void sub_GAME_7F053B10(DoorRecord *door);
|
||||
void sub_GAME_7F053598(DoorRecord *door);
|
||||
void doorActivatePortal(DoorRecord *door);
|
||||
void sub_GAME_7F052B00(DoorRecord *door);
|
||||
s32 sub_GAME_7F0539B8(f32 vol);
|
||||
void monitorSetImageByNum(MonitorRecord *mon, s32 monAnimID);
|
||||
|
||||
+328
-932
File diff suppressed because it is too large.
Load diff
@@ -18,7 +18,7 @@
|
||||
*/
|
||||
void cleanupObjects(s32 stage)
|
||||
{
|
||||
object_standard *obj = g_chraiCurrentSetup.propDefs;
|
||||
object_standard *obj = g_CurrentSetup.propDefs;
|
||||
|
||||
if (obj != NULL)
|
||||
{
|
||||
@@ -111,8 +111,8 @@ glabel jpt_8004F210
|
||||
glabel cleanupObjects
|
||||
/* 03C030 7F007500 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 03C034 7F007504 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 03C038 7F007508 3C108007 */ lui $s0, %hi(g_chraiCurrentSetup+0x0c)
|
||||
/* 03C03C 7F00750C 8E105D0C */ lw $s0, %lo(g_chraiCurrentSetup+0x0c)($s0)
|
||||
/* 03C038 7F007508 3C108007 */ lui $s0, %hi(g_CurrentSetup+0x0c)
|
||||
/* 03C03C 7F00750C 8E105D0C */ lw $s0, %lo(g_CurrentSetup+0x0c)($s0)
|
||||
/* 03C040 7F007510 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 03C044 7F007514 AFA40020 */ sw $a0, 0x20($sp)
|
||||
/* 03C048 7F007518 52000019 */ beql $s0, $zero, .L7F007580
|
||||
|
||||
@@ -7,7 +7,7 @@ void cleanup_window_pieces(void) {
|
||||
s32 i;
|
||||
for (i = 0; i < SHATTERED_WINDOW_PIECES_BUFFER_LEN; i++)
|
||||
{
|
||||
ptr_shattered_window_pieces[i].piece = NULL;
|
||||
ptr_shattered_window_pieces[i].piece = 0;
|
||||
}
|
||||
}
|
||||
|
||||
+14
-12
@@ -1,18 +1,20 @@
|
||||
#include <ultra64.h>
|
||||
#include "compiletime.h"
|
||||
|
||||
#ifdef VERSION_US
|
||||
char *get_compile_time(void) {
|
||||
return "Jun 29 1997 20:46:05";
|
||||
}
|
||||
#elif VERSION_EU
|
||||
char *get_compile_time(void) {
|
||||
return "Jul 31 1997 14:53:03";
|
||||
}
|
||||
#elif VERSION_JP
|
||||
char *get_compile_time(void) {
|
||||
return "Jul 10 1997 14:53:37";
|
||||
}
|
||||
#ifdef BYTEMATCH
|
||||
#ifdef VERSION_US
|
||||
char *get_compile_time(void) {
|
||||
return "Jun 29 1997 20:46:05";
|
||||
}
|
||||
#elif VERSION_EU
|
||||
char *get_compile_time(void) {
|
||||
return "Jul 31 1997 14:53:03";
|
||||
}
|
||||
#elif VERSION_JP
|
||||
char *get_compile_time(void) {
|
||||
return "Jul 10 1997 14:53:37";
|
||||
}
|
||||
#endif
|
||||
#else
|
||||
char *get_compile_time(void) {
|
||||
return __DATE__" " __TIME__;
|
||||
|
||||
+115
-355
@@ -4,25 +4,22 @@
|
||||
#include "chr.h"
|
||||
#include "chr_b.h"
|
||||
#include "deb_loadallmodels.h"
|
||||
#include "loadobjectmodel.h"
|
||||
#include "aicommands2.h"
|
||||
#include "dyn.h"
|
||||
#include "memp.h"
|
||||
|
||||
//i belong in a header, probably to another file
|
||||
|
||||
ChrRecord global_action_block_temp_buffer = { 0 };
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
u32 global_action_block_temp_buffer[119] = {0};
|
||||
|
||||
s32 weapon_models_for_weapon_load[] = {
|
||||
WeaponProjectileModels weapon_models_for_weapon_load = {
|
||||
PROJECTILES_TYPE_KNIFE, PROJECTILES_TYPE_GRENADE,
|
||||
PROJECTILES_TYPE_REMOTE_MINE, PROJECTILES_TYPE_PROX_MINE,
|
||||
PROJECTILES_TYPE_TIMED_MINE, PROJECTILES_TYPE_ROCKET_ROUND,
|
||||
PROJECTILES_TYPE_GLAUNCH_ROUND, 0xFFFFFFFF
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
void init_obj_register_difficulty_vals(void) {
|
||||
objectiveregisters1 = 0;
|
||||
g_AiAccuracyModifier = 1.0f;
|
||||
@@ -33,359 +30,122 @@ void init_obj_register_difficulty_vals(void) {
|
||||
}
|
||||
|
||||
|
||||
void alloc_false_GUARDdata_to_exec_global_action(void)
|
||||
{
|
||||
s32 i;
|
||||
s32 count;
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void alloc_false_GUARDdata_to_exec_global_action(void) {
|
||||
g_ActiveChrs = NULL;
|
||||
g_ActiveChrsCount = 0;
|
||||
|
||||
if (!g_CurrentSetup.ailists) { return; }
|
||||
|
||||
count = 0;
|
||||
|
||||
// Count the number of background AI lists
|
||||
i = 0;
|
||||
while (g_CurrentSetup.ailists[i].ailist)
|
||||
{
|
||||
if (g_CurrentSetup.ailists[i].ID >= 0x1000)
|
||||
{
|
||||
g_ActiveChrsCount++;
|
||||
}
|
||||
|
||||
i++;
|
||||
}
|
||||
|
||||
if (g_ActiveChrsCount > 0)
|
||||
{
|
||||
ChrRecord tmp;
|
||||
|
||||
// Allocate BG chrs
|
||||
g_ActiveChrs = mempAllocBytesInBank(ALIGN16_a(g_ActiveChrsCount * sizeof(ChrRecord)), MEMPOOL_STAGE);
|
||||
|
||||
// Initialise BG chrs
|
||||
i = 0;
|
||||
while (g_CurrentSetup.ailists[i].ailist)
|
||||
{
|
||||
if (g_CurrentSetup.ailists[i].ID >= 0x1000)
|
||||
{
|
||||
tmp = global_action_block_temp_buffer;
|
||||
|
||||
g_ActiveChrs[count] = tmp;
|
||||
|
||||
g_ActiveChrs[count].chrnum = 0xFE;
|
||||
g_ActiveChrs[count].ailist = g_CurrentSetup.ailists[i].ailist;
|
||||
g_ActiveChrs[count].aioffset = 0;
|
||||
g_ActiveChrs[count].aireturnlist = -1;
|
||||
g_ActiveChrs[count].actiontype = ACT_NULL;
|
||||
count++;
|
||||
}
|
||||
|
||||
i++;
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel alloc_false_GUARDdata_to_exec_global_action
|
||||
/* 035B8C 7F00105C 3C0D8007 */ lui $t5, %hi(g_chraiCurrentSetup+0)
|
||||
/* 035B90 7F001060 25AD5D00 */ addiu $t5, %lo(g_chraiCurrentSetup+0) # addiu $t5, $t5, 0x5d00
|
||||
/* 035B94 7F001064 8DA50014 */ lw $a1, 0x14($t5)
|
||||
/* 035B98 7F001068 3C028003 */ lui $v0, %hi(g_ActiveChrsCount)
|
||||
/* 035B9C 7F00106C 3C068003 */ lui $a2, %hi(g_ActiveChrs)
|
||||
/* 035BA0 7F001070 24C6097C */ addiu $a2, %lo(g_ActiveChrs) # addiu $a2, $a2, 0x97c
|
||||
/* 035BA4 7F001074 24420980 */ addiu $v0, %lo(g_ActiveChrsCount) # addiu $v0, $v0, 0x980
|
||||
/* 035BA8 7F001078 27BDFDF8 */ addiu $sp, $sp, -0x208
|
||||
/* 035BAC 7F00107C AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 035BB0 7F001080 ACC00000 */ sw $zero, ($a2)
|
||||
/* 035BB4 7F001084 10A00070 */ beqz $a1, .L7F001248
|
||||
/* 035BB8 7F001088 AC400000 */ sw $zero, ($v0)
|
||||
/* 035BBC 7F00108C 8CAE0000 */ lw $t6, ($a1)
|
||||
/* 035BC0 7F001090 00A01825 */ move $v1, $a1
|
||||
/* 035BC4 7F001094 00003825 */ move $a3, $zero
|
||||
/* 035BC8 7F001098 11C0000C */ beqz $t6, .L7F0010CC
|
||||
/* 035BCC 7F00109C 24050004 */ li $a1, 4
|
||||
/* 035BD0 7F0010A0 8C6F0004 */ lw $t7, 4($v1)
|
||||
.L7F0010A4:
|
||||
/* 035BD4 7F0010A4 29E11000 */ slti $at, $t7, 0x1000
|
||||
/* 035BD8 7F0010A8 54200005 */ bnezl $at, .L7F0010C0
|
||||
/* 035BDC 7F0010AC 8C6E0008 */ lw $t6, 8($v1)
|
||||
/* 035BE0 7F0010B0 8C580000 */ lw $t8, ($v0)
|
||||
/* 035BE4 7F0010B4 27190001 */ addiu $t9, $t8, 1
|
||||
/* 035BE8 7F0010B8 AC590000 */ sw $t9, ($v0)
|
||||
/* 035BEC 7F0010BC 8C6E0008 */ lw $t6, 8($v1)
|
||||
.L7F0010C0:
|
||||
/* 035BF0 7F0010C0 24630008 */ addiu $v1, $v1, 8
|
||||
/* 035BF4 7F0010C4 55C0FFF7 */ bnezl $t6, .L7F0010A4
|
||||
/* 035BF8 7F0010C8 8C6F0004 */ lw $t7, 4($v1)
|
||||
.L7F0010CC:
|
||||
/* 035BFC 7F0010CC 8C430000 */ lw $v1, ($v0)
|
||||
/* 035C00 7F0010D0 00004025 */ move $t0, $zero
|
||||
/* 035C04 7F0010D4 1860005C */ blez $v1, .L7F001248
|
||||
/* 035C08 7F0010D8 00032100 */ sll $a0, $v1, 4
|
||||
/* 035C0C 7F0010DC 00832023 */ subu $a0, $a0, $v1
|
||||
/* 035C10 7F0010E0 000420C0 */ sll $a0, $a0, 3
|
||||
/* 035C14 7F0010E4 00832023 */ subu $a0, $a0, $v1
|
||||
/* 035C18 7F0010E8 00042080 */ sll $a0, $a0, 2
|
||||
/* 035C1C 7F0010EC 2484000F */ addiu $a0, $a0, 0xf
|
||||
/* 035C20 7F0010F0 348F000F */ ori $t7, $a0, 0xf
|
||||
/* 035C24 7F0010F4 39E4000F */ xori $a0, $t7, 0xf
|
||||
/* 035C28 7F0010F8 0C0025C8 */ jal mempAllocBytesInBank
|
||||
/* 035C2C 7F0010FC AFA70200 */ sw $a3, 0x200($sp)
|
||||
/* 035C30 7F001100 3C0D8007 */ lui $t5, %hi(g_chraiCurrentSetup+0)
|
||||
/* 035C34 7F001104 25AD5D00 */ addiu $t5, %lo(g_chraiCurrentSetup+0) # addiu $t5, $t5, 0x5d00
|
||||
/* 035C38 7F001108 8DA50014 */ lw $a1, 0x14($t5)
|
||||
/* 035C3C 7F00110C 3C068003 */ lui $a2, %hi(g_ActiveChrs)
|
||||
/* 035C40 7F001110 24C6097C */ addiu $a2, %lo(g_ActiveChrs) # addiu $a2, $a2, 0x97c
|
||||
/* 035C44 7F001114 ACC20000 */ sw $v0, ($a2)
|
||||
/* 035C48 7F001118 8CB90000 */ lw $t9, ($a1)
|
||||
/* 035C4C 7F00111C 8FA70200 */ lw $a3, 0x200($sp)
|
||||
/* 035C50 7F001120 00002025 */ move $a0, $zero
|
||||
/* 035C54 7F001124 13200048 */ beqz $t9, .L7F001248
|
||||
/* 035C58 7F001128 00A01825 */ move $v1, $a1
|
||||
/* 035C5C 7F00112C 3C088003 */ lui $t0, %hi(global_action_block_temp_buffer)
|
||||
/* 035C60 7F001130 2508A060 */ addiu $t0, %lo(global_action_block_temp_buffer) # addiu $t0, $t0, -0x5fa0
|
||||
/* 035C64 7F001134 240C001A */ li $t4, 26
|
||||
/* 035C68 7F001138 240BFFFF */ li $t3, -1
|
||||
/* 035C6C 7F00113C 240A00FE */ li $t2, 254
|
||||
/* 035C70 7F001140 240901DC */ li $t1, 476
|
||||
/* 035C74 7F001144 27A50024 */ addiu $a1, $sp, 0x24
|
||||
/* 035C78 7F001148 8C6E0004 */ lw $t6, 4($v1)
|
||||
.L7F00114C:
|
||||
/* 035C7C 7F00114C 0100C825 */ move $t9, $t0
|
||||
/* 035C80 7F001150 251801D4 */ addiu $t8, $t0, 0x1d4
|
||||
/* 035C84 7F001154 29C11000 */ slti $at, $t6, 0x1000
|
||||
/* 035C88 7F001158 14200036 */ bnez $at, .L7F001234
|
||||
/* 035C8C 7F00115C 00A07025 */ move $t6, $a1
|
||||
.L7F001160:
|
||||
/* 035C90 7F001160 8F210000 */ lw $at, ($t9)
|
||||
/* 035C94 7F001164 2739000C */ addiu $t9, $t9, 0xc
|
||||
/* 035C98 7F001168 25CE000C */ addiu $t6, $t6, 0xc
|
||||
/* 035C9C 7F00116C ADC1FFF4 */ sw $at, -0xc($t6)
|
||||
/* 035CA0 7F001170 8F21FFF8 */ lw $at, -8($t9)
|
||||
/* 035CA4 7F001174 ADC1FFF8 */ sw $at, -8($t6)
|
||||
/* 035CA8 7F001178 8F21FFFC */ lw $at, -4($t9)
|
||||
/* 035CAC 7F00117C 1738FFF8 */ bne $t9, $t8, .L7F001160
|
||||
/* 035CB0 7F001180 ADC1FFFC */ sw $at, -4($t6)
|
||||
/* 035CB4 7F001184 00E90019 */ multu $a3, $t1
|
||||
/* 035CB8 7F001188 8F210000 */ lw $at, ($t9)
|
||||
/* 035CBC 7F00118C ADC10000 */ sw $at, ($t6)
|
||||
/* 035CC0 7F001190 8F380004 */ lw $t8, 4($t9)
|
||||
/* 035CC4 7F001194 ADD80004 */ sw $t8, 4($t6)
|
||||
/* 035CC8 7F001198 8CCF0000 */ lw $t7, ($a2)
|
||||
/* 035CCC 7F00119C 00001012 */ mflo $v0
|
||||
/* 035CD0 7F0011A0 24AE01D4 */ addiu $t6, $a1, 0x1d4
|
||||
/* 035CD4 7F0011A4 01E2C021 */ addu $t8, $t7, $v0
|
||||
/* 035CD8 7F0011A8 00A07825 */ move $t7, $a1
|
||||
.L7F0011AC:
|
||||
/* 035CDC 7F0011AC 8DE10000 */ lw $at, ($t7)
|
||||
/* 035CE0 7F0011B0 25EF000C */ addiu $t7, $t7, 0xc
|
||||
/* 035CE4 7F0011B4 2718000C */ addiu $t8, $t8, 0xc
|
||||
/* 035CE8 7F0011B8 AF01FFF4 */ sw $at, -0xc($t8)
|
||||
/* 035CEC 7F0011BC 8DE1FFF8 */ lw $at, -8($t7)
|
||||
/* 035CF0 7F0011C0 AF01FFF8 */ sw $at, -8($t8)
|
||||
/* 035CF4 7F0011C4 8DE1FFFC */ lw $at, -4($t7)
|
||||
/* 035CF8 7F0011C8 15EEFFF8 */ bne $t7, $t6, .L7F0011AC
|
||||
/* 035CFC 7F0011CC AF01FFFC */ sw $at, -4($t8)
|
||||
/* 035D00 7F0011D0 8DE10000 */ lw $at, ($t7)
|
||||
/* 035D04 7F0011D4 24E70001 */ addiu $a3, $a3, 1
|
||||
/* 035D08 7F0011D8 AF010000 */ sw $at, ($t8)
|
||||
/* 035D0C 7F0011DC 8DEE0004 */ lw $t6, 4($t7)
|
||||
/* 035D10 7F0011E0 AF0E0004 */ sw $t6, 4($t8)
|
||||
/* 035D14 7F0011E4 8CD90000 */ lw $t9, ($a2)
|
||||
/* 035D18 7F0011E8 03227021 */ addu $t6, $t9, $v0
|
||||
/* 035D1C 7F0011EC A5CA0000 */ sh $t2, ($t6)
|
||||
/* 035D20 7F0011F0 8DAF0014 */ lw $t7, 0x14($t5)
|
||||
/* 035D24 7F0011F4 8CCE0000 */ lw $t6, ($a2)
|
||||
/* 035D28 7F0011F8 01E4C021 */ addu $t8, $t7, $a0
|
||||
/* 035D2C 7F0011FC 8F190000 */ lw $t9, ($t8)
|
||||
/* 035D30 7F001200 01C27821 */ addu $t7, $t6, $v0
|
||||
/* 035D34 7F001204 ADF90104 */ sw $t9, 0x104($t7)
|
||||
/* 035D38 7F001208 8CD80000 */ lw $t8, ($a2)
|
||||
/* 035D3C 7F00120C 03027021 */ addu $t6, $t8, $v0
|
||||
/* 035D40 7F001210 A5C00108 */ sh $zero, 0x108($t6)
|
||||
/* 035D44 7F001214 8CD90000 */ lw $t9, ($a2)
|
||||
/* 035D48 7F001218 03227821 */ addu $t7, $t9, $v0
|
||||
/* 035D4C 7F00121C A5EB010A */ sh $t3, 0x10a($t7)
|
||||
/* 035D50 7F001220 8CD80000 */ lw $t8, ($a2)
|
||||
/* 035D54 7F001224 03027021 */ addu $t6, $t8, $v0
|
||||
/* 035D58 7F001228 A1CC0007 */ sb $t4, 7($t6)
|
||||
/* 035D5C 7F00122C 8DB90014 */ lw $t9, 0x14($t5)
|
||||
/* 035D60 7F001230 03241821 */ addu $v1, $t9, $a0
|
||||
.L7F001234:
|
||||
/* 035D64 7F001234 8C6F0008 */ lw $t7, 8($v1)
|
||||
/* 035D68 7F001238 24840008 */ addiu $a0, $a0, 8
|
||||
/* 035D6C 7F00123C 24630008 */ addiu $v1, $v1, 8
|
||||
/* 035D70 7F001240 55E0FFC2 */ bnezl $t7, .L7F00114C
|
||||
/* 035D74 7F001244 8C6E0004 */ lw $t6, 4($v1)
|
||||
.L7F001248:
|
||||
/* 035D78 7F001248 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 035D7C 7F00124C 27BD0208 */ addiu $sp, $sp, 0x208
|
||||
/* 035D80 7F001250 03E00008 */ jr $ra
|
||||
/* 035D84 7F001254 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
#ifdef NONMATCHING
|
||||
|
||||
void debug_object_load_all_models(void)
|
||||
{
|
||||
for i = 0 to sizeof(g_currentsetup.ailist)/4)
|
||||
switch (g_currentSetup.ailist[i])
|
||||
case AI_DROPGUNTYPE:
|
||||
# ifdef DEBUG
|
||||
osSyncPrintf("loaded dropguntype obj = % d\n", obj);
|
||||
# endif
|
||||
case AI_CREATECHRHEADATCHR:
|
||||
# ifdef DEBUG
|
||||
osSyncPrintf("loaded createchrheadatchr obj=%d\n", obj);
|
||||
osSyncPrintf("loaded createchrheadatchr obj=%d (head)\n", obj);
|
||||
# endif
|
||||
case AI_CREATECHRHEAD:
|
||||
# ifdef DEBUG
|
||||
osSyncPrintf("loaded createchrhead obj=%d (body)\n", obj);
|
||||
osSyncPrintf("loaded createchrhead obj=%d (head)\n", obj);
|
||||
# endif
|
||||
case AI_CREATEWEAPONHELDCHR:
|
||||
# ifdef DEBUG
|
||||
osSyncPrintf("loaded createweaponheldchr obj=%d\n", obj);
|
||||
osSyncPrintf("loaded createweaponheldchr obj=%d (ammo)\n", obj);
|
||||
# endif
|
||||
case AI_CREATEHATONCHR:
|
||||
# ifdef DEBUG
|
||||
osSyncPrintf("loaded createhatonchr obj=%d\n", obj);
|
||||
# endif
|
||||
u8 *cmd = &g_CurrentSetup.ailists[0].ailist->cmd;
|
||||
s32 i = 0;
|
||||
u16 id;
|
||||
|
||||
if (!cmd) { return; }
|
||||
|
||||
do
|
||||
{
|
||||
while (TRUE)
|
||||
{
|
||||
if (cmd[0] == AI_EndList)
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
switch (cmd[0])
|
||||
{
|
||||
case AI_TRYDroppingItem:
|
||||
id = cmd[2] | (cmd[1] << 8);
|
||||
if (modelLoad(id));
|
||||
break;
|
||||
|
||||
case AI_TRYSpawningChrAtPad:
|
||||
load_body_head_if_not_loaded(cmd[1]);
|
||||
if ((s8)cmd[2] >= 0 && load_body_head_if_not_loaded((s8)cmd[2]));
|
||||
break;
|
||||
|
||||
case AI_TRYSpawningChrNextToChr:
|
||||
load_body_head_if_not_loaded(cmd[1]);
|
||||
if ((s8)cmd[2] >= 0 && load_body_head_if_not_loaded((s8)cmd[2]));
|
||||
break;
|
||||
|
||||
case AI_TRYGiveMeItem:
|
||||
modelLoad(cmd[2] | (cmd[1] << 8));
|
||||
if (weaponLoadProjectileModels(cmd[3]));
|
||||
break;
|
||||
|
||||
case AI_TRYGiveMeHat:
|
||||
modelLoad(cmd[2] | (cmd[1] << 8));
|
||||
break;
|
||||
}
|
||||
|
||||
cmd += chraiitemsize(cmd, 0);
|
||||
}
|
||||
|
||||
i++;
|
||||
cmd = &g_CurrentSetup.ailists[i].ailist->cmd;
|
||||
} while (cmd);
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel debug_object_load_all_models
|
||||
/* 035D88 7F001258 27BDFFC8 */ addiu $sp, $sp, -0x38
|
||||
/* 035D8C 7F00125C 3C0E8007 */ lui $t6, %hi(g_chraiCurrentSetup+0x14)
|
||||
/* 035D90 7F001260 8DCE5D14 */ lw $t6, %lo(g_chraiCurrentSetup+0x14)($t6)
|
||||
/* 035D94 7F001264 AFBF0034 */ sw $ra, 0x34($sp)
|
||||
/* 035D98 7F001268 AFB70030 */ sw $s7, 0x30($sp)
|
||||
/* 035D9C 7F00126C AFB6002C */ sw $s6, 0x2c($sp)
|
||||
/* 035DA0 7F001270 AFB50028 */ sw $s5, 0x28($sp)
|
||||
/* 035DA4 7F001274 AFB40024 */ sw $s4, 0x24($sp)
|
||||
/* 035DA8 7F001278 AFB30020 */ sw $s3, 0x20($sp)
|
||||
/* 035DAC 7F00127C AFB2001C */ sw $s2, 0x1c($sp)
|
||||
/* 035DB0 7F001280 AFB10018 */ sw $s1, 0x18($sp)
|
||||
/* 035DB4 7F001284 AFB00014 */ sw $s0, 0x14($sp)
|
||||
/* 035DB8 7F001288 8DD00000 */ lw $s0, ($t6)
|
||||
/* 035DBC 7F00128C 241500BF */ li $s5, 191
|
||||
/* 035DC0 7F001290 241600C0 */ li $s6, 192
|
||||
/* 035DC4 7F001294 12000052 */ beqz $s0, .L7F0013E0
|
||||
/* 035DC8 7F001298 0000B825 */ move $s7, $zero
|
||||
/* 035DCC 7F00129C 241400BE */ li $s4, 190
|
||||
/* 035DD0 7F0012A0 241300BD */ li $s3, 189
|
||||
/* 035DD4 7F0012A4 2412001B */ li $s2, 27
|
||||
/* 035DD8 7F0012A8 24110004 */ li $s1, 4
|
||||
.L7F0012AC:
|
||||
/* 035DDC 7F0012AC 92030000 */ lbu $v1, ($s0)
|
||||
.L7F0012B0:
|
||||
/* 035DE0 7F0012B0 3C0F8007 */ lui $t7, %hi(g_chraiCurrentSetup+0x14)
|
||||
/* 035DE4 7F0012B4 16230004 */ bne $s1, $v1, .L7F0012C8
|
||||
/* 035DE8 7F0012B8 00000000 */ nop
|
||||
/* 035DEC 7F0012BC 8DEF5D14 */ lw $t7, %lo(g_chraiCurrentSetup+0x14)($t7)
|
||||
/* 035DF0 7F0012C0 10000042 */ b .L7F0013CC
|
||||
/* 035DF4 7F0012C4 01F71021 */ addu $v0, $t7, $s7
|
||||
.L7F0012C8:
|
||||
/* 035DF8 7F0012C8 5072000C */ beql $v1, $s2, .L7F0012FC
|
||||
/* 035DFC 7F0012CC 92180001 */ lbu $t8, 1($s0)
|
||||
/* 035E00 7F0012D0 10730013 */ beq $v1, $s3, .L7F001320
|
||||
/* 035E04 7F0012D4 00000000 */ nop
|
||||
/* 035E08 7F0012D8 1074001C */ beq $v1, $s4, .L7F00134C
|
||||
/* 035E0C 7F0012DC 00000000 */ nop
|
||||
/* 035E10 7F0012E0 50750026 */ beql $v1, $s5, .L7F00137C
|
||||
/* 035E14 7F0012E4 920A0001 */ lbu $t2, 1($s0)
|
||||
/* 035E18 7F0012E8 5076002F */ beql $v1, $s6, .L7F0013A8
|
||||
/* 035E1C 7F0012EC 920D0001 */ lbu $t5, 1($s0)
|
||||
/* 035E20 7F0012F0 10000032 */ b .L7F0013BC
|
||||
/* 035E24 7F0012F4 02002025 */ move $a0, $s0
|
||||
/* 035E28 7F0012F8 92180001 */ lbu $t8, 1($s0)
|
||||
.L7F0012FC:
|
||||
/* 035E2C 7F0012FC 92080002 */ lbu $t0, 2($s0)
|
||||
/* 035E30 7F001300 0018CA00 */ sll $t9, $t8, 8
|
||||
/* 035E34 7F001304 03281025 */ or $v0, $t9, $t0
|
||||
/* 035E38 7F001308 0FC15B0E */ jal modelLoad
|
||||
/* 035E3C 7F00130C 3044FFFF */ andi $a0, $v0, 0xffff
|
||||
/* 035E40 7F001310 5040002A */ beql $v0, $zero, .L7F0013BC
|
||||
/* 035E44 7F001314 02002025 */ move $a0, $s0
|
||||
/* 035E48 7F001318 10000028 */ b .L7F0013BC
|
||||
/* 035E4C 7F00131C 02002025 */ move $a0, $s0
|
||||
.L7F001320:
|
||||
/* 035E50 7F001320 0FC08CA4 */ jal load_body_head_if_not_loaded
|
||||
/* 035E54 7F001324 92040001 */ lbu $a0, 1($s0)
|
||||
/* 035E58 7F001328 82040002 */ lb $a0, 2($s0)
|
||||
/* 035E5C 7F00132C 04820023 */ bltzl $a0, .L7F0013BC
|
||||
/* 035E60 7F001330 02002025 */ move $a0, $s0
|
||||
/* 035E64 7F001334 0FC08CA4 */ jal load_body_head_if_not_loaded
|
||||
/* 035E68 7F001338 00000000 */ nop
|
||||
/* 035E6C 7F00133C 5040001F */ beql $v0, $zero, .L7F0013BC
|
||||
/* 035E70 7F001340 02002025 */ move $a0, $s0
|
||||
/* 035E74 7F001344 1000001D */ b .L7F0013BC
|
||||
/* 035E78 7F001348 02002025 */ move $a0, $s0
|
||||
.L7F00134C:
|
||||
/* 035E7C 7F00134C 0FC08CA4 */ jal load_body_head_if_not_loaded
|
||||
/* 035E80 7F001350 92040001 */ lbu $a0, 1($s0)
|
||||
/* 035E84 7F001354 82040002 */ lb $a0, 2($s0)
|
||||
/* 035E88 7F001358 04820018 */ bltzl $a0, .L7F0013BC
|
||||
/* 035E8C 7F00135C 02002025 */ move $a0, $s0
|
||||
/* 035E90 7F001360 0FC08CA4 */ jal load_body_head_if_not_loaded
|
||||
/* 035E94 7F001364 00000000 */ nop
|
||||
/* 035E98 7F001368 50400014 */ beql $v0, $zero, .L7F0013BC
|
||||
/* 035E9C 7F00136C 02002025 */ move $a0, $s0
|
||||
/* 035EA0 7F001370 10000012 */ b .L7F0013BC
|
||||
/* 035EA4 7F001374 02002025 */ move $a0, $s0
|
||||
/* 035EA8 7F001378 920A0001 */ lbu $t2, 1($s0)
|
||||
.L7F00137C:
|
||||
/* 035EAC 7F00137C 920C0002 */ lbu $t4, 2($s0)
|
||||
/* 035EB0 7F001380 000A5A00 */ sll $t3, $t2, 8
|
||||
/* 035EB4 7F001384 0FC15B0E */ jal modelLoad
|
||||
/* 035EB8 7F001388 016C2025 */ or $a0, $t3, $t4
|
||||
/* 035EBC 7F00138C 0FC015C4 */ jal weaponLoadProjectileModels
|
||||
/* 035EC0 7F001390 92040003 */ lbu $a0, 3($s0)
|
||||
/* 035EC4 7F001394 50400009 */ beql $v0, $zero, .L7F0013BC
|
||||
/* 035EC8 7F001398 02002025 */ move $a0, $s0
|
||||
/* 035ECC 7F00139C 10000007 */ b .L7F0013BC
|
||||
/* 035ED0 7F0013A0 02002025 */ move $a0, $s0
|
||||
/* 035ED4 7F0013A4 920D0001 */ lbu $t5, 1($s0)
|
||||
.L7F0013A8:
|
||||
/* 035ED8 7F0013A8 920F0002 */ lbu $t7, 2($s0)
|
||||
/* 035EDC 7F0013AC 000D7200 */ sll $t6, $t5, 8
|
||||
/* 035EE0 7F0013B0 0FC15B0E */ jal modelLoad
|
||||
/* 035EE4 7F0013B4 01CF2025 */ or $a0, $t6, $t7
|
||||
/* 035EE8 7F0013B8 02002025 */ move $a0, $s0
|
||||
.L7F0013BC:
|
||||
/* 035EEC 7F0013BC 0FC0D27F */ jal chraiitemsize
|
||||
/* 035EF0 7F0013C0 00002825 */ move $a1, $zero
|
||||
/* 035EF4 7F0013C4 1000FFB9 */ b .L7F0012AC
|
||||
/* 035EF8 7F0013C8 02028021 */ addu $s0, $s0, $v0
|
||||
.L7F0013CC:
|
||||
/* 035EFC 7F0013CC 8C500008 */ lw $s0, 8($v0)
|
||||
/* 035F00 7F0013D0 26F70008 */ addiu $s7, $s7, 8
|
||||
/* 035F04 7F0013D4 24420008 */ addiu $v0, $v0, 8
|
||||
/* 035F08 7F0013D8 5600FFB5 */ bnezl $s0, .L7F0012B0
|
||||
/* 035F0C 7F0013DC 92030000 */ lbu $v1, ($s0)
|
||||
.L7F0013E0:
|
||||
/* 035F10 7F0013E0 8FBF0034 */ lw $ra, 0x34($sp)
|
||||
/* 035F14 7F0013E4 8FB00014 */ lw $s0, 0x14($sp)
|
||||
/* 035F18 7F0013E8 8FB10018 */ lw $s1, 0x18($sp)
|
||||
/* 035F1C 7F0013EC 8FB2001C */ lw $s2, 0x1c($sp)
|
||||
/* 035F20 7F0013F0 8FB30020 */ lw $s3, 0x20($sp)
|
||||
/* 035F24 7F0013F4 8FB40024 */ lw $s4, 0x24($sp)
|
||||
/* 035F28 7F0013F8 8FB50028 */ lw $s5, 0x28($sp)
|
||||
/* 035F2C 7F0013FC 8FB6002C */ lw $s6, 0x2c($sp)
|
||||
/* 035F30 7F001400 8FB70030 */ lw $s7, 0x30($sp)
|
||||
/* 035F34 7F001404 03E00008 */ jr $ra
|
||||
/* 035F38 7F001408 27BD0038 */ addiu $sp, $sp, 0x38
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void debug_weapon_load_table(void) {
|
||||
void debug_weapon_load_table(void)
|
||||
{
|
||||
WeaponProjectileModels tmp = weapon_models_for_weapon_load;
|
||||
s32 i;
|
||||
|
||||
for (i = 0; tmp.array[i] >= 0; i++)
|
||||
{
|
||||
modelLoad(tmp.array[i]);
|
||||
if (1);
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel debug_weapon_load_table
|
||||
/* 035F3C 7F00140C 27BDFFB0 */ addiu $sp, $sp, -0x50
|
||||
/* 035F40 7F001410 3C0F8003 */ lui $t7, %hi(weapon_models_for_weapon_load)
|
||||
/* 035F44 7F001414 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 035F48 7F001418 AFB00018 */ sw $s0, 0x18($sp)
|
||||
/* 035F4C 7F00141C 25EFA23C */ addiu $t7, %lo(weapon_models_for_weapon_load) # addiu $t7, $t7, -0x5dc4
|
||||
/* 035F50 7F001420 8DE10000 */ lw $at, ($t7)
|
||||
/* 035F54 7F001424 8DE80004 */ lw $t0, 4($t7)
|
||||
/* 035F58 7F001428 27AE0030 */ addiu $t6, $sp, 0x30
|
||||
/* 035F5C 7F00142C ADC10000 */ sw $at, ($t6)
|
||||
/* 035F60 7F001430 ADC80004 */ sw $t0, 4($t6)
|
||||
/* 035F64 7F001434 8DE8000C */ lw $t0, 0xc($t7)
|
||||
/* 035F68 7F001438 8DE10008 */ lw $at, 8($t7)
|
||||
/* 035F6C 7F00143C 27B00030 */ addiu $s0, $sp, 0x30
|
||||
/* 035F70 7F001440 ADC8000C */ sw $t0, 0xc($t6)
|
||||
/* 035F74 7F001444 ADC10008 */ sw $at, 8($t6)
|
||||
/* 035F78 7F001448 8DE10010 */ lw $at, 0x10($t7)
|
||||
/* 035F7C 7F00144C 8DE80014 */ lw $t0, 0x14($t7)
|
||||
/* 035F80 7F001450 ADC10010 */ sw $at, 0x10($t6)
|
||||
/* 035F84 7F001454 ADC80014 */ sw $t0, 0x14($t6)
|
||||
/* 035F88 7F001458 8DE8001C */ lw $t0, 0x1c($t7)
|
||||
/* 035F8C 7F00145C 8DE10018 */ lw $at, 0x18($t7)
|
||||
/* 035F90 7F001460 ADC8001C */ sw $t0, 0x1c($t6)
|
||||
/* 035F94 7F001464 ADC10018 */ sw $at, 0x18($t6)
|
||||
/* 035F98 7F001468 8FA90030 */ lw $t1, 0x30($sp)
|
||||
/* 035F9C 7F00146C 05220009 */ bltzl $t1, .L7F001494
|
||||
/* 035FA0 7F001470 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 035FA4 7F001474 8E040000 */ lw $a0, ($s0)
|
||||
.L7F001478:
|
||||
/* 035FA8 7F001478 0FC15B0E */ jal modelLoad
|
||||
/* 035FAC 7F00147C 00000000 */ nop
|
||||
/* 035FB0 7F001480 8E040004 */ lw $a0, 4($s0)
|
||||
/* 035FB4 7F001484 26100004 */ addiu $s0, $s0, 4
|
||||
/* 035FB8 7F001488 0481FFFB */ bgez $a0, .L7F001478
|
||||
/* 035FBC 7F00148C 00000000 */ nop
|
||||
/* 035FC0 7F001490 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
.L7F001494:
|
||||
/* 035FC4 7F001494 8FB00018 */ lw $s0, 0x18($sp)
|
||||
/* 035FC8 7F001498 27BD0050 */ addiu $sp, $sp, 0x50
|
||||
/* 035FCC 7F00149C 03E00008 */ jr $ra
|
||||
/* 035FD0 7F0014A0 00000000 */ nop
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
@@ -2,6 +2,22 @@
|
||||
#define _DEB_LOADALLMODELS_H_
|
||||
#include <ultra64.h>
|
||||
|
||||
typedef struct WeaponProjectileModels {
|
||||
union {
|
||||
struct {
|
||||
s32 knife;
|
||||
s32 grenade;
|
||||
s32 remote;
|
||||
s32 prox;
|
||||
s32 timed;
|
||||
s32 rocket;
|
||||
s32 glaunch;
|
||||
s32 none;
|
||||
};
|
||||
s32 array[8];
|
||||
};
|
||||
} WeaponProjectileModels;
|
||||
|
||||
void init_obj_register_difficulty_vals(void);
|
||||
|
||||
#endif
|
||||
@@ -644,7 +644,7 @@ s32 debug_menu_processor(s8 stick_h, s8 stick_v, u16 button_held, u16 button_pre
|
||||
player_pos_x.x = (f32) playerprop->position.x;
|
||||
player_pos_x.y = (f32) playerprop->position.y;
|
||||
player_pos_x.z = (f32) playerprop->position.z;
|
||||
#ifdef DEBUG
|
||||
#ifdef ENABLE_LOG
|
||||
osSyncPrintf("%s%sbond world pos=%f,%f,%f dist from prev=%f\n",
|
||||
"",
|
||||
"",
|
||||
|
||||
@@ -92,7 +92,7 @@ glabel decompressdata
|
||||
|
||||
|
||||
|
||||
s32 sub_GAME_7F0CE894(void) {
|
||||
s32 rzipGetSomething(void) {
|
||||
return (rz_inbuf + rz_inptr);
|
||||
}
|
||||
|
||||
|
||||
@@ -5,6 +5,6 @@
|
||||
|
||||
|
||||
u32 decompressdata(u8 *src, u8 *dst, struct huft *hlist);
|
||||
s32 sub_GAME_7F0CE894(void);
|
||||
s32 rzipGetSomething(void);
|
||||
|
||||
#endif
|
||||
@@ -1,58 +1,34 @@
|
||||
#include <ultra64.h>
|
||||
#include "ejectedcartridges.h"
|
||||
#include "bondtypes.h"
|
||||
#include "gun.h"
|
||||
|
||||
// Copied from another file. Might need code reorganization to prevent the use of extra externs.
|
||||
extern s32 dword_CODE_bss_80075DB0;
|
||||
extern s32 dword_CODE_bss_80075DB4;
|
||||
extern ALSoundState* dword_CODE_bss_80075DB8[4];
|
||||
|
||||
extern u32 cartridges_eject;
|
||||
extern u32 D_80034CA0;
|
||||
|
||||
extern CartridgeModelFileRecord ejected_cartridge[] ;
|
||||
|
||||
void init_ejected_cartridges(void) {
|
||||
int i = 0;
|
||||
dword_CODE_bss_80075DB0 = 0;
|
||||
|
||||
while (i < 4)
|
||||
{
|
||||
dword_CODE_bss_80075DB8[i] = NULL;
|
||||
i++;
|
||||
}
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void something_with_ejected_cartridges(void) {
|
||||
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel something_with_ejected_cartridges
|
||||
/* 039B70 7F005040 27BDFFE0 */ addiu $sp, $sp, -0x20
|
||||
/* 039B74 7F005044 3C018007 */ lui $at, %hi(dword_CODE_bss_80075DB0)
|
||||
/* 039B78 7F005048 3C028007 */ lui $v0, %hi(dword_CODE_bss_80075DB8)
|
||||
/* 039B7C 7F00504C 3C038007 */ lui $v1, %hi(dword_CODE_bss_80075DC8)
|
||||
/* 039B80 7F005050 AFBF001C */ sw $ra, 0x1c($sp)
|
||||
/* 039B84 7F005054 AFB10018 */ sw $s1, 0x18($sp)
|
||||
/* 039B88 7F005058 AFB00014 */ sw $s0, 0x14($sp)
|
||||
/* 039B8C 7F00505C AC205DB0 */ sw $zero, %lo(dword_CODE_bss_80075DB0)($at)
|
||||
/* 039B90 7F005060 24635DC8 */ addiu $v1, %lo(dword_CODE_bss_80075DC8) # addiu $v1, $v1, 0x5dc8
|
||||
/* 039B94 7F005064 24425DB8 */ addiu $v0, %lo(dword_CODE_bss_80075DB8) # addiu $v0, $v0, 0x5db8
|
||||
.L7F005068:
|
||||
/* 039B98 7F005068 24420004 */ addiu $v0, $v0, 4
|
||||
/* 039B9C 7F00506C 0043082B */ sltu $at, $v0, $v1
|
||||
/* 039BA0 7F005070 1420FFFD */ bnez $at, .L7F005068
|
||||
/* 039BA4 7F005074 AC40FFFC */ sw $zero, -4($v0)
|
||||
/* 039BA8 7F005078 3C0E8003 */ lui $t6, %hi(ejected_cartridge)
|
||||
/* 039BAC 7F00507C 8DCE246C */ lw $t6, %lo(ejected_cartridge)($t6)
|
||||
/* 039BB0 7F005080 3C018003 */ lui $at, %hi(cartridges_eject)
|
||||
/* 039BB4 7F005084 AC204C9C */ sw $zero, %lo(cartridges_eject)($at)
|
||||
/* 039BB8 7F005088 3C018003 */ lui $at, %hi(D_80034CA0)
|
||||
/* 039BBC 7F00508C 11C0000B */ beqz $t6, .L7F0050BC
|
||||
/* 039BC0 7F005090 AC204CA0 */ sw $zero, %lo(D_80034CA0)($at)
|
||||
/* 039BC4 7F005094 3C0F8003 */ lui $t7, %hi(ejected_cartridge)
|
||||
/* 039BC8 7F005098 25F0246C */ addiu $s0, $t7, %lo(ejected_cartridge)
|
||||
/* 039BCC 7F00509C 8E110000 */ lw $s1, ($s0)
|
||||
/* 039BD0 7F0050A0 02202025 */ move $a0, $s1
|
||||
.L7F0050A4:
|
||||
/* 039BD4 7F0050A4 0FC1D953 */ jal fileLoad
|
||||
/* 039BD8 7F0050A8 8E050004 */ lw $a1, 4($s0)
|
||||
/* 039BDC 7F0050AC 8E110008 */ lw $s1, 8($s0)
|
||||
/* 039BE0 7F0050B0 26100008 */ addiu $s0, $s0, 8
|
||||
/* 039BE4 7F0050B4 5620FFFB */ bnezl $s1, .L7F0050A4
|
||||
/* 039BE8 7F0050B8 02202025 */ move $a0, $s1
|
||||
.L7F0050BC:
|
||||
/* 039BEC 7F0050BC 8FBF001C */ lw $ra, 0x1c($sp)
|
||||
/* 039BF0 7F0050C0 8FB00014 */ lw $s0, 0x14($sp)
|
||||
/* 039BF4 7F0050C4 8FB10018 */ lw $s1, 0x18($sp)
|
||||
/* 039BF8 7F0050C8 03E00008 */ jr $ra
|
||||
/* 039BFC 7F0050CC 27BD0020 */ addiu $sp, $sp, 0x20
|
||||
)
|
||||
#endif
|
||||
i = 0;
|
||||
cartridges_eject = 0;
|
||||
D_80034CA0 = 0;
|
||||
|
||||
while (ejected_cartridge[i].header != 0) {
|
||||
fileLoad(ejected_cartridge[i].header, ejected_cartridge[i].text);
|
||||
i++;
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,6 @@
|
||||
#define _EJECTEDCARTRIDGES_H_
|
||||
#include <ultra64.h>
|
||||
|
||||
void something_with_ejected_cartridges(void);
|
||||
void init_ejected_cartridges(void);
|
||||
|
||||
#endif
|
||||
+358
-1822
File diff suppressed because it is too large.
Load diff
+56
-42
@@ -9,7 +9,7 @@
|
||||
#define SMOKE_PARTS_LEN 10
|
||||
#define SCORCH_BUFFER_LEN 20
|
||||
#define BULLET_IMPACT_BUFFER_LEN 100
|
||||
#define MAX_BULLET_CASINGS 200
|
||||
#define MAX_FLYING_PARTICLES 200
|
||||
|
||||
typedef struct s_smoketype {
|
||||
s16 duration;
|
||||
@@ -71,7 +71,9 @@ struct Explosion {
|
||||
u32 unk04;
|
||||
struct ExplosionPart parts[EXPLOSION_PARTS_LEN];
|
||||
u32 unk3C8;
|
||||
u32 unk3CC;
|
||||
s8 unk3CC;
|
||||
u8 unk3CD;
|
||||
u16 unk3CE;
|
||||
u32 unk3D0;
|
||||
u32 unk3D4;
|
||||
u32 unk3D8;
|
||||
@@ -92,7 +94,8 @@ struct SmokePart
|
||||
|
||||
struct Smoke {
|
||||
PropRecord *prop;
|
||||
u32 unk04;
|
||||
s16 unk04;
|
||||
s16 unk06;
|
||||
struct SmokePart parts[SMOKE_PARTS_LEN]; /*0x008*/
|
||||
};
|
||||
|
||||
@@ -132,77 +135,88 @@ struct BulletImpact {
|
||||
u32 unk0C;
|
||||
|
||||
u32 unk10;
|
||||
u32 unk14;
|
||||
u16 unk14;
|
||||
s8 unk16;
|
||||
s8 unk17;
|
||||
u32 unk18;
|
||||
u32 unk1C;
|
||||
|
||||
u32 unk20;
|
||||
u32 unk24;
|
||||
u16 unk24;
|
||||
s8 unk26;
|
||||
s8 unk27;
|
||||
u32 unk28;
|
||||
u32 unk2C;
|
||||
|
||||
u32 unk30;
|
||||
u32 unk34;
|
||||
u16 unk34;
|
||||
s8 unk36;
|
||||
s8 unk37;
|
||||
u32 unk38;
|
||||
u32 unk3C;
|
||||
|
||||
u32 unk40;
|
||||
u32 unk44;
|
||||
u16 unk44;
|
||||
s8 unk46;
|
||||
s8 unk47;
|
||||
u32 unk48;
|
||||
u32 unk4C;
|
||||
s8 unk4C;
|
||||
s8 unk4D;
|
||||
s16 unk4E;
|
||||
};
|
||||
|
||||
struct EjectedCasing {
|
||||
struct FlyingParticles_unk38 {
|
||||
s16 unk00;
|
||||
s16 unk02;
|
||||
s16 unk04;
|
||||
s16 unk06;
|
||||
s16 unk08;
|
||||
s16 unk0A;
|
||||
s8 unk0C;
|
||||
s8 unk0D;
|
||||
s8 unk0E;
|
||||
u8 unk0F;
|
||||
};
|
||||
|
||||
struct FlyingParticles {
|
||||
s32 unk00;
|
||||
u32 unk04;
|
||||
u32 unk08;
|
||||
u32 unk0C;
|
||||
|
||||
u32 unk10;
|
||||
u32 unk14;
|
||||
u32 unk18;
|
||||
u32 unk1C;
|
||||
// coord3d?
|
||||
f32 x;
|
||||
f32 y;
|
||||
f32 z;
|
||||
|
||||
u32 unk20;
|
||||
u32 unk24;
|
||||
u32 unk28;
|
||||
u32 unk2C;
|
||||
// coord3d?
|
||||
f32 unk10;
|
||||
f32 unk14;
|
||||
f32 unk18;
|
||||
|
||||
u32 unk30;
|
||||
u32 unk34;
|
||||
u32 unk38;
|
||||
u32 unk3C;
|
||||
// coord3d?
|
||||
f32 unk1C;
|
||||
f32 unk20;
|
||||
f32 unk24;
|
||||
|
||||
u32 unk40;
|
||||
u32 unk44;
|
||||
u32 unk48;
|
||||
u32 unk4C;
|
||||
// coord3d?
|
||||
f32 unk28;
|
||||
f32 unk2C;
|
||||
f32 unk30;
|
||||
|
||||
u32 unk50;
|
||||
u32 unk54;
|
||||
u32 unk58;
|
||||
u32 unk5C;
|
||||
s32 unk34;
|
||||
|
||||
u32 unk60;
|
||||
u32 unk64;
|
||||
u32 unk68;
|
||||
u32 unk6C;
|
||||
|
||||
u32 unk70;
|
||||
u32 unk74;
|
||||
struct FlyingParticles_unk38 unk38[4];
|
||||
};
|
||||
|
||||
extern f32 D_80040178;
|
||||
extern char dword_CODE_bss_8007A100[];
|
||||
extern struct Smoke *ptr_smoke_buf;
|
||||
extern struct Explosion *ptr_explosion_buf;
|
||||
extern s32 max_casings;
|
||||
extern struct EjectedCasing *ptr_ejected_casing_buf;
|
||||
extern s32 max_particles;
|
||||
extern struct FlyingParticles *ptr_flying_particles_buf;
|
||||
extern struct Scorch *ptr_scorch_buf;
|
||||
extern struct BulletImpact *ptr_bullet_impact_buf;
|
||||
extern s32 numExplosionEntries;
|
||||
extern s32 numSmokeEntries;
|
||||
extern s32 numCasingEntries;
|
||||
extern s32 numParticleEntries;
|
||||
extern s32 numScorchEntries;
|
||||
extern s32 numImpactEntries;
|
||||
|
||||
|
||||
@@ -3,65 +3,6 @@
|
||||
#include "file2.h"
|
||||
#include "front.h"
|
||||
|
||||
/* EEPROM masks for in-game settings */
|
||||
#define OPTION_INVERTLOOK 0x0001
|
||||
#define OPTION_AUTOAIM 0x0002
|
||||
#define OPTION_AIMCONTROL 0x0004
|
||||
#define OPTION_SIGHTONSCREEN 0x0008
|
||||
#define OPTION_LOOKAHEAD 0x0010
|
||||
#define OPTION_DISPLAYAMMO 0x0020
|
||||
#define OPTION_SCREENWIDE 0x0040
|
||||
#define OPTION_SCREENRATIO 0x0080
|
||||
#define OPTION_CONTROLTYPE 0x0700
|
||||
#define OPTION_SCREENCINEMA 0x0800
|
||||
|
||||
#define DEFAULT_OPTIONS (OPTION_AUTOAIM | OPTION_SIGHTONSCREEN | OPTION_LOOKAHEAD | OPTION_DISPLAYAMMO)
|
||||
|
||||
// bss
|
||||
//CODE.bss:80069920
|
||||
//CODE.bss:80069980
|
||||
//CODE.bss:800699E0
|
||||
//CODE.bss:80069A40
|
||||
//CODE.bss:80069AA0
|
||||
//CODE.bss:80069B00
|
||||
save_data saves[6];
|
||||
|
||||
//CODE.bss:80069B60
|
||||
u32 dword_CODE_bss_80069B60;
|
||||
|
||||
|
||||
//data
|
||||
//D:8002C510
|
||||
s32 save_selected_bond[] = {0,0,0,0};
|
||||
|
||||
//D:8002C520
|
||||
save_data D_8002C520 = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0};
|
||||
//D:8002C580
|
||||
// Default Save
|
||||
save_data D_8002C580 = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0};
|
||||
//D:8002C5E0
|
||||
save_data D_8002C5E0 = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0};
|
||||
//D:8002C640
|
||||
smallSave blankSmallSave = {0, 0, 0x42};
|
||||
|
||||
//D:8002C660
|
||||
save_data D_8002C660 = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0};
|
||||
|
||||
//D:8002C6C0
|
||||
save_data D_8002C6C0 = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
|
||||
//D:8002C720
|
||||
save_data D_8002C720 = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
|
||||
//D:8002C780
|
||||
save_data D_8002C780 = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
|
||||
//D:8002C7E0
|
||||
save_data D_8002C7E0 = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
|
||||
//D:8002C840
|
||||
save_data D_8002C840 = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
|
||||
//D:8002C8A0
|
||||
save_data blank_eeprom = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
|
||||
|
||||
|
||||
|
||||
f32 get_007_reaction_speed(void)
|
||||
{
|
||||
if (lvlGetSelectedDifficulty() == DIFFICULTY_007) {
|
||||
|
||||
+63
-18
@@ -8,6 +8,51 @@
|
||||
#include "file2.h"
|
||||
#include "front.h"
|
||||
|
||||
|
||||
|
||||
// bss
|
||||
//CODE.bss:80069920
|
||||
//CODE.bss:80069980
|
||||
//CODE.bss:800699E0
|
||||
//CODE.bss:80069A40
|
||||
//CODE.bss:80069AA0
|
||||
//CODE.bss:80069B00
|
||||
save_data saves[6];
|
||||
|
||||
//CODE.bss:80069B60
|
||||
u32 dword_CODE_bss_80069B60;
|
||||
|
||||
//data
|
||||
//D:8002C510
|
||||
s32 save_selected_bond[] = {0,0,0,0};
|
||||
|
||||
//D:8002C520
|
||||
save_data D_8002C520 = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0};
|
||||
//D:8002C580
|
||||
// Default Save
|
||||
save_data D_8002C580 = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0};
|
||||
//D:8002C5E0
|
||||
save_data D_8002C5E0 = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0};
|
||||
//D:8002C640
|
||||
smallSave blankSmallSave = {0, 0, 0x42};
|
||||
|
||||
//D:8002C660
|
||||
save_data D_8002C660 = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0};
|
||||
|
||||
//D:8002C6C0
|
||||
save_data D_8002C6C0 = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
|
||||
//D:8002C720
|
||||
save_data D_8002C720 = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
|
||||
//D:8002C780
|
||||
save_data D_8002C780 = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
|
||||
//D:8002C7E0
|
||||
save_data D_8002C7E0 = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
|
||||
//D:8002C840
|
||||
save_data D_8002C840 = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
|
||||
//D:8002C8A0
|
||||
save_data blank_eeprom = {0, 0, 0x80, 0x00, 0xFF, 0xFF, DEFAULT_OPTIONS, 0x00, 0x00, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
*
|
||||
@@ -595,9 +640,9 @@ bool fileIsFolderValid(s32 folder)
|
||||
* @param foldernum
|
||||
* @param stage
|
||||
* @param difficulty
|
||||
* @return 0, 1, or 3
|
||||
* @return 0, 1, or 3 (STAGESTATUS_LOCKED, STAGESTATUS_UNLOCKED, STAGESTATUS_COMPLETED)
|
||||
*/
|
||||
s32 fileIsStageUnlockedAtDifficulty(s32 foldernum, LEVEL_SOLO_SEQUENCE stage, DIFFICULTY difficulty)
|
||||
STAGESTATUS fileIsStageUnlockedAtDifficulty(s32 foldernum, LEVEL_SOLO_SEQUENCE stage, DIFFICULTY difficulty)
|
||||
{
|
||||
save_data* save;
|
||||
s32 i;
|
||||
@@ -612,13 +657,13 @@ s32 fileIsStageUnlockedAtDifficulty(s32 foldernum, LEVEL_SOLO_SEQUENCE stage, DI
|
||||
{
|
||||
if ( fileGetSaveStageCompletedForDifficulty(save, stage, difficulty))
|
||||
{
|
||||
return 3; //found on first try, we are last completed stage
|
||||
return STAGESTATUS_COMPLETED; //found on first try, stage has been completed and a time saved.
|
||||
}
|
||||
|
||||
if ((stage == SP_LEVEL_AZTEC && difficulty < DIFFICULTY_SECRET) ||
|
||||
(stage == SP_LEVEL_EGYPT && difficulty < DIFFICULTY_00))
|
||||
{
|
||||
return 0; //we cant possibly have a completed bonus stage below each set dificulty
|
||||
return STAGESTATUS_LOCKED; //we cant possibly have a completed bonus stage below each set dificulty
|
||||
}
|
||||
|
||||
//still cant find it, do a search (this is probably how a cheat can unlock stages without having to actualy do them all)
|
||||
@@ -635,7 +680,7 @@ s32 fileIsStageUnlockedAtDifficulty(s32 foldernum, LEVEL_SOLO_SEQUENCE stage, DI
|
||||
//if the first uncomplete stage is not less than current
|
||||
if (stage <= istage)
|
||||
{
|
||||
return 1;
|
||||
return STAGESTATUS_UNLOCKED;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -646,7 +691,7 @@ s32 fileIsStageUnlockedAtDifficulty(s32 foldernum, LEVEL_SOLO_SEQUENCE stage, DI
|
||||
{
|
||||
if ( fileGetSaveStageCompletedForDifficulty(save, stage - 1, i))
|
||||
{
|
||||
return 1;
|
||||
return STAGESTATUS_UNLOCKED;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -673,7 +718,7 @@ s32 fileIsStageUnlockedAtDifficulty(s32 foldernum, LEVEL_SOLO_SEQUENCE stage, DI
|
||||
|
||||
if (difficulty <= i)
|
||||
{
|
||||
return 1;
|
||||
return STAGESTATUS_UNLOCKED;
|
||||
}
|
||||
}
|
||||
}// difficulty < DIFFICULTY_007
|
||||
@@ -682,23 +727,23 @@ s32 fileIsStageUnlockedAtDifficulty(s32 foldernum, LEVEL_SOLO_SEQUENCE stage, DI
|
||||
// no save, current level is dam, its unlocked.
|
||||
if (stage == SP_LEVEL_DAM)
|
||||
{
|
||||
return 1;
|
||||
return STAGESTATUS_UNLOCKED;
|
||||
}
|
||||
|
||||
// no save, cheat enabled, its unlocked.
|
||||
if (get_debug_enable_agent_levels_flag() && difficulty == DIFFICULTY_AGENT)
|
||||
{
|
||||
return 1;
|
||||
return STAGESTATUS_UNLOCKED;
|
||||
}
|
||||
|
||||
// no save, cheat enabled, its unlocked. (basically a repeat of above)
|
||||
if (get_debug_enable_all_levels_flag())
|
||||
{
|
||||
return 1;
|
||||
return STAGESTATUS_UNLOCKED;
|
||||
}
|
||||
}
|
||||
// After all that the stage is not unlocked
|
||||
return 0;
|
||||
return STAGESTATUS_LOCKED;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -874,7 +919,7 @@ LEVEL_SOLO_SEQUENCE fileGetHighestStageUnlockedForFolder(s32 foldernum)
|
||||
}
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
return SP_LEVEL_DAM;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -908,9 +953,9 @@ LEVEL_SOLO_SEQUENCE fileGetHighestStageUnlockedAnyFolder(void)
|
||||
*/
|
||||
bool fileIsCradleCompletedForFolder(s32 folder)
|
||||
{
|
||||
return ( fileIsStageUnlockedAtDifficulty(folder, SP_LEVEL_CRADLE, DIFFICULTY_AGENT) == 3) ||
|
||||
( fileIsStageUnlockedAtDifficulty(folder, SP_LEVEL_CRADLE, DIFFICULTY_SECRET) == 3) ||
|
||||
( fileIsStageUnlockedAtDifficulty(folder, SP_LEVEL_CRADLE, DIFFICULTY_00) == 3);
|
||||
return (fileIsStageUnlockedAtDifficulty(folder, SP_LEVEL_CRADLE, DIFFICULTY_AGENT) == STAGESTATUS_COMPLETED) ||
|
||||
(fileIsStageUnlockedAtDifficulty(folder, SP_LEVEL_CRADLE, DIFFICULTY_SECRET) == STAGESTATUS_COMPLETED) ||
|
||||
(fileIsStageUnlockedAtDifficulty(folder, SP_LEVEL_CRADLE, DIFFICULTY_00) == STAGESTATUS_COMPLETED);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -921,8 +966,8 @@ bool fileIsCradleCompletedForFolder(s32 folder)
|
||||
*/
|
||||
bool fileIsAztecCompletedOnSecretOr00ForFolder(s32 folder)
|
||||
{
|
||||
return ( fileIsStageUnlockedAtDifficulty(folder, SP_LEVEL_AZTEC, DIFFICULTY_SECRET) == 3) ||
|
||||
( fileIsStageUnlockedAtDifficulty(folder, SP_LEVEL_AZTEC, DIFFICULTY_00) == 3);
|
||||
return (fileIsStageUnlockedAtDifficulty(folder, SP_LEVEL_AZTEC, DIFFICULTY_SECRET) == STAGESTATUS_COMPLETED) ||
|
||||
(fileIsStageUnlockedAtDifficulty(folder, SP_LEVEL_AZTEC, DIFFICULTY_00) == STAGESTATUS_COMPLETED);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -933,7 +978,7 @@ bool fileIsAztecCompletedOnSecretOr00ForFolder(s32 folder)
|
||||
*/
|
||||
bool fileIsEgyptCompletedOn00ForFolder(int foldernum)
|
||||
{
|
||||
return fileIsStageUnlockedAtDifficulty(foldernum, SP_LEVEL_EGYPT, DIFFICULTY_00) == 3;
|
||||
return fileIsStageUnlockedAtDifficulty(foldernum, SP_LEVEL_EGYPT, DIFFICULTY_00) == STAGESTATUS_COMPLETED;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+16
-1
@@ -8,10 +8,25 @@
|
||||
|
||||
#define RAMROM_FOLDERNUM 0x64
|
||||
|
||||
/* EEPROM masks for in-game settings */
|
||||
#define OPTION_INVERTLOOK 0x0001
|
||||
#define OPTION_AUTOAIM 0x0002
|
||||
#define OPTION_AIMCONTROL 0x0004
|
||||
#define OPTION_SIGHTONSCREEN 0x0008
|
||||
#define OPTION_LOOKAHEAD 0x0010
|
||||
#define OPTION_DISPLAYAMMO 0x0020
|
||||
#define OPTION_SCREENWIDE 0x0040
|
||||
#define OPTION_SCREENRATIO 0x0080
|
||||
#define OPTION_CONTROLTYPE 0x0700
|
||||
#define OPTION_SCREENCINEMA 0x0800
|
||||
|
||||
#define DEFAULT_OPTIONS (OPTION_AUTOAIM | OPTION_SIGHTONSCREEN | OPTION_LOOKAHEAD | OPTION_DISPLAYAMMO)
|
||||
|
||||
|
||||
u8 fileGetBondForFolder(u32 folder);
|
||||
void fileValidateSaves(void);
|
||||
bool fileGetIsCheatUnlocked(save_data *save, s32 cheat);
|
||||
s32 fileIsStageUnlockedAtDifficulty(s32 foldernum, LEVEL_SOLO_SEQUENCE stage, DIFFICULTY difficulty);
|
||||
STAGESTATUS fileIsStageUnlockedAtDifficulty(s32 foldernum, LEVEL_SOLO_SEQUENCE stage, DIFFICULTY difficulty);
|
||||
void fileUnlockStageInFolderAtDifficulty(s32 foldernum, LEVEL_SOLO_SEQUENCE stage, DIFFICULTY difficulty, s32 newtime);
|
||||
void sub_GAME_7F01E760(s32 foldernum, s32 cheat);
|
||||
void fileLoadSettingsForFolder(u32 folder);
|
||||
|
||||
+976
-1272
File diff suppressed because it is too large.
Load diff
+15
-40
@@ -154,9 +154,9 @@ extern f32 flt_CODE_bss_8006960C;
|
||||
//CODE.bss:80069610
|
||||
extern f32 flt_CODE_bss_80069610;
|
||||
//CODE.bss:80069614
|
||||
extern f32 flt_CODE_bss_80069614;
|
||||
extern f32 ninLogoRotRate;
|
||||
//CODE.bss:80069618
|
||||
extern f32 flt_CODE_bss_80069618;
|
||||
extern f32 ninLogoScale;
|
||||
//CODE.bss:80069620
|
||||
extern coord3d dword_CODE_bss_80069620[0x4];
|
||||
|
||||
@@ -179,13 +179,7 @@ extern s32 mp_char_prev_select_player[4];
|
||||
extern s32 dword_CODE_bss_80069730[4];
|
||||
|
||||
//CODE.bss:80069740
|
||||
extern s32 has_selected_char_player1;
|
||||
//CODE.bss:80069744
|
||||
extern s32 has_selected_char_player2;
|
||||
//CODE.bss:80069748
|
||||
extern s32 has_selected_char_player3;
|
||||
//CODE.bss:8006974C
|
||||
extern s32 has_selected_char_player4;
|
||||
extern s32 player_has_selected_char[];
|
||||
//CODE.bss:80069750
|
||||
extern s32 size_mp_select_image_player1;
|
||||
//CODE.bss:80069754
|
||||
@@ -195,13 +189,7 @@ extern s32 size_mp_select_image_player3;
|
||||
//CODE.bss:8006975C
|
||||
extern s32 size_mp_select_image_player4;
|
||||
//CODE.bss:80069760
|
||||
extern s32 handicap_player1;
|
||||
//CODE.bss:80069764
|
||||
extern s32 handicap_player2;
|
||||
//CODE.bss:80069768
|
||||
extern s32 handicap_player3;
|
||||
//CODE.bss:8006976C
|
||||
extern s32 handicap_player4;
|
||||
extern s32 player_handicap[];
|
||||
//CODE.bss:80069770
|
||||
extern char* g_textPtrTAB1;
|
||||
//CODE.bss:80069774
|
||||
@@ -230,13 +218,7 @@ extern s32 highlight_enemy_damage;
|
||||
//CODE.bss:800697A4 .align 3
|
||||
|
||||
//CODE.bss:800697A8
|
||||
extern s32 handicap_player1;
|
||||
//CODE.bss:800697AC
|
||||
extern s32 handicap_player2;
|
||||
//CODE.bss:800697B0
|
||||
extern s32 handicap_player3;
|
||||
//CODE.bss:800697B4
|
||||
extern s32 handicap_player4;
|
||||
extern s32 player_handicap[];
|
||||
//CODE.bss:800697B8
|
||||
extern u32 controlstyle_player[];
|
||||
|
||||
@@ -267,13 +249,13 @@ CODE.bss:800697F0 dword_CODE_bss_800697F0:.space 0x130
|
||||
extern MENU current_menu;
|
||||
extern MENU menu_update;
|
||||
extern MENU maybe_prev_menu;
|
||||
extern s32 menu_timer;
|
||||
extern s32 tab_1_selected;
|
||||
extern s32 tab_2_selected;
|
||||
extern s32 tab_3_selected;
|
||||
extern s32 tab_1_highlight;
|
||||
extern s32 tab_2_highlight;
|
||||
extern s32 tab_3_highlight;
|
||||
extern s32 g_MenuTimer;
|
||||
extern s32 tab_start_selected;
|
||||
extern s32 tab_next_selected;
|
||||
extern s32 tab_prev_selected;
|
||||
extern s32 tab_start_highlight;
|
||||
extern s32 tab_next_highlight;
|
||||
extern s32 tab_prev_highlight;
|
||||
|
||||
extern f32 tab2_first_x_coord;
|
||||
extern f32 tab1_max_x_coord;
|
||||
@@ -286,7 +268,7 @@ extern s32 selected_stage;
|
||||
extern s32 briefingpage;
|
||||
extern DIFFICULTY selected_difficulty;
|
||||
extern s32 g_AppendCheatSinglePlayer;
|
||||
extern s32 append_cheat_mp;
|
||||
extern s32 g_AppendCheatMultiPlayer;
|
||||
extern f32 cursor_h_pos;
|
||||
extern f32 cursor_v_pos;
|
||||
extern s32 final_menu_briefing_page;
|
||||
@@ -307,11 +289,7 @@ extern s32 is_emulating_spectrum;
|
||||
extern s32 is_cheat_menu_available;
|
||||
extern Gfx * ptr_logo_and_walletbond_DL;
|
||||
extern s32 ptr_menu_videobuffer;
|
||||
extern struct object_standard * ptr_folder_object_instance;
|
||||
extern s32 set0_never_used;
|
||||
extern s32 set0_never_used_0;
|
||||
extern s32 D_8002A968;
|
||||
extern s32 dword_D_8002A96C;
|
||||
extern Model * walletinst[];
|
||||
extern struct rgba_u8 RGBA_8002A970;
|
||||
extern struct rgba_u8 RGBA_8002A974;
|
||||
extern struct rgba_u8 RGBA_8002A978;
|
||||
@@ -333,10 +311,7 @@ extern f32 slider_007_mode_accuracy;
|
||||
extern struct mission_folder_setup mission_folder_setup_entries[];
|
||||
|
||||
extern s32 selected_num_players;
|
||||
extern s32 player_1_char;
|
||||
extern s32 player_2_char;
|
||||
extern s32 player_3_char;
|
||||
extern s32 player_4_char;
|
||||
extern s32 player_char[];
|
||||
extern s32 MP_stage_selected;
|
||||
extern s32 game_length;
|
||||
extern s32 aim_sight_adjustment;
|
||||
|
||||
+1302
-8925
File diff suppressed because it is too large.
Load diff
+76
-10
@@ -183,6 +183,33 @@ typedef struct WeaponStats
|
||||
u32 BitFlags;
|
||||
} WeaponStats;
|
||||
|
||||
typedef struct AmmoStats {
|
||||
/**
|
||||
* The maximum amount of ammo.
|
||||
*/
|
||||
u32 MaxAmmo;
|
||||
|
||||
/**
|
||||
* Unknown (field 0x04).
|
||||
*/
|
||||
u16 field_04;
|
||||
|
||||
/**
|
||||
* Unknown (field 0x06).
|
||||
*/
|
||||
u16 field_06;
|
||||
|
||||
/**
|
||||
* Unknown (field 0x08).
|
||||
*/
|
||||
u16 field_08;
|
||||
|
||||
/**
|
||||
* Unknown (field 0x0A).
|
||||
*/
|
||||
u16 field_0A;
|
||||
} AmmoStats;
|
||||
|
||||
typedef struct GunModelFileRecord
|
||||
{
|
||||
ModelFileHeader * item_header;
|
||||
@@ -203,16 +230,50 @@ typedef struct GunModelFileRecord
|
||||
f32 equip_watch_z;
|
||||
} GunModelFileRecord;
|
||||
|
||||
typedef struct CasingRecord {
|
||||
f32 unk00;
|
||||
coord3d pos;
|
||||
coord3d vel;
|
||||
#if VERSION_EU
|
||||
f32 unk1C[3][3];
|
||||
f32 unk40[3][3];
|
||||
#else
|
||||
Mtxf unk1C;
|
||||
Mtxf unk5C;
|
||||
#endif
|
||||
ModelFileHeader *header;
|
||||
} CasingRecord;
|
||||
|
||||
typedef struct CartridgeModelFileRecord {
|
||||
ModelFileHeader* header;
|
||||
char * text;
|
||||
} CartridgeModelFileRecord;
|
||||
|
||||
#if defined(VERSION_EU)
|
||||
extern char dword_CODE_bss_80075DC8[20][104];
|
||||
#else
|
||||
extern char dword_CODE_bss_80075DC8[20][160];
|
||||
#endif
|
||||
struct RicochetSoundsSmall {
|
||||
u16 arr[20];
|
||||
};
|
||||
|
||||
struct PunchSounds {
|
||||
u16 arr[3];
|
||||
};
|
||||
|
||||
struct BulletFleshSounds {
|
||||
u16 arr[2];
|
||||
};
|
||||
|
||||
struct LaserRichochetSounds {
|
||||
u16 arr[2];
|
||||
};
|
||||
|
||||
struct RicochetSoundsLarge {
|
||||
u16 arr[36];
|
||||
};
|
||||
|
||||
struct EarWhistleSounds {
|
||||
s16 arr[5];
|
||||
};
|
||||
|
||||
extern CasingRecord g_Casings[20];
|
||||
|
||||
f32 bondwalkItemGetForceOfImpact(ITEM_IDS item);
|
||||
|
||||
@@ -232,7 +293,7 @@ void display_in_game_crosshair(s32 *gdl);
|
||||
|
||||
WeaponStats *get_ptr_item_statistics(ITEM_IDS item);
|
||||
|
||||
s32 getCurrentPlayerWeaponId(GUNHAND hand);
|
||||
ITEM_IDS getCurrentPlayerWeaponId(GUNHAND hand);
|
||||
s32 currentPlayerEquipWeaponWrapper(GUNHAND hand, s32 next_weapon);
|
||||
void sub_GAME_7F068E6C(void);
|
||||
void attempt_reload_item_in_hand(GUNHAND hand);
|
||||
@@ -249,8 +310,8 @@ f32 bondwalkItemGetDestructionAmount(ITEM_IDS item);
|
||||
u16 bondwalkItemGetSound(ITEM_IDS item);
|
||||
u8 bondwalkItemGetSoundTriggerRate(ITEM_IDS item);
|
||||
|
||||
void recall_joy2_hits_edit_detail_edit_flag(s32 arg0, u8 *arg1, s32 arg2);
|
||||
void recall_joy2_hits_edit_flag(s32 arg0, coord3d *arg1, s32 arg2);
|
||||
void recall_joy2_hits_edit_detail_edit_flag(enum ITEM_IDS item, PropRecord* prop, s32 texture_index);
|
||||
void recall_joy2_hits_edit_flag(enum ITEM_IDS item, coord3d* arg1, s32 texture_index);
|
||||
void sub_GAME_7F05EB0C(ObjectRecord *arg0, coord3d *arg1, StandTile *arg2, Mtxf *arg3, coord3d *arg4, Mtxf *arg5, PropRecord *arg6);
|
||||
void sub_GAME_7F061948(struct ChrRecord_f180 *arg0, ITEM_IDS item, coord3d *arg2, coord3d *arg3);
|
||||
void sub_GAME_7F068190(coord3d *arg0, coord3d *arg1);
|
||||
@@ -259,12 +320,17 @@ void inc_curplayer_hitcount_with_weapon(ITEM_IDS item, SHOT_REGISTER shot_regist
|
||||
s8 get_hands_firing_status(GUNHAND hand);
|
||||
void gunFireTankShell(s32 hand);
|
||||
void remove_item_in_hand(GUNHAND hand);
|
||||
void currentPlayerUnEquipWeaponWrapper(GUNHAND hand, s32 weapid);
|
||||
void currentPlayerUnEquipWeaponWrapper(enum GUNHAND hand, enum ITEM_IDS weapid);
|
||||
s32 currentPlayerGetAmmoCount(AMMOTYPE ammotype);
|
||||
s32 get_civilian_casualties(void);
|
||||
s32 Gun_hand_without_item(enum GUNHAND arg0);
|
||||
void sub_GAME_7F05FB00(enum GUNHAND hand);
|
||||
|
||||
void bgunCalculateBlend(s32 arg0);
|
||||
void bgunCalculateBlend(enum GUNHAND handnum);
|
||||
void gunSetBondWeaponSway(f32 arg0, f32 arg1, f32 speed_verta, f32 speed_theta);
|
||||
void gunSetOffsetRelated(f32 param_1);
|
||||
|
||||
s32 get_curplayer_shot_register(SHOT_REGISTER shot_register);
|
||||
void get_bullet_angle(f32* horizontal_angle, f32* vertical_angle);
|
||||
|
||||
#endif
|
||||
+2119
-6235
File diff suppressed because it is too large.
Load diff
+83
-12
@@ -3,22 +3,93 @@
|
||||
#include <ultra64.h>
|
||||
#include <bondconstants.h>
|
||||
|
||||
struct image_entry
|
||||
{
|
||||
HIT_TYPE hitSound : 4; //HitType-Sound
|
||||
HIT_TYPE hitTexture : 4; //HitType-Texture
|
||||
s32 size : 24; //this is u32 Size:24 - 24bit size/address
|
||||
char flag3; //Detailflag1 used once with value 0x38D2 (S/T offset of detail)
|
||||
char flag4; //DetailFlag2 difference from detail image, to large image, in terms of 2 to the power of value. It is subtracted from the small one, and absolute value or something. (Zoinkity)
|
||||
char flag5; //padding
|
||||
char flag6; //padding
|
||||
#define TEXFORMAT_RGBA32 0x00 // 32-bit RGBA (8/8/8/8)
|
||||
#define TEXFORMAT_RGBA16 0x01 // 16-bit RGBA (5/5/5/1)
|
||||
#define TEXFORMAT_RGB24 0x02 // 24-bit RGB (8/8/8)
|
||||
#define TEXFORMAT_RGB15 0x03 // 15-bit RGB (5/5/5)
|
||||
#define TEXFORMAT_IA16 0x04 // 16-bit grayscale+alpha
|
||||
#define TEXFORMAT_IA8 0x05 // 8-bit grayscale+alpha (4/4)
|
||||
#define TEXFORMAT_IA4 0x06 // 4-bit grayscale+alpha (3/1)
|
||||
#define TEXFORMAT_I8 0x07 // 8-bit grayscale
|
||||
#define TEXFORMAT_I4 0x08 // 4-bit grayscale
|
||||
#define TEXFORMAT_RGBA16_CI8 0x09 // 16-bit 5551 paletted colour with 8-bit palette indexes
|
||||
#define TEXFORMAT_RGBA16_CI4 0x0a // 16-bit 5551 paletted colour with 4-bit palette indexes
|
||||
#define TEXFORMAT_IA16_CI8 0x0b // 16-bit 88 paletted greyscale+alpha with 8-bit palette indexes
|
||||
#define TEXFORMAT_0C 0x0c
|
||||
|
||||
#define TEXCOMPMETHOD_UNCOMPRESSED0 0
|
||||
#define TEXCOMPMETHOD_UNCOMPRESSED1 1
|
||||
#define TEXCOMPMETHOD_HUFFMAN 2
|
||||
#define TEXCOMPMETHOD_HUFFMANPERHCHANNEL 3
|
||||
#define TEXCOMPMETHOD_RLE 4
|
||||
#define TEXCOMPMETHOD_LOOKUP 5
|
||||
#define TEXCOMPMETHOD_HUFFMANLOOKUP 6
|
||||
#define TEXCOMPMETHOD_RLELOOKUP 7
|
||||
#define TEXCOMPMETHOD_HUFFMANBLUR 8
|
||||
#define TEXCOMPMETHOD_RLEBLUR 9
|
||||
|
||||
struct texpool {
|
||||
u8 *start;
|
||||
struct tex *end;
|
||||
u8 *leftpos;
|
||||
struct tex *rightpos;
|
||||
};
|
||||
|
||||
extern s32 ptr_texture_alloc_start;
|
||||
extern struct image_entry image_entries[];
|
||||
extern s32 dword_CODE_bss_8008D090;
|
||||
struct tex {
|
||||
/*0x00*/ u16 texturenum : 12;
|
||||
/*0x00*/ u16 unk00_0c : 4;
|
||||
/*0x04*/ u8* data;
|
||||
/*0x08*/ u8 width;
|
||||
/*0x09*/ u8 height;
|
||||
/*0x0a*/ u8 unk0a;
|
||||
/*0x0b*/ u8 maxlod : 3;
|
||||
/*0x0b*/ u8 gbiformat : 3;
|
||||
/*0x0b*/ u8 depth : 2;
|
||||
/*0x0c*/ u32 lutmodeindex : 2;
|
||||
/*0x0c*/ u32 unk0c_02 : 1;
|
||||
/*0x0c*/ u32 unk0c_03 : 1;
|
||||
/*0x0c*/ u32 next : 24;
|
||||
};
|
||||
|
||||
struct image_entry
|
||||
{
|
||||
u8 hitSound : 4; // HitType-Sound (should be enum HIT_TYPE, but it needs to be unsigned)
|
||||
HIT_TYPE hitTexture : 4; // HitType-Texture
|
||||
u32 dataoffset : 24; // this is u32 Size:24 - 24bit size/address
|
||||
u32 flag3 : 4; // Detailflag1 used once with value 0x38D2 (S/T offset of detail)
|
||||
u32 flag4 : 4;
|
||||
u32 flag5 : 4; // DetailFlag2 difference from detail image, to large image, in terms of 2 to the power of value. It is subtracted from the small one, and absolute value or something. (Zoinkity)
|
||||
u32 flag6 : 4;
|
||||
};
|
||||
|
||||
struct texcacheitem {
|
||||
s16 texturenum;
|
||||
u8 widths[7];
|
||||
u8 heights[7];
|
||||
};
|
||||
|
||||
extern struct texcacheitem g_TexCacheItems[];
|
||||
extern struct texpool *ptr_texture_alloc_start;
|
||||
extern struct image_entry g_Textures[];
|
||||
extern s32 g_TexCacheCount;
|
||||
extern u32 bytes;
|
||||
|
||||
void nullsub_41(s32 arg0);
|
||||
|
||||
void texInflateHuffman(u8 *dst, s32 numiterations, s32 chansize);
|
||||
void texInflateRle(u8 *dst, s32 blockstotal);
|
||||
void texReadAlphaBits(u8 *image,s32 count);
|
||||
void texSwapAltRowBytes(u8 *dst, s32 width, s32 height, s32 format);
|
||||
void texBlur(u8 *pixels, s32 width, s32 height, s32 method, s32 chansize);
|
||||
s32 texAlignIndices(u8 *src, s32 width, s32 height, s32 format, u8 *dst);
|
||||
s32 texFindClosestColourIndexRGBA(u16 *palette, s32 numcolours, s32 r, s32 g, s32 b, s32 a);
|
||||
s32 texFindClosestColourIndexIA(u16 *palette, s32 numcolours, s32 intensity, s32 alpha);
|
||||
s32 texShrinkPaletted(u8 *src, u8 *dst, s32 srcwidth, s32 srcheight, s32 format, u16 *palette, s32 numcolours);
|
||||
struct tex *texFindInPool(s32 texturenum, struct texpool *arg1);
|
||||
s32 texFreeBytesInBuffer(struct texpool *arg0);
|
||||
s32 texInflateNonZlib(u8 *src, u8 *dst, s32 arg2, s32 forcenumimages, struct texpool *arg4);
|
||||
s32 texInflateZlib(u8 *src, u8 *dst, s32 arg2, s32 forcenumimages, struct texpool *arg4);
|
||||
void texLoad(s32 *updateword, struct texpool *pool);
|
||||
void texInitPool(struct texpool *arg0, u8 *arg1, s32 arg2);
|
||||
|
||||
#endif
|
||||
+68
-397
@@ -85,7 +85,7 @@ struct sImageTableEntry *mpstageselimages;
|
||||
extern u8* _GlobalimagetableSegmentRomStart;
|
||||
|
||||
|
||||
void makeemptyimageatpos(s32 pos) {
|
||||
void texSetBitstring(s32 pos) {
|
||||
img_curpos = pos;
|
||||
img_curdatatable = 0;
|
||||
img_bitcount = 0;
|
||||
@@ -93,7 +93,7 @@ void makeemptyimageatpos(s32 pos) {
|
||||
|
||||
|
||||
|
||||
u32 extractImageBitCount(s32 bitCount)
|
||||
u32 texReadBits(s32 bitCount)
|
||||
{
|
||||
if (img_bitcount < bitCount)
|
||||
{
|
||||
@@ -164,407 +164,78 @@ extern Gfx* globalDL_0x900;
|
||||
extern Gfx* globalDL_0x9a8;
|
||||
extern Gfx* globalDL_0xa50;
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void load_prepare_global_image_bank(void)
|
||||
void texReset(void)
|
||||
{
|
||||
|
||||
s32 size;
|
||||
u32 size;
|
||||
s32 i;
|
||||
|
||||
size = &_GlobalimagetableSegmentEnd - &_GlobalimagetableSegmentStart;
|
||||
pGlobalimagetable = ((mempAllocBytesInBank((size + 0x1000), 4) + 0xfff) & -0x1000);
|
||||
romCopy(pGlobalimagetable, &_GlobalimagetableSegmentRomStart, size);
|
||||
globalbank_rdram_offset = pGlobalimagetable + 0xFE000000;;
|
||||
genericimage = (void *) (globalbank_rdram_offset + &s_genericimage);
|
||||
impactimages = (void *) (globalbank_rdram_offset + &s_impactimages);
|
||||
explosion_smokeimages = (void *) (globalbank_rdram_offset + &s_explosion_smokeimages);
|
||||
scattered_explosions = (void *) (globalbank_rdram_offset + &s_scattered_explosions);
|
||||
flareimage1 = (void *) (globalbank_rdram_offset + &s_flareimage1);
|
||||
flareimage2 = (void *) (globalbank_rdram_offset + &s_flareimage2);
|
||||
flareimage3 = (void *) (globalbank_rdram_offset + &s_flareimage3);
|
||||
flareimage4 = (void *) (globalbank_rdram_offset + &s_flareimage4);
|
||||
flareimage5 = (void *) (globalbank_rdram_offset + &s_flareimage5);
|
||||
ammo9mmimage = (void *) (globalbank_rdram_offset + &s_ammo9mmimage);
|
||||
rifleammoimage = (void *) (globalbank_rdram_offset + &s_rifleammoimage);
|
||||
shotgunammoimage = (void *) (globalbank_rdram_offset + &s_shotgunammoimage);
|
||||
knifeammoimage = (void *) (globalbank_rdram_offset + &s_knifeammoimage);
|
||||
glaunchammoimage = (void *) (globalbank_rdram_offset + &s_glammoimage);
|
||||
rocketammoimage = (void *) (globalbank_rdram_offset + &s_rocketammoimage);
|
||||
genericmineammoimage = (void *) (globalbank_rdram_offset + &s_genericmineammoimage);
|
||||
grenadeammoimage = (void *) (globalbank_rdram_offset + &s_grenadeammoimage);
|
||||
magnumammoimage = (void *) (globalbank_rdram_offset + &s_magnumammoimage);
|
||||
goldengunammoimage = (void *) (globalbank_rdram_offset + &s_goldengunammoimage);
|
||||
remotemineammoimage = (void *) (globalbank_rdram_offset + &s_remotemineammoimage);
|
||||
timedmineammoimage = (void *) (globalbank_rdram_offset + &s_timedmineammoimage);
|
||||
proxmineammoimage = (void *) (globalbank_rdram_offset + &s_proxmineammoimage);
|
||||
tankammoimage = (void *) (globalbank_rdram_offset + &s_tankammoimage);
|
||||
crosshairimage = (void *) (globalbank_rdram_offset + &s_crosshairimage);
|
||||
betacrosshairimage = (void *) (globalbank_rdram_offset + &s_betacrosshairimage);
|
||||
glassoverlayimage = (void *) (globalbank_rdram_offset + &s_glassoverlayimage);
|
||||
monitorimages = (void *) (globalbank_rdram_offset + &s_monitorimages);
|
||||
skywaterimages = (void *) (globalbank_rdram_offset + &s_skywaterimages);
|
||||
mainfolderimages = (void *) (globalbank_rdram_offset + &s_mainfolderimages);
|
||||
mpradarimages = (void *) (globalbank_rdram_offset + &s_mpradarimages);
|
||||
mpcharselimages = (void *) (globalbank_rdram_offset + &s_mpcharselimages);
|
||||
mpstageselimages = (void *) (globalbank_rdram_offset + &s_mpstageselimages);
|
||||
check_load_image_to_buffer(globalbank_rdram_offset + &globalDL_0x000, 0);
|
||||
check_load_image_to_buffer(globalbank_rdram_offset + &globalDL_0x078, 0);
|
||||
check_load_image_to_buffer(globalbank_rdram_offset + &globalDL_0x120, 0);
|
||||
check_load_image_to_buffer(globalbank_rdram_offset + &globalDL_0x1c8, 0);
|
||||
check_load_image_to_buffer(globalbank_rdram_offset + &globalDL_0x270, 0);
|
||||
check_load_image_to_buffer(globalbank_rdram_offset + &globalDL_0x318, 0);
|
||||
check_load_image_to_buffer(globalbank_rdram_offset + &globalDL_0x3c0, 0);
|
||||
check_load_image_to_buffer(globalbank_rdram_offset + &globalDL_0x468, 0);
|
||||
check_load_image_to_buffer(globalbank_rdram_offset + &globalDL_0x510, 0);
|
||||
check_load_image_to_buffer(globalbank_rdram_offset + &globalDL_0x5b8, 0);
|
||||
check_load_image_to_buffer(globalbank_rdram_offset + &globalDL_0x660, 0);
|
||||
check_load_image_to_buffer(globalbank_rdram_offset + &globalDL_0x708, 0);
|
||||
check_load_image_to_buffer(globalbank_rdram_offset + &globalDL_0x7b0, 0);
|
||||
check_load_image_to_buffer(globalbank_rdram_offset + &globalDL_0x858, 0);
|
||||
check_load_image_to_buffer(globalbank_rdram_offset + &globalDL_0x900, 0);
|
||||
check_load_image_to_buffer(globalbank_rdram_offset + &globalDL_0x9a8, 0);
|
||||
check_load_image_to_buffer(globalbank_rdram_offset + &globalDL_0xa50, 0);
|
||||
load_image_to_buffer(genericimage, 0);
|
||||
size = (u32)&_GlobalimagetableSegmentEnd - (u32)&_GlobalimagetableSegmentStart;
|
||||
pGlobalimagetable = mempAllocBytesInBank(size + 0x1000, 4U);
|
||||
pGlobalimagetable = ((u32)pGlobalimagetable + 0xFFFU) & 0xFFFFF000;
|
||||
|
||||
for (i=0; i<0x48; i+=0xC)
|
||||
romCopy(pGlobalimagetable, &_GlobalimagetableSegmentRomStart, size);
|
||||
|
||||
globalbank_rdram_offset = (u32)pGlobalimagetable + 0xFE000000;
|
||||
genericimage = (void *) (globalbank_rdram_offset + (u32)&s_genericimage);
|
||||
impactimages = (void *) (globalbank_rdram_offset + (u32)&s_impactimages);
|
||||
explosion_smokeimages = (void *) (globalbank_rdram_offset + (u32)&s_explosion_smokeimages);
|
||||
scattered_explosions = (void *) (globalbank_rdram_offset + (u32)&s_scattered_explosions);
|
||||
flareimage1 = (void *) (globalbank_rdram_offset + (u32)&s_flareimage1);
|
||||
flareimage2 = (void *) (globalbank_rdram_offset + (u32)&s_flareimage2);
|
||||
flareimage3 = (void *) (globalbank_rdram_offset + (u32)&s_flareimage3);
|
||||
flareimage4 = (void *) (globalbank_rdram_offset + (u32)&s_flareimage4);
|
||||
flareimage5 = (void *) (globalbank_rdram_offset + (u32)&s_flareimage5);
|
||||
ammo9mmimage = (void *) (globalbank_rdram_offset + (u32)&s_ammo9mmimage);
|
||||
rifleammoimage = (void *) (globalbank_rdram_offset + (u32)&s_rifleammoimage);
|
||||
shotgunammoimage = (void *) (globalbank_rdram_offset + (u32)&s_shotgunammoimage);
|
||||
knifeammoimage = (void *) (globalbank_rdram_offset + (u32)&s_knifeammoimage);
|
||||
glaunchammoimage = (void *) (globalbank_rdram_offset + (u32)&s_glammoimage);
|
||||
rocketammoimage = (void *) (globalbank_rdram_offset + (u32)&s_rocketammoimage);
|
||||
genericmineammoimage = (void *) (globalbank_rdram_offset + (u32)&s_genericmineammoimage);
|
||||
grenadeammoimage = (void *) (globalbank_rdram_offset + (u32)&s_grenadeammoimage);
|
||||
magnumammoimage = (void *) (globalbank_rdram_offset + (u32)&s_magnumammoimage);
|
||||
goldengunammoimage = (void *) (globalbank_rdram_offset + (u32)&s_goldengunammoimage);
|
||||
remotemineammoimage = (void *) (globalbank_rdram_offset + (u32)&s_remotemineammoimage);
|
||||
timedmineammoimage = (void *) (globalbank_rdram_offset + (u32)&s_timedmineammoimage);
|
||||
proxmineammoimage = (void *) (globalbank_rdram_offset + (u32)&s_proxmineammoimage);
|
||||
tankammoimage = (void *) (globalbank_rdram_offset + (u32)&s_tankammoimage);
|
||||
crosshairimage = (void *) (globalbank_rdram_offset + (u32)&s_crosshairimage);
|
||||
betacrosshairimage = (void *) (globalbank_rdram_offset + (u32)&s_betacrosshairimage);
|
||||
glassoverlayimage = (void *) (globalbank_rdram_offset + (u32)&s_glassoverlayimage);
|
||||
monitorimages = (void *) (globalbank_rdram_offset + (u32)&s_monitorimages);
|
||||
skywaterimages = (void *) (globalbank_rdram_offset + (u32)&s_skywaterimages);
|
||||
mainfolderimages = (void *) (globalbank_rdram_offset + (u32)&s_mainfolderimages);
|
||||
mpradarimages = (void *) (globalbank_rdram_offset + (u32)&s_mpradarimages);
|
||||
mpcharselimages = (void *) (globalbank_rdram_offset + (u32)&s_mpcharselimages);
|
||||
mpstageselimages = (void *) (globalbank_rdram_offset + (u32)&s_mpstageselimages);
|
||||
|
||||
texLoadFromDisplayList(globalbank_rdram_offset + (u32)&globalDL_0x000, 0);
|
||||
texLoadFromDisplayList(globalbank_rdram_offset + (u32)&globalDL_0x078, 0);
|
||||
texLoadFromDisplayList(globalbank_rdram_offset + (u32)&globalDL_0x120, 0);
|
||||
texLoadFromDisplayList(globalbank_rdram_offset + (u32)&globalDL_0x1c8, 0);
|
||||
texLoadFromDisplayList(globalbank_rdram_offset + (u32)&globalDL_0x270, 0);
|
||||
texLoadFromDisplayList(globalbank_rdram_offset + (u32)&globalDL_0x318, 0);
|
||||
texLoadFromDisplayList(globalbank_rdram_offset + (u32)&globalDL_0x3c0, 0);
|
||||
texLoadFromDisplayList(globalbank_rdram_offset + (u32)&globalDL_0x468, 0);
|
||||
texLoadFromDisplayList(globalbank_rdram_offset + (u32)&globalDL_0x510, 0);
|
||||
texLoadFromDisplayList(globalbank_rdram_offset + (u32)&globalDL_0x5b8, 0);
|
||||
texLoadFromDisplayList(globalbank_rdram_offset + (u32)&globalDL_0x660, 0);
|
||||
texLoadFromDisplayList(globalbank_rdram_offset + (u32)&globalDL_0x708, 0);
|
||||
texLoadFromDisplayList(globalbank_rdram_offset + (u32)&globalDL_0x7b0, 0);
|
||||
texLoadFromDisplayList(globalbank_rdram_offset + (u32)&globalDL_0x858, 0);
|
||||
texLoadFromDisplayList(globalbank_rdram_offset + (u32)&globalDL_0x900, 0);
|
||||
texLoadFromDisplayList(globalbank_rdram_offset + (u32)&globalDL_0x9a8, 0);
|
||||
texLoadFromDisplayList(globalbank_rdram_offset + (u32)&globalDL_0xa50, 0);
|
||||
|
||||
texLoad(genericimage, 0);
|
||||
|
||||
for (i=0; i < 6; i++)
|
||||
{
|
||||
load_image_to_buffer(&explosion_smokeimages+i, 0);
|
||||
texLoad(&explosion_smokeimages[i], 0);
|
||||
}
|
||||
for (i=0; i<0x48; i+=0xC)
|
||||
|
||||
for (i=0; i < 5; i++)
|
||||
{
|
||||
load_image_to_buffer(&scattered_explosions+i, 0);
|
||||
texLoad(&scattered_explosions[i], 0);
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM(
|
||||
.text
|
||||
glabel load_prepare_global_image_bank
|
||||
/* 100AE0 7F0CBFB0 27BDFFD8 */ addiu $sp, $sp, -0x28
|
||||
/* 100AE4 7F0CBFB4 3C0E0200 */ lui $t6, %hi(_GlobalimagetableSegmentEnd) # $t6, 0x200
|
||||
/* 100AE8 7F0CBFB8 3C0F0200 */ lui $t7, %hi(_GlobalimagetableSegmentStart) # $t7, 0x200
|
||||
/* 100AEC 7F0CBFBC AFB00014 */ sw $s0, 0x14($sp)
|
||||
/* 100AF0 7F0CBFC0 25EF0000 */ addiu $t7, %lo(_GlobalimagetableSegmentStart) # addiu $t7, $t7, 0
|
||||
/* 100AF4 7F0CBFC4 25CE1400 */ addiu $t6, %lo(_GlobalimagetableSegmentEnd) # addiu $t6, $t6, 0x1400
|
||||
/* 100AF8 7F0CBFC8 AFBF0024 */ sw $ra, 0x24($sp)
|
||||
/* 100AFC 7F0CBFCC 01CF8023 */ subu $s0, $t6, $t7
|
||||
/* 100B00 7F0CBFD0 AFB30020 */ sw $s3, 0x20($sp)
|
||||
/* 100B04 7F0CBFD4 AFB2001C */ sw $s2, 0x1c($sp)
|
||||
/* 100B08 7F0CBFD8 AFB10018 */ sw $s1, 0x18($sp)
|
||||
/* 100B0C 7F0CBFDC 26041000 */ addiu $a0, $s0, 0x1000
|
||||
/* 100B10 7F0CBFE0 0C0025C8 */ jal mempAllocBytesInBank
|
||||
/* 100B14 7F0CBFE4 24050004 */ li $a1, 4
|
||||
/* 100B18 7F0CBFE8 3C118009 */ lui $s1, %hi(pGlobalimagetable)
|
||||
/* 100B1C 7F0CBFEC 2631D0B4 */ addiu $s1, %lo(pGlobalimagetable) # addiu $s1, $s1, -0x2f4c
|
||||
/* 100B20 7F0CBFF0 24590FFF */ addiu $t9, $v0, 0xfff
|
||||
/* 100B24 7F0CBFF4 2401F000 */ li $at, -4096
|
||||
/* 100B28 7F0CBFF8 AE220000 */ sw $v0, ($s1)
|
||||
/* 100B2C 7F0CBFFC 03212024 */ and $a0, $t9, $at
|
||||
/* 100B30 7F0CC000 3C05002A */ lui $a1, %hi(_GlobalimagetableSegmentRomStart) # $a1, 0x2a
|
||||
/* 100B34 7F0CC004 AE240000 */ sw $a0, ($s1)
|
||||
/* 100B38 7F0CC008 24A5D160 */ addiu $a1, %lo(_GlobalimagetableSegmentRomStart) # addiu $a1, $a1, -0x2ea0
|
||||
/* 100B3C 7F0CC00C 0C001707 */ jal romCopy
|
||||
/* 100B40 7F0CC010 02003025 */ move $a2, $s0
|
||||
/* 100B44 7F0CC014 8E290000 */ lw $t1, ($s1)
|
||||
/* 100B48 7F0CC018 3C01FE00 */ lui $at, 0xfe00
|
||||
/* 100B4C 7F0CC01C 3C108009 */ lui $s0, %hi(globalbank_rdram_offset)
|
||||
/* 100B50 7F0CC020 01211021 */ addu $v0, $t1, $at
|
||||
/* 100B54 7F0CC024 3C0B0200 */ lui $t3, %hi(s_genericimage) # $t3, 0x200
|
||||
/* 100B58 7F0CC028 2610D0B0 */ addiu $s0, %lo(globalbank_rdram_offset) # addiu $s0, $s0, -0x2f50
|
||||
/* 100B5C 7F0CC02C 256B0AC8 */ addiu $t3, %lo(s_genericimage) # addiu $t3, $t3, 0xac8
|
||||
/* 100B60 7F0CC030 AE020000 */ sw $v0, ($s0)
|
||||
/* 100B64 7F0CC034 004B6021 */ addu $t4, $v0, $t3
|
||||
/* 100B68 7F0CC038 3C018009 */ lui $at, %hi(genericimage)
|
||||
/* 100B6C 7F0CC03C 3C0D0200 */ lui $t5, %hi(s_impactimages) # $t5, 0x200
|
||||
/* 100B70 7F0CC040 AC2CD0B8 */ sw $t4, %lo(genericimage)($at)
|
||||
/* 100B74 7F0CC044 25AD0AD4 */ addiu $t5, %lo(s_impactimages) # addiu $t5, $t5, 0xad4
|
||||
/* 100B78 7F0CC048 004D7021 */ addu $t6, $v0, $t5
|
||||
/* 100B7C 7F0CC04C 3C018009 */ lui $at, %hi(impactimages)
|
||||
/* 100B80 7F0CC050 AC2ED0BC */ sw $t6, %lo(impactimages)($at)
|
||||
/* 100B84 7F0CC054 3C0F0200 */ lui $t7, %hi(s_explosion_smokeimages) # $t7, 0x200
|
||||
/* 100B88 7F0CC058 3C190200 */ lui $t9, %hi(s_scattered_explosions) # $t9, 0x200
|
||||
/* 100B8C 7F0CC05C 3C128009 */ lui $s2, %hi(explosion_smokeimages)
|
||||
/* 100B90 7F0CC060 3C138009 */ lui $s3, %hi(scattered_explosions)
|
||||
/* 100B94 7F0CC064 25EF0BC4 */ addiu $t7, %lo(s_explosion_smokeimages) # addiu $t7, $t7, 0xbc4
|
||||
/* 100B98 7F0CC068 27390C0C */ addiu $t9, %lo(s_scattered_explosions) # addiu $t9, $t9, 0xc0c
|
||||
/* 100B9C 7F0CC06C 3C090200 */ lui $t1, %hi(s_flareimage1) # $t1, 0x200
|
||||
/* 100BA0 7F0CC070 2673D0C4 */ addiu $s3, %lo(scattered_explosions) # addiu $s3, $s3, -0x2f3c
|
||||
/* 100BA4 7F0CC074 2652D0C0 */ addiu $s2, %lo(explosion_smokeimages) # addiu $s2, $s2, -0x2f40
|
||||
/* 100BA8 7F0CC078 004FC021 */ addu $t8, $v0, $t7
|
||||
/* 100BAC 7F0CC07C 00594021 */ addu $t0, $v0, $t9
|
||||
/* 100BB0 7F0CC080 25290C48 */ addiu $t1, %lo(s_flareimage1) # addiu $t1, $t1, 0xc48
|
||||
/* 100BB4 7F0CC084 AE580000 */ sw $t8, ($s2)
|
||||
/* 100BB8 7F0CC088 AE680000 */ sw $t0, ($s3)
|
||||
/* 100BBC 7F0CC08C 00495021 */ addu $t2, $v0, $t1
|
||||
/* 100BC0 7F0CC090 3C018009 */ lui $at, %hi(flareimage1)
|
||||
/* 100BC4 7F0CC094 3C0B0200 */ lui $t3, %hi(s_flareimage2) # $t3, 0x200
|
||||
/* 100BC8 7F0CC098 AC2AD0C8 */ sw $t2, %lo(flareimage1)($at)
|
||||
/* 100BCC 7F0CC09C 256B0C54 */ addiu $t3, %lo(s_flareimage2) # addiu $t3, $t3, 0xc54
|
||||
/* 100BD0 7F0CC0A0 004B6021 */ addu $t4, $v0, $t3
|
||||
/* 100BD4 7F0CC0A4 3C018009 */ lui $at, %hi(flareimage2)
|
||||
/* 100BD8 7F0CC0A8 3C0D0200 */ lui $t5, %hi(s_flareimage3) # $t5, 0x200
|
||||
/* 100BDC 7F0CC0AC AC2CD0CC */ sw $t4, %lo(flareimage2)($at)
|
||||
/* 100BE0 7F0CC0B0 25AD0C60 */ addiu $t5, %lo(s_flareimage3) # addiu $t5, $t5, 0xc60
|
||||
/* 100BE4 7F0CC0B4 004D7021 */ addu $t6, $v0, $t5
|
||||
/* 100BE8 7F0CC0B8 3C018009 */ lui $at, %hi(flareimage3)
|
||||
/* 100BEC 7F0CC0BC 3C0F0200 */ lui $t7, %hi(s_flareimage4) # $t7, 0x200
|
||||
/* 100BF0 7F0CC0C0 AC2ED0D0 */ sw $t6, %lo(flareimage3)($at)
|
||||
/* 100BF4 7F0CC0C4 25EF0C6C */ addiu $t7, %lo(s_flareimage4) # addiu $t7, $t7, 0xc6c
|
||||
/* 100BF8 7F0CC0C8 004FC021 */ addu $t8, $v0, $t7
|
||||
/* 100BFC 7F0CC0CC 3C018009 */ lui $at, %hi(flareimage4)
|
||||
/* 100C00 7F0CC0D0 3C190200 */ lui $t9, %hi(s_flareimage5) # $t9, 0x200
|
||||
/* 100C04 7F0CC0D4 AC38D0D4 */ sw $t8, %lo(flareimage4)($at)
|
||||
/* 100C08 7F0CC0D8 27390C78 */ addiu $t9, %lo(s_flareimage5) # addiu $t9, $t9, 0xc78
|
||||
/* 100C0C 7F0CC0DC 00594021 */ addu $t0, $v0, $t9
|
||||
/* 100C10 7F0CC0E0 3C018009 */ lui $at, %hi(flareimage5)
|
||||
/* 100C14 7F0CC0E4 3C090200 */ lui $t1, %hi(s_ammo9mmimage) # $t1, 0x200
|
||||
/* 100C18 7F0CC0E8 AC28D0D8 */ sw $t0, %lo(flareimage5)($at)
|
||||
/* 100C1C 7F0CC0EC 25290C84 */ addiu $t1, %lo(s_ammo9mmimage) # addiu $t1, $t1, 0xc84
|
||||
/* 100C20 7F0CC0F0 00495021 */ addu $t2, $v0, $t1
|
||||
/* 100C24 7F0CC0F4 3C018009 */ lui $at, %hi(ammo9mmimage)
|
||||
/* 100C28 7F0CC0F8 3C0B0200 */ lui $t3, %hi(s_rifleammoimage) # $t3, 0x200
|
||||
/* 100C2C 7F0CC0FC AC2AD0DC */ sw $t2, %lo(ammo9mmimage)($at)
|
||||
/* 100C30 7F0CC100 256B0C90 */ addiu $t3, %lo(s_rifleammoimage) # addiu $t3, $t3, 0xc90
|
||||
/* 100C34 7F0CC104 004B6021 */ addu $t4, $v0, $t3
|
||||
/* 100C38 7F0CC108 3C018009 */ lui $at, %hi(rifleammoimage)
|
||||
/* 100C3C 7F0CC10C 3C0D0200 */ lui $t5, %hi(s_shotgunammoimage) # $t5, 0x200
|
||||
/* 100C40 7F0CC110 AC2CD0E0 */ sw $t4, %lo(rifleammoimage)($at)
|
||||
/* 100C44 7F0CC114 25AD0C9C */ addiu $t5, %lo(s_shotgunammoimage) # addiu $t5, $t5, 0xc9c
|
||||
/* 100C48 7F0CC118 004D7021 */ addu $t6, $v0, $t5
|
||||
/* 100C4C 7F0CC11C 3C018009 */ lui $at, %hi(shotgunammoimage)
|
||||
/* 100C50 7F0CC120 3C0F0200 */ lui $t7, %hi(s_knifeammoimage) # $t7, 0x200
|
||||
/* 100C54 7F0CC124 AC2ED0E4 */ sw $t6, %lo(shotgunammoimage)($at)
|
||||
/* 100C58 7F0CC128 25EF0CA8 */ addiu $t7, %lo(s_knifeammoimage) # addiu $t7, $t7, 0xca8
|
||||
/* 100C5C 7F0CC12C 004FC021 */ addu $t8, $v0, $t7
|
||||
/* 100C60 7F0CC130 3C018009 */ lui $at, %hi(knifeammoimage)
|
||||
/* 100C64 7F0CC134 3C190200 */ lui $t9, %hi(s_glammoimage) # $t9, 0x200
|
||||
/* 100C68 7F0CC138 AC38D0E8 */ sw $t8, %lo(knifeammoimage)($at)
|
||||
/* 100C6C 7F0CC13C 27390CB4 */ addiu $t9, %lo(s_glammoimage) # addiu $t9, $t9, 0xcb4
|
||||
/* 100C70 7F0CC140 00594021 */ addu $t0, $v0, $t9
|
||||
/* 100C74 7F0CC144 3C018009 */ lui $at, %hi(glaunchammoimage)
|
||||
/* 100C78 7F0CC148 3C090200 */ lui $t1, %hi(s_rocketammoimage) # $t1, 0x200
|
||||
/* 100C7C 7F0CC14C AC28D0EC */ sw $t0, %lo(glaunchammoimage)($at)
|
||||
/* 100C80 7F0CC150 25290CC0 */ addiu $t1, %lo(s_rocketammoimage) # addiu $t1, $t1, 0xcc0
|
||||
/* 100C84 7F0CC154 00495021 */ addu $t2, $v0, $t1
|
||||
/* 100C88 7F0CC158 3C018009 */ lui $at, %hi(rocketammoimage)
|
||||
/* 100C8C 7F0CC15C 3C0B0200 */ lui $t3, %hi(s_genericmineammoimage) # $t3, 0x200
|
||||
/* 100C90 7F0CC160 AC2AD0F0 */ sw $t2, %lo(rocketammoimage)($at)
|
||||
/* 100C94 7F0CC164 256B0CCC */ addiu $t3, %lo(s_genericmineammoimage) # addiu $t3, $t3, 0xccc
|
||||
/* 100C98 7F0CC168 004B6021 */ addu $t4, $v0, $t3
|
||||
/* 100C9C 7F0CC16C 3C018009 */ lui $at, %hi(genericmineammoimage)
|
||||
/* 100CA0 7F0CC170 3C0D0200 */ lui $t5, %hi(s_grenadeammoimage) # $t5, 0x200
|
||||
/* 100CA4 7F0CC174 AC2CD0F4 */ sw $t4, %lo(genericmineammoimage)($at)
|
||||
/* 100CA8 7F0CC178 25AD0CD8 */ addiu $t5, %lo(s_grenadeammoimage) # addiu $t5, $t5, 0xcd8
|
||||
/* 100CAC 7F0CC17C 004D7021 */ addu $t6, $v0, $t5
|
||||
/* 100CB0 7F0CC180 3C018009 */ lui $at, %hi(grenadeammoimage)
|
||||
/* 100CB4 7F0CC184 3C0F0200 */ lui $t7, %hi(s_magnumammoimage) # $t7, 0x200
|
||||
/* 100CB8 7F0CC188 AC2ED0F8 */ sw $t6, %lo(grenadeammoimage)($at)
|
||||
/* 100CBC 7F0CC18C 25EF0CE4 */ addiu $t7, %lo(s_magnumammoimage) # addiu $t7, $t7, 0xce4
|
||||
/* 100CC0 7F0CC190 004FC021 */ addu $t8, $v0, $t7
|
||||
/* 100CC4 7F0CC194 3C018009 */ lui $at, %hi(magnumammoimage)
|
||||
/* 100CC8 7F0CC198 3C190200 */ lui $t9, %hi(s_goldengunammoimage) # $t9, 0x200
|
||||
/* 100CCC 7F0CC19C AC38D0FC */ sw $t8, %lo(magnumammoimage)($at)
|
||||
/* 100CD0 7F0CC1A0 27390CF0 */ addiu $t9, %lo(s_goldengunammoimage) # addiu $t9, $t9, 0xcf0
|
||||
/* 100CD4 7F0CC1A4 00594021 */ addu $t0, $v0, $t9
|
||||
/* 100CD8 7F0CC1A8 3C018009 */ lui $at, %hi(goldengunammoimage)
|
||||
/* 100CDC 7F0CC1AC 3C090200 */ lui $t1, %hi(s_remotemineammoimage) # $t1, 0x200
|
||||
/* 100CE0 7F0CC1B0 AC28D100 */ sw $t0, %lo(goldengunammoimage)($at)
|
||||
/* 100CE4 7F0CC1B4 25290CFC */ addiu $t1, %lo(s_remotemineammoimage) # addiu $t1, $t1, 0xcfc
|
||||
/* 100CE8 7F0CC1B8 00495021 */ addu $t2, $v0, $t1
|
||||
/* 100CEC 7F0CC1BC 3C018009 */ lui $at, %hi(remotemineammoimage)
|
||||
/* 100CF0 7F0CC1C0 3C0B0200 */ lui $t3, %hi(s_timedmineammoimage) # $t3, 0x200
|
||||
/* 100CF4 7F0CC1C4 AC2AD104 */ sw $t2, %lo(remotemineammoimage)($at)
|
||||
/* 100CF8 7F0CC1C8 256B0D08 */ addiu $t3, %lo(s_timedmineammoimage) # addiu $t3, $t3, 0xd08
|
||||
/* 100CFC 7F0CC1CC 004B6021 */ addu $t4, $v0, $t3
|
||||
/* 100D00 7F0CC1D0 3C018009 */ lui $at, %hi(timedmineammoimage)
|
||||
/* 100D04 7F0CC1D4 3C0D0200 */ lui $t5, %hi(s_proxmineammoimage) # $t5, 0x200
|
||||
/* 100D08 7F0CC1D8 AC2CD108 */ sw $t4, %lo(timedmineammoimage)($at)
|
||||
/* 100D0C 7F0CC1DC 25AD0D14 */ addiu $t5, %lo(s_proxmineammoimage) # addiu $t5, $t5, 0xd14
|
||||
/* 100D10 7F0CC1E0 004D7021 */ addu $t6, $v0, $t5
|
||||
/* 100D14 7F0CC1E4 3C018009 */ lui $at, %hi(proxmineammoimage)
|
||||
/* 100D18 7F0CC1E8 3C0F0200 */ lui $t7, %hi(s_tankammoimage) # $t7, 0x200
|
||||
/* 100D1C 7F0CC1EC AC2ED10C */ sw $t6, %lo(proxmineammoimage)($at)
|
||||
/* 100D20 7F0CC1F0 25EF0D20 */ addiu $t7, %lo(s_tankammoimage) # addiu $t7, $t7, 0xd20
|
||||
/* 100D24 7F0CC1F4 004FC021 */ addu $t8, $v0, $t7
|
||||
/* 100D28 7F0CC1F8 3C018009 */ lui $at, %hi(tankammoimage)
|
||||
/* 100D2C 7F0CC1FC 3C190200 */ lui $t9, %hi(s_crosshairimage) # $t9, 0x200
|
||||
/* 100D30 7F0CC200 AC38D110 */ sw $t8, %lo(tankammoimage)($at)
|
||||
/* 100D34 7F0CC204 27390D2C */ addiu $t9, %lo(s_crosshairimage) # addiu $t9, $t9, 0xd2c
|
||||
/* 100D38 7F0CC208 00594021 */ addu $t0, $v0, $t9
|
||||
/* 100D3C 7F0CC20C 3C018009 */ lui $at, %hi(crosshairimage)
|
||||
/* 100D40 7F0CC210 3C090200 */ lui $t1, %hi(s_betacrosshairimage) # $t1, 0x200
|
||||
/* 100D44 7F0CC214 AC28D114 */ sw $t0, %lo(crosshairimage)($at)
|
||||
/* 100D48 7F0CC218 25290D38 */ addiu $t1, %lo(s_betacrosshairimage) # addiu $t1, $t1, 0xd38
|
||||
/* 100D4C 7F0CC21C 00495021 */ addu $t2, $v0, $t1
|
||||
/* 100D50 7F0CC220 3C018009 */ lui $at, %hi(betacrosshairimage)
|
||||
/* 100D54 7F0CC224 3C0B0200 */ lui $t3, %hi(s_glassoverlayimage) # $t3, 0x200
|
||||
/* 100D58 7F0CC228 AC2AD118 */ sw $t2, %lo(betacrosshairimage)($at)
|
||||
/* 100D5C 7F0CC22C 256B0D44 */ addiu $t3, %lo(s_glassoverlayimage) # addiu $t3, $t3, 0xd44
|
||||
/* 100D60 7F0CC230 004B6021 */ addu $t4, $v0, $t3
|
||||
/* 100D64 7F0CC234 3C018009 */ lui $at, %hi(glassoverlayimage)
|
||||
/* 100D68 7F0CC238 3C0D0200 */ lui $t5, %hi(s_monitorimages) # $t5, 0x200
|
||||
/* 100D6C 7F0CC23C AC2CD11C */ sw $t4, %lo(glassoverlayimage)($at)
|
||||
/* 100D70 7F0CC240 25AD0D5C */ addiu $t5, %lo(s_monitorimages) # addiu $t5, $t5, 0xd5c
|
||||
/* 100D74 7F0CC244 004D7021 */ addu $t6, $v0, $t5
|
||||
/* 100D78 7F0CC248 3C018009 */ lui $at, %hi(monitorimages)
|
||||
/* 100D7C 7F0CC24C 3C0F0200 */ lui $t7, %hi(s_skywaterimages) # $t7, 0x200
|
||||
/* 100D80 7F0CC250 AC2ED120 */ sw $t6, %lo(monitorimages)($at)
|
||||
/* 100D84 7F0CC254 25EF0FB4 */ addiu $t7, %lo(s_skywaterimages) # addiu $t7, $t7, 0xfb4
|
||||
/* 100D88 7F0CC258 004FC021 */ addu $t8, $v0, $t7
|
||||
/* 100D8C 7F0CC25C 3C018009 */ lui $at, %hi(skywaterimages)
|
||||
/* 100D90 7F0CC260 3C190200 */ lui $t9, %hi(s_mainfolderimages) # $t9, 0x200
|
||||
/* 100D94 7F0CC264 AC38D124 */ sw $t8, %lo(skywaterimages)($at)
|
||||
/* 100D98 7F0CC268 27390FD8 */ addiu $t9, %lo(s_mainfolderimages) # addiu $t9, $t9, 0xfd8
|
||||
/* 100D9C 7F0CC26C 00594021 */ addu $t0, $v0, $t9
|
||||
/* 100DA0 7F0CC270 3C018009 */ lui $at, %hi(mainfolderimages)
|
||||
/* 100DA4 7F0CC274 3C090200 */ lui $t1, %hi(s_mpradarimages) # $t1, 0x200
|
||||
/* 100DA8 7F0CC278 AC28D128 */ sw $t0, %lo(mainfolderimages)($at)
|
||||
/* 100DAC 7F0CC27C 25291020 */ addiu $t1, %lo(s_mpradarimages) # addiu $t1, $t1, 0x1020
|
||||
/* 100DB0 7F0CC280 00495021 */ addu $t2, $v0, $t1
|
||||
/* 100DB4 7F0CC284 3C018009 */ lui $at, %hi(mpradarimages)
|
||||
/* 100DB8 7F0CC288 3C0B0200 */ lui $t3, %hi(s_mpcharselimages) # $t3, 0x200
|
||||
/* 100DBC 7F0CC28C AC2AD12C */ sw $t2, %lo(mpradarimages)($at)
|
||||
/* 100DC0 7F0CC290 256B102C */ addiu $t3, %lo(s_mpcharselimages) # addiu $t3, $t3, 0x102c
|
||||
/* 100DC4 7F0CC294 004B6021 */ addu $t4, $v0, $t3
|
||||
/* 100DC8 7F0CC298 3C018009 */ lui $at, %hi(mpcharselimages)
|
||||
/* 100DCC 7F0CC29C 3C0D0200 */ lui $t5, %hi(s_mpstageselimages) # $t5, 0x200
|
||||
/* 100DD0 7F0CC2A0 AC2CD130 */ sw $t4, %lo(mpcharselimages)($at)
|
||||
/* 100DD4 7F0CC2A4 25AD132C */ addiu $t5, %lo(s_mpstageselimages) # addiu $t5, $t5, 0x132c
|
||||
/* 100DD8 7F0CC2A8 3C0F0200 */ lui $t7, 0x200
|
||||
/* 100DDC 7F0CC2AC 004D7021 */ addu $t6, $v0, $t5
|
||||
/* 100DE0 7F0CC2B0 3C018009 */ lui $at, %hi(mpstageselimages)
|
||||
/* 100DE4 7F0CC2B4 25EF0000 */ addiu $t7, $t7, 0
|
||||
/* 100DE8 7F0CC2B8 AC2ED134 */ sw $t6, %lo(mpstageselimages)($at)
|
||||
/* 100DEC 7F0CC2BC 004F2021 */ addu $a0, $v0, $t7
|
||||
/* 100DF0 7F0CC2C0 0FC32EDD */ jal check_load_image_to_buffer
|
||||
/* 100DF4 7F0CC2C4 00002825 */ move $a1, $zero
|
||||
/* 100DF8 7F0CC2C8 8E180000 */ lw $t8, ($s0)
|
||||
/* 100DFC 7F0CC2CC 3C190200 */ lui $t9, %hi(globalDL_0x078) # $t9, 0x200
|
||||
/* 100E00 7F0CC2D0 27390078 */ addiu $t9, %lo(globalDL_0x078) # addiu $t9, $t9, 0x78
|
||||
/* 100E04 7F0CC2D4 00002825 */ move $a1, $zero
|
||||
/* 100E08 7F0CC2D8 0FC32EDD */ jal check_load_image_to_buffer
|
||||
/* 100E0C 7F0CC2DC 03192021 */ addu $a0, $t8, $t9
|
||||
/* 100E10 7F0CC2E0 8E080000 */ lw $t0, ($s0)
|
||||
/* 100E14 7F0CC2E4 3C090200 */ lui $t1, %hi(globalDL_0x120) # $t1, 0x200
|
||||
/* 100E18 7F0CC2E8 25290120 */ addiu $t1, %lo(globalDL_0x120) # addiu $t1, $t1, 0x120
|
||||
/* 100E1C 7F0CC2EC 00002825 */ move $a1, $zero
|
||||
/* 100E20 7F0CC2F0 0FC32EDD */ jal check_load_image_to_buffer
|
||||
/* 100E24 7F0CC2F4 01092021 */ addu $a0, $t0, $t1
|
||||
/* 100E28 7F0CC2F8 8E0A0000 */ lw $t2, ($s0)
|
||||
/* 100E2C 7F0CC2FC 3C0B0200 */ lui $t3, %hi(globalDL_0x1c8) # $t3, 0x200
|
||||
/* 100E30 7F0CC300 256B01C8 */ addiu $t3, %lo(globalDL_0x1c8) # addiu $t3, $t3, 0x1c8
|
||||
/* 100E34 7F0CC304 00002825 */ move $a1, $zero
|
||||
/* 100E38 7F0CC308 0FC32EDD */ jal check_load_image_to_buffer
|
||||
/* 100E3C 7F0CC30C 014B2021 */ addu $a0, $t2, $t3
|
||||
/* 100E40 7F0CC310 8E0C0000 */ lw $t4, ($s0)
|
||||
/* 100E44 7F0CC314 3C0D0200 */ lui $t5, %hi(globalDL_0x270) # $t5, 0x200
|
||||
/* 100E48 7F0CC318 25AD0270 */ addiu $t5, %lo(globalDL_0x270) # addiu $t5, $t5, 0x270
|
||||
/* 100E4C 7F0CC31C 00002825 */ move $a1, $zero
|
||||
/* 100E50 7F0CC320 0FC32EDD */ jal check_load_image_to_buffer
|
||||
/* 100E54 7F0CC324 018D2021 */ addu $a0, $t4, $t5
|
||||
/* 100E58 7F0CC328 8E0E0000 */ lw $t6, ($s0)
|
||||
/* 100E5C 7F0CC32C 3C0F0200 */ lui $t7, %hi(globalDL_0x318) # $t7, 0x200
|
||||
/* 100E60 7F0CC330 25EF0318 */ addiu $t7, %lo(globalDL_0x318) # addiu $t7, $t7, 0x318
|
||||
/* 100E64 7F0CC334 00002825 */ move $a1, $zero
|
||||
/* 100E68 7F0CC338 0FC32EDD */ jal check_load_image_to_buffer
|
||||
/* 100E6C 7F0CC33C 01CF2021 */ addu $a0, $t6, $t7
|
||||
/* 100E70 7F0CC340 8E180000 */ lw $t8, ($s0)
|
||||
/* 100E74 7F0CC344 3C190200 */ lui $t9, %hi(globalDL_0x3c0) # $t9, 0x200
|
||||
/* 100E78 7F0CC348 273903C0 */ addiu $t9, %lo(globalDL_0x3c0) # addiu $t9, $t9, 0x3c0
|
||||
/* 100E7C 7F0CC34C 00002825 */ move $a1, $zero
|
||||
/* 100E80 7F0CC350 0FC32EDD */ jal check_load_image_to_buffer
|
||||
/* 100E84 7F0CC354 03192021 */ addu $a0, $t8, $t9
|
||||
/* 100E88 7F0CC358 8E080000 */ lw $t0, ($s0)
|
||||
/* 100E8C 7F0CC35C 3C090200 */ lui $t1, %hi(globalDL_0x468) # $t1, 0x200
|
||||
/* 100E90 7F0CC360 25290468 */ addiu $t1, %lo(globalDL_0x468) # addiu $t1, $t1, 0x468
|
||||
/* 100E94 7F0CC364 00002825 */ move $a1, $zero
|
||||
/* 100E98 7F0CC368 0FC32EDD */ jal check_load_image_to_buffer
|
||||
/* 100E9C 7F0CC36C 01092021 */ addu $a0, $t0, $t1
|
||||
/* 100EA0 7F0CC370 8E0A0000 */ lw $t2, ($s0)
|
||||
/* 100EA4 7F0CC374 3C0B0200 */ lui $t3, %hi(globalDL_0x510) # $t3, 0x200
|
||||
/* 100EA8 7F0CC378 256B0510 */ addiu $t3, %lo(globalDL_0x510) # addiu $t3, $t3, 0x510
|
||||
/* 100EAC 7F0CC37C 00002825 */ move $a1, $zero
|
||||
/* 100EB0 7F0CC380 0FC32EDD */ jal check_load_image_to_buffer
|
||||
/* 100EB4 7F0CC384 014B2021 */ addu $a0, $t2, $t3
|
||||
/* 100EB8 7F0CC388 8E0C0000 */ lw $t4, ($s0)
|
||||
/* 100EBC 7F0CC38C 3C0D0200 */ lui $t5, %hi(globalDL_0x5b8) # $t5, 0x200
|
||||
/* 100EC0 7F0CC390 25AD05B8 */ addiu $t5, %lo(globalDL_0x5b8) # addiu $t5, $t5, 0x5b8
|
||||
/* 100EC4 7F0CC394 00002825 */ move $a1, $zero
|
||||
/* 100EC8 7F0CC398 0FC32EDD */ jal check_load_image_to_buffer
|
||||
/* 100ECC 7F0CC39C 018D2021 */ addu $a0, $t4, $t5
|
||||
/* 100ED0 7F0CC3A0 8E0E0000 */ lw $t6, ($s0)
|
||||
/* 100ED4 7F0CC3A4 3C0F0200 */ lui $t7, %hi(globalDL_0x660) # $t7, 0x200
|
||||
/* 100ED8 7F0CC3A8 25EF0660 */ addiu $t7, %lo(globalDL_0x660) # addiu $t7, $t7, 0x660
|
||||
/* 100EDC 7F0CC3AC 00002825 */ move $a1, $zero
|
||||
/* 100EE0 7F0CC3B0 0FC32EDD */ jal check_load_image_to_buffer
|
||||
/* 100EE4 7F0CC3B4 01CF2021 */ addu $a0, $t6, $t7
|
||||
/* 100EE8 7F0CC3B8 8E180000 */ lw $t8, ($s0)
|
||||
/* 100EEC 7F0CC3BC 3C190200 */ lui $t9, %hi(globalDL_0x708) # $t9, 0x200
|
||||
/* 100EF0 7F0CC3C0 27390708 */ addiu $t9, %lo(globalDL_0x708) # addiu $t9, $t9, 0x708
|
||||
/* 100EF4 7F0CC3C4 00002825 */ move $a1, $zero
|
||||
/* 100EF8 7F0CC3C8 0FC32EDD */ jal check_load_image_to_buffer
|
||||
/* 100EFC 7F0CC3CC 03192021 */ addu $a0, $t8, $t9
|
||||
/* 100F00 7F0CC3D0 8E080000 */ lw $t0, ($s0)
|
||||
/* 100F04 7F0CC3D4 3C090200 */ lui $t1, %hi(globalDL_0x7b0) # $t1, 0x200
|
||||
/* 100F08 7F0CC3D8 252907B0 */ addiu $t1, %lo(globalDL_0x7b0) # addiu $t1, $t1, 0x7b0
|
||||
/* 100F0C 7F0CC3DC 00002825 */ move $a1, $zero
|
||||
/* 100F10 7F0CC3E0 0FC32EDD */ jal check_load_image_to_buffer
|
||||
/* 100F14 7F0CC3E4 01092021 */ addu $a0, $t0, $t1
|
||||
/* 100F18 7F0CC3E8 8E0A0000 */ lw $t2, ($s0)
|
||||
/* 100F1C 7F0CC3EC 3C0B0200 */ lui $t3, %hi(globalDL_0x858) # $t3, 0x200
|
||||
/* 100F20 7F0CC3F0 256B0858 */ addiu $t3, %lo(globalDL_0x858) # addiu $t3, $t3, 0x858
|
||||
/* 100F24 7F0CC3F4 00002825 */ move $a1, $zero
|
||||
/* 100F28 7F0CC3F8 0FC32EDD */ jal check_load_image_to_buffer
|
||||
/* 100F2C 7F0CC3FC 014B2021 */ addu $a0, $t2, $t3
|
||||
/* 100F30 7F0CC400 8E0C0000 */ lw $t4, ($s0)
|
||||
/* 100F34 7F0CC404 3C0D0200 */ lui $t5, %hi(globalDL_0x900) # $t5, 0x200
|
||||
/* 100F38 7F0CC408 25AD0900 */ addiu $t5, %lo(globalDL_0x900) # addiu $t5, $t5, 0x900
|
||||
/* 100F3C 7F0CC40C 00002825 */ move $a1, $zero
|
||||
/* 100F40 7F0CC410 0FC32EDD */ jal check_load_image_to_buffer
|
||||
/* 100F44 7F0CC414 018D2021 */ addu $a0, $t4, $t5
|
||||
/* 100F48 7F0CC418 8E0E0000 */ lw $t6, ($s0)
|
||||
/* 100F4C 7F0CC41C 3C0F0200 */ lui $t7, %hi(globalDL_0x9a8) # $t7, 0x200
|
||||
/* 100F50 7F0CC420 25EF09A8 */ addiu $t7, %lo(globalDL_0x9a8) # addiu $t7, $t7, 0x9a8
|
||||
/* 100F54 7F0CC424 00002825 */ move $a1, $zero
|
||||
/* 100F58 7F0CC428 0FC32EDD */ jal check_load_image_to_buffer
|
||||
/* 100F5C 7F0CC42C 01CF2021 */ addu $a0, $t6, $t7
|
||||
/* 100F60 7F0CC430 8E180000 */ lw $t8, ($s0)
|
||||
/* 100F64 7F0CC434 3C190200 */ lui $t9, %hi(globalDL_0xa50) # $t9, 0x200
|
||||
/* 100F68 7F0CC438 27390A50 */ addiu $t9, %lo(globalDL_0xa50) # addiu $t9, $t9, 0xa50
|
||||
/* 100F6C 7F0CC43C 00002825 */ move $a1, $zero
|
||||
/* 100F70 7F0CC440 0FC32EDD */ jal check_load_image_to_buffer
|
||||
/* 100F74 7F0CC444 03192021 */ addu $a0, $t8, $t9
|
||||
/* 100F78 7F0CC448 3C048009 */ lui $a0, %hi(genericimage)
|
||||
/* 100F7C 7F0CC44C 8C84D0B8 */ lw $a0, %lo(genericimage)($a0)
|
||||
/* 100F80 7F0CC450 0FC32F06 */ jal load_image_to_buffer
|
||||
/* 100F84 7F0CC454 00002825 */ move $a1, $zero
|
||||
/* 100F88 7F0CC458 00008025 */ move $s0, $zero
|
||||
/* 100F8C 7F0CC45C 8E480000 */ lw $t0, ($s2)
|
||||
.L7F0CC460:
|
||||
/* 100F90 7F0CC460 00002825 */ move $a1, $zero
|
||||
/* 100F94 7F0CC464 0FC32F06 */ jal load_image_to_buffer
|
||||
/* 100F98 7F0CC468 02082021 */ addu $a0, $s0, $t0
|
||||
/* 100F9C 7F0CC46C 2610000C */ addiu $s0, $s0, 0xc
|
||||
/* 100FA0 7F0CC470 2A010048 */ slti $at, $s0, 0x48
|
||||
/* 100FA4 7F0CC474 5420FFFA */ bnezl $at, .L7F0CC460
|
||||
/* 100FA8 7F0CC478 8E480000 */ lw $t0, ($s2)
|
||||
/* 100FAC 7F0CC47C 00008025 */ move $s0, $zero
|
||||
/* 100FB0 7F0CC480 2411003C */ li $s1, 60
|
||||
/* 100FB4 7F0CC484 8E690000 */ lw $t1, ($s3)
|
||||
.L7F0CC488:
|
||||
/* 100FB8 7F0CC488 00002825 */ move $a1, $zero
|
||||
/* 100FBC 7F0CC48C 0FC32F06 */ jal load_image_to_buffer
|
||||
/* 100FC0 7F0CC490 02092021 */ addu $a0, $s0, $t1
|
||||
/* 100FC4 7F0CC494 2610000C */ addiu $s0, $s0, 0xc
|
||||
/* 100FC8 7F0CC498 5611FFFB */ bnel $s0, $s1, .L7F0CC488
|
||||
/* 100FCC 7F0CC49C 8E690000 */ lw $t1, ($s3)
|
||||
/* 100FD0 7F0CC4A0 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 100FD4 7F0CC4A4 8FB00014 */ lw $s0, 0x14($sp)
|
||||
/* 100FD8 7F0CC4A8 8FB10018 */ lw $s1, 0x18($sp)
|
||||
/* 100FDC 7F0CC4AC 8FB2001C */ lw $s2, 0x1c($sp)
|
||||
/* 100FE0 7F0CC4B0 8FB30020 */ lw $s3, 0x20($sp)
|
||||
/* 100FE4 7F0CC4B4 03E00008 */ jr $ra
|
||||
/* 100FE8 7F0CC4B8 27BD0028 */ addiu $sp, $sp, 0x28
|
||||
)
|
||||
#endif
|
||||
|
||||
|
||||
@@ -8,7 +8,13 @@ extern struct sImageTableEntry *crosshairimage;
|
||||
|
||||
extern struct sImageTableEntry *mainfolderimages;
|
||||
extern struct sImageTableEntry *genericimage;
|
||||
extern struct sImageTableEntry *skywaterimages;
|
||||
|
||||
void load_prepare_global_image_bank(void);
|
||||
extern u8* img_curpos;
|
||||
extern s32 img_bitcount;
|
||||
|
||||
void texReset(void);
|
||||
u32 texReadBits(s32 bitCount);
|
||||
void texSetBitstring(s32 pos);
|
||||
|
||||
#endif
|
||||
+19
-19
@@ -1,7 +1,7 @@
|
||||
#include <ultra64.h>
|
||||
#include "indy_commands.h"
|
||||
#include <PR/os.h>
|
||||
|
||||
#include "rmon.h"
|
||||
// data
|
||||
//D:8004EAC0
|
||||
s32 D_8004EAC0 = 0;
|
||||
@@ -199,7 +199,7 @@ void indyrescmdSizeNextCmd(s32 readsize,s32 writesize)
|
||||
indy_resource_entry_type1 cmd;
|
||||
|
||||
cmd.entry.resourceID = 0x9abf1623;
|
||||
cmd.entry.type = 1;
|
||||
cmd.entry.type = INDY_SIZE;
|
||||
cmd.entry.size = 0x14;
|
||||
cmd.entry.readsize = readsize;
|
||||
cmd.entry.writesize = writesize;
|
||||
@@ -212,7 +212,7 @@ void indyrescmdSendCmdEnd(s32 readsize,s32 writesize)
|
||||
indy_resource_entry_type2 cmd;
|
||||
|
||||
cmd.entry.resourceID = 0x9abf1623;
|
||||
cmd.entry.type = 2;
|
||||
cmd.entry.type = INDY_END;
|
||||
cmd.entry.size = 0x14;
|
||||
cmd.entry.readsize = readsize;
|
||||
cmd.entry.writesize = writesize;
|
||||
@@ -224,7 +224,7 @@ void indyrescmdInit(s32 readsize,s32 writesize)
|
||||
{
|
||||
indy_resource_entry_type0 cmd;
|
||||
cmd.entry.resourceID = 0x9abf1623;
|
||||
cmd.entry.type = 0;
|
||||
cmd.entry.type = INDY_INIT;
|
||||
cmd.entry.size = 0x14;
|
||||
cmd.entry.readsize = readsize;
|
||||
cmd.entry.writesize = writesize;
|
||||
@@ -236,7 +236,7 @@ void post_type3_indyrescmd(s32 rsize,s32 wsize,char *strptr)
|
||||
struct indy_resource_entry_type3 cmd;
|
||||
|
||||
cmd.entry.resourceID = 0x9abf1623;
|
||||
cmd.entry.type = 3;
|
||||
cmd.entry.type = INDY_RESCMD;
|
||||
cmd.entry.size = 0x114;
|
||||
cmd.entry.readsize = rsize;
|
||||
cmd.entry.writesize = wsize;
|
||||
@@ -251,7 +251,7 @@ void post_type4_indyrescmd_data_recieved(s32 readsize,s32 writesize,s32 data)
|
||||
indy_resource_entry_type4 cmd;
|
||||
|
||||
cmd.entry.resourceID = 0x9abf1623;
|
||||
cmd.entry.type = 4;
|
||||
cmd.entry.type = INDY_RESCMDDATARCVD;
|
||||
cmd.entry.size = 0x18;
|
||||
cmd.entry.readsize = readsize;
|
||||
cmd.entry.writesize = writesize;
|
||||
@@ -265,7 +265,7 @@ void indyrescmdCheckFileExists(s32 rsize,s32 wsize,char *name)
|
||||
indy_resource_entry_type5 cmd;
|
||||
|
||||
cmd.entry.resourceID = 0x9abf1623;
|
||||
cmd.entry.type = 5;
|
||||
cmd.entry.type = INDY_SENDCHECKFILEEXISTS;
|
||||
cmd.entry.size = 0x114;
|
||||
cmd.entry.readsize = rsize;
|
||||
cmd.entry.writesize = wsize;
|
||||
@@ -280,7 +280,7 @@ void post_type6_indyrescmd_printfrecieved(s32 readsize,s32 writesize,u32 data1,u
|
||||
struct indy_resource_entry_type6 cmd;
|
||||
|
||||
cmd.entry.resourceID = 0x9abf1623;
|
||||
cmd.entry.type = 6;
|
||||
cmd.entry.type = INDY_RECVCHECKFILEEXISTS;
|
||||
cmd.entry.size = 0x1c;
|
||||
cmd.entry.readsize = readsize;
|
||||
cmd.entry.writesize = writesize;
|
||||
@@ -295,7 +295,7 @@ void indyrescmdSendFileLoad(u32 rsize,u32 wsize,u8 *filename,u32 size)
|
||||
struct indy_resource_entry_type7 cmd;
|
||||
|
||||
cmd.entry.resourceID = 0x9abf1623;
|
||||
cmd.entry.type = 7;
|
||||
cmd.entry.type = INDY_SENDFILELOAD;
|
||||
cmd.entry.size = 0x118;
|
||||
cmd.entry.readsize = rsize;
|
||||
cmd.entry.writesize = wsize;
|
||||
@@ -311,7 +311,7 @@ void post_type8_indyrescmd_log_recieved(s32 rsize,s32 wsize,u32 data1,u32 data2,
|
||||
struct indy_resource_entry_type8 cmd;
|
||||
|
||||
cmd.entry.resourceID = 0x9abf1623;
|
||||
cmd.entry.type = 8;
|
||||
cmd.entry.type = INDY_LOGRECVD;
|
||||
|
||||
cmd.entry.size = (cmd2size +3 & ~3)+ 0x20;
|
||||
cmd.entry.readsize = rsize;
|
||||
@@ -329,7 +329,7 @@ void indyrescmdSendDump(s32 rsize,s32 wsize,char *strptr,u32 size2,struct indy_r
|
||||
indy_resource_entry_type9 cmd;
|
||||
|
||||
cmd.entry.resourceID = 0x9abf1623;
|
||||
cmd.entry.type = 9;
|
||||
cmd.entry.type = INDY_SENDDUMP;
|
||||
|
||||
cmd.entry.size = (size2 + 3 & 0xfffffffc) + 0x114;
|
||||
cmd.entry.readsize = rsize;
|
||||
@@ -347,7 +347,7 @@ void post_typeA_indyrescmd_app_command_recieved(s32 readsize,s32 writesize,u32 d
|
||||
indy_resource_entry_typeA cmd;
|
||||
|
||||
cmd.entry.resourceID = 0x9abf1623;
|
||||
cmd.entry.type = 0xa;
|
||||
cmd.entry.type = INDY_APPCMDRECVD;
|
||||
cmd.entry.size = 0x18;
|
||||
cmd.entry.readsize = readsize;
|
||||
cmd.entry.writesize = writesize;
|
||||
@@ -361,7 +361,7 @@ void indyrescmdRamRomLoad(u32 rsize,u32 wsize,char *name,u32 filesize,u32 ptarge
|
||||
indy_resource_entry_typeF cmd;
|
||||
|
||||
cmd.entry.resourceID = 0x9abf1623;
|
||||
cmd.entry.type = 0xf;
|
||||
cmd.entry.type = INDY_RAMROMLOAD;
|
||||
cmd.entry.size = 0x11c;
|
||||
cmd.entry.readsize = rsize;
|
||||
cmd.entry.writesize = wsize;
|
||||
@@ -380,7 +380,7 @@ void post_type10_indyrescmd_fault_ack_by_host(s32 rsize,s32 wsize,u32 data1,u32
|
||||
struct indy_resource_entry_type10 cmd;
|
||||
|
||||
cmd.entry.resourceID = 0x9abf1623;
|
||||
cmd.entry.type = 0x10;
|
||||
cmd.entry.type = INDY_FAULTACKHOST;
|
||||
cmd.entry.size = 0x20;
|
||||
cmd.entry.readsize = rsize;
|
||||
cmd.entry.writesize = wsize;
|
||||
@@ -396,7 +396,7 @@ void indyrescmdSendExportFile(u32 rsize,u32 wsize,u8 *ptrstr,u32 size,u8 *hwaddr
|
||||
indy_resource_entry_typeD cmd;
|
||||
|
||||
cmd.entry.resourceID = 0x9abf1623;
|
||||
cmd.entry.type = 0xd;
|
||||
cmd.entry.type = INDY_EXPORTFILE;
|
||||
cmd.entry.size = 0x11c;
|
||||
cmd.entry.readsize = rsize;
|
||||
cmd.entry.writesize = wsize;
|
||||
@@ -413,7 +413,7 @@ void post_typeE_indyrescmd_prof_recv(s32 readsize,s32 writesize,u32 data)
|
||||
indy_resource_entry_typeE cmd;
|
||||
|
||||
cmd.entry.resourceID = 0x9abf1623;
|
||||
cmd.entry.type = 0xe;
|
||||
cmd.entry.type = INDY_PROFILE_RECV;
|
||||
cmd.entry.size = 0x18;
|
||||
cmd.entry.readsize = readsize;
|
||||
cmd.entry.writesize = writesize;
|
||||
@@ -427,7 +427,7 @@ void indyrescmdSendHostCmd(s32 rsize,s32 wsize,char *strptr)
|
||||
indy_resource_entry_typeB res;
|
||||
|
||||
res.entry.resourceID = 0x9abf1623;
|
||||
res.entry.type = 0xb;
|
||||
res.entry.type = INDY_SENDHOSTCMD;
|
||||
res.entry.size = 0x414;
|
||||
res.entry.readsize = rsize;
|
||||
res.entry.writesize = wsize;
|
||||
@@ -442,7 +442,7 @@ void post_typeC_indyrescmd_prof_send(s32 readsize,s32 writesize,u32 data)
|
||||
indy_resource_entry_typeC cmd;
|
||||
|
||||
cmd.entry.resourceID = 0x9abf1623;
|
||||
cmd.entry.type = 0xc;
|
||||
cmd.entry.type = INDY_PROFILE_SEND;
|
||||
cmd.entry.size = 0x18;
|
||||
cmd.entry.readsize = readsize;
|
||||
cmd.entry.writesize = writesize;
|
||||
@@ -456,7 +456,7 @@ void post_typeA_indyrescmd_app_data_recieved(s32 readsize,s32 writesize,u32 data
|
||||
indy_resource_entry_typeA cmd;
|
||||
|
||||
cmd.entry.resourceID = 0x9abf1623;
|
||||
cmd.entry.type = 0xA;
|
||||
cmd.entry.type = INDY_APPCMDRECVD;
|
||||
cmd.entry.size = 0x18;
|
||||
cmd.entry.readsize = readsize;
|
||||
cmd.entry.writesize = writesize;
|
||||
|
||||
@@ -2,6 +2,26 @@
|
||||
#define _INDY_COMMANDS_H_
|
||||
#include <ultra64.h>
|
||||
|
||||
typedef enum INDYCMDTYPE {
|
||||
INDY_INIT=0,
|
||||
INDY_SIZE=1,
|
||||
INDY_END=2,
|
||||
INDY_RESCMD=3,
|
||||
INDY_RESCMDDATARCVD=4,
|
||||
INDY_SENDCHECKFILEEXISTS=5,
|
||||
INDY_RECVCHECKFILEEXISTS=6,
|
||||
INDY_SENDFILELOAD=7,
|
||||
INDY_LOGRECVD=8,
|
||||
INDY_SENDDUMP=9,
|
||||
INDY_APPCMDRECVD=10,
|
||||
INDY_SENDHOSTCMD=11,
|
||||
INDY_PROFILE_SEND=12,
|
||||
INDY_EXPORTFILE=13,
|
||||
INDY_PROFILE_RECV=14,
|
||||
INDY_RAMROMLOAD=15,
|
||||
INDY_FAULTACKHOST=16
|
||||
} INDYCMDTYPE;
|
||||
|
||||
typedef struct indy_resource_entry_header {
|
||||
u32 resourceID;
|
||||
s32 type;
|
||||
|
||||
@@ -129,8 +129,8 @@ void init_player_BONDdata_stats(void) {
|
||||
g_CurrentPlayer->crosshair_x_pos = 0.0f;
|
||||
g_CurrentPlayer->crosshair_y_pos = 0.0f;
|
||||
g_CurrentPlayer->guncrossdamp = 0.9f;
|
||||
g_CurrentPlayer->field_FFC = 0.0f;
|
||||
g_CurrentPlayer->field_1000 = 0.0f;
|
||||
g_CurrentPlayer->field_FFC.x = 0.0f;
|
||||
g_CurrentPlayer->field_FFC.y = 0.0f;
|
||||
g_CurrentPlayer->gun_azimuth_angle = 0.0f;
|
||||
g_CurrentPlayer->gun_azimuth_turning = 0.0f;
|
||||
g_CurrentPlayer->gunaimdamp = 0.9f;
|
||||
@@ -139,10 +139,10 @@ void init_player_BONDdata_stats(void) {
|
||||
g_CurrentPlayer->unk1018 = 0.0f;
|
||||
g_CurrentPlayer->copiedgoldeneye = FALSE;
|
||||
g_CurrentPlayer->magnetattracttime = -1;
|
||||
g_CurrentPlayer->field_106C = 0.0f;
|
||||
g_CurrentPlayer->field_1070 = 0.0f;
|
||||
g_CurrentPlayer->field_1074 = 0.0f;
|
||||
g_CurrentPlayer->field_1078 = 0;
|
||||
g_CurrentPlayer->gunsync = 0.0f;
|
||||
g_CurrentPlayer->syncchange = 0.0f;
|
||||
g_CurrentPlayer->synccount = 0.0f;
|
||||
g_CurrentPlayer->syncoffset = 0;
|
||||
g_CurrentPlayer->field_107C = 0.0f;
|
||||
g_CurrentPlayer->field_1080 = 0.0f;
|
||||
bgunCalculateBlend(GUNRIGHT);
|
||||
|
||||
Loaded 100 of 181 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user