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
316 changed files with 10592 additions and 12004 deletions

View File

@@ -501,15 +501,15 @@ DEF_INC_CFLAGS := $(foreach i,$(INCLUDE_DIRS),-I$(i)) $(C_DEFINES)
# C compiler options
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-zero-initialized-in-bss -fno-PIC -mno-abicalls -fno-strict-aliasing -fno-inline-functions -ffreestanding -fwrapv -Wall -Wextra
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 -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
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 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
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)))
@@ -530,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
@@ -571,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
@@ -646,29 +645,6 @@ $(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
@@ -686,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
#==============================================================================#
@@ -823,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:,$<,$@)

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,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

File diff suppressed because it is too large Load Diff

View File

@@ -71,22 +71,24 @@
// #define DIALOG_INDICATOR
/**
* 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.
* [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.
* Adds support for multiple languages to the game.
*/
// #define COMPLETE_EN_US_SEGMENT2
// #define MULTILANG
/**
* Removes multi-language cake screen.
* Toggles for individual languages. Only works when MULTILANG is enabled.
* Note that English will always be enabled.
*/
#define EU_CUSTOM_CAKE_FIX
#define ENABLE_FRENCH
#define ENABLE_GERMAN
// #define ENABLE_JAPANESE
#define ENABLE_SPANISH
/**
* Adds multiple languages to the game. Just a placeholder for the most part, because it only works with EU, and must be enabled with EU.
* This define enables support for Japanese characters even when multilang or Japanese is not enabled.
* Requires a Japanese baserom.
*/
#define MULTILANG (0 || VERSION_EU)
// #define JAPANESE_CHARACTERS
/**
* Prevents infinite death loops by always restoring Mario's health when he's warped to any kind of warp while dead.

View File

@@ -148,6 +148,17 @@
#define START_LEVEL LEVEL_CASTLE_GROUNDS
#endif // !START_LEVEL
#ifndef MULTILANG
#undef ENABLE_FRENCH
#undef ENABLE_GERMAN
#undef ENABLE_JAPANESE
#undef ENABLE_SPANISH
#endif // !MULTILANG
#ifdef ENABLE_JAPANESE
#define JAPANESE_CHARACTERS
#endif // ENABLE_JAPANESE
/*****************
* config_goddard.h

View File

@@ -1,20 +0,0 @@
#ifndef EU_TRANSLATION_H
#define EU_TRANSLATION_H
// EU changes most text to arrays for each language. This define allows these
// differences to be combined.
#define LANGUAGE_ARRAY(cmd) cmd
extern void *dialog_table_eu_en[];
extern void *course_name_table_eu_en[];
extern void *act_name_table_eu_en[];
extern void *dialog_table_eu_fr[];
extern void *course_name_table_eu_fr[];
extern void *act_name_table_eu_fr[];
extern void *dialog_table_eu_de[];
extern void *course_name_table_eu_de[];
extern void *act_name_table_eu_de[];
#endif // EU_TRANSLATION_H

View File

@@ -64,7 +64,7 @@ enum LevelCommands {
/*0x36*/ LEVEL_CMD_SET_MUSIC,
/*0x37*/ LEVEL_CMD_SET_MENU_MUSIC,
/*0x38*/ LEVEL_CMD_FADEOUT_MUSIC,
/*0x39*/ LEVEL_CMD_SET_MACRO_OBJECTS,
/*0x39*/ LEVEL_CMD_39,
/*0x3A*/ LEVEL_CMD_3A,
/*0x3B*/ LEVEL_CMD_CREATE_WHIRLPOOL,
/*0x3C*/ LEVEL_CMD_GET_OR_SET_VAR,
@@ -449,9 +449,10 @@ enum GoddardScene {
#define SET_ECHO(console, emulator) \
CMD_BBBB(LEVEL_CMD_SET_ECHO, 0x04, console, emulator)
#define MACRO_OBJECTS(objList) \
CMD_BBH(LEVEL_CMD_SET_MACRO_OBJECTS, 0x08, 0x0000), \
CMD_PTR(objList)
// unused (previously MACRO_OBJECTS)
#define CMD39(unk4) \
CMD_BBH(LEVEL_CMD_39, 0x08, 0x0000), \
CMD_PTR(unk4)
// unused
#define CMD3A(unk2, unk4, unk6, unk8, unk10) \

View File

@@ -1,28 +0,0 @@
#ifndef LEVEL_MISC_MACROS_H
#define LEVEL_MISC_MACROS_H
#define MACRO_OBJECT_WITH_BEH_PARAM(preset, yaw, posX, posY, posZ, behParam) \
((s16)((yaw * 0x10 / 45) << 9) | (preset + 0x1F)), posX, posY, posZ, behParam
#define MACRO_OBJECT(preset, yaw, posX, posY, posZ) \
MACRO_OBJECT_WITH_BEH_PARAM(preset, yaw, posX, posY, posZ, 0)
#define MACRO_OBJECT_END() \
0x001E
#define SPECIAL_OBJECT(preset, posX, posY, posZ) \
preset, posX, posY, posZ
#define SPECIAL_OBJECT_WITH_YAW(preset, posX, posY, posZ, yaw) \
preset, posX, posY, posZ, yaw
#define SPECIAL_OBJECT_WITH_YAW_AND_PARAM(preset, posX, posY, posZ, yaw, param) \
preset, posX, posY, posZ, yaw, param
#define TRAJECTORY_POS(trajId, x, y, z) \
trajId, x, y, z
#define TRAJECTORY_END() \
-1
#endif // LEVEL_MISC_MACROS_H

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