merge refresh 10

This commit is contained in:
n64
2020-06-20 02:49:59 +03:00
committed by fgsfds
parent f500541834
commit 4a448cf10d
422 changed files with 6353 additions and 7091 deletions
+55
View File
@@ -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
View File
@@ -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'
+56 -69
View File
@@ -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
View File
@@ -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 -1
View File
@@ -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 -1
View File
@@ -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 -1
View File
@@ -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),
+2 -2
View File
@@ -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 -1
View File
@@ -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
View File
@@ -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
View File
@@ -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
+2 -2
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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 -1
View File
@@ -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 -1
View File
@@ -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