From 0e332f3d83dd276ccee5d5ea298c5389f532caf2 Mon Sep 17 00:00:00 2001 From: DiamondNether90 Date: Tue, 23 Sep 2025 08:09:25 +1000 Subject: [PATCH] Ignore this --- packages/geometry/geometry.grnd | 77 +++++++++++++++++++++++++++++++++ packages/grogs/moreGrogs.grnd | 45 +++++++++++++++++++ programs/test2.grnd | 0 3 files changed, 122 insertions(+) create mode 100644 packages/geometry/geometry.grnd create mode 100644 packages/grogs/moreGrogs.grnd create mode 100644 programs/test2.grnd diff --git a/packages/geometry/geometry.grnd b/packages/geometry/geometry.grnd new file mode 100644 index 0000000..944c506 --- /dev/null +++ b/packages/geometry/geometry.grnd @@ -0,0 +1,77 @@ +use "math" + +struct -vector2d + init &xpos -double + init &ypos -double + + fun -void !init -double &x -double &y + set &xpos $x + set &ypos $y + return true + endfun + + fun -string !toString + tostring $xpos &x1 + tostring $ypos &y1 + add "(" $x1 &store + add $store ", " &store + add $store $y1 &store + add $store ")" &store + return $store + endfun + + fun -double !atan2 + pusharg $ypos $xpos + !math:atan2 &store + return $store + endfun + + fun -double !modulus + multiply $xpos $xpos &x2 + multiply $ypos $ypos &y2 + add $x2 $y2 &z2 + pusharg $z2 + !math:sqrt &z + return $z + endfun +endstruct + +struct -line2d + init &gradient -double + init &yint -double + + fun -void !initGI -double &g -double &y + set &gradient $g + set &yint $y + return true + endfun + + fun -void !initTP -point &p1 -point &p2 + subtract $p2.ypos $p1.ypos &rise + subtract $p2.xpos $p1.xpos &run + divide $rise $run &gradient + + multiply $gradient $p1.xpos &store + subtract $p1.ypos $store &yint + return true + endfun + + fun -vector2d !getPoint -double &x + multiply $gradient $x &store + add $store $yint &y + init &ans -vector2d + pusharg $x $y + !ans.init &store + return $ans + endfun +endstruct + +init &line -line2d +pusharg 3 1 +!line.initGI &store + +pusharg 3 +!line.getPoint &store + +stdlnout $store.xpos +stdlnout $store.ypos \ No newline at end of file diff --git a/packages/grogs/moreGrogs.grnd b/packages/grogs/moreGrogs.grnd new file mode 100644 index 0000000..c9bea82 --- /dev/null +++ b/packages/grogs/moreGrogs.grnd @@ -0,0 +1,45 @@ +extern "grogs" + +struct -keyTracker + init &keys -list + init &pressed -list +endstruct + +init &keyTracker -keyTracker +setlist *keyTracker.keys 1073741904 1073741903 1073741906 1073741905 +setlist *keyTracker.pressed false false false false + +pusharg "My Awesome Window" 480 360 +!grogs:initSDL &result + +fun -int !keyPressed -keyTracker &keyTracker + # A key was just pressed means there is a mismatch between what is stored and the actual key presses + set &idx 0 + set &ans -1 + !grogs:getLastKey &key + + getlistsize *keyTracker.keys &len + @loop + equal $idx $len &cond + if $cond %end + + getlistat *keyTracker.keys $idx &store + inequal $key $store &cond + if $cond %increment + + getlistat *keyTracker.pressed &cond + if $cond %increment + + set &ans $store + + @increment + add $idx 1 &idx + jump %loop + + @end + return $ans +endfun + +@loop + + jump %loop \ No newline at end of file diff --git a/programs/test2.grnd b/programs/test2.grnd new file mode 100644 index 0000000..e69de29