]> git.jsancho.org Git - gacela.git/commitdiff
(no commit message)
authorjsancho <devnull@localhost>
Sun, 27 Sep 2009 18:58:55 +0000 (18:58 +0000)
committerjsancho <devnull@localhost>
Sun, 27 Sep 2009 18:58:55 +0000 (18:58 +0000)
gacela_FTGL.lisp
gacela_make.lisp
gacela_tetris.lisp

index 823be34a4cc0b9025f9b6462721c1b5f0dd856c5..7e0b332c96dfaf0c02f34e067802797e3e05b0b3 100644 (file)
@@ -19,6 +19,9 @@
 
 (clines "#include <FTGL/ftgl.h>")
 
+(mapcconst int "int" "ft_encoding_unicode")
+(mapcconst int "int" "FTGL_RENDER_ALL")
+
 ;;; FTGL Functions
 (defcfun "int gacela_ftglCreateTextureFont (char *file)" 0
   "return ftglCreateTextureFont (file);")
 (defcfun "int gacela_ftglSetFontFaceSize (int font, int size, int res)" 0
   "return ftglSetFontFaceSize (font, size, res);")
 
-(defcfun "int gacela_ftglSetFontCharMap(int font, int encoding)" 0
-  "return ftglSetFontCharMap(font, encoding);")
+(defcfun "int gacela_ftglSetFontCharMap (int font, int encoding)" 0
+  "return ftglSetFontCharMap (font, encoding);")
+
+(defcfun "void gacela_ftglRenderFont (int font, char *string, int mode)" 0
+  "ftglRenderFont (font, string, mode);")
 
 (defentry ftglCreateTextureFont (string) (int "gacela_ftglCreateTextureFont"))
 (defentry ftglSetFontFaceSize (int int int) (int "gacela_ftglSetFontFaceSize"))
 (defentry ftglSetFontCharMap (int int) (int "gacela_ftglSetFontCharMap"))
+(defentry ftglRenderFont (int string int) (void "gacela_ftglRenderFont"))
index 50100f4d55558a3ab9457e79af62b8b182de05f7..99eacf513b3275f88b3901374dfc4e9fd2dedb2b 100755 (executable)
@@ -14,6 +14,9 @@
 ;;; You should have received a copy of the GNU General Public License
 ;;; along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
+(setq compiler::*cc* (concatenate 'string
+                                 compiler::*cc*
+                                 "-I/usr/include/FTGL -I/usr/include/freetype2"))
 
 (defmacro compile-gfile (file-name)
   `(compile-file ,file-name :system-p t))
   (compile-gfile "gacela_misc.lisp")
   (compile-gfile "gacela_SDL.lisp")
   (compile-gfile "gacela_GL.lisp")
+  (compile-gfile "gacela_FTGL.lisp")
   (compile-gfile "gacela_draw.lisp")
+  (compile-gfile "gacela_ttf.lisp")
   (compile-gfile "gacela_events.lisp")
   (compile-gfile "gacela_mobs.lisp")
   (compile-gfile "gacela_widgets.lisp"))
 
 (defun link-gacela ()
   (compiler::link
-   '("gacela.o" "gacela_misc.o" "gacela_SDL.o" "gacela_GL.o" "gacela_draw.o" "gacela_events.o" "gacela_mobs.o" "gacela_widgets.o")
+   '("gacela.o" "gacela_misc.o" "gacela_SDL.o" "gacela_GL.o" "gacela_FTGL.o" "gacela_draw.o" "gacela_ttf.o" "gacela_events.o" "gacela_mobs.o" "gacela_widgets.o")
    "gacela"
    ""
-   "-lSDL -lSDL_image -lSDL_ttf -lSDL_mixer -lSDL_gfx -lGL -lGLU"))
+   "-lSDL -lSDL_image -lSDL_ttf -lSDL_mixer -lSDL_gfx -lGL -lGLU -lftgl"))
 
 (defun build-gacela ()
   (compile-gacela)
index 6b4320f661f0e808275793feeb55457e1b57ac03..ef56ed2faaa53c406bdd4c9e08729fb822cce762 100644 (file)
       (next (random-tetramine))
       (timer (make-timer))
       (grid (make-list 20 :initial-element (make-list 14)))
-      (background (draw-image-function "fondo_tetris.png")))
+      (background (draw-image-function "fondo_tetris.png"))
+      (font (open-font "lazy.ttf")))
   (defun tetramine ()
     (cond ((eq (timer-state timer) 'stopped) (start-timer timer)))
 
                  (setq tetramine next x 6 y 0)
                  (setq next (random-tetramine)))
                 (t (incf y) (start-timer timer)))))
-    (draw-color '(0.8 0.8 0.8))
     (funcall background)
     (translate -288 218)
     (draw-grid (join-grids tetramine grid x y))
     (translate 440 440)
-    (draw-grid next)))
+    (draw-grid next)
+    (render-text "Hola" font)))
 
 (let ((frame 0.0) (fps (make-timer)) (update (make-timer)))
   (start-timer update)