diff --git a/src/core/savegame/actorConstants.js b/src/core/savegame/actorConstants.js index 2baec7e..54fd72b 100644 --- a/src/core/savegame/actorConstants.js +++ b/src/core/savegame/actorConstants.js @@ -607,6 +607,79 @@ export const ActorInfoInit = Object.freeze([ P(null, null, 0, LC, CA, 7), P(null, null, 0, LC, CA, 7)] } ]); +/** + * Display names for the 66 actors, from savegame.ksy doc comments. + * Falls back to the internal name (ActorInfoInit[i].name) when not listed. + */ +export const ActorDisplayNames = Object.freeze([ + /* 0 */ 'Pepper Roni', + /* 1 */ 'Mama Brickolini', + /* 2 */ 'Papa Brickolini', + /* 3 */ 'Nick Brick', + /* 4 */ 'Laura Brick', + /* 5 */ 'Infomaniac', + /* 6 */ 'Brickster', + /* 7 */ 'Studs Linkin', + /* 8 */ 'Rhoda Hogg', + /* 9 */ 'Valerie Stubbins', + /* 10 */ 'Snap Lockitt', + /* 11 */ 'pt', + /* 12 */ 'Maggie Post', + /* 13 */ 'Buck Pounds', + /* 14 */ 'Ed Mail', + /* 15 */ 'Nubby Stevens', + /* 16 */ 'Nancy Nubbins', + /* 17 */ 'Dr. Clickitt', + /* 18 */ 'Enter', + /* 19 */ 'Return', + /* 20 */ 'Captain D. Rom', + /* 21 */ 'Bill Ding (Race Car)', + /* 22 */ 'Bill Ding (Helicopter)', + /* 23 */ 'Bill Ding (Dune Buggy)', + /* 24 */ 'Bill Ding (Jetski)', + /* 25 */ 'Flying Legandos #1', + /* 26 */ 'Flying Legandos #2', + /* 27 */ 'Flying Legandos #3', + /* 28 */ 'Flying Legandos #4', + /* 29 */ 'Flying Legandos #5', + /* 30 */ 'Flying Legandos #6', + /* 31 */ 'Legobobs #1', + /* 32 */ 'Legobobs #2', + /* 33 */ 'Legobobs #3', + /* 34 */ 'Legobobs #4', + /* 35 */ 'Brazilian Carmen', + /* 36 */ 'Gideon Worse', + /* 37 */ 'Red Greenbase', + /* 38 */ 'Polly Gone', + /* 39 */ 'Bradford Brickford', + /* 40 */ 'Shiney Doris', + /* 41 */ 'Glen Funberg', + /* 42 */ 'Dorothy Funberg', + /* 43 */ 'Brian Shrimp', + /* 44 */ 'Luke Tepid', + /* 45 */ 'Shorty Tails', + /* 46 */ 'Bumpy Kindergreen', + /* 47 */ "Jack O'Trades", + /* 48 */ 'Ghost #1', + /* 49 */ 'Ghost #2', + /* 50 */ 'Ghost #3', + /* 51 */ 'Ghost #4', + /* 52 */ 'Ghost #5', + /* 53 */ 'Ghost #6', + /* 54 */ 'hg', + /* 55 */ 'pntgy', + /* 56 */ 'pep', + /* 57 */ 'cop01', + /* 58 */ 'actor_01', + /* 59 */ 'actor_02', + /* 60 */ 'actor_03', + /* 61 */ 'actor_04', + /* 62 */ 'actor_05', + /* 63 */ 'btmncycl', + /* 64 */ 'cboycycl', + /* 65 */ 'boatman' +]); + /** * Save file field offsets within the 16-byte character record. * The save file stores these per-character values that override defaults: diff --git a/src/lib/save-editor/ActorEditor.svelte b/src/lib/save-editor/ActorEditor.svelte index 99b6e30..7afff68 100644 --- a/src/lib/save-editor/ActorEditor.svelte +++ b/src/lib/save-editor/ActorEditor.svelte @@ -2,7 +2,7 @@ import { onMount, onDestroy } from 'svelte'; import { ActorRenderer } from '../../core/rendering/ActorRenderer.js'; import { WdbParser, buildGlobalPartsMap } from '../../core/formats/WdbParser.js'; - import { ActorInfoInit, ActorPart } from '../../core/savegame/actorConstants.js'; + import { ActorInfoInit, ActorPart, ActorDisplayNames } from '../../core/savegame/actorConstants.js'; import { Actor } from '../../core/savegame/constants.js'; import NavButton from '../NavButton.svelte'; import ResetButton from '../ResetButton.svelte'; @@ -24,7 +24,7 @@ let loadedActorKey = null; $: actorInfo = ActorInfoInit[actorIndex]; - $: actorName = actorInfo?.name || 'Unknown'; + $: actorName = ActorDisplayNames[actorIndex] || actorInfo?.name || 'Unknown'; $: charState = slot?.characters?.[actorIndex]; $: isDefault = actorInfo && charState && @@ -317,7 +317,7 @@ .part-info { text-align: center; - min-width: 100px; + min-width: 150px; } .actor-index {