[MOD] RA Classic - a Red Alert 1 inspired mod
-
- Posts: 2
- Joined: Fri Nov 23, 2012 11:06 am
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.
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.
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.
Problems
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
- classicra.jpg (514.51 KiB) Viewed 54651 times
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.
-
- Posts: 50
- Joined: Sun Sep 26, 2010 12:06 am
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
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
-
- Posts: 50
- Joined: Sun Sep 26, 2010 12:06 am
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)
- Attachments
-
- Production bar reskin WIP based on what JOo posted.
- production-bar-reskin.png (71.16 KiB) Viewed 54326 times
-
- Legacy maps loading fast thanks to https://github.com/OpenRA/OpenRA/pull/2581
- westwood-maps.png (76.25 KiB) Viewed 54326 times
- BaronOfStuff
- Posts: 438
- Joined: Sun May 22, 2011 7:25 pm
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.
- cnc-classic-lobby.png (123.68 KiB) Viewed 54285 times
-
- The old splash screen of OpenRA's cnc mod.
- cnc-classic-splash.png (30.08 KiB) Viewed 54285 times
-
- 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 54285 times