Commit graph

121 commits

Author SHA1 Message Date
Bill Currie
ea541b325d Set the map parser scripts to not lex single chars.
qbsp treats {foo as one token, not two.
2012-09-09 17:23:55 +09:00
Bill Currie
b9d21cbe9a Catch resizes in the camera view.
Avoids a segfault when resizing the window.
2011-04-16 18:58:05 +09:00
Bill Currie
3337dc609f Fix a buffer error. 2011-04-16 13:05:28 +09:00
Bill Currie
fb65cd2b44 Cache needed fonts.
Obtaining a font has become rather expensive in recent gnustep, so cache
fonts, obtaining new ones only when needed rather than every redraw. Makes
things snappy again :)
2011-04-16 12:17:23 +09:00
Bill Currie
36ec375893 Support resizing the window.
The resized layout isn't perfect, but at least the usable real estate for
the xy window grows nicely.
2011-04-10 14:34:34 +09:00
Bill Currie
9e15e2cd76 Remove a debug print. 2011-04-10 09:14:28 +09:00
Bill Currie
6cb3d18fc4 Use a hash table for finding entities.
This gives a major speed boost :)
2011-04-09 18:32:29 +09:00
Bill Currie
32f3f5c06b Use a hash table for epair lookup.
This gives a very minor speedup to drawing large maps.
2011-04-09 14:47:36 +09:00
Bill Currie
2bddcefafe Allow up to 64 faces on a brush.
This is temporary until unlimited faces can be supported, but it's
sufficient to load mappi.map.
2011-03-29 12:46:49 +09:00
Bill Currie
7946fec523 More cString cleanups.
I don't know that fileSystemRepresentation is any better than cString for
general usage (due to wchar on windows).
2010-12-28 07:42:08 +09:00
Bill Currie
d29e8deb0a Use Qprintf for writing maps, and fileSystemRepresentation to get the path. 2010-12-27 23:18:43 +09:00
Bill Currie
97e8ab7f3a A bunch more NSString and NSFileManager usage.
It does make for cleaner could, though it would have been nice if NSData
was null terminated :P
2010-12-26 22:33:04 +09:00
Bill Currie
8e13a8327d Use NSFileManager methods instead of access().
This even fixes a bug where an inaccessible bspSound was being opened.
2010-12-26 21:07:55 +09:00
Bill Currie
f105fbd6a0 Use NS* classes for QUAKED directory scanning.
The scanning of actual files is still done using normal C strings, but now
everything up to (but not including) opening the file is handled by *step.
2010-12-26 20:45:01 +09:00
Bill Currie
232c67640c Get the QUAKED text for nullclass right.
? is not a character that's lexed out by the script class.
This fixes the segfault when loading a map when no entities are defined
(ie, the mod's source code could not be found for QUAKED).
2010-12-26 19:06:39 +09:00
Bill Currie
478ef21de0 Add some view opacity. 2010-11-28 15:31:40 +09:00
Bill Currie
83dc8c2a7a Remove some unused files. 2010-11-28 15:31:40 +09:00
Bill Currie
0e8d6d896f Do a bit of comment cleanup. 2010-11-28 15:31:40 +09:00
Bill Currie
ff41feb76e Allow entity copying too. 2010-11-28 15:31:40 +09:00
Bill Currie
cb970bddce Can now copy brushes.
Implement SetBrush's copyWithZone:
2010-11-28 15:31:40 +09:00
Jeff Teunissen
74d959ec64 Cope gracefully with wadfiles we can't handle
This is a weird little diff. We're doing a lot of gymnastics here so that
we don't have to crash (killing any loaded unsaved work!) when we find a
wadfile we don't know how to deal with.
2010-11-28 15:31:40 +09:00
Bill Currie
6702f04b46 Fix key resetting.
Make sure we don't add a new key-pair when the key already exists, and if
the existing value has the same pointer as the "new" value, do nothing.
2010-11-28 15:31:40 +09:00
Bill Currie
ff94a0f76a Can now select textures. 2010-11-28 15:31:39 +09:00
Jeff Teunissen
47117f1762 return the actual string
Oops. I returned a text field instead of the string in it. :)
2010-11-28 15:31:39 +09:00
Jeff Teunissen
877067de61 Export the base directory of the open project
Project -baseDirectoryPath returns the absolute path to the directory from
which the .qpr file was loaded.
2010-11-28 15:31:39 +09:00
Bill Currie
22885a48ad Correctly initialize the path variables.
Use the current project file, not the default.
2010-11-28 15:31:39 +09:00
Jeff Teunissen
0d0e7bfe18 TexturePalette.m: microscopic update
remove a bogus comment, clarify a printf call, add parens around a ternary
test.
2010-11-28 15:31:39 +09:00
Jeff Teunissen
ba508fa3e0 TexturePalette: Prevent NULL dereference
Keep the app from crashing on a wad that doesn't have any palette at all.
2010-11-28 15:31:39 +09:00
Bill Currie
d75f5f3f79 Fix brush selection.
The great cleanup caused a few vital returns to disappear (they probably
went to the same place a lot of my lego did).
2010-11-28 15:31:39 +09:00
Bill Currie
946a06b264 Don't crash if the palette entry is not first.
Instead, swap the palette entry and the first entry (only in memory).
2010-11-28 15:31:39 +09:00
Bill Currie
1928780af6 Support Quests' map format.
This is mostly because I have a few maps in this format.
2010-11-28 15:31:39 +09:00
Bill Currie
ae1d5245ad Got the value/key backwards. 2010-11-28 15:31:39 +09:00
Bill Currie
c2644699a4 Even more conversions to NSString 2010-11-28 15:31:39 +09:00
Bill Currie
12d79ba28d More conversions to NSString 2010-11-28 15:31:39 +09:00
Bill Currie
fd000b880d Do a lot of conversions to NSString. 2010-11-28 15:31:38 +09:00
Bill Currie
2ac2f5fab5 Change path_projectinfo to NSString. 2010-11-28 15:31:38 +09:00
Bill Currie
1180a54d67 It seems I forgot to commit this with the plist changes. 2010-11-28 15:31:38 +09:00
Bill Currie
b28ba46448 Fix wad loading when loading the map.
This broke with the fix for the entity inspector.
2010-11-28 15:31:38 +09:00
Bill Currie
da2c87f964 Use QF's property lists for the project file. 2010-11-28 15:31:38 +09:00
Bill Currie
24fad619d1 First step in cleaning up Dict. 2010-11-28 15:31:38 +09:00
Bill Currie
5c0fb3ecd3 Correct an error message. 2010-11-28 15:31:38 +09:00
Bill Currie
6c96402403 Get the button icons set properly.
There are still issues with the way gorm does things, but this works for
now.
2010-11-28 15:31:38 +09:00
Jeff Teunissen
602564075d install images into Resources
Install the button icons into the app when we make it.
2010-11-28 15:31:38 +09:00
Jeff Teunissen
edf5f6e018 find $GNUSTEP_MAKEFILES
Enable locating the GNUstep makefiles using the various schemes available
(in order of reliability), eventually reaching a hardcoded default.
2010-11-28 15:31:38 +09:00
Jeff Teunissen
0e5cd14829 tactical whitespace bomb
Add return-type information to all methods, split up lines properly where
I could find them, and ran the whole thing through uncrustify. Looks purty
now. :)
2010-11-28 15:31:38 +09:00
Jeff Teunissen
a4eec40843 Remove -read:/-write from Storage
Apparently GS doesn't do TypedStream any more...
2010-11-28 15:31:38 +09:00
Jeff Teunissen
cdc79ae6f8 Add type information, don't return self most of the time
Start "modernizing" the code base; old code is based heavily in the
Smalltalk style, where everything that doesn't return a different object
returns self. This can be useful, but it isn't what is usually done these
days. Also, add type information (which didn't exist in "the old days" --
an object was an "id", not a "Foo *") to help with debugging.
2010-11-28 15:31:38 +09:00
Jeff Teunissen
7dc5d26480 SetBrush: signed/unsigned fix 2010-11-28 15:31:37 +09:00
Jeff Teunissen
dbab1545e5 Comment an #if 0
Looks like John Carmack was going to implement "reference" .qpr directories,
where they would contain a reference to the "real" base path, but never got
it finished. Make a note in the source to explain the "dead" code.
2010-11-28 15:31:37 +09:00
Jeff Teunissen
4d63d20663 signed/unsigned and some const-correctness 2010-11-28 15:31:37 +09:00