Commit graph

254 commits

Author SHA1 Message Date
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
MaxED
fbca0922f4 Added, action argument inputs: added "<" and ">" prefixes. These decrement/increment given value by selected map element number.
Changed, action argument inputs: "+++" and "---" prefixes now do the same thing as they do in other numeric controls (e.g. add/subtract given value multiplied by selected map element number to/from initial value).
Changed, action argument inputs: changed value colors, added tooltips.
2016-08-29 11:32:31 +00:00
MaxED
fb97d6fb44 Added more sanity checks to GLDEFS light parsing logic.
Updated ZDoom_DECORATE.cfg.
Updated ZDoom_ACS.cfg.
Updated ZDoom ACC.
2016-08-23 08:07:04 +00:00
MaxED
14fa99515e Fixed, MODELDEF parser: fixed a crash when model definition didn't contain the "Path" property.
Fixed, MODELDEF parser: forward slash in Model/Skin/SurfaceSkin paths wasn't supported.
2016-07-20 21:04:52 +00:00
MaxED
3f93525ebc Added support for SurfaceSkin MODELDEF property.
Changed, Visual mode: increased maximum rendreable dynamic lights count to 64.
2016-07-18 12:05:19 +00:00
MaxED
94dedf9aa9 Added support for USEACTORPITCH and USEACTORROLL MODELDEF flags.
Changed: LOKCDEFS keys are now sorted alphabetically.
Fixed, MAPINFO parser: blocks inside map definition block were parsed incorrectly when using new MAPINFO format.
Fixed, rendering: custom MODELDEF scale was applied incorrectly when "Stretched view in visual modes" option was enabled.
Updated ZDoom_DECORATE.cfg.
Updated GZDoom_MODELDEF.cfg.
2016-07-17 00:00:29 +00:00
MaxED
988ef7de3c Added "flagsrename" Game configurations property. It allows to override Thing flag names for specific things.
Added, Automap mode: added "Show locks" button (available in Hexen and UDMF map formats only).
Updated documentation.
2016-07-15 14:07:30 +00:00
MaxED
09e1eef95c Added LOCKDEFS parser.
Changed, Game Configurations: changed "basegame" value type from int to string.
Updated documentation.
2016-07-14 23:39:48 +00:00
MaxED
baa303261a Fixed, DECORATE parser: the parser was unable to process several quoted strings not separated by at least one space/tab char.
Fixed: the editor was unable to find actor sprites defined in TEXTURES.
2016-07-14 14:28:42 +00:00
MaxED
13068b1137 Added, Visual mode: added support for ROLLCENTER sprite rendering flag, updated ROLLSPRITE implementation.
Fixed, DECORATE support: the editor was unable to determine actor sprite when the actor itself had no sprites defined and the actor it inherited from was only defined in the game configuration.
Fixed, Drag geometry modes: linedefs without both sides were removed after dragging them when "Replace with Dragged Geometry" mode was active.
Updated ZDoom_DECORATE.cfg.
2016-07-13 21:53:48 +00:00
MaxED
ec9c3a71f9 Added: preview sprites are now generated from voxels. Those are used as previews and when model rendering is disabled.
Fixed: voxel support logic was outdated, which in some cases resulted in voxels not being loaded and in some weird behaviour when trying to change pitch/roll of associated things.
Updated sprites lookup logic. Now it correctly handles sprites named like NNNNA0B0.
Fixed: in some cases DECORATE parser was unable to correctly detect sprite name & frame(s) block.
Updated ZDoom_ACS.cfg.
Updated ZDoom_DECORATE.cfg.
2016-07-11 22:13:43 +00:00
MaxED
2627a5bb39 Added partial "LightMode" MAPINFO property support. Currently only "Standard" and "Doom" light modes are supported.
Updated Zandronum acc.
Updated Zandronum_ACS.cfg.
2016-06-19 21:17:46 +00:00
MaxED
14887bfb47 Added, Find and Replace mode: you can now search (and replace) unset sidedef/linedef/thing/sector flags.
Changed, TEXTURES parser: patch loading errors are now treated as warnings for optional textures.
Changed, TEXTURES parser: patch loading is now skipped for textures with "NullTexture" option.
2016-06-08 00:06:20 +00:00
MaxED
5212079f5f Removed: activating the same 2D mode repeatedly no longer toggles View modes.
Added "Next View Mode" and "Previous View Mode" actions.
Removed "Replace unused textures" checkboxes from Edit Linedefs window.
Fixed, SNDINFO parser: commented $ambient sound definitions were treated as editor comments (and still processed).
2016-06-05 22:06:56 +00:00
MaxED
528719622b Fixed, ACC compiler: in some cases compilation errors contained map file path as error source instead of lump name when compiling SCRIPTS lump.
Fixed, ACC compiler: in some cases includes were processed incorrectly when compiling external acs files.
2016-05-31 23:57:41 +00:00
MaxED
bc4f65e408 Fixed, vertex/linedef/sector dragging: in some cases middle textures were removed from dragged double-sided lines.
Fixed, ACC compiler: fixed a crash when trying to compile SCRIPTS lump of a new map, which wasn't ever saved.
2016-05-30 00:18:22 +00:00
MaxED
578135cad4 Added SNDINFO parser. Currently only the "$ambient" command is parsed. The values are used to update the titles of "Ambient Sound NN" things and to populate "ambient_sounds" Game Configuration enum.
Fixed, DECORATE parser: actors, which used "replaces" keyword and didn't have DoomEdNum were ignored.
Updated documentation ("(G)ZDoom text lumps support" page).
2016-05-24 22:11:29 +00:00