@wwawing/engine 0.0.0-exe-chousa.based-on.3.12.21

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.
Files changed (58) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +11 -0
  3. package/debug/index.pug +22 -0
  4. package/debug/make-debug-pages.ts +88 -0
  5. package/debug/maps-config.ts +14 -0
  6. package/lib/json_api_client/index.d.ts +12 -0
  7. package/lib/wwa.js +21 -0
  8. package/lib/wwa_camera.d.ts +20 -0
  9. package/lib/wwa_cgmanager.d.ts +51 -0
  10. package/lib/wwa_data.d.ts +578 -0
  11. package/lib/wwa_encryption.d.ts +4 -0
  12. package/lib/wwa_estimate_battle.d.ts +13 -0
  13. package/lib/wwa_expression/__tests__/value-assign-operation.d.ts +1 -0
  14. package/lib/wwa_expression/eval.d.ts +5 -0
  15. package/lib/wwa_expression/index.d.ts +11 -0
  16. package/lib/wwa_expression/parsers.d.ts +3 -0
  17. package/lib/wwa_expression/regexp.d.ts +11 -0
  18. package/lib/wwa_expression/typedef.d.ts +57 -0
  19. package/lib/wwa_expression/value-assign-operation.d.ts +22 -0
  20. package/lib/wwa_inject_html.d.ts +2 -0
  21. package/lib/wwa_input.d.ts +129 -0
  22. package/lib/wwa_item_menu.d.ts +20 -0
  23. package/lib/wwa_main.d.ts +331 -0
  24. package/lib/wwa_message.d.ts +241 -0
  25. package/lib/wwa_monster.d.ts +19 -0
  26. package/lib/wwa_motion.d.ts +29 -0
  27. package/lib/wwa_parts_player.d.ts +169 -0
  28. package/lib/wwa_password_window.d.ts +28 -0
  29. package/lib/wwa_play_time.d.ts +8 -0
  30. package/lib/wwa_save/WWACompress.d.ts +36 -0
  31. package/lib/wwa_save/WWASave.d.ts +27 -0
  32. package/lib/wwa_save/WWASaveData.d.ts +20 -0
  33. package/lib/wwa_save/WWASaveDataDB.d.ts +5 -0
  34. package/lib/wwa_save/WWASaveDataDBList.d.ts +31 -0
  35. package/lib/wwa_save/WWASaveDataList.d.ts +6 -0
  36. package/lib/wwa_save/WWASaveDataLog.d.ts +3 -0
  37. package/lib/wwa_save/WWASaveDataLogList.d.ts +14 -0
  38. package/lib/wwa_save/common/definitions.d.ts +11 -0
  39. package/lib/wwa_save/common/index.d.ts +2 -0
  40. package/lib/wwa_save/common/mapDataRevisionKey.d.ts +1 -0
  41. package/lib/wwa_save/index.d.ts +6 -0
  42. package/lib/wwa_save/migrators/index.d.ts +2 -0
  43. package/lib/wwa_save/migrators/migrate-gameover-policy.d.ts +2 -0
  44. package/lib/wwa_sound.d.ts +26 -0
  45. package/lib/wwa_util.d.ts +11 -0
  46. package/lib/wwa_vardump/api.d.ts +8 -0
  47. package/lib/wwa_vardump/index.d.ts +9 -0
  48. package/lib/wwa_vardump/named-user-variable/api.d.ts +1 -0
  49. package/lib/wwa_vardump/named-user-variable/index.d.ts +1 -0
  50. package/lib/wwa_vardump/numbered-user-variable/api.d.ts +3 -0
  51. package/lib/wwa_vardump/numbered-user-variable/index.d.ts +1 -0
  52. package/lib/wwa_vardump/user-variable/user-variable-card/index.d.ts +11 -0
  53. package/lib/wwa_vardump/user-variable/user-variable-label/index.d.ts +3 -0
  54. package/lib/wwa_vardump/user-variable/user-variable-list/index.d.ts +14 -0
  55. package/lib/wwa_vardump/user-variable/user-variable-list-section/header/index.d.ts +13 -0
  56. package/lib/wwa_vardump/user-variable/user-variable-list-section/header/information/index.d.ts +3 -0
  57. package/lib/wwa_vardump/user-variable/user-variable-list-section/index.d.ts +8 -0
  58. package/package.json +83 -0
@@ -0,0 +1,241 @@
1
+ import { WWA } from "./wwa_main";
2
+ import { Coord, PartsType, MacroType, Position, Direction, PreprocessMacroType, ScoreOptions as ScoreOptions } from "./wwa_data";
3
+ import { Monster } from "./wwa_monster";
4
+ import { WWAData } from "./wwa_data";
5
+ import { WWASave } from "./wwa_save";
6
+ import { type TokenValues, type Descriminant } from "./wwa_expression";
7
+ export type LazyEvaluateValue = () => number;
8
+ export type MessageSegments = (string | LazyEvaluateValue)[];
9
+ export declare class Page {
10
+ firstNode?: Node;
11
+ isLastPage?: boolean;
12
+ showChoice?: boolean;
13
+ isSystemMessage?: boolean;
14
+ scoreOptions?: ScoreOptions;
15
+ extraInfo?: {
16
+ partsId: number;
17
+ partsType: PartsType;
18
+ partsPosition: Coord;
19
+ };
20
+ constructor(firstNode?: Node, isLastPage?: boolean, showChoice?: boolean, isSystemMessage?: boolean, scoreOptions?: ScoreOptions, extraInfo?: {
21
+ partsId: number;
22
+ partsType: PartsType;
23
+ partsPosition: Coord;
24
+ });
25
+ }
26
+ export declare abstract class Node {
27
+ constructor();
28
+ }
29
+ export interface Branch {
30
+ descriminant?: Descriminant;
31
+ elseBranch?: {
32
+ type: "real" | "pesudo-else";
33
+ };
34
+ next?: Node;
35
+ }
36
+ export declare class Junction extends Node {
37
+ branches: Branch[];
38
+ constructor(branches?: Branch[]);
39
+ appendBranch(branch: Branch): void;
40
+ getLastUnconnectedBranch(): Branch | undefined;
41
+ evaluateAndGetNextNode(generateTokenValues: () => TokenValues): Node | undefined;
42
+ hasElseBranch(): boolean;
43
+ }
44
+ export declare class ParsedMessage extends Node {
45
+ macro?: Macro[];
46
+ next?: Node;
47
+ private messageSegments;
48
+ constructor(textOrMessageSegments: string | MessageSegments, macro?: Macro[], next?: Node);
49
+ isEmpty(): boolean;
50
+ generatePrintableMessage(): string;
51
+ appendMessage(message: string | MessageSegments, withNewLine?: boolean): void;
52
+ private parseMessage;
53
+ }
54
+ export declare function isEmptyMessageTree(node: Node | undefined): boolean;
55
+ export declare function getLastMessage(node: undefined): undefined;
56
+ export declare function getLastMessage(node: Node): Node;
57
+ export declare function concatMessage(node1: Node | undefined, node2: Node | undefined): Node | undefined;
58
+ export type MessageLineType = PreprocessMacroType | "text" | "normalMacro";
59
+ export declare const messagLineIsText: (lineType: MessageLineType) => lineType is "text" | MacroType.SHOW_STR | MacroType.SHOW_STR2 | "normalMacro";
60
+ export type MessageLine = ({
61
+ type: PreprocessMacroType;
62
+ text: string;
63
+ macro: Macro;
64
+ } | {
65
+ type: "normalMacro";
66
+ text: string;
67
+ macro: Macro;
68
+ } | {
69
+ type: "text";
70
+ text: string;
71
+ macro?: undefined;
72
+ });
73
+ export declare class Macro {
74
+ private _wwa;
75
+ private _triggerPartsID;
76
+ private _triggerPartsType;
77
+ private _triggerPartsPosition;
78
+ macroType: MacroType;
79
+ macroArgs: string[];
80
+ constructor(_wwa: WWA, _triggerPartsID: number, _triggerPartsType: number, _triggerPartsPosition: Coord, macroType: MacroType, macroArgs: string[]);
81
+ isJunction(): boolean;
82
+ execute(): {
83
+ isGameOver?: true;
84
+ };
85
+ private _concatEmptyArgs;
86
+ private _evaluateIntValue;
87
+ private _executeJumpGateMacro;
88
+ private _executeRecPositionMacro;
89
+ private _executeJumpRecPositionMacro;
90
+ private _executeConsoleLogMacro;
91
+ private _executeCopyHpToMacro;
92
+ private _executeCopyHpMaxToMacro;
93
+ private _executeCopyAtToMacro;
94
+ private _executeCopyDfToMacro;
95
+ private _parseStatusKind;
96
+ private _executeCopyMoneyToMacro;
97
+ private _executeSetHPMacro;
98
+ private _executeSetHpMaxMacro;
99
+ private _executeSetAtMacro;
100
+ private _executeSetDfMacro;
101
+ private _executeSetMoneyMacro;
102
+ private _executeSetStepCountMacro;
103
+ private _executeVarSetValMacro;
104
+ private _executeVarSetMacro;
105
+ private _executeVarAddMacro;
106
+ private _executeVarSubMacro;
107
+ private _executeVarMulMacro;
108
+ private _executeVarDivMacro;
109
+ private _executeVarModMacro;
110
+ private _executeVarSetRandMacro;
111
+ private _executeGameSpeedMacro;
112
+ private _executeLegacyIfMacro;
113
+ private _executeSetSpeedMacro;
114
+ private _executeCopyTimeToMacro;
115
+ private _executeHideStatusMacro;
116
+ private _executeVarMapMacro;
117
+ private _executeImgPlayerMacro;
118
+ private _executeImgYesNoMacro;
119
+ private _executeHPMaxMacro;
120
+ private _executeSaveMacro;
121
+ private _executeItemMacro;
122
+ private _executeDefaultMacro;
123
+ private _executeOldMapMacro;
124
+ private _executePartsMacro;
125
+ private _executeMoveMacro;
126
+ private _executeMapMacro;
127
+ private _executeDirMapMacro;
128
+ private _executeImgFrameMacro;
129
+ private _executeImgBomMacro;
130
+ private _executeDelPlayerMacro;
131
+ private _executeFaceMacro;
132
+ private _executeEffectMacro;
133
+ private _executeGameOverMacro;
134
+ private _executeImgClickMacro;
135
+ private _executeEffItemMacro;
136
+ private _executeStatusMacro;
137
+ private _executeColorMacro;
138
+ private _executeWaitMacro;
139
+ private _executeSoundMacro;
140
+ private _executeGamePadButtonMacro;
141
+ private _executeOldMoveMacro;
142
+ private _executeNoGameOverMacro;
143
+ private _executeSetMacro;
144
+ private _executeDelayBgmMacro;
145
+ private _executeSysMsgMacro;
146
+ private resolveSystemMessageKeyFromMacroArg;
147
+ }
148
+ export declare function parseMacro(wwa: WWA, partsID: number, partsType: PartsType, position: Coord, macroStr: string): Macro;
149
+ export declare class TextWindow {
150
+ protected _wwa: WWA;
151
+ protected _coord: Coord;
152
+ protected _width: number;
153
+ protected _height: number;
154
+ protected _isVisible: boolean;
155
+ protected _parentElement: HTMLElement;
156
+ protected _element: HTMLElement;
157
+ constructor(_wwa: WWA, _coord: Coord, _width: number, _height: number, _isVisible: boolean, _parentElement: HTMLElement, zIndex: number);
158
+ update(a?: any): void;
159
+ show(): void;
160
+ hide(): void;
161
+ isVisible(): boolean;
162
+ protected get windowName(): string;
163
+ }
164
+ export declare class MonsterWindow extends TextWindow {
165
+ protected _cgFileName: string;
166
+ protected _monsterBox: HTMLDivElement;
167
+ protected _energyBox: HTMLDivElement;
168
+ protected _strengthBox: HTMLDivElement;
169
+ protected _defenceBox: HTMLDivElement;
170
+ constructor(wwa: WWA, coord: Coord, width: number, height: number, isVisible: boolean, parentElement: HTMLElement, _cgFileName: string);
171
+ update(monster?: Monster): void;
172
+ protected get windowName(): string;
173
+ }
174
+ export declare class ScoreWindow extends TextWindow {
175
+ protected static WINDOW_NAME: string;
176
+ constructor(wwa: WWA, coord: Coord, isVisible: boolean, parentElement: HTMLElement);
177
+ update(score?: number): void;
178
+ protected get windowName(): string;
179
+ }
180
+ export declare enum Positioning {
181
+ TOP = 0,
182
+ CENTER = 1,
183
+ BOTTOM = 2,
184
+ SCORE = 3
185
+ }
186
+ export declare class MessageWindow {
187
+ private _wwa;
188
+ private _x;
189
+ private _y;
190
+ private _width;
191
+ private _height;
192
+ private _message;
193
+ private _cgFileName;
194
+ private _isVisible;
195
+ private _isYesno;
196
+ private _isSave;
197
+ private _isItemMenu;
198
+ private _isInputDisable;
199
+ private _element;
200
+ private _msgWrapperElement;
201
+ private _dummyElement;
202
+ private _saveElement;
203
+ private _ynWrapperElement;
204
+ private _divYesElement;
205
+ private _divNoElement;
206
+ private _parentElement;
207
+ private _wwaSave;
208
+ private _save_select_id;
209
+ private _save_counter;
210
+ private _save_close;
211
+ constructor(wwa: WWA, x: number, y: number, width: number, height: number, cgFileName: string, isVisible: boolean, isYesno: boolean, isItemMenu: boolean, parentElement: HTMLElement);
212
+ setPosition(x: number, y: number, width: number, height: number): void;
213
+ setPositionByPlayerPosition(existsFaces: boolean, existsScoreWindow: boolean, displayCenter: boolean, playerPos: Position, cameraPos: Position): void;
214
+ setPositionEasy(pos: Positioning): void;
215
+ setMessage(message: string): void;
216
+ clear(): void;
217
+ setYesNoChoice(isYesNo: boolean): boolean;
218
+ isYesNoChoice(): boolean;
219
+ isSaveChoice(): boolean;
220
+ setItemMenuChoice(isItemMenu: boolean): boolean;
221
+ isItemMenuChoice(): boolean;
222
+ setInputDisable(): void;
223
+ isInputDisable(): boolean;
224
+ show(): void;
225
+ hide(): void;
226
+ isVisible(): boolean;
227
+ private isWideChar;
228
+ private createClassicTextElement;
229
+ update(): void;
230
+ setWWASave(wwaSave: WWASave): void;
231
+ createSaveDom(): void;
232
+ deleteSaveDom(): void;
233
+ setSaveID(save_select_id: number): void;
234
+ save(gameCvs: HTMLCanvasElement, _quickSaveData: WWAData): boolean;
235
+ load(): WWAData;
236
+ saveUpdate(): void;
237
+ isSaveClose(): boolean;
238
+ private cursor_wait;
239
+ saveControll(moveDir: Direction): void;
240
+ protected get windowName(): string;
241
+ }
@@ -0,0 +1,19 @@
1
+ import { Coord, Status } from "./wwa_data";
2
+ export declare class Monster {
3
+ private _partsID;
4
+ private _position;
5
+ private _imgCoord;
6
+ private _status;
7
+ private _message;
8
+ private _item;
9
+ private _battleEndCallback;
10
+ constructor(_partsID: number, _position: Coord, _imgCoord: Coord, _status: Status, _message: string, _item: number, _battleEndCallback: () => void);
11
+ get partsID(): number;
12
+ get position(): Coord;
13
+ get imgCoord(): Coord;
14
+ get status(): Status;
15
+ get message(): string;
16
+ get item(): number;
17
+ damage(amount: number): void;
18
+ battleEndProcess(): void;
19
+ }
@@ -0,0 +1,29 @@
1
+ import { WWA } from "./wwa_main";
2
+ import { Direction as Dir, Position, Coord, Direction } from "./wwa_data";
3
+ import { Player } from "./wwa_parts_player";
4
+ export declare class ObjectMovingData {
5
+ private _player;
6
+ private _objectID;
7
+ private _srcPos;
8
+ private _destPos;
9
+ private _dir;
10
+ private _currentPos;
11
+ constructor(_player: Player, _objectID: number, _srcPos: Position, _destPos: Position, _dir: Dir);
12
+ update(): Position;
13
+ get isAchievedDestination(): boolean;
14
+ get currentPosition(): Position;
15
+ get beforePosition(): Position;
16
+ get destination(): Position;
17
+ get objID(): number;
18
+ }
19
+ export declare class ObjectMovingDataManager {
20
+ private _wwa;
21
+ private _player;
22
+ private _queue;
23
+ constructor(_wwa: WWA, _player: Player);
24
+ add(objectID: number, srcPos: Position, destPos: Position, dir: Direction): void;
25
+ update(): ObjectMovingData[];
26
+ clear(): void;
27
+ get objectMovingData(): ObjectMovingData[];
28
+ getOffsetByBeforePartsCoord(coord: Coord): Coord;
29
+ }
@@ -0,0 +1,169 @@
1
+ import { WWA } from "./wwa_main";
2
+ import { Position, Direction, Status, EquipmentStatus, PartsType, Coord } from "./wwa_data";
3
+ import { Camera } from "./wwa_camera";
4
+ import { Monster } from "./wwa_monster";
5
+ export declare class Parts {
6
+ protected _position: Position;
7
+ protected _wwa: WWA;
8
+ getPosition(): Position;
9
+ constructor(pos: Position);
10
+ }
11
+ export declare class PartsObject extends Parts {
12
+ constructor(pos: Position);
13
+ }
14
+ export declare class PartsMap extends Parts {
15
+ constructor(pos: Position);
16
+ }
17
+ export declare enum PlayerState {
18
+ CONTROLLABLE = 0,
19
+ MOVING = 1,
20
+ CAMERA_MOVING = 2,
21
+ MESSAGE_WAITING = 3,
22
+ LOCALGATE_JUMPED = 4,
23
+ BATTLE = 5,
24
+ ESTIMATE_WINDOW_WAITING = 6,
25
+ PASSWORD_WINDOW_WAITING = 7,
26
+ LOCALGATE_JUMPED_WITH_MESSAGE = 8
27
+ }
28
+ export declare class Player extends PartsObject {
29
+ protected _status: Status;
30
+ protected _equipStatus: EquipmentStatus;
31
+ protected _energyMax: number;
32
+ protected _dir: Direction;
33
+ protected _jumpWaitFramesRemain: number;
34
+ protected _camera: Camera;
35
+ protected _state: PlayerState;
36
+ protected _isPartsEventExecuted: boolean;
37
+ protected _samePosLastExecutedMapID: number;
38
+ protected _samePosLastExecutedObjID: number;
39
+ protected _executedObjPartsID_onSamePosition: number;
40
+ protected _isMovingImage: boolean;
41
+ protected _partsAppeared: boolean;
42
+ protected _energyValueElement: HTMLElement;
43
+ protected _strengthValueElement: HTMLElement;
44
+ protected _defenceValueElement: HTMLElement;
45
+ protected _goldValueElement: HTMLElement;
46
+ protected _itemBox: number[];
47
+ protected _itemBoxElement: HTMLDivElement[];
48
+ protected _itemUsingEvent: EventListener[];
49
+ protected _readyToUseItemPos: number;
50
+ protected _isReadyToUseItem: boolean;
51
+ protected _battleFrameCounter: number;
52
+ protected _isPlayerTurn: boolean;
53
+ protected _battleTurnNum: number;
54
+ protected _enemy: Monster;
55
+ protected _moves: number;
56
+ protected _frameCount: number;
57
+ protected _moveMacroWaitingRemainMoves: number;
58
+ protected _moveObjectAutoExecTimer: number;
59
+ protected _afterMoveMacroFlag: boolean;
60
+ protected _isClickableItemGot: boolean;
61
+ protected _isPreparedForLookingAround: boolean;
62
+ protected _lookingAroundTimer: number;
63
+ protected _speedIndex: number;
64
+ protected _messageDelayFrameCount: number;
65
+ move(): void;
66
+ controll(moveDir: Direction): void;
67
+ setDir(newDir: Direction): void;
68
+ canMoveTo(pos: Position): boolean;
69
+ isMoving(): boolean;
70
+ private _isOnCameraMovingPosition;
71
+ private _isOnCameraStopPosition;
72
+ isControllable(): boolean;
73
+ getCopyOfItemBox(): number[];
74
+ getDir(): Direction;
75
+ isMovingImage(): boolean;
76
+ toggleMovingImage(): void;
77
+ getEnergyMax(): number;
78
+ isJumped(): boolean;
79
+ setMessageWaiting(): void;
80
+ isWaitingMessage(): boolean;
81
+ isDelayFrame(): boolean;
82
+ updateDelayFrame(): void;
83
+ setDelayFrame(): void;
84
+ clearMessageWaiting(): void;
85
+ setEstimateWindowWating(): void;
86
+ isWatingEstimateWindow(): boolean;
87
+ clearEstimateWindowWaiting(): void;
88
+ setPasswordWindowWating(): void;
89
+ isWaitingPasswordWindow(): boolean;
90
+ clearPasswordWindowWaiting(): void;
91
+ isPartsEventExecuted(): boolean;
92
+ resetEventExecutionInfo(): void;
93
+ getLastExecPartsIDOnSamePosition(type: PartsType): number;
94
+ setLastExecInfoOnSamePosition(type: PartsType, id: number): void;
95
+ processAfterJump(): void;
96
+ jumpTo(pos: Position): boolean;
97
+ systemJumpTo(pos: Position): void;
98
+ addStatusAll(s: Status): Status;
99
+ setEnergyMax(em: number): number;
100
+ setEnergy(e: number): number;
101
+ damage(amount: number): void;
102
+ setStrength(s: number): number;
103
+ setDefence(d: number): number;
104
+ setGold(g: number): number;
105
+ getStatus(): Status;
106
+ getStatusWithoutEquipments(): Status;
107
+ getStatusOfEquipments(): EquipmentStatus;
108
+ updateStatusValueBox(): void;
109
+ readonly itemTransitioningClassName = "item-transitioning";
110
+ readonly overwittenItemClassName = "item-overwritten";
111
+ readonly overwittenItemSelector: string;
112
+ readonly itemEffectStartTimers: (number | undefined)[];
113
+ updateItemBox(animationOption?: {
114
+ insertPos: number;
115
+ itemScreenPixelCoord: Coord;
116
+ itemBoxScreenPixelCoord: Coord;
117
+ itemBoxBackgroundImageCoord: Coord;
118
+ overwrittenObjectId?: number;
119
+ }): void;
120
+ private startItemEffect;
121
+ private disposeItemEffect;
122
+ isDead(): boolean;
123
+ addItem(objID: number, itemPos?: number, isOverwrite?: boolean, animationOption?: {
124
+ screenPixelCoord: Coord;
125
+ itemBoxBackgroundImageCoord: Coord;
126
+ }): void;
127
+ private _forceSetItemBox;
128
+ private _getBlankItemPos;
129
+ private _updateEquipmentStatus;
130
+ hasItem(partsID: number): boolean;
131
+ canUseItem(itemPos: number): boolean;
132
+ useItem(): number;
133
+ canHaveMoreItems(): boolean;
134
+ removeItemByItemPosition(itemPos: number): void;
135
+ removeItemByPartsID(partsID: number): void;
136
+ clearItemBox(): void;
137
+ hasGold(gold: number): boolean;
138
+ payGold(gold: number): void;
139
+ earnGold(gold: number): void;
140
+ setPartsAppearedFlag(): void;
141
+ clearPartsAppearedFlag(): void;
142
+ isPartsAppearedTime(): boolean;
143
+ startBattleWith(enemy: Monster): void;
144
+ isFighting(): boolean;
145
+ isTurn(): boolean;
146
+ getTurnNum(): number;
147
+ isBattleStartFrame(): boolean;
148
+ fight(): void;
149
+ readyToUseItem(itemPos: number): void;
150
+ isReadyToUseItem(): boolean;
151
+ getDrawingCenterPosition(): Coord;
152
+ mainFrameCount(): void;
153
+ getFrameCount(): number;
154
+ setFrameCount(count: number): number;
155
+ getMoveCount(): number;
156
+ setMoveCount(count: number): number;
157
+ isMoveObjectAutoExecTime(): boolean;
158
+ setMoveMacroWaiting(moveNum: number): void;
159
+ resetMoveObjectAutoExecTimer(): void;
160
+ decrementMoveObjectAutoExecTimer(): number;
161
+ isWaitingMoveMacro(): boolean;
162
+ decrementLookingAroundTimer(): number;
163
+ isLookingAround(): boolean;
164
+ getSpeedIndex(): number;
165
+ speedUp(): number;
166
+ speedDown(): number;
167
+ setSpeedIndex(speedIndex: number): number;
168
+ constructor(wwa: WWA, pos: Position, camera: Camera, status: Status, em: number, moves: number, gameSpeedIndex: number);
169
+ }
@@ -0,0 +1,28 @@
1
+ import { WWA } from "./wwa_main";
2
+ export declare enum Mode {
3
+ SAVE = 0,
4
+ LOAD = 1
5
+ }
6
+ export declare class PasswordWindow {
7
+ private _wwa;
8
+ private _parent;
9
+ private _isDisallowLoadOldSave;
10
+ private readonly COPIED_MESSAGE_DISPLAY_MS;
11
+ private _element;
12
+ private _okButtonElement;
13
+ private _cancelButtonElement;
14
+ private _copyButtonElement;
15
+ private _descriptionElement;
16
+ private _passwordBoxElement;
17
+ private _buttonWrapperElement;
18
+ private _isVisible;
19
+ private _mode;
20
+ constructor(_wwa: WWA, _parent: HTMLDivElement, _isDisallowLoadOldSave: boolean);
21
+ get mode(): Mode;
22
+ set mode(mode: Mode);
23
+ get password(): string;
24
+ set password(password: string);
25
+ show(mode?: Mode): void;
26
+ hide(): void;
27
+ update(): void;
28
+ }
@@ -0,0 +1,8 @@
1
+ export declare class PlayTimeCalculator {
2
+ private lastCalculatedTimeUnixMs;
3
+ private lastCalculatedPlayTimeMs;
4
+ constructor(baseTimeMs?: number);
5
+ calculateTimeMs(): number;
6
+ calculatePlayTimeFormat(): string;
7
+ static formatPlayTimeText(timeSec: number): string;
8
+ }
@@ -0,0 +1,36 @@
1
+ import { WWAData } from "../wwa_data";
2
+ import { WWADataWithWorldNameStatus } from "./common";
3
+ export declare class FirstChangedMapUint8Table {
4
+ map: Uint8Array;
5
+ mapObject: Uint8Array;
6
+ }
7
+ export default class WWACompress {
8
+ private static _usingByteFlag;
9
+ private static MIN_LOOP_COUNT;
10
+ private static _restartData;
11
+ private static _mapByteLength;
12
+ private static _firstRandomMapObjectUtf8Table;
13
+ static compress(wwaData: WWAData): object;
14
+ private static compressObject;
15
+ private static compressUserVars;
16
+ private static compressMapAllObject;
17
+ private static indexListCompress;
18
+ private static idSort;
19
+ private static getCompressArray;
20
+ private static getDecompressArray;
21
+ static decompress(saveObject: object): WWADataWithWorldNameStatus;
22
+ private static decompressObject;
23
+ private static decompressUserVars;
24
+ private static generateEmptyUserVars;
25
+ private static decompressAllMapObject;
26
+ static setRestartData(restartData: WWAData, firstFrameData: WWAData): void;
27
+ private static getChangedUint8Array;
28
+ static getStartWWAData(resumeSaveTextData: string): WWAData;
29
+ static usingByte(_usingByteFlag: any): void;
30
+ }
31
+ export declare class WWACompressIndexTable {
32
+ id: number;
33
+ index: number;
34
+ count: number;
35
+ constructor(id: number, index: number);
36
+ }
@@ -0,0 +1,27 @@
1
+ import { WWAData, ChoiceCallInfo } from "../wwa_data";
2
+ import { WWA } from "../wwa_main";
3
+ import { Player } from "../wwa_parts_player";
4
+ import WWASaveDataList from "./WWASaveDataList";
5
+ import { OnCheckLoadingSaveDataFunction, OnCompleteLoadingSaveDataFunction } from "./common";
6
+ export default class WWASave {
7
+ static checkOriginalMapString: string;
8
+ static worldName: string;
9
+ static mapDataRevisionKey: string;
10
+ private _wwaDBSaveList;
11
+ private _wwaLogSaveList;
12
+ list: WWASaveDataList;
13
+ constructor(wwa: WWA, worldName: string, worldPassNumber: number, onCheckLoadingSaveData: OnCheckLoadingSaveDataFunction, onCompleteLoadingSaveData: OnCompleteLoadingSaveDataFunction);
14
+ resumeStart(): void;
15
+ isAutoSaveFrame(player: Player): boolean;
16
+ autoSave(gameCvs: HTMLCanvasElement, _quickSaveData: WWAData): void;
17
+ selectDBSaveDataList(): void;
18
+ selectLogSaveDataList(): void;
19
+ save(gameCvs: HTMLCanvasElement, _quickSaveData: WWAData, id: number): boolean;
20
+ load(id: number): WWAData;
21
+ hasSaveData(): boolean;
22
+ setAutoSaveInterval(autoInterval: number): void;
23
+ getFirstSaveChoiceCallInfo(forcePassword: boolean): ChoiceCallInfo;
24
+ getSecondSaveChoiceCallInfo(usePassword: boolean): ChoiceCallInfo;
25
+ gameStart(wwaData: WWAData, player: Player): void;
26
+ quickSaveButtonUpdate(wwaData: WWAData): void;
27
+ }
@@ -0,0 +1,20 @@
1
+ import { WWAData } from "../wwa_data";
2
+ import WWASaveDataList from "./WWASaveDataList";
3
+ export default class WWASaveData {
4
+ protected _parent: WWASaveDataList;
5
+ protected _id: number;
6
+ flag: boolean;
7
+ date: Date;
8
+ cvs: HTMLCanvasElement;
9
+ ctx: CanvasRenderingContext2D;
10
+ protected quickSaveData: WWAData;
11
+ _statusEnergy: number;
12
+ constructor(id: number, parent: WWASaveDataList);
13
+ showQickLoad(): void;
14
+ save(gameCvs: HTMLCanvasElement, _quickSaveData: WWAData): boolean;
15
+ getStatusEnergy(): number;
16
+ load(): WWAData;
17
+ saveDataSet(src: string, quickSaveData: WWAData, date: Date): void;
18
+ getDateText(): string;
19
+ isLastSaveData(): boolean;
20
+ }
@@ -0,0 +1,5 @@
1
+ import { WWAData } from "../wwa_data";
2
+ import WWASaveData from "./WWASaveData";
3
+ export default class WWASaveDataDB extends WWASaveData {
4
+ save(gameCvs: HTMLCanvasElement, _quickSaveData: WWAData): boolean;
5
+ }
@@ -0,0 +1,31 @@
1
+ import { WWAData } from "../wwa_data";
2
+ import WWASaveDataList from "./WWASaveDataList";
3
+ import { OnCheckLoadingSaveDataFunction, OnCompleteLoadingSaveDataFunction } from "./common";
4
+ type WWASaveDataItem = {
5
+ url?: string;
6
+ id: number;
7
+ hash: string;
8
+ image: string;
9
+ data: object;
10
+ date: Date;
11
+ worldName: string | undefined;
12
+ mapDataRevisionKey: string | undefined;
13
+ };
14
+ export default class WWASaveDataDBList extends WWASaveDataList {
15
+ private selectDatas;
16
+ private IDBTransaction;
17
+ private onCheckLoadingSaveData;
18
+ private onCompleteLoadingSaveData;
19
+ private static doNotAnything;
20
+ protected keyPath: string | string[];
21
+ constructor(onCheckLoadingSaveData: OnCheckLoadingSaveDataFunction, onCompleteLoadingSaveData: OnCompleteLoadingSaveDataFunction, prototype?: WWASaveDataDBList);
22
+ private indexDBOpen;
23
+ private createDataBase;
24
+ private getObjectStore;
25
+ protected makeSaveDataItem(saveID: number, gameCvs: HTMLCanvasElement, compressedData: object, date: Date): WWASaveDataItem;
26
+ protected getSaveDataResult(store: IDBObjectStore, onsuccess: (result: WWASaveDataItem[]) => void): void;
27
+ dbUpdateSaveData(saveID: number, gameCvs: HTMLCanvasElement, _quickSaveData: WWAData, date: Date): void;
28
+ dbDeleteSaveData(saveIDs: number[]): void;
29
+ private selectSaveData;
30
+ }
31
+ export {};
@@ -0,0 +1,6 @@
1
+ import WWASaveData from "./WWASaveData";
2
+ export default class WWASaveDataList extends Array<WWASaveData> {
3
+ constructor();
4
+ hasSaveData(): boolean;
5
+ getLastSaveData(): WWASaveData;
6
+ }
@@ -0,0 +1,3 @@
1
+ import WWASaveData from "./WWASaveData";
2
+ export default class WWASaveDataLog extends WWASaveData {
3
+ }
@@ -0,0 +1,14 @@
1
+ import { WWAData } from "../wwa_data";
2
+ import WWASaveDataList from "./WWASaveDataList";
3
+ import { Player } from "../wwa_parts_player";
4
+ export default class WWASaveDataLogList extends WWASaveDataList {
5
+ private _saveNo;
6
+ private _lastAutoSaveMove;
7
+ private _autoInterval;
8
+ constructor();
9
+ resumeStart(): void;
10
+ setPlayer(player: Player): void;
11
+ isAutoSaveFrame(player: Player): boolean;
12
+ autoSave(gameCvs: HTMLCanvasElement, _quickSaveData: WWAData): void;
13
+ setAutoSaveInterval(autoInterval: number): void;
14
+ }
@@ -0,0 +1,11 @@
1
+ import { WWAData } from "../../wwa_data";
2
+ export declare enum LoadErrorCode {
3
+ UNMATCHED_WORLD_NAME = "UNMATCHED_WORLD_NAME",
4
+ UNMATCHED_WORLD_PASS_NUMBER = "UNMATCHED_WORLD_PASS_NUMBER",
5
+ DISALLOW_OLD_REVISION_WORLD_SAVE_DATA = "DISALLOW_OLD_REVISION_WORLD_SAVE_DATA"
6
+ }
7
+ export type OnCompleteLoadingSaveDataFunction = (hasFailedLoadingSaveData: LoadErrorCode[]) => void;
8
+ export type OnCheckLoadingSaveDataFunction = (saveDataWorldName: string | undefined, saveDataHash: string, mapDataRevisionKey: string | undefined) => LoadErrorCode | null;
9
+ export type WWADataWithWorldNameStatus = [WWAData, {
10
+ isWorldNameEmpty: boolean;
11
+ }];
@@ -0,0 +1,2 @@
1
+ export * from "./mapDataRevisionKey";
2
+ export * from "./definitions";
@@ -0,0 +1 @@
1
+ export declare function generateMapDataRevisionKey(worldName: string, worldPassNumber: number): string;
@@ -0,0 +1,6 @@
1
+ import WWACompress from './WWACompress';
2
+ import WWASave from './WWASave';
3
+ import WWASaveData from './WWASaveData';
4
+ export * from "./common";
5
+ export * as Migrators from "./migrators";
6
+ export { WWACompress, WWASave, WWASaveData, };
@@ -0,0 +1,2 @@
1
+ import { WWAData } from "../../wwa_data";
2
+ export declare const applyAllMigrators: (wwaData: WWAData) => WWAData;