Compare commits

..

No commits in common. "7f7221e1b75a3f4d3dc14fbca7461ae1d10a19dc" and "d3d6ae46277a691146007ef75d75e018bd47508c" have entirely different histories.

3 changed files with 14 additions and 13 deletions

View File

@ -167,13 +167,13 @@ public function ReportBadOptions()
} }
/** /**
* @return Server options as key-value pairs in an `HashTable`. * @return Server options as key-value pairs in an `AssociativeArray`.
*/ */
public function HashTable GetOptions() public function AssociativeArray GetOptions()
{ {
local int i; local int i;
local HashTable result; local AssociativeArray result;
result = _.collections.EmptyHashTable(); result = _.collections.EmptyAssociativeArray();
for (i = 0; i < option.length; i += 1) for (i = 0; i < option.length; i += 1)
{ {
if (!ValidateServerURLName(option[i].key)) continue; if (!ValidateServerURLName(option[i].key)) continue;

View File

@ -81,7 +81,6 @@ private simulated function InitializeClient()
return; return;
} }
default.selfReference = self; default.selfReference = self;
// TODO: Swap these around after dealing with aliases
class'ClientLevelCore'.static.CreateLevelCore(self); class'ClientLevelCore'.static.CreateLevelCore(self);
_ = class'Global'.static.GetInstance(); _ = class'Global'.static.GetInstance();
} }
@ -104,7 +103,6 @@ private function InitializeServer()
} }
default.selfReference = self; default.selfReference = self;
// Launch and setup core Acedia // Launch and setup core Acedia
// TODO: Swap these around after dealing with aliases
serverCore = class'ServerLevelCore'.static.CreateLevelCore(self); serverCore = class'ServerLevelCore'.static.CreateLevelCore(self);
_ = class'Global'.static.GetInstance(); _ = class'Global'.static.GetInstance();
_server = class'ServerGlobal'.static.GetInstance(); _server = class'ServerGlobal'.static.GetInstance();
@ -150,7 +148,9 @@ function ServerTraveling(string URL, bool bItems)
votingAdapter = none; votingAdapter = none;
} }
default.selfReference = none; default.selfReference = none;
_.environment.ShutDown(); _.environment.DisableAllFeatures();
class'UnrealService'.static.Require().Destroy();
class'ServerLevelCore'.static.GetInstance().Destroy();
if (nextMutator != none) { if (nextMutator != none) {
nextMutator.ServerTraveling(URL, bItems); nextMutator.ServerTraveling(URL, bItems);
} }
@ -224,8 +224,8 @@ private function EnableFeatures(array<FeatureConfigPair> features)
// Fetches and sets up signals that `Mutator` needs to provide // Fetches and sets up signals that `Mutator` needs to provide
private function SetupMutatorSignals() private function SetupMutatorSignals()
{ {
local ServerUnrealService service; local UnrealService service;
service = ServerUnrealService(class'ServerUnrealService'.static.Require()); service = UnrealService(class'UnrealService'.static.Require());
onMutateSignal = Mutator_OnMutate_Signal( onMutateSignal = Mutator_OnMutate_Signal(
service.GetSignal(class'Mutator_OnMutate_Signal')); service.GetSignal(class'Mutator_OnMutate_Signal'));
onModifyLoginSignal = Mutator_OnModifyLogin_Signal( onModifyLoginSignal = Mutator_OnModifyLogin_Signal(

View File

@ -170,18 +170,19 @@ private function string BuildOptionsString(GameMode gameMode)
local string result; local string result;
local string nextKey, nextValue; local string nextKey, nextValue;
local CollectionIterator iter; local CollectionIterator iter;
local HashTable options; local AssociativeArray options;
options = gameMode.GetOptions(); options = gameMode.GetOptions();
for (iter = options.Iterate(); !iter.HasFinished(); iter.Next()) for (iter = options.Iterate(); !iter.HasFinished(); iter.Next())
{ {
nextKey = _.text.ToString(Text(iter.GetKey())); nextKey = Text(iter.GetKey()).ToString();
nextValue = _.text.ToString(Text(iter.Get())); nextValue = Text(iter.Get()).ToString();
if (optionWasAdded) { if (optionWasAdded) {
result $= "?"; result $= "?";
} }
result $= (nextKey $ "=" $ nextValue); result $= (nextKey $ "=" $ nextValue);
optionWasAdded = true; optionWasAdded = true;
} }
options.Empty(true);
options.FreeSelf(); options.FreeSelf();
iter.FreeSelf(); iter.FreeSelf();
return result; return result;