(eval-when (eval compile) :optimize :speed 3 :space 1 :safety 0 (require 'MyTraps) (require 'MyOuickdraw)) (preload-all-functions) (purge-functions NIL) (defobject *color-window* *color-window-mixin* *window*) (defobject *fenestre* (kindof *window*)) (defobject *mingzi* (kindof *view*)) (defobject *text-window*) (defobject *text-view*) (defobject *about-agri*) (defobject *dabord*) (defvar my-pict-ptr) (defvar this-pict-ptr) (setf this-pict-ptr nil) (defvar end-pict-rect) (defvar fenestrect) (defvar about-rect) (defvar shot)(defvar async)(defvar click)(defvar storm)(setf async (not T))(defvar move-pt) (defvar temp-char-1 0)(defvar temp-char-2 0)(defvar temp-char-3 0) (defvar x1 0)(defvar yl 0)(defvar z1 0)(defvar temp-char 0)(defvar new 0) (defvar this-num 0)(defvar that-num 0)(defvar returns O)(defvar spot2 4) (defvar little 16)(defvar lot 256)(defvar spot 4)(defvar bux) (defvar print-1-char)(defvar print-2-char)(defvar print-3-char) (defvar p-q 4097)(defvar e-2 ll)(defvar where)(defvar the-text) (defvar num-cells 0)(defvar cell-length 3)(defvar count O)(defvar per-char O) (defvar make-1-char)(defvar make-2-char)(defvar make-3-char) (defvar templ)(defvar temp2)(defvar temp3)(defvar cell) ' (defvar TextW 468)(defvar TextH 272)(defvar head)(defvar tail) (defvar out-char)(defvar local)(defvar elf) (defvar TextLeft (+ (/ (- *screen-width* TextW) 2) 22))(defvar end-pict(defvar noise) (defvar TextPos (/ (- *screen-width* TextW) 2))(defvar where O) (defvar TextTop (+ (/ ( - *screen-height* TextH) 2) 20)) (defvar TextRight (- *screen-width* TextLeft)) (defvar TextBottom ( - *screen-height* TextTop)) (defvar TextPanel (make-string-output-stream)) (defvar dabordh 360)(defvar dabordv 240)(defvar dabordTop 58) (defvar dabordLeft (/ (- *screen-width* dabordh) 2)) (defvar scrvar 15)(defvar retvar 19)(defvar trash)(defvar done) (defvar discus)(setf move-pt 14)(defvar trash)(defvar the-text) (defobfun read-the () (catch-error (catch-abort (without-interrupts (_HideCursor) (ask *apple-menu* (menu-item-disable)) (setq *fenestre* (oneof *color-window* :window-position #9 (0 0) :window-title "Aggrippa" :window-size (make-point *screen-width* *screen-height*) :window-layer 0 :window-font '( "Helvetica" 14 :plain) :window-type :single-edge-box)) (setq *mingzi* (oneof *view* :view-position #9(0 0) :view-size (make-point *screen-width* *screen-height*) :view-container *fenestre*)) (setf fenestrect (make-record :rect)) (rset fenestrect :rect.topLeft #9(0 0)) (rset fenestrect :rect.bottomRight (make-point *screen-width* *screen-height*)) (ask *mingzi* (fill-rect *gray-pattern* fenestrect)) (defobfun (view-draw-contents *fenestre*)() (if (not (eq this-pict-ptr nil)) (draw-picture thls-pict-ptr fenestrect) (progn (ask *mingzi* (set-pen-pattern *gray-pattern*)) (paint-rect fenestrect))) (usual-view-draw-contents)) (setf *about-agri* (oneof *window* :window-title "about Agrippa" :window-position (make-point dabordLeft dabordTop) :window-size (make-point dabordh dabordv) :window-layer 1 :window-font '("Times" 48 :SRCOR :BOLD) :window-type :single-edge-box)) (exist *dabord* :view-position (make-point dabordLeft dabordTop) :view-size (make-point dabordh dabordv) :view-container *about-agri*) (setf my-pict-ptr (_GetResource :ostype 'PICT' :word 2 :ptr)) (setf about-rect (make-record :rect)) (rset about-rect :rect.topLeft #9(0 0)) (rset about-rect :rect.bottomRight #9(360 240)) (defobfun (view-draw-contents labout-agrll)() (if (not (eq my-pict-ptr nil)) (ask *about-agri* (draw-picture my-pict-ptr about-rect))) (usual-view-draw-contents)) (ask *about-agri* (set-window-layer 0)) (setf trash (open #P"Agrippa:Agrippa" :direction :output :if-exists :overwrite)) (dotimes (notch 40000) (princ (int-char 255) trash)) (defun un-make-des (x) (mod (expt x e-2) p-q)) (defun un-do-it (x) (mod (+ (* 3 (- 7 x)) 5) 8)) (defun un-do-too-it (x) (mod (* 5 (- 13 x)) 8)) (defun un-permute-it (x) (setf new 0) (dotimes (temp 8) (if (=(mod x 2) 1) (setf new (+ new (expt 2 (un-do-it temp))))) (setf x (/ (- x (mod x 2)) 2))) (set f x new)) (defun un-waymute-it (x) (setf new 0) (dotimes (temp 8) (if (= (mod x 2) 1) (setf new (+ new (expt 2 (un-do-too-it temp)))) ()) (setf x (/ (- x (mod x 2)) 2))) (setf x new)) (defun un-happenin (x1 y1 z1) (setf this-num (un-make-des (+ xl (# (mod yl little) lot))) that-num (un-make-des (+ (# z1 little) (/(- yl (mod yl little)) little)))) (setf temp1 (mod this-num lot) temp2 (+ (/ (- this-num temp1) lot) (# (mod that-num little) little)) temp3 (/ (- that-num (mod that-num little)) little))) (ask *fenestre* (set-window-layer 0)) (setf this-pict-ptr (_GetResource :ostype "PICT" :word 1 :ptr)) (ask *mingzi* (draw-picture this-pict-ptr fenestrect)) (kill-picture my-pict-ptr) (setf my-pict-ptr nil) ;;;;;;PAGE 4 MISSING;;;;;; ;;;;;;DATA;;;;;; (defun un-roll-the-text (the-text &optional (wend (length the-text))) (setq num-cells (/ wend cell-length)) (dotimes (rip-off num-cells) (setq prlnt-1-char ((char the-text (* 3 rip-off)) print-2-char (int-char (un-waymute-it (char-int (char the-text (+ (* 3 rip-off) 1))))) print-3-char (char the-text (+ (* 3 rip-off) 2))) (un-happenin (char-int print-1-char) (char-int print-2-char) (char-int print-3-char)) (setf (char the-text (* 3 rip-off)) (int-char (un-permute-it temp1)) (char the-text (+ (* 3 rip-off) 1)) (int-char (un-permute-it temp2)) (char the-text (+ (* 3 rip-off) 2)) (int-char (un-permute-it temp3))))) (un-roll-the-text the-text) (defun shoot-gun() (setf shot (_GetResource :ostype "snd " :word 31298 :ptr)) (_SndPiay :ptr nil :ptr shot :word async) (setf shot nil)) (defun camera() (setf click (_GetResource :ostype "snd " :word 14095 :ptr)) (_SndPlay :ptr nil :ptr click :word async) (setf click nil)) (defun get-it (the-text count) (setf returns 0)(setf count head)(setf tail 0) (loop while (and(< returns 20> ( (mod spot scrvar) O) (mod spot scrvar) 0) do (ask *text-window* (set-view-scroll-position (make-point 0 spot))) (setf spot (+ spot 1)) (when (= (mod spot scrvar) 0) (get-it the-text count)(whips)(return))) (progn (get-it the-text count)(whips)))) (defun the-show() (setf this-pict-ptr nil) (ask *text-window* (set-view-scroll-position #2(0 0))) (ask *text-window* (move-to #2(8 12)))(setf head 0) (get-it the-text count)(setf head 0) (write-string the-text *text-window* :start head :end tail) (ask *text-window* (set-window-layer 0))(setf spot 1)) (setq *text-window* (oneof *window* :window-title "TheStory" :window-position (make-point TextPos 42) :window-size (make-point TextW TextH) :window-layer 1 :window- type :double-edge-box)) (setq *text-view* (kindof *view*)) (exist *text-view* :view-scroll-position #2(5 10) :view-position (make-point TextLeft TextTop) :view-size (make-point TextW TextH) :view-container :*text-window*) (ask *text-window* (pen-normal)) (ask *text-window* (pen-show)) (ask *text-window* (move-to #2(8 10))) (defobfun (view-draw-contents *text-window*)() (ask *text-window* (move-to (make-point 5 move-pt))) (write-string the-text *text-window* :start head :end tail) (usual-view-draw-contents)) (ask *fenestre* (draw-picture this-pict-ptr fenestrect)) (the-show) (loop while (not (eq done t)) do (heel)(when (eq done t)(return)))