Commit graph

76 commits

Author SHA1 Message Date
volte
7fbd07e586
New feature: classic lighting renderer for visual mode (#680)
Added classic rendering mode to closer emulate software renderer visuals in visual mode
2022-01-04 20:17:12 +01:00
biwa
d68f41a2a3 IPK3 and IPK7 with an IWADINFO lump with a single IWAD definition are now recognized as the main resource file (used for the -iwad parameter when testing). Fixes #653 2021-12-10 11:10:42 +01:00
biwa
686cebd64d DeHackEd: fixed a problem where only the last DEHACKED lump was parsed. Fixes #657 2021-11-28 18:20:46 +01:00
biwa
05939279dc Dehacked: fixed a crash when loading data from a directory that didn't contain a Dehacked patch 2021-09-11 22:47:52 +02:00
biwa
fca82f5c91 Dehacked: added support for editor keys
Dehacked: Dehacked files are now properly loaded from directories
2021-09-11 22:11:07 +02:00
biwa
e362df1d98
Added DeHackEd support (#617) 2021-09-05 14:59:31 +02:00
Kevin Caccamo
2f48255ddf
Remove GetCorrectCaseForFile call in GetFileAtPath
It's redundant because GetCorrectCaseForFile is called in DirectoryReader.LoadFile, and UDB will change all filenames in a PK3 to lowercase when it loads a PK3 into memory.
2020-07-29 17:30:17 -04:00
biwa
6a926d337e Some cleanup, added some comments. 2020-07-29 22:05:12 +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
ZZYZX
b026e58a89 Added: MODELDEF #include support 2018-06-09 17:26:03 +03:00
ZZYZX
a5a942c798 Fixed: lump saving in script editor after editing archive with SLADE.\n Fixed: checking for concurrent modification in script editor while trying to save the lump. 2017-01-21 03:14:21 +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
45c3cbaae3 Added, Script Editor: added script configurations / auto-detection support for GAMEINFO, FONTDEFS and KEYCONF text lumps.
Fixed, "Open Map Options" and "Change Map" windows: fixed incorrect size of the items in the maps list when using high-DPI scaling.
Updated ZDoom_DECORATE.cfg and ZDoom_MAPINFO.cfg.
2016-12-12 12:35:18 +00:00
MaxED
9553042c84 Added, Script Editor: unreferenced ACS files are now shown in the Resources list.
Added, Script Editor: MENUDEF and SBARINFO files/lumps are now shown in the Resources list.
Fixed, ACS handling: fixed a crash when trying to parse an #include file, when specified path was absolute.
2016-11-24 21:09:24 +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
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
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
7b54c0141d Changed: single-sided linedefs with only back sidedef present are now automatically flipped when loading a map.
Changed, "Flip Linedefs" action: the action will no longer flip single-sided linedefs with only front side.
Fixed a crash when trying to determine sprite angles when images with non-sprite names, starting with expected characters, were present in the Sprites namespace.
2016-06-26 22:42:24 +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
6e4540b314 Internal: some DataReaders refactoring.
Updated ZDoom_DECORATE.cfg (ALLOWTHRUFLAGS flag).
2016-04-29 13:42:52 +00:00
MaxED
5ab50fc981 Fixed: added a simple extension-based filtering to Folder/PK3/PK7 resources to prevent loading data from unrelated resources.
Fixed: there can be several entries of the most ZDoom text lumps in WADs. Previously only the first one was processed.
Internal: rewritten DirectoryFilesList to use one collection instead of two.
2016-04-23 23:15:43 +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
6b4dc3a287 Added: HiRes images are now also applied to sprites.
Fixed: HiRes images should be loaded from subdirectories too.
Fixed: in some cases the editor was unable to locate existing "LoRes" images when loading HiRes images.
Disabled some HiRes-related warnings, because the editor doesn't track all sprites or graphics.
2016-03-22 22:24:33 +00:00
MaxED
0e78e6d39f Changed, Select Similar Sectors action: when "Effect" option is enabled, all sectors with at least one matching generalized/predefined effect will be selected.
Added, Tag Explorer plugin: a separate category for each generalized/predefined effect is now created when "Sort by action special" sort mode is used.
Added, Edit Effect window: normal and generalized effects can now be set at the same time.
Fixed, Edit Action window: in some cases Generalized actions were incorrectly processed.
Fixed, Edit Effect window: in some cases Generalized effects were incorrectly processed.
Fixed, Select Similar window: Tab control was incorrectly anchored.
Fixed, Nodes Viewer mode, cosmetic: segs angles were calculated incorrectly when showing nodes in classic format.
Fixed: HiRes textures, which didn't override any texture or flat were not loaded. 
Fixed, Tag Explorer plugin: linedef action categories were missing title when "Sort by action special" sort mode was used.
Cosmetic: renamed "Grid Setup" action to "Grid and Backdrop Setup".
2016-03-21 15:19:14 +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
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
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
75b107ef2f Updated: any graphic can be used as a skybox texture.
Fixed a crash when trying to get map title after closing Map options window.
Updated game configurations (Sector_SetPortal).
2016-01-13 09:34:32 +00:00
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
0c8b91f443 Fixed a crash when trying to create a texture from an unnamed TEXTURE1/2 entry. 2015-12-29 18:22:08 +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
b9eba267db Added ANIMDEFS CAMERATEXTURE support.
Some internal changes in text parsers logic.
2015-12-18 10:16:53 +00:00
MaxED
91e1fbbd53 Internal: added SNDSEQ parser.
Sector Edit Form, UDMF: Sound Sequence selector is now a drop-down populated by values parsed from SNDSEQ.
Documentation: updated "(G)ZDoom text lumps support" page.
Updated udmf_zdoom.txt.
2015-05-28 13:45:01 +00:00
MaxED
1b9f94f3f7 More code sanity changes (constructors of abstract classes should not be public or internal). 2015-05-27 12:38:03 +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
1c769eec3f Core, internal: added ReverbsParser. Reverbs can be accessed using General.Map.Data.Reverbs.
Sound Environment Mode: sound environments can now be picked by editing sound environment things.
Sound Environment Mode: detected sound environments names are now used as item names in the tree view.
Fixed, Classic modes: incorrect texture was used as unknown floor/ceiling texture (I broke this in r2199).
Fixed, MainForm: reverted MainForm.UpdateToolStripSeparators. By making it look simpler I made it work more buggy...
Updated ZDoom_DECORATE.cfg.
2015-01-25 23:22:42 +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
99f3ba2844 Changed long texture names handling. Texture names conversion is no longer required.
Texture browser form: added "Long texture names" check-box. It can be used to toggle between displaying long and short texture names.
Texture browser form: added "Show image size" check-box.
Texture browser form: image size is now shown differently.
Image Selector: added a button to toggle between long and short texture name.
Linedef info panel: long texture names are now displayed properly.
Sector info panel: long texture names are now displayed properly.
Fixed: "Save Screenshot" and "Save Edit Area Screenshot" actions were triggered multiple times when a child window was open.
Fixed: used textures should be always updated after using "Change map in current WAD" action.
Fixed, "Change map in current WAD": fixed a crash when trying to switch from a map with missing game configuration path.
Updated ZDoom_ACS.cfg.
2014-12-03 09:06:05 +00:00
MaxED
6b765f5a27 Added long texture names support (enabled when "longtexturenames" game configuration property is set to true and "Use long texture names" check box is checked in Map Options).
Open Map in Current WAD: resources are now reloaded when current and target map's resources don't match.
Added some boilerplate to UniversalParser and PK3FileImage.
Internal: ImageSelectorControl now has "UsePreviews" property.
Internal: added ConfigurablePictureBox.
Updated ZDoom_DECORATE.cfg.
2014-11-25 11:52:01 +00:00
MaxED
6df641564c DECORATE parser: parse errors are more detailed now.
Fixed, DECORATE parser: error status was not cleared when switching to different resource.
Fixed, DECORATE parser: fixed a parse error when DB2-specific actor properties (like "//$category") were located outside of actor's scope.
2014-10-23 12:48:31 +00:00
MaxED
7a9e01c098 Changed, Directory/PK3/PK7: on second thought, we don't need to load textures/flats from all possible locations (does anyone really needs to see sprites and graphics in the texture browser?), so this logic now only works when looking for patches.
Game Configurations: added "Custom Ambient Sound (no gravity)":14067, added a couple of missing parameters to other sound-related things.
2014-10-13 09:32:55 +00:00
MaxED
0cfb0207fb Fixed, Directory/PK3/PK7 image loading: we should use DoomTexture as expected format when loading flats from non-"Flats" folders. 2014-10-12 22:22:36 +00:00
MaxED
10da128475 Changed: both DoomTexture and DoomFlat formats should be checked when determining an image format if "Mix textures and flats" flag is set.
Changed: "imgz" images are now skipped while loading textures.
2014-10-12 21:59:16 +00:00
MaxED
d8df65b2c1 More fixes to PK3/Directory patch and texture search/creation logic. 2014-10-07 09:56:36 +00:00
MaxED
7c048ece38 More fixes to PK3/Directory patch and texture search logic.
Fixed, Textures Browser form: fixed another case of the blank textures list after opening the form.
2014-10-07 08:56:21 +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
a61bba2536 UDMF map format: increased maximum supported texture name length to 2048.
Preferences: added "Capitalize texture names" option (located in Preferences -> Appearance -> Additional options). When disabled, the casing of displayed texture names will match filenames for textures loaded form TEXTURES or pk3/pk7/folder resources.
Textures Browser: added support for displaying long texture names.
Errors list is now cleared when reloading resources.
Visual mode: added basic support for sector slopes (no UI for that feature yet).
2014-05-19 13:33:38 +00:00