mirror of
https://github.com/izzy2lost/sm64-izzys-port-android.git
synced 2026-07-05 15:19:31 -07:00
merge refresh 10
This commit is contained in:
@@ -1,3 +1,58 @@
|
||||
Refresh #10
|
||||
1.) GCC 9 noreturn UB fixes (#961)
|
||||
2.) List supported binutils variants in README.md (#960)
|
||||
3.) fix fly guy's possible values for target roll
|
||||
4.) clarify that 1 is an exclusive bound in random_float (#962)
|
||||
5.) replace unkB8 with prevNumStarsForDialog (#963)
|
||||
6.) Replace "BulletBillUnkF8" with "BulletBillInitialMoveYaw" (#966)
|
||||
7.) Renamed more warp behaviors and spawn types (#949)
|
||||
8.) EU bss cleanups (#965)
|
||||
9.) Add -fno-zero-initialized-in-bss to GCC CFLAGS (#968)
|
||||
10.) Use empty .SECONDARY target instead of .PRECIOUS (#964)
|
||||
11.) Match EU seq_channel_layer_process_script (#969)
|
||||
12.) Fix version variable overwriting bug for non-matching compilations (#974)
|
||||
13.) small bhv_collect_star_init labeling (#972)
|
||||
14.) Align SI DMA command buffers, add more names to osCont code (#973)
|
||||
15.) Minor for loop fix in playback.c (#976)
|
||||
16.) Add Docker config (Public #36)
|
||||
17.) Fix usage output crash for skyconv (#977)
|
||||
18.) Cleanup tools and their build flags (#978)
|
||||
19.) Print more detailed file reading error messages in extract_assets (#982)
|
||||
20.) Remove asmdiff (#983)
|
||||
21.) Fixed tabledesign makefile bug (#985)
|
||||
22.) Improve first-diff.py (#987)
|
||||
23.) Bring in some enhancements such as widescreen enhancements (#981)
|
||||
24.) Fix background shadow border if widescreen in shade_screen (#988)
|
||||
25.) Merge common EU sections in osExceptionPreamble (#990)
|
||||
26.) Introduce the NO_SEGMENTED_MEMORY define (#989)
|
||||
27.) NO_SEGMENTED_MEMORY comments (#992)
|
||||
28.) Introduce f3dex2e and a GBI_FLOATS setting (#993)
|
||||
29.) Audio uses signed 16-bit integers as samples, not unsigned (#995)
|
||||
30.) Assemble RSP ucode with armips (#970)
|
||||
31.) Label Mr. Blizzard, Yoshi, Whomp, Wiggler, Wood Piece oFields. (#996)
|
||||
32.) update crash enhancement (#1003)
|
||||
33.) Update README.md to use new public Discord server invite
|
||||
34.) Label variables in act_idle. (#1005)
|
||||
35.) Fix a typo in camera.h (#1009)
|
||||
36.) Fixed up profiler.c (#1010)
|
||||
37.) Add -d to first-diff.py (#1012)
|
||||
38.) Fix typo in first-diff.py (#1013)
|
||||
39.) Remove binutils 2.27 dependency check (#1015)
|
||||
40.) Update armips to v0.11.0 tag and add generator script (#1004)
|
||||
41.) Extract IPL3 font from ROM (#1011)
|
||||
42.) Documented audio playback flags (#1021)
|
||||
43.) Change RSP register notation to dollar-prefixed numbers (#1022)
|
||||
44.) Only check for QEMU_IRIX in Makefile when compiling with IDO (#1023)
|
||||
45.) Clean up header files and update function prototypes (#1000)
|
||||
46.) Named local variables in geo_update_layer_transparency (#1019)
|
||||
47.) Extract crash screen font textures from EU and SH ROMs (#1025)
|
||||
48.) Use ACTIVE_FLAG defines where appropriate (#1026)
|
||||
49.) Changed type of actor collision from s16 to Collision (#1024)
|
||||
50.) Implement sqrtf in assembly file (#1028)
|
||||
51.) Rename Struct8032FCE8 as OpenableGrill and identify data members (#1029)
|
||||
52.) Fix some mistakes in the abi doc (#1031)
|
||||
53.) The README.md PR (#979)
|
||||
|
||||
Refresh #8
|
||||
1.) Use INT_STATUS_ macros for oInteractStatus (#911)
|
||||
2.) Update bullet_bill.inc.c (#912)
|
||||
|
||||
+2
-11
@@ -5,14 +5,9 @@ RUN apt-get update && \
|
||||
binutils-mips-linux-gnu \
|
||||
bsdmainutils \
|
||||
build-essential \
|
||||
git \
|
||||
libaudiofile-dev \
|
||||
libsdl2-dev \
|
||||
pkg-config \
|
||||
python3 \
|
||||
wget \
|
||||
zlib1g-dev && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
wget
|
||||
|
||||
RUN wget \
|
||||
https://github.com/n64decomp/qemu-irix/releases/download/v2.11-deb/qemu-irix-2.11.0-2169-g32ab296eef_amd64.deb \
|
||||
@@ -21,13 +16,9 @@ RUN wget \
|
||||
dpkg -i qemu.deb && \
|
||||
rm qemu.deb
|
||||
|
||||
RUN git clone --depth 1 https://github.com/emscripten-core/emsdk.git && \
|
||||
./emsdk/emsdk install latest && \
|
||||
./emsdk/emsdk activate latest
|
||||
|
||||
RUN mkdir /sm64
|
||||
WORKDIR /sm64
|
||||
ENV PATH="/sm64/tools:/emsdk:/emsdk/upstream/emscripten:${PATH}"
|
||||
ENV PATH="/sm64/tools:${PATH}"
|
||||
|
||||
CMD echo 'usage: docker run --rm --mount type=bind,source="$(pwd)",destination=/sm64 sm64 make VERSION=${VERSION:-us} -j4\n' \
|
||||
'see https://github.com/n64decomp/sm64/blob/master/README.md for advanced usage'
|
||||
|
||||
@@ -115,33 +115,21 @@ endif
|
||||
# Release (version) flag defs
|
||||
|
||||
ifeq ($(VERSION),jp)
|
||||
VERSION_CFLAGS := -DVERSION_JP
|
||||
VERSION_ASFLAGS := --defsym VERSION_JP=1
|
||||
GRUCODE_CFLAGS := -DF3D_OLD
|
||||
GRUCODE_ASFLAGS := --defsym F3D_OLD=1
|
||||
TARGET := sm64.jp
|
||||
VERSION_DEF := VERSION_JP
|
||||
GRUCODE_DEF := F3D_OLD
|
||||
else
|
||||
ifeq ($(VERSION),us)
|
||||
VERSION_CFLAGS := -DVERSION_US
|
||||
VERSION_ASFLAGS := --defsym VERSION_US=1
|
||||
GRUCODE_CFLAGS := -DF3D_OLD
|
||||
GRUCODE_ASFLAGS := --defsym F3D_OLD=1
|
||||
TARGET := sm64.us
|
||||
VERSION_DEF := VERSION_US
|
||||
GRUCODE_DEF := F3D_OLD
|
||||
else
|
||||
ifeq ($(VERSION),eu)
|
||||
VERSION_CFLAGS := -DVERSION_EU
|
||||
VERSION_ASFLAGS := --defsym VERSION_EU=1
|
||||
GRUCODE_CFLAGS := -DF3D_NEW
|
||||
GRUCODE_ASFLAGS := --defsym F3D_NEW=1
|
||||
TARGET := sm64.eu
|
||||
VERSION_DEF := VERSION_EU
|
||||
GRUCODE_DEF := F3D_NEW
|
||||
else
|
||||
ifeq ($(VERSION),sh)
|
||||
$(warning Building SH is experimental and is prone to breaking. Try at your own risk.)
|
||||
VERSION_CFLAGS := -DVERSION_SH
|
||||
VERSION_ASFLAGS := --defsym VERSION_SH=1
|
||||
GRUCODE_CFLAGS := -DF3D_NEW
|
||||
GRUCODE_ASFLAGS := --defsym F3D_NEW=1
|
||||
TARGET := sm64.sh
|
||||
VERSION_DEF := VERSION_SH
|
||||
GRUCODE_DEF := F3D_NEW
|
||||
# TODO: GET RID OF THIS!!! We should mandate assets for Shindou like EU but we dont have the addresses extracted yet so we'll just pretend you have everything extracted for now.
|
||||
NOEXTRACT := 1
|
||||
else
|
||||
@@ -151,6 +139,10 @@ endif
|
||||
endif
|
||||
endif
|
||||
|
||||
TARGET := sm64.$(VERSION)
|
||||
VERSION_CFLAGS := -D$(VERSION_DEF) -D_LANGUAGE_C
|
||||
VERSION_ASFLAGS := --defsym $(VERSION_DEF)=1
|
||||
|
||||
# Stuff for showing the git hash in the intro on nightly builds
|
||||
# From https://stackoverflow.com/questions/44038428/include-git-commit-hash-and-or-branch-name-in-c-c-source
|
||||
ifeq ($(shell git rev-parse --abbrev-ref HEAD),nightly)
|
||||
@@ -162,14 +154,14 @@ endif
|
||||
# Microcode
|
||||
|
||||
ifeq ($(GRUCODE),f3dex) # Fast3DEX
|
||||
GRUCODE_CFLAGS := -DF3DEX_GBI
|
||||
GRUCODE_ASFLAGS := --defsym F3DEX_GBI_SHARED=1 --defsym F3DEX_GBI=1
|
||||
GRUCODE_DEF := F3DEX_GBI
|
||||
GRUCODE_ASFLAGS := --defsym F3DEX_GBI_SHARED=1
|
||||
TARGET := $(TARGET).f3dex
|
||||
COMPARE := 0
|
||||
else
|
||||
ifeq ($(GRUCODE), f3dex2) # Fast3DEX2
|
||||
GRUCODE_CFLAGS := -DF3DEX_GBI_2
|
||||
GRUCODE_ASFLAGS := --defsym F3DEX_GBI_SHARED=1 --defsym F3DEX_GBI_2=1
|
||||
GRUCODE_DEF := F3DEX_GBI_2
|
||||
GRUCODE_ASFLAGS := --defsym F3DEX_GBI_SHARED=1
|
||||
TARGET := $(TARGET).f3dex2
|
||||
COMPARE := 0
|
||||
else
|
||||
@@ -179,15 +171,14 @@ ifeq ($(GRUCODE), f3dex2e) # Fast3DEX2 Extended (PC default)
|
||||
COMPARE := 0
|
||||
else
|
||||
ifeq ($(GRUCODE),f3d_new) # Fast3D 2.0H (Shindou)
|
||||
GRUCODE_CFLAGS := -DF3D_NEW
|
||||
GRUCODE_ASFLAGS := --defsym F3D_NEW=1
|
||||
GRUCODE_DEF := F3D_NEW
|
||||
TARGET := $(TARGET).f3d_new
|
||||
COMPARE := 0
|
||||
else
|
||||
ifeq ($(GRUCODE),f3dzex) # Fast3DZEX (2.0J / Animal Forest - Dōbutsu no Mori)
|
||||
$(warning Fast3DZEX is experimental. Try at your own risk.)
|
||||
GRUCODE_CFLAGS := -DF3DEX_GBI_2
|
||||
GRUCODE_ASFLAGS := --defsym F3DEX_GBI_SHARED=1 --defsym F3DZEX_GBI=1
|
||||
GRUCODE_DEF := F3DEX_GBI_2
|
||||
GRUCODE_ASFLAGS := --defsym F3DEX_GBI_SHARED=1
|
||||
TARGET := $(TARGET).f3dzex
|
||||
COMPARE := 0
|
||||
endif
|
||||
@@ -196,6 +187,9 @@ endif
|
||||
endif
|
||||
endif
|
||||
|
||||
GRUCODE_CFLAGS := -D$(GRUCODE_DEF)
|
||||
GRUCODE_ASFLAGS := $(GRUCODE_ASFLAGS) --defsym $(GRUCODE_DEF)=1
|
||||
|
||||
# Default build is for PC now
|
||||
VERSION_CFLAGS := $(VERSION_CFLAGS) -DNON_MATCHING -DAVOID_UB
|
||||
|
||||
@@ -454,10 +448,7 @@ SOUND_SAMPLE_DIRS := $(wildcard sound/samples/*)
|
||||
SOUND_SAMPLE_AIFFS := $(foreach dir,$(SOUND_SAMPLE_DIRS),$(wildcard $(dir)/*.aiff))
|
||||
SOUND_SAMPLE_TABLES := $(foreach file,$(SOUND_SAMPLE_AIFFS),$(BUILD_DIR)/$(file:.aiff=.table))
|
||||
SOUND_SAMPLE_AIFCS := $(foreach file,$(SOUND_SAMPLE_AIFFS),$(BUILD_DIR)/$(file:.aiff=.aifc))
|
||||
SOUND_OBJ_FILES := $(SOUND_BIN_DIR)/sound_data.ctl.o \
|
||||
$(SOUND_BIN_DIR)/sound_data.tbl.o \
|
||||
$(SOUND_BIN_DIR)/sequences.bin.o \
|
||||
$(SOUND_BIN_DIR)/bank_sets.o
|
||||
SOUND_OBJ_FILES := $(SOUND_BIN_DIR)/sound_data.o
|
||||
|
||||
# Object files
|
||||
O_FILES := $(foreach file,$(C_FILES),$(BUILD_DIR)/$(file:.c=.o)) \
|
||||
@@ -626,8 +617,8 @@ endif
|
||||
|
||||
# Check for Discord Rich Presence option
|
||||
ifeq ($(DISCORDRPC),1)
|
||||
CC_CHECK += -DDISCORDRPC
|
||||
CFLAGS += -DDISCORDRPC
|
||||
CC_CHECK += -DDISCORDRPC
|
||||
CFLAGS += -DDISCORDRPC
|
||||
endif
|
||||
|
||||
# Check for texture fix option
|
||||
@@ -709,7 +700,6 @@ N64CKSUM = $(TOOLS_DIR)/n64cksum
|
||||
N64GRAPHICS = $(TOOLS_DIR)/n64graphics
|
||||
N64GRAPHICS_CI = $(TOOLS_DIR)/n64graphics_ci
|
||||
TEXTCONV = $(TOOLS_DIR)/textconv
|
||||
IPLFONTUTIL = $(TOOLS_DIR)/iplfontutil
|
||||
AIFF_EXTRACT_CODEBOOK = $(TOOLS_DIR)/aiff_extract_codebook
|
||||
VADPCM_ENC = $(TOOLS_DIR)/vadpcm_enc
|
||||
EXTRACT_DATA_FOR_MIO = $(TOOLS_DIR)/extract_data_for_mio
|
||||
@@ -787,10 +777,10 @@ $(BUILD_DIR)/$(RPC_LIBS):
|
||||
|
||||
libultra: $(BUILD_DIR)/libultra.a
|
||||
|
||||
asm/boot.s: $(BUILD_DIR)/lib/bin/ipl3_font.bin
|
||||
$(BUILD_DIR)/asm/boot.o: $(IPL3_RAW_FILES)
|
||||
$(BUILD_DIR)/src/game/crash_screen.o: $(CRASH_TEXTURE_C_FILES)
|
||||
|
||||
$(BUILD_DIR)/lib/bin/ipl3_font.bin: lib/ipl3_font.png
|
||||
$(IPLFONTUTIL) e $< $@
|
||||
$(BUILD_DIR)/lib/rsp.o: $(BUILD_DIR)/rsp/rspboot.bin $(BUILD_DIR)/rsp/fast3d.bin $(BUILD_DIR)/rsp/audio.bin
|
||||
|
||||
#Required so the compiler doesn't complain about this not existing.
|
||||
$(BUILD_DIR)/src/game/camera.o: $(BUILD_DIR)/include/text_strings.h
|
||||
@@ -837,7 +827,8 @@ $(BUILD_DIR)/text/%/define_text.inc.c: text/define_text.inc.c text/%/courses.h t
|
||||
$(CPP) $(VERSION_CFLAGS) $< -o $@ -I text/$*/
|
||||
$(TEXTCONV) charmap.txt $@ $@
|
||||
|
||||
ALL_DIRS := $(BUILD_DIR) $(addprefix $(BUILD_DIR)/,$(SRC_DIRS) $(ASM_DIRS) $(GODDARD_SRC_DIRS) $(ULTRA_SRC_DIRS) $(ULTRA_ASM_DIRS) $(ULTRA_BIN_DIRS) $(BIN_DIRS) $(TEXTURE_DIRS) $(TEXT_DIRS) $(SOUND_SAMPLE_DIRS) $(addprefix levels/,$(LEVEL_DIRS)) include) $(MIO0_DIR) $(addprefix $(MIO0_DIR)/,$(VERSION)) $(SOUND_BIN_DIR) $(SOUND_BIN_DIR)/sequences/$(VERSION)
|
||||
RSP_DIRS := $(BUILD_DIR)/rsp
|
||||
ALL_DIRS := $(BUILD_DIR) $(addprefix $(BUILD_DIR)/,$(SRC_DIRS) $(ASM_DIRS) $(GODDARD_SRC_DIRS) $(ULTRA_SRC_DIRS) $(ULTRA_ASM_DIRS) $(ULTRA_BIN_DIRS) $(BIN_DIRS) $(TEXTURE_DIRS) $(TEXT_DIRS) $(SOUND_SAMPLE_DIRS) $(addprefix levels/,$(LEVEL_DIRS)) include) $(MIO0_DIR) $(addprefix $(MIO0_DIR)/,$(VERSION)) $(SOUND_BIN_DIR) $(SOUND_BIN_DIR)/sequences/$(VERSION) $(RSP_DIRS)
|
||||
|
||||
# Make sure build directory exists before compiling anything
|
||||
DUMMY != mkdir -p $(ALL_DIRS)
|
||||
@@ -869,12 +860,17 @@ endif
|
||||
################################################################
|
||||
|
||||
# RGBA32, RGBA16, IA16, IA8, IA4, IA1, I8, I4
|
||||
|
||||
ifeq ($(EXTERNAL_DATA),1)
|
||||
|
||||
$(BUILD_DIR)/%: %.png
|
||||
$(ZEROTERM) "$(patsubst %.png,%,$^)" > $@
|
||||
|
||||
else
|
||||
|
||||
$(BUILD_DIR)/%: %.png
|
||||
$(N64GRAPHICS) -i $@ -g $< -f $(lastword $(subst ., ,$@))
|
||||
|
||||
endif
|
||||
|
||||
$(BUILD_DIR)/%.inc.c: $(BUILD_DIR)/% %.png
|
||||
@@ -882,6 +878,7 @@ $(BUILD_DIR)/%.inc.c: $(BUILD_DIR)/% %.png
|
||||
echo >> $@
|
||||
|
||||
ifeq ($(EXTERNAL_DATA),0)
|
||||
|
||||
# Color Index CI8
|
||||
$(BUILD_DIR)/%.ci8: %.ci8.png
|
||||
$(N64GRAPHICS_CI) -i $@ -g $< -f ci8
|
||||
@@ -889,6 +886,7 @@ $(BUILD_DIR)/%.ci8: %.ci8.png
|
||||
# Color Index CI4
|
||||
$(BUILD_DIR)/%.ci4: %.ci4.png
|
||||
$(N64GRAPHICS_CI) -i $@ -g $< -f ci4
|
||||
|
||||
endif
|
||||
|
||||
################################################################
|
||||
@@ -902,6 +900,9 @@ $(BUILD_DIR)/%.table: %.aiff
|
||||
$(BUILD_DIR)/%.aifc: $(BUILD_DIR)/%.table %.aiff
|
||||
$(VADPCM_ENC) -c $^ $@
|
||||
|
||||
$(BUILD_DIR)/rsp/%.bin $(BUILD_DIR)/rsp/%_data.bin: rsp/%.s
|
||||
$(RSPASM) -sym $@.sym -definelabel $(VERSION_DEF) 1 -definelabel $(GRUCODE_DEF) 1 -strequ CODE_FILE $(BUILD_DIR)/rsp/$*.bin -strequ DATA_FILE $(BUILD_DIR)/rsp/$*_data.bin $<
|
||||
|
||||
$(ENDIAN_BITWIDTH): tools/determine-endian-bitwidth.c
|
||||
$(CC) -c $(CFLAGS) -o $@.dummy2 $< 2>$@.dummy1; true
|
||||
grep -o 'msgbegin --endian .* --bitwidth .* msgend' $@.dummy1 > $@.dummy2
|
||||
@@ -934,39 +935,19 @@ $(SOUND_BIN_DIR)/%.o: $(SOUND_BIN_DIR)/%.s
|
||||
|
||||
ifeq ($(EXTERNAL_DATA),1)
|
||||
|
||||
$(SOUND_BIN_DIR)/sound_data.ctl.c: $(SOUND_BIN_DIR)/sound_data.ctl
|
||||
echo "unsigned char gSoundDataADSR[] = \"sound/sound_data.ctl\";" > $@
|
||||
$(SOUND_BIN_DIR)/sound_data.tbl.c: $(SOUND_BIN_DIR)/sound_data.tbl
|
||||
echo "unsigned char gSoundDataRaw[] = \"sound/sound_data.tbl\";" > $@
|
||||
$(SOUND_BIN_DIR)/sequences.bin.c: $(SOUND_BIN_DIR)/sequences.bin
|
||||
echo "unsigned char gMusicData[] = \"sound/sequences.bin\";" > $@
|
||||
$(SOUND_BIN_DIR)/bank_sets.c: $(SOUND_BIN_DIR)/bank_sets
|
||||
echo "unsigned char gBankSetsData[] = \"sound/bank_sets\";" > $@
|
||||
$(SOUND_BIN_DIR)/%.inc.c: $(SOUND_BIN_DIR)/%
|
||||
$(ZEROTERM) "$(patsubst %.inc.c,%,$^)" | hexdump -v -e '1/1 "0x%X,"' > $@
|
||||
|
||||
else
|
||||
|
||||
$(SOUND_BIN_DIR)/sound_data.ctl.c: $(SOUND_BIN_DIR)/sound_data.ctl
|
||||
echo "unsigned char gSoundDataADSR[] = {" > $@
|
||||
hexdump -v -e '1/1 "0x%X,"' $< >> $@
|
||||
echo "};" >> $@
|
||||
|
||||
$(SOUND_BIN_DIR)/sound_data.tbl.c: $(SOUND_BIN_DIR)/sound_data.tbl
|
||||
echo "unsigned char gSoundDataRaw[] = {" > $@
|
||||
hexdump -v -e '1/1 "0x%X,"' $< >> $@
|
||||
echo "};" >> $@
|
||||
|
||||
$(SOUND_BIN_DIR)/sequences.bin.c: $(SOUND_BIN_DIR)/sequences.bin
|
||||
echo "unsigned char gMusicData[] = {" > $@
|
||||
hexdump -v -e '1/1 "0x%X,"' $< >> $@
|
||||
echo "};" >> $@
|
||||
|
||||
$(SOUND_BIN_DIR)/bank_sets.c: $(SOUND_BIN_DIR)/bank_sets
|
||||
echo "unsigned char gBankSetsData[0x100] = {" > $@
|
||||
hexdump -v -e '1/1 "0x%X,"' $< >> $@
|
||||
echo "};" >> $@
|
||||
$(SOUND_BIN_DIR)/%.inc.c: $(SOUND_BIN_DIR)/%
|
||||
hexdump -v -e '1/1 "0x%X,"' $< > $@
|
||||
echo >> $@
|
||||
|
||||
endif
|
||||
|
||||
$(SOUND_BIN_DIR)/sound_data.o: $(SOUND_BIN_DIR)/sound_data.ctl.inc.c $(SOUND_BIN_DIR)/sound_data.tbl.inc.c $(SOUND_BIN_DIR)/sequences.bin.inc.c $(SOUND_BIN_DIR)/bank_sets.inc.c
|
||||
|
||||
$(BUILD_DIR)/levels/scripts.o: $(BUILD_DIR)/include/level_headers.h
|
||||
|
||||
$(BUILD_DIR)/include/level_headers.h: levels/level_headers.h.in
|
||||
@@ -1012,12 +993,18 @@ else
|
||||
# acpp, which needs -Wp,-+ to handle C++-style comments.
|
||||
$(BUILD_DIR)/src/audio/effects.o: OPT_FLAGS := -O2 -Wo,-loopunroll,0 -sopt,-inline=sequence_channel_process_sound,-scalaroptimize=1 -Wp,-+
|
||||
$(BUILD_DIR)/src/audio/synthesis.o: OPT_FLAGS := -O2 -sopt,-scalaroptimize=1 -Wp,-+
|
||||
#$(BUILD_DIR)/src/audio/seqplayer.o: OPT_FLAGS := -O2 -sopt,-inline_manual,-scalaroptimize=1 -Wp,-+ #-Wo,-v,-bb,-l,seqplayer_list.txt
|
||||
|
||||
# Add a target for build/eu/src/audio/*.copt to make it easier to see debug
|
||||
$(BUILD_DIR)/src/audio/%.acpp: src/audio/%.c
|
||||
$(QEMU_IRIX) -silent -L $(IRIX_ROOT) $(IRIX_ROOT)/usr/lib/acpp $(TARGET_CFLAGS) $(INCLUDE_CFLAGS) $(VERSION_CFLAGS) $(GRUCODE_CFLAGS) -D__sgi -+ $< > $@
|
||||
$(QEMU_IRIX) -silent -L $(IRIX_ROOT) $(IRIX_ROOT)/usr/lib/acpp $(TARGET_CFLAGS) $(INCLUDE_CFLAGS) $(VERSION_CFLAGS) $(MATCH_CFLAGS) $(GRUCODE_CFLAGS) -D__sgi -+ $< > $@
|
||||
|
||||
$(BUILD_DIR)/src/audio/seqplayer.copt: $(BUILD_DIR)/src/audio/seqplayer.acpp
|
||||
$(QEMU_IRIX) -silent -L $(IRIX_ROOT) $(IRIX_ROOT)/usr/lib/copt -signed -I=$< -CMP=$@ -cp=i -scalaroptimize=1 -inline_manual
|
||||
|
||||
$(BUILD_DIR)/src/audio/%.copt: $(BUILD_DIR)/src/audio/%.acpp
|
||||
$(QEMU_IRIX) -silent -L $(IRIX_ROOT) $(IRIX_ROOT)/usr/lib/copt -signed -I=$< -CMP=$@ -cp=i -scalaroptimize=1
|
||||
|
||||
endif
|
||||
|
||||
# Rebuild files with 'GLOBAL_ASM' if the NON_MATCHING flag changes.
|
||||
@@ -1031,12 +1018,12 @@ $(BUILD_DIR)/%.o: %.cpp
|
||||
$(CXX) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
$(BUILD_DIR)/%.o: %.c
|
||||
@$(CC_CHECK) -MMD -MP -MT $@ -MF $(BUILD_DIR)/$*.d $<
|
||||
@$(CC_CHECK) $(CC_CHECK_CFLAGS) -MMD -MP -MT $@ -MF $(BUILD_DIR)/$*.d $<
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
|
||||
$(BUILD_DIR)/%.o: $(BUILD_DIR)/%.c
|
||||
@$(CC_CHECK) -MMD -MP -MT $@ -MF $(BUILD_DIR)/$*.d $<
|
||||
@$(CC_CHECK) $(CC_CHECK_CFLAGS) -MMD -MP -MT $@ -MF $(BUILD_DIR)/$*.d $<
|
||||
$(CC) -c $(CFLAGS) -o $@ $<
|
||||
|
||||
$(BUILD_DIR)/%.o: %.s
|
||||
|
||||
+8
-2
@@ -5,7 +5,7 @@
|
||||
# obtain a list of segments from the *.c files in bin directory
|
||||
SEGMENTS := $(notdir $(basename $(wildcard bin/*.c))) $(addprefix $(VERSION)/,$(notdir $(basename $(wildcard bin/$(VERSION)/*.c)))) $(addsuffix _skybox,$(notdir $(basename $(wildcard textures/skyboxes/*.png))))
|
||||
ACTORS := $(filter %/,$(wildcard actors/*/))
|
||||
TEXTURE_DIRS := $(addprefix textures/,$(SEGMENTS)) $(ACTORS) textures/intro_raw textures/skybox_tiles
|
||||
TEXTURE_DIRS := $(addprefix textures/,$(SEGMENTS)) $(ACTORS) textures/crash_screen textures/intro_raw textures/ipl3_raw textures/skybox_tiles
|
||||
|
||||
# NOTE: textures assume naming convention "texture.<encoding>.png" generates "texture.<encoding>"
|
||||
|
||||
@@ -243,6 +243,12 @@ $(BUILD_DIR)/bin/%_skybox.elf: SEGMENT_ADDRESS := 0x0A000000
|
||||
# Misc Rules
|
||||
# --------------------------------------
|
||||
|
||||
# intro_raw textures are not compressed
|
||||
# intro and ipl3 textures are not compressed
|
||||
INTRO_RAW_FILES := $(wildcard $(TEXTURE_DIR)/intro_raw/*.png)
|
||||
$(BUILD_DIR)/src/goddard/renderer.o: $(addprefix $(BUILD_DIR)/,$(patsubst %.png,%.inc.c,$(INTRO_RAW_FILES)))
|
||||
|
||||
IPL3_TEXTURE_FILES := $(wildcard $(TEXTURE_DIR)/ipl3_raw/*.png)
|
||||
IPL3_RAW_FILES := $(addprefix $(BUILD_DIR)/,$(patsubst %.png,%,$(IPL3_TEXTURE_FILES)))
|
||||
|
||||
CRASH_TEXTURE_FILES := $(wildcard $(TEXTURE_DIR)/crash_screen/*.png)
|
||||
CRASH_TEXTURE_C_FILES := $(addprefix $(BUILD_DIR)/,$(patsubst %.png,%.inc.c,$(CRASH_TEXTURE_FILES)))
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// Blue Coin Switch
|
||||
|
||||
// 0x08000E98 - 0x08000F10
|
||||
const s16 blue_coin_switch_seg8_collision_08000E98[] = {
|
||||
const Collision blue_coin_switch_seg8_collision_08000E98[] = {
|
||||
COL_INIT(),
|
||||
COL_VERTEX_INIT(0x8),
|
||||
COL_VERTEX(26, 0, 26),
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// Breakable Box
|
||||
|
||||
// 0x08012D70 - 0x08012DF4
|
||||
const s16 breakable_box_seg8_collision_08012D70[] = {
|
||||
const Collision breakable_box_seg8_collision_08012D70[] = {
|
||||
COL_INIT(),
|
||||
COL_VERTEX_INIT(0x8),
|
||||
COL_VERTEX(-100, 0, -100),
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// Cannon Lid
|
||||
|
||||
// 0x08004950 - 0x08004980
|
||||
const s16 cannon_lid_seg8_collision_08004950[] = {
|
||||
const Collision cannon_lid_seg8_collision_08004950[] = {
|
||||
COL_INIT(),
|
||||
COL_VERTEX_INIT(0x4),
|
||||
COL_VERTEX(112, 0, -111),
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Capswitch
|
||||
|
||||
const s16 capswitch_collision_050033D0[] = {
|
||||
const Collision capswitch_collision_050033D0[] = {
|
||||
COL_INIT(),
|
||||
COL_VERTEX_INIT(0x8),
|
||||
COL_VERTEX(292, 0, 254),
|
||||
@@ -27,7 +27,7 @@ const s16 capswitch_collision_050033D0[] = {
|
||||
COL_END(),
|
||||
};
|
||||
|
||||
const s16 capswitch_collision_05003448[] = {
|
||||
const Collision capswitch_collision_05003448[] = {
|
||||
COL_INIT(),
|
||||
COL_VERTEX_INIT(0x8),
|
||||
COL_VERTEX(292, 0, 254),
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// Checkerboard Platform
|
||||
|
||||
// 0x0800D710 - 0x0800D794
|
||||
const s16 checkerboard_platform_seg8_collision_0800D710[] = {
|
||||
const Collision checkerboard_platform_seg8_collision_0800D710[] = {
|
||||
COL_INIT(),
|
||||
COL_VERTEX_INIT(0x8),
|
||||
COL_VERTEX(256, -25, -153),
|
||||
|
||||
+8
-8
@@ -28,7 +28,7 @@ extern const GeoLayout blue_coin_switch_geo[];
|
||||
extern const Gfx blue_coin_switch_seg8_dl_08000D58[];
|
||||
extern const Gfx blue_coin_switch_seg8_dl_08000DD0[];
|
||||
extern const Gfx blue_coin_switch_seg8_dl_08000E08[];
|
||||
extern const s16 blue_coin_switch_seg8_collision_08000E98[];
|
||||
extern const Collision blue_coin_switch_seg8_collision_08000E98[];
|
||||
|
||||
// bobomb
|
||||
extern const GeoLayout black_bobomb_geo[];
|
||||
@@ -57,7 +57,7 @@ extern const Gfx breakable_box_seg8_dl_08012C30[];
|
||||
extern const Gfx breakable_box_seg8_dl_08012CD8[];
|
||||
extern const Gfx breakable_box_seg8_dl_08012D20[];
|
||||
extern const Gfx breakable_box_seg8_dl_08012D48[];
|
||||
extern const s16 breakable_box_seg8_collision_08012D70[];
|
||||
extern const Collision breakable_box_seg8_collision_08012D70[];
|
||||
|
||||
// cannon_barrel
|
||||
extern const GeoLayout cannon_barrel_geo[];
|
||||
@@ -74,14 +74,14 @@ extern const Gfx cannon_base_seg8_dl_080057F8[];
|
||||
// cannon_lid
|
||||
extern const Gfx cannon_lid_seg8_dl_08004898[];
|
||||
extern const Gfx cannon_lid_seg8_dl_080048E0[];
|
||||
extern const s16 cannon_lid_seg8_collision_08004950[];
|
||||
extern const Collision cannon_lid_seg8_collision_08004950[];
|
||||
|
||||
// checkerboard_platform
|
||||
extern const GeoLayout checkerboard_platform_geo[];
|
||||
extern const Gfx checkerboard_platform_seg8_dl_0800D5C0[];
|
||||
extern const Gfx checkerboard_platform_seg8_dl_0800D618[];
|
||||
extern const Gfx checkerboard_platform_seg8_dl_0800D680[];
|
||||
extern const s16 checkerboard_platform_seg8_collision_0800D710[];
|
||||
extern const Collision checkerboard_platform_seg8_collision_0800D710[];
|
||||
|
||||
// chuckya
|
||||
extern const GeoLayout chuckya_geo[];
|
||||
@@ -136,7 +136,7 @@ extern const Gfx exclamation_box_outline_seg8_dl_08025968[];
|
||||
extern const Gfx exclamation_box_outline_seg8_dl_080259F8[];
|
||||
extern const Gfx exclamation_box_outline_seg8_dl_08025EC0[];
|
||||
extern const Gfx exclamation_box_outline_seg8_dl_08025F08[];
|
||||
extern const s16 exclamation_box_outline_seg8_collision_08025F78[];
|
||||
extern const Collision exclamation_box_outline_seg8_collision_08025F78[];
|
||||
|
||||
// flyguy
|
||||
extern const GeoLayout flyguy_geo[];
|
||||
@@ -189,18 +189,18 @@ extern const Gfx koopa_shell_seg8_dl_08028B78[];
|
||||
extern const GeoLayout metal_box_geo[];
|
||||
extern const Gfx metal_box_seg8_dl_08024B18[];
|
||||
extern const Gfx metal_box_dl[];
|
||||
extern const s16 metal_box_seg8_collision_08024C28[];
|
||||
extern const Collision metal_box_seg8_collision_08024C28[];
|
||||
|
||||
// purple_switch
|
||||
extern const GeoLayout purple_switch_geo[];
|
||||
extern const Gfx purple_switch_seg8_dl_0800C668[];
|
||||
extern const Gfx purple_switch_seg8_dl_0800C6E0[];
|
||||
extern const Gfx purple_switch_seg8_dl_0800C718[];
|
||||
extern const s16 purple_switch_seg8_collision_0800C7A8[];
|
||||
extern const Collision purple_switch_seg8_collision_0800C7A8[];
|
||||
|
||||
// test_platform
|
||||
extern const GeoLayout test_platform_geo[];
|
||||
extern const Gfx unknown_seg8_dl_08026260[];
|
||||
extern const s16 unknown_seg8_collision_080262F8[];
|
||||
extern const Collision unknown_seg8_collision_080262F8[];
|
||||
|
||||
#endif
|
||||
|
||||
+4
-4
@@ -225,8 +225,8 @@ extern const Gfx tree_seg3_dl_03032170[];
|
||||
extern const Gfx tree_seg3_dl_03033258[];
|
||||
|
||||
// warp_collision
|
||||
extern const s16 door_seg3_collision_0301CE78[];
|
||||
extern const s16 lll_hexagonal_mesh_seg3_collision_0301CECC[];
|
||||
extern const Collision door_seg3_collision_0301CE78[];
|
||||
extern const Collision lll_hexagonal_mesh_seg3_collision_0301CECC[];
|
||||
|
||||
// warp_pipe
|
||||
extern const GeoLayout warp_pipe_geo[];
|
||||
@@ -235,7 +235,7 @@ extern const Gfx warp_pipe_seg3_dl_03008F98[];
|
||||
extern const Gfx warp_pipe_seg3_dl_03009968[];
|
||||
extern const Gfx warp_pipe_seg3_dl_03009A20[];
|
||||
extern const Gfx warp_pipe_seg3_dl_03009A50[];
|
||||
extern const s16 warp_pipe_seg3_collision_03009AC8[];
|
||||
extern const Collision warp_pipe_seg3_collision_03009AC8[];
|
||||
|
||||
// white_particle
|
||||
extern const GeoLayout white_particle_geo[];
|
||||
@@ -248,6 +248,6 @@ extern const Gfx wooden_signpost_seg3_dl_0302DA48[];
|
||||
extern const Gfx wooden_signpost_seg3_dl_0302DC40[];
|
||||
extern const Gfx wooden_signpost_seg3_dl_0302DCD0[];
|
||||
extern const Gfx wooden_signpost_seg3_dl_0302DD08[];
|
||||
extern const s16 wooden_signpost_seg3_collision_0302DD80[];
|
||||
extern const Collision wooden_signpost_seg3_collision_0302DD80[];
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// Dorrie
|
||||
|
||||
// 0x0600F644 - 0x0600FBB8
|
||||
const s16 dorrie_seg6_collision_0600F644[] = {
|
||||
const Collision dorrie_seg6_collision_0600F644[] = {
|
||||
COL_INIT(),
|
||||
COL_VERTEX_INIT(0x4E),
|
||||
COL_VERTEX(-104, 657, 512),
|
||||
@@ -243,7 +243,7 @@ const s16 dorrie_seg6_collision_0600F644[] = {
|
||||
};
|
||||
|
||||
// 0x0600FBB8 - 0x060100CE
|
||||
const s16 dorrie_seg6_collision_0600FBB8[] = {
|
||||
const Collision dorrie_seg6_collision_0600FBB8[] = {
|
||||
COL_INIT(),
|
||||
COL_VERTEX_INIT(0x49),
|
||||
COL_VERTEX(-301, -141, -152),
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// Exclamation Box Outline
|
||||
|
||||
// 0x08025F78 - 0x08025FFC
|
||||
const s16 exclamation_box_outline_seg8_collision_08025F78[] = {
|
||||
const Collision exclamation_box_outline_seg8_collision_08025F78[] = {
|
||||
COL_INIT(),
|
||||
COL_VERTEX_INIT(0x8),
|
||||
COL_VERTEX(-26, 30, -26),
|
||||
|
||||
+2
-2
@@ -70,8 +70,8 @@ extern const GeoLayout thwomp_geo[];
|
||||
extern const Gfx thwomp_seg5_dl_0500B570[];
|
||||
extern const Gfx thwomp_seg5_dl_0500B718[];
|
||||
extern const Gfx thwomp_seg5_dl_0500B750[];
|
||||
extern const s16 thwomp_seg5_collision_0500B7D0[];
|
||||
extern const s16 thwomp_seg5_collision_0500B92C[];
|
||||
extern const Collision thwomp_seg5_collision_0500B7D0[];
|
||||
extern const Collision thwomp_seg5_collision_0500B92C[];
|
||||
|
||||
// yellow_sphere_small
|
||||
extern const GeoLayout yellow_sphere_geo[];
|
||||
|
||||
+2
-2
@@ -110,7 +110,7 @@ extern const GeoLayout wooden_post_geo[];
|
||||
extern const Gfx poundable_pole_seg6_dl_060022F0[];
|
||||
extern const Gfx poundable_pole_seg6_dl_06002358[];
|
||||
extern const Gfx poundable_pole_seg6_dl_06002410[];
|
||||
extern const s16 poundable_pole_collision_06002490[];
|
||||
extern const Collision poundable_pole_collision_06002490[];
|
||||
|
||||
// whomp
|
||||
extern const GeoLayout whomp_geo[];
|
||||
@@ -131,6 +131,6 @@ extern const Gfx whomp_seg6_dl_0601FEA8[];
|
||||
extern const Gfx whomp_seg6_dl_0601FFA0[];
|
||||
extern const Gfx whomp_seg6_dl_06020038[];
|
||||
extern const struct Animation *const whomp_seg6_anims_06020A04[];
|
||||
extern const s16 whomp_seg6_collision_06020A0C[];
|
||||
extern const Collision whomp_seg6_collision_06020A0C[];
|
||||
|
||||
#endif
|
||||
|
||||
+2
-2
@@ -32,8 +32,8 @@ extern const Gfx dorrie_seg6_dl_0600DE38[];
|
||||
extern const Gfx dorrie_seg6_dl_0600DF60[];
|
||||
extern const Gfx dorrie_seg6_dl_0600DFA8[];
|
||||
extern const struct Animation *const dorrie_seg6_anims_0600F638[];
|
||||
extern const s16 dorrie_seg6_collision_0600F644[];
|
||||
extern const s16 dorrie_seg6_collision_0600FBB8[];
|
||||
extern const Collision dorrie_seg6_collision_0600F644[];
|
||||
extern const Collision dorrie_seg6_collision_0600FBB8[];
|
||||
|
||||
// mr_i_eyeball
|
||||
extern const GeoLayout mr_i_geo[];
|
||||
|
||||
+1
-1
@@ -22,7 +22,7 @@ extern const Gfx penguin_seg5_dl_050072C8[];
|
||||
extern const Gfx penguin_seg5_dl_05007358[];
|
||||
extern const Gfx penguin_seg5_dl_05007540[];
|
||||
extern const struct Animation *const penguin_seg5_anims_05008B74[];
|
||||
extern const s16 penguin_seg5_collision_05008B88[];
|
||||
extern const Collision penguin_seg5_collision_05008B88[];
|
||||
|
||||
// snowman
|
||||
extern const GeoLayout mr_blizzard_hidden_geo[];
|
||||
|
||||
+3
-3
@@ -14,8 +14,8 @@ extern const Gfx capswitch_seg5_dl_05003350[];
|
||||
extern const Gfx capswitch_seg5_dl_05003370[];
|
||||
extern const Gfx capswitch_seg5_dl_05003390[];
|
||||
extern const Gfx capswitch_seg5_dl_050033B0[];
|
||||
extern const s16 capswitch_collision_050033D0[];
|
||||
extern const s16 capswitch_collision_05003448[];
|
||||
extern const Collision capswitch_collision_050033D0[];
|
||||
extern const Collision capswitch_collision_05003448[];
|
||||
|
||||
// springboard
|
||||
extern const GeoLayout springboard_top_geo[];
|
||||
@@ -24,6 +24,6 @@ extern const GeoLayout springboard_bottom_geo[];
|
||||
extern const Gfx springboard_checkerboard_seg5_dl_050016B8[];
|
||||
extern const Gfx springboard_spring_seg5_dl_05001800[];
|
||||
extern const Gfx springboard_checkerboard_seg5_dl_05001900[];
|
||||
extern const s16 springboard_collision_05001A28[];
|
||||
extern const Collision springboard_collision_05001A28[];
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// Metal Box
|
||||
|
||||
// 0x08024C28 - 0x08024CAC
|
||||
const s16 metal_box_seg8_collision_08024C28[] = {
|
||||
const Collision metal_box_seg8_collision_08024C28[] = {
|
||||
COL_INIT(),
|
||||
COL_VERTEX_INIT(0x8),
|
||||
COL_VERTEX(154, 307, -153),
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
// Penguin
|
||||
|
||||
// 0x05008B88 - 0x05008C00
|
||||
const s16 penguin_seg5_collision_05008B88[] = {
|
||||
const Collision penguin_seg5_collision_05008B88[] = {
|
||||
COL_INIT(),
|
||||
COL_VERTEX_INIT(0x8),
|
||||
COL_VERTEX(12, 66, -12),
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user