Commit graph

270 commits

Author SHA1 Message Date
biwa
cbedfb24b5 DECALDEF parser: fixed a problem where opening curly braces in the same line as a decal definition caused a parsing error 2021-02-14 23:17:16 +01:00
biwa
4eb223b3f0 Added support for "abstract" ZScript functions. Fixes #523 2021-01-30 23:08:41 +01:00
biwa
7cec462a15 Fixed a problem where values specified with the UserDefaultValue editor key in ZScript were not applied for float/double values 2021-01-04 13:28:45 +01:00
biwa
0fc2296ce9 ACS parser: fixed a bug that prevented scripts from being recognized when the previous line ended with an empty line comment 2020-10-24 21:23:06 +02:00
biwa
09e40d2bae DECALDEF parser: fixed a crash when there are duplicate decal group entries in the DECALDEF files 2020-10-23 21:04:49 +02:00
biwa
79a507a8a7 DECALDEF parser: fixed a crash when there are duplicate entries in the DECALDEF files 2020-10-17 23:11:44 +02:00
biwa
722c79d894 Added preliminary DECALDEFS support. Parsing works, indexed decals and decal groups can be selected as the first argument of the Decal thing. Decals are not displayed in Visual Mode, decals without an index are not supported 2020-10-11 22:36:07 +02:00
Kevin Caccamo
42be899204
Attempt to improve Unix filesystem support
Add some new methods to PK3StructuredReader and DirectoryReader, which get the filename with the correct case, and get a file at a particular path.
Replace backslashes in modeldef model paths with forward slashes, instead of doing the opposite, which was preventing some models from loading.

I don't know whether or not this is a good solution or not, since I don't know the UDB codebase very well.
2020-07-29 04:14:37 -04:00
Kevin Caccamo
96208f7166
Fix directory separators
Path.DirectorySeparatorChar is a forward slash on Linux/Unix, so it ended up preventing DECORATE and ZSCRIPT code from being loaded on Linux.
2020-07-20 04:20:03 -04:00
biwa
91cbcde1eb It's compiling! 2020-05-21 14:20:02 +02:00
biwa
fb3c9e7168 Started conversion from float to double 2020-05-18 18:14:54 +02:00
biwa
308e8fe4cb Fixed a bug where the DECORATE parser got confused by wrong tokens after starting the states definition. Fixes #374. 2020-04-11 18:46:45 +02:00
biwa
e07a3170ac Made drop down items for ambient sounds more descriptive 2020-03-29 16:29:53 +02:00
biwa
1d5867333c There can be multiple different ambient sounds with the same sound name, so add the index to the name to differentiate them. Fixes #390. 2020-03-29 11:53:12 +02:00
biwa
a4466ba01b Added support for helper messages in version/deprecated modifier in ZScript 2020-03-19 20:14:57 +01:00
biwa
e8cc2f9801 Self-inheritance of ZScript classes is now considered an error and not a warning 2020-03-14 15:46:00 +01:00
biwa
d3b90f4f50 Print a warning and skip parsing classes that try to inherit from themselves (instead of going into an infinite loop) 2020-03-14 13:18:45 +01:00
ZZYZX
ec9765f004 Fixed: GLDEFS dynamic lights were defaulting to invisible instead of 'normal' 2020-01-25 23:28:27 +02:00
ZZYZX
044dbbcfd0 Rewrote dynamic light support. Resolves #319. Resolves #318. Resolves #233. 2020-01-03 03:22:33 +02:00
ZZYZX
e015cc6fb1 Fixed token position for named tokens 2020-01-02 01:51:54 +02:00
ZZYZX
6374b498ab Added GLSL shader preprocessor 2020-01-01 22:41:04 +02:00
ZZYZX
eafce14a9a Merge remote-tracking branch 'origin/master' into slimgl_merge 2019-12-16 00:00:01 +02:00
biwa
4febbdadf6 Zscript bool user variables are now treated as bool instead of int
Added support for int8, int16, uint, uint8, and uint16 user variables
2019-12-15 20:31:13 +01:00
ZZYZX
f0aee1e174 Merge branch 'master' into slimgl_merge 2019-12-14 23:50:40 +02:00
biwa
c9e7551ca3 Added ZScript mixin class support 2019-12-08 01:14:21 +01:00
biwa
2699f5793b Fixed an issue where the ZScript parser aborted with a cryptic error message when encountering a number that was too small or big. It now clamps the value to min/max for the data type and prints a warning 2019-12-03 15:23:49 +01:00
Magnus Norddahl
c665bfca86 - remove SlimDX namespace 2019-08-08 18:24:33 +02:00
biwa
c2b18a913e - Fixed a bug where textures for internal model skin names did not load when "Path" was specified in MODELDEF 2019-06-16 18:40:10 +02:00
biwa
dde8742ff2 - Added support for Wavefront OBJ models
- Fixed a problem where model textures were not loaded from the textures directory or from TEXTUREx definitions. Fixes #173 and #226
2019-06-15 17:44:02 +02:00
biwa
f2a343e118 - Added support for the ForceWorldPanning MAPINFO option. Fixes #258
- Improved support for auto aligning scaled textures
2019-04-14 18:24:37 +02:00
ZZYZX
e1b9f31525 Updated ZDoom ACS definitions; Updated ZScript parser for compatibility with latest GZDoom 2018-12-02 17:51:54 +02:00
ZZYZX
80b7d86cd8 Added: color user variable, //$UserReinterpret for color control on integer user variable 2018-07-24 11:35:52 +03:00
ZZYZX
04dc210db5 Added: string/float user variables, //$UserDefaultValue <value> for specifying default user variable value 2018-07-24 10:27:29 +03:00
ZZYZX
b026e58a89 Added: MODELDEF #include support 2018-06-09 17:26:03 +03:00
ZZYZX
8af4a46c5b Actually fixed vertex axes in Unreal models. Fixed the order of rotations in MODELDEF Offsets (this was not releavent to Unreal issues) 2018-05-28 04:06:21 +03:00
ZZYZX
4213be1c7a Added simple Unreal model support; Fixed numerous issues with normal handling; Fixed outright invalid handling of AngleOffset/PitchOffset/RollOffset in MODELDEF 2018-05-27 08:53:54 +03:00
ZZYZX
e91fe94794 Added string support for spotlight colors 2018-02-04 05:16:52 +02:00
ZZYZX
d8bee559dc Did some maxcode refactoring about dynamic lights; added initial spotlight support (at least they are recognized as lights now) 2018-02-03 22:31:43 +02:00
ZZYZX
1d36d3fe6e Updated ZScript parser for const array definition support (reported by SanyaWaffles) 2017-12-25 02:45:21 +02:00
ZZYZX
3f35731914 Fixed: allow dotted identifier in array dimensions 2017-09-06 18:57:25 +03:00
ZZYZX
e7328e4caa Added support for non-1.2 pixel ratios if view stretching is enabled (reported by Nash); Fixed: map names in quotes were not recognized properly. 2017-08-27 08:10:22 +03:00
ZZYZX
de7445b786 Fixed nested template types handling in ZScript parser 2017-04-17 12:40:58 +03:00
ZZYZX
bb650fa679 Updated ZScript parser to support abstract on classes 2017-03-28 15:07:12 +03:00
ZZYZX
87a2a14d7c Fixed: FAIL medal sprite in zandronum.pk3 was not parsed correctly 2017-03-08 23:34:21 +02:00
ZZYZX
bbe651d366 Camera texture can be longer than 8 characters 2017-03-06 06:08:30 +02:00
ZZYZX
92825a0870 Updated ZScript parser to the latest syntax 2017-03-06 06:07:19 +02:00
ZZYZX
8c36eafbff Fixed state lookup logic for sprite guessing; it should always prefer SPRITE_CHECK_STATES to using the random first frame. 2017-03-04 16:50:46 +02:00
ZZYZX
522c1e3ff9 Fixed: never pick up POL5 frame definition from Actor::GenericCrush. Ew, blood. 2017-03-04 02:25:10 +02:00
ZZYZX
4b1a31c3ca Fixed: duration 0 frames should be skipped if there are nonzero frames after them (reported by Tormentor667, Ozymandias81). Fixed crash if some actor had a modeldef entry but doesn't anymore. 2017-03-04 02:13:39 +02:00
ZZYZX
748fe9e2e5 Fixed: inheritance from game configuration for dynamic lights; Fixed: visual representation of inherited lights (reported by Nash); Fixed: inherited thing arguments from game configuration; Added: //$ClearArgs for clearing inherited arguments. 2017-03-02 00:21:08 +02:00
ZZYZX
251c89f3e9 Supposedly fixed handling of multidimensional arrays in ZScript, as well as specifying array dimensions in the type 2017-02-11 17:47:07 +02:00
ZZYZX
02d5ce4c3b Internal: Oops: missing files 2017-02-10 12:32:35 +02:00
ZZYZX
e62bbba9ff Internal: ZScript: now using StringBuilder in the internal tokenizer loops, might speed it up a bit 2017-02-09 04:07:27 +02:00
ZZYZX
7f2f51d48d Added: primitive support for ZScript in the script editor (all classes in the current file are listed) 2017-02-09 02:26:25 +02:00
ZZYZX
1382d144fe Added: basic support for automatic user variables from ZScript classes, currently only for int variables (as supported by GZDoom). 2017-02-08 23:55:38 +02:00
ZZYZX
5a5c6d0467 Internal: ZScriptTokenizer shouldn't reinitialize static stuff on every construction 2017-02-04 17:25:48 +02:00
ZZYZX
e6ca49581a Fixed: links should now open in the default browser and not what GZDB thinks to be the default browser.
Fixed: ZScript parser should no more crash on severely invalid code.
2017-02-03 09:15:54 +02:00
ZZYZX
ee936152cc ZScript: added #region support 2017-01-21 05:05:56 +02:00
ZZYZX
4c636a6d9a ZScript: added support for //$GZDB_SKIP special comment in the root scope. 2017-01-21 04:16:42 +02:00
ZZYZX
a705e47fb9 Fixed GLDEFS attenuate 1 and subtractive 1 logic 2017-01-20 00:59:04 +02:00
ZZYZX
49f55120ad Added: GLDEFS support for 'attenuate 1' keyword 2017-01-20 00:27:36 +02:00
ZZYZX
819ef6490e Fixed: wild exception while replacing ZScript actor from DECORATE 2017-01-19 09:16:55 +02:00
ZZYZX
55b24eef39 Fixed: ZScript: scale property should be expanded into xscale and yscale; Fixed: if actor's Spawn state starts with TNT1, first non-TNT1 frame will be used 2017-01-18 08:35:26 +02:00
ZZYZX
87fdd67fd6 ZScript: himBHcomment arguments should be stripped of whitespace 2017-01-17 20:34:19 +02:00
ZZYZX
a1dc4bb157 Internal: Remembered various ZScript operators for the future; Script Editor: fixed script type icons 2017-01-17 20:19:45 +02:00
ZZYZX
7a70ac8c17 Internal: removed parser stuff from ActorStructure, StateStructure, StateGoto classes 2017-01-17 11:40:58 +02:00
ZZYZX
b783ea1c0f ZScript: enabled custom GZDB actor properties in Default block (//$ comments, same as DECORATE) 2017-01-17 11:21:01 +02:00
ZZYZX
c1387a8e7e Internal: refactored ZScriptTokenizer.ExpectToken for less redundancy 2017-01-17 10:19:48 +02:00
ZZYZX
dc72c533ca ZScript: fixed odd cases of inheritance (class SpecialShotgun : Shotgun replaces Shotgun) causing stack overflow 2017-01-17 07:29:01 +02:00
ZZYZX
05a160b533 ZScript: moved actor inheritance code to separate step; ZScript: ported game configuration inheritance code from DECORATE 2017-01-17 07:13:28 +02:00
ZZYZX
8fa63cae3d Fixed: DECORATE and ZScript parsers would ignore TNT1 when used in states 2017-01-17 06:58:52 +02:00
ZZYZX
0787f96042 GLDEFS, MODELDEF: Included ZScript actors in missing class check 2017-01-17 06:53:20 +02:00
ZZYZX
3bdfadc1d7 ZScript: implemented 'transient' and 'property' keywords 2017-01-17 06:41:33 +02:00
ZZYZX
76213ae1d6 Internal: tried to fix case sensitivity issues in X11R6RGB colors 2017-01-17 04:56:44 +02:00
ZZYZX
17fb9157df Fixed: MAPINFO parser wouldn't take quoted OutsideFogDensity 2017-01-17 04:51:12 +02:00
ZZYZX
76ce87eace Fixed null reference access while searching for superclass state; Fixed incorrect parsing of random() in frame duration; Fixed incorrect parsing of quoted sprite names 2017-01-16 14:10:11 +02:00
ZZYZX
37a3eab150 Enabled prototype ZScript support 2017-01-16 13:18:46 +02:00
ZZYZX
8afd01f6bd Internal: Disconnected ZDoom actor state data from DECORATE parsing code 2017-01-16 10:20:47 +02:00
ZZYZX
a0674f13fc Internal: finished enumeration of ZSCript actor properties and flags 2017-01-16 08:10:32 +02:00
ZZYZX
ad5b542cd0 Internal: finished enumeration of ZScript actor fields and methods 2017-01-16 07:20:49 +02:00
ZZYZX
b42de7db6c Internal: Moved ZScript class initialization logic to after querying all lumps 2017-01-16 03:49:58 +02:00
ZZYZX
db08802780 Enabled DECORATE classes to inherit ZScript ones 2017-01-16 02:08:35 +02:00
ZZYZX
6147ed2385 Internal: disconnected actor parsing from generic ZDoom actor structure 2017-01-16 01:35:27 +02:00
ZZYZX
fbf1aefef2 Internal: Fixed class extension, error reporting on invalid top-level keyword 2017-01-16 00:21:47 +02:00
ZZYZX
856cb9f860 Internal: Added ZScriptParser.cs, ZScriptTokenizer.cs 2017-01-16 00:03:44 +02:00
ZZYZX
38ffc861cb Internal: started implementing ZScript parser. Nothing works for now, aside from the actual parsing code. 2017-01-16 00:00:45 +02:00
ZZYZX
ebd7fb1a57 Upgrade to VS2015 (14.0) 2017-01-15 00:35:40 +02:00
MaxED
da02474302 Applied skybox cubemap creation performance increase patch by Xabis.
Added, MAPINFO parser: added support for "Skybox" map block property.
2016-12-08 13:11:11 +00:00
MaxED
18dc8cebba Fixed: in some cases only the last data (sprite/texture/patch etc.) range was detected in WADs.
Fixed, Script Editor: Cut/Copy/Paste/Undo/Redo keyboard shortcuts were handled incorrectly when quick search textbox was focused.
Fixed, Script Editor: Find next/Find previous quick search button actions were handled incorrectly.
Updated documentation.
2016-11-26 20:03:59 +00:00
MaxED
aecd017b19 Added, Errors and Warnings window: most of warnings/errors related to (G)ZDoom text lump parsing can now be double-clicked to show warning/error source in the Script Editor.
Fixed: some map format conversion errors were never displayed, because errors list was cleared after performing map conversion.
Fixed: 3d floor indicators in 2D modes were not updated after leaving Visual mode.
Fixed: some UDMF-only interface buttons were never removed after converting map format from UDMF.
2016-11-26 00:02:56 +00:00
MaxED
894279b4ba Added, Script Editor: added "Script Navigator" tab. It shows and allows to open text resources loaded by the editor.
WARNING: because of the large amount of added/modified code, bugs are possible, so backup your resources, save often and report bugs.
2016-11-24 11:55:11 +00:00
MaxED
0cc5374295 Fixed, Things mode: fixed a crash when deleting Light/Ambient Sound things when "Show Dynamic Light Radii" / "Show Ambient Sound Radii" settings were enabled.
Fixed: WAD lump index was not appended to lump name when reporting errors during ZDoom text lumps parsing.
2016-11-19 20:43:42 +00:00
MaxED
437fe9ce86 Updated, GLDEFS parser: updated glowing texture parsing logic to better match GZDoom logic.
Removed, GLDEFS parser: removed GLOOME glow definitions support code.
2016-11-09 10:07:21 +00:00
MaxED
91e7809fa0 Added, Things mode: sound radii are now shown for "Custom Ambient Sound" and "Custom Ambient Sound (no gravity)" things. 2016-10-05 20:15:38 +00:00
MaxED
5ece55a657 Updated, Visual mode: WALLSPRITEs and FLATSPRITEs support rolling without the ROLLSPRITE flag.
Updated, Visual mode: unflipped FLATSPRITEs.
Updated, DECORATE parser: added duplicate actor definition check.
2016-10-04 21:02:43 +00:00
MaxED
53a317c0dd Updated, Visual mode: updated FLATSPRITE support to match the current GZDoom implementation.
Fixed, Visual mode: things in sectors affected by line slope effect were not updated when sector height was indirectly changed.
Game configurations: added "internalsoundnames" property.
Updated documentation ("Game Configuration - Basic Settings" page).
2016-10-04 09:53:38 +00:00
MaxED
07db2506c5 Added, Things mode: minimum/maximum sound radii can now be displayed for ZDoom's Ambient Sound things.
Added, Things mode: added "Show Light Radii" and "Show Sound Radii" main toolbar and View menu buttons.
Fixed, Action arguments control: invisible splitter between args1-3 and args4-5 is no longer draggable.
Updated ZDoom ACC (SetTranslation).
Updated ZDoom_ACS.cfg (SetTranslation).
2016-10-03 11:42:12 +00:00
MaxED
bfd57379bb Added, Map Analysis mode: added "Check unknown ACS scripts" error check.
Added, Map Analysis mode: added "Edit Thing..." option to "Unknown Thing" and "Obsolete Thing" error check results.
Added: a warning is now displayed when a thing has both voxel and model attached.
Changed, Thing/Linedef Info panels: unknown ACS script names/numbers are now shown in red.
Fixed, Edit Things window, UDMF: unneeded undo was created when opening the window.
Re-fixed: in some cases invalid sectors were created after dragging map elements when using "Merge Dragged Geometry" and "Replace with Dragged Geometry" drag modes, when at least one of dragged linedef was facing into an enclosed void area (previous fix entirely disabled the associated logic).
2016-09-12 14:08:45 +00:00
MaxED
1e7f0e6bc5 Fixed: added more sprite name sanity checks to MODELDF parser. 2016-09-11 19:27:05 +00:00
MaxED
2d249748fb Fixed, text parser: fixed a case when the parser tried to rewind before beginning of the stream when parsing unknown #block, when it was the first token of the file. 2016-08-31 15:14:55 +00:00