47 Commits

Author SHA1 Message Date
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
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
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
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
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
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
b7d31ee847 Open from mix fully implemented; just polishing left. 2024-04-17 16:10:16 +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
91ac9cf3af manual updates, and centralised / simplified some program text. 2024-03-07 10:32:14 +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
6b0f5d6719 moar stuff 2023-10-18 18:05:23 +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
6b40bd19ba * Added the ability to export map previews without the map templates layer.
* The tooltips showing which trigger criteria are needed for using a trigger in a certain situation will indicate which of the criteria are fulfilled by the currently selected trigger.
* The tooltips showing which trigger criteria are needed will now say "usable" events/actions rather than "required".
* The Zoom shortcuts should now work on more keys than just the numpad ones.
* Fixed issues with how objects overlapped with each other.
* Fixed a bug where Terrain objects would not show a placement preview on bibs.
* Fixed a bug where changing the Wall type did not refresh the preview.
* Fixed a bug where switching back to the Terrain tool would show the previously-selected type in the preview, but would not select it in the list.
2023-07-20 01:07:00 +02:00
Nyerguds
e01bef9abd * Removed defaults for Extra Indicator options; it's not needed now they are linked to F-keys.
* Reordered Extra Indicator by scope; from more general to more specialised.
* Added InitDisplayName function to IBrowsableType type to init techno types used in teams.
2023-06-28 13:33:27 +02:00
Nyerguds
4bf39b19bb * Separated in-bounds mouse cell position from actual mouse cell position
* Added the ability to place map tiles partially out of bounds
* Fixed crashes that occurred when dragging bibs and buildings out of the left or bottom of the map bounds.
* Teamtypes now show full unit names.
* Added zoom options to the View menu.
* Removed the ShowMapGrid setting, but instead added defaults for all of the "Extra Indicator" options.
* Added F-keys as shortcuts for the "Extra Indicator" options in the View menu.
* Fixed the template preview for randomisable types, and correctly implemented their land types overlay.
* Fixed RA ant check so it actually aborts if all rules were found.
2023-06-28 01:00:35 +02:00
Nyerguds
7b9a54bfbc * Added functionality to show map tile passability, accessed via an option under "Extra Indicators".
* Fixed the fact the trees weren't sorted by center point when rendering.
2023-06-22 01:23:52 +02:00
Nyerguds
d472e58a34 * The "Visibility" value in the Steam section now saves as simple number (0=public, 1=friends, 2=private). The old long text lines can still be interpreted though.
* The invite warning and game path asking dialogs now have the editor's icon rather than a default icon.
* In multi-monitor environments, the editor will now always open on the monitor where the mouse cursor is.
* Map generation will now add waypoint flags to multiplayer maps.
* Added a logic to reduce cell edge artifacts when exporting as smoothed image.
* Optimised preview generation by not rendering the preview in full resolution first.
* Fixed crate outlines being linked to the visibility of waypoints instead of overlay.
* Added checks on special waypoints to make sure they are actually inside the map bounds.
* Fixed tab order in image export dialogs.
* The long shadows of terrain decorations like trees now correctly overlap anything standing under them.
* Changed "outlines on overlapped crates" option to "outlines on overlapped objects", and made it work for units and infantry too.
* Fixed rounding issues in image export dialog, and added tool and info to set the scale by cell size.
* Added warning when RA ant units or structures are used in the map, but no rule definitions for them exist in the ini.
* Fixed classic name for RA interior 'terrain' decoration boxes.
* Expanded ListItem tool.
2023-06-21 12:18:49 +02:00
Nyerguds
996de77eb7 Whitespace and changelog fixes 2023-06-09 11:44:39 +02:00
Nyerguds
2317a06511 * Added better indication of the fact overlay is blocked on the first and last row, and blocked it on walls too.
* PgUp/PgDown implementation on all tools
* DPI fixes
* Found and nuked a GDI+ object memory leak
* Building tool now primarily uses the buildings layer on the map and not the technos one. Might split this up completely and get rid of the concept of blocking other types...
* Pen colour in NavigationWidget now only changes if it's a different colour, or the pen object is not initialised.
2023-04-07 11:11:28 +02:00
Nyerguds
438f52868a * Added zoom to work area on map load
* Made crate outlines not be stored as Region since they are managed external objects.
* Added logic to crate outline rendering to skip crates that are not overlapped by anything.
* Road2 once again has id 19, to fit under the other Road it in the selection list.
* Fixed celltrigger dropdown corrupting up when editing triggers list after the tool is loaded.
* Fixed minor bug of the celltrigger preview disappearing when using PgUp/PgDn to change to a different trigger while shift is held down.
* Completed CHANGELOG.md
2023-03-19 00:06:21 +01:00
Nyerguds
87f5c82978 * Added text length label to briefing screen
* Migrated RA briefing check code to the plugin.
* Added warning on classic TD briefing length to briefing screen.
* Added cutoff length on classic TD briefing.
* Added sorting by cell number to ini writing of objects in TD maps.
* TD missions now save their waypoints like in classic map; highest to lowest, including empty entries.
* Fixed case on writing of objects in maps.
* Migrated MapLayerNames from image export dialog to Map.cs
* Marked all IGamePlugin implementations in GamePluginTD as 'virtual'
* Optimised the redraw when toggling map object layers by filtering out the specific object locations to refresh.
* Added code to generate and draw outlines on the crate objects, and added a new MapLayerFlag and menu option for this.
* Added OverlayTypeFlag for wooden and steel crates, to distinguish them.
* Changed setting DefaultCratesOnTop so it's off by default.
* Fixed RA mission load kicking out classic video names by filtering on the wrong list.
* Unit/building/infantry layer toggle options (and image export options) are now hidden for Sole maps unless the NoOwnedObjectsInSole option is disabled.
* Fixed internal crash on mission load on both TD and RA when reporting on an illegal argument of a teamtype orders.
2023-03-18 01:42:43 +01:00
Nyerguds
773f683adb * Moved map boundaries option to normal indicators
* Some cleanup
2023-03-16 23:38:21 +01:00
Nyerguds
fcf73ec293 * Added "Jump to next usage" button on celltriggers, which, when pressed multiple times, will cycle the viewed map location through all different placed-down clusters of the selected celltrigger.
* Added Word Wrap button to the error message dialog.
* When a new unit type is added to a Teamtype, its amount will now default to 1.
2023-03-16 19:03:14 +01:00
Nyerguds
250bd48b9a Added shroud / jam radius indicators on vehicles. 2023-03-12 17:30:08 +01:00
Nyerguds
b9737128f6 * Fixed issue with object property popups being the wrong size because their font was different than expected.
* Added logic to remember and restoring building properties when unchecking the "Prebuilt" checkbox.
* Added indicators for reveal radiuses around waypoints, and shroud radiuses around Gap Generators.
* Implemented colour select on "new from image" dialog.
* Migrated CalculateOpaqueBounds to ImageUtils
* Migrated logic to apply team color to sprites to the TeamColor class.
2023-03-12 02:40:33 +01:00
Nyerguds
993014249e Added some more options, changed some resources to references to files so they're not duplicated in the resx files. 2023-03-01 17:27:21 +01:00
Nyerguds
eefd8f5210 * Added "Bounds Obstruct Fill" menu option.
* Fixed RA money rules not reverting to defaults when rules key is not set.
* Added ability to randomise drag-placed map tileset blocks using equivalent tileset blocks. TODO: make it a menu option.
2023-02-28 22:50:23 +01:00
Nyerguds
20328127f8 * Being in placement mode, or dragging around objects, will now show a placement grid. In Resources mode, where holding down Shift is not required for placement, holding Shift will also show the grid.
* Fixed bug in Smudge mode where clicking on a crater selects the crater's maximum size in the placement template.
* Fixed bug in Smudge mode where the automatic restoring of partially deleted bibs was restricted to the map bounds instead of the full map size.
* Added correct map objects overview and save validation for Sole Survivor, which does not use the expanded Remastered maximum values.
* Added more options in the settings file, and reordered the settings in the settings file and manual file.
* Fixed bugs that occurred when disabling the theater-filtering of items.
* Pressing Alt+F4 to close the editor will now also work when a tool window is selected.
* The tool windows for infantry, units and structures will now optimally use the available space.
2023-02-24 22:08:01 +01:00
Nyerguds
0a5c407195 "New From Image" function, safe drag-placing of tiles, cleanup of SteamAssist class. 2023-01-10 19:58:20 +01:00
Nyeguds
c201a81cc0 Added igloos to Sole overlay, fixed a possible refresh issue on the busy label, and split the manual from the readme file. 2022-11-18 15:18:52 +01:00
Nyeguds
2b94a88457 Bunch of fixes, including all RA trigger analysis.
Added map symmetry lines function.
2022-11-14 23:13:32 +01:00
Nyeguds
69ed6c1184 Added MapBackColor setting. 2022-11-09 17:40:51 +01:00
Nyeguds
a483b053d8 Restricted units to 8 facings, added "Assess map items" tool, added RA briefing length warning logic. 2022-10-13 18:45:23 +02:00
Nyeguds
21217de0ad more multithreading, trying to get arrow key nav working 2022-10-02 12:40:55 +02:00
Nyeguds
9c91112cd5 more work on Sole and on waypoints. 2022-09-25 12:11:59 +02:00
Nyerguds
49a84c91bb waypoints upgrade, SS game support 2022-09-22 01:26:46 +02:00
Nyeguds
de53479e32 v1.4.3.3 stuff initial commit 2022-09-19 12:23:44 +02:00
Nyeguds
a9ba2bdcd3 Added RA rules support and scenario options, fill tool, silo tool, text trigger descriptions
Improved feedback on int.parse errors in ini read
Fixed tool windows being closable with alt+F4
2022-09-10 02:47:12 +02:00
Nyeguds
33d5c0fb22 Added Undo/Redo functionality to everything.
Fixed bug in toolstrip icon loading that could make it retain items of a previous map.
Fixed RA maps not loading full bibs.
Cleaned up and documented the special ROAD2 pre-processing and post-processing code.
Moved DropDownItem to Utility namespace; Tools is for map tools.
Fixed several occurrences of "Double-Click update properties" where the word "to" was missing.
Changed bib auto-restore order to right-to-left, bottom-to-top.
Fixed bib code to correctly ignore structure bibs.
Placing the top-left corner of a new bib on the location of another top-left corner of a bib will now always remove the entire old bib.
Templates now use Explorer-type sorting inside the groups.
Added comments indicating where the different pieces of Aftermath units cleanup code are located.
NavigationWidget's basic selection pen color can now be overridden.
2022-09-08 09:55:29 +02:00
Nyeguds
b6f3c374fd final v1.4.2.0 release changes. 2022-09-05 16:22:14 +02:00
Nyeguds
0fc4d29cd4 Buncha stuff 2022-09-01 13:05:49 +02:00
Nyeguds
3f6f375625 Fixed serious error in tool reloading, overhauled graphics renderers and positioning, added separate setting for quality of previews. 2022-08-11 22:49:22 +02:00
Nyerguds
23ebdeba66 buncha 1.4.0.1 fies. See README.md. Not finished so far; some stuff is untested. 2022-07-12 07:27:13 +02:00
Maarten Meuris
0983b64fe5 All changes for now:
* Fixed Overlay height overflow bug in Rampa's new UI.
* Fixed tiles list duplicating every time the "Map" tool window is opened.
* Split off internal Overlay type "decoration", used for pavements and civilian buildings.
* Added CONC and ROAD pavement. They have no graphics, but at least now they are accepted by the editor and not discarded as errors.
* Sorted all items in the lists (except map tiles) by key, which is usually a lot more straightforward.
* Split off specific separate list for techno types usable in teamtypes.
* Removed the Aircraft from the placeable units in TD.
* Removed irrelevant orders from the unit missions list (Selling, Missile, etc.)
* Fixed case sensitivity related crashes in TD teamtypes.
* Added Ctrl-N, Ctrl+O, Ctrl+S etc shortcuts for the File menu.
* Fixed double indicator on map tile selection window.
* Fixed smudge reading in TD to allow 5 crater stages.
* Added tooltip window to adjust crater stage.
* Fixed Terrain objects not saving their trigger. Note that only "Attacked" triggers work on them.
* Red Alert "Spied by..." trigger event now shows the House to select.
* Added "Add" buttons in triggers and teamtypes dialogs.
* Fixed tab order in triggers and teamtypes dialogs.
* Fixed crash in "already exists" messages for triggers and teams.
* [EXPERIMENTAL] Added ability to place bibs. They won't show their full size in the editor at the moment, though.
2022-07-08 22:27:50 +02:00
Rampastring
ed7bc9bd56 Clean code related to handling tools and make it more object-oriented 2020-09-14 18:13:57 +03:00
Rampastring
39d37d177d Initial commit 2020-09-11 23:46:04 +03:00