]> git.jsancho.org Git - gacela.git/commitdiff
(no commit message)
authorjsancho <devnull@localhost>
Sat, 16 Apr 2011 06:45:45 +0000 (06:45 +0000)
committerjsancho <devnull@localhost>
Sat, 16 Apr 2011 06:45:45 +0000 (06:45 +0000)
gacela.c
gacela_core.c [new file with mode: 0644]

index 24dda3d5d18c4253eeece9dfecdd24df3933793d..1cd7412806fe013cbb22fced8232b5e54fcd6bf9 100644 (file)
--- a/gacela.c
+++ b/gacela.c
@@ -1,68 +1,11 @@
-#include <SDL/SDL.h>
-#include <GL/gl.h>
-#include <libguile.h>
-#include <pthread.h>
+#include <stdio.h>
 
-SCM prueba () {
-       int flags;
-
-       SDL_Init (SDL_INIT_EVERYTHING);
-
-       SDL_GL_SetAttribute (SDL_GL_DOUBLEBUFFER, 1);
-
-       flags = SDL_OPENGL | SDL_GL_DOUBLEBUFFER | SDL_HWPALETTE | SDL_RESIZABLE | SDL_SWSURFACE;
-       SDL_SetVideoMode (200, 200, 32, flags);
-
-       glShadeModel (GL_SMOOTH);
-       glClearColor (0, 0, 0, 0);
-       glHint (GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
-       glViewport (0, 0, 200, 200);
-       glMatrixMode (GL_PROJECTION);
-       glLoadIdentity ();
-       glOrtho (-200, 200, -200, 200, 0, 1);
-       glMatrixMode (GL_MODELVIEW);
-       glLoadIdentity ();
-
-       return SCM_UNSPECIFIED;
-}
-
-void *bucle () {
-       while (1) {
-               scm_c_eval_string("(define contador (+ contador incremento))");
-               scm_c_eval_string("(if (> contador 1000) (define incremento -1))");
-               scm_c_eval_string("(if (< contador 0) (define incremento 1))");
-       }
-       pthread_exit(NULL);
-}
-
-SCM lanzar_bucle () {
-       pthread_t t;
-
-       pthread_create(&t, NULL, bucle, NULL);
-       return SCM_UNSPECIFIED;
-}
-
-/*SCM ver_contador () {
-       return scm_from_int(contador);
-}*/
-
-static void*
-register_functions (void* data)
+int main (int argc, char *argv[])
 {
-       scm_c_define_gsubr ("prueba", 0, 0, 0, &prueba);
-//     scm_c_define_gsubr ("ver-contador", 0, 0, 0, &ver_contador);
-       scm_c_define_gsubr ("lanzar-bucle", 0, 0, 0, &lanzar_bucle);
-       return NULL;
-}
+  char exp[1024];
 
+  printf("gacela>");
+  scanf("%s", exp);
 
-int main (int argc, char *argv[]) {
-       scm_with_guile (&register_functions, NULL);
-       scm_c_eval_string("(set-repl-prompt! \"gacela>\")");
-       scm_c_eval_string("(use-modules (ice-9 readline))");
-       scm_c_eval_string("(activate-readline)");
-       scm_c_eval_string("(define contador 0)");
-       scm_c_eval_string("(define incremento 1)");
-       scm_shell (argc, argv);
+  return 0;
 }
-
diff --git a/gacela_core.c b/gacela_core.c
new file mode 100644 (file)
index 0000000..3d2a398
--- /dev/null
@@ -0,0 +1,85 @@
+#include <SDL/SDL.h>
+#include <GL/gl.h>
+#include <libguile.h>
+#include <pthread.h>
+
+SCM prueba () {
+       int flags;
+
+       SDL_Init (SDL_INIT_EVERYTHING);
+
+       SDL_GL_SetAttribute (SDL_GL_DOUBLEBUFFER, 1);
+
+       flags = SDL_OPENGL | SDL_GL_DOUBLEBUFFER | SDL_HWPALETTE | SDL_RESIZABLE | SDL_SWSURFACE;
+       SDL_SetVideoMode (200, 200, 32, flags);
+
+       glShadeModel (GL_SMOOTH);
+       glClearColor (0, 0, 0, 0);
+       glHint (GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);
+       glViewport (0, 0, 200, 200);
+       glMatrixMode (GL_PROJECTION);
+       glLoadIdentity ();
+       glOrtho (-200, 200, -200, 200, 0, 1);
+       glMatrixMode (GL_MODELVIEW);
+       glLoadIdentity ();
+
+       return SCM_UNSPECIFIED;
+}
+
+void *bucle () {
+       while (1) {
+               scm_c_eval_string("(define contador (+ contador incremento))");
+               scm_c_eval_string("(if (> contador 1000) (define incremento -1))");
+               scm_c_eval_string("(if (< contador 0) (define incremento 1))");
+       }
+       pthread_exit(NULL);
+}
+
+void *bucle2 () {
+       char *argv[0];
+       
+       argv[0] = malloc(10);
+       strcpy(argv[0], "./gacela");
+       scm_shell(1, argv);
+}
+
+int lanzar_bucle2 () {
+        pthread_t t;
+
+        pthread_create(&t, NULL, bucle2, NULL);
+        return 0;
+}
+
+SCM lanzar_bucle () {
+       pthread_t t;
+
+       pthread_create(&t, NULL, bucle, NULL);
+       return SCM_UNSPECIFIED;
+}
+
+/*SCM ver_contador () {
+       return scm_from_int(contador);
+}*/
+
+static void*
+register_functions (void* data)
+{
+       scm_c_define_gsubr ("prueba", 0, 0, 0, &prueba);
+//     scm_c_define_gsubr ("ver-contador", 0, 0, 0, &ver_contador);
+       scm_c_define_gsubr ("lanzar-bucle", 0, 0, 0, &lanzar_bucle);
+       return NULL;
+}
+
+
+int main (int argc, char *argv[]) {
+       scm_with_guile (&register_functions, NULL);
+       scm_c_eval_string("(set-repl-prompt! \"gacela>\")");
+       scm_c_eval_string("(use-modules (ice-9 readline))");
+       scm_c_eval_string("(activate-readline)");
+       scm_c_eval_string("(define contador 0)");
+       scm_c_eval_string("(define incremento 1)");
+//     scm_shell (argc, argv);
+       lanzar_bucle2();
+       while (1) {}
+}
+