Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PDS refresh improved controls with GHK feature #12898

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
104 commits
Select commit Hold shift + click to select a range
61082fd
Experimental VassalRefreshGHK.
riverwanderer Sep 14, 2023
74cbca4
Experimental VassalRefreshGHK; corrected level; was firing only with …
riverwanderer Sep 14, 2023
f921746
Added doc to Refresh Counters section.
riverwanderer Sep 15, 2023
79f2519
Refresh hotkeys - pre as well as post. Opt-in checkbox.
riverwanderer Sep 18, 2023
c4bbbfb
Merge branch 'master' of https://github.com/riverwanderer/vassal into…
riverwanderer Sep 20, 2023
d1e0952
Merge branch 'master' of https://github.com/riverwanderer/vassal into…
riverwanderer Sep 20, 2023
215eb03
re-try build
riverwanderer Sep 20, 2023
321cc66
re-try build
riverwanderer Sep 20, 2023
1488fe1
Merge remote-tracking branch 'origin/12260-refreshPre&PostwithControl…
riverwanderer Sep 20, 2023
d6c18fd
re-try build
riverwanderer Sep 20, 2023
3b406f8
re-try build
riverwanderer Sep 20, 2023
30b53e2
Pre & Post GHK, always try. No control checkbox.
riverwanderer Sep 20, 2023
70ef103
Pre & Post GHK, always try. Doc updated
riverwanderer Sep 20, 2023
1c2ddf7
Resubmit.
riverwanderer Sep 28, 2023
3734c6a
Merge branch 'master' of https://github.com/riverwanderer/vassal into…
riverwanderer Nov 8, 2023
37980bc
Pre and post refresh GHK with control via Refresher panels. Single re…
riverwanderer Nov 8, 2023
cea4c40
Merge branch '12260-refreshPre&PostwithControls' into 12260-refreshPo…
riverwanderer Nov 8, 2023
e4f268c
Correction to make use hotkeys check work.
riverwanderer Nov 9, 2023
e71e30b
Updates to documentation for refresher.
riverwanderer Nov 9, 2023
53d6547
Merge branch '12260-refreshPostPreControls2' of https://github.com/ri…
riverwanderer Nov 9, 2023
f87231b
Updates to documentation for refresher.
riverwanderer Nov 9, 2023
bde9746
Make delete no map pieces default (consistent with Refresh Counters).…
riverwanderer Nov 9, 2023
114770c
Close (dispose) options window at the end of PDS refresh. Indent & fo…
riverwanderer Nov 9, 2023
3ee6dea
Merge branch 'Refresh-cleanup' of https://github.com/riverwanderer/va…
riverwanderer Nov 9, 2023
dd5591e
Remove test code that limits number of PDS refreshes. Merge in code c…
riverwanderer Nov 9, 2023
905f97f
Predefined setup can do a sample run (filtered to reduce the number o…
riverwanderer Nov 9, 2023
5916e38
Indent deck options in ref manual.
riverwanderer Nov 9, 2023
58fb2c3
Indent deck options in ref manual.
riverwanderer Nov 9, 2023
d2b4faa
Merge remote-tracking branch 'origin/PDS-devtest-sampling-option' int…
riverwanderer Nov 10, 2023
ca4b006
Make dirty if a PDS refresh happens (ensure a save prompt). Add regex…
riverwanderer Nov 10, 2023
e3b3bd4
Add PDS refresh alert sound option, end of process warnings summary a…
riverwanderer Nov 10, 2023
d54d63b
Add PDS refresh alert sound option, end of process warnings summary a…
riverwanderer Nov 10, 2023
7aa36cd
Retain deprecate refresh method.
riverwanderer Nov 10, 2023
4b371ff
Pass not owned and not visible counts back to PDS Refresh. Display er…
riverwanderer Nov 11, 2023
b6e9a4e
Pass not owned and not visible counts back to PDS Refresh. Display er…
riverwanderer Nov 11, 2023
375a1a8
Amend progress string.
riverwanderer Nov 11, 2023
b3a83ee
Amend progress string.
riverwanderer Nov 11, 2023
2116d2e
Merge remote-tracking branch 'origin/PDS-refresh-improved-controls-GH…
riverwanderer Nov 12, 2023
42df1bf
PMD
riverwanderer Nov 12, 2023
0281f06
PMD & Type warning corrections
riverwanderer Nov 12, 2023
7ae3d4f
PMD & Type warning corrections
riverwanderer Nov 12, 2023
a78fe84
Merge remote-tracking branch 'origin/PDS-refresh-improved-controls' i…
riverwanderer Nov 12, 2023
8934ea9
Tidy up logical flow of refresh control panels. Warnings pass.
riverwanderer Nov 12, 2023
665a3dc
Merge branch '12260-refreshPostPreControls2' of https://github.com/ri…
riverwanderer Nov 12, 2023
ad16fb4
Tidy up logical flow of refresh control panels. Warnings pass.
riverwanderer Nov 12, 2023
099a445
Tidy up logical flow of refresh control panels. Warnings pass. Disabl…
riverwanderer Nov 12, 2023
7e8facc
Remove now redundant separator. Another attempt to set window size.
riverwanderer Nov 12, 2023
0b7e9e7
with cancel option.
riverwanderer Nov 12, 2023
d3d004a
debugging cancel prompt. Try make PDS refresh modal.
riverwanderer Nov 12, 2023
3496368
restrict regex adjustment to trailing element only. Revert to origina…
riverwanderer Nov 12, 2023
e013c32
Display files in confirmation window.
riverwanderer Nov 12, 2023
a54c780
PMDs
riverwanderer Nov 12, 2023
268a8fc
Scrollbar exception.
riverwanderer Nov 12, 2023
a393a20
Scrollbar exception.
riverwanderer Nov 12, 2023
2752fad
Files list.
riverwanderer Nov 13, 2023
c0a3a22
Restructure messagings around the new confirm prompt.
riverwanderer Nov 13, 2023
a90802f
Merge remote-tracking branch 'origin/PDS-refresh-improved-controls' i…
riverwanderer Nov 13, 2023
603752d
Give none-found its own window.
riverwanderer Nov 13, 2023
e0061b0
Message text adjustments.
riverwanderer Nov 13, 2023
c296520
Message text adjustments. Modify the PDS dialog dispose - suspect in …
riverwanderer Nov 13, 2023
61e18e1
Message text adjustments. Remove the PDS dialog dispose - suspect in …
riverwanderer Nov 13, 2023
b0d36f6
Make all options fields disabled during a refresh run.
riverwanderer Nov 13, 2023
d74691a
PMDs
riverwanderer Nov 13, 2023
5a4330e
Heading text tweak.
riverwanderer Nov 13, 2023
6aa8755
Skip duplicate should proceed suppressing gamestate setup!
riverwanderer Nov 13, 2023
ceb35df
Tidy up logical flow of refresh control panels. Warnings pass.
riverwanderer Nov 13, 2023
a6bb99d
Refresh started message should be first.
riverwanderer Nov 13, 2023
adb0323
Merge branch 'PDS-refresh-improved-controls' of https://github.com/ri…
riverwanderer Nov 13, 2023
5e58f46
Now a refresh can be targeted at decks only. The ability to exclude r…
riverwanderer Nov 14, 2023
3c72bb1
Now a refresh can be targeted at decks only. The ability to exclude r…
riverwanderer Nov 14, 2023
52f2bc3
Refresh log tweaks for consistency.
riverwanderer Nov 14, 2023
b93edfc
Merge branch 'PDS-refresh-improved-controls' of https://github.com/ri…
riverwanderer Nov 14, 2023
635ff66
Split out hotkey options. Implements option for hotkey only runs. Als…
riverwanderer Nov 14, 2023
799e6cb
Doc updates.
riverwanderer Nov 14, 2023
a299759
Squash unwanted caret. Tweak a screenshot.
riverwanderer Nov 14, 2023
3a752d2
Enhanced orphan counter support. Warning / fail end turn summaries by…
riverwanderer Nov 19, 2023
e943678
Merge branch 'PDS-refresh-improved-controls' of https://github.com/ri…
riverwanderer Nov 19, 2023
218beb6
Enhanced orphan counter support. Warning / fail end turn summaries by…
riverwanderer Nov 19, 2023
f9f0271
Document Piece Id replacement feature.
riverwanderer Nov 20, 2023
28403d8
Merge branch 'PDS-refresh-improved-controls' of https://github.com/ri…
riverwanderer Nov 20, 2023
6c1f7bb
MacOS ignore .DS_Store
riverwanderer Nov 25, 2023
49cc716
Merge branch 'master' into PDS-refresh-improved-controls-GHK
riverwanderer Nov 25, 2023
9b7788d
Update to date with master. Fix missing VassalPostRefreshGHK.
riverwanderer Nov 25, 2023
7486960
Update to date with master. Fix missing VassalPostRefreshGHK.
riverwanderer Nov 25, 2023
5da87d8
Merge remote-tracking branch 'origin/PDS-refresh-improved-controls-GH…
riverwanderer Nov 28, 2023
ccb2b08
Merge branch 'master' of https://github.com/riverwanderer/vassal into…
riverwanderer Nov 28, 2023
38d3e44
GHK needs some setup that the standard refresh does
riverwanderer Dec 3, 2023
00ed08e
Reverse out the pre-refresh GHK as it can't work reliably without re-…
riverwanderer Dec 5, 2023
93dcd98
Correct update to Refresh PDS screenshot.
riverwanderer Dec 5, 2023
bf6a7a8
Merge branch 'master' of https://github.com/riverwanderer/vassal into…
riverwanderer Dec 7, 2023
32d678e
Merge branch 'master' of https://github.com/riverwanderer/vassal into…
riverwanderer Dec 7, 2023
0497678
Address code review feedback and merge in master updates. Trusting fi…
riverwanderer Dec 7, 2023
b80b0a5
Correct a name.
riverwanderer Dec 7, 2023
9cc74e7
Correct a name.
riverwanderer Dec 7, 2023
208b33c
Merge branch 'master' of https://github.com/riverwanderer/vassal into…
riverwanderer Dec 9, 2023
2e5da11
Maintain cursor in wait state.
riverwanderer Dec 9, 2023
e16649d
Try very hard to maintain cursor in wait state.
riverwanderer Dec 9, 2023
f54ce2f
More tweaks to Cursors.
riverwanderer Dec 9, 2023
78c33fa
Merge branch 'vassalengine:master' into PDS-refresh-improved-controls…
riverwanderer Jan 9, 2024
f6c5793
Merge branch 'vassalengine:master' into PDS-refresh-improved-controls…
riverwanderer Jan 11, 2024
ae1a7a7
Merge branch 'vassalengine:master' into PDS-refresh-improved-controls…
riverwanderer Jan 12, 2024
0cafc97
Merge branch 'vassalengine:master' into PDS-refresh-improved-controls…
riverwanderer Jan 12, 2024
7956242
Publish the warnings metric (for RefreshPredefinedSetupsDialog) via a…
riverwanderer Jan 13, 2024
eebed7b
Publish the warnings metric (for RefreshPredefinedSetupsDialog) via a…
riverwanderer Jan 13, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -25,3 +25,6 @@ out/
target/
releases/
snapshots/

# MacOS
.DS_Store
23 changes: 20 additions & 3 deletions vassal-app/src/main/java/VASSAL/build/GpIdChecker.java
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@ public class GpIdChecker {

protected GpIdSupport gpIdSupport;
protected int maxId;
protected int noGpIdMatch = 0; // shared to GameRefresher
protected boolean extensionsLoaded = false;
final Map<String, SlotElement> goodSlots = new HashMap<>();
final List<SlotElement> errorSlots = new ArrayList<>();
Expand All @@ -75,6 +76,10 @@ public GpIdChecker(Set<String> options) {
}
}

public int getNoGpIdMatch() {
return noGpIdMatch;
}

public boolean useLabelerName() {
return refresherOptions.contains(GameRefresher.USE_LABELER_NAME); //$NON-NLS-1$
}
Expand All @@ -87,6 +92,9 @@ public boolean useRotateName() {
public boolean useName() {
return refresherOptions.contains(GameRefresher.USE_NAME); //$NON-NLS-1$
}
public boolean fixGPID() {
return refresherOptions.contains(GameRefresher.FIX_GPID); //$NON-NLS-1$
}

/**
* Add a PieceSlot to our cross-reference and any PlaceMarker
Expand Down Expand Up @@ -160,7 +168,7 @@ protected void testGpId(String id, SlotElement element) {
* If this has been called from a ModuleExtension, the GpId is prefixed with
* the Extension Id. Remove the Extension Id and just process the numeric part.
*
* NOTE: If GpIdChecker is being used by the GameRefesher, then there may be
* NOTE: If GpIdChecker is being used by the GameRefresher, then there may be
* extensions loaded, so retain the extension prefix to ensure a correct
* unique slot id check.
*/
Expand Down Expand Up @@ -249,7 +257,8 @@ public GamePiece createUpdatedPiece(GamePiece oldPiece) {
}
}

// Failed to find a slot by gpid, try by matching piece name if option selected
// Failed to find a slot by gpid, try by matching piece name if option selected; always report in summaries
noGpIdMatch++;
if (useName()) {
final String oldPieceName = Decorator.getInnermost(oldPiece).getName();
for (final SlotElement element : goodSlots.values()) {
Expand All @@ -258,11 +267,19 @@ public GamePiece createUpdatedPiece(GamePiece oldPiece) {
if (oldPieceName.equals(gpName)) {
newPiece = element.createPiece(oldPiece, this);
copyState(oldPiece, newPiece);
if (fixGPID()) {
newPiece.setProperty(Properties.PIECE_ID, slotPiece.getProperty(Properties.PIECE_ID));
}
chat("!" + Resources.getString("GpIdChecker.refreshByName", oldPieceName, gpid, slotPiece.getProperty(Properties.PIECE_ID))
+ (fixGPID() ? " <b>" + Resources.getString("GpIdChecker.fixGPID") + "</b>" : ""));
return newPiece;
}
}
chat(GameRefresher.ERROR_MESSAGE_PREFIX + Resources.getString("GpIdChecker.refreshByNameFail", oldPieceName, gpid == null ? "" : gpid));
}
else {
chat(GameRefresher.ERROR_MESSAGE_PREFIX + Resources.getString("GpIdChecker.SlotNotFound", Decorator.getInnermost(oldPiece).getName(), gpid == null ? "" : gpid));
}

return oldPiece;
}

Expand Down
Loading