Permalink
Browse files

Source release of QuakeEd, the map editing application on NEXTSTEP fo…

…r Quake.
  • Loading branch information...
1 parent 6df9737 commit e4cb063480f9256b902aa00f47d18fa23f5bda12 @tbradshaw tbradshaw committed Jan 31, 2012
Showing with 28,345 additions and 0 deletions.
  1. +33 −0 QuakeEd/.nfs7072
  2. +55 −0 QuakeEd/Brush.h
  3. +61 −0 QuakeEd/CameraView.h
  4. +970 −0 QuakeEd/CameraView.m
  5. +24 −0 QuakeEd/Clipper.h
  6. +227 −0 QuakeEd/Clipper.m
  7. +47 −0 QuakeEd/Dict.h
  8. +583 −0 QuakeEd/Dict.m
  9. +12 −0 QuakeEd/DictList.h
  10. +69 −0 QuakeEd/DictList.m
  11. BIN QuakeEd/DownArrow.tiff
  12. +1 −0 QuakeEd/English.lproj/Info.nib/data.classes
  13. BIN QuakeEd/English.lproj/Info.nib/data.nib
  14. +220 −0 QuakeEd/English.lproj/QuakeEd.nib/data.classes
  15. BIN QuakeEd/English.lproj/QuakeEd.nib/data.nib
  16. +40 −0 QuakeEd/Entity.h
  17. +485 −0 QuakeEd/Entity.m
  18. +42 −0 QuakeEd/EntityClass.h
  19. +266 −0 QuakeEd/EntityClass.m
  20. +71 −0 QuakeEd/InspectorControl.h
  21. +128 −0 QuakeEd/InspectorControl.m
  22. +16 −0 QuakeEd/KeypairView.h
  23. +96 −0 QuakeEd/KeypairView.m
  24. +62 −0 QuakeEd/Makefile
  25. +115 −0 QuakeEd/Makefile.postamble
  26. +108 −0 QuakeEd/Makefile.preamble
  27. +68 −0 QuakeEd/Map.h
  28. +1,121 −0 QuakeEd/Map.m
  29. +7 −0 QuakeEd/PB.gdbinit
  30. +26 −0 QuakeEd/PB.project
  31. +11 −0 QuakeEd/PopScrollView.h
  32. +87 −0 QuakeEd/PopScrollView.m
  33. +78 −0 QuakeEd/Preferences.h
  34. +330 −0 QuakeEd/Preferences.m
  35. +108 −0 QuakeEd/Project.h
  36. +526 −0 QuakeEd/Project.m
  37. +98 −0 QuakeEd/QuakeEd.h
  38. +2 −0 QuakeEd/QuakeEd.iconheader
  39. +1,026 −0 QuakeEd/QuakeEd.m
  40. +15 −0 QuakeEd/QuakeEd_main.m
  41. +33 −0 QuakeEd/README
  42. +158 −0 QuakeEd/SetBrush.h
  43. +2,034 −0 QuakeEd/SetBrush.m
  44. +113 −0 QuakeEd/TexturePalette.h
  45. +818 −0 QuakeEd/TexturePalette.m
  46. +12 −0 QuakeEd/TextureView.h
  47. +152 −0 QuakeEd/TextureView.m
  48. +42 −0 QuakeEd/Things.h
  49. +317 −0 QuakeEd/Things.m
  50. BIN QuakeEd/UpArrow.tiff
  51. +72 −0 QuakeEd/UserPath.h
  52. +209 −0 QuakeEd/UserPath.m
  53. +66 −0 QuakeEd/XYView.h
  54. +1,384 −0 QuakeEd/XYView.m
  55. +11 −0 QuakeEd/ZScrollView.h
  56. +71 −0 QuakeEd/ZScrollView.m
  57. +42 −0 QuakeEd/ZView.h
  58. +872 −0 QuakeEd/ZView.m
  59. +611 −0 QuakeEd/cmdlib.c
  60. +62 −0 QuakeEd/cmdlib.h
  61. +175 −0 QuakeEd/help.txt
  62. BIN QuakeEd/i_90d.tiff
  63. BIN QuakeEd/i_add.tiff
  64. BIN QuakeEd/i_brushes.tiff
  65. BIN QuakeEd/i_fliph.tiff
  66. BIN QuakeEd/i_flipv.tiff
  67. BIN QuakeEd/i_quakeed.tiff
  68. BIN QuakeEd/i_sub.tiff
  69. BIN QuakeEd/inspectors.tiff
  70. +11,858 −0 QuakeEd/jrbase1.map
  71. BIN QuakeEd/mainwindow.tiff
  72. +93 −0 QuakeEd/mathlib.c
  73. +31 −0 QuakeEd/mathlib.h
  74. +274 −0 QuakeEd/misc.m
  75. +56 −0 QuakeEd/qedefs.h
  76. +13 −0 QuakeEd/quake.qpr
  77. +33 −0 QuakeEd/readme.txt
  78. +13 −0 QuakeEd/render.h
  79. +748 −0 QuakeEd/render.m
  80. BIN QuakeEd/short.tiff
  81. BIN QuakeEd/tall.tiff
  82. +738 −0 QuakeEd/triggers.qc
View
@@ -0,0 +1,33 @@
+
+5/18/96
+
+This is a dump of the current source code for QuakeEd, our map editing application.
+
+This does not include everything necessary to build maps. There are graphics files, prog files, and other utilities needed. I plan on releasing a full development set of tools after the game ships. This is just intended to help out anyone working on their own map editor.
+
+This is a NEXTSTEP application, so hardly anyone is going to be able to use the code as is. This is not an OPENSTEP application. It doesn't even use the foundation kit, so porting to gnustep or openstep-solaris/mach/nt would not be trivial.
+
+There are lots of mixed case and >8 character filenames, so I'm using unix gzip (compressed) format.
+
+Because most people won't have access to a NEXTSTEP machine, I took pictures of some of the more important stuff from interface builder:
+
+mainwindow.tiff : a screenshot of the primary window
+inspectors.tiff : a screenshot of the important inspector views
+help.txt : a dump of the (minimal) help inspector's contents.
+
+I included some sample data to help you follow the code:
+
+quake.qpr : our current project file
+jrbase1.map : a sample map
+triggers.qc : a sample qc source file that includes some /*QUAKED comments
+
+There will not be any major changes to this code base. I am eagerly looking forward to writing a brand new editor for windows NT + open GL as soon as Quake ships.
+
+This application was really not a very good fit for NEXTSTEP. The display postscript model fundamentally doesn't fit very well with what we need here -- if you run in an 8 bit color mode, the line drawing runs at an ok speed, but the texture view goes half the speed it should as it dithers from 24 bit color down to 8 bit. If you run in 24 bit color mode, you get less screen real estate and significantly slower line drawing as a 3 megabyte XY view is flushed. Sigh. If anyone does actually run this on NEXTSTEP be advised that you want a fast machine. I never had the time to properly optimize QuakeEd.
+
+The texture view rendering code in here is crap. Anyone coding a new editor is strongly advised to just use an available optimized library, like open GL or direct 3D.
+
+
+John Carmack
+Id Software
+johnc@idsoftware.com
View
@@ -0,0 +1,55 @@
+#import <appkit/appkit.h>
+#import "SetBrush.h"
+#import "EditWindow.h"
+
+extern id brush_i;
+
+extern BOOL brushdraw; // YES when drawing cutbrushes and ents
+
+@interface Brush : SetBrush
+{
+ id cutbrushes_i;
+ id cutentities_i;
+ boolean updatemask[MAXBRUSHVERTEX];
+ BOOL dontdraw; // for modal instance loops
+ BOOL deleted; // when not visible at all
+}
+
+- init;
+
+- initFromSetBrush: br;
+
+- deselect;
+- (BOOL)isSelected;
+
+- (BOOL)XYmouseDown: (NXPoint *)pt; // return YES if brush handled
+- (BOOL)ZmouseDown: (NXPoint *)pt; // return YES if brush handled
+
+- _keyDown:(NXEvent *)theEvent;
+
+- (NXPoint)centerPoint; // for camera flyby mode
+
+- InstanceSize;
+- XYDrawSelf;
+- ZDrawSelf;
+- CameraDrawSelf;
+
+- flipHorizontal: sender;
+- flipVertical: sender;
+- rotate90: sender;
+
+- makeTall: sender;
+- makeShort: sender;
+- makeWide: sender;
+- makeNarrow: sender;
+
+- placeEntity: sender;
+
+- cut: sender;
+- copy: sender;
+
+- addBrush;
+
+@end
+
+
View
@@ -0,0 +1,61 @@
+#import <appkit/appkit.h>
+#import "mathlib.h"
+#import "SetBrush.h"
+
+extern id cameraview_i;
+
+extern byte renderlist[1024*1024*4];
+
+void CameraMoveto(vec3_t p);
+void CameraLineto(vec3_t p);
+
+extern BOOL timedrawing;
+
+@interface CameraView : View
+{
+ float xa, ya, za;
+ float move;
+
+ float *zbuffer;
+ unsigned *imagebuffer;
+
+ BOOL angleChange; // JR 6.8.95
+
+ vec3_t origin;
+ vec3_t matrix[3];
+
+ NXPoint dragspot;
+
+ drawmode_t drawmode;
+
+// UI links
+ id mode_radio_i;
+
+}
+
+- setXYOrigin: (NXPoint *)pt;
+- setZOrigin: (float)pt;
+
+- setOrigin: (vec3_t)org angle: (float)angle;
+- getOrigin: (vec3_t)org;
+
+- (float)yawAngle;
+
+- matrixFromAngles;
+- _keyDown: (NXEvent *)theEvent;
+
+- drawMode: sender;
+- setDrawMode: (drawmode_t)mode;
+
+- homeView: sender;
+
+- XYDrawSelf; // for drawing viewpoint in XY view
+- ZDrawSelf; // for drawing viewpoint in XY view
+- (BOOL)XYmouseDown: (NXPoint *)pt flags:(int)flags; // return YES if brush handled
+- (BOOL)ZmouseDown: (NXPoint *)pt flags:(int)flags; // return YES if brush handled
+
+- upFloor:sender;
+- downFloor: sender;
+
+@end
+
Oops, something went wrong.

0 comments on commit e4cb063

Please sign in to comment.