int Plug_InitAPI(int *args) { #ifdef Q3_VM Plug_GetEngineFunction = (void*)args[0]; #else BUILTIN_Plug_GetEngineFunction = args[0]; #endif Plug_InitStandardBuiltins(); Plug_Export("UpdateVideo", Plug_UpdateVideo); return Plug_Init(args); }
int __stdcall IMessageProc(sIMessage_base * msgBase) { sIMessage_2params * msg = (msgBase->s_size>=sizeof(sIMessage_2params))?static_cast<sIMessage_2params*>(msgBase):0; switch (msgBase->id) { /* Wiadomoœci na które TRZEBA odpowiedzieæ */ case IM_PLUG_NET: return NET_EXPIMP; // Zwracamy wartoœæ NET, która MUSI byæ ró¿na od 0 i UNIKATOWA! case IM_PLUG_TYPE: return IMT_UI|IMT_CONFIG; // Zwracamy jakiego typu jest nasza wtyczka (które wiadomoœci bêdziemy obs³ugiwaæ) case IM_PLUG_VERSION: return 0; // Wersja wtyczki tekstowo major.minor.release.build ... case IM_PLUG_SDKVERSION: return KONNEKT_SDK_V; // Ta linijka jest wymagana! case IM_PLUG_SIG: return (int)"EXPIMP"; // Sygnaturka wtyczki (krótka, kilkuliterowa nazwa) case IM_PLUG_CORE_V: return (int)"W98"; // Wymagana wersja rdzenia case IM_PLUG_UI_V: return 0; // Wymagana wersja UI case IM_PLUG_NAME: return (int)"exPiMP"; // Pe³na nazwa wtyczki case IM_PLUG_NETNAME: return 0; // Nazwa obs³ugiwanej sieci (o ile jak¹œ sieæ obs³uguje) case IM_PLUG_INIT: Plug_Init(msg->p1,msg->p2);return Init(); case IM_PLUG_DEINIT: Plug_Deinit(msg->p1,msg->p2);return DeInit(); case IM_SETCOLS: return ISetCols(); case IM_UI_PREPARE: return IPrepare(); case IM_START: return IStart(); case IM_END: return IEnd(); case IM_UIACTION: return ActionProc((sUIActionNotify_base*)msg->p1); case IM_PLUG_ARGS: { sIMessage_plugArgs * pa = static_cast<sIMessage_plugArgs*> (msgBase); if (pa->argc < 2) return 0; const char * import_ = getArgV(pa->argv+1 , pa->argc-1 , "-import" , true); if (import_ && *import_) { CStdString import = import_; if (import.find("expimp:")==0) { import = import.substr(import.find(':') + 1); } DoImport(import); } return 0;} /* Tutaj obs³ugujemy wszystkie pozosta³e wiadomoœci */ default: if (Ctrl) Ctrl->setError(IMERROR_NORESULT); return 0; } return 0; }