From 955e01ea9e3f76009868e6d6f8d5f8309014a5b1 Mon Sep 17 00:00:00 2001 From: XxXAdvisaryXxX Date: Sat, 17 Oct 2026 14:38:47 -0700 Subject: [PATCH 1/3] Add checkboxes for South Africa, Singapore, and Japan Added checkboxes for South Africa, Singapore, and Japan to the profile form. Updated methods to handle new location checkboxes and their corresponding logic. --- utils/forms/profile_form.simba | 35 +++++++++++++++++++++++++++++----- 1 file changed, 30 insertions(+), 5 deletions(-) diff --git a/utils/forms/profile_form.simba b/utils/forms/profile_form.simba index 27faf917..b8496219 100644 --- a/utils/forms/profile_form.simba +++ b/utils/forms/profile_form.simba @@ -30,8 +30,7 @@ The account management system that handles profile storage, validation, and UI. F2PCheckbox, MembersCheckbox: TLazCheckBox; - GermanyCheckbox, UKCheckbox, USCheckbox, AustraliaCheckbox , BrazilCheckbox: TLazCheckBox; - + GermanyCheckbox, UKCheckbox, USCheckbox, AustraliaCheckbox , BrazilCheckbox, SouthAfricaCheckbox, SingaporeCheckbox, JapanCheckbox: TLazCheckBox; NormalCheckbox, DangerousCheckbox, RestrictedCheckbox, SkillTotalCheckbox: TLazCheckBox; SelectAllActivitiesCheckbox: TLazCheckBox; @@ -469,6 +468,12 @@ begin Result.ExcludeLocations += [EWorldLocation.AUSTRALIA]; if not Self.BrazilCheckbox.Checked then Result.ExcludeLocations += [EWorldLocation.BRAZIL]; + if not Self.SouthAfricaCheckbox.Checked then + Result.ExcludeLocations += [EWorldLocation.SOUTH_AFRICA]; + if not Self.SingaporeCheckbox.Checked then + Result.ExcludeLocations += [EWorldLocation.SINGAPORE]; + if not Self.JapanCheckbox.Checked then + Result.ExcludeLocations += [EWorldLocation.JAPAN]; if not Self.NormalCheckbox.Checked then Result.ExcludeActivities += [EWorldActivity.NORMAL]; @@ -560,8 +565,8 @@ Converts a world location enum to its display string. function TProfileForm.GetLocationString(loc: EWorldLocation): String; const NAMES: array [EWorldLocation] of String = [ - 'Germany', 'UK', 'USA', 'Australia', 'Brazil' - ]; +'Germany', 'UK', 'USA', 'Australia', 'Brazil', 'South Africa', 'Singapore', 'Japan' +]; begin Result := NAMES[loc]; end; @@ -706,6 +711,9 @@ begin EWorldLocation.UNITED_STATES: if not Self.USCheckbox.Checked then Continue; EWorldLocation.AUSTRALIA: if not Self.AustraliaCheckbox.Checked then Continue; EWorldLocation.BRAZIL: if not Self.BrazilCheckbox.Checked then Continue; + EWorldLocation.SOUTH_AFRICA: if not Self.SouthAfricaCheckbox.Checked then Continue; + EWorldLocation.SINGAPORE: if not Self.SingaporeCheckbox.Checked then Continue; + EWorldLocation.JAPAN: if not Self.JapanCheckbox.Checked then Continue; end; tempWorlds[j] := tempWorlds[i]; Inc(j); @@ -1020,9 +1028,26 @@ begin locY += checkboxHeight + 3; Self.BrazilCheckbox := TLazCheckBox.CreateEx( Self.LocationPanel, 'Brazil', '', 10, locY, 100, checkboxHeight - ); Self.BrazilCheckbox.Checked := True; + + locY += checkboxHeight + 3; + Self.SouthAfricaCheckbox := TLazCheckBox.CreateEx( + Self.LocationPanel, 'South Africa', '', 10, locY, 100, checkboxHeight + ); + Self.SouthAfricaCheckbox.Checked := True; + + locY += checkboxHeight + 3; + Self.SingaporeCheckbox := TLazCheckBox.CreateEx( + Self.LocationPanel, 'Singapore', '', 10, locY, 100, checkboxHeight + ); + Self.SingaporeCheckbox.Checked := True; + + locY += checkboxHeight + 3; + Self.JapanCheckbox := TLazCheckBox.CreateEx( + Self.LocationPanel, 'USA', '', 10, locY, 100, checkboxHeight + ); + Self.JapanCheckbox.Checked := True; end; (* From 037cf256b4a3ecab226049016b21b63ec76f808b Mon Sep 17 00:00:00 2001 From: XxXAdvisaryXxX Date: Sat, 17 Oct 2026 14:53:22 -0700 Subject: [PATCH 2/3] Add new locations to EWorldLocation enumeration --- utils/worldfetcher.simba | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/utils/worldfetcher.simba b/utils/worldfetcher.simba index b6bb31bd..7f958fe0 100644 --- a/utils/worldfetcher.simba +++ b/utils/worldfetcher.simba @@ -73,8 +73,7 @@ EWorldLocation = enum(GERMANY, UNITED_KINGDOM, UNITED_STATES, AUSTRALIA, BRAZIL) ``` An enumeration representing the geographical location of world servers. *) - EWorldLocation = enum(GERMANY, UNITED_KINGDOM, UNITED_STATES, AUSTRALIA, BRAZIL); - +EWorldLocation = enum(GERMANY, UNITED_KINGDOM, UNITED_STATES, AUSTRALIA, BRAZIL, SOUTH_AFRICA, SINGAPORE, JAPAN); (* ## type EWorldSort ```pascal @@ -177,11 +176,12 @@ begin end; case LocationStr of - 'GERMANY': Result := EWorldLocation.GERMANY; - 'UNITED KINGDOM': Result := EWorldLocation.UNITED_KINGDOM; 'UNITED STATES': Result := EWorldLocation.UNITED_STATES; 'AUSTRALIA': Result := EWorldLocation.AUSTRALIA; 'BRAZIL': Result := EWorldLocation.BRAZIL; + 'SOUTH AFRICA': Result := EWorldLocation.SOUTH_AFRICA; + 'SINGAPORE': Result := EWorldLocation.SINGAPORE; + 'JAPAN': Result := EWorldLocation.JAPAN; else begin Result := EWorldLocation(Random(0, Ord(High(EWorldLocation)))); From d8d5122b97e1efa36d9b200c3a32194cdaa806e2 Mon Sep 17 00:00:00 2001 From: XxXAdvisaryXxX Date: Sat, 17 Oct 2026 15:18:52 -0700 Subject: [PATCH 3/3] Fix checkbox label from 'USA' to 'Japan' Missed this for some reason. Profile form showed 2 USA's. --- utils/forms/profile_form.simba | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/utils/forms/profile_form.simba b/utils/forms/profile_form.simba index b8496219..569ac133 100644 --- a/utils/forms/profile_form.simba +++ b/utils/forms/profile_form.simba @@ -1045,7 +1045,7 @@ begin locY += checkboxHeight + 3; Self.JapanCheckbox := TLazCheckBox.CreateEx( - Self.LocationPanel, 'USA', '', 10, locY, 100, checkboxHeight + Self.LocationPanel, 'Japan', '', 10, locY, 100, checkboxHeight ); Self.JapanCheckbox.Checked := True; end;