Page 8 of 13

Posted: Tue Apr 08, 2014 3:48 pm
by kaneCVR
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)

Posted: Wed Apr 09, 2014 3:26 am
by Sleipnir
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.

Posted: Wed Apr 09, 2014 11:17 am
by kaneCVR
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...

Posted: Wed Apr 09, 2014 1:52 pm
by Matt
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.

Posted: Thu Apr 10, 2014 12:44 am
by Sleipnir
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.

Tiberium origins

Posted: Thu Aug 14, 2014 1:09 pm
by Marv242
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

Re: Tiberium origins

Posted: Thu Aug 14, 2014 3:17 pm
by Unit158
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 :\

Posted: Sun Nov 16, 2014 4:25 pm
by kaneCVR
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.

Posted: Sun Nov 16, 2014 5:33 pm
by umairazfar
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

Posted: Sun Nov 16, 2014 8:37 pm
by kaneCVR
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.

Posted: Sun Nov 16, 2014 8:58 pm
by abcdefg30
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.

Posted: Sun Nov 16, 2014 9:54 pm
by kaneCVR
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...

Posted: Mon Nov 17, 2014 4:33 am
by Sleipnir
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.

Posted: Mon Nov 17, 2014 1:39 pm
by kaneCVR
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.

Posted: Sat Nov 22, 2014 6:43 pm
by kaneCVR
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.

:)