littlejsengine
Version:
LittleJS - Tiny and Fast HTML5 Game Engine
388 lines (370 loc) • 7.55 kB
JavaScript
/**
* LittleJS Module Export
* - Exports all engine modules and functions for external use
*/
export
{
// Engine
engineName,
engineVersion,
frameRate,
timeDelta,
engineObjects,
engineObjectsCollide,
frame,
time,
timeReal,
paused,
getPaused,
setPaused,
engineInit,
engineObjectsUpdate,
engineObjectsDestroy,
engineObjectsCollect,
engineObjectsCallback,
engineObjectsRaycast,
engineAddPlugin,
// Globals
debug,
debugOverlay,
debugWatermark,
// Debug
ASSERT,
LOG,
debugPointSize,
debugRect,
debugPoly,
debugCircle,
debugPoint,
debugLine,
debugOverlap,
debugText,
debugClear,
debugScreenshot,
debugShowErrors,
debugVideoCaptureStart,
debugVideoCaptureStop,
debugVideoCaptureIsActive,
// Settings
cameraPos,
cameraAngle,
cameraScale,
timeScale,
canvasColorTiles,
canvasClearColor,
canvasMaxSize,
canvasMinAspect,
canvasMaxAspect,
canvasFixedSize,
canvasPixelated,
tilesPixelated,
canvasPixelRatio,
fontDefault,
showSplashScreen,
headlessMode,
tileDefaultSize,
tileDefaultPadding,
tileDefaultBleed,
enablePhysicsSolver,
objectDefaultMass,
objectDefaultDamping,
objectDefaultAngleDamping,
objectDefaultRestitution,
objectDefaultFriction,
objectMaxSpeed,
gravity,
particleEmitRateScale,
glEnable,
glCircleSides,
gamepadsEnable,
gamepadDirectionEmulateStick,
inputWASDEmulateDirection,
touchInputEnable,
touchGamepadEnable,
touchGamepadPassthrough,
touchGamepadCenterButtonSize,
touchGamepadButtonCount,
touchGamepadLeftStick,
touchGamepadLeftButtonCount,
touchGamepadRightStick,
touchGamepadAnalog,
touchGamepadFloating,
touchGamepadSize,
touchGamepadAlpha,
touchGamepadDisplayTime,
touchGamepadVibration,
vibrateEnable,
soundEnable,
soundVolume,
soundDefaultRange,
soundDefaultTaper,
// Setters for globals
setCameraPos,
setCameraAngle,
setCameraScale,
setTimeScale,
setCanvasColorTiles,
setCanvasClearColor,
setCanvasMaxSize,
setCanvasMinAspect,
setCanvasMaxAspect,
setCanvasFixedSize,
setCanvasPixelated,
setTilesPixelated,
setCanvasPixelRatio,
setFontDefault,
setShowSplashScreen,
setHeadlessMode,
setGLEnable,
setTileDefaultSize,
setTileDefaultPadding,
setTileDefaultBleed,
setEnablePhysicsSolver,
setObjectDefaultMass,
setObjectDefaultDamping,
setObjectDefaultAngleDamping,
setObjectDefaultRestitution,
setObjectDefaultFriction,
setObjectMaxSpeed,
setGravity,
setParticleEmitRateScale,
setGLCircleSides,
setTouchInputEnable,
setGamepadsEnable,
setGamepadDirectionEmulateStick,
setInputWASDEmulateDirection,
setTouchGamepadEnable,
setTouchGamepadPassthrough,
setTouchGamepadCenterButtonSize,
setTouchGamepadButtonCount,
setTouchGamepadLeftStick,
setTouchGamepadLeftButtonCount,
setTouchGamepadRightStick,
setTouchGamepadAnalog,
setTouchGamepadFloating,
setTouchGamepadSize,
setTouchGamepadAlpha,
setTouchGamepadDisplayTime,
setTouchGamepadVibration,
setVibrateEnable,
setSoundEnable,
setSoundVolume,
setSoundDefaultRange,
setSoundDefaultTaper,
setDebugWatermark,
setDebugKey,
// Math
PI,
abs,
floor,
ceil,
round,
min,
max,
sign,
hypot,
log2,
sin,
cos,
tan,
atan2,
mod,
clamp,
percent,
distanceWrap,
lerpWrap,
distanceAngle,
lerpAngle,
lerp,
percentLerp,
smoothStep,
nearestPowerOfTwo,
isPowerOfTwo,
isOverlapping,
isIntersecting,
lineTest,
oscillate,
// Utilities
formatTime,
fetchJSON,
saveText,
saveCanvas,
saveDataURL,
shareURL,
readSaveData,
writeSaveData,
noise1D,
noise2D,
// Random
rand,
randInt,
randBool,
randSign,
randInCircle,
randVec2,
randColor,
// Utility Classes
RandomGenerator,
Vector2,
Color,
Timer,
vec2,
rgb,
hsl,
isColor,
isVector2,
isNumber,
isStringLike,
isArray,
// Default Colors
WHITE,
CLEAR_WHITE,
BLACK,
CLEAR_BLACK,
GRAY,
RED,
ORANGE,
YELLOW,
GREEN,
CYAN,
BLUE,
PURPLE,
MAGENTA,
// Draw
tile,
TileInfo,
TextureInfo,
mainCanvas,
mainContext,
drawContext,
workCanvas,
workContext,
workReadCanvas,
workReadContext,
mainCanvasSize,
textureInfos,
drawCount,
primitiveCount,
screenToWorld,
worldToScreen,
screenToWorldDelta,
worldToScreenDelta,
screenToWorldTransform,
drawTile,
drawRect,
drawRectGradient,
drawTextureWrapped,
drawLineList,
drawLine,
drawPoly,
drawRegularPoly,
drawEllipse,
drawCircle,
drawEllipseGradient,
drawCircleGradient,
drawCanvas2D,
drawText,
drawTextScreen,
setAdditiveBlendMode,
combineCanvases,
engineImageFont,
ImageFont,
isFullscreen,
toggleFullscreen,
setCursor,
getCameraSize,
cameraFit,
isOnScreen,
// WebGL
glCanvas,
glContext,
glAntialias,
glClearCanvas,
glSetTexture,
glSetTextureWrap,
glCompileShader,
glCreateProgram,
glCreateTexture,
glDeleteTexture,
glSetTextureData,
glFlush,
glCopyToContext,
glSetAntialias,
glDraw,
glDrawUntextured,
glDrawPointsTransform,
glDrawOutlineTransform,
glDrawPoints,
glDrawColoredPoints,
glSetRenderTarget,
glClearRect,
// Input
keyIsDown,
keyWasPressed,
keyWasReleased,
keyDirection,
inputClear,
inputClearKey,
mouseIsDown,
mouseWasPressed,
mouseWasReleased,
mousePos,
mousePosScreen,
mouseDelta,
mouseDeltaScreen,
mouseWheel,
mouseInWindow,
isUsingGamepad,
lastInputDevice,
inputMouseMoveThreshold,
inputPreventDefault,
gamepadPrimary,
isTouchDevice,
setInputPreventDefault,
setInputMouseMoveThreshold,
usingMouseInput,
usingKeyboardInput,
usingGamepadInput,
gamepadIsDown,
gamepadWasPressed,
gamepadWasReleased,
gamepadStick,
gamepadStickCount,
gamepadDpad,
gamepadConnected,
gamepadVibrate,
gamepadVibrateStop,
vibrate,
vibrateStop,
pointerLockRequest,
pointerLockExit,
pointerLockIsActive,
// Audio
audioContext,
audioMasterGain,
audioDefaultSampleRate,
audioIsRunning,
Sound,
SoundInstance,
speak,
speakStop,
getNoteFrequency,
playSamples,
zzfx,
zzfxG,
// Base Object
EngineObject,
// Tiles
tileCollisionLayers,
tileCollisionGetData,
tileCollisionTest,
tileCollisionRaycast,
tileLayersLoad,
TileLayerData,
CanvasLayer,
TileLayer,
TileCollisionLayer,
// Particles
ParticleEmitter,
Particle,
}