/* ================ vmMain This is the only way control passes into the module. This must be the very first function compiled into the .q3vm file ================ */ Q_EXPORT intptr_t vmMain( int command, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int arg11 ) { switch ( command ) { case CG_INIT: CG_Init( arg0, arg1, arg2 ); return 0; case CG_SHUTDOWN: CG_Shutdown(); return 0; case CG_CONSOLE_COMMAND: return CG_ConsoleCommand(); case CG_DRAW_ACTIVE_FRAME: CG_DrawActiveFrame( arg0, arg1, arg2 ); return 0; case CG_CROSSHAIR_PLAYER: return CG_CrosshairPlayer(); case CG_LAST_ATTACKER: return CG_LastAttacker(); case CG_KEY_EVENT: CG_KeyEvent(arg0, arg1); return 0; case CG_MOUSE_EVENT: CG_MouseEvent(arg0, arg1); return 0; case CG_EVENT_HANDLING: CG_EventHandling(arg0); return 0; default: CG_Error( "vmMain: unknown command %i", command ); break; } return -1; }
qboolean CG_DemosConsoleCommand( void ) { const char *cmd = CG_Argv(0); if (!Q_stricmp(cmd, "camera")) { demoCameraCommand_f(); } else if (!Q_stricmp(cmd, "view")) { demoViewCommand_f(); } else if (!Q_stricmp(cmd, "edit")) { demoEditCommand_f(); } else if (!Q_stricmp(cmd, "capture")) { demoCaptureCommand_f(); } else if (!Q_stricmp(cmd, "seek")) { demoSeekCommand_f(); } else if (!Q_stricmp(cmd, "demoSeek")) { demoSeekTwoCommand_f(); } else if (!Q_stricmp(cmd, "find")) { demoFindCommand_f(); } else if (!Q_stricmp(cmd, "speed")) { cmd = CG_Argv(1); if (cmd[0]) { demo.play.speed = atof(cmd); } CG_DemosAddLog("Play speed %f", demo.play.speed ); } else if (!Q_stricmp(cmd, "pause")) { demo.play.paused = !demo.play.paused; if ( demo.play.paused ) demo.find = findNone; } else if (!Q_stricmp(cmd, "dof")) { demoDofCommand_f(); } else if (!Q_stricmp(cmd, "chase")) { demoChaseCommand_f(); } else if (!Q_stricmp(cmd, "effect")) { demoEffectCommand_f(); } else if (!Q_stricmp(cmd, "hudInit")) { hudInitTables(); } else if (!Q_stricmp(cmd, "hudToggle")) { hudToggleInput(); } else if (!Q_stricmp(cmd, "+seek")) { demo.seekEnabled = qtrue; } else if (!Q_stricmp(cmd, "-seek")) { demo.seekEnabled = qfalse; } else if (!Q_stricmp(cmd, "line")) { demoLineCommand_f(); } else if (!Q_stricmp(cmd, "load")) { demoLoadCommand_f(); } else if (!Q_stricmp(cmd, "save")) { demoSaveCommand_f(); } else if (!Q_stricmp(cmd, "clientOverride")) { CG_ClientOverride_f(); } else if (!Q_stricmp(cmd, "clientOverride")) { CG_ClientOverride_f(); } else if (!Q_stricmp(cmd, "musicPlay")) { musicPlayCommand_f(); } else if (!Q_stricmp(cmd, "cut")) { demoCutCommand_f(); } else { return CG_ConsoleCommand(); } return qtrue; }
/* ================ vmMain This is the only way control passes into the module. This must be the very first function compiled into the .q3vm file ================ */ intptr_t vmMain( int command, int arg0, int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int arg10, int arg11 ) { switch ( command ) { case CG_INIT: CG_Init( arg0, arg1, arg2, arg3 ); return 0; case CG_SHUTDOWN: CG_Shutdown(); return 0; case CG_CONSOLE_COMMAND: return CG_ConsoleCommand(); case CG_DRAW_ACTIVE_FRAME: CG_DrawActiveFrame( arg0, arg1, arg2 ); return 0; case CG_DRAW_2D: CG_Draw2D( arg0, arg1, arg2 ); return 0; case CG_CROSSHAIR_PLAYER: return CG_CrosshairPlayer(); case CG_LAST_ATTACKER: return CG_LastAttacker(); case CG_KEY_EVENT: CG_KeyEvent(arg0, arg1); return 0; case CG_MOUSE_EVENT: CG_MouseEvent(arg0, arg1); return 0; case CG_EVENT_HANDLING: CG_EventHandling(arg0); return 0; case CG_CENTERPRINT: CG_CenterPrint( (const char*)arg0, 200, 10 ); return 0; case CG_LOCATIONPRINT: CG_LocationPrint( (const char*)arg0, arg1, arg2, 10 ); return 0; case CG_PARSEMSG: CG_ParseCGMessage(); return 0; default: CG_Error( "vmMain: unknown command %i", command ); break; } return -1; }