Compare commits

..

86 Commits

Author SHA1 Message Date
arthurtilly
8e794c98a6 Merge branch 'develop/3.0.0' of https://github.com/HackerN64/HackerSM64 into develop/2.1.0-ascii 2024-03-19 09:45:29 +13:00
arthurtilly
accd6cf2b8 fix build 2024-03-19 09:19:36 +13:00
arthurtilly
2d3ffbbb99 Revert "Add Latin American Spanish support (#577)"
This reverts commit f5138796aa.
2024-03-19 09:18:52 +13:00
Gregory Heskett
14140887dd Merge pull request #773 from HackerN64/merge-2.2.0-into-3.0.0
Merge 2.2.0 into 3.0.0
2024-03-02 11:07:12 -05:00
Gregory Heskett
d29a552813 Merge branch 'master' into merge-2.2.0-into-3.0.0 2024-03-02 10:43:33 -05:00
Gregory Heskett
4af18b6fc9 Merge pull request #758 from HackerN64/master
Merge HackerSM64 2.1.3 release into 3.0.0
2024-01-31 01:23:26 -05:00
Gregory Heskett
14016271d5 Add control command format for dialog strings (#732)
* Add control command format for dialog strings
* Add set_text_color functions
2023-12-10 02:00:20 -05:00
arthurtilly
db2a739b8a Remove macro objects and free up bparam3 (#558)
* BoB, WF, JRB, CCM

* HMC and LLL

* SSL

* DDD to RR

* bowser courses

* overworld

* all stages done

* remove macro object code

* fix bparam3 and respawn info

* rename script_func_locals to be unique

* Remove level_misc_macros

* formatting changes :)

* added some enums for respawn info

---------

Co-authored-by: Arceveti <arceveti@gmail.com>
2023-11-28 15:36:33 -05:00
Arceveti
9ac34c716e Fix build when MULTILANG is disabled + Clean up ifdefs in gLanguageTables 2023-02-11 13:15:00 -05:00
Arceveti
ec7d3f9d92 DEFINE_LANGUAGE_ARRAY formatting fix 2023-02-10 21:40:36 -05:00
Arceveti
06baddbd8f Add LanguageTables struct 2023-02-10 19:08:42 -05:00
Arceveti
becbbcd7a9 Fix DEFINE_LANGUAGE_ARRAY + saved language failsafe 2023-02-10 19:01:55 -05:00
Reonu
f5138796aa Add Latin American Spanish support (#577) 2023-02-05 21:06:32 +01:00
Reonu
6a27545a24 Add Spanish translation 🇪🇸 (#552)
Adds a custom Spanish translation into the game (translation made by me)
2023-01-09 19:53:33 +00:00
Arceveti
4cd22cc615 Account for overscan with aspect ratio text (part 2) 2022-12-16 17:44:41 -05:00
Reonu
3006b54729 Account for overscan with aspect ratio text
Co-authored-by: Arceveti <73617174+Arceveti@users.noreply.github.com>
2022-12-16 22:18:42 +01:00
arthurtilly
ff1e8e9d0a quick clean 2022-12-08 15:58:41 +13:00
arthurtilly
a7b6966326 added proper multiline centering for generic font 2022-12-08 15:53:24 +13:00
arthurtilly
060ad08534 fix typos 2022-12-08 14:37:43 +13:00
arthurtilly
b82a23bb71 Address Arctic's review comments + some cleanup 2022-12-08 00:37:33 +13:00
arthurtilly
925a0f6b42 french accents now accurate thanks to biobak 2022-12-05 13:32:51 +13:00
arthurtilly
d5715288ef change bitfield 2022-12-05 03:17:48 +13:00
arthurtilly
3291f8e5d8 Add language menu opening on boot + comment for utf8 additions 2022-12-04 23:15:27 +13:00
arthurtilly
9c0973bd91 Merge branch 'develop/2.1.0' of https://github.com/HackerN64/HackerSM64 into develop/2.1.0-ascii 2022-12-04 22:39:26 +13:00
arthurtilly
b613216190 removed reonucam lol 2022-12-04 22:38:03 +13:00
arthurtilly
8880155348 Added inverted ! and ? marks 2022-12-04 22:33:26 +13:00
arthurtilly
d38a547c50 some cleanup and comments + bonus characters 2022-12-04 19:34:46 +13:00
arthurtilly
cc7717452a Fix compiler warnings 2022-12-04 16:27:46 +13:00
arthurtilly
73f472f920 Rename macros to have better names 2022-12-04 16:07:36 +13:00
arthurtilly
39534d11b5 Make some text more accurate to og versions 2022-12-04 16:03:40 +13:00
arthurtilly
d4c1c3d926 Add unique missing character glyphs 2022-12-04 14:38:29 +13:00
arthurtilly
644261add4 godammit i fucked up the git 2022-12-04 14:27:38 +13:00
arthurtilly
7e54895596 Add color codes and string formatting to text 2022-12-04 14:23:59 +13:00
arthurtilly
d08985697d Add color codes and string formatting to text 2022-12-04 14:17:03 +13:00
arthurtilly
2c45eb8612 Added diacritics to menu font 2022-12-02 13:31:27 +13:00
arthurtilly
7f06ef4de2 add japanese number formatting and dialog var, general cleanup 2022-12-01 18:08:48 +13:00
arthurtilly
cff7b4c8e4 add japanese clown font 2022-11-27 11:38:45 +13:00
arthurtilly
67dca9c174 Add awesome language selector 2022-11-26 12:40:30 +13:00
arthurtilly
b987ef0941 Add proper defines in config 2022-11-26 11:45:41 +13:00
arthurtilly
9dda77bbba Added japanese menu font 2022-11-25 19:16:17 +13:00
arthurtilly
7b565fd9c6 combine rendering functions for dialog and generic strings 2022-10-30 08:32:32 +13:00
arthurtilly
003e22ee1a remove 3 character numbers on course names 2022-10-29 12:17:57 +13:00
arthurtilly
21eb8a857c added JP translation and some jp fixes 2022-10-17 02:33:09 +13:00
arthurtilly
dcc4fb4736 added jp characters to generic text 2022-10-16 21:42:03 +13:00
arthurtilly
c4e65e85f4 working multilang, destroyed textconv 2022-10-07 18:08:58 +13:00
arthurtilly
be717b43d9 beginning of multilang suffering (doesn't build yet) 2022-10-06 20:15:09 +13:00
arthurtilly
afb3171ce1 some cleanup 2022-10-03 16:23:00 +13:00
arthurtilly
81f4492509 multilang type stuff 2022-10-03 14:54:09 +13:00
arthurtilly
1f932c07c8 Merge branch 'develop/2.1.0' of https://github.com/HackerN64/HackerSM64 into develop/2.1.0-ascii 2022-10-03 13:49:21 +13:00
arthurtilly
7c2ed24d82 Act select menu 2022-10-03 13:49:07 +13:00
arthurtilly
51f25743b9 clean up ingame_menu.c 2022-09-30 19:13:21 +13:00
arthurtilly
00a284c03f score menu finished now i think 2022-09-28 13:53:57 +13:00
arthurtilly
2326b93252 more file select 2022-09-27 18:48:02 +13:00
arthurtilly
9f91aef9c1 start centering file select 2022-09-27 18:24:33 +13:00
arthurtilly
5ede12dd7b Merge branch 'develop/2.1.0' of https://github.com/HackerN64/HackerSM64 into develop/2.1.0-ascii 2022-09-27 16:00:44 +13:00
arthurtilly
0b2d7c6eac get rid of all of text_strings.h 2022-09-27 15:58:38 +13:00
arthurtilly
bf02836593 All accented characters 2022-07-17 17:16:25 +12:00
arthurtilly
20634b17c2 funny floombA 2022-07-17 13:37:38 +12:00
arthurtilly
eb4db98792 Added 4 byte support and also missing character defaults 2022-07-16 23:10:42 +12:00
Axollyon
7efdcb0a11 apparently u don't need "custom" in asset names 2022-07-16 02:26:20 -04:00
Axollyon
915c12bb8a why has god forsaken us 2022-07-16 02:23:04 -04:00
arthurtilly
fb01e4861c Added diacritic support and cleaned up stuff 2022-07-16 16:47:45 +12:00
arthurtilly
c230e8a34b add double exclamation mark 2022-07-16 14:40:00 +12:00
arthurtilly
d63fe92ba6 Added more utf8 characters 2022-07-16 02:02:42 +12:00
arthurtilly
b4b212dc91 Replace ugly placeholder glyphs with real ones 2022-07-15 21:11:13 +12:00
arthurtilly
80dcf30d51 more cleanup and hud stuff 2022-07-15 18:13:38 +12:00
arthurtilly
0ed866632c WHY DID I COMMIT BEFORE CHECKING IF IT BUILDS 2022-07-14 14:22:05 +12:00
arthurtilly
f67339c0e6 Cleaned up act select code and some more text strings 2022-07-14 14:11:52 +12:00
arthurtilly
910a3dba7e convert remaining hud stuff 2022-07-13 19:31:22 +12:00
arthurtilly
83ae58f656 add funny controller button characters 2022-07-10 21:56:37 +12:00
arthurtilly
eeb51f9918 Add funny left right arrow 2022-07-10 21:29:47 +12:00
arthurtilly
da6a4b0297 more ingame_menu conversion 2022-07-10 21:24:31 +12:00
arthurtilly
ea404967da Merge branch 'develop/2.1.0-ascii' of https://github.com/HackerN64/HackerSM64 into develop/2.1.0-ascii 2022-07-10 20:50:55 +12:00
arthurtilly
e10ae1b000 make unicode stuff more general 2022-07-10 20:50:52 +12:00
Axollyon
8d07b2e41d don't play voice if unused member was left as 1 2022-07-08 21:12:04 -04:00
Axollyon
0e775ebd1b Set language to English 2022-07-08 20:57:52 -04:00
Axollyon
2fdfcd563e Move dialog voice SFX to the dialog entry struct 2022-07-08 20:50:39 -04:00
arthurtilly
b01f22d920 utf8 support and some things converted 2022-07-09 10:12:19 +12:00
Axollyon
aae309ad66 credits text ascii 2022-07-08 04:42:33 -04:00
Axollyon
476bbb1a42 menu text ascii, plus remove some ascii conv funcs 2022-07-08 04:20:02 -04:00
Axollyon
cdf22e45e7 why not 2022-07-08 03:41:32 -04:00
Axollyon
ba423e75ef ASCII part of the HUD text 2022-07-08 03:31:09 -04:00
Axollyon
0405a756cb forgot to remove a comment 2022-07-08 01:55:43 -04:00
Axollyon
22c4b9093b Give the hyphen and colon their proper names 2022-07-08 01:55:13 -04:00
Axollyon
9def0428c9 Add missed chars to main_font_lut 2022-07-08 01:46:57 -04:00
arthurtilly
e38ae6e489 initial stuff 2022-07-08 16:57:04 +12:00
375 changed files with 11457 additions and 14273 deletions

3
.gitignore vendored
View File

@@ -2149,6 +2149,3 @@ lib/libs2d_engine.a
# :Zone_Identifier files
*Zone.Identifier
# user-specific config file
include/config/config_local.h

View File

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

View File

@@ -2,7 +2,9 @@
# 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 @gheskett @arthurtilly
* @Reonu
* @thecozies
* @gheskett
# Order is important. The last matching pattern has the most precedence.
# So if a pull request only touches javascript files, only these owners

152
Makefile
View File

@@ -265,20 +265,11 @@ ifeq ($(LIBPL),1)
SRC_DIRS += $(LIBPL_DIR)
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 is the location where all build artifacts are placed
BUILD_DIR := $(BUILD_DIR_BASE)/$(VERSION)_$(CONSOLE)
COMPRESS ?= yay0
COMPRESS ?= rnc1
$(eval $(call validate-option,COMPRESS,mio0 yay0 gzip rnc1 rnc2 uncomp))
ifeq ($(COMPRESS),gzip)
DEFINES += GZIP=1
@@ -408,9 +399,6 @@ 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/*)
@@ -453,12 +441,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 ifneq ($(call find-command,mips-suse-linux-ld ),)
CROSS := mips-suse-linux-
else
$(error Unable to detect a suitable MIPS toolchain installed)
endif
@@ -475,10 +459,6 @@ ifeq ($(COMPILER),gcc)
CXX := $(CROSS)g++
$(BUILD_DIR)/actors/%.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)
CC := clang
CXX := clang++
@@ -519,25 +499,17 @@ C_DEFINES := $(foreach d,$(DEFINES),-D$(d))
DEF_INC_CFLAGS := $(foreach i,$(INCLUDE_DIRS),-I$(i)) $(C_DEFINES)
# C compiler options
CFLAGS = $(OPT_FLAGS) $(TARGET_CFLAGS) $(MIPSISET) $(DEF_INC_CFLAGS)
CFLAGS = -G 0 $(OPT_FLAGS) $(TARGET_CFLAGS) $(MIPSISET) $(DEF_INC_CFLAGS)
ifeq ($(COMPILER),gcc)
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 += -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 += -Wno-missing-braces
else ifeq ($(COMPILER),clang)
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 += -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 += -Wno-missing-braces
else
CFLAGS += -non_shared -Wab,-r4300_mul -Xcpluscomm -Xfullwarn -signed -32
endif
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
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
ASFLAGS := -march=vr4300 -mabi=32 $(foreach i,$(INCLUDE_DIRS),-I$(i)) $(foreach d,$(DEFINES),--defsym $(d))
RSPASMFLAGS := $(foreach d,$(DEFINES),-definelabel $(subst =, ,$(d)))
@@ -558,7 +530,6 @@ N64CKSUM := $(TOOLS_DIR)/n64cksum
N64GRAPHICS := $(TOOLS_DIR)/n64graphics
N64GRAPHICS_CI := $(TOOLS_DIR)/n64graphics_ci
BINPNG := $(TOOLS_DIR)/BinPNG.py
TEXTCONV := $(TOOLS_DIR)/textconv
AIFF_EXTRACT_CODEBOOK := $(TOOLS_DIR)/aiff_extract_codebook
VADPCM_ENC := $(TOOLS_DIR)/vadpcm_enc
EXTRACT_DATA_FOR_MIO := $(TOOLS_DIR)/extract_data_for_mio
@@ -576,28 +547,13 @@ ifneq (,$(call find-command,armips))
else
RSPASM := $(TOOLS_DIR)/armips
endif
ifneq (,$(call find-command,wslview))
EMULATOR = "/mnt/c/Program Files (x86)/parallel-launcher/parallel-launcher.exe"
else
EMULATOR = parallel-launcher
endif
EMULATOR = mupen64plus
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))
LOADER_EXEC = $(LOADER_DIR)/UNFLoader.exe
LOADER = ./$(TOOLS_DIR)/UNFLoader.exe
else
LOADER_EXEC = $(LOADER_DIR)/UNFLoader
LOADER = ./$(TOOLS_DIR)/UNFLoader
endif
SHA1SUM = sha1sum
@@ -614,7 +570,7 @@ endif
# For non-IDO, use objcopy instead of extract_data_for_mio
ifneq ($(COMPILER),ido)
EXTRACT_DATA_FOR_MIO := $(OBJCOPY) -O binary --only-section=.data
EXTRACT_DATA_FOR_MIO := $(OBJCOPY) -O binary --only-section=.data --only-section=.rodata
endif
# Common build print status function
@@ -653,17 +609,17 @@ test-pj64: $(ROM)
# someone2639
# download and extract most recent unfloader build if needed
$(LOADER_EXEC):
ifeq (,$(wildcard $(LOADER_EXEC)))
$(LOADER):
ifeq (,$(wildcard $(LOADER)))
@$(PRINT) "Downloading latest UNFLoader...$(NO_COL)\n"
$(PYTHON) $(TOOLS_DIR)/get_latest_unfloader.py $(LOADER_DIR)
$(PYTHON) $(TOOLS_DIR)/get_latest_unfloader.py $(TOOLS_DIR)
endif
load: $(ROM) $(LOADER_EXEC)
$(LOADER_EXEC) -r $<
load: $(ROM) $(LOADER)
$(LOADER) -r $<
unf: $(ROM) $(LOADER_EXEC)
$(LOADER_EXEC) -d -r $<
unf: $(ROM) $(LOADER)
$(LOADER) -d -r $<
libultra: $(BUILD_DIR)/libultra.a
@@ -689,41 +645,13 @@ $(BUILD_DIR)/src/libz/%.o: OPT_FLAGS := -Os
$(BUILD_DIR)/src/libz/%.o: CFLAGS += -Wno-implicit-fallthrough -Wno-unused-parameter -Wno-pointer-sign
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: 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: CFLAGS += -Wno-unused-parameter -Wno-maybe-uninitialized
# File specific opt flags
ifeq ($(SDATA),1)
$(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/audio/heap.o: OPT_FLAGS := -Os -fno-jump-tables
$(BUILD_DIR)/src/audio/synthesis.o: OPT_FLAGS := -Os -fno-jump-tables
$(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)
@@ -734,17 +662,11 @@ $(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) $(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)
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)
# Make sure build directory exists before compiling anything
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
#==============================================================================#
@@ -817,7 +739,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,$^),$@)
@@ -871,20 +793,6 @@ $(BUILD_DIR)/assets/demo_data.c: assets/demo_data.json $(wildcard assets/demos/*
@$(PRINT) "$(GREEN)Generating demo data $(NO_COL)\n"
$(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
$(BUILD_DIR)/include/level_headers.h: levels/level_headers.h.in
$(call print,Preprocessing level headers:,$<,$@)
@@ -905,23 +813,9 @@ ifeq ($(FIXLIGHTS),1)
DUMMY != $(PYTHON) $(FIXLIGHTS_PY) actors
DUMMY != $(PYTHON) $(FIXLIGHTS_PY) levels
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
$(call print,Compiling:,$<,$@)
$(V)$(CC) -c $(CFLAGS) -MMD -MF $(BUILD_DIR)/$*.d -o $@ $<
endif
$(BUILD_DIR)/%.o: %.cpp
$(call print,Compiling (C++):,$<,$@)
$(V)$(CXX) -c $(CFLAGS) -std=c++17 -Wno-register -MMD -MF $(BUILD_DIR)/$*.d -o $@ $<
@@ -975,7 +869,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
$(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
# Build ROM
ifeq (n,$(findstring n,$(firstword -$(MAKEFLAGS))))

View File

@@ -243,9 +243,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/eu/translation_de.elf: SEGMENT_ADDRESS := 0x19000000
$(BUILD_DIR)/bin/eu/translation_en.elf: SEGMENT_ADDRESS := 0x19000000
$(BUILD_DIR)/bin/eu/translation_fr.elf: SEGMENT_ADDRESS := 0x19000000
$(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
# --------------------------------------
# Skybox Rules

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
- **aglab2**: Bugfixes (particularly puppycam), refactor stuff
- **someone2639**: math.s and crash screen disam, stack trace, map packing, shiftable segments 2, S2DEX engine
- **Arthurtilly**: Platform Displacement 2
- **Arthurtilly**: ASCII / UTF-8 support, Multilang, Platform Displacement 2
- **Fazana**: PuppyLib, ucode swapping, audio load time optimisations (with Arctic), general hacker qol improvements, visual debug
- **Reonu**: Starting the project/repo, widescreen, reonucam, various defines for hacker QoL
- **Reonu**: Starting the project + widescreen, reonucam, various defines for hacker QoL, and a custom Spanish (Spain) translation of the game.
- **JoshDuMan**: Decomp guy, general assistance
- **Arceveti**: Silhouette, shadow optimisation, better hanging, breath meter, 4 controller support
- **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. *
- 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.
- Colored ia4 text support. Format: `"@XXXXXXXX[YOUR TEXT]@--------"` (By ArcticJaguar725)
- Example Text: `"@FF0000FFRED @00FF00FFGREEN @0000FFFFBLUE @FFFFFF00INVISIBLE @--------NORMAL"`
- 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.
- Colored ia4 text support. Format: `"@XXXXXX[YOUR TEXT]@--------"` (By Arthurtilly)
- Example Text: `"@FF0000RED @00FF00GREEN @0000FFBLUE @FFFFFFWHITE"`
- 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.
- 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. *

View File

@@ -1 +1 @@
v2.3.0
v2.2.0

View File

@@ -1,18 +0,0 @@
#ifdef SDATA
// assembler directives
.set noat // allow manual use of $at
.set noreorder // don't insert nops after branches
.set gp=64
#include "macros.inc"
.section .text, "ax"
glabel setgp
lui $gp, %hi(_gp)
jr $ra
addiu $gp, %lo(_gp)
#endif

View File

@@ -1,15 +0,0 @@
// SM64 (EU) Segment 19 - Deutsch
#include "macros.h"
#include "game/ingame_menu.h"
#include "make_const_nonconst.h"
// Include text/define_text.inc.c, preprocessed with -I text/de/ to get the
// right translation strings, with symbols renamed as below.
#define seg2_course_name_table course_name_table_eu_de
#define seg2_act_name_table act_name_table_eu_de
#define seg2_dialog_table dialog_table_eu_de
#include "text/de/define_text.inc.c"

View File

@@ -1,15 +0,0 @@
// SM64 (EU) Segment 19 - English
#include "macros.h"
#include "game/ingame_menu.h"
#include "make_const_nonconst.h"
// Include text/define_text.inc.c, preprocessed with -I text/us/ to get the
// right translation strings, with symbols renamed as below.
#define seg2_course_name_table course_name_table_eu_en
#define seg2_act_name_table act_name_table_eu_en
#define seg2_dialog_table dialog_table_eu_en
#include "text/us/define_text.inc.c"

View File

@@ -1,15 +0,0 @@
// SM64 (EU) Segment 19 - Français
#include "macros.h"
#include "game/ingame_menu.h"
#include "make_const_nonconst.h"
// Include text/define_text.inc.c, preprocessed with -I text/fr/ to get the
// right translation strings, with symbols renamed as below.
#define seg2_course_name_table course_name_table_eu_fr
#define seg2_act_name_table act_name_table_eu_fr
#define seg2_dialog_table dialog_table_eu_fr
#include "text/fr/define_text.inc.c"

File diff suppressed because it is too large Load Diff

17
bin/translation_de.c Normal file
View File

@@ -0,0 +1,17 @@
// SM64 (EU) Segment 19 - Deutsch
#include "macros.h"
#include "game/ingame_menu.h"
#include "sounds.h"
#include "seq_ids.h"
#define COURSE_NAME_TABLE course_name_table_de
#define ACT_NAME_TABLE act_name_table_de
#define DIALOG_TABLE dialog_table_de
#define DIALOG_FILE "de/dialogs.h"
#define COURSE_FILE "de/courses.h"
#include "text/define_text.inc.c"
#undef DIALOG_FILE
#undef COURSE_FILE

17
bin/translation_en.c Normal file
View File

@@ -0,0 +1,17 @@
// SM64 (EU) Segment 19 - English
#include "macros.h"
#include "game/ingame_menu.h"
#include "sounds.h"
#include "seq_ids.h"
#define COURSE_NAME_TABLE course_name_table_en
#define ACT_NAME_TABLE act_name_table_en
#define DIALOG_TABLE dialog_table_en
#define DIALOG_FILE "us/dialogs.h"
#define COURSE_FILE "us/courses.h"
#include "text/define_text.inc.c"
#undef DIALOG_FILE
#undef COURSE_FILE

17
bin/translation_es.c Normal file
View File

@@ -0,0 +1,17 @@
// SM64 (EU) Segment 19 - Español (España) (Not vanilla: Translation created and added by Reonu)
#include "macros.h"
#include "game/ingame_menu.h"
#include "sounds.h"
#include "seq_ids.h"
#define COURSE_NAME_TABLE course_name_table_es
#define ACT_NAME_TABLE act_name_table_es
#define DIALOG_TABLE dialog_table_es
#define DIALOG_FILE "es/dialogs.h"
#define COURSE_FILE "es/courses.h"
#include "text/define_text.inc.c"
#undef DIALOG_FILE
#undef COURSE_FILE

17
bin/translation_fr.c Normal file
View File

@@ -0,0 +1,17 @@
// SM64 (EU) Segment 19 - Français
#include "macros.h"
#include "game/ingame_menu.h"
#include "sounds.h"
#include "seq_ids.h"
#define COURSE_NAME_TABLE course_name_table_fr
#define ACT_NAME_TABLE act_name_table_fr
#define DIALOG_TABLE dialog_table_fr
#define DIALOG_FILE "fr/dialogs.h"
#define COURSE_FILE "fr/courses.h"
#include "text/define_text.inc.c"
#undef DIALOG_FILE
#undef COURSE_FILE

17
bin/translation_jp.c Normal file
View File

@@ -0,0 +1,17 @@
// SM64 (EU) Segment 19 - 日本語 (Japanese)
#include "macros.h"
#include "game/ingame_menu.h"
#include "sounds.h"
#include "seq_ids.h"
#define COURSE_NAME_TABLE course_name_table_jp
#define ACT_NAME_TABLE act_name_table_jp
#define DIALOG_TABLE dialog_table_jp
#define DIALOG_FILE "jp/dialogs.h"
#define COURSE_FILE "jp/courses.h"
#include "text/define_text.inc.c"
#undef DIALOG_FILE
#undef COURSE_FILE

View File

@@ -1,357 +0,0 @@
'0' = 0x00
'' = 0x00
'1' = 0x01
'' = 0x01
'2' = 0x02
'' = 0x02
'3' = 0x03
'' = 0x03
'4' = 0x04
'' = 0x04
'5' = 0x05
'' = 0x05
'6' = 0x06
'' = 0x06
'7' = 0x07
'' = 0x07
'8' = 0x08
'' = 0x08
'9' = 0x09
'' = 0x09
'A' = 0x0A
'' = 0x0A
'B' = 0x0B
'' = 0x0B
'C' = 0x0C
'' = 0x0C
'D' = 0x0D
'' = 0x0D
'E' = 0x0E
'' = 0x0E
'F' = 0x0F
'' = 0x0F
'G' = 0x10
'' = 0x10
'H' = 0x11
'' = 0x11
'I' = 0x12
'' = 0x12
'J' = 0x13
'' = 0x13
'K' = 0x14
'' = 0x14
'L' = 0x15
'' = 0x15
'M' = 0x16
'' = 0x16
'N' = 0x17
'' = 0x17
'O' = 0x18
'' = 0x18
'P' = 0x19
'' = 0x19
'Q' = 0x1A
'' = 0x1A
'R' = 0x1B
'' = 0x1B
'S' = 0x1C
'' = 0x1C
'T' = 0x1D
'' = 0x1D
'U' = 0x1E
'' = 0x1E
'V' = 0x1F
'' = 0x1F
'W' = 0x20
'' = 0x20
'X' = 0x21
'' = 0x21
'Y' = 0x22
'' = 0x22
'Z' = 0x23
'' = 0x23
'a' = 0x24
'b' = 0x25
'c' = 0x26
'd' = 0x27
'e' = 0x28
'f' = 0x29
'g' = 0x2A
'h' = 0x2B
'i' = 0x2C
'j' = 0x2D
'k' = 0x2E
'l' = 0x2F
'm' = 0x30
'n' = 0x31
'o' = 0x32
'p' = 0x33
'q' = 0x34
'r' = 0x35
's' = 0x36
't' = 0x37
'u' = 0x38
'v' = 0x39
'w' = 0x3A
'x' = 0x3B
'y' = 0x3C
'z' = 0x3D
'\'' = 0x3E
'.' = 0x3F
# Mario face US/EU menu string (Note: NOT multi-text, each char has a part of the face)
'☺' = 0x40, 0x41
'あ' = 0x40
'い' = 0x41
'う' = 0x42
'え' = 0x43
'お' = 0x44
'か' = 0x45
'き' = 0x46
'く' = 0x47
'け' = 0x48
'こ' = 0x49
'さ' = 0x4A
'し' = 0x4B
'す' = 0x4C
'せ' = 0x4D
'そ' = 0x4E
'た' = 0x4F
'ち' = 0x50
'つ' = 0x51
'て' = 0x52
'と' = 0x53
'な' = 0x54
'に' = 0x55
'ぬ' = 0x56
'ね' = 0x57
'の' = 0x58
'は' = 0x59
'ひ' = 0x5A
'ふ' = 0x5B
'へ' = 0x5C
'ほ' = 0x5D
'ま' = 0x5E
'み' = 0x5F
'む' = 0x60
'め' = 0x61
'も' = 0x62
'や' = 0x63
'ゆ' = 0x64
'よ' = 0x65
'ら' = 0x66
'り' = 0x67
'る' = 0x68
'れ' = 0x69
'ろ' = 0x6A
'わ' = 0x6B
'を' = 0x6C
'ん' = 0x6D
'。' = 0x6E
',' = 0x6F
'、' = 0x6F
'ア' = 0x70
'イ' = 0x71
'ウ' = 0x72
'エ' = 0x73
'オ' = 0x74
'カ' = 0x75
'キ' = 0x76
'ク' = 0x77
'ケ' = 0x78
'コ' = 0x79
'サ' = 0x7A
'シ' = 0x7B
'ス' = 0x7C
'セ' = 0x7D
'ソ' = 0x7E
'タ' = 0x7F
'チ' = 0x80
'ツ' = 0x81
'テ' = 0x82
'ト' = 0x83
'ナ' = 0x84
'ニ' = 0x85
'ヌ' = 0x86
'ネ' = 0x87
'' = 0x88
'ハ' = 0x89
'ヒ' = 0x8A
'フ' = 0x8B
'ヘ' = 0x8C
'ホ' = 0x8D
'マ' = 0x8E
'ミ' = 0x8F
'ム' = 0x90
'メ' = 0x91
'モ' = 0x92
'ヤ' = 0x93
'ユ' = 0x94
'ヨ' = 0x95
'ラ' = 0x96
'リ' = 0x97
'ル' = 0x98
'レ' = 0x99
'ロ' = 0x9A
'ワ' = 0x9B
# 0x9C is unused, only defined in jp menu char lut
'ヲ' = 0x9C
'ン' = 0x9D
' ' = 0x9E
' ' = 0x9E
'-' = 0x9F
'ー' = 0x9F
'ぇ' = 0xA0
'っ' = 0xA1
'ゃ' = 0xA2
'ゅ' = 0xA3
'ょ' = 0xA4
'ぁ' = 0xA5
'ぃ' = 0xA6
'ぅ' = 0xA7
'ぉ' = 0xA8
'ェ' = 0xD0
'ッ' = 0xD1
'ャ' = 0xD2
'ュ' = 0xD3
'ョ' = 0xD4
'ァ' = 0xD5
'ィ' = 0xD6
'ゥ' = 0xD7
'ォ' = 0xD8
'@' = 0xDF
'[%]' = 0xE0
'(' = 0xE1
'' = 0xE1
')(' = 0xE2
'' = 0xE2
')' = 0xE3
'' = 0xE3
'+' = 0xE4
'↔' = 0xE4
'&' = 0xE5
':' = 0xE6
'゛' = 0xF0
'゜' = 0xF1
'!' = 0xF2
'' = 0xF2
'%' = 0xF3
'' = 0xF3
'?' = 0xF4
'' = 0xF4
'『' = 0xF5
'』' = 0xF6
'~' = 0xF7
'' = 0xF7
'…' = 0xF8
'$' = 0xF9
'★' = 0xFA
'×' = 0xFB
'・' = 0xFC
'☆' = 0xFD
'\n' = 0xFE
# hiragana or katakana with dakuten
'が' = 0xF0, 0x45
'ぎ' = 0xF0, 0x46
'ぐ' = 0xF0, 0x47
'げ' = 0xF0, 0x48
'ご' = 0xF0, 0x49
'ざ' = 0xF0, 0x4A
'じ' = 0xF0, 0x4B
'ず' = 0xF0, 0x4C
'ぜ' = 0xF0, 0x4D
'ぞ' = 0xF0, 0x4E
'だ' = 0xF0, 0x4F
'ぢ' = 0xF0, 0x50
'づ' = 0xF0, 0x51
'で' = 0xF0, 0x52
'ど' = 0xF0, 0x53
'ば' = 0xF0, 0x59
'び' = 0xF0, 0x5A
'ぶ' = 0xF0, 0x5B
'べ' = 0xF0, 0x5C
'ぼ' = 0xF0, 0x5D
'ガ' = 0xF0, 0x75
'ギ' = 0xF0, 0x76
'グ' = 0xF0, 0x77
'ゲ' = 0xF0, 0x78
'ゴ' = 0xF0, 0x79
'ザ' = 0xF0, 0x7A
'ジ' = 0xF0, 0x7B
'ズ' = 0xF0, 0x7C
'ゼ' = 0xF0, 0x7D
'ゾ' = 0xF0, 0x7E
'ダ' = 0xF0, 0x7F
'ヂ' = 0xF0, 0x80
'ヅ' = 0xF0, 0x81
'デ' = 0xF0, 0x82
'ド' = 0xF0, 0x83
'バ' = 0xF0, 0x89
'ビ' = 0xF0, 0x8A
'ブ' = 0xF0, 0x8B
'ベ' = 0xF0, 0x8C
'ボ' = 0xF0, 0x8D
# hiragana or katakana with handakuten
'ぱ' = 0xF1, 0x59
'ぴ' = 0xF1, 0x5A
'ぷ' = 0xF1, 0x5B
'ぺ' = 0xF1, 0x5C
'ぽ' = 0xF1, 0x5D
'パ' = 0xF1, 0x89
'ピ' = 0xF1, 0x8A
'プ' = 0xF1, 0x8B
'ペ' = 0xF1, 0x8C
'ポ' = 0xF1, 0x8D
# overwritten US symbols
# these symbols overwrite
# a previous symbol.
'^' = 0x50
'|' = 0x51
'<' = 0x52
'>' = 0x53
'[A]' = 0x54
'[B]' = 0x55
'[C]' = 0x56
'[Z]' = 0x57
'[R]' = 0x58
'/' = 0xD0
# multi-text US symbols
'the' = 0xD1
'you' = 0xD2
# EU ROM symbols
'à' = 0x60
'â' = 0x61
'ä' = 0x62
'À' = 0x64
'Â' = 0x65
'Ä' = 0x66
'è' = 0x70
'ê' = 0x71
'ë' = 0x72
'é' = 0x73
'È' = 0x74
'Ê' = 0x75
'Ë' = 0x76
'É' = 0x77
'ù' = 0x80
'û' = 0x81
'ü' = 0x82
'Ù' = 0x84
'Û' = 0x85
'Ü' = 0x86
'ô' = 0x91
'ö' = 0x92
'Ô' = 0x95
'Ö' = 0x96
'î' = 0xA1
'ï' = 0xA2
'ß' = 0xEC
'Ç' = 0xED
'ç' = 0xEE
'„' = 0xF0

View File

@@ -1,30 +0,0 @@
# Menu HUD chars, only used in JP
# Char values used by text_menu_strings.h.in
'フ' = 0x00
'ァ' = 0x01
'イ' = 0x02
'ル' = 0x03
'セ' = 0x04
'レ' = 0x05
'ク' = 0x06
'ト' = 0x07
'を' = 0x08
'コ' = 0x09
'ピ' = 0x0A
'ー' = 0x0B
'す' = 0x0C
'る' = 0x0D
'け' = 0x0E
'マ' = 0x0F
'リ' = 0x10
'オ' = 0x11
'ス' = 0x12
'ア' = 0x13
'み' = 0x14
'ど' = 0x15
'の' = 0x16
'' = 0x17
'サ' = 0x18
'ウ' = 0x19
'ン' = 0x1A
'ド' = 0x1B

View File

@@ -2694,7 +2694,7 @@ const BehaviorScript bhvSushiShark[] = {
const BehaviorScript bhvJrbSlidingBox[] = {
BEGIN(OBJ_LIST_SURFACE),
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_NO_AUTO_DISPLACEMENT),
OR_INT(oFlags, OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE),
LOAD_COLLISION_DATA(jrb_seg7_collision_floating_box),
SET_HOME(),
BEGIN_LOOP(),
@@ -5437,7 +5437,11 @@ const BehaviorScript bhvTTCPendulum[] = {
const BehaviorScript bhvTTCTreadmill[] = {
BEGIN(OBJ_LIST_SURFACE),
OR_INT(oFlags, (OBJ_FLAG_COMPUTE_DIST_TO_MARIO | OBJ_FLAG_UPDATE_GFX_POS_AND_ANGLE | OBJ_FLAG_NO_AUTO_DISPLACEMENT)),
#ifdef PLATFORM_DISPLACEMENT_2
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),
CALL_NATIVE(bhv_ttc_treadmill_init),
DELAY(1),

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