Commit graph

233 commits

Author SHA1 Message Date
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
MaxED
74f749fd68 Added, DECORATE support: #region blocks are now used as thing categories ("//$Category" actor block definition overrides these). Additional category-wide special comments are now available (see documentation).
Updated documentation ("DECORATE keys" page).
2016-05-13 13:41:09 +00:00
MaxED
895a7bb719 Fixed, MODELDEF parser: negative frame number of FrameIndex definition should be treated as "skip model rendering". Also added some more corner case handling.
Fixed, Sound Environment mode: in some cases the view was not updated after updating sound environments.
Added, Sound Environment mode: Sound environment things of currently highlighted sound environment are now highlighted.
2016-05-04 11:16:17 +00:00
MaxED
7fef84fb5f Fixed, DECORATE parser: editor comments caused the parser to skip next actor definition when used in incorrect scope. 2016-05-02 19:16:01 +00:00
MaxED
6b25086795 Internal: did some refactoring. 2016-04-27 09:13:07 +00:00
MaxED
c2618179d8 Added support for "Light()" DECORATE state expression. 2016-04-20 21:55:33 +00:00
MaxED
a4885bf98f Added support for "Bright" DECORATE state keyword. 2016-04-20 20:06:16 +00:00
MaxED
3eb05509af Added, Visual mode: "Increase/Decrease Scale", "Reset Texture Offsets" and "Reset Local Texture Offsets" actions now work when used on 3d floor sides.
Fixed: CVARINFO parser was unable to parse negative int/float values.
Fixed: in some cases TextLabel text size was checked before it was calculated. 
Internal, Visual mode: reduced the number of unnecessary geometry updates when changing map geometry.
Updated ZDoom_DECORATE.cfg (atan2 and VectorAngle).
2016-04-19 20:40:42 +00:00
MaxED
952e895af0 Fixed, DECORATE support: "DistanceCheck" value is a CVAR name, not an actual value.
Internal: added CVARINFO parser.
2016-04-13 14:11:35 +00:00
MaxED
42607f704f Added, Classic modes: thing sprites are now angle-dependent. 2016-04-08 14:02:08 +00:00
MaxED
23e4a86a95 Re-added, MODELDEF parser: actor classname can have spaces, so it can be quoted...
Added, GLDEFS parser: light name can have spaces too, so it also can be quoted...
Removed some excessive quote stripping from most of the ZDoom-related text parsers.
Some parsing error reporting improvements in MODELDEF and GLDEFS parsers.
Added a special warning when a texture/flat is overridden by a cameratexture.
2016-04-06 22:54:04 +00:00
MaxED
abfcd8e53b Added, Preferences -> Appearance: added "Anisotropic filtering" and "Edge Antialiasing" settings. Also regrouped some settings.
Added, "Check polyobjects" error check: added a check for matching Polyobject and Mirror Polyobject numbers of Polyobj_StartLine action.
Changed, Visual mode: anisotropic filtering is now always applied (previously it was applied only when bilinear filtering was enabled).
Fixed, Visual mode: in some cases light values were incorrectly transferred between 3d floors and regular floors/ceilings.
Fixed, ACS parser: includes for each library must be stored separately (fixes inability to compile a script with an included library, which in turn includes files already included by the script).
2016-03-25 14:06:00 +00:00
MaxED
adadca9d99 TEXTURES support: both patch Blend syntaxes are now supported (previously only "Blend <string color>[,<float alpha>]" was supported).
Added X11R6RGB parser.
Rewritten parts of unhandled exceptions handling to reduce the chance of additional exceptions happening after the first one.
2016-03-16 23:26:53 +00:00
MaxED
4aefe78975 Fixed source window freezing while Open Map window was open when opening a wad by dragging & dropping it on the editor's main window.
Image loading-related warnings and errors now display more information about the image resource.
2016-03-14 21:53:53 +00:00
MaxED
49525177e3 Cosmetic: changed ' to " in some more Error and Warning messages. 2016-03-08 20:41:06 +00:00
MaxED
d44fccfe31 Fixed, ACS parser: the names of include files bundled with acc compiler should be also checked for duplicate includes from user scripts.
Fixed, Script Editor: fixed another case when clicking a script error item didn't open/switch to the error source file.
Fixed, Update checker: fixed a crash when trying to check for update without active Internet connection.
2016-03-07 20:01:13 +00:00
MaxED
87a54b1e4a Added HiRes textures support.
Fixed, Script Editor: fixed a crash when trying to open Script Editor in a Doom map format map.
2016-03-04 08:10:56 +00:00
MaxED
9a10ef9b78 Added float user var support (DECORATE parser and Custom Fields UI).
Fixed, Custom Fields UI: in some cases mixed user var values were displayed incorrectly.
2016-03-02 21:55:33 +00:00
MaxED
95e28518cb DECORATE and MAPINFO parsers: added editor number range check. 2016-02-28 21:21:50 +00:00
MaxED
80fc47f247 Fixed, DECORATE parser: quoted actor string properties (like RenderStyle) were processed incorrectly.
Fixed(?), Update checker: in some cases incorrect update check result was displayed.
2016-02-26 22:06:42 +00:00
MaxED
0f7aa9f827 Added, Sector Edit window, UDMF: added UI for sector damage-realted properties.
Added, DECORATE parser: damage types are now parsed.
Added: the editor now reports duplicate textures/flats/patches/sprites/colormaps/voxels in the loaded wads.
Added, all text parsers: added #region/#endregion support.
Added TERRAIN parser.
Added, Script Editor: added special handling for DECORATE special comments.
Added, Sector Edit window, UDMF: Soundsequence value was setup incorrectly when showing the window for multiple sectors with mixed Soundsequence value. 
Fixed, Map Options window: "Strictly load patches between P_START and P_END" was not applied when applying the changes.
Fixed, MAPINFO parser: MapInfo should be treated as defined when a map MAPINFO block corresponding to current map is encountered even if it doesn't define any properties recognized by the editor.
Fixed, all text parsers: in some cases error line was calculated incorrectly when reporting an error detected by a text parser.
Cosmetic: changed ' to " in the rest of Error and Warning messages.
Internal: added text resource tracking.
Updated ZDoom_DECORATE.cfg.
Updated documentation ("Game Configuration - Basic Settings" page).
2016-02-22 12:33:19 +00:00
MaxED
6177c9cca9 Fixed, Texture Browser window: in some cases navigating the textures list using up/down arrows caused an exception.
Fixed, Map Analysis window: fixed an exception on copying warnings to clipboard when the clipboard was used by other application.
Fixed, TEXTURES parser: added special handling for "TNT1A0" sprite name so a texture with this sprite as a single patch is no longer treated as failed loading.
Fixed, Visual mode: in some cases (like line slopes used in several adjacent sectors) sector effect updates were triggered multiple times for the same sector, resulting in noticeable slowdowns and in some cases in infinite recursion.
Updated ZDoom ACC.
2016-02-15 14:06:46 +00:00