public
Description: Io programming language
Homepage: http://iolanguage.com
Clone URL: git://github.com/stevedekorte/io.git
first (rather buggy) version of the ioplayer for windows
unknown (author)
Wed Apr 09 16:43:02 -0700 2008
commit  026ef01c63b53fb13123f12ef90f29b15f7817be
tree    575ec9fdee3721901ca7c12bb5fa534c156968b7
parent  51c4183df8b845834314a3e8f795a9557aa7a090
...
32
33
34
 
35
36
37
...
32
33
34
35
36
37
38
0
@@ -32,6 +32,7 @@ AddonBuilder clone do(
0
 
0
   dependsOnBinding("Box")
0
   dependsOnBinding("Image")
0
+ dependsOnInclude("-DGLEXPORT")
0
 
0
   debs atPut("GL", "libgl1-mesa-dev")
0
   ebuilds atPut("GL", "mesa")
...
67
68
69
70
 
 
 
 
 
 
 
 
 
 
71
72
73
74
75
76
77
78
79
80
 
 
 
 
81
82
83
84
85
 
 
 
 
86
87
88
89
 
 
 
90
91
92
...
67
68
69
 
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
 
 
 
 
86
87
88
89
90
 
 
 
 
91
92
93
94
95
 
 
 
96
97
98
99
100
101
0
@@ -67,26 +67,35 @@ IoObject *IoGLUT_perform(IoGLUT *self, IoObject *locals, IoMessage *m);
0
 IoObject *IoGLUT_forward(IoGLUT *self, IoObject *locals, IoMessage *m);
0
 void IoGLUT_free(IoGLUT *self);
0
 void IoGLUT_mark(IoGLUT *self);
0
-IoObject *IoGLUT_glutEventTarget_(IoGLUT *self, IoObject *locals, IoMessage *m);
0
+
0
+#ifdef GLEXPORT
0
+#define IOGLUT_FUNC __declspec(dllexport)
0
+#else
0
+#define IOGLUT_FUNC
0
+// __declspec(dllimport)
0
+#endif
0
+
0
+
0
+IoObject IOGLUT_FUNC *IoGLUT_glutEventTarget_(IoGLUT *self, IoObject *locals, IoMessage *m);
0
 void IoGLUT_protoInit(IoGLUT *self);
0
 
0
 // --- events ---------------------------------------------------------------
0
 
0
 IoObject *IoGLUT_tryCallback(IoGLUT *self, IoMessage *m);
0
 
0
-void IoGlutKeyboardFunc(unsigned char key, int xv, int yv);
0
-void IoGlutSpecialFunc(int key, int xv, int yv);
0
-void IoGlutKeyboardUpFunc(unsigned char key, int xv, int yv);
0
-void IoGlutSpecialUpFunc(int key, int xv, int yv);
0
+void IOGLUT_FUNC IoGlutKeyboardFunc(unsigned char key, int xv, int yv);
0
+void IOGLUT_FUNC IoGlutSpecialFunc(int key, int xv, int yv);
0
+void IOGLUT_FUNC IoGlutKeyboardUpFunc(unsigned char key, int xv, int yv);
0
+void IOGLUT_FUNC IoGlutSpecialUpFunc(int key, int xv, int yv);
0
 
0
-void IoGlutEntryFunc(int state);
0
-void IoGlutMotionFunc(int xv, int yv);
0
-void IoGlutPassiveMotionFunc(int xv, int yv);
0
-void IoGlutMouseFunc(int button, int state, int xv, int yv);
0
+void IOGLUT_FUNC IoGlutEntryFunc(int state);
0
+void IOGLUT_FUNC IoGlutMotionFunc(int xv, int yv);
0
+void IOGLUT_FUNC IoGlutPassiveMotionFunc(int xv, int yv);
0
+void IOGLUT_FUNC IoGlutMouseFunc(int button, int state, int xv, int yv);
0
 
0
-void IoGlutDisplayFunc(void);
0
-void IoGlutReshapeFunc(int width, int height);
0
-void IoGlutTimerFunc(int vv);
0
+void IOGLUT_FUNC IoGlutDisplayFunc(void);
0
+void IOGLUT_FUNC IoGlutReshapeFunc(int width, int height);
0
+void IOGLUT_FUNC IoGlutTimerFunc(int vv);
0
 
0
 // Menus
0
 
...
44
45
46
47
 
48
49
50
...
61
62
63
64
 
65
66
67
...
44
45
46
 
47
48
49
50
...
61
62
63
 
64
65
66
67
0
@@ -44,7 +44,7 @@
0
         PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
0
         MinimalRebuild="true"
0
         BasicRuntimeChecks="3"
0
- RuntimeLibrary="3"
0
+ RuntimeLibrary="2"
0
         UsePrecompiledHeader="0"
0
         WarningLevel="3"
0
         Detect64BitPortabilityProblems="true"
0
@@ -61,7 +61,7 @@
0
       />
0
       <Tool
0
         Name="VCLinkerTool"
0
- AdditionalDependencies="opengl32.lib glu32.lib libiovmall.lib \usr\local\lib\io\addons\OpenGL\_build\dll\libIoOpenGL.lib"
0
+ AdditionalDependencies="opengl32.lib glu32.lib C:\src\io\libs\iovm\_build\dll\libiovmall.lib"
0
         LinkIncremental="2"
0
         GenerateDebugInformation="true"
0
         SubSystem="1"
...
25
26
27
28
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29
30
31
...
54
55
56
 
 
 
57
58
59
...
72
73
74
 
75
76
77
...
303
304
305
306
307
308
309
...
317
318
319
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
320
 
 
 
 
321
322
323
...
338
339
340
341
 
 
342
343
344
...
402
403
404
 
405
406
407
408
 
409
410
411
412
 
413
414
415
416
 
417
418
419
420
 
421
422
423
424
 
425
426
427
428
 
429
430
431
432
 
 
 
 
 
 
 
 
433
434
435
436
 
 
 
 
 
437
438
439
...
445
446
447
 
448
449
450
...
478
479
480
481
 
482
483
484
 
485
486
487
...
491
492
493
494
495
496
 
497
 
 
498
499
500
...
504
505
506
507
 
 
508
509
510
...
512
513
514
 
 
515
516
517
...
25
26
27
 
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
...
99
100
101
102
103
104
105
106
107
...
120
121
122
123
124
125
126
...
352
353
354
 
355
356
357
...
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
...
451
452
453
 
454
455
456
457
458
...
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
...
579
580
581
582
583
584
585
...
613
614
615
 
616
617
618
 
619
620
621
622
...
626
627
628
 
 
 
629
630
631
632
633
634
635
...
639
640
641
 
642
643
644
645
646
...
648
649
650
651
652
653
654
655
0
@@ -25,7 +25,52 @@ BOOL  active=TRUE;
0
 BOOL  fullscreen=FALSE;  
0
 IoState *ioState;
0
 
0
-
0
+struct glutOptions {
0
+ BOOL doesReshape;
0
+ BOOL doesDisplay;
0
+ BOOL doesMouse;
0
+ BOOL doesMotion;
0
+ BOOL doesKeyboard;
0
+ BOOL doesPassiveMotion;
0
+ BOOL doesEntry;
0
+} glutOptions = {0};
0
+
0
+struct ioGlutFuncs {
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 *IoGlutSpecialUpFunc)(int key, int xv, int yv);
0
+void (__cdecl *IoGlutEntryFunc)(int state);
0
+void (__cdecl *IoGlutMotionFunc)(int xv, int yv);
0
+void (__cdecl *IoGlutPassiveMotionFunc)(int xv, int yv);
0
+void (__cdecl *IoGlutMouseFunc)(int button, int state, int xv, int yv);
0
+void (__cdecl *IoGlutDisplayFunc)(void);
0
+void (__cdecl *IoGlutReshapeFunc)(int width, int height);
0
+void (__cdecl *IoGlutTimerFunc)(int vv);
0
+} ioGlutFuncs;
0
+
0
+BOOL loadIoGlutDll()
0
+{
0
+ if (ioGlutFuncs.IoGLUT_glutEventTarget_ == NULL)
0
+ {
0
+ HMODULE hLib = LoadLibrary(_T("\\usr\\local\\lib\\io\\addons\\OpenGL\\_build\\dll\\libioopengl.dll"));
0
+ if (hLib == 0)
0
+ return FALSE;
0
+ ioGlutFuncs.IoGLUT_glutEventTarget_ = (void *)GetProcAddress(hLib, "IoGLUT_glutEventTarget_");
0
+ ioGlutFuncs.IoGlutSpecialFunc = (void *)GetProcAddress(hLib, "IoGlutSpecialFunc");
0
+ ioGlutFuncs.IoGlutKeyboardUpFunc = (void *)GetProcAddress(hLib, "IoGlutKeyboardUpFunc");
0
+ ioGlutFuncs.IoGlutEntryFunc = (void *)GetProcAddress(hLib, "IoGlutEntryFunc");
0
+ ioGlutFuncs.IoGlutMotionFunc = (void *)GetProcAddress(hLib, "IoGlutMotionFunc");
0
+ ioGlutFuncs.IoGlutPassiveMotionFunc = (void *)GetProcAddress(hLib, "IoGlutPassiveMotionFunc");
0
+ ioGlutFuncs.IoGlutMouseFunc = (void *)GetProcAddress(hLib, "IoGlutMouseFunc");
0
+ ioGlutFuncs.IoGlutDisplayFunc = (void *)GetProcAddress(hLib, "IoGlutDisplayFunc");
0
+ ioGlutFuncs.IoGlutReshapeFunc = (void *)GetProcAddress(hLib, "IoGlutReshapeFunc");
0
+ ioGlutFuncs.IoGlutTimerFunc = (void *)GetProcAddress(hLib, "IoGlutTimerFunc");
0
+ return TRUE;
0
+ } else
0
+ return TRUE;
0
+}
0
 LRESULT  CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);  
0
 
0
 void ReSizeGLScene(GLsizei width, GLsizei height)    
0
@@ -54,6 +99,9 @@ int InitGL()
0
 
0
 int DrawGLScene()                  
0
 {
0
+ if (glutOptions.doesDisplay)
0
+ if (loadIoGlutDll()) ioGlutFuncs.IoGlutDisplayFunc();
0
+ /*
0
   static float t = 0;
0
   t+=0.1f;
0
   glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);  
0
@@ -72,6 +120,7 @@ int DrawGLScene()
0
   glVertex2f(1, 1);
0
   glVertex2f(-1, 1);
0
   glEnd();
0
+ */
0
   return TRUE;                    
0
 }
0
 
0
@@ -303,7 +352,6 @@ LRESULT CALLBACK WndProc(  HWND  hWnd,
0
       {
0
         active=FALSE;            
0
       }
0
-
0
       return 0;                
0
     }
0
 
0
@@ -317,7 +365,72 @@ LRESULT CALLBACK WndProc(  HWND  hWnd,
0
       }
0
       break;                  
0
     }
0
+ case WM_MOUSEMOVE:
0
+ {
0
+ int x = LOWORD(lParam);
0
+ int y = HIWORD(lParam);
0
+ if (wParam & (MK_LBUTTON | MK_RBUTTON | MK_MBUTTON))
0
+ if (glutOptions.doesMotion)
0
+ if (loadIoGlutDll()) ioGlutFuncs.IoGlutMotionFunc(x, y);
0
+ else
0
+ if (glutOptions.doesPassiveMotion)
0
+ if (loadIoGlutDll()) ioGlutFuncs.IoGlutPassiveMotionFunc(x, y);
0
+ break;
0
+ }
0
+ case WM_LBUTTONDOWN:
0
+ {
0
+ int x = LOWORD(lParam);
0
+ int y = HIWORD(lParam);
0
+
0
+ if (glutOptions.doesMouse)
0
+ if (loadIoGlutDll()) ioGlutFuncs.IoGlutMouseFunc(GLUT_LEFT_BUTTON, GLUT_DOWN, x, y);
0
+ break;
0
+ }
0
+ case WM_RBUTTONDOWN:
0
+ {
0
+ int x = LOWORD(lParam);
0
+ int y = HIWORD(lParam);
0
+
0
+ if (glutOptions.doesMouse)
0
+ if (loadIoGlutDll()) ioGlutFuncs.IoGlutMouseFunc(GLUT_RIGHT_BUTTON, GLUT_DOWN, x, y);
0
+ break;
0
+ }
0
+ case WM_MBUTTONDOWN:
0
+ {
0
+ int x = LOWORD(lParam);
0
+ int y = HIWORD(lParam);
0
+
0
+ if (glutOptions.doesMouse)
0
+ if (loadIoGlutDll()) ioGlutFuncs.IoGlutMouseFunc(GLUT_MIDDLE_BUTTON, GLUT_DOWN, x, y);
0
+ break;
0
+ }
0
+ case WM_LBUTTONUP:
0
+ {
0
+ int x = LOWORD(lParam);
0
+ int y = HIWORD(lParam);
0
+
0
+ if (glutOptions.doesMouse)
0
+ if (loadIoGlutDll()) ioGlutFuncs.IoGlutMouseFunc(GLUT_LEFT_BUTTON, GLUT_UP, x, y);
0
+ break;
0
+ }
0
+ case WM_RBUTTONUP:
0
+ {
0
+ int x = LOWORD(lParam);
0
+ int y = HIWORD(lParam);
0
+
0
+ if (glutOptions.doesMouse)
0
+ if (loadIoGlutDll()) ioGlutFuncs.IoGlutMouseFunc(GLUT_RIGHT_BUTTON, GLUT_UP, x, y);
0
+ break;
0
+ }
0
+ case WM_MBUTTONUP:
0
+ {
0
+ int x = LOWORD(lParam);
0
+ int y = HIWORD(lParam);
0
 
0
+ if (glutOptions.doesMouse)
0
+ if (loadIoGlutDll()) ioGlutFuncs.IoGlutMouseFunc(GLUT_MIDDLE_BUTTON, GLUT_UP, x, y);
0
+ break;
0
+ }
0
     case WM_CLOSE:                
0
     {
0
       PostQuitMessage(0);            
0
@@ -338,7 +451,8 @@ LRESULT CALLBACK WndProc(  HWND  hWnd,
0
 
0
     case WM_SIZE:                
0
     {
0
- ReSizeGLScene(LOWORD(lParam),HIWORD(lParam));
0
+ if (glutOptions.doesReshape)
0
+ if (loadIoGlutDll()) ioGlutFuncs.IoGlutReshapeFunc(LOWORD(lParam),HIWORD(lParam));
0
       return 0;                
0
     }
0
   }
0
@@ -402,38 +516,58 @@ void StopIO()
0
 
0
 void GLIoView_postRedisplay(IoGL *self, IoObject *locals, IoMessage *m)
0
 {
0
+// glutOptions.doesDisplay = TRUE; !
0
 }
0
 
0
 void GLIoView_glutReshapeFunc(IoGL *self, IoObject *locals, IoMessage *m)
0
 {
0
+ glutOptions.doesReshape = TRUE;
0
 }
0
 
0
 void GLIoView_glutDisplayFunc(IoGL *self, IoObject *locals, IoMessage *m)
0
 {
0
+ glutOptions.doesDisplay = TRUE;
0
 }
0
 
0
 void GLIoView_glutEntryFunc(IoGL *self, IoObject *locals, IoMessage *m)
0
 {
0
+ glutOptions.doesEntry = TRUE;
0
 }
0
 
0
 void GLIoView_glutMouseFunc(IoGL *self, IoObject *locals, IoMessage *m)
0
 {
0
+ glutOptions.doesMouse = TRUE;
0
 }
0
 
0
 void GLIoView_glutMotionFunc(IoGL *self, IoObject *locals, IoMessage *m)
0
 {
0
+ glutOptions.doesMotion = TRUE;
0
 }
0
 
0
 void GLIoView_glutKeyboardFunc(IoGL *self, IoObject *locals, IoMessage *m)
0
 {
0
+ glutOptions.doesKeyboard = TRUE;
0
 }
0
 
0
 void GLIoView_glutPassiveMotionFunc(IoGL *self, IoObject *locals, IoMessage *m)
0
 {
0
+ glutOptions.doesPassiveMotion = TRUE;
0
+}
0
+
0
+int g_timerVal;
0
+
0
+void CALLBACK timerProc(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime)
0
+{
0
+ if (loadIoGlutDll()) ioGlutFuncs.IoGlutTimerFunc(g_timerVal);
0
 }
0
 
0
 void GLIoView_registerTimer(IoGL *self, IoObject *locals, IoMessage *m)
0
 {
0
+ int millisecs = IoMessage_locals_intArgAt_(m, locals, 0);
0
+ int val = IoMessage_locals_intArgAt_(m, locals, 1);
0
+
0
+ g_timerVal = val;
0
+ SetTimer(NULL, 1, millisecs, timerProc);
0
 }
0
 
0
 void GLIoView_noop(IoGL *self, IoObject *locals, IoMessage *m)
0
@@ -445,6 +579,7 @@ void GLIoView_noop(IoGL *self, IoObject *locals, IoMessage *m)
0
 void overrideIoGLMethods()
0
 {
0
   IoObject *cxt = IoState_doCString_(ioState, "GLUT");
0
+
0
   IoCFunction *noopfunc = IOCFUNCTION_GL(GLIoView_noop);
0
   
0
   IoObject_setSlot_to_(cxt, IoState_symbolWithCString_(ioState, "glutDisplayFunc"),
0
@@ -478,10 +613,10 @@ void overrideIoGLMethods()
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
-
0
+ /*
0
   IoObject_setSlot_to_(cxt, IoState_symbolWithCString_(ioState, "glutEventTarget"),
0
              IOCFUNCTION_GL(IoGLUT_glutEventTarget_));
0
-
0
+ */
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
@@ -491,10 +626,10 @@ int main(int argc, char **argv)
0
 {
0
   ioState = IoState_new();  
0
   IoState_init(ioState);
0
-
0
-// IoState_argc_argv_(ioState, argc, argv);
0
-// IoState_runCLI(ioState);
0
+ overrideIoGLMethods();
0
 //  IoState_doFile_(ioState, "main.io");
0
+ IoState_argc_argv_(ioState, argc, argv);
0
+ IoState_runCLI(ioState);
0
   StartGL();
0
   if (ioState) IoState_free(ioState);
0
 }
0
@@ -504,7 +639,8 @@ int StartGL()
0
   MSG    msg;                  
0
   BOOL  done=FALSE;                
0
 
0
- StartIO(_T("main.io"));
0
+// StartIO(_T("main.io"));
0
+// IoState_doFile_(ioState, "main.io");
0
 
0
   // Create Our OpenGL Window
0
   if (!CreateGLWindow(_T("NeHe's OpenGL Framework"),640,480,32,fullscreen))
0
@@ -512,6 +648,8 @@ int StartGL()
0
     return 0;                  
0
   }
0
 
0
+ if (glutOptions.doesReshape)
0
+ if (loadIoGlutDll()) ioGlutFuncs.IoGlutReshapeFunc(640,480);
0
 
0
   while(!done)                  
0
   {
...
3
4
5
6
7
8
9
 
 
 
10
11
12
...
21
22
23
24
25
26
27
28
29
30
31
32
...
3
4
5
 
 
 
6
7
8
9
10
11
12
...
21
22
23
 
 
 
 
 
 
24
25
26
0
@@ -3,10 +3,10 @@ Microsoft Visual Studio Solution File, Format Version 9.00
0
 # Visual Studio 2005
0
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "iovm", "iovm\iovm.vcproj", "{EAB8C2C1-1CD7-4B33-9A36-477607B62930}"
0
   ProjectSection(ProjectDependencies) = postProject
0
- {3DFCE12D-0671-4CC6-8E43-A08A18296C81} = {3DFCE12D-0671-4CC6-8E43-A08A18296C81}
0
- {21ADD6D1-2DDC-4BCE-AE5D-66F1183301EE} = {21ADD6D1-2DDC-4BCE-AE5D-66F1183301EE}
0
- {5A9D7F60-59A6-4CF1-965E-6F41A329BCDE} = {5A9D7F60-59A6-4CF1-965E-6F41A329BCDE}
0
     {9B47BA52-B730-4E08-8E4E-9BA2BC9F8C5F} = {9B47BA52-B730-4E08-8E4E-9BA2BC9F8C5F}
0
+ {5A9D7F60-59A6-4CF1-965E-6F41A329BCDE} = {5A9D7F60-59A6-4CF1-965E-6F41A329BCDE}
0
+ {21ADD6D1-2DDC-4BCE-AE5D-66F1183301EE} = {21ADD6D1-2DDC-4BCE-AE5D-66F1183301EE}
0
+ {3DFCE12D-0671-4CC6-8E43-A08A18296C81} = {3DFCE12D-0671-4CC6-8E43-A08A18296C81}
0
   EndProjectSection
0
 EndProject
0
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "basekit", "basekit\basekit.vcproj", "{3DFCE12D-0671-4CC6-8E43-A08A18296C81}"
0
@@ -21,12 +21,6 @@ EndProject
0
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "io2c", "io2c\io2c.vcproj", "{21ADD6D1-2DDC-4BCE-AE5D-66F1183301EE}"
0
 EndProject
0
 Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "io_static", "io_static\io_static.vcproj", "{1AA0F128-02E8-4AC6-9436-F453CFA59170}"
0
- ProjectSection(ProjectDependencies) = postProject
0
- {3DFCE12D-0671-4CC6-8E43-A08A18296C81} = {3DFCE12D-0671-4CC6-8E43-A08A18296C81}
0
- {9B47BA52-B730-4E08-8E4E-9BA2BC9F8C5F} = {9B47BA52-B730-4E08-8E4E-9BA2BC9F8C5F}
0
- {5A9D7F60-59A6-4CF1-965E-6F41A329BCDE} = {5A9D7F60-59A6-4CF1-965E-6F41A329BCDE}
0
- {EAB8C2C1-1CD7-4B33-9A36-477607B62930} = {EAB8C2C1-1CD7-4B33-9A36-477607B62930}
0
- EndProjectSection
0
 EndProject
0
 Global
0
   GlobalSection(SolutionConfigurationPlatforms) = preSolution
...
296
297
298
 
299
300
301
...
296
297
298
299
300
301
302
0
@@ -296,6 +296,7 @@
0
       />
0
       <Tool
0
         Name="VCLinkerTool"
0
+ AdditionalDependencies="libiovmall.lib"
0
         LinkIncremental="1"
0
         GenerateDebugInformation="true"
0
         SubSystem="1"

Comments

    No one has commented yet.