|
|
1bab4d89d7
|
done with saving updated keybindings, both saving to application's RAM memory and to disk
|
2025-02-21 20:31:26 +00:00 |
|
|
|
e6b0a5f37f
|
add 'saveKeys' boolean to GameType.game_type, which should tell us to assign the new userKeys record to the InputState (which is implemented), and should also tell us to convert the keys to a string and save it to controls.config
|
2025-02-21 18:32:48 +00:00 |
|
|
|
c6fe819c0c
|
thread time through update functions so it can be used
|
2025-02-21 08:58:45 +00:00 |
|
|
|
6cd7edb5ab
|
draw options screen when that is selected
|
2025-02-20 14:25:20 +00:00 |
|
|
|
6762a1b994
|
add non-configurable escape button to input type, to be used as a way to go backwards or exit menu
|
2025-02-20 13:32:37 +00:00 |
|
|
|
9feae2bb0f
|
add function to make text vec to its own module so it can be reused across different modes
|
2025-02-20 06:13:33 +00:00 |
|
|
|
dab81e3904
|
begin function for drawing title screen
|
2025-02-19 04:07:27 +00:00 |
|
|
|
25b2c41355
|
begin title screen by adding title screen type
|
2025-02-19 03:39:36 +00:00 |
|
|
|
6b4b637624
|
done adding LevelType.level_type as a field of GameType.game_type, and having main loop go through GameUpdate.game_type -> LevelUpdate.update
|
2025-02-18 13:48:17 +00:00 |
|
|
|
afe878c05d
|
begin parameterising level so that it fits into larger type (with different modes like TITLE, LEVEL, SETTINGS, etc.)
|
2025-02-18 13:16:52 +00:00 |
|
|
|
6d028214d5
|
when game is first loaded, assign parsed controls (or at least default controls) to imperative shell's state
|
2025-02-17 03:53:04 +00:00 |
|
|
|
18495a0cca
|
successfully parse controls from file (but todo: save controls imperative shell on load)
|
2025-02-17 03:48:31 +00:00 |
|
|
|
93aebe5fa1
|
a bit of refactoring with regards to enemy's structures and files
|
2025-02-14 09:06:32 +00:00 |
|
|
|
c5cea8dcb3
|
partial refactoring so we use EnemyMap.t for collection of enemies
|
2025-02-13 13:36:30 +00:00 |
|
|
|
26870816db
|
add code so that enemy gains a new projectile when attacking falling enemies, and also draw the falling enemies
|
2025-02-08 10:48:34 +00:00 |
|
|
|
1be44335cb
|
add asset for ChainEdge (attack)
|
2025-02-07 13:42:38 +00:00 |
|
|
|
8498eacde2
|
a little bit of refactoring
|
2025-01-11 21:58:34 +00:00 |
|
|
|
2433797caf
|
progress drawing projectiles
|
2025-01-09 11:52:39 +00:00 |
|
|
|
097d1502ad
|
have pellets fly around player when player has attacked enemy
|
2025-01-01 14:17:42 +00:00 |
|
|
|
5f437ae76d
|
draw basic field over player when player is attacking
|
2024-12-28 04:06:27 +00:00 |
|
|
|
aeb3756e5b
|
change arrow keys (left, down, right) to letter keys (s, d, f) and arrow up to letter key 'k', because I think it is more comfortable
|
2024-12-20 16:51:21 +00:00 |
|
|
|
05cc1d3a46
|
begin coding enemy
|
2024-12-19 03:08:26 +00:00 |
|
|
|
07782c7d65
|
add code to: (1) draw platform (shell.sml), (2) fix wall collision detection regression and platform collision detection bug (I was meant to pass one y parameter and one x parameter to the QuadTree for querying, but accidentally sent the y coordinate twice), (3) perform necessary state transitions that allow to drop from platform when pressing down on a platform, and (4) make sure player does not stick to platform if they jump to platform from below
|
2024-12-18 03:30:21 +00:00 |
|
|
|
20c4060124
|
progress in handling variable window width/height (mostly only in imperative shell though)
|
2024-12-16 00:58:59 +00:00 |
|
|
|
cc7f30f718
|
add GameType.game_type which stores player and wall types, add GameUpdate.update function which takes a game type and returns a new game type, and refactor player/wall files, and gl-draw file, in light of these changes
|
2024-12-15 09:10:19 +00:00 |
|
|
|
1901043535
|
add functionality to move player by using arrow keys
|
2024-12-14 07:59:43 +00:00 |
|
|
|
9144c97fba
|
get player to react to wall quad tree
|
2024-12-13 22:48:34 +00:00 |
|
|
|
9d42e14b2f
|
add basic imperative shell
|
2024-12-10 19:48:07 +00:00 |
|