159 Commits

Author SHA1 Message Date
Nyerguds
2de77a5ee8 Added more info columns in the mix open dialog, and added the ability to give detailed feedback when opening an unreadable mix archive. 2024-09-15 17:11:07 +02:00
Nyerguds
256235fc67 Derp, forgot some brackets. 2024-09-09 11:33:19 +02:00
Nyerguds
8b78be7cd2 Selecting a wrong-sized image for "image to map" now gives a warning. 2024-09-09 11:30:30 +02:00
Nyerguds
0c320ee874 Added url encoding to the keys of the file storing the mix files checked for mission content, to avoid the system breaking on special characters such as "="
* The dialog to open the contents of a mix file will now always jump to the first found mission file inside it.
2024-09-09 00:54:57 +02:00
Nyerguds
48099c36d3 * Added option to encode names in classic text encoding when running in classic mode.
* Removed the resources randomising seed itself being a randomised value.
2024-09-04 18:13:11 +02:00
Nyerguds
1af306ccf9 Fixed bug where saving a mission opened from workshop "mapdata.pgm" archive would overwrite the pgm as ini instead of opening the "save as" dialog.
Fixed the bug where workshop "mapdata.pgm" archives would not show up in recently used files.
2024-08-20 09:55:28 +02:00
Nyerguds
1160fc9d63 Added visualiser for capturability, with the ability to read rule tweaks for both RA and (fan-patched) TD. This also keeps the remaster's "cap=win/des=lose" capturability override in mind.
* Fixed bug that made classic smudge previews render as smooth.
2024-07-31 22:33:36 +02:00
Nyerguds
9dc72e5932 Cleaned up "Tint" code and consistently replaced it by "IsPreview" property, so the renderer handles actual colours and alpha.
* Removed old unused CONC tiling code from the source.
* Added logging to ROMFIS.
* Added alpha factors into the config
* Renamed "Map terrain types" menu to "Map land types".
* Added a reference in Smudge types to have an attached Building object, so bibs can actually be linked to their owner.
* Unified all flag rendering into one function, which correctly shows the preview flag in its intended position in case of overlaps.
* Added an option to all rendering functions to ignore alpha modifiers, so outline generation no longer needs to make specific no-transparency clone objects.
2024-07-29 10:08:56 +02:00
Nyerguds
ea3c772d59 Implemented ShapeCacheManager and applied it to the rendering of cell hashing, object outlines, map indicators, map tiles, and smudge.
* Fixed bug in infantry drag-place redo
* Fixed bugs related to minimising the main window
* Added settings for the outline colours of all unowned object types.
* Reordered the MapLayerFlag enum to correspond to the flag layer classes
* Refactored the function that enables / disables the MapLayerFlag options based on the checked menu options
* Upgraded the HighQualityScale function to accept non-square image input and output
* Fixed TeamRemapManager to properly initialise TD and RA default remaps, after something broke with the recent edit to make it cache classic font remaps.
2024-07-19 15:41:12 +02:00
Nyerguds
3a2fd5790d Cleanup 2024-07-10 16:29:19 +02:00
Nyerguds
1b8949fb79 Bunch of stuff related to the map hash-indicators
* Made techno occupancy into its own separate option.
* Added settings for all hashing colours
* Enabled terrain type hash-indicators on map template tool and placement previews.
* Fixed the fact the hash graphics used on the Map tool preview was a generated image in classic mode, instead of the "trans.icn" sprite.
* Added "lazy steam init" option to only initialise the link with Steam when the Publish dialog is opened.
* Updated readme to v1.5.1.0 options (I should REALLY learn to make separate branches, for that reason alone, ugh. Ah well, after this release.)
2024-06-26 22:19:28 +02:00
Nyerguds
57ac8cd621 More mix content stuff. 2024-06-17 19:50:05 +02:00
Nyerguds
cb7e4656b2 Switched all manual bit mask compares to "Enum.HasFlag". Needs extensive testing; might still contain bugs. 2024-06-10 18:29:23 +02:00
Nyerguds
e93a663c68 Added caching of results of mix content scan. 2024-05-30 18:37:58 +02:00
Nyerguds
0689b84146 * Added "open mix file" menu that shows all mix files from the remastered and classic folders that contain mission files.
* Added explanation comments to all entries in GameInfo.cs
* Removed file listing function from GameInfo classes; all that is now handled by ROMFIS.
2024-05-29 20:40:42 +02:00
Nyerguds
94fb4969d6 * Fixed configured videos in TD maps getting marked as "Remaster" if they're not known
* Added support for embedded RAMIX names database file.
* Fixed mix entries not getting identification info if the info contains no filename.
* Mix archives are now indicated in the dialog as yellow.
* Allowed SimpleMultiThreading to work without the UI enable/disable function.
2024-05-28 14:28:52 +02:00
Nyerguds
938646a9bc Some minor refresh and ini stuff. 2024-05-23 14:34:52 +02:00
Nyerguds
0990a89908 Fixed open from mix function and save after open from mix
Started working on optimisations for thumbnails.
2024-05-21 18:51:35 +02:00
Nyerguds
c30f222a17 * Added outlines for overlapped buildings.
* Optimised refresh after closing a dialog.
* Split off Most Recently Used files system to a separate registry key so its mix file entries would not interfere with the official editor.
2024-05-11 13:20:27 +02:00
Nyerguds
dca4b78e2d Rewrote indicator generation
Fixed "Open From Mix" not triggering from drag & drop or command line.
2024-05-10 00:03:03 +02:00
Nyerguds
e607a5201a All aspects of the editor now use the MixFileNameGenerator. Any opened mix file immediately gets processed by it.
Sole Survivor files were added to mixcontent_sole.ini. Red Alert files are still TODO.
2024-05-01 21:22:01 +02:00
Nyerguds
2d178b5e55 New mix content analysis from ini is nearing completion. Still need to set up the game detection and filename priority system for mix files by analysing the game with the most hash matches. 2024-04-30 10:29:42 +02:00
Nyerguds
f506f0cb25 First fully functional version of the mix file format generator using an ini file. Still needs a load of debugging though, and only the TD files list is done. 2024-04-25 01:53:10 +02:00
Nyerguds
577b444ccb some stuff 2024-04-24 17:38:46 +02:00
Nyerguds
903d08e9a9 Fixed bugs in the opening of a new map with the inclusion of the new open-from-mix opening code.
* Fixed MRU code that was set to only execute when not in debug mode.
* Added stricter checks on the identification of ini files
* Fixed the identification of audio files
* Fixed the identification of palette files
* Added code to identify .mrf fading tables, but only if they are first identified as .mrf by extension. Might build a more general pre-filtering on extensions later.
* Completed TD files list
2024-04-23 18:34:20 +02:00
Nyerguds
f3339e4ce0 Open from Mix: added size column and AUD format identification. 2024-04-22 19:21:39 +02:00
Nyerguds
c96a0dd2e0 * Mix file viewer now indicates files the editor can open in light green.
* Changed "open from mix" function to be incorporated in the normal "open" mode.
* Cleaned up RA's ActionDataTypes class
* Fixed detection of strings files aborting on special arrow characters that exist in the original strings files.
* Fixed mix content analysis not working on files larger than 500k; this was supposed to work up to 5mb.
2024-04-22 08:16:58 +02:00
Nyerguds
bd61943931 Changed the Most Recently Used (MRU) system to work with text paths instead of FlieInfo objects, allowing MixPath style strings to be added. 2024-04-21 10:01:55 +02:00
Nyerguds
3af809b2af Split off all operations related to the new mix path format in a new MixPath tool class. 2024-04-18 19:47:03 +02:00
Nyerguds
fee6c00a31 Added checks on singleplay missions, and tweaking for cases where filenames in mix don't get identified. 2024-04-18 02:04:19 +02:00
Nyerguds
b7d31ee847 Open from mix fully implemented; just polishing left. 2024-04-17 16:10:16 +02:00
Nyerguds
b8e571fcc9 MixFile class rename 2024-04-16 18:39:17 +02:00
Nyerguds
3458c9b3c2 "Open From Mix" progress 2024-04-16 18:38:07 +02:00
Nyerguds
29b23974d5 Started implementing "open from mix" feature.
Simplified storage of RA civilian remap to just the actual index changes.
2024-04-15 19:40:38 +02:00
Nyerguds
a79e8b27ce Reactivated the squish mark, though only enabled from an option.
Simplified the loading code for the editing mode icons.
2024-04-03 21:22:51 +02:00
Nyerguds
91ac9cf3af manual updates, and centralised / simplified some program text. 2024-03-07 10:32:14 +01:00
Nyerguds
a536f5f660 Minor cleanup. 2024-02-08 20:14:17 +01:00
Nyerguds
255c75cdfa Upgrades to update system, and an option to allow placing walls as House-owned buildings. 2024-01-31 13:25:32 +01:00
Nyerguds
6a05a5b863 autoupdate stuff 2023-12-14 11:49:44 +01:00
Nyerguds
460faf1515 more house fixes 2023-12-10 18:03:24 +01:00
Nyerguds
93e70f5dc7 Upgrades to House handling
* Added code to filter out special houses (e.g. "None") by HouseTypeFlag rather than using hardcoded exceptions.
* Added code to fix the PlayerSettings control scrolling past the first selected alliance.
* Alliances mask now uses specific list for alliance-houses, which is filtered and sorted to potentially include special houses.
* PropertyTracker now has a function to retrieve data inside it in the requested type.
* Houses are now always saved with their own house name in their alliances list.
* Sole Survivor maps with all multi-Houses enabled will now have all those beyond Multi4 disabled on map load, to limit needlessly expanding the ini.
2023-12-10 17:01:11 +01:00
Nyerguds
0ddd7b39e2 Migrated more stuff to the GameInfo classes, added [Ctrl]+mousewheel for going through item lists. 2023-12-03 21:11:59 +01:00
Nyerguds
a28ff5cfd6 * Fixes in the detection system to see which theater-sensitive buildings are available.
* Fixes in building overlap checking.
* Update of CONC pavement update logic.
* Aligned enums using /**/ blocks
* Added factory class for creating and initialising game plugins, to centralise a lot of the different logic.
* Migrated a ton of game-specific logic into the GameInfoClass objects for each game.
2023-12-02 01:37:52 +01:00
Nyerguds
9a286eee70 About dialog 2023-10-24 21:43:27 +02:00
Nyerguds
00b2baacb6 Start of 'About' dialog. 2023-10-23 19:59:46 +02:00
Nyerguds
6b0f5d6719 moar stuff 2023-10-18 18:05:23 +02:00
Nyerguds
f18a20c1c6 Fixed type on CHANGELOG.md, fixed error in keyboard zoom out function. 2023-10-13 12:55:22 +02:00
Nyerguds
4bc9f96a01 Prepared for migration to using external ini data for all settings.
* Added support for fan-added theaters available in CnCNet: Snow for TD; Desert, Jungle, Barren and Cave for RA. These only work in classic mode, if their theater mix files are found in the configured classic files folder.
* Mouse zoom is now disabled during drag-scroll operations, since it invariably messed up the position calculations.
* Map templates, Smudge and Overlay are no longer restricted to specific theaters; if they exist in a theater, they are allowed.
* Theater-sensitive civilian buildings are no longer restricted to specific theaters; if they exist in a theater, they are allowed. Military buildings, incuding the theater-sensitive Misile Silo and Pillbox in RA, are always usable, no matter whether the theater has graphics for them.
* On Interior maps, the "ConvertRaObsoleteClear" logic will now generate spots of passable terrain outside the map border on any point where passable terrain touches the border, to allow potential reinforcements to enter the map there.
* Removed all hardcoded special code per vehicle and per building, in preparation for exporting all editor settings to ini.
2023-08-25 18:12:35 +02:00
Nyerguds
40721f660b More v1.5.0.2 fixes and upgrades.
* Added tighter checks on setting the info in a tool through its CurrentObject property.
* Added option to let the editor remember tool selection information between different opened maps of the same type.
* Optimised generating of terrain type indicator for 'river' in classic mode, by copying the alpha of another tile instead of doing an edge detect.
* Replaced 'IsFlat' flag on buildings with actual Z-sorting.
* Left-clicking on smudge no longer copies its properties into the tool, since left-click is needed to change smudge properties.
* Removed "NoMetaFilesForSinglePlay" option, and instead added "ClassicProducesNoMetaFiles".
* Added IDisposable to ITilesetManager.
* Made CellGrid[x,y] safe to use on illegal coordinates; it'll just return null.
* In old Red Alert maps which use Italy instead of Ukraine, The house settings for [Italy] will now be applied to Ukraine.
2023-08-03 18:56:02 +02:00
Nyerguds
4f06a4a967 * The mplayer.ini file tweaks are now only applied if RA's Aftermath expansion units are enabled, as it should.
* The editor will now be allowed to load in classic mode without the RA expansion files present. Any missing graphics will be substituted by dummy graphics.
* Overhauled the "New Map" dialog using listboxes, to have more consistent tab order control, and to more easily mod in additional games / theaters.
* Added "Single-Player Scenario" checkbox on the "New Map" dialog.
* Added remap logic to fix Einstein's colors, using the remap system used by the other civilians.
* The power evaluation tool now takes buildings' damaged status into account.
* Multiple overlapping multiplayer flags will now be drawn as multiple flags on one cell, scaling down later overlapping ones.
* Multiple overlapping non-flag waypoints will no longer show up brighter on the map.
2023-07-27 16:38:56 +02:00