Skip to content

Commit

Permalink
Merge pull request #5090 from IllianiCBT/camoPicker_null
Browse files Browse the repository at this point in the history
Fixed Camouflage Directory Assignment for Null Faction Codes
  • Loading branch information
HammerGS authored Oct 21, 2024
2 parents 732f6fb + e3fd3b7 commit 5eb1966
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 16 deletions.
13 changes: 8 additions & 5 deletions MekHQ/src/mekhq/campaign/mission/AtBContract.java
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,6 @@
import java.time.LocalDate;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;

import static java.lang.Math.round;
import static megamek.client.ratgenerator.ModelRecord.NETWORK_NONE;
Expand Down Expand Up @@ -246,15 +245,19 @@ public static Camouflage pickRandomCamouflage(int currentYear, String factionCod
// Define the root directory and get the faction-specific camouflage directory
final String ROOT_DIRECTORY = "data/images/camo/";

String camouflageDirectory = getCamouflageDirectory(currentYear, factionCode);
String camouflageDirectory = "Standard Camouflage";

if (factionCode != null) {
camouflageDirectory = getCamouflageDirectory(currentYear, factionCode);
}

// Gather all files
List<Path> allPaths = null;

try {
allPaths = Files.find(Paths.get(ROOT_DIRECTORY + camouflageDirectory + '/'), Integer.MAX_VALUE,
(path, bfa) -> {return bfa.isRegularFile();})
.collect(Collectors.toList());
(path, bfa) -> bfa.isRegularFile())
.toList();
} catch (IOException e) {
logger.error("Error getting list of camouflages", e);
}
Expand All @@ -265,7 +268,7 @@ public static Camouflage pickRandomCamouflage(int currentYear, String factionCod

String fileName = randomPath.getFileName().toString();
String fileCategory = randomPath.getParent().toString()
.replaceAll("\\\\", "/"); // Is this necessary on windows machines?
.replaceAll("\\\\", "/"); // This is necessary for windows machines
fileCategory = fileCategory.replaceAll(ROOT_DIRECTORY, "");

return new Camouflage(fileCategory, fileName);
Expand Down
17 changes: 6 additions & 11 deletions MekHQ/src/mekhq/campaign/stratcon/StratconContractInitializer.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,25 +18,21 @@
*/
package mekhq.campaign.stratcon;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

import megamek.common.Compute;
import megamek.logging.MMLogger;
import mekhq.campaign.Campaign;
import mekhq.campaign.force.Force;
import mekhq.campaign.mission.AtBContract;
import mekhq.campaign.mission.AtBDynamicScenario;
import mekhq.campaign.mission.Mission;
import mekhq.campaign.mission.Scenario;
import mekhq.campaign.mission.*;
import mekhq.campaign.mission.ScenarioForceTemplate.ForceAlignment;
import mekhq.campaign.mission.ScenarioTemplate;
import mekhq.campaign.mission.atb.AtBScenarioModifier;
import mekhq.campaign.mission.enums.ContractCommandRights;
import mekhq.campaign.stratcon.StratconContractDefinition.ObjectiveParameters;
import mekhq.campaign.stratcon.StratconContractDefinition.StrategicObjectiveType;

import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

/**
* This class handles StratCon state initialization when a contract is signed.
*/
Expand Down Expand Up @@ -402,12 +398,11 @@ private static StratconCoords getUnoccupiedCoords(StratconTrackState trackState)
* such as pointers from StratCon scenario objects to AtB scenario objects.
*/
public static void restoreTransientStratconInformation(Mission m, Campaign campaign) {
if (m instanceof AtBContract) {
if (m instanceof AtBContract atbContract) {
// Having loaded scenarios and such, we now need to go through any StratCon
// scenarios for this contract
// and set their backing scenario pointers to the existing scenarios stored in
// the campaign for this contract
AtBContract atbContract = (AtBContract) m;
if (atbContract.getStratconCampaignState() != null) {
for (StratconTrackState track : atbContract.getStratconCampaignState().getTracks()) {
for (StratconScenario scenario : track.getScenarios().values()) {
Expand Down

0 comments on commit 5eb1966

Please sign in to comment.