Commit graph

4390 commits

Author SHA1 Message Date
Felipe Alfonso
69c56fc920 Merge branch 'master' into rendering-cleanup 2018-01-24 00:58:53 -03:00
Felipe Alfonso
326bdd5204 Fixed camera effects 2018-01-24 00:57:33 -03:00
Felipe Alfonso
12a1ef34f4 Fixed pipeline binding 2018-01-24 00:08:14 -03:00
Felipe Alfonso
5170784338 Graphics WebGL Rendering 2018-01-24 00:03:43 -03:00
Michael Hadley
e564a6cbe7 Tile helper methods for getting actual world bounds of a tile 2018-01-23 19:16:56 -06:00
Felipe Alfonso
ca465c8139 Fixed Quad 2018-01-23 21:58:37 -03:00
Felipe Alfonso
99d850346f Text rendering added 2018-01-23 21:40:20 -03:00
Felipe Alfonso
61458e1475 Merge branch 'master' into rendering-cleanup 2018-01-23 20:37:26 -03:00
Felipe Alfonso
502ce8ddea Static BitmapText rendering. Added rect culling to TextureTintPipeline 2018-01-23 20:36:49 -03:00
Richard Davey
f941cd441e
Merge pull request #3183 from ladrower/TimerEvent
TimerEvent startAt field not scaled
2018-01-23 20:58:14 +00:00
Felipe Alfonso
dd9cef61cf Image WebGL rendering 2018-01-23 17:32:20 -03:00
Felipe Alfonso
086eec1616 Merge branch 'master' into rendering-cleanup 2018-01-23 16:30:50 -03:00
Felipe Alfonso
070d946dca Mesh and Sprite rendering 2018-01-23 16:29:47 -03:00
Pavle Goloskokovic
07bbe80fca Merge remote-tracking branch 'origin/master' 2018-01-23 19:03:11 +01:00
Pavle Goloskokovic
924247c04d Fixes #3182 2018-01-23 19:02:58 +01:00
Felipe Alfonso
336cc4e3fe Merge branch 'master' into rendering-cleanup 2018-01-23 13:39:33 -03:00
Felipe Alfonso
822fc052ee Sprite batching 2018-01-23 13:38:58 -03:00
Michael Hadley
ebabf97ce3 Comment clarification 2018-01-23 09:41:29 -06:00
Michael Hadley
4abf0df119 Added setCollisionFromCollisionGroup for easily setting collision from Tiled collision editor 2018-01-23 09:40:59 -06:00
Artem Platonov
3e5a35d796 TimerEvent startAt field not scaled
A note regarding the feature `startAt` of `TimerEvent `

When an event gets added it should be either scaled by clock `timeScale`
as well or not scaled at all - depending on the feature purpose.

```javascript
// preUpdate loop
event.elapsed = event.startAt * event.timeScale
```

In my understanding it should not be influenced by `timeScale` at all.
As a developer I would use the feature of `startAt` to specify the exact
offset for my event.

In case I have looped `Timer` for one second and want to start the first
loop in the middle, I would set the `startAt` to half a second. And
scaling is applied during the timer run time as a factor of speed it
elapses.
2018-01-23 16:34:33 +01:00
Michael Hadley
2cabd15684 Added SetCollisionByProperty to Tilemap API 2018-01-23 09:05:37 -06:00
Michael Hadley
e31ea73ad4 Typo fix: Tilset -> Tileset 2018-01-23 08:38:43 -06:00
Richard Davey
cb3166850e Fixed issue with Keyboard events for single key presses. Added new KeyMap. 2018-01-23 14:37:32 +00:00
Michael Hadley
629ead9a37 Making Tileset comments more specific - better explains Tiled structure 2018-01-23 07:55:43 -06:00
Michael Hadley
b8b0f42153 getTileProperty -> getTileProperties
A tile can have multiple properties, so it makes more sense as a plural method name
2018-01-23 07:54:03 -06:00
Michael Hadley
c7a471e29a Convenience for getting Tileset collision group from Tile 2018-01-23 07:52:53 -06:00
Michael Hadley
ab29015742 Convenience tile getters for looking up tileset & tilemap layer 2018-01-23 07:48:59 -06:00
Artem
2bf0381821
clock timescale applied to timer 2018-01-23 14:37:25 +01:00
Richard Davey
123c8f8127 Calls to the Scene Manager that happen before the Scene is running are now queued
Thanks to gdomaradzki for bringing this one to my attention!
2018-01-23 02:12:33 +00:00
Felipe Alfonso
6153a34103 Moved shader source to text files 2018-01-22 20:01:00 -03:00
Felipe Alfonso
0f0b422fd7 FlatTint Pipeline progress 2018-01-22 19:51:15 -03:00
Felipe Alfonso
2b043fff65 Removed RenderTarget and Shader from components 2018-01-22 18:53:15 -03:00
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