Commit Graph

195 Commits

Author SHA1 Message Date
d3ace298d3 remove 'squares' field from app type, and refactor most functions in common-update.sml to use layer tree instead of squares vector 2025-08-09 10:19:26 +01:00
ab888f8410 update 'changeCanvasWidth/Height' functions to use layer tree 2025-08-09 10:11:37 +01:00
21624aee0d change 'move-mode.sml' to use layer tree everywhere instead of squares 2025-08-09 09:57:19 +01:00
6a39f43916 remove some dead code 2025-08-09 09:39:59 +01:00
852b2cf1f1 remove 'undo' and 'redo' fields from app_type, because I won't be adding that functionality for the forseeable future 2025-08-09 09:35:52 +01:00
58439d8df8 progress moving away from 'squares' field to layer tree 2025-08-09 09:32:34 +01:00
34c29bcbba add functions to add and remove pixels from layer-tree 2025-08-09 09:13:03 +01:00
e634bb25d7 add grid module, and change some functions in layer-tree.sml to use it instead of having grid-logic in there 2025-08-09 08:43:51 +01:00
6cd2b85d8b change integer layer field when 'l' is pressed 2025-08-09 08:36:14 +01:00
8715879ceb add layerTree field to app type 2025-08-09 08:22:28 +01:00
8d855be27a add layer field to app type, as preparation for switching to layer tree 2025-08-09 08:15:11 +01:00
8e475a3abe add functionality to change grid size for layer tree 2025-08-09 08:04:22 +01:00
318ca4fdf1 begin coding layer tree so that we have toggleable layers 2025-08-09 07:48:49 +01:00
cb9e66f349 add functionality to resize window in move mode 2025-08-09 07:17:48 +01:00
fa2a5c878c add ability to select cursor colour 2025-08-09 07:04:03 +01:00
7a3fc728f6 fix bugs moving image up/down in move mode 2025-08-09 00:22:25 +01:00
f46ca01d42 add ability to move from normal mode to move mode, and from move mode back to normal mode 2025-08-09 00:13:02 +01:00
50bdd31d59 progress with move mode 2025-08-08 23:56:24 +01:00
f1cd3fbf85 begin coding functionality to move squares 2025-08-08 23:39:29 +01:00
0445595990 when generating collision string, map 'squares' vector to a new vector which treats all visible (non-transparent) colours the same. This allows us to ignore colour differences when generating the collision string, which is good because the colour of a pixel doesn't make a difference to collision detection. 2025-07-30 07:27:55 +01:00
eedaf0450f fix bugs with generating export strings from quad tree (have to add 1 to ex and ey indiscriminately, except if we are not in the canvas width/height dimensions) 2025-07-29 15:55:38 +01:00
d392ad2c79 100NvimTree_1 done with functionality to export collisions 2025-07-13 15:45:09 +01:00
7e96203f92 done adding export-collision functionality, including collision message, in functional core. Next: add imperative shell scaffolding 2025-07-13 15:33:32 +01:00
de16e816b4 add scale parameter for collisions, so that we can easily use collisions when object is larger than normal/native 2025-07-13 15:14:19 +01:00
d98b815516 done generating collision string 2025-07-13 15:02:13 +01:00
69494c368e done fixing errors in output from CollosionTrin.toExportString (I forgot to increment 'ey' if 'y' = 'ey') 2025-07-13 14:03:52 +01:00
a60d13c5ef improvements to generated export string (matches more closely to expected result) 2025-07-13 04:03:44 +01:00
0e141174b2 progress fixing bugs in generated export string 2025-07-13 01:40:57 +01:00
31bc8485f3 add function in imperative shell to save export string, and fix errors in generating export string from functional core 2025-07-12 19:34:52 +01:00
dbb1676fbe done coding functionality to create a string suitable for exporting 2025-07-12 19:16:36 +01:00
a97f838a64 finished coding export string, I think/hope 2025-07-12 19:08:36 +01:00
9a748c8e0d done converting coordinates to triangles for exporting (but I still need header and footer for that) 2025-07-12 19:00:24 +01:00
1fb6b43ac3 progress coding function to create an export string 2025-07-12 18:52:30 +01:00
d0c12d4a87 fix bugs in parse-grid.sml update functions: exit loopX and loopY if coordinate is not in range of grid 2025-07-12 13:50:20 +01:00
b58100ca7e done implementing load-squares functionality 2025-07-12 07:17:52 +01:00
dcf6bc074d fix lexer/parser bugs, add code in file-thread.sml to handle loading/saving of files (but loading is not completely finished yet) 2025-07-12 07:03:09 +01:00
eb0b8d31b2 save grid to custom format 2025-07-12 06:03:59 +01:00
04bb7a18c0 add function to quad tree to turn items into strings (for later saving to file) 2025-07-12 03:38:20 +01:00
bb5e3e8ef3 begin parser to load from file 2025-07-12 02:02:21 +01:00
22173a0cdb add functionality to delete pixel 2025-07-11 23:55:12 +01:00
973a1610ce add functionality to delete pixel 2025-07-11 23:47:28 +01:00
86369db055 add functionality for changing height of canvas 2025-07-11 22:57:20 +01:00
a448fcf469 fix bugs relating to resizing canvas width 2025-07-11 22:20:29 +01:00
e3729a1ce5 add scaffolding in imperative shell to help update canvas width and height 2025-07-11 17:45:16 +01:00
08ed5cc3d5 progress updating canvas width at runtime 2025-07-11 17:41:47 +01:00
e760b158ac change how modal num works so that it is only clipped to 255 if setting a new colour/alpha value 2025-07-11 17:30:57 +01:00
ac69e95a0c add function to help change size of canvas 2025-07-11 17:21:50 +01:00
5cd909430d a bit of refactoring, moving code to update 'squares' vector in app-with.sml to its own function (to make it reuseable) 2025-07-11 17:03:48 +01:00
c898d83d6e add undo and redo fields (but we are not acting on them) 2025-07-11 16:54:07 +01:00
7028391298 add functionality to draw in different colours 2025-07-11 16:39:39 +01:00