You've already forked HackerSM64
mirror of
https://github.com/HackerN64/HackerSM64.git
synced 2026-01-21 10:35:32 -08:00
Compare commits
49 Commits
develop/2.
...
fast64-npr
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cadcdf4d55 | ||
|
|
6987bd6d1c | ||
|
|
68ea64189a | ||
|
|
1e5a6f6d45 | ||
|
|
338591eb1e | ||
|
|
8ed0d64a2d | ||
|
|
ccb1419adb | ||
|
|
8c268ce97f | ||
|
|
c08d70bc19 | ||
|
|
749057b47b | ||
|
|
f40a69ab8c | ||
|
|
3f1f7f41be | ||
|
|
bf70500b4d | ||
|
|
27fedee76f | ||
|
|
a918785a92 | ||
|
|
10720ea056 | ||
|
|
8dc47095e2 | ||
|
|
797bb63f1a | ||
|
|
9ef945296b | ||
|
|
e1c00d4bef | ||
|
|
aacf2c5e6d | ||
|
|
4500ffb579 | ||
|
|
a6782e6912 | ||
|
|
750ba10cb1 | ||
|
|
500507509b | ||
|
|
7381e35db4 | ||
|
|
6a3e7e7a87 | ||
|
|
9adb8c6de8 | ||
|
|
03ba81b5e3 | ||
|
|
98b6231216 | ||
|
|
252a900b91 | ||
|
|
92822c6412 | ||
|
|
0221d4ddf0 | ||
|
|
dcd58b2aad | ||
|
|
7ffa9a3bd7 | ||
|
|
dbba4871e1 | ||
|
|
520a6f3aed | ||
|
|
4d260f6885 | ||
|
|
aedae64e8b | ||
|
|
f3e1496d29 | ||
|
|
0005bbbd6a | ||
|
|
e494069b0a | ||
|
|
f852ff4359 | ||
|
|
2ae3426957 | ||
|
|
ca937d23ee | ||
|
|
e32b0ea960 | ||
|
|
219f4683f7 | ||
|
|
7353db562c | ||
|
|
82e0fdf391 |
138
.gitignore
vendored
138
.gitignore
vendored
@@ -528,21 +528,26 @@ assets/demos/pss.bin
|
||||
assets/demos/unused.bin
|
||||
assets/demos/wf.bin
|
||||
levels/bbh/0.rgba16.png
|
||||
actors/vanilla_actors/bbh/0.rgba16.png
|
||||
levels/bbh/1.rgba16.png
|
||||
levels/bbh/2.rgba16.png
|
||||
levels/bbh/3.rgba16.png
|
||||
levels/bbh/4.rgba16.png
|
||||
levels/bbh/5.rgba16.png
|
||||
levels/bbh/6.rgba16.png
|
||||
actors/vanilla_actors/bbh/4.rgba16.png
|
||||
actors/vanilla_actors/bbh/5.rgba16.png
|
||||
actors/vanilla_actors/bbh/6.rgba16.png
|
||||
actors/vanilla_actors/bitdw/0.rgba16.png
|
||||
levels/bitdw/0.rgba16.png
|
||||
levels/bitdw/1.rgba16.png
|
||||
levels/bitdw/2.rgba16.png
|
||||
levels/bitdw/3.rgba16.png
|
||||
actors/vanilla_actors/bitfs/0.rgba16.png
|
||||
levels/bitfs/0.rgba16.png
|
||||
actors/vanilla_actors/bitfs/1.rgba16.png
|
||||
levels/bitfs/1.rgba16.png
|
||||
levels/bitfs/2.rgba16.png
|
||||
levels/bits/0.rgba16.png
|
||||
levels/bits/1.rgba16.png
|
||||
actors/vanilla_actors/bits/2.rgba16.png
|
||||
levels/bits/2.rgba16.png
|
||||
levels/bob/0.rgba16.png
|
||||
levels/bob/1.rgba16.png
|
||||
@@ -559,9 +564,9 @@ levels/bowser_3/2.rgba16.png
|
||||
levels/castle_grounds/0.rgba16.png
|
||||
levels/castle_grounds/1.rgba16.png
|
||||
levels/castle_grounds/2.rgba16.png
|
||||
levels/castle_grounds/3.rgba16.png
|
||||
levels/castle_grounds/4.rgba16.png
|
||||
levels/castle_grounds/5.ia8.png
|
||||
actors/vanilla_actors/castle_grounds/3.rgba16.png
|
||||
actors/vanilla_actors/castle_grounds/4.rgba16.png
|
||||
actors/vanilla_actors/castle_grounds/5.ia8.png
|
||||
levels/castle_inside/1.rgba16.png
|
||||
levels/castle_inside/10.rgba16.png
|
||||
levels/castle_inside/11.rgba16.png
|
||||
@@ -599,22 +604,25 @@ levels/castle_inside/38.rgba16.png
|
||||
levels/castle_inside/39.rgba16.png
|
||||
levels/castle_inside/4.rgba16.png
|
||||
levels/castle_inside/40.rgba16.png
|
||||
levels/castle_inside/5.rgba16.png
|
||||
levels/castle_inside/6.rgba16.png
|
||||
levels/castle_inside/7.rgba16.png
|
||||
actors/vanilla_actors/castle_inside/5.rgba16.png
|
||||
actors/vanilla_actors/castle_inside/6.rgba16.png
|
||||
actors/vanilla_actors/castle_inside/7.rgba16.png
|
||||
levels/castle_inside/8.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/ccm/0.rgba16.png
|
||||
levels/ccm/1.rgba16.png
|
||||
actors/vanilla_actors/ccm/1.rgba16.png
|
||||
levels/ccm/10.rgba16.png
|
||||
levels/ccm/11.rgba16.png
|
||||
levels/ccm/12.rgba16.png
|
||||
actors/vanilla_actors/ccm/12.rgba16.png
|
||||
levels/ccm/2.rgba16.png
|
||||
levels/ccm/3.rgba16.png
|
||||
actors/vanilla_actors/ccm/2.rgba16.png
|
||||
actors/vanilla_actors/ccm/3.rgba16.png
|
||||
levels/ccm/4.rgba16.png
|
||||
levels/ccm/5.rgba16.png
|
||||
levels/ccm/6.rgba16.png
|
||||
actors/vanilla_actors/ccm/5.rgba16.png
|
||||
actors/vanilla_actors/ccm/6.rgba16.png
|
||||
levels/ccm/7.rgba16.png
|
||||
levels/ccm/8.ia16.png
|
||||
levels/ccm/9.ia16.png
|
||||
@@ -623,11 +631,12 @@ levels/cotmc/1.rgba16.png
|
||||
levels/cotmc/2.rgba16.png
|
||||
levels/cotmc/3.rgba16.png
|
||||
levels/cotmc/4.rgba16.png
|
||||
levels/ddd/0.rgba16.png
|
||||
actors/vanilla_actors/ddd/0.rgba16.png
|
||||
levels/ddd/1.rgba16.png
|
||||
levels/ddd/2.rgba16.png
|
||||
actors/vanilla_actors/ddd/2.rgba16.png
|
||||
levels/ddd/3.rgba16.png
|
||||
levels/ddd/4.rgba16.png
|
||||
actors/vanilla_actors/ddd/4.rgba16.png
|
||||
levels/ending/cake.png
|
||||
levels/ending/cake_eu.png
|
||||
levels/ending/eu_023000.rgba16.png
|
||||
@@ -639,10 +648,10 @@ levels/ending/eu_028000.rgba16.png
|
||||
levels/hmc/0.rgba16.png
|
||||
levels/hmc/1.rgba16.png
|
||||
levels/hmc/2.rgba16.png
|
||||
levels/hmc/3.rgba16.png
|
||||
levels/hmc/4.rgba16.png
|
||||
levels/hmc/5.rgba16.png
|
||||
levels/hmc/6.rgba16.png
|
||||
actors/vanilla_actors/hmc/3.rgba16.png
|
||||
actors/vanilla_actors/hmc/4.rgba16.png
|
||||
actors/vanilla_actors/hmc/5.rgba16.png
|
||||
actors/vanilla_actors/hmc/6.rgba16.png
|
||||
levels/hmc/7.rgba16.png
|
||||
levels/intro/0.rgba16.png
|
||||
levels/intro/1.rgba16.png
|
||||
@@ -653,40 +662,41 @@ levels/intro/3_sh_tm.rgba16.png
|
||||
levels/intro/3_tm.rgba16.png
|
||||
levels/jrb/0.rgba16.png
|
||||
levels/jrb/1.rgba16.png
|
||||
levels/jrb/2.rgba16.png
|
||||
levels/jrb/3.rgba16.png
|
||||
levels/lll/0.rgba16.png
|
||||
levels/lll/1.rgba16.png
|
||||
levels/lll/10.rgba16.png
|
||||
levels/lll/11.rgba16.png
|
||||
levels/lll/12.rgba16.png
|
||||
levels/lll/13.rgba16.png
|
||||
levels/lll/14.rgba16.png
|
||||
levels/lll/15.rgba16.png
|
||||
levels/lll/16.rgba16.png
|
||||
levels/lll/17.rgba16.png
|
||||
levels/lll/18.rgba16.png
|
||||
levels/lll/19.rgba16.png
|
||||
levels/lll/2.rgba16.png
|
||||
levels/lll/20.rgba16.png
|
||||
levels/lll/21.rgba16.png
|
||||
levels/lll/22.rgba16.png
|
||||
levels/lll/23.rgba16.png
|
||||
levels/lll/24.rgba16.png
|
||||
levels/lll/25.rgba16.png
|
||||
actors/vanilla_actors/jrb/2.rgba16.png
|
||||
actors/vanilla_actors/jrb/3.rgba16.png
|
||||
actors/vanilla_actors/lll/0.rgba16.png
|
||||
actors/vanilla_actors/lll/1.rgba16.png
|
||||
actors/vanilla_actors/lll/10.rgba16.png
|
||||
actors/vanilla_actors/lll/11.rgba16.png
|
||||
actors/vanilla_actors/lll/12.rgba16.png
|
||||
actors/vanilla_actors/lll/13.rgba16.png
|
||||
actors/vanilla_actors/lll/14.rgba16.png
|
||||
actors/vanilla_actors/lll/15.rgba16.png
|
||||
actors/vanilla_actors/lll/16.rgba16.png
|
||||
actors/vanilla_actors/lll/17.rgba16.png
|
||||
actors/vanilla_actors/lll/18.rgba16.png
|
||||
actors/vanilla_actors/lll/19.rgba16.png
|
||||
actors/vanilla_actors/lll/2.rgba16.png
|
||||
actors/vanilla_actors/lll/20.rgba16.png
|
||||
actors/vanilla_actors/lll/21.rgba16.png
|
||||
actors/vanilla_actors/lll/22.rgba16.png
|
||||
actors/vanilla_actors/lll/23.rgba16.png
|
||||
actors/vanilla_actors/lll/24.rgba16.png
|
||||
actors/vanilla_actors/lll/25.rgba16.png
|
||||
levels/lll/26.rgba16.png
|
||||
levels/lll/27.ia16.png
|
||||
levels/lll/28.rgba16.png
|
||||
levels/lll/29.rgba16.png
|
||||
actors/vanilla_actors/lll/29.rgba16.png
|
||||
levels/lll/3.rgba16.png
|
||||
levels/lll/30.rgba16.png
|
||||
levels/lll/31.rgba16.png
|
||||
levels/lll/32.rgba16.png
|
||||
levels/lll/4.rgba16.png
|
||||
levels/lll/5.rgba16.png
|
||||
levels/lll/6.rgba16.png
|
||||
actors/vanilla_actors/lll/6.rgba16.png
|
||||
levels/lll/7.rgba16.png
|
||||
levels/lll/8.rgba16.png
|
||||
actors/vanilla_actors/lll/8.rgba16.png
|
||||
levels/lll/9.rgba16.png
|
||||
levels/menu/main_menu_seg7.00018.rgba16.png
|
||||
levels/menu/main_menu_seg7.00818.rgba16.png
|
||||
@@ -921,59 +931,64 @@ levels/menu/main_menu_seg7_us.0B800.ia8.png
|
||||
levels/pss/0.rgba16.png
|
||||
levels/pss/1.ia16.png
|
||||
levels/pss/2.rgba16.png
|
||||
levels/rr/1.rgba16.png
|
||||
actors/vanilla_actors/rr/1.rgba16.png
|
||||
levels/rr/2.rgba16.png
|
||||
levels/rr/quarter_flying_carpet.rgba16.png
|
||||
actors/vanilla_actors/rr/quarter_flying_carpet.rgba16.png
|
||||
levels/sl/0.rgba16.png
|
||||
levels/sl/1.rgba16.png
|
||||
levels/sl/2.rgba16.png
|
||||
actors/vanilla_actors/sl/2.rgba16.png
|
||||
levels/sl/3.rgba16.png
|
||||
levels/sl/4.rgba16.png
|
||||
levels/ssl/0.rgba16.png
|
||||
levels/ssl/1.ia16.png
|
||||
levels/ssl/10.rgba16.png
|
||||
levels/ssl/11.rgba16.png
|
||||
actors/vanilla_actors/ssl/10.rgba16.png
|
||||
actors/vanilla_actors/ssl/11.rgba16.png
|
||||
levels/ssl/2.rgba16.png
|
||||
levels/ssl/3.rgba16.png
|
||||
levels/ssl/4.rgba16.png
|
||||
levels/ssl/5.rgba16.png
|
||||
levels/ssl/6.rgba16.png
|
||||
actors/vanilla_actors/ssl/5.rgba16.png
|
||||
actors/vanilla_actors/ssl/6.rgba16.png
|
||||
levels/ssl/7.rgba16.png
|
||||
levels/ssl/8.rgba16.png
|
||||
levels/ssl/9.rgba16.png
|
||||
actors/vanilla_actors/ssl/8.rgba16.png
|
||||
actors/vanilla_actors/ssl/9.rgba16.png
|
||||
levels/thi/0.rgba16.png
|
||||
levels/thi/1.rgba16.png
|
||||
actors/vanilla_actors/thi/1.rgba16.png
|
||||
levels/totwc/0.rgba16.png
|
||||
levels/totwc/1.rgba16.png
|
||||
levels/totwc/2.rgba16.png
|
||||
levels/totwc/3.ia16.png
|
||||
levels/ttc/0.rgba16.png
|
||||
actors/vanilla_actors/ttc/0.rgba16.png
|
||||
actors/vanilla_actors/ttc/1.rgba16.png
|
||||
levels/ttc/1.rgba16.png
|
||||
levels/ttc/2.rgba16.png
|
||||
levels/ttm/0.ia16.png
|
||||
levels/ttm/1.rgba16.png
|
||||
levels/ttm/2.rgba16.png
|
||||
levels/ttm/3.rgba16.png
|
||||
levels/ttm/4.rgba16.png
|
||||
actors/vanilla_actors/ttm/4.rgba16.png
|
||||
levels/ttm/5.rgba16.png
|
||||
levels/ttm/6.rgba16.png
|
||||
levels/ttm/7.rgba16.png
|
||||
levels/ttm/8.rgba16.png
|
||||
actors/vanilla_actors/ttm/8.rgba16.png
|
||||
levels/vcutm/0.rgba16.png
|
||||
levels/vcutm/1.rgba16.png
|
||||
levels/vcutm/2.rgba16.png
|
||||
actors/vanilla_actors/vcutm/2.rgba16.png
|
||||
levels/vcutm/3.rgba16.png
|
||||
levels/wdw/0.rgba16.png
|
||||
levels/wdw/1.rgba16.png
|
||||
levels/wdw/2.rgba16.png
|
||||
levels/wdw/3.rgba16.png
|
||||
actors/vanilla_actors/wdw/1.rgba16.png
|
||||
actors/vanilla_actors/wdw/2.rgba16.png
|
||||
actors/vanilla_actors/wdw/3.rgba16.png
|
||||
levels/wdw/4.rgba16.png
|
||||
actors/vanilla_actors/wf/0.rgba16.png
|
||||
levels/wf/0.rgba16.png
|
||||
levels/wf/1.rgba16.png
|
||||
actors/vanilla_actors/wf/2.rgba16.png
|
||||
levels/wf/2.rgba16.png
|
||||
levels/wf/3.rgba16.png
|
||||
levels/wf/4.rgba16.png
|
||||
levels/wf/5.ia8.png
|
||||
actors/vanilla_actors/wf/3.rgba16.png
|
||||
actors/vanilla_actors/wf/4.rgba16.png
|
||||
actors/vanilla_actors/wf/5.ia8.png
|
||||
levels/wmotr/0.rgba16.png
|
||||
levels/wmotr/1.rgba16.png
|
||||
levels/wmotr/2.rgba16.png
|
||||
@@ -2149,3 +2164,6 @@ lib/libs2d_engine.a
|
||||
|
||||
# :Zone_Identifier files
|
||||
*Zone.Identifier
|
||||
|
||||
# user-specific config file
|
||||
include/config/config_local.h
|
||||
|
||||
6
.gitmodules
vendored
6
.gitmodules
vendored
@@ -1,3 +1,3 @@
|
||||
[submodule "lib/libpl"]
|
||||
path = lib/libpl
|
||||
url = https://gitlab.com/parallel-launcher/libpl.git
|
||||
[submodule "lib/libpl2"]
|
||||
path = lib/libpl2
|
||||
url = https://gitlab.com/parallel-launcher/libpl2.git
|
||||
|
||||
@@ -2,9 +2,7 @@
|
||||
# Each line is a file pattern followed by one or more owners.
|
||||
|
||||
# These owners will be the default owners for everything in the repo.
|
||||
* @Reonu
|
||||
* @thecozies
|
||||
* @gheskett
|
||||
* @Reonu @gheskett @arthurtilly
|
||||
|
||||
# Order is important. The last matching pattern has the most precedence.
|
||||
# So if a pull request only touches javascript files, only these owners
|
||||
|
||||
38
Makefile
38
Makefile
@@ -258,7 +258,7 @@ endif
|
||||
# 1 - includes code in ROM
|
||||
# 0 - does not
|
||||
LIBPL ?= 0
|
||||
LIBPL_DIR := lib/libpl
|
||||
LIBPL_DIR := lib/libpl2
|
||||
$(eval $(call validate-option,LIBPL,0 1))
|
||||
ifeq ($(LIBPL),1)
|
||||
DEFINES += LIBPL=1
|
||||
@@ -269,7 +269,7 @@ BUILD_DIR_BASE := build
|
||||
# BUILD_DIR is the location where all build artifacts are placed
|
||||
BUILD_DIR := $(BUILD_DIR_BASE)/$(VERSION)_$(CONSOLE)
|
||||
|
||||
COMPRESS ?= rnc1
|
||||
COMPRESS ?= yay0
|
||||
$(eval $(call validate-option,COMPRESS,mio0 yay0 gzip rnc1 rnc2 uncomp))
|
||||
ifeq ($(COMPRESS),gzip)
|
||||
DEFINES += GZIP=1
|
||||
@@ -351,10 +351,10 @@ ifeq ($(filter clean distclean print-%,$(MAKECMDGOALS)),)
|
||||
# Clone any needed submodules
|
||||
ifeq ($(LIBPL),1)
|
||||
ifeq ($(wildcard $(LIBPL_DIR)/*.h),)
|
||||
$(info Cloning libpl submodule...)
|
||||
$(info Cloning libpl2 submodule...)
|
||||
DUMMY != git submodule update --init $(LIBPL_DIR) > /dev/null || echo FAIL
|
||||
ifeq ($(DUMMY),FAIL)
|
||||
$(error Failed to clone libpl submodule)
|
||||
$(error Failed to clone libpl2 submodule)
|
||||
endif
|
||||
endif
|
||||
endif
|
||||
@@ -380,9 +380,10 @@ SOUND_BIN_DIR := $(BUILD_DIR)/sound
|
||||
TEXTURE_DIR := textures
|
||||
ACTOR_DIR := actors
|
||||
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
|
||||
SRC_DIRS += src src/boot src/game src/engine src/audio src/menu src/buffers actors levels bin data assets asm lib sound
|
||||
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
|
||||
LIBZ_SRC_DIRS := src/libz
|
||||
GODDARD_SRC_DIRS := src/goddard src/goddard/dynlists
|
||||
BIN_DIRS := bin bin/$(VERSION)
|
||||
@@ -392,13 +393,17 @@ include Makefile.split
|
||||
|
||||
# Source code files
|
||||
LEVEL_C_FILES := $(wildcard levels/*/leveldata.c) $(wildcard levels/*/script.c) $(wildcard levels/*/geo.c)
|
||||
C_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.c)) $(LEVEL_C_FILES)
|
||||
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) $(VNL_ACTRS_C_FILES)
|
||||
CPP_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.cpp))
|
||||
LIBZ_C_FILES := $(foreach dir,$(LIBZ_SRC_DIRS),$(wildcard $(dir)/*.c))
|
||||
GODDARD_C_FILES := $(foreach dir,$(GODDARD_SRC_DIRS),$(wildcard $(dir)/*.c))
|
||||
S_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.s))
|
||||
GENERATED_C_FILES := $(BUILD_DIR)/assets/mario_anim_data.c $(BUILD_DIR)/assets/demo_data.c
|
||||
|
||||
# Ignore all .inc.c files
|
||||
C_FILES := $(filter-out %.inc.c,$(C_FILES))
|
||||
|
||||
# Sound files
|
||||
SOUND_BANK_FILES := $(wildcard sound/sound_banks/*.json)
|
||||
SOUND_SAMPLE_DIRS := $(wildcard sound/samples/*)
|
||||
@@ -441,6 +446,8 @@ else ifneq ($(call find-command,mips-linux-gnu-ld),)
|
||||
CROSS := mips-linux-gnu-
|
||||
else ifneq ($(call find-command,mips64-linux-gnu-ld),)
|
||||
CROSS := mips64-linux-gnu-
|
||||
else ifneq ($(call find-command,mips64-none-elf-ld),)
|
||||
CROSS := mips64-none-elf-
|
||||
else ifneq ($(call find-command,mips-ld),)
|
||||
CROSS := mips-
|
||||
else
|
||||
@@ -547,7 +554,13 @@ ifneq (,$(call find-command,armips))
|
||||
else
|
||||
RSPASM := $(TOOLS_DIR)/armips
|
||||
endif
|
||||
EMULATOR = mupen64plus
|
||||
|
||||
ifneq (,$(call find-command,wslview))
|
||||
EMULATOR = "/mnt/c/Program Files (x86)/parallel-launcher/parallel-launcher.exe"
|
||||
else
|
||||
EMULATOR = parallel-launcher
|
||||
endif
|
||||
|
||||
EMU_FLAGS =
|
||||
|
||||
ifneq (,$(call find-command,wslview))
|
||||
@@ -662,7 +675,7 @@ $(BUILD_DIR)/src/game/rendering_graph_node.o: OPT_FLAGS := $(GRAPH_NODE_OPT_FLAG
|
||||
# $(info MATH_UTIL_OPT_FLAGS: $(MATH_UTIL_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)) 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) $(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)
|
||||
|
||||
# Make sure build directory exists before compiling anything
|
||||
DUMMY != mkdir -p $(ALL_DIRS)
|
||||
@@ -711,6 +724,11 @@ $(LEVEL_ELF_FILES): $(BUILD_DIR)/levels/%/leveldata.elf: $(BUILD_DIR)/levels/%/l
|
||||
$(call print,Linking ELF file:,$<,$@)
|
||||
$(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
|
||||
$(call print,Extracting compressible data from:,$<,$@)
|
||||
$(V)$(EXTRACT_DATA_FOR_MIO) $< $@
|
||||
@@ -739,7 +757,7 @@ endif
|
||||
|
||||
$(BUILD_DIR)/%.table: %.aiff
|
||||
$(call print,Extracting codebook:,$<,$@)
|
||||
$(V)$(AIFF_EXTRACT_CODEBOOK) $< >$@
|
||||
$(V)$(AIFF_EXTRACT_CODEBOOK) $< $@
|
||||
|
||||
$(BUILD_DIR)/%.aifc: $(BUILD_DIR)/%.table %.aiff
|
||||
$(call print,Encoding ADPCM:,$(word 2,$^),$@)
|
||||
@@ -869,7 +887,7 @@ $(BUILD_DIR)/asm/debug/map.o: asm/debug/map.s $(BUILD_DIR)/sm64_prelim.elf
|
||||
# Link SM64 ELF file
|
||||
$(ELF): $(BUILD_DIR)/sm64_prelim.elf $(BUILD_DIR)/asm/debug/map.o $(O_FILES) $(YAY0_OBJ_FILES) $(SEG_FILES) $(BUILD_DIR)/$(LD_SCRIPT) $(BUILD_DIR)/libz.a $(BUILD_DIR)/libgoddard.a
|
||||
@$(PRINT) "$(GREEN)Linking ELF file: $(BLUE)$@ $(NO_COL)\n"
|
||||
$(V)$(LD) --gc-sections -L $(BUILD_DIR) -T $(BUILD_DIR)/$(LD_SCRIPT) -T goddard.txt -Map $(BUILD_DIR)/sm64.$(VERSION).map --no-check-sections $(addprefix -R ,$(SEG_FILES)) -o $@ $(O_FILES) -L$(LIBS_DIR) -l$(ULTRALIB) -Llib $(LINK_LIBRARIES) -u sprintf -u osMapTLB -Llib/gcclib/$(LIBGCCDIR) -lgcc -lrtc
|
||||
$(V)$(LD) --gc-sections -L $(BUILD_DIR) -T $(BUILD_DIR)/$(LD_SCRIPT) -T goddard.txt -Map $(BUILD_DIR)/sm64.$(VERSION).map --no-check-sections $(addprefix -R ,$(SEG_FILES)) -o $@ $(O_FILES) -L$(LIBS_DIR) -l$(ULTRALIB) -Llib $(LINK_LIBRARIES) -u sprintf -u osMapTLB -Llib/gcclib/$(LIBGCCDIR) -lgcc
|
||||
|
||||
# Build ROM
|
||||
ifeq (n,$(findstring n,$(firstword -$(MAKEFLAGS))))
|
||||
|
||||
@@ -41,15 +41,21 @@ LEVEL_FILES := $(addsuffix leveldata,$(LEVEL_DIRS))
|
||||
|
||||
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 := \
|
||||
$(SEGMENTS:%=$(BUILD_DIR)/bin/%.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 := \
|
||||
$(SEGMENTS:%=$(BUILD_DIR)/bin/%.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)
|
||||
|
||||
@@ -243,11 +249,11 @@ $(BUILD_DIR)/bin/machine.elf: SEGMENT_ADDRESS := 0x09000000
|
||||
$(BUILD_DIR)/bin/mountain.elf: SEGMENT_ADDRESS := 0x09000000
|
||||
$(BUILD_DIR)/bin/grass.elf: SEGMENT_ADDRESS := 0x09000000
|
||||
# EU segment 19 translations
|
||||
$(BUILD_DIR)/bin/translation_de.elf: SEGMENT_ADDRESS := 0x19000000
|
||||
$(BUILD_DIR)/bin/translation_en.elf: SEGMENT_ADDRESS := 0x19000000
|
||||
$(BUILD_DIR)/bin/translation_fr.elf: SEGMENT_ADDRESS := 0x19000000
|
||||
$(BUILD_DIR)/bin/translation_jp.elf: SEGMENT_ADDRESS := 0x19000000
|
||||
$(BUILD_DIR)/bin/translation_es.elf: SEGMENT_ADDRESS := 0x19000000
|
||||
$(BUILD_DIR)/bin/translation_de.elf: SEGMENT_ADDRESS := 0x1B000000
|
||||
$(BUILD_DIR)/bin/translation_en.elf: SEGMENT_ADDRESS := 0x1B000000
|
||||
$(BUILD_DIR)/bin/translation_fr.elf: SEGMENT_ADDRESS := 0x1B000000
|
||||
$(BUILD_DIR)/bin/translation_jp.elf: SEGMENT_ADDRESS := 0x1B000000
|
||||
$(BUILD_DIR)/bin/translation_es.elf: SEGMENT_ADDRESS := 0x1B000000
|
||||
|
||||
# --------------------------------------
|
||||
# Skybox Rules
|
||||
@@ -272,3 +278,36 @@ IPL3_RAW_FILES := $(addprefix $(BUILD_DIR)/,$(patsubst %.png,%,$(IP
|
||||
|
||||
CRASH_TEXTURE_FILES := $(wildcard $(TEXTURE_DIR)/crash_custom/*.png)
|
||||
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))
|
||||
|
||||
@@ -1 +1 @@
|
||||
v2.2.0
|
||||
v2.3.0
|
||||
|
||||
@@ -105,4 +105,7 @@ extern const struct Animation *const unagi_seg5_anims_05012824[];
|
||||
extern const Gfx whirlpool_seg5_dl_05013B58[];
|
||||
extern const Gfx whirlpool_seg5_dl_05013CB8[];
|
||||
|
||||
extern const Trajectory jrb_seg7_trajectory_unagi_1[];
|
||||
extern const Trajectory jrb_seg7_trajectory_unagi_2[];
|
||||
|
||||
#endif
|
||||
|
||||
@@ -11,3 +11,30 @@
|
||||
#include "manta/geo.inc.c"
|
||||
#include "sushi/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(),
|
||||
};
|
||||
|
||||
27
actors/vanilla_actors/bbh/data.c
Normal file
27
actors/vanilla_actors/bbh/data.c
Normal file
@@ -0,0 +1,27 @@
|
||||
#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"
|
||||
37
actors/vanilla_actors/bbh/geo.c
Normal file
37
actors/vanilla_actors/bbh/geo.c
Normal file
@@ -0,0 +1,37 @@
|
||||
#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(),
|
||||
};
|
||||
29
actors/vanilla_actors/bbh/header.h
Normal file
29
actors/vanilla_actors/bbh/header.h
Normal file
@@ -0,0 +1,29 @@
|
||||
#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[];
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user