@wwawing/engine 3.9.0-beta.0 → 3.9.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/lib/wwa_data.d.ts CHANGED
@@ -2,6 +2,7 @@ import { WWA } from "./wwa_main";
2
2
  import { Camera } from "./wwa_camera";
3
3
  import { KeyCode } from "./wwa_input";
4
4
  import { WWAData } from "@wwawing/common-interface";
5
+ import type { JsonResponseErrorKind } from "./json_api_client";
5
6
  export { WWAData };
6
7
  export declare class EquipmentStatus {
7
8
  strength: number;
@@ -142,8 +143,6 @@ export declare enum BROWSER_TYPE {
142
143
  CHROME = 1,
143
144
  FIREFOX = 2,
144
145
  SAFARI = 3,
145
- EDGE = 4,
146
- INTERNET_EXPLORER = 5,
147
146
  OTHERS = 9999
148
147
  }
149
148
  export declare enum ChoiceCallInfo {
@@ -256,6 +255,10 @@ export declare enum MacroType {
256
255
  VAR_MAP = 54,
257
256
  VAR_MOD = 55,
258
257
  NO_GAMEOVER = 56,
258
+ ELSE_IF = 57,
259
+ ELSE = 58,
260
+ END_IF = 59,
261
+ SET = 60,
259
262
  GAMEPAD_BUTTON = 100,
260
263
  OLDMOVE = 101
261
264
  }
@@ -315,6 +318,10 @@ export declare var macrotable: {
315
318
  $var_map: number;
316
319
  $var_mod: number;
317
320
  $no_gameover: number;
321
+ $else_if: number;
322
+ $else: number;
323
+ $endif: number;
324
+ $set: number;
318
325
  $gamepad_button: number;
319
326
  $oldmove: number;
320
327
  };
@@ -559,9 +566,5 @@ export declare enum IDTable {
559
566
  BITMASK = 65535
560
567
  }
561
568
  export declare type StatusSolutionKind = "all" | "bare" | "equipment";
562
- export declare type JsonRequestErrorKind = "brokenJson" | "httpError";
563
- export declare type UserVarNameListRequestErrorKind = JsonRequestErrorKind | "notObject" | "noFileSpecified";
564
- export declare type JsonRequestError<ErrorKind = JsonRequestErrorKind> = {
565
- kind: ErrorKind;
566
- detail: string;
567
- };
569
+ export declare type UserVarNameListRequestErrorKind = JsonResponseErrorKind | "notObject" | "noFileSpecified";
570
+ export declare type ConditionalMacroExecStatus = "outside-ifelse" | "can-execute" | "cannot-execute" | "executed";
@@ -0,0 +1,2 @@
1
+ export declare function calc(operator: string, leftValue: number, rightValue: number): number;
2
+ export declare function compare(operator: string, leftValue: number, rightValue: number): boolean;
@@ -0,0 +1,5 @@
1
+ import { type TokenValues } from "./parsers";
2
+ import { type ValueAssignOperation } from "./value-assign-operation";
3
+ export { TokenValues, ValueAssignOperation };
4
+ export declare function evaluateSetMacroExpression(expression: string, tokenValues: TokenValues): ValueAssignOperation;
5
+ export declare function evaluateIfMacroExpression(expression: string, tokenValues: TokenValues): boolean;
@@ -0,0 +1,16 @@
1
+ import { EquipmentStatus, Status, Coord } from "../wwa_data";
2
+ export interface TokenValues {
3
+ totalStatus: Status;
4
+ bareStatus: EquipmentStatus;
5
+ itemStatus: EquipmentStatus;
6
+ energyMax: number;
7
+ moveCount: number;
8
+ playTime: number;
9
+ userVars: number[];
10
+ playerCoord: Coord;
11
+ }
12
+ export declare type SetMacroType = 'VARIABLE' | 'NUMBER' | 'HP' | 'HPMAX' | 'AT' | 'AT_TOTAL' | 'AT_ITEMS' | 'DF' | 'DF_TOTAL' | 'DF_ITEMS' | 'GD' | 'TIME' | 'STEP' | 'PX' | 'PY' | 'RAND';
13
+ export declare function parseType(str: string): SetMacroType | null;
14
+ export declare function parseValue(value: string, tokenValues: TokenValues): number;
15
+ export declare function parseVariable(value: string, tokenValues: TokenValues): number;
16
+ export declare function parseNumber(value: string): number;
@@ -0,0 +1,8 @@
1
+ export declare const regNumber: RegExp;
2
+ export declare const regUserVar: RegExp;
3
+ export declare const regUserVarCapture: RegExp;
4
+ export declare const regRand: RegExp;
5
+ export declare const regRandCapture: RegExp;
6
+ export declare const regAdvance: RegExp;
7
+ export declare const regNormal: RegExp;
8
+ export declare const regIf: RegExp;
@@ -0,0 +1,5 @@
1
+ export interface ValueAssignOperation {
2
+ assignee: "energy" | "energyMax" | "strength" | "defence" | "gold" | number;
3
+ rawValue: number;
4
+ }
5
+ export declare function generateValueAssignOperation(calcResult: number, assigneeExpression: string): ValueAssignOperation;
@@ -1,2 +1 @@
1
- export declare function checkTouchDevice(): boolean;
2
1
  export declare function inject(parent: HTMLDivElement, titleImgName: string): void;
package/lib/wwa_main.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Coord, Position, LoaderProgress, LoadStage, YesNoState, Face, SidebarButton, SpeedChange, PartsType, AppearanceTriggerType, EquipmentStatus, ChangeStyleType, MacroStatusIndex, UserDevice, MacroImgFrameIndex, StatusKind, StatusSolutionKind, JsonRequestError } from "./wwa_data";
1
+ import { Coord, Position, LoaderProgress, LoadStage, YesNoState, Face, SidebarButton, SpeedChange, PartsType, AppearanceTriggerType, EquipmentStatus, ChangeStyleType, MacroStatusIndex, UserDevice, MacroImgFrameIndex, StatusKind, StatusSolutionKind } from "./wwa_data";
2
2
  import { MessageWindow, ParsedMessage } from "./wwa_message";
3
3
  import { ItemMenu } from "./wwa_item_menu";
4
4
  import { WWACompress } from "./wwa_save";
@@ -16,8 +16,6 @@ export declare class WWA {
16
16
  private _monster;
17
17
  private _keyStore;
18
18
  private _mouseStore;
19
- private _virtualPadStore;
20
- private _virtualPadButtonElements;
21
19
  private _gamePadStore;
22
20
  private _camera;
23
21
  _itemMenu: ItemMenu;
@@ -52,7 +50,7 @@ export declare class WWA {
52
50
  private _lastMessage;
53
51
  private _frameCoord;
54
52
  private _battleEffectCoord;
55
- private _audioInstances;
53
+ private sounds;
56
54
  private _temporaryInputDisable;
57
55
  private _isLoadedSound;
58
56
  private _isSkippedSoundMessage;
@@ -75,11 +73,11 @@ export declare class WWA {
75
73
  private _userVarNameListRequestError;
76
74
  private _canDisplayUserVars;
77
75
  private _isActive;
78
- private _itemboxBackgroundPos;
79
76
  private _mapIDTable;
80
77
  private _mapObjectIDTable;
81
78
  wwaCustomEventEmitter: IEventEmitter;
82
79
  private _scoreRates?;
80
+ private _conditionalMacroExecStatus;
83
81
  debug: boolean;
84
82
  private hoge;
85
83
  private _loadHandler;
@@ -95,7 +93,7 @@ export declare class WWA {
95
93
  private _setProgressBar;
96
94
  private _setLoadingMessage;
97
95
  private _setErrorMessage;
98
- createWWAAudioInstance(idx: number): void;
96
+ createSoundInstance(soundId: number): void;
99
97
  loadSound(): void;
100
98
  checkAllSoundLoaded(): void;
101
99
  private _setSoundLoadedCheckTimer;
@@ -273,6 +271,10 @@ export declare class WWA {
273
271
  setUserValRandNum(x: number, num: number, bias: number): void;
274
272
  private _generateUserValString;
275
273
  speedChangeJudge(speedChangeFlag: boolean): void;
274
+ switchConditionalExecutionStatus(descriminant?: string): void;
275
+ execSetMacro(macroStr?: string): void;
276
+ private _generateTokenValues;
277
+ resetConditionalMacroExecStaus(): void;
276
278
  userVarUserIf(_triggerPartsPosition: Coord, args: string[]): void;
277
279
  private compareUserVar;
278
280
  setPlayerSpeedIndex(speedIndex: number): void;
@@ -284,9 +286,6 @@ export declare class WWA {
284
286
  x: number;
285
287
  y: number;
286
288
  }): void;
287
- private _getVirtualPadButton;
288
- private _setVirtualPadTouch;
289
- private _setVirtualPadLeave;
290
289
  private _actionGamePadButtonItemMacro;
291
290
  setGamePadButtonItemTable(buttonID: number, itemBoxNo: number): void;
292
291
  private _checkSaveDataCompatibility;
@@ -297,4 +296,3 @@ export declare class WWA {
297
296
  isCalledByMacro: boolean;
298
297
  }): boolean;
299
298
  }
300
- export declare const getJSONFile: (fileName: string, callback: (error: JsonRequestError, result: unknown) => void) => void;
@@ -22,6 +22,7 @@ export declare class Macro {
22
22
  macroType: MacroType;
23
23
  macroArgs: string[];
24
24
  constructor(_wwa: WWA, _triggerPartsID: number, _triggerPartsType: number, _triggerPartsPosition: Coord, macroType: MacroType, macroArgs: string[]);
25
+ isJunction(): boolean;
25
26
  execute(): void;
26
27
  private _concatEmptyArgs;
27
28
  private _parseInt;
@@ -51,6 +52,9 @@ export declare class Macro {
51
52
  private _executeVarSetRandMacro;
52
53
  private _executeGameSpeedMacro;
53
54
  private _executeIfMacro;
55
+ private _executeIfElseMacro;
56
+ private _executeElseMacro;
57
+ private _executeEndIfMacro;
54
58
  private _executeSetSpeedMacro;
55
59
  private _executeCopyTimeToMacro;
56
60
  private _executeHideStatusMacro;
@@ -81,6 +85,7 @@ export declare class Macro {
81
85
  private _executeGamePadButtonMacro;
82
86
  private _executeOldMoveMacro;
83
87
  private _executeNoGameOverMacro;
88
+ private _executeSetMacro;
84
89
  }
85
90
  export declare function parseMacro(wwa: WWA, partsID: number, partsType: PartsType, position: Coord, macroStr: string): Macro;
86
91
  export declare class TextWindow {
@@ -7,9 +7,11 @@ export declare class PasswordWindow {
7
7
  private _wwa;
8
8
  private _parent;
9
9
  private _isDisallowLoadOldSave;
10
+ private readonly COPIED_MESSAGE_DISPLAY_MS;
10
11
  private _element;
11
12
  private _okButtonElement;
12
13
  private _cancelButtonElement;
14
+ private _copyButtonElement;
13
15
  private _descriptionElement;
14
16
  private _passwordBoxElement;
15
17
  private _buttonWrapperElement;
@@ -13,15 +13,12 @@ declare type WWASaveDataItem = {
13
13
  };
14
14
  export default class WWASaveDataDBList extends WWASaveDataList {
15
15
  private selectDatas;
16
- private selectLoad;
17
- private indexedDB;
18
16
  private IDBTransaction;
19
17
  private onCheckLoadingSaveData;
20
18
  private onCompleteLoadingSaveData;
21
19
  private static doNotAnything;
22
20
  protected keyPath: string | string[];
23
21
  constructor(onCheckLoadingSaveData: OnCheckLoadingSaveDataFunction, onCompleteLoadingSaveData: OnCompleteLoadingSaveDataFunction, prototype?: WWASaveDataDBList);
24
- private getAlEmulate;
25
22
  private indexDBOpen;
26
23
  private createDataBase;
27
24
  private getObjectStore;
@@ -0,0 +1,24 @@
1
+ export declare class Sound {
2
+ private id;
3
+ private fileName;
4
+ private audioContext;
5
+ private audioGain;
6
+ private audioBuffer;
7
+ private bufferSources;
8
+ private isLoaded;
9
+ private isExceededMaxRetryCount?;
10
+ constructor(id: number, fileName: string, audioContext: AudioContext, audioGain: GainNode);
11
+ private fetchSoundFile;
12
+ private getArrayBuffer;
13
+ private load;
14
+ private retry;
15
+ private setData;
16
+ private cancelLoad;
17
+ play(): void;
18
+ pause(): void;
19
+ isBgm(): boolean;
20
+ hasData(): boolean;
21
+ isLoading(): boolean;
22
+ isError(): boolean;
23
+ private disposeBufferSource;
24
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wwawing/engine",
3
- "version": "3.9.0-beta.0",
3
+ "version": "3.9.0",
4
4
  "description": "World Wide Adventure: an RPG Engine.",
5
5
  "main": "./lib/wwa.js",
6
6
  "files": [
@@ -41,29 +41,28 @@
41
41
  },
42
42
  "homepage": "https://github.com/WWAWing/WWAWing#readme",
43
43
  "devDependencies": {
44
- "@types/crypto-js": "^4.0.1",
45
- "@types/pug": "^2.0.4",
46
- "@types/terser-webpack-plugin": "^5.0.3",
44
+ "@types/crypto-js": "^4.1.1",
45
+ "@types/pug": "^2.0.6",
46
+ "@types/terser-webpack-plugin": "^5.2.0",
47
47
  "@types/webpack": "^5.28.0",
48
- "@wwawing/assets": "^3.9.0-beta.0",
49
- "@wwawing/common-interface": "^3.9.0-beta.0",
50
- "@wwawing/debug-server": "^3.9.0-beta.0",
51
- "@wwawing/event-emitter": "^3.9.0-beta.0",
52
- "@wwawing/loader": "^3.9.0-beta.0",
53
- "@wwawing/page-generator": "^3.9.0-beta.0",
54
- "@wwawing/styles": "^3.9.0-beta.0",
55
- "@wwawing/virtual-pad": "^3.9.0-beta.0",
56
- "crypto-js": "4.0.0",
48
+ "@wwawing/assets": "^3.9.0",
49
+ "@wwawing/common-interface": "^3.9.0",
50
+ "@wwawing/debug-server": "^3.9.0",
51
+ "@wwawing/event-emitter": "^3.9.0",
52
+ "@wwawing/loader": "^3.9.0",
53
+ "@wwawing/page-generator": "^3.9.0",
54
+ "@wwawing/styles": "^3.9.0",
55
+ "crypto-js": "^4.1.1",
57
56
  "npm-run-all": "^4.1.5",
58
57
  "pug": "^3.0.2",
59
- "shelljs": "^0.8.4",
60
- "shx": "^0.3.3",
61
- "terser-webpack-plugin": "^5.3.0",
62
- "ts-loader": "^4.3.0",
63
- "ts-node": "^10.4.0",
64
- "typescript": "^4.5.4",
65
- "webpack": "^5.65.0",
66
- "webpack-cli": "^4.9.1"
58
+ "shelljs": "^0.8.5",
59
+ "shx": "^0.3.4",
60
+ "terser-webpack-plugin": "^5.3.3",
61
+ "ts-loader": "^9.3.0",
62
+ "ts-node": "^10.8.1",
63
+ "typescript": "^4.7.3",
64
+ "webpack": "^5.73.0",
65
+ "webpack-cli": "^4.10.0"
67
66
  },
68
67
  "publishConfig": {
69
68
  "access": "public"
@@ -72,5 +71,5 @@
72
71
  "node": ">=16",
73
72
  "npm": ">=8"
74
73
  },
75
- "gitHead": "31f57918222d901ab542e8382dcd2c2b79023af4"
74
+ "gitHead": "32c2e708c4d92bceb1847063e35a9ade661f4e93"
76
75
  }
@@ -1,9 +0,0 @@
1
- export default abstract class WWAAudio {
2
- protected idx: number;
3
- constructor(idx: number);
4
- play(): void;
5
- pause(): void;
6
- isBgm(): boolean;
7
- hasData(): boolean;
8
- isError(): boolean;
9
- }
@@ -1,13 +0,0 @@
1
- import WWAAudio from './WWAAudio';
2
- export default class WWAAudioElement extends WWAAudio {
3
- private _mainElement;
4
- private _subElement;
5
- private _currentElement;
6
- private _nextIsSub;
7
- constructor(idx: number, file: string, parentNode: Node);
8
- private _createElement;
9
- play(): void;
10
- pause(): void;
11
- hasData(): boolean;
12
- isError(): boolean;
13
- }
@@ -1,18 +0,0 @@
1
- import WWAAudio from './WWAAudio';
2
- export default class WWAWebAudio extends WWAAudio {
3
- private audioContext;
4
- private audioGain;
5
- private audioBuffer;
6
- private bufferSources;
7
- private isLoaded;
8
- private pos;
9
- constructor(idx: number, file: string, audioContext: AudioContext, audioGain: GainNode);
10
- private _load;
11
- private _setData;
12
- private _cancelLoad;
13
- play(): void;
14
- pause(): void;
15
- hasData(): boolean;
16
- isLoading(): boolean;
17
- isError(): boolean;
18
- }
@@ -1,4 +0,0 @@
1
- import WWAAudio from './WWAAudio';
2
- import WWAAudioElement from './WWAAudioElement';
3
- import WWAWebAudio from './WWAWebAudio';
4
- export { WWAAudio, WWAAudioElement, WWAWebAudio };
@@ -1,20 +0,0 @@
1
- import WWASaveDataDBList from "./WWASaveDataDBList";
2
- import { OnCompleteLoadingSaveDataFunction, OnCheckLoadingSaveDataFunction } from ".";
3
- declare type WWASaveDataItem = {
4
- url?: string;
5
- id: number;
6
- hash: string;
7
- image: string;
8
- data: object;
9
- date: Date;
10
- worldName: string;
11
- urlWithId: string;
12
- mapDataRevisionKey: string;
13
- };
14
- export default class WWASaveDataDBListForIE extends WWASaveDataDBList {
15
- constructor(onCheckLoadingSaveData: OnCheckLoadingSaveDataFunction, onCompleteLoadingSaveData: OnCompleteLoadingSaveDataFunction);
16
- protected keyPath: string;
17
- protected makeSaveDataItem(saveID: number, gameCvs: HTMLCanvasElement, compressedData: object, date: Date): WWASaveDataItem;
18
- protected getSaveDataResult(store: IDBObjectStore, onsuccess: (result: WWASaveDataItem[]) => void): void;
19
- }
20
- export {};