@datamoc/mw_games 0.14.0 → 0.16.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/CHANGELOG.md +69 -1
- package/dist/audio/Music.d.ts +27 -0
- package/dist/audio/Music.d.ts.map +1 -1
- package/dist/audio/Music.js +70 -2
- package/dist/audio/Music.js.map +1 -1
- package/dist/audio/Orchestrator.d.ts +4 -0
- package/dist/audio/Orchestrator.d.ts.map +1 -1
- package/dist/audio/Orchestrator.js +12 -0
- package/dist/audio/Orchestrator.js.map +1 -1
- package/dist/audio/Sound.d.ts +9 -0
- package/dist/audio/Sound.d.ts.map +1 -1
- package/dist/audio/Sound.js +18 -0
- package/dist/audio/Sound.js.map +1 -1
- package/dist/core/Settings.d.ts +96 -0
- package/dist/core/Settings.d.ts.map +1 -0
- package/dist/core/Settings.js +189 -0
- package/dist/core/Settings.js.map +1 -0
- package/dist/core/index.d.ts +2 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -0
- package/dist/core/index.js.map +1 -1
- package/dist/mw_games.global.js +115 -115
- package/dist/mwl/catalog.d.ts +42 -0
- package/dist/mwl/catalog.d.ts.map +1 -1
- package/dist/mwl/catalog.js +88 -0
- package/dist/mwl/catalog.js.map +1 -1
- package/dist/mwl/index.d.ts +1 -1
- package/dist/mwl/index.d.ts.map +1 -1
- package/dist/two-d/Game.d.ts +40 -0
- package/dist/two-d/Game.d.ts.map +1 -1
- package/dist/two-d/Game.js +66 -3
- package/dist/two-d/Game.js.map +1 -1
- package/dist/two-d/QualityScaler.d.ts +63 -0
- package/dist/two-d/QualityScaler.d.ts.map +1 -0
- package/dist/two-d/QualityScaler.js +92 -0
- package/dist/two-d/QualityScaler.js.map +1 -0
- package/dist/two-d/index.d.ts +3 -1
- package/dist/two-d/index.d.ts.map +1 -1
- package/dist/two-d/index.js +1 -0
- package/dist/two-d/index.js.map +1 -1
- package/dist/two-d/render/RpgmAutotile.d.ts +217 -0
- package/dist/two-d/render/RpgmAutotile.d.ts.map +1 -1
- package/dist/two-d/render/RpgmAutotile.js +756 -0
- package/dist/two-d/render/RpgmAutotile.js.map +1 -1
- package/dist/two-d/render/SpriteGroup.d.ts +83 -0
- package/dist/two-d/render/SpriteGroup.d.ts.map +1 -0
- package/dist/two-d/render/SpriteGroup.js +107 -0
- package/dist/two-d/render/SpriteGroup.js.map +1 -0
- package/dist/two-d/render/TileMap.d.ts +90 -0
- package/dist/two-d/render/TileMap.d.ts.map +1 -1
- package/dist/two-d/render/TileMap.js +319 -31
- package/dist/two-d/render/TileMap.js.map +1 -1
- package/dist/two-d/render/index.d.ts +5 -3
- package/dist/two-d/render/index.d.ts.map +1 -1
- package/dist/two-d/render/index.js +2 -1
- package/dist/two-d/render/index.js.map +1 -1
- package/dist/two-d/ui/Meter.d.ts +76 -0
- package/dist/two-d/ui/Meter.d.ts.map +1 -0
- package/dist/two-d/ui/Meter.js +134 -0
- package/dist/two-d/ui/Meter.js.map +1 -0
- package/dist/two-d/ui/SettingsScreen.d.ts +112 -0
- package/dist/two-d/ui/SettingsScreen.d.ts.map +1 -0
- package/dist/two-d/ui/SettingsScreen.js +338 -0
- package/dist/two-d/ui/SettingsScreen.js.map +1 -0
- package/dist/two-d/ui/index.d.ts +4 -0
- package/dist/two-d/ui/index.d.ts.map +1 -1
- package/dist/two-d/ui/index.js +2 -0
- package/dist/two-d/ui/index.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RpgmAutotile.js","sourceRoot":"","sources":["../../../src/two-d/render/RpgmAutotile.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"RpgmAutotile.js","sourceRoot":"","sources":["../../../src/two-d/render/RpgmAutotile.ts"],"names":[],"mappings":"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CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;CACD,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAA2B;IAC/D;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;IACD;QACC,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;QACN,CAAC,CAAC,EAAE,CAAC,CAAC;KACN;CACD,CAAC;AAKF;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAiC;IACjE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACf,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;IACf,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;IACd,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACf,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;IACf,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;IACd,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACf,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;IACf,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;IACd,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACf,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;IACf,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;IACd,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;IACf,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;IACf,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACf,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACf,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACf,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;IACf,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;IACd,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IACf,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;IACf,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;IAChB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;CACZ,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAsB;IACzD,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IAClH,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IAClH,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IAClH,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IACjH,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,E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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import type { Camera } from './Camera.ts';
|
|
2
|
+
/**
|
|
3
|
+
* Anything a `SpriteGroup` can gate: a position in the world units the camera sees, and a
|
|
4
|
+
* per-frame advance. Both `AnimatedSprite` and `ParticleEmitter` satisfy this structurally,
|
|
5
|
+
* so a crowd of goblins and the campfire between them can share one group.
|
|
6
|
+
*/
|
|
7
|
+
export interface SpriteGroupMember {
|
|
8
|
+
x: number;
|
|
9
|
+
y: number;
|
|
10
|
+
update(dt: number): void;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Whether a world-space point is on screen, for skipping animation work nobody sees.
|
|
14
|
+
*
|
|
15
|
+
* The edges count as on screen, and `margin` grows the box by that many world units on
|
|
16
|
+
* every side, for sprites whose bodies spill past their anchor point. Under a rotated
|
|
17
|
+
* camera the checked box is the axis-aligned one around the turned viewport (the same
|
|
18
|
+
* over-inclusive box `TileMap.cull` uses), so this can only ever animate too much, never
|
|
19
|
+
* freeze something the player can see.
|
|
20
|
+
*
|
|
21
|
+
* @example
|
|
22
|
+
* ```ts
|
|
23
|
+
* import { Camera, isOnScreen } from '@datamoc/mw_games/two-d/render';
|
|
24
|
+
*
|
|
25
|
+
* declare const camera: Camera;
|
|
26
|
+
*
|
|
27
|
+
* if (isOnScreen(camera, 160, 160)) console.log('the market square, animate it');
|
|
28
|
+
* console.log(isOnScreen(camera, 10000, 10000, 32)); // far away, even with a margin
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export declare function isOnScreen(camera: Camera, x: number, y: number, margin?: number): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* A crowd that only animates its on-screen members.
|
|
34
|
+
*
|
|
35
|
+
* `TileMap.cull(camera)` keeps tile *rendering* cost to what is on screen; this is the
|
|
36
|
+
* same idea for per-frame *animation* cost. A scene with hundreds of animated inhabitants
|
|
37
|
+
* calls `group.update(camera, dt)` once per frame instead of updating each sprite itself,
|
|
38
|
+
* and members outside `camera.view` (plus `margin`) simply keep whatever frame they had
|
|
39
|
+
* until they come back into view. Skipped members are never touched: no `paused` flag is
|
|
40
|
+
* set, no state is rewritten, so a sprite that leaves the group animates exactly as
|
|
41
|
+
* before.
|
|
42
|
+
*
|
|
43
|
+
* Members are positioned in the camera's own world units, the way `GridMover` and
|
|
44
|
+
* `TileMap.tileCenter` already place things: direct children of `camera.world`, or
|
|
45
|
+
* anything else whose `x`/`y` already read as world coordinates. Members nested deeper
|
|
46
|
+
* (a sword in a hero's hand) report their *local* position, so they belong to no group,
|
|
47
|
+
* or to one updated unconditionally.
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```ts
|
|
51
|
+
* import { SpriteGroup, AnimatedSprite, Camera } from '@datamoc/mw_games/two-d/render';
|
|
52
|
+
*
|
|
53
|
+
* declare const camera: Camera;
|
|
54
|
+
*
|
|
55
|
+
* const crowd = new SpriteGroup();
|
|
56
|
+
* const goblin = new AnimatedSprite();
|
|
57
|
+
* crowd.add(goblin);
|
|
58
|
+
*
|
|
59
|
+
* function onFrame(dt: number): void {
|
|
60
|
+
* crowd.update(camera, dt); // goblins off screen keep their frame, for free
|
|
61
|
+
* }
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
export declare class SpriteGroup {
|
|
65
|
+
private members;
|
|
66
|
+
/** how many members this group holds */
|
|
67
|
+
get size(): number;
|
|
68
|
+
/**
|
|
69
|
+
* Adds a member; adding the same one twice is a no-op, so a spawn loop can call this
|
|
70
|
+
* every frame without growing the group.
|
|
71
|
+
*/
|
|
72
|
+
add(member: SpriteGroupMember): this;
|
|
73
|
+
/** removes a member; reports whether it was there */
|
|
74
|
+
remove(member: SpriteGroupMember): boolean;
|
|
75
|
+
/** empties the group, for a scene change */
|
|
76
|
+
clear(): void;
|
|
77
|
+
/**
|
|
78
|
+
* Advances every member on screen by `dt`, skipping the rest. `margin` grows the
|
|
79
|
+
* tested box the way `isOnScreen`'s does, for members larger than a point.
|
|
80
|
+
*/
|
|
81
|
+
update(camera: Camera, dt: number, margin?: number): void;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=SpriteGroup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SpriteGroup.d.ts","sourceRoot":"","sources":["../../../src/two-d/render/SpriteGroup.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IACjC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAmBD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,SAAI,GAAG,OAAO,CAEpF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,qBAAa,WAAW;IACvB,OAAO,CAAC,OAAO,CAA2B;IAE1C,wCAAwC;IACxC,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;;OAGG;IACH,GAAG,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAGnC;IAED,qDAAqD;IACrD,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAKzC;IAED,4CAA4C;IAC5C,KAAK,IAAI,IAAI,CAEZ;IAED;;;OAGG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,SAAI,GAAG,IAAI,CAOnD;CACD"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
//the one rule both `isOnScreen` and `SpriteGroup.update` apply: the box is read once per
|
|
2
|
+
//frame by the caller, never once per member, since `Camera.view` re-derives its corners
|
|
3
|
+
//(and their trigonometry when rotated) on every read
|
|
4
|
+
function insideBox(box, x, y, margin) {
|
|
5
|
+
return (x >= box.x - margin &&
|
|
6
|
+
x <= box.x + box.width + margin &&
|
|
7
|
+
y >= box.y - margin &&
|
|
8
|
+
y <= box.y + box.height + margin);
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Whether a world-space point is on screen, for skipping animation work nobody sees.
|
|
12
|
+
*
|
|
13
|
+
* The edges count as on screen, and `margin` grows the box by that many world units on
|
|
14
|
+
* every side, for sprites whose bodies spill past their anchor point. Under a rotated
|
|
15
|
+
* camera the checked box is the axis-aligned one around the turned viewport (the same
|
|
16
|
+
* over-inclusive box `TileMap.cull` uses), so this can only ever animate too much, never
|
|
17
|
+
* freeze something the player can see.
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```ts
|
|
21
|
+
* import { Camera, isOnScreen } from '@datamoc/mw_games/two-d/render';
|
|
22
|
+
*
|
|
23
|
+
* declare const camera: Camera;
|
|
24
|
+
*
|
|
25
|
+
* if (isOnScreen(camera, 160, 160)) console.log('the market square, animate it');
|
|
26
|
+
* console.log(isOnScreen(camera, 10000, 10000, 32)); // far away, even with a margin
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export function isOnScreen(camera, x, y, margin = 0) {
|
|
30
|
+
return insideBox(camera.view, x, y, margin);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* A crowd that only animates its on-screen members.
|
|
34
|
+
*
|
|
35
|
+
* `TileMap.cull(camera)` keeps tile *rendering* cost to what is on screen; this is the
|
|
36
|
+
* same idea for per-frame *animation* cost. A scene with hundreds of animated inhabitants
|
|
37
|
+
* calls `group.update(camera, dt)` once per frame instead of updating each sprite itself,
|
|
38
|
+
* and members outside `camera.view` (plus `margin`) simply keep whatever frame they had
|
|
39
|
+
* until they come back into view. Skipped members are never touched: no `paused` flag is
|
|
40
|
+
* set, no state is rewritten, so a sprite that leaves the group animates exactly as
|
|
41
|
+
* before.
|
|
42
|
+
*
|
|
43
|
+
* Members are positioned in the camera's own world units, the way `GridMover` and
|
|
44
|
+
* `TileMap.tileCenter` already place things: direct children of `camera.world`, or
|
|
45
|
+
* anything else whose `x`/`y` already read as world coordinates. Members nested deeper
|
|
46
|
+
* (a sword in a hero's hand) report their *local* position, so they belong to no group,
|
|
47
|
+
* or to one updated unconditionally.
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```ts
|
|
51
|
+
* import { SpriteGroup, AnimatedSprite, Camera } from '@datamoc/mw_games/two-d/render';
|
|
52
|
+
*
|
|
53
|
+
* declare const camera: Camera;
|
|
54
|
+
*
|
|
55
|
+
* const crowd = new SpriteGroup();
|
|
56
|
+
* const goblin = new AnimatedSprite();
|
|
57
|
+
* crowd.add(goblin);
|
|
58
|
+
*
|
|
59
|
+
* function onFrame(dt: number): void {
|
|
60
|
+
* crowd.update(camera, dt); // goblins off screen keep their frame, for free
|
|
61
|
+
* }
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
export class SpriteGroup {
|
|
65
|
+
constructor() {
|
|
66
|
+
this.members = [];
|
|
67
|
+
}
|
|
68
|
+
/** how many members this group holds */
|
|
69
|
+
get size() {
|
|
70
|
+
return this.members.length;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Adds a member; adding the same one twice is a no-op, so a spawn loop can call this
|
|
74
|
+
* every frame without growing the group.
|
|
75
|
+
*/
|
|
76
|
+
add(member) {
|
|
77
|
+
if (!this.members.includes(member))
|
|
78
|
+
this.members.push(member);
|
|
79
|
+
return this;
|
|
80
|
+
}
|
|
81
|
+
/** removes a member; reports whether it was there */
|
|
82
|
+
remove(member) {
|
|
83
|
+
const index = this.members.indexOf(member);
|
|
84
|
+
if (index < 0)
|
|
85
|
+
return false;
|
|
86
|
+
this.members.splice(index, 1);
|
|
87
|
+
return true;
|
|
88
|
+
}
|
|
89
|
+
/** empties the group, for a scene change */
|
|
90
|
+
clear() {
|
|
91
|
+
this.members.length = 0;
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* Advances every member on screen by `dt`, skipping the rest. `margin` grows the
|
|
95
|
+
* tested box the way `isOnScreen`'s does, for members larger than a point.
|
|
96
|
+
*/
|
|
97
|
+
update(camera, dt, margin = 0) {
|
|
98
|
+
const view = camera.view;
|
|
99
|
+
//a snapshot, so a member added or removed mid-frame (an onFinish hook spawning a
|
|
100
|
+
//replacement, say) cannot shift the array under this loop
|
|
101
|
+
for (const member of [...this.members]) {
|
|
102
|
+
if (insideBox(view, member.x, member.y, margin))
|
|
103
|
+
member.update(dt);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=SpriteGroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SpriteGroup.js","sourceRoot":"","sources":["../../../src/two-d/render/SpriteGroup.ts"],"names":[],"mappings":"AAaA,yFAAyF;AACzF,wFAAwF;AACxF,qDAAqD;AACrD,SAAS,SAAS,CACjB,GAA4D,EAC5D,CAAS,EACT,CAAS,EACT,MAAc;IAEd,OAAO,CACN,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM;QACnB,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,GAAG,MAAM;QAC/B,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM;QACnB,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,MAAM,CAChC,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,UAAU,CAAC,MAAc,EAAE,CAAS,EAAE,CAAS,EAAE,MAAM,GAAG,CAAC;IAC1E,OAAO,SAAS,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;AAC7C,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,MAAM,OAAO,WAAW;IAAxB;QACS,YAAO,GAAwB,EAAE,CAAC;IAyC3C,CAAC;IAvCA,wCAAwC;IACxC,IAAI,IAAI;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED;;;OAGG;IACH,GAAG,CAAC,MAAyB;QAC5B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;YAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC;IACb,CAAC;IAED,qDAAqD;IACrD,MAAM,CAAC,MAAyB;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,KAAK,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC;QAC5B,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACb,CAAC;IAED,4CAA4C;IAC5C,KAAK;QACJ,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;IACzB,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,MAAc,EAAE,EAAU,EAAE,MAAM,GAAG,CAAC;QAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACzB,iFAAiF;QACjF,0DAA0D;QAC1D,KAAK,MAAM,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,IAAI,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC;gBAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACpE,CAAC;IACF,CAAC;CACD"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { Container } from 'pixi.js';
|
|
2
2
|
import type { SpriteSheet } from './SpriteSheet.ts';
|
|
3
3
|
import type { Camera } from './Camera.ts';
|
|
4
|
+
import type { RpgmAutotileShapeTable, RpgmAutotileSlot } from './RpgmAutotile.ts';
|
|
4
5
|
/**
|
|
5
6
|
* The frame value meaning "nothing here"; a cell holding it gets no sprite at all.
|
|
6
7
|
*
|
|
@@ -96,6 +97,43 @@ export interface TileMapOptions {
|
|
|
96
97
|
*/
|
|
97
98
|
heightStep?: number;
|
|
98
99
|
}
|
|
100
|
+
/**
|
|
101
|
+
* Which engine family an autotile sheet comes from: RPG Maker MV's A1-A4
|
|
102
|
+
* quadrant sheets, or RPG Maker XP's 96 by 128 pattern templates (and 32px
|
|
103
|
+
* single-tile strips).
|
|
104
|
+
*/
|
|
105
|
+
export type AutotileFormat = 'rpgm-mv' | 'rpgm-xp';
|
|
106
|
+
/**
|
|
107
|
+
* One autotile source a layer draws from. MV sets name an A-sheet family;
|
|
108
|
+
* XP sets name one autotile image. A layer takes one set, or one per family
|
|
109
|
+
* slot (MV) or image index (XP), and each cell routes to the set claiming
|
|
110
|
+
* its id - the same split a multi-sheet map already uses for plain layers.
|
|
111
|
+
*/
|
|
112
|
+
export interface AutotileSet {
|
|
113
|
+
/** the raw source image: an MV A-sheet of 48px cells, or one XP autotile image */
|
|
114
|
+
sheet: SpriteSheet;
|
|
115
|
+
/** which family; MV quadrant sheets unless 'rpgm-xp' says otherwise */
|
|
116
|
+
format?: AutotileFormat;
|
|
117
|
+
/** MV only, required: which A-family (0-3) this sheet is */
|
|
118
|
+
slot?: RpgmAutotileSlot;
|
|
119
|
+
/** MV only: which shape table to sample; floor for slots 0-1, wall for 2-3 */
|
|
120
|
+
mode?: 'floor' | 'wall';
|
|
121
|
+
/** MV only: a custom shape table, overriding mode for non-standard sheets */
|
|
122
|
+
table?: RpgmAutotileShapeTable;
|
|
123
|
+
/** XP only: which autotile image this sheet is, 0-7 */
|
|
124
|
+
index?: number;
|
|
125
|
+
/** XP only: animation stripes in the image; counted from the sheet width when omitted */
|
|
126
|
+
frames?: number;
|
|
127
|
+
/** MV only: kind runs advancing together when the frame changes (water, waterfalls) */
|
|
128
|
+
animation?: ReadonlyArray<ReadonlyArray<number>>;
|
|
129
|
+
/** the layer's initial animation frame */
|
|
130
|
+
animationFrame?: number;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* One autotile cell: a raw MV tile id or XP tile value. EMPTY (or any
|
|
134
|
+
* value at or below zero) leaves the cell blank.
|
|
135
|
+
*/
|
|
136
|
+
export type AutotileCell = number;
|
|
99
137
|
/**
|
|
100
138
|
* A grid of tiles, drawn as sprites.
|
|
101
139
|
*
|
|
@@ -173,6 +211,53 @@ export declare class TileMap extends Container {
|
|
|
173
211
|
* `tileFrame` packs rather than plain indices.
|
|
174
212
|
*/
|
|
175
213
|
addLayer(name: string, data?: ArrayLike<number>): this;
|
|
214
|
+
private beginLayer;
|
|
215
|
+
/**
|
|
216
|
+
* Adds an autotile layer on top of the existing ones: each non-blank cell
|
|
217
|
+
* holds a raw MV tile id or XP tile value, and the map assembles that
|
|
218
|
+
* cell's quadrant halves straight from the source sheet - no prebuilt
|
|
219
|
+
* atlas canvas in between. Cells route to the set claiming their id, so
|
|
220
|
+
* one layer can span every A-sheet (or every autotile image) the same way
|
|
221
|
+
* one plain layer can span several sheets.
|
|
222
|
+
*
|
|
223
|
+
* @param cells one raw id per cell, row-major; EMPTY (or at/below zero)
|
|
224
|
+
* for a blank cell. Every other value must fall in one of the sets'
|
|
225
|
+
* ranges, or the call throws naming it.
|
|
226
|
+
* @param set one source, or one per family slot (MV) or image index (XP).
|
|
227
|
+
*
|
|
228
|
+
* @example
|
|
229
|
+
* ```ts
|
|
230
|
+
* import { TileMap, SpriteSheet, type AutotileSet } from '@datamoc/mw_games/two-d/render';
|
|
231
|
+
*
|
|
232
|
+
* declare const sheet: SpriteSheet; // a raw MV A1 sheet: 48px cells, slot 0
|
|
233
|
+
*
|
|
234
|
+
* const map = new TileMap({ width: 4, height: 4, sheet });
|
|
235
|
+
* const sea: AutotileSet = { sheet, slot: 0, animation: [[0, 1, 2]] };
|
|
236
|
+
* map.addAutotileLayer('sea', new Array(16).fill(2048), sea);
|
|
237
|
+
* map.setAutotileFrame('sea', 1);
|
|
238
|
+
* console.log(map.getAutotileFrame('sea')); // 1
|
|
239
|
+
* console.log(map.getTile('sea', 0, 0)); // 2048 - raw MV ids, EMPTY where blank
|
|
240
|
+
* ```
|
|
241
|
+
*/
|
|
242
|
+
addAutotileLayer(name: string, cells: ArrayLike<number>, set: AutotileSet | readonly AutotileSet[]): this;
|
|
243
|
+
/**
|
|
244
|
+
* Advances an autotile layer's animation frame: every animated cell
|
|
245
|
+
* re-points its quadrant textures (MV kind cycles, XP frame stripes)
|
|
246
|
+
* while cells outside any cycle stay on frame zero's art. A repeated
|
|
247
|
+
* frame is a no-op.
|
|
248
|
+
*/
|
|
249
|
+
setAutotileFrame(layer: string | number, frame: number): void;
|
|
250
|
+
/** the animation frame an autotile layer currently shows */
|
|
251
|
+
getAutotileFrame(layer: string | number): number;
|
|
252
|
+
private resolveAutotileSet;
|
|
253
|
+
private resolveRpgmSet;
|
|
254
|
+
private resolveXpSet;
|
|
255
|
+
private claimAutotileSets;
|
|
256
|
+
private autotilePieces;
|
|
257
|
+
private makeAutotileSprites;
|
|
258
|
+
private setAutotileCell;
|
|
259
|
+
private eachCellSprite;
|
|
260
|
+
private firstCellSprite;
|
|
176
261
|
private layerAt;
|
|
177
262
|
private chunkIndex;
|
|
178
263
|
/** the centre of a cell's tile, before the projections below settle on a shared contract */
|
|
@@ -185,6 +270,11 @@ export declare class TileMap extends Container {
|
|
|
185
270
|
private textureFor;
|
|
186
271
|
private buildSprite;
|
|
187
272
|
getTile(layer: string | number, x: number, y: number): number;
|
|
273
|
+
/**
|
|
274
|
+
* Replaces one cell. On an autotile layer the value is a raw autotile id
|
|
275
|
+
* rather than a frame index; EMPTY (or any value at or below zero)
|
|
276
|
+
* clears the cell there too.
|
|
277
|
+
*/
|
|
188
278
|
setTile(layer: string | number, x: number, y: number, frame: number): void;
|
|
189
279
|
/** fills a whole layer at once, which is what loading a map does */
|
|
190
280
|
setLayerData(layer: string | number, data: ArrayLike<number>): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TileMap.d.ts","sourceRoot":"","sources":["../../../src/two-d/render/TileMap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"TileMap.d.ts","sourceRoot":"","sources":["../../../src/two-d/render/TileMap.ts"],"names":[],"mappings":"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"}
|