Skip to content

Commit

Permalink
automated test to print all possible bingo goals for all start locati…
Browse files Browse the repository at this point in the history
…ons to UCC.log
  • Loading branch information
Die4Ever committed Mar 21, 2024
1 parent cd43ccf commit 3a4af10
Show file tree
Hide file tree
Showing 4 changed files with 41 additions and 15 deletions.
8 changes: 4 additions & 4 deletions DXRCore/DeusEx/Classes/DXRVersion.uc
Original file line number Diff line number Diff line change
Expand Up @@ -4,21 +4,21 @@ simulated static function CurrentVersion(optional out int major, optional out in
{
major=2;
minor=6;
patch=0;
build=6;//build can't be higher than 99
patch=1;
build=0;//build can't be higher than 99
}

simulated static function bool VersionIsStable()
{
return true;
return false;
}

simulated static function string VersionString(optional bool full)
{
local int major,minor,patch,build;
local string status;

status = "";
status = "Alpha";

if(status!="") {
status = " " $ status;
Expand Down
2 changes: 2 additions & 0 deletions DXRModules/DeusEx/Classes/DXREvents.uc
Original file line number Diff line number Diff line change
Expand Up @@ -2789,6 +2789,8 @@ function ExtendedTests()
local string helpText;
local int i;

Super.ExtendedTests();

//Make sure all bingo goals have help text
for (i=0;i<ArrayCount(bingo_options);i++){
if (bingo_options[i].event!=""){
Expand Down
43 changes: 33 additions & 10 deletions DXRModules/DeusEx/Classes/DXREventsBase.uc
Original file line number Diff line number Diff line change
Expand Up @@ -941,7 +941,7 @@ simulated function PlayerAnyEntry(#var(PlayerPawn) player)
CheckBingoWin(dxr,data.NumberOfBingos());
} else {
SetGlobalSeed("bingo"$dxr.flags.bingoBoardRoll);
_CreateBingoBoard(data);
_CreateBingoBoard(data, dxr.flags.settings.starting_map, dxr.flags.bingo_duration);
}
}

Expand All @@ -952,22 +952,22 @@ simulated function CreateBingoBoard()
dxr.flags.SaveFlags();
SetGlobalSeed("bingo"$dxr.flags.bingoBoardRoll);
data = class'PlayerDataItem'.static.GiveItem(player());
_CreateBingoBoard(data);
_CreateBingoBoard(data, dxr.flags.settings.starting_map, dxr.flags.bingo_duration);
}

simulated function _CreateBingoBoard(PlayerDataItem data)
simulated function _CreateBingoBoard(PlayerDataItem data, int starting_map, int bingo_duration, optional bool bTest)
{
local int x, y, i;
local string event, desc;
local int progress, max, missions, starting_mission_mask, starting_mission, end_mission_mask, end_mission, maybe_mission_mask, masked_missions;
local int options[ArrayCount(bingo_options)], num_options, slot, free_spaces;
local float f;

starting_mission = class'DXRStartMap'.static.GetStartMapMission(dxr.flags.settings.starting_map);
starting_mission_mask = class'DXRStartMap'.static.GetStartingMissionMask(dxr.flags.settings.starting_map);
maybe_mission_mask = class'DXRStartMap'.static.GetMaybeMissionMask(dxr.flags.settings.starting_map);
if (dxr.flags.bingo_duration!=0){
end_mission = starting_mission+dxr.flags.bingo_duration-1; //The same mission is the first mission
starting_mission = class'DXRStartMap'.static.GetStartMapMission(starting_map);
starting_mission_mask = class'DXRStartMap'.static.GetStartingMissionMask(starting_map);
maybe_mission_mask = class'DXRStartMap'.static.GetMaybeMissionMask(starting_map);
if (bingo_duration!=0){
end_mission = starting_mission+bingo_duration-1; //The same mission is the first mission

//Missions 7 and 13 don't exist, so don't count them
if (starting_mission<7 && end_mission>=7){
Expand All @@ -986,18 +986,28 @@ simulated function _CreateBingoBoard(PlayerDataItem data)
if(bingo_options[x].event == "") continue;
masked_missions = bingo_options[x].missions & maybe_mission_mask;
if(masked_missions != 0) { // maybe?
if(class'DXRStartMap'.static.BingoGoalPossible(bingo_options[x].event,dxr.flags.settings.starting_map,end_mission)) {
if(class'DXRStartMap'.static.BingoGoalPossible(bingo_options[x].event,starting_map,end_mission)) {
options[num_options++] = x;
continue;
}
}
masked_missions = bingo_options[x].missions & starting_mission_mask & end_mission_mask;
if(bingo_options[x].missions!=0 && masked_missions == 0) continue;
if(class'DXRStartMap'.static.BingoGoalImpossible(bingo_options[x].event,dxr.flags.settings.starting_map,end_mission)) continue;
if(class'DXRStartMap'.static.BingoGoalImpossible(bingo_options[x].event,starting_map,end_mission)) continue;
options[num_options++] = x;
}

l("_CreateBingoBoard found " $ num_options $ " options");
if(bTest) {
l( "#" $ starting_map @ class'DXRStartMap'.static.GetStartingMapNameCredits(starting_map) @ bingo_duration @ end_mission $ " possible bingo goals" );
for(x=0; x<num_options; x++) {
i = options[x];
l( " " $ bingo_options[i].event );
}
test(num_options > 50, "_CreateBingoBoard more than 50 options for " $ starting_map);
l("----------------------------------");
return;
}

for(x=0; x<ArrayCount(mutually_exclusive); x++) {
if(mutually_exclusive[x].e1 == "") continue;
Expand Down Expand Up @@ -1263,6 +1273,19 @@ function RunTests()
testint(BingoActiveMission(3, (1<<15)), 0, "BingoActiveMission false");
}

function ExtendedTests()
{
local int i;
local string mapName, friendlyName;

for(i=0; i<160; i++) {
mapName = class'DXRStartMap'.static._GetStartMap(i, friendlyName);
if(friendlyName == "") continue;
l( "#" $ i @ friendlyName @ mapName $ " bingo goals test:" );
_CreateBingoBoard(None, i, 1, true);
}
}

defaultproperties
{
bingo_win_countdown=-1
Expand Down
3 changes: 2 additions & 1 deletion DXRModules/DeusEx/Classes/DXRStartMap.uc
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,7 @@ static function string GetStartMap(Actor a, int start_map_val)
static function string _GetStartMap(int start_map_val, out string friendlyName, optional out int bShowInMenu)
{
friendlyName = ""; // clear the out param to protect against reuse by the caller
switch(start_map_val)
{
case 0:
Expand Down Expand Up @@ -370,7 +371,7 @@ static function string _GetStartMap(int start_map_val, out string friendlyName,
default:
//There's always a place for you on Liberty Island
bShowInMenu=0; // just in case
friendlyName = "Unknown Start Map "$start_map_val;
//friendlyName = "Unknown Start Map "$start_map_val;
return "01_NYC_UNATCOIsland";
}
}
Expand Down

1 comment on commit 3a4af10

@Die4Ever
Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please sign in to comment.