Commit graph

4358 commits

Author SHA1 Message Date
Felipe Alfonso
a171968558 WebGLRenderer render function update 2018-01-22 18:37:47 -03:00
Felipe Alfonso
961f00ac11 BlitterPipeline added 2018-01-22 18:21:47 -03:00
Felipe Alfonso
e8610734b7 Merge branch 'master' into rendering-cleanup 2018-01-22 12:18:38 -03:00
Richard Davey
75e9349b3c Text canvas width cannot drop below 1x1 pixels. 2018-01-22 12:21:42 +00:00
Richard Davey
eb3c9fe341 Fix for the read-only DOMRect issue flagged in #3176 2018-01-22 12:04:14 +00:00
Michael Hadley
568b04cedb Loader typo in new loader structure 2018-01-21 15:28:04 -06:00
Michael Hadley
ccdad43920 Matter world and factory methods for creating a tile body 2018-01-21 12:53:48 -06:00
Michael Hadley
348da8c81e MatterTileBody: wrapper around a Tile that provides access to a matter body 2018-01-21 12:53:27 -06:00
Pavle Goloskokovic
b82179268f Merge remote-tracking branch 'origin/master' 2018-01-21 15:16:18 +01:00
Pavle Goloskokovic
c604fd9a5e Removed updating loading properties if audio is locked 2018-01-21 15:14:46 +01:00
Felipe Alfonso
a4e79875d4 Merge branch 'master' into rendering-cleanup
# Conflicts:
#	src/gameobjects/blitter/BlitterWebGLRenderer.js
2018-01-21 11:14:27 -03:00
Pavle Goloskokovic
f917c94d93 Emitting fileprogress event 2018-01-21 15:13:48 +01:00
Pavle Goloskokovic
bdf38448ea Calling loader nextFile method instead of callback 2018-01-21 15:13:02 +01:00
Pavle Goloskokovic
d743ac82c1 Added loaded flag to prevent multiple calls to onLoad method 2018-01-21 15:12:34 +01:00
Pavle Goloskokovic
e1c5969bd4 Calling loader nextFile method instead of callback 2018-01-21 15:11:30 +01:00
Pavle Goloskokovic
4160d738bc Passing loader reference to load method 2018-01-21 15:10:08 +01:00
Richard Davey
bc298aca7b Testing doc snippets 2018-01-21 13:19:58 +00:00
Richard Davey
04debe7a71 Added jsdocs 2018-01-21 13:01:38 +00:00
Pavle Goloskokovic
472a0d9a4f Added no audio classes to index.js 2018-01-20 22:06:36 +01:00
Pavle Goloskokovic
18cf394f8a Fixed path to Extend import 2018-01-20 21:28:37 +01:00
Pavle Goloskokovic
0198a71cd1 Merge remote-tracking branch 'origin/master' 2018-01-20 21:23:53 +01:00
Pavle Goloskokovic
87fa583c47 Competed a TODO to instantiate NoAudioSoundManager if there is no audio engine available or sounds are disabled in config 2018-01-20 21:23:43 +01:00
Pavle Goloskokovic
e03108e332 Removed unused NOOP import 2018-01-20 21:19:43 +01:00
Pavle Goloskokovic
b42a426cc9 Removeing sound from manager before calling BaseSound destroy method 2018-01-20 21:18:42 +01:00
Pavle Goloskokovic
7ecc671781 Removed update method 2018-01-20 21:18:01 +01:00
Pavle Goloskokovic
2bf8358d3e Added destroy method that calls BaseSound destroy method 2018-01-20 21:14:15 +01:00
Pavle Goloskokovic
5980180659 Added update method that does nothing 2018-01-20 21:13:36 +01:00
Pavle Goloskokovic
eda3a080b4 Added stop method that only returns false 2018-01-20 21:12:53 +01:00
Pavle Goloskokovic
c071d8db16 Added resume method that only returns false 2018-01-20 21:12:36 +01:00
Pavle Goloskokovic
a52145eb9e Added pause method that only returns false 2018-01-20 21:12:18 +01:00
Pavle Goloskokovic
f8cefe6606 Added play method that only returns false 2018-01-20 21:11:53 +01:00
Pavle Goloskokovic
dcc406d218 Added removeMarker method that only returns false 2018-01-20 21:11:35 +01:00
Pavle Goloskokovic
8685b7c2ac Added updateMarker method that only returns false 2018-01-20 21:11:16 +01:00
Pavle Goloskokovic
e9c441b98a Added addMarker method that only returns false 2018-01-20 21:10:51 +01:00
Pavle Goloskokovic
063dda1929 Initializing pendingRemove property to false 2018-01-20 21:10:00 +01:00
Pavle Goloskokovic
e76377a89e Initializing currentMarker property to null 2018-01-20 21:09:46 +01:00
Pavle Goloskokovic
6a207de3b0 Initializing markers property to an empty object 2018-01-20 21:09:28 +01:00
Pavle Goloskokovic
cde2b9c080 Initializing loop property to default value 2018-01-20 21:09:08 +01:00
Pavle Goloskokovic
1fa851b0e8 Initializing seek property to default value 2018-01-20 21:08:47 +01:00
Pavle Goloskokovic
858d296a1c Initializing detune property to default value 2018-01-20 21:08:34 +01:00
Pavle Goloskokovic
fc46d8d4d0 Initializing rate property to default value 2018-01-20 21:08:21 +01:00
Pavle Goloskokovic
e6477b0e40 Initializing volume property to default value 2018-01-20 21:08:08 +01:00
Pavle Goloskokovic
5f58588903 Initializing mute property to default value 2018-01-20 21:07:54 +01:00
Pavle Goloskokovic
cd070ac282 Initializing currentConfig property to point to config property 2018-01-20 21:07:30 +01:00
Pavle Goloskokovic
ff6f7f844c Initializing config property to object with default config values merged with provided config attribute 2018-01-20 21:07:00 +01:00
Pavle Goloskokovic
f925d3f5bd Initializing totalDuration property to 0 2018-01-20 21:01:04 +01:00
Pavle Goloskokovic
65696b17a5 Initializing duration property to 0 2018-01-20 21:00:50 +01:00
Pavle Goloskokovic
d2a3d98abe Initializing totalRate property to 1 2018-01-20 21:00:31 +01:00
Pavle Goloskokovic
a2a19cceb2 Initializing isPaused property to false 2018-01-20 20:59:27 +01:00
Pavle Goloskokovic
0de3b321d2 Initializing isPlaying property to false 2018-01-20 20:59:13 +01:00
Pavle Goloskokovic
d282f3a1cb Initializing key property with provided attribute value 2018-01-20 20:58:31 +01:00
Pavle Goloskokovic
10daa22fb0 Initializing manager property with provided attribute reference 2018-01-20 20:58:02 +01:00
Pavle Goloskokovic
4c2b7b3db7 Added NoAudioSound class that extends EventEmitter 2018-01-20 20:56:49 +01:00
Pavle Goloskokovic
732cb5592a Removed setting unlocked property 2018-01-20 20:35:34 +01:00
Pavle Goloskokovic
1dc28e1119 Added forEachActiveSound method that calls BaseSoundManager forEachActiveSound method 2018-01-20 20:32:30 +01:00
Pavle Goloskokovic
ce5de6e06a Added destroy method that calls BaseSoundManager destroy method 2018-01-20 20:32:15 +01:00
Pavle Goloskokovic
8ee02f8f29 Added update method that does nothing 2018-01-20 20:31:53 +01:00
Pavle Goloskokovic
e9c1ba289e Added stopAll method that does nothing 2018-01-20 20:25:27 +01:00
Pavle Goloskokovic
05d37e00c7 Added resumeAll method that does nothing 2018-01-20 20:25:03 +01:00
Pavle Goloskokovic
534a7a34cd Added pauseAll method that does nothing 2018-01-20 20:24:46 +01:00
Pavle Goloskokovic
50fefeef2e Added removeByKey method that calls BaseSoundManager removeByKey method 2018-01-20 20:24:10 +01:00
Pavle Goloskokovic
2b0765f46a Added remove method that calls BaseSoundManager remove method 2018-01-20 20:23:33 +01:00
Pavle Goloskokovic
5ba2c0338a Added playAudioSprite method which only returns false 2018-01-20 20:13:14 +01:00
Pavle Goloskokovic
4a4a849c6f Added play method which only returns false 2018-01-20 20:12:36 +01:00
Pavle Goloskokovic
cd00b5db79 Added addAudioSprite method which instantiates and returns NoAudioSound as audio sprite sound object with empty spritemap 2018-01-20 20:11:48 +01:00
Pavle Goloskokovic
7511c038b7 Added add method which instantiates and returns NoAudioSound object 2018-01-20 20:10:16 +01:00
Pavle Goloskokovic
f1aea49a9c Initializing unlocked property to false 2018-01-20 20:01:55 +01:00
Pavle Goloskokovic
a1fa271d7c Initializing locked property to false 2018-01-20 20:01:44 +01:00
Pavle Goloskokovic
fdcc4898cc Initializing pauseOnBlur property to true 2018-01-20 20:01:26 +01:00
Pavle Goloskokovic
27b2936ce6 Initializing rate property to 0 2018-01-20 20:01:09 +01:00
Pavle Goloskokovic
526fe77106 Initializing rate property to 1 2018-01-20 20:00:55 +01:00
Pavle Goloskokovic
ee8ce19ef8 Initializing volume property to 1 2018-01-20 20:00:36 +01:00
Pavle Goloskokovic
1c6aa693e9 Initializing mute property to false 2018-01-20 20:00:21 +01:00
Pavle Goloskokovic
c5062a0c90 Initializing sounds property an empty array 2018-01-20 19:59:54 +01:00
Pavle Goloskokovic
e15a5a9c69 Initializing game property with provided attribute reference 2018-01-20 19:59:19 +01:00
Pavle Goloskokovic
4316c22785 Added NoAudioSoundManager class that extends EventEmitter 2018-01-20 19:57:00 +01:00
Pavle Goloskokovic
db5002fa87 Updated BaseSoundManager playAudioSprite method to return value from sound play method call 2018-01-20 19:53:09 +01:00
Pavle Goloskokovic
7a259da22c Updated BaseSoundManager play method to return value from sound play method call 2018-01-20 19:51:54 +01:00
Richard Davey
a8c0ee8839 Allow to pass a Frame object directly to a Bob 2018-01-20 17:45:01 +00:00
Richard Davey
c7dc7fc240 Checks strings and numbers 2018-01-20 17:44:45 +00:00
Richard Davey
d7611afaab Fixed issue with setting Bob frame 2018-01-20 17:05:53 +00:00
Richard Davey
2fb3641824 Should be a string, not a Frame object 2018-01-20 16:35:47 +00:00
Richard Davey
af613201f7 Strengthen the frame name check 2018-01-20 16:35:29 +00:00
Richard Davey
f9cc2a9714 Scene now sets a status flag for every state it goes through, allowing the manager to know when to allow updating and rendering 2018-01-20 16:22:40 +00:00
Richard Davey
a5a112114b Added blitter coordinates to bob output 2018-01-20 16:21:59 +00:00
Richard Davey
d220634fb6 Added helper methods for flip, visible and alpha 2018-01-20 16:21:42 +00:00
Richard Davey
b951809791 Fixed children reference 2018-01-20 16:21:28 +00:00
Richard Davey
134c67a51b Split into base class and plugin extension so other classes can use them too 2018-01-20 16:21:12 +00:00
Richard Davey
d9da905230 Added XBox360 Controller config (closes #3175) 2018-01-20 14:25:28 +00:00
Richard Davey
05b45f1f9c Added keycodes (closes #3174) 2018-01-20 14:22:41 +00:00
Richard Davey
f676fc2bbd Recoded the SceneManage
The Scene Manager no longer tries to maintain an 'active' list and instead just iterates the scenes in order, skipping those that aren't awake. Scene array changing events like moveUp etc are queued if the list is being processed and the ScenePlugin has been vastly updated to take care of this. You can now happily move scenes around the list, block scene input, consume input events, switch scenes around and more.
2018-01-20 04:47:03 +00:00
Richard Davey
2b4d6f17c8 Removed unused consts 2018-01-20 04:45:27 +00:00
Richard Davey
39b1f35a20 Removed call to render and tidied up a little 2018-01-20 04:45:14 +00:00
Richard Davey
4e05ad0655 The Input system will now order input based on the scenes from top to bottom
If the global top only flag is on and a scene consumes an input event then they won't flow any further down the scene list. This is optional (but on by default), allowing you to now correctly create a UI Scene above a game scene without the input events polluting one to the other.
2018-01-20 04:44:54 +00:00
Felipe Alfonso
31be6fa51d WebGLRenderer cleanup 2018-01-20 01:05:56 -03:00
Felipe Alfonso
1da31fb2a5 WebGLRenderer resource creation 2018-01-19 21:37:52 -03:00
Felipe Alfonso
e98c6b336a Merge branch 'master' into rendering-cleanup 2018-01-19 18:22:48 -03:00
Richard Davey
864fa638af Added LoadArray back in and sorted out callback passing. 2018-01-19 19:13:27 +00:00
Richard Davey
2f1ee57505 Fixed event handler. 2018-01-19 19:13:11 +00:00
Richard Davey
1d22f5a59a File has a reference to its Loader, will also now emit progress events on itself. 2018-01-19 19:13:02 +00:00
Richard Davey
4473af243b Frames can now have customData stored in them, as well as the Textures. This is populated by all of the atlas data by default and can be added to, either in the JJSON source files or at run-time. Closes #3165. 2018-01-19 18:23:25 +00:00
Richard Davey
7577f470ae You can now pass in a JS object to the JSON Loader instead of a URL. It will use the object to populate the data with. This impacts any loader type that uses json, so atlas, tilemap, audio sprite, etc. Closes #3147. 2018-01-19 17:53:07 +00:00
Richard Davey
76c7639b20 If a file load 404s then handle this case, as it'll return the 404 page as the response type which will then try to be parsed. 2018-01-19 17:29:14 +00:00
Richard Davey
f3d9f145a6 Fixed flow error when the Loader would never complete if every single file failed. 2018-01-19 17:28:48 +00:00
Richard Davey
8c3422f2b4 BaseURL adds trailing slash if missing. 2018-01-19 17:10:23 +00:00
Richard Davey
7c7336dd30 Loader.reset gets path and baseURL again. 2018-01-19 17:07:38 +00:00
Richard Davey
7e0b04df70 You can now specify Loader settings (baseURL, path, xhr settings, etc) in either the Game Config, the Scene Config or a File Config. Game config is used as the defaults. Scene config overrides those, and a File config overrides the Scene config. This fixes #3168. 2018-01-19 16:56:41 +00:00
Richard Davey
faf89ea78a getTextureKeys method added to return all loaded textures. 2018-01-19 16:30:05 +00:00
Richard Davey
25089f66fd Scene will now be made active as soon as it has init'd, not after the load is complete. This allows a scene to render while loading assets. 2018-01-19 16:30:05 +00:00
Richard Davey
57444596e5 Loader now emits a progress event which can be used for progress bar loaders, etc. Also added setBasePath and removed console logs. 2018-01-19 16:30:04 +00:00
Richard Davey
13ed054d79 Removed display of checksum. 2018-01-19 16:30:03 +00:00
Pavle Goloskokovic
ac7be301f1 Reverting previous commit since it did not fix the issue 2018-01-19 17:12:49 +01:00
Pavle Goloskokovic
d50c04e9f8 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	src/loader/filetypes/AudioFile.js
2018-01-19 16:30:43 +01:00
Pavle Goloskokovic
999b7d96df skipping looping and ending logic if current time is 0 since some HTML5 Audio implementations set currentTime value to 0 when changing playback rate or performing any other operation on an audio tag object 2018-01-19 16:24:26 +01:00
Richard Davey
e2d71e2c6d BaseLoader renamed LoaderPlugin, const updated, index updated. 2018-01-19 14:54:50 +00:00
Richard Davey
4aa6e931f1 Merging Loader into BaseLoader 2018-01-19 14:47:25 +00:00
Richard Davey
b58814e8d7
Merge pull request #3172 from Antriel/master
Added missing require for Point.
2018-01-19 14:05:55 +00:00
Richard Davey
e18858010c Tidying up before merging with BaseLoader. 2018-01-19 13:52:03 +00:00
Richard Davey
f5462146e2 Added MultiAtlas loader. 2018-01-19 13:51:53 +00:00
Richard Davey
8983c93fc6 Added AudioSprite loader. 2018-01-19 13:51:12 +00:00
Richard Davey
db515d8724 All FileTypes now register themselves with the FileTypesManager, allowing devs to specify which loaders are included in their builds. 2018-01-19 13:29:26 +00:00
Richard Davey
676c5be1da Added global FileTypes manager. 2018-01-19 13:29:25 +00:00
Richard Davey
fd4cae12fc Removed un-used file. 2018-01-19 13:29:24 +00:00
Antriel
df7bc2e841 Added missing require for Point. 2018-01-19 14:20:45 +01:00
Michael Hadley
a6365c5339 Removing es6 'let' from AP vs tilemap 2018-01-19 06:56:52 -06:00
Pavle Goloskokovic
f7b0dcf56a Inverted condition to prevent nesting 2018-01-19 12:19:02 +01:00
Pavle Goloskokovic
ff8c039cf7 Inverted condition to prevent nesting 2018-01-19 12:17:34 +01:00
Pavle Goloskokovic
f019b8ad75 Merge remote-tracking branch 'origin/master' 2018-01-19 12:08:40 +01:00
Pavle Goloskokovic
fb96aeccd6 Removed game reference 2018-01-19 12:06:41 +01:00
Pavle Goloskokovic
4bb8557081 Updated reference to the game object 2018-01-19 12:06:11 +01:00
Felipe Alfonso
f388391c25 Merge branch 'master' into rendering-cleanup 2018-01-18 14:28:02 -03:00
Richard Davey
fb7cdbf29b Added ability to load plugins from external files and have them register with the PluginManager. 2018-01-18 16:48:25 +00:00
Pavle Goloskokovic
e889de2c20 Merge remote-tracking branch 'origin/master' 2018-01-18 16:09:29 +01:00
Richard Davey
d46662cd46 Swapped to using Number.MAX_VALUE so repeat -1 now works properly in IE11 and below. 2018-01-18 14:59:32 +00:00
Richard Davey
86fe054c63 Game boot sequence is now split-up to allow time for non-blocking, but time sensitive plugins (like the Texture Manager) to complete starting up before the main loop begins. Texture Manager now checks on state of default images before telling Game it is ready. 2018-01-18 14:01:29 +00:00
Richard Davey
2deb9edc9e Plugins now check to see if the Scene is already booted and adapt accordingly. 2018-01-18 14:00:31 +00:00
Richard Davey
69dbe38c9f Scene.Systems keeps track of it's booted, so plugins know how to respond to the boot event (or not). You can now also load a plugin into a Scene at runtime. 2018-01-18 13:59:37 +00:00
Pavle Goloskokovic
8968044d8f Removed ready event 2018-01-18 14:15:15 +01:00
Pavle Goloskokovic
ca614166b1 Using playCatchPromise for delayed sound playback 2018-01-18 14:14:14 +01:00
Pavle Goloskokovic
3a7d06b48a Using playCatchPromise when starting sound playback 2018-01-18 14:13:57 +01:00
Pavle Goloskokovic
ef98de7258 Added playCatchPromise method to handle possible exceptions thrown form audio tag play method 2018-01-18 14:13:29 +01:00
Pavle Goloskokovic
c1cb3c3ab2 Removing touchmove event listener on successful unlock 2018-01-18 14:12:32 +01:00
Pavle Goloskokovic
336f5b9028 Skipping unlocking if touchmove event occurred before touchend event 2018-01-18 14:11:49 +01:00
Pavle Goloskokovic
b036eecd9f Added detectMove method as touchmove event listener 2018-01-18 14:10:51 +01:00
Pavle Goloskokovic
01c246ac0b Added variable and method for keeping track of touch move events 2018-01-18 14:10:03 +01:00
Pavle Goloskokovic
718dce88b8 Setting correct totalDuration property value for all sounds when audio gets unlocked 2018-01-18 14:08:49 +01:00
Pavle Goloskokovic
9400c7ea93 Setting correct duration property value for all sounds when audio gets unlocked 2018-01-18 14:08:33 +01:00
Pavle Goloskokovic
c296ef2eb3 Emitting ready event when sound manager gets unlocked 2018-01-18 14:07:35 +01:00
Pavle Goloskokovic
58d6ab9a56 Emitting ready event if sound manager is not locked 2018-01-18 14:06:29 +01:00
Pavle Goloskokovic
345f112ff8 Renamed touchLocked to locked 2018-01-18 14:05:20 +01:00