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