Commit graph

74 commits

Author SHA1 Message Date
MaxED
37feaa5de1 Added, Visual mode: sky rendering. Currently classic skies and GLDEFS Skyboxes are supported.
Added "Toggle sky rendering" action and toolbar button.
Added, MAPINFO parser: the editor now recognizes map number from classic map definition format. Hexen MAPINFO is now properly parsed.
Added, MAPINFO support: if current map definition contains map name as a text string, it will be shown in the editor's header.
Changed: "Toggle dynamic lights rendering" now toggles between "Don't show dynamic lights" and "Show dynamic lights" when used in Classic modes. 
Changed, Things mode: lowered the opacity of dynamic light radii.
Changed, (G)ZDoom text parsers: empty include files now trigger a warning instead of an error and no longer abort parsing.
Fixed, Game configurations: moved Stalagmite:5050 thing to Doom block (so the editor no longer tries to load it for non-Doom game configurations).
Fixed(?), Visual mode: probably fixed a hard-to-trigger exception when sorting translucent geometry.
Fixed, Visual mode: floor glow effect was incorrectly applied to walls (was broken in R2452).
Internal: restructured most of MAPINFO and GLDEFS parsers. Should be more maintainable now.  
Updated ZDoom ACC.
Updated zdbsp to 1.19.
Updated documentation.
2016-01-11 13:00:52 +00:00
MaxED
59da0cf2b1 MODELDEF, DECORATE, GLDEFS parsers: fixed a crash when checking a file path when said path contained unsupported characters. 2016-01-01 18:10:16 +00:00
MaxED
3a35b7603a Fixed, Map Analysis mode, "Check stuck things" check: rewritten parts of the flags checking logic to allow more accurate flag checks.
Fixed, Map Analysis mode: fixed a crash when trying to dissolve an invalid sector when one of it's linedefs referenced it on the both sides.
Fixed, Sectors mode: fixed incorrect undo description when deleting sectors.
Internal: joined declaration and assignment of some more variables.
2015-12-28 15:01:53 +00:00
MaxED
f6f277065f ACS parser: fixed several cases when #include and #import directives were processed incorrectly.
Internal: joined declaration and assignment of some variables.
2015-12-27 21:54:50 +00:00
MaxED
f86bc370d9 Fixed, GLDEFS parser: in some cases the parser was unable to detect the end of "Glow" block, which resulted in skipping the rest of the file. 2015-12-27 00:13:31 +00:00
MaxED
f3fbf241d9 Fixed, text parsers: in some cases include directives were processed differently from ZDoom.
Fixed, ACS parser: absolute and relative include paths handling was broken in R2448.
2015-12-21 14:17:47 +00:00
MaxED
b9eba267db Added ANIMDEFS CAMERATEXTURE support.
Some internal changes in text parsers logic.
2015-12-18 10:16:53 +00:00
MaxED
dbcc57b7a6 Fixed, Script Editor: file was marked as changed when changing script configurations.
Fixed, Script Editor: in some cases clicking on an error in the errors list didn't navigate to the error location.
Fixed, Script Editor: in some cases incorrect error line number was shown.
Fixed, Text lump parsers: fixed a crash when trying to get a filename from a quoted string with missing closing quote.
Fixed, Text lump parsers: in several cases parsing errors were ignored by overlaying data structures.
Fixed: in some cases Thing Filter thing flags were cleared when switching game configurations in the "Game Configurations" window.
Changed, PK3 reader: loading of files with invalid path chars is now skipped instead of skipping loading of the whole resource. Also more helpful warning message is now displayed.
Updated SharpCompress library to v.0.11.2.0.
2015-12-17 10:07:28 +00:00
MaxED
e8cda3c9c5 Script Editor:
Added: Tab text now looks differently when appropriate script was changed.
Added: Script Editor now has it's own status bar.
Added: several files can now be opened at once when using "Open File" command.
Added: ACS scripts navigator now shows script and function arguments.
Changed: when closing a tab, previous tab is selected instead of the first tab.
Changed: SCRIPTS lump can't be compiled as a library.
Changed: external acs files can only be compiled as libraries.
Changed: when an external acs file is marked as #library, it will be saved as [library name].o alongside [filename].acs.
Fixed: files opened using "Open File" command were immediately flagged as changed.
Fixed: Script Editor was unable to navigate to error location after clicking on the error description when the error was in include file.
Updated ZDoom ACC.
2015-11-30 14:18:42 +00:00
MaxED
e3cbe79113 Fixed, ACS parser: fixed another crash when trying to load zero-length acs lump/file. 2015-11-28 23:31:54 +00:00
MaxED
6d0823b943 Fixed, ACS parser: fixed a crash when trying to load zero-length acs lump/file.
Fixed, Visual mode: fixed incorrect GLDEFS glow brightness calculation for Things.
Updated ZDoom_DECORATE.cfg.
2015-11-28 20:59:32 +00:00
MaxED
dfdcaaf696 MODELDEF support: model frame number is now taken into account when loading MD3 models.
MODELDEF support: model frame number / frame name are now taken into account when loading MD2 models.
Compiling: changed the way /LARGEADDRESSAWARE flag is applied so it works when building using VS and batch files.
2015-11-17 12:22:49 +00:00
MaxED
f452fca58c Fixed, Script Editor: in some cases includes list was not updated before trying to compile the script leading to compilation failure.
Changed, ACC compiler: when building includes list, the compiler no longer tries to find/copy include files defined in current script configuration (previously it was hardcoded to skip "zcommon.acs" and "common.acs" only).
Fixed, Visual mode: things with Additive RenderStyle were rendered as additive only when their alpha was less than 1.0.
2015-11-13 21:42:41 +00:00
MaxED
13c3155db5 Removed "Paste Properties Options" action.
Added "Paste Properties Special" actions in "Classic" and "Visual" categories. They work the same way as "Paste Special" action.
Added: "Copy Properties", "Paste Properties" and "Paste Properties Special" options are now shown in the Edit menu if current classic mode supports them.
Changed, Paste Properties Special window: only options relevant to current map format are now displayed.
Changed, Paste Properties Special window, UDMF: all UI-managed options are now available.
Fixed: MAPINFO parser was unable to process "include" directives.
Fixed, General interface: selection info was reset to "Nothing selected" after few seconds regardless of current selection.
Fixed, Visual mode: thing bounding boxes were not updated when changing things positions using Randomize mode.
Fixed, Visual mode: event lines were displayed at incorrect height when entering Visual mode for the first time.
Fixed, Texture Browser window: when MixTexturesFlats Game Configuration option is disabled, textures/flats are no longer shown in the Used group when flats/textures with the same names are used in the map. 
Fixed(?): probably fixed an exception some users reported when trying to initialize a Classic mode after switching from Visual mode with "Sync cameras" option enabled.
Changed, Game configurations, Thing Categories: a block must have at least one thing category property to be recognized as a thing category.
Changed, Visplane Explorer: the plugin now outputs more info when it fails to initialize vpo.dll.
Cosmetic, Thing Edit window, Doom/Hexen map format: adjusted UI layout so thing flags control no longer displays scrollbars in Hexen map format.
Internal: merged methods from UDMFTools into UniFields, removed UDMFTools. 
Updated Inno Setup script (added VC++ 2008 SP1 distributive). 
Updated ZDoom_DECORATE.cfg (A_CheckBlock).
Updated documentation (added "System Requirements" page).
2015-10-09 12:38:12 +00:00
MaxED
deb65258ae Added, Visual mode, GLDEFS, GLOOME: subtractive glow is now supported.
Changed, Visual mode: changed thing fog calculation logic. Should be closer to GZDoom now.
Fixed, GLDEFS parser: "height" texture parameter was not treated as optional.
Fixed, text lump parsers: in some cases incorrect line number was displayed in error and warning messages.
Fixed, Visual mode: glow effect was not applied to sectors with 3 sidedefs.
Fixed, Visual mode: in some cases glow effect was not updated when replacing textures. 
Fixed, general interface: "Full Brightness" button state was not updated during map loading.
Fixed, Drag Linedefs/Vertices/Sectors/Things modes: positions of line length labels were not updated while panning the view.
Cosmetic: added a bunch of new icons.
Cosmetic: changed Visual mode crosshair.
2015-08-27 20:46:49 +00:00
MaxED
c0fbf5e71e Fixed, MAPINFO parser: map/defaultmap/adddefaultmap sub-blocks were not skipped properly.
Changed, General interface: all main menu toolbars are now visible when starting the editor for the first time.
Changed, General interface: "Prefabs" and "Edit" menus are now hidden when no map is loaded.
Changed, General interface: moved "Dynamic Grid Size" menu item to the "Edit" menu, also moved the button to the matching position on the toolbar.
Changed, General interface: changed "Show Comments" menu item position in the "View" menu, also moved the button to the matching position on the toolbar.
Game configurations: removed "gamedetect" block, because it was unused by the editor.
Updated documentation ("Map Format Settings" page).
2015-08-23 23:32:12 +00:00
MaxED
b3ab923487 UDMF: most of the code now supports multiple sector/linedef tags ('moreids' UDMF property). The only things left out are Tag Explorer and Tag Range plugins. 2015-07-28 15:04:21 +00:00
MaxED
5cd998b1fc Changed, Linedef/Thing Edit windows: when using ACS specials and choosing a script with arguments, appropriate action argument names are replaced with script argument names.
Changed, Linedef/Thing Info panel: when displaying a linedef/thing with an ACS special, which uses a script with arguments, appropriate action argument names are replaced with script argument names.
Changed, Sector/Linedef/Thing Edit windows, Comments tab: window is no longer closed when pressing Enter while editing a comment. Newline is inserted instead.
Changed: Script Editor window is now toggled to normal state when pressing "Show Script Editor" button if said window was already open, but minimized.
Fixed: in some cases action arguments were not cleared during setup when displaying multiple map elements with mixed argument values.
Internal: added ArgumentsControl.
2015-07-27 09:02:28 +00:00
MaxED
6eef13c252 Fixed: X and Y scale, defined in MODELDEF, were applied incorrectly. 2015-06-26 14:44:57 +00:00
MaxED
3e70792915 Changed, Internal: ZDTextParser.ReadToken() now returns empty string instead of null when it's unable to read a token. This fixes many potential crashes when trying to parse malformed data (and hopefully doesn't bring new bugs...). 2015-06-18 19:45:39 +00:00
MaxED
8257c6869b Added, MAPINFO parser: we can also get "skyflatname" gameinfo property while we at it. 2015-05-23 21:40:21 +00:00
MaxED
2fe402b165 Fixed, MAPINFO parser: properties, written like '667=CuteCaco' were not parsed, while '667 = CuteCaco' worked fine.
Changed, Classic modes: increased maximum zoom level to 9000% (was 3000%).
Added, General interface: added "800%" zoom level to the bottom toolbar zoom menu.
Added, General interface: added "400%" and "800%" zoom levels to "View -> Zoom" menu.
2015-05-18 18:49:15 +00:00
MaxED
f30c1ba0c6 Fixed, MAPINFO parser: the parser was unable to handle DoomEdNum block's action special definitions.
Fixed, DoomEdNum handling: in some cases ThingTypeInfo was not assigned a proper DoomEdNum and was not placed in a ThingCategory.
2015-04-29 08:36:10 +00:00
MaxED
c2b3e92673 Fixed, ACS script names parser: we should skip inner scopes of scripts and functions.
Updated ZDoom_DECORATE.cfg.
2015-04-28 08:31:06 +00:00
MaxED
76559ae881 Added GZDoom's glowing flats (http://www.zdoom.org/wiki/GLDEFS#Glowing_flats) support to Classic and Visual modes.
MAPINFO: added "DoomEdNum" and "SpawnNums" blocks support.
MAPINFO: added "#include" directive support.
MAPINFO: added "$gzdb_skip" special comment support.
DECORATE: "spawnthing" Game Configuration block is now updated using "SpawnID" actor property.
Game configurations: added "class" property to the most of ZDoom things.
Actions: removed "Reload MAPINFO" action.
Documentation: merged "GLDEFS and MODELDEF support", "(Z)MAPINFO support" and "TEXTURES support" topics into "(G)ZDoom text lumps support", added info about the other text lumps GZDB can use.
2015-04-14 11:33:57 +00:00
MaxED
56f9ad8469 More fixes for MODELDEF fixes from previous commit...
Updated InnoSetup config file.
2015-04-13 10:37:08 +00:00
MaxED
6565dd9384 MODELDEF parser: a model should be skipped when it's FrameIndex is -1. 2015-04-13 09:50:17 +00:00
MaxED
d72e642dce Fixed, Script Editor, Script names parser, DECORATE actor names parser: in some cases (for example, when entering utter garbage instead of proper acs), parsers could get stuck in an infinite loop...
Updated ZDoom_ACS.cfg.
2015-03-21 19:41:54 +00:00
MaxED
7dc4aefdd6 GLDEFS parser: added "//$GZDB_SKIP" special comment. Parsing of the file is stopped after this comment is encountered.
Updated ZDoom_DECORATE.cfg.
2015-03-04 20:05:54 +00:00
MaxED
c07df8f596 Changed, Thing and Linedef Edit Forms, script selector drop-downs: scripts from include files are now shown using different color and after the map scripts.
Fixed, Visual mode, UDMF: sector geometry cache was not updated after using "Match Brightness" and "Change Brightness" actions on ceilings, so the changes made by them were not visible when using Classic modes in "View Ceiling Textures" mode.
Fixed, Visual mode, UDMF: "Match Brightness" and "Change Brightness" actions set brightness incorrectly in some cases.
Fixed: ACS script names gathering logic was unable to process relative #include and #import paths (like '#import "..\acs\qtilt.acs"').
Updated ZDoom_DECORATE.cfg.
2015-02-24 13:38:35 +00:00
MaxED
25ca6f4e9b Fixed, MODELDEF parser: looks like INHERITACTORPITCH and INHERITACTORROLL flags affect only pitch/roll set in the map editor, not "PitchOffset" and "RollOffset" MODELDEF properties... 2015-02-19 17:59:45 +00:00
MaxED
3343f6d2c7 Fixed, Script Editor: in some cases script navigator drop-down was not updated when required.
Changed, Script Editor: changed text cursor behavior when selecting an item in the script navigator drop-down to Visual Studio-like.
2015-01-22 19:03:21 +00:00
MaxED
3080841766 Fixed, GLDEFS parser: we should check for duplicate entries within current resource, not globally.
Moved stuff around a bit in PK3Reader. Will it fix random crashes? I dunno, a least I was no longer able to trigger them...
Recompiled SharpCompress library using VS 2008, so it no longer references .net 4.0 stuff. Will it fix random crashes? See above.
2015-01-20 12:20:35 +00:00
MaxED
deb43343bb Visual mode: "Fit Textures" action can now fit textures across multiple selected surfaces. A number of times to repeat a texture can now be specified.
Visual mode: removed "Fit Texture's Width" and "Fit Texture's Height" actions.
Visual mode: "Auto-align texture offsets" actions were incorrectly aligning double-sided middle walls in some cases.
Visual mode: "Auto-align texture offsets" actions now align non-wrapped double-sided middle walls to vertical offset closest to their initial vertical offset.
Visual mode: middle parts of double-sided walls were ignored when Shift-selecting walls.
Nodebuilders/Game configurations: GL nodes definitions were missing from game configurations.
Nodebuilders/Game configurations: "~MAP" wildcard can now be a part of a lump name. 
Nodebuilders: GL nodes were not properly handled by the editor.
Main Window: the window is now moved into the view when stored position is ouside of screen bounds. 
Classic and Visual modes: changing thing pitch was ignored in some cases.
Visual mode: raising and lowering a thing with "+SPAWNCEILING" flag now works the same way as when raising/lowering a regular thing.
Visual mode: using "Raise/Lower Floor/Ceiling to adjacent sector" actions on a thing with "+SPAWNCEILING" flag now works the same way as when using them on a regular thing.  
Rendering: even more fixes to MODELDEF and UDMF properties-related model rendering logic.
Internal, ResourceListEditor: rewritten resource validation check in a more OOP-ish way.
Configurations: fixed an infinite loop crash when a file was trying to include() itself.
UDMF thing flags: added Skill 6-8 to the flags list (because there are thing filters for these).
ZDoom_ACS.cfg: added definitions for SetTeleFog and SwapTeleFog.
ZDoom_DECORATE.cfg: added definitions for A_SetTeleFog and A_SwapTeleFog.
Updated ZDoom ACC.
Updated documentation.
2014-12-22 21:36:49 +00:00
MaxED
716d9d26f4 Rendering: MODELDEF "offset" property is now supported.
Rendering: mode fixes to MODELDEF and UDMF properties-related model rendering logic.
2014-12-11 12:55:35 +00:00
MaxED
4d9c551790 Fixed, Rendering: MODELDEF RollOffset, AngleOffset, Scale and ZOffset properties were applied incorrectly.
Fixed, Rendering: VOXELDEF Scale property was applied incorrectly.
2014-12-10 22:50:16 +00:00
MaxED
15b2adfe30 Texture Browser Form: swapped foreground and background colors of texture size labels.
Fixed, Texture Browser Form: well, I broke "Tab" key functionality again (in previous commit)...
Maintenance: changed curly braces style to match DB2 one (hopefully not breaking anything in the process...).
Maintenance: changed private method names casing to match DB2 one.
2014-12-03 23:15:26 +00:00
MaxED
05d097a713 Internal: removed ambiguous method override. 2014-10-23 13:04:01 +00:00
MaxED
88e5e790e7 Textures Browser form: empty texture sets are no longer shown when mixed textures & flats is disabled in the current game configuration.
Textures Browser form: PK3/Directory TEXTURES images are now shown in a separate folder in the resources tree.
Fixed, Textures Browser form: fixed a logic error when trying to select initial flat when mix textures & flats was disabled in the current game configuration (this resulted in the blank textures list after opening the form).
Fixed, Textures Browser form: resources tree showed textures count even when browsing flats.
Fixed, Textures Browser form: PK3/Directory textures took precedence even when browsing flats (this means when there were a flat and a texture with the same name, a texture was displayed when browsing flats).
Fixed, Classic modes: actor's scale set in DECORATE was ignored when rendering models.
Fixed, MODELDEF parser: in some cases, several model definitions were skipped when trying to skip the current one.
Fixed, resource management: flat and sprite TEXTURES definitions were loaded only from TEXTURES files named "TEXTURES".
Fixed/added, PK3/folder resource management: patch locations for sprites defined in TEXTURES are now checked the same way as in ZDoom (previously only the "sprites" folder was checked).
Fixed/added, PK3/folder resource management: patch locations for textures defined in TEXTURES are now checked the same way as in ZDoom (previously only the "textures" folder was checked).
Fixed, PK3/folder resource management: flats defined in TEXTURES were not added to the global Flats image list.
Fixed, PK3/folder resource management: in some cases, the image search algorithm could find flats, textures, patches or sprites in incorrect folders (for example, it could find a flat in "flats_backup" folder).
2014-10-07 00:23:02 +00:00
MaxED
4a1dacc11a Script Editor: functions are now shown in the script selector drop-down. 2014-07-16 09:47:23 +00:00
MaxED
00688d4c7c Script type can now be chosen when creating a new map and changed in Map Options form.
BCC script compiler (https://github.com/wormt/bcc/) is now bundled with GZDB.
Main Form, "File" menu: only existing files are now added to the "recent files" list.
2014-07-11 10:13:26 +00:00
MaxED
8555d75cd2 A r1959 change in ImageSelectorControl prevented inherited classes from showing properly in Visual Studio's designer.
Also made a bunch of methods static.
2014-05-20 09:09:28 +00:00
MaxED
9c7b8e4e3c Model rendering (all modes): UDMF scale, pitch and roll are now displayed.
Thing Edit Form, UDMF: added controls for setting pitch, roll, scale, render style, fill color, alpha, health and score.
Visual mode, UDMF: UDMF scale is now applied when rendering sprites.
Added Thing Statistics form (Edit -> View Thing Types...), which shows all loaded thing types with some additional info.
Visual mode: sprites with negative ScaleX and positive ScaleY were not rendered properly.
Classic modes: display was not updated after loading a sprite.
Current testing engine change was not saved on closing the program when no other game configuration settings were changed.
2014-04-30 10:01:22 +00:00
MaxED
e0179f79a6 GLDEFS parser: made dynamic light attaching rules a bit stricter. Now a light is attached to an actor if frame length is 4 chars or 5-th char is 'A' in GLDEFS object definition. 2014-03-11 12:35:26 +00:00
MaxED
abb77e4aab Angle control: in some cases angle was set to 360 instead of 0 when clicking on the control.
GLDEFS parser: added a warning when the interval of animated dynamic light is 0.
Visual mode: fixed a crash when an angle of animated dynamic light was set to 0 and light animation was enabled.
Tag explorer: removed unnecessary mode switching when selecting map elements of the same type.
2014-03-11 09:44:39 +00:00
MaxED
0369c969d1 According to dotnetperls.com, "new Dictionary<string, [anything]>(StringComparer.Ordinal)" works 17% faster than "new Dictionary<string, [anything]>()", so let's stick that everywhere and see what happens :)
Draw Curve Mode: added settings panel.
Sectors mode: added "Make Door" button to the toolbar.
Swapped Side panel and Info panel z-order. 
Interface: split toolbar into 3 separate toolbars. All toolbar buttons are now viewable at 1024x768.
Interface: grouped stuff in "Modes" menu a bit better.
Interface: added "Draw [stuff]" buttons to modes toolbar.
Interface: reorganized main menu. Hope it makes more sense now.
API: added General.Interface.AddModesButton() and General.Interface.AddModesMenu(), which can be used to add buttons to specific group in "Modes" toolbar and menu items to specific group in "Modes" menu, so actions, which behave like an editing mode, but are not part of one can be added there.
2014-02-26 14:11:06 +00:00
MaxED
3e5f85dc8f Game configurations: added "fixedrotation" property to dynamic lights, which use the angle property as a parameter.
Maintenance: removed a ton of redundant stuff.
2014-02-21 14:42:12 +00:00
MaxED
47a84ad20f Added VOXELDEF support.
Visual mode: added "Match Brightness" action.
DECORATE parser: actor names, which contain "+" and "-" symbols, are now parsed correctly.
Fixed an error in lump ranges creation logic.
Cosmetic fixes in various warning/error messages.
Updated documentation.
2014-01-03 10:33:45 +00:00
MaxED
0366f13c9a Flat textures were loaded incorrectly in some cases.
UDMF map parser should work ~35% faster now.
Texture browser form: keyboard focus was not updated when switching between textures using Tab key.
"Graphics" folder is now checked when searching for texture patches.
Various cosmetic changes here and there.
2013-12-20 09:24:43 +00:00
MaxED
7c8370b9d3 Script editor: fixed a crash when trying to compile one-line script. 2013-11-18 12:36:42 +00:00