Commit Graph

282 Commits

Author SHA1 Message Date
3e9933bdd0 fix exception with attacking fallingEnemies, by regenerating fallingTree on each collision 2025-03-01 01:53:30 +00:00
e9e9d80a78 add leftFrames for whip attack 2025-03-01 01:48:15 +00:00
693630a655 add collision detection for whip attack 2025-03-01 01:31:18 +00:00
94dc17011e add a couple of frames to right-attack animation, making it appear smoother and less choppy 2025-03-01 01:11:16 +00:00
39f4614f13 animate whip (only visual; no collision detection) 2025-02-28 14:11:57 +00:00
54a4ed6d64 code box locations of right frames for whip attack 2025-02-28 13:18:42 +00:00
321200139b draw animation frames for whip attack 2025-02-28 12:03:23 +00:00
0385366fce use player jumping sprites when player drops below platform 2025-02-24 12:59:59 +00:00
b697eaf8e0 add sprites for when player jumps while facing left, and add code to handle this case 2025-02-24 12:43:08 +00:00
ee5b30da0e make characters bigger in level (still a multiple of 16 though so will scale nicely) 2025-02-24 11:31:43 +00:00
0353c47f27 add jumping/falling sprites when player is facing right (todo: add sprites mirrored to face left) 2025-02-23 13:47:41 +00:00
4c853c1843 add animation for player walking leftwards 2025-02-23 07:43:23 +00:00
cc01ee7ec9 remove player-walk-right-10 and player-walk-right-11 from walk cycle animation (looks better without those frames) 2025-02-23 07:30:44 +00:00
9286c26231 add a couple of frames to walk animation, and change colour of walls back from white to black (changed to white temporarily so we can see walk animation isolated from any other objects) 2025-02-22 19:22:48 +00:00
bd49877cf7 add code for going through right-walk cycle in draw/vector code (for player) 2025-02-22 19:02:28 +00:00
4a41976009 add 'animTimer' to player type, to help decide which frame to show for player 2025-02-22 14:00:33 +00:00
bf40a2b6e6 create assets for player walking rightwards (but they are not implemented in code yet) 2025-02-22 13:44:01 +00:00
f8ed79c81f small improvement to player's sprite (and create subdirectory for player's sprites too, as I expect there will be quite a few) 2025-02-22 06:02:28 +00:00
aa2936499d improvements to player sprite 2025-02-22 05:44:41 +00:00
defaf6c820 add functionality for cancel button in options-update.sml 2025-02-22 05:16:17 +00:00
e9f52d5cda allow cycling in options menu (when pressing down while on bottom button, it goes back to the top button, and whenh pressing up on the top button, it goes to the bottom button) 2025-02-22 05:07:20 +00:00
86aea3a147 trigger confirmation in title-update.sml only when attack is newly pressed (not when attack is held) 2025-02-22 04:53:51 +00:00
1bab4d89d7 done with saving updated keybindings, both saving to application's RAM memory and to disk 2025-02-21 20:31:26 +00:00
edb9b300c3 add function to convert CoreKey.key_code to string, as preparation for converting user key record to string, which itself is a prerequisite of saving controls configuration to file 2025-02-21 19:14:58 +00:00
9c82a624b6 a little refactoring 2025-02-21 18:57:28 +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
e1fb4004dd add 'tempKeys' field to OptionsType.options_type, so that any key binding changes in the menu do not take immediate effect (requires pressing 'save button' in order for changes to be saved and take effect) 2025-02-21 18:18:39 +00:00
abcbc030e1 highlight different options in red when they are (focused andalso selected) 2025-02-21 14:53:26 +00:00
b2f58f1c9a record and act on selected keys in options (except for save button and cancel button which are not acted upon) 2025-02-21 14:46:54 +00:00
40fff7729f add 'newKeys' field (list of key codes pressed in frame) to frame input type, so we can change key bindings at runtime later 2025-02-21 11:57:29 +00:00
603d6fa139 add key delay to options menu 2025-02-21 11:36:20 +00:00
c6fe819c0c thread time through update functions so it can be used 2025-02-21 08:58:45 +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
18495a0cca successfully parse controls from file (but todo: save controls imperative shell on load) 2025-02-17 03:48:31 +00:00