Commit Graph

286 Commits

Author SHA1 Message Date
868e066295 progress parsing command line args 2025-08-26 13:58:42 +01:00
d3d7955727 add install and uninstall options to Makefile 2025-08-26 13:43:27 +01:00
894cd50073 restructure a bit to make the GLFW-initialisation code its own separate structure/file, and so we can use shell.sml for running program in different ways 2025-08-26 13:00:18 +01:00
953eaefb88 recolour gun 2025-08-15 10:32:41 +01:00
a561b5c3e4 add some colour to drawing 2025-08-15 09:43:29 +01:00
bcd9f9b7b1 add head to drawing 2025-08-15 08:24:56 +01:00
a5bfa96269 add buster and shoulder to drawing 2025-08-14 14:31:29 +01:00
171c2d337f minor shoe changes in drawing 2025-08-13 15:30:18 +01:00
679d4c143f minor line adjustments in drawing 2025-08-13 14:21:13 +01:00
6541d66b18 drawing checkpoint 2025-08-13 12:22:47 +01:00
4a9b5947e7 add functionality to flip drawing horizontally 2025-08-12 22:25:16 +01:00
55fe9b7605 a bit of formatting (code does same thing, but is expressed in a way that is a little clearer after the formatter has been run) 2025-08-09 14:13:23 +01:00
a5b988d136 fix bug in LayerTree.map function: replace old value with new value (the result of applying the callback function) 2025-08-09 14:01:55 +01:00
e160e997d3 fix bug: when loading a parsed layer tree, graph lines should be regenerated 2025-08-09 13:50:31 +01:00
c29746dd5b in save string, add each layer to a new line. This helps with readability and text manipulation (if we want to edit the save file directly for whatever reason) 2025-08-09 13:23:35 +01:00
17a8885d77 fix exception that was previously triggered when trying to insert after loading a parsed tree, by making sure that the arrowX and arrowY fields are clamped by the new canvas width and height 2025-08-09 13:08:26 +01:00
6f91c6fc52 fix compile errors left in previous commit 2025-08-09 12:48:56 +01:00
143d02163b fix bugs related to parsing and loading file (did not implement new BNF grammar properly) 2025-08-09 12:39:41 +01:00
d6f7583273 progress towards saving export string in correct format (but note there is currently an exception somewhere because of changes; need to fix) 2025-08-09 11:56:18 +01:00
99a47a410f fix loading to use and return layer tree 2025-08-09 11:42:37 +01:00
940e4429a7 reimplement parsing code (but program does not compile yet because I have to change type of 'USE_SQUARES' constructure) 2025-08-09 11:29:36 +01:00
b765e406c7 change BNF (but not implementation of BNF) for parsing, to handle layers, and also change minimum key in layer tree to be 1 2025-08-09 11:10:34 +01:00
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
1fe07149c7 fix bug im output of export string: previously had 'endXToNdc' and 'endYToNdc' functions (which sometimes produced incorrect/pixelated output), but it turns out that I was meant to use only 'xToNdc' and 'yToNdc' for correct output. 2025-08-01 06:32:07 +01:00
8cc2adcbf0 formatting 2025-07-30 07:28:37 +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
7cfbd3cdb3 begin creating a string for collision data 2025-07-13 14:35:50 +01:00