Red Alert: Tiberium Origins MOD

Information and discussion for custom maps and mods.
kaneCVR
Posts: 93
Joined: Tue Dec 10, 2013 9:20 pm

Post by kaneCVR » Tue Apr 08, 2014 3:48 pm

Combed trought mod.yaml, now I get another crash:

Code: Select all

Red Alert: Tiberian Origins Mod at Version Beta 0.1
Operating System: Windows (Microsoft Windows NT 6.1.7601 Service Pack 1)
Runtime Version: .NET CLR 2.0.50727.5472
Exception of type `System.Reflection.TargetInvocationException`: Exception has been thrown by the target of an invocation.
Inner Exception of type `System.InvalidOperationException`: Widget INSTALL_PANEL has no child BACK_BUTTON of type ButtonWidget
     at OpenRA.Widgets.Widget.Get[T](String id)
   at OpenRA.Mods.RA.Widgets.Logic.InstallLogic..ctor(Widget widget, Dictionary`2 installData, Action continueLoading)
   at System.RuntimeMethodHandle._InvokeConstructor(Object[] args, SignatureStruct& signature, IntPtr declaringType)
   at System.RuntimeMethodHandle.InvokeConstructor(Object[] args, SignatureStruct signature, RuntimeTypeHandle declaringType)
   at System.Reflection.RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at OpenRA.ObjectCreator.CreateUsingArgs(ConstructorInfo ctor, Dictionary`2 args)
   at OpenRA.ObjectCreator.CreateObject[T](String className, Dictionary`2 args)
   at OpenRA.Widgets.Widget.PostInit(WidgetArgs args)
   at OpenRA.WidgetLoader.LoadWidget(WidgetArgs args, Widget parent, MiniYamlNode node)
   at OpenRA.WidgetLoader.LoadWidget(WidgetArgs args, Widget parent, String w)
   at OpenRA.Widgets.Ui.OpenWindow(String id, WidgetArgs args)
   at OpenRA.Mods.RA.DefaultLoadScreen.TestAndContinue()
   at OpenRA.Mods.RA.DefaultLoadScreen.StartGame()
   at OpenRA.Game.InitializeWithMod(String mod, String replay)
   at OpenRA.Game.Initialize(Arguments args)
   at OpenRA.Program.Run(String[] args)
   at OpenRA.Program.Main(String[] args)

User avatar
Sleipnir
Posts: 784
Joined: Wed Apr 10, 2002 11:52 pm
Contact:

Post by Sleipnir » Wed Apr 09, 2014 3:26 am

The UI definition yaml (in the chrome directory) has changed a fair bit since the release. You should inherit as many of these files as you can from either RA or C&C to avoid issues like the above.

kaneCVR
Posts: 93
Joined: Tue Dec 10, 2013 9:20 pm

Post by kaneCVR » Wed Apr 09, 2014 11:17 am

This is really frustrating. I don't have the knowledge required to port my mod to the next playtest. I copied over as much of the RA mod as I could, but I now get:

Code: Select all

Red Alert: Tiberian Origins Mod at Version Beta 0.1
Operating System: Windows (Microsoft Windows NT 6.1.7601 Service Pack 1)
Runtime Version: .NET CLR 2.0.50727.5472
Exception of type `System.InvalidOperationException`: Cannot locate type: DesertShellmapScriptInfo
   at OpenRA.ObjectCreator.<MissingTypeAction>m__54&#40;String s&#41;
   at OpenRA.ObjectCreator.CreateObject&#91;T&#93;&#40;String className, Dictionary`2 args&#41;
   at OpenRA.ObjectCreator.CreateObject&#91;T&#93;&#40;String className&#41;
   at OpenRA.Game.CreateObject&#91;T&#93;&#40;String name&#41;
   at OpenRA.ActorInfo.LoadTraitInfo&#40;String traitName, MiniYaml my&#41;
   at OpenRA.ActorInfo..ctor&#40;String name, MiniYaml node, Dictionary`2 allUnits&#41;
   at OpenRA.Rules.<LoadRules>m__30&#40;MiniYamlNode k, Dictionary`2 y&#41;
   at OpenRA.Rules.<LoadYamlRules>c__AnonStorey27`1.<>m__39&#40;MiniYamlNode kv&#41;
   at OpenRA.Exts.ToDictionaryWithConflictLog&#91;TSource,TKey,TElement&#93;&#40;IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, String debugName, Func`2 logKey, Func`2 logValue&#41;
   at OpenRA.Rules.LoadYamlRules&#91;T&#93;&#40;String&#91;&#93; files, List`1 dict, Func`3 f&#41;
   at OpenRA.Rules.LoadRules&#40;Manifest m, Map map&#41;
   at OpenRA.ModData.PrepareMap&#40;String uid&#41;
   at OpenRA.Game.StartGame&#40;String mapUID, Boolean isShellmap&#41;
   at OpenRA.Game.LoadShellMap&#40;&#41;
   at OpenRA.Mods.RA.DefaultLoadScreen.TestAndContinue&#40;&#41;
   at OpenRA.Mods.RA.DefaultLoadScreen.StartGame&#40;&#41;
   at OpenRA.Game.InitializeWithMod&#40;String mod, String replay&#41;
   at OpenRA.Game.Initialize&#40;Arguments args&#41;
   at OpenRA.Program.Run&#40;String&#91;&#93; args&#41;
   at OpenRA.Program.Main&#40;String&#91;&#93; args&#41;
Guess I'll start the whole thing over unless someone more knowledgeable then me has the time to download tiberian origins and adapt it to the latest playtest.

Starting over means any updates will be delayed greatly since I have very little time right now...

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

Post by Matt » Wed Apr 09, 2014 1:52 pm

Have you just copied the maps folder instead of also inheriting it? The shellmap has been ported to Lua, that's why it can't find the old C# DesertShellmapScriptInfo.

User avatar
Sleipnir
Posts: 784
Joined: Wed Apr 10, 2002 11:52 pm
Contact:

Post by Sleipnir » Thu Apr 10, 2014 12:44 am

kaneCVR wrote: This is really frustrating. I don't have the knowledge required to port my mod to the next playtest. I copied over as much of the RA mod as I could, but I now get:
This is why I urged (way back on page one) that you reference the ra mod files directly, instead of copying them into to your mod directory. If you want to upload your current (broken) upgraded version somewhere I can take a look and let you know how to fix the remaining issues, and also how to minimize future issues.

Marv242
Posts: 1
Joined: Thu Aug 14, 2014 12:04 pm

Tiberium origins

Post by Marv242 » Thu Aug 14, 2014 1:09 pm

I don't know what I'm doing wrong but how come Tiberium origins doesn't work for me? it says missing logo on the mod selection but when i click it, it brings me back to the desktop. Also what do i download for it?

talking about B 0.15 and Alpha 073

Unit158
Posts: 20
Joined: Wed Feb 12, 2014 10:05 pm

Re: Tiberium origins

Post by Unit158 » Thu Aug 14, 2014 3:17 pm

Marv242 wrote: I don't know what I'm doing wrong but how come Tiberium origins doesn't work for me? it says missing logo on the mod selection but when i click it, it brings me back to the desktop. Also what do i download for it?

talking about B 0.15 and Alpha 073
The mod has not been updated for the newest release, meaning that it won't run. Sorry :\

kaneCVR
Posts: 93
Joined: Tue Dec 10, 2013 9:20 pm

Post by kaneCVR » Sun Nov 16, 2014 4:25 pm

Ok, so after a long absence, I've managed to get some free time so I can work on this mod again. Lots of things have changed since my last release, and I'm working on updating my mod to the latest release - starting from scratch.

The only problem I'm facing is the new "tech level" that's been implemented. The Owner= argument has been removed, and I can't seem to be able to attribute structures to two sides only like before.

As a workaround, I've created unique units (with the same image/sequences) for all four sides, to prevent GDI from builting Allied RA power plants and allies from building the RA power plants -you get the ideea.

Is there an easyer way of restricting witch sides can build what? So far, I've had to split the power plant buildings into APOWR (allies) SPOWR (soviet), GNUKE (GDI) and NNUKE (nod). Otherwhise, they are buildable by all factions.

umairazfar
Posts: 92
Joined: Mon Sep 08, 2014 1:01 pm

Post by umairazfar » Sun Nov 16, 2014 5:33 pm

Have a look at my crossfire mod for OpenRA

http://www.moddb.com/mods/openra-crossfire

In it there is WEAP and HAVYWEAP alloted to different factions and they have different SHPs as well. That might help you in getting things done

kaneCVR
Posts: 93
Joined: Tue Dec 10, 2013 9:20 pm

Post by kaneCVR » Sun Nov 16, 2014 8:37 pm

Problem is, I need to assign a structure to two out of four factions. Assigning it to one or all four factions is easy. To make it GDI exclussive,, I can add:

Code: Select all

Prerequisites&#58; ~structures.gdi, ~techlevel.info
To make it available to all factions, I can use

Code: Select all

Prerequisites&#58; ~techlevel.unrestricted
But to have it available to GDI and NOD only, I can't use the ~structures trait, and the Owner trait is no longer working - so I have to make four structures for each faction witch is really inefficient and time consuming. Why did the OpenRA devs remove the "Owner" trait? The current system only complicates things.

If anyone has an idea, please drop it here.

abcdefg30
Posts: 358
Joined: Mon Aug 18, 2014 6:00 pm

Post by abcdefg30 » Sun Nov 16, 2014 8:58 pm

If I understood your problem correctly:
You could try e.g.

Code: Select all

Prerequisites&#58; ~structures.gdinod
and let gdi and nod fact define this prereq.

kaneCVR
Posts: 93
Joined: Tue Dec 10, 2013 9:20 pm

Post by kaneCVR » Sun Nov 16, 2014 9:54 pm

yeah, I did come up with the ~structures.cnc and ~structures.ra toggles to include buildings belonging to the RA and CnC factions, but ultimately I decided to include a ~gfac toggle in the perquisites trait - so the building is hidden to all factions except those who have the GFAC construction yard. It's less coding this way.

Code: Select all

HQ&#58;
	Inherits&#58; ^Building
	Buildable&#58;
		Queue&#58; Building
		BuildPaletteOrder&#58; 90
		Prerequisites&#58; ~gfac, proc, ~techlevel.medium
and for the Red Alert factions:

Code: Select all

DOME&#58;
	Inherits&#58; ^Building
	Buildable&#58;
		Queue&#58; Building
		BuildPaletteOrder&#58; 90
		Prerequisites&#58; ~fact, proc, ~techlevel.medium
I did find something very bothersome in the weapons.yaml file... weapon range now seems to be coded in what I think is a HEX value...

Code: Select all

120mmx&#58;
	ReloadDelay&#58; 70
	Range&#58; 4c768
this game is getting harder and harder to mod... Plese, for f*cks sake, stop making things more complicated then they need to be... the "Owner:" trait was fine, there was no need to remove it and replace it with the complicated build classes. Also, when I read that the devs implemented techlevel, I was expecting a new trait like "Techlevel: 1" like the old rules.ini from red alert, not the brain cruncher we have now...

I have no ideea what to do with Range: 4c768 ... I have very basic programming knowledge at best.

/// end rant

back to topic - I tought of replacing this:

Code: Select all

GFAC&#58;
	Inherits&#58; ^Building
	Building&#58;
		Footprint&#58; xxx xxx xxx
		Dimensions&#58; 3,3
	Buildable&#58;
		Queue&#58; Building
		BuildPaletteOrder&#58; 1000
		Prerequisites&#58; ~disabled
	ProvidesCustomPrerequisite@gdi&#58;
		Race&#58; gdi
		Prerequisite&#58; structures.gdi
	ProvidesCustomPrerequisite@nod&#58;
		Race&#58; nod
		Prerequisite&#58; structures.nod
With this:

Code: Select all

GFAC&#58;
	Inherits&#58; ^Building
	Building&#58;
		Footprint&#58; xxx xxx xxx
		Dimensions&#58; 3,3
	Buildable&#58;
		Queue&#58; Building
		BuildPaletteOrder&#58; 1000
		Prerequisites&#58; ~disabled
	ProvidesCustomPrerequisite@gdi&#58;
		Race&#58; gdi
		Prerequisite&#58; structures.cnc
	ProvidesCustomPrerequisite@nod&#58;
		Race&#58; nod
		Prerequisite&#58; structures.cnc

------------------------------------------------

NUKE&#58;
	Inherits&#58; ^Building
	Buildable&#58;
		Queue&#58; Building
		BuildPaletteOrder&#58; 10
		Prerequisites&#58; structures.cnc, ~techlevel.infonly
I guess that would work...

User avatar
Sleipnir
Posts: 784
Joined: Wed Apr 10, 2002 11:52 pm
Contact:

Post by Sleipnir » Mon Nov 17, 2014 4:33 am

The 4c768 notation has been pretty standard in OpenRA for a while now, and we are slowly converting the remaining range and speed values to use this system. This is shorthand for "4 cells and 768 / 1024 fractional cells", i.e. 4.75 cells.

The Owner &rarr; prerequisite change was made in order fix capturable technology. The tech levels came as a useful side effect of these changes.

kaneCVR
Posts: 93
Joined: Tue Dec 10, 2013 9:20 pm

Post by kaneCVR » Mon Nov 17, 2014 1:39 pm

Sleipnir wrote: The 4c768 notation has been pretty standard in OpenRA for a while now, and we are slowly converting the remaining range and speed values to use this system. This is shorthand for "4 cells and 768 / 1024 fractional cells", i.e. 4.75 cells.

The Owner &rarr; prerequisite change was made in order fix capturable technology. The tech levels came as a useful side effect of these changes.
I see, the range thing makes sense now.

Still wish the devs kept the owner trait in place for easier modding.

kaneCVR
Posts: 93
Joined: Tue Dec 10, 2013 9:20 pm

Post by kaneCVR » Sat Nov 22, 2014 6:43 pm

Need help with this one guys.... been tracking back the changes made, and can't figure out why the game keeps trowing this error: - Never mind - it turns out I had a duplicate entry in one of the rules files.

Code: Select all

Tiberian Origins Mod at Version Beta 0.2
Operating System&#58; Windows &#40;Microsoft Windows NT 6.1.7601 Service Pack 1&#41;
Runtime Version&#58; .NET CLR 4.0.30319.18408
Exception of type `System.ArgumentException`&#58; An item with the same key has already been added.
   at System.ThrowHelper.ThrowArgumentException&#40;ExceptionResource resource&#41;
   at System.Collections.Generic.Dictionary`2.Insert&#40;TKey key, TValue value, Boolean add&#41;
   at System.Linq.Enumerable.ToDictionary&#91;TSource,TKey,TElement&#93;&#40;IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer&#41;
   at OpenRA.RulesetCache.LoadYamlRules&#91;T&#93;&#40;Dictionary`2 itemCache, String&#91;&#93; files, List`1 nodes, Func`3 f&#41;
   at OpenRA.RulesetCache.LoadMapRules&#40;Map map&#41;
   at OpenRA.RulesetCache.LoadDefaultRules&#40;&#41;
   at OpenRA.ModData.<ModData>m__1&#40;&#41;
   at System.Lazy`1.CreateValue&#40;&#41;
   at System.Lazy`1.LazyInitValue&#40;&#41;
   at System.Lazy`1.get_Value&#40;&#41;
   at OpenRA.ModData.get_DefaultRules&#40;&#41;
   at OpenRA.Map.<PostInit>m__3&#40;&#41;
   at System.Lazy`1.CreateValue&#40;&#41;
   at System.Lazy`1.LazyInitValue&#40;&#41;
   at System.Lazy`1.get_Value&#40;&#41;
   at OpenRA.Map.PreloadRules&#40;&#41;
   at OpenRA.ModData.PrepareMap&#40;String uid&#41;
   at OpenRA.Game.StartGame&#40;String mapUID, Boolean isShellmap&#41;
   at OpenRA.Game.LoadShellMap&#40;&#41;
   at OpenRA.Game.TestAndContinue&#40;&#41;
   at OpenRA.Mods.RA.DefaultLoadScreen.StartGame&#40;&#41;
   at OpenRA.Game.InitializeMod&#40;String mod, Arguments args&#41;
   at OpenRA.Game.Initialize&#40;Arguments args&#41;
   at OpenRA.Program.Run&#40;String&#91;&#93; args&#41;
   at OpenRA.Program.Main&#40;String&#91;&#93; args&#41;
I will be releasing the mod for the current openRA version tomorow.

:)
Last edited by kaneCVR on Sat Nov 22, 2014 7:11 pm, edited 2 times in total.

Post Reply