From 86806ff5a0d2710c0c56ca4fec841756f78b686f Mon Sep 17 00:00:00 2001 From: mehbark Date: Sun, 24 Dec 2023 13:43:16 -0500 Subject: [PATCH] okay you can run it now! nix is nice still, i was doing something dumb --- flake.nix | 5 +++-- main.scm | 14 ++++++++------ skins/classic.bmp | Bin 0 -> 8902 bytes skins/ewq-inverted-colors.bmp | Bin 0 -> 52758 bytes skins/xp-flowers.bmp | Bin 0 -> 52758 bytes 5 files changed, 11 insertions(+), 8 deletions(-) create mode 100644 skins/classic.bmp create mode 100644 skins/ewq-inverted-colors.bmp create mode 100644 skins/xp-flowers.bmp diff --git a/flake.nix b/flake.nix index 8c2340b..b9d5a01 100644 --- a/flake.nix +++ b/flake.nix @@ -16,8 +16,9 @@ packages = forEachSupportedSystem ({ pkgs }: { default = pkgs.writeShellScriptBin "mineschemer" '' LD_LIBRARY_PATH="${pkgs.raylib}/lib" \ - ${pkgs.chez}/bin/scheme \ - --script ${pkgs.writeText "main.scm" (builtins.readFile ./main.scm)} \ + ${pkgs.chez}/bin/scheme \ + --script ${./main.scm} \ + ${./skins/classic.bmp} \ $@ ''; }); diff --git a/main.scm b/main.scm index abe441f..01f91be 100644 --- a/main.scm +++ b/main.scm @@ -690,7 +690,7 @@ ; draw-game-over as a separate thing would be nice ; the game shows -99 when (- num-mines num-flagged) is less than -99 -(define (run-game mines width height seed) +(define (run-game mines width height seed skin-path) (init-window (* width square-width) (* height square-width) "mineschemer") (set-target-fps 60) @@ -698,7 +698,7 @@ (newline) (random-seed seed) - (let ([skin (load-skin "xp-flowers.bmp")] + (let ([skin (load-texture skin-path)] [game (new-game mines width height)]) ;; (display skin) ;; (newline) @@ -734,10 +734,12 @@ (time-nanosecond (current-time))) (unless (and - (>= 4 (length (command-line-arguments)) 3) - (for-all number? (map string->number (command-line-arguments)))) + (pair? (command-line-arguments)) + (>= 4 (length (cdr (command-line-arguments))) 3) + (for-all number? (map string->number (cdr (command-line-arguments))))) (display "i need 3-4 numbers (MINES WIDTH HEIGHT SEED)") (exit 1)) -(apply run-game (append (map string->number (command-line-arguments)) - (list (get-nano-seed)))) +; i really need some actual arg parsing this is embarassing +(apply run-game (append (map string->number (cdr (command-line-arguments))) + (list (get-nano-seed) (car (command-line-arguments))))) diff --git a/skins/classic.bmp b/skins/classic.bmp new file mode 100644 index 0000000000000000000000000000000000000000..497fa2699534faa8518968bb9185d85d4307a281 GIT binary patch literal 8902 zcmeI1F>m8G6vr8$fZ+%@_@)9GZ@G@yvlRhuD$q~SuI?c?*}(zvX2(ms8S>IGMwZjA zB}36E-^V}~_y2#7PogBtu`LxXg1)mT@{#=M@$r$OazFm`=LaY91?dmC7PxM4ow@Ij zI`=c`|9GdDDDq_D9DZ&x(Hl}^-ShJ^?yT6#&uzEN;le+vkc?)O^;&N8r;}wPfcBiN z7}No06GI*!na)~_Yr7%ge@;_ibn2h&w{P1H=4*7<5og+-)8w~f_4M;-_SD)x$3C~I zz1p*W)cLx@R#KI}n!1+sp0mD_dFNhLmE$;5&ly0lb3(wA!r`1^y-x-N4DcH;k-|wF z5?~1kZh-xqg_AfO6gmS%k`zwj&?~fu&S3`ENu2+NJ^8*dX=P8bZ%j`1Pbs*c+QrXk z`sCNw1ar-y9Usq~+Jkd~U#BPg$JV=Fr>*8ISf{P*2{>=po{sjPllMb;J>Y!`8O=|R zXMM{kX9G@M4&28Ad$zZ7c&#M2x8=3-&zAHY?oD_MO_?8BB?eBzuIsStd{5O3Z%vbt za2~?0Ydzg7dcLP>2WMkk9ADNvEqIyDA2yb+RVl~09$I*N*m&q16`rHjp0m43I4;Xl zfC|nq$})gF$5$(-p^BVg21!E>Fj>~~9IIANLlrqv#ct~7jeF zs`P=gIXI|t4vh;Ad$Ox=P<@$Rp;|amO52Mn?ddtFOUoRX7!{2p6pVvxQ003Hhpn{E zk8233ki{NU(w?kGdxp@{)YPibP^vI4QYbz14;qW)jp?79Q?8N{9&r%I8jC#v$7PpM z=C0DVoG5ZGbx~xT6x8y#Tn3$u>+&kY&-*9EjNqsKfv@N;<-o1vl;&MHHtz@u7ww)e zZkAG|@xw8fIO-7}KVpw@)E;|;It!r%&g=2a*00C2#(D?qD`sGIu-@aiqx}ayqF6j@ ziHc+QL+#lyM_;H+H?XIW(fpw(RI51eCf=T+@pcq)HX)~46~3%yvTuZ%={hWxUef!j zgws{hPax-V{65$Gu^P2x0nB10Uyv)wUkn0`=4)+ML7NNZBzSy(#c#jO#=Jbp6Q#n z2V>-XF->H=nh#Uz!#0)={j=b~dsqBu6iM0`KdklhrIB2ZX9Ni1JWQL~_;?QN@lhJs zAeLNc8pOOtzDBjhPcZhnPt;?f-_%!y$9Ba}J%%;H!#LNN)U+v{X^+Kf(f;h5d5iNx z-yF|x%AR~D$#)geB*Bgp?n}BC6+4p6R~W0M_>s6O#ZNV^bQSpc(TJ_bYF!h?cGyef zxvSJZoA~z)iruUFd#*P~Rd06K7nk+ty@xB;CoGSb$A59ns+?RuUV@Xv z#>w?y@MEi))5Gzo7jJP&!dDsiSd;xFIDOpv2{=R8E6?4}8M1%C87~~hcF%?7k`ibC zxM&CMfkEQ#dpN<$KllL;n!i>}UR$ zos0`JCHC03px1Hfc<~@)UgwMx<@A4diHs}fzz+Jy?dRBhC7xsRZu2$l9mcWv@%D_D z7$)P;;wR?}`DcLUap}5%Kh-~#by36v`~x|F!)6jEcr5JE^~HIFh@P38qvzfc{3c>| ze;m&Bm3dfdle(?3}U)3AOp8t05UteBcu&;jp0QneC$MmZ1vp3hc|Mnij@-Gn4 z53wvzrc0&l=V=#bDf@N7`97Y0A?H`>l_MMWRN4^){a2Vndp`Pd9AjnB|H7g2y>Q}K zIWgmTI)X8XCbpyCuAG>ol5$Iqg1}Y(++0IGdH;w#HZB=h-9Khe43OBfg9E+zNA0D9 z>Kypl#>4sIV8uVzpS+)`AxG~_;h-JU@c5{DIz#i4O(aVW!9zaT6A`4{f_hSM_hHwd^JU;qFB literal 0 HcmV?d00001 diff --git a/skins/ewq-inverted-colors.bmp b/skins/ewq-inverted-colors.bmp new file mode 100644 index 0000000000000000000000000000000000000000..a59d0a0e88700e2a4a646d59b9196fbf6241f24e GIT binary patch literal 52758 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 B>16-_ literal 0 HcmV?d00001 diff --git a/skins/xp-flowers.bmp b/skins/xp-flowers.bmp new file mode 100644 index 0000000000000000000000000000000000000000..c5ea70f4d943288b0e724825f01710fa7d9b86df GIT binary patch literal 52758 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 F{{h0cYh3^U literal 0 HcmV?d00001