littlejsengine 1.16.1 → 1.17.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.
Files changed (52) hide show
  1. package/dist/littlejs.d.ts +287 -240
  2. package/dist/littlejs.esm.js +1419 -1259
  3. package/dist/littlejs.esm.min.js +1 -1
  4. package/dist/littlejs.js +1076 -910
  5. package/dist/littlejs.min.js +1 -1
  6. package/dist/littlejs.release.js +977 -815
  7. package/examples/box2d/gameObjects.js +6 -6
  8. package/examples/breakout/game.js +5 -6
  9. package/examples/electron/index.html +2 -2
  10. package/examples/electron/tiles.png +0 -0
  11. package/examples/htmlMenu/tiles.png +0 -0
  12. package/examples/index.html +1 -1
  13. package/examples/logo.png +0 -0
  14. package/examples/logo2.png +0 -0
  15. package/examples/module/tiles.png +0 -0
  16. package/examples/platformer/gameEffects.js +24 -23
  17. package/examples/platformer/gameLevel.js +24 -25
  18. package/examples/shorts/base.html +2 -1
  19. package/examples/shorts/clock.js +3 -3
  20. package/examples/shorts/fontImage.js +4 -3
  21. package/examples/shorts/parallax.js +1 -1
  22. package/examples/shorts/sequencer.js +1 -1
  23. package/examples/shorts/shapes.js +1 -1
  24. package/examples/shorts/texture.js +10 -6
  25. package/examples/shorts/tiles.png +0 -0
  26. package/examples/shorts/tiltedView.js +2 -0
  27. package/examples/starter/index.html +3 -2
  28. package/examples/starter/tiles.png +0 -0
  29. package/examples/typescript/tiles.png +0 -0
  30. package/examples/uiSystem/game.js +1 -1
  31. package/examples/uiSystem/tiles.png +0 -0
  32. package/package.json +1 -1
  33. package/plugins/postProcess.js +47 -28
  34. package/plugins/uiSystem.js +16 -16
  35. package/reference.md +6 -6
  36. package/src/engine.js +186 -198
  37. package/src/engineAudio.js +6 -10
  38. package/src/engineBuild.js +1 -0
  39. package/src/engineDebug.js +100 -98
  40. package/src/engineDraw.js +185 -148
  41. package/src/engineExport.js +327 -333
  42. package/src/engineFont.png +0 -0
  43. package/src/engineInput.js +17 -26
  44. package/src/engineMath.js +1112 -0
  45. package/src/engineMedals.js +4 -4
  46. package/src/engineObject.js +27 -27
  47. package/src/engineParticles.js +2 -2
  48. package/src/engineRelease.js +1 -3
  49. package/src/engineSettings.js +2 -2
  50. package/src/engineTileLayer.js +200 -176
  51. package/src/engineUtilities.js +48 -1097
  52. package/src/engineWebGL.js +127 -79
@@ -4,353 +4,347 @@
4
4
 
5
5
  export
6
6
  {
7
- // Engine
8
- engineName,
9
- engineVersion,
10
- frameRate,
11
- timeDelta,
12
- engineObjects,
13
- frame,
14
- time,
15
- timeReal,
16
- paused,
17
- getPaused,
18
- setPaused,
19
- engineInit,
20
- engineObjectsUpdate,
21
- engineObjectsDestroy,
22
- engineObjectsCollect,
23
- engineObjectsCallback,
24
- engineObjectsRaycast,
25
- engineAddPlugin,
7
+ // Engine
8
+ engineName,
9
+ engineVersion,
10
+ frameRate,
11
+ timeDelta,
12
+ engineObjects,
13
+ frame,
14
+ time,
15
+ timeReal,
16
+ paused,
17
+ getPaused,
18
+ setPaused,
19
+ engineInit,
20
+ engineObjectsUpdate,
21
+ engineObjectsDestroy,
22
+ engineObjectsCollect,
23
+ engineObjectsCallback,
24
+ engineObjectsRaycast,
25
+ engineAddPlugin,
26
26
 
27
- // Globals
28
- debug,
29
- debugOverlay,
30
- debugWatermark,
27
+ // Globals
28
+ debug,
29
+ debugOverlay,
30
+ debugWatermark,
31
31
 
32
- // Debug
33
- ASSERT,
34
- LOG,
35
- debugRect,
36
- debugPoly,
37
- debugCircle,
38
- debugPoint,
39
- debugLine,
40
- debugOverlap,
41
- debugText,
42
- debugClear,
43
- debugScreenshot,
44
- debugSaveCanvas,
45
- debugSaveText,
46
- debugSaveDataURL,
47
- debugShowErrors,
48
- debugVideoCaptureIsActive,
49
- debugVideoCaptureStart,
50
- debugVideoCaptureStop,
32
+ // Debug
33
+ ASSERT,
34
+ LOG,
35
+ debugRect,
36
+ debugPoly,
37
+ debugCircle,
38
+ debugPoint,
39
+ debugLine,
40
+ debugOverlap,
41
+ debugText,
42
+ debugClear,
43
+ debugScreenshot,
44
+ debugShowErrors,
45
+ debugVideoCaptureStart,
46
+ debugVideoCaptureStop,
47
+ debugVideoCaptureIsActive,
51
48
 
52
- // Settings
53
- cameraPos,
54
- cameraAngle,
55
- cameraScale,
56
- canvasColorTiles,
57
- canvasClearColor,
58
- canvasMaxSize,
59
- canvasMinAspect,
60
- canvasMaxAspect,
61
- canvasFixedSize,
62
- canvasPixelated,
63
- tilesPixelated,
64
- fontDefault,
65
- showSplashScreen,
66
- headlessMode,
67
- tileDefaultSize,
68
- tileDefaultPadding,
69
- tileDefaultBleed,
70
- enablePhysicsSolver,
71
- objectDefaultMass,
72
- objectDefaultDamping,
73
- objectDefaultAngleDamping,
74
- objectDefaultRestitution,
75
- objectDefaultFriction,
76
- objectMaxSpeed,
77
- gravity,
78
- particleEmitRateScale,
79
- glEnable,
80
- gamepadsEnable,
81
- gamepadDirectionEmulateStick,
82
- inputWASDEmulateDirection,
83
- touchGamepadEnable,
84
- touchGamepadCenterButton,
85
- touchGamepadAnalog,
86
- touchGamepadSize,
87
- touchGamepadAlpha,
88
- vibrateEnable,
89
- soundEnable,
90
- soundVolume,
91
- soundDefaultRange,
92
- soundDefaultTaper,
93
- medalDisplayTime,
94
- medalDisplaySlideTime,
95
- medalDisplaySize,
49
+ // Settings
50
+ cameraPos,
51
+ cameraAngle,
52
+ cameraScale,
53
+ canvasColorTiles,
54
+ canvasClearColor,
55
+ canvasMaxSize,
56
+ canvasMinAspect,
57
+ canvasMaxAspect,
58
+ canvasFixedSize,
59
+ canvasPixelated,
60
+ tilesPixelated,
61
+ fontDefault,
62
+ showSplashScreen,
63
+ headlessMode,
64
+ tileDefaultSize,
65
+ tileDefaultPadding,
66
+ tileDefaultBleed,
67
+ enablePhysicsSolver,
68
+ objectDefaultMass,
69
+ objectDefaultDamping,
70
+ objectDefaultAngleDamping,
71
+ objectDefaultRestitution,
72
+ objectDefaultFriction,
73
+ objectMaxSpeed,
74
+ gravity,
75
+ particleEmitRateScale,
76
+ glEnable,
77
+ gamepadsEnable,
78
+ gamepadDirectionEmulateStick,
79
+ inputWASDEmulateDirection,
80
+ touchGamepadEnable,
81
+ touchGamepadCenterButton,
82
+ touchGamepadAnalog,
83
+ touchGamepadSize,
84
+ touchGamepadAlpha,
85
+ vibrateEnable,
86
+ soundEnable,
87
+ soundVolume,
88
+ soundDefaultRange,
89
+ soundDefaultTaper,
90
+ medalDisplayTime,
91
+ medalDisplaySlideTime,
92
+ medalDisplaySize,
96
93
 
97
- // Setters for globals
98
- setCameraPos,
99
- setCameraAngle,
100
- setCameraScale,
101
- setCanvasColorTiles,
102
- setCanvasClearColor,
103
- setCanvasMaxSize,
104
- setCanvasMinAspect,
105
- setCanvasMaxAspect,
106
- setCanvasFixedSize,
107
- setCanvasPixelated,
108
- setTilesPixelated,
109
- setFontDefault,
110
- setShowSplashScreen,
111
- setHeadlessMode,
112
- setGLEnable,
113
- setTileDefaultSize,
114
- setTileDefaultPadding,
115
- setTileDefaultBleed,
116
- setEnablePhysicsSolver,
117
- setObjectDefaultMass,
118
- setObjectDefaultDamping,
119
- setObjectDefaultAngleDamping,
120
- setObjectDefaultRestitution,
121
- setObjectDefaultFriction,
122
- setObjectMaxSpeed,
123
- setGravity,
124
- setParticleEmitRateScale,
125
- setTouchInputEnable,
126
- setGamepadsEnable,
127
- setGamepadDirectionEmulateStick,
128
- setInputWASDEmulateDirection,
129
- setTouchGamepadEnable,
130
- setTouchGamepadCenterButton,
131
- setTouchGamepadButtonCount,
132
- setTouchGamepadAnalog,
133
- setTouchGamepadSize,
134
- setTouchGamepadAlpha,
135
- setVibrateEnable,
136
- setSoundEnable,
137
- setSoundVolume,
138
- setSoundDefaultRange,
139
- setSoundDefaultTaper,
140
- setMedalDisplayTime,
141
- setMedalDisplaySlideTime,
142
- setMedalDisplaySize,
143
- setMedalsPreventUnlock,
144
- setDebugWatermark,
145
- setDebugKey,
94
+ // Setters for globals
95
+ setCameraPos,
96
+ setCameraAngle,
97
+ setCameraScale,
98
+ setCanvasColorTiles,
99
+ setCanvasClearColor,
100
+ setCanvasMaxSize,
101
+ setCanvasMinAspect,
102
+ setCanvasMaxAspect,
103
+ setCanvasFixedSize,
104
+ setCanvasPixelated,
105
+ setTilesPixelated,
106
+ setFontDefault,
107
+ setShowSplashScreen,
108
+ setHeadlessMode,
109
+ setGLEnable,
110
+ setTileDefaultSize,
111
+ setTileDefaultPadding,
112
+ setTileDefaultBleed,
113
+ setEnablePhysicsSolver,
114
+ setObjectDefaultMass,
115
+ setObjectDefaultDamping,
116
+ setObjectDefaultAngleDamping,
117
+ setObjectDefaultRestitution,
118
+ setObjectDefaultFriction,
119
+ setObjectMaxSpeed,
120
+ setGravity,
121
+ setParticleEmitRateScale,
122
+ setTouchInputEnable,
123
+ setGamepadsEnable,
124
+ setGamepadDirectionEmulateStick,
125
+ setInputWASDEmulateDirection,
126
+ setTouchGamepadEnable,
127
+ setTouchGamepadCenterButton,
128
+ setTouchGamepadButtonCount,
129
+ setTouchGamepadAnalog,
130
+ setTouchGamepadSize,
131
+ setTouchGamepadAlpha,
132
+ setVibrateEnable,
133
+ setSoundEnable,
134
+ setSoundVolume,
135
+ setSoundDefaultRange,
136
+ setSoundDefaultTaper,
137
+ setMedalDisplayTime,
138
+ setMedalDisplaySlideTime,
139
+ setMedalDisplaySize,
140
+ setMedalsPreventUnlock,
141
+ setDebugWatermark,
142
+ setDebugKey,
146
143
 
147
- // Utilities
148
- PI,
149
- abs,
150
- floor,
151
- ceil,
152
- round,
153
- min,
154
- max,
155
- sign,
156
- hypot,
157
- log2,
158
- sin,
159
- cos,
160
- tan,
161
- atan2,
162
- mod,
163
- clamp,
164
- percent,
165
- distanceWrap,
166
- lerpWrap,
167
- distanceAngle,
168
- lerpAngle,
169
- lerp,
170
- smoothStep,
171
- nearestPowerOfTwo,
172
- isOverlapping,
173
- isIntersecting,
174
- wave,
175
- formatTime,
176
- fetchJSON,
144
+ // Math
145
+ PI,
146
+ abs,
147
+ floor,
148
+ ceil,
149
+ round,
150
+ min,
151
+ max,
152
+ sign,
153
+ hypot,
154
+ log2,
155
+ sin,
156
+ cos,
157
+ tan,
158
+ atan2,
159
+ mod,
160
+ clamp,
161
+ percent,
162
+ distanceWrap,
163
+ lerpWrap,
164
+ distanceAngle,
165
+ lerpAngle,
166
+ lerp,
167
+ smoothStep,
168
+ nearestPowerOfTwo,
169
+ isOverlapping,
170
+ isIntersecting,
171
+ wave,
177
172
 
178
- // Random
179
- rand,
180
- randInt,
181
- randBool,
182
- randSign,
183
- randInCircle,
184
- randVec2,
185
- randColor,
173
+ // Utilities
174
+ formatTime,
175
+ fetchJSON,
176
+ saveText,
177
+ saveCanvas,
178
+ saveDataURL,
179
+ shareURL,
186
180
 
187
- // Utility Classes
188
- RandomGenerator,
189
- Vector2,
190
- Color,
191
- Timer,
192
- vec2,
193
- rgb,
194
- hsl,
195
- isColor,
196
- isVector2,
197
- isNumber,
198
- isString,
199
- isArray,
181
+ // Random
182
+ rand,
183
+ randInt,
184
+ randBool,
185
+ randSign,
186
+ randInCircle,
187
+ randVec2,
188
+ randColor,
200
189
 
201
- // Default Colors
202
- WHITE,
203
- CLEAR_WHITE,
204
- BLACK,
205
- CLEAR_BLACK,
206
- GRAY,
207
- RED,
208
- ORANGE,
209
- YELLOW,
210
- GREEN,
211
- CYAN,
212
- BLUE,
213
- PURPLE,
214
- MAGENTA,
190
+ // Utility Classes
191
+ RandomGenerator,
192
+ Vector2,
193
+ Color,
194
+ Timer,
195
+ vec2,
196
+ rgb,
197
+ hsl,
198
+ isColor,
199
+ isVector2,
200
+ isNumber,
201
+ isString,
202
+ isArray,
215
203
 
216
- // Draw
217
- tile,
218
- TileInfo,
219
- TextureInfo,
220
- mainCanvas,
221
- mainContext,
222
- drawCanvas,
223
- drawContext,
224
- workCanvas,
225
- workContext,
226
- workReadCanvas,
227
- workReadContext,
228
- mainCanvasSize,
229
- textureInfos,
230
- drawCount,
231
- screenToWorld,
232
- worldToScreen,
233
- screenToWorldDelta,
234
- worldToScreenDelta,
235
- drawTile,
236
- drawRect,
237
- drawRectGradient,
238
- drawLineList,
239
- drawLine,
240
- drawPoly,
241
- drawEllipse,
242
- drawCircle,
243
- drawCanvas2D,
244
- drawText,
245
- drawTextScreen,
246
- setBlendMode,
247
- combineCanvases,
248
- engineFontImage,
249
- FontImage,
250
- isFullscreen,
251
- toggleFullscreen,
252
- setCursor,
253
- getCameraSize,
204
+ // Default Colors
205
+ WHITE,
206
+ CLEAR_WHITE,
207
+ BLACK,
208
+ CLEAR_BLACK,
209
+ GRAY,
210
+ RED,
211
+ ORANGE,
212
+ YELLOW,
213
+ GREEN,
214
+ CYAN,
215
+ BLUE,
216
+ PURPLE,
217
+ MAGENTA,
254
218
 
255
- // WebGL
256
- glCanvas,
257
- glContext,
258
- glClearCanvas,
259
- glSetTexture,
260
- glCompileShader,
261
- glCreateProgram,
262
- glCreateTexture,
263
- glDeleteTexture,
264
- glSetTextureData,
265
- glFlush,
266
- glCopyToContext,
267
- glSetAntialias,
268
- glDraw,
269
- glDrawPointsTransform,
270
- glDrawOutlineTransform,
271
- glDrawPoints,
272
- glDrawColoredPoints,
273
- glAntialias,
274
- glShader,
275
- glPolyShader,
276
- glPolyMode,
277
- glAdditive,
278
- glBatchAdditive,
279
- glActiveTexture,
280
- glArrayBuffer,
281
- glGeometryBuffer,
282
- glPositionData,
283
- glColorData,
284
- glBatchCount,
219
+ // Draw
220
+ tile,
221
+ TileInfo,
222
+ TextureInfo,
223
+ mainCanvas,
224
+ mainContext,
225
+ drawContext,
226
+ workCanvas,
227
+ workContext,
228
+ workReadCanvas,
229
+ workReadContext,
230
+ mainCanvasSize,
231
+ textureInfos,
232
+ drawCount,
233
+ screenToWorld,
234
+ worldToScreen,
235
+ screenToWorldDelta,
236
+ worldToScreenDelta,
237
+ screenToWorldTransform,
238
+ drawTile,
239
+ drawRect,
240
+ drawRectGradient,
241
+ drawLineList,
242
+ drawLine,
243
+ drawPoly,
244
+ drawEllipse,
245
+ drawCircle,
246
+ drawCanvas2D,
247
+ drawText,
248
+ drawTextScreen,
249
+ setBlendMode,
250
+ combineCanvases,
251
+ engineFontImage,
252
+ FontImage,
253
+ isFullscreen,
254
+ toggleFullscreen,
255
+ setCursor,
256
+ getCameraSize,
285
257
 
286
- // Input
287
- keyIsDown,
288
- keyWasPressed,
289
- keyWasReleased,
290
- keyDirection,
291
- inputClear,
292
- inputClearKey,
293
- mouseIsDown,
294
- mouseWasPressed,
295
- mouseWasReleased,
296
- mousePos,
297
- mousePosScreen,
298
- mouseDelta,
299
- mouseDeltaScreen,
300
- mouseWheel,
301
- mouseInWindow,
302
- isUsingGamepad,
303
- inputPreventDefault,
304
- gamepadPrimary,
305
- setInputPreventDefault,
306
- gamepadIsDown,
307
- gamepadWasPressed,
308
- gamepadWasReleased,
309
- gamepadStick,
310
- gamepadDpad,
311
- gamepadConnected,
312
- vibrate,
313
- vibrateStop,
314
- isTouchDevice,
315
- pointerLockRequest,
316
- pointerLockExit,
317
- pointerLockIsActive,
258
+ // WebGL
259
+ glCanvas,
260
+ glContext,
261
+ glAntialias,
262
+ glClearCanvas,
263
+ glSetTexture,
264
+ glCompileShader,
265
+ glCreateProgram,
266
+ glCreateTexture,
267
+ glDeleteTexture,
268
+ glSetTextureData,
269
+ glFlush,
270
+ glCopyToContext,
271
+ glSetAntialias,
272
+ glDraw,
273
+ glDrawPointsTransform,
274
+ glDrawOutlineTransform,
275
+ glDrawPoints,
276
+ glDrawColoredPoints,
277
+ glSetRenderTarget,
278
+ glClearRect,
318
279
 
319
- // Audio
320
- audioContext,
321
- audioMasterGain,
322
- audioDefaultSampleRate,
323
- Sound,
324
- SoundWave,
325
- SoundInstance,
326
- speak,
327
- speakStop,
328
- getNoteFrequency,
329
- playSamples,
330
- zzfx,
331
- zzfxG,
280
+ // Input
281
+ keyIsDown,
282
+ keyWasPressed,
283
+ keyWasReleased,
284
+ keyDirection,
285
+ inputClear,
286
+ inputClearKey,
287
+ mouseIsDown,
288
+ mouseWasPressed,
289
+ mouseWasReleased,
290
+ mousePos,
291
+ mousePosScreen,
292
+ mouseDelta,
293
+ mouseDeltaScreen,
294
+ mouseWheel,
295
+ mouseInWindow,
296
+ isUsingGamepad,
297
+ inputPreventDefault,
298
+ gamepadPrimary,
299
+ isTouchDevice,
300
+ setInputPreventDefault,
301
+ gamepadIsDown,
302
+ gamepadWasPressed,
303
+ gamepadWasReleased,
304
+ gamepadStick,
305
+ gamepadDpad,
306
+ gamepadConnected,
307
+ vibrate,
308
+ vibrateStop,
309
+ pointerLockRequest,
310
+ pointerLockExit,
311
+ pointerLockIsActive,
332
312
 
333
- // Base Object
334
- EngineObject,
313
+ // Audio
314
+ audioContext,
315
+ audioMasterGain,
316
+ audioDefaultSampleRate,
317
+ Sound,
318
+ SoundWave,
319
+ SoundInstance,
320
+ speak,
321
+ speakStop,
322
+ getNoteFrequency,
323
+ playSamples,
324
+ zzfx,
325
+ zzfxG,
335
326
 
336
- // Tiles
337
- tileCollisionLayers,
338
- tileCollisionGetData,
339
- tileCollisionTest,
340
- tileCollisionRaycast,
341
- tileLayersLoad,
342
- TileLayerData,
343
- CanvasLayer,
344
- TileLayer,
345
- TileCollisionLayer,
327
+ // Base Object
328
+ EngineObject,
346
329
 
347
- // Particles
348
- ParticleEmitter,
349
- Particle,
330
+ // Tiles
331
+ tileCollisionLayers,
332
+ tileCollisionGetData,
333
+ tileCollisionTest,
334
+ tileCollisionRaycast,
335
+ tileLayersLoad,
336
+ TileLayerData,
337
+ CanvasLayer,
338
+ TileLayer,
339
+ TileCollisionLayer,
350
340
 
351
- // Medals
352
- medals,
353
- medalsPreventUnlock,
354
- medalsInit,
355
- Medal,
341
+ // Particles
342
+ ParticleEmitter,
343
+ Particle,
344
+
345
+ // Medals
346
+ medals,
347
+ medalsPreventUnlock,
348
+ medalsInit,
349
+ Medal,
356
350
  }
Binary file