Project.h 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. #import <appkit/appkit.h>
  2. #include <sys/stat.h>
  3. #define BASEPATHKEY "basepath"
  4. #define MAPNAMESKEY "maps"
  5. #define DESCKEY "desc"
  6. #define WADSKEY "wads"
  7. #define BSPFULLVIS "bspfullvis"
  8. #define BSPFASTVIS "bspfastvis"
  9. #define BSPNOVIS "bspnovis"
  10. #define BSPRELIGHT "bsprelight"
  11. #define BSPLEAKTEST "bspleaktest"
  12. #define BSPENTITIES "bspentities"
  13. #define SUBDIR_ENT "progs" // subdir names in heirarchy
  14. #define SUBDIR_MAPS "maps"
  15. #define SUBDIR_GFX "gfx"
  16. extern id project_i;
  17. @interface Project:Object
  18. {
  19. id projectInfo; // dictionary storage of project info
  20. id basepathinfo_i; // outlet to base path info textfield
  21. id mapbrowse_i; // outlet to QuakeEd Maps browser
  22. id currentmap_i; // outlet to current map textfield
  23. id mapList; // list of map names (Storage)
  24. id descList; // list of map descriptions (Storage)
  25. id wadList; // list of wad names (Storage)
  26. id pis_panel_i; // outlet to Project Info Settings (PIS) panel
  27. id pis_basepath_i; // outlet to PIS->base path
  28. id pis_wads_i; // outlet to PIS->wad browser
  29. id pis_fullvis_i; // outlet to PIS->full vis command
  30. id pis_fastvis_i; // outlet to PIS->fast vis command
  31. id pis_novis_i; // outlet to PIS->no vis command
  32. id pis_relight_i; // outlet to PIS->relight command
  33. id pis_leaktest_i; // outlet to PIS->leak test command
  34. id BSPoutput_i; // outlet to Text
  35. char path_projectinfo[128]; // path of QE_Project file
  36. char path_basepath[128]; // base path of heirarchy
  37. char path_progdir[128]; // derived from basepath
  38. char path_mapdirectory[128]; // derived from basepath
  39. char path_finalmapdir[128]; // derived from basepath
  40. char path_wad8[128]; // path of texture WAD for cmd-8 key
  41. char path_wad9[128]; // path of texture WAD for cmd-9 key
  42. char path_wad0[128]; // path of texture WAD for cmd-0 key
  43. char string_fullvis[1024]; // cmd-line parm
  44. char string_fastvis[1024]; // cmd-line parm
  45. char string_novis[1024]; // cmd-line parm
  46. char string_relight[1024]; // cmd-line parm
  47. char string_leaktest[1024]; // cmd-line parm
  48. char string_entities[1024]; // cmd-line parm
  49. int showDescriptions; // 1 = show map descs in browser
  50. time_t lastModified; // last time project file was modified
  51. }
  52. - initProject;
  53. - initVars;
  54. - (char *)currentProjectFile;
  55. - setTextureWad: (char *)wf;
  56. - addToOutput:(char *)string;
  57. - clearBspOutput:sender;
  58. - initProjSettings;
  59. - changeChar:(char)f to:(char)t in:(id)obj;
  60. - (int)searchForString:(char *)str in:(id)obj;
  61. - parseProjectFile; // read defaultsdatabase for project path
  62. - openProjectFile:(char *)path; // called by openProject and newProject
  63. - openProject;
  64. - clickedOnMap:sender; // called if clicked on map in browser
  65. - clickedOnWad:sender; // called if clicked on wad in browser
  66. // methods to querie the project file
  67. - (char *)getMapDirectory;
  68. - (char *)getFinalMapDirectory;
  69. - (char *)getProgDirectory;
  70. - (char *)getWAD8;
  71. - (char *)getWAD9;
  72. - (char *)getWAD0;
  73. - (char *)getFullVisCmd;
  74. - (char *)getFastVisCmd;
  75. - (char *)getNoVisCmd;
  76. - (char *)getRelightCmd;
  77. - (char *)getLeaktestCmd;
  78. - (char *)getEntitiesCmd;
  79. @end
  80. void changeString(char cf,char ct,char *string);