mirror of https://github.com/n64decomp/mk64.git
Run iconv as part of build (#354)
* Run iconv as part of build That way files that need to be in EUC-JP encoding can still be worked on in UTF-8 Signed-off-by: Taggerung <tyler.taggerung@email.com>
This commit is contained in:
parent
fe36d4a738
commit
a240af0693
20
Makefile
20
Makefile
|
|
@ -218,14 +218,20 @@ include $(MAKEFILE_SPLIT)
|
|||
|
||||
COURSE_ASM_FILES := $(wildcard courses/*/*/packed.s)
|
||||
|
||||
C_FILES := $(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.c))
|
||||
# These are files that need to be encoded into EUC-JP in order for the ROM to match
|
||||
# We filter them out from the regular C_FILES since we don't need nor want the
|
||||
# UTF-8 versions getting compiled
|
||||
EUC_JP_FILES := src/credits.c src/code_80005FD0.c
|
||||
C_FILES := $(filter-out $(EUC_JP_FILES),$(foreach dir,$(SRC_DIRS),$(wildcard $(dir)/*.c)))
|
||||
S_FILES := $(foreach dir,$(ASM_DIRS),$(wildcard $(dir)/*.s)) $(COURSE_ASM_FILES)
|
||||
COURSE_FILES := $(foreach dir,$(COURSE_DIRS),$(wildcard $(dir)/*.inc.c))
|
||||
|
||||
# Object files
|
||||
O_FILES := $(foreach file,$(C_FILES),$(BUILD_DIR)/$(file:.c=.o)) \
|
||||
$(foreach file,$(COURSE_FILES),$(BUILD_DIR)/$(file:.c=.o)) \
|
||||
$(foreach file,$(S_FILES),$(BUILD_DIR)/$(file:.s=.o)) \
|
||||
O_FILES := \
|
||||
$(foreach file,$(C_FILES),$(BUILD_DIR)/$(file:.c=.o)) \
|
||||
$(foreach file,$(COURSE_FILES),$(BUILD_DIR)/$(file:.c=.o)) \
|
||||
$(foreach file,$(S_FILES),$(BUILD_DIR)/$(file:.s=.o)) \
|
||||
$(EUC_JP_FILES:%.c=$(BUILD_DIR)/%.jp.o)
|
||||
|
||||
# Automatic dependency files
|
||||
DEP_FILES := $(O_FILES:.o=.d) $(BUILD_DIR)/$(LD_SCRIPT).d
|
||||
|
|
@ -549,6 +555,10 @@ $(COURSE_DATA_TARGETS): $(BUILD_DIR)/%/course_data.inc.mio0.o: $(BUILD_DIR)/%/co
|
|||
# Source Code Generation #
|
||||
#==============================================================================#
|
||||
|
||||
$(BUILD_DIR)/%.jp.c: %.c
|
||||
$(call print,Encoding:,$<,$@)
|
||||
iconv -t EUC-JP -f UTF-8 $< -o $@
|
||||
|
||||
$(BUILD_DIR)/%.o: %.c
|
||||
$(call print,Compiling:,$<,$@)
|
||||
@$(CC_CHECK) $(CC_CHECK_CFLAGS) -MMD -MP -MT $@ -MF $(BUILD_DIR)/$*.d $<
|
||||
|
|
@ -563,6 +573,8 @@ $(BUILD_DIR)/%.o: $(BUILD_DIR)/%.c
|
|||
$(BUILD_DIR)/%.o: %.s $(MIO0_FILES) $(RAW_TEXTURE_FILES)
|
||||
$(AS) $(ASFLAGS) -o $@ $<
|
||||
|
||||
$(EUC_JP_FILES:%.c=$(BUILD_DIR)/%.jp.o): CC := $(PYTHON) tools/asm_processor/build.py $(CC) -- $(AS) $(ASFLAGS) --
|
||||
|
||||
$(GLOBAL_ASM_O_FILES): CC := $(PYTHON) tools/asm_processor/build.py $(CC) -- $(AS) $(ASFLAGS) --
|
||||
|
||||
$(GLOBAL_ASM_AUDIO_O_FILES): CC := $(PYTHON) tools/asm_processor/build.py $(CC) -- $(AS) $(ASFLAGS) --
|
||||
|
|
|
|||
8
mk64.ld
8
mk64.ld
|
|
@ -84,7 +84,7 @@ SECTIONS
|
|||
BUILD_DIR/src/code_80004740.o(.text);
|
||||
BUILD_DIR/src/staff_ghosts.o(.text);
|
||||
BUILD_DIR/asm/unused_overflow_check.o(.text);
|
||||
BUILD_DIR/src/code_80005FD0.o(.text);
|
||||
BUILD_DIR/src/code_80005FD0.jp.o(.text);
|
||||
BUILD_DIR/src/camera.o(.text);
|
||||
BUILD_DIR/src/code_8001F980.o(.text);
|
||||
BUILD_DIR/src/kart_dma.o(.text);
|
||||
|
|
@ -287,7 +287,7 @@ SECTIONS
|
|||
BUILD_DIR/src/os/_Litob.o(.data);
|
||||
BUILD_DIR/src/main.o(.rodata);
|
||||
BUILD_DIR/src/code_800029B0.o(.rodata);
|
||||
BUILD_DIR/src/code_80005FD0.o(.rodata);
|
||||
BUILD_DIR/src/code_80005FD0.jp.o(.rodata);
|
||||
BUILD_DIR/src/camera.o(.rodata);
|
||||
BUILD_DIR/src/code_8001F980.o(.rodata);
|
||||
BUILD_DIR/src/code_80027D00.o(.rodata);
|
||||
|
|
@ -428,11 +428,11 @@ SECTIONS
|
|||
BUILD_DIR/src/code_80280650.o(.data);
|
||||
BUILD_DIR/data/data_credits_128480.o(.data);
|
||||
BUILD_DIR/src/dl_unk_80284EE0.inc.o(.data);
|
||||
BUILD_DIR/src/credits.o(.data);
|
||||
BUILD_DIR/src/credits.jp.o(.data);
|
||||
BUILD_DIR/src/ceremony_and_credits.o(.data);
|
||||
BUILD_DIR/src/code_80280650.o(.rodata);
|
||||
BUILD_DIR/src/camera_junk.o(.rodata);
|
||||
BUILD_DIR/src/credits.o(.rodata);
|
||||
BUILD_DIR/src/credits.jp.o(.rodata);
|
||||
BUILD_DIR/src/ceremony_and_credits.o(.rodata);
|
||||
}
|
||||
END_SEG(code_80280000)
|
||||
|
|
|
|||
|
|
@ -22,71 +22,71 @@
|
|||
// https://en.wikipedia.org/wiki/Extended_Unix_Code#EUC-JP
|
||||
|
||||
// Force sort immediately after goal
|
||||
char *D_800EB710 = "ゴール直後の強制ソート\n";
|
||||
char *D_800EB710 = "ゴール直後の強制ソート\n";
|
||||
// Forced sort immediately after one goal in 2PGP
|
||||
char *D_800EB728 = "2PGPで片方がゴール直後の強制ソート\n";
|
||||
char *D_800EB728 = "2PGPで片方がゴール直後の強制ソート\n";
|
||||
// rank calculation error
|
||||
char *D_800EB74C = "順位計算エラー!! (num %d) (rank %d) (e_rank %d)\n";
|
||||
char *D_800EB74C = "順位計算エラー!! (num %d) (rank %d) (e_rank %d)\n";
|
||||
// Bypass switching error!!!(num %d org_bipas %d bipas %d)
|
||||
char *D_800EB780 = "バイパス切り替え エラー!!!(num %d org_bipas %d bipas %d)\n";
|
||||
char *D_800EB780 = "バイパス切り替え エラー!!!(num %d org_bipas %d bipas %d)\n";
|
||||
char *D_800EB7BC = "(%d) rap %3d rate_count_F %10.2f rap_count_F %10.2f area %5d \n";
|
||||
// Enter the maze! enemy %d (%d --> %d)
|
||||
char *D_800EB800 = "迷路に突入! enemy %d (%d --> %d)\n";
|
||||
char *D_800EB800 = "迷路に突入! enemy %d (%d --> %d)\n";
|
||||
// Out of the maze! enemy %d (%d --> %d)
|
||||
char *D_800EB824 = "迷路から出た! enemy %d (%d --> %d)\n";
|
||||
char *D_800EB824 = "迷路から出た! enemy %d (%d --> %d)\n";
|
||||
char *D_800EB84C = "enemy voice set (%d slip_flag %x weapon %x)\n";
|
||||
// Spin Voice! ! (%d , name %d)
|
||||
char *D_800EB87C = "スピンヴォイス!!(%d , name %d)\n";
|
||||
char *D_800EB87C = "スピンヴォイス!!(%d , name %d)\n";
|
||||
// Damage voice! ! (%d, name %d)
|
||||
char *D_800EB8A0 = "ダメージヴォイス!!(%d, name %d)\n";
|
||||
char *D_800EB8A0 = "ダメージヴォイス!!(%d, name %d)\n";
|
||||
char *D_800EB8C4 = "===== ENEMY DRIVE SUB (%d) =====\n";
|
||||
// omission
|
||||
char *D_800EB8E8 = "ENEMY END(手抜き)\n\n";
|
||||
char *D_800EB8FC = "ENEMY END(手抜き)\n\n";
|
||||
char *D_800EB8E8 = "ENEMY END(手抜き)\n\n";
|
||||
char *D_800EB8FC = "ENEMY END(手抜き)\n\n";
|
||||
char *D_800EB910 = "(1)enemy stick angle over!! (%d)\n";
|
||||
char *D_800EB934 = "ENEMY END\n\n";
|
||||
char *D_800EB940 = "(2)enemy stick angle over!! (%d)\n";
|
||||
char *D_800EB964 = "ENEMY END\n\n";
|
||||
// AREA ERR!!! (group not registered at current centerline %d) %d
|
||||
char *D_800EB970 = "AREA ERR!!! (現在のセンターライン %d に未登録のグループです) %d\n";
|
||||
char *D_800EB970 = "AREA ERR!!! (現在のセンターライン %d に未登録のグループです) %d\n";
|
||||
// AREA ERR!!! (Unregistered group) %d
|
||||
char *D_800EB9B4 = "AREA ERR!!! (未登録のグループです) %d\n";
|
||||
char *D_800EB9B4 = "AREA ERR!!! (未登録のグループです) %d\n";
|
||||
// get_oga_area_sub_BP() ... Area not found! (b_num = %d)
|
||||
char *D_800EB9DC = "get_oga_area_sub_BP() ... エリアが見つからないッス! (b_num = %d)\n";
|
||||
char *D_800EB9DC = "get_oga_area_sub_BP() ... エリアが見つからないッス! (b_num = %d)\n";
|
||||
// Status: (%d, %d, %d)
|
||||
char *D_800EBA20 = " 状況: (%d, %d, %d) \n";
|
||||
char *D_800EBA20 = " 状況: (%d, %d, %d) \n";
|
||||
char *D_800EBA38 = "<%d> (%d, %d, %d) [%d] lng %f\n";
|
||||
// Wario Stadium Jump failed! ! ! (area %d, y %7.2f)
|
||||
char *D_800EBA58 = "ワリオスタジアム ジャンプ失敗!!! (area %d, y %7.2f)\n";
|
||||
char *D_800EBA58 = "ワリオスタジアム ジャンプ失敗!!! (area %d, y %7.2f)\n";
|
||||
// I fell in the water! ! Forced to centerline (num %d: area %d ) (%d,%d,%d)
|
||||
char *D_800EBA94 = "水に落ちた!! センターラインに強制移動しました (num %d: area %d ) (%d,%d,%d)\n";
|
||||
char *D_800EBA94 = "水に落ちた!! センターラインに強制移動しました (num %d: area %d ) (%d,%d,%d)\n";
|
||||
// Course match! ! (Slacking: with bump) Forced move to center line (num %d: area %d ==>%d) (group %d) (%d,%d,%d)
|
||||
char *D_800EBAE4 = "こーすあうと!!(手抜き中:バンプ有り) センターラインに強制移動しました (num %d: area %d ==>%d) (group %d) (%d,%d,%d)\n";
|
||||
char *D_800EBAE4 = "こーすあうと!!(手抜き中:バンプ有り) センターラインに強制移動しました (num %d: area %d ==>%d) (group %d) (%d,%d,%d)\n";
|
||||
// Course match! ! (Sitting corners: no bump) Forced move to center line (num %d: area %d ==>%d) (group %d) (%d,%d,%d)
|
||||
char *D_800EBB60 = "こーすあうと!!(手抜き中:バンプ無し) センターラインに強制移動しました (num %d: area %d ==>%d) (group %d) (%d,%d,%d)\n";
|
||||
char *D_800EBB60 = "こーすあうと!!(手抜き中:バンプ無し) センターラインに強制移動しました (num %d: area %d ==>%d) (group %d) (%d,%d,%d)\n";
|
||||
// Course match! ! ! Recalculated area (num %d: area %d ==>%d)
|
||||
char *D_800EBBDC = "こーすあうと!!! エリアを再計算しました (num %d: area %d ==>%d)\n";
|
||||
char *D_800EBBDC = "こーすあうと!!! エリアを再計算しました (num %d: area %d ==>%d)\n";
|
||||
// Direct BOM(%d) (%7.2f, %7.2f, %7.2f)
|
||||
char *D_800EBC24 = "直接指定のBOM(%d) (%7.2f, %7.2f, %7.2f) \n";
|
||||
char *D_800EBC24 = "直接指定のBOM(%d) (%7.2f, %7.2f, %7.2f) \n";
|
||||
char *D_800EBC50 = "BOM HIT CHECK\n";
|
||||
char *D_800EBC60 = "BOM HIT !!!!! (%d)\n";
|
||||
// BOM standby
|
||||
char *D_800EBC74 = "BOM待機\n";
|
||||
char *D_800EBC74 = "BOM待機\n";
|
||||
char *D_800EBC80 = "RESULT BOM area(%d)\n";
|
||||
// BOM dropped.
|
||||
char *D_800EBC98 = "BOM が 落ちました。\n";
|
||||
char *D_800EBC98 = "BOM が 落ちました。\n";
|
||||
// Tortoise fire pillar SET failed (TABLE IS FULL)
|
||||
char *D_800EBCB0 = "カメ用火柱 SET 失敗 (TABLE IS FULL)\n";
|
||||
char *D_800EBCB0 = "カメ用火柱 SET 失敗 (TABLE IS FULL)\n";
|
||||
// Red turtle fire pillar set error! (category %d)
|
||||
char *D_800EBCD8 = "赤ガメ火柱セットエラー! (category %d)\n";
|
||||
char *D_800EBCD8 = "赤ガメ火柱セットエラー! (category %d)\n";
|
||||
// Blue turtle fire pillar set error! (category %d)
|
||||
char *D_800EBD00 = "青ガメ火柱セットエラー! (category %d)\n";
|
||||
char *D_800EBD00 = "青ガメ火柱セットエラー! (category %d)\n";
|
||||
// Thorn Turtle Fire Pillar Set Error! (category %d)
|
||||
char *D_800EBD28 = "トゲガメ火柱セットエラー! (category %d)\n";
|
||||
char *D_800EBD28 = "トゲガメ火柱セットエラー! (category %d)\n";
|
||||
// Turtle Fire Pillar Initialization! !
|
||||
char *D_800EBD54 = "カメ火柱初期化!!\n";
|
||||
char *D_800EBD54 = "カメ火柱初期化!!\n";
|
||||
// Center line initialization
|
||||
char *D_800EBD68 = "センターライン初期化\n";
|
||||
char *D_800EBD68 = "センターライン初期化\n";
|
||||
char *D_800EBD80 = "MAP NUMBER %d\n";
|
||||
char *D_800EBD90 = "center_EX ptr = %x %x (%x)\n";
|
||||
char *D_800EBDB4 = "\n";
|
||||
|
|
@ -98,90 +98,90 @@ char *D_800EBE58 = "angle_BP[%d] ptr = %x %x (%x)\n";
|
|||
char *D_800EBE80 = "short_cut_data_BP[%d] ptr = %x %x (%x)\n";
|
||||
char *D_800EBEA8 = "\n";
|
||||
// Ogawa total memory used = %d
|
||||
char *D_800EBEAC = "小川の使用メモリー合計 = %d\n";
|
||||
char *D_800EBEAC = "小川の使用メモリー合計 = %d\n";
|
||||
// Enemy initialization
|
||||
char *D_800EBECC = "敵初期化\n";
|
||||
char *D_800EBECC = "敵初期化\n";
|
||||
// End of enemy initialization
|
||||
char *D_800EBED8 = "敵初期化終了\n";
|
||||
char *D_800EBED8 = "敵初期化終了\n";
|
||||
// Bypass CENTER LINE Split start
|
||||
char *D_800EBEE8 = "バイパス CENTER LINE 分割開始\n";
|
||||
char *D_800EBEE8 = "バイパス CENTER LINE 分割開始\n";
|
||||
// Read centerline from ROM (map:%d)
|
||||
char *D_800EBF08 = "センターラインをROMから読みます (map:%d)\n";
|
||||
char *D_800EBF08 = "センターラインをROMから読みます (map:%d)\n";
|
||||
char *D_800EBF34 = "ROM center (BP%d) line adr. = %x (%x)\n";
|
||||
// Calculate centerline (map:%d)
|
||||
char *D_800EBF5C = "センターラインを計算します (map:%d)\n";
|
||||
char *D_800EBF5C = "センターラインを計算します (map:%d)\n";
|
||||
char *D_800EBF84 = "center (BP%d) line adr. = %x (%x)\n";
|
||||
char *D_800EBFA8 = "BP center_point_number : %d\n";
|
||||
// Centerline data error! !
|
||||
char *D_800EBFC8 = "センターライン データ エラー!!\n";
|
||||
char *D_800EBFC8 = "センターライン データ エラー!!\n";
|
||||
// Bypass CENTER LINE split end (%d -> %d number)
|
||||
char *D_800EBFEC = "バイパス CENTER LINE 分割終了 (%d -> %d 個)\n";
|
||||
char *D_800EBFEC = "バイパス CENTER LINE 分割終了 (%d -> %d 個)\n";
|
||||
// No center line. (map: %d)
|
||||
char *D_800EC01C = "センターラインが ありません。(map:%d)\n";
|
||||
char *D_800EC01C = "センターラインが ありません。(map:%d)\n";
|
||||
// side point calculation (bypass %d)
|
||||
char *D_800EC044 = "サイドポイント計算 (バイパス %d)\n";
|
||||
char *D_800EC044 = "サイドポイント計算 (バイパス %d)\n";
|
||||
// Curve data calculation (bypass %d)
|
||||
char *D_800EC068 = "カーブデータ計算 (バイパス %d)\n";
|
||||
char *D_800EC068 = "カーブデータ計算 (バイパス %d)\n";
|
||||
// No center line. (map: %d)
|
||||
char *D_800EC088 = "センターラインが ありません。(map:%d)\n";
|
||||
char *D_800EC088 = "センターラインが ありません。(map:%d)\n";
|
||||
// Angle data calculation (bypass %d)
|
||||
char *D_800EC0B0 = "アングルデータ計算 (バイパス %d) \n";
|
||||
char *D_800EC0B0 = "アングルデータ計算 (バイパス %d) \n";
|
||||
// No center line. (map: %d)
|
||||
char *D_800EC0D4 = "センターラインが ありません。(map:%d)\n";
|
||||
char *D_800EC0D4 = "センターラインが ありません。(map:%d)\n";
|
||||
// Shortcut data calculation (bypass %d)
|
||||
char *D_800EC0FC = "ショートカットデータ計算 (バイパス %d)\n";
|
||||
char *D_800EC0FC = "ショートカットデータ計算 (バイパス %d)\n";
|
||||
char *D_800EC124 = "extern POINT rom_center_KT%d_BP%d[] = {\n";
|
||||
char *D_800EC150 = "\t{%d,%d,%d,%d},\n";
|
||||
char *D_800EC164 = "\t0x8000,0x8000,0x8000,0\n};\n\n";
|
||||
char *D_800EC184 = "area read from ROM (%d)\n";
|
||||
// Normal jump! ! ! (%d)
|
||||
char *D_800EC1A0 = "ノーマルジャンプ!!!(%d)\n";
|
||||
char *D_800EC1A0 = "ノーマルジャンプ!!!(%d)\n";
|
||||
// Turbo on! ! ! (%d)
|
||||
char *D_800EC1BC = "ターボオン!!!(%d)\n";
|
||||
char *D_800EC1BC = "ターボオン!!!(%d)\n";
|
||||
// No cutting corners! ! ! (%d)
|
||||
char *D_800EC1D4 = "手抜き禁止!!!(%d)\n";
|
||||
char *D_800EC1D4 = "手抜き禁止!!!(%d)\n";
|
||||
// Action start data error! (num %d, act %d)
|
||||
char *D_800EC1EC = "アクション開始データエラー!(num %d, act %d)\n";
|
||||
char *D_800EC1EC = "アクション開始データエラー!(num %d, act %d)\n";
|
||||
// Action end data error! (num %d, act %d, old_act_num %d)
|
||||
char *D_800EC21C = "アクション終了データエラー!(num %d, act %d, old_act_num %d)\n";
|
||||
char *D_800EC21C = "アクション終了データエラー!(num %d, act %d, old_act_num %d)\n";
|
||||
char *D_800EC25C = "SL : center_point_number : %d\n";
|
||||
// SL: CENTER LINE split start
|
||||
char *D_800EC27C = "SL: CENTER LINE 分割開始\n";
|
||||
char *D_800EC27C = "SL: CENTER LINE 分割開始\n";
|
||||
// SL: CENTER LINE split ended (%d -> %d indivual)
|
||||
char *D_800EC298 = "SL: CENTER LINE 分割終了 (%d -> %d 個)\n";
|
||||
char *D_800EC298 = "SL: CENTER LINE 分割終了 (%d -> %d 個)\n";
|
||||
char *D_800EC2C0 = "SHIP : center_point_number : %d\n";
|
||||
// SHIP: CENTER LINE split start
|
||||
char *D_800EC2E4 = "SHIP: CENTER LINE 分割開始\n";
|
||||
char *D_800EC2E4 = "SHIP: CENTER LINE 分割開始\n";
|
||||
// SHIP: CENTER LINE split ended (%d -> %d indivual)
|
||||
char *D_800EC300 = "SHIP: CENTER LINE 分割終了 (%d -> %d 個)\n";
|
||||
char *D_800EC300 = "SHIP: CENTER LINE 分割終了 (%d -> %d 個)\n";
|
||||
// General-purpose OBJ character initialization
|
||||
char *D_800EC32C = "汎用OBJキャラ初期化\n";
|
||||
char *D_800EC32C = "汎用OBJキャラ初期化\n";
|
||||
// SL OBJ settings
|
||||
char *D_800EC344 = "SL OBJ設定\n";
|
||||
char *D_800EC344 = "SL OBJ設定\n";
|
||||
// SHIP OBJ settings
|
||||
char *D_800EC350 = "SHIP OBJ設定\n";
|
||||
char *D_800EC350 = "SHIP OBJ設定\n";
|
||||
// Track OBJ settings
|
||||
char *D_800EC360 = "トラックOBJ設定\n";
|
||||
char *D_800EC360 = "トラックOBJ設定\n";
|
||||
// Bus OBJ setting
|
||||
char *D_800EC374 = "バスOBJ設定\n";
|
||||
char *D_800EC374 = "バスOBJ設定\n";
|
||||
// Tank OBJ setting
|
||||
char *D_800EC384 = "タンクOBJ設定\n";
|
||||
char *D_800EC384 = "タンクOBJ設定\n";
|
||||
// RV OBJ settings
|
||||
char *D_800EC394 = "RV OBJ設定\n";
|
||||
char *D_800EC394 = "RV OBJ設定\n";
|
||||
// Generic OBJ character initialization completed
|
||||
char *D_800EC3A0 = "汎用OBJキャラ初期化終了\n";
|
||||
char *D_800EC3A0 = "汎用OBJキャラ初期化終了\n";
|
||||
// horn (num %d, permit %d, %d)
|
||||
char *D_800EC3BC = "クラクション (num %d, permit %d, %d)\n";
|
||||
char *D_800EC3BC = "クラクション (num %d, permit %d, %d)\n";
|
||||
char *D_800EC3E4 = "OGA CAMERA INIT (%d)\n";
|
||||
char *D_800EC3FC = "OGA CAMERA INIT END\n";
|
||||
// High speed camera ERR !!! (ncx = %f)
|
||||
char *D_800EC414 = "高速カメラ ERR !!! (ncx = %f)\n";
|
||||
char *D_800EC414 = "高速カメラ ERR !!! (ncx = %f)\n";
|
||||
// High speed camera ERR !!! (ncz = %f)
|
||||
char *D_800EC434 = "高速カメラ ERR !!! (ncz = %f)\n";
|
||||
char *D_800EC434 = "高速カメラ ERR !!! (ncz = %f)\n";
|
||||
// High speed camera ERR !!! (ecx = %f)
|
||||
char *D_800EC454 = "高速カメラ ERR !!! (ecx = %f)\n";
|
||||
char *D_800EC454 = "高速カメラ ERR !!! (ecx = %f)\n";
|
||||
// High speed camera ERR !!! (ecz = %f)
|
||||
char *D_800EC474 = "高速カメラ ERR !!! (ecz = %f)\n";
|
||||
char *D_800EC474 = "高速カメラ ERR !!! (ecz = %f)\n";
|
||||
char *D_800EC494 = "OGA DRIVERS POINT CAMERA MODE \n";
|
||||
char *D_800EC4B4 = "OGA WINNER CAMERA MODE \n";
|
||||
char *D_800EC4D0 = "OGA TIMEATTACK QUICK CAMERA INIT \n";
|
||||
|
|
@ -190,168 +190,168 @@ char *D_800EC514 = "GOAL! <<rank 1>> camera %d rank %d\n";
|
|||
char *D_800EC53C = "GOAL! <<rank 2,3,4>> camera %d rank %d\n";
|
||||
char *D_800EC568 = "GOAL! <<rank 5,6,7,8>> camera %d rank %d\n";
|
||||
// Camera and cart collided! ! !
|
||||
char *D_800EC594 = "カメラとカートが衝突しました!!! (%d)\n";
|
||||
char *D_800EC594 = "カメラとカートが衝突しました!!! (%d)\n";
|
||||
char *D_800EC5C0 = "<<< ITEM OBJ NUMBER ERR !! >>> item %d obj_num %d \n";
|
||||
// <<< BANANA SET HOUSE >>> obj_num %d zure %f
|
||||
char *D_800EC5F8 = "<<< BANANA SET 失敗 >>> obj_num %d zure %f \n";
|
||||
char *D_800EC5F8 = "<<< BANANA SET 失敗 >>> obj_num %d zure %f \n";
|
||||
// BANANA Caught in owner check. (num %d)
|
||||
char *D_800EC628 = "BANANA 所有者チェックに引っ掛かりました。(num %d)\n";
|
||||
char *D_800EC628 = "BANANA 所有者チェックに引っ掛かりました。(num %d)\n";
|
||||
// Reason: EXISTOBJ
|
||||
char *D_800EC65C = "理由: EXISTOBJ \n";
|
||||
char *D_800EC65C = "理由: EXISTOBJ \n";
|
||||
// Reason: category
|
||||
char *D_800EC670 = "理由: category \n";
|
||||
char *D_800EC670 = "理由: category \n";
|
||||
// Reason: sparam
|
||||
char *D_800EC684 = "理由: sparam \n";
|
||||
char *D_800EC684 = "理由: sparam \n";
|
||||
// Reason: num
|
||||
char *D_800EC694 = "理由: num \n";
|
||||
char *D_800EC694 = "理由: num \n";
|
||||
char *D_800EC6A0 = "BANANA HOLD (num %d time %d hold_time %d)\n";
|
||||
// Installation Caught in BANANA owner check. (num %d)
|
||||
char *D_800EC6D0 = "設置 BANANA 所有者チェックに引っ掛かりました。(num %d)\n";
|
||||
char *D_800EC6D0 = "設置 BANANA 所有者チェックに引っ掛かりました。(num %d)\n";
|
||||
// Reason: EXISTOBJ
|
||||
char *D_800EC708 = "理由: EXISTOBJ \n";
|
||||
char *D_800EC708 = "理由: EXISTOBJ \n";
|
||||
// Reason: category
|
||||
char *D_800EC71C = "理由: category \n";
|
||||
char *D_800EC71C = "理由: category \n";
|
||||
// Reason: sparam
|
||||
char *D_800EC730 = "理由: sparam \n";
|
||||
char *D_800EC730 = "理由: sparam \n";
|
||||
// Reason: num
|
||||
char *D_800EC740 = "理由: num \n";
|
||||
char *D_800EC740 = "理由: num \n";
|
||||
// I put BANANA. (num %d)
|
||||
char *D_800EC74C = "BANANA 置きました。 (num %d)\n";
|
||||
char *D_800EC74C = "BANANA 置きました。 (num %d)\n";
|
||||
// <<< BANANA NAGE SET failed >>> obj_num %d
|
||||
char *D_800EC76C = "<<< BANANA NAGE SET 失敗 >>> obj_num %d \n";
|
||||
char *D_800EC76C = "<<< BANANA NAGE SET 失敗 >>> obj_num %d \n";
|
||||
// BANANA NAGE MOVE Caught in owner check. (num %d)
|
||||
char *D_800EC798 = "BANANA NAGE MOVE 所有者チェックに引っ掛かりました。(num %d)\n";
|
||||
char *D_800EC798 = "BANANA NAGE MOVE 所有者チェックに引っ掛かりました。(num %d)\n";
|
||||
// Reason: EXISTOBJ
|
||||
char *D_800EC7D8 = "理由: EXISTOBJ \n";
|
||||
char *D_800EC7D8 = "理由: EXISTOBJ \n";
|
||||
// Reason: category
|
||||
char *D_800EC7EC = "理由: category \n";
|
||||
char *D_800EC7EC = "理由: category \n";
|
||||
// Reason: sparam
|
||||
char *D_800EC800 = "理由: sparam \n";
|
||||
char *D_800EC800 = "理由: sparam \n";
|
||||
// Reason: num
|
||||
char *D_800EC810 = "理由: num \n";
|
||||
char *D_800EC81C = "BANANA NAGE END 所有者チェックに引っ掛かりました。(num %d)\n";
|
||||
char *D_800EC810 = "理由: num \n";
|
||||
char *D_800EC81C = "BANANA NAGE END 所有者チェックに引っ掛かりました。(num %d)\n";
|
||||
// Reason: EXISTOBJ
|
||||
char *D_800EC858 = "理由: EXISTOBJ \n";
|
||||
char *D_800EC858 = "理由: EXISTOBJ \n";
|
||||
// Reason: category
|
||||
char *D_800EC86C = "理由: category \n";
|
||||
char *D_800EC86C = "理由: category \n";
|
||||
// Reason: sparam
|
||||
char *D_800EC880 = "理由: sparam \n";
|
||||
char *D_800EC880 = "理由: sparam \n";
|
||||
// Reason: num
|
||||
char *D_800EC890 = "理由: num \n";
|
||||
char *D_800EC890 = "理由: num \n";
|
||||
char *D_800EC89C = "G_SHELL HOLD (num %d time %d hold_time %d)\n";
|
||||
// <<< G_SHELL SET failed >>> obj_num %d
|
||||
char *D_800EC8CC = "<<< G_SHELL SET 失敗 >>> obj_num %d \n";
|
||||
char *D_800EC8CC = "<<< G_SHELL SET 失敗 >>> obj_num %d \n";
|
||||
// <<< G_SHELL SET failed >>> object_count %d
|
||||
char *D_800EC8F4 = "<<< G_SHELL SET 失敗 >>> object_count %d \n";
|
||||
char *D_800EC8F4 = "<<< G_SHELL SET 失敗 >>> object_count %d \n";
|
||||
// G_SHELL Caught in owner check. (num %d)
|
||||
char *D_800EC920 = "G_SHELL 所有者チェックに引っ掛かりました。(num %d)\n";
|
||||
char *D_800EC920 = "G_SHELL 所有者チェックに引っ掛かりました。(num %d)\n";
|
||||
// Reason: EXISTOBJ
|
||||
char *D_800EC954 = "理由: EXISTOBJ \n";
|
||||
char *D_800EC954 = "理由: EXISTOBJ \n";
|
||||
// Reason: category
|
||||
char *D_800EC968 = "理由: category \n";
|
||||
char *D_800EC968 = "理由: category \n";
|
||||
// Reason: sparam
|
||||
char *D_800EC97C = "理由: sparam \n";
|
||||
char *D_800EC97C = "理由: sparam \n";
|
||||
// Reason: num
|
||||
char *D_800EC98C = "理由: num \n";
|
||||
char *D_800EC98C = "理由: num \n";
|
||||
// Just before launch G_SHELL Caught in owner check. (num %d)
|
||||
char *D_800EC998 = "発射直前 G_SHELL 所有者チェックに引っ掛かりました。(num %d)\n";
|
||||
char *D_800EC998 = "発射直前 G_SHELL 所有者チェックに引っ掛かりました。(num %d)\n";
|
||||
// Reason: EXISTOBJ
|
||||
char *D_800EC9D8 = "理由: EXISTOBJ \n";
|
||||
char *D_800EC9D8 = "理由: EXISTOBJ \n";
|
||||
// Reason: category
|
||||
char *D_800EC9EC = "理由: category \n";
|
||||
char *D_800EC9EC = "理由: category \n";
|
||||
// Reason: sparam
|
||||
char *D_800ECA00 = "理由: sparam \n";
|
||||
char *D_800ECA00 = "理由: sparam \n";
|
||||
// Reason: num
|
||||
char *D_800ECA10 = "理由: num \n";
|
||||
char *D_800ECA10 = "理由: num \n";
|
||||
// G_SHELL firing (num %d)
|
||||
char *D_800ECA1C = "G_SHELL 発射 (num %d)\n";
|
||||
char *D_800ECA1C = "G_SHELL 発射 (num %d)\n";
|
||||
char *D_800ECA34 = "R_SHELL HOLD (num %d time %d hold_time %d obj_num %d)\n";
|
||||
// <<< R_SHELL SET failed >>> obj_num %d
|
||||
char *D_800ECA70 = "<<< R_SHELL SET 失敗 >>> obj_num %d \n";
|
||||
char *D_800ECA70 = "<<< R_SHELL SET 失敗 >>> obj_num %d \n";
|
||||
// <<< R_SHELL SET failed >>> object_count %d
|
||||
char *D_800ECA98 = "<<< R_SHELL SET 失敗 >>> object_count %d \n";
|
||||
char *D_800ECA98 = "<<< R_SHELL SET 失敗 >>> object_count %d \n";
|
||||
// R_SHELL Caught in owner check. (num %d)
|
||||
char *D_800ECAC4 = "R_SHELL 所有者チェックに引っ掛かりました。(num %d)\n";
|
||||
char *D_800ECAC4 = "R_SHELL 所有者チェックに引っ掛かりました。(num %d)\n";
|
||||
// Reason: EXISTOBJ
|
||||
char *D_800ECAF8 = "理由: EXISTOBJ \n";
|
||||
char *D_800ECAF8 = "理由: EXISTOBJ \n";
|
||||
// Reason: category
|
||||
char *D_800ECB0C = "理由: category \n";
|
||||
char *D_800ECB0C = "理由: category \n";
|
||||
// Reason: sparam
|
||||
char *D_800ECB20 = "理由: sparam \n";
|
||||
char *D_800ECB20 = "理由: sparam \n";
|
||||
// Reason: num
|
||||
char *D_800ECB30 = "理由: num \n";
|
||||
char *D_800ECB30 = "理由: num \n";
|
||||
char *D_800ECB3C = "R_SHELL SHOOT (num %d time %d hold_time %d obj_num %d)\n";
|
||||
// Just before launch R_SHELL Caught in owner check. (num %d)
|
||||
char *D_800ECB78 = "発射直前 R_SHELL 所有者チェックに引っ掛かりました。(num %d)\n";
|
||||
char *D_800ECB78 = "発射直前 R_SHELL 所有者チェックに引っ掛かりました。(num %d)\n";
|
||||
// Reason: EXISTOBJ
|
||||
char *D_800ECBB8 = "理由: EXISTOBJ \n";
|
||||
char *D_800ECBB8 = "理由: EXISTOBJ \n";
|
||||
// Reason: category
|
||||
char *D_800ECBCC = "理由: category \n";
|
||||
char *D_800ECBCC = "理由: category \n";
|
||||
// Reason: sparam
|
||||
char *D_800ECBE0 = "理由: sparam \n";
|
||||
char *D_800ECBE0 = "理由: sparam \n";
|
||||
// Reason: num
|
||||
char *D_800ECBF0 = "理由: num \n";
|
||||
char *D_800ECBF0 = "理由: num \n";
|
||||
// R_SHELL firing (num %d)
|
||||
char *D_800ECBFC = "R_SHELL 発射 (num %d)\n";
|
||||
char *D_800ECBFC = "R_SHELL 発射 (num %d)\n";
|
||||
char *D_800ECC14 = "S_BANANA HOLD (num %d time %d hold_time %d)\n";
|
||||
// <<< SUPER_BANANA SET failed >>> obj_num %d
|
||||
char *D_800ECC44 = "<<< SUPER_BANANA SET 失敗 >>> obj_num %d \n";
|
||||
char *D_800ECC44 = "<<< SUPER_BANANA SET 失敗 >>> obj_num %d \n";
|
||||
// <<< SUPER_BANANA SET failed >>> object_count %d
|
||||
char *D_800ECC70 = "<<< SUPER_BANANA SET 失敗 >>> object_count %d \n";
|
||||
char *D_800ECC70 = "<<< SUPER_BANANA SET 失敗 >>> object_count %d \n";
|
||||
// S_BANANA Caught in owner check. (num %d)
|
||||
char *D_800ECCA0 = "S_BANANA 所有者チェックに引っ掛かりました。(num %d)\n";
|
||||
char *D_800ECCA0 = "S_BANANA 所有者チェックに引っ掛かりました。(num %d)\n";
|
||||
// Reason: category
|
||||
char *D_800ECCD8 = "理由: category \n";
|
||||
char *D_800ECCD8 = "理由: category \n";
|
||||
// Reason: sparam
|
||||
char *D_800ECCEC = "理由: sparam \n";
|
||||
char *D_800ECCEC = "理由: sparam \n";
|
||||
// Reason: sb_ok
|
||||
char *D_800ECCFC = "理由: sb_ok \n";
|
||||
char *D_800ECCFC = "理由: sb_ok \n";
|
||||
char *D_800ECD0C = "S_BANANA RELEASE (num %d time %d )\n";
|
||||
// <<< FAKE IBOX SET failed >>> obj_num %d
|
||||
char *D_800ECD34 = "<<< FAKE IBOX SET 失敗 >>> obj_num %d \n";
|
||||
char *D_800ECD34 = "<<< FAKE IBOX SET 失敗 >>> obj_num %d \n";
|
||||
// IBOX Caught in owner check. (num %d)
|
||||
char *D_800ECD5C = "IBOX 所有者チェックに引っ掛かりました。(num %d)\n";
|
||||
char *D_800ECD5C = "IBOX 所有者チェックに引っ掛かりました。(num %d)\n";
|
||||
// Reason: EXISTOBJ
|
||||
char *D_800ECD90 = "理由: EXISTOBJ \n";
|
||||
char *D_800ECD90 = "理由: EXISTOBJ \n";
|
||||
// Reason: category
|
||||
char *D_800ECDA4 = "理由: category \n";
|
||||
char *D_800ECDA4 = "理由: category \n";
|
||||
// Reason: sparam
|
||||
char *D_800ECDB8 = "理由: sparam \n";
|
||||
char *D_800ECDB8 = "理由: sparam \n";
|
||||
// Reason: num
|
||||
char *D_800ECDC8 = "理由: num \n";
|
||||
char *D_800ECDC8 = "理由: num \n";
|
||||
char *D_800ECDD4 = "FBOX HOLD (num %d time %d hold_time %d)\n";
|
||||
// Installation IBOX owner check failed. (num %d)
|
||||
char *D_800ECE00 = "設置 IBOX 所有者チェックに引っ掛かりました。(num %d)\n";
|
||||
char *D_800ECE00 = "設置 IBOX 所有者チェックに引っ掛かりました。(num %d)\n";
|
||||
// Reason: EXISTOBJ
|
||||
char *D_800ECE38 = "理由: EXISTOBJ \n";
|
||||
char *D_800ECE38 = "理由: EXISTOBJ \n";
|
||||
// Reason: category
|
||||
char *D_800ECE4C = "理由: category \n";
|
||||
char *D_800ECE4C = "理由: category \n";
|
||||
// Reason: sparam
|
||||
char *D_800ECE60 = "理由: sparam \n";
|
||||
char *D_800ECE60 = "理由: sparam \n";
|
||||
// Reason: num
|
||||
char *D_800ECE70 = "理由: num \n";
|
||||
char *D_800ECE70 = "理由: num \n";
|
||||
// Ray START (%d)
|
||||
char *D_800ECE7C = "雷START (%d)\n";
|
||||
char *D_800ECE7C = "雷START (%d)\n";
|
||||
// Ray END (%d)
|
||||
char *D_800ECE8C = "雷END (%d)\n";
|
||||
char *D_800ECE8C = "雷END (%d)\n";
|
||||
// ---------- Initialization of commendation table
|
||||
char *D_800ECE98 = "---------- 表彰台初期化\n";
|
||||
char *D_800ECE98 = "---------- 表彰台初期化\n";
|
||||
// map_number = %d -> 20 Rewriting.
|
||||
char *D_800ECEB4 = "map_number = %d - > 20 書き換え中。\n";
|
||||
char *D_800ECEB4 = "map_number = %d - > 20 書き換え中。\n";
|
||||
// OGA Recognition move begins
|
||||
char *D_800ECEDC = "OGA 表彰 move 開始\n";
|
||||
char *D_800ECEDC = "OGA 表彰 move 開始\n";
|
||||
// I called the display of the 4th place person.
|
||||
char *D_800ECEF0 = "4位の人の表示をコールしました。\n";
|
||||
char *D_800ECEF0 = "4位の人の表示をコールしました。\n";
|
||||
// Arrive at the podium
|
||||
char *D_800ECF14 = "表彰台に到着\n";
|
||||
char *D_800ECF14 = "表彰台に到着\n";
|
||||
// Everyone gather!
|
||||
char *D_800ECF24 = "全員集合!\n";
|
||||
char *D_800ECF24 = "全員集合!\n";
|
||||
// Arrive on the road
|
||||
char *D_800ECF30 = "道路に到着\n";
|
||||
char *D_800ECF30 = "道路に到着\n";
|
||||
// 4th place finished
|
||||
char *D_800ECF3C = "4位の人終了\n";
|
||||
char *D_800ECF3C = "4位の人終了\n";
|
||||
// OGA commendation move end
|
||||
char *D_800ECF4C = "OGA 表彰 move 終了\n";
|
||||
char *D_800ECF4C = "OGA 表彰 move 終了\n";
|
||||
char *D_800ECF60 = "OGAWA DEBUG DRAW\n";
|
||||
|
||||
s16 func_80005FD0(Vec3f arg0, Vec3f arg1) {
|
||||
|
|
|
|||
122
src/credits.c
122
src/credits.c
|
|
@ -135,67 +135,67 @@ char *D_802854B0[] = {
|
|||
// Japanese Credits
|
||||
// Note that these are EUC-JP encoded, see:
|
||||
// https://en.wikipedia.org/wiki/Extended_Unix_Code#EUC-JP
|
||||
"エグゼクティブ プロデューサー",
|
||||
"やまうち ひろし",
|
||||
"プロデューサー",
|
||||
"みやもと しげる",
|
||||
"ディレクター",
|
||||
"こんの ひでき",
|
||||
"アシスタント ディレクター",
|
||||
"おおやぎ やすゆき",
|
||||
"プログラマー",
|
||||
"きむら まさと",
|
||||
"やまもと けんじ",
|
||||
"かわぐち やすひろ",
|
||||
"おがわ ゆずる",
|
||||
"かわの まさひろ",
|
||||
"よしもと ひろひと",
|
||||
"デモ シーケンス プログラマー",
|
||||
"エグゼクティブ プロデューサー",
|
||||
"やまうち ひろし",
|
||||
"プロデューサー",
|
||||
"みやもと しげる",
|
||||
"ディレクター",
|
||||
"こんの ひでき",
|
||||
"アシスタント ディレクター",
|
||||
"おおやぎ やすゆき",
|
||||
"プログラマー",
|
||||
"きむら まさと",
|
||||
"やまもと けんじ",
|
||||
"かわぐち やすひろ",
|
||||
"おがわ ゆずる",
|
||||
"かわの まさひろ",
|
||||
"よしもと ひろひと",
|
||||
"デモ シーケンス プログラマー",
|
||||
"",
|
||||
"やじま はじめ",
|
||||
"かわごえ たくみ",
|
||||
"ビジュアル ディレクター",
|
||||
"すぎやま ただし",
|
||||
"cg キャラクター デザイナー",
|
||||
"やじま はじめ",
|
||||
"かわごえ たくみ",
|
||||
"ビジュアル ディレクター",
|
||||
"すぎやま ただし",
|
||||
"cg キャラクター デザイナー",
|
||||
"",
|
||||
"くろうめ ともあき",
|
||||
"たけなか ひろあき",
|
||||
"とよだ ときひこ",
|
||||
"ひの しげふみ",
|
||||
"ありもと まさなお",
|
||||
"のがみ ひさし",
|
||||
"cg マップ デザイナー",
|
||||
"みやなが まこと",
|
||||
"もり なおき",
|
||||
"くわばら ひろやす",
|
||||
"ミュージック コンポーザー",
|
||||
"ながた けんた",
|
||||
"サウンド プログラマー",
|
||||
"ばんどう たろう",
|
||||
"いながき ようじ",
|
||||
"サンプリンング ボイス",
|
||||
"こうづき あさこ",
|
||||
"まるの ともこ",
|
||||
"ちゃーるず まるてぃね",
|
||||
"じゅりあん ばるだこふ",
|
||||
"とます すぴんどらー",
|
||||
"じょん ひゅーらとん",
|
||||
"テクニカル サポート",
|
||||
"さわの たかお",
|
||||
"たかはし つよし",
|
||||
"やだ ひろひと",
|
||||
"プログレス マネージメント",
|
||||
"ふくい きみよし",
|
||||
"かとう けいぞう",
|
||||
"スペシャル サンクス",
|
||||
"さかい やすひろ",
|
||||
"にしかわ よしたか",
|
||||
"ふじい ひでき",
|
||||
"なかの ゆうすけ",
|
||||
"やまぐち わたる",
|
||||
"にんてんどう じょーかい",
|
||||
"すーぱー まりお くらぶ",
|
||||
"れあ りみてっど",
|
||||
" おしまい",
|
||||
" まりおかーと64 すたっふ"
|
||||
"くろうめ ともあき",
|
||||
"たけなか ひろあき",
|
||||
"とよだ ときひこ",
|
||||
"ひの しげふみ",
|
||||
"ありもと まさなお",
|
||||
"のがみ ひさし",
|
||||
"cg マップ デザイナー",
|
||||
"みやなが まこと",
|
||||
"もり なおき",
|
||||
"くわばら ひろやす",
|
||||
"ミュージック コンポーザー",
|
||||
"ながた けんた",
|
||||
"サウンド プログラマー",
|
||||
"ばんどう たろう",
|
||||
"いながき ようじ",
|
||||
"サンプリンング ボイス",
|
||||
"こうづき あさこ",
|
||||
"まるの ともこ",
|
||||
"ちゃーるず まるてぃね",
|
||||
"じゅりあん ばるだこふ",
|
||||
"とます すぴんどらー",
|
||||
"じょん ひゅーらとん",
|
||||
"テクニカル サポート",
|
||||
"さわの たかお",
|
||||
"たかはし つよし",
|
||||
"やだ ひろひと",
|
||||
"プログレス マネージメント",
|
||||
"ふくい きみよし",
|
||||
"かとう けいぞう",
|
||||
"スペシャル サンクス",
|
||||
"さかい やすひろ",
|
||||
"にしかわ よしたか",
|
||||
"ふじい ひでき",
|
||||
"なかの ゆうすけ",
|
||||
"やまぐち わたる",
|
||||
"にんてんどう じょーかい",
|
||||
"すーぱー まりお くらぶ",
|
||||
"れあ りみてっど",
|
||||
" おしまい",
|
||||
" まりおかーと64 すたっふ"
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in New Issue