bsp
|
00001 #ifndef _COMMANDS_H_ 00002 #define _COMMANDS_H_ 00003 00004 typedef void (*CM_FUNC) (void); 00005 typedef void (*CE_FUNC) (int); 00006 00008 // new dynamic command system 00010 #define CCMD_HASH_SIZE 500 00011 struct ccmd_group_s; 00012 00013 typedef struct ccmd_s 00014 { 00015 int id; 00016 char name[30]; 00017 CM_FUNC cm_func; //built-in command 00018 CE_FUNC ce_func; // ... 00019 char *user_func; //point to user script if cm/ce null 00020 char *menu_text; //label to use on menus 00021 char *info_text; //description for status bar 00022 int image; //index for imagelist 00023 //links 00024 ccmd_group_s *group; 00025 ccmd_s *group_next; 00026 ccmd_s *hash_name_next; 00027 ccmd_s *hash_id_next; 00028 ccmd_s *ce_next; 00029 ccmd_s *next; 00030 } ccmd_t; 00031 00032 typedef struct ccmd_group_s 00033 { 00034 char name[32]; 00035 ccmd_s *cmd_next; 00036 ccmd_group_s *next; 00037 } ccmd_group_t; 00038 00039 00040 extern ccmd_t *cmd_head; 00041 extern ccmd_group_t *cmd_groups; //groups 00042 00043 extern void Ccmd_Initialize(); 00044 extern void Ccmd_Execute(char *name); 00045 extern void Ccmd_Execute(int id); 00046 extern void Ccmd_UpdateEnablers(); 00047 extern bool Ccmd_LoadCommandDef(char *file); 00048 extern void Ccmd_Unload(); 00049 extern ccmd_t *Ccmd_FindCmd(char *name); 00050 extern ccmd_t *Ccmd_FindCmd(int id); 00051 extern void Ccmd_FillCombo(WCombo *combo); 00052 extern int Ccmd_GetId(char *name); 00053 extern char *Ccmd_GetName(int id); 00054 extern char *Ccmd_GetInfoText(int id); 00055 extern int Ccmd_Complete(char *prefix, char *out, int outlen, list<char*> *matches); 00056 extern bool Ccmd_Register(char *name, char *scriptcode, CE_FUNC ce_func); //script command 00057 extern ccmd_group_t * Ccmd_SetCurrentGroup(char *name); 00058 00059 00060 00061 //=========================================================================== 00062 00063 extern bool c_noupdate; // UpdateEnablers can be skipped if set 00064 00065 00066 // 00067 // Main Commands 00068 // 00069 00070 00071 extern void CmNoop(); 00072 00073 extern void CmListSkybox(); 00074 extern void CmMakeClicked(); 00075 extern void CmClipAutoFlip(); 00076 extern void CmClippersStay(); 00077 extern void CmClipMode0(); 00078 extern void CmClipMode1(); 00079 extern void CmLookAtSel(); 00080 extern void CmMixed(); 00081 extern void CmTexSearch(); 00082 extern void CmAddDetail(); 00083 extern void CmRemoveDetail(); 00084 extern void CmShowPalette(); 00085 00086 extern void SelectMap1(); 00087 extern void SelectMap2(); 00088 extern void SelectMap3(); 00089 extern void SelectMap4(); 00090 extern void SelectMap5(); 00091 extern void SelectMap6(); 00092 extern void SelectMap7(); 00093 extern void SelectMap8(); 00094 extern void SelectMap9(); 00095 extern void SelectMap10(); 00096 00097 extern void CmRecent0(); 00098 extern void CmRecent1(); 00099 extern void CmRecent2(); 00100 extern void CmRecent3(); 00101 extern void CmRecent4(); 00102 extern void CmRecent5(); 00103 extern void CmRecent6(); 00104 extern void CmRecent7(); 00105 extern void CmRecent8(); 00106 extern void CmRecent9(); 00107 extern void CmRecent10(); 00108 extern void CmRecent11(); 00109 extern void CmRecent12(); 00110 extern void CmRecent13(); 00111 extern void CmRecent14(); 00112 extern void CmRecent15(); 00113 00114 extern void CmJumpXY(); 00115 extern void CmJump3D(); 00116 00117 extern void CmLiftHeights(); 00118 extern void CmSetHeights(); 00119 00120 extern void SelectMap(int mapnum); 00121 00122 extern void CmTUnload(); 00123 extern void CmTLoadWad(); 00124 extern void CmTLoadDir(); 00125 extern void CmTLoadUsed(); 00126 extern void CmTLoadWal(); 00127 extern void CmTLoadPak(); 00128 extern void CmTLoadPakQ2(); 00129 00130 extern void CmResetRun(); 00131 00132 extern void CmStopLeaks(); 00133 extern void CmStopPortals(); 00134 00135 extern void CmImpulse(int f, int s, int v); 00136 00137 extern void CmRunMode(); 00138 extern void CmToggleFlymode(); 00139 // extern void CmMouse(); 00140 00141 extern void CmNoRegion(); 00142 extern void CmRegionMode(); 00143 extern void CmRegion(); 00144 extern void CmRegionPartial(); 00145 extern void CmModels(); 00146 extern void CmSolidModels(); 00147 extern void CmGlShading(); 00148 extern void CmOutlineUseGroup(); 00149 extern void CmOutlineUseFlat(); 00150 extern void CmRegionExport(); 00151 00152 extern void CmGroupMode(); 00153 00154 extern void CmExit(); 00155 extern void CmExitFinal(); 00156 extern void RecalcFiltered(); 00157 00158 extern void CmSave(); 00159 extern void CmFaceTexture(); 00160 extern void CmBrushTexture(); 00161 extern void CmBrushContents(int contents, int removeContents); 00162 extern void CmBrushFlags(int flags, int removeFlags); 00163 00164 extern void CmSelectValue(); 00165 //extern void CmHelpWindow(); 00166 extern void CmMonsterWindow(); 00167 extern void CmBrushWindow(); 00168 extern void CmUndo(); 00169 extern void CmUndoSave(); 00170 00171 extern void CmLock(); 00172 extern void CmUnLock(); 00173 extern void CmFindBrush(); 00174 extern void CmMapInfo(); 00175 extern void CmExportSelected(); 00176 00177 extern void CmBar1(); 00178 extern void CmBar2(); 00179 extern void CmToggleGridStyle(); 00180 extern void CmToggleKnobs(); 00181 extern void CmNextCamera(); 00182 extern void CmPrevCamera(); 00183 00184 extern void CmSetScale(); 00185 00186 extern void CmShowLeaks(); 00187 extern void CmShowPortals(); 00188 extern void CmLeakTest(); 00189 extern void CmMergeBrushes(); 00190 00191 extern void CmMergeIn(); 00192 extern void CmMergeOut(); 00193 extern void CmMergeClipboard(); 00194 00195 extern void CmRevert(); 00196 extern void CmSelectByTexture(); 00197 extern void CmHitUp(); 00198 extern void CmHitDown(); 00199 00200 extern void CmReplace(); 00201 extern void CmNextFace(); 00202 extern void CmPrevFace(); 00203 extern void CmTT(); 00204 extern void CmOmitLights(); 00205 extern void CmOmitUnselected(); 00206 extern void CmOmitEntities(); 00207 extern void CmOmitWorld(); 00208 extern void CmOmitWater(); 00209 extern void CmOmitClip(); 00210 extern void CmOmitSky(); 00211 extern void CmOmitTarget(); 00212 extern void CmOmitDetail(); 00213 extern void CmOmitHint(); 00214 00215 extern void CmSaveWindowArrangement(); 00216 extern void CmSwitchMapView(); 00217 extern void CmCenter(); 00218 00219 extern void CmGroup(); // dialog 00220 00221 extern void CmRestoreEntity(); // dialog 00222 extern void CmRestoreTexture(); // dialog 00223 extern void CmRestore3D(); // dialog 00224 extern void CmToggleConsole(); //dialog 00225 00226 extern void OpenMapFile(char *filename); 00227 extern void CmNew(); 00228 extern void CmOpen(); 00229 extern void CmRot1(); 00230 extern void CmRot5(); 00231 extern void CmRot10(); 00232 extern void CmRot15(); 00233 extern void CmRot30(); 00234 extern void CmRot45(); 00235 00236 extern void CmGrid3D(); 00237 extern void CmAxes3D(); 00238 00239 extern void CmEditCopy(); 00240 extern void CmEditClone(); 00241 extern void CmEditPaste(); 00242 extern void CmCopyMove(); 00243 extern void CmJumpSelXY(); 00244 extern void CmDelete(); 00245 extern void CmFlipClipper(); 00246 extern void CmCarve(); 00247 extern void CmSplit(); 00248 extern void CmClipCurFace(); 00249 extern void CmEditMakeStairs(); 00250 extern void CmSelectTotal(); 00251 extern void CmSelectPartial(); 00252 extern void CmMakeBrush(); 00253 extern void CmMakeRoom(); 00254 extern void CmMakeArch(); 00255 extern void CmMakeWedge(); 00256 extern void CmMakeSphere(); 00257 extern void CmMakeCylinder(); 00258 extern void CmMakeNSided(); 00259 extern void CmMakePyramid(); 00260 extern void CmMakeLights(); 00261 extern void CmRotateBrush(); 00262 extern void CmExtrude(); 00263 extern void CmExtrudeFace(); 00264 extern void CmEditScale(); 00265 extern void CmClipMoveUp(); 00266 extern void CmClipMoveDown(); 00267 extern void CmSnap(); 00268 extern void CmSnapPlanes(); 00269 extern void CmSnapBack(); 00270 00271 extern void CmFlipX(); 00272 extern void CmFlipY(); 00273 extern void CmFlipZ(); 00274 extern void CmRotateX(); 00275 extern void CmRotateY(); 00276 extern void CmRotateZ(); 00277 00278 extern void CmMakeEntity(); 00279 extern void CmReload(); 00280 00281 extern void CmArrangeIcons(); 00282 extern void CmWindowPosition(); // reposition windows... 00283 extern void CmTileChildren(); // reposition windows... 00284 extern void CmCascadeChildren(); // reposition windows... 00285 00286 extern void CmModeWire(); 00287 00288 extern void CmModeFlat(); 00289 00290 extern void CmModeTexture(); 00291 00292 extern void CmTallBrush(); 00293 extern void CmShortBrush(); 00294 extern void CmHeightBrush(); 00295 extern void CmSelectAll(); 00296 extern void CmDeselectAll(); 00297 extern void CmSubtract(); 00298 00299 extern void CmFileSaveSel(); 00300 extern void CmLoadBrushes(); 00301 // extern void CmNew(); 00302 // extern void CmOpen(); 00303 extern void CmClose(); 00304 extern void CmSaveAs(); 00305 extern void CmReset(); 00306 extern void CmSetColors(); 00307 extern void CmSetGame(); 00308 extern void CmMenuRefresh(); 00309 extern void CmKBSettings(); 00310 extern void CmBspSettings(); 00311 extern void CmWriteConfig(); 00312 extern void CmWriteGameConfig(); 00313 extern void CmShowKeyMappings(); 00314 extern void CmNextMap(); 00315 extern void CmPreviousMap(); 00316 extern void CmAbout(); 00317 00318 extern void CmGridMode(); 00319 00320 extern void CmModePoint(); 00321 extern void CmModeEdge(); 00322 extern void CmModePolygon(); 00323 extern void CmModeGroup(); 00324 00325 extern void XYZMove(int axis,int distance,int currentMode); 00326 extern void CmXUp(); 00327 extern void CmYUp(); 00328 extern void CmZUp(); 00329 extern void CmXDown(); 00330 extern void CmYDown(); 00331 extern void CmZDown(); 00332 00333 extern void CmJump(); 00334 00335 extern void CmResetAngles(); 00336 00337 extern void CmFloorUp(); 00338 extern void CmFloorDown(); 00339 00340 extern void CmAutoSave(); 00341 extern void CmToggleOutline(); 00342 extern void CmToggleNames(); 00343 extern void CmToggleConnections(); 00344 extern void CmToggleHits(); 00345 extern void CmToggleCoordinates(); 00346 00347 extern void CmExportQBSP(); // Superfast... 00348 extern void CmExportFull(); 00349 extern void CmExportFast(); 00350 extern void CmExportNoVis(); 00351 extern void CmExportReLight(); 00352 extern void CmExportLeakTest(); 00353 00354 extern void CmHelp(); 00355 00356 extern void RenModeFunc(int width, int height); 00357 extern void R1(); 00358 extern void R2(); 00359 extern void R3(); 00360 extern void R4(); 00361 extern void R5(); 00362 extern void R6(); 00363 extern void R7(); 00364 extern void R8(); 00365 extern void R9(); 00366 00367 extern void CmTrans0(); 00368 extern void CmTrans1(); 00369 extern void CmTrans2(); 00370 extern void CmTransGL(); 00371 00372 extern void SelectClipPointFunc(int point); 00373 extern void CmClip1(); 00374 extern void CmClip2(); 00375 extern void CmClip3(); 00376 00377 extern void CmSetBrushDepth(); 00378 extern void CmShowFrame(); 00379 00380 extern void CmHitFunc(int num); 00381 extern void CmHit0(); 00382 extern void CmHit1(); 00383 extern void CmHit2(); 00384 extern void CmHit3(); 00385 extern void CmHit4(); 00386 extern void CmHit5(); 00387 extern void CmHit6(); 00388 extern void CmHit7(); 00389 extern void CmHit8(); 00390 extern void CmHit9(); 00391 00392 extern void CmSelAllHit(); 00393 00394 extern void Cm180(); 00395 00396 extern void CmMoveUp(); 00397 extern void CmMoveDown(); 00398 00399 extern void CmForward(); 00400 extern void CmBack(); 00401 00402 extern void CmMF(); 00403 extern void CmMB(); 00404 00405 extern void CmRight(); 00406 extern void CmLeft(); 00407 00408 extern void CmPitchDown(); 00409 extern void CmPitchUp(); 00410 00411 extern void CmMagDown(); 00412 extern void CmMagUp(); 00413 00414 extern void CmPPDDown(); 00415 extern void CmPPDUp(); 00416 00417 extern void CmStepDown(); 00418 extern void CmStepUp(); 00419 00420 extern void CmClipIn(); 00421 extern void CmClipOut(); 00422 00423 extern void CmToggleMode(); 00424 00425 extern void CmKP2(); 00426 extern void CmKP4(); 00427 extern void CmKP6(); 00428 extern void CmKP8(); 00429 00430 extern void CmMinus(); 00431 extern void CmPlus(); 00432 00433 extern void CmMoveLeft(); 00434 extern void CmMoveRight(); 00435 00436 extern void ScaleUp(); 00437 extern void ScaleDown(); 00438 extern void CmScaleUp(); 00439 extern void CmScaleDown(); 00440 00441 extern void Scale1_64(); 00442 extern void Scale1_32(); 00443 extern void Scale1_16(); 00444 extern void Scale1_8(); 00445 extern void Scale1_4(); 00446 extern void Scale1_2(); 00447 extern void Scale3_4(); 00448 extern void Scale1(); 00449 extern void Scale2(); 00450 extern void Scale4(); 00451 extern void Scale8(); 00452 extern void Scale16(); 00453 00454 extern void GridUp(); 00455 extern void GridDown(); 00456 00457 extern void Grid1(); 00458 extern void Grid2(); 00459 extern void Grid4(); 00460 extern void Grid8(); 00461 extern void Grid16(); 00462 extern void Grid32(); 00463 extern void Grid64(); 00464 extern void Grid128(); 00465 extern void Grid256(); 00466 00467 // window procedures... 00468 extern void WUp(); 00469 extern void WDown(); 00470 extern void W1(); 00471 extern void W2(); 00472 extern void W3(); 00473 extern void W4(); 00474 00475 00476 // 00477 // Enablers 00478 // 00479 00480 extern void CeClipAutoFlip(int id); 00481 extern void CeClippersStay(int id); 00482 extern void CeClipMode0(int id); 00483 extern void CeClipMode1(int id); 00484 extern void CeLookAtSel(int id); 00485 extern void CeFileNew(int id); 00486 extern void CeFileOpen(int id); 00487 extern void CeNeedMap(int id); 00488 extern void CeNeedNoMap(int id); 00489 extern void CeNeedSelection(int id); 00490 extern void CePaste(int id); 00491 extern void CeBrushWindow(int id); 00492 extern void CeSnapBack(int id); 00493 00494 extern void CeRunMode(int id); 00495 extern void CeUndo(int id); 00496 extern void CeToggleKnobs(int id); 00497 extern void CeToggleFlymode(int id); 00498 extern void CeModels(int id); 00499 extern void CeSolidModels(int id); 00500 extern void CeGlShading(int id); 00501 extern void CeOutlineUseGroup(int id); 00502 extern void CeOutlineUseFlat(int id); 00503 extern void CeBar1(int id); 00504 extern void CeBar2(int id); 00505 extern void CeRevert(int id); 00506 extern void CeExportSelected(int id); 00507 extern void CeNeedLeaks(int id); 00508 extern void CeNeedPortals(int id); 00509 extern void CeOmitDetail(int id); 00510 extern void CeOmitHint(int id); 00511 extern void CeOmitSky(int id); 00512 extern void CeOmitTarget(int id); 00513 extern void CeOmitLights(int id); 00514 extern void CeOmitUnselected(int id); 00515 extern void CeOmitEntities(int id); 00516 extern void CeOmitWorld(int id); 00517 extern void CeOmitWater(int id); 00518 extern void CeOmitClip(int id); 00519 extern void CeGroupMode(int id); 00520 extern void CeRegionMode(int id); 00521 extern void CeNoRegion(int id); 00522 extern void CeRegionExport(int id); 00523 extern void CeModeWire(int id); 00524 extern void CeModeFlat(int id); 00525 extern void CeModeTexture(int id); 00526 extern void CeGridMode(int id); 00527 extern void CeToggleGridStyle(int id); 00528 extern void CeToggleOutline(int id); 00529 extern void CeToggleNames(int id); 00530 extern void CeToggleConnections(int id); 00531 extern void CeToggleHits(int id); 00532 extern void CeToggleCoordinates(int id); 00533 extern void CeScale1_64(int id); 00534 extern void CeScale1_32(int id); 00535 extern void CeScale1_16(int id); 00536 extern void CeScale1_8(int id); 00537 extern void CeScale1_4(int id); 00538 extern void CeScale1_2(int id); 00539 extern void CeScale3_4(int id); 00540 extern void CeScale1(int id); 00541 extern void CeScale2(int id); 00542 extern void CeScale4(int id); 00543 extern void CeScale8(int id); 00544 extern void CeScale16(int id); 00545 extern void CeGrid1(int id); 00546 extern void CeGrid2(int id); 00547 extern void CeGrid4(int id); 00548 extern void CeGrid8(int id); 00549 extern void CeGrid16(int id); 00550 extern void CeGrid32(int id); 00551 extern void CeGrid64(int id); 00552 extern void CeGrid128(int id); 00553 extern void CeGrid256(int id); 00554 extern void CeW1(int id); 00555 extern void CeW2(int id); 00556 extern void CeW3(int id); 00557 extern void CeW4(int id); 00558 extern void CeRot1(int id); 00559 extern void CeRot5(int id); 00560 extern void CeRot10(int id); 00561 extern void CeRot15(int id); 00562 extern void CeRot30(int id); 00563 extern void CeRot45(int id); 00564 extern void CeGrid3D(int id); 00565 extern void CeAxes3D(int id); 00566 extern void CeTrans0(int id); 00567 extern void CeTrans1(int id); 00568 extern void CeTrans2(int id); 00569 extern void CeTransGL(int id); 00570 00571 00572 // EXPORTERs for .bat files 00573 // 00574 extern void Exporter(UINT id); 00575 extern void RemoveExporterItemsFromMenu(HMENU hMenu); 00576 extern int BuildExporterMenu(HMENU hMenu); 00577 extern int GetMenuPos(HMENU hMenu, UINT id); 00578 extern void RemoveExportNames(); 00579 00580 extern void Exporter(int index); 00581 extern void Exporter0(); 00582 extern void Exporter1(); 00583 extern void Exporter2(); 00584 extern void Exporter3(); 00585 extern void Exporter4(); 00586 extern void Exporter5(); 00587 extern void Exporter6(); 00588 extern void Exporter7(); 00589 extern void Exporter8(); 00590 extern void Exporter9(); 00591 extern void Exporter10(); 00592 extern void Exporter11(); 00593 extern void Exporter12(); 00594 extern void Exporter13(); 00595 extern void Exporter14(); 00596 extern void Exporter15(); 00597 00598 #endif //_COMMANDS_H_