mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-11-05 20:50:43 +00:00
317d3bddb8
a GNUstep port of the original Quake editor for NeXTstep, QuakeEd.app.
108 lines
3.1 KiB
Objective-C
108 lines
3.1 KiB
Objective-C
|
|
#import <AppKit/AppKit.h>
|
|
#include <sys/stat.h>
|
|
|
|
#define BASEPATHKEY "basepath"
|
|
#define MAPNAMESKEY "maps"
|
|
#define DESCKEY "desc"
|
|
#define WADSKEY "wads"
|
|
#define BSPFULLVIS "bspfullvis"
|
|
#define BSPFASTVIS "bspfastvis"
|
|
#define BSPNOVIS "bspnovis"
|
|
#define BSPRELIGHT "bsprelight"
|
|
#define BSPLEAKTEST "bspleaktest"
|
|
#define BSPENTITIES "bspentities"
|
|
|
|
#define SUBDIR_ENT "progs" // subdir names in heirarchy
|
|
#define SUBDIR_MAPS "maps"
|
|
#define SUBDIR_GFX "gfx"
|
|
|
|
extern id project_i;
|
|
|
|
@interface Project:Object
|
|
{
|
|
id projectInfo; // dictionary storage of project info
|
|
|
|
id basepathinfo_i; // outlet to base path info textfield
|
|
id mapbrowse_i; // outlet to QuakeEd Maps browser
|
|
id currentmap_i; // outlet to current map textfield
|
|
id mapList; // list of map names (Storage)
|
|
id descList; // list of map descriptions (Storage)
|
|
id wadList; // list of wad names (Storage)
|
|
|
|
id pis_panel_i; // outlet to Project Info Settings (PIS) panel
|
|
|
|
id pis_basepath_i; // outlet to PIS->base path
|
|
id pis_wads_i; // outlet to PIS->wad browser
|
|
id pis_fullvis_i; // outlet to PIS->full vis command
|
|
id pis_fastvis_i; // outlet to PIS->fast vis command
|
|
id pis_novis_i; // outlet to PIS->no vis command
|
|
id pis_relight_i; // outlet to PIS->relight command
|
|
id pis_leaktest_i; // outlet to PIS->leak test command
|
|
|
|
id BSPoutput_i; // outlet to Text
|
|
|
|
char path_projectinfo[128]; // path of QE_Project file
|
|
|
|
char path_basepath[128]; // base path of heirarchy
|
|
|
|
char path_progdir[128]; // derived from basepath
|
|
char path_mapdirectory[128]; // derived from basepath
|
|
char path_finalmapdir[128]; // derived from basepath
|
|
|
|
char path_wad8[128]; // path of texture WAD for cmd-8 key
|
|
char path_wad9[128]; // path of texture WAD for cmd-9 key
|
|
char path_wad0[128]; // path of texture WAD for cmd-0 key
|
|
|
|
char string_fullvis[1024]; // cmd-line parm
|
|
char string_fastvis[1024]; // cmd-line parm
|
|
char string_novis[1024]; // cmd-line parm
|
|
char string_relight[1024]; // cmd-line parm
|
|
char string_leaktest[1024]; // cmd-line parm
|
|
char string_entities[1024]; // cmd-line parm
|
|
|
|
int showDescriptions; // 1 = show map descs in browser
|
|
|
|
time_t lastModified; // last time project file was modified
|
|
}
|
|
|
|
- initProject;
|
|
- initVars;
|
|
|
|
- (char *)currentProjectFile;
|
|
|
|
- setTextureWad: (char *)wf;
|
|
|
|
- addToOutput:(char *)string;
|
|
- clearBspOutput:sender;
|
|
- initProjSettings;
|
|
- changeChar:(char)f to:(char)t in:(id)obj;
|
|
- (int)searchForString:(char *)str in:(id)obj;
|
|
|
|
- parseProjectFile; // read defaultsdatabase for project path
|
|
- openProjectFile:(char *)path; // called by openProject and newProject
|
|
- openProject;
|
|
- clickedOnMap:sender; // called if clicked on map in browser
|
|
- clickedOnWad:sender; // called if clicked on wad in browser
|
|
|
|
// methods to querie the project file
|
|
|
|
- (char *)getMapDirectory;
|
|
- (char *)getFinalMapDirectory;
|
|
- (char *)getProgDirectory;
|
|
|
|
- (char *)getWAD8;
|
|
- (char *)getWAD9;
|
|
- (char *)getWAD0;
|
|
|
|
- (char *)getFullVisCmd;
|
|
- (char *)getFastVisCmd;
|
|
- (char *)getNoVisCmd;
|
|
- (char *)getRelightCmd;
|
|
- (char *)getLeaktestCmd;
|
|
- (char *)getEntitiesCmd;
|
|
|
|
@end
|
|
|
|
void changeString(char cf,char ct,char *string);
|
|
|