Compare commits

..

7 Commits

Author SHA1 Message Date
Gregory Heskett
8676898ae9 Implement sdata 2024-11-02 22:59:04 -04:00
Lila
c4c18b3d0e Check for opensuse's cross mips gcc package (#842)
Makes it possible to rely on the official repo.
Ideally the following instructions would also be added to the wiki for opensuse:
```
sudo zypper install cross-mips-binutils git capstone pkgconf python311 cross-mips-gcc14
# install packages under devel_basis, equivalent to build-essential in deb
sudo zypper install --type pattern devel_basis
```
2024-10-31 14:08:08 -04:00
thecozies
7298e94a1f reset adjacent rooms when loading a new area (#704) 2024-09-05 01:48:26 -04:00
Gregory Heskett
27d328f86a Dialogs in dialogs.h no longer have to be in order (#832) 2024-09-05 01:13:05 -04:00
Gregory Heskett
27372fe74a Merge pull request #795 from gheskett/develop/2.3.0_update-unf
Update to newest UNF (d5f2ad100b76e372036453f8d25f9b6fbbbd2d1a) (November 22, 2023)
2024-09-05 01:07:23 -04:00
Gregory Heskett
e3472e05cf Add option for .local/share/HackerSM64/UNFLoader-dir.txt
This allows referencing a custom UNFLoader path to be used, ideally for placing on the C drive for WSL instances. UNFLoader tends to hang for an unbearably long time when saved somewhere within the WSL directory structure, and simply using the Linux build isn't an option because it can't access Windows USB devices trivially.
2024-08-03 19:57:50 -04:00
Gregory Heskett
74cb8ce062 Update to newest UNF (d5f2ad100b76e372036453f8d25f9b6fbbbd2d1a) (November 22 2023) 2024-08-03 19:33:09 -04:00
1113 changed files with 17922 additions and 17585 deletions

135
.gitignore vendored
View File

@@ -528,26 +528,21 @@ assets/demos/pss.bin
assets/demos/unused.bin assets/demos/unused.bin
assets/demos/wf.bin assets/demos/wf.bin
levels/bbh/0.rgba16.png levels/bbh/0.rgba16.png
actors/vanilla_actors/bbh/0.rgba16.png
levels/bbh/1.rgba16.png levels/bbh/1.rgba16.png
levels/bbh/2.rgba16.png levels/bbh/2.rgba16.png
levels/bbh/3.rgba16.png levels/bbh/3.rgba16.png
actors/vanilla_actors/bbh/4.rgba16.png levels/bbh/4.rgba16.png
actors/vanilla_actors/bbh/5.rgba16.png levels/bbh/5.rgba16.png
actors/vanilla_actors/bbh/6.rgba16.png levels/bbh/6.rgba16.png
actors/vanilla_actors/bitdw/0.rgba16.png
levels/bitdw/0.rgba16.png levels/bitdw/0.rgba16.png
levels/bitdw/1.rgba16.png levels/bitdw/1.rgba16.png
levels/bitdw/2.rgba16.png levels/bitdw/2.rgba16.png
levels/bitdw/3.rgba16.png levels/bitdw/3.rgba16.png
actors/vanilla_actors/bitfs/0.rgba16.png
levels/bitfs/0.rgba16.png levels/bitfs/0.rgba16.png
actors/vanilla_actors/bitfs/1.rgba16.png
levels/bitfs/1.rgba16.png levels/bitfs/1.rgba16.png
levels/bitfs/2.rgba16.png levels/bitfs/2.rgba16.png
levels/bits/0.rgba16.png levels/bits/0.rgba16.png
levels/bits/1.rgba16.png levels/bits/1.rgba16.png
actors/vanilla_actors/bits/2.rgba16.png
levels/bits/2.rgba16.png levels/bits/2.rgba16.png
levels/bob/0.rgba16.png levels/bob/0.rgba16.png
levels/bob/1.rgba16.png levels/bob/1.rgba16.png
@@ -564,9 +559,9 @@ levels/bowser_3/2.rgba16.png
levels/castle_grounds/0.rgba16.png levels/castle_grounds/0.rgba16.png
levels/castle_grounds/1.rgba16.png levels/castle_grounds/1.rgba16.png
levels/castle_grounds/2.rgba16.png levels/castle_grounds/2.rgba16.png
actors/vanilla_actors/castle_grounds/3.rgba16.png levels/castle_grounds/3.rgba16.png
actors/vanilla_actors/castle_grounds/4.rgba16.png levels/castle_grounds/4.rgba16.png
actors/vanilla_actors/castle_grounds/5.ia8.png levels/castle_grounds/5.ia8.png
levels/castle_inside/1.rgba16.png levels/castle_inside/1.rgba16.png
levels/castle_inside/10.rgba16.png levels/castle_inside/10.rgba16.png
levels/castle_inside/11.rgba16.png levels/castle_inside/11.rgba16.png
@@ -604,25 +599,22 @@ levels/castle_inside/38.rgba16.png
levels/castle_inside/39.rgba16.png levels/castle_inside/39.rgba16.png
levels/castle_inside/4.rgba16.png levels/castle_inside/4.rgba16.png
levels/castle_inside/40.rgba16.png levels/castle_inside/40.rgba16.png
actors/vanilla_actors/castle_inside/5.rgba16.png levels/castle_inside/5.rgba16.png
actors/vanilla_actors/castle_inside/6.rgba16.png levels/castle_inside/6.rgba16.png
actors/vanilla_actors/castle_inside/7.rgba16.png levels/castle_inside/7.rgba16.png
levels/castle_inside/8.rgba16.png levels/castle_inside/8.rgba16.png
levels/castle_inside/9.rgba16.png levels/castle_inside/9.rgba16.png
actors/vanilla_actors/castle_inside/castle_light.ia16.png
levels/castle_inside/castle_light.ia16.png levels/castle_inside/castle_light.ia16.png
levels/ccm/0.rgba16.png levels/ccm/0.rgba16.png
levels/ccm/1.rgba16.png levels/ccm/1.rgba16.png
actors/vanilla_actors/ccm/1.rgba16.png
levels/ccm/10.rgba16.png levels/ccm/10.rgba16.png
levels/ccm/11.rgba16.png levels/ccm/11.rgba16.png
actors/vanilla_actors/ccm/12.rgba16.png levels/ccm/12.rgba16.png
levels/ccm/2.rgba16.png levels/ccm/2.rgba16.png
actors/vanilla_actors/ccm/2.rgba16.png levels/ccm/3.rgba16.png
actors/vanilla_actors/ccm/3.rgba16.png
levels/ccm/4.rgba16.png levels/ccm/4.rgba16.png
actors/vanilla_actors/ccm/5.rgba16.png levels/ccm/5.rgba16.png
actors/vanilla_actors/ccm/6.rgba16.png levels/ccm/6.rgba16.png
levels/ccm/7.rgba16.png levels/ccm/7.rgba16.png
levels/ccm/8.ia16.png levels/ccm/8.ia16.png
levels/ccm/9.ia16.png levels/ccm/9.ia16.png
@@ -631,12 +623,11 @@ levels/cotmc/1.rgba16.png
levels/cotmc/2.rgba16.png levels/cotmc/2.rgba16.png
levels/cotmc/3.rgba16.png levels/cotmc/3.rgba16.png
levels/cotmc/4.rgba16.png levels/cotmc/4.rgba16.png
actors/vanilla_actors/ddd/0.rgba16.png levels/ddd/0.rgba16.png
levels/ddd/1.rgba16.png levels/ddd/1.rgba16.png
levels/ddd/2.rgba16.png levels/ddd/2.rgba16.png
actors/vanilla_actors/ddd/2.rgba16.png
levels/ddd/3.rgba16.png levels/ddd/3.rgba16.png
actors/vanilla_actors/ddd/4.rgba16.png levels/ddd/4.rgba16.png
levels/ending/cake.png levels/ending/cake.png
levels/ending/cake_eu.png levels/ending/cake_eu.png
levels/ending/eu_023000.rgba16.png levels/ending/eu_023000.rgba16.png
@@ -648,10 +639,10 @@ levels/ending/eu_028000.rgba16.png
levels/hmc/0.rgba16.png levels/hmc/0.rgba16.png
levels/hmc/1.rgba16.png levels/hmc/1.rgba16.png
levels/hmc/2.rgba16.png levels/hmc/2.rgba16.png
actors/vanilla_actors/hmc/3.rgba16.png levels/hmc/3.rgba16.png
actors/vanilla_actors/hmc/4.rgba16.png levels/hmc/4.rgba16.png
actors/vanilla_actors/hmc/5.rgba16.png levels/hmc/5.rgba16.png
actors/vanilla_actors/hmc/6.rgba16.png levels/hmc/6.rgba16.png
levels/hmc/7.rgba16.png levels/hmc/7.rgba16.png
levels/intro/0.rgba16.png levels/intro/0.rgba16.png
levels/intro/1.rgba16.png levels/intro/1.rgba16.png
@@ -662,41 +653,40 @@ levels/intro/3_sh_tm.rgba16.png
levels/intro/3_tm.rgba16.png levels/intro/3_tm.rgba16.png
levels/jrb/0.rgba16.png levels/jrb/0.rgba16.png
levels/jrb/1.rgba16.png levels/jrb/1.rgba16.png
actors/vanilla_actors/jrb/2.rgba16.png levels/jrb/2.rgba16.png
actors/vanilla_actors/jrb/3.rgba16.png levels/jrb/3.rgba16.png
actors/vanilla_actors/lll/0.rgba16.png levels/lll/0.rgba16.png
actors/vanilla_actors/lll/1.rgba16.png levels/lll/1.rgba16.png
actors/vanilla_actors/lll/10.rgba16.png levels/lll/10.rgba16.png
actors/vanilla_actors/lll/11.rgba16.png levels/lll/11.rgba16.png
actors/vanilla_actors/lll/12.rgba16.png levels/lll/12.rgba16.png
actors/vanilla_actors/lll/13.rgba16.png levels/lll/13.rgba16.png
actors/vanilla_actors/lll/14.rgba16.png levels/lll/14.rgba16.png
actors/vanilla_actors/lll/15.rgba16.png levels/lll/15.rgba16.png
actors/vanilla_actors/lll/16.rgba16.png levels/lll/16.rgba16.png
actors/vanilla_actors/lll/17.rgba16.png levels/lll/17.rgba16.png
actors/vanilla_actors/lll/18.rgba16.png levels/lll/18.rgba16.png
actors/vanilla_actors/lll/19.rgba16.png levels/lll/19.rgba16.png
actors/vanilla_actors/lll/2.rgba16.png levels/lll/2.rgba16.png
actors/vanilla_actors/lll/20.rgba16.png levels/lll/20.rgba16.png
actors/vanilla_actors/lll/21.rgba16.png levels/lll/21.rgba16.png
actors/vanilla_actors/lll/22.rgba16.png levels/lll/22.rgba16.png
actors/vanilla_actors/lll/23.rgba16.png levels/lll/23.rgba16.png
actors/vanilla_actors/lll/24.rgba16.png levels/lll/24.rgba16.png
actors/vanilla_actors/lll/25.rgba16.png levels/lll/25.rgba16.png
levels/lll/26.rgba16.png levels/lll/26.rgba16.png
levels/lll/27.ia16.png levels/lll/27.ia16.png
levels/lll/28.rgba16.png levels/lll/28.rgba16.png
levels/lll/29.rgba16.png levels/lll/29.rgba16.png
actors/vanilla_actors/lll/29.rgba16.png
levels/lll/3.rgba16.png levels/lll/3.rgba16.png
levels/lll/30.rgba16.png levels/lll/30.rgba16.png
levels/lll/31.rgba16.png levels/lll/31.rgba16.png
levels/lll/32.rgba16.png levels/lll/32.rgba16.png
levels/lll/4.rgba16.png levels/lll/4.rgba16.png
levels/lll/5.rgba16.png levels/lll/5.rgba16.png
actors/vanilla_actors/lll/6.rgba16.png levels/lll/6.rgba16.png
levels/lll/7.rgba16.png levels/lll/7.rgba16.png
actors/vanilla_actors/lll/8.rgba16.png levels/lll/8.rgba16.png
levels/lll/9.rgba16.png levels/lll/9.rgba16.png
levels/menu/main_menu_seg7.00018.rgba16.png levels/menu/main_menu_seg7.00018.rgba16.png
levels/menu/main_menu_seg7.00818.rgba16.png levels/menu/main_menu_seg7.00818.rgba16.png
@@ -931,64 +921,59 @@ levels/menu/main_menu_seg7_us.0B800.ia8.png
levels/pss/0.rgba16.png levels/pss/0.rgba16.png
levels/pss/1.ia16.png levels/pss/1.ia16.png
levels/pss/2.rgba16.png levels/pss/2.rgba16.png
actors/vanilla_actors/rr/1.rgba16.png levels/rr/1.rgba16.png
levels/rr/2.rgba16.png levels/rr/2.rgba16.png
actors/vanilla_actors/rr/quarter_flying_carpet.rgba16.png levels/rr/quarter_flying_carpet.rgba16.png
levels/sl/0.rgba16.png levels/sl/0.rgba16.png
levels/sl/1.rgba16.png levels/sl/1.rgba16.png
actors/vanilla_actors/sl/2.rgba16.png levels/sl/2.rgba16.png
levels/sl/3.rgba16.png levels/sl/3.rgba16.png
levels/sl/4.rgba16.png levels/sl/4.rgba16.png
levels/ssl/0.rgba16.png levels/ssl/0.rgba16.png
levels/ssl/1.ia16.png levels/ssl/1.ia16.png
actors/vanilla_actors/ssl/10.rgba16.png levels/ssl/10.rgba16.png
actors/vanilla_actors/ssl/11.rgba16.png levels/ssl/11.rgba16.png
levels/ssl/2.rgba16.png levels/ssl/2.rgba16.png
levels/ssl/3.rgba16.png levels/ssl/3.rgba16.png
levels/ssl/4.rgba16.png levels/ssl/4.rgba16.png
actors/vanilla_actors/ssl/5.rgba16.png levels/ssl/5.rgba16.png
actors/vanilla_actors/ssl/6.rgba16.png levels/ssl/6.rgba16.png
levels/ssl/7.rgba16.png levels/ssl/7.rgba16.png
actors/vanilla_actors/ssl/8.rgba16.png levels/ssl/8.rgba16.png
actors/vanilla_actors/ssl/9.rgba16.png levels/ssl/9.rgba16.png
levels/thi/0.rgba16.png levels/thi/0.rgba16.png
levels/thi/1.rgba16.png levels/thi/1.rgba16.png
actors/vanilla_actors/thi/1.rgba16.png
levels/totwc/0.rgba16.png levels/totwc/0.rgba16.png
levels/totwc/1.rgba16.png levels/totwc/1.rgba16.png
levels/totwc/2.rgba16.png levels/totwc/2.rgba16.png
levels/totwc/3.ia16.png levels/totwc/3.ia16.png
actors/vanilla_actors/ttc/0.rgba16.png levels/ttc/0.rgba16.png
actors/vanilla_actors/ttc/1.rgba16.png
levels/ttc/1.rgba16.png levels/ttc/1.rgba16.png
levels/ttc/2.rgba16.png levels/ttc/2.rgba16.png
levels/ttm/0.ia16.png levels/ttm/0.ia16.png
levels/ttm/1.rgba16.png levels/ttm/1.rgba16.png
levels/ttm/2.rgba16.png levels/ttm/2.rgba16.png
levels/ttm/3.rgba16.png levels/ttm/3.rgba16.png
actors/vanilla_actors/ttm/4.rgba16.png levels/ttm/4.rgba16.png
levels/ttm/5.rgba16.png levels/ttm/5.rgba16.png
levels/ttm/6.rgba16.png levels/ttm/6.rgba16.png
levels/ttm/7.rgba16.png levels/ttm/7.rgba16.png
actors/vanilla_actors/ttm/8.rgba16.png levels/ttm/8.rgba16.png
levels/vcutm/0.rgba16.png levels/vcutm/0.rgba16.png
levels/vcutm/1.rgba16.png levels/vcutm/1.rgba16.png
actors/vanilla_actors/vcutm/2.rgba16.png levels/vcutm/2.rgba16.png
levels/vcutm/3.rgba16.png levels/vcutm/3.rgba16.png
levels/wdw/0.rgba16.png levels/wdw/0.rgba16.png
levels/wdw/1.rgba16.png levels/wdw/1.rgba16.png
actors/vanilla_actors/wdw/1.rgba16.png levels/wdw/2.rgba16.png
actors/vanilla_actors/wdw/2.rgba16.png levels/wdw/3.rgba16.png
actors/vanilla_actors/wdw/3.rgba16.png
levels/wdw/4.rgba16.png levels/wdw/4.rgba16.png
actors/vanilla_actors/wf/0.rgba16.png
levels/wf/0.rgba16.png levels/wf/0.rgba16.png
levels/wf/1.rgba16.png levels/wf/1.rgba16.png
actors/vanilla_actors/wf/2.rgba16.png
levels/wf/2.rgba16.png levels/wf/2.rgba16.png
actors/vanilla_actors/wf/3.rgba16.png levels/wf/3.rgba16.png
actors/vanilla_actors/wf/4.rgba16.png levels/wf/4.rgba16.png
actors/vanilla_actors/wf/5.ia8.png levels/wf/5.ia8.png
levels/wmotr/0.rgba16.png levels/wmotr/0.rgba16.png
levels/wmotr/1.rgba16.png levels/wmotr/1.rgba16.png
levels/wmotr/2.rgba16.png levels/wmotr/2.rgba16.png

6
.gitmodules vendored
View File

@@ -1,3 +1,3 @@
[submodule "lib/libpl2"] [submodule "lib/libpl"]
path = lib/libpl2 path = lib/libpl
url = https://gitlab.com/parallel-launcher/libpl2.git url = https://gitlab.com/parallel-launcher/libpl.git

View File

@@ -27,7 +27,8 @@
"F3DEX_GBI_2=1", "F3DEX_GBI_2=1",
"F3DZEX_NON_GBI_2=1", "F3DZEX_NON_GBI_2=1",
"F3DEX_GBI_SHARED=1", "F3DEX_GBI_SHARED=1",
"LIBPL=1" "LIBPL=1",
"SDATA=1"
], ],
"compilerPath": "/usr/bin/mips-linux-gnu-gcc", "compilerPath": "/usr/bin/mips-linux-gnu-gcc",
"cStandard": "gnu17", "cStandard": "gnu17",

150
Makefile
View File

@@ -258,13 +258,22 @@ endif
# 1 - includes code in ROM # 1 - includes code in ROM
# 0 - does not # 0 - does not
LIBPL ?= 0 LIBPL ?= 0
LIBPL_DIR := lib/libpl2 LIBPL_DIR := lib/libpl
$(eval $(call validate-option,LIBPL,0 1)) $(eval $(call validate-option,LIBPL,0 1))
ifeq ($(LIBPL),1) ifeq ($(LIBPL),1)
DEFINES += LIBPL=1 DEFINES += LIBPL=1
SRC_DIRS += $(LIBPL_DIR) SRC_DIRS += $(LIBPL_DIR)
endif endif
# SDATA - use 64kb sdata and sbss sections to enhance performance (requires some housekeeping; recommended for experienced hackers only)
# 1 - includes sdata and sbss in ROM
# 0 - does not
SDATA ?= 0
$(eval $(call validate-option,SDATA,0 1))
ifeq ($(SDATA),1)
DEFINES += SDATA=1
endif
BUILD_DIR_BASE := build BUILD_DIR_BASE := build
# BUILD_DIR is the location where all build artifacts are placed # BUILD_DIR is the location where all build artifacts are placed
BUILD_DIR := $(BUILD_DIR_BASE)/$(VERSION)_$(CONSOLE) BUILD_DIR := $(BUILD_DIR_BASE)/$(VERSION)_$(CONSOLE)
@@ -351,10 +360,10 @@ ifeq ($(filter clean distclean print-%,$(MAKECMDGOALS)),)
# Clone any needed submodules # Clone any needed submodules
ifeq ($(LIBPL),1) ifeq ($(LIBPL),1)
ifeq ($(wildcard $(LIBPL_DIR)/*.h),) ifeq ($(wildcard $(LIBPL_DIR)/*.h),)
$(info Cloning libpl2 submodule...) $(info Cloning libpl submodule...)
DUMMY != git submodule update --init $(LIBPL_DIR) > /dev/null || echo FAIL DUMMY != git submodule update --init $(LIBPL_DIR) > /dev/null || echo FAIL
ifeq ($(DUMMY),FAIL) ifeq ($(DUMMY),FAIL)
$(error Failed to clone libpl2 submodule) $(error Failed to clone libpl submodule)
endif endif
endif endif
endif endif
@@ -380,10 +389,9 @@ SOUND_BIN_DIR := $(BUILD_DIR)/sound
TEXTURE_DIR := textures TEXTURE_DIR := textures
ACTOR_DIR := actors ACTOR_DIR := actors
LEVEL_DIRS := $(patsubst levels/%,%,$(dir $(wildcard levels/*/header.h))) LEVEL_DIRS := $(patsubst levels/%,%,$(dir $(wildcard levels/*/header.h)))
VNL_ACTRS_DIRS := $(patsubst actors/vanilla_actors/%,%,$(dir $(wildcard actors/vanilla_actors/*/header.h)))
# Directories containing source files # Directories containing source files
SRC_DIRS += src src/boot src/game src/engine src/audio src/menu src/buffers lib/librtc actors levels bin data assets asm lib sound SRC_DIRS += src src/boot src/game src/engine src/audio src/menu src/buffers actors levels bin data assets asm lib sound
LIBZ_SRC_DIRS := src/libz LIBZ_SRC_DIRS := src/libz
GODDARD_SRC_DIRS := src/goddard src/goddard/dynlists GODDARD_SRC_DIRS := src/goddard src/goddard/dynlists
BIN_DIRS := bin bin/$(VERSION) BIN_DIRS := bin bin/$(VERSION)
@@ -393,8 +401,7 @@ include Makefile.split
# Source code files # Source code files
LEVEL_C_FILES := $(wildcard levels/*/leveldata.c) $(wildcard levels/*/script.c) $(wildcard levels/*/geo.c) LEVEL_C_FILES := $(wildcard levels/*/leveldata.c) $(wildcard levels/*/script.c) $(wildcard levels/*/geo.c)
VNL_ACTRS_C_FILES := $(wildcard actors/vanilla_actors/*/data.c) $(wildcard actors/vanilla_actors/*/geo.c) C_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.c)) $(LEVEL_C_FILES)
C_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.c)) $(LEVEL_C_FILES) $(VNL_ACTRS_C_FILES)
CPP_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.cpp)) CPP_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.cpp))
LIBZ_C_FILES := $(foreach dir,$(LIBZ_SRC_DIRS),$(wildcard $(dir)/*.c)) LIBZ_C_FILES := $(foreach dir,$(LIBZ_SRC_DIRS),$(wildcard $(dir)/*.c))
GODDARD_C_FILES := $(foreach dir,$(GODDARD_SRC_DIRS),$(wildcard $(dir)/*.c)) GODDARD_C_FILES := $(foreach dir,$(GODDARD_SRC_DIRS),$(wildcard $(dir)/*.c))
@@ -450,6 +457,8 @@ else ifneq ($(call find-command,mips64-none-elf-ld),)
CROSS := mips64-none-elf- CROSS := mips64-none-elf-
else ifneq ($(call find-command,mips-ld),) else ifneq ($(call find-command,mips-ld),)
CROSS := mips- CROSS := mips-
else ifneq ($(call find-command,mips-suse-linux-ld ),)
CROSS := mips-suse-linux-
else else
$(error Unable to detect a suitable MIPS toolchain installed) $(error Unable to detect a suitable MIPS toolchain installed)
endif endif
@@ -466,6 +475,10 @@ ifeq ($(COMPILER),gcc)
CXX := $(CROSS)g++ CXX := $(CROSS)g++
$(BUILD_DIR)/actors/%.o: OPT_FLAGS := -Ofast -mlong-calls $(BUILD_DIR)/actors/%.o: OPT_FLAGS := -Ofast -mlong-calls
$(BUILD_DIR)/levels/%.o: OPT_FLAGS := -Ofast -mlong-calls $(BUILD_DIR)/levels/%.o: OPT_FLAGS := -Ofast -mlong-calls
ifeq ($(SDATA),1)
$(BUILD_DIR)/actors/%.o: CFLAGS += -G 0
$(BUILD_DIR)/levels/%.o: CFLAGS += -G 0
endif
else ifeq ($(COMPILER),clang) else ifeq ($(COMPILER),clang)
CC := clang CC := clang
CXX := clang++ CXX := clang++
@@ -506,17 +519,25 @@ C_DEFINES := $(foreach d,$(DEFINES),-D$(d))
DEF_INC_CFLAGS := $(foreach i,$(INCLUDE_DIRS),-I$(i)) $(C_DEFINES) DEF_INC_CFLAGS := $(foreach i,$(INCLUDE_DIRS),-I$(i)) $(C_DEFINES)
# C compiler options # C compiler options
CFLAGS = -G 0 $(OPT_FLAGS) $(TARGET_CFLAGS) $(MIPSISET) $(DEF_INC_CFLAGS) CFLAGS = $(OPT_FLAGS) $(TARGET_CFLAGS) $(MIPSISET) $(DEF_INC_CFLAGS)
ifeq ($(COMPILER),gcc) ifeq ($(COMPILER),gcc)
CFLAGS += -mno-shared -march=vr4300 -mfix4300 -mabi=32 -mhard-float -mdivide-breaks -fno-stack-protector -fno-common -fno-zero-initialized-in-bss -fno-PIC -mno-abicalls -fno-strict-aliasing -fno-inline-functions -ffreestanding -fwrapv -Wall -Wextra -Wno-trigraphs CFLAGS += -mno-shared -march=vr4300 -mfix4300 -mabi=32 -mhard-float -mdivide-breaks -fno-stack-protector -fno-common -fno-PIC -mno-abicalls -fno-strict-aliasing -fno-inline-functions -ffreestanding -fwrapv -Wall -Wextra -Wno-missing-braces
CFLAGS += -Wno-missing-braces
else ifeq ($(COMPILER),clang) else ifeq ($(COMPILER),clang)
CFLAGS += -mfpxx -target mips -mabi=32 -G 0 -mhard-float -fomit-frame-pointer -fno-stack-protector -fno-common -I include -I src/ -I $(BUILD_DIR)/include -fno-PIC -mno-abicalls -fno-strict-aliasing -fno-inline-functions -ffreestanding -fwrapv -Wall -Wextra -Wno-trigraphs CFLAGS += -mfpxx -target mips -mabi=32 -mhard-float -fomit-frame-pointer -fno-stack-protector -fno-common -I include -I src/ -I $(BUILD_DIR)/include -fno-PIC -mno-abicalls -fno-strict-aliasing -fno-inline-functions -ffreestanding -fwrapv -Wall -Wextra -Wno-missing-braces
CFLAGS += -Wno-missing-braces
else else
CFLAGS += -non_shared -Wab,-r4300_mul -Xcpluscomm -Xfullwarn -signed -32 CFLAGS += -non_shared -Wab,-r4300_mul -Xcpluscomm -Xfullwarn -signed -32
endif endif
ASMFLAGS = -G 0 $(OPT_FLAGS) $(TARGET_CFLAGS) -mips3 $(DEF_INC_CFLAGS) -mno-shared -march=vr4300 -mfix4300 -mabi=32 -mhard-float -mdivide-breaks -fno-stack-protector -fno-common -fno-zero-initialized-in-bss -fno-PIC -mno-abicalls -fno-strict-aliasing -fno-inline-functions -ffreestanding -fwrapv -Wall -Wextra -Wno-trigraphs ASMFLAGS = -G 3 $(OPT_FLAGS) $(TARGET_CFLAGS) -mips3 $(DEF_INC_CFLAGS) -mno-shared -march=vr4300 -mfix4300 -mabi=32 -mhard-float -mdivide-breaks -fno-stack-protector -fno-common -fno-zero-initialized-in-bss -fno-PIC -mno-abicalls -fno-strict-aliasing -fno-inline-functions -ffreestanding -fwrapv -Wall -Wextra
ifeq ($(SDATA),1)
ASMFLAGS += -G 3
else
CFLAGS += -G 0
ifeq ($(COMPILER),gcc)
CFLAGS += -fno-zero-initialized-in-bss
endif
ASMFLAGS += -G 0
endif
ASFLAGS := -march=vr4300 -mabi=32 $(foreach i,$(INCLUDE_DIRS),-I$(i)) $(foreach d,$(DEFINES),--defsym $(d)) ASFLAGS := -march=vr4300 -mabi=32 $(foreach i,$(INCLUDE_DIRS),-I$(i)) $(foreach d,$(DEFINES),--defsym $(d))
RSPASMFLAGS := $(foreach d,$(DEFINES),-definelabel $(subst =, ,$(d))) RSPASMFLAGS := $(foreach d,$(DEFINES),-definelabel $(subst =, ,$(d)))
@@ -537,6 +558,7 @@ N64CKSUM := $(TOOLS_DIR)/n64cksum
N64GRAPHICS := $(TOOLS_DIR)/n64graphics N64GRAPHICS := $(TOOLS_DIR)/n64graphics
N64GRAPHICS_CI := $(TOOLS_DIR)/n64graphics_ci N64GRAPHICS_CI := $(TOOLS_DIR)/n64graphics_ci
BINPNG := $(TOOLS_DIR)/BinPNG.py BINPNG := $(TOOLS_DIR)/BinPNG.py
TEXTCONV := $(TOOLS_DIR)/textconv
AIFF_EXTRACT_CODEBOOK := $(TOOLS_DIR)/aiff_extract_codebook AIFF_EXTRACT_CODEBOOK := $(TOOLS_DIR)/aiff_extract_codebook
VADPCM_ENC := $(TOOLS_DIR)/vadpcm_enc VADPCM_ENC := $(TOOLS_DIR)/vadpcm_enc
EXTRACT_DATA_FOR_MIO := $(TOOLS_DIR)/extract_data_for_mio EXTRACT_DATA_FOR_MIO := $(TOOLS_DIR)/extract_data_for_mio
@@ -563,10 +585,19 @@ endif
EMU_FLAGS = EMU_FLAGS =
# Adding a txt file to this location will then reference a UNFLoader path specified in the file, instead of locally.
# This is expecially important for WSL users because UNFLoader.exe is incredibly slow when run within WSL's filesystem, so this can be used to point to the C drive.
# The file should only contain the directory path that contains UNFLoader[.exe] (do not specify the filename).
LOADER_DIR_FILE_SPECIFICATION_PATH = ~/.local/share/HackerSM64/UNFLoader-dir.txt
LOADER_DIR = ./$(TOOLS_DIR)
ifneq (,$(wildcard $(LOADER_DIR_FILE_SPECIFICATION_PATH)))
LOADER_DIR = $(shell cat $(LOADER_DIR_FILE_SPECIFICATION_PATH))
endif
ifneq (,$(call find-command,wslview)) ifneq (,$(call find-command,wslview))
LOADER = ./$(TOOLS_DIR)/UNFLoader.exe LOADER_EXEC = $(LOADER_DIR)/UNFLoader.exe
else else
LOADER = ./$(TOOLS_DIR)/UNFLoader LOADER_EXEC = $(LOADER_DIR)/UNFLoader
endif endif
SHA1SUM = sha1sum SHA1SUM = sha1sum
@@ -583,7 +614,7 @@ endif
# For non-IDO, use objcopy instead of extract_data_for_mio # For non-IDO, use objcopy instead of extract_data_for_mio
ifneq ($(COMPILER),ido) ifneq ($(COMPILER),ido)
EXTRACT_DATA_FOR_MIO := $(OBJCOPY) -O binary --only-section=.data --only-section=.rodata EXTRACT_DATA_FOR_MIO := $(OBJCOPY) -O binary --only-section=.data
endif endif
# Common build print status function # Common build print status function
@@ -622,17 +653,17 @@ test-pj64: $(ROM)
# someone2639 # someone2639
# download and extract most recent unfloader build if needed # download and extract most recent unfloader build if needed
$(LOADER): $(LOADER_EXEC):
ifeq (,$(wildcard $(LOADER))) ifeq (,$(wildcard $(LOADER_EXEC)))
@$(PRINT) "Downloading latest UNFLoader...$(NO_COL)\n" @$(PRINT) "Downloading latest UNFLoader...$(NO_COL)\n"
$(PYTHON) $(TOOLS_DIR)/get_latest_unfloader.py $(TOOLS_DIR) $(PYTHON) $(TOOLS_DIR)/get_latest_unfloader.py $(LOADER_DIR)
endif endif
load: $(ROM) $(LOADER) load: $(ROM) $(LOADER_EXEC)
$(LOADER) -r $< $(LOADER_EXEC) -r $<
unf: $(ROM) $(LOADER) unf: $(ROM) $(LOADER_EXEC)
$(LOADER) -d -r $< $(LOADER_EXEC) -d -r $<
libultra: $(BUILD_DIR)/libultra.a libultra: $(BUILD_DIR)/libultra.a
@@ -658,13 +689,41 @@ $(BUILD_DIR)/src/libz/%.o: OPT_FLAGS := -Os
$(BUILD_DIR)/src/libz/%.o: CFLAGS += -Wno-implicit-fallthrough -Wno-unused-parameter -Wno-pointer-sign $(BUILD_DIR)/src/libz/%.o: CFLAGS += -Wno-implicit-fallthrough -Wno-unused-parameter -Wno-pointer-sign
endif endif
ifeq ($(VERSION),eu)
TEXT_DIRS := text/de text/us text/fr
# EU encoded text inserted into individual segment 0x19 files,
# and course data also duplicated in leveldata.c
$(BUILD_DIR)/bin/eu/translation_en.o: $(BUILD_DIR)/text/us/define_text.inc.c
$(BUILD_DIR)/bin/eu/translation_de.o: $(BUILD_DIR)/text/de/define_text.inc.c
$(BUILD_DIR)/bin/eu/translation_fr.o: $(BUILD_DIR)/text/fr/define_text.inc.c
$(BUILD_DIR)/levels/menu/leveldata.o: $(BUILD_DIR)/include/text_strings.h
$(BUILD_DIR)/levels/menu/leveldata.o: $(BUILD_DIR)/text/us/define_courses.inc.c
$(BUILD_DIR)/levels/menu/leveldata.o: $(BUILD_DIR)/text/de/define_courses.inc.c
$(BUILD_DIR)/levels/menu/leveldata.o: $(BUILD_DIR)/text/fr/define_courses.inc.c
else
ifeq ($(VERSION),sh)
TEXT_DIRS := text/jp
$(BUILD_DIR)/bin/segment2.o: $(BUILD_DIR)/text/jp/define_text.inc.c
else
TEXT_DIRS := text/$(VERSION)
# non-EU encoded text inserted into segment 0x02
$(BUILD_DIR)/bin/segment2.o: $(BUILD_DIR)/text/$(VERSION)/define_text.inc.c
endif
endif
$(BUILD_DIR)/src/usb/usb.o: OPT_FLAGS := -O0 $(BUILD_DIR)/src/usb/usb.o: OPT_FLAGS := -O0
$(BUILD_DIR)/src/usb/usb.o: CFLAGS += -Wno-unused-variable -Wno-sign-compare -Wno-unused-function $(BUILD_DIR)/src/usb/usb.o: CFLAGS += -Wno-unused-variable -Wno-sign-compare -Wno-unused-function
$(BUILD_DIR)/src/usb/debug.o: OPT_FLAGS := -O0 $(BUILD_DIR)/src/usb/debug.o: OPT_FLAGS := -O0
$(BUILD_DIR)/src/usb/debug.o: CFLAGS += -Wno-unused-parameter -Wno-maybe-uninitialized $(BUILD_DIR)/src/usb/debug.o: CFLAGS += -Wno-unused-parameter -Wno-maybe-uninitialized
# File specific opt flags # File specific opt flags
$(BUILD_DIR)/src/audio/heap.o: OPT_FLAGS := -Os -fno-jump-tables ifeq ($(SDATA),1)
$(BUILD_DIR)/src/audio/synthesis.o: OPT_FLAGS := -Os -fno-jump-tables $(BUILD_DIR)/src/audio/heap.o: OPT_FLAGS := -Os -fno-jump-tables -ffunction-sections -fdata-sections
$(BUILD_DIR)/src/audio/synthesis.o: OPT_FLAGS := -Os -fno-jump-tables -ffunction-sections -fdata-sections
else
$(BUILD_DIR)/src/audio/heap.o: OPT_FLAGS := -Os -fno-jump-tables
$(BUILD_DIR)/src/audio/synthesis.o: OPT_FLAGS := -Os -fno-jump-tables
endif
$(BUILD_DIR)/src/engine/surface_collision.o: OPT_FLAGS := $(COLLISION_OPT_FLAGS) $(BUILD_DIR)/src/engine/surface_collision.o: OPT_FLAGS := $(COLLISION_OPT_FLAGS)
$(BUILD_DIR)/src/engine/math_util.o: OPT_FLAGS := $(MATH_UTIL_OPT_FLAGS) $(BUILD_DIR)/src/engine/math_util.o: OPT_FLAGS := $(MATH_UTIL_OPT_FLAGS)
@@ -675,11 +734,17 @@ $(BUILD_DIR)/src/game/rendering_graph_node.o: OPT_FLAGS := $(GRAPH_NODE_OPT_FLAG
# $(info MATH_UTIL_OPT_FLAGS: $(MATH_UTIL_OPT_FLAGS)) # $(info MATH_UTIL_OPT_FLAGS: $(MATH_UTIL_OPT_FLAGS))
# $(info GRAPH_NODE_OPT_FLAGS: $(GRAPH_NODE_OPT_FLAGS)) # $(info GRAPH_NODE_OPT_FLAGS: $(GRAPH_NODE_OPT_FLAGS))
ALL_DIRS := $(BUILD_DIR) $(addprefix $(BUILD_DIR)/,$(SRC_DIRS) asm/debug $(GODDARD_SRC_DIRS) $(LIBZ_SRC_DIRS) $(ULTRA_BIN_DIRS) $(BIN_DIRS) $(TEXTURE_DIRS) $(SOUND_SAMPLE_DIRS) $(addprefix levels/,$(LEVEL_DIRS)) $(addprefix actors/vanilla_actors/,$(VNL_ACTRS_DIRS)) rsp include) $(YAY0_DIR) $(addprefix $(YAY0_DIR)/,$(VERSION)) $(SOUND_BIN_DIR) $(SOUND_BIN_DIR)/sequences/$(VERSION) ALL_DIRS := $(BUILD_DIR) $(addprefix $(BUILD_DIR)/,$(SRC_DIRS) asm/debug $(GODDARD_SRC_DIRS) $(LIBZ_SRC_DIRS) $(ULTRA_BIN_DIRS) $(BIN_DIRS) $(TEXTURE_DIRS) $(TEXT_DIRS) $(SOUND_SAMPLE_DIRS) $(addprefix levels/,$(LEVEL_DIRS)) rsp include) $(YAY0_DIR) $(addprefix $(YAY0_DIR)/,$(VERSION)) $(SOUND_BIN_DIR) $(SOUND_BIN_DIR)/sequences/$(VERSION)
# Make sure build directory exists before compiling anything # Make sure build directory exists before compiling anything
DUMMY != mkdir -p $(ALL_DIRS) DUMMY != mkdir -p $(ALL_DIRS)
$(BUILD_DIR)/include/text_strings.h: $(BUILD_DIR)/include/text_menu_strings.h
$(BUILD_DIR)/src/menu/file_select.o: $(BUILD_DIR)/include/text_strings.h
$(BUILD_DIR)/src/menu/star_select.o: $(BUILD_DIR)/include/text_strings.h
$(BUILD_DIR)/src/game/ingame_menu.o: $(BUILD_DIR)/include/text_strings.h
$(BUILD_DIR)/src/game/puppycam2.o: $(BUILD_DIR)/include/text_strings.h
#==============================================================================# #==============================================================================#
@@ -724,11 +789,6 @@ $(LEVEL_ELF_FILES): $(BUILD_DIR)/levels/%/leveldata.elf: $(BUILD_DIR)/levels/%/l
$(call print,Linking ELF file:,$<,$@) $(call print,Linking ELF file:,$<,$@)
$(V)$(LD) -e 0 -Ttext=$(SEGMENT_ADDRESS) -Map $@.map --just-symbols=$(BUILD_DIR)/bin/$(TEXTURE_BIN).elf -o $@ $< $(V)$(LD) -e 0 -Ttext=$(SEGMENT_ADDRESS) -Map $@.map --just-symbols=$(BUILD_DIR)/bin/$(TEXTURE_BIN).elf -o $@ $<
.SECONDEXPANSION:
$(VANILLA_ACTORS_ELF_FILES): $(BUILD_DIR)/actors/vanilla_actors/%/data.elf: $(BUILD_DIR)/actors/vanilla_actors/%/data.o $(BUILD_DIR)/bin/$$(TEXTURE_BIN).elf
$(call print,Linking ELF file:,$<,$@)
$(V)$(LD) -e 0 -Ttext=$(SEGMENT_ADDRESS) -Map $@.map --just-symbols=$(BUILD_DIR)/bin/$(TEXTURE_BIN).elf -o $@ $<
$(BUILD_DIR)/%.bin: $(BUILD_DIR)/%.elf $(BUILD_DIR)/%.bin: $(BUILD_DIR)/%.elf
$(call print,Extracting compressible data from:,$<,$@) $(call print,Extracting compressible data from:,$<,$@)
$(V)$(EXTRACT_DATA_FOR_MIO) $< $@ $(V)$(EXTRACT_DATA_FOR_MIO) $< $@
@@ -811,6 +871,20 @@ $(BUILD_DIR)/assets/demo_data.c: assets/demo_data.json $(wildcard assets/demos/*
@$(PRINT) "$(GREEN)Generating demo data $(NO_COL)\n" @$(PRINT) "$(GREEN)Generating demo data $(NO_COL)\n"
$(V)$(PYTHON) $(TOOLS_DIR)/demo_data_converter.py assets/demo_data.json $(DEF_INC_CFLAGS) > $@ $(V)$(PYTHON) $(TOOLS_DIR)/demo_data_converter.py assets/demo_data.json $(DEF_INC_CFLAGS) > $@
# Encode in-game text strings
$(BUILD_DIR)/include/text_strings.h: include/text_strings.h.in
$(call print,Encoding:,$<,$@)
$(V)$(TEXTCONV) charmap.txt $< $@
$(BUILD_DIR)/include/text_menu_strings.h: include/text_menu_strings.h.in
$(call print,Encoding:,$<,$@)
$(V)$(TEXTCONV) charmap_menu.txt $< $@
$(BUILD_DIR)/text/%/define_courses.inc.c: text/define_courses.inc.c text/%/courses.h
@$(PRINT) "$(GREEN)Preprocessing: $(BLUE)$@ $(NO_COL)\n"
$(V)$(CPP) $(CPPFLAGS) $< -o - -I text/$*/ | $(TEXTCONV) charmap.txt - $@
$(BUILD_DIR)/text/%/define_text.inc.c: text/define_text.inc.c text/%/courses.h text/%/dialogs.h
@$(PRINT) "$(GREEN)Preprocessing: $(BLUE)$@ $(NO_COL)\n"
$(V)$(CPP) $(CPPFLAGS) $< -o - -I text/$*/ | $(TEXTCONV) charmap.txt - $@
# Level headers # Level headers
$(BUILD_DIR)/include/level_headers.h: levels/level_headers.h.in $(BUILD_DIR)/include/level_headers.h: levels/level_headers.h.in
$(call print,Preprocessing level headers:,$<,$@) $(call print,Preprocessing level headers:,$<,$@)
@@ -831,9 +905,23 @@ ifeq ($(FIXLIGHTS),1)
DUMMY != $(PYTHON) $(FIXLIGHTS_PY) actors DUMMY != $(PYTHON) $(FIXLIGHTS_PY) actors
DUMMY != $(PYTHON) $(FIXLIGHTS_PY) levels DUMMY != $(PYTHON) $(FIXLIGHTS_PY) levels
endif endif
ifeq ($(SDATA),1)
$(BUILD_DIR)/src/boot/%.o: src/boot/%.c
$(call print,Compiling Boot:,$<,$@)
$(V)$(CC) -c -G 0 $(CFLAGS) -MMD -MF $(BUILD_DIR)/src/boot/$*.d -o $@ $<
$(BUILD_DIR)/src/%.o: src/%.c
$(call print,Compiling:,$<,$@)
$(V)$(CC) -c -G 64 $(CFLAGS) -MMD -MF $(BUILD_DIR)/src/$*.d -o $@ $<
$(BUILD_DIR)/%.o: %.c
$(call print,Compiling:,$<,$@)
$(V)$(CC) -c -G 0 -fno-zero-initialized-in-bss $(CFLAGS) -MMD -MF $(BUILD_DIR)/$*.d -o $@ $<
else
$(BUILD_DIR)/%.o: %.c $(BUILD_DIR)/%.o: %.c
$(call print,Compiling:,$<,$@) $(call print,Compiling:,$<,$@)
$(V)$(CC) -c $(CFLAGS) -MMD -MF $(BUILD_DIR)/$*.d -o $@ $< $(V)$(CC) -c $(CFLAGS) -MMD -MF $(BUILD_DIR)/$*.d -o $@ $<
endif
$(BUILD_DIR)/%.o: %.cpp $(BUILD_DIR)/%.o: %.cpp
$(call print,Compiling (C++):,$<,$@) $(call print,Compiling (C++):,$<,$@)
$(V)$(CXX) -c $(CFLAGS) -std=c++17 -Wno-register -MMD -MF $(BUILD_DIR)/$*.d -o $@ $< $(V)$(CXX) -c $(CFLAGS) -std=c++17 -Wno-register -MMD -MF $(BUILD_DIR)/$*.d -o $@ $<

View File

@@ -41,21 +41,15 @@ LEVEL_FILES := $(addsuffix leveldata,$(LEVEL_DIRS))
LEVEL_ELF_FILES := $(foreach level_dir,$(LEVEL_DIRS),$(BUILD_DIR)/levels/$(level_dir)leveldata.elf) LEVEL_ELF_FILES := $(foreach level_dir,$(LEVEL_DIRS),$(BUILD_DIR)/levels/$(level_dir)leveldata.elf)
VANILLA_ACTORS_FILES := $(addsuffix data,$(VNL_ACTRS_DIRS))
VANILLA_ACTORS_ELF_FILES := $(foreach level_dir,$(VNL_ACTRS_DIRS),$(BUILD_DIR)/actors/vanilla_actors/$(level_dir)data.elf)
SEG_FILES := \ SEG_FILES := \
$(SEGMENTS:%=$(BUILD_DIR)/bin/%.elf) \ $(SEGMENTS:%=$(BUILD_DIR)/bin/%.elf) \
$(ACTOR_GROUPS:%=$(BUILD_DIR)/actors/%.elf) \ $(ACTOR_GROUPS:%=$(BUILD_DIR)/actors/%.elf) \
$(LEVEL_FILES:%=$(BUILD_DIR)/levels/%.elf) \ $(LEVEL_FILES:%=$(BUILD_DIR)/levels/%.elf)
$(VANILLA_ACTORS_FILES:%=$(BUILD_DIR)/actors/vanilla_actors/%.elf)
YAY0_FILES := \ YAY0_FILES := \
$(SEGMENTS:%=$(BUILD_DIR)/bin/%.szp) \ $(SEGMENTS:%=$(BUILD_DIR)/bin/%.szp) \
$(ACTOR_GROUPS:%=$(BUILD_DIR)/actors/%.szp) \ $(ACTOR_GROUPS:%=$(BUILD_DIR)/actors/%.szp) \
$(LEVEL_FILES:%=$(BUILD_DIR)/levels/%.szp) \ $(LEVEL_FILES:%=$(BUILD_DIR)/levels/%.szp)
$(VANILLA_ACTORS_FILES:%=$(BUILD_DIR)/actors/vanilla_actors/%.szp)
YAY0_OBJ_FILES := $(YAY0_FILES:.szp=.szp.o) YAY0_OBJ_FILES := $(YAY0_FILES:.szp=.szp.o)
@@ -249,11 +243,9 @@ $(BUILD_DIR)/bin/machine.elf: SEGMENT_ADDRESS := 0x09000000
$(BUILD_DIR)/bin/mountain.elf: SEGMENT_ADDRESS := 0x09000000 $(BUILD_DIR)/bin/mountain.elf: SEGMENT_ADDRESS := 0x09000000
$(BUILD_DIR)/bin/grass.elf: SEGMENT_ADDRESS := 0x09000000 $(BUILD_DIR)/bin/grass.elf: SEGMENT_ADDRESS := 0x09000000
# EU segment 19 translations # EU segment 19 translations
$(BUILD_DIR)/bin/translation_de.elf: SEGMENT_ADDRESS := 0x1B000000 $(BUILD_DIR)/bin/eu/translation_de.elf: SEGMENT_ADDRESS := 0x19000000
$(BUILD_DIR)/bin/translation_en.elf: SEGMENT_ADDRESS := 0x1B000000 $(BUILD_DIR)/bin/eu/translation_en.elf: SEGMENT_ADDRESS := 0x19000000
$(BUILD_DIR)/bin/translation_fr.elf: SEGMENT_ADDRESS := 0x1B000000 $(BUILD_DIR)/bin/eu/translation_fr.elf: SEGMENT_ADDRESS := 0x19000000
$(BUILD_DIR)/bin/translation_jp.elf: SEGMENT_ADDRESS := 0x1B000000
$(BUILD_DIR)/bin/translation_es.elf: SEGMENT_ADDRESS := 0x1B000000
# -------------------------------------- # --------------------------------------
# Skybox Rules # Skybox Rules
@@ -278,36 +270,3 @@ IPL3_RAW_FILES := $(addprefix $(BUILD_DIR)/,$(patsubst %.png,%,$(IP
CRASH_TEXTURE_FILES := $(wildcard $(TEXTURE_DIR)/crash_custom/*.png) CRASH_TEXTURE_FILES := $(wildcard $(TEXTURE_DIR)/crash_custom/*.png)
CRASH_TEXTURE_C_FILES := $(addprefix $(BUILD_DIR)/,$(patsubst %.png,%.inc.c,$(CRASH_TEXTURE_FILES))) CRASH_TEXTURE_C_FILES := $(addprefix $(BUILD_DIR)/,$(patsubst %.png,%.inc.c,$(CRASH_TEXTURE_FILES)))
# --------------------------------------
# Vanilla Objects Rules
# --------------------------------------
define vanilla_objects_rules =
VANILLA_ACTORS_$(1)_TEXTURE_FILES := $$(patsubst %.png,%.inc.c,$$(wildcard actors/vanilla_actors/$(1)/*.png))
$$(BUILD_DIR)/actors/vanilla_actors/$(1)/data.o: $$(addprefix $$(BUILD_DIR)/,$$(VANILLA_ACTORS_$(1)_TEXTURE_FILES))
$$(BUILD_DIR)/actors/vanilla_actors/$(1)/data.elf: SEGMENT_ADDRESS := 0x0e000000
$$(BUILD_DIR)/actors/vanilla_actors/$(1)/data.elf: TEXTURE_BIN := $(2)
endef
$(eval $(call vanilla_objects_rules,bob,generic))
$(eval $(call vanilla_objects_rules,wf,grass))
$(eval $(call vanilla_objects_rules,jrb,water))
$(eval $(call vanilla_objects_rules,ccm,snow))
$(eval $(call vanilla_objects_rules,bbh,spooky))
$(eval $(call vanilla_objects_rules,hmc,cave))
$(eval $(call vanilla_objects_rules,lll,fire))
$(eval $(call vanilla_objects_rules,ssl,generic))
$(eval $(call vanilla_objects_rules,ddd,water))
$(eval $(call vanilla_objects_rules,sl,snow))
$(eval $(call vanilla_objects_rules,wdw,grass))
$(eval $(call vanilla_objects_rules,ttm,mountain))
$(eval $(call vanilla_objects_rules,thi,grass))
$(eval $(call vanilla_objects_rules,ttc,machine))
$(eval $(call vanilla_objects_rules,rr,sky))
$(eval $(call vanilla_objects_rules,bitdw,sky))
$(eval $(call vanilla_objects_rules,bitfs,sky))
$(eval $(call vanilla_objects_rules,bits,sky))
$(eval $(call vanilla_objects_rules,vcutm,outside))
$(eval $(call vanilla_objects_rules,castle_inside,inside))
$(eval $(call vanilla_objects_rules,castle_grounds,outside))

View File

@@ -17,9 +17,9 @@ This is a fork of the ultrasm64 repo by CrashOveride which includes the followin
- **MrComit**: General use object defines, JUMP_KICK_FIX - **MrComit**: General use object defines, JUMP_KICK_FIX
- **aglab2**: Bugfixes (particularly puppycam), refactor stuff - **aglab2**: Bugfixes (particularly puppycam), refactor stuff
- **someone2639**: math.s and crash screen disam, stack trace, map packing, shiftable segments 2, S2DEX engine - **someone2639**: math.s and crash screen disam, stack trace, map packing, shiftable segments 2, S2DEX engine
- **Arthurtilly**: ASCII / UTF-8 support, Multilang, Platform Displacement 2 - **Arthurtilly**: Platform Displacement 2
- **Fazana**: PuppyLib, ucode swapping, audio load time optimisations (with Arctic), general hacker qol improvements, visual debug - **Fazana**: PuppyLib, ucode swapping, audio load time optimisations (with Arctic), general hacker qol improvements, visual debug
- **Reonu**: Starting the project + widescreen, reonucam, various defines for hacker QoL, and a custom Spanish (Spain) translation of the game. - **Reonu**: Starting the project/repo, widescreen, reonucam, various defines for hacker QoL
- **JoshDuMan**: Decomp guy, general assistance - **JoshDuMan**: Decomp guy, general assistance
- **Arceveti**: Silhouette, shadow optimisation, better hanging, breath meter, 4 controller support - **Arceveti**: Silhouette, shadow optimisation, better hanging, breath meter, 4 controller support
- **axollyon**: Console testing, bugfixes, idea-guying, and had a hand in silhouettes - **axollyon**: Console testing, bugfixes, idea-guying, and had a hand in silhouettes
@@ -87,9 +87,9 @@ Thanks to Frame#5375 and AloXado320 for also helping with silhouette stuff
- You can set a test level in `config/config_debug.h` in order to boot straight into it, so you can quickly test the level you're working on. * - You can set a test level in `config/config_debug.h` in order to boot straight into it, so you can quickly test the level you're working on. *
- Allow all surfaces in the game to have a `force` parameter. Activating this doesn't REQUIRE you to set `force` for every surface: If you don't set, it will default to 0x0000 rather than crashing. Increases RAM usage of collision. * - Allow all surfaces in the game to have a `force` parameter. Activating this doesn't REQUIRE you to set `force` for every surface: If you don't set, it will default to 0x0000 rather than crashing. Increases RAM usage of collision. *
- The clown font includes the entire English alphabet. - The clown font includes the entire English alphabet.
- Colored ia4 text support. Format: `"@XXXXXX[YOUR TEXT]@--------"` (By Arthurtilly) - Colored ia4 text support. Format: `"@XXXXXXXX[YOUR TEXT]@--------"` (By ArcticJaguar725)
- Example Text: `"@FF0000RED @00FF00GREEN @0000FFBLUE @FFFFFFWHITE"` - Example Text: `"@FF0000FFRED @00FF00FFGREEN @0000FFFFBLUE @FFFFFF00INVISIBLE @--------NORMAL"`
- NOTE: Text will need to be recolored each time it scrolls in a dialog box, or the custom color will reset. The text will use gDialogTextAlpha as the alpha value when changing the color. - NOTE: It is not mandatory to reset the text color with `"@--------"`, but text will need to be recolored each time it scrolls in a dialog box, or the custom color will reset.
- Toggle visiblity of collision surfaces and object hitboxes with Visual Surface Debug. `config/config_debug.h` has VISUAL_DEBUG which can be turned on to enable this feature. - Toggle visiblity of collision surfaces and object hitboxes with Visual Surface Debug. `config/config_debug.h` has VISUAL_DEBUG which can be turned on to enable this feature.
- Workaround for infinite death loops caused by using the wrong warp type for death warps. Mario's HP will be restored when being warped to any warp if (and only if) he was warped while dead. * - Workaround for infinite death loops caused by using the wrong warp type for death warps. Mario's HP will be restored when being warped to any warp if (and only if) he was warped while dead. *

View File

@@ -105,7 +105,4 @@ extern const struct Animation *const unagi_seg5_anims_05012824[];
extern const Gfx whirlpool_seg5_dl_05013B58[]; extern const Gfx whirlpool_seg5_dl_05013B58[];
extern const Gfx whirlpool_seg5_dl_05013CB8[]; extern const Gfx whirlpool_seg5_dl_05013CB8[];
extern const Trajectory jrb_seg7_trajectory_unagi_1[];
extern const Trajectory jrb_seg7_trajectory_unagi_2[];
#endif #endif

View File

@@ -11,30 +11,3 @@
#include "manta/geo.inc.c" #include "manta/geo.inc.c"
#include "sushi/geo.inc.c" #include "sushi/geo.inc.c"
#include "unagi/geo.inc.c" #include "unagi/geo.inc.c"
#include "surface_terrains.h"
// 0x0700D20C - 0x0700D23E
const Trajectory jrb_seg7_trajectory_unagi_1[] = {
TRAJECTORY_POS(0, /*pos*/ 5300, -3800, 1200),
TRAJECTORY_POS(1, /*pos*/ 3700, -3600, 1700),
TRAJECTORY_POS(2, /*pos*/ 3400, -3400, 3500),
TRAJECTORY_POS(3, /*pos*/ 3900, -3600, 4400),
TRAJECTORY_POS(4, /*pos*/ 5300, -3800, 4400),
TRAJECTORY_POS(5, /*pos*/ 6200, -4000, 2700),
TRAJECTORY_END(),
};
// 0x0700D240 - 0x0700D28A
const Trajectory jrb_seg7_trajectory_unagi_2[] = {
TRAJECTORY_POS(0, /*pos*/ 5381, 0, 2758),
TRAJECTORY_POS(1, /*pos*/ 5803, -3130, 3036),
TRAJECTORY_POS(2, /*pos*/ 4876, -3045, 2706),
TRAJECTORY_POS(3, /*pos*/ 4313, -3246, 2736),
TRAJECTORY_POS(4, /*pos*/ 3792, -3413, 3668),
TRAJECTORY_POS(5, /*pos*/ 4971, -3130, 3688),
TRAJECTORY_POS(6, /*pos*/ 5392, -3130, 3326),
TRAJECTORY_POS(7, /*pos*/ 6341, -3130, 2450),
TRAJECTORY_POS(8, /*pos*/ 9431, -3130, 1400),
TRAJECTORY_END(),
};

View File

@@ -1,27 +0,0 @@
#include <ultra64.h>
#include "sm64.h"
#include "surface_terrains.h"
#include "moving_texture_macros.h"
#include "surface_terrains.h"
#include "textures.h"
#include "dialog_ids.h"
#include "make_const_nonconst.h"
#include "actors/vanilla_actors/bbh/texture.inc.c"
#include "actors/vanilla_actors/bbh/staircase_step/model.inc.c"
#include "actors/vanilla_actors/bbh/tilting_trap_platform/model.inc.c"
#include "actors/vanilla_actors/bbh/tumbling_platform_far/model.inc.c"
#include "actors/vanilla_actors/bbh/tumbling_platform_near/model.inc.c"
#include "actors/vanilla_actors/bbh/moving_bookshelf/model.inc.c"
#include "actors/vanilla_actors/bbh/mesh_elevator/model.inc.c"
#include "actors/vanilla_actors/bbh/merry_go_round/model.inc.c"
#include "actors/vanilla_actors/bbh/coffin/model.inc.c"
#include "actors/vanilla_actors/bbh/staircase_step/collision.inc.c"
#include "actors/vanilla_actors/bbh/tilting_trap_platform/collision.inc.c"
#include "actors/vanilla_actors/bbh/tumbling_platform_near/collision.inc.c"
#include "actors/vanilla_actors/bbh/moving_bookshelf/collision.inc.c"
#include "actors/vanilla_actors/bbh/mesh_elevator/collision.inc.c"
#include "actors/vanilla_actors/bbh/merry_go_round/collision.inc.c"
#include "actors/vanilla_actors/bbh/coffin/collision.inc.c"

View File

@@ -1,37 +0,0 @@
#include <ultra64.h>
#include "sm64.h"
#include "geo_commands.h"
#include "game/level_geo.h"
#include "game/geo_misc.h"
#include "game/camera.h"
#include "game/moving_texture.h"
#include "game/screen_transition.h"
#include "game/paintings.h"
#include "make_const_nonconst.h"
#include "actors/vanilla_actors/bbh/header.h"
#include "actors/vanilla_actors/bbh/staircase_step/geo.inc.c"
#include "actors/vanilla_actors/bbh/tilting_trap_platform/geo.inc.c"
#include "actors/vanilla_actors/bbh/tumbling_platform_far/geo.inc.c"
#include "actors/vanilla_actors/bbh/tumbling_platform_near/geo.inc.c"
#include "actors/vanilla_actors/bbh/moving_bookshelf/geo.inc.c"
#include "actors/vanilla_actors/bbh/mesh_elevator/geo.inc.c"
#include "actors/vanilla_actors/bbh/merry_go_round/geo.inc.c"
#include "actors/vanilla_actors/bbh/coffin/geo.inc.c"
#include "level_commands.h"
const LevelScript script_func_vo_bbh[] = {
LOAD_MODEL_FROM_GEO(MODEL_BBH_STAIRCASE_STEP, geo_bbh_0005B0),
LOAD_MODEL_FROM_GEO(MODEL_BBH_TILTING_FLOOR_PLATFORM, geo_bbh_0005C8),
LOAD_MODEL_FROM_GEO(MODEL_BBH_TUMBLING_PLATFORM, geo_bbh_0005E0),
LOAD_MODEL_FROM_GEO(MODEL_BBH_TUMBLING_PLATFORM_PART, geo_bbh_0005F8),
LOAD_MODEL_FROM_GEO(MODEL_BBH_MOVING_BOOKSHELF, geo_bbh_000610),
LOAD_MODEL_FROM_GEO(MODEL_BBH_MESH_ELEVATOR, geo_bbh_000628),
LOAD_MODEL_FROM_GEO(MODEL_BBH_MERRY_GO_ROUND, geo_bbh_000640),
LOAD_MODEL_FROM_GEO(MODEL_BBH_WOODEN_TOMB, geo_bbh_000658),
RETURN(),
};

View File

@@ -1,29 +0,0 @@
#pragma once
#include "types.h"
extern const GeoLayout geo_bbh_0005B0[];
extern const GeoLayout geo_bbh_0005C8[];
extern const GeoLayout geo_bbh_0005E0[];
extern const GeoLayout geo_bbh_0005F8[];
extern const GeoLayout geo_bbh_000610[];
extern const GeoLayout geo_bbh_000628[];
extern const GeoLayout geo_bbh_000640[];
extern const GeoLayout geo_bbh_000658[];
extern const Gfx bbh_seg7_dl_0701F2E8[];
extern const Gfx bbh_seg7_dl_0701F5F8[];
extern const Gfx bbh_seg7_dl_0701F7E8[];
extern const Gfx bbh_seg7_dl_0701FAB0[];
extern const Gfx bbh_seg7_dl_0701FD28[];
extern const Gfx bbh_seg7_dl_0701FFE8[];
extern const Gfx bbh_seg7_dl_070202F0[];
extern const Gfx bbh_seg7_dl_070206F0[];
extern const Collision bbh_seg7_collision_staircase_step[];
extern const Collision bbh_seg7_collision_tilt_floor_platform[];
extern const Collision bbh_seg7_collision_07026B1C[];
extern const Collision bbh_seg7_collision_haunted_bookshelf[];
extern const Collision bbh_seg7_collision_mesh_elevator[];
extern const Collision bbh_seg7_collision_merry_go_round[];
extern const Collision bbh_seg7_collision_coffin[];

View File

@@ -1,19 +0,0 @@
// 0x07000000 - 0x07001000
ALIGNED8 static const Texture bbh_seg7_texture_07000000[] = {
#include "actors/vanilla_actors/bbh/0.rgba16.inc.c"
};
// 0x07003000 - 0x07003400
ALIGNED8 static const Texture bbh_seg7_texture_07003000[] = {
#include "actors/vanilla_actors/bbh/4.rgba16.inc.c"
};
// 0x07003400 - 0x07004400
ALIGNED8 static const Texture bbh_seg7_texture_07003400[] = {
#include "actors/vanilla_actors/bbh/5.rgba16.inc.c"
};
// 0x07004400 - 0x07004800
ALIGNED8 static const Texture bbh_seg7_texture_07004400[] = {
#include "actors/vanilla_actors/bbh/6.rgba16.inc.c"
};

View File

@@ -1,35 +0,0 @@
#include <PR/ultratypes.h>
#include <PR/gbi.h>
#include "dialog_ids.h"
#include "surface_terrains.h"
#include "macros.h"
#include "moving_texture_macros.h"
#include "surface_terrains.h"
#include "textures.h"
#include "types.h"
#include "make_const_nonconst.h"
#include "actors/vanilla_actors/bitdw/texture.inc.c"
#include "actors/vanilla_actors/bitdw/sliding_platform/model.inc.c"
#include "actors/vanilla_actors/bitdw/seesaw_platform/model.inc.c"
#include "actors/vanilla_actors/bitdw/square_platform/model.inc.c"
#include "actors/vanilla_actors/bitdw/ferris_wheel_axle/model.inc.c"
#include "actors/vanilla_actors/bitdw/ferris_platform/model.inc.c"
#include "actors/vanilla_actors/bitdw/collapsing_stairs_1/model.inc.c"
#include "actors/vanilla_actors/bitdw/collapsing_stairs_2/model.inc.c"
#include "actors/vanilla_actors/bitdw/collapsing_stairs_3/model.inc.c"
#include "actors/vanilla_actors/bitdw/collapsing_stairs_4/model.inc.c"
#include "actors/vanilla_actors/bitdw/collapsing_stairs_5/model.inc.c"
#include "actors/vanilla_actors/bitdw/sliding_platform/collision.inc.c"
#include "actors/vanilla_actors/bitdw/seesaw_platform/collision.inc.c"
#include "actors/vanilla_actors/bitdw/square_platform/collision.inc.c"
#include "actors/vanilla_actors/bitdw/ferris_wheel_axle/collision.inc.c"
#include "actors/vanilla_actors/bitdw/ferris_platform/collision.inc.c"
#include "actors/vanilla_actors/bitdw/collapsing_stairs_1/collision.inc.c"
#include "actors/vanilla_actors/bitdw/collapsing_stairs_2/collision.inc.c"
#include "actors/vanilla_actors/bitdw/collapsing_stairs_3/collision.inc.c"
#include "actors/vanilla_actors/bitdw/collapsing_stairs_4/collision.inc.c"
#include "actors/vanilla_actors/bitdw/collapsing_stairs_5/collision.inc.c"

View File

@@ -1,41 +0,0 @@
#include <ultra64.h>
#include "sm64.h"
#include "geo_commands.h"
#include "game/level_geo.h"
#include "game/geo_misc.h"
#include "game/camera.h"
#include "game/moving_texture.h"
#include "game/screen_transition.h"
#include "game/paintings.h"
#include "make_const_nonconst.h"
#include "actors/vanilla_actors/bitdw/header.h"
#include "actors/vanilla_actors/bitdw/sliding_platform/geo.inc.c"
#include "actors/vanilla_actors/bitdw/seesaw_platform/geo.inc.c"
#include "actors/vanilla_actors/bitdw/square_platform/geo.inc.c"
#include "actors/vanilla_actors/bitdw/ferris_wheel_axle/geo.inc.c"
#include "actors/vanilla_actors/bitdw/ferris_platform/geo.inc.c"
#include "actors/vanilla_actors/bitdw/collapsing_stairs_1/geo.inc.c"
#include "actors/vanilla_actors/bitdw/collapsing_stairs_2/geo.inc.c"
#include "actors/vanilla_actors/bitdw/collapsing_stairs_3/geo.inc.c"
#include "actors/vanilla_actors/bitdw/collapsing_stairs_4/geo.inc.c"
#include "actors/vanilla_actors/bitdw/collapsing_stairs_5/geo.inc.c"
#include "level_commands.h"
const LevelScript script_func_vo_bitdw[] = {
LOAD_MODEL_FROM_GEO(MODEL_BITDW_SQUARE_PLATFORM, geo_bitdw_000558),
LOAD_MODEL_FROM_GEO(MODEL_BITDW_SEESAW_PLATFORM, geo_bitdw_000540),
LOAD_MODEL_FROM_GEO(MODEL_BITDW_SLIDING_PLATFORM, geo_bitdw_000528),
LOAD_MODEL_FROM_GEO(MODEL_BITDW_FERRIS_WHEEL_AXLE, geo_bitdw_000570),
LOAD_MODEL_FROM_GEO(MODEL_BITDW_BLUE_PLATFORM, geo_bitdw_000588),
LOAD_MODEL_FROM_GEO(MODEL_BITDW_STAIRCASE_FRAME4, geo_bitdw_0005A0),
LOAD_MODEL_FROM_GEO(MODEL_BITDW_STAIRCASE_FRAME3, geo_bitdw_0005B8),
LOAD_MODEL_FROM_GEO(MODEL_BITDW_STAIRCASE_FRAME2, geo_bitdw_0005D0),
LOAD_MODEL_FROM_GEO(MODEL_BITDW_STAIRCASE_FRAME1, geo_bitdw_0005E8),
LOAD_MODEL_FROM_GEO(MODEL_BITDW_STAIRCASE, geo_bitdw_000600),
RETURN(),
};

View File

@@ -1,36 +0,0 @@
#pragma once
#include "types.h"
extern const GeoLayout geo_bitdw_000528[];
extern const GeoLayout geo_bitdw_000540[];
extern const GeoLayout geo_bitdw_000558[];
extern const GeoLayout geo_bitdw_000570[];
extern const GeoLayout geo_bitdw_000588[];
extern const GeoLayout geo_bitdw_0005A0[];
extern const GeoLayout geo_bitdw_0005B8[];
extern const GeoLayout geo_bitdw_0005D0[];
extern const GeoLayout geo_bitdw_0005E8[];
extern const GeoLayout geo_bitdw_000600[];
extern const Gfx bitdw_seg7_dl_0700AFA0[];
extern const Gfx bitdw_seg7_dl_0700B220[];
extern const Gfx bitdw_seg7_dl_0700B480[];
extern const Gfx bitdw_seg7_dl_0700B8D8[];
extern const Gfx bitdw_seg7_dl_0700BB58[];
extern const Gfx bitdw_seg7_dl_0700C0E0[];
extern const Gfx bitdw_seg7_dl_0700C670[];
extern const Gfx bitdw_seg7_dl_0700CC00[];
extern const Gfx bitdw_seg7_dl_0700D190[];
extern const Gfx bitdw_seg7_dl_0700D3E8[];
extern const Collision bitdw_seg7_collision_0700F688[];
extern const Collision bitdw_seg7_collision_0700F70C[];
extern const Collision bitdw_seg7_collision_moving_pyramid[];
extern const Collision bitdw_seg7_collision_0700F7F0[];
extern const Collision bitdw_seg7_collision_0700F898[];
extern const Collision bitdw_seg7_collision_0700F91C[];
extern const Collision bitdw_seg7_collision_0700FA3C[];
extern const Collision bitdw_seg7_collision_0700FB5C[];
extern const Collision bitdw_seg7_collision_0700FC7C[];
extern const Collision bitdw_seg7_collision_0700FD9C[];

View File

@@ -1,4 +0,0 @@
// 0x07000000 - 0x07000002
ALIGNED8 static const Texture bitdw_seg7_texture_07000000[] = {
#include "actors/vanilla_actors/bitdw/0.rgba16.inc.c"
};

View File

@@ -1,38 +0,0 @@
#include <PR/ultratypes.h>
#include <PR/gbi.h>
#include "dialog_ids.h"
#include "surface_terrains.h"
#include "macros.h"
#include "moving_texture_macros.h"
#include "surface_terrains.h"
#include "textures.h"
#include "types.h"
#include "make_const_nonconst.h"
#include "actors/vanilla_actors/bitfs/texture.inc.c"
#include "actors/vanilla_actors/bitfs/elevator/model.inc.c"
#include "actors/vanilla_actors/bitfs/sinking_cage_platform/model.inc.c"
#include "actors/vanilla_actors/bitfs/sinking_cage_pole/model.inc.c"
#include "actors/vanilla_actors/bitfs/tilting_square_platform/model.inc.c"
#include "actors/vanilla_actors/bitfs/tumbling_platform_near/model.inc.c"
#include "actors/vanilla_actors/bitfs/tumbling_platform_far/model.inc.c"
#include "actors/vanilla_actors/bitfs/stretching_platform/1.inc.c"
#include "actors/vanilla_actors/bitfs/stretching_platform/2.inc.c"
#include "actors/vanilla_actors/bitfs/moving_square_platform/model.inc.c"
#include "actors/vanilla_actors/bitfs/sliding_platform/model.inc.c"
#include "actors/vanilla_actors/bitfs/platform_on_track/model.inc.c"
#include "actors/vanilla_actors/bitfs/sinking_platforms/model.inc.c"
#include "actors/vanilla_actors/bitfs/seesaw_platform/model.inc.c"
#include "actors/vanilla_actors/bitfs/elevator/collision.inc.c"
#include "actors/vanilla_actors/bitfs/sinking_cage_platform/collision.inc.c"
#include "actors/vanilla_actors/bitfs/tilting_square_platform/collision.inc.c"
#include "actors/vanilla_actors/bitfs/tumbling_platform_near/collision.inc.c"
#include "actors/vanilla_actors/bitfs/stretching_platform/collision.inc.c"
#include "actors/vanilla_actors/bitfs/moving_square_platform/collision.inc.c"
#include "actors/vanilla_actors/bitfs/sliding_platform/collision.inc.c"
#include "actors/vanilla_actors/bitfs/platform_on_track/collision.inc.c"
#include "actors/vanilla_actors/bitfs/sinking_platforms/collision.inc.c"
#include "actors/vanilla_actors/bitfs/seesaw_platform/collision.inc.c"

View File

@@ -1,45 +0,0 @@
#include <ultra64.h>
#include "sm64.h"
#include "geo_commands.h"
#include "game/level_geo.h"
#include "game/geo_misc.h"
#include "game/camera.h"
#include "game/moving_texture.h"
#include "game/screen_transition.h"
#include "game/paintings.h"
#include "make_const_nonconst.h"
#include "actors/vanilla_actors/bitfs/header.h"
#include "actors/vanilla_actors/bitfs/elevator/geo.inc.c"
#include "actors/vanilla_actors/bitfs/sinking_cage_platform/geo.inc.c"
#include "actors/vanilla_actors/bitfs/sinking_cage_pole/geo.inc.c"
#include "actors/vanilla_actors/bitfs/tilting_square_platform/geo.inc.c"
#include "actors/vanilla_actors/bitfs/tumbling_platform_near/geo.inc.c"
#include "actors/vanilla_actors/bitfs/tumbling_platform_far/geo.inc.c"
#include "actors/vanilla_actors/bitfs/stretching_platform/geo.inc.c"
#include "actors/vanilla_actors/bitfs/moving_square_platform/geo.inc.c"
#include "actors/vanilla_actors/bitfs/sliding_platform/geo.inc.c"
#include "actors/vanilla_actors/bitfs/platform_on_track/geo.inc.c"
#include "actors/vanilla_actors/bitfs/sinking_platforms/geo.inc.c"
#include "actors/vanilla_actors/bitfs/seesaw_platform/geo.inc.c"
#include "level_commands.h"
const LevelScript script_func_vo_bitfs[] = {
LOAD_MODEL_FROM_GEO(MODEL_BITFS_PLATFORM_ON_TRACK, bitfs_geo_000758),
LOAD_MODEL_FROM_GEO(MODEL_BITFS_TILTING_SQUARE_PLATFORM, bitfs_geo_0006C0),
LOAD_MODEL_FROM_GEO(MODEL_BITFS_SINKING_PLATFORMS, bitfs_geo_000770),
LOAD_MODEL_FROM_GEO(MODEL_BITFS_BLUE_POLE, bitfs_geo_0006A8),
LOAD_MODEL_FROM_GEO(MODEL_BITFS_SINKING_CAGE_PLATFORM, bitfs_geo_000690),
LOAD_MODEL_FROM_GEO(MODEL_BITFS_ELEVATOR, bitfs_geo_000678),
LOAD_MODEL_FROM_GEO(MODEL_BITFS_STRETCHING_PLATFORMS, bitfs_geo_000708),
LOAD_MODEL_FROM_GEO(MODEL_BITFS_SEESAW_PLATFORM, bitfs_geo_000788),
LOAD_MODEL_FROM_GEO(MODEL_BITFS_MOVING_SQUARE_PLATFORM, bitfs_geo_000728),
LOAD_MODEL_FROM_GEO(MODEL_BITFS_SLIDING_PLATFORM, bitfs_geo_000740),
LOAD_MODEL_FROM_GEO(MODEL_BITFS_TUMBLING_PLATFORM_PART, bitfs_geo_0006D8),
LOAD_MODEL_FROM_GEO(MODEL_BITFS_TUMBLING_PLATFORM, bitfs_geo_0006F0),
RETURN(),
};

View File

@@ -1,42 +0,0 @@
#pragma once
#include "types.h"
extern const GeoLayout bitfs_geo_000678[];
extern const GeoLayout bitfs_geo_000690[];
extern const GeoLayout bitfs_geo_0006A8[];
extern const GeoLayout bitfs_geo_0006C0[];
extern const GeoLayout bitfs_geo_0006D8[];
extern const GeoLayout bitfs_geo_0006F0[];
extern const GeoLayout bitfs_geo_000708[];
extern const GeoLayout bitfs_geo_000728[];
extern const GeoLayout bitfs_geo_000740[];
extern const GeoLayout bitfs_geo_000758[];
extern const GeoLayout bitfs_geo_000770[];
extern const GeoLayout bitfs_geo_000788[];
extern const Gfx bitfs_seg7_dl_0700F508[];
extern const Gfx bitfs_seg7_dl_0700F6A8[];
extern const Gfx bitfs_seg7_dl_0700FB38[];
extern const Gfx bitfs_seg7_dl_0700FD08[];
extern const Gfx bitfs_seg7_dl_0700FF90[];
extern const Gfx bitfs_seg7_dl_07010168[];
extern const Gfx bitfs_seg7_dl_07010340[];
extern const Gfx bitfs_seg7_dl_07011138[];
extern const Gfx bitfs_seg7_dl_07011318[];
extern const Gfx bitfs_seg7_dl_07011568[];
extern const Gfx bitfs_seg7_dl_07011798[];
extern const Gfx bitfs_seg7_dl_07011BA0[];
extern const Gfx bitfs_seg7_dl_07011D98[];
extern const Gfx bitfs_seg7_dl_07011E28[];
extern const Collision bitfs_seg7_collision_elevator[];
extern const Collision bitfs_seg7_collision_sinking_cage_platform[];
extern const Collision bitfs_seg7_collision_inverted_pyramid[];
extern const Collision bitfs_seg7_collision_07015288[];
extern const Collision bitfs_seg7_collision_squishable_platform[];
extern const Collision bitfs_seg7_collision_07015714[];
extern const Collision bitfs_seg7_collision_07015768[];
extern const Collision bitfs_seg7_collision_platform_on_track[];
extern const Collision bitfs_seg7_collision_sinking_platform[];
extern const Collision bitfs_seg7_collision_07015928[];

View File

@@ -1,9 +0,0 @@
// 0x07000000 - 0x07001000
ALIGNED8 static const Texture bitfs_seg7_texture_07000000[] = {
#include "actors/vanilla_actors/bitfs/0.rgba16.inc.c"
};
// 0x07001000 - 0x07001800
ALIGNED8 static const Texture bitfs_seg7_texture_07001000[] = {
#include "actors/vanilla_actors/bitfs/1.rgba16.inc.c"
};

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