|
|
c6fe819c0c
|
thread time through update functions so it can be used
|
2025-02-21 08:58:45 +00:00 |
|
|
|
7ad521e444
|
add function to retrieve time from GLFW
|
2025-02-21 08:49:46 +00:00 |
|
|
|
c81ca5dcf3
|
allow user to press up and down to select different options in options
|
2025-02-21 06:37:16 +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 |
|
|
|
027c8be541
|
add functionality to move between start button/options button
|
2025-02-20 06:00:49 +00:00 |
|
|
|
6d39c17a11
|
when play button is focused on title screen and either attack or jump button is pressed, start level
|
2025-02-20 05:46:00 +00:00 |
|
|
|
f293e084f7
|
add ability to change colour of text
|
2025-02-19 20:06:12 +00:00 |
|
|
|
568b21343b
|
add function which will allow placing text on centre of screen
|
2025-02-19 19:59:05 +00:00 |
|
|
|
bd145e6b74
|
make sure that drawn text is scaled + centered to middle of screen, if window size doesn't match expected ratio of 16:9
|
2025-02-19 05:37:04 +00:00 |
|
|
|
dab81e3904
|
begin function for drawing title screen
|
2025-02-19 04:07:27 +00:00 |
|
|
|
6ca2d379f7
|
bring in cozette-sml so we can draw text
|
2025-02-19 03:48:38 +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 |
|
|
|
b426ddbdd1
|
adjustment to player sprite, allowing the inside of the sprite to be a chosen colour
|
2025-02-18 12:48:55 +00:00 |
|
|
|
d3200745d0
|
allow player to have a different width/height that is not a perfect square, (now we have Constants.playerWidth and Constants.playerHeight, having deleted the previous size in Constants.playerSize)
|
2025-02-18 12:31:22 +00:00 |
|
|
|
e62493ce56
|
change size of player/enemy from 35 to 32 (even number means we can resize better)
|
2025-02-18 11:09:07 +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 |
|
|
|
46c713a9b5
|
progress with controls-parsing logic
|
2025-02-17 03:13:45 +00:00 |
|
|
|
99669dd0b6
|
add function to convert string to CoreKey.key_code (for parsing/loading controls from files)
|
2025-02-17 01:39:41 +00:00 |
|
|
|
291ee2f7f2
|
differentiate 'upHeld' from 'jumpHeld' (we may want a different button for going up/down menu and a different button for jumping)
|
2025-02-16 13:51:52 +00:00 |
|
|
|
0df453f9c9
|
partially done coding key remapping functionality (what works: GLFW key code -> CoreKey.key_code, acting on CoreKey.key_code every frame; todo: load from config file on start up, have screen where we can remap keys, and save to config while when key mappings are changed)
|
2025-02-16 13:45:14 +00:00 |
|
|
|
f2f1eeab8e
|
additional scaffolding of user's key mappings in imperative shell
|
2025-02-16 13:17:14 +00:00 |
|
|
|
47bda26da5
|
begin coding functionality for remapping keys
|
2025-02-16 12:45:29 +00:00 |
|
|
|
0edeb65131
|
done implementing SHIELD_SLIME
|
2025-02-15 13:00:23 +00:00 |
|
|
|
66c60a490d
|
begin adding shield slime enemy variant
|
2025-02-15 12:34:10 +00:00 |
|
|
|
190f11d7ef
|
different colours for different enemies so they are easier to differentiate
|
2025-02-15 12:18:08 +00:00 |
|
|
|
491ad11c4c
|
remove a bit of dead code from fcore/projectile.sml
|
2025-02-15 08:18:57 +00:00 |
|
|
|
e538caa6c6
|
add 'facing' field to enemy, and update that field when enemy starts moving in different direction (with regards to x_axis)
|
2025-02-15 08:13:36 +00:00 |
|
|
|
0b9bdeceff
|
update positions of falling enemies per frame (and filter them out too)
|
2025-02-15 02:17:01 +00:00 |
|
|
|
219b37053b
|
add functionality for falling enemies to turn into player projectiles when attacked
|
2025-02-15 02:02:48 +00:00 |
|
|
|
b8934e3add
|
add function to generate quad tree from falling enemies
|
2025-02-15 01:52:19 +00:00 |
|
|
|
e758a5a13c
|
refactor falling_enemy to be contained in FallingEnemyMap, instead of a plain vector
|
2025-02-15 01:42:29 +00:00 |
|
|
|
5412a71d30
|
add code to make enemy fall when attacked by projectile (assuming health is enough)
|
2025-02-14 18:18:46 +00:00 |
|
|
|
c75e7bc33b
|
add attacked enemies who are defeated to player's list of defeated_enemies, allowing them to be shot as projectiles
|
2025-02-14 13:15:45 +00:00 |
|
|
|
74a3fef32a
|
receive latest version of GapMap, which fixes a bug to do with removing an element
|
2025-02-14 13:04:30 +00:00 |
|
|
|
b239dfa04d
|
add functionality to have enemies tract to player's attack
|
2025-02-14 12:59:22 +00:00 |
|
|
|
50b57b9ef9
|
a little refactoring (Player.runPhysicsAndInput function now does just that, instead of also checking for collisions with enemy)
|
2025-02-14 11:19:24 +00:00 |
|
|
|
e00db5d8a3
|
make enemies move per loop (calling update EnemyMap by calling EnemyBehaviour)
|
2025-02-14 10:43:27 +00:00 |
|
|
|
46a1836ae2
|
additional refactoring, moving player type into its own directory
|
2025-02-14 10:13:03 +00:00 |
|
|
|
d1e23b5455
|
refactor platform and wall type declarations out into platform.sml and wall.sml
|
2025-02-14 09:26:07 +00:00 |
|
|
|
93aebe5fa1
|
a bit of refactoring with regards to enemy's structures and files
|
2025-02-14 09:06:32 +00:00 |
|
|
|
93aae6dc1f
|
remove dead code
|
2025-02-14 08:46:28 +00:00 |
|
|
|
c5cea8dcb3
|
partial refactoring so we use EnemyMap.t for collection of enemies
|
2025-02-13 13:36:30 +00:00 |
|
|
|
265c8db88a
|
implement EnemyMap functor (todo: migrate from 'enemy vector' type to 'EnemyMap.t' type)
|
2025-02-13 12:14:50 +00:00 |
|
|
|
f1521acec1
|
refactor file order in preparation for adding GapMap for enemy
|
2025-02-13 11:24:44 +00:00 |
|
|
|
4c8b404c09
|
add code so that bat also moves vertically (in addition to previous horizontal movement) when updating enemy state
|
2025-02-12 00:25:55 +00:00 |
|