diff --git a/mods/d2k/TODO b/mods/d2k/TODO index 02e2e39a40..e5c4626c23 100644 --- a/mods/d2k/TODO +++ b/mods/d2k/TODO @@ -6,9 +6,9 @@ # construction yard crane animations missing # welding animation (factories) missing # chimney animation (refinery) missing -# Arrakis tileset crashes the game # create a tileset extractor for gamefiles to remove copyrighted content from distribution # replace ore with spice and mines with spice blooms +# add Smudge Types # add game logic for concrete plates (use terrain overlay from bridges/ressources) # allow placing turrets on walls # support separate turret sequence with RenderBuildingTurreted @@ -27,4 +27,5 @@ # rework chrome UI, dialoges, tabs # add install rules to makefile (once more polished) # idea: frame 2998 (fremen siech) could become a tunnel to make Ordos really insidious (similiar mechanism to paratroopers powerproxy) -# add sonic tank weapon (currently uses tesla) \ No newline at end of file +# add sonic tank weapon (currently uses tesla) +# replace RA mouse.shp, nopower.shp with Dune 2000 equivalent \ No newline at end of file diff --git a/mods/d2k/bits/cursor.pal b/mods/d2k/bits/cursor.pal new file mode 100644 index 0000000000..bb63fcdd50 Binary files /dev/null and b/mods/d2k/bits/cursor.pal differ diff --git a/mods/d2k/chrome.yaml b/mods/d2k/chrome.yaml index 3f2ee6f3ab..81993a5bba 100644 --- a/mods/d2k/chrome.yaml +++ b/mods/d2k/chrome.yaml @@ -171,4 +171,354 @@ flags: buttons.png atreides: 60,84,30,15 harkonnen: 60,84,30,15 orodos: 60,84,30,15 + random: 60,84,30,15 + spectator: 60,84,30,15 +dialog2: dialog.png + background: 513,1,126,126 + border-r: 639,1,1,126 + border-l: 512,1,1,126 + border-b: 513,127,126,1 + border-t: 513,0,126,1 + corner-tl: 512,0,1,1 + corner-tr: 594,0,1,1 + corner-bl: 512,82,1,1 + corner-br: 594,82,1,1 + +dialog3: dialog.png + background: 641,1,126,126 + border-r: 767,1,1,126 + border-l: 640,1,1,126 + border-b: 641,127,126,1 + border-t: 641,0,126,1 + corner-tl: 640,0,1,1 + corner-tr: 722,0,1,1 + corner-bl: 640,82,1,1 + corner-br: 722,82,1,1 + +dialog4: dialog.png + border-t: 773,0,52,6 + border-b: 773,58,52,6 + border-l: 768,5,6,54 + border-r: 826,5,6,54 + corner-tl: 768,0,6,6 + corner-tr: 826,0,6,6 + corner-bl: 768,58,6,6 + corner-br: 826,58,6,6 + background: 773,5,52,52 + +dialog: dialog.png + background: 0,0,480,480 + border-r: 489,0,9,192 + border-l: 480,0,9,192 + border-b: 0,489,191,9 + border-t: 0,480,191,9 + corner-tl: 191,480,9,9 + corner-tr: 200,480,9,9 + corner-bl: 191,489,9,9 + corner-br: 200,489,9,9 + +spawnpoints: spawnpoints.png + unowned: 528,128,16,16 + owned: 512,128,16,16 + +strategic: strategic.png + unowned: 0,0,32,32 + critical_unowned: 0,32,32,32 + enemy_owned: 32,32,32,32 + player_owned: 96,0,32,32 + +sell-button: buttons.png + normal: 0,0,34,28 + pressed: 34,0,34,28 + disabled: 68,0,34,28 + +repair-button: buttons.png + normal: 0,28,34,28 + pressed: 34,28,34,28 + disabled: 68,28,34,28 + +power-button: buttons.png + normal: 0,56,34,28 + pressed: 34,56,34,28 + disabled: 68,56,34,28 + +music: musicplayer.png + pause: 0,0,25,25 + stop: 28,0,25,25 + play: 56,0,25,25 + next: 84,0,25,25 + prev: 112,0,25,25 + +scrollbar: buttons.png + down_arrow: 16,112,16,16 + down_pressed: 16,112,16,16 + up_arrow: 32,112,16,16 + up_pressed: 32,112,16,16 + +# A copy of dialog3 +progressbar-bg: dialog.png + background: 641,1,126,126 + border-r: 767,1,1,126 + border-l: 640,1,1,126 + border-b: 641,127,126,1 + border-t: 641,0,126,1 + corner-tl: 640,0,1,1 + corner-tr: 722,0,1,1 + corner-bl: 640,82,1,1 + corner-br: 722,82,1,1 + +# A copy of dialog2 +progressbar-thumb: dialog.png + background: 513,1,126,126 + border-r: 639,1,1,126 + border-l: 512,1,1,126 + border-b: 513,127,126,1 + border-t: 513,0,126,1 + corner-tl: 512,0,1,1 + corner-tr: 594,0,1,1 + corner-bl: 512,82,1,1 + corner-br: 594,82,1,1 + +# A copy of dialog2 +button: dialog.png + background: 513,1,126,126 + border-r: 639,1,1,126 + border-l: 512,1,1,126 + border-b: 513,127,126,1 + border-t: 513,0,126,1 + corner-tl: 512,0,1,1 + corner-tr: 594,0,1,1 + corner-bl: 512,82,1,1 + corner-br: 594,82,1,1 + +# A copy of dialog2 +button-hover: dialog.png + background: 513,1,126,126 + border-r: 639,1,1,126 + border-l: 512,1,1,126 + border-b: 513,127,126,1 + border-t: 513,0,126,1 + corner-tl: 512,0,1,1 + corner-tr: 594,0,1,1 + corner-bl: 512,82,1,1 + corner-br: 594,82,1,1 + +# A copy of dialog2 +button-disabled: dialog.png + background: 513,1,126,126 + border-r: 639,1,1,126 + border-l: 512,1,1,126 + border-b: 513,127,126,1 + border-t: 513,0,126,1 + corner-tl: 512,0,1,1 + corner-tr: 594,0,1,1 + corner-bl: 512,82,1,1 + corner-br: 594,82,1,1 + +# A copy of dialog3 +button-pressed: dialog.png + background: 641,1,126,126 + border-r: 767,1,1,126 + border-l: 640,1,1,126 + border-b: 641,127,126,1 + border-t: 641,0,126,1 + corner-tl: 640,0,1,1 + corner-tr: 722,0,1,1 + corner-bl: 640,82,1,1 + corner-br: 722,82,1,1 + +scrollthumb: dialog.png + background: 513,1,126,126 + border-r: 639,1,1,126 + border-l: 512,1,1,126 + border-b: 513,127,126,1 + border-t: 513,0,126,1 + corner-tl: 512,0,1,1 + corner-tr: 594,0,1,1 + corner-bl: 512,82,1,1 + corner-br: 594,82,1,1 + +# A copy of dialog2 +scrollthumb-hover: dialog.png + background: 513,1,126,126 + border-r: 639,1,1,126 + border-l: 512,1,1,126 + border-b: 513,127,126,1 + border-t: 513,0,126,1 + corner-tl: 512,0,1,1 + corner-tr: 594,0,1,1 + corner-bl: 512,82,1,1 + corner-br: 594,82,1,1 + +# A copy of dialog2 +scrollthumb-disabled: dialog.png + background: 513,1,126,126 + border-r: 639,1,1,126 + border-l: 512,1,1,126 + border-b: 513,127,126,1 + border-t: 513,0,126,1 + corner-tl: 512,0,1,1 + corner-tr: 594,0,1,1 + corner-bl: 512,82,1,1 + corner-br: 594,82,1,1 + +# A copy of dialog3 +scrollthumb-pressed: dialog.png + background: 513,1,126,126 + border-r: 639,1,1,126 + border-l: 512,1,1,126 + border-b: 513,127,126,1 + border-t: 513,0,126,1 + corner-tl: 512,0,1,1 + corner-tr: 594,0,1,1 + corner-bl: 512,82,1,1 + corner-br: 594,82,1,1 + +# A copy of dialog3 +textfield: dialog.png + background: 641,1,126,126 + border-r: 767,1,1,126 + border-l: 640,1,1,126 + border-b: 641,127,126,1 + border-t: 641,0,126,1 + corner-tl: 640,0,1,1 + corner-tr: 722,0,1,1 + corner-bl: 640,82,1,1 + corner-br: 722,82,1,1 + +# A copy of dialog3 +textfield-hover: dialog.png + background: 641,1,126,126 + border-r: 767,1,1,126 + border-l: 640,1,1,126 + border-b: 641,127,126,1 + border-t: 641,0,126,1 + corner-tl: 640,0,1,1 + corner-tr: 722,0,1,1 + corner-bl: 640,82,1,1 + corner-br: 722,82,1,1 + +# A copy of dialog3 +textfield-disabled: dialog.png + background: 641,1,126,126 + border-r: 767,1,1,126 + border-l: 640,1,1,126 + border-b: 641,127,126,1 + border-t: 641,0,126,1 + corner-tl: 640,0,1,1 + corner-tr: 722,0,1,1 + corner-bl: 640,82,1,1 + corner-br: 722,82,1,1 + +# A copy of dialog3 +textfield-focused: dialog.png + background: 641,1,126,126 + border-r: 767,1,1,126 + border-l: 640,1,1,126 + border-b: 641,127,126,1 + border-t: 641,0,126,1 + corner-tl: 640,0,1,1 + corner-tr: 722,0,1,1 + corner-bl: 640,82,1,1 + corner-br: 722,82,1,1 + +# A copy of dialog3 +scrollpanel-bg: dialog.png + background: 641,1,126,126 + border-r: 767,1,1,126 + border-l: 640,1,1,126 + border-b: 641,127,126,1 + border-t: 641,0,126,1 + corner-tl: 640,0,1,1 + corner-tr: 722,0,1,1 + corner-bl: 640,82,1,1 + corner-br: 722,82,1,1 + + +# A copy of dialog2 +slider-tick: dialog.png + background: 513,1,126,126 + border-r: 639,1,1,126 + border-l: 512,1,1,126 + border-b: 513,127,126,1 + border-t: 513,0,126,1 + corner-tl: 512,0,1,1 + corner-tr: 594,0,1,1 + corner-bl: 512,82,1,1 + corner-br: 594,82,1,1 + +# A copy of dialog3 +slider-track: dialog.png + background: 641,1,126,126 + border-r: 767,1,1,126 + border-l: 640,1,1,126 + border-b: 641,127,126,1 + border-t: 641,0,126,1 + corner-tl: 640,0,1,1 + corner-tr: 722,0,1,1 + corner-bl: 640,82,1,1 + corner-br: 722,82,1,1 + +# A copy of dialog3 +checkbox: dialog.png + background: 641,1,126,126 + border-r: 767,1,1,126 + border-l: 640,1,1,126 + border-b: 641,127,126,1 + border-t: 641,0,126,1 + corner-tl: 640,0,1,1 + corner-tr: 722,0,1,1 + corner-bl: 640,82,1,1 + corner-br: 722,82,1,1 + +checkbox-bits: buttons.png + checked: 0,112,16,16 + +# A copy of dialog3 +checkbox-hover: dialog.png + background: 641,1,126,126 + border-r: 767,1,1,126 + border-l: 640,1,1,126 + border-b: 641,127,126,1 + border-t: 641,0,126,1 + corner-tl: 640,0,1,1 + corner-tr: 722,0,1,1 + corner-bl: 640,82,1,1 + corner-br: 722,82,1,1 + +# A copy of dialog3 +checkbox-disabled: dialog.png + background: 641,1,126,126 + border-r: 767,1,1,126 + border-l: 640,1,1,126 + border-b: 641,127,126,1 + border-t: 641,0,126,1 + corner-tl: 640,0,1,1 + corner-tr: 722,0,1,1 + corner-bl: 640,82,1,1 + corner-br: 722,82,1,1 + +# A copy of dialog3 +scrollitem-selected: dialog.png + background: 641,1,126,126 + border-r: 767,1,1,126 + border-l: 640,1,1,126 + border-b: 641,127,126,1 + border-t: 641,0,126,1 + corner-tl: 640,0,1,1 + corner-tr: 722,0,1,1 + corner-bl: 640,82,1,1 + corner-br: 722,82,1,1 + +# A copy of dialog2 +scrollitem-hover: dialog.png + background: 513,1,126,126 + border-r: 639,1,1,126 + border-l: 512,1,1,126 + border-b: 513,127,126,1 + border-t: 513,0,126,1 + corner-tl: 512,0,1,1 + corner-tr: 594,0,1,1 + corner-bl: 512,82,1,1 + corner-br: 594,82,1,1 \ No newline at end of file diff --git a/mods/d2k/chrome/cheats.yaml b/mods/d2k/chrome/cheats.yaml new file mode 100644 index 0000000000..ecbbee32c5 --- /dev/null +++ b/mods/d2k/chrome/cheats.yaml @@ -0,0 +1,76 @@ +Background@CHEATS_PANEL: + Logic:CheatsLogic + X:(WINDOW_RIGHT - WIDTH)/2 + Y:(WINDOW_BOTTOM - HEIGHT)/2 + Width:350 + Height:420 + Visible:true + Children: + Label@LABEL_TITLE: + X:(PARENT_RIGHT - WIDTH)/2 + Y:20 + Width:250 + Height:25 + Text:Developer Mode + Align:Center + Checkbox@DISABLE_SHROUD: + X:30 + Y:50 + Height:20 + Width:PARENT_RIGHT - 30 + Text:Disable Shroud + Button@GIVE_EXPLORATION + X:30 + Y:80 + Width:200 + Height:20 + Text: Give Exploration + Checkbox@SHOW_UNIT_PATHS: + X:30 + Y:110 + Width:PARENT_RIGHT - 30 + Height:20 + Text:Show Unit Paths + Button@GIVE_CASH: + X:30 + Y:140 + Width:200 + Height:20 + Text: Give Cash + Checkbox@INSTANT_BUILD: + X:30 + Y:170 + Width:PARENT_RIGHT - 30 + Height:20 + Text:Instant Build Speed + Checkbox@INSTANT_CHARGE: + X:30 + Y:200 + Width:PARENT_RIGHT - 30 + Height:20 + Text:Support Powers Charge Instantly + Checkbox@ENABLE_TECH: + X:30 + Y:230 + Width:PARENT_RIGHT - 30 + Height:20 + Text:Build Everything + Checkbox@UNLIMITED_POWER: + X:30 + Y:260 + Width:PARENT_RIGHT - 30 + Height:20 + Text:Unlimited Power + Checkbox@BUILD_ANYWHERE: + X:30 + Y:290 + Width:PARENT_RIGHT - 30 + Height:20 + Text:Build Anywhere + Button@CLOSE: + X:30 + Y:360 + Width:PARENT_RIGHT - 60 + Height:20 + Text:Close + Key:escape diff --git a/mods/d2k/chrome/create-server.yaml b/mods/d2k/chrome/create-server.yaml new file mode 100644 index 0000000000..2fd4466391 --- /dev/null +++ b/mods/d2k/chrome/create-server.yaml @@ -0,0 +1,78 @@ +Background@CREATESERVER_BG: + Logic:ServerCreationLogic + X:(WINDOW_RIGHT - WIDTH)/2 + Y:(WINDOW_BOTTOM - HEIGHT)/2 + Width:400 + Height:240 + Children: + Label@LABEL_TITLE: + X:0 + Y:20 + Width:400 + Height:25 + Text:Create Server + Align:Center + Font:Bold + Label@SERVER_NAME_LABEL: + X:50 + Y:59 + Width:95 + Height:25 + Align: Right + Text:Game Title: + TextField@SERVER_NAME: + X:150 + Y:60 + Width:210 + MaxLength:50 + Height:25 + Text:OpenRA Game + Label@EXTERNAL_PORT_LABEL: + X:50 + Y:94 + Width:95 + Height:25 + Align: Right + Text:External Port: + TextField@EXTERNAL_PORT: + X:150 + Y:95 + Width:50 + MaxLength:5 + Height:25 + Text:OpenRA Game + Label@LISTEN_PORT_LABEL: + X:210 + Y:94 + Width:95 + Height:25 + Align: Right + Text:Listen Port: + TextField@LISTEN_PORT: + X:310 + Y:95 + Width:50 + MaxLength:5 + Height:25 + Checkbox@ADVERTISE_CHECKBOX: + X:165 + Y:130 + Width:300 + Height:20 + Text:Advertise game Online + Button@CREATE_BUTTON: + X:130 + Y:PARENT_BOTTOM - 45 + Width:120 + Height:25 + Text:Create + Font:Bold + Key:return + Button@BACK_BUTTON: + X:260 + Y:PARENT_BOTTOM - 45 + Width:120 + Height:25 + Text:Cancel + Font:Bold + Key:escape diff --git a/mods/d2k/chrome/dropdowns.yaml b/mods/d2k/chrome/dropdowns.yaml new file mode 100644 index 0000000000..aa008a81a4 --- /dev/null +++ b/mods/d2k/chrome/dropdowns.yaml @@ -0,0 +1,50 @@ +ScrollPanel@LABEL_DROPDOWN_TEMPLATE: + Width:DROPDOWN_WIDTH + Children: + ScrollItem@TEMPLATE: + Width:PARENT_RIGHT-27 + Height:25 + X:2 + Y:0 + Visible:false + Children: + Label@LABEL: + X:10 + Width:PARENT_RIGHT-20 + Height:25 + +ScrollPanel@RACE_DROPDOWN_TEMPLATE: + Width:DROPDOWN_WIDTH + Children: + ScrollItem@TEMPLATE: + Width:PARENT_RIGHT-27 + Height:25 + X:2 + Y:0 + Visible:false + Children: + Image@FLAG: + X:5 + Y:5 + Width:30 + Height:15 + Label@LABEL: + X:40 + Width:60 + Height:25 + +ScrollPanel@TEAM_DROPDOWN_TEMPLATE: + Width:DROPDOWN_WIDTH + Children: + ScrollItem@TEMPLATE: + Width:PARENT_RIGHT-27 + Height:25 + X:2 + Y:0 + Visible:false + Children: + Label@LABEL: + X:0 + Width:PARENT_RIGHT + Height:25 + Align:Center \ No newline at end of file diff --git a/mods/d2k/chrome/gameinit.yaml b/mods/d2k/chrome/gameinit.yaml new file mode 100644 index 0000000000..41b0fba569 --- /dev/null +++ b/mods/d2k/chrome/gameinit.yaml @@ -0,0 +1,158 @@ +Background@INSTALL_PANEL: + Logic:RAInstallLogic + X:(WINDOW_RIGHT - WIDTH)/2 + Y:(WINDOW_BOTTOM - HEIGHT)/2 + Width:500 + Height:160 + Children: + Label@TITLE: + X:0 + Y:20 + Width:PARENT_RIGHT + Height:25 + Text:Install Required + Align:Center + Font:Bold + Label@DESC1: + X:0 + Y:50 + Width:PARENT_RIGHT + Height:25 + Text:OpenRA requires the original Red Alert game content. + Align:Center + Label@DESC2: + X:0 + Y:70 + Width:PARENT_RIGHT + Height:25 + Text:Content can be downloaded, or copied from the install CD. + Align:Center + Button@DOWNLOAD_BUTTON: + X:PARENT_RIGHT - 280 + Y:PARENT_BOTTOM - 45 + Width:120 + Height:25 + Text:Download + Font:Bold + Button@INSTALL_BUTTON: + X:PARENT_RIGHT - 420 + Y:PARENT_BOTTOM - 45 + Width:120 + Height:25 + Text:Use CD + Font:Bold + Button@QUIT_BUTTON: + X:PARENT_RIGHT - 140 + Y:PARENT_BOTTOM - 45 + Width:120 + Height:25 + Text:Quit + Font:Bold + +Background@INSTALL_DOWNLOAD_PANEL: + Logic:DownloadPackagesLogic + X:(WINDOW_RIGHT - WIDTH)/2 + Y:(WINDOW_BOTTOM - HEIGHT)/2 + Width:500 + Height:160 + Children: + Label@TITLE: + X:0 + Y:20 + Width:PARENT_RIGHT + Height:25 + Text:Downloading Red Alert Content + Align:Center + Font:Bold + ProgressBar@PROGRESS_BAR: + X:50 + Y:55 + Width:PARENT_RIGHT - 100 + Height:25 + Label@STATUS_LABEL: + X:50 + Y:80 + Width:PARENT_RIGHT - 100 + Height:25 + Align:Left + Button@RETRY_BUTTON: + X:PARENT_RIGHT - 280 + Y:PARENT_BOTTOM - 45 + Width:120 + Height:25 + Visible: false + Text:Retry + Font:Bold + Key:return + Button@CANCEL_BUTTON: + X:PARENT_RIGHT - 140 + Y:PARENT_BOTTOM - 45 + Width:120 + Height:25 + Text:Cancel + Font:Bold + Key:escape +Background@INSTALL_FROMCD_PANEL: + Logic:RAInstallFromCDLogic + X:(WINDOW_RIGHT - WIDTH)/2 + Y:(WINDOW_BOTTOM - HEIGHT)/2 + Width:500 + Height:160 + Children: + Label@TITLE: + X:0 + Y:20 + Width:PARENT_RIGHT + Height:25 + Text:Installing from CD + Align:Center + Font:Bold + Container@INSTALLING: + Width:PARENT_RIGHT + Height:PARENT_BOTTOM + Visible: false + Children: + ProgressBar@PROGRESS_BAR: + X:50 + Y:55 + Width:PARENT_RIGHT - 100 + Height:25 + Label@STATUS_LABEL: + X:50 + Y:80 + Width:PARENT_RIGHT - 100 + Height:25 + Align:Left + Container@INSERT_DISK: + Width:PARENT_RIGHT + Height:PARENT_BOTTOM + Visible: false + Children: + Label@INFO: + Y:50 + Width:PARENT_RIGHT + Height:25 + Text:Disk not found. + Align:Center + Label@INFO2: + Y:70 + Width:PARENT_RIGHT + Height:25 + Text:Please insert one of the Red Alert install CDs then click Retry. + Align:Center + Button@RETRY_BUTTON: + X:PARENT_RIGHT - 280 + Y:PARENT_BOTTOM - 45 + Width:120 + Height:25 + Text:Retry + Font:Bold + Key:return + Button@BACK_BUTTON: + X:PARENT_RIGHT - 140 + Y:PARENT_BOTTOM - 45 + Width:120 + Height:25 + Text:Cancel + Font:Bold + Key:escape diff --git a/mods/d2k/chrome/ingame.yaml b/mods/d2k/chrome/ingame.yaml new file mode 100644 index 0000000000..022239407c --- /dev/null +++ b/mods/d2k/chrome/ingame.yaml @@ -0,0 +1,369 @@ +Container@INGAME_ROOT: + Logic:IngameChromeLogic + Children: + WorldInteractionController@INTERACTION_CONTROLLER: + X:0 + Y:0 + Width:WINDOW_RIGHT + Height:WINDOW_BOTTOM + ViewportScrollController: + X:0 + Y:0 + Width:WINDOW_RIGHT + Height:WINDOW_BOTTOM + WorldCommand: + X:0 + Y:0 + Width:WINDOW_RIGHT + Height:WINDOW_BOTTOM + Timer@GAME_TIMER: + X: WINDOW_RIGHT/2 + Y: 0-10 + StrategicProgress@STRATEGIC_PROGRESS: + X: WINDOW_RIGHT/2 + Y: 40 + Background@POSTGAME_BG: + X:(WINDOW_RIGHT - WIDTH)/2 + Y:(WINDOW_BOTTOM - HEIGHT)/2 + Width:400 + Height:100 + Background:dialog4 + Visible:false + Children: + Label@TEXT: + X:(PARENT_RIGHT - WIDTH)/2 + Y:0 + Width:200 + Height:80 + Align:Center + Button@POSTGAME_OBSERVE: + X:10 + Y:(PARENT_BOTTOM - HEIGHT - 10) + Width:150 + Height:25 + Font:Bold + Text:Observe + Button@POSTGAME_QUIT: + X:(PARENT_RIGHT - WIDTH - 10) + Y:(PARENT_BOTTOM - HEIGHT - 10) + Width:150 + Height:25 + Font:Bold + Text:Leave + SupportPowerBin@INGAME_POWERS_BIN: + X:0 + Y:25 + BuildPalette@INGAME_BUILD_PALETTE: + X:WINDOW_RIGHT - 250 + Y:280 + Width:250 + Height:500 + Button@INGAME_OPTIONS_BUTTON: + X:0 + Y:0 + Width:160 + Height:25 + Text:Options + Font:Bold + Key: escape + Button@INGAME_DIPLOMACY_BUTTON: + X:162 + Y:0 + Width:160 + Height:25 + Text:Diplomacy + Font:Bold + Button@CHEATS_BUTTON: + X:324 + Y:0 + Width:160 + Height:25 + Text:Cheats + Visible:false + Font:Bold + RadarBin@INGAME_RADAR_BIN: + WorldInteractionController:INTERACTION_CONTROLLER + PowerBin@INGAME_POWER_BIN: + MoneyBin@INGAME_MONEY_BIN: + X:WINDOW_RIGHT - WIDTH + Y:0 + Width:320 + Height: 32 + Children: + OrderButton@SELL: + Logic:OrderButtonsChromeLogic + X:3 + Y:0 + Width:30 + Height:30 + Image:sell + Description:Sell + LongDesc:Sell buildings, reclaiming a \nproportion of their build cost + OrderButton@POWER_DOWN: + Logic:OrderButtonsChromeLogic + X:39 + Y:0 + Width:30 + Height:30 + Image:power + Description:Powerdown + LongDesc:Disable unneeded structures so their \npower can be used elsewhere + OrderButton@REPAIR: + Logic:OrderButtonsChromeLogic + X:75 + Y:0 + Width:30 + Height:30 + Image:repair + Description:Repair + LongDesc:Repair damaged buildings + WorldTooltip: + Background@INGAME_OPTIONS_BG: + X:(WINDOW_RIGHT - WIDTH)/2 + Y:(WINDOW_BOTTOM - HEIGHT)/2 + Width:300 + Height:295 + Visible:false + Children: + Label@LABEL_TITLE: + X:(PARENT_RIGHT - WIDTH)/2 + Y:20 + Width:250 + Height:25 + Text:Options + Align:Center + Font:Bold + Button@RESUME: + X:(PARENT_RIGHT - WIDTH)/2 + Y:60 + Width:160 + Height:25 + Text:Resume + Font:Bold + Key:escape + Button@SETTINGS: + X:(PARENT_RIGHT - WIDTH)/2 + Y:100 + Width:160 + Height:25 + Text:Settings + Font:Bold + Button@MUSIC: + X:(PARENT_RIGHT - WIDTH)/2 + Y:140 + Width:160 + Height:25 + Text:Music + Font:Bold + Button@SURRENDER: + X:(PARENT_RIGHT - WIDTH)/2 + Y:180 + Width:160 + Height:25 + Text:Surrender + Font:Bold + Button@DISCONNECT: + X:(PARENT_RIGHT - WIDTH)/2 + Y:220 + Width:160 + Height:25 + Text:Abort Mission + Font:Bold + Background@DIPLOMACY_BG: + Logic:DiplomacyLogic + X:(WINDOW_RIGHT - WIDTH)/2 + Y:(WINDOW_BOTTOM - HEIGHT)/2 + Width:450 + Height:400 + Visible:false + Children: + Label@LABEL_TITLE: + X:(PARENT_RIGHT - WIDTH)/2 + Y:20 + Width:250 + Height:25 + Text:Diplomacy + Align:Center + Font:Bold + ChatDisplay@CHAT_DISPLAY: + X:250 + Y:WINDOW_BOTTOM - HEIGHT - 30 + Width: 760 + Height: 200 + DrawBackground: False + RemoveTime:250 + UseContrast: yes + ChatEntry@CHAT_ENTRY: + X:250 + Y:WINDOW_BOTTOM - HEIGHT + Width: 760 + Height: 30 + UseContrast: yes + Background@PERF_BG: + ClickThrough:true + Background:dialog4 + Logic:PerfDebugLogic + X:10 + Y:WINDOW_BOTTOM - 250 + Width: 210 + Height: 250 + Children: + PerfGraph@GRAPH: + X:5 + Y:5 + Width:200 + Height:200 + Label@TEXT: + X:20 + Y:205 + Width:170 + Height:40 +Container@OBSERVER_ROOT: + Visible:true + Logic:IngameObserverChromeLogic + Children: + WorldInteractionController@INTERACTION_CONTROLLER: + X:0 + Y:0 + Width:WINDOW_RIGHT + Height:WINDOW_BOTTOM + ViewportScrollController: + X:0 + Y:0 + Width:WINDOW_RIGHT + Height:WINDOW_BOTTOM + Timer@GAME_TIMER: + X: WINDOW_RIGHT/2 + Y: 0-10 + Background@POSTGAME_BG: + X:(WINDOW_RIGHT - WIDTH)/2 + Y:(WINDOW_BOTTOM - HEIGHT)/2 + Width:400 + Height:100 + Background:dialog4 + Visible:false + Children: + Label@TEXT: + X:(PARENT_RIGHT - WIDTH)/2 + Y:0 + Width:200 + Height:80 + Align:Center + Button@POSTGAME_OBSERVE: + X:10 + Y:(PARENT_BOTTOM - HEIGHT - 10) + Width:150 + Height:25 + Font:Bold + Text:Observe + Button@POSTGAME_QUIT: + X:(PARENT_RIGHT - WIDTH - 10) + Y:(PARENT_BOTTOM - HEIGHT - 10) + Width:150 + Height:25 + Font:Bold + Text:Leave + SupportPowerBin@INGAME_POWERS_BIN: + X:0 + Y:25 + Button@INGAME_OPTIONS_BUTTON: + X:0 + Y:0 + Width:160 + Height:25 + Text:Options + Font:Bold + Key:escape + WorldTooltip: + Background@INGAME_OPTIONS_BG: + X:(WINDOW_RIGHT - WIDTH)/2 + Y:(WINDOW_BOTTOM - HEIGHT)/2 + Width:300 + Height:295 + Visible:false + Children: + Label@LABEL_TITLE: + X:(PARENT_RIGHT - WIDTH)/2 + Y:20 + Width:250 + Height:25 + Text:Options + Align:Center + Font:Bold + Button@RESUME: + X:(PARENT_RIGHT - WIDTH)/2 + Y:60 + Width:160 + Height:25 + Text:Resume + Font:Bold + Key:escape + Button@SETTINGS: + X:(PARENT_RIGHT - WIDTH)/2 + Y:100 + Width:160 + Height:25 + Text:Settings + Font:Bold + Button@MUSIC: + X:(PARENT_RIGHT - WIDTH)/2 + Y:140 + Width:160 + Height:25 + Text:Music + Font:Bold + Button@SURRENDER: + X:(PARENT_RIGHT - WIDTH)/2 + Y:180 + Width:160 + Height:25 + Text:Surrender + Font:Bold + Button@DISCONNECT: + X:(PARENT_RIGHT - WIDTH)/2 + Y:220 + Width:160 + Height:25 + Text:Abort Mission + Font:Bold + ChatDisplay@CHAT_DISPLAY: + X:250 + Y:WINDOW_BOTTOM - HEIGHT - 30 + Width: 760 + Height: 200 + DrawBackground: False + RemoveTime:250 + ChatEntry@CHAT_ENTRY: + X:250 + Y:WINDOW_BOTTOM - HEIGHT + Width: 760 + Height: 30 + Background@PERF_BG: + ClickThrough:true + Background:dialog4 + Logic:PerfDebugLogic + X:10 + Y:WINDOW_BOTTOM - 250 + Width: 210 + Height: 250 + Children: + PerfGraph@GRAPH: + X:5 + Y:5 + Width:200 + Height:200 + Label@TEXT: + X:20 + Y:205 + Width:170 + Height:40 +Background@FMVPLAYER: + Width:WINDOW_RIGHT + Height:WINDOW_BOTTOM + Background:dialog4 + Children: + VqaPlayer: + X:0 + Y:0 + Width:WINDOW_RIGHT + Height:WINDOW_BOTTOM diff --git a/mods/d2k/chrome/lobby.yaml b/mods/d2k/chrome/lobby.yaml new file mode 100644 index 0000000000..a3ead71d0d --- /dev/null +++ b/mods/d2k/chrome/lobby.yaml @@ -0,0 +1,465 @@ +Background@SERVER_LOBBY: + Logic:LobbyLogic + X:(WINDOW_RIGHT - WIDTH)/2 + Y:(WINDOW_BOTTOM - HEIGHT)/2 + Width:800 + Height:600 + Children: + Label@TITLE: + X:0 + Y:17 + Align:Center + Width:800 + Height:20 + Font:Bold + Text:OpenRA Multiplayer Lobby + Background@LOBBY_MAP_BG: + X:PARENT_RIGHT-268 + Y:50 + Width:252 + Height:252 + Background:dialog3 + Children: + MapPreview@MAP_PREVIEW: + X:4 + Y:4 + Width:244 + Height:244 + ScrollPanel@PLAYERS: + X:20 + Y:67 + ItemSpacing:5 + Width:504 + Height:235 + Children: + Container@TEMPLATE_EDITABLE_PLAYER: + X:5 + Y:0 + Width:475 + Height:25 + Visible:false + Children: + TextField@NAME: + Text:Name + Width:150 + Height:25 + X:0 + Y:0 + MaxLength:16 + DropDownButton@BOT_DROPDOWN: + Text:Name + Width:150 + Height:25 + Font:Regular + Visible:false + DropDownButton@COLOR: + Width:80 + Height:25 + X:160 + Y:0 + Children: + ColorBlock@COLORBLOCK: + X:5 + Y:6 + Width:PARENT_RIGHT-35 + Height:PARENT_BOTTOM-12 + DropDownButton@FACTION: + Width:130 + Height:25 + X:250 + Y:0 + Children: + Image@FACTIONFLAG: + Width:30 + Height:15 + X:5 + Y:5 + Label@FACTIONNAME: + Text:Faction + Width:60 + Height:25 + X:40 + Y:0 + DropDownButton@TEAM: + Text:Team + Width:48 + Height:25 + X:390 + Y:0 + Checkbox@STATUS_CHECKBOX: + X:448 + Y:2 + Width:20 + Height:20 + Visible:false + Image@STATUS_IMAGE: + Visible:false + X:450 + Y:4 + Width:20 + Height:20 + ImageCollection:checkbox-bits + ImageName:checked + Visible:false + Container@TEMPLATE_NONEDITABLE_PLAYER: + X:5 + Y:0 + Width:475 + Height:25 + Visible:false + Children: + Label@NAME: + Text:Name + Width:145 + Height:25 + X:5 + Y:0-1 + Button@KICK: + Text:X + Width:25 + Height:23 + X:125 + Y:2 + Font:Bold + ColorBlock@COLOR: + X:165 + Y:6 + Width:45 + Height:13 + Label@FACTION: + Width:130 + Height:25 + X:250 + Y:0 + Children: + Image@FACTIONFLAG: + Width:30 + Height:15 + X:5 + Y:5 + Label@FACTIONNAME: + Text:Faction + Width:60 + Height:25 + X:40 + Y:0 + Label@TEAM: + Text:Team + Width:23 + Height:25 + Align:Center + X:390 + Y:0 + Image@STATUS_IMAGE: + Visible:false + X:450 + Y:4 + Width:20 + Height:20 + ImageCollection:checkbox-bits + ImageName:checked + + Container@TEMPLATE_EMPTY: + X:5 + Y:0 + Width:475 + Height:25 + Visible:false + Children: + Label@NAME: + Text:Name + Width:145 + Height:25 + X:5 + Y:0-1 + DropDownButton@NAME_HOST: + Text:Name + Width:150 + Height:25 + X:0 + Y:0 + Visible:false + Button@JOIN: + Text:Play in this slot + Width:278 + Height:25 + X:160 + Y:0 + Container@TEMPLATE_EDITABLE_SPECTATOR: + X:5 + Y:0 + Width:475 + Height:25 + Visible:false + Children: + TextField@NAME: + Text:Name + Width:150 + Height:25 + MaxLength:16 + DropDownButton@COLOR: + Width:80 + Height:25 + X:160 + Font:Regular + Children: + ColorBlock@COLORBLOCK: + X:5 + Y:6 + Width:PARENT_RIGHT-35 + Height:PARENT_BOTTOM-12 + Label@SPECTATOR: + Text:Spectator + Width:198 + Height:25 + X:240 + Y:0 + Align:Center + Font:Bold + Checkbox@STATUS_CHECKBOX: + X:448 + Y:2 + Width:20 + Height:20 + Image@STATUS_IMAGE: + Visible:false + X:450 + Y:4 + Width:20 + Height:20 + ImageCollection:checkbox-bits + ImageName:checked + + Container@TEMPLATE_NONEDITABLE_SPECTATOR: + X:5 + Y:0 + Width:475 + Height:25 + Visible:false + Children: + Label@NAME: + Text:Name + Width:145 + Height:25 + X:5 + Y:0-1 + Button@KICK: + Text:X + Width:25 + Height:23 + X:125 + Y:2 + Font:Bold + ColorBlock@COLOR: + X:165 + Y:6 + Width:45 + Height:13 + Label@SPECTATOR: + Text:Spectator + Width:198 + Height:25 + X:240 + Y:0 + Align:Center + Font:Bold + Image@STATUS_IMAGE: + Visible:false + X:450 + Y:4 + Width:20 + Height:20 + ImageCollection:checkbox-bits + ImageName:checked + Container@TEMPLATE_NEW_SPECTATOR: + X:5 + Y:0 + Width:475 + Height:25 + Visible:false + Children: + Button@SPECTATE: + Text:Spectate + Font:Regular + Width:278 + Height:25 + X:160 + Y:0 + Container@LABEL_CONTAINER: + X:25 + Y:40 + Children: + Label@LABEL_LOBBY_NAME: + Width:150 + Height:25 + X:0 + Y:0 + Text:Name + Align:Center + Font:Bold + Label@LABEL_LOBBY_COLOR: + Width:80 + Height:25 + X:160 + Y:0 + Text:Color + Align:Center + Font:Bold + Label@LABEL_LOBBY_FACTION: + Width:130 + Height:25 + X:250 + Y:0 + Text:Faction + Align:Center + Font:Bold + Label@LABEL_LOBBY_TEAM: + Width:48 + Height:25 + X:390 + Y:0 + Text:Team + Align:Center + Font:Bold + Label@LABEL_LOBBY_STATUS: + X:448 + Y:0 + Width:20 + Height:25 + Text:Ready + Align:Left + Font:Bold + Button@CHANGEMAP_BUTTON: + X:PARENT_RIGHT-154 + Y:PARENT_BOTTOM-269 + Width:120 + Height:25 + Text:Change Map + Font:Bold + ScrollPanel@CHAT_DISPLAY: + X:20 + Y:PARENT_BOTTOM - 289 + Width:PARENT_RIGHT - 200 + Height:230 + ItemSpacing:1 + Children: + Container@CHAT_TEMPLATE: + Width:PARENT_RIGHT-27 + Height:16 + X:2 + Y:0 + Children: + Label@TIME: + X:3 + Width:50 + Height:15 + VAlign:Top + Label@NAME: + X:45 + Width:50 + Height:15 + VAlign:Top + Label@TEXT: + X:55 + Width:PARENT_RIGHT - 60 + Height:15 + WordWrap:true + VAlign:Top + Label@LABEL_CHATTYPE: + Width:65 + Height:25 + X:0 + Y:PARENT_BOTTOM - 50 + Text:Chat: + Align:Right + TextField@CHAT_TEXTFIELD: + X:70 + Y:PARENT_BOTTOM - 49 + Width:550 + Height:25 + Button@START_GAME_BUTTON: + X:PARENT_RIGHT-154 + Y:PARENT_BOTTOM-49 + Width:120 + Height:25 + Text:Start Game + Font:Bold + Button@DISCONNECT_BUTTON: + X:PARENT_RIGHT-154 + Y:PARENT_BOTTOM-189+25 + Width:120 + Height:25 + Text:Disconnect + Font:Bold + Checkbox@ALLOWCHEATS_CHECKBOX: + X: PARENT_RIGHT-154 + Y: PARENT_BOTTOM-229 + Width: 80 + Height: 20 + Text: Allow Cheats +Background@COLOR_CHOOSER: + Logic:ColorPickerLogic + Background:dialog2 + Width:310 + Height:120 + Children: + Button@SAVE_BUTTON: + X:210 + Y:85 + Width:90 + Height:25 + Text:Save + Font:Bold + Button@RANDOM_BUTTON: + X:115 + Y:85 + Width:90 + Height:25 + Text:Random + Font:Bold + ShpImage@FACT: + X:220 + Y:10 + Image:fact + Palette:colorpicker + Label@HUE_LABEL: + X:0 + Y:5 + Width:40 + Height:20 + Align: Right + Text: Hue: + Slider@HUE: + X:43 + Y:10 + Width:160 + Height:20 + Ticks:5 + Label@SAT_LABEL: + X:0 + Y:30 + Width:40 + Height:20 + Align: Right + Text: Sat: + Slider@SAT: + X:43 + Y:35 + Width:160 + Height:20 + Ticks:5 + Label@LUM_LABEL: + X:0 + Y:55 + Width:40 + Height:20 + Align: Right + Text: Lum: + Slider@LUM: + X:43 + Y:60 + Width:160 + Height:20 + Ticks:5 + MinimumValue: 0.2 + MaximumValue: 1 diff --git a/mods/d2k/chrome/mainmenu.yaml b/mods/d2k/chrome/mainmenu.yaml index 6af4cd7249..a0ba0d41e1 100644 --- a/mods/d2k/chrome/mainmenu.yaml +++ b/mods/d2k/chrome/mainmenu.yaml @@ -1,5 +1,4 @@ Background@MAINMENU_BG: - Id:MAINMENU_BG X:(WINDOW_RIGHT - WIDTH)/2 Y:(WINDOW_BOTTOM - HEIGHT)/2 Width:250 @@ -8,7 +7,6 @@ Background@MAINMENU_BG: Logic:MainMenuButtonsLogic Children: Label@MAINMENU_LABEL_TITLE: - Id:MAINMENU_LABEL_TITLE X:0 Y:20 Width:250 @@ -17,7 +15,6 @@ Background@MAINMENU_BG: Align:Center Font:Bold Button@MAINMENU_BUTTON_JOIN: - Id:MAINMENU_BUTTON_JOIN X:45 Y:70 Width:160 @@ -25,7 +22,6 @@ Background@MAINMENU_BG: Text:Join Game Font:Bold Button@MAINMENU_BUTTON_CREATE: - Id:MAINMENU_BUTTON_CREATE X:45 Y:110 Width:160 @@ -33,7 +29,6 @@ Background@MAINMENU_BG: Text:Create Game Font:Bold Button@MAINMENU_BUTTON_DIRECTCONNECT: - Id:MAINMENU_BUTTON_DIRECTCONNECT X:45 Y:150 Width:160 @@ -41,7 +36,6 @@ Background@MAINMENU_BG: Text:Direct Connect Font:Bold Button@MAINMENU_BUTTON_SETTINGS: - Id:MAINMENU_BUTTON_SETTINGS X:45 Y:190 Width:160 @@ -49,23 +43,20 @@ Background@MAINMENU_BG: Text:Settings Font:Bold Button@MAINMENU_BUTTON_MODS: - Id:MAINMENU_BUTTON_MODS X:45 Y:230 Width:160 Height:25 Text:Mods Font:Bold -# Button@MAINMENU_BUTTON_MUSIC: -# Id:MAINMENU_BUTTON_MUSIC -# X:45 -# Y:270 -# Width:160 -# Height:25 -# Text:Music -# Font:Bold + Button@MAINMENU_BUTTON_MUSIC: + X:45 + Y:270 + Width:160 + Height:25 + Text:Music + Font:Bold Button@MAINMENU_BUTTON_REPLAY_VIEWER: - Id:MAINMENU_BUTTON_REPLAY_VIEWER X:45 Y:310 Width:160 @@ -73,7 +64,6 @@ Background@MAINMENU_BG: Text:Replay Viewer Font:Bold Button@MAINMENU_BUTTON_QUIT: - Id:MAINMENU_BUTTON_QUIT X:45 Y:350 Width:160 @@ -82,7 +72,6 @@ Background@MAINMENU_BG: Font:Bold Background@PERF_BG: ClickThrough:true - Id:PERF_BG Background:dialog4 Logic:PerfDebugLogic X:10 @@ -91,176 +80,154 @@ Background@PERF_BG: Height: 250 Children: PerfGraph@GRAPH: - Id:GRAPH X:5 Y:5 Width:200 Height:200 Label@TEXT: - Id:TEXT X:20 Y:205 Width:170 Height:40 -#Background@MUSIC_MENU: -# Id:MUSIC_MENU -# Logic:MusicPlayerLogic -# X:(WINDOW_RIGHT - WIDTH)/2 -# Y:(WINDOW_BOTTOM - HEIGHT)/2 -# Width: 450 -# Height: 250 -# Visible: true -# Children: -# Label@SETTINGS_LABEL_TITLE: -# Id:SETTINGS_LABEL_TITLE -# X:0 -# Y:20 -# Width:450 -# Height:25 -# Text:Music -# Align:Center -# Font:Bold -# Button@BUTTON_INSTALL: -# Id:BUTTON_INSTALL -# X:20 -# Y:PARENT_BOTTOM - 45 -# Width:160 -# Height:25 -# Text:Install Music -# Font:Bold -# Button@BUTTON_CLOSE: -# Id:BUTTON_CLOSE -# X:PARENT_RIGHT - 180 -# Y:PARENT_BOTTOM - 45 -# Width:160 -# Height:25 -# Text:Close -# Font:Bold -# Container@BUTTONS: -# X:PARENT_RIGHT - 150 -# Y:50 -# Children: -# Button@BUTTON_PLAY: -# Id:BUTTON_PLAY -# X:35 -# Y:0 -# Width:25 -# Height:25 -# Children: -# Image@IMAGE_PLAY: -# Id:IMAGE_PLAY -# X:0 -# Y:0 -# Width:25 -# Height:25 -# ImageCollection:music -# ImageName:play -# Button@BUTTON_PAUSE: -# Id:BUTTON_PAUSE -# Visible:false -# X:35 -# Y:0 -# Width:25 -# Height:25 -# Children: -# Image@IMAGE_PAUSE: -# Id:IMAGE_PAUSE -# X:0 -# Y:0 -# Width:25 -# Height:25 -# ImageCollection:music -# ImageName:pause -# Button@BUTTON_STOP: -# Id:BUTTON_STOP -# X:70 -# Y:0 -# Width:25 -# Height:25 -# Children: -# Image@IMAGE_STOP: -# Id:IMAGE_STOP -# X:0 -# Y:0 -# Width:25 -# Height:25 -# ImageCollection:music -# ImageName:stop -# Button@BUTTON_NEXT: -# Id:BUTTON_NEXT -# X:105 -# Y:0 -# Width:25 -# Height:25 -# Children: -# Image@IMAGE_NEXT: -# Id:IMAGE_NEXT -# X:0 -# Y:0 -# Width:25 -# Height:25 -# ImageCollection:music -# ImageName:next -# Button@BUTTON_PREV: -# Id:BUTTON_PREV -# X:0 -# Y:0 -# Width:25 -# Height:25 -# Children: -# Image@IMAGE_PREV: -# Id:IMAGE_PREV -# X:0 -# Y:0 -# Width:25 -# Height:25 -# ImageCollection:music -# ImageName:prev -# Label@TIME: -# Id:TIME -# X:PARENT_RIGHT - 150 -# Y:75 -# Width:140 -# Height:25 -# Align: Center -# ScrollPanel@MUSIC_LIST: -# Id:MUSIC_LIST -# X:10 -# Y:50 -# Width:280 -# Height:140 -# Children: -# ScrollItem@MUSIC_TEMPLATE: -# Id:MUSIC_TEMPLATE -# Width:PARENT_RIGHT-27 -# Height:25 -# X:2 -# Y:0 -# Visible:false -# Children: -# Label@TITLE: -# Id:TITLE -# X:5 -# Width:PARENT_RIGHT - 10 -# Height:PARENT_BOTTOM -# Align: Left -# Label@LENGTH: -# Id:LENGTH -# X:5 -# Width:PARENT_RIGHT - 10 -# Height:PARENT_BOTTOM -# Align: Right -# Checkbox@SHUFFLE: -# Id:SHUFFLE -# X:PARENT_RIGHT - 150 -# Y:110 -# Width:100 -# Height:20 -# Text:Shuffle -# Checkbox@REPEAT: -# Id:REPEAT -# X:PARENT_RIGHT - 150 -# Y:140 -# Width:100 -# Height:20 -# Text:Loop \ No newline at end of file +Background@MUSIC_MENU: + Logic:MusicPlayerLogic + X:(WINDOW_RIGHT - WIDTH)/2 + Y:(WINDOW_BOTTOM - HEIGHT)/2 + Width: 450 + Height: 250 + Visible: true + Children: + Label@SETTINGS_LABEL_TITLE: + X:0 + Y:20 + Width:450 + Height:25 + Text:Music + Align:Center + Font:Bold + Button@BUTTON_INSTALL: + X:20 + Y:PARENT_BOTTOM - 45 + Width:160 + Height:25 + Text:Install Music + Font:Bold + Button@BUTTON_CLOSE: + X:PARENT_RIGHT - 180 + Y:PARENT_BOTTOM - 45 + Width:160 + Height:25 + Text:Close + Font:Bold + Key:escape + Container@BUTTONS: + X:PARENT_RIGHT - 150 + Y:50 + Children: + Button@BUTTON_PLAY: + X:35 + Y:0 + Width:25 + Height:25 + Children: + Image@IMAGE_PLAY: + X:0 + Y:0 + Width:25 + Height:25 + ImageCollection:music + ImageName:play + Button@BUTTON_PAUSE: + Visible:false + X:35 + Y:0 + Width:25 + Height:25 + Children: + Image@IMAGE_PAUSE: + X:0 + Y:0 + Width:25 + Height:25 + ImageCollection:music + ImageName:pause + Button@BUTTON_STOP: + X:70 + Y:0 + Width:25 + Height:25 + Children: + Image@IMAGE_STOP: + X:0 + Y:0 + Width:25 + Height:25 + ImageCollection:music + ImageName:stop + Button@BUTTON_NEXT: + X:105 + Y:0 + Width:25 + Height:25 + Children: + Image@IMAGE_NEXT: + X:0 + Y:0 + Width:25 + Height:25 + ImageCollection:music + ImageName:next + Button@BUTTON_PREV: + X:0 + Y:0 + Width:25 + Height:25 + Children: + Image@IMAGE_PREV: + X:0 + Y:0 + Width:25 + Height:25 + ImageCollection:music + ImageName:prev + Label@TIME: + X:PARENT_RIGHT - 150 + Y:75 + Width:140 + Height:25 + Align: Center + ScrollPanel@MUSIC_LIST: + X:10 + Y:50 + Width:280 + Height:140 + Children: + ScrollItem@MUSIC_TEMPLATE: + Width:PARENT_RIGHT-27 + Height:25 + X:2 + Y:0 + Visible:false + Children: + Label@TITLE: + X:5 + Width:PARENT_RIGHT - 10 + Height:PARENT_BOTTOM + Align: Left + Label@LENGTH: + X:5 + Width:PARENT_RIGHT - 10 + Height:PARENT_BOTTOM + Align: Right + Checkbox@SHUFFLE: + X:PARENT_RIGHT - 150 + Y:110 + Width:100 + Height:20 + Text:Shuffle + Checkbox@REPEAT: + X:PARENT_RIGHT - 150 + Y:140 + Width:100 + Height:20 + Text:Loop diff --git a/mods/d2k/chrome/map-chooser.yaml b/mods/d2k/chrome/map-chooser.yaml new file mode 100644 index 0000000000..c57b815a41 --- /dev/null +++ b/mods/d2k/chrome/map-chooser.yaml @@ -0,0 +1,74 @@ +Background@MAPCHOOSER_PANEL: + X:(WINDOW_RIGHT - WIDTH)/2 + Y:(WINDOW_BOTTOM - HEIGHT)/2 + Logic:MapChooserLogic + Width:800 + Height:600 + Children: + Label@MAPCHOOSER_TITLE: + X:0 + Y:17 + Align:Center + Width:800 + Height:20 + Text:Choose Map + Font:Bold + ScrollPanel@MAP_LIST: + X:20 + Y:47 + Width:PARENT_RIGHT - 40 + Height:474 + Children: + ScrollItem@MAP_TEMPLATE: + Width:180 + Height:208 + X:2 + Y:0 + Visible:false + Children: + Label@TITLE: + X:2 + Y:PARENT_BOTTOM-47 + Width:PARENT_RIGHT-4 + Height:25 + Align:Center + Label@DETAILS: + Width:PARENT_RIGHT-4 + X:2 + Y:PARENT_BOTTOM-35 + Align:Center + Height:25 + Font:Tiny + Label@AUTHOR: + Width:PARENT_RIGHT-4 + X:2 + Y:PARENT_BOTTOM-26 + Align:Center + Height:25 + Font:Tiny + MapPreview@PREVIEW: + X:(PARENT_RIGHT - WIDTH)/2 + Y:4 + Width:160 + Height:160 + DropDownButton@GAMEMODE_FILTER: + X:PARENT_RIGHT - 220 + Y:17 + Width:200 + Height:25 + Button@BUTTON_OK: + X:PARENT_RIGHT - 295 + Y:PARENT_BOTTOM - 49 + Width:120 + Height:25 + Text:Ok + Font:Bold + Key:return + Button@BUTTON_CANCEL: + X:PARENT_RIGHT-154 + Y:PARENT_BOTTOM-49 + Width:120 + Height:25 + Text:Cancel + Font:Bold + Key:escape diff --git a/mods/d2k/chrome/modchooser.yaml b/mods/d2k/chrome/modchooser.yaml new file mode 100644 index 0000000000..e11d52b424 --- /dev/null +++ b/mods/d2k/chrome/modchooser.yaml @@ -0,0 +1,84 @@ +Background@MODS_PANEL: + Logic:ModBrowserLogic + Width:740 + Height:500 + X:(WINDOW_RIGHT - WIDTH)/2 + Y:(WINDOW_BOTTOM - HEIGHT)/2 + Children: + Label@TITLE: + Text:Select Mod + Width:PARENT_RIGHT + Y:20 + Font:Bold + Align:Center + ScrollPanel@MOD_LIST: + X:15 + Y:70 + Width:710 + Height:PARENT_BOTTOM - 125 + Children: + ScrollItem@MOD_TEMPLATE: + Width:PARENT_RIGHT-27 + Height:25 + X:2 + Y:0 + Visible:false + Children: + Label@TITLE: + X:10 + Width:200 + Height:25 + Label@AUTHOR: + X:PARENT_RIGHT-300 + Align:Center + Width:50 + Height:25 + Label@VERSION: + Width:140 + X:PARENT_RIGHT-150 + Align:Center + Height:25 + Container@MOD_LABELS: + Width:710-25 + Height:25 + X:15 + Y:45 + Children: + Label@TITLE: + Width:125 + Height:25 + X:0 + Y:0 + Text:Title + Align:Center + Font:Bold + Label@AUTHOR: + X:PARENT_RIGHT-300 + Align:Center + Width:50 + Height:25 + Text:Author + Font:Bold + Label@VERSION: + Width:140 + X:PARENT_RIGHT-150 + Align:Center + Height:25 + Text:Version + Font:Bold + Button@BACK_BUTTON: + Key:escape + X:PARENT_RIGHT-180 + Y:PARENT_BOTTOM-45 + Width:160 + Height:25 + Font:Bold + Text:Cancel + Button@LOAD_BUTTON: + Key:return + X:PARENT_RIGHT-360 + Y:PARENT_BOTTOM-45 + Width:160 + Height:25 + Font:Bold + Text:Load Mod diff --git a/mods/d2k/chrome/replaybrowser.yaml b/mods/d2k/chrome/replaybrowser.yaml new file mode 100644 index 0000000000..45d2be39a1 --- /dev/null +++ b/mods/d2k/chrome/replaybrowser.yaml @@ -0,0 +1,102 @@ +Background@REPLAYBROWSER_BG: + Logic:ReplayBrowserLogic + X:(WINDOW_RIGHT - WIDTH)/2 + Y:(WINDOW_BOTTOM - HEIGHT)/2 + Width:700 + Height:410 + Children: + Label@REPLAYBROWSER_LABEL_TITLE: + X:0 + Y:20 + Width:PARENT_RIGHT + Height:25 + Text:Choose Replay + Align:Center + Font:Bold + ScrollPanel@REPLAY_LIST: + X:20 + Y:50 + Width:390 + Height:300 + Children: + ScrollItem@REPLAY_TEMPLATE: + Width:PARENT_RIGHT-27 + Height:25 + X:2 + Y:0 + Visible:false + Children: + Label@TITLE: + X:10 + Width:PARENT_RIGHT-20 + Height:25 + Container@REPLAY_INFO: + X:0 + Y:0 + Width:PARENT_RIGHT + Height:PARENT_BOTTOM + Visible:false + Children: + MapPreview@MAP_PREVIEW: + X:PARENT_RIGHT-241 + Y:30 + Width:192 + Height:192 + Label@MAP_TITLE_LABEL: + X:PARENT_RIGHT - 200 - WIDTH + Y:250 + Align:Right + Width:70 + Height:20 + Text:Map: + Font:Bold + Label@MAP_TITLE: + X:PARENT_RIGHT - 195 + Y:250 + Align:Left + Width:70 + Height:20 + Label@DURATION_LABEL: + X:PARENT_RIGHT - 200 - WIDTH + Y:270 + Align:Right + Width:70 + Height:20 + Text:Duration: + Font:Bold + Label@DURATION: + X:PARENT_RIGHT - 195 + Y:270 + Align:Left + Width:70 + Height:20 + Label@PLAYERS_LABEL: + X:PARENT_RIGHT - 200 - WIDTH + Y:290 + Align:Right + Width:70 + Height:20 + Text:Players: + Font:Bold + Label@PLAYERS: + X:PARENT_RIGHT - 195 + Y:290 + Align:Left + Width:70 + Height:20 + Button@WATCH_BUTTON: + X:PARENT_RIGHT - 140 - 130 + Y:PARENT_BOTTOM - 45 + Width:120 + Height:25 + Text:Watch + Font:Bold + Key:return + Button@CANCEL_BUTTON: + X:PARENT_RIGHT - 140 + Y:PARENT_BOTTOM - 45 + Width:120 + Height:25 + Text:Cancel + Font:Bold + Key:escape diff --git a/mods/d2k/chrome/serverbrowser.yaml b/mods/d2k/chrome/serverbrowser.yaml new file mode 100644 index 0000000000..8e96dc2d90 --- /dev/null +++ b/mods/d2k/chrome/serverbrowser.yaml @@ -0,0 +1,215 @@ +Background@JOINSERVER_BG: + Logic:ServerBrowserLogic + X:(WINDOW_RIGHT - WIDTH)/2 + Y:(WINDOW_BOTTOM - HEIGHT)/2 + Width:540 + Height:535 + Children: + Label@JOINSERVER_LABEL_TITLE: + X:0 + Y:20 + Width:PARENT_RIGHT + Height:25 + Text:Join Server + Align:Center + Font:Bold + ScrollPanel@SERVER_LIST: + X:20 + Y:50 + Width:500 + Height:425 + Children: + ScrollItem@SERVER_TEMPLATE: + Width:PARENT_RIGHT-27 + Height:68 + X:2 + Y:0 + Children: + MapPreview@MAP_PREVIEW: + X:2 + Y:2 + Width:64 + Height:64 + ShowSpawnPoints:no + Label@TITLE: + X:70 + Width:200 + Height:25 + Font:Bold + Label@MAP: + X:70 + Y:20 + Width:250 + Height:25 + Label@PLAYERS: + X:70 + Y:40 + Width:50 + Height:25 + Label@STATE: + Width:140 + X:PARENT_RIGHT-150 + Align:Right + Height:25 + Font:Bold + Label@IP: + Width:140 + X:PARENT_RIGHT-150 + Y:20 + Align:Right + Height:25 + Label@VERSION: + Width:140 + X:PARENT_RIGHT-150 + Y:40 + Align:Right + Height:25 + + Label@PROGRESS_LABEL: + X:(PARENT_RIGHT - WIDTH) / 2 + Y:PARENT_BOTTOM / 2 - HEIGHT + Width:150 + Height:30 + Text:Fetching games... + Align:Center + Button@REFRESH_BUTTON: + X:20 + Y:PARENT_BOTTOM - 45 + Width:120 + Height:25 + Text:Refresh + Font:Bold + Button@JOIN_BUTTON: + X:PARENT_RIGHT - 140 - 130 + Y:PARENT_BOTTOM - 45 + Width:120 + Height:25 + Text:Join + Font:Bold + Key:return + Button@BACK_BUTTON: + X:PARENT_RIGHT - 140 + Y:PARENT_BOTTOM - 45 + Width:120 + Height:25 + Text:Cancel + Font:Bold + Key:escape +Background@DIRECTCONNECT_BG: + Logic:DirectConnectLogic + X:(WINDOW_RIGHT - WIDTH)/2 + Y:(WINDOW_BOTTOM - HEIGHT)/2 + Width:400 + Height:155 + Children: + Label@DIRECTCONNECT_LABEL_TITLE: + X:0 + Y:20 + Width:400 + Height:25 + Text:Direct Connect + Align:Center + Font:Bold + Label@ADDRESS_LABEL: + X:50 + Y:59 + Width:95 + Height:25 + Align:Right + Text:Server Address: + TextField@IP: + X:150 + Y:60 + Width:160 + MaxLength:50 + Height:25 + TextField@PORT: + X:315 + Y:60 + Width:55 + MaxLength:5 + Height:25 + Button@JOIN_BUTTON: + X:130 + Y:PARENT_BOTTOM - 45 + Width:120 + Height:25 + Text:Join + Font:Bold + Key:return + Button@BACK_BUTTON: + X:260 + Y:PARENT_BOTTOM - 45 + Width:120 + Height:25 + Text:Cancel + Font:Bold + Key:escape +Background@CONNECTIONFAILED_PANEL: + Logic:ConnectionFailedLogic + X:(WINDOW_RIGHT - WIDTH)/2 + Y:(WINDOW_BOTTOM - HEIGHT)/2 + Width:450 + Height:150 + Children: + Label@CONNECTION_FAILED_TITLE: + X:0 + Y:20 + Width:450 + Height:25 + Text:Connection Failed + Align:Center + Font:Bold + Label@CONNECTING_DESC: + X:0 + Y:60 + Width:PARENT_RIGHT + Height:25 + Text:Could not connect to AAA.BBB.CCC.DDD:EEEE + Align:Center + Button@RETRY_BUTTON: + X:PARENT_RIGHT - 360 + Y:PARENT_BOTTOM - 45 + Width:160 + Height:25 + Text:Retry + Font:Bold + Key:return + Button@ABORT_BUTTON: + X:PARENT_RIGHT - 180 + Y:PARENT_BOTTOM - 45 + Width:160 + Height:25 + Text:Cancel + Font:Bold + Key:escape +Background@CONNECTING_PANEL: + Logic:ConnectionLogic + X:(WINDOW_RIGHT - WIDTH)/2 + Y:(WINDOW_BOTTOM - HEIGHT)/2 + Width:450 + Height:150 + Children: + Label@CONNECTING_TITLE: + X:0 + Y:20 + Width:450 + Height:25 + Text:Connecting + Align:Center + Font:Bold + Label@CONNECTING_DESC: + X:0 + Y:60 + Width:PARENT_RIGHT + Height:25 + Text:Connecting to AAA.BBB.CCC.DDD:EEEE... + Align:Center + Button@ABORT_BUTTON: + X:PARENT_RIGHT - 180 + Y:PARENT_BOTTOM - 45 + Width:160 + Height:25 + Text:Abort + Font:Bold + Key:escape diff --git a/mods/d2k/cursors.yaml b/mods/d2k/cursors.yaml new file mode 100644 index 0000000000..24842a8825 --- /dev/null +++ b/mods/d2k/cursors.yaml @@ -0,0 +1,271 @@ +Palettes: + cursor: cursor.pal + +Cursors: + mouse: cursor + scroll-t: + start:1 + x: 12 + y: 12 + scroll-tr: + start: 2 + x: 12 + y: 12 + scroll-r: + start: 3 + x: 12 + y: 12 + scroll-br: + start: 4 + x: 12 + y: 12 + scroll-b: + start:5 + x: 12 + y: 12 + scroll-bl: + start:6 + x: 12 + y: 12 + scroll-l: + start:7 + x: 12 + y: 12 + scroll-tl: + start:8 + x: 12 + y: 12 + scroll-t-blocked: + start:124 + x: 12 + y: 12 + scroll-tr-blocked: + start:125 + x: 12 + y: 12 + scroll-r-blocked: + start:126 + x: 12 + y: 12 + scroll-br-blocked: + start:127 + x: 12 + y: 12 + scroll-b-blocked: + start:128 + x: 12 + y: 12 + scroll-bl-blocked: + start:129 + x: 12 + y: 12 + scroll-l-blocked: + start:130 + x: 12 + y: 12 + scroll-tl-blocked: + start:131 + x: 12 + y: 12 + select: + start:15 + length: 6 + x: 12 + y: 12 + + default: + start:0 + default-minimap: + start:80 + generic-blocked: + start:9 + generic-blocked-minimap: + start:33 + move: + start:10 + length: 4 + x: 12 + y: 12 + move-minimap: + start:29 + length: 4 + x: 12 + y: 12 + move-blocked: + start:14 + x: 12 + y: 12 + move-blocked-minimap: + start:33 + x: 12 + y: 12 + attack: + start:195 + length: 8 + x: 12 + y: 12 + attack-minimap: + start:203 + length: 8 + x: 12 + y: 12 + attackmove: + start:21 + length: 8 + x: 12 + y: 12 + attackmove-minimap: + start:134 + length: 8 + x: 12 + y: 12 + harvest: + start:21 + length: 8 + x: 12 + y: 12 + harvest-minimap: + start:134 + length: 8 + x: 12 + y: 12 + enter: + start:113 + length: 3 + x: 12 + y: 12 + enter-minimap: + start:139 + length: 3 + x: 12 + y: 12 + enter-blocked: + start:212 + length: 1 + x: 12 + y: 12 + enter-blocked-minimap: + start:33 + c4: + start:116 + length: 3 + x: 12 + y: 12 + c4-minimap: + start:121 + length: 3 + x: 12 + y: 12 + guard: + start:147 + length: 1 + x: 12 + y: 12 + guard-minimap: + start:146 + length: 1 + x: 12 + y: 12 + capture: + start:164 + length: 3 + x: 12 + y: 12 + capture-minimap: + start:167 + length: 3 + x: 12 + y: 12 + heal: + start:160 + length: 4 + x: 12 + y: 12 + heal-minimap: + start:194 + length: 1 + x: 12 + y: 12 + ability: + start:82 + length: 8 + x: 12 + y: 12 + ability-minimap: + start:214 + length: 8 + x: 12 + y: 12 + +# Cursors that need minimap variants + deploy: + start:59 + length: 9 + x: 12 + y: 12 + deploy-blocked: + start:211 + length: 1 + x: 12 + y: 12 + goldwrench: + start:170 + length: 24 + x: 12 + y: 12 + goldwrench-blocked: + start:213 + length: 1 + x: 12 + y: 12 + nuke: + start:90 + length: 7 + x: 12 + y: 12 + chrono-select: + start:97 + length: 8 + x: 12 + y: 12 + chrono-target: + start:105 + length: 8 + x: 12 + y: 12 + + sell: + start:68 + length: 12 + x: 12 + y: 12 + sell-blocked: + start:119 + length: 1 + x: 12 + y: 12 + repair: + start:35 + length: 24 + x: 12 + y: 12 + repair-blocked: + start:120 + length: 1 + x: 12 + y: 12 + sell2: + start:148 + length: 12 + + nopower: cursor + powerdown-blocked: + start:0 + length: 1 + x: 12 + y: 12 + powerdown: + start:1 + length: 3 + x: 12 + y: 12 \ No newline at end of file diff --git a/mods/d2k/metrics.yaml b/mods/d2k/metrics.yaml new file mode 100644 index 0000000000..f9ebcca321 --- /dev/null +++ b/mods/d2k/metrics.yaml @@ -0,0 +1,6 @@ +# General dumping-ground for UI element sizes, etc. + +Metrics: + ButtonDepth: 1 + ButtonFont: Regular + CheckboxPressedState: false diff --git a/mods/d2k/mod.yaml b/mods/d2k/mod.yaml index ddb1b227f8..050da91259 100644 --- a/mods/d2k/mod.yaml +++ b/mods/d2k/mod.yaml @@ -3,7 +3,6 @@ Metadata: Description: Converting the OpenRA Red Alert Mod one by one to Dune 2000 Version: {DEV_VERSION} Author: The OpenD2k Developers - Requires: ra Folders: . @@ -13,9 +12,27 @@ Folders: ~^/Content/d2k ~^/Content/d2k/GAMESFX ~^/Content/d2k/Music + ./mods/ra/bits + ./mods/ra/uibits + ~^/Content/ra Packages: arrakis.mix + ~main.mix + redalert.mix + conquer.mix + hires.mix + local.mix + sounds.mix + speech.mix + allies.mix + russian.mix + temperat.mix + snow.mix + interior.mix + ~scores.mix + ~movies1.mix + ~movies2.mix Rules: mods/d2k/rules/system.yaml @@ -29,6 +46,7 @@ Sequences: mods/d2k/sequences.yaml Cursors: + mods/d2k/cursors.yaml Chrome: mods/d2k/chrome.yaml @@ -39,6 +57,18 @@ Assemblies: mods/cnc/OpenRA.Mods.Cnc.dll ChromeLayout: + mods/d2k/chrome/gameinit.yaml + mods/d2k/chrome/ingame.yaml + mods/d2k/chrome/mainmenu.yaml + mods/d2k/chrome/settings.yaml + mods/d2k/chrome/lobby.yaml + mods/d2k/chrome/map-chooser.yaml + mods/d2k/chrome/create-server.yaml + mods/d2k/chrome/serverbrowser.yaml + mods/d2k/chrome/replaybrowser.yaml + mods/d2k/chrome/dropdowns.yaml + mods/d2k/chrome/modchooser.yaml + mods/d2k/chrome/cheats.yaml Weapons: mods/d2k/weapons.yaml @@ -49,7 +79,7 @@ Voices: TileSets: mods/d2k/tilesets/arrakis.yaml -#TileSize: 32 +TileSize: 32 Music: mods/d2k/music.yaml @@ -63,6 +93,7 @@ ServerTraits: MasterServerPinger ChromeMetrics: + mods/d2k/metrics.yaml Fonts: Regular: diff --git a/mods/d2k/rules/defaults.yaml b/mods/d2k/rules/defaults.yaml index 93386afa85..566a128e12 100644 --- a/mods/d2k/rules/defaults.yaml +++ b/mods/d2k/rules/defaults.yaml @@ -1,7 +1,7 @@ ^Vehicle: AppearsOnRadar: Mobile: - Crushes: atmine, crate, apmine + Crushes: crate TerrainSpeeds: Clear: 80 Rough: 40 @@ -15,28 +15,24 @@ TargetableUnit: TargetTypes: Ground Repairable: - Chronoshiftable: Passenger: CargoType: Vehicle - IronCurtainable: AttackMove: HiddenUnderFog: GainsExperience: GivesExperience: DrawLineToTarget: ActorLostNotification: - Notification: unitlst1.aud + Notification: ProximityCaptor: Types:Vehicle GivesBounty: - GpsDot: - String:Vehicle WithSmoke: ^Tank: AppearsOnRadar: Mobile: - Crushes: wall, atmine, crate, apmine + Crushes: crate TerrainSpeeds: Clear: 80 Rough: 70 @@ -50,22 +46,18 @@ TargetableUnit: TargetTypes: Ground Repairable: - Chronoshiftable: Passenger: CargoType: Vehicle - IronCurtainable: AttackMove: HiddenUnderFog: GainsExperience: GivesExperience: DrawLineToTarget: ActorLostNotification: - Notification: unitlst1.aud + Notification: ProximityCaptor: Types:Tank GivesBounty: - GpsDot: - String:Vehicle WithSmoke: ^Infantry: @@ -77,7 +69,7 @@ RevealsShroud: Range: 4 Mobile: - Crushes: apmine, crate + Crushes: crate SharesCell: true TerrainSpeeds: Clear: 90 @@ -96,48 +88,16 @@ Passenger: CargoType: Infantry HiddenUnderFog: - TeslaInstantKills: GainsExperience: GivesExperience: DrawLineToTarget: ActorLostNotification: - Notification: unitlst1.aud + Notification: ProximityCaptor: Types:Infantry GivesBounty: - GpsDot: - String:Infantry - ParachuteAttachment: - Offset: 0,-10 CrushableInfantry: - CrushSound: squishy2.aud - -^Ship: - AppearsOnRadar: - Mobile: - Crushes: crate - TerrainSpeeds: - Water: 100 - SelectionDecorations: - Selectable: - Voice: ShipVoice - TargetableUnit: - TargetTypes: Ground, Water - DetectCloaked: - Range: 3 - HiddenUnderFog: - AttackMove: - GainsExperience: - GivesExperience: - DrawLineToTarget: - ActorLostNotification: - Notification: navylst1.aud - ProximityCaptor: - Types:Ship - GivesBounty: - GpsDot: - String:Ship - WithSmoke: + CrushSound: ^Plane: AppearsOnRadar: @@ -153,7 +113,7 @@ GivesExperience: DrawLineToTarget: ActorLostNotification: - Notification: aunitl1.aud + Notification: DebugAircraftFacing: DebugAircraftSubPxX: DebugAircraftSubPxY: @@ -161,16 +121,12 @@ ProximityCaptor: Types:Plane EjectOnDeath: - PilotActor: E1 + PilotActor: RIFLE SuccessRate: 50 GivesBounty: - GpsDot: - String:Plane ^Helicopter: Inherits: ^Plane - GpsDot: - String:Helicopter ^Building: AppearsOnRadar: @@ -187,18 +143,18 @@ Capturable: CapturableBar: SoundOnDamageTransition: - DamagedSound: kaboom1.aud - DestroyedSound: kaboom22.aud + DamagedSound: + DestroyedSound: RenderBuilding: WithBuildingExplosion: RepairableBuilding: EmitInfantryOnSell: - ActorTypes: e1,e1,e1,c1,c2,e6 + ActorTypes: rifle,rifle,rifle,rifle,rifle,rifle MustBeDestroyed: GivesExperience: # FrozenUnderFog: CaptureNotification: - Notification: strucap1.aud + Notification: EditorAppearance: RelativeToTopLeft: yes ShakeOnDeath: @@ -213,12 +169,12 @@ Building: Dimensions: 1,1 Footprint: x - BuildSounds: placbldg.aud + BuildSounds: Adjacent: 7 TerrainTypes: Clear,Road SoundOnDamageTransition: - DamagedSound: sandbag2.aud - DestroyedSound: sandbag2.aud + DamagedSound: + DestroyedSound: Wall: CrushClasses: wall LineBuild: @@ -230,81 +186,11 @@ TargetTypes: Ground RenderBuildingWall: HasMakeAnimation: false - Palette: terrain + Palette: d2k GivesExperience: EditorAppearance: RelativeToTopLeft: yes AutoTargetIgnore: ProximityCaptor: Types:Wall - Sellable: - -^CivBuilding: - Inherits: ^Building - -RepairableBuilding: - Health: - HP: 400 - Armor: - Type: Wood - Tooltip: - Name: Civilian Building - ProximityCaptor: - Types:CivilianBuilding - -AcceptsSupplies: - -GivesBuildableArea: - -Sellable: - -Capturable: - -CapturableBar: - -^CivField: - Inherits: ^CivBuilding - -Selectable: - Tooltip: - Name: Field - -ProximityCaptor: - ProximityCaptor: - Types:CivilianField - -^Tree: - Tooltip: - Name: Tree - RenderBuilding: - Palette: terrain - Building: - Footprint: x - Dimensions: 1,1 - AppearsOnRadar: - RadarColorFromTerrain: - Terrain: Tree - EditorAppearance: - RelativeToTopLeft: yes - ProximityCaptor: - Types:Tree - -^Husk: - Husk: - RenderUnit: - Health: - HP: 140 - Armor: - Type: Heavy - HiddenUnderFog: - AppearsOnRadar: - Burns: - ProximityCaptor: - Types:Husk - -^Bridge: - Tooltip: - Name: Bridge - BelowUnits: - TargetableBuilding: - TargetTypes: Ground, Water - Building: - Footprint: ____ ____ - Dimensions: 4,2 - Health: - HP: 1000 - ProximityCaptor: - Types:Bridge - AutoTargetIgnore: + Sellable: \ No newline at end of file diff --git a/mods/d2k/rules/system.yaml b/mods/d2k/rules/system.yaml index e824e20403..a332b40072 100644 --- a/mods/d2k/rules/system.yaml +++ b/mods/d2k/rules/system.yaml @@ -35,6 +35,9 @@ Player: InitialCash: 5000 ActorGroupProxy: DeveloperMode: + PlayerColorPalette: + BasePalette: d2k + PaletteFormat: d2k PlayerColorPalette@d2kplayer: BasePalette: d2k BaseName: d2kplayer @@ -42,7 +45,7 @@ Player: DebugResourceCash: DebugResourceOre: DebugResourceOreCapacity: - GpsWatcher: + -GpsWatcher: BaseAttackNotifier: World: @@ -55,11 +58,7 @@ World: -LightPaletteRotator: BuildingInfluence: ChooseBuildTabOnSelect: - CrateDrop: - Minimum: 1 - Maximum: 3 - SpawnInterval: 120 - WaterChance: .2 + -CrateDrop: PaletteFromCurrentTileset: Name: terrain PaletteFromFile@d2k: @@ -115,7 +114,7 @@ World: # Country@4: # Name: Ordos # Race: ordos - BibLayer: +# BibLayer: ResourceLayer: # ResourceType@spice: # ResourceType: 1 @@ -126,15 +125,15 @@ World: # PipColor: Yellow # AllowedTerrainTypes: Sand # AllowUnderActors: false - SmudgeLayer@SCORCH: - Type:Scorch - SmokePercentage:50 - Types:sc1,sc2,sc3,sc4,sc5,sc6 - Depths:1,1,1,1,1,1 - SmudgeLayer@CRATER: - Type:Crater - Types:cr1,cr2,cr3,cr4,cr5,cr6 - Depths:5,5,5,5,5,5 +# SmudgeLayer@SCORCH: +# Type:Scorch +# SmokePercentage:50 +# Types:sc1,sc2,sc3,sc4,sc5,sc6 +# Depths:1,1,1,1,1,1 +# SmudgeLayer@CRATER: +# Type:Crater +# Types:cr1,cr2,cr3,cr4,cr5,cr6 +# Depths:5,5,5,5,5,5 SpawnMapActors: CreateMPPlayers: MPStartLocations: diff --git a/mods/d2k/rules/vehicles.yaml b/mods/d2k/rules/vehicles.yaml index 2888c737c5..ecabbf0618 100644 --- a/mods/d2k/rules/vehicles.yaml +++ b/mods/d2k/rules/vehicles.yaml @@ -66,8 +66,6 @@ HARVESTER: RenderUnit:: PlayerPalette: d2kplayer -AttackMove: - GpsDot: - String:Harvester TRIKE: Inherits: ^Vehicle diff --git a/mods/d2k/sequences.yaml b/mods/d2k/sequences.yaml index c58ce544a0..f5d1e01af2 100644 --- a/mods/d2k/sequences.yaml +++ b/mods/d2k/sequences.yaml @@ -298,4 +298,139 @@ rifle: prone-shoot: Start: 192 Length: 6 - Facings: 8 \ No newline at end of file + Facings: 8 + +pips: + groups: + Start: 8 + Length: 10 + medic: + Start: 20 + ready: + Start: 3 + hold: + Start: 4 + tag-fake: + Start: 18 + tag-primary: + Start: 2 + pip-empty: pips2 + Start: 0 + pip-green: pips2 + Start: 1 + pip-yellow: pips2 + Start: 2 + pip-gray: pips2 + Start: 3 + pip-red: pips2 + Start: 4 + pip-blue: pips2 + Start: 5 + +clock: + idle: + Start: 0 + Length: * + +powerdown: + disabled: speed + Start: 3 + +rank: + rank: + Start: 0 + Length: * + +overlay: + build-valid: + Start: 0 + build-invalid: + Start: 1 + target-select: + Start: 2 + target-valid: + Start: 0 + target-invalid: + Start: 1 + +rallypoint: + flag:flagfly + Start: 0 + Length: * + circles:fpls + Start: 0 + Length: * + +dragon: + idle: + Start: 0 + Facings: 32 + +explosion: + piff: piff + Start: 0 + Length: * + piffs: piffpiff + Start: 0 + Length: * + small_explosion: veh-hit3 + Start: 0 + Length: * + med_explosion: veh-hit2 + Start: 0 + Length: * + large_splash: h2o_exp1 + Start: 0 + Length: * + napalm: napalm2 + Start: 0 + Length: * + nuke: atomsfx + Start: 0 + Length: * + med_splash: h2o_exp2 + Start: 0 + Length: * + self_destruct: art-exp1 + Start: 0 + Length: * + building: fball1 + Start: 0 + Length: * + small_splash: h2o_exp3 + Start: 0 + Length: * + large_explosion: frag1 + Start: 0 + Length: * + small_napalm: napalm1 + Start: 0 + Length: * + +smokey: + idle: + Start: 0 + Length: * + +smoke_m: + idle: + Start: 0 + Length: * + loop: + Start: 49 + Length: 42 + end: + Start: 0 + Length: 26 + +120mm: + idle: + Start: 0 + +litning: + bright: + Start: 0 + Length: 4 + dim: + Start: 4 + Length: 4 \ No newline at end of file diff --git a/mods/d2k/weapons.yaml b/mods/d2k/weapons.yaml index 0cbe8d4e0f..24a4525852 100644 --- a/mods/d2k/weapons.yaml +++ b/mods/d2k/weapons.yaml @@ -42,7 +42,7 @@ Dragon: Explosion: med_explosion WaterExplosion: med_splash InfDeath: 3 - SmudgeType: Crater +# SmudgeType: Crater Damage: 50 ImpactSound: kaboom12 @@ -75,7 +75,7 @@ QuadRockets: Explosion: med_explosion WaterExplosion: med_splash ImpactSound: kaboom12 - SmudgeType: Crater +# SmudgeType: Crater Damage: 35 TurretGun: @@ -95,7 +95,7 @@ TurretGun: Explosion: small_explosion WaterExplosion: small_splash InfDeath: 3 - SmudgeType: Crater +# SmudgeType: Crater Damage: 60 25mm: @@ -115,7 +115,7 @@ TurretGun: Explosion: small_explosion WaterExplosion: small_splash InfDeath: 3 - SmudgeType: Crater +# SmudgeType: Crater Damage: 16 90mm: @@ -135,7 +135,7 @@ TurretGun: Explosion: small_explosion WaterExplosion: small_splash InfDeath: 3 - SmudgeType: Crater +# SmudgeType: Crater Damage: 30 105mm: @@ -157,7 +157,7 @@ TurretGun: Explosion: small_explosion WaterExplosion: small_splash InfDeath: 3 - SmudgeType: Crater +# SmudgeType: Crater Damage: 40 120mm: @@ -178,7 +178,7 @@ TurretGun: Explosion: small_explosion WaterExplosion: small_splash InfDeath: 3 - SmudgeType: Crater +# SmudgeType: Crater Damage: 50 227mm: @@ -210,7 +210,7 @@ TurretGun: Explosion: med_explosion WaterExplosion: med_splash ImpactSound: kaboom12 - SmudgeType: Crater +# SmudgeType: Crater Damage: 25 #for rocket turret @@ -242,7 +242,7 @@ MammothTusk: Explosion: med_explosion WaterExplosion: med_splash InfDeath: 2 - SmudgeType: Crater +# SmudgeType: Crater Damage: 45 155mm: @@ -268,7 +268,7 @@ MammothTusk: Explosion: large_explosion WaterExplosion: med_splash InfDeath: 2 - SmudgeType: Crater +# SmudgeType: Crater Damage: 220 TTankZap: @@ -282,6 +282,45 @@ TTankZap: InfDeath: 5 Damage: 100 +ChainGun: + ROF: 10 + Range: 5 + MinRange: 1 + Report: GUN13 + Projectile: Bullet + Speed: 100 + High: true + Warhead: + Spread: 3 + Versus: + Wood: 50% + Light: 60% + Heavy: 25% + Concrete: 25% + Explosion: piffs + WaterExplosion: small_splash + InfDeath: 1 + Damage: 20 + +M60mg: + ROF: 30 + Range: 4 + Report: PILLBOX1 + Burst: 5 + Projectile: Bullet + Speed: 100 + Warhead: + Spread: 3 + Versus: + Wood: 10% + Light: 30% + Heavy: 10% + Concrete: 10% + Explosion: piffs + WaterExplosion: small_splash + InfDeath: 1 + Damage: 15 + Demolish: Warhead: ImpactSound: kaboom25 @@ -309,7 +348,7 @@ Atomic: Warhead@areanuke: DamageModel: PerCell Damage: 250 - SmudgeType: Scorch +# SmudgeType: Scorch Size: 5,4 Ore: true Versus: @@ -338,7 +377,7 @@ CrateNuke: Warhead@areanuke: DamageModel: PerCell Damage: 250 - SmudgeType: Scorch +# SmudgeType: Scorch Size: 5,4 Ore: true Versus: diff --git a/mods/ra/rules/defaults.yaml b/mods/ra/rules/defaults.yaml index ec4e31ae72..93386afa85 100644 --- a/mods/ra/rules/defaults.yaml +++ b/mods/ra/rules/defaults.yaml @@ -1,7 +1,7 @@ ^Vehicle: AppearsOnRadar: Mobile: - Crushes: crate + Crushes: atmine, crate, apmine TerrainSpeeds: Clear: 80 Rough: 40 @@ -11,10 +11,11 @@ ROT: 5 SelectionDecorations: Selectable: - Voice: + Voice: VehicleVoice TargetableUnit: TargetTypes: Ground Repairable: + Chronoshiftable: Passenger: CargoType: Vehicle IronCurtainable: @@ -24,16 +25,18 @@ GivesExperience: DrawLineToTarget: ActorLostNotification: - Notification: + Notification: unitlst1.aud ProximityCaptor: Types:Vehicle GivesBounty: + GpsDot: + String:Vehicle WithSmoke: ^Tank: AppearsOnRadar: Mobile: - Crushes: crate + Crushes: wall, atmine, crate, apmine TerrainSpeeds: Clear: 80 Rough: 70 @@ -43,23 +46,26 @@ ROT: 5 SelectionDecorations: Selectable: - Voice: + Voice: VehicleVoice TargetableUnit: TargetTypes: Ground Repairable: Chronoshiftable: Passenger: CargoType: Vehicle + IronCurtainable: AttackMove: HiddenUnderFog: GainsExperience: GivesExperience: DrawLineToTarget: ActorLostNotification: - Notification: + Notification: unitlst1.aud ProximityCaptor: Types:Tank GivesBounty: + GpsDot: + String:Vehicle WithSmoke: ^Infantry: @@ -71,7 +77,7 @@ RevealsShroud: Range: 4 Mobile: - Crushes: crate + Crushes: apmine, crate SharesCell: true TerrainSpeeds: Clear: 90 @@ -81,7 +87,7 @@ Beach: 80 SelectionDecorations: Selectable: - Voice: + Voice: GenericVoice TargetableUnit: TargetTypes: Ground RenderInfantry: @@ -90,25 +96,55 @@ Passenger: CargoType: Infantry HiddenUnderFog: + TeslaInstantKills: GainsExperience: GivesExperience: DrawLineToTarget: ActorLostNotification: - Notification: + Notification: unitlst1.aud ProximityCaptor: Types:Infantry GivesBounty: GpsDot: String:Infantry + ParachuteAttachment: + Offset: 0,-10 CrushableInfantry: - CrushSound: + CrushSound: squishy2.aud -^Helicopter: +^Ship: + AppearsOnRadar: + Mobile: + Crushes: crate + TerrainSpeeds: + Water: 100 + SelectionDecorations: + Selectable: + Voice: ShipVoice + TargetableUnit: + TargetTypes: Ground, Water + DetectCloaked: + Range: 3 + HiddenUnderFog: + AttackMove: + GainsExperience: + GivesExperience: + DrawLineToTarget: + ActorLostNotification: + Notification: navylst1.aud + ProximityCaptor: + Types:Ship + GivesBounty: + GpsDot: + String:Ship + WithSmoke: + +^Plane: AppearsOnRadar: UseLocation: yes SelectionDecorations: Selectable: - Voice: + Voice: GenericVoice TargetableAircraft: TargetTypes: Air GroundedTargetTypes: Ground @@ -117,7 +153,7 @@ GivesExperience: DrawLineToTarget: ActorLostNotification: - Notification: + Notification: aunitl1.aud DebugAircraftFacing: DebugAircraftSubPxX: DebugAircraftSubPxY: @@ -125,9 +161,16 @@ ProximityCaptor: Types:Plane EjectOnDeath: - PilotActor: RIFLE + PilotActor: E1 SuccessRate: 50 GivesBounty: + GpsDot: + String:Plane + +^Helicopter: + Inherits: ^Plane + GpsDot: + String:Helicopter ^Building: AppearsOnRadar: @@ -144,18 +187,18 @@ Capturable: CapturableBar: SoundOnDamageTransition: - DamagedSound: - DestroyedSound: + DamagedSound: kaboom1.aud + DestroyedSound: kaboom22.aud RenderBuilding: WithBuildingExplosion: RepairableBuilding: EmitInfantryOnSell: - ActorTypes: rifle,rifle,rifle,rifle,rifle,rifle + ActorTypes: e1,e1,e1,c1,c2,e6 MustBeDestroyed: GivesExperience: # FrozenUnderFog: CaptureNotification: - Notification: + Notification: strucap1.aud EditorAppearance: RelativeToTopLeft: yes ShakeOnDeath: @@ -170,12 +213,12 @@ Building: Dimensions: 1,1 Footprint: x - BuildSounds: + BuildSounds: placbldg.aud Adjacent: 7 TerrainTypes: Clear,Road SoundOnDamageTransition: - DamagedSound: - DestroyedSound: + DamagedSound: sandbag2.aud + DestroyedSound: sandbag2.aud Wall: CrushClasses: wall LineBuild: @@ -187,11 +230,81 @@ TargetTypes: Ground RenderBuildingWall: HasMakeAnimation: false - Palette: d2k + Palette: terrain GivesExperience: EditorAppearance: RelativeToTopLeft: yes AutoTargetIgnore: ProximityCaptor: Types:Wall - Sellable: \ No newline at end of file + Sellable: + +^CivBuilding: + Inherits: ^Building + -RepairableBuilding: + Health: + HP: 400 + Armor: + Type: Wood + Tooltip: + Name: Civilian Building + ProximityCaptor: + Types:CivilianBuilding + -AcceptsSupplies: + -GivesBuildableArea: + -Sellable: + -Capturable: + -CapturableBar: + +^CivField: + Inherits: ^CivBuilding + -Selectable: + Tooltip: + Name: Field + -ProximityCaptor: + ProximityCaptor: + Types:CivilianField + +^Tree: + Tooltip: + Name: Tree + RenderBuilding: + Palette: terrain + Building: + Footprint: x + Dimensions: 1,1 + AppearsOnRadar: + RadarColorFromTerrain: + Terrain: Tree + EditorAppearance: + RelativeToTopLeft: yes + ProximityCaptor: + Types:Tree + +^Husk: + Husk: + RenderUnit: + Health: + HP: 140 + Armor: + Type: Heavy + HiddenUnderFog: + AppearsOnRadar: + Burns: + ProximityCaptor: + Types:Husk + +^Bridge: + Tooltip: + Name: Bridge + BelowUnits: + TargetableBuilding: + TargetTypes: Ground, Water + Building: + Footprint: ____ ____ + Dimensions: 4,2 + Health: + HP: 1000 + ProximityCaptor: + Types:Bridge + AutoTargetIgnore: diff --git a/ripD2kGameFiles.sh b/ripD2kGameFiles.sh index 09a606d38d..ce3828e3d8 100755 --- a/ripD2kGameFiles.sh +++ b/ripD2kGameFiles.sh @@ -2,6 +2,9 @@ R8="/home/matthias/.openra/Content/d2k/DATA.R8" PAL="mods/d2k/bits/d2k.pal" +mono OpenRA.Utility.exe --r8 $R8 $PAL 0 2 "overlay" +mono OpenRA.Utility.exe --shp overlay.png 32 + mono OpenRA.Utility.exe --r8 $R8 $PAL 194 205 "spice" mono OpenRA.Utility.exe --shp spice.png 48 mono OpenRA.Utility.exe --r8 $R8 $PAL 206 457 "rifle" --infantry