littlejsengine 1.9.9 → 1.10.2
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/README.md +6 -0
- package/dist/littlejs.d.ts +107 -14
- package/dist/littlejs.esm.js +250 -102
- package/dist/littlejs.esm.min.js +1 -1
- package/dist/littlejs.js +226 -98
- package/dist/littlejs.min.js +1 -1
- package/dist/littlejs.release.js +208 -95
- package/examples/box2d/game.js +29 -10
- package/examples/box2d/gameObjects.js +485 -0
- package/examples/box2d/index.html +7 -5
- package/examples/box2d/scenes.js +28 -247
- package/examples/box2d/tiles.png +0 -0
- package/examples/breakout/game.js +1 -1
- package/examples/breakout/index.html +5 -4
- package/examples/breakoutTutorial/index.html +4 -3
- package/examples/electron/game.js +1 -1
- package/examples/electron/index.html +4 -3
- package/examples/empty/game.js +1 -1
- package/examples/empty/index.html +2 -1
- package/examples/htmlMenu/game.js +67 -0
- package/examples/htmlMenu/index.html +56 -0
- package/examples/htmlMenu/tiles.png +0 -0
- package/examples/index.html +33 -0
- package/examples/js13k/game.js +1 -1
- package/examples/js13k/index.html +17 -14
- package/examples/module/game.js +1 -1
- package/examples/module/index.html +3 -2
- package/examples/particles/index.html +4 -3
- package/examples/platformer/game.js +1 -1
- package/examples/platformer/gameCharacter.js +1 -0
- package/examples/platformer/gameEffects.js +0 -2
- package/examples/platformer/gameLevel.js +2 -2
- package/examples/platformer/gameObjects.js +1 -2
- package/examples/platformer/index.html +10 -9
- package/examples/puzzle/game.js +1 -1
- package/examples/puzzle/index.html +4 -3
- package/examples/starter/game.js +5 -5
- package/examples/starter/index.html +15 -14
- package/examples/stress/index.html +3 -2
- package/examples/typescript/game.js +1 -1
- package/examples/typescript/index.html +3 -2
- package/examples/uiSystem/game.js +134 -0
- package/examples/uiSystem/index.html +25 -0
- package/examples/uiSystem/tiles.png +0 -0
- package/jsconfig.json +11 -0
- package/package.json +1 -1
- package/plugins/box2d.js +116 -42
- package/plugins/postProcess.js +6 -7
- package/plugins/uiSystem.js +243 -0
- package/src/engine.js +48 -20
- package/src/engineAudio.js +22 -25
- package/src/engineDebug.js +18 -3
- package/src/engineDraw.js +101 -27
- package/src/engineExport.js +23 -4
- package/src/engineInput.js +9 -5
- package/src/engineObject.js +15 -12
- package/src/engineSettings.js +1 -1
- package/src/engineUtilities.js +1 -1
- package/src/engineWebGL.js +11 -4
package/src/engineUtilities.js
CHANGED
|
@@ -735,7 +735,7 @@ class Color
|
|
|
735
735
|
* @return {String} */
|
|
736
736
|
toString(useAlpha = true)
|
|
737
737
|
{
|
|
738
|
-
const toHex = (c)=> ((c=c*255|0)<16 ? '0' : '') + c.toString(16);
|
|
738
|
+
const toHex = (c)=> ((c=clamp(c)*255|0)<16 ? '0' : '') + c.toString(16);
|
|
739
739
|
return '#' + toHex(this.r) + toHex(this.g) + toHex(this.b) + (useAlpha ? toHex(this.a) : '');
|
|
740
740
|
}
|
|
741
741
|
|
package/src/engineWebGL.js
CHANGED
|
@@ -34,10 +34,10 @@ function glInit()
|
|
|
34
34
|
|
|
35
35
|
// create the canvas and textures
|
|
36
36
|
glCanvas = document.createElement('canvas');
|
|
37
|
-
glContext = glCanvas.getContext('webgl2');
|
|
37
|
+
glContext = glCanvas.getContext('webgl2', {antialias:!canvasPixelated});
|
|
38
38
|
|
|
39
39
|
// some browsers are much faster without copying the gl buffer so we just overlay it instead
|
|
40
|
-
glOverlay &&
|
|
40
|
+
glOverlay && engineRoot.appendChild(glCanvas);
|
|
41
41
|
|
|
42
42
|
// setup vertex and fragment shaders
|
|
43
43
|
glShader = glCreateProgram(
|
|
@@ -92,7 +92,8 @@ function glPreRender()
|
|
|
92
92
|
// set up the shader
|
|
93
93
|
glContext.useProgram(glShader);
|
|
94
94
|
glContext.activeTexture(gl_TEXTURE0);
|
|
95
|
-
|
|
95
|
+
if (textureInfos[0])
|
|
96
|
+
glContext.bindTexture(gl_TEXTURE_2D, glActiveTexture = textureInfos[0].glTexture);
|
|
96
97
|
|
|
97
98
|
// set vertex attributes
|
|
98
99
|
let offset = glAdditive = glBatchAdditive = 0;
|
|
@@ -190,8 +191,14 @@ function glCreateTexture(image)
|
|
|
190
191
|
// build the texture
|
|
191
192
|
const texture = glContext.createTexture();
|
|
192
193
|
glContext.bindTexture(gl_TEXTURE_2D, texture);
|
|
193
|
-
if (image)
|
|
194
|
+
if (image && image.width)
|
|
194
195
|
glContext.texImage2D(gl_TEXTURE_2D, 0, gl_RGBA, gl_RGBA, gl_UNSIGNED_BYTE, image);
|
|
196
|
+
else
|
|
197
|
+
{
|
|
198
|
+
// create a white texture
|
|
199
|
+
const whitePixel = new Uint8Array([255, 255, 255, 255]);
|
|
200
|
+
glContext.texImage2D(gl_TEXTURE_2D, 0, gl_RGBA, 1, 1, 0, gl_RGBA, gl_UNSIGNED_BYTE, whitePixel);
|
|
201
|
+
}
|
|
195
202
|
|
|
196
203
|
// use point filtering for pixelated rendering
|
|
197
204
|
const filter = canvasPixelated ? gl_NEAREST : gl_LINEAR;
|