From 4dae1532e5fff567f9b0fff65008473c207d823b Mon Sep 17 00:00:00 2001 From: RAZER <79311432+CnCRAZER@users.noreply.github.com> Date: Sat, 18 Jan 2025 18:11:11 -0600 Subject: [PATCH] Restructured INI files (#429) Distinguish between multiplayer lobbies and skirmish lobbies with the newer xna client config. --- package/Resources/CnCNetGameLobby.ini | 13 +- package/Resources/GameLobbyBase.ini | 504 ++++++++++++++++++ package/Resources/GenericWindow.ini | 5 + package/Resources/LanGameLobby.ini | 5 +- package/Resources/MultiplayerGameLobby.ini | 491 +---------------- package/Resources/PlayerExtraOptionsPanel.ini | 35 +- package/Resources/SkirmishLobby.ini | 35 +- 7 files changed, 600 insertions(+), 488 deletions(-) create mode 100644 package/Resources/GameLobbyBase.ini diff --git a/package/Resources/CnCNetGameLobby.ini b/package/Resources/CnCNetGameLobby.ini index 5c8c5cbd..9284087b 100644 --- a/package/Resources/CnCNetGameLobby.ini +++ b/package/Resources/CnCNetGameLobby.ini @@ -1,9 +1,14 @@ [INISystem] BasedOn=MultiplayerGameLobby.ini -[CnCNetGameLobby] -$BaseSection=MultiplayerGameLobby +[MultiplayerGameLobby] +$CCMP99=btnChangeTunnel:XNAClientButton [btnChangeTunnel] -Visible=true -Enabled=true +Text=Change Tunnel +Location=0,0 +Size=133,23 +DistanceFromBottomBorder=13 +DistanceFromRightBorder=155 +Visible=false +Enabled=false diff --git a/package/Resources/GameLobbyBase.ini b/package/Resources/GameLobbyBase.ini new file mode 100644 index 00000000..cb50bc88 --- /dev/null +++ b/package/Resources/GameLobbyBase.ini @@ -0,0 +1,504 @@ +[INISystem] +BasedOn=GenericWindow.ini + +[GameLobbyBase] +$BaseSection=FullWindow +PlayerReadyBoxY=2 +PlayerReadyBoxX=2 +PlayerOptionLocationX=22 +PlayerOptionLocationY=25 +PlayerOptionVerticalMargin=7 +PlayerOptionHorizontalMargin=2 +PlayerOptionCaptionLocationY=6 +PlayerNameWidth=132 +SideWidth=106 +ColorWidth=70 +StartWidth=36 +TeamWidth=36 + +; controls +$CC00=btnLaunchGame:GameLaunchButton +$CC01=btnLeaveGame:XNAClientButton +$CC03=MapPreviewBox:MapPreviewBox +$CC04=GameOptionsPanel:XNAPanel +$CC05=PlayerOptionsPanel:XNAPanel +$CC06=lblMapName:XNALabel +$CC07=lblMapAuthor:XNALabel +$CC08=lblGameMode:XNALabel +$CC09=lblMapSize:XNALabel +$CC12=lbMapList:XNAMultiColumnListBox +$CC13=lblGameModeSelect:XNALabel +$CC14=ddGameMode:XNAClientDropDown +$CC15=tbMapSearch:XNASuggestionTextBox +$CC16=btnPickRandomMap:XNAClientButton +$CC17=PlayerExtraOptionsPanel:PlayerExtraOptionsPanel +$CC18=lbChatMessages:ChatListBox +$CC19=tbChatInput:XNAChatTextBox +$CC20=btnCnCNet:XNALinkButton + +; When beta is merged +; $CC24=btnCnCNet2:XNALinkButton +; $CC25=btnCnCNet3:XNALinkButton + +[lblName] +Text=Players; in the game its Players, makes more sense than Name actually, eh + +[lblSide] +Text=Side + +[lblStart] +Text=Start +Visible=true + +[lblColor] +Text=Color + +[lblTeam] +Text=Team + +[ddPlayerStartBase] +Enabled=true +Visible=true + +[ddPlayerStart0] +$BaseSection=ddPlayerStartBase + +[ddPlayerStart1] +$BaseSection=ddPlayerStartBase + +[ddPlayerStart2] +$BaseSection=ddPlayerStartBase + +[ddPlayerStart3] +$BaseSection=ddPlayerStartBase + +[ddPlayerStart4] +$BaseSection=ddPlayerStartBase + +[ddPlayerStart5] +$BaseSection=ddPlayerStartBase + +[ddPlayerStart6] +$BaseSection=ddPlayerStartBase + +[ddPlayerStart7] +$BaseSection=ddPlayerStartBase + +[lbChatMessagesBase] +SolidColorBackgroundTexture=0,0,0,200 +Location=12,14 +Size=0,234 + +[lbChatMessages_Host] +$BaseSection=lbChatMessagesBase +FillWidth=740 + +[lbChatMessages_Player] +$BaseSection=lbChatMessagesBase +FillWidth=740 +FillHeight=77 + +[tbChatInputBase] +Suggestion=Type here to chat... +X=12 +Size=0,21 +FillWidth=740 + +[tbChatInput_Host] +$BaseSection=tbChatInputBase +Y=258 + +[tbChatInput_Player] +$BaseSection=tbChatInputBase +DistanceFromBottomBorder=46 + +[lblGameModeSelect] +Location=12,291 +Text=Game Type; ingame its Game Type, maybe we should keep it Game Mode dunno + +[ddGameMode] +Location=246,289 +Size=200,21 +DistanceFromRightBorder=770 +FillWidth=740 + +[lbMapList] +SolidColorBackgroundTexture=0,0,0,200 +Location=12,315 +Size=0,0 +FillHeight=77 +FillWidth=740 + +[tbMapSearch] +Location=162,0 +Size=0,21 +DistanceFromBottomBorder=46 +FillWidth=740 +Suggestion=Search map... + +[PlayerOptionsPanel] +SolidColorBackgroundTexture=0,0,0,200 +Location=0,14 +Size=415,250 +DistanceFromRightBorder=320 + +$CC00=btnPlayerExtraOptionsOpen:XNAClientButton + +[PlayerExtraOptionsPanel] +SolidColorBackgroundTexture=0,0,0,200 +Location=0,14 +Size=415,250 +DistanceFromRightBorder=320 + +[btnPlayerExtraOptionsOpen] +Location=0,0 +Enabled=true +Visible=true +$Width=BTN_MENU_OPEN_WIDTH +$Height=BTN_MENU_OPEN_HEIGHT +IdleTexture=optionsButton.png +HoverTexture=optionsButton_c.png + +[GameOptionsPanel] +SolidColorBackgroundTexture=0,0,0,200 +Location=0,14 +Size=306,250 +DistanceFromRightBorder=12 + +; Left column +$CC-GO01=chkShortGame:GameLobbyCheckBox +$CC-GO02=chkRedeplMCV:GameLobbyCheckBox +$CC-GO03=chkCrates:GameLobbyCheckBox +$CC-GO04=chkMultiEng:GameLobbyCheckBox +$CC-GO05=chkIngameAllying:GameLobbyCheckBox +$CC-GO06=lblCredits:XNALabel +$CC-GO07=cmbCredits:GameLobbyDropDown +$CC-GO08=lblStartingUnits:XNALabel +$CC-GO09=cmbStartingUnits:GameLobbyDropDown + +; Right column +$CC-GO10=chkDestrBridges:GameLobbyCheckBox +$CC-GO11=chkSuperWeapons:GameLobbyCheckBox +$CC-GO12=chkBuildOffAlly:GameLobbyCheckBox +$CC-GO13=chkRA2Mode:GameLobbyCheckBox +$CC-GO14=chkBalancePatch:GameLobbyCheckBox +$CC-GO15=chkNoSpawnPreviews:GameLobbyCheckBox +$CC-GO16=chkNoYuriNoFrance:GameLobbyCheckBox +$CC-GO17=chkNoSpy:GameLobbyCheckBox +$CC-GO18=chkNoDogEngiEat:GameLobbyCheckBox +$CC-G019=lblAIModifier:XNALabel +$CC-G020=cmbAIModifier:GameLobbyDropDown + +; Save / Load Game Options lul +$CC-G021=BtnSaveLoadGameOptions:XNAClientButton + +; New FPS Sliders +; $CC-GODD03=cmbGameSpeedCap:GameLobbyDropDown ; different in MP and SP +$CC-GODD03PH=cmbGameSpeedCapPlaceholder:XNAControl +$CC-GODD04=lblGameSpeedCap:XNALabel + +[BtnSaveLoadGameOptions] +$Width=BTN_MENU_OPEN_WIDTH +$Height=BTN_MENU_OPEN_WIDTH +Location=0,0 +DistanceFromRightBorder=0 +IdleTexture=comboBoxArrow.png +HoverTexture=comboBoxArrow.png + +[MapPreviewBox] +SolidColorBackgroundTexture=0,0,0,200 +Location=406,270 +Size=723,0 +FillHeight=77 +DistanceFromRightBorder=12 + +[lblMapName] +Text=. +$Height=DEFAULT_LBL_HEIGHT +$Width=getWidth(MapPreviewBox) +$TextAnchor=RIGHT +$AnchorPoint=getX(MapPreviewBox),getBottom(MapPreviewBox) + +[lblMapAuthor] +Text=. +$Height=DEFAULT_LBL_HEIGHT +$Width=getWidth(MapPreviewBox) +$TextAnchor=LEFT +$AnchorPoint=getRight(MapPreviewBox),getBottom(MapPreviewBox) + +[lblMapSize] +Visible=false + +[lblGameMode] +Text=. +Size=200,10 +$X=getX(lblMapName) +$Y=getBottom(lblMapName) + +[btnLaunchGame] +Location=12,0 +DistanceFromBottomBorder=13 +Text=Launch Game +Size=133,23 + +[btnLeaveGame] +Text=Leave Game +Location=0,0 +Size=133,23 +DistanceFromBottomBorder=13 +DistanceFromRightBorder=12 + +[btnPickRandomMap] +Location=12,0 +DistanceFromBottomBorder=46 +Size=133,23 +Text=Pick Random Map + + +;============================ +; LEFT Column Controls +;============================ +[chkShortGame] +SpawnIniOption=ShortGame +Checked=True +ToolTip=Players win when all enemy buildings are destroyed. +Text=Short Game +Location=5,5 + +[chkRedeplMCV] +SpawnIniOption=MCVRedeploy +Checked=True +ToolTip=Players have the ability to move their ConYard after it's deployed. +Text=MCV Repacks +$X=getX(chkShortGame) +$Y=getBottom(chkShortGame) + GAME_OPTION_GAP + +[chkCrates] +SpawnIniOption=Crates +Checked=Flase +ToolTip=Random Power-Up Crates will appear. +Text=Crates Appear +$X=getX(chkRedeplMCV) +$Y=getBottom(chkRedeplMCV) + GAME_OPTION_GAP + +[chkMultiEng] +SpawnIniOption=MultiEngineer +Checked=False +ToolTip=Capturing a structure requires three Engineers instead of one. +Text=Multi Engineer +$X=getX(chkCrates) +$Y=getBottom(chkCrates) + GAME_OPTION_GAP + +[chkIngameAllying] +SpawnIniOption=AlliesAllowed +CustomIniPath=INI\Game Options\Allies Allowed.ini +Checked=True +ToolTip=Players can form and break alliances in game. +Text=Ingame Allying +$X=getX(chkMultiEng) +$Y=getBottom(chkMultiEng) + GAME_OPTION_GAP + +[lblGameSpeedCap] +Text=Game Speed: +$Height=DEFAULT_LBL_HEIGHT +$X=getX(cmbGameSpeedCapPlaceholder) +$Y=getBottom(chkIngameAllying) + 10 + +[cmbGameSpeedCap] +OptionName=Game Speed +; Items= ... +DefaultIndex=2 +SpawnIniOption=GameSpeed +DataWriteMode=Index +ToolTip=Changes game speed cap. +$Width=getWidth(cmbGameSpeedCapPlaceholder) +$Height=getHeight(cmbGameSpeedCapPlaceholder) +$X=getX(chkShortGame) +$Y=getBottom(lblGameSpeedCap) + 6 +;$X=getX(lblGameSpeedCap) +;$X=getX(cmbGameSpeedCapPlaceholder) +;$Y=getY(lblGameSpeedCap) + 5 ; - 5 +;$Y=getY(cmbGameSpeedCapPlaceholder) + +[cmbGameSpeedCapPlaceholder] +Visible=false +Enabled=false +$Width=GAME_OPTION_DD_WIDTH +$Height=DEFAULT_CONTROL_HEIGHT +;$Width=130 +;$Height=DEFAULT_CONTROL_HEIGHT +$X=getX(cmbCredits) +$Y=getY(lblCredits) +;$Y=getBottom(lblGameSpeedCap) + +[lblCredits] +Text=Credits: +$X=getX(chkIngameAllying) +$Y=getBottom(chkIngameAllying) + 50 + +[cmbCredits] +OptionName=Starting Credits +Items=100000,30000,20000,15000,12500,10000,7500,5000,2500 +DefaultIndex=5 +SpawnIniOption=Credits +DataWriteMode=String +$X=getX(lblCredits) +$Y=getBottom(lblCredits) +$Width=GAME_OPTION_DD_WIDTH +$Height=DEFAULT_CONTROL_HEIGHT + +[lblStartingUnits] +Text=Starting Units: +$Y=getBottom(cmbCredits) + GAME_OPTION_GAP +$X=getX(chkShortGame) + +[cmbStartingUnits] +OptionName=Starting Units +Items=10,9,8,7,6,5,4,3,2,1,0 +DefaultIndex=10 +SpawnIniOption=UnitCount +DataWriteMode=String +DistanceFromRightBorder=51 +$Y=getBottom(lblStartingUnits) +$X=getX(chkShortGame) +$Width=GAME_OPTION_DD_WIDTH +$Height=DEFAULT_CONTROL_HEIGHT + +;============================ +; Right Column Controls +;============================ + +[chkDestrBridges] +SpawnIniOption=BridgeDestroy +Checked=True +ToolTip=You can destroy low bridges by force-firing on them. +Text=Destroyable Bridges +$Y=5 +$X=getWidth($ParentControl) / 2 +;$Y=getBottom(chkBrutalAI) + GAME_OPTION_GAP +;$X=getX(chkBrutalAI) + +[chkSuperWeapons] +SpawnIniOption=Superweapons +Checked=True +DistanceFromRightBorder=130 +Text=Superweapons +$Y=getBottom(chkDestrBridges) + GAME_OPTION_GAP +$X=getX(chkDestrBridges) + +[chkBuildOffAlly] +SpawnIniOption=BuildOffAlly +Checked=True +ToolTip=Check to allow players to build near their allies' buildings. +Text=Build Off Ally ConYards +$Y=getBottom(chkSuperWeapons) + GAME_OPTION_GAP +$X=getX(chkDestrBridges) + +[chkRA2Mode] +SpawnIniOption=Ra2Mode +DefaultValue=False +ToolTip=Red Alert 2 Classic Mode will turn gameplay into Red Alert 2. +Text=Red Alert 2 +DisallowedSideIndex=9 +$Y=getBottom(chkBuildOffAlly) + GAME_OPTION_GAP +$X=getX(chkDestrBridges) + +[chkBalancePatch] +CustomIniPath=INI\Game Options\Yuri Rebalance Patch.ini +DefaultValue=False +ToolTip=Yuri's Revenge Rebalance 2.0@Patch notes: https://forums.cncnet.org/topic/11738-yuris-revenge-rebalanced-20/ +Text=YR Rebalance 2.0 +$Y=getBottom(chkRA2Mode) + GAME_OPTION_GAP +$X=getX(chkDestrBridges) + +[chkNoSpawnPreviews] +CustomIniPath=INI\Game Options\No Spawn Previews.ini +DefaultValue=False +ToolTip=Start locations for players won't be shown in the loading screen. +Text=No Spawn Previews +$Y=getBottom(chkBalancePatch) + GAME_OPTION_GAP +$X=getX(chkDestrBridges) + +[chkNoYuriNoFrance] +CustomIniPath=INI\Game Options\No_France_No_Yuri.ini +DefaultValue=False +ToolTip=Yuri and France factions are disabled +Text=No Yuri/No France +DisallowedSideIndices=2,9 +$Y=getBottom(chkNoSpawnPreviews) + GAME_OPTION_GAP +$X=getX(chkDestrBridges) + +[chkNoSpy] +CustomIniPath=INI\Game Options\No_Spy.ini +DefaultValue=False +ToolTip=Spies are disabled +Text=No Spy +$Y=getBottom(chkNoYuriNoFrance) + GAME_OPTION_GAP +$X=getX(chkDestrBridges) + +[chkNoDogEngiEat] +CustomIniPath=INI\Game Options\No Dog Engi Eat.ini +Checked=False +ToolTip=Dogs will be unable to kill Engineers. +Text=No Dog Engineer Kills +$X=getX(chkNoSpy) +$Y=getBottom(chkNoSpy) + GAME_OPTION_GAP + +[lblAIModifier] +Text=AI Modifier: +$X=getX(chkNoDogEngiEat) +$Y=getY(lblStartingUnits) + +[cmbAIModifier] +OptionName=AI Modifier +ItemLabels=None,Brutal AI,Extreme AI +Items=INI\Game Options\AI\No Change.ini,INI\Game Options\AI\Brutal AI.ini,INI\Game Options\AI\Extreme AI.ini +DefaultIndex=0 +SpawnIniOption=String +DataWriteMode=MapCode +$X=getX(chkNoDogEngiEat) +$Y=getY(cmbStartingUnits) +$Width=GAME_OPTION_DD_WIDTH +$Height=DEFAULT_CONTROL_HEIGHT + +[btnCnCNet] +Location=0,0 +Size=133,23 +FillWidth=740 +DistanceFromBottomBorder=13 +IdleTexture=logo.png +HoverTexture=logo.png +DrawMode=Stretched +DrawBorders=false +URL=https://cncnet.org/red-alert-2 +ToolTip=CnCNet - Red Alert 2 & Yuri's Revenge Online +$X=getX(lblMapName) - 5 +$Y=getBottom(lblMapName) + 25 + +[btnCnCNet2] +Location=0,0 +Size=73,23 +FillWidth=740 +DistanceFromBottomBorder=13 +IdleTexture=logo-2.png +HoverTexture=logo-2.png +DrawMode=Stretched +DrawBorders=false +URL=https://github.com/Phobos-developers/Phobos +ToolTip=Ares-compatible C&C Red Alert 2: Yuri's Revenge engine extension +$X=getX(lblMapName) + 170 +$Y=getBottom(lblMapName) + 25 + +[btnCnCNet3] +Location=0,0 +Size=32,23 +FillWidth=740 +DistanceFromBottomBorder=13 +IdleTexture=logo-3.png +HoverTexture=logo-3.png +DrawMode=Stretched +DrawBorders=false +URL=https://ares.strategy-x.com/ +ToolTip=Ares is the next generation of binary-based Command & Conquer modding. +$X=getX(lblMapName) + 275 +$Y=getBottom(lblMapName) + 25 \ No newline at end of file diff --git a/package/Resources/GenericWindow.ini b/package/Resources/GenericWindow.ini index 7a806c46..6dd6f3d9 100644 --- a/package/Resources/GenericWindow.ini +++ b/package/Resources/GenericWindow.ini @@ -15,6 +15,11 @@ $Height=RESOLUTION_HEIGHT - EMPTY_SPACE_SIDES - EMPTY_SPACE_SIDES [CnCNetLobby] $BaseSection=FullWindow +[GameLobbyBase] +BackgroundTexture=gamelobbybg.png +DrawBorders=true +Size=1230,750 + [PrivacyNotification] BackgroundTexture=nopreview.png DrawBorders=false diff --git a/package/Resources/LanGameLobby.ini b/package/Resources/LanGameLobby.ini index c8a767b6..31d4a8fc 100644 --- a/package/Resources/LanGameLobby.ini +++ b/package/Resources/LanGameLobby.ini @@ -1,5 +1,2 @@ [INISystem] -BasedOn=MultiplayerGameLobby.ini - -[CnCNetGameLobby] -$BaseSection=MultiplayerGameLobby +BasedOn=MultiplayerGameLobby.ini \ No newline at end of file diff --git a/package/Resources/MultiplayerGameLobby.ini b/package/Resources/MultiplayerGameLobby.ini index 31d6c651..e043b438 100644 --- a/package/Resources/MultiplayerGameLobby.ini +++ b/package/Resources/MultiplayerGameLobby.ini @@ -1,8 +1,8 @@ [INISystem] -BasedOn=GenericWindow.ini +BasedOn=GameLobbyBase.ini [MultiplayerGameLobby] -$BaseSection=FullWindow +$BaseSection=GameLobbyBase PlayerReadyBoxY=2 PlayerReadyBoxX=2 PlayerOptionLocationX=22 @@ -17,74 +17,28 @@ StartWidth=36 TeamWidth=36 ; controls -$CC00=btnLaunchGame:GameLaunchButton -$CC01=btnLeaveGame:XNAClientButton -$CC03=MapPreviewBox:MapPreviewBox -$CC04=GameOptionsPanel:XNAPanel -$CC05=PlayerOptionsPanel:XNAPanel -$CC06=lblMapName:XNALabel -$CC07=lblMapAuthor:XNALabel -$CC08=lblGameMode:XNALabel -$CC09=lblMapSize:XNALabel -$CC12=lbMapList:XNAMultiColumnListBox -$CC13=lblGameModeSelect:XNALabel -$CC14=ddGameMode:XNAClientDropDown -$CC15=tbMapSearch:XNASuggestionTextBox -$CC16=btnPickRandomMap:XNAClientButton -$CC17=PlayerExtraOptionsPanel:PlayerExtraOptionsPanel -$CC18=lbChatMessages:ChatListBox -$CC19=tbChatInput:XNAChatTextBox -$CC20=btnLockGame:XNAClientButton -$CC21=chkAutoReady:XNAClientCheckBox -$CC22=btnChangeTunnel:XNAClientButton -$CC23=btnCnCNet:XNALinkButton -; When beta is merged -; $CC24=btnCnCNet2:XNALinkButton -; $CC25=btnCnCNet3:XNALinkButton +$CCMP00=btnLockGame:XNAClientButton +$CCMP01=chkAutoReady:XNAClientCheckBox -[lblName] -Text=Players; in the game its Players, makes more sense than Name actually, eh - -[lblSide] -Text=Side - -[lblStart] -Text=Start -Visible=true - -[lblColor] -Text=Color - -[lblTeam] -Text=Team - -[ddPlayerStartBase] -Enabled=true -Visible=true - -[ddPlayerStart0] -$BaseSection=ddPlayerStartBase - -[ddPlayerStart1] -$BaseSection=ddPlayerStartBase - -[ddPlayerStart2] -$BaseSection=ddPlayerStartBase - -[ddPlayerStart3] -$BaseSection=ddPlayerStartBase - -[ddPlayerStart4] -$BaseSection=ddPlayerStartBase - -[ddPlayerStart5] -$BaseSection=ddPlayerStartBase +[lbMapList] +SolidColorBackgroundTexture=0,0,0,200 +Location=12,315 +Size=0,0 +FillHeight=77 +FillWidth=740 -[ddPlayerStart6] -$BaseSection=ddPlayerStartBase +[btnPickRandomMap] +Location=12,0 +DistanceFromBottomBorder=46 +Size=133,23 +Text=Pick Random Map -[ddPlayerStart7] -$BaseSection=ddPlayerStartBase +[tbMapSearch] +Location=162,0 +Size=0,21 +DistanceFromBottomBorder=46 +FillWidth=740 +Suggestion=Search map... [lbChatMessagesBase] SolidColorBackgroundTexture=0,0,0,200 @@ -114,153 +68,11 @@ Y=258 $BaseSection=tbChatInputBase DistanceFromBottomBorder=46 -[lblGameModeSelect] -Location=12,291 -Text=Game Type; ingame its Game Type, maybe we should keep it Game Mode dunno - -[ddGameMode] -Location=246,289 -Size=200,21 -DistanceFromRightBorder=770 -FillWidth=740 - -[lbMapList] -SolidColorBackgroundTexture=0,0,0,200 -Location=12,315 -Size=0,0 -FillHeight=77 -FillWidth=740 - -[tbMapSearch] -Location=162,0 -Size=0,21 -DistanceFromBottomBorder=46 -FillWidth=740 -Suggestion=Search map... - -[PlayerOptionsPanel] -SolidColorBackgroundTexture=0,0,0,200 -Location=0,14 -Size=415,250 -DistanceFromRightBorder=320 - -$CC00=btnPlayerExtraOptionsOpen:XNAClientButton - -[PlayerExtraOptionsPanel] -SolidColorBackgroundTexture=0,0,0,200 -Location=0,14 -Size=415,250 -DistanceFromRightBorder=320 - -[btnPlayerExtraOptionsOpen] -Location=0,0 -Enabled=true -Visible=true -$Width=BTN_MENU_OPEN_WIDTH -$Height=BTN_MENU_OPEN_HEIGHT -IdleTexture=optionsButton.png -HoverTexture=optionsButton_c.png - -[GameOptionsPanel] -SolidColorBackgroundTexture=0,0,0,200 -Location=0,14 -Size=306,250 -DistanceFromRightBorder=12 - -; Left column -$CC-GO01=chkShortGame:GameLobbyCheckBox -$CC-GO02=chkRedeplMCV:GameLobbyCheckBox -$CC-GO03=chkCrates:GameLobbyCheckBox -$CC-GO04=chkMultiEng:GameLobbyCheckBox -$CC-GO05=chkIngameAllying:GameLobbyCheckBox -$CC-GO06=lblGameSpeedCap:XNALabel -$CC-GO07=cmbGameSpeedCap:GameLobbyDropDown -$CC-GO08=cmbSkirmishGameSpeedCap:GameLobbyDropDown -$CC-GO09=lblCredits:XNALabel -$CC-GO10=cmbCredits:GameLobbyDropDown -$CC-GO11=lblStartingUnits:XNALabel -$CC-GO12=cmbStartingUnits:GameLobbyDropDown - -; Right column -;$CC-GO13=chkBrutalAI:GameLobbyCheckBox -$CC-GO14=chkDestrBridges:GameLobbyCheckBox -$CC-GO15=chkSuperWeapons:GameLobbyCheckBox -$CC-GO16=chkBuildOffAlly:GameLobbyCheckBox -$CC-GO17=chkRA2Mode:GameLobbyCheckBox -$CC-GO18=chkBalancePatch:GameLobbyCheckBox -$CC-GO19=chkNoSpawnPreviews:GameLobbyCheckBox -$CC-GO20=chkNoYuriNoFrance:GameLobbyCheckBox -$CC-GO21=chkNoSpy:GameLobbyCheckBox -$CC-GO22=chkNoDogEngiEat:GameLobbyCheckBox -$CC-G023=lblAIModifier:XNALabel -$CC-G024=cmbAIModifier:GameLobbyDropDown -$CC01=BtnSaveLoadGameOptions:XNAClientButton - -[BtnSaveLoadGameOptions] -$Width=BTN_MENU_OPEN_WIDTH -$Height=BTN_MENU_OPEN_WIDTH -Location=0,0 -DistanceFromRightBorder=0 -IdleTexture=comboBoxArrow.png -HoverTexture=comboBoxArrow.png - -[MapPreviewBox] -SolidColorBackgroundTexture=0,0,0,200 -Location=406,270 -Size=723,0 -FillHeight=77 -DistanceFromRightBorder=12 - -[lblMapName] -Text=. -$Height=DEFAULT_LBL_HEIGHT -$Width=getWidth(MapPreviewBox) -$TextAnchor=RIGHT -$AnchorPoint=getX(MapPreviewBox),getBottom(MapPreviewBox) - -[lblMapAuthor] -Text=. -$Height=DEFAULT_LBL_HEIGHT -$Width=getWidth(MapPreviewBox) -$TextAnchor=LEFT -$AnchorPoint=getRight(MapPreviewBox),getBottom(MapPreviewBox) - -[lblMapSize] -Visible=false - -[lblGameMode] -Text=. -Size=200,10 -$X=getX(lblMapName) -$Y=getBottom(lblMapName) - -[btnLaunchGame] -Location=12,0 -DistanceFromBottomBorder=13 -Text=Launch Game -Size=133,23 - [btnLockGame] Location=157,0 Size=133,23 DistanceFromBottomBorder=13 -[btnLeaveGame] -Text=Leave Game -Location=0,0 -Size=133,23 -DistanceFromBottomBorder=13 -DistanceFromRightBorder=12 - -[btnChangeTunnel] -Text=Change Tunnel -Location=0,0 -Size=133,23 -DistanceFromBottomBorder=13 -DistanceFromRightBorder=155 -Visible=false -Enabled=false - [chkAutoReady] Location=157,0 DistanceFromBottomBorder=14 @@ -268,260 +80,9 @@ Visible=true Enabled=true Text=Auto-Ready -[btnPickRandomMap] -Location=12,0 -DistanceFromBottomBorder=46 -Size=133,23 -Text=Pick Random Map - - -;============================ -; LEFT Column Controls -;============================ -[chkShortGame] -SpawnIniOption=ShortGame -Checked=True -ToolTip=Players win when all enemy buildings are destroyed. -Text=Short Game -Location=5,5 - -[chkRedeplMCV] -SpawnIniOption=MCVRedeploy -Checked=True -ToolTip=Players have the ability to move their ConYard after it's deployed. -Text=MCV Repacks -$X=getX(chkShortGame) -$Y=getBottom(chkShortGame) + GAME_OPTION_GAP - -[chkCrates] -SpawnIniOption=Crates -Checked=Flase -ToolTip=Random Power-Up Crates will appear. -Text=Crates Appear -$X=getX(chkRedeplMCV) -$Y=getBottom(chkRedeplMCV) + GAME_OPTION_GAP - -[chkMultiEng] -SpawnIniOption=MultiEngineer -Checked=False -ToolTip=Capturing a structure requires three Engineers instead of one. -Text=Multi Engineer -$X=getX(chkCrates) -$Y=getBottom(chkCrates) + GAME_OPTION_GAP - -[chkIngameAllying] -SpawnIniOption=AlliesAllowed -CustomIniPath=INI\Game Options\Allies Allowed.ini -Checked=True -ToolTip=Players can form and break alliances in game. -Text=Ingame Allying -$X=getX(chkMultiEng) -$Y=getBottom(chkMultiEng) + GAME_OPTION_GAP - -[lblGameSpeedCap] -Text=Game Speed: -$X=getX(chkIngameAllying) -$Y=getBottom(chkIngameAllying) + 15 - -[cmbGameSpeedCap] -OptionName=Game Speed -Items=Fastest (60 FPS),Faster (45 FPS),Fast (30 FPS),Medium (20 FPS),Slow (15 FPS),Slower (12 FPS),Slowest (10 FPS) -;Items=Fastest (60 FPS),Faster (52 FPS),Fast (45 FPS),Medium (40 FPS),Slow (30 FPS),Slower (20 FPS),Slowest (15 FPS) -DefaultIndex=0 -SpawnIniOption=GameSpeed -DataWriteMode=Index -$X=getX(lblGameSpeedCap) -$Y=getBottom(lblGameSpeedCap) -$Width=130 -$Height=DEFAULT_CONTROL_HEIGHT - -[cmbSkirmishGameSpeedCap] -OptionName=Game Speed -Items=Fastest (MAX),Faster (60 FPS),Fast (30 FPS),Medium (20 FPS),Slow (15 FPS),Slower (12 FPS),Slowest (10 FPS) -DefaultIndex=0 -SpawnIniOption=GameSpeed -DataWriteMode=Index -$X=getX(lblGameSpeedCap) -$Y=getBottom(lblGameSpeedCap) -$Width=GAME_OPTION_DD_WIDTH -$Height=DEFAULT_CONTROL_HEIGHT -Visible=false - -[lblCredits] -Text=Credits: -$X=getX(cmbGameSpeedCap) -$Y=getBottom(cmbGameSpeedCap) + GAME_OPTION_GAP - -[cmbCredits] -OptionName=Starting Credits -Items=100000,30000,20000,15000,12500,10000,7500,5000,2500 -DefaultIndex=5 -SpawnIniOption=Credits -DataWriteMode=String -$X=getX(lblCredits) -$Y=getBottom(lblCredits) -$Width=GAME_OPTION_DD_WIDTH -$Height=DEFAULT_CONTROL_HEIGHT - -[lblStartingUnits] -Text=Starting Units: -$Y=getBottom(cmbCredits) + GAME_OPTION_GAP -$X=getX(chkShortGame) - -[cmbStartingUnits] -OptionName=Starting Units -Items=10,9,8,7,6,5,4,3,2,1,0 -DefaultIndex=10 -SpawnIniOption=UnitCount -DataWriteMode=String -DistanceFromRightBorder=51 -$Y=getBottom(lblStartingUnits) -$X=getX(chkShortGame) -$Width=GAME_OPTION_DD_WIDTH -$Height=DEFAULT_CONTROL_HEIGHT - -;============================ -; Right Column Controls -;============================ -[chkBrutalAI] -CustomIniPath=INI\Game Options\Brutal AI.ini -Checked=False -ToolTip=Brutal AI makes the AI harder across all levels -Text=Brutal AI -$Y=5 -$X=getWidth($ParentControl) / 2 - -[chkDestrBridges] -SpawnIniOption=BridgeDestroy -Checked=True -ToolTip=You can destroy low bridges by force-firing on them. -Text=Destroyable Bridges -$Y=5 -$X=getWidth($ParentControl) / 2 -;$Y=getBottom(chkBrutalAI) + GAME_OPTION_GAP -;$X=getX(chkBrutalAI) - -[chkSuperWeapons] -SpawnIniOption=Superweapons -Checked=True -DistanceFromRightBorder=130 -Text=Superweapons -$Y=getBottom(chkDestrBridges) + GAME_OPTION_GAP -$X=getX(chkDestrBridges) - -[chkBuildOffAlly] -SpawnIniOption=BuildOffAlly -Checked=True -ToolTip=Check to allow players to build near their allies' buildings. -Text=Build Off Ally ConYards -$Y=getBottom(chkSuperWeapons) + GAME_OPTION_GAP -$X=getX(chkDestrBridges) - -[chkRA2Mode] -SpawnIniOption=Ra2Mode -DefaultValue=False -ToolTip=Red Alert 2 Classic Mode will turn gameplay into Red Alert 2. -Text=Red Alert 2 -DisallowedSideIndex=9 -$Y=getBottom(chkBuildOffAlly) + GAME_OPTION_GAP -$X=getX(chkDestrBridges) - -[chkBalancePatch] -CustomIniPath=INI\Game Options\Yuri Rebalance Patch.ini -DefaultValue=False -ToolTip=Yuri's Revenge Rebalance 2.0@Patch notes: https://forums.cncnet.org/topic/11738-yuris-revenge-rebalanced-20/ -Text=YR Rebalance 2.0 -$Y=getBottom(chkRA2Mode) + GAME_OPTION_GAP -$X=getX(chkDestrBridges) - -[chkNoSpawnPreviews] -CustomIniPath=INI\Game Options\No Spawn Previews.ini -DefaultValue=False -ToolTip=Start locations for players won't be shown in the loading screen. -Text=No Spawn Previews -$Y=getBottom(chkBalancePatch) + GAME_OPTION_GAP -$X=getX(chkDestrBridges) - -[chkNoYuriNoFrance] -CustomIniPath=INI\Game Options\No_France_No_Yuri.ini -DefaultValue=False -ToolTip=Yuri and France factions are disabled -Text=No Yuri/No France -DisallowedSideIndices=2,9 -$Y=getBottom(chkNoSpawnPreviews) + GAME_OPTION_GAP -$X=getX(chkDestrBridges) - -[chkNoSpy] -CustomIniPath=INI\Game Options\No_Spy.ini -DefaultValue=False -ToolTip=Spies are disabled -Text=No Spy -$Y=getBottom(chkNoYuriNoFrance) + GAME_OPTION_GAP -$X=getX(chkDestrBridges) - -[chkNoDogEngiEat] -CustomIniPath=INI\Game Options\No Dog Engi Eat.ini -Checked=False -ToolTip=Dogs will be unable to kill Engineers. -Text=No Dog Engineer Kills -$X=getX(chkNoSpy) -$Y=getBottom(chkNoSpy) + GAME_OPTION_GAP - -[lblAIModifier] -Text=AI Modifier: -$X=getX(chkNoDogEngiEat) -$Y=getY(lblStartingUnits) - -[cmbAIModifier] -OptionName=AI Modifier -ItemLabels=None,Brutal AI,Extreme AI -Items=INI\Game Options\AI\No Change.ini,INI\Game Options\AI\Brutal AI.ini,INI\Game Options\AI\Extreme AI.ini -DefaultIndex=0 -SpawnIniOption=String -DataWriteMode=MapCode -$X=getX(chkNoDogEngiEat) -$Y=getY(cmbStartingUnits) -$Width=GAME_OPTION_DD_WIDTH -$Height=DEFAULT_CONTROL_HEIGHT - -[btnCnCNet] -Location=0,0 -Size=133,23 -FillWidth=740 -DistanceFromBottomBorder=13 -IdleTexture=logo.png -HoverTexture=logo.png -DrawMode=Stretched -DrawBorders=false -URL=https://cncnet.org/red-alert-2 -ToolTip=CnCNet - Red Alert 2 & Yuri's Revenge Online -$X=getX(lblMapName) - 5 -$Y=getBottom(lblMapName) + 25 - -[btnCnCNet2] -Location=0,0 -Size=73,23 -FillWidth=740 -DistanceFromBottomBorder=13 -IdleTexture=logo-2.png -HoverTexture=logo-2.png -DrawMode=Stretched -DrawBorders=false -URL=https://github.com/Phobos-developers/Phobos -ToolTip=Ares-compatible C&C Red Alert 2: Yuri's Revenge engine extension -$X=getX(lblMapName) + 170 -$Y=getBottom(lblMapName) + 25 +[GameOptionsPanel] +$CC-GODD03=cmbGameSpeedCapMultiplayer:GameLobbyDropDown -[btnCnCNet3] -Location=0,0 -Size=32,23 -FillWidth=740 -DistanceFromBottomBorder=13 -IdleTexture=logo-3.png -HoverTexture=logo-3.png -DrawMode=Stretched -DrawBorders=false -URL=https://ares.strategy-x.com/ -ToolTip=Ares is the next generation of binary-based Command & Conquer modding. -$X=getX(lblMapName) + 275 -$Y=getBottom(lblMapName) + 25 \ No newline at end of file +[cmbGameSpeedCapMultiplayer] +$BaseSection=cmbGameSpeedCap +Items=Fastest (60 FPS),Faster (45 FPS),Fast (30 FPS),Medium (20 FPS),Slow (15 FPS),Slower (12 FPS),Slowest (10 FPS) \ No newline at end of file diff --git a/package/Resources/PlayerExtraOptionsPanel.ini b/package/Resources/PlayerExtraOptionsPanel.ini index 05ccb8ce..04998bda 100644 --- a/package/Resources/PlayerExtraOptionsPanel.ini +++ b/package/Resources/PlayerExtraOptionsPanel.ini @@ -1 +1,34 @@ -[PlayerExtraOptionsPanel] +[btnClose] +Location=220,0 +Size=18,18 + +[lblHeader] +Location=12,6 + +[chkBoxForceRandomSides] +Location=12,28 + +[chkBoxForceRandomColors] +Location=12,50 + +[chkBoxForceRandomTeams] +Location=12,72 + +[chkBoxForceRandomStarts] +Location=12,94 + +[chkBoxUseTeamStartMappings] +Location=12,130 + +[btnHelp] +Location=160,130 + +[lblPreset] +Location=12,156 + +[ddTeamStartMappingPreset] +Size=157,21 +Location=65,154 + +[teamStartMappingsPanel] +Location=12,189 \ No newline at end of file diff --git a/package/Resources/SkirmishLobby.ini b/package/Resources/SkirmishLobby.ini index 610b576a..1d57efde 100644 --- a/package/Resources/SkirmishLobby.ini +++ b/package/Resources/SkirmishLobby.ini @@ -1,8 +1,15 @@ [INISystem] -BasedOn=MultiplayerGameLobby.ini +BasedOn=GameLobbyBase.ini [SkirmishLobby] -$BaseSection=MultiplayerGameLobby +$BaseSection=GameLobbyBase + +[GameOptionsPanel] +$CC-GODD03=cmbGameSpeedCapSkirmish:GameLobbyDropDown + +[cmbGameSpeedCapSkirmish] +$BaseSection=cmbGameSpeedCap +Items=Fastest (MAX),Faster (60 FPS),Fast (30 FPS),Medium (20 FPS),Slow (15 FPS),Slower (12 FPS),Slowest (10 FPS) [lblGameModeSelect] Location=12,16 @@ -14,20 +21,20 @@ Location=246,14 Location=12,39 FillHeight=77 -[btnLockGame] -Visible=false +;[btnLockGame] +;Visible=false -[chkAutoReady] -Visible=false +;[chkAutoReady] +;Visible=false -[lbChatMessages] -Visible=false +;[lbChatMessages] +;Visible=false -[tbChatInput] -Visible=false +;[tbChatInput] +;Visible=false -[cmbGameSpeedCap] -Visible=false +;[cmbGameSpeedCap] +;Visible=false -[cmbSkirmishGameSpeedCap] -Visible=true \ No newline at end of file +;[cmbSkirmishGameSpeedCap] +;Visible=true \ No newline at end of file