Skip to content

Commit

Permalink
Automatic level numbers for multiplayer
Browse files Browse the repository at this point in the history
  • Loading branch information
HumanGamer committed Mar 26, 2024
1 parent 7dc07e0 commit 24fb302
Showing 1 changed file with 14 additions and 12 deletions.
26 changes: 14 additions & 12 deletions game/marble/data/gameMissionInfo.cs
Original file line number Diff line number Diff line change
Expand Up @@ -837,14 +837,14 @@ function buildMissionList()
}

sortByLevel( SinglePlayMissionGroup );
sortByLevel( CustomSinglePlayMissionGroup );
sortByLevel( MultiPlayMissionGroup );
sortByLevel( CustomSinglePlayMissionGroup, true );
sortByLevel( MultiPlayMissionGroup, true );
sortByLevel( SpecialMissionGroup );
// hack, do this twice to get things into the proper order, don't have time to figure out why a
// single sort doesn't work
sortByLevel( SinglePlayMissionGroup );
sortByLevel( CustomSinglePlayMissionGroup );
sortByLevel( MultiPlayMissionGroup );
sortByLevel( CustomSinglePlayMissionGroup, true );
sortByLevel( MultiPlayMissionGroup, true );
sortByLevel( SpecialMissionGroup );

// verify that level Ids are unique
Expand Down Expand Up @@ -884,12 +884,12 @@ function buildMissionList()
for (%i = 0; %i < MultiPlayMissionGroup.getCount(); %i++)
{
%mis = MultiPlayMissionGroup.getObject(%i);
if (%levelIds[%mis.level] !$= "")
{
GameMissionInfo.dupErrors = GameMissionInfo.dupErrors @ "duplicate mission Id for level:" SPC %mis.file @ "\n";
GameMissionInfo.dupLevelIds[%mis.level] = true;
}
%levelIds[%mis.level] = true;
//if (%levelIds[%mis.level] !$= "")
//{
//GameMissionInfo.dupErrors = GameMissionInfo.dupErrors @ "duplicate mission Id for level:" SPC %mis.file @ "\n";
//GameMissionInfo.dupLevelIds[%mis.level] = true;
//}
//%levelIds[%mis.level] = true;
if (%mis.guid !$= "")
{
if (%guids[%mis.guid] !$= "")
Expand Down Expand Up @@ -931,8 +931,10 @@ function isDemoMission( %level )
//return 0;
}

function sortByLevel(%grp)
function sortByLevel(%grp, %useLevelNum)
{
if (%useLevelNum $= "")
%useLevelNum = false;
%grp.numAddedMissions = 0;
%newLevelNum = 0;
%ngrp = new SimGroup();
Expand Down Expand Up @@ -976,7 +978,7 @@ function sortByLevel(%grp)
//{
%grp.numAddedMissions++;
%obj = %ngrp.getObject(%lowestIndex);
if (%obj.difficultySet $= "custom")
if (%useLevelNum)
%obj.level = %newLevelNum;
%grp.add(%obj);
//}
Expand Down

0 comments on commit 24fb302

Please sign in to comment.