Match credits (#297)

* Match credits data and ro data

Signed-off-by: Taggerung <tyler.taggerung@gmail.com>
This commit is contained in:
Tyler McGavran 2023-03-31 07:40:53 -04:00 committed by GitHub
parent 782ed71f61
commit 6b4d71e66c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 134 additions and 284 deletions

View File

@ -1,242 +0,0 @@
.include "macros.inc"
.data
glabel D_englishCredits
# English credits
.asciiz "executive producer"
.balign 4
.asciiz "hiroshi yamauchi"
.balign 4
.asciiz "producer"
.balign 4
.asciiz "shigeru miyamoto"
.balign 4
.asciiz "director"
.balign 4
.asciiz "hideki konno"
.balign 4
.asciiz "assistant director"
.balign 4
.asciiz "yasuyuki oyagi"
.balign 4
.asciiz "programmer"
.balign 4
.asciiz "masato kimura"
.balign 4
.asciiz "kenji yamamoto"
.balign 4
.asciiz "yasuhiro kawaguchi"
.balign 4
.asciiz "yuzuru ogawa"
.balign 4
.asciiz "masahiro kawano"
.balign 4
.asciiz "hirohito yoshimoto"
.balign 4
.asciiz "demo sequence programmer"
.balign 4
.asciiz ""
.balign 4
.asciiz "hajime yajima"
.balign 4
.asciiz "takumi kawagoe"
.balign 4
.asciiz "visual director"
.balign 4
.asciiz "tadashi sugiyama"
.balign 4
.asciiz "c.g.character designer"
.balign 4
.asciiz ""
.balign 4
.asciiz "tomoaki kuroume"
.balign 4
.asciiz "hiroaki takenaka"
.balign 4
.asciiz "tokihiko toyoda"
.balign 4
.asciiz "shigefumi hino"
.balign 4
.asciiz "masanao arimoto"
.balign 4
.asciiz "hisashi nogami"
.balign 4
.asciiz "c.g.map designer"
.balign 4
.asciiz "makoto miyanaga"
.balign 4
.asciiz "naoki mori"
.balign 4
.asciiz "hiroyasu kuwabara"
.balign 4
.asciiz "music composer"
.balign 4
.asciiz "kenta nagata"
.balign 4
.asciiz "sound programmer"
.balign 4
.asciiz "taro bando"
.balign 4
.asciiz "yoji inagaki"
.balign 4
.asciiz "sampling voice"
.balign 4
.asciiz "charles martinet"
.balign 4
.asciiz "leslie swan"
.balign 4
.asciiz "isaac marshall"
.balign 4
.asciiz ""
.balign 4
.asciiz ""
.balign 4
.asciiz ""
.balign 4
.asciiz "technical support"
.balign 4
.asciiz "takao sawano"
.balign 4
.asciiz "tsuyoshi takahashi"
.balign 4
.asciiz "hirohito yada"
.balign 4
.asciiz "progress management"
.balign 4
.asciiz "kimiyoshi fukui"
.balign 4
.asciiz "keizo kato"
.balign 4
.asciiz "special thanks"
.balign 4
.asciiz "yasuhiro sakai"
.balign 4
.asciiz "yoshitaka nishikawa"
.balign 4
.asciiz "hideki fujii"
.balign 4
.asciiz "yusuke nakano"
.balign 4
.asciiz "wataru yamaguchi"
.balign 4
.asciiz "phil sandhop"
.balign 4
.asciiz "super mario club"
.balign 4
.asciiz "Donkey Kong 3-D Model Provided Courtesy of Rare U.K."
.balign 4
.asciiz "the end"
.balign 4
.asciiz "mariokart64 staff"
/*
The encoding on these strings is very odd.
As best as I can tell they are encoded as specified by either:
the euc-jis-2004 standard
or
the JIS X 0213 standard
I can't tell which, they may be the same thing, or one may have
superceded the other. I can't quite tell
See http://x0213.org/codetable/euc-jis-2004-std.txt for a table
that maps euc-jis-2004 codes to equivalent Unicode
If the MSB of a character is 0 its treated like plain Unicode.
So 0x20 is still a space, 0x4D is still "m", like in Unicode/ASCII
If the MSB of a character is 1 its a control character, which
indicates that the next byte has a special interpretation.
For our purposes its always(?) a katakana glyph.
See char_to_glyph_index for reference, it looks for those
control characters if the byte isn't in the usual ASCII range
*/
# Japanse credits
.word 0xA5A8A5B0, 0xA5BCA5AF, 0xA5C6A5A3, 0xA5D620A5
.word 0xD7A5EDA5, 0xC7A5E5A1, 0xBCA5B5A1, 0xBC000000
.word 0xA4E4A4DE, 0xA4A6A4C1, 0x20A4D2A4, 0xEDA4B700
.word 0xA5D7A5ED, 0xA5C7A5E5, 0xA1BCA5B5, 0xA1BC0000
.word 0xA4DFA4E4, 0xA4E2A4C8, 0x20A4B7A4, 0xB2A4EB00
.word 0xA5C7A5A3, 0xA5ECA5AF, 0xA5BFA1BC, 0x00000000
.word 0xA4B3A4F3, 0xA4CE20A4, 0xD2A4C7A4, 0xAD000000
.word 0xA5A2A5B7, 0xA5B9A5BF, 0xA5F3A5C8, 0x20A5C7A5
.word 0xA3A5ECA5, 0xAFA5BFA1, 0xBC000000, 0xA4AAA4AA
.word 0xA4E4A4AE, 0x20A4E4A4, 0xB9A4E6A4, 0xAD000000
.word 0xA5D7A5ED, 0xA5B0A5E9, 0xA5DEA1BC, 0x00000000
.word 0xA4ADA4E0, 0xA4E920A4, 0xDEA4B5A4, 0xC8000000
.word 0xA4E4A4DE, 0xA4E2A4C8, 0x20A4B1A4, 0xF3A4B800
.word 0xA4ABA4EF, 0xA4B0A4C1, 0x20A4E4A4, 0xB9A4D2A4
.word 0xED000000, 0xA4AAA4AC, 0xA4EF20A4, 0xE6A4BAA4
.word 0xEB000000, 0xA4ABA4EF, 0xA4CE20A4, 0xDEA4B5A4
.word 0xD2A4ED00, 0xA4E8A4B7, 0xA4E2A4C8, 0x20A4D2A4
.word 0xEDA4D2A4, 0xC8000000, 0xA5C7A5E2, 0x20A5B7A1
.word 0xBCA5B1A5, 0xF3A5B920, 0xA5D7A5ED, 0xA5B0A5E9
.word 0xA5DEA1BC, 0x00000000, 0x00000000, 0xA4E4A4B8
.word 0xA4DE20A4, 0xCFA4B8A4, 0xE1000000, 0xA4ABA4EF
.word 0xA4B4A4A8, 0x20A4BFA4, 0xAFA4DF00, 0xA5D3A5B8
.word 0xA5E5A5A2, 0xA5EB20A5, 0xC7A5A3A5, 0xECA5AFA5
.word 0xBFA1BC00, 0xA4B9A4AE, 0xA4E4A4DE, 0x20A4BFA4
.word 0xC0A4B700, 0x636720A5, 0xADA5E3A5, 0xE9A5AFA5
.word 0xBFA1BC20, 0xA5C7A5B6, 0xA5A4A5CA, 0xA1BC0000
.word 0x00000000, 0xA4AFA4ED, 0xA4A6A4E1, 0x20A4C8A4
.word 0xE2A4A2A4, 0xAD000000, 0xA4BFA4B1, 0xA4CAA4AB
.word 0x20A4D2A4, 0xEDA4A2A4, 0xAD000000, 0xA4C8A4E8
.word 0xA4C020A4, 0xC8A4ADA4, 0xD2A4B300, 0xA4D2A4CE
.word 0x20A4B7A4, 0xB2A4D5A4, 0xDF000000, 0xA4A2A4EA
.word 0xA4E2A4C8, 0x20A4DEA4, 0xB5A4CAA4, 0xAA000000
.word 0xA4CEA4AC, 0xA4DF20A4, 0xD2A4B5A4, 0xB7000000
.word 0x636720A5, 0xDEA5C3A5, 0xD720A5C7, 0xA5B6A5A4
.word 0xA5CAA1BC, 0x00000000, 0xA4DFA4E4, 0xA4CAA4AC
.word 0x20A4DEA4, 0xB3A4C800, 0xA4E2A4EA, 0x20A4CAA4
.word 0xAAA4AD00, 0xA4AFA4EF, 0xA4D0A4E9, 0x20A4D2A4
.word 0xEDA4E4A4, 0xB9000000, 0xA5DFA5E5, 0xA1BCA5B8
.word 0xA5C3A5AF, 0x20A5B3A5, 0xF3A5DDA1, 0xBCA5B6A1
.word 0xBC000000, 0xA4CAA4AC, 0xA4BF20A4, 0xB1A4F3A4
.word 0xBF000000, 0xA5B5A5A6, 0xA5F3A5C9, 0x20A5D7A5
.word 0xEDA5B0A5, 0xE9A5DEA1, 0xBC000000, 0xA4D0A4F3
.word 0xA4C9A4A6, 0x20A4BFA4, 0xEDA4A600, 0xA4A4A4CA
.word 0xA4ACA4AD, 0x20A4E8A4, 0xA6A4B800, 0xA5B5A5F3
.word 0xA5D7A5EA, 0xA5F3A5F3, 0xA5B020A5, 0xDCA5A4A5
.word 0xB9000000, 0xA4B3A4A6, 0xA4C5A4AD, 0x20A4A2A4
.word 0xB5A4B300, 0xA4DEA4EB, 0xA4CE20A4, 0xC8A4E2A4
.word 0xB3000000, 0xA4C1A4E3, 0xA1BCA4EB, 0xA4BA20A4
.word 0xDEA4EBA4, 0xC6A4A3A4, 0xCD000000, 0xA4B8A4E5
.word 0xA4EAA4A2, 0xA4F320A4, 0xD0A4EBA4, 0xC0A4B3A4
.word 0xD5000000, 0xA4C8A4DE, 0xA4B920A4, 0xB9A4D4A4
.word 0xF3A4C9A4, 0xE9A1BC00, 0xA4B8A4E7, 0xA4F320A4
.word 0xD2A4E5A1, 0xBCA4E9A4, 0xC8A4F300, 0xA5C6A5AF
.word 0xA5CBA5AB, 0xA5EB20A5, 0xB5A5DDA1, 0xBCA5C800
.word 0xA4B5A4EF, 0xA4CE20A4, 0xBFA4ABA4, 0xAA000000
.word 0xA4BFA4AB, 0xA4CFA4B7, 0x20A4C4A4, 0xE8A4B700
.word 0xA4E4A4C0, 0x20A4D2A4, 0xEDA4D2A4, 0xC8000000
.word 0xA5D7A5ED, 0xA5B0A5EC, 0xA5B920A5, 0xDEA5CDA1
.word 0xBCA5B8A5, 0xE1A5F3A5, 0xC8000000, 0xA4D5A4AF
.word 0xA4A420A4, 0xADA4DFA4, 0xE8A4B700, 0xA4ABA4C8
.word 0xA4A620A4, 0xB1A4A4A4, 0xBEA4A600, 0xA5B9A5DA
.word 0xA5B7A5E3, 0xA5EB20A5, 0xB5A5F3A5, 0xAFA5B900
.word 0xA4B5A4AB, 0xA4A420A4, 0xE4A4B9A4, 0xD2A4ED00
.word 0xA4CBA4B7, 0xA4ABA4EF, 0x20A4E8A4, 0xB7A4BFA4
.word 0xAB000000, 0xA4D5A4B8, 0xA4A420A4, 0xD2A4C7A4
.word 0xAD000000, 0xA4CAA4AB, 0xA4CE20A4, 0xE6A4A6A4
.word 0xB9A4B100, 0xA4E4A4DE, 0xA4B0A4C1, 0x20A4EFA4
.word 0xBFA4EB00, 0xA4CBA4F3, 0xA4C6A4F3, 0xA4C9A4A6
.word 0x20A4B8A4, 0xE7A1BCA4, 0xABA4A400, 0xA4B9A1BC
.word 0xA4D1A1BC, 0x20A4DEA4, 0xEAA4AA20, 0xA4AFA4E9
.word 0xA4D60000, 0xA4ECA4A2, 0x20A4EAA4, 0xDFA4C6A4
.word 0xC3A4C900, 0x2020A4AA, 0xA4B7A4DE, 0xA4A40000
.word 0x20A4DEA4, 0xEAA4AAA4, 0xABA1BCA4, 0xC8363420
.word 0xA4B9A4BF, 0xA4C3A4D5
.word 0x00000000, 0x00000000, 0x00000000, 0x00000000
#glabel D_80287470
#.word 0x3F2AAAAB
#glabel D_80287474
#.word 0x3E2AAAAB
#glabel D_80287478
#.word 0x3F666666
#glabel D_8028747C
#.word 0xC52EC000

View File

@ -407,11 +407,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_01.inc.o(.data);
BUILD_DIR/src/credits.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/data/data_credits_128480_2.o(.data);
BUILD_DIR/src/credits.o(.rodata);
BUILD_DIR/src/ceremony_and_credits.o(.rodata);
}
END_SEG(code_80280000)

View File

@ -9,7 +9,7 @@
#include "menus.h"
#include "code_800B45E0.h"
#include "code_80057C60.h"
#include "credits_01.h"
#include "credits.h"
#include "data_segment2.h"
#include "code_800AF9B0.h"
#include "variables.h"

View File

@ -1,4 +1,4 @@
#include "credits_01.h"
#include "credits.h"
#include "defines.h"
struct_802850C0_entry D_802850C0[] = {
@ -67,43 +67,135 @@ struct_802850C0_entry D_802850C0[] = {
{0.90f, 520, 130, 160, 130, SLIDE_LEFT, TEXT_YELLOW, 0},
};
// These are pointers to the actual credit text after its been copied out of
// the cartridge ROM
// It would be nice to find a way to instantiate this array that didn't involve
// a bunch of type-casting
char *D_802854B0[] = {
// English Credits
(char*) 0x80286BB0, (char*) 0x80286BC4, (char*) 0x80286BD8, (char*) 0x80286BE4,
(char*) 0x80286BF8, (char*) 0x80286C04, (char*) 0x80286C14, (char*) 0x80286C28,
(char*) 0x80286C38, (char*) 0x80286C44, (char*) 0x80286C54, (char*) 0x80286C64,
(char*) 0x80286C78, (char*) 0x80286C88, (char*) 0x80286C98, (char*) 0x80286CAC,
(char*) 0x80286CC8, (char*) 0x80286CCC, (char*) 0x80286CDC, (char*) 0x80286CEC,
(char*) 0x80286CFC, (char*) 0x80286D10, (char*) 0x80286D28, (char*) 0x80286D2C,
(char*) 0x80286D3C, (char*) 0x80286D50, (char*) 0x80286D60, (char*) 0x80286D70,
(char*) 0x80286D80, (char*) 0x80286D90, (char*) 0x80286DA4, (char*) 0x80286DB4,
(char*) 0x80286DC0, (char*) 0x80286DD4, (char*) 0x80286DE4, (char*) 0x80286DF4,
(char*) 0x80286E08, (char*) 0x80286E14, (char*) 0x80286E24, (char*) 0x80286E34,
(char*) 0x80286E48, (char*) 0x80286E54, (char*) 0x80286E64, (char*) 0x80286E68,
(char*) 0x80286E6C, (char*) 0x80286E70, (char*) 0x80286E84, (char*) 0x80286E94,
(char*) 0x80286EA8, (char*) 0x80286EB8, (char*) 0x80286ECC, (char*) 0x80286EDC,
(char*) 0x80286EE8, (char*) 0x80286EF8, (char*) 0x80286F08, (char*) 0x80286F1C,
(char*) 0x80286F2C, (char*) 0x80286F3C, (char*) 0x80286F50, (char*) 0x80286F60,
(char*) 0x80286F74, (char*) 0x80286FAC, (char*) 0x80286FB4,
"executive producer",
"hiroshi yamauchi",
"producer",
"shigeru miyamoto",
"director",
"hideki konno",
"assistant director",
"yasuyuki oyagi",
"programmer",
"masato kimura",
"kenji yamamoto",
"yasuhiro kawaguchi",
"yuzuru ogawa",
"masahiro kawano",
"hirohito yoshimoto",
"demo sequence programmer",
"",
"hajime yajima",
"takumi kawagoe",
"visual director",
"tadashi sugiyama",
"c.g.character designer",
"",
"tomoaki kuroume",
"hiroaki takenaka",
"tokihiko toyoda",
"shigefumi hino",
"masanao arimoto",
"hisashi nogami",
"c.g.map designer",
"makoto miyanaga",
"naoki mori",
"hiroyasu kuwabara",
"music composer",
"kenta nagata",
"sound programmer",
"taro bando",
"yoji inagaki",
"sampling voice",
"charles martinet",
"leslie swan",
"isaac marshall",
"",
"",
"",
"technical support",
"takao sawano",
"tsuyoshi takahashi",
"hirohito yada",
"progress management",
"kimiyoshi fukui",
"keizo kato",
"special thanks",
"yasuhiro sakai",
"yoshitaka nishikawa",
"hideki fujii",
"yusuke nakano",
"wataru yamaguchi",
"phil sandhop",
"super mario club",
"Donkey Kong 3-D Model Provided Courtesy of Rare U.K.",
"the end",
"mariokart64 staff",
// Japanese Credits
(char*) 0x80286FC8, (char*) 0x80286FE8, (char*) 0x80286FF8, (char*) 0x80287008,
(char*) 0x80287018, (char*) 0x80287028, (char*) 0x80287038, (char*) 0x80287054,
(char*) 0x80287068, (char*) 0x80287078, (char*) 0x80287088, (char*) 0x80287098,
(char*) 0x802870AC, (char*) 0x802870BC, (char*) 0x802870CC, (char*) 0x802870E0,
(char*) 0x80287100, (char*) 0x80287104, (char*) 0x80287114, (char*) 0x80287124,
(char*) 0x8028713C, (char*) 0x8028714C, (char*) 0x80287168, (char*) 0x8028716C,
(char*) 0x80287180, (char*) 0x80287194, (char*) 0x802871A4, (char*) 0x802871B4,
(char*) 0x802871C8, (char*) 0x802871D8, (char*) 0x802871F0, (char*) 0x80287200,
(char*) 0x8028720C, (char*) 0x80287220, (char*) 0x8028723C, (char*) 0x8028724C,
(char*) 0x80287264, (char*) 0x80287274, (char*) 0x80287284, (char*) 0x8028729C,
(char*) 0x802872AC, (char*) 0x802872BC, (char*) 0x802872D4, (char*) 0x802872EC,
(char*) 0x80287300, (char*) 0x80287314, (char*) 0x80287328, (char*) 0x80287338,
(char*) 0x80287348, (char*) 0x80287358, (char*) 0x80287374, (char*) 0x80287384,
(char*) 0x80287394, (char*) 0x802873A8, (char*) 0x802873B8, (char*) 0x802873CC,
(char*) 0x802873DC, (char*) 0x802873EC, (char*) 0x802873FC, (char*) 0x80287414,
(char*) 0x8028742C, (char*) 0x8028743C, (char*) 0x80287448,
// Note that these are EUC-JP encoded, see:
// https://en.wikipedia.org/wiki/Extended_Unix_Code#EUC-JP
"エグゼクティブ プロデューサー",
"やまうち ひろし",
"プロデューサー",
"みやもと しげる",
"ディレクター",
"こんの ひでき",
"アシスタント ディレクター",
"おおやぎ やすゆき",
"プログラマー",
"きむら まさと",
"やまもと けんじ",
"かわぐち やすひろ",
"おがわ ゆずる",
"かわの まさひろ",
"よしもと ひろひと",
"デモ シーケンス プログラマー",
"",
"やじま はじめ",
"かわごえ たくみ",
"ビジュアル ディレクター",
"すぎやま ただし",
"cg キャラクター デザイナー",
"",
"くろうめ ともあき",
"たけなか ひろあき",
"とよだ ときひこ",
"ひの しげふみ",
"ありもと まさなお",
"のがみ ひさし",
"cg マップ デザイナー",
"みやなが まこと",
"もり なおき",
"くわばら ひろやす",
"ミュージック コンポーザー",
"ながた けんた",
"サウンド プログラマー",
"ばんどう たろう",
"いながき ようじ",
"サンプリンング ボイス",
"こうづき あさこ",
"まるの ともこ",
"ちゃーるず まるてぃね",
"じゅりあん ばるだこふ",
"とます すぴんどらー",
"じょん ひゅーらとん",
"テクニカル サポート",
"さわの たかお",
"たかはし つよし",
"やだ ひろひと",
"プログレス マネージメント",
"ふくい きみよし",
"かとう けいぞう",
"スペシャル サンクス",
"さかい やすひろ",
"にしかわ よしたか",
"ふじい ひでき",
"なかの ゆうすけ",
"やまぐち わたる",
"にんてんどう じょーかい",
"すーぱー まりお くらぶ",
"れあ りみてっど",
" おしまい",
" まりおかーと64 すたっふ"
};

View File

@ -1,5 +1,5 @@
#ifndef CREDIT_01_H
#define CREDIT_01_H
#ifndef CREDITS_H
#define CREDITS_H
#include "PR/ultratypes.h"