0
-
IoObject * (__cdecl *IoGLUT_glutEventTarget_)(IoGLUT *, IoObject *, IoMessage *);
0
+
//IoObject * (__cdecl *IoGLUT_glutEventTarget_)(IoGLUT *, IoObject *, IoMessage *);
0
void (__cdecl *IoGlutKeyboardFunc)(unsigned char key, int xv, int yv);
0
void (__cdecl *IoGlutSpecialFunc)(int key, int xv, int yv);
0
void (__cdecl *IoGlutKeyboardUpFunc)(unsigned char key, int xv, int yv);
0
void (__cdecl *IoGlutTimerFunc)(int vv);
0
+void debug(const char *format, ...)
0
+ message = UArray_newWithVargs_(format, ap);
0
+ MessageBox(NULL, UArray_asCString(message), NULL, MB_OK);
0
- if (ioGlutFuncs.IoG
LUT_glutEventTarget_ == NULL)
0
+ if (ioGlutFuncs.IoG
lutSpecialFunc == NULL)
0
- HMODULE hLib = LoadLibrary(_T("
\\usr\\local\\lib\\io\\addons\\OpenGL\\_build\\dll\\libioopengl.dll"));
0
+ HMODULE hLib = LoadLibrary(_T("
io\\addons\\OpenGL\\_build\\dll\\libIoOpenGL.dll"));
0
-
ioGlutFuncs.IoGLUT_glutEventTarget_ = (void *)GetProcAddress(hLib, "IoGLUT_glutEventTarget_");
0
+
//ioGlutFuncs.IoGLUT_glutEventTarget_ = (void *)GetProcAddress(hLib, "IoGLUT_glutEventTarget_");
0
ioGlutFuncs.IoGlutSpecialFunc = (void *)GetProcAddress(hLib, "IoGlutSpecialFunc");
0
ioGlutFuncs.IoGlutKeyboardFunc = (void *)GetProcAddress(hLib, "IoGlutKeyboardFunc");
0
ioGlutFuncs.IoGlutKeyboardUpFunc = (void *)GetProcAddress(hLib, "IoGlutKeyboardUpFunc");
0
if (glutOptions.doesDisplay)
0
if (loadIoGlutDll()) ioGlutFuncs.IoGlutDisplayFunc();
0
- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
0
- glDisable(GL_DEPTH_TEST);
0
- glHint(GL_LINE_SMOOTH_HINT, GL_NICEST);
0
- glRotatef(t, 0, 0, 1);
0
- glScalef(0.1f, 0.1f, 0.1f);
0
- glColor3f(1, 0, 0.5f);
0
return DefWindowProc(hWnd,uMsg,wParam,lParam);
0
-void StartIO(
LPCTSTR aScriptName)
0
ioState = IoState_new();
0
// IoState_argc_argv_(ioState, 1, pbuf);
0
-
IoState_runCLI(ioState);
0
+
// IoState_runCLI(ioState);
0
// IoState_doFile_(ioState, aScriptName);
0
if (ioState) IoState_free(ioState);
0
-
void GLIoView_postRedisplay(IoGL *self, IoObject *locals, IoMessage *m)
0
+
IoObject *GLIoView_postRedisplay(IoGL *self, IoObject *locals, IoMessage *m)
0
-// glutOptions.doesDisplay = TRUE; !
0
+ glutOptions.doesDisplay = TRUE;
0
-
void GLIoView_glutReshapeFunc(IoGL *self, IoObject *locals, IoMessage *m)
0
+
IoObject *GLIoView_glutReshapeFunc(IoGL *self, IoObject *locals, IoMessage *m)
0
glutOptions.doesReshape = TRUE;
0
-
void GLIoView_glutDisplayFunc(IoGL *self, IoObject *locals, IoMessage *m)
0
+
IoObject *GLIoView_glutDisplayFunc(IoGL *self, IoObject *locals, IoMessage *m)
0
glutOptions.doesDisplay = TRUE;
0
-
void GLIoView_glutEntryFunc(IoGL *self, IoObject *locals, IoMessage *m)
0
+
IoObject *GLIoView_glutEntryFunc(IoGL *self, IoObject *locals, IoMessage *m)
0
glutOptions.doesEntry = TRUE;
0
-
void GLIoView_glutMouseFunc(IoGL *self, IoObject *locals, IoMessage *m)
0
+
IoObject *GLIoView_glutMouseFunc(IoGL *self, IoObject *locals, IoMessage *m)
0
glutOptions.doesMouse = TRUE;
0
-
void GLIoView_glutMotionFunc(IoGL *self, IoObject *locals, IoMessage *m)
0
+
IoObject *GLIoView_glutMotionFunc(IoGL *self, IoObject *locals, IoMessage *m)
0
glutOptions.doesMotion = TRUE;
0
-
void GLIoView_glutSpecialFunc(IoGL *self, IoObject *locals, IoMessage *m)
0
+
IoObject *GLIoView_glutSpecialFunc(IoGL *self, IoObject *locals, IoMessage *m)
0
glutOptions.doesSpecial = TRUE;
0
-
void GLIoView_glutKeyboardFunc(IoGL *self, IoObject *locals, IoMessage *m)
0
+
IoObject *GLIoView_glutKeyboardFunc(IoGL *self, IoObject *locals, IoMessage *m)
0
glutOptions.doesKeyboard = TRUE;
0
-
void GLIoView_glutPassiveMotionFunc(IoGL *self, IoObject *locals, IoMessage *m)
0
+
IoObject *GLIoView_glutPassiveMotionFunc(IoGL *self, IoObject *locals, IoMessage *m)
0
glutOptions.doesPassiveMotion = TRUE;
0
IoObject *GLIoView_glutReshapeWindow(IoGLUT *self, IoObject *locals, IoMessage *m)
0
int val = IoMessage_locals_intArgAt_(m, locals, 1);
0
- SetTimer(
NULL, 1, millisecs, timerProc);
0
+ SetTimer(
hWnd, 1, millisecs, timerProc);
0
-
void GLIoView_noop(IoGL *self, IoObject *locals, IoMessage *m)
0
+
IoObject *GLIoView_noop(IoGL *self, IoObject *locals, IoMessage *m)
0
#define IOCFUNCTION_GL(func) IoCFunction_newWithFunctionPointer_tag_name_(ioState, (void *)func, NULL, "")
0
void overrideIoGLMethods()
0
IoObject *cxt = IoState_doCString_(ioState, "GLUT");
0
IoCFunction *noopfunc = IOCFUNCTION_GL(GLIoView_noop);
0
IOCFUNCTION_GL(GLIoView_postRedisplay));
0
IoObject_setSlot_to_(cxt, IoState_symbolWithCString_(ioState, "glutInit"), noopfunc);
0
IoObject_setSlot_to_(cxt, IoState_symbolWithCString_(ioState, "glutMainLoop"), noopfunc);
0
IoObject_setSlot_to_(cxt, IoState_symbolWithCString_(ioState, "glutInitDisplayMode"), noopfunc);
0
IoObject_setSlot_to_(cxt, IoState_symbolWithCString_(ioState, "glutInitWindowSize"), noopfunc);
0
IoObject_setSlot_to_(cxt, IoState_symbolWithCString_(ioState, "glutCreateWindow"), noopfunc);
0
IoObject_setSlot_to_(cxt, IoState_symbolWithCString_(ioState, "glutInitWindowPosition"), noopfunc);
0
- IoObject_setSlot_to_(cxt, IoState_symbolWithCString_(ioState, "glutEventTarget"),
0
- IOCFUNCTION_GL(IoGLUT_glutEventTarget_));
0
+ //IoObject_setSlot_to_(cxt, IoState_symbolWithCString_(ioState, "glutEventTarget"), IOCFUNCTION_GL(IoGLUT_glutEventTarget_));
0
IoObject_setSlot_to_(cxt, IoState_symbolWithCString_(ioState, "glutInitDisplayMode"), noopfunc);
0
IoObject_setSlot_to_(cxt, IoState_symbolWithCString_(ioState, "glutSwapBuffers"),
0
IOCFUNCTION_GL(GLIoView_postRedisplay));
0
int main(int argc, char **argv)
0
ioState = IoState_new();
0
-
// IoState_doFile_(ioState, "main.io");
0
+
IoState_doFile_(ioState, "main.io");
0
IoState_argc_argv_(ioState, argc, argv);
0
IoState_runCLI(ioState);
0
if (ioState) IoState_free(ioState);
0
-// StartIO(_T("main.io"));
0
-// IoState_doFile_(ioState, "main.io");
0
// Create Our OpenGL Window
0
if (!CreateGLWindow(_T("NeHe's OpenGL Framework"),640,480,32,fullscreen))
0
+ overrideIoGLMethods();
0
+ IoState_doFile_(ioState, "main.io");
0
if (glutOptions.doesReshape)
0
if (loadIoGlutDll()) ioGlutFuncs.IoGlutReshapeFunc(640,480);
0
if (PeekMessage(&msg,NULL,0,0,PM_REMOVE))
0
+ printf("PeekMessage\n");
0
if (msg.message==WM_QUIT)
0
+ printf("No PeekMessage\n");
0
if (keys[VK_ESCAPE]) // Was ESC Pressed?
0
+ freopen( "debug.txt", "w", stdout);
Comments
No one has commented yet.