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

Add new Scenario features to CustomizeScenarioDialog #3931

Merged
merged 84 commits into from
May 13, 2024
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
Show all changes
84 commits
Select commit Hold shift + click to select a range
b8c4ecf
Allow user to set date in vanilla scenarios
AaronGullickson Mar 29, 2024
f43adc9
Allow user to edit planetary conditions in CustomizeScenarioDialog
AaronGullickson Mar 29, 2024
25f8ca4
Reorganize layout of CustomizeScenarioDialog
AaronGullickson Apr 2, 2024
aca0030
Add planetary conditions panel to CustomizeScenarioDialog
AaronGullickson Apr 2, 2024
e4518ce
Fix conflict
AaronGullickson Apr 5, 2024
59bb9dd
Remove Jlabel definitions where not needed
AaronGullickson Apr 5, 2024
ef1662d
Add BotForce Table to scenario dialog
AaronGullickson Apr 10, 2024
b225170
Add CustomizeBotForceDialog beginning
AaronGullickson Apr 11, 2024
4cd36b2
Add behavior settings to CustomizeBotForceDialog
AaronGullickson Apr 11, 2024
b7322bd
Add camo selector to CustomizeBotForceDialog
AaronGullickson Apr 11, 2024
a18edb6
Refactor scenario.generateBotStubs and scenario.getEntityStubs
AaronGullickson Apr 11, 2024
52fdaaf
Add editing of fixed entity bot forces by mul in CustomizeBotForceDialog
AaronGullickson Apr 12, 2024
a120e62
Use copies of camo and behavior in CustomizeBotForceDialog
AaronGullickson Apr 12, 2024
1ff975f
Work with a copy of fixed entity list in CustomizeBotForceDialog
AaronGullickson Apr 12, 2024
124704e
Work with a copy of BotForces in CustomizeScenarioDialog
AaronGullickson Apr 12, 2024
a70d54b
Add getCopy method to BotForceRandomizer
AaronGullickson Apr 12, 2024
d5b8ae2
Add botForceRandomizer setter/getters
AaronGullickson Apr 12, 2024
e1f964d
Add additional getter/setters for BotForceRandomizer
AaronGullickson Apr 12, 2024
0ed751e
Remove campaign pointer from BotForceRandomizer
AaronGullickson Apr 12, 2024
5ef9a62
Add botForceRandomizer editor to CustomizeBotForceDialog
AaronGullickson Apr 12, 2024
f91f25b
Rework botrandomizer panel layout for CustomizeBotForceDialog
AaronGullickson Apr 12, 2024
33257c1
Use titled border for fixed units in CustomizeBotForceDialog
AaronGullickson Apr 12, 2024
1eb938e
use resourceMap for randomizer labels in CustomizeBotForceDialog
AaronGullickson Apr 12, 2024
c017c75
Set botForceRandomizer default quality to C
AaronGullickson Apr 12, 2024
52ff924
Add quality chooser to CustomizeBotForceDialog randomizer options
AaronGullickson Apr 12, 2024
ce533b1
Add tooltips to randomizer elements in CustomizeBotForceDialog
AaronGullickson Apr 12, 2024
8d61ab6
Improve display of faction choices in CustomizeBotForceDialog
AaronGullickson Apr 12, 2024
76cd5bf
Improve processing of comboboxes with enumes in CustomizeBotForceDialog
AaronGullickson Apr 12, 2024
7b339f7
Align planetary condition values to the right in CustomizeBotForceDialog
AaronGullickson Apr 12, 2024
55534b4
Rework layout of CustomizeScenarioDialog
AaronGullickson Apr 12, 2024
f83f051
Disable edit/delete buttons for loot and forces in initialization
AaronGullickson Apr 12, 2024
2d3654c
Adjust insets of planetary conditions labels in CustomizeScenarioDialog
AaronGullickson Apr 12, 2024
490bcfc
Start EditScenarioDeploymentLimitDialog
AaronGullickson Apr 13, 2024
8c75c8f
Change SpinnerModel dynamically in EditScenarioDeploymentLimitDialog
AaronGullickson Apr 13, 2024
20e00db
Add EditScenarioDeploymentLimitDialog
AaronGullickson Apr 13, 2024
5d98b94
Fix conflicts
AaronGullickson Apr 14, 2024
ecf7de0
Merge branch 'master' into update-scenario-dialog
AaronGullickson Apr 17, 2024
47b4933
Add IPlayerSettings interface to track player settings
AaronGullickson Apr 17, 2024
6694e66
Add EditDeploymentDialog and apply to scenario
AaronGullickson Apr 17, 2024
9f110f0
Allow deployment variable editing in CustomizeBotForceDialog
AaronGullickson Apr 17, 2024
b15ecdd
Clone botforces to properly cancel out of CustomizeScenarioDialog
AaronGullickson Apr 17, 2024
6cc45df
Fix bug using wrong variable
AaronGullickson Apr 18, 2024
c17bde2
Merge branch 'master' into update-scenario-dialog
AaronGullickson Apr 28, 2024
60ee1ff
Make display of deploymentLimit labels better on edits
AaronGullickson Apr 29, 2024
311ec33
Add setup for scenario objectives table in CustomizeScenarioDialog
AaronGullickson Apr 29, 2024
b090fcf
Add very bad CustomizeScenarioObjectiveDialog (WIP)
AaronGullickson Apr 29, 2024
9c7a2a8
Dont save changes to associated forces in CustomizeScenarioObjectiveD…
AaronGullickson Apr 29, 2024
30a8361
Work with copy of objectives in CustomizeScenarioDialog
AaronGullickson Apr 29, 2024
a9b28bc
Don't save objective effects in CustomizeScenarioObjectiveDialog unti…
AaronGullickson Apr 30, 2024
073bf5f
Add clear options for Detailsa nd ObjectiveEffects in ScenarioObjectives
AaronGullickson Apr 30, 2024
3c760d0
Record ScenarioObjective amoun type correctly in CustomizeScenarioObj…
AaronGullickson Apr 30, 2024
ea1f328
Complete layout redesign of CustomizeScenarioObjectiveDialog
AaronGullickson May 3, 2024
8735cb7
Set Preserve as default objective
AaronGullickson May 3, 2024
1924ed9
Add more detailed columns to ObjectiveTableModel
AaronGullickson May 3, 2024
89a6395
Replace textfields for numbers with spinner in CustomizeScenarioObjec…
AaronGullickson May 3, 2024
93503fd
Refactor spinner names in CustomizeScenarioObjectiveDialog
AaronGullickson May 3, 2024
11a622d
Localize text in CustomizeScenarioObjectiveDialog
AaronGullickson May 3, 2024
7906de5
remove coloring of labels in CustomizeScenarioObjectiveDialog
AaronGullickson May 3, 2024
8e65821
Check changes to forces for scenario objective changes in CustomizeSc…
AaronGullickson May 3, 2024
502daf5
Add map settings panel to CustomizeScenarioDialog
AaronGullickson May 4, 2024
ffe11f0
Improve layout of CustomizeScenarioDialog
AaronGullickson May 4, 2024
8f3657f
Start EditMapSettingsDialog
AaronGullickson May 4, 2024
c7d9d4a
Add spinners for map size to EditMapSettingsDialog
AaronGullickson May 5, 2024
8ede68a
Add list of mapgen options to EditMapSettingsDialog
AaronGullickson May 5, 2024
5a79a7a
remove old variable
AaronGullickson May 5, 2024
1d13af2
Add action listeners to EditMapSettingsDialog
AaronGullickson May 5, 2024
e1a58cd
Add fixed map selector to EditMapSettingsDialog
AaronGullickson May 5, 2024
169f99f
Sort random map generators alphabetically in EditMapSettingsDialog
AaronGullickson May 5, 2024
45d3e67
Add map thumbnail to fixed map list selection
AaronGullickson May 6, 2024
7db838d
Use static methods from MM to get available board sizes rather than n…
AaronGullickson May 6, 2024
301ee2e
Remove new methods for scanning boards, use MM methods instead
AaronGullickson May 6, 2024
e6b7054
Add missing copyright information
AaronGullickson May 6, 2024
2ba2384
Make minor coding changes as requested by IDE
AaronGullickson May 6, 2024
f330fea
localize EditMapSettings and EditScenarioDeploymentLimits dialogs
AaronGullickson May 6, 2024
023479a
Switch to random map list when space is selected in EditMapSettingsDi…
AaronGullickson May 6, 2024
786100f
Disable buttons on completed scenario
AaronGullickson May 6, 2024
404ac91
Complete localization of CustomizeScenarioDialog
AaronGullickson May 6, 2024
878a735
Use FlowLayout for buttons in dialogs
AaronGullickson May 6, 2024
c443336
Use insets in EditScenarioDeploymentLimitsDialog
AaronGullickson May 6, 2024
c6feb3f
Resolve conflicts
AaronGullickson May 6, 2024
7ab2050
Fix conflicts
AaronGullickson May 6, 2024
8d1c1e0
Correct error with using old method
AaronGullickson May 6, 2024
86886bd
Merge branch 'master' into update-scenario-dialog
AaronGullickson May 8, 2024
a5030a1
Fix conflict
AaronGullickson May 13, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,7 +1,28 @@
btnCancel.text=Cancel
btnOkay.text=OK
lblName.text=Scenario Name:
lblDate.text=Scenario Date:
lblStatus.text=Status:
title=Customize Scenario
title.new=New Scenario
lblDate.text=Date:
btnAddLoot.text=Add Loot
btnEditLoot.text=Edit Loot
btnDeleteLoot.text=Delete Loot
btnPlanetaryConditions.text=Edit Planetary Conditions...
panPlanetaryConditions.title=Planetary Conditions
lblLight.text=<html><b>Light:</b></html>
lblWeather.text=<html><b>Weather:</b></html>
lblWind.text=<html><b>Wind:</b></html>
lblFog.text=<html><b>Fog:</b></html>
lblBlowingSand.text=<html><b>Blowing Sand:</b></html>
lblEMI.text=<html><b>EMI:</b></html>
lblAtmosphere.text=<html><b>Atmosphere:</b></html>
lblGravity.text=<html><b>Gravity:</b></html>
lblTemperature.text=<html><b>Temperature:</b></html>
lblOtherConditions.text=<html><b>Other:</b></html>
emi.text=Electromagnetic interference
sand.text=Blowing sand
panOtherForces.title=Other Forces
btnAddForce.text=Add Force
btnEditForce.text=Edit Force
btnDeleteForce.text=Delete Force
17 changes: 1 addition & 16 deletions MekHQ/src/mekhq/GameThread.java
Original file line number Diff line number Diff line change
Expand Up @@ -173,22 +173,7 @@ public void run() {
client.sendMapSettings(mapSettings);
Thread.sleep(MekHQ.getMHQOptions().getStartGameDelay());

PlanetaryConditions planetaryConditions = new PlanetaryConditions();
planetaryConditions.setLight(scenario.getLight());
planetaryConditions.setWeather(scenario.getWeather());
planetaryConditions.setWind(scenario.getWind());
planetaryConditions.setFog(scenario.getFog());
planetaryConditions.setAtmosphere(scenario.getAtmosphere());
planetaryConditions.setTemperature(scenario.getModifiedTemperature());
planetaryConditions.setGravity(scenario.getGravity());
planetaryConditions.setEMI(scenario.getEMI());
planetaryConditions.setBlowingSand(scenario.getBlowingSand());
planetaryConditions.setShiftingWindDirection(scenario.canWindShiftDirection());
planetaryConditions.setShiftingWindStrength(scenario.canWindShiftStrength());
planetaryConditions.setWindMax(scenario.getMaxWindStrength());
planetaryConditions.setWindMin(scenario.getMinWindStrength());

client.sendPlanetaryConditions(planetaryConditions);
client.sendPlanetaryConditions(scenario.createPlanetaryConditions());
Thread.sleep(MekHQ.getMHQOptions().getStartGameDelay());

client.getLocalPlayer().setStartingPos(scenario.getStart());
Expand Down
45 changes: 45 additions & 0 deletions MekHQ/src/mekhq/campaign/mission/Scenario.java
Original file line number Diff line number Diff line change
Expand Up @@ -380,6 +380,50 @@ public BlowingSand getBlowingSand() {

public void setMinWindStrength(Wind strength) { this.minWindStrength = strength; }

/**
* Create a PlanetaryConditions object from variables
* @return PlanetaryConditions object
*/
public PlanetaryConditions createPlanetaryConditions() {
PlanetaryConditions planetaryConditions = new PlanetaryConditions();
planetaryConditions.setLight(getLight());
planetaryConditions.setWeather(getWeather());
planetaryConditions.setWind(getWind());
planetaryConditions.setFog(getFog());
planetaryConditions.setAtmosphere(getAtmosphere());
planetaryConditions.setTemperature(getModifiedTemperature());
planetaryConditions.setGravity(getGravity());
planetaryConditions.setEMI(getEMI());
planetaryConditions.setBlowingSand(getBlowingSand());
planetaryConditions.setShiftingWindDirection(canWindShiftDirection());
planetaryConditions.setShiftingWindStrength(canWindShiftStrength());
planetaryConditions.setWindMax(getMaxWindStrength());
planetaryConditions.setWindMin(getMinWindStrength());

return planetaryConditions;
}

/**
* Read the values from a PlanetaryConditions object into the Scenario variables for planetary conditions.
* This is necessary because MekHQ has XML and MegaMek doesn't.
* @param planetaryConditions A PlanetaryConditions object
*/
public void readPlanetaryConditions(PlanetaryConditions planetaryConditions) {
this.setLight(planetaryConditions.getLight());
this.setWeather(planetaryConditions.getWeather());
this.setWind(planetaryConditions.getWind());
this.setFog(planetaryConditions.getFog());
this.setAtmosphere(planetaryConditions.getAtmosphere());
this.setTemperature(planetaryConditions.getTemperature());
this.setGravity(planetaryConditions.getGravity());
this.setEMI(planetaryConditions.getEMI());
this.setBlowingSand(planetaryConditions.getBlowingSand());
this.setShiftWindDirection(planetaryConditions.shiftingWindDirection());
this.setShiftWindStrength(planetaryConditions.shiftingWindStrength());
this.setMaxWindStrength(planetaryConditions.getWindMax());
this.setMinWindStrength(planetaryConditions.getWindMin());
}

public ScenarioDeploymentLimit getDeploymentLimit() {
return deploymentLimit;
}
Expand Down Expand Up @@ -1029,4 +1073,5 @@ public boolean getHasTrack() {
public void setHasTrack(boolean b) {
hasTrack = b;
}

}