##// END OF EJS Templates
Bugfixes, remaining font stuff
naryl -
r33:7e7dc5dd default
parent child Browse files
Show More
@@ -1,6 +1,7 b''
1
1
2 # start
2 # start
3 USEHTML=1
3 USEHTML=1
4 BCOLOR = RGB(255, 255, 255)
4 '<center><font size="20" color="#FF0000" face="Times New Roman"><b>Текстовый квест</b></font></center><br>'
5 '<center><font size="20" color="#FF0000" face="Times New Roman"><b>Текстовый квест</b></font></center><br>'
5 ' <b>Ваша цель</b> - зарабатывать <i>деньги</i>, покупать на них <i>подарки</i> и дарить своим <i>близким</i>.'
6 ' <b>Ваша цель</b> - зарабатывать <i>деньги</i>, покупать на них <i>подарки</i> и дарить своим <i>близким</i>.'
6 ACT '<b>Начать игру</b>':GOTO 'Дом'
7 ACT '<b>Начать игру</b>':GOTO 'Дом'
@@ -130,3 +130,7 b''
130 pointer-events: none;
130 pointer-events: none;
131 cursor: default;
131 cursor: default;
132 }
132 }
133
134 .qsp-objs li.qsp-obj-selected {
135 background-color: blue;
136 }
@@ -18,7 +18,7 b''
18 `(+ "javascript:" (inline-call ,func ,@args)))
18 `(+ "javascript:" (inline-call ,func ,@args)))
19
19
20 (defpsmacro inline-call (func &rest args)
20 (defpsmacro inline-call (func &rest args)
21 `(+ ,func
21 `(+ ',func
22 "(\""
22 "(\""
23 ,(first args)
23 ,(first args)
24 ,@(loop :for arg :in (cdr args)
24 ,@(loop :for arg :in (cdr args)
@@ -35,11 +35,9 b''
35 (resolve)))))
35 (resolve)))))
36 ,@body))))
36 ,@body))))
37
37
38 (defvar serv-vars (create))
39
40 (defpsmacro define-serv-var (name (slot value &optional index) &body body)
38 (defpsmacro define-serv-var (name (slot value &optional index) &body body)
41 (setf name (string-upcase (symbol-name name)))
39 (setf name (string-upcase (symbol-name name)))
42 `(setf (getprop serv-vars name)
40 `(setf (getprop serv-vars ,name)
43 (create :name ,name
41 (create :name ,name
44 :slot ,slot
42 :slot ,slot
45 :body (lambda (,value ,@(when index (list index)))
43 :body (lambda (,value ,@(when index (list index)))
@@ -21,11 +21,10 b''
21 "</a>"))
21 "</a>"))
22
22
23 (defun make-obj (title img selected)
23 (defun make-obj (title img selected)
24 (+ "<li>"
24 (+ "<li onclick='" (inline-call select-obj title img) "'>"
25 "<a href='" (href-call select-obj title img) "'"
25 "<a class='qsp-obj" (if selected " qsp-obj-selected" "") "'>"
26 "class='qsp-obj" (if selected " qsp-obj-selected" "") "'>"
27 (if img (+ "<img src='" img "'>") "")
26 (if img (+ "<img src='" img "'>") "")
28 obj
27 title
29 "</a>"))
28 "</a>"))
30
29
31 (defun make-menu-delimiter ()
30 (defun make-menu-delimiter ()
@@ -55,6 +54,7 b''
55 ;; Close image on click
54 ;; Close image on click
56 (setf (@ (by-id "qsp-image-container") onclick)
55 (setf (@ (by-id "qsp-image-container") onclick)
57 show-image)
56 show-image)
57 ;; Enter in input field
58 (setf (@ (get-frame :input) onkeyup)
58 (setf (@ (get-frame :input) onkeyup)
59 on-input-key)
59 on-input-key)
60 ;; Close the dropdown on any click
60 ;; Close the dropdown on any click
@@ -196,7 +196,7 b''
196
196
197 (defun select-act (title)
197 (defun select-act (title)
198 (loop :for (k v) :of (root acts)
198 (loop :for (k v) :of (root acts)
199 (setf (getprop v :selected) nil))
199 :do (setf (getprop v :selected) nil))
200 (setf (getprop (root acts) title :selected) t)
200 (setf (getprop (root acts) title :selected) t)
201 (call-serv-loc "ONACTSEL"))
201 (call-serv-loc "ONACTSEL"))
202
202
@@ -290,7 +290,7 b''
290 (chain (ensure-var name) (set index slot value))
290 (chain (ensure-var name) (set index slot value))
291 (let ((serv-var (getprop serv-vars name)))
291 (let ((serv-var (getprop serv-vars name)))
292 (when serv-var
292 (when serv-var
293 (funcall (@ serv-var :func)
293 (funcall (@ serv-var :body)
294 (get-var name index (@ serv-var :slot))
294 (get-var name index (@ serv-var :slot))
295 index)))
295 index)))
296 (void))
296 (void))
@@ -339,16 +339,16 b''
339
339
340 (defun select-obj (title img)
340 (defun select-obj (title img)
341 (loop :for (k v) :of (root objs)
341 (loop :for (k v) :of (root objs)
342 (setf (getprop v :selected) nil))
342 :do (setf (getprop v :selected) nil))
343 (setf (getprop (root objs) title :selected) t)
343 (setf (getprop (root objs) title :selected) t)
344 (call-serv-loc "ONOBJSEL" title img))
344 (call-serv-loc "ONOBJSEL" title img))
345
345
346 (defun update-objs ()
346 (defun update-objs ()
347 (let ((elt (by-id "qsp-objs")))
347 (let ((elt (by-id "qsp-objs")))
348 (setf (inner-html elt) "<ul>")
348 (setf (inner-html elt) "<ul>")
349 (loop :for obj :in (root objs)
349 (loop :for (name obj) :of (root objs)
350 :do (incf (inner-html elt)
350 :do (incf (inner-html elt)
351 (make-obj obj)))
351 (make-obj name (@ obj :img) (@ obj :selected))))
352 (incf (inner-html elt) "</ul>")))
352 (incf (inner-html elt) "</ul>")))
353
353
354 ;;; Menu
354 ;;; Menu
@@ -412,9 +412,9 b''
412 (setf (@ img style display) "hidden")))))
412 (setf (@ img style display) "hidden")))))
413
413
414 (defun rgb-string (rgb)
414 (defun rgb-string (rgb)
415 (let ((red (rgb >> 16))
415 (let ((red (ps::>> rgb 16))
416 (green (& (rgb >> 8) 255))
416 (green (logand (ps::>> rgb 8) 255))
417 (blue (& rgb 255)))
417 (blue (logand rgb 255)))
418 (flet ((rgb-to-hex (comp)
418 (flet ((rgb-to-hex (comp)
419 (let ((hex (chain (*number comp) (to-string 16))))
419 (let ((hex (chain (*number comp) (to-string 16))))
420 (if (< (length hex) 2)
420 (if (< (length hex) 2)
@@ -514,6 +514,8 b''
514
514
515 ;;; Special variables
515 ;;; Special variables
516
516
517 (defvar serv-vars (create))
518
517 (define-serv-var backimage (:str path)
519 (define-serv-var backimage (:str path)
518 (setf (@ (get-frame :main) style background-image) path))
520 (setf (@ (get-frame :main) style background-image) path))
519
521
@@ -526,3 +528,9 b''
526 (define-serv-var lcolor (:num color)
528 (define-serv-var lcolor (:num color)
527 (setf (@ (get-frame :style) inner-text)
529 (setf (@ (get-frame :style) inner-text)
528 (+ "a { color: " (rgb-string color) ";}")))
530 (+ "a { color: " (rgb-string color) ";}")))
531
532 (define-serv-var fsize (:num size)
533 (setf (@ (get-frame :all) style font-size) size))
534
535 (define-serv-var fname (:str font-name)
536 (setf (@ (get-frame :all) style font-family) (+ font-name ",serif")))
@@ -17,10 +17,10 b''
17 ;;; 3expr
17 ;;; 3expr
18
18
19 (defpsmacro obj (name)
19 (defpsmacro obj (name)
20 `(funcall (root objs includes) ,name))
20 `(in ,name (root objs)))
21
21
22 (defpsmacro loc (name)
22 (defpsmacro loc (name)
23 `(funcall (root locs includes) ,name))
23 `(in ,name (root locs)))
24
24
25 (defpsmacro no (arg)
25 (defpsmacro no (arg)
26 `(- -1 ,arg))
26 `(- -1 ,arg))
@@ -18,7 +18,7 b''
18 keys includes
18 keys includes
19 has-own-property
19 has-own-property
20 ;; api
20 ;; api
21 document get-element-by-id
21 document get-element-by-id get-elements-by-tag-name
22 onclick onchange
22 onclick onchange
23 atob btoa split
23 atob btoa split
24 alert prompt
24 alert prompt
@@ -67,3 +67,8 b''
67 nil
67 nil
68 (funcall *old-return-result-of* tag form)))
68 (funcall *old-return-result-of* tag form)))
69 (export 'void)
69 (export 'void)
70
71 ;;; Bitwise stuff
72 ;; No idea why these are not exported
73 (export '<<)
74 (export '>>)
General Comments 0
You need to be logged in to leave comments. Login now