You've already forked HackerSM64
mirror of
https://github.com/HackerN64/HackerSM64.git
synced 2026-01-21 10:35:32 -08:00
Compare commits
77 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3f1f7f41be | ||
|
|
bf70500b4d | ||
|
|
27fedee76f | ||
|
|
a918785a92 | ||
|
|
10720ea056 | ||
|
|
8dc47095e2 | ||
|
|
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 | ||
|
|
7353db562c | ||
|
|
82e0fdf391 | ||
|
|
3e5d14e650 | ||
|
|
197d8074e3 | ||
|
|
c5d9f535ee | ||
|
|
8257f77c57 | ||
|
|
78747e9836 | ||
|
|
c96118bcd8 | ||
|
|
4c8233fe6a | ||
|
|
524e35c974 | ||
|
|
fc5ffa7438 | ||
|
|
d07e6383f6 | ||
|
|
1de4b9144b | ||
|
|
88c2cdb0a0 | ||
|
|
3a5a2f14dd | ||
|
|
b9ba17a4d6 | ||
|
|
5064fcfb69 | ||
|
|
05bbe16e29 | ||
|
|
9cf3753d6e | ||
|
|
325ee7c5ec | ||
|
|
bf924a8ec3 | ||
|
|
c39b289441 | ||
|
|
5ba00edf20 | ||
|
|
15a81037ef | ||
|
|
b2707990f2 | ||
|
|
1d7a690361 | ||
|
|
08f0e3efa4 | ||
|
|
6148582f5e | ||
|
|
913cda93b8 | ||
|
|
d7c840b8f1 | ||
|
|
b73d8dd178 | ||
|
|
9fc928ed70 | ||
|
|
76dae5e8dd | ||
|
|
7df16608a7 | ||
|
|
1646702393 | ||
|
|
dcfcf50a80 | ||
|
|
4f2c48c733 | ||
|
|
72f8ea130f | ||
|
|
36c98b6cd1 | ||
|
|
78cc957d31 | ||
|
|
7de18d10fc | ||
|
|
01c3f20c6f | ||
|
|
38f25d2b83 | ||
|
|
48bea33052 |
3
.gitignore
vendored
3
.gitignore
vendored
@@ -2149,3 +2149,6 @@ lib/libs2d_engine.a
|
|||||||
|
|
||||||
# :Zone_Identifier files
|
# :Zone_Identifier files
|
||||||
*Zone.Identifier
|
*Zone.Identifier
|
||||||
|
|
||||||
|
# user-specific config file
|
||||||
|
include/config/config_local.h
|
||||||
|
|||||||
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
[submodule "lib/libpl"]
|
||||||
|
path = lib/libpl
|
||||||
|
url = https://gitlab.com/parallel-launcher/libpl.git
|
||||||
3
.vscode/c_cpp_properties.json
vendored
3
.vscode/c_cpp_properties.json
vendored
@@ -26,7 +26,8 @@
|
|||||||
"VERSION_US=1",
|
"VERSION_US=1",
|
||||||
"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"
|
||||||
],
|
],
|
||||||
"compilerPath": "/usr/bin/mips-linux-gnu-gcc",
|
"compilerPath": "/usr/bin/mips-linux-gnu-gcc",
|
||||||
"cStandard": "gnu17",
|
"cStandard": "gnu17",
|
||||||
|
|||||||
@@ -2,9 +2,7 @@
|
|||||||
# Each line is a file pattern followed by one or more owners.
|
# Each line is a file pattern followed by one or more owners.
|
||||||
|
|
||||||
# These owners will be the default owners for everything in the repo.
|
# These owners will be the default owners for everything in the repo.
|
||||||
* @Reonu
|
* @Reonu @gheskett @arthurtilly
|
||||||
* @thecozies
|
|
||||||
* @gheskett
|
|
||||||
|
|
||||||
# Order is important. The last matching pattern has the most precedence.
|
# Order is important. The last matching pattern has the most precedence.
|
||||||
# So if a pull request only touches javascript files, only these owners
|
# So if a pull request only touches javascript files, only these owners
|
||||||
|
|||||||
15
Dockerfile
15
Dockerfile
@@ -1,17 +1,18 @@
|
|||||||
FROM ubuntu:18.04 as build
|
FROM ubuntu:22.04 as build
|
||||||
|
|
||||||
RUN apt-get update && \
|
RUN apt-get update && \
|
||||||
apt-get install -y \
|
apt-get install -y \
|
||||||
binutils-mips-linux-gnu \
|
binutils-mips-linux-gnu \
|
||||||
bsdmainutils \
|
bsdextrautils \
|
||||||
build-essential \
|
build-essential \
|
||||||
|
gcc-mips-linux-gnu \
|
||||||
libcapstone-dev \
|
libcapstone-dev \
|
||||||
pkgconf \
|
pkgconf \
|
||||||
python3
|
python3
|
||||||
|
|
||||||
RUN mkdir /sm64
|
RUN mkdir /hackersm64
|
||||||
WORKDIR /sm64
|
WORKDIR /hackersm64
|
||||||
ENV PATH="/sm64/tools:${PATH}"
|
ENV PATH="/hackersm64/tools:${PATH}"
|
||||||
|
|
||||||
CMD echo 'usage: docker run --rm --mount type=bind,source="$(pwd)",destination=/sm64 sm64 make VERSION=us -j4\n' \
|
CMD echo 'Usage: docker run --rm -v ${PWD}:/hackersm64 hackersm64 make VERSION=us -j4\n' \
|
||||||
'see https://github.com/n64decomp/sm64/blob/master/README.md for advanced usage'
|
'See https://github.com/HackerN64/HackerSM64/blob/master/README.md for more information'
|
||||||
|
|||||||
45
Makefile
45
Makefile
@@ -135,7 +135,7 @@ endif
|
|||||||
#==============================================================================#
|
#==============================================================================#
|
||||||
|
|
||||||
# Default non-gcc opt flags
|
# Default non-gcc opt flags
|
||||||
DEFAULT_OPT_FLAGS = -Ofast
|
DEFAULT_OPT_FLAGS = -Ofast -falign-functions=32
|
||||||
# Note: -fno-associative-math is used here to suppress warnings, ideally we would enable this as an optimization but
|
# Note: -fno-associative-math is used here to suppress warnings, ideally we would enable this as an optimization but
|
||||||
# this conflicts with -ftrapping-math apparently.
|
# this conflicts with -ftrapping-math apparently.
|
||||||
# TODO: Figure out how to allow -fassociative-math to be enabled
|
# TODO: Figure out how to allow -fassociative-math to be enabled
|
||||||
@@ -253,11 +253,23 @@ ifeq ($(HVQM),1)
|
|||||||
SRC_DIRS += src/hvqm
|
SRC_DIRS += src/hvqm
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# LIBPL - whether to include libpl library for interfacing with Parallel Launcher
|
||||||
|
# (library will be pulled into repo after building with this enabled for the first time)
|
||||||
|
# 1 - includes code in ROM
|
||||||
|
# 0 - does not
|
||||||
|
LIBPL ?= 0
|
||||||
|
LIBPL_DIR := lib/libpl
|
||||||
|
$(eval $(call validate-option,LIBPL,0 1))
|
||||||
|
ifeq ($(LIBPL),1)
|
||||||
|
DEFINES += LIBPL=1
|
||||||
|
SRC_DIRS += $(LIBPL_DIR)
|
||||||
|
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)
|
||||||
|
|
||||||
COMPRESS ?= rnc1
|
COMPRESS ?= yay0
|
||||||
$(eval $(call validate-option,COMPRESS,mio0 yay0 gzip rnc1 rnc2 uncomp))
|
$(eval $(call validate-option,COMPRESS,mio0 yay0 gzip rnc1 rnc2 uncomp))
|
||||||
ifeq ($(COMPRESS),gzip)
|
ifeq ($(COMPRESS),gzip)
|
||||||
DEFINES += GZIP=1
|
DEFINES += GZIP=1
|
||||||
@@ -335,6 +347,18 @@ ifeq ($(filter clean distclean print-%,$(MAKECMDGOALS)),)
|
|||||||
ifeq ($(DUMMY),FAIL)
|
ifeq ($(DUMMY),FAIL)
|
||||||
$(error Failed to build tools)
|
$(error Failed to build tools)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
# Clone any needed submodules
|
||||||
|
ifeq ($(LIBPL),1)
|
||||||
|
ifeq ($(wildcard $(LIBPL_DIR)/*.h),)
|
||||||
|
$(info Cloning libpl submodule...)
|
||||||
|
DUMMY != git submodule update --init $(LIBPL_DIR) > /dev/null || echo FAIL
|
||||||
|
ifeq ($(DUMMY),FAIL)
|
||||||
|
$(error Failed to clone libpl submodule)
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
endif
|
||||||
|
|
||||||
$(info Building ROM...)
|
$(info Building ROM...)
|
||||||
|
|
||||||
endif
|
endif
|
||||||
@@ -375,6 +399,9 @@ GODDARD_C_FILES := $(foreach dir,$(GODDARD_SRC_DIRS),$(wildcard $(dir)/*.c))
|
|||||||
S_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.s))
|
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
|
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 files
|
||||||
SOUND_BANK_FILES := $(wildcard sound/sound_banks/*.json)
|
SOUND_BANK_FILES := $(wildcard sound/sound_banks/*.json)
|
||||||
SOUND_SAMPLE_DIRS := $(wildcard sound/samples/*)
|
SOUND_SAMPLE_DIRS := $(wildcard sound/samples/*)
|
||||||
@@ -417,6 +444,8 @@ else ifneq ($(call find-command,mips-linux-gnu-ld),)
|
|||||||
CROSS := mips-linux-gnu-
|
CROSS := mips-linux-gnu-
|
||||||
else ifneq ($(call find-command,mips64-linux-gnu-ld),)
|
else ifneq ($(call find-command,mips64-linux-gnu-ld),)
|
||||||
CROSS := mips64-linux-gnu-
|
CROSS := mips64-linux-gnu-
|
||||||
|
else ifneq ($(call find-command,mips64-none-elf-ld),)
|
||||||
|
CROSS := mips64-none-elf-
|
||||||
else ifneq ($(call find-command,mips-ld),)
|
else ifneq ($(call find-command,mips-ld),)
|
||||||
CROSS := mips-
|
CROSS := mips-
|
||||||
else
|
else
|
||||||
@@ -524,7 +553,13 @@ ifneq (,$(call find-command,armips))
|
|||||||
else
|
else
|
||||||
RSPASM := $(TOOLS_DIR)/armips
|
RSPASM := $(TOOLS_DIR)/armips
|
||||||
endif
|
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 =
|
EMU_FLAGS =
|
||||||
|
|
||||||
ifneq (,$(call find-command,wslview))
|
ifneq (,$(call find-command,wslview))
|
||||||
@@ -745,7 +780,7 @@ endif
|
|||||||
|
|
||||||
$(BUILD_DIR)/%.table: %.aiff
|
$(BUILD_DIR)/%.table: %.aiff
|
||||||
$(call print,Extracting codebook:,$<,$@)
|
$(call print,Extracting codebook:,$<,$@)
|
||||||
$(V)$(AIFF_EXTRACT_CODEBOOK) $< >$@
|
$(V)$(AIFF_EXTRACT_CODEBOOK) $< $@
|
||||||
|
|
||||||
$(BUILD_DIR)/%.aifc: $(BUILD_DIR)/%.table %.aiff
|
$(BUILD_DIR)/%.aifc: $(BUILD_DIR)/%.table %.aiff
|
||||||
$(call print,Encoding ADPCM:,$(word 2,$^),$@)
|
$(call print,Encoding ADPCM:,$(word 2,$^),$@)
|
||||||
@@ -889,7 +924,7 @@ $(BUILD_DIR)/asm/debug/map.o: asm/debug/map.s $(BUILD_DIR)/sm64_prelim.elf
|
|||||||
# Link SM64 ELF file
|
# 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
|
$(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"
|
@$(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
|
# Build ROM
|
||||||
ifeq (n,$(findstring n,$(firstword -$(MAKEFLAGS))))
|
ifeq (n,$(findstring n,$(firstword -$(MAKEFLAGS))))
|
||||||
|
|||||||
@@ -36,7 +36,6 @@ Thanks to Frame#5375 and AloXado320 for also helping with silhouette stuff
|
|||||||
|
|
||||||
**Lighting Engine by Wiseguy**
|
**Lighting Engine by Wiseguy**
|
||||||
- Lighting Engine is available on a separate branch ([base/lighting-engine](https://github.com/Reonu/HackerSM64/tree/base/lighting-engine)). Instructions on how to use it are in the readme of that branch.
|
- Lighting Engine is available on a separate branch ([base/lighting-engine](https://github.com/Reonu/HackerSM64/tree/base/lighting-engine)). Instructions on how to use it are in the readme of that branch.
|
||||||
- Alternatively, the main repo has `Puppylights` available, which is a more lightweight, but limited lighting library intended to be used to modify existing light properties. You can look at `puppylights.c` to find out how to use it.
|
|
||||||
|
|
||||||
**Puppycam**
|
**Puppycam**
|
||||||
- Puppycam is available on the master branch now, you can toggle it in `config/config_camera.h`. *
|
- Puppycam is available on the master branch now, you can toggle it in `config/config_camera.h`. *
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
v2.1.1
|
v2.3.0
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ const u8 small_font_kerning_default[] = {
|
|||||||
/*A*/ 7, /*B*/ 7, /*C*/ 7, /*D*/ 7, /*E*/ 6, /*F*/ 5, /*G*/ 8, /*H*/ 6, /*I*/ 6, /*J*/ 5, /*K*/ 7, /*L*/ 6, /*M*/ 7, /*N*/ 7, /*O*/ 7, /*P*/ 6,
|
/*A*/ 7, /*B*/ 7, /*C*/ 7, /*D*/ 7, /*E*/ 6, /*F*/ 5, /*G*/ 8, /*H*/ 6, /*I*/ 6, /*J*/ 5, /*K*/ 7, /*L*/ 6, /*M*/ 7, /*N*/ 7, /*O*/ 7, /*P*/ 6,
|
||||||
/*Q*/ 8, /*R*/ 6, /*S*/ 7, /*T*/ 7, /*U*/ 7, /*V*/ 7, /*W*/ 8, /*X*/ 7, /*Y*/ 7, /*Z*/ 7, /*[*/ 0, /*\\*/ 0, /*]*/ 0, /*^*/ 8, /*_*/ 0, /*`*/ 0,
|
/*Q*/ 8, /*R*/ 6, /*S*/ 7, /*T*/ 7, /*U*/ 7, /*V*/ 7, /*W*/ 8, /*X*/ 7, /*Y*/ 7, /*Z*/ 7, /*[*/ 0, /*\\*/ 0, /*]*/ 0, /*^*/ 8, /*_*/ 0, /*`*/ 0,
|
||||||
/*a*/ 7, /*b*/ 7, /*c*/ 6, /*d*/ 7, /*e*/ 7, /*f*/ 7, /*g*/ 7, /*h*/ 7, /*i*/ 3, /*j*/ 5, /*k*/ 8, /*l*/ 4, /*m*/ 7, /*n*/ 7, /*o*/ 7, /*p*/ 7,
|
/*a*/ 7, /*b*/ 7, /*c*/ 6, /*d*/ 7, /*e*/ 7, /*f*/ 7, /*g*/ 7, /*h*/ 7, /*i*/ 3, /*j*/ 5, /*k*/ 8, /*l*/ 4, /*m*/ 7, /*n*/ 7, /*o*/ 7, /*p*/ 7,
|
||||||
/*q*/ 7, /*r*/ 6, /*s*/ 6, /*t*/ 6, /*u*/ 6, /*v*/ 7, /*w*/ 8, /*x*/ 6, /*y*/ 8, /*z*/ 7, /*~*/ 8,
|
/*q*/ 7, /*r*/ 6, /*s*/ 6, /*t*/ 6, /*u*/ 6, /*v*/ 7, /*w*/ 8, /*x*/ 6, /*y*/ 8, /*z*/ 7, /*{*/ 0, /*|*/ 0, /*}*/ 0, /*~*/ 8,
|
||||||
};
|
};
|
||||||
|
|
||||||
const u16 small_font_offsets_default[] = {
|
const u16 small_font_offsets_default[] = {
|
||||||
@@ -49,7 +49,7 @@ static const u8 small_font_kerning_outline[] = {
|
|||||||
/*A*/ 6, /*B*/ 6, /*C*/ 6, /*D*/ 6, /*E*/ 6, /*F*/ 6, /*G*/ 6, /*H*/ 6, /*I*/ 5, /*J*/ 7, /*K*/ 6, /*L*/ 6, /*M*/ 6, /*N*/ 6, /*O*/ 6, /*P*/ 6,
|
/*A*/ 6, /*B*/ 6, /*C*/ 6, /*D*/ 6, /*E*/ 6, /*F*/ 6, /*G*/ 6, /*H*/ 6, /*I*/ 5, /*J*/ 7, /*K*/ 6, /*L*/ 6, /*M*/ 6, /*N*/ 6, /*O*/ 6, /*P*/ 6,
|
||||||
/*Q*/ 6, /*R*/ 6, /*S*/ 6, /*T*/ 6, /*U*/ 6, /*V*/ 6, /*W*/ 6, /*X*/ 6, /*Y*/ 6, /*Z*/ 6, /*[*/ 0, /*\\*/ 0, /*]*/ 0, /*^*/ 7, /*_*/ 0, /*`*/ 0,
|
/*Q*/ 6, /*R*/ 6, /*S*/ 6, /*T*/ 6, /*U*/ 6, /*V*/ 6, /*W*/ 6, /*X*/ 6, /*Y*/ 6, /*Z*/ 6, /*[*/ 0, /*\\*/ 0, /*]*/ 0, /*^*/ 7, /*_*/ 0, /*`*/ 0,
|
||||||
/*a*/ 5, /*b*/ 5, /*c*/ 5, /*d*/ 5, /*e*/ 5, /*f*/ 5, /*g*/ 5, /*h*/ 5, /*i*/ 2, /*j*/ 6, /*k*/ 4, /*l*/ 2, /*m*/ 5, /*n*/ 5, /*o*/ 5, /*p*/ 5,
|
/*a*/ 5, /*b*/ 5, /*c*/ 5, /*d*/ 5, /*e*/ 5, /*f*/ 5, /*g*/ 5, /*h*/ 5, /*i*/ 2, /*j*/ 6, /*k*/ 4, /*l*/ 2, /*m*/ 5, /*n*/ 5, /*o*/ 5, /*p*/ 5,
|
||||||
/*q*/ 5, /*r*/ 5, /*s*/ 5, /*t*/ 5, /*u*/ 5, /*v*/ 5, /*w*/ 5, /*x*/ 5, /*y*/ 5, /*z*/ 5, /*~*/ 6,
|
/*q*/ 5, /*r*/ 5, /*s*/ 5, /*t*/ 5, /*u*/ 5, /*v*/ 5, /*w*/ 5, /*x*/ 5, /*y*/ 5, /*z*/ 5, /*{*/ 0, /*|*/ 0, /*}*/ 0, /*~*/ 6,
|
||||||
};
|
};
|
||||||
|
|
||||||
const u16 small_font_offsets_outline[] = {
|
const u16 small_font_offsets_outline[] = {
|
||||||
@@ -68,7 +68,7 @@ static const u8 small_font_kerning_plain[] = {
|
|||||||
/*A*/ 6, /*B*/ 6, /*C*/ 6, /*D*/ 6, /*E*/ 6, /*F*/ 6, /*G*/ 6, /*H*/ 6, /*I*/ 4, /*J*/ 6, /*K*/ 6, /*L*/ 6, /*M*/ 7, /*N*/ 7, /*O*/ 6, /*P*/ 6,
|
/*A*/ 6, /*B*/ 6, /*C*/ 6, /*D*/ 6, /*E*/ 6, /*F*/ 6, /*G*/ 6, /*H*/ 6, /*I*/ 4, /*J*/ 6, /*K*/ 6, /*L*/ 6, /*M*/ 7, /*N*/ 7, /*O*/ 6, /*P*/ 6,
|
||||||
/*Q*/ 6, /*R*/ 6, /*S*/ 6, /*T*/ 6, /*U*/ 6, /*V*/ 6, /*W*/ 7, /*X*/ 6, /*Y*/ 6, /*Z*/ 6, /*[*/ 0, /*\\*/ 0, /*]*/ 0, /*^*/ 7, /*_*/ 0, /*`*/ 0,
|
/*Q*/ 6, /*R*/ 6, /*S*/ 6, /*T*/ 6, /*U*/ 6, /*V*/ 6, /*W*/ 7, /*X*/ 6, /*Y*/ 6, /*Z*/ 6, /*[*/ 0, /*\\*/ 0, /*]*/ 0, /*^*/ 7, /*_*/ 0, /*`*/ 0,
|
||||||
/*a*/ 6, /*b*/ 6, /*c*/ 6, /*d*/ 6, /*e*/ 6, /*f*/ 6, /*g*/ 6, /*h*/ 6, /*i*/ 3, /*j*/ 4, /*k*/ 6, /*l*/ 5, /*m*/ 7, /*n*/ 6, /*o*/ 6, /*p*/ 6,
|
/*a*/ 6, /*b*/ 6, /*c*/ 6, /*d*/ 6, /*e*/ 6, /*f*/ 6, /*g*/ 6, /*h*/ 6, /*i*/ 3, /*j*/ 4, /*k*/ 6, /*l*/ 5, /*m*/ 7, /*n*/ 6, /*o*/ 6, /*p*/ 6,
|
||||||
/*q*/ 6, /*r*/ 6, /*s*/ 6, /*t*/ 6, /*u*/ 6, /*v*/ 6, /*w*/ 7, /*x*/ 6, /*y*/ 6, /*z*/ 6, /*~*/ 7,
|
/*q*/ 6, /*r*/ 6, /*s*/ 6, /*t*/ 6, /*u*/ 6, /*v*/ 6, /*w*/ 7, /*x*/ 6, /*y*/ 6, /*z*/ 6, /*{*/ 0, /*|*/ 0, /*}*/ 0, /*~*/ 7,
|
||||||
};
|
};
|
||||||
|
|
||||||
const u16 small_font_offsets_plain[] = {
|
const u16 small_font_offsets_plain[] = {
|
||||||
@@ -87,7 +87,7 @@ static const u8 small_font_kerning_vanilla[] = {
|
|||||||
/*A*/ 5, /*B*/ 5, /*C*/ 5, /*D*/ 5, /*E*/ 5, /*F*/ 5, /*G*/ 5, /*H*/ 5, /*I*/ 3, /*J*/ 5, /*K*/ 5, /*L*/ 5, /*M*/ 7, /*N*/ 7, /*O*/ 6, /*P*/ 5,
|
/*A*/ 5, /*B*/ 5, /*C*/ 5, /*D*/ 5, /*E*/ 5, /*F*/ 5, /*G*/ 5, /*H*/ 5, /*I*/ 3, /*J*/ 5, /*K*/ 5, /*L*/ 5, /*M*/ 7, /*N*/ 7, /*O*/ 6, /*P*/ 5,
|
||||||
/*Q*/ 6, /*R*/ 5, /*S*/ 5, /*T*/ 5, /*U*/ 5, /*V*/ 5, /*W*/ 7, /*X*/ 6, /*Y*/ 5, /*Z*/ 5, /*[*/ 0, /*\\*/ 0, /*]*/ 0, /*^*/ 7, /*_*/ 0, /*`*/ 0,
|
/*Q*/ 6, /*R*/ 5, /*S*/ 5, /*T*/ 5, /*U*/ 5, /*V*/ 5, /*W*/ 7, /*X*/ 6, /*Y*/ 5, /*Z*/ 5, /*[*/ 0, /*\\*/ 0, /*]*/ 0, /*^*/ 7, /*_*/ 0, /*`*/ 0,
|
||||||
/*a*/ 5, /*b*/ 4, /*c*/ 4, /*d*/ 4, /*e*/ 4, /*f*/ 5, /*g*/ 5, /*h*/ 4, /*i*/ 3, /*j*/ 4, /*k*/ 3, /*l*/ 2, /*m*/ 6, /*n*/ 4, /*o*/ 4, /*p*/ 4,
|
/*a*/ 5, /*b*/ 4, /*c*/ 4, /*d*/ 4, /*e*/ 4, /*f*/ 5, /*g*/ 5, /*h*/ 4, /*i*/ 3, /*j*/ 4, /*k*/ 3, /*l*/ 2, /*m*/ 6, /*n*/ 4, /*o*/ 4, /*p*/ 4,
|
||||||
/*q*/ 5, /*r*/ 4, /*s*/ 4, /*t*/ 4, /*u*/ 4, /*v*/ 4, /*w*/ 7, /*x*/ 5, /*y*/ 4, /*z*/ 5, /*~*/ 6,
|
/*q*/ 5, /*r*/ 4, /*s*/ 4, /*t*/ 4, /*u*/ 4, /*v*/ 4, /*w*/ 7, /*x*/ 5, /*y*/ 4, /*z*/ 5, /*{*/ 0, /*|*/ 0, /*}*/ 0, /*~*/ 6,
|
||||||
};
|
};
|
||||||
|
|
||||||
const u16 small_font_offsets_vanilla[] = {
|
const u16 small_font_offsets_vanilla[] = {
|
||||||
@@ -2374,8 +2374,8 @@ static const Vtx vertex_ia8_char[] = {
|
|||||||
#else
|
#else
|
||||||
{{{ 0, 0, 0}, 0, { 0, 256}, {0xff, 0xff, 0xff, 0xff}}},
|
{{{ 0, 0, 0}, 0, { 0, 256}, {0xff, 0xff, 0xff, 0xff}}},
|
||||||
{{{ 8, 0, 0}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
|
{{{ 8, 0, 0}, 0, { 0, 0}, {0xff, 0xff, 0xff, 0xff}}},
|
||||||
{{{ 8, 16, 0}, 0, { 480, 0}, {0xff, 0xff, 0xff, 0xff}}},
|
{{{ 8, 16, 0}, 0, { 512, 0}, {0xff, 0xff, 0xff, 0xff}}},
|
||||||
{{{ 0, 16, 0}, 0, { 480, 256}, {0xff, 0xff, 0xff, 0xff}}},
|
{{{ 0, 16, 0}, 0, { 512, 256}, {0xff, 0xff, 0xff, 0xff}}},
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -2394,11 +2394,11 @@ const Gfx dl_ia_text_begin[] = {
|
|||||||
|
|
||||||
// 0x020073E8 - 0x02007418
|
// 0x020073E8 - 0x02007418
|
||||||
const Gfx dl_ia_text_tex_settings[] = {
|
const Gfx dl_ia_text_tex_settings[] = {
|
||||||
gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, (G_TX_WRAP | G_TX_MIRROR), 3, G_TX_NOLOD, (G_TX_WRAP | G_TX_MIRROR), 4, G_TX_NOLOD),
|
gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, 3, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, 4, G_TX_NOLOD),
|
||||||
gsDPLoadSync(),
|
gsDPLoadSync(),
|
||||||
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, ((((16 * 8) + G_IM_SIZ_4b_INCR) >> G_IM_SIZ_4b_SHIFT) - 1), CALC_DXT(16, G_IM_SIZ_4b_BYTES)),
|
gsDPLoadBlock(G_TX_LOADTILE, 0, 0, ((16 * 8 + G_IM_SIZ_4b_INCR) >> G_IM_SIZ_4b_SHIFT) - 1, CALC_DXT(16, G_IM_SIZ_4b_BYTES)),
|
||||||
gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_4b, 1, 0, G_TX_RENDERTILE, 0, (G_TX_WRAP | G_TX_MIRROR), 3, G_TX_NOLOD, (G_TX_WRAP | G_TX_MIRROR), 4, G_TX_NOLOD),
|
gsDPSetTile(G_IM_FMT_IA, G_IM_SIZ_4b, 1, 0, G_TX_RENDERTILE, 0, G_TX_WRAP | G_TX_NOMIRROR, 3, G_TX_NOLOD, G_TX_WRAP | G_TX_NOMIRROR, 4, G_TX_NOLOD),
|
||||||
gsDPSetTileSize(0, 0, 0, ((16 - 1) << G_TEXTURE_IMAGE_FRAC), ((8 - 1) << G_TEXTURE_IMAGE_FRAC)),
|
gsDPSetTileSize(0, 0, 0, (16 - 1) << G_TEXTURE_IMAGE_FRAC, (8 - 1) << G_TEXTURE_IMAGE_FRAC),
|
||||||
gsSPVertex(vertex_ia8_char, 4, 0),
|
gsSPVertex(vertex_ia8_char, 4, 0),
|
||||||
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
|
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
|
||||||
gsSPEndDisplayList(),
|
gsSPEndDisplayList(),
|
||||||
@@ -2474,6 +2474,7 @@ static const Vtx vertex_billboard_num[] = {
|
|||||||
// 0x0200EFF0 - 0x0200F038
|
// 0x0200EFF0 - 0x0200F038
|
||||||
const Gfx dl_billboard_num_begin[] = {
|
const Gfx dl_billboard_num_begin[] = {
|
||||||
gsDPPipeSync(),
|
gsDPPipeSync(),
|
||||||
|
gsDPSetTextureFilter(G_TF_POINT),
|
||||||
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
|
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
|
||||||
gsSPClearGeometryMode(G_LIGHTING),
|
gsSPClearGeometryMode(G_LIGHTING),
|
||||||
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, (G_TX_WRAP | G_TX_NOMIRROR), G_TX_NOMASK, G_TX_NOLOD, (G_TX_WRAP | G_TX_NOMIRROR), G_TX_NOMASK, G_TX_NOLOD),
|
gsDPSetTile(G_IM_FMT_RGBA, G_IM_SIZ_16b, 0, 0, G_TX_LOADTILE, 0, (G_TX_WRAP | G_TX_NOMIRROR), G_TX_NOMASK, G_TX_NOLOD, (G_TX_WRAP | G_TX_NOMIRROR), G_TX_NOMASK, G_TX_NOLOD),
|
||||||
@@ -2490,6 +2491,7 @@ const Gfx dl_billboard_num_end[] = {
|
|||||||
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
|
gsSP2Triangles( 0, 1, 2, 0x0, 0, 2, 3, 0x0),
|
||||||
gsSPTexture(0x8000, 0x8000, 0, G_TX_RENDERTILE, G_OFF),
|
gsSPTexture(0x8000, 0x8000, 0, G_TX_RENDERTILE, G_OFF),
|
||||||
gsDPPipeSync(),
|
gsDPPipeSync(),
|
||||||
|
gsDPSetTextureFilter(G_TF_BILERP),
|
||||||
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
gsDPSetCombineMode(G_CC_SHADE, G_CC_SHADE),
|
||||||
gsSPSetGeometryMode(G_LIGHTING),
|
gsSPSetGeometryMode(G_LIGHTING),
|
||||||
gsSPEndDisplayList(),
|
gsSPEndDisplayList(),
|
||||||
|
|||||||
@@ -143,7 +143,8 @@ const Gfx title_screen_bg_dl_face_easter_egg_end[] = {
|
|||||||
};
|
};
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(VERSION_SH)
|
// Not part of segment2, but define still covers same use case
|
||||||
|
#if (defined(COMPLETE_EN_US_SEGMENT2) && ENABLE_RUMBLE)
|
||||||
ALIGNED8 static const Texture title_texture_rumble_pak[] = {
|
ALIGNED8 static const Texture title_texture_rumble_pak[] = {
|
||||||
#include "textures/title_screen_bg/title_screen_bg.06648.rgba16.inc.c"
|
#include "textures/title_screen_bg/title_screen_bg.06648.rgba16.inc.c"
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -66,6 +66,7 @@
|
|||||||
#define BC_HH(a, b) (_SHIFTL(a, 16, 16) | _SHIFTL(b, 0, 16))
|
#define BC_HH(a, b) (_SHIFTL(a, 16, 16) | _SHIFTL(b, 0, 16))
|
||||||
#define BC_W(a) ((uintptr_t)(u32)(a))
|
#define BC_W(a) ((uintptr_t)(u32)(a))
|
||||||
#define BC_PTR(a) ((uintptr_t)(a))
|
#define BC_PTR(a) ((uintptr_t)(a))
|
||||||
|
#define BC_BPTR(a, b) (_SHIFTL(a, 24, 8) + OS_K0_TO_PHYSICAL(b))
|
||||||
|
|
||||||
enum BehaviorCommands {
|
enum BehaviorCommands {
|
||||||
/*0x00*/ BHV_CMD_BEGIN,
|
/*0x00*/ BHV_CMD_BEGIN,
|
||||||
@@ -180,8 +181,7 @@ enum BehaviorCommands {
|
|||||||
|
|
||||||
// Executes a native game function.
|
// Executes a native game function.
|
||||||
#define CALL_NATIVE(func) \
|
#define CALL_NATIVE(func) \
|
||||||
BC_B(BHV_CMD_CALL_NATIVE), \
|
BC_BPTR(BHV_CMD_CALL_NATIVE, func)
|
||||||
BC_PTR(func)
|
|
||||||
|
|
||||||
// Adds a float to the specified field.
|
// Adds a float to the specified field.
|
||||||
#define ADD_FLOAT(field, value) \
|
#define ADD_FLOAT(field, value) \
|
||||||
@@ -386,8 +386,7 @@ enum BehaviorCommands {
|
|||||||
|
|
||||||
// Spawns a water droplet with the given parameters.
|
// Spawns a water droplet with the given parameters.
|
||||||
#define SPAWN_WATER_DROPLET(dropletParams) \
|
#define SPAWN_WATER_DROPLET(dropletParams) \
|
||||||
BC_B(BHV_CMD_SPAWN_WATER_DROPLET), \
|
BC_BPTR(BHV_CMD_SPAWN_WATER_DROPLET, dropletParams)
|
||||||
BC_PTR(dropletParams)
|
|
||||||
|
|
||||||
|
|
||||||
const BehaviorScript bhvStarDoor[] = {
|
const BehaviorScript bhvStarDoor[] = {
|
||||||
@@ -2695,7 +2694,7 @@ const BehaviorScript bhvSushiShark[] = {
|
|||||||
|
|
||||||
const BehaviorScript bhvJrbSlidingBox[] = {
|
const BehaviorScript bhvJrbSlidingBox[] = {
|
||||||
BEGIN(OBJ_LIST_SURFACE),
|
BEGIN(OBJ_LIST_SURFACE),
|
||||||
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
|
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_NO_AUTO_DISPLACEMENT),
|
||||||
LOAD_COLLISION_DATA(jrb_seg7_collision_floating_box),
|
LOAD_COLLISION_DATA(jrb_seg7_collision_floating_box),
|
||||||
SET_HOME(),
|
SET_HOME(),
|
||||||
BEGIN_LOOP(),
|
BEGIN_LOOP(),
|
||||||
@@ -5438,11 +5437,7 @@ const BehaviorScript bhvTTCPendulum[] = {
|
|||||||
|
|
||||||
const BehaviorScript bhvTTCTreadmill[] = {
|
const BehaviorScript bhvTTCTreadmill[] = {
|
||||||
BEGIN(OBJ_LIST_SURFACE),
|
BEGIN(OBJ_LIST_SURFACE),
|
||||||
#ifdef PLATFORM_DISPLACEMENT_2
|
OR_INT(oFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_NO_AUTO_DISPLACEMENT)),
|
||||||
OR_INT(oFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_VELOCITY_PLATFORM)),
|
|
||||||
#else
|
|
||||||
OR_INT(oFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
|
|
||||||
#endif
|
|
||||||
SET_FLOAT(oCollisionDistance, 750),
|
SET_FLOAT(oCollisionDistance, 750),
|
||||||
CALL_NATIVE(bhv_ttc_treadmill_init),
|
CALL_NATIVE(bhv_ttc_treadmill_init),
|
||||||
DELAY(1),
|
DELAY(1),
|
||||||
@@ -5873,7 +5868,7 @@ const BehaviorScript bhvRacingPenguin[] = {
|
|||||||
OR_INT(oFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
|
OR_INT(oFlags, (OBJ_FLAG_COMPUTE_ANGLE_TO_MARIO | OBJ_FLAG_ACTIVE_FROM_AFAR | OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_SET_FACE_YAW_TO_MOVE_YAW | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE)),
|
||||||
LOAD_ANIMATIONS(oAnimations, penguin_seg5_anims_05008B74),
|
LOAD_ANIMATIONS(oAnimations, penguin_seg5_anims_05008B74),
|
||||||
ANIMATE(PENGUIN_ANIM_IDLE),
|
ANIMATE(PENGUIN_ANIM_IDLE),
|
||||||
SET_OBJ_PHYSICS(/*Wall hitbox radius*/ 300, /*Gravity*/ -800, /*Bounciness*/ -5, /*Drag strength*/ 0, /*Friction*/ 0, /*Buoyancy*/ 0, /*Unused*/ 0, 0),
|
SET_OBJ_PHYSICS(/*Wall hitbox radius*/ 200, /*Gravity*/ -800, /*Bounciness*/ -5, /*Drag strength*/ 0, /*Friction*/ 0, /*Buoyancy*/ 0, /*Unused*/ 0, 0),
|
||||||
SCALE(/*Unused*/ 0, /*Field*/ 400),
|
SCALE(/*Unused*/ 0, /*Field*/ 400),
|
||||||
CALL_NATIVE(bhv_racing_penguin_init),
|
CALL_NATIVE(bhv_racing_penguin_init),
|
||||||
BEGIN_LOOP(),
|
BEGIN_LOOP(),
|
||||||
|
|||||||
@@ -177,9 +177,15 @@ def main():
|
|||||||
# presence of the correct roms automatically
|
# presence of the correct roms automatically
|
||||||
|
|
||||||
# Make sure tools exist
|
# Make sure tools exist
|
||||||
subprocess.check_call(
|
tools = [ "n64graphics", "skyconv", "mio0", "aifc_decode" ]
|
||||||
["make", "-s", "-C", "tools/", "n64graphics", "skyconv", "mio0", "aifc_decode"]
|
if os.name == 'nt':
|
||||||
)
|
tools = [tool + ".exe" for tool in tools]
|
||||||
|
make = "mingw32-make"
|
||||||
|
else:
|
||||||
|
make = "make"
|
||||||
|
|
||||||
|
cmd = [make, "-s", "-C", "tools/"] + tools
|
||||||
|
subprocess.check_call(cmd)
|
||||||
|
|
||||||
# Go through the assets in roughly alphabetical order (but assets in the same
|
# Go through the assets in roughly alphabetical order (but assets in the same
|
||||||
# mio0 file still go together).
|
# mio0 file still go together).
|
||||||
|
|||||||
28
fast64.json
Normal file
28
fast64.json
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
{
|
||||||
|
"version": 1.0,
|
||||||
|
"autoLoad": true,
|
||||||
|
"microcode": "F3DEX2/LX2",
|
||||||
|
"rdpDefaults": {
|
||||||
|
"geometryMode": {
|
||||||
|
"zBuffer": true,
|
||||||
|
"shade": true,
|
||||||
|
"cullBack": true,
|
||||||
|
"lighting": true,
|
||||||
|
"shadeSmooth": true
|
||||||
|
},
|
||||||
|
"otherModeH": {
|
||||||
|
"textureConvert": "G_TC_FILT",
|
||||||
|
"textureFilter": "G_TF_BILERP",
|
||||||
|
"perspectiveCorrection": "G_TP_PERSP",
|
||||||
|
"pipelineMode": "G_PM_1PRIMITIVE"
|
||||||
|
},
|
||||||
|
"otherModeL": {},
|
||||||
|
"other": {}
|
||||||
|
},
|
||||||
|
"sm64": {
|
||||||
|
"refresh_version": "HackerSM64 2.3.0",
|
||||||
|
"compression_format": "yay0",
|
||||||
|
"force_extended_ram": false,
|
||||||
|
"matstack_fix": true
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -19,6 +19,10 @@
|
|||||||
#include "config/config_objects.h"
|
#include "config/config_objects.h"
|
||||||
#include "config/config_rom.h"
|
#include "config/config_rom.h"
|
||||||
|
|
||||||
|
// Local config - include a gitignore'd config file that's specific to just the user (if the file exists)
|
||||||
|
#if __has_include("config/config_local.h")
|
||||||
|
#include "config/config_local.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
/* WARNING: Compatibility safeguards - don't remove this file unless you know what you're doing */
|
// WARNING: Compatibility safeguards - don't remove this file unless you know what you're doing
|
||||||
#include "config/config_safeguards.h"
|
#include "config/config_safeguards.h"
|
||||||
|
|||||||
@@ -17,3 +17,9 @@
|
|||||||
* Skips the title/splash screen (Super Mario 64 logo).
|
* Skips the title/splash screen (Super Mario 64 logo).
|
||||||
*/
|
*/
|
||||||
// #define SKIP_TITLE_SCREEN
|
// #define SKIP_TITLE_SCREEN
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Skips the File Select screen
|
||||||
|
*/
|
||||||
|
// #define SKIP_FILE_SELECT
|
||||||
|
|
||||||
|
|||||||
@@ -14,6 +14,10 @@
|
|||||||
*/
|
*/
|
||||||
// #define DISABLE_ALL
|
// #define DISABLE_ALL
|
||||||
|
|
||||||
|
|
||||||
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Enables a comprehensive standalone profiler. Automatically enabled by PUPPYPRINT_DEBUG.
|
* Enables a comprehensive standalone profiler. Automatically enabled by PUPPYPRINT_DEBUG.
|
||||||
* If not using PUPPYPRINT_DEBUG, press L + D-Pad Up to toggle the profiler.
|
* If not using PUPPYPRINT_DEBUG, press L + D-Pad Up to toggle the profiler.
|
||||||
@@ -85,3 +89,8 @@
|
|||||||
* Forces a crash when the game starts. Useful for debugging the crash screen.
|
* Forces a crash when the game starts. Useful for debugging the crash screen.
|
||||||
*/
|
*/
|
||||||
// #define DEBUG_FORCE_CRASH_ON_BOOT
|
// #define DEBUG_FORCE_CRASH_ON_BOOT
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Intentionally crash the game whenever a runtime assertion fails (also invoked by the DEBUG define in the Makefile).
|
||||||
|
*/
|
||||||
|
#define DEBUG_ASSERTIONS
|
||||||
|
|||||||
@@ -71,7 +71,7 @@
|
|||||||
// #define DIALOG_INDICATOR
|
// #define DIALOG_INDICATOR
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Include the English characters that were missing from US segment2
|
* Include the English characters that were missing from US segment2 and the rumble pak texture if using rumble.
|
||||||
* J, Q, V, X, Z, ¨, !, !!, ?, &, %, ., and the beta key.
|
* J, Q, V, X, Z, ¨, !, !!, ?, &, %, ., and the beta key.
|
||||||
* [MAKE SURE TO INCLUDE EU AND JP/SH BASEROMS IN THE REPO TO OBTAIN THE ASSETS]
|
* [MAKE SURE TO INCLUDE EU AND JP/SH BASEROMS IN THE REPO TO OBTAIN THE ASSETS]
|
||||||
* If this is disabled, backup assets will be used.
|
* If this is disabled, backup assets will be used.
|
||||||
|
|||||||
@@ -60,12 +60,12 @@
|
|||||||
/**
|
/**
|
||||||
* Makes the coins ia8 64x64 instead of ia16 32x32. Uses new ia8 textures so that vanilla coins look better.
|
* Makes the coins ia8 64x64 instead of ia16 32x32. Uses new ia8 textures so that vanilla coins look better.
|
||||||
*/
|
*/
|
||||||
#define IA8_COINS
|
// #define IA8_COINS
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Similar to the above, but 30 FPS (Textures by InTheBeef, cleaned up by Arceveti).
|
* Similar to the above, but 30 FPS (Textures by InTheBeef, cleaned up by Arceveti).
|
||||||
*/
|
*/
|
||||||
#define IA8_30FPS_COINS
|
// #define IA8_30FPS_COINS
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Use .rej microcode for certain objects (experimental - only should be used when F3DEX_GBI_2 is defined).
|
* Use .rej microcode for certain objects (experimental - only should be used when F3DEX_GBI_2 is defined).
|
||||||
@@ -141,9 +141,10 @@
|
|||||||
#define DEFAULT_CULLING_RADIUS 300
|
#define DEFAULT_CULLING_RADIUS 300
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Eases the textured screen transitions to make them look smoother.
|
* Eases the textured screen transitions to make them look smoother.
|
||||||
|
* Extends the full radius for mario, bowser and the star transitions.
|
||||||
*/
|
*/
|
||||||
#define EASE_IN_OUT_TRANSITIONS
|
// #define POLISHED_TRANSITIONS
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Uses frustratio of 2 instead of 1.
|
* Uses frustratio of 2 instead of 1.
|
||||||
|
|||||||
@@ -14,7 +14,7 @@
|
|||||||
/**
|
/**
|
||||||
* Decides whether you can exit course while moving (has no effect if you disable Exit Course).
|
* Decides whether you can exit course while moving (has no effect if you disable Exit Course).
|
||||||
*/
|
*/
|
||||||
#define EXIT_COURSE_WHILE_MOVING
|
// #define EXIT_COURSE_WHILE_MOVING
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Decides whether to treat exiting course as if the player had died.
|
* Decides whether to treat exiting course as if the player had died.
|
||||||
|
|||||||
@@ -26,12 +26,12 @@
|
|||||||
* - Precise turning control.
|
* - Precise turning control.
|
||||||
* - Prevents falling from the edges.
|
* - Prevents falling from the edges.
|
||||||
*/
|
*/
|
||||||
#define BETTER_HANGING
|
// #define BETTER_HANGING
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Change the movement speed when hanging from a ceiling (the vanilla value is 4.0f, has no effect if BETTER_HANGING is enabled).
|
* Change the movement speed when hanging from a ceiling (the vanilla value is 4.0f, has no effect if BETTER_HANGING is enabled).
|
||||||
*/
|
*/
|
||||||
#define HANGING_SPEED 12.0f
|
#define HANGING_SPEED 4.0f
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Prevents Mario from falling asleep while idle.
|
* Prevents Mario from falling asleep while idle.
|
||||||
@@ -81,12 +81,12 @@
|
|||||||
/**
|
/**
|
||||||
* If A and Z are pressed on the same frame while running, Mario will long jump instead of ground pound.
|
* If A and Z are pressed on the same frame while running, Mario will long jump instead of ground pound.
|
||||||
*/
|
*/
|
||||||
#define EASIER_LONG_JUMPS
|
// #define EASIER_LONG_JUMPS
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Enables the ability to hold Z while twirling to descend faster.
|
* Enables the ability to hold Z while twirling to descend faster.
|
||||||
*/
|
*/
|
||||||
#define Z_TWIRL
|
// #define Z_TWIRL
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Disables bonks when ground pounding next to a wall.
|
* Disables bonks when ground pounding next to a wall.
|
||||||
@@ -101,7 +101,7 @@
|
|||||||
/**
|
/**
|
||||||
* Allows Mario to grab hangable ceilings from any state.
|
* Allows Mario to grab hangable ceilings from any state.
|
||||||
*/
|
*/
|
||||||
#define HANGING_FIX
|
// #define HANGING_FIX
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The maximum angle the player can wall kick, in degrees. 0..90. To allow 45 degree wall kicks, you must supply `46` to allow 45 and under.
|
* The maximum angle the player can wall kick, in degrees. 0..90. To allow 45 degree wall kicks, you must supply `46` to allow 45 and under.
|
||||||
@@ -113,6 +113,11 @@
|
|||||||
*/
|
*/
|
||||||
#define DONT_LEDGE_GRAB_STEEP_SLOPES
|
#define DONT_LEDGE_GRAB_STEEP_SLOPES
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Buffers an A input if you jump off a slope during the landing lag
|
||||||
|
*/
|
||||||
|
// #define SLOPE_BUFFER
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Disables BLJs and crushes SimpleFlips's dreams.
|
* Disables BLJs and crushes SimpleFlips's dreams.
|
||||||
*/
|
*/
|
||||||
@@ -129,16 +134,10 @@
|
|||||||
* be interrupted with text
|
* be interrupted with text
|
||||||
* Uncomment this to fix this bug, and frustrate speedrunners
|
* Uncomment this to fix this bug, and frustrate speedrunners
|
||||||
*/
|
*/
|
||||||
// #define BUGFIX_DIALOG_TIME_STOP
|
#define BUGFIX_DIALOG_TIME_STOP
|
||||||
|
|
||||||
/**
|
|
||||||
* Enables Platform Displacement 2, an upgrade to the physics involving moving platforms and how Mario interacts with them.
|
|
||||||
*/
|
|
||||||
#define PLATFORM_DISPLACEMENT_2
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Inertia defines; allow Mario to preserve his momemtum when leaving moving platforms.
|
* Inertia defines; allow Mario to preserve his momemtum when leaving moving platforms.
|
||||||
* These require Platform Displacement 2 to be enabled.
|
|
||||||
*/
|
*/
|
||||||
#define MARIO_INERTIA_UPWARD
|
#define MARIO_INERTIA_UPWARD
|
||||||
// #define MARIO_INERTIA_LATERAL
|
// #define MARIO_INERTIA_LATERAL
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user