@wasm-gaming/rsdkv5-wasm 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -50,7 +50,7 @@
50
50
  /* ---- load game: craft's slot cards (src/craft/views/GameLauncher.html) ---- */
51
51
  .rsdk-slots { width: min(1120px, 100%); padding: 0 clamp(16px, 4vw, 48px); display: grid; gap: clamp(22px, 4vh, 40px); }
52
52
  .rsdk-slots header { display: grid; gap: 6px; }
53
- .slot-cards {
53
+ .slot-cards { isolation: isolate; /* the art's z-index stays inside the row */
54
54
  --w: clamp(150px, 13vw, 190px);
55
55
  display: flex; justify-content: center; align-items: flex-start; gap: clamp(12px, 1.6vw, 24px);
56
56
  }
@@ -159,7 +159,23 @@
159
159
  .item.is-danger.is-focused { background: var(--danger); color: #1a0505; box-shadow: 0 0 0 3px var(--danger); }
160
160
  .rsdk-panel .row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
161
161
  .rsdk-panel .row .item { text-align: center; }
162
- .rsdk-confirm { position: absolute; inset: 0; display: grid; place-items: center; background: rgb(0 0 0 / 0.55); }
162
+ /* A dialog sits on its own layer, above anything the screen under it positions (the
163
+ character art on the slot cards is z-index 1), on a backdrop that hides that screen. */
164
+ .rsdk-confirm {
165
+ position: absolute; inset: 0; z-index: 10; display: grid; place-items: center;
166
+ background: rgb(4 6 12 / 0.78);
167
+ backdrop-filter: blur(10px) saturate(0.8);
168
+ -webkit-backdrop-filter: blur(10px) saturate(0.8);
169
+ }
170
+ .rsdk-confirm h2 { font-size: clamp(1.15rem, 2.2vw, 1.55rem); line-height: 1.2; }
171
+ .rsdk-confirm .rsdk-panel {
172
+ width: min(500px, 92vw);
173
+ background:
174
+ radial-gradient(120% 90% at 0% 0%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 60%),
175
+ #151821;
176
+ border-color: rgb(255 255 255 / 0.14);
177
+ box-shadow: 0 40px 120px -20px #000, 0 0 0 1px rgb(0 0 0 / 0.4);
178
+ }
163
179
 
164
180
  /* ---- hints ---- */
165
181
  .rsdk-hints { display: flex; flex-wrap: wrap; gap: 8px 18px; justify-content: center; color: var(--muted); font-size: 0.78rem; font-weight: 500; }
@@ -1,7 +1,6 @@
1
1
  // rsdkv5's own app: what a host gets when it mounts this engine instead of driving
2
- // the SDK itself — a load-game screen (craft's cards, as rsdkv4's app, on Mania's
3
- // eight save slots), the game, and a pause menu, on the wasm-gaming usability scheme
4
- // (engine-specs UX.md).
2
+ // the SDK itself — the game with Mania's own menus and a pause menu, on the wasm-gaming
3
+ // usability scheme (engine-specs UX.md); optionally a load-game screen of its own.
5
4
  //
6
5
  // import * as app from '<engines>/rsdkv5/app/app.js'
7
6
  // const handle = await app.mount(target, host) // EngineApp.mount
@@ -11,7 +10,10 @@
11
10
  // input is the host's createInput(): resumed it delivers menu actions; suspended (in
12
11
  // game) only Select+Start and Escape come through, as `menu`.
13
12
  //
14
- // The slots come from the SDK's `saves` (SaveData.bin read directly; a slot started
13
+ // By default the app boots straight into the game, with Mania's own title and menus —
14
+ // its save select is where slots are chosen (and deleted, and Encore, Time Attack…).
15
+ // With `host.options.loadGame = 'app'` it shows its own slot screen first instead:
16
+ // the slots come from the SDK's `saves` (SaveData.bin read directly; a slot started
15
17
  // through the build's bridge, which replays Mania's own save-select action, so Mania
16
18
  // writes its file itself). Mania only loads its save once a scene with SaveGame is
17
19
  // up, so the game keeps running — muted — behind the slot screen until it has, then
@@ -111,6 +113,8 @@ export async function mount(target, host) {
111
113
  confirm: null, // { title, text, yes, no, onYes, onNo, focus, under }
112
114
  };
113
115
  let saveReady = null; // Promise<boolean>, once asked
116
+ /** The app's slot screen instead of Mania's own save select: only when the host asks. */
117
+ const useSlotScreen = host.options?.loadGame === 'app';
114
118
 
115
119
  let play = null;
116
120
  let leaving = false;
@@ -322,7 +326,7 @@ export async function mount(target, host) {
322
326
  focus: 0,
323
327
  items: [
324
328
  { label: 'Continuar', run: closePause },
325
- ...(play?.saves.available
329
+ ...(useSlotScreen && play?.saves.available
326
330
  ? [{ label: 'Cambiar de partida', hint: 'vuelve a las partidas guardadas', run: () => showSlots('pause') }]
327
331
  : []),
328
332
  ...gameScreens().map((screen) => ({
@@ -504,8 +508,10 @@ export async function mount(target, host) {
504
508
  play = null;
505
509
  return handle;
506
510
  }
507
- if (!play.saves.available) {
508
- enterGame(); // an older wasm: the game with its own menus (phase A)
511
+ // Mania's own menus by default: its save select does more than this app's (delete,
512
+ // Encore, Time Attack…). A host can still ask for the app's slot screen.
513
+ if (!useSlotScreen || !play.saves.available) {
514
+ enterGame();
509
515
  return handle;
510
516
  }
511
517
  state.characters = play.saves.characters;
@@ -96,6 +96,25 @@ export declare function storagePath(engineId: string, namespace: unknown): {
96
96
  path: string;
97
97
  prefixed: boolean;
98
98
  };
99
+ /**
100
+ * Player 1's keyboard in the generated `Settings.ini` (`[Keyboard Map 1]`): arrows, A/S/D
101
+ * for buttons A/B/C, Z/X/C for X/Y/Z, Enter = Start, Tab = Select. Windows virtual-key
102
+ * codes, which is what RSDKv5's input layer maps from.
103
+ */
104
+ export declare const KEYBOARD_MAP_1: {
105
+ readonly up: 38;
106
+ readonly down: 40;
107
+ readonly left: 37;
108
+ readonly right: 39;
109
+ readonly buttonA: 65;
110
+ readonly buttonB: 83;
111
+ readonly buttonC: 68;
112
+ readonly buttonX: 90;
113
+ readonly buttonY: 88;
114
+ readonly buttonZ: 67;
115
+ readonly start: 13;
116
+ readonly select: 9;
117
+ };
99
118
  /**
100
119
  * Serialise the engine config into RSDKv5U's `Settings.ini` (capital S — the engine
101
120
  * opens exactly that name, and the Emscripten FS is case-sensitive). The v5 dialect:
@@ -138,7 +157,7 @@ export declare class Rsdkv5Play extends EnginePlayBase<Rsdkv5Payloads> {
138
157
  export declare class Rsdkv5SDK extends EngineSDKBase<Rsdkv5Payloads> {
139
158
  static readonly id = "rsdkv5";
140
159
  /** Kept in step with package.json by `node scripts/sync-version.mjs`. */
141
- static readonly version = "0.2.0";
160
+ static readonly version = "0.2.1";
142
161
  static readonly name = "Retro Software Development Kit v3";
143
162
  static readonly description = "RSDKv5U (Sonic Mania decompilation) compiled to WebAssembly. Ships none of the game: the player provides Data.rsdk, and it never leaves their browser.";
144
163
  protected createPlay(init: EngineInit<Rsdkv5Payloads>, events: EventEmitter<EventsOf<Rsdkv5Payloads>>): Rsdkv5Play;
@@ -1 +1 @@
1
- {"version":3,"file":"rsdkv5.sdk.d.ts","sourceRoot":"","sources":["../../src/rsdkv5.sdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rsdkv5.sdk.d.ts","sourceRoot":"","sources":["../../src/rsdkv5.sdk.ts"],"names":[],"mappings":"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"}
@@ -92,6 +92,25 @@ export function storagePath(engineId, namespace) {
92
92
  const cleaned = segments.join('/') || DEFAULT_STORAGE_NAMESPACE;
93
93
  return { namespace: cleaned, path: `${engineId}/${cleaned}`, prefixed };
94
94
  }
95
+ /**
96
+ * Player 1's keyboard in the generated `Settings.ini` (`[Keyboard Map 1]`): arrows, A/S/D
97
+ * for buttons A/B/C, Z/X/C for X/Y/Z, Enter = Start, Tab = Select. Windows virtual-key
98
+ * codes, which is what RSDKv5's input layer maps from.
99
+ */
100
+ export const KEYBOARD_MAP_1 = {
101
+ up: 0x26,
102
+ down: 0x28,
103
+ left: 0x25,
104
+ right: 0x27,
105
+ buttonA: 0x41, // A
106
+ buttonB: 0x53, // S
107
+ buttonC: 0x44, // D
108
+ buttonX: 0x5a, // Z
109
+ buttonY: 0x58, // X
110
+ buttonZ: 0x43, // C
111
+ start: 0x0d, // Enter
112
+ select: 0x09, // Tab
113
+ };
95
114
  /**
96
115
  * Serialise the engine config into RSDKv5U's `Settings.ini` (capital S — the engine
97
116
  * opens exactly that name, and the Emscripten FS is case-sensitive). The v5 dialect:
@@ -126,6 +145,11 @@ export function buildSettingsIni(config) {
126
145
  'streamVolume=0.8',
127
146
  'sfxVolume=1.0',
128
147
  '',
148
+ // Player 1's keys, the same in the three Sonics: A/S/D = A/B/C (RSDKv5's own default),
149
+ // Z/X/C = X/Y/Z (instead of Q/W/E). Values are the Windows virtual-key codes RSDKv5 reads.
150
+ '[Keyboard Map 1]',
151
+ ...Object.entries(KEYBOARD_MAP_1).map(([key, vk]) => `${key}=0x${vk.toString(16)}`),
152
+ '',
129
153
  ].join('\n');
130
154
  }
131
155
  async function opfsDir(path, create) {
@@ -514,7 +538,7 @@ export class Rsdkv5Play extends EnginePlayBase {
514
538
  export class Rsdkv5SDK extends EngineSDKBase {
515
539
  static id = ENGINE_ID;
516
540
  /** Kept in step with package.json by `node scripts/sync-version.mjs`. */
517
- static version = '0.2.0';
541
+ static version = '0.2.1';
518
542
  static name = 'Retro Software Development Kit v3';
519
543
  static description = 'RSDKv5U (Sonic Mania decompilation) compiled to WebAssembly. Ships none of the game: the player provides Data.rsdk, and it never leaves their browser.';
520
544
  createPlay(init, events) {
@@ -1 +1 @@
1
- {"version":3,"file":"rsdkv5.sdk.js","sourceRoot":"","sources":["../../src/rsdkv5.sdk.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rsdkv5.sdk.js","sourceRoot":"","sources":["../../src/rsdkv5.sdk.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wasm-gaming/rsdkv5-wasm",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "RSDKv5U (Sonic Mania decompilation) compiled to WebAssembly, with a self-contained JS SDK implementing the wasm-gaming engine contract. Data.rsdk is loaded at runtime.",
5
5
  "repository": {
6
6
  "type": "git",
package/src/app/app.css CHANGED
@@ -50,7 +50,7 @@
50
50
  /* ---- load game: craft's slot cards (src/craft/views/GameLauncher.html) ---- */
51
51
  .rsdk-slots { width: min(1120px, 100%); padding: 0 clamp(16px, 4vw, 48px); display: grid; gap: clamp(22px, 4vh, 40px); }
52
52
  .rsdk-slots header { display: grid; gap: 6px; }
53
- .slot-cards {
53
+ .slot-cards { isolation: isolate; /* the art's z-index stays inside the row */
54
54
  --w: clamp(150px, 13vw, 190px);
55
55
  display: flex; justify-content: center; align-items: flex-start; gap: clamp(12px, 1.6vw, 24px);
56
56
  }
@@ -159,7 +159,23 @@
159
159
  .item.is-danger.is-focused { background: var(--danger); color: #1a0505; box-shadow: 0 0 0 3px var(--danger); }
160
160
  .rsdk-panel .row { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
161
161
  .rsdk-panel .row .item { text-align: center; }
162
- .rsdk-confirm { position: absolute; inset: 0; display: grid; place-items: center; background: rgb(0 0 0 / 0.55); }
162
+ /* A dialog sits on its own layer, above anything the screen under it positions (the
163
+ character art on the slot cards is z-index 1), on a backdrop that hides that screen. */
164
+ .rsdk-confirm {
165
+ position: absolute; inset: 0; z-index: 10; display: grid; place-items: center;
166
+ background: rgb(4 6 12 / 0.78);
167
+ backdrop-filter: blur(10px) saturate(0.8);
168
+ -webkit-backdrop-filter: blur(10px) saturate(0.8);
169
+ }
170
+ .rsdk-confirm h2 { font-size: clamp(1.15rem, 2.2vw, 1.55rem); line-height: 1.2; }
171
+ .rsdk-confirm .rsdk-panel {
172
+ width: min(500px, 92vw);
173
+ background:
174
+ radial-gradient(120% 90% at 0% 0%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 60%),
175
+ #151821;
176
+ border-color: rgb(255 255 255 / 0.14);
177
+ box-shadow: 0 40px 120px -20px #000, 0 0 0 1px rgb(0 0 0 / 0.4);
178
+ }
163
179
 
164
180
  /* ---- hints ---- */
165
181
  .rsdk-hints { display: flex; flex-wrap: wrap; gap: 8px 18px; justify-content: center; color: var(--muted); font-size: 0.78rem; font-weight: 500; }
package/src/app/app.js CHANGED
@@ -1,7 +1,6 @@
1
1
  // rsdkv5's own app: what a host gets when it mounts this engine instead of driving
2
- // the SDK itself — a load-game screen (craft's cards, as rsdkv4's app, on Mania's
3
- // eight save slots), the game, and a pause menu, on the wasm-gaming usability scheme
4
- // (engine-specs UX.md).
2
+ // the SDK itself — the game with Mania's own menus and a pause menu, on the wasm-gaming
3
+ // usability scheme (engine-specs UX.md); optionally a load-game screen of its own.
5
4
  //
6
5
  // import * as app from '<engines>/rsdkv5/app/app.js'
7
6
  // const handle = await app.mount(target, host) // EngineApp.mount
@@ -11,7 +10,10 @@
11
10
  // input is the host's createInput(): resumed it delivers menu actions; suspended (in
12
11
  // game) only Select+Start and Escape come through, as `menu`.
13
12
  //
14
- // The slots come from the SDK's `saves` (SaveData.bin read directly; a slot started
13
+ // By default the app boots straight into the game, with Mania's own title and menus —
14
+ // its save select is where slots are chosen (and deleted, and Encore, Time Attack…).
15
+ // With `host.options.loadGame = 'app'` it shows its own slot screen first instead:
16
+ // the slots come from the SDK's `saves` (SaveData.bin read directly; a slot started
15
17
  // through the build's bridge, which replays Mania's own save-select action, so Mania
16
18
  // writes its file itself). Mania only loads its save once a scene with SaveGame is
17
19
  // up, so the game keeps running — muted — behind the slot screen until it has, then
@@ -111,6 +113,8 @@ export async function mount(target, host) {
111
113
  confirm: null, // { title, text, yes, no, onYes, onNo, focus, under }
112
114
  };
113
115
  let saveReady = null; // Promise<boolean>, once asked
116
+ /** The app's slot screen instead of Mania's own save select: only when the host asks. */
117
+ const useSlotScreen = host.options?.loadGame === 'app';
114
118
 
115
119
  let play = null;
116
120
  let leaving = false;
@@ -322,7 +326,7 @@ export async function mount(target, host) {
322
326
  focus: 0,
323
327
  items: [
324
328
  { label: 'Continuar', run: closePause },
325
- ...(play?.saves.available
329
+ ...(useSlotScreen && play?.saves.available
326
330
  ? [{ label: 'Cambiar de partida', hint: 'vuelve a las partidas guardadas', run: () => showSlots('pause') }]
327
331
  : []),
328
332
  ...gameScreens().map((screen) => ({
@@ -504,8 +508,10 @@ export async function mount(target, host) {
504
508
  play = null;
505
509
  return handle;
506
510
  }
507
- if (!play.saves.available) {
508
- enterGame(); // an older wasm: the game with its own menus (phase A)
511
+ // Mania's own menus by default: its save select does more than this app's (delete,
512
+ // Encore, Time Attack…). A host can still ask for the app's slot screen.
513
+ if (!useSlotScreen || !play.saves.available) {
514
+ enterGame();
509
515
  return handle;
510
516
  }
511
517
  state.characters = play.saves.characters;
package/src/rsdkv5.sdk.ts CHANGED
@@ -195,6 +195,26 @@ export function storagePath(
195
195
  return { namespace: cleaned, path: `${engineId}/${cleaned}`, prefixed };
196
196
  }
197
197
 
198
+ /**
199
+ * Player 1's keyboard in the generated `Settings.ini` (`[Keyboard Map 1]`): arrows, A/S/D
200
+ * for buttons A/B/C, Z/X/C for X/Y/Z, Enter = Start, Tab = Select. Windows virtual-key
201
+ * codes, which is what RSDKv5's input layer maps from.
202
+ */
203
+ export const KEYBOARD_MAP_1 = {
204
+ up: 0x26,
205
+ down: 0x28,
206
+ left: 0x25,
207
+ right: 0x27,
208
+ buttonA: 0x41, // A
209
+ buttonB: 0x53, // S
210
+ buttonC: 0x44, // D
211
+ buttonX: 0x5a, // Z
212
+ buttonY: 0x58, // X
213
+ buttonZ: 0x43, // C
214
+ start: 0x0d, // Enter
215
+ select: 0x09, // Tab
216
+ } as const;
217
+
198
218
  /**
199
219
  * Serialise the engine config into RSDKv5U's `Settings.ini` (capital S — the engine
200
220
  * opens exactly that name, and the Emscripten FS is case-sensitive). The v5 dialect:
@@ -229,6 +249,11 @@ export function buildSettingsIni(config: Rsdkv5Config): string {
229
249
  'streamVolume=0.8',
230
250
  'sfxVolume=1.0',
231
251
  '',
252
+ // Player 1's keys, the same in the three Sonics: A/S/D = A/B/C (RSDKv5's own default),
253
+ // Z/X/C = X/Y/Z (instead of Q/W/E). Values are the Windows virtual-key codes RSDKv5 reads.
254
+ '[Keyboard Map 1]',
255
+ ...Object.entries(KEYBOARD_MAP_1).map(([key, vk]) => `${key}=0x${vk.toString(16)}`),
256
+ '',
232
257
  ].join('\n');
233
258
  }
234
259
 
@@ -614,7 +639,7 @@ export class Rsdkv5Play extends EnginePlayBase<Rsdkv5Payloads> {
614
639
  export class Rsdkv5SDK extends EngineSDKBase<Rsdkv5Payloads> {
615
640
  static readonly id = ENGINE_ID;
616
641
  /** Kept in step with package.json by `node scripts/sync-version.mjs`. */
617
- static readonly version = '0.2.0';
642
+ static readonly version = '0.2.1';
618
643
  static readonly name = 'Retro Software Development Kit v3';
619
644
  static readonly description =
620
645
  'RSDKv5U (Sonic Mania decompilation) compiled to WebAssembly. Ships none of the game: the player provides Data.rsdk, and it never leaves their browser.';