;;-*-Lisp-*- (in-package goal) ;; definition of type game-text (deftype game-text (structure) ((id text-id) (text string) ) :pack-me ) ;; definition for method 3 of type game-text (defmethod inspect ((this game-text)) (format #t "[~8x] ~A~%" this 'game-text) (format #t "~Tid: ~D~%" (-> this id)) (format #t "~Ttext: ~A~%" (-> this text)) this ) ;; definition of type game-text-info (deftype game-text-info (basic) ((length int32) (language-id int32) (group-name string) (data game-text :inline :dynamic) ) (:methods (lookup-text! (_type_ text-id symbol) string) ) ) ;; definition for method 3 of type game-text-info ;; INFO: this function exists in multiple non-identical object files (defmethod inspect ((this game-text-info)) (format #t "[~8x] ~A~%" this (-> this type)) (format #t "~Tlength: ~D~%" (-> this length)) (format #t "~Tlanguage-id: ~D~%" (-> this language-id)) (format #t "~Tgroup-name: ~A~%" (-> this group-name)) (format #t "~Tdata[0] @ #x~X~%" (-> this data)) this ) ;; definition for symbol *text-group-names*, type (array string) (define *text-group-names* (new 'static 'boxed-array :type string "common")) ;; definition for symbol *common-text-heap*, type kheap (define *common-text-heap* (new 'global 'kheap)) ;; definition for symbol *common-text*, type game-text-info (define *common-text* (the-as game-text-info #f)) ;; failed to figure out what this is: 0