Bill Currie
ec42bde527
Make hash tables more const correct.
...
And clean up the resulting mess :/
2012-10-27 11:44:31 +09:00
Bill Currie
034139b806
Move some code around so it's more accessible.
2012-10-27 11:43:29 +09:00
Bill Currie
7519ec7bbd
Fix the bogus missing return warning.
...
Pascal's return mechanism is such that void return is always used.
2012-10-26 20:11:38 +09:00
Bill Currie
3f351a5c88
Fix a printf format goof.
...
Forgot to compile test :/
2012-10-26 19:38:59 +09:00
Bill Currie
52b9721027
Add the COMMA token to the pascal parser.
...
I guess I forgot I needed to keep token numbers in sync between pascal and
qc/ruamoko.
2012-10-26 19:06:10 +09:00
Bill Currie
72045f1a5b
Delay storage setting for pascal functions.
...
The function def must not be local. This fixes the null function call in
gcd.pas.
2012-10-26 19:03:00 +09:00
Bill Currie
27b83a8d65
Clean up all extra aborts, using internal_error instead.
...
Some internal_error calls have no message, but at least things will be more
consistent.
2012-10-26 19:02:02 +09:00
Bill Currie
5530e84ada
Call find_type for pascal functions/procedures.
...
The result of parse_params needs to be passed through find_type before
actually being used. I guess I'd missed this back when I got things working
for qc.
2012-10-26 16:20:57 +09:00
Bill Currie
144387c3e3
Add shared.h to the dist files.
2012-10-26 16:16:46 +09:00
Bill Currie
f14d8060e0
Merge qfpc into qfcc.
...
Since gnu bison and flex are required anyway, no harm in using their api
prefix options. Now, qfcc can compile both QC/Ruamoko and Pascal files
(Pascal is (currently?) NOT supported in progs.src mode), selecting the
language based on the extension: .r, .qc and .c select QC/Ruamoko, .pas and
.p select Pascal, while anything else is treated as an object file (as
before).
2012-10-26 16:01:41 +09:00
Bill Currie
50b22ab163
Fix a rather silly snafu with smart-leak.
...
I blame this fever :P
Now smart-leak actually makes sense.
2012-09-18 07:48:39 +09:00
Bill Currie
45fd312133
Merge branch 'master' into mapedit
2012-09-17 07:52:42 +09:00
Bill Currie
156f3382a5
Emit the points in the expected order.
...
Associating p1 with n2 and p2 with n1 was a bit confusing. Makes for a
more-sensible points output file, too.
2012-09-16 13:51:42 +09:00
Bill Currie
0ed535214e
Import leak points files.
2012-09-16 12:57:17 +09:00
Bill Currie
d6476d4f93
Make some improvements to the leak files.
...
smart leak files now produce many points, not just one per portal. Normal
leak files now center the trail on the portal (instead of some weird
weighted average).
2012-09-16 12:38:55 +09:00
Bill Currie
4fc9316320
Add very preliminary support for map exporting.
...
There is no error checking, texture alignment or support for non-point
lights, but it's a start. Also, it's assumed all brushes are convex and
manifold.
2012-09-16 10:59:47 +09:00
Bill Currie
6b8df7f42a
Give EntityClassDict mapping access functions.
...
They just redirect to the actual entity class dictionary, but it saves a
lot of unnecessary code elsewhere.
2012-09-16 10:55:06 +09:00
Bill Currie
8416276cee
Remove a debug print.
2012-09-13 18:14:29 +09:00
Bill Currie
2760055a0f
Try to speed up entity relationship drawing a little.
2012-09-13 13:14:32 +09:00
Bill Currie
559add50cb
Fix some snafus.
2012-09-13 12:22:05 +09:00
Bill Currie
f18a926616
Add support for RMQs QUAKED comments.
...
RMQ just leaves out the entity size instead of using ? for brush entities.
2012-09-13 12:21:06 +09:00
Bill Currie
225cb4b364
Create an idquake character encoding.
...
It just does a 1:1 charmap conversion of quake text, purely to allow python
to read arbitrary qc code.
2012-09-13 12:19:26 +09:00
Bill Currie
bcda96a445
Report the source line of the entity in messages.
...
For now, just when PrintEntity is used to print the message, but having the
first line of the entity sure makes life easier.
2012-09-12 08:33:44 +09:00
Bill Currie
db25d5597d
Handle quest format brushes.
...
Bah, I forgot I needed to fix the vertex count parsing when I did the
script lexing change.
2012-09-12 08:24:17 +09:00
Bill Currie
b764cad483
Add buttons to re-scan or re-parse entity class data.
2012-09-12 08:14:10 +09:00
Bill Currie
592222aba8
Don't attempt to draw a connecting line to a missing target.
2012-09-11 15:01:43 +09:00
Bill Currie
154d08a9c7
Gracefully handle unknown entity classes.
...
Unfortunately, the classname gets lost to blender at this stage, but I have
an idea for how to handle that.
2012-09-11 14:58:56 +09:00
Bill Currie
54832740c8
Gracefully handle missing textures.
...
The texinfo still gets a material, but just an untextured one. The idea is
such textures can be fixed up at a later date.
2012-09-11 14:57:24 +09:00
Bill Currie
41004fd7c2
Remove specularity from the brush materials.
...
Specularity looks ghastly when there's nothing for it to highlight.
2012-09-10 19:24:47 +09:00
Bill Currie
7204f8d90d
Minor robustness improvements to map importing.
...
Allow map parse errors to be reported propertly (the raise was for
debugging) and give up gracefully when the wad file can't be found.
2012-09-10 19:23:15 +09:00
Bill Currie
995547ae6f
Display a message for entity class parsing errors.
...
It's hacky, but at least something shows up.
2012-09-10 16:14:32 +09:00
Bill Currie
25e545616a
Create EntityClassError exception.
...
Much more useful than Python's SyntaxError (and much less confusing).
2012-09-10 15:57:50 +09:00
Bill Currie
ae942afe5c
Bind map_error to the script object.
...
This works much better :)
2012-09-10 14:59:43 +09:00
Bill Currie
f525be0880
Implement Script.error properly.
...
It's not good to get an attirbute error when trying to raise another error.
2012-09-10 14:58:41 +09:00
Bill Currie
dade60863e
Move the entity class comment into its own box.
...
Blender doesn't support multiline text or word wrapping, so the tooltips
were rather ugly. The double spacing used by layout.label() is still a
little ugly, but the resulting text box just below the entity classname is
much more usable.
2012-09-10 13:19:38 +09:00
Bill Currie
198a49dfdf
Ensure all files have the gpl block.
2012-09-10 12:40:55 +09:00
Bill Currie
a75fe213a6
Make entity lines post rather than pre.
...
I'm not sure what visual difference it makes, but it is pretty much what
I'd intended in the first place.
2012-09-10 12:16:23 +09:00
Bill Currie
2905cb69bc
Add entity relation lines.
...
It has many problems (eg, the lines won't update when target/targetname
change), but the basics are working.
2012-09-10 11:48:22 +09:00
Bill Currie
9dc1039686
Fix map parsing for quest format maps.
...
Bah, the one place a single char lex is needed :P
2012-09-10 08:08:37 +09:00
Bill Currie
da6f57a23b
Get entity field key/value pair editing working.
2012-09-10 08:08:11 +09:00
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
c8be8c242a
Don't use any single chars for maps.
...
The standard map format (original qbsp) doesn't use them.
2012-09-09 17:13:10 +09:00
Bill Currie
0c2818c038
Ensure the texture scaling is never 0.
2012-09-09 17:12:45 +09:00
Bill Currie
73cdd66c52
Set the entity properties as parsed from the map.
2012-09-09 17:11:57 +09:00
Bill Currie
825ce0dad6
Make the type of EntityClass.flagnames consistent.
...
Sometimes list and sometimes tuple makes for a mess.
2012-09-09 17:01:23 +09:00
Bill Currie
709ab05713
Add preliminary support for entity properties.
...
Only classname and flags are supported right now, and only classname gets
set when the entity is added (via the add menu).
2012-09-09 13:22:52 +09:00
Bill Currie
468f96902f
Use a tetrahedron for the default brush entity.
...
It seems to be a reasonable shape to show that editing is needed.
2012-09-09 11:10:03 +09:00
Bill Currie
18fcdb0ce7
Implement the add_entity operator.
...
Doesn't work for brush entities yet.
2012-09-09 10:29:43 +09:00
Bill Currie
fde8d29899
Use icons to distinquish brush ents from others.
...
Mesh-data icons indicate brush entities, object-data icons indicate the
others.
2012-09-09 09:29:55 +09:00
Bill Currie
06fd951a55
Build the add entity menu tree.
...
The menu tree is built from the parsed entity classes, with _ forming the
separator between menu levels.
2012-09-09 08:54:41 +09:00