[MOD] RA Classic - a Red Alert 1 inspired mod

Information and discussion for custom maps and mods.
Kathreinerle
Posts: 2
Joined: Fri Nov 23, 2012 11:06 am

Post by Kathreinerle »

i also wanted to know how the progress is.. maybe some kind of update here ? :D

psydev
Posts: 84
Joined: Sat Mar 31, 2012 4:49 am

Post by psydev »

I am willing to help with a Classic fork, to work on the CNC mod (and maybe RA if I have time).
I identified some important issues that have to be fixed with the engine first, before I think the C&C community will be willing to migrate:

-Orca doesn't return to helipad automatically
-Problems with Orca on repair bay
It should return to repair bay when you press F
-MRLS should have a turret but not be able to fire while it moves. Currently the engine only allows a vehicle firing forward or firing from a turret while moving. This unit firing while moving is too powerful.
-Production speed should be modifiable when there are multiple buildings. Is this present now?

There are other issues that require some programming intervention but those are the most critical I can think of at the moment.

jim2029
Posts: 12
Joined: Mon Jun 13, 2011 5:11 am
Location: Michigan

Post by jim2029 »

So is this project still alive? I like to see this happen... also maybe make the multiplayer client look like the wold Westwood Online client that was used back in the day to connect to multiplayer games.

Matt
Posts: 1144
Joined: Tue May 01, 2012 12:21 pm
Location: Germany

Post by Matt »

I added left-click orders (classic mouse-style) at https://github.com/OpenRA/OpenRA/pull/2579 If your fork already does this better, please contribute. It is hard to tell as you deleted the revision history in https://github.com/Iran/ClassicRA/commits/master and no easy way to compare your changes to vanilla OpenRA.

Matt
Posts: 1144
Joined: Tue May 01, 2012 12:21 pm
Location: Germany

Problems

Post by Matt »

Gave it a try but your version of OpenRA does not compile completely on Linux:

Code: Select all

CSC mods/cnc/OpenRA.Mods.Cnc.dll
OpenRA.Mods.Cnc/Widgets/ProductionPaletteWidget.cs(17,30): error CS0234: The type or namespace name `Buildings' does not exist in the namespace `OpenRA.Mods.RA.Classic'. Are you missing an assembly reference?                                                                                                                                                                              
OpenRA.Mods.Cnc/Widgets/ProductionPaletteWidget.cs(18,30): error CS0234: The type or namespace name `Orders' does not exist in the namespace `OpenRA.Mods.RA.Classic'. Are you missing an assembly reference?                                                                                                                                                                                 
OpenRA.Mods.Cnc/RenderCargo.cs(18,61): error CS0246: The type or namespace name `CargoInfo' could not be found. Are you missing a using directive or an assembly reference?
OpenRA.Mods.Cnc/RenderBuildingRefinery.cs(19,44): error CS0246: The type or namespace name `RenderBuildingInfo' could not be found. Are you missing a using directive or an assembly reference?
OpenRA.Mods.Cnc/RenderBuildingRefinery.cs(24,40): error CS0246: The type or namespace name `RenderBuilding' could not be found. Are you missing a using directive or an assembly reference?
OpenRA.Mods.Cnc/TiberiumRefinery.cs(16,45): error CS0246: The type or namespace name `OreRefineryInfo' could not be found. Are you missing a using directive or an assembly reference?
OpenRA.Mods.Cnc/TiberiumRefinery.cs(21,41): error CS0246: The type or namespace name `OreRefinery' could not be found. Are you missing a using directive or an assembly reference?
OpenRA.Mods.Cnc/IonCannonPower.cs(16,36): error CS0246: The type or namespace name `SupportPowerInfo' could not be found. Are you missing a using directive or an assembly reference?
OpenRA.Mods.Cnc/IonCannonPower.cs(21,32): error CS0246: The type or namespace name `SupportPower' could not be found. Are you missing a using directive or an assembly reference?
OpenRA.Mods.Cnc/Missions/CncShellmapScript.cs(14,30): error CS0234: The type or namespace name `Activities' does not exist in the namespace `OpenRA.Mods.RA.Classic'. Are you missing an assembly reference?                                                                                                                                                                                  
OpenRA.Mods.Cnc/Missions/CncShellmapScript.cs(15,30): error CS0234: The type or namespace name `Move' does not exist in the namespace `OpenRA.Mods.RA.Classic'. Are you missing an assembly reference?                                                                                                                                                                                        
OpenRA.Mods.Cnc/Missions/Gdi01Script.cs(16,30): error CS0234: The type or namespace name `Activities' does not exist in the namespace `OpenRA.Mods.RA.Classic'. Are you missing an assembly reference?                                                                                                                                                                                        
OpenRA.Mods.Cnc/Missions/Gdi01Script.cs(17,30): error CS0234: The type or namespace name `Move' does not exist in the namespace `OpenRA.Mods.RA.Classic'. Are you missing an assembly reference?                                                                                                                                                                                              
OpenRA.Mods.Cnc/Missions/Gdi01Script.cs(23,66): error CS0246: The type or namespace name `LoadWidgetAtGameStartInfo' could not be found. Are you missing a using directive or an assembly reference?                                                                                                                                                                                          
OpenRA.Mods.Cnc/ProductionAirdrop.cs(14,30): error CS0234: The type or namespace name `Activities' does not exist in the namespace `OpenRA.Mods.RA.Classic'. Are you missing an assembly reference?                                                                                                                                                                                           
OpenRA.Mods.Cnc/ProductionAirdrop.cs(15,30): error CS0234: The type or namespace name `Air' does not exist in the namespace `OpenRA.Mods.RA.Classic'. Are you missing an assembly reference?
OpenRA.Mods.Cnc/ProductionAirdrop.cs(29,35): error CS0246: The type or namespace name `Production' could not be found. Are you missing a using directive or an assembly reference?
OpenRA.Mods.Cnc/Activities/HarvesterDockSequence.cs(14,30): error CS0234: The type or namespace name `Activities' does not exist in the namespace `OpenRA.Mods.RA.Classic'. Are you missing an assembly reference?                                                                                                                                                                            
OpenRA.Mods.Cnc/Activities/HarvesterDockSequence.cs(15,30): error CS0234: The type or namespace name `Move' does not exist in the namespace `OpenRA.Mods.RA.Classic'. Are you missing an assembly reference?                                                                                                                                                                                  
OpenRA.Mods.Cnc/RenderGunboat.cs(17,35): error CS0246: The type or namespace name `RenderUnitInfo' could not be found. Are you missing a using directive or an assembly reference?
OpenRA.Mods.Cnc/Widgets/Logic/CncMenuLogic.cs(12,30): error CS0234: The type or namespace name `Widgets' does not exist in the namespace `OpenRA.Mods.RA.Classic'. Are you missing an assembly reference?                                                                                                                                                                                     
OpenRA.Mods.Cnc/Widgets/Logic/CncIngameChromeLogic.cs(13,30): error CS0234: The type or namespace name `Orders' does not exist in the namespace `OpenRA.Mods.RA.Classic'. Are you missing an assembly reference?                                                                                                                                                                              
OpenRA.Mods.Cnc/Widgets/Logic/CncIngameChromeLogic.cs(14,30): error CS0234: The type or namespace name `Buildings' does not exist in the namespace `OpenRA.Mods.RA.Classic'. Are you missing an assembly reference?                                                                                                                                                                           
OpenRA.Mods.Cnc/Widgets/Logic/CncSettingsLogic.cs(18,30): error CS0234: The type or namespace name `Widgets' does not exist in the namespace `OpenRA.Mods.RA.Classic'. Are you missing an assembly reference?                                                                                                                                                                                 
OpenRA.Mods.Cnc/Widgets/Logic/ProductionTooltipLogic.cs(15,30): error CS0234: The type or namespace name `Buildings' does not exist in the namespace `OpenRA.Mods.RA.Classic'. Are you missing an assembly reference?                                                                                                                                                                         
OpenRA.Mods.Cnc/Widgets/SupportPowersWidget.cs(38,26): error CS0246: The type or namespace name `SupportPowerManager' could not be found. Are you missing a using directive or an assembly reference?                                                                                                                                                                                         
OpenRA.Mods.Cnc/Widgets/SupportPowersWidget.cs(32,24): error CS0246: The type or namespace name `SupportPowerManager' could not be found. Are you missing a using directive or an assembly reference?                                                                                                                                                                                         
OpenRA.Mods.Cnc/Widgets/SupportPowersWidget.cs(66,32): error CS0246: The type or namespace name `SupportPowerManager' could not be found. Are you missing a using directive or an assembly reference?                                                                                                                                                                                         
OpenRA.Mods.Cnc/Widgets/ProductionPaletteWidget.cs(28,29): error CS0246: The type or namespace name `ProductionItem' could not be found. Are you missing a using directive or an assembly reference?                                                                                                                                                                                          
OpenRA.Mods.Cnc/Widgets/ProductionPaletteWidget.cs(43,17): error CS0246: The type or namespace name `ProductionQueue' could not be found. Are you missing a using directive or an assembly reference?                                                                                                                                                                                         
OpenRA.Mods.Cnc/Widgets/ProductionPaletteWidget.cs(45,24): error CS0246: The type or namespace name `ProductionQueue' could not be found. Are you missing a using directive or an assembly reference?                                                                                                                                                                                         
OpenRA.Mods.Cnc/Widgets/ProductionTabsWidget.cs(25,24): error CS0246: The type or namespace name `ProductionQueue' could not be found. Are you missing a using directive or an assembly reference?                                                                                                                                                                                            
OpenRA.Mods.Cnc/Widgets/ProductionTabsWidget.cs(35,48): error CS0246: The type or namespace name `ProductionQueue' could not be found. Are you missing a using directive or an assembly reference?                                                                                                                                                                                            
OpenRA.Mods.Cnc/Widgets/ProductionTabsWidget.cs(117,24): error CS0246: The type or namespace name `ProductionQueue' could not be found. Are you missing a using directive or an assembly reference?                                                                                                                                                                                           
OpenRA.Mods.Cnc/RenderCargo.cs(29,17): error CS0246: The type or namespace name `Cargo' could not be found. Are you missing a using directive or an assembly reference?
OpenRA.Mods.Cnc/RenderBuildingRefinery.cs(21,40): error CS0115: `OpenRA.Mods.Cnc.RenderBuildingRefineryInfo.Create(OpenRA.ActorInitializer)' is marked as an override but no suitable method found to override                                                                                                                                                                                
OpenRA.Mods.Cnc/RenderBuildingRefinery.cs(30,70): error CS0246: The type or namespace name `RenderBuildingInfo' could not be found. Are you missing a using directive or an assembly reference?
OpenRA.Mods.Cnc/RenderBuildingRefinery.cs(51,38): error CS0115: `OpenRA.Mods.Cnc.RenderBuildingRefinery.DamageStateChanged(OpenRA.Actor, OpenRA.Traits.AttackInfo)' is marked as an override but no suitable method found to override                                                                                                                                                         
OpenRA.Mods.Cnc/TiberiumRefinery.cs(18,40): error CS0115: `OpenRA.Mods.Cnc.TiberiumRefineryInfo.Create(OpenRA.ActorInitializer)' is marked as an override but no suitable method found to override                                                                                                                                                                                            
OpenRA.Mods.Cnc/TiberiumRefinery.cs(26,42): error CS0115: `OpenRA.Mods.Cnc.TiberiumRefinery.DockSequence(OpenRA.Actor, OpenRA.Actor)' is marked as an override but no suitable method found to override                                                                                                                                                                                       
OpenRA.Mods.Cnc/IonCannonPower.cs(18,40): error CS0115: `OpenRA.Mods.Cnc.IonCannonPowerInfo.Create(OpenRA.ActorInitializer)' is marked as an override but no suitable method found to override
OpenRA.Mods.Cnc/IonCannonPower.cs(25,78): error CS0246: The type or namespace name `SupportPowerManager' could not be found. Are you missing a using directive or an assembly reference?
OpenRA.Mods.Cnc/IonCannonPower.cs(31,38): error CS0115: `OpenRA.Mods.Cnc.IonCannonPower.Activate(OpenRA.Actor, OpenRA.Order)' is marked as an override but no suitable method found to override
OpenRA.Mods.Cnc/ProductionAirdrop.cs(26,40): error CS0115: `OpenRA.Mods.Cnc.ProductionAirdropInfo.Create(OpenRA.ActorInitializer)' is marked as an override but no suitable method found to override                                                                                                                                                                                          
OpenRA.Mods.Cnc/ProductionAirdrop.cs(33,38): error CS0115: `OpenRA.Mods.Cnc.ProductionAirdrop.Produce(OpenRA.Actor, OpenRA.ActorInfo)' is marked as an override but no suitable method found to override                                                                                                                                                                                      
OpenRA.Mods.Cnc/Activities/HarvesterDockSequence.cs(26,26): error CS0246: The type or namespace name `Harvester' could not be found. Are you missing a using directive or an assembly reference?                                                                                                                                                                                              
OpenRA.Mods.Cnc/Activities/HarvesterDockSequence.cs(27,26): error CS0246: The type or namespace name `RenderUnit' could not be found. Are you missing a using directive or an assembly reference?                                                                                                                                                                                             
OpenRA.Mods.Cnc/RenderGunboat.cs(19,40): error CS0115: `OpenRA.Mods.RA.Classic.Render.RenderGunboatInfo.Create(OpenRA.ActorInitializer)' is marked as an override but no suitable method found to override                                                                                                                                                                                    
Compilation failed: 48 error(s), 0 warnings
make: *** [mods/cnc/OpenRA.Mods.Cnc.dll]
Attachments
the power bar is broken and the game froze after 45 seconds
the power bar is broken and the game froze after 45 seconds
classicra.jpg (514.51 KiB) Viewed 37239 times

Iran
Posts: 92
Joined: Wed Sep 08, 2010 3:16 pm

Post by Iran »

I haven't worked on this for a while and I'm not sure I will. I've been patching the original Red Alert, making it modular, easy to download, install, configure etc.

User avatar
JOo
Posts: 511
Joined: Wed Jan 25, 2012 8:12 pm

Post by JOo »

maybe my new UI for OpenRa is not interesting enough ... so i will give it free for any project ... maybe youre interested ... i did also the UI - Graphics for mailaenders D2k ...

not finished ... but im working on it

Image

Matt
Posts: 1144
Joined: Tue May 01, 2012 12:21 pm
Location: Germany

Post by Matt »

Okay left-click orders are now part of OpenRA and I also polished Speedup of ClassicProductionQueue at https://github.com/OpenRA/OpenRA/pull/2602 so you can make a ra-classic mod without creating a dead end OpenRA fork.

Generalcamo
Posts: 50
Joined: Sun Sep 26, 2010 12:06 am

Post by Generalcamo »

It would be cool if this was part of the official OpenRA build instead of a complete fork, as that would avoid separating the small community. Also, modders and mappers could use your features in their maps, and you would be a big part of it.

Matt
Posts: 1144
Joined: Tue May 01, 2012 12:21 pm
Location: Germany

Post by Matt »

I made fog of war a yaml setting in https://github.com/OpenRA/OpenRA/pull/2614 Seems to be the last engine change required for people to publish an OpenRA compatible classic mod.

A better AI is also awaiting to be merged in https://github.com/OpenRA/OpenRA/pull/2484 and Dan has converted all the classic maps which can be downloaded at http://www.sleipnirstuff.com/forum/view ... 83&t=16139

Generalcamo
Posts: 50
Joined: Sun Sep 26, 2010 12:06 am

Post by Generalcamo »

One last thing is needed: Strafing. In the original RA, the yak would dump all of its ammo in a line. That will be need here.

psydev
Posts: 84
Joined: Sat Mar 31, 2012 4:49 am

Post by psydev »

Iran wrote: I placed the project on Github!

https://github.com/Iran/ClassicRA/
Is this project on Github for RA only or is it also supposed to enable a CNC Classic mod as well?

Matt
Posts: 1144
Joined: Tue May 01, 2012 12:21 pm
Location: Germany

Post by Matt »

Okay, I started to collect what we have in a way that allows it to be integrated and shipped with OpenRA releases at https://github.com/Mailaender/OpenRA/compare/classic-ra
  • TargetLines removed (the MoveFlash can be re-added later https://github.com/OpenRA/OpenRA/issues/2592)
  • Fog of War removed
  • Game rules from ClassicRA 0.1 merged onto current bleed (now with ChronoTank, Demo Truck, Mechanic)
  • UI reskin by JOo (it has to be visually distinct)
  • speedup for ClassicProductionQueue
  • left-mouse orders
  • hotkey removal (do we really want that)
psydev: I will create a cnc-classic development branch if you contribute the yaml rules.
Attachments
Production bar reskin WIP based on what JOo posted.
Production bar reskin WIP based on what JOo posted.
production-bar-reskin.png (71.16 KiB) Viewed 36914 times
Legacy maps loading fast thanks to https://github.com/OpenRA/OpenRA/pull/2581
Legacy maps loading fast thanks to https://github.com/OpenRA/OpenRA/pull/2581
westwood-maps.png (76.25 KiB) Viewed 36914 times

User avatar
BaronOfStuff
Posts: 438
Joined: Sun May 22, 2011 7:25 pm

Post by BaronOfStuff »

For what it's worth, here's the Soviet equivalent to JOo's work:
Image

Matt
Posts: 1144
Joined: Tue May 01, 2012 12:21 pm
Location: Germany

Post by Matt »

I did the same for https://github.com/Mailaender/OpenRA/co ... nc-classic so psydev and everyone else interested has something to build upon. It includes the maps converted from c&c and covert ops by Dan. The UI is a mash-up of Classic TD interface skin by Harisson and something I dug up in OpenRA's commit history most likely original work by sleipnir. It needs some love, but it is a start.
Attachments
Lobby code with some strange visual artifacts otherwise working.
Lobby code with some strange visual artifacts otherwise working.
cnc-classic-lobby.png (123.68 KiB) Viewed 36873 times
The old splash screen of OpenRA's cnc mod.
The old splash screen of OpenRA's cnc mod.
cnc-classic-splash.png (30.08 KiB) Viewed 36873 times
Maps which are all quite small and definitely designed for weaker computers and low resolution by Westwood.
Maps which are all quite small and definitely designed for weaker computers and low resolution by Westwood.
cnc-classic-maps.png (149.87 KiB) Viewed 36873 times

Post Reply