Commit Graph

196 Commits

Author SHA1 Message Date
dabc49d557 Fix invalid image layers handling with NORMAL mode 2021-03-05 21:09:15 +01:00
bc604b52df Refactor Movement 2021-03-05 19:57:03 +01:00
7520eb70d0 Create lifecycle hooks in MapHandler and Entity 2021-03-05 14:14:05 +01:00
682a77ca38 Rename Rule methods 2021-03-05 11:00:59 +01:00
f8190a9d46 Create some useful geometric methods 2021-03-04 22:23:55 +01:00
b8d2fdda53 Create Rule system scaffolding 2021-03-04 20:12:04 +01:00
b80c5c4687 Use interfaces wherever it's possible in :api and :engine 2021-03-04 11:43:24 +01:00
0644815c5f Refactor layers-related code in :api 2021-03-03 21:01:47 +01:00
f5d29f7421 Extract ObjectLayer interface to :api 2021-03-03 20:59:17 +01:00
b31d8ab3f0 Extract ColorLayer interface to :api 2021-03-03 20:33:03 +01:00
f4b1b388e0 Extract ImageLayer interface to :api 2021-03-03 20:14:54 +01:00
4f1cef4d43 Extract TileLayer interface to :api 2021-03-03 18:51:15 +01:00
07d546b7d0 Refactor camera access in Context interface 2021-03-03 14:10:58 +01:00
50bb1d072d Move some internal API classes to the game package 2021-03-03 13:53:00 +01:00
01e4beac0a Refactor input interfaces in :api 2021-03-03 13:50:46 +01:00
ed180b2bc4 Refactor Entity and ObjectLayer 2021-03-03 13:44:06 +01:00
403453efba Extract some interfaces from :engine to :api 2021-03-03 13:40:01 +01:00
6d5c9388f7 Merge :game into :engine module 2021-03-03 12:49:33 +01:00
ed0f9ac0c5 Replace custom Vector with JOML's Vector2* in :API 2021-03-02 20:26:43 +01:00
713ebb1c54 [Editor] Enable ImageLayer deserialization on :game module side 2021-02-20 23:32:22 +01:00
a40ec1f45a Refactor world-related objects | move them to :game module 2021-02-16 21:18:09 +01:00
7e89bedffc Improve material, animations and sprite positions code 2021-02-16 13:03:28 +01:00
f6e15724c4 Move view-model matrix computation to the CPU 2021-02-16 11:58:19 +01:00
a307939de5 Improve textures management 2021-02-16 11:39:10 +01:00
499e232e17 Move the camera object out of the game map object
TODO: this commit impacts the performance.
FPS decreased from ~60 to ~24, it should be immediately fixed.
2021-02-15 18:50:27 +01:00
15549930e0 Replace AOP-driven based time profiler with a simpler one based on lambdas 2021-02-15 11:49:28 +01:00
f75d56ee01 Remove Animator object 2021-02-15 10:28:36 +01:00
e60add30c5 Migrate CRLF file endings to LF 2021-02-10 17:50:40 +01:00
d405b01316 Improve :engine and :game modules Gradle build scripts 2021-02-10 14:15:41 +01:00
73d0d94553 Create execution time measurement aspect 2021-02-03 22:48:05 +01:00
46baed4335 Create FPS monitor 2021-02-03 22:47:51 +01:00
de80cf04ed Create image layer 2021-02-02 20:35:08 +01:00
1b87af14b2 Replace Scene with GameMap | improve GameMap to allow variable layers
From now on, GameMap is the central container for objects
and is acting as a scene was before.
What's more, GameMap is not restricted to 4 layers anymore.
User can combine TileLayers (which define the terrain)
and ObjectLayers (which can contain movable objects) together
and is no limited to have only one ObjectLayer.
Thanks to that it would be easier to implement i.e. birds which actually
are a movable objects and are flying above the map and the highest
terrain (top TileLayers in fact).
2021-02-02 11:36:26 +01:00
30a508fb7b Do a slight improvement on GameMap and add 'performed' flag to Movement 2021-02-01 14:46:31 +01:00
b047a2530a Make Scene implements Updatable interface 2021-02-01 13:50:51 +01:00
8e2c63aac7 Introduce pushToScene() and removeFromScene() Entity's methods 2021-02-01 13:19:54 +01:00
44e875299a Fix invalid tile coordinates in GameMap.setTile() method 2021-02-01 12:49:07 +01:00
b6439e010a Introduce off heap garbage collector 2021-02-01 12:38:11 +01:00
71a1e47d24 Create basic movement collision detector 2021-02-01 10:55:09 +01:00
a141354439 Do some little improvements in the code 2021-02-01 08:53:47 +01:00
212073d48a Fix some little bugs 2021-01-31 23:55:59 +01:00
050fa14631 Introduce MeshManager and EntityManager 2021-01-31 23:22:47 +01:00
a04538874b Extract some responsibility from MovableObject to Entity 2021-01-31 20:02:27 +01:00
14906b7e37 Enable resetting default frame when movement is finished 2021-01-31 18:06:18 +01:00
845844d15b Create Moveable Object 2021-01-31 14:19:57 +01:00
8d1f78cb1d Split project to submodules 2021-01-31 10:56:55 +01:00