View Issue Details

IDProjectCategoryView StatusLast Update
0005729DarkRadiantSaving and loadingpublic30.08.2021 10:47
ReporterGeep Assigned Togreebo  
PrioritynormalSeveritynormalReproducibilityalways
Status resolvedResolutionfixed 
OS VersionWin 10 
Product Version2.13.0 
Fixed in Version2.14.0 
Summary0005729: Autosave filename unhelpfully overwrites 'save copy as' filename
DescriptionI manage my versions as follows, where, for example, “away0” is the current FM’s name:

- With regular “Save As”, I annotate the filename with a build number and brief comment, e.g., “away0[1699 add loot coinstack}.map
- With “save copy as”, I always save to “away0.map”; this is the name I dmap & map for testing. Whenever I restart DR and do this command, I have to rename from the regular Save As name to “away0.map” but (in earlier DR) then it remembers it.

When I upgraded to 2.13.0 from a year-old version of DR, a different behavior happens. During a DR session, the “Save Copy As” function briefly works as described, but as soon as an autosave occurs, the “away0.map” is forgotten, and replaced with the autosaved name, e.g., “away0[1699 add loot coinstack]_autosave.map”

So I have to re-enter “away0.map” again. About 3-6 times a day. A minor aggravation, but still…
Steps To ReproduceFollow procedure as described above
TagsNo tags attached.

Activities

greebo

greebo

28.08.2021 05:14

administrator   ~0014315

Btw, maybe that's useful for you, it's possible to bind a shortcut to your away0.map copy save routine. In the console, type:

    bind "SaveToAway0" "SaveMapCopyAs c:\games\darkmod\fms\away0\maps\away0.map"

Then you can find that "SaveToAway0" command in the shortcut list in Edit > Keyboard shortcuts. (The path needs to be the absolute path name, not a FM-relative path.)
Geep

Geep

29.08.2021 14:58

reporter   ~0014324

greebo, thanks for quick fix.

It's good to know about the bind command. I haven't used the DR console yet, so should look in to that and what's available. It would be nice if the bound-version of SaveMapCopyAs could handle FM relative, along these lines:

bind "SaveToAway0" "SaveMapCopyAs shortname.map" where "shortname" is any specified string without path delimiters or wild cards; path to current FM project is assumed.
bind "SaveToAway0" "SaveMapCopyAs *.map" uses <path to current FM project>/<FM>.map
bind "SaveToAway0" "SaveMapCopyAs" ditto

While I'm riffing on possible related DR feature requests, I've always wondered why, if I use Open to navigate to a map file that is not the current project, DR doesn't warn me then (or at least later at save/save-as time) that the current project and current map don't match, and offer to change the current project. (If it does this now under 2.13, ignore me) More than once I've found I've generated files to the wrong project.

Yeah, I know, I should make these separate bugtracker posts. I'm being a slacker this a.m.
greebo

greebo

30.08.2021 10:47

administrator   ~0014325

Yes, agreed. Feel free to open a new issue request about upgrading the SaveMapCopyAs to be able to deal with a project relative path.

Related Changesets

DarkRadiant: master fad4eef1

2021-08-27 19:14:19

greebo

Details Diff
0005729: Minor refactoring Affected Issues
0005729
mod - radiantcore/map/Map.cpp Diff File
mod - radiantcore/map/Map.h Diff File

DarkRadiant: master fd1f78c2

2021-08-27 19:43:14

greebo

Details Diff
0005729: Change the auto saver algorithm to conform with the newly created IAutomaticMapSaver interface.
Split the routines that check for the necessity to create an autosave and the routines doing the actual save job.
Affected Issues
0005729
add - include/iautosaver.h Diff File
mod - radiant/map/AutoSaver.cpp Diff File
mod - radiant/map/AutoSaver.h Diff File
mod - tools/msvc/include.vcxproj Diff File

DarkRadiant: master 367e26c2

2021-08-28 04:27:24

greebo

Details Diff
0005729: Move the autosave timer part to a separate class which will remain in the UI module, whereas the rest of the algorithm will be moved to the core module. Affected Issues
0005729
mod - radiant/CMakeLists.txt Diff File
add - radiant/map/AutoSaveTimer.cpp Diff File
add - radiant/map/AutoSaveTimer.h Diff File
mod - radiant/map/AutoSaver.cpp Diff File
mod - radiant/map/AutoSaver.h Diff File
mod - radiant/ui/UserInterfaceModule.cpp Diff File
mod - radiant/ui/UserInterfaceModule.h Diff File
mod - tools/msvc/DarkRadiant.vcxproj Diff File
mod - tools/msvc/DarkRadiant.vcxproj.filters Diff File

DarkRadiant: master b0e9a74b

2021-08-28 04:36:06

greebo

Details Diff
0005729: AutoSave algorithm part moved to core module Affected Issues
0005729
mod - radiant/CMakeLists.txt Diff File
mod - radiant/map/AutoSaveTimer.h Diff File
mod - radiantcore/CMakeLists.txt Diff File
mod - tools/msvc/DarkRadiant.vcxproj Diff File
mod - tools/msvc/DarkRadiant.vcxproj.filters Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj Diff File
mod - tools/msvc/DarkRadiantCore.vcxproj.filters Diff File

DarkRadiant: master 17ffb380

2021-08-28 04:58:11

greebo

Details Diff
0005729: Craft a unit test checking the faulty behaviour Affected Issues
0005729
mod - test/MapSavingLoading.cpp Diff File

DarkRadiant: master 47014894

2021-08-28 05:07:32

greebo

Details Diff
0005729: Add a dedicated command for writing an automatic map backup. Affected Issues
0005729
mod - radiantcore/map/Map.cpp Diff File
mod - radiantcore/map/Map.h Diff File
mod - radiantcore/map/autosaver/AutoSaver.cpp Diff File

Issue History

Date Modified Username Field Change
25.08.2021 20:51 Geep New Issue
27.08.2021 18:57 greebo Status new => confirmed
27.08.2021 19:41 greebo Assigned To => greebo
27.08.2021 19:41 greebo Status confirmed => assigned
28.08.2021 05:07 greebo Changeset attached => DarkRadiant master fad4eef1
28.08.2021 05:07 greebo Changeset attached => DarkRadiant master fd1f78c2
28.08.2021 05:07 greebo Changeset attached => DarkRadiant master 367e26c2
28.08.2021 05:07 greebo Changeset attached => DarkRadiant master b0e9a74b
28.08.2021 05:07 greebo Changeset attached => DarkRadiant master 17ffb380
28.08.2021 05:07 greebo Changeset attached => DarkRadiant master 47014894
28.08.2021 05:08 greebo Status assigned => resolved
28.08.2021 05:08 greebo Resolution open => fixed
28.08.2021 05:08 greebo Fixed in Version => 2.14.0
28.08.2021 05:14 greebo Note Added: 0014315
29.08.2021 14:58 Geep Note Added: 0014324
30.08.2021 10:47 greebo Note Added: 0014325