Skip to content

Commit

Permalink
Merge branch 'palworld' into 2.1
Browse files Browse the repository at this point in the history
  • Loading branch information
thommcgrath committed Jan 30, 2024
2 parents ad03b72 + 7839e09 commit cc684dd
Show file tree
Hide file tree
Showing 95 changed files with 26,937 additions and 451 deletions.
5 changes: 5 additions & 0 deletions Project/App.xojo_code
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ Implements NotificationKit.Receiver,Beacon.Application
Ark.DataSource.Pool.CloseAll
SDTD.DataSource.Pool.CloseAll
Beacon.CommonData.Pool.CloseAll
ArkSA.DataSource.Pool.CloseAll
Palworld.DataSource.Pool.CloseAll

UpdatesKit.Cleanup

Expand Down Expand Up @@ -1061,6 +1063,9 @@ Implements NotificationKit.Receiver,Beacon.Application
#if ArkSA.Enabled
Self.mDataSources.Add(ArkSA.DataSource.Pool.Get(False))
#endif
#if Palworld.Enabled
Self.mDataSources.Add(Palworld.DataSource.Pool.Get(False))
#endif
Catch Err As RuntimeException
// Something is still wrong
BeaconUI.ShowAlert("Beacon cannot start due to a problem with a local database.", "Beacon is unable to create or repair a local database. The database error was: `" + Err.Message + "`.")
Expand Down
66 changes: 60 additions & 6 deletions Project/Beacon.xojo_project
Original file line number Diff line number Diff line change
Expand Up @@ -591,6 +591,7 @@ Folder=General Dialogs;Views/ArkSA/General Dialogs;&h0000000079FD1FFF;&h00000000
Folder=Import;Views/ArkSA/Import;&h000000001BDD67FF;&h000000000DC787FF;false
Folder=Templates;Views/ArkSA/Templates;&h00000000390347FF;&h000000000DC787FF;false
Folder=7 Days to Die;Views/7 Days to Die;&h000000004EEF1FFF;&h0000000008A387FF;false
Folder=Palworld;Views/Palworld;&h000000002348F7FF;&h0000000008A387FF;false
DesktopWindow=ArkDocumentEditorView;Views/Ark/ArkDocumentEditorView.xojo_window;&h0000000033F01FFF;&h000000007EE13FFF;false
Folder=Config Editors;Views/Ark/Config Editors;&h00000000434D97FF;&h000000007EE13FFF;false
Folder=General Dialogs;Views/Ark/General Dialogs;&h00000000524BBFFF;&h000000007EE13FFF;false
Expand Down Expand Up @@ -882,15 +883,68 @@ DesktopWindow=ArkSAModEditorView;Views/ArkSA/Mods/ArkSAModEditorView.xojo_window
DesktopWindow=DebugWindow;Views/Support Ticket/DebugWindow.xojo_window;&h000000006E2A3FFF;&h000000003584DFFF;false
Class=PendingDataImport;Modules/DataUpdater/PendingDataImport.xojo_code;&h000000000CB60FFF;&h000000006233C7FF;false
Class=SettingChange;Modules/Hosting Providers/Nitrado/SettingChange.xojo_code;&h0000000017DD3FFF;&h0000000072E03FFF;false
Module=Palworld;Modules/Game Support/Palworld.xojo_code;&h000000005F9A17FF;&h000000007CC197FF;false
Module=Configs;Modules/Game Support/Palworld/Configs.xojo_code;&h00000000142E27FF;&h000000005F9A17FF;false
Class=ConfigGroup;Modules/Game Support/Palworld/ConfigGroup.xojo_code;&h0000000065AF87FF;&h000000005F9A17FF;false
Class=Project;Modules/Game Support/Palworld/Project.xojo_code;&h000000000BAAFFFF;&h000000005F9A17FF;false
Class=ServerProfile;Modules/Game Support/Palworld/ServerProfile.xojo_code;&h000000003BDDCFFF;&h000000005F9A17FF;false
Class=ConfigOption;Modules/Game Support/Palworld/ConfigOption.xojo_code;&h0000000067108FFF;&h000000005F9A17FF;false
Class=ConfigValue;Modules/Game Support/Palworld/ConfigValue.xojo_code;&h0000000007215FFF;&h000000005F9A17FF;false
Class=DataSource;Modules/Game Support/Palworld/DataSource.xojo_code;&h000000006B4387FF;&h000000005F9A17FF;false
Class=DataSourcePool;Modules/Game Support/Palworld/DataSourcePool.xojo_code;&h000000007F107FFF;&h000000005F9A17FF;false
Class=OtherSettings;Modules/Game Support/Palworld/Configs/OtherSettings.xojo_code;&h0000000036152FFF;&h00000000142E27FF;false
Class=CustomContent;Modules/Game Support/Palworld/Configs/CustomContent.xojo_code;&h0000000025B18FFF;&h00000000142E27FF;false
Class=ConfigOrganizer;Modules/Game Support/Palworld/ConfigOrganizer.xojo_code;&h0000000063B4A7FF;&h000000005F9A17FF;false
DesktopWindow=PalworldDocumentEditorView;Views/Palworld/PalworldDocumentEditorView.xojo_window;&h0000000008707FFF;&h000000002348F7FF;false
Folder=Config Editors;Views/Palworld/Config Editors;&h000000001F7147FF;&h000000002348F7FF;false
Class=PalworldConfigEditor;Views/Palworld/Config Editors/PalworldConfigEditor.xojo_code;&h00000000453447FF;&h000000001F7147FF;false
Folder=Accounts;Views/Palworld/Config Editors/Accounts;&h00000000120FAFFF;&h000000001F7147FF;false
Folder=Custom Config;Views/Palworld/Config Editors/Custom Config;&h000000007A9F57FF;&h000000001F7147FF;false
Folder=General Settings;Views/Palworld/Config Editors/General Settings;&h000000003A9E17FF;&h000000001F7147FF;false
Folder=Project Settings;Views/Palworld/Config Editors/Project Settings;&h000000003CE537FF;&h000000001F7147FF;false
DesktopWindow=PalworldAccountsEditor;Views/Palworld/Config Editors/Accounts/PalworldAccountsEditor.xojo_window;&h000000003E81F7FF;&h00000000120FAFFF;false
DesktopWindow=PalworldCustomConfigEditor;Views/Palworld/Config Editors/Custom Config/PalworldCustomConfigEditor.xojo_window;&h000000002346BFFF;&h000000007A9F57FF;false
DesktopWindow=PalworldProjectSettingsEditor;Views/Palworld/Config Editors/Project Settings/PalworldProjectSettingsEditor.xojo_window;&h0000000032146FFF;&h000000003CE537FF;false
Folder=Servers;Views/Palworld/Config Editors/Servers;&h000000002399BFFF;&h000000001F7147FF;false
DesktopWindow=PalworldGeneralSettingsEditor;Views/Palworld/Config Editors/General Settings/PalworldGeneralSettingsEditor.xojo_window;&h000000006A997FFF;&h000000003A9E17FF;false
DesktopWindow=PalworldSettingsListContainer;Views/Palworld/Config Editors/General Settings/PalworldSettingsListContainer.xojo_window;&h000000003AF53FFF;&h000000003A9E17FF;false
Class=PalworldSettingsListElement;Views/Palworld/Config Editors/General Settings/PalworldSettingsListElement.xojo_code;&h00000000554967FF;&h000000003A9E17FF;false
DesktopWindow=PalworldSettingsListStringElement;Views/Palworld/Config Editors/General Settings/PalworldSettingsListStringElement.xojo_window;&h000000001ECF4FFF;&h000000003A9E17FF;false
DesktopWindow=PalworldSettingsListNumberElement;Views/Palworld/Config Editors/General Settings/PalworldSettingsListNumberElement.xojo_window;&h0000000057F83FFF;&h000000003A9E17FF;false
DesktopWindow=PalworldSettingsListBooleanElement;Views/Palworld/Config Editors/General Settings/PalworldSettingsListBooleanElement.xojo_window;&h000000002B72B7FF;&h000000003A9E17FF;false
DesktopWindow=PalworldSettingsListHeader;Views/Palworld/Config Editors/General Settings/PalworldSettingsListHeader.xojo_window;&h00000000533EAFFF;&h000000003A9E17FF;false
Class=ProjectTool;Modules/Game Support/Palworld/ProjectTool.xojo_code;&h000000003E4A67FF;&h000000005F9A17FF;false
Class=DiscoveredData;Modules/Game Support/Palworld/DiscoveredData.xojo_code;&h00000000317C17FF;&h000000005F9A17FF;false
Class=ImportThread;Modules/Game Support/Palworld/ImportThread.xojo_code;&h0000000007B40FFF;&h000000005F9A17FF;false
Class=ConfigParser;Modules/Game Support/Palworld/ConfigParser.xojo_code;&h0000000033A727FF;&h000000005F9A17FF;false
DesktopWindow=PalworldServersEditor;Views/Palworld/Config Editors/Servers/PalworldServersEditor.xojo_window;&h0000000041590FFF;&h000000002399BFFF;false
Class=PalworldServerViewContainer;Views/Palworld/Config Editors/Servers/PalworldServerViewContainer.xojo_code;&h0000000052D5BFFF;&h000000002399BFFF;false
DesktopWindow=PalworldCommonServerSettingsView;Views/Palworld/Config Editors/Servers/PalworldCommonServerSettingsView.xojo_window;&h000000004D4B5FFF;&h000000002399BFFF;false
DesktopWindow=PalworldMultiServerView;Views/Palworld/Config Editors/Servers/PalworldMultiServerView.xojo_window;&h00000000084817FF;&h000000002399BFFF;false
DesktopWindow=PalworldNitradoServerView;Views/Palworld/Config Editors/Servers/PalworldNitradoServerView.xojo_window;&h00000000593EA7FF;&h000000002399BFFF;false
DesktopWindow=PalworldFTPServerView;Views/Palworld/Config Editors/Servers/PalworldFTPServerView.xojo_window;&h000000004B09BFFF;&h000000002399BFFF;false
DesktopWindow=PalworldLocalServerView;Views/Palworld/Config Editors/Servers/PalworldLocalServerView.xojo_window;&h00000000695BBFFF;&h000000002399BFFF;false
DesktopWindow=PalworldGSAServerView;Views/Palworld/Config Editors/Servers/PalworldGSAServerView.xojo_window;&h00000000466E77FF;&h000000002399BFFF;false
Folder=General Dialogs;Views/Palworld/General Dialogs;&h0000000065E617FF;&h000000002348F7FF;false
Folder=Import;Views/Palworld/Import;&h0000000035E4EFFF;&h000000002348F7FF;false
DesktopWindow=PalworldImportView;Views/Palworld/Import/PalworldImportView.xojo_window;&h000000007B68C7FF;&h0000000035E4EFFF;false
Folder=Discovery Views;Views/Palworld/Import/Discovery Views;&h000000003ED167FF;&h0000000035E4EFFF;false
Class=PalworldDiscoveryView;Views/Palworld/Import/Discovery Views/PalworldDiscoveryView.xojo_code;&h0000000056C7C7FF;&h000000003ED167FF;false
DesktopWindow=PalworldClipboardDiscoveryView;Views/Palworld/Import/Discovery Views/PalworldClipboardDiscoveryView.xojo_window;&h0000000012BD97FF;&h000000003ED167FF;false
DesktopWindow=PalworldFilesDiscoveryView;Views/Palworld/Import/Discovery Views/PalworldFilesDiscoveryView.xojo_window;&h000000003392B7FF;&h000000003ED167FF;false
DesktopWindow=PalworldExportWindow;Views/Palworld/General Dialogs/PalworldExportWindow.xojo_window;&h00000000146B5FFF;&h0000000065E617FF;false
Class=DiscoverIntegration;Modules/Game Support/Palworld/DiscoverIntegration.xojo_code;&h0000000067A5BFFF;&h000000005F9A17FF;false
Class=DeployIntegration;Modules/Game Support/Palworld/DeployIntegration.xojo_code;&h0000000061E107FF;&h000000005F9A17FF;false
Class=Rewriter;Modules/Game Support/Palworld/Rewriter.xojo_code;&h0000000012B3BFFF;&h000000005F9A17FF;false
AppMenuBar=MainMenuBar
MajorVersion=2
MinorVersion=0
SubVersion=2
NonRelease=0
Release=3
MinorVersion=1
SubVersion=0
NonRelease=1
Release=1
InfoVersion=Beacon
LongVersion=Beacon 2.0.2 ©2016-2023 The ZAZ Studios
ShortVersion=2.0.2
LongVersion=Beacon 2.1.0a1 ©2016-2024 The ZAZ Studios
ShortVersion=2.1.0a1
WinCompanyName=The ZAZ Studios
WinInternalName=
WinProductName=Beacon
Expand Down
2 changes: 1 addition & 1 deletion Project/Custom Controls/OmniNoticeBar.xojo_code
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ Inherits ControlCanvas
#tag EndProperty


#tag Constant, Name = WarningText, Type = String, Dynamic = False, Default = \"This editor requires Beacon Omni for \?1. Click this banner to learn more.", Scope = Private
#tag Constant, Name = WarningText, Type = String, Dynamic = True, Default = \"This editor requires a \'Beacon Omni for \?1\' license. Click this banner to learn more.", Scope = Private
#tag EndConstant


Expand Down
3 changes: 3 additions & 0 deletions Project/Modules/Beacon.xojo_code
Original file line number Diff line number Diff line change
Expand Up @@ -669,6 +669,9 @@ Protected Module Beacon
#if ArkSA.Enabled
GameList.Add(New Beacon.Game(ArkSA.Identifier, ArkSA.FullName, ArkSA.OmniFlag, Beacon.Game.FeatureTemplates Or Beacon.Game.FeatureMods))
#endif
#if Palworld.Enabled
GameList.Add(New Beacon.Game(Palworld.Identifier, Palworld.FullName, Palworld.OmniFlag, 0))
#endif

Var Names() As String
Names.ResizeTo(GameList.LastIndex)
Expand Down
55 changes: 55 additions & 0 deletions Project/Modules/Beacon/Project.xojo_code
Original file line number Diff line number Diff line change
Expand Up @@ -428,6 +428,8 @@ Implements ObservationKit.Observable
Return New SDTD.Project()
Case ArkSA.Identifier
Return New ArkSA.Project()
Case Palworld.Identifier
Return New Palworld.Project()
End Select
End Function
#tag EndMethod
Expand Down Expand Up @@ -543,6 +545,8 @@ Implements ObservationKit.Observable
Project = New SDTD.Project
Case ArkSA.Identifier
Project = New ArkSA.Project
Case Palworld.Identifier
Project = New Palworld.Project
Else
Var Err As New Beacon.ProjectLoadException
Err.Message = "Unknown game " + GameId + "."
Expand Down Expand Up @@ -1022,6 +1026,21 @@ Implements ObservationKit.Observable
End Function
#tag EndMethod

#tag Method, Flags = &h0
Function HasConfigGroup(InternalName As String) As Boolean
Return Self.HasConfigGroup(InternalName, Self.ActiveConfigSet)
End Function
#tag EndMethod

#tag Method, Flags = &h0
Function HasConfigGroup(InternalName As String, Set As Beacon.ConfigSet) As Boolean
Var SetDict As Dictionary = Self.ConfigSetData(Set)
If (SetDict Is Nil) = False Then
Return SetDict.HasKey(InternalName)
End If
End Function
#tag EndMethod

#tag Method, Flags = &h0
Function HasConfigSet(Set As Beacon.ConfigSet) As Boolean
Return Self.IndexOf(Set) > -1
Expand Down Expand Up @@ -1456,6 +1475,42 @@ Implements ObservationKit.Observable
End Sub
#tag EndMethod

#tag Method, Flags = &h0
Sub RemoveConfigGroup(Group As Beacon.ConfigGroup)
If Group Is Nil Then
Return
End If

Self.RemoveConfigGroup(Group.InternalName, Self.ActiveConfigSet)
End Sub
#tag EndMethod

#tag Method, Flags = &h0
Sub RemoveConfigGroup(Group As Beacon.ConfigGroup, Set As Beacon.ConfigSet)
If Group Is Nil Then
Return
End If

Self.RemoveConfigGroup(Group.InternalName, Set)
End Sub
#tag EndMethod

#tag Method, Flags = &h0
Sub RemoveConfigGroup(InternalName As String)
Self.RemoveConfigGroup(InternalName, Self.ActiveConfigSet)
End Sub
#tag EndMethod

#tag Method, Flags = &h0
Sub RemoveConfigGroup(InternalName As String, Set As Beacon.ConfigSet)
Var SetDict As Dictionary = Self.ConfigSetData(Set)
If (SetDict Is Nil) = False And SetDict.HasKey(InternalName) Then
SetDict.Remove(InternalName)
Self.ConfigSetData(Set) = SetDict
End If
End Sub
#tag EndMethod

#tag Method, Flags = &h0
Sub RemoveConfigSet(Set As Beacon.ConfigSet)
If Set Is Nil Or Set.IsBase Then
Expand Down
2 changes: 2 additions & 0 deletions Project/Modules/Beacon/ServerProfile.xojo_code
Original file line number Diff line number Diff line change
Expand Up @@ -276,6 +276,8 @@ Protected Class ServerProfile
Return New SDTD.ServerProfile(Dict, Project, Version)
Case ArkSA.Identifier
Return New ArkSA.ServerProfile(Dict, Project, Version)
Case Palworld.Identifier
Return New Palworld.ServerProfile(Dict, Project, Version)
End Select
End Function
#tag EndMethod
Expand Down
16 changes: 16 additions & 0 deletions Project/Modules/FrameworkExtensions/NullableString.xojo_code
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,22 @@ Class NullableString
End Function
#tag EndMethod

#tag Method, Flags = &h0
Shared Function Compare(FirstValue As NullableString, SecondValue As NullableString, Options As ComparisonOptions) As Integer
If FirstValue Is Nil And SecondValue Is Nil Then
Return 0
End If

If FirstValue Is Nil Then
Return -1
ElseIf SecondValue Is Nil Then
Return 1
End If

Return FirstValue.StringValue.Compare(SecondValue.StringValue, Options)
End Function
#tag EndMethod

#tag Method, Flags = &h0
Function Compare(Other As String, Compare As ComparisonOptions = ComparisonOptions.CaseInsensitive, Locale As Locale = Nil) As Integer
Return Self.mValue.Compare(Other, Compare, Locale)
Expand Down
51 changes: 0 additions & 51 deletions Project/Modules/Game Support/Ark/Project.xojo_code
Original file line number Diff line number Diff line change
Expand Up @@ -759,21 +759,6 @@ Inherits Beacon.Project
End Function
#tag EndMethod

#tag Method, Flags = &h0
Function HasConfigGroup(InternalName As String) As Boolean
Return Self.HasConfigGroup(InternalName, Self.ActiveConfigSet)
End Function
#tag EndMethod

#tag Method, Flags = &h0
Function HasConfigGroup(InternalName As String, Set As Beacon.ConfigSet) As Boolean
Var SetDict As Dictionary = Self.ConfigSetData(Set)
If (SetDict Is Nil) = False Then
Return SetDict.HasKey(InternalName)
End If
End Function
#tag EndMethod

#tag Method, Flags = &h0
Function MapMask() As UInt64
Return Self.mMapMask
Expand Down Expand Up @@ -813,42 +798,6 @@ Inherits Beacon.Project
End Sub
#tag EndMethod

#tag Method, Flags = &h0
Sub RemoveConfigGroup(Group As Ark.ConfigGroup)
If Group Is Nil Then
Return
End If

Self.RemoveConfigGroup(Group.InternalName, Self.ActiveConfigSet)
End Sub
#tag EndMethod

#tag Method, Flags = &h0
Sub RemoveConfigGroup(Group As Ark.ConfigGroup, Set As Beacon.ConfigSet)
If Group Is Nil Then
Return
End If

Self.RemoveConfigGroup(Group.InternalName, Set)
End Sub
#tag EndMethod

#tag Method, Flags = &h0
Sub RemoveConfigGroup(InternalName As String)
Self.RemoveConfigGroup(InternalName, Self.ActiveConfigSet)
End Sub
#tag EndMethod

#tag Method, Flags = &h0
Sub RemoveConfigGroup(InternalName As String, Set As Beacon.ConfigSet)
Var SetDict As Dictionary = Self.ConfigSetData(Set)
If (SetDict Is Nil) = False And SetDict.HasKey(InternalName) Then
SetDict.Remove(InternalName)
Self.ConfigSetData(Set) = SetDict
End If
End Sub
#tag EndMethod

#tag Method, Flags = &h0
Function SupportsMap(Map As Ark.Map) As Boolean
Return (Self.MapMask And Map.Mask) = Map.Mask
Expand Down
51 changes: 0 additions & 51 deletions Project/Modules/Game Support/ArkSA/Project.xojo_code
Original file line number Diff line number Diff line change
Expand Up @@ -772,21 +772,6 @@ Inherits Beacon.Project
End Function
#tag EndMethod

#tag Method, Flags = &h0
Function HasConfigGroup(InternalName As String) As Boolean
Return Self.HasConfigGroup(InternalName, Self.ActiveConfigSet)
End Function
#tag EndMethod

#tag Method, Flags = &h0
Function HasConfigGroup(InternalName As String, Set As Beacon.ConfigSet) As Boolean
Var SetDict As Dictionary = Self.ConfigSetData(Set)
If (SetDict Is Nil) = False Then
Return SetDict.HasKey(InternalName)
End If
End Function
#tag EndMethod

#tag Method, Flags = &h0
Function MapMask() As UInt64
Return Self.mMapMask
Expand Down Expand Up @@ -826,42 +811,6 @@ Inherits Beacon.Project
End Sub
#tag EndMethod

#tag Method, Flags = &h0
Sub RemoveConfigGroup(Group As ArkSA.ConfigGroup)
If Group Is Nil Then
Return
End If

Self.RemoveConfigGroup(Group.InternalName, Self.ActiveConfigSet)
End Sub
#tag EndMethod

#tag Method, Flags = &h0
Sub RemoveConfigGroup(Group As ArkSA.ConfigGroup, Set As Beacon.ConfigSet)
If Group Is Nil Then
Return
End If

Self.RemoveConfigGroup(Group.InternalName, Set)
End Sub
#tag EndMethod

#tag Method, Flags = &h0
Sub RemoveConfigGroup(InternalName As String)
Self.RemoveConfigGroup(InternalName, Self.ActiveConfigSet)
End Sub
#tag EndMethod

#tag Method, Flags = &h0
Sub RemoveConfigGroup(InternalName As String, Set As Beacon.ConfigSet)
Var SetDict As Dictionary = Self.ConfigSetData(Set)
If (SetDict Is Nil) = False And SetDict.HasKey(InternalName) Then
SetDict.Remove(InternalName)
Self.ConfigSetData(Set) = SetDict
End If
End Sub
#tag EndMethod

#tag Method, Flags = &h0
Function SupportsMap(Map As ArkSA.Map) As Boolean
Return (Self.MapMask And Map.Mask) = Map.Mask
Expand Down
Loading

0 comments on commit cc684dd

Please sign in to comment.