@energy8platform/game-engine 0.41.0 → 0.43.0
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.
- package/dist/animation.cjs.js.map +1 -1
- package/dist/animation.esm.js.map +1 -1
- package/dist/assets.cjs.js.map +1 -1
- package/dist/assets.esm.js.map +1 -1
- package/dist/audio.cjs.js.map +1 -1
- package/dist/audio.esm.js.map +1 -1
- package/dist/core.cjs.js.map +1 -1
- package/dist/core.esm.js.map +1 -1
- package/dist/debug.cjs.js.map +1 -1
- package/dist/debug.esm.js.map +1 -1
- package/dist/devtools.cjs.js.map +1 -1
- package/dist/devtools.esm.js.map +1 -1
- package/dist/harness.cjs.js.map +1 -1
- package/dist/harness.esm.js.map +1 -1
- package/dist/host.cjs.js +5 -4
- package/dist/host.cjs.js.map +1 -1
- package/dist/host.d.ts +5 -2
- package/dist/host.esm.js +6 -5
- package/dist/host.esm.js.map +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js.map +1 -1
- package/dist/reel-panel-client.cjs.js.map +1 -1
- package/dist/reel-panel-client.esm.js.map +1 -1
- package/dist/slot.cjs.js.map +1 -1
- package/dist/slot.esm.js.map +1 -1
- package/dist/vite.cjs.js.map +1 -1
- package/dist/vite.esm.js.map +1 -1
- package/package.json +2 -2
- package/src/host/createSlotGame.ts +6 -4
- package/src/host/shellConfig.ts +8 -5
package/dist/vite.cjs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite.cjs.js","sources":["../src/vite/index.ts"],"sourcesContent":[null],"names":["devBridgePlugin","spinPlugin"],"mappings":";;;;AAoCA;AAEA;;;;;;;;;;;;;;;;;;;;;;;AAuBG;AACG,SAAU,gBAAgB,CAAC,MAAA,GAAqB,EAAE,EAAA;IACtD,MAAM,OAAO,GAAa,EAAE;AAE5B,IAAA,IAAI,MAAM,CAAC,SAAS,EAAE;AACpB,QAAA,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,IAAI,cAAc;QAC3D,OAAO,CAAC,IAAI,CAACA,oBAAe,CAAC,UAAU,CAAC,CAAC;;AAEzC,QAAA,OAAO,CAAC,IAAI,CACVC,eAAU,CAAC;AACT,YAAA,QAAQ,EAAE,MAAM,CAAC,UAAU,IAAI,wBAAwB;YACvD,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,MAAM,CAAC,QAAQ;AACtB,SAAA,CAAC,CACH;IACH;AAEA,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE;IAElC,OAAO;AACL,QAAA,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI;AAEzB,QAAA,OAAO,EAAE;AACP,YAAA,GAAG,OAAO;AACV,YAAA,IAAK,QAAQ,CAAC,OAAoB,IAAI,EAAE,CAAC;AAC1C,SAAA;AAED,QAAA,KAAK,EAAE;AACL,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,iBAAiB,EAAE,IAAI;AACvB,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,aAAa,EAAE;AACb,gBAAA,MAAM,EAAE;AACN,oBAAA,YAAY,EAAE;wBACZ,IAAI,EAAE,CAAC,SAAS,CAAC;AAClB,qBAAA;AACF,iBAAA;AACF,aAAA;YACD,GAAG,QAAQ,CAAC,KAAK;AAClB,SAAA;AAED,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,IAAI,EAAE,IAAI;YACV,GAAG,QAAQ,CAAC,MAAM;AACnB,SAAA;AAED,QAAA,OAAO,EAAE;AACP,YAAA,MAAM,EAAE;gBACN,SAAS;AACV,aAAA;YACD,GAAG,QAAQ,CAAC,OAAO;AACpB,SAAA;AAED,QAAA,YAAY,EAAE;AACZ,YAAA,OAAO,EAAE;gBACP,SAAS;AACV,aAAA;AACD,YAAA,cAAc,EAAE;AACd,gBAAA,MAAM,EAAE,QAAQ;AACjB,aAAA;YACD,GAAG,QAAQ,CAAC,YAAY;AACzB,SAAA;KACF;AACH
|
|
1
|
+
{"version":3,"file":"vite.cjs.js","sources":["../src/vite/index.ts"],"sourcesContent":[null],"names":["devBridgePlugin","spinPlugin"],"mappings":";;;;AAoCA;AAEA;;;;;;;;;;;;;;;;;;;;;;;AAuBG;AACG,SAAU,gBAAgB,CAAC,MAAA,GAAqB,EAAE,EAAA;IACtD,MAAM,OAAO,GAAa,EAAE;AAE5B,IAAA,IAAI,MAAM,CAAC,SAAS,EAAE;AACpB,QAAA,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,IAAI,cAAc;QAC3D,OAAO,CAAC,IAAI,CAACA,oBAAe,CAAC,UAAU,CAAC,CAAC;;AAEzC,QAAA,OAAO,CAAC,IAAI,CACVC,eAAU,CAAC;AACT,YAAA,QAAQ,EAAE,MAAM,CAAC,UAAU,IAAI,wBAAwB;YACvD,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,MAAM,CAAC,QAAQ;AACtB,SAAA,CAAC,CACH;IACH;AAEA,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE;IAElC,OAAO;AACL,QAAA,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI;AAEzB,QAAA,OAAO,EAAE;AACP,YAAA,GAAG,OAAO;AACV,YAAA,IAAK,QAAQ,CAAC,OAAoB,IAAI,EAAE,CAAC;AAC1C,SAAA;AAED,QAAA,KAAK,EAAE;AACL,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,iBAAiB,EAAE,IAAI;AACvB,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,aAAa,EAAE;AACb,gBAAA,MAAM,EAAE;AACN,oBAAA,YAAY,EAAE;wBACZ,IAAI,EAAE,CAAC,SAAS,CAAC;AAClB,qBAAA;AACF,iBAAA;AACF,aAAA;YACD,GAAG,QAAQ,CAAC,KAAK;AAClB,SAAA;AAED,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,IAAI,EAAE,IAAI;YACV,GAAG,QAAQ,CAAC,MAAM;AACnB,SAAA;AAED,QAAA,OAAO,EAAE;AACP,YAAA,MAAM,EAAE;gBACN,SAAS;AACV,aAAA;YACD,GAAG,QAAQ,CAAC,OAAO;AACpB,SAAA;AAED,QAAA,YAAY,EAAE;AACZ,YAAA,OAAO,EAAE;gBACP,SAAS;AACV,aAAA;AACD,YAAA,cAAc,EAAE;AACd,gBAAA,MAAM,EAAE,QAAQ;AACjB,aAAA;YACD,GAAG,QAAQ,CAAC,YAAY;AACzB,SAAA;KACF;AACH;;;;;;;;;;"}
|
package/dist/vite.esm.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vite.esm.js","sources":["../src/vite/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAoCA;AAEA;;;;;;;;;;;;;;;;;;;;;;;AAuBG;AACG,SAAU,gBAAgB,CAAC,MAAA,GAAqB,EAAE,EAAA;IACtD,MAAM,OAAO,GAAa,EAAE;AAE5B,IAAA,IAAI,MAAM,CAAC,SAAS,EAAE;AACpB,QAAA,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,IAAI,cAAc;QAC3D,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;;AAEzC,QAAA,OAAO,CAAC,IAAI,CACV,UAAU,CAAC;AACT,YAAA,QAAQ,EAAE,MAAM,CAAC,UAAU,IAAI,wBAAwB;YACvD,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,MAAM,CAAC,QAAQ;AACtB,SAAA,CAAC,CACH;IACH;AAEA,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE;IAElC,OAAO;AACL,QAAA,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI;AAEzB,QAAA,OAAO,EAAE;AACP,YAAA,GAAG,OAAO;AACV,YAAA,IAAK,QAAQ,CAAC,OAAoB,IAAI,EAAE,CAAC;AAC1C,SAAA;AAED,QAAA,KAAK,EAAE;AACL,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,iBAAiB,EAAE,IAAI;AACvB,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,aAAa,EAAE;AACb,gBAAA,MAAM,EAAE;AACN,oBAAA,YAAY,EAAE;wBACZ,IAAI,EAAE,CAAC,SAAS,CAAC;AAClB,qBAAA;AACF,iBAAA;AACF,aAAA;YACD,GAAG,QAAQ,CAAC,KAAK;AAClB,SAAA;AAED,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,IAAI,EAAE,IAAI;YACV,GAAG,QAAQ,CAAC,MAAM;AACnB,SAAA;AAED,QAAA,OAAO,EAAE;AACP,YAAA,MAAM,EAAE;gBACN,SAAS;AACV,aAAA;YACD,GAAG,QAAQ,CAAC,OAAO;AACpB,SAAA;AAED,QAAA,YAAY,EAAE;AACZ,YAAA,OAAO,EAAE;gBACP,SAAS;AACV,aAAA;AACD,YAAA,cAAc,EAAE;AACd,gBAAA,MAAM,EAAE,QAAQ;AACjB,aAAA;YACD,GAAG,QAAQ,CAAC,YAAY;AACzB,SAAA;KACF;AACH
|
|
1
|
+
{"version":3,"file":"vite.esm.js","sources":["../src/vite/index.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAoCA;AAEA;;;;;;;;;;;;;;;;;;;;;;;AAuBG;AACG,SAAU,gBAAgB,CAAC,MAAA,GAAqB,EAAE,EAAA;IACtD,MAAM,OAAO,GAAa,EAAE;AAE5B,IAAA,IAAI,MAAM,CAAC,SAAS,EAAE;AACpB,QAAA,MAAM,UAAU,GAAG,MAAM,CAAC,eAAe,IAAI,cAAc;QAC3D,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;;AAEzC,QAAA,OAAO,CAAC,IAAI,CACV,UAAU,CAAC;AACT,YAAA,QAAQ,EAAE,MAAM,CAAC,UAAU,IAAI,wBAAwB;YACvD,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,IAAI,EAAE,MAAM,CAAC,QAAQ;AACtB,SAAA,CAAC,CACH;IACH;AAEA,IAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,IAAI,EAAE;IAElC,OAAO;AACL,QAAA,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI;AAEzB,QAAA,OAAO,EAAE;AACP,YAAA,GAAG,OAAO;AACV,YAAA,IAAK,QAAQ,CAAC,OAAoB,IAAI,EAAE,CAAC;AAC1C,SAAA;AAED,QAAA,KAAK,EAAE;AACL,YAAA,MAAM,EAAE,QAAQ;AAChB,YAAA,iBAAiB,EAAE,IAAI;AACvB,YAAA,SAAS,EAAE,KAAK;AAChB,YAAA,aAAa,EAAE;AACb,gBAAA,MAAM,EAAE;AACN,oBAAA,YAAY,EAAE;wBACZ,IAAI,EAAE,CAAC,SAAS,CAAC;AAClB,qBAAA;AACF,iBAAA;AACF,aAAA;YACD,GAAG,QAAQ,CAAC,KAAK;AAClB,SAAA;AAED,QAAA,MAAM,EAAE;AACN,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,IAAI,EAAE,IAAI;YACV,GAAG,QAAQ,CAAC,MAAM;AACnB,SAAA;AAED,QAAA,OAAO,EAAE;AACP,YAAA,MAAM,EAAE;gBACN,SAAS;AACV,aAAA;YACD,GAAG,QAAQ,CAAC,OAAO;AACpB,SAAA;AAED,QAAA,YAAY,EAAE;AACZ,YAAA,OAAO,EAAE;gBACP,SAAS;AACV,aAAA;AACD,YAAA,cAAc,EAAE;AACd,gBAAA,MAAM,EAAE,QAAQ;AACjB,aAAA;YACD,GAAG,QAAQ,CAAC,YAAY;AACzB,SAAA;KACF;AACH;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@energy8platform/game-engine",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.43.0",
|
|
4
4
|
"description": "Universal casino game engine built on PixiJS v8 and @energy8platform/game-sdk",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs.js",
|
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
},
|
|
95
95
|
"dependencies": {
|
|
96
96
|
"@energy8platform/platform-core": ">=0.33.0",
|
|
97
|
-
"@energy8platform/shell": ">=0.
|
|
97
|
+
"@energy8platform/shell": ">=0.11.0"
|
|
98
98
|
},
|
|
99
99
|
"peerDependencies": {
|
|
100
100
|
"@energy8platform/game-sdk": "^2.9.0",
|
|
@@ -280,7 +280,8 @@ export async function createSlotGame<T extends SlotSpinResultBase = SlotSpinResu
|
|
|
280
280
|
* and the Artube bridge fill it the same way, so the resumed-bet path below is shared. */
|
|
281
281
|
session?: { betAmount?: number };
|
|
282
282
|
/** Session currency CODE. The Artube bridge's only currency surface (the platform picks it
|
|
283
|
-
* per session; demo
|
|
283
|
+
* per session; a demo session is labelled 'DEMO'); Stake sends full meta on
|
|
284
|
+
* `config.currency` instead. */
|
|
284
285
|
currency?: string;
|
|
285
286
|
lang?: string;
|
|
286
287
|
/** The client the platform launched us on. Both bridges read it off the launch URL
|
|
@@ -307,9 +308,10 @@ export async function createSlotGame<T extends SlotSpinResultBase = SlotSpinResu
|
|
|
307
308
|
// is absent and we only have the spec's currency CODE — resolve it through the SAME table
|
|
308
309
|
// (stake-bridge's lookupCurrency) so e.g. 'EUR' renders as '€', not the literal text "EUR".
|
|
309
310
|
// stake-bridge ships with every scaffold; if it's somehow absent we degrade to the code.
|
|
310
|
-
// On Artube the session currency is the PLATFORM's (per player, and '
|
|
311
|
-
// arrives as a bare code on initData — there
|
|
312
|
-
//
|
|
311
|
+
// On Artube the session currency is the PLATFORM's (per player, and the word 'DEMO' for a demo
|
|
312
|
+
// session — see artube-bridge's displayCurrency) and arrives as a bare code on initData — there
|
|
313
|
+
// is no meta object. It outranks the spec's static code, which would otherwise show every
|
|
314
|
+
// Artube player the spec's currency symbol.
|
|
313
315
|
const currencyCode = (isArtubeNow ? initData?.currency : undefined) || opts.model.spec.currency;
|
|
314
316
|
let currencyMeta = config?.currency;
|
|
315
317
|
if (!currencyMeta?.symbol && currencyCode) {
|
package/src/host/shellConfig.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// `socialize` / `createI18n` / `Lang` are renderer-agnostic helpers from the shell core
|
|
3
3
|
// (@energy8platform/shell). Renderer-agnostic types (GameInfoSection/Content, PaytableRow,
|
|
4
4
|
// GameMode) and the pixi-specific surface types come from the @energy8platform/shell/pixi entry.
|
|
5
|
-
import { socialize, createI18n } from '@energy8platform/shell';
|
|
5
|
+
import { socialize, createI18n, DISCLAIMER_LINES } from '@energy8platform/shell';
|
|
6
6
|
import type { Lang } from '@energy8platform/shell';
|
|
7
7
|
import type { GameInfoContent, GameInfoSection, PaytableRow, GameMode } from '@energy8platform/shell/pixi';
|
|
8
8
|
import type {
|
|
@@ -60,8 +60,11 @@ export interface ShellRuntime {
|
|
|
60
60
|
mode: ShellMode;
|
|
61
61
|
/** Social-casino mode from initData (`config.socialMode`); swaps shell vocabulary. */
|
|
62
62
|
social?: boolean;
|
|
63
|
-
/**
|
|
64
|
-
*
|
|
63
|
+
/** Disclaimer lines the PLATFORM supplied (`initData.config.disclaimerLines` — in practice the
|
|
64
|
+
* Stake bridge, which appends its own "TM and © {year} Stake Engine." to the mandated body).
|
|
65
|
+
* They outrank the default. When absent — Artube, dev, any other host — the shell's canonical
|
|
66
|
+
* `DISCLAIMER_LINES` are used: the same mandated wording, minus a mark that isn't theirs. The
|
|
67
|
+
* disclaimer is required legal copy, so there is no case where the section is simply missing. */
|
|
65
68
|
disclaimerLines?: string[];
|
|
66
69
|
/** Jurisdiction flags from initData (`config.jurisdiction`). Restrict shell features — applied
|
|
67
70
|
* OVER the author's features so a jurisdiction restriction always wins. */
|
|
@@ -268,7 +271,7 @@ function isBrandLine(line: string): boolean {
|
|
|
268
271
|
* caller passes a translation-only resolver (never socializing) — mandated legal copy must not be
|
|
269
272
|
* word-swapped even in social mode. */
|
|
270
273
|
function disclaimerSection(
|
|
271
|
-
lines: string[] | undefined,
|
|
274
|
+
lines: readonly string[] | undefined,
|
|
272
275
|
t: (s: string) => string = (s) => s,
|
|
273
276
|
): GameInfoSection | null {
|
|
274
277
|
const clean = (lines ?? []).map((l) => l.trim()).filter(Boolean);
|
|
@@ -312,7 +315,7 @@ export function defaultGameInfo(
|
|
|
312
315
|
const modes = modesSection(model, t);
|
|
313
316
|
if (modes) sections.push(modes);
|
|
314
317
|
sections.push({ type: 'controls' });
|
|
315
|
-
const disclaimer = disclaimerSection(runtime.disclaimerLines, tDisclaimer);
|
|
318
|
+
const disclaimer = disclaimerSection(runtime.disclaimerLines ?? DISCLAIMER_LINES, tDisclaimer);
|
|
316
319
|
if (disclaimer) sections.push(disclaimer);
|
|
317
320
|
return { sections };
|
|
318
321
|
}
|