|
|
90f8732f06
|
move msgs into AppType.app_type, and refactor AppUpdate.update function to have type (app_type -> app_type) instead of pervious case which was (app_type -> app_type * MailboxType.t list). Reason: no need to allocate/return tuple when can store messages in type directly; previous msg list will be reset after each app update. All tests after refactor are passing.
|
2024-12-17 10:40:06 +00:00 |
|
|
|
24cdea7da3
|
pull in new version of railroad library, and make a one-line change to print exclusively tests that have failed (because terminal output is noisy otherwise)
|
2024-12-17 09:49:07 +00:00 |
|
|
|
507c1c331c
|
scale player.sml in the same way that wall.sml is being scaled, and also: make 'x' and 'y' arguments to Block.lerp Real32.real values rather than int values (with calling code making the necessary changes) as the code was converting between int and real multiple times
|
2024-12-17 09:16:22 +00:00 |
|
|
|
18bd81134b
|
done handling variable window width/height in wall.sml
|
2024-12-17 04:59:15 +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 |
|
|
|
1017bf1b7a
|
cache 'jumpPressed' state inside player type. We use this boolean to check if the player has jumped before. If they have jumped before, then holding the up button does not cause another jump when falling down (unlike before this commit)
|
2024-12-14 21:05:51 +00:00 |
|
|
|
8b8d6f07bc
|
change floatLimit to 3, which seems to be fine
|
2024-12-14 18:11:59 +00:00 |
|
|
|
df186308bb
|
reduce floatLimit to 4, which feels better in the game
|
2024-12-14 18:07:12 +00:00 |
|
|
|
62a6a831ed
|
add FLOATING case to player's y_axis type, so user hovers briefly after jumping, before gravity is applied (this is normal game physics)
|
2024-12-14 18:02:57 +00:00 |
|
|
|
cea269689e
|
make it so that player will jump shorter distance if they only press up button for short period of time
|
2024-12-14 08:18:39 +00:00 |
|
|
|
34884b1b50
|
make sure gravity is applied when player walks off platform
|
2024-12-14 08:11:23 +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 |
|
|
|
fb2be7be73
|
add block.sml which just generates a block for OpenGL
|
2024-12-10 11:55:40 +00:00 |
|
|
|
a1b8aead30
|
complete function to get collision sides in quad tree
|
2024-12-10 08:42:36 +00:00 |
|
|
|
7dbacd4792
|
add function to return which side a collision occurs at
|
2024-12-09 07:05:21 +00:00 |
|
|
|
544460aec7
|
begin coding player
|
2024-12-09 04:37:40 +00:00 |
|
|
|
244640c1d6
|
add signature to quad-tree.sml, making it an opaque module
|
2024-12-09 00:23:00 +00:00 |
|
|
|
068f0277b9
|
add function to get list of collision object from quad tree
|
2024-12-08 23:38:50 +00:00 |
|
|
|
6f14edd528
|
code insert function for quad tree
|
2024-12-07 11:12:19 +00:00 |
|
|
|
fa723f27fa
|
basic motion tests done
|
2024-11-27 10:17:42 +00:00 |
|
|
|
57f012d655
|
reimplement vi0 and helper functions so that they are likely faster (vi0 bring cursor to start of current line; before, this was done by checking each character in the string backwards, but now it is done by looking at the line metadata, which is faster for us by some constant factor)
|
2024-11-26 21:57:02 +00:00 |
|
|
|
db64917416
|
add tests for 'E' motion
|
2024-11-26 11:20:32 +00:00 |
|
|
|
bc856d3470
|
add tests for 'e' motion
|
2024-11-26 11:03:52 +00:00 |
|
|
|
233a21456d
|
add tests for matching pairs
|
2024-11-26 00:43:02 +00:00 |
|
|
|
2cc7bebbd7
|
add tests for caret ^ motion
|
2024-11-25 22:13:02 +00:00 |
|
|
|
c28dc429b7
|
address todo in text-builder.sml by adding prerequisite: always call SearchList.goToNum before calling TextBuilder.build
|
2024-11-25 04:37:47 +00:00 |
|
|
|
d399016c1a
|
add 'SearchList.exists' function to fcore/search-list.sml function, and make sure we check if mmatchedIdx exists before inserting or appending (so we maintain set-like semantics where each number exists only once)
|
2024-11-24 21:38:58 +00:00 |
|
|
|
c6343cac40
|
in fcore/search-list.sml, only call 'insMiddle' function if new value is not in middle
|
2024-11-24 20:42:17 +00:00 |
|
|
|
eb3eb6c41f
|
fix bug in '^' motion: only move cursor if (chr = /home/humza/Downloads/sml/shf/fcore/cursor.sml' '), not if Char.isSpace (which also returns true if chr is newline or tab) is true
|
2024-11-24 20:32:47 +00:00 |
|
|
|
98f8313141
|
add motion tests for '$' command
|
2024-11-24 20:15:07 +00:00 |
|
|
|
7d73146cf4
|
remove line breaks between tests in test/test.sml, because more code fits on screen that way, and the differing intentation is enough of a visual sign to mark when new test begins (aside from the 'test' keyword itself)
|
2024-11-24 19:43:06 +00:00 |
|
|
|
88ef79ad41
|
add tests for '0' movement motion
|
2024-11-24 19:35:47 +00:00 |
|
|
|
73482a7cc2
|
give different strings for some tests
|
2024-11-24 13:43:22 +00:00 |
|
|
|
d76b753fa7
|
add tests for 'W' move motion
|
2024-11-24 12:19:43 +00:00 |
|
|
|
04d4e013e2
|
ensure that searchList is deleted from when calling delete functions other than 'helpRemoveChr'
|
2024-11-23 06:10:40 +00:00 |
|
|
|
0bfe549e04
|
add just one more 'word' test, extract steps to delete from search list into a reusable function (don't need to memorise the steps), and fix bug in cursor.sml where we were looking at tl without calculating correct strIdx
|
2024-11-23 05:16:37 +00:00 |
|
|
|
4a09a5716d
|
add more 'w'/'word' motion tests
|
2024-11-19 22:41:07 +00:00 |
|
|
|
c48eeb07b3
|
finish testing motions for 'k', meaning tests for hjkl motions are complete (can test other motions like 'w', '0', 'e', etc. next, and then test delete motions after that)
|
2024-11-19 13:02:13 +00:00 |
|
|
|
26850da6d3
|
done testing 'j' motion; next is to test 'k' motion
|
2024-11-19 06:43:00 +00:00 |
|
|
|
f6d4b10d44
|
break test suite in test.sml into more managable chunks (one test per motion)
|
2024-11-19 06:35:47 +00:00 |
|
|
|
64eec10049
|
add tests for 'j' motion
|
2024-11-19 06:27:38 +00:00 |
|
|
|
e2dfe25d36
|
a bit of refactoring in test.sml
|
2024-11-19 05:51:46 +00:00 |
|
|
|
96080d0964
|
a bit of repository management (add Makefile to make it less verbose to run tests, and add .gitignore to avoid committing built binaries)
|
2024-11-19 04:32:37 +00:00 |
|
|
|
afcd3ee70b
|
add additional tests for vi's 'h' and 'l' motions
|
2024-11-19 04:21:54 +00:00 |
|
|
|
09165b48d9
|
format test file
|
2024-11-19 03:53:22 +00:00 |
|
|
|
d92d3b3a26
|
add a couple of tests
|
2024-11-19 03:53:05 +00:00 |
|
|
|
55c371370f
|
add a couple of tests
|
2024-11-19 03:48:30 +00:00 |
|