From 04d53972b6d2865cfd82d888c35f75fffd840ec7 Mon Sep 17 00:00:00 2001 From: Frank Duncan Date: Sat, 22 Apr 2017 17:38:04 -0500 Subject: [PATCH] CLI moved from curses to opengl --- .travis.yml | 4 +- README.md | 6 +- bin/all.lisp | 6 +- bin/buildlinuxexec.sh | 2 +- bin/buildosxexec.sh | 2 +- bin/buildtravisexec.sh | 4 +- bin/buildwindowsexec.sh | 7 +- bin/generatedocs.sh | 1 - deps/common-lisp/cl-charms-9bb94ef.tar.gz | Bin 124315 -> 0 bytes deps/common-lisp/clnl-gltk_0.1.tar.gz | Bin 0 -> 7355 bytes src/main/cli.lisp | 103 ------------ src/main/clnl.asd | 3 +- src/main/extensions/cli/cli.lisp | 1 - src/main/interface.lisp | 196 +++++++++++++++------- src/main/main.lisp | 1 - src/main/package.lisp | 10 -- 16 files changed, 153 insertions(+), 193 deletions(-) delete mode 100644 deps/common-lisp/cl-charms-9bb94ef.tar.gz create mode 100644 deps/common-lisp/clnl-gltk_0.1.tar.gz delete mode 100644 src/main/cli.lisp diff --git a/.travis.yml b/.travis.yml index d52b800..53ba83d 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,7 @@ addons: before_install: - export DISPLAY=:99.0 - /sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_99.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :99 -ac -screen 0 1280x1024x24 - - wget http://frank.kank.net/travissbcl/clnl/31bdd7b/$(git rev-parse HEAD)/travissbcl + - wget http://frank.kank.net/travissbcl/clnl/a66006d/$(git rev-parse HEAD)/travissbcl - chmod +x travissbcl script: - - ./travissbcl --script bin/all.lisp + - ./travissbcl --dynamic-space-size 3072 --script bin/all.lisp diff --git a/README.md b/README.md index 80ceb76..18cc7a9 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ If you'd like to run it from source, you're going to need a few things: * alexandria * babel * cffi - * cl-charms + * clnl-gltk * cl-opengl * cl-ppcre * ironclad @@ -31,7 +31,7 @@ If you'd like to run it from source, you're going to need a few things: * strictmath * ieee-floats -[bin/nl](bin/nl) and [bin/run.lisp](bin/run.lisp) have been added for convenience to run the netlogo instance. It boots up the ncurses command line with an opengl view. Not very many commands are implemented, but it should alert you to that. A good test is +[bin/nl](bin/nl) and [bin/run.lisp](bin/run.lisp) have been added for convenience to run the netlogo instance. Not very many commands are implemented, but it should alert you to that. A good test is ``` crt 10 @@ -46,7 +46,7 @@ In order to run on OSX, you may have to build your own sbcl instance with thread ## Running on Windows -In order to run on Windows, you will need to install a copy of 32bit sbcl with threads enabled, as well as putting a copy of freeglut and pdcurses in that directory. See [bin/buildwindowsexec.sh](bin/buildwindowsexec.sh) for how it's done when releasing/testing. +In order to run on Windows, you will need to install a copy of 32bit sbcl with threads enabled, as well as putting a copy of freeglut in that directory. See [bin/buildwindowsexec.sh](bin/buildwindowsexec.sh) for how it's done when releasing/testing. # Running in a common lisp instance diff --git a/bin/all.lisp b/bin/all.lisp index eca1162..a31d09c 100644 --- a/bin/all.lisp +++ b/bin/all.lisp @@ -19,17 +19,21 @@ (sb-ext:exit :code 1)) (format t "~c[1;32m- Style Passed!~c[0m~%" #\Esc #\Esc) +(sb-ext:gc :full t) + (when (not (find-package :docgen)) (asdf:load-system :docgen)) (format t "~%~c[1;33mChecking Docs~c[0m~%" #\Esc #\Esc) (when (not (docgen:pretty-print-validate-packages :clnl :clnl-parser :clnl-random :clnl-transpiler :clnl-nvm - :clnl-lexer :clnl-interface :clnl-cli :clnl-model :clnl-code-parser + :clnl-lexer :clnl-interface :clnl-model :clnl-code-parser :clnl-extensions :clnl-extension-cli)) (format t "~c[1;31mFailed doc check!~c[0m~%" #\Esc #\Esc) (sb-ext:exit :code 1)) (format t "~c[1;32m- Doc Check Passed!~c[0m~%" #\Esc #\Esc) +(sb-ext:gc :full t) + (format t "~c[1;30m--------------~c[0m~%" #\Esc #\Esc) (format t "~c[1;32mBuild Success!~c[0m~%" #\Esc #\Esc) (sb-ext:exit :code 0) diff --git a/bin/buildlinuxexec.sh b/bin/buildlinuxexec.sh index d13d6fe..c384097 100755 --- a/bin/buildlinuxexec.sh +++ b/bin/buildlinuxexec.sh @@ -15,6 +15,7 @@ cwd=$PWD mkdir -p tmp/deps/ ( cd tmp/deps && + tar zxf ../../deps/common-lisp/clnl-gltk_0.1.tar.gz && tar zxf ../../deps/common-lisp/3b-cl-opengl-993d627.tar.gz && tar zxf ../../deps/common-lisp/alexandria-b1c6ee0.tar.gz && tar zxf ../../deps/common-lisp/babel_0.5.0.tar.gz && @@ -24,7 +25,6 @@ mkdir -p tmp/deps/ tar zxf ../../deps/common-lisp/mt19937-latest.tar.gz && tar zxf ../../deps/common-lisp/nibbles-v0.12.tar.gz && tar zxf ../../deps/common-lisp/trivial-features_0.8.tar.gz && - tar zxf ../../deps/common-lisp/cl-charms-9bb94ef.tar.gz && tar zxf ../../deps/common-lisp/ieee-floats-92e481a.tar.gz && tar zxf ../../deps/common-lisp/strictmath_0.1.tar.gz ) diff --git a/bin/buildosxexec.sh b/bin/buildosxexec.sh index 1d9351b..88a451d 100755 --- a/bin/buildosxexec.sh +++ b/bin/buildosxexec.sh @@ -19,6 +19,7 @@ cwd=$PWD mkdir -p tmp/deps/ ( cd tmp/deps && + tar zxf ../../deps/common-lisp/clnl-gltk_0.1.tar.gz && tar zxf ../../deps/common-lisp/3b-cl-opengl-993d627.tar.gz && tar zxf ../../deps/common-lisp/alexandria-b1c6ee0.tar.gz && tar zxf ../../deps/common-lisp/babel_0.5.0.tar.gz && @@ -28,7 +29,6 @@ mkdir -p tmp/deps/ tar zxf ../../deps/common-lisp/mt19937-latest.tar.gz && tar zxf ../../deps/common-lisp/nibbles-v0.12.tar.gz && tar zxf ../../deps/common-lisp/trivial-features_0.8.tar.gz && - tar zxf ../../deps/common-lisp/cl-charms-9bb94ef.tar.gz && tar zxf ../../deps/common-lisp/ieee-floats-92e481a.tar.gz && tar zxf ../../deps/common-lisp/strictmath_0.1.tar.gz ) diff --git a/bin/buildtravisexec.sh b/bin/buildtravisexec.sh index 5f8b14b..cdf9076 100755 --- a/bin/buildtravisexec.sh +++ b/bin/buildtravisexec.sh @@ -24,8 +24,8 @@ mkdir -p tmp/deps/ tar zxf ../../deps/common-lisp/mt19937-latest.tar.gz && tar zxf ../../deps/common-lisp/nibbles-v0.12.tar.gz && tar zxf ../../deps/common-lisp/trivial-features_0.8.tar.gz && - tar zxf ../../deps/common-lisp/cl-charms-9bb94ef.tar.gz && tar zxf ../../deps/common-lisp/style-checker_0.1.tar.gz && + tar zxf ../../deps/common-lisp/clnl-gltk_0.1.tar.gz && tar zxf ../../deps/common-lisp/docgen_0.3.tar.gz && tar zxf ../../deps/common-lisp/ieee-floats-92e481a.tar.gz && tar zxf ../../deps/common-lisp/strictmath_0.1.tar.gz @@ -38,9 +38,9 @@ SBCL_HOME="" tmp/sbcl/bin/sbcl --core tmp/sbcl/lib/sbcl/sbcl.core \ --eval "(asdf:load-system :cl-ppcre)" \ --eval "(asdf:load-system :mt19937)" \ --eval "(asdf:load-system :ironclad)" \ + --eval "(asdf:load-system :clnl-gltk)" \ --eval "(asdf:load-system :cl-opengl)" \ --eval "(asdf:load-system :cl-glut)" \ - --eval "(asdf:load-system :cl-charms)" \ --eval "(asdf:load-system :style-checker)" \ --eval "(asdf:load-system :docgen)" \ --eval "(asdf:load-system :strictmath)" \ diff --git a/bin/buildwindowsexec.sh b/bin/buildwindowsexec.sh index a1d2c28..6f67f3f 100755 --- a/bin/buildwindowsexec.sh +++ b/bin/buildwindowsexec.sh @@ -18,14 +18,10 @@ if [ ! -e "$sbcl_dir/freeglut.dll" ] ; then exit 1 fi -if [ ! -e "$sbcl_dir/pdcurses.dll" ] ; then - echo "Please copy deps/windows/pdcurses.dll into $sbcl_dir" - exit 1 -fi - mkdir -p tmp/deps/ ( cd tmp/deps && + tar zxf ../../deps/common-lisp/clnl-gltk_0.1.tar.gz && tar zxf ../../deps/common-lisp/3b-cl-opengl-993d627.tar.gz && tar zxf ../../deps/common-lisp/alexandria-b1c6ee0.tar.gz && tar zxf ../../deps/common-lisp/babel_0.5.0.tar.gz && @@ -35,7 +31,6 @@ mkdir -p tmp/deps/ tar zxf ../../deps/common-lisp/mt19937-latest.tar.gz && tar zxf ../../deps/common-lisp/nibbles-v0.12.tar.gz && tar zxf ../../deps/common-lisp/trivial-features_0.8.tar.gz && - tar zxf ../../deps/common-lisp/cl-charms-9bb94ef.tar.gz && tar zxf ../../deps/common-lisp/ieee-floats-92e481a.tar.gz && tar zxf ../../deps/common-lisp/strictmath_0.1.tar.gz ) diff --git a/bin/generatedocs.sh b/bin/generatedocs.sh index c445a35..e88c257 100755 --- a/bin/generatedocs.sh +++ b/bin/generatedocs.sh @@ -13,7 +13,6 @@ generatedoc() { generatedoc :clnl > wiki/DocsMain.md generatedoc :clnl-nvm > wiki/DocsNvm.md generatedoc :clnl-interface > wiki/DocsOtherPackages.md -generatedoc :clnl-cli > wiki/DocsOtherPackages.md generatedoc :clnl-lexer >> wiki/DocsOtherPackages.md generatedoc :clnl-parser >> wiki/DocsOtherPackages.md generatedoc :clnl-transpiler >> wiki/DocsOtherPackages.md diff --git a/deps/common-lisp/cl-charms-9bb94ef.tar.gz b/deps/common-lisp/cl-charms-9bb94ef.tar.gz deleted file mode 100644 index 413434000dd59c2e66f01315201e7926cd38c59e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 124315 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⋘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 z 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 diff --git a/deps/common-lisp/clnl-gltk_0.1.tar.gz b/deps/common-lisp/clnl-gltk_0.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..1d75decca3d41ee27f835b220ba6a2e2fff3717f GIT binary patch literal 7355 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 RESULT - -ARGUMENTS AND VALUES: - - RESULT: undefined, should never get here - -DESCRIPTION: - - RUN runs the command line interface in the running terminal. - - This should become the main REPL for a CLNL program. If you want to use you're - own REPL, you should use the rest of the functions in CLNL to recreate it." - (initscr) - (init-interface) - (loop - :for str := (cffi:with-foreign-pointer-as-string (str 255) (wgetnstr *cli* str 255)) - :while str - :do (print-command-and-response str (execute str))) - (endwin) - (sb-ext:exit :abort t)) - -(defun execute (str) - (handler-case - (with-output-to-string (*standard-output*) - (clnl:run-commands str)) - (error (e) (format nil "Ok, something went wrong: ~A~%Try :help" e)))) - -; for ui, we need to do at a minimum: -; - cli, first pass, read things in, bottom of the screen, -; - just use getstr with a limit to be something like screen width - 10 for now -; - print what the user inputted, dont' bomb on error messages, give target for show -; - for overly long printing, go ahead and truncate with "..." -; - for info, this should put out a simple message about the program, maintainer, purpose, links, etc - -(defun init-interface () - (let - ((cli-height (min 10 (floor (* *lines* .3))))) - (setup-info (- *lines* cli-height) *cols*) - (setup-cli cli-height *cols* (- *lines* cli-height)))) - -(defun refresh-cli () - (wmove *cli* (1- (car *cli-dims*)) 0) - (whline *cli* (char-code #\Space) (cadr *cli-dims*)) - (mvwprintw *cli* (1- (car *cli-dims*)) 0 ">") - (wmove *cli* (1- (car *cli-dims*)) 2) - (wrefresh *cli*)) - -(defun print-command-and-response (command response) - (loop - :for i :from 1 :to (- (car *cli-dims*) 3) - :do (wmove *cli* i 0) - :do (whline *cli* (char-code #\Space) (cadr *cli-dims*))) - (mvwprintw *cli* 1 0 (format nil "> ~A" command)) - (mvwprintw *cli* 3 0 (format nil "~A" response)) - (refresh-cli)) - -(defun setup-cli (height width top) - (setf *cli* (newwin height width top 0)) - (setf *cli-dims* (list height width)) - (whline *cli* 0 (cadr *cli-dims*)) - (wmove *cli* (- (car *cli-dims*) 2) 0) - (whline *cli* (char-code #\.) (cadr *cli-dims*)) - (wmove *cli* (1- (car *cli-dims*)) 2) - (wrefresh *cli*) - (refresh-cli)) - -(defun setup-info (num-tall num-wide) - (let* - ((info " - / \\ - / \\ Welcome to CLNL version ~A! - / \\ - /_______\\ - - CLNL is an experiment at creating an alternate - implementation of NetLogo. - - You can enter in various netlogo commands below, - or use :q to quit the program. - - See http://github.com/frankduncan/clnl for more - information about CLNL and to keep apprised of - any updates that may happen.") - (info-height (length (cl-ppcre:split "\\n" info))) - (info-width (apply #'max (mapcar #'length (cl-ppcre:split "\\n" info))))) - (setf *info* (newwin - (+ 3 info-height) - (+ 2 info-width) - (max 0 (floor (- num-tall info-height) 2)) - (max 0 (floor (- num-wide info-width) 2)))) - (mvwprintw *info* 1 0 - (format nil info - (asdf:component-version (asdf:find-system :clnl)))) - (box *info* 0 0) - (wrefresh *info*))) diff --git a/src/main/clnl.asd b/src/main/clnl.asd index e70faf0..1158f65 100644 --- a/src/main/clnl.asd +++ b/src/main/clnl.asd @@ -25,6 +25,5 @@ (:file "transpile") (:file "random") (:file "interface") - (:file "cli") (:file "main")) - :depends-on #-travis(:cl-ppcre :mt19937 :cl-opengl :cl-glu :cl-glut :cl-charms :ieee-floats :strictmath) #+travis nil) + :depends-on #-travis(:cl-ppcre :mt19937 :cl-opengl :cl-glu :cl-glut :ieee-floats :strictmath :clnl-gltk) #+travis nil) diff --git a/src/main/extensions/cli/cli.lisp b/src/main/extensions/cli/cli.lisp index 3ca0983..4a44546 100644 --- a/src/main/extensions/cli/cli.lisp +++ b/src/main/extensions/cli/cli.lisp @@ -16,7 +16,6 @@ DESCRIPTION: (list :name :help :type :command :args '((:token :optional)) :precedence 20 :func #'help))) (defun shut-down () - (cl-charms/low-level:endwin) (sb-ext:exit :abort t)) (defun load-file (file) diff --git a/src/main/interface.lisp b/src/main/interface.lisp index 88dfac5..b18ca5a 100644 --- a/src/main/interface.lisp +++ b/src/main/interface.lisp @@ -5,9 +5,14 @@ (defvar *glut-window-opened* nil) (defvar *dimensions* nil) +(defvar *window-width* 1024) +(defvar *window-height* 768) (defvar *default-shapes* nil) +(defvar *textbox* nil) +(defvar *inputbox* nil) + ; For now, shapes can live in here ; header is ; * name @@ -214,70 +219,130 @@ (nth (floor color 10) *colors*)))) (defun render-scene () - (gl:clear :color-buffer-bit :depth-buffer-bit) (gl:matrix-mode :projection) - (gl:load-identity) - (gl:ortho - (floor (* (- (getf *dimensions* :xmin) 0.5) (patch-size))) - (floor (* (+ (getf *dimensions* :xmax) 0.5) (patch-size))) - (floor (* (- (getf *dimensions* :ymin) 0.5) (patch-size))) - (floor (* (+ (getf *dimensions* :ymax) 0.5) (patch-size))) - 0 5000) - (gl:matrix-mode :modelview) - (gl:load-identity) - (destructuring-bind (turtles patches) (clnl-nvm:current-state) - (mapcar - (lambda (patch) - (let - ((color (nl-color->rgb (getf patch :color)))) - (gl:color (car color) (cadr color) (caddr color))) - (gl:with-pushed-matrix - (gl:translate (* (getf patch :xcor) (patch-size)) (* (getf patch :ycor) (patch-size)) 0) - (gl:translate (floor (* -.5d0 (patch-size))) (floor (* -.5d0 (patch-size))) 0) - (gl:scale (patch-size) (patch-size) 1) - (gl:call-list *patch-list*))) - patches) - (mapcar - (lambda (turtle) - (let - ((color (nl-color->rgb (getf turtle :color)))) - (gl:color (car color) (cadr color) (caddr color))) + (gl:with-pushed-matrix + (gl:load-identity) + (gl:ortho + (floor (* (- (getf *dimensions* :xmin) 0.5) (patch-size))) + (floor (* (+ (getf *dimensions* :xmax) 0.5) (patch-size))) + (floor (* (- (getf *dimensions* :ymin) 0.5) (patch-size))) + (floor (* (+ (getf *dimensions* :ymax) 0.5) (patch-size))) + 0 5000) + (gl:matrix-mode :modelview) + (gl:with-pushed-matrix + (gl:load-identity) + (destructuring-bind (turtles patches) (clnl-nvm:current-state) (mapcar - (lambda (x-modification y-modification) + (lambda (patch) + (let + ((color (nl-color->rgb (getf patch :color)))) + (gl:color (car color) (cadr color) (caddr color))) (gl:with-pushed-matrix - (gl:translate (* (getf turtle :xcor) (patch-size)) (* (getf turtle :ycor) (patch-size)) 0) - (gl:translate x-modification y-modification 0) - (let - ((turtle-list (find (getf turtle :shape) *turtle-lists* :test #'string= :key #'car))) - (when turtle-list - (when (second turtle-list) - (gl:rotate (getf turtle :heading) 0 0 -1)) - (gl:scale (patch-size) (patch-size) 1) - (gl:scale (getf turtle :size) (getf turtle :size) 1) - (gl:call-list (third turtle-list)))))) - (list 0 (1- (world-width-in-pixels)) (- (1- (world-width-in-pixels))) 0 0) - (list 0 0 0 (1- (world-height-in-pixels)) (- (1- (world-height-in-pixels)))))) - turtles)) + (gl:translate (* (getf patch :xcor) (patch-size)) (* (getf patch :ycor) (patch-size)) 0) + (gl:translate (floor (* -.5d0 (patch-size))) (floor (* -.5d0 (patch-size))) 0) + (gl:scale (patch-size) (patch-size) 1) + (gl:call-list *patch-list*))) + patches) + (mapcar + (lambda (turtle) + (let + ((color (nl-color->rgb (getf turtle :color)))) + (gl:color (car color) (cadr color) (caddr color))) + (mapcar + (lambda (x-modification y-modification) + (gl:with-pushed-matrix + (gl:translate (* (getf turtle :xcor) (patch-size)) (* (getf turtle :ycor) (patch-size)) 0) + (gl:translate x-modification y-modification 0) + (let + ((turtle-list (find (getf turtle :shape) *turtle-lists* :test #'string= :key #'car))) + (when turtle-list + (when (second turtle-list) + (gl:rotate (getf turtle :heading) 0 0 -1)) + (gl:scale (patch-size) (patch-size) 1) + (gl:scale (getf turtle :size) (getf turtle :size) 1) + (gl:call-list (third turtle-list)))))) + (list 0 (1- (world-width-in-pixels)) (- (1- (world-width-in-pixels))) 0 0) + (list 0 0 0 (1- (world-height-in-pixels)) (- (1- (world-height-in-pixels)))))) + turtles))) + (gl:matrix-mode :projection)) (gl:flush)) +(defun render-widgets () + (clnl-gltk:render *textbox*) + (clnl-gltk:render *inputbox*)) + +(defun render () + (gl:clear :color-buffer-bit :depth-buffer-bit) + (let + ((width (world-width-in-pixels)) + (height (world-height-in-pixels))) + (gl:viewport 0 0 *window-width* *window-height*) + + (gl:matrix-mode :projection) + (gl:with-pushed-matrix + (gl:load-identity) + (gl:ortho 0 *window-width* 0 *window-height* 0 5000) + (render-widgets) + + (gl:begin :lines) + (gl:vertex (- *window-width* width 10) (- *window-height* height 10)) + (gl:vertex (- *window-width* width 10) (- *window-height* 9)) + + (gl:vertex (- *window-width* width 10) (- *window-height* 9)) + (gl:vertex (- *window-width* 9) (- *window-height* 9)) + + (gl:vertex (- *window-width* 9) (- *window-height* 9)) + (gl:vertex (- *window-width* 9) (- *window-height* height 10)) + + (gl:vertex (- *window-width* 9) (- *window-height* height 10)) + (gl:vertex (- *window-width* width 10) (- *window-height* height 10)) + (gl:end)) + + (gl:viewport (- *window-width* width 10) (- *window-height* height 10) width height) + (render-scene))) + (defun display () - (render-scene) + (render) (cl-glut:swap-buffers)) (defun idle () (cl-glut:post-redisplay)) (defun close-func () + ;(glut:leave-main-loop) (sb-ext:exit :abort t)) (defun reshape (width height) (when (and (/= 0 width) (/= 0 height)) - (gl:viewport 0 0 width height))) + (setf *window-width* width) + (setf *window-height* height) + (let + ((box-width (truncate (- width 12) clnl-gltk:*font-width*))) + (clnl-gltk:resize *textbox* box-width 12) + (clnl-gltk:resize *inputbox* box-width 1)))) + +(defun execute (str) + (handler-case + (with-output-to-string (*standard-output*) + (clnl:run-commands str)) + (error (e) (format nil "Ok, something went wrong: ~A~%Try :help" e)))) + +(defun key-pressed (key x y) + (declare (ignore x y)) + (if (eql key 13) + (let* + ((cmd (clnl-gltk:value *inputbox*)) + (resp (execute cmd))) + (setf (clnl-gltk:textbox-text *textbox*) (format nil "> ~A~%~%~A" cmd resp)) + (clnl-gltk:clear *inputbox*)) + (clnl-gltk:key-pressed *inputbox* key))) (cffi:defcallback display :void () (display)) (cffi:defcallback idle :void () (idle)) (cffi:defcallback close-func :void () (close-func)) (cffi:defcallback reshape :void ((width :int) (height :int)) (reshape width height)) +(cffi:defcallback key-pressed :void ((key :uchar) (x :int) (y :int)) (key-pressed key x y)) +(cffi:defcallback special-key-pressed :void ((key glut:special-keys) (x :int) (y :int)) (key-pressed key x y)) (defun set-turtle-lists () (setf @@ -308,6 +373,20 @@ (gl:vertex 1 0 0) (gl:end))) +(defvar *initial-banner* + " + / \\ + / \\ Welcome to CLNL version ~A! + / \\ + /_______\\ + +CLNL is an experiment at creating an alternate implementation of NetLogo. + +You can enter in various netlogo commands below, or use :q to quit the program. + +See http://github.com/frankduncan/clnl for more information about CLNL and to +keep apprised of any updates that may happen.") + (defun initialize (&key dims) "INITIALIZE &key DIMS => RESULT @@ -328,9 +407,7 @@ DESCRIPTION: the interface lives. From here, one can go into headless or running mode, but for certain things this interface will still need to act, and also allows for bringing up and taking down of visual elements." - (setf *dimensions* dims) - (when *glut-window-opened* - (cl-glut:reshape-window (world-width-in-pixels) (world-height-in-pixels)))) + (setf *dimensions* dims)) (defun run () "RUN => RESULT @@ -350,9 +427,7 @@ DESCRIPTION: ; want to investigate until simply ignoring them becomes a problem. (sb-int:with-float-traps-masked (:invalid :inexact :divide-by-zero :overflow :underflow) (cl-glut:init) - (cl-glut:init-window-size - (world-width-in-pixels) - (world-height-in-pixels)) + (cl-glut:init-window-size *window-width* *window-height*) (cl-glut:init-display-mode :double :rgba) (cl-glut:create-window "CLNL Test Window") (setf *glut-window-opened* t) @@ -361,8 +436,20 @@ DESCRIPTION: (glut:reshape-func (cffi:callback reshape)) (cl-glut:idle-func (cffi:get-callback 'idle)) (cl-glut:close-func (cffi:get-callback 'close-func)) + (cl-glut:keyboard-func (cffi:get-callback 'key-pressed)) + (cl-glut:special-func (cffi:get-callback 'special-key-pressed)) + (gl:depth-func :lequal) + (gl:blend-func :src-alpha :one-minus-src-alpha) + (gl:enable :blend) (set-turtle-lists) (set-patch-list) + (clnl-gltk:setup) + (setf *textbox* + (clnl-gltk:textbox + 5 (+ clnl-gltk:*font-height* 14) + 10 12 + (format nil *initial-banner* (asdf:component-version (asdf:find-system :clnl))))) + (setf *inputbox* (clnl-gltk:inputbox 5 5 10)) (cl-glut:main-loop))) (defun patch-size () (getf *dimensions* :patch-size)) @@ -402,16 +489,7 @@ DESCRIPTION: (let ((fbo (first (gl:gen-framebuffers 1))) (render-buf (first (gl:gen-renderbuffers 1))) - ;(width - ; (floor (* (patch-size) (1+ (- - ; (getf *dimensions* :ymax) - ; (getf *dimensions* :ymin)))))) - ;(height - ; (floor (* (patch-size) (1+ (- (getf *world-dims* :xmax) (getf *world-dims* :xmin)))))) - ; (floor (* (patch-size) (1+ (- - ; (getf *dimensions* :xmax) - ; (getf *dimensions* :xmin))))) - (width (world-width-in-pixels)) ; Hard coded for now, yay v1 (if you see this comment in a year, please cry for me) + (width (world-width-in-pixels)) (height (world-height-in-pixels))) (gl:bind-framebuffer :framebuffer fbo) (gl:bind-renderbuffer :renderbuffer render-buf) diff --git a/src/main/main.lisp b/src/main/main.lisp index b0d82eb..42ec55b 100644 --- a/src/main/main.lisp +++ b/src/main/main.lisp @@ -25,7 +25,6 @@ DESCRIPTION: RUN starts up the CLNL system." (boot) - (sb-thread:make-thread #'clnl-cli:run) (clnl-interface:run)) (defvar *callback* nil) diff --git a/src/main/package.lisp b/src/main/package.lisp index 73ae492..2f2c5c6 100644 --- a/src/main/package.lisp +++ b/src/main/package.lisp @@ -83,16 +83,6 @@ The NetLogo view interface using opengl. This is responsible for taking the current state of the enging and displaying it. Will not house any interface components.")) -(defpackage #:clnl-cli - (:use :common-lisp :cl-charms/low-level) - (:export #:run) - (:documentation - "CLNL CLI - -The main NetLogo interface for interacting with the program. Since CLNL is -a command line interface program with a view for display purposes only, this -is where all the features that the traditional NetLogo UI lives.")) - (defpackage #:clnl-model (:use :common-lisp) (:export #:default-model #:read-from-nlogo #:world-dimensions #:widget-globals #:code) -- 2.25.1