Commit Graph

436 Commits

Author SHA1 Message Date
cha0s
eda0baa415 refactor: Synchronizer 2019-04-07 21:04:40 -04:00
cha0s
18f7b6b3cf feat: state.nextStep 2019-04-07 16:46:07 -04:00
cha0s
650ef7af78 feat: tick statefuls 2019-04-07 16:15:55 -04:00
cha0s
6f92fa25a2 feat: API for layers/room visible entities 2019-04-07 15:59:24 -04:00
cha0s
2002911505 refactor: StateSynchronizer no longer does diff 2019-04-07 15:59:04 -04:00
cha0s
b41118953f refactor: new step logic 2019-04-07 15:34:42 -04:00
cha0s
65d7f5006d feat: flatten 2019-04-07 15:34:22 -04:00
cha0s
9708de0877 chore: simplify 2019-04-07 13:18:20 -04:00
cha0s
617bd6dbf0 fix: derp 2019-04-07 13:12:16 -04:00
cha0s
58b1bf3a74 chore: formatting 2019-04-07 13:04:30 -04:00
cha0s
685b1701ae refactor: EE's internals were a bit open 2019-04-07 13:03:35 -04:00
cha0s
853d0357ef chore: property naming 2019-04-07 13:00:24 -04:00
cha0s
71a215c8a6 chore: _PRIVATE removed 2019-04-07 13:00:11 -04:00
cha0s
7de34a7669 chore: format 2019-04-07 12:51:28 -04:00
cha0s
7529e7cee0 feat: Synchronized 2019-04-07 12:43:50 -04:00
cha0s
dcd61c29d4 refactor: DRY 2019-04-07 00:19:47 -04:00
cha0s
6438736e43 fix: entityList never doesn't exist 2019-04-06 23:37:32 -04:00
cha0s
ab9228a405 chore: format 2019-04-05 23:50:48 -04:00
cha0s
f541052c63 feat: state packing 2019-04-05 23:40:04 -04:00
cha0s
1a9b60709d fix: skip null update 2019-04-05 23:39:54 -04:00
cha0s
6eb7d6bad9 refactor: state update 2019-04-05 23:14:29 -04:00
cha0s
8f3a8d9513 chore: acceptStateChange -> patchState 2019-04-05 16:16:55 -04:00
cha0s
e7c6cb8556 refactor: elegance 2019-04-05 16:08:59 -04:00
cha0s
220ceac711 feat: Camera::rectangle 2019-04-05 12:54:38 -04:00
cha0s
f2b9c90948 fix: traits always use Immutable params and state 2019-04-05 12:54:25 -04:00
cha0s
f404d5ab02 fix: room passed to removedFromRoom 2019-04-05 12:25:26 -04:00
cha0s
bc3762a3bf feat: followed 2019-04-05 12:25:16 -04:00
cha0s
f75b44178f feat: camera 2019-04-05 08:17:01 -04:00
cha0s
e6fcb9379a feat: math.frac 2019-04-05 08:16:41 -04:00
cha0s
a14f2c5c3f fix: no running over magnitude in lerp 2019-04-05 08:16:32 -04:00
cha0s
66685b8b00 chore: alpha 2019-04-04 20:42:11 -04:00
cha0s
77442eb5c7 refactor: add position and target to StageEvent 2019-04-04 18:14:11 -04:00
cha0s
bfd8de544f feat: DOM UI layer and better sizing semantics 2019-04-04 11:27:37 -04:00
cha0s
d340b0613c feat: pause filter 2019-03-30 06:59:49 -05:00
cha0s
0c40ebd8aa feat: better night :) 2019-03-30 06:12:31 -05:00
cha0s
8b8216fe8f feat: graphics stage 2019-03-30 05:08:33 -05:00
cha0s
9af970d641 feat: container filters 2019-03-30 05:07:39 -05:00
cha0s
a79ce5daf6 feat: renderable events 2019-03-30 05:07:21 -05:00
cha0s
446610a394 refactor: action map really is a map 2019-03-28 20:35:22 -05:00
cha0s
74efeb263a fix: const for iter 2019-03-28 20:35:07 -05:00
cha0s
e748503109 refactor: raf/caf for node 2019-03-28 17:02:50 -05:00
cha0s
61ba78f72b fix: ensure window 2019-03-28 15:05:22 -05:00
cha0s
e4a1299ac6 chore: deps 2019-03-28 13:00:52 -05:00
cha0s
1ca449aa07 chore: deps 2019-03-28 12:58:25 -05:00
cha0s
a314e03a9e chore: deps 2019-03-28 12:56:42 -05:00
cha0s
6919093dc4 chore: deps 2019-03-28 12:52:57 -05:00
cha0s
714c85a6e8 chore: deps 2019-03-28 12:51:37 -05:00
cha0s
6e29ff3d99 chore: deps 2019-03-28 12:50:45 -05:00
cha0s
fcfef049e3 chore: local import 2019-03-28 12:50:40 -05:00
cha0s
75a74f0b82 chore: deps 2019-03-28 12:46:39 -05:00
cha0s
9f6a20bbc2 chore: deps 2019-03-28 12:44:56 -05:00
cha0s
0bd8786a4a chore: dead code 2019-03-28 12:44:29 -05:00
cha0s
18dde02fdf chore: deps 2019-03-28 12:37:04 -05:00
cha0s
d5a664b9d1 feat: animation frame 2019-03-28 12:36:57 -05:00
cha0s
6be8adbb52 chore: deps and import paths 2019-03-28 12:31:41 -05:00
cha0s
0bb3a05f8d refactor: ShapeView owned by physics 2019-03-28 02:39:04 -05:00
cha0s
077b20a56c refactor: synchronizer is now 'stateless' 2019-03-28 02:09:46 -05:00
cha0s
dc82ce9266 fix: track room size 2019-03-28 02:04:29 -05:00
cha0s
4232f01ad0 chore: remove junk 2019-03-28 02:00:25 -05:00
cha0s
f90357c35a feat: room size & bounds 2019-03-27 23:22:05 -05:00
cha0s
31e7f7a26a feat: static physics bodies 2019-03-27 23:21:13 -05:00
cha0s
75458d331a chore: simplify tiles size state 2019-03-27 22:27:58 -05:00
cha0s
f9826e16d5 chore: elegance 2019-03-27 21:41:46 -05:00
cha0s
9a153dd90d feat: re-render on layer tile data change 2019-03-27 19:25:00 -05:00
cha0s
4825bd2494 feat: matter collisions 2019-03-27 18:38:12 -05:00
cha0s
c556c90602 refactor: magnitude, dot 2019-03-27 18:06:55 -05:00
cha0s
b042e1b1c0 refactor: "hypotenuse" is normalization 2019-03-27 17:53:18 -05:00
cha0s
759341172e feat: Layer::visibleEntities 2019-03-27 17:39:34 -05:00
cha0s
a4d10904af feat: findEntity 2019-03-27 17:36:57 -05:00
cha0s
e42726f1ff refactor: true indexed layers 2019-03-27 17:15:53 -05:00
cha0s
771b6e6583 refactor: decorate empty class > [Class]Base 2019-03-27 16:18:27 -05:00
cha0s
71ff55c1a7 refactor: room world property 2019-03-27 16:11:37 -05:00
cha0s
e50f4e9f1a chore: dead code 2019-03-27 15:18:33 -05:00
cha0s
ab522d80f8 feat: topdown networking 2019-03-27 01:52:24 -05:00
cha0s
a4040a39b9 fix: reset children indexes after sort 2019-03-27 01:50:05 -05:00
cha0s
e3d0ca626e refactor: physics on room not list now 2019-03-27 01:49:48 -05:00
cha0s
222a0247b3 refactor: cleans, checks, searching moved to list 2019-03-27 01:49:34 -05:00
cha0s
9a1b19c00b refactor: quadTree name simplify and searching 2019-03-27 01:47:38 -05:00
cha0s
b028d782c0 chore: debugging junk 2019-03-27 01:47:01 -05:00
cha0s
55652c5d8f feat: tiles.state 2019-03-27 01:05:29 -05:00
cha0s
5616f3275b feat: layered and roomed 2019-03-27 01:03:05 -05:00
cha0s
91dccd9329 refactor: entity.state getter 2019-03-27 01:02:16 -05:00
cha0s
42c9221c49 fix: not immutable 2019-03-26 17:21:56 -05:00
cha0s
906997eeee feat: Rectangle.toPoints 2019-03-26 17:21:16 -05:00
cha0s
b8b1b98580 refactor: graphicalBoundingBox 2019-03-26 17:17:09 -05:00
cha0s
43dec37764 feat: Room 2019-03-26 17:04:52 -05:00
cha0s
90a5bed2a8 feat: layer state 2019-03-26 17:04:44 -05:00
cha0s
da1ae31f44 refactor: state getter 2019-03-26 15:41:49 -05:00
cha0s
3b021ab349 refactor: distinct layer container 2019-03-26 09:30:25 -05:00
cha0s
750730eda6 feat: layer & layerView 2019-03-25 23:39:44 -05:00
cha0s
af143670cc refactor: better render defaults 2019-03-25 23:39:07 -05:00
cha0s
26fa5e4589 refactor: tileset 2019-03-25 23:05:22 -05:00
cha0s
77042bfa8c feat: toJSON impl 2019-03-25 20:50:11 -05:00
cha0s
d02b5ccced refactor: only using width 2019-03-25 20:49:57 -05:00
cha0s
1fff0cdb16 refactor: efficiency 2019-03-25 20:49:42 -05:00
cha0s
742228ec3f feat: setTileAt 2019-03-25 20:49:16 -05:00
cha0s
0c2c9d53a9 Canvas::[renderWith -> render] 2019-03-25 20:27:07 -05:00
cha0s
b03abf5907 refactor: simpification & semantics 2019-03-25 20:26:37 -05:00
cha0s
b6688ff2bb fix: deprecation 2019-03-25 20:25:33 -05:00
cha0s
fd1c905351 refactor: semantics 2019-03-25 20:25:19 -05:00
cha0s
ad99cd3f3f feat: topdown 2019-03-25 19:03:34 -05:00
cha0s
d5356d8186 feat: Scaling 2019-03-25 19:02:30 -05:00
cha0s
58cebcd827 feat: Renderable::scale 2019-03-25 18:55:06 -05:00
cha0s
3d670c6189 fix: delete internal, no setter 2019-03-25 18:54:54 -05:00
cha0s
e1fe932495 fix: webgl 2019-03-25 18:54:09 -05:00
cha0s
b29911fbd1 feat: Image::subimage 2019-03-25 18:53:34 -05:00
cha0s
5377617dfc fix: can't even remember my own APIs 2019-03-25 11:54:20 -05:00
cha0s
3d79aafce5 feat: sprite destroy 2019-03-25 10:23:05 -05:00
cha0s
52a4c43059 refactor: more semantic graphics internals 2019-03-25 10:18:41 -05:00
cha0s
11d6337db5 feat: render to canvas 2019-03-25 10:14:55 -05:00
cha0s
b9a963d2f1 feat: BodyView 2019-03-24 19:11:45 -05:00
cha0s
12f87bd29d chore: matter body aabb 2019-03-24 18:58:26 -05:00
cha0s
3023489d91 chore: thicc'er lines 2019-03-24 18:58:13 -05:00
cha0s
977ac77a9d fix: matter wasn't removing the internal body 2019-03-24 18:30:22 -05:00
cha0s
fe229de317 refactor: sort containers by index if zIndex is equivalent (stable) 2019-03-24 04:04:39 -05:00
cha0s
92f4f4a2d1 refactor: use equalsClose for position juggling 2019-03-24 04:03:15 -05:00
cha0s
957b4c8a15 feat: Vector.equalsClose 2019-03-24 04:02:42 -05:00
cha0s
7d2037d870 feat: real (Matter.js) physics :) 2019-03-24 03:24:35 -05:00
cha0s
ea9c116c7f fix: ShapeList type 2019-03-24 01:46:53 -05:00
cha0s
f3d8f55689 refactor: Abstract physics 2019-03-24 01:16:24 -05:00
cha0s
5bdff7ce71 feat: virtualizedStatic 2019-03-24 01:16:04 -05:00
cha0s
e0319c0d2f refactor: physics restructuring 2019-03-24 00:46:31 -05:00
cha0s
caf69e3333 refactor: decouple entity from body 2019-03-24 00:43:07 -05:00
cha0s
23c7a77e5b refactor: simpleState -> StateProperty 2019-03-23 23:24:18 -05:00
cha0s
87d345177b feat: resolving now tries to preserve one axe of translation 2019-03-23 23:07:01 -05:00
cha0s
9bd0566a1f refactor: Trait::destroy upfront to avoid surprises 2019-03-23 23:06:22 -05:00
cha0s
78bc85be49 refactor: unnecessary lookup 2019-03-23 23:06:01 -05:00
cha0s
49b36dabe6 fix: isTouching was broked 2019-03-23 22:36:24 -05:00
cha0s
8418665892 refactor: eliminate redundant collision checks 2019-03-23 20:19:43 -05:00
cha0s
0ea3e0f6c5 fix: physics collision detection 2019-03-23 20:08:49 -05:00
cha0s
f745c61ab0 chore: formatting 2019-03-23 20:04:59 -05:00
cha0s
151ca214e0 refactor: Entity::[hasTrait -> is] 2019-03-23 18:49:19 -05:00
cha0s
f123d12624 feat: physics++ 2019-03-23 18:46:55 -05:00
cha0s
4c8956457f fix: EventEmitter mixin wasn't forwarding args 2019-03-23 18:26:07 -05:00
cha0s
6ab1c36980 feat: arrayUnique 2019-03-22 14:46:01 -05:00
cha0s
b361082de2 refactor: precision++ 2019-03-22 14:29:38 -05:00
cha0s
1098725636 feat: Physical 2019-03-22 13:16:07 -05:00
cha0s
6c26e87840 feat: ShapeView 2019-03-22 13:15:57 -05:00
cha0s
d9cf9257c1 fix: typo 2019-03-22 13:15:41 -05:00
cha0s
a21b3d6934 feat: vertice iterator 2019-03-22 13:15:28 -05:00
cha0s
d64ec2d10c feat: physics 2019-03-22 11:25:20 -05:00
cha0s
31efc515c3 feat: vertice operations 2019-03-22 11:25:06 -05:00
cha0s
af373189a6 refactor: es6 getter/setter 2019-03-22 11:24:50 -05:00
cha0s
3c09ab3f82 refactor: cartesianDistance -> magnitude 2019-03-22 11:24:07 -05:00
cha0s
3566640678 feat: Vector.angle 2019-03-22 11:23:55 -05:00
cha0s
c6e14e5eb8 fix: vectorKey 2019-03-22 11:23:12 -05:00
cha0s
ab689beee9 refactor: safer fromJSON 2019-03-21 23:40:03 -05:00
cha0s
07491fabdf refactor: use Vector.mixin 2019-03-21 23:39:46 -05:00
cha0s
14d07c195c fix: vector mixin was broked 2019-03-21 23:39:09 -05:00
cha0s
0de58ff338 refactor: Vector mixin 2019-03-21 23:13:46 -05:00
cha0s
25809f5b31 fix: prune duplicate entity results from quad tree 2019-03-21 20:13:53 -05:00
cha0s
bb02bed6a5 refactor: Listed handles quadtree nodes, 4 points for bounds 2019-03-21 20:07:32 -05:00
cha0s
006b9a742e chore: dead code 2019-03-21 18:41:46 -05:00
cha0s
4e5c4abe8c fix: map uuid before adding entity 2019-03-21 18:30:44 -05:00
cha0s
e31d7be41a EntityList::destroy 2019-03-21 01:32:49 -05:00
cha0s
10be72e6fa fix: this animation 2019-03-21 01:32:39 -05:00
cha0s
fd24ca6c7c refactor: better interface 2019-03-21 01:14:24 -05:00
cha0s
4da1b827d5 feat: custom entity list locator 2019-03-21 00:41:25 -05:00
cha0s
f2dba0a801 refactor: no nasty params 2019-03-21 00:36:06 -05:00
cha0s
6d169ad5f4 chore: not abstract enough 2019-03-21 00:31:27 -05:00
cha0s
880f428f3a refactor: more sensible traitAdded interface 2019-03-21 00:15:15 -05:00
cha0s
01b5598379 chore: open it, close it 2019-03-21 00:09:17 -05:00
cha0s
188008fbc2 chore: if you open it, close it 2019-03-20 23:23:34 -05:00
cha0s
119edf2e47 chore: remove old junk 2019-03-20 23:02:42 -05:00
cha0s
03dcc84ca0 fix: addTrait default to empty json 2019-03-20 23:00:42 -05:00
cha0s
30e286b68c refactor: calculate offsets upfront 2019-03-20 21:58:14 -05:00
cha0s
5a5169bf34 feat: uuidMapping exposure 2019-03-20 21:07:57 -05:00
cha0s
76a444f233 feat: Controllable 2019-03-20 21:07:47 -05:00
cha0s
103b6d4899 feat: Pictured 2019-03-20 20:15:04 -05:00
cha0s
c92ca306b4 chore: formatting 2019-03-20 19:49:03 -05:00
cha0s
4e54e474f9 chore: remove dead 2019-03-20 19:48:31 -05:00
cha0s
412f65cae1 chore: whitespace 2019-03-20 19:31:35 -05:00
cha0s
e74922fb2a fix: Animated wasn't setting animations' direction upfront 2019-03-20 19:23:32 -05:00
cha0s
3f3903c882 feat: Listed trait 2019-03-20 18:35:33 -05:00
cha0s
2872f729ff feat: EntityList QuadTree 2019-03-20 18:35:19 -05:00
cha0s
482c5db374 refactor: QuadTree moved to math 2019-03-20 18:34:13 -05:00
cha0s
2da9d73525 feat: QuadTree 2019-03-20 18:33:59 -05:00
cha0s
d4951fd641 refactor: synchronizer in its own file 2019-03-20 18:33:13 -05:00
cha0s
8f7e8bb5f0 refactor: trait actions -> methods 2019-03-20 18:32:54 -05:00
cha0s
d257ea4161 feat: Entity::hasTrait 2019-03-20 18:27:06 -05:00
cha0s
cc95512f39 feat: cache resources 2019-03-20 18:26:55 -05:00
cha0s
6a791b4dc6 chore: add quadtree 2019-03-20 01:08:51 -05:00
cha0s
f2b056f4e4 refactor: self-contained base texture cache 2019-03-20 00:25:18 -05:00
cha0s
c0fd9ad546 feat: entity z-sorting 2019-03-19 21:27:41 -05:00
cha0s
7902311131 feat: animation offset 2019-03-19 21:11:04 -05:00
cha0s
fff621be50 feat: Renderable::zIndex with automatic dirty marking and sorting 2019-03-19 21:02:43 -05:00
cha0s
6e0b192671 refactor: animation swapping helpers 2019-03-19 20:58:19 -05:00
cha0s
3b0efe4e9b refactor: restructure traits, no autoregister 2019-03-19 19:52:00 -05:00
cha0s
a02353f95a feat: destroy renderables 2019-03-19 18:29:11 -05:00
cha0s
72459bc0a9 refactor: animated trait uses Animation 2019-03-19 18:06:08 -05:00
cha0s
042e6ae071 feat: AnimationView 2019-03-19 18:05:58 -05:00
cha0s
a4b0c9dd22 feat: timing 2019-03-19 18:05:42 -05:00
cha0s
2a9d60006d refactor: automatic read/load for Resource 2019-03-19 18:05:12 -05:00
cha0s
ef0b526374 fix: Vector.mul 2019-03-19 18:04:51 -05:00
cha0s
21c56ced91 refactor: hasGraphics 2019-03-19 18:04:37 -05:00
cha0s
53f9b10eee fix: positionChanged arg order 2019-03-19 18:02:45 -05:00
cha0s
daf6eeddc7 chore: translated Rectangle 2019-03-19 13:49:21 -05:00
cha0s
97ad01b426 chore: use container 2019-03-19 11:59:47 -05:00
cha0s
1969657651 chore: early out 2019-03-19 11:48:46 -05:00
cha0s
fb19cdfc69 refactor: frame rect calc 2019-03-19 11:29:07 -05:00
cha0s
2952e4edf4 refactor: always use Trait::initialize 2019-03-19 11:25:42 -05:00
cha0s
3b50c134d0 refactor: Trait::initialize before hooks, actions, and listeners 2019-03-19 11:21:52 -05:00
cha0s
5e8805fde1 refactor: Trait::initialize 2019-03-19 11:12:28 -05:00
cha0s
f6145f99f1 chore: dead code removal 2019-03-19 11:10:29 -05:00
cha0s
fbc0ab5583 refactor: sync position after initialization 2019-03-19 11:10:03 -05:00
cha0s
80d808a921 feat: Trait::hasInitialized 2019-03-19 11:09:41 -05:00
cha0s
ef1dbbe5b5 refactor: container position sync 2019-03-19 11:03:48 -05:00
cha0s
fc2d873809 fix: x/y changes should emit positionChanged 2019-03-19 11:02:38 -05:00
cha0s
b4e6ed7c77 chore: tidy 2019-03-19 10:52:09 -05:00
cha0s
8602b0e81d chore: dead code 2019-03-19 10:51:08 -05:00
cha0s
83e50210ed fix: skip empty image load 2019-03-19 10:46:20 -05:00
cha0s
8299973c7b refactor: hasGraphics, conditional entity container 2019-03-19 10:45:19 -05:00
cha0s
4a4a624d9e chore: clean up animated frameRect calc 2019-03-19 10:22:35 -05:00
cha0s
654a9b4dd8 chore: clean up listener creation 2019-03-19 10:21:00 -05:00
cha0s
d250d94f3b feat: explicit directional movement tracking 2019-03-19 10:20:49 -05:00
cha0s
1afc3609e4 chore: standards 2019-03-19 10:19:38 -05:00
cha0s
3b55648f60 feat: track position change 2019-03-19 10:19:23 -05:00
cha0s
701623ea31 refactor: trait params and state passed as args, Trait::fromJSON removed 2019-03-19 10:02:18 -05:00
cha0s
b9cbccede8 feat: Animated trait 2019-03-18 22:20:03 -05:00
cha0s
068c45842d refactor: Sprite::sourceRectangle property 2019-03-18 22:19:43 -05:00
cha0s
5b0e8092d2 featL synchronize params and state 2019-03-18 21:22:54 -05:00
cha0s
9e74aaf7e7 feat: graphical trait 2019-03-18 20:07:20 -05:00
cha0s
f22ea42b54 feat: graphics 2019-03-18 20:06:47 -05:00
cha0s
86b5d7260c chore: bump 2019-03-18 20:06:27 -05:00
cha0s
f9b9c9d6d8 fix: track magnitude 2019-03-18 20:06:05 -05:00
cha0s
efce6ce42d feat: traitAdded event on Traits 2019-03-18 20:05:41 -05:00
cha0s
2298d65cd3 feat: track direction 2019-03-18 20:05:11 -05:00
cha0s
73a91efbeb feat: track position 2019-03-18 20:05:00 -05:00
cha0s
77ec2a3c04 refactor: simpleState now uses Property 2019-03-18 20:04:12 -05:00
cha0s
c1e7db9ebf feat: more intelligent trait state merging 2019-03-18 20:03:30 -05:00
cha0s
a014a59e20 refactor: listener responsibility removed from trait instance 2019-03-18 20:02:57 -05:00
cha0s
101b443316 feat: events for add/remove entity in list 2019-03-18 19:58:22 -05:00
cha0s
c240ee6337 feat: meta.emit 2019-03-18 19:57:31 -05:00
cha0s
c1f18949e5 chore: remove dead meta.getContext 2019-03-18 19:57:13 -05:00
cha0s
5e4fde6642 fix: property mixin must call super ctor with args 2019-03-18 19:56:18 -05:00
cha0s
22fe6261b8 chore: initial 2019-03-17 23:45:48 -05:00