Commit graph

136 commits

Author SHA1 Message Date
Magnus Norddahl
4e86765f2a Implement pcx loader (I can't believe I wrote this in 2020...) 2020-01-14 18:49:45 +01:00
Magnus Norddahl
3bbe76b225 Remove DevIL dependency
Remove IImageLoader code duplication
2020-01-14 17:25:35 +01:00
Magnus Norddahl
5363fe0717 Produce release build
Disable devil
Support mac build (which is useless as mono doesn't support winforms on modern macOS)
2020-01-06 08:52:59 +01:00
Magnus Norddahl
3cae8740ef Prevent Image.FromStream from closing the stream if the image isn't recognized 2019-12-28 05:34:38 +01:00
ZZYZX
197f96a059 Unfix MaxED's TGA fix 2019-12-27 12:43:06 +02:00
Magnus Norddahl
af3d74d186 Fix DevIL crash by protecting it with a mutex lock
Use the .net framework image loaders if they work. They do for the sane formats (PNG and JPEG) and they are faster, too.
Enable usage of multiple threads for resource loading now that it no longer crashes
2019-12-27 07:45:44 +01:00
ZZYZX
96f2b4e94e Fixed TGA texture loading 2019-12-24 21:33:16 +02:00
ZZYZX
714bb84204 Implemented alternate fix for Linux paths (2) 2019-12-14 23:52:12 +02:00
ZZYZX
f0aee1e174 Merge branch 'master' into slimgl_merge 2019-12-14 23:50:40 +02:00
biwa
ba6dc546ba - (Hopefully) addressed a problem where images failed to load when opening another map in the 64 bit version
@ This is a workaround for #295.
2019-10-13 13:47:29 +02:00
Kevin Caccamo
b5ad511671 Enable DevIL on Linux
Remove NO_DEVIL defines, and add devil.dll -> libIL.so.1 DLL mapping to app.config
2019-09-03 22:47:59 -04:00
Magnus Norddahl
9b300126e9 Disable DEVIL and create build solution specifically for mono 2019-08-29 17:56:12 +02:00
ZZYZX
10167038ae Fixed: on a second thought, let's just make FileImageReader fall back to guessed image if possible... 2018-03-31 14:01:36 +03:00
ZZYZX
f7c2a577e4 Fixed: made more correct checking for legal file formats; now it should actually validate the format upon loading 2018-03-31 13:38:30 +03:00
ZZYZX
995e23f290 Enabled parsing of NaN in UDMF so that the existing buggy maps load; made it throw exceptions when a NaN vertex is added to the map 2018-03-25 01:40:31 +02:00
ZZYZX
f97c15ae95 Fixed: Internal: made most 'get' calls in WADReader use synchronized MemoryStream duplicate as opposed to operating on WAD stream directly. Hopefully fixes multithreading issues with sprite loading. (reported by Mysterious Haruko, camaxide) 2017-03-03 20:33:40 +02:00
ZZYZX
f8959507fb Fixed: old map format is now autodetected when saving a map over an existing one. Saving a map in different format shouldn't leave junk lumps anymore. 2017-02-14 15:25:16 +02:00
ZZYZX
b996d8a380 Internal: not copying all lumps manually anymore on 'Save As'. The WAD is copied with File.Copy anyway. 2017-02-14 11:56:38 +02:00
ZZYZX
ebd7fb1a57 Upgrade to VS2015 (14.0) 2017-01-15 00:35:40 +02:00
MaxED
5dd45ffdca Updated, Script Editor: redesigned "Find and Replace" window. It can now search/replace in all opened tabs and all detected text resources.
Fixed, Script Editor: resources list control was incorrectly positioned when using DPI scaling.
2016-12-02 13:45:03 +00:00
MaxED
1523d06ee3 Updated, Visual mode: some cases when the sky hack must be applied were not handled.
Updated, Script editor: script editor was unable to show error location after double-clicking on it in the Warnings and Errors window when said location was inside of a WAD located in a PK3 file.
Updated, text lumps tracking: already parsed DECORATE/GLDEFS lumps are now added to the text lumps list even when DECORATE/GLDEFS parsing fails, allowing you to fix errors without the need to use external tools.
Fixed: in some cases the editor could stuck in an infinite loop when searching for wad lumps.
2016-11-28 20:01:47 +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
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
8570922d0d Fixed the editor crashing/locking up when trying to read TEXTUREX patch containing invalid data. 2016-10-28 21:07:33 +00:00
MaxED
9908e41197 Added, Game configurations: added "ignoreddirectories" parameter. It lists directory names to be ignored when loading PK3/PK7/Directory resources.
Added, Game configurations: added "ignoredextensions" parameter. It lists file extensions to be ignored when loading PK3/PK7/Directory resources.
Updated: sector triangulation logic now works ~20% faster.
Changed: a case when a pk3/pk7 archive contains several entries with identical filename is now treated as a warning, not as an error.
Fixed, Visual mode: absolute floor/ceiling brightness should not be affected by brightness transfer effects (like 3d floors).
Fixed, Draw Lines mode: in some cases unclosed sectors were created when several points were successively drawn at the same location.
Updated documentation.
2016-10-24 19:19:11 +00:00
MaxED
70d35bf1d6 Added, Edit Sectors window: added UI for floor/ceiling portals.
Updated ZDoom_DECORATE.cfg.
Updated documentation ("Game Configuration - Sectors Settings" page).
2016-10-11 12:58:35 +00:00
MaxED
4f76483439 Fixed, DB2 bug: temporary map file was growing in size after every map save/test, which eventually resulted in integer overflow exception when the file size reached ~2Gb.
Fixed, Draw Geometry modes: fixed a crash when moving the mouse cursor over a linedef while holding Alt-Shift keys when there were no new points drawn in current mode.
2016-06-30 17:57:51 +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
ea81ad80a8 Added, Search and Replace mode: "Find Sector Brightness" search mode now supports "<=", "<", ">=" and ">" prefixes.
Fixed, Sound Environment mode: fixed several cases when single-sided lines with only back side could cause either logic errors or crashes.
Fixed, Automap mode: fixed several cases when single-sided lines with only back side could cause logic errors.
Debug: added some debug code to WAD.Insert() to investigate the issue when lumpoffset could become negative.
2016-06-25 14:09:39 +00:00
MaxED
a852719062 Added, Visual mode: added "Toggle Alpha-based Texture Highlighting" action. When enabled, 3d floor textures and middle textures on double-sided lines will be highlighted only when the crosshair points at a non-transparent pixel.
Changed: multi-part sectors are now better preserved after drawing new lines.
Changed, TEXTURES parser: patch loading errors are now ignored for textures with "NullTexture" option.
Changed, Game configurations: changed default door action arguments to better match vanilla ones.
Fixed, Actions: in some cases keyboard shortcuts involving Ctrl/Alt/Shift modifier keys were displayed incorrectly.
Fixed(?): probably fixed inability to save map wad in Slade 3.
Updated ZDoom_ACS.cfg.
Updated ZDoom_DECORATE.cfg.
Updated ZDoom ACC.
2016-06-13 23:37:55 +00:00
MaxED
701468fcd8 Added: angle selector button used in arguments custom fields controls now shows angle value.
Fixed a crash when trying to store a custom field with "Byte Angle" type.
Fixed: in some cases custom field types stored in the map's .dbs file were not applied when loading a map.
2016-05-16 13:04:31 +00:00
MaxED
6b25086795 Internal: did some refactoring. 2016-04-27 09:13:07 +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
002d6e9c89 Fixed inability to disable bilinear filtering in Visual mode some users experienced.
Fixed occasional TreeView flickering in Edit Things window, Browse Action window and Tag Explorer panel.
Updated Thing category icons in the Edit Things window. They now have "opened" and "closed" states.
Internal: added BufferedTreeView to the core controls.
Updated ZDoom game configurations (sector crush mode).
Updated ZDoom ACC.
2016-03-29 14:38:07 +00:00
MaxED
dd26c3ded2 Internal: removed some duplicate casts, marked some classes is IDisposable, some streams were disposed more than once. 2016-03-18 12:52:12 +00:00
MaxED
23d2a27dec Added, Draw Ellipse mode: angle setting can now be changed using "Rotate Clockwise" and "Rotate Counterclockwise" actions.
Added, Draw Line and Draw Curve modes: added "Auto-finish drawing" setting. When enabled, the modes will automatically finish drawing when currently drawn lines and already existing level geometry form a closed shape.
Changed: sector-wise linedef flipping is now done using the new "Align Linedefs" action. "Flip Linedefs" action works the same as in DB2 again.
Changed: when a map was already loaded, using "Open Map" action will use that map's directory as the starting directory.
Changed: official IWADs can no longer be saved.
Changed: disabled lump ranges/duplicate entries checks for official IWADs.
Changed: wad type is now preserved when saving a map (previously all wads were saved as PWADs).
Changed: moved Updater.exe launch much closer to the editor termination point to avoid any chance of it closing the editor before it properly closes itself.
Updated ZDoom_DECORATE.cfg (A_Blast).
Updated documentation.
2016-03-14 10:25:27 +00:00
MaxED
49525177e3 Cosmetic: changed ' to " in some more Error and Warning messages. 2016-03-08 20:41:06 +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
95e28518cb DECORATE and MAPINFO parsers: added editor number range check. 2016-02-28 21:21:50 +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
324a7461c7 Changed, Copy/Paste: the whole pasting operation is now aborted if the resulting number of sectors, linedefs, vertices or things exceeds map format's maximum. 2016-02-22 08:20:33 +00:00
MaxED
74015b1ba0 Cosmetic: changed ' to " in the most of Error and Warning messages. 2016-02-22 08:04:06 +00:00
MaxED
139c297161 Fixed, Visual mode: some video memory was not released after closing a map if the Visual mode was enabled at least once during the editing session, eventually resulting in E_OUTOFMEMORY crash.
Fixed, General interface, cosmetic: in some cases the warnings label was disabled in a flashing state (e.g. with red background).
Internal: moved some older GZDB actions form GZGeneral to MapManager. They can no longer be toggled when no map is loaded (which is probably for the best).
Updated ZDoom_ACS.cfg.
Updated ZDoom_DECORATE.cfg.
2016-02-01 22:04:00 +00:00
MaxED
fd008a9617 Fixed a crash when pasting sectors, linedefs and sidedefs introduced in R2471. 2016-01-15 22:27:18 +00:00
MaxED
998ec3bccc Added "Sector Floor Flat" and "Sector Ceiling Flat" Find and Replace modes.
Updated skybox model to better match GZDoom's skybox. Also the sky texture was flipped horizontally.
Fixed, Visual mode: "Select with the same texture" action is now able to select sidedef parts only visible because of slopes.
Fixed, Visual mode: skybox texture was not updated after using "Open map in current wad" action.
Fixed, Visual mode: in some cases Visual camera was placed below sector's floor when "Sync camera position between 2D and 3D modes" setting was enabled.
Fixed: numeric thing flags with inverted UDMF flag defined in "thingflagstranslation" Game configuration block were lost when copy-pasting a thing.
Fixed, command line arguments: fixed a crash when loading a map from a wad with existing .dbs file.
2016-01-15 18:20:47 +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
3621ff78c1 Fixed, UDMF parser: property names must be case-insensitive.
Fixed, ANIMDEFS parser: camera texture names are limited to 8 chars in ZDoom.
Fixed, Game configurations: Stalagtite:47 thing was named Stalagmite.
Changed, Game configurations: moved Stalagmite:5050 thing to the "Obstacles" category.
2015-12-19 00:05:34 +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
942c8a3276 Fixed, UDMF: we should fail map loading if there were TEXTMAP parsing errors.
Fixed, UDMF parser: parser failed to parse decimals stored using scientific notation (like "1E-06").
Fixed, UDMF parser: incorrect line numbers were shown when displaying errors.
Changed, UDMF parser: many error descriptions are now more detailed.
Updated ZDoom ACC to Git rev. ae5f036.
2015-10-01 21:35:52 +00:00