drogoganor / opendr Goto Github PK
View Code? Open in Web Editor NEWA work-in-progress recreation of the Auran RTS classic for the OpenRA strategy game engine.
License: GNU General Public License v3.0
A work-in-progress recreation of the Auran RTS classic for the OpenRA strategy game engine.
License: GNU General Public License v3.0
Hi,
Commit 266 (920b476) crashes early on during a game with the error:
OpenRA engine version e08b75c
Dark Reign mod version 266
on map 94781f4826ddd725e727ac235c4c04c118b1c89b (6chibe by Dark Reign).
Date: 2019-01-29 14:33:10Z
Operating System: Linux (Unix 4.19.16.0)
Runtime Version: Mono 5.16.0.220 (tarball Sun Jan 6 14:59:55 UTC 2019) CLR 4.0.30319.42000
Exception of type `System.NullReferenceException`: Object reference not set to an instance of an object
at OpenRA.Mods.Common.Widgets.Logic.ProductionTooltipLogic+<ProductionTooltipLogic>c__AnonStorey0.<>m__2 () [0x003e0] in /build/source/engine/OpenRA.Mods.Common/Widgets/Logic/Ingame/ProductionTooltipLogic.cs:121
at OpenRA.Mods.Common.Widgets.TooltipContainerWidget.Draw () [0x00007] in /build/source/engine/OpenRA.Mods.Common/Widgets/TooltipContainerWidget.cs:47
at OpenRA.Widgets.Widget.DrawOuter () [0x00011] in <015bb1c82744483481903b49e9433449>:0
at OpenRA.Widgets.Widget.DrawOuter () [0x0002f] in <015bb1c82744483481903b49e9433449>:0
at OpenRA.Widgets.Widget.DrawOuter () [0x0002f] in <015bb1c82744483481903b49e9433449>:0
at OpenRA.Widgets.Ui.Draw () [0x00001] in <015bb1c82744483481903b49e9433449>:0
at OpenRA.Game.RenderTick () [0x000bf] in <015bb1c82744483481903b49e9433449>:0
at OpenRA.Game.Loop () [0x00143] in <015bb1c82744483481903b49e9433449>:0
at OpenRA.Game.Run () [0x00044] in <015bb1c82744483481903b49e9433449>:0
at OpenRA.Game.InitializeAndRun (System.String[] args) [0x00013] in <015bb1c82744483481903b49e9433449>:0
at OpenRA.Program.Main (System.String[] args) [0x0004e] in <015bb1c82744483481903b49e9433449>:0
my full logs and replay are here: openra-dr-266-runtime-crash.zip.
Thanks for your time,
Brenton
DR uses Bink video. The format was reverse-engineered by the FFmpeg project and Bink decoding is supported by the open-source libavcodec library.
This could be wrapped, if the license permits.
A nice to have in the long term.
Building in the original had you pick a building from the build palette, place it, and having the rig move to the site and begin building. Much like Starcraft or Warcraft.
This let the player build several buildings in parallel.
OpenRA doesn't really support this yet. But, IceReaper has worked on parallel queues before: OpenRA/OpenRA#14201
This was not completed due to lack of time. But, both IceReaper and I both need this feature, him for his KKND mod.
Apparently the mod Medieval Warfare has this implemented, but I haven't looked at it yet.
This is probably the most important feature currently for DR.
The default build-time animation included with the example mod shows in all black. This shows as ugly black boxes in the build palette.
Hi,
I decided to try out this fine project's AppImage, which I made by running:
make
cd packaging/linux
./buildpackage.sh $(git rev-list --count --branches master) .
in this repo, at commit 365732e, then launching the resulting AppImage, DarkReign-185.AppImage. The content installer ran fine, but then immediately after it crashed with the error:
ura-v0.25 Alpha: Red Alert: Unplugged (v0.25 Alpha)
dr-185: Dark Reign (185)
Loading mod: dr
Loading mod: modcontent
Loading mod: dr
Exception of type `System.ArgumentException`: Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection.
at System.ThrowHelper.ThrowArgumentException (System.ExceptionResource resource) [0x00000] in /home/abuild/rpmbuild/BUILD/mono-5.10.1.47/mcs/class/referencesource/mscorlib/system/throwhelper.cs:75
at System.Collections.Generic.List`1[T].Reverse (System.Int32 index, System.Int32 count) [0x00023] in <be6fee20a4cf451a8bc9b85c19fe2133>:0
at OpenRA.Mods.Dr.SpriteLoaders.DrCrsLoader.ParseFrames (System.IO.Stream s) [0x001d7] in /data/GitHub/others/DarkReign/OpenRA.Mods.Dr/SpriteLoaders/DrCrsLoader.cs:149
at OpenRA.Mods.Dr.SpriteLoaders.DrCrsLoader.TryParseSprite (System.IO.Stream s, OpenRA.Graphics.ISpriteFrame[]& frames) [0x00017] in /data/GitHub/others/DarkReign/OpenRA.Mods.Dr/SpriteLoaders/DrCrsLoader.cs:162
at OpenRA.Graphics.FrameLoader.GetFrames (System.IO.Stream stream, OpenRA.Graphics.ISpriteLoader[] loaders) [0x0000c] in <f74d2f656c914791b58c38a3626e654c>:0
at OpenRA.Graphics.FrameLoader.GetFrames (OpenRA.FileSystem.IReadOnlyFileSystem fileSystem, System.String filename, OpenRA.Graphics.ISpriteLoader[] loaders) [0x0000a] in <f74d2f656c914791b58c38a3626e654c>:0
at OpenRA.Graphics.FrameCache+<>c__DisplayClass1_0.<.ctor>b__0 (System.String filename) [0x00000] in <f74d2f656c914791b58c38a3626e654c>:0
at OpenRA.Exts.GetOrAdd[K,V] (System.Collections.Generic.Dictionary`2[TKey,TValue] d, K k, System.Func`2[T,TResult] createFn) [0x00011] in <f74d2f656c914791b58c38a3626e654c>:0
at OpenRA.Primitives.Cache`2[T,U].get_Item (T key) [0x00001] in <f74d2f656c914791b58c38a3626e654c>:0
at OpenRA.Graphics.FrameCache.get_Item (System.String filename) [0x00001] in <f74d2f656c914791b58c38a3626e654c>:0
at OpenRA.Graphics.CursorSequence..ctor (OpenRA.Graphics.FrameCache cache, System.String name, System.String cursorSrc, System.String palette, OpenRA.MiniYaml info) [0x00111] in <f74d2f656c914791b58c38a3626e654c>:0
at OpenRA.Graphics.CursorProvider..ctor (OpenRA.ModData modData) [0x00225] in <f74d2f656c914791b58c38a3626e654c>:0
at OpenRA.ModData.InitializeLoaders (OpenRA.FileSystem.IReadOnlyFileSystem fileSystem) [0x00021] in <f74d2f656c914791b58c38a3626e654c>:0
at OpenRA.Game.InitializeMod (System.String mod, OpenRA.Arguments args) [0x00227] in <f74d2f656c914791b58c38a3626e654c>:0
at OpenRA.Mods.Common.LoadScreens.ModContentLoadScreen+<>c__DisplayClass4_0.<StartGame>b__1 () [0x00000] in /data/GitHub/others/DarkReign/engine/OpenRA.Mods.Common/LoadScreens/ModContentLoadScreen.cs:66
at OpenRA.Primitives.ActionQueue.PerformActions (System.Int64 currentTime) [0x00080] in <f74d2f656c914791b58c38a3626e654c>:0
at OpenRA.Game.LogicTick () [0x0000d] in <f74d2f656c914791b58c38a3626e654c>:0
at OpenRA.Game.Loop () [0x000d9] in <f74d2f656c914791b58c38a3626e654c>:0
at OpenRA.Game.Run () [0x00044] in <f74d2f656c914791b58c38a3626e654c>:0
at OpenRA.Game.InitializeAndRun (System.String[] args) [0x00013] in <f74d2f656c914791b58c38a3626e654c>:0
at OpenRA.Program.Main (System.String[] args) [0x0004e] in <f74d2f656c914791b58c38a3626e654c>:0
AL lib: FreeContext: (0x5588bd575520) Deleting 32 Source(s)
My OS is openSUSE Tumbleweed 20180926 (x86-64), with kernel 4.18.8-1-default, Lua 5.1.5 and Mono 5.10.1.47. Here are my logs:
Here's the AppImage: https://drive.google.com/open?id=15k0qxR_VVT2EY4oACzOUu4nhdp9fRkNI.
Thanks for your time,
Brenton
Buildings that can be upgraded do not have their sprites changed to the upgraded sequence.
A recent update requires healing to be contingent on a condition. I've done the following to support this:
^Humanoid:
GrantConditionOnDamageState@DAMAGED:
Condition: damaged
ValidDamageStates: Light, Medium, Heavy, Critical
Targetable@HEAL:
RequiresCondition: damaged
TargetTypes: Heal
And weapon:
Heal:
ReloadDelay: 135
Range: 2c512
Report: gxheaoc0.wav
ValidTargets: Infantry
Projectile: Bullet
Speed: 1c682
Warhead@1Dam: SpreadDamage
Spread: 256
Damage: -85
ValidStances: Ally
ValidTargets: Infantry
DebugOverlayColor: 00FF00
Repair:
Inherits: Heal
ReloadDelay: 150
Report: gxrepoc0.wav
ValidTargets: Repair
Warhead@1Dam: SpreadDamage
Damage: -85
ValidTargets: Repair
But medics and mechanics continuously repair/heal at full health. I must be missing something.
The Scout and Sniper can disguise themselves as trees, but moving will remove the disguise.
I've tried to achieve this with these yaml settings on the actor:
Disguise:
DisguisedCondition: disguise
ValidStances: Neutral
TargetTypes: Trees
RevealDisguiseOn: Move
-WithInfantryBody:
WithDisguisingInfantryBody:
MoveSequence: idle
DefaultAttackSequence: idle
IdleSequences: idle
StandSequences: stand
And the actor can disguise as a tree. However, movement should break the disguise, but it doesn't. The unit remains as a tree:
Hi,
At the end of a game subject to #20 the game crashed on me. The logs are in (the latest of these exceptions is the exception log for this) logs.zip. My OS is x86-64 Fedora 28, with the i3 window manager as my UI. mono --version
returns:
Mono JIT compiler version 5.16.0.187 (tarball Mon Oct 8 08:52:21 UTC 2018)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
TLS: __thread
SIGSEGV: altstack
Notifications: epoll
Architecture: amd64
Disabled: none
Misc: softdebug
Interpreter: yes
LLVM: yes(3.6.0svn-mono-/)
GC: sgen (concurrent by default)
On this platform OpenRA Red Alert 20180923 runs fine (both the AppImage and it installed via my package manager), in case you're wondering whether my version of Mono or Lua is to blame.
Thanks for your time,
Brenton
Dark Reign had a great system for creating smooth transitions between terrain tile types. It was explained in the very detailed Tactics Engine manual included with the game. Here is the relevant section:
And here's the end result:
The gist of it is that there are 4 values stored for each tile; one for each corner. In the level editor, the tile paint brush is offset by half a tile size, so the user is painting at the corner of 4 tiles instead of the middle of one tile.
The terrain engine then devises edge and corner masks (greyscale images) which are used to blend between the two different tile types. The end result looks really natural.
OpenRA currently only supports one value per tile, but apparently we might be able to add a field defining a custom tile data chunk size(? Unsure of terminology).
Currently DR looks very blocky without this tile blending:
This missing feature has elicited a few inquiries recently, so I thought I should write it up.
DR shadow images are separate .spr files from the unit, building, or decoration .spr files. Currently we can manually add them together like so for decorations:
Sequence:
aoclf000.spr:
Defaults:
AddExtension: False
idle:
Start: 0
Length: 1
shadow: aoclf0sh.spr
Start: 0
Length: 1
Offset: 13, 12
Rule:
aoclf000.spr:
Inherits: ^DrRock
Building:
Footprint: __ x_
Dimensions: 2,2
HitShape@LAYER1:
Type: Rectangle
TopLeft: -512, -512
BottomRight: 512, 512
WithIdleOverlay@LAYER1:
Palette: shadow
Sequence: shadow
But I'm not sure how we're going to handle units which have direction and animation. There is also a ton of work involved in devising the Offset of the shadow for all the units, buildings and decorations.
Just wondering how to support the project with more maps.
How did you generate those maps? Are they "made" manually or did you use some sort of tool to convert original Dark Reign scenarios to your mod?
Maybe i can write some conversion tool. Could you give me some information on that?
Would be nice to have.
A CashTricker trait conditioned to rely on the AI condition on the Player actor should be able to do the job.
Has this project been abandoned? It's been a year since the last commit..
In DR, freighters can harvest taelon and return it to a power generator, or harvest water and return it to a water launch pad.
But currently in the mod, both the power generator and water launch pad are marked as refineries, and freighters can return any resource type to any building.
There is currently no ability to phase units. Key issue for alpha.
An exception is thrown in ProductionTooltipLogic at line 121. tooltipIcon.ProductionQueue is null.
DR has a BuildSelectPaletteWidget and accompanying logic for picking buildings and placing them on the map. This logic doesn't populate the ProductionIcon's ProductionQueue. This is because the ProductionQueue is on the self-constructing building itself, which hasn't been created yet.
System.NullReferenceException
HResult=0x80004003
Message=Object reference not set to an instance of an object.
Source=OpenRA.Mods.Common
StackTrace:
at OpenRA.Mods.Common.Widgets.Logic.ProductionTooltipLogic.<>c__DisplayClassd.<.ctor>b__2() in d:\Development\DarkReign\engine\OpenRA.Mods.Common\Widgets\Logic\Ingame\ProductionTooltipLogic.cs:line 121
at OpenRA.Mods.Common.Widgets.TooltipContainerWidget.Draw() in d:\Development\DarkReign\engine\OpenRA.Mods.Common\Widgets\TooltipContainerWidget.cs:line 47
at OpenRA.Widgets.Widget.DrawOuter() in D:\Development\DarkReign\engine\OpenRA.Game\Widgets\Widget.cs:line 457
at OpenRA.Widgets.Widget.DrawOuter() in D:\Development\DarkReign\engine\OpenRA.Game\Widgets\Widget.cs:line 459
at OpenRA.Widgets.Widget.DrawOuter() in D:\Development\DarkReign\engine\OpenRA.Game\Widgets\Widget.cs:line 459
at OpenRA.Widgets.Ui.Draw() in D:\Development\DarkReign\engine\OpenRA.Game\Widgets\Widget.cs:line 92
at OpenRA.Game.RenderTick() in D:\Development\DarkReign\engine\OpenRA.Game\Game.cs:line 672
at OpenRA.Game.Loop() in D:\Development\DarkReign\engine\OpenRA.Game\Game.cs:line 792
at OpenRA.Game.Run() in D:\Development\DarkReign\engine\OpenRA.Game\Game.cs:line 810
at OpenRA.Game.InitializeAndRun(String[] args) in D:\Development\DarkReign\engine\OpenRA.Game\Game.cs:line 256
at OpenRA.Program.Main(String[] args) in D:\Development\DarkReign\engine\OpenRA.Game\Support\Program.cs:line 31
The artillery shells only have one explosion sprite eofarex0/eoiarex0, but it has additional explosion effects as defined in Animate.txt:
;HellStorm Artillery
DefineExplosionType(eofarex0_explosion)
{
PlayAnimation(0 1 0 eofarex1_animation opaque)
PlayAnimation(0 1 0 eofarex0_animation translucentB1)
PlayAnimation(0 3 3 lite2_animation light)
}
;Scarab
DefineExplosionType(eoiarex0_explosion)
{
PlayAnimation(0 3 3 eoiarex0_animation opaque)
PlayAnimation(0 3 3 eoiarex1_animation opaque)
PlayAnimation(15 3 3 eoiarex2_animation opaque)
}
title^
For some reason I can't work out how to define a sprite sequence just using the filename, e.g. "ufsabmn0", without ".spr".
In the original, the Infiltrator can infiltrate the HQ, Training Facility or Assembly Plant, and select a unit/building plan to steal. Once escaped, he must be returned to the player's HQ for the player to be able to build the unit/building.
Currently he can be disguised and enter enemy buildings, but nothing happens.
Hi,
On Fedora 28 I just built DarkReign commit 237 (c2f0c2d) and on start up the AppImage crashes, with the error message:
Loading mod: dr
Exception of type `System.IO.FileNotFoundException`: Assembly `dr|OpenRA.Mods.Dr.dll` not found.
at OpenRA.ObjectCreator..ctor (OpenRA.Manifest manifest, OpenRA.InstalledMods mods) [0x0008d] in <8385b49bf51c4a288ea744058c0fa77b>:0
at OpenRA.ModData..ctor (OpenRA.Manifest mod, OpenRA.InstalledMods mods, System.Boolean useLoadScreen) [0x0002a] in <8385b49bf51c4a288ea744058c0fa77b>:0
at OpenRA.Game.InitializeMod (System.String mod, OpenRA.Arguments args) [0x00167] in <8385b49bf51c4a288ea744058c0fa77b>:0
at OpenRA.Game.Initialize (OpenRA.Arguments args) [0x004c8] in <8385b49bf51c4a288ea744058c0fa77b>:0
at OpenRA.Game.InitializeAndRun (System.String[] args) [0x00007] in <8385b49bf51c4a288ea744058c0fa77b>:0
at OpenRA.Program.Main (System.String[] args) [0x0004f] in <8385b49bf51c4a288ea744058c0fa77b>:0
AL lib: FreeContext: (0x5581ae97f3c0) Deleting 32 Source(s)
the full exception log can be viewed at https://gist.github.com/7976e8034d2734b6ba6a4bf3ad58302e. All the other logs (e.g. perf.log) are empty.
EDIT: What is surprising is that mods/dr/OpenRA.mods.Dr.dll does, in fact, exist in the cloned git repo.
My procedure for building this AppImage was running:
make clean
make
cd packaging/linux
./buildpackage.sh $(git rev-list --branches master --count) $HOME/Applications
Thanks for your time,
Brenton
I think this is a different Issue than #31 but might be related(?)
Exception log:
OpenRA engine version playtest-20190106
Dark Reign mod version playtest-20190206
on map dfcded52913e5433fc3415962359a2255f75d778 (D-Missions: F. Guard 01 by DMW).
Date: 2019-02-08 00:31:04Z
Operating System: Linux (Unix 4.20.5.200)
Runtime Version: Mono 4.8.0 (Stable 4.8.0.520/8f6d0f6 Wed Sep 20 21:27:10 UTC 2017) CLR 4.0.30319.42000
Exception of type `System.NullReferenceException`: Object reference not set to an instance of an object
at OpenRA.Actor.get_CenterPosition () [0x00007] in <e048e680f3a847fbb277180ecfcbc567>:0
at OpenRA.Graphics.Viewport.<Center>m__0 (OpenRA.Actor a) [0x00000] in <e048e680f3a847fbb277180ecfcbc567>:0
at (wrapper delegate-invoke) System.Func`2[OpenRA.Actor,OpenRA.WPos]:invoke_TResult_T (OpenRA.Actor)
at System.Linq.Enumerable+WhereSelectEnumerableIterator`2[TSource,TResult].MoveNext () [0x00064] in /builddir/build/BUILD/mono-4.8.0/mcs/class/referencesource/System.Core/System/Linq/Enumerable.cs:285
at System.Linq.Enumerable.Count[TSource] (System.Collections.Generic.IEnumerable`1[T] source) [0x0004b] in /builddir/build/BUILD/mono-4.8.0/mcs/class/referencesource/System.Core/System/Linq/Enumerable.cs:1226
at OpenRA.IEnumerableExtensions.Average (System.Collections.Generic.IEnumerable`1[T] source) [0x00001] in <e048e680f3a847fbb277180ecfcbc567>:0
at OpenRA.Graphics.Viewport.Center (System.Collections.Generic.IEnumerable`1[T] actors) [0x00035] in <e048e680f3a847fbb277180ecfcbc567>:0
at OpenRA.Mods.Common.Widgets.Logic.Ingame.CycleProductionActorsHotkeyLogic.OnHotkeyActivated (OpenRA.KeyInput e) [0x00108] in /home/travis/build/drogoganor/DarkReign/engine/OpenRA.Mods.Common/Widgets/Logic/Ingame/Hotkeys/CycleProductionActorsHotkeyLogic.cs:67
at OpenRA.Mods.Common.Widgets.Logic.SingleHotkeyBaseLogic+<SingleHotkeyBaseLogic>c__AnonStorey0.<>m__0 (OpenRA.KeyInput e) [0x00025] in /home/travis/build/drogoganor/DarkReign/engine/OpenRA.Mods.Common/Widgets/Logic/SingleHotkeyBaseLogic.cs:32
at OpenRA.Mods.Common.Widgets.LogicKeyListenerWidget.HandleKeyPress (OpenRA.KeyInput e) [0x0001d] in /home/travis/build/drogoganor/DarkReign/engine/OpenRA.Mods.Common/Widgets/LogicKeyListenerWidget.cs:25
at OpenRA.Widgets.Widget.HandleKeyPressOuter (OpenRA.KeyInput e) [0x0006b] in <e048e680f3a847fbb277180ecfcbc567>:0
at OpenRA.Widgets.Widget.HandleKeyPressOuter (OpenRA.KeyInput e) [0x0003b] in <e048e680f3a847fbb277180ecfcbc567>:0
at OpenRA.Widgets.Widget.HandleKeyPressOuter (OpenRA.KeyInput e) [0x0003b] in <e048e680f3a847fbb277180ecfcbc567>:0
at OpenRA.Widgets.Ui.HandleKeyPress (OpenRA.KeyInput e) [0x0001c] in <e048e680f3a847fbb277180ecfcbc567>:0
at OpenRA.DefaultInputHandler+<OnKeyInput>c__AnonStorey0.<>m__0 () [0x00000] in <e048e680f3a847fbb277180ecfcbc567>:0
at OpenRA.Sync.RunUnsynced[T] (System.Boolean checkSyncHash, OpenRA.World world, System.Func`1[TResult] fn) [0x00033] in <e048e680f3a847fbb277180ecfcbc567>:0
at OpenRA.DefaultInputHandler.OnKeyInput (OpenRA.KeyInput input) [0x0000e] in <e048e680f3a847fbb277180ecfcbc567>:0
at OpenRA.Platforms.Default.Sdl2Input.PumpInput (OpenRA.Platforms.Default.Sdl2PlatformWindow device, OpenRA.IInputHandler inputHandler) [0x003b9] in <c655ac44daf046df86ec917481879627>:0
at OpenRA.Platforms.Default.Sdl2PlatformWindow.PumpInput (OpenRA.IInputHandler inputHandler) [0x00007] in <c655ac44daf046df86ec917481879627>:0
at OpenRA.Renderer.EndFrame (OpenRA.IInputHandler inputHandler) [0x0000d] in <e048e680f3a847fbb277180ecfcbc567>:0
at OpenRA.Game.RenderTick () [0x00142] in <e048e680f3a847fbb277180ecfcbc567>:0
at OpenRA.Game.Loop () [0x00142] in <e048e680f3a847fbb277180ecfcbc567>:0
at OpenRA.Game.Run () [0x00042] in <e048e680f3a847fbb277180ecfcbc567>:0
at OpenRA.Game.InitializeAndRun (System.String[] args) [0x00011] in <e048e680f3a847fbb277180ecfcbc567>:0
at OpenRA.Program.Main (System.String[] args) [0x0004f] in <e048e680f3a847fbb277180ecfcbc567>:0
System.NotSupportedException: Предпринята попытка загрузить сборку из сетевого ресурса, что в предыдущих версиях .NET Framework могло привести к помещению сборки в "песочницу". Этот выпуск .NET Framework не включает политику CAS по умолчанию, поэтому данная загрузка может быть опасной. Если эта нагрузка не предназначена для изоляции сборки, включите переключатель loadFromRemoteSources. Дополнительные сведения см. на странице http://go.microsoft.com/fwlink/?LinkId=155569.
в System.Reflection.RuntimeAssembly.nLoadFile(String path, Evidence evidence)
в System.Reflection.Assembly.LoadFile(String path)
в OpenRA.Game.Initialize(Arguments args)
System.NotSupportedException: Предпринята попытка загрузить сборку из сетевого ресурса, что в предыдущих версиях .NET Framework могло привести к помещению сборки в "песочницу". Этот выпуск .NET Framework не включает политику CAS по умолчанию, поэтому данная загрузка может быть опасной. Если эта нагрузка не предназначена для изоляции сборки, включите переключатель loadFromRemoteSources. Дополнительные сведения см. на странице http://go.microsoft.com/fwlink/?LinkId=155569.
в System.Reflection.RuntimeAssembly.nLoadFile(String path, Evidence evidence)
в System.Reflection.Assembly.LoadFile(String path)
в OpenRA.Game.Initialize(Arguments args)
When I run the command:
./launch-game.sh
after building this mod with make
, I receive the error:
Required engine files not found.
Run `make` in the mod directory to fetch and build the required files, then try again.
(Platform is Arch Linux).
At least part of the issue is that building this mod no longer creates an OpenRA.exe file, instead an OpenRA.dll file is generated in engine/bin. But I have found that modifying the launch-game.sh file so that it uses OpenRA.dll instead of OpenRA.exe does not fix this error.
Generic unit types like the construction rig or the freighter use the freedom guard voice by default. I'm not sure how to have a faction-specific voice.
Water contaminator does not work.
Hi,
Commit 104 build absolutely fine on Arch and Tumbleweed, but 105's build failed with the error (no other warnings or issues elsewhere in the compile process):
CSC mods/d2k/OpenRA.Mods.D2k.dll
CSC OpenRA.Utility.exe
CSC OpenRA.Server.exe
make[1]: Leaving directory '/data/GitHub/others/DarkReign/engine'
Graphics/HackySpriteSequence.cs(242,24): error CS1501: No overload for method 'this' takes 2 arguments
Graphics/HackySpriteSequence.cs(259,16): error CS1501: No overload for method 'this' takes 2 arguments
Graphics/HackySpriteSequence.cs(272,15): error CS1501: No overload for method 'this' takes 2 arguments
Graphics/HackySpriteSequence.cs(285,18): error CS1729: 'SpriteWithSecondaryData' does not contain a constructor that takes 4 arguments
Based on this I'd guess these are the relevant lines to commit e91be6b: 242, 259, 272 and 285.
Any fix to this issue will be much appreciated as this is a mighty fine mod :).
Thanks for your time,
Brenton
Shattered Paradise apparently has a weapon like this.
When shooting in the 1 o'clock direction (or north north-east), an exception occurs due to a large facing value. This only seems to happen for sprites with 24 facings and multiple animation frames.
Culprit sequences are: eolaspr2.spr, eorgnpr0.spr, eorgnpr1.spr. The default laser weapon used by the base troop Raider (FG) or Guardian (Imperium) will do it.
Currently I'm addressing this with a copy of DefaultSpriteSequence: HackySpriteSequence. Line 345 contains a hack to always choose a valid facing.
// TODO: DR hack!
int newIndex = start + i;
if (newIndex >= sprites.Length)
newIndex = sprites.Length - 1;
To reproduce, place a breakpoint in the block above (line 345, HackySpriteSequence.cs), start the game, go to Single Player, Missions, Mission Test, select a Raider, and force fire in the 1 o'clock direction.
Hello! Following this along with great anticipation, loved Dark Reign!
Tried out the most recent AppImage and it's supposed to ask for the content isn't it? All I get is a black screen with a Quit button currently.
I tried the latest revision of this mod using the Archive.org CD version of Dark Reign, but it fails to find the required files when the CD image is mounted (in ArchLinux). Maybe the checksum is not correct?
$ md5sum /run/media/g/DKREIGN/install/data/dark/graphics/sprites.ftg
30e26c563822b646cef9fc6c01d13d0f /run/media/g/DKREIGN/install/data/dark/graphics/sprites.ftg
We're just using the RA in-game interface.
Not sure how to wire this up.
There are different versions of the building underlay sprites for each tileset. Currently it is hard coded to the barren tileset in the sequences like so:
idle-top: barren|ncpow1l0.spr
ZOffset: -8192
Start: 1
This ncpow1I0.spr sprite file exists in each of the tileset archives: BARREN.FTG, SNOW.FTG, JUNGLE.FTG, etc.
But this hard-coding means it will only use the barren tileset underlay sprites, no matter what tileset we're using. This looks horrible as it's in the wrong palette, as seen above with the horrible green.
In the rules this sequence is shown using a HitShape
and a WithIdleOverlay
:
HitShape@LAYER1:
Type: Rectangle
TopLeft: -512, -1536
BottomRight: 512, -512
WithIdleOverlay@LAYER1:
Palette: terrain
Sequence: idle-top
It will take code changes to create some way to load a sprite from the current tileset archive instead of hard-coding it like this.
Hi,
While the game starts fine on Linux now the normal AI does absolutely nothing, just leaves the construction rig to stand there. I was playing against five normal AIs and they were all just standing there.
My logs (of the exception logs only the last one pertains to this issue) are here: logs.zip. You'll find evidence in it of the next bug I'm about to report too, as at the end of a game the game crashed.
Thanks for your time,
Brenton
Resources in the original had credits, water, and taelon.
Water and Taelon have their own bars, and when the player fills up either bar, they get ~3000 credits. (EDIT: This is incorrect, see comments below)
In the mod, we just deposit these resources directly as credits in typical RA fashion.
This is a pretty important feature to DR, next to building with construction rigs: #1
Hi,
On openSUSE Tumbleweed with Mono 5.10.1.47 and Lua5.1 5.1.5 I get this make
output:
make[1]: Entering directory '/data/GitHub/others/DarkReign/engine'
Fetching StyleCopPlus from NuGet
Fetching StyleCop files from NuGet
Fetching ICSharpCode.SharpZipLib from NuGet
Fetching MaxMind.Db from NuGet
Fetching SharpFont from NuGet
Fetching NUnit from NuGet
Fetching NUnit.Console from NuGet
Fetching Open.Nat from NuGet
Fetching FuzzyLogicLibrary from NuGet.
Fetching SDL2-CS from GitHub.
Fetching OpenAL-CS from GitHub.
Fetching Eluant from GitHub.
Fetching rix0rrr.BeaconLib from NuGet.
Updating GeoIP country database from MaxMind.
Detected Lua 5.1 library at /usr/lib64/liblua5.1.so.5.1
Eluant.dll.config has been created successfully.
CSC fixheader.exe
CSC OpenRA.Game.exe
CSC OpenRA.Platforms.Default.dll
CSC mods/common/OpenRA.Mods.Common.dll
CSC mods/common/OpenRA.Mods.Cnc.dll
CSC mods/d2k/OpenRA.Mods.D2k.dll
CSC OpenRA.Utility.exe
CSC OpenRA.Server.exe
make[1]: Leaving directory '/data/GitHub/others/DarkReign/engine'
FileFormats/ScnFile.cs(47,11): error CS0219: The variable 'lastEntry' is assigned but its value is never used
UtilityCommands/ImportDrMapCommand.cs(210,11): error CS0219: The variable 'divisor' is assigned but its value is never used
SpriteLoaders/DrTilLoader.cs(22,13): error CS0169: The field 'DrTilLoader.header' is never used
OpenRA itself builds fine on this platform, as does the uRA mod, so this issue is unique to this particular mod. I would love to try this mod out, however, so please help me.
Thanks for your time,
Brenton
you can command vehicles to repair and they will go to it but they will sit there and do nothing
Hi,
Sadly commit 237 crashes, on start up on Arch Linux with this exception log. The most important lines are probably:
Loading mod: dr
Exception of type `System.AggregateException`: One or more errors occurred.
Inner
Exception of type `System.InvalidOperationException`: Cannot locate type: TerrainRendererInfo
at OpenRA.ObjectCreator+<>c.<.cctor>b__20_0 (System.String s) [0x00015] in <f7e8b215d0d54cb597299ec7f4b505f5>:0
at OpenRA.ObjectCreator.CreateObject[T] (System.String className, System.Collections.Generic.Dictionary`2[TKey,TValue] args) [0x0001a] in <f7e8b215d0d54cb597299ec7f4b505f5>:0
at OpenRA.ObjectCreator.CreateObject[T] (System.String className) [0x00008] in <f7e8b215d0d54cb597299ec7f4b505f5>:0
The only other log written to during this error was perf.log, which can be found here.
If there's any other pieces of information you need to diagnose and fix this problem simply ask.
Thanks for your time,
Brenton
Hi,
Whenever I built this mod I get the error:
Fetching OpenAL-CS from GitHub.
Fetching Eluant from GitHub.
Fetching rix0rrr.BeaconLib from NuGet.
Restore completed in 407.51 ms for /data/AUR/openra-dr-git/src/DarkReign/engine/OpenRA.Mods.Common/OpenRA.Mods.Common.csproj.
Restore completed in 4.33 ms for /data/AUR/openra-dr-git/src/DarkReign/engine/OpenRA.PostProcess/OpenRA.PostProcess.csproj.
Restore completed in 4.84 ms for /data/AUR/openra-dr-git/src/DarkReign/engine/OpenRA.Mods.Cnc/OpenRA.Mods.Cnc.csproj.
Restore completed in 3.42 ms for /data/AUR/openra-dr-git/src/DarkReign/engine/OpenRA.Utility/OpenRA.Utility.csproj.
Restore completed in 4.99 ms for /data/AUR/openra-dr-git/src/DarkReign/engine/OpenRA.Platforms.Default/OpenRA.Platforms.Default.csproj.
Restore completed in 4.79 ms for /data/AUR/openra-dr-git/src/DarkReign/engine/OpenRA.Mods.D2k/OpenRA.Mods.D2k.csproj.
Restore completed in 2.28 ms for /data/AUR/openra-dr-git/src/DarkReign/engine/OpenRA.Game/OpenRA.Game.csproj.
Restore completed in 3.3 ms for /data/AUR/openra-dr-git/src/DarkReign/engine/OpenRA.Server/OpenRA.Server.csproj.
Restore completed in 4.5 ms for /data/AUR/openra-dr-git/src/DarkReign/engine/OpenRA.Test/OpenRA.Test.csproj.
Updating GeoIP country database from MaxMind.
make[1]: *** [Makefile:194: geoip-dependencies] Error 6
make[1]: Leaving directory '/data/AUR/openra-dr-git/src/DarkReign/engine'
make: *** [Makefile:106: engine-dependencies] Error 2
Thanks for your time
Currently the mod can install the assets from the demo release instead of the full game. The demo has a lot of content but is missing the following assets:
Tilesets:
Sprites:
Sounds
This is a problem if a player with the full game installed creates a Snow map, or uses any of the listed actors in a map - if another player with only the demo installed attempts to play the map, their game client will crash.
In addition, the Dark Reign Expansion content is currently optional. The expansion content is fairly neatly contained: there are two new factions with new art and the original factions are unchanged. However, the expansion also has an exclusive tileset: Alien. This has the same problem as the Snow tileset: players without the content installed will crash to desktop.
Another problem with the Expansion being optional is that the expansion factions are exposed to the player whether or not they have the content installed:
I had hoped to signal to players that these require the expansion content by putting them under the subheader "Expansion Only", but this is an easy mistake to make. Especially if playing multiplayer, if any user doesn't have the expansion content but picks an expansion faction, they'll be dropped from the game without any obvious message telling them they are missing the expansion content.
These problems are an ongoing frustration for users attempting to play the mod. As one exasperated player put it:
if your mod can't work with only the assets from the demo, why even use the demo as an asset source?
I was hoping that one day OpenRA might support features to "choose a DR flavor" with separate rulesets to restrict factions, actors, sounds, and tilesets depending on what content is installed. But this would be a significant amount of work and is probably unlikely for the forseeable future.
I am considering removing the demo as an asset source and making the expansion content mandatory. This will eliminate any missing asset problems, but is much more inconvenient to install content. Players will need to use the Advanced Install window and the Detect Disc button to detect a GOG install or CD/mounted image(s):
If using mounted disc images, the player will also need to alt+tab to change the disc image between installs which is an additional difficulty.
Not to mention, removing the demo means the player needs a paid copy of the full game and expansion:
I really want to try Dark Reign (since I never played it) but if you make me spend money for it: I don't have the money to do so and [it] will mean you lose out on a player.
Which is a legitimate complaint. So what is the solution? I am leaning towards removing the demo and making the expansion mandatory because it will prevent the game from crashing. It's a higher barrier for entry to get the content installed, but it's probably worth it for a better player experience. And also I can use the snow tileset :)
What do you think?
I see you did that for the Gamma alteration and maybe for Jasc32, but IIRC Jasc32 is in upstream by now, and gamma offsetting fits better for an explicit PaletteFromPaletteWithGamma trait.
Hi!
I'm running Linux. I tried the AppImage and also build it from source. But i cannot figure out how to add the content to the game from an GOG installation. I have ran the game within a virtualbox using the GOG installation. That went pretty good.
So, how to add the contents to the Linux installation?
Update: Never mind, i found it out:
mkdir -p ~/.openra/Content/dr/SNOW
mkdir -p ~/.openra/Content/dr/BARREN
mkdir -p ~/.openra/Content/dr/JUNGLE
mkdir -p ~/.openra/Content/dr/ALIEN
cp dark/graphics/SPRITES.FTG ~/.openra/Content/dr/SPRITES.FTG
cp dark/sndfx/SOUNDS.FTG ~/.openra/Content/dr/SOUNDS.FTG
cp dark/shell/SOUNDS.FTG ~/.openra/Content/dr/shell/SOUNDS.FTG
cp dark/graphics/SNOW/SNOW.TIL ~/.openra/Content/dr/SNOW/SNOW.TIL
cp dark/graphics/SNOW/SNOW.PAL ~/.openra/Content/dr/SNOW/SNOW.PAL
cp dark/graphics/SNOW/SPRITES.FTG ~/.openra/Content/dr/SNOW/SPRITES.FTG
cp dark/graphics/BARREN/BARREN.TIL ~/.openra/Content/dr/BARREN/BARREN.TIL
cp dark/graphics/BARREN/BARREN.PAL ~/.openra/Content/dr/BARREN/BARREN.PAL
cp dark/graphics/BARREN/SPRITES.FTG ~/.openra/Content/dr/BARREN/SPRITES.FTG
cp dark/graphics/JUNGLE/JUNGLE.TIL ~/.openra/Content/dr/JUNGLE/JUNGLE.TIL
cp dark/graphics/JUNGLE/JUNGLE.PAL ~/.openra/Content/dr/JUNGLE/JUNGLE.PAL
cp dark/graphics/JUNGLE/SPRITES.FTG ~/.openra/Content/dr/JUNGLE/SPRITES.FTG
cp dark/graphics/spriteEx.ftg ~/.openra/Content/dr/spriteEx.ftg
cp dark/sndfx/soundsEx.ftg ~/.openra/Content/dr/soundsEx.ftg
cp dark/graphics/alien/ALIEN.TIL ~/.openra/Content/dr/ALIEN/ALIEN.TIL
cp dark/graphics/alien/ALIEN.PAL ~/.openra/Content/dr/ALIEN/ALIEN.PAL
cp dark/graphics/alien/SPRITEEX.FTG ~/.openra/Content/dr/ALIEN/SPRITEEX.FTG
cp dark/graphics/BARREN/spriteEx.ftg ~/.openra/Content/dr/BARREN/spriteEx.ftg
cp dark/graphics/JUNGLE/spriteEx.ftg ~/.openra/Content/dr/JUNGLE/spriteEx.ftg
cp dark/graphics/SNOW/spriteEx.ftg ~/.openra/Content/dr/SNOW/spriteEx.ftg
cp dark/graphics/INTFACE/MOUSE.CRS ~/.openra/Content/dr/mouse.crs
Hi,
I'm getting the runtime error on NixOS:
Loading mod: dr
Exception of type `System.Reflection.ReflectionTypeLoadException`: Exception of type 'System.Reflection.ReflectionTypeLoadException' was thrown.
Could not resolve type with token 010000a5 from typeref (expected class 'OpenRA.Traits.ResourceTypeInfo' in assembly 'OpenRA.Game, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null')
Could not resolve type with token 010000a5 from typeref (expected class 'OpenRA.Traits.ResourceTypeInfo' in assembly 'OpenRA.Game, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null')
Could not resolve type with token 010001dc from typeref (expected class 'OpenRA.Activities.CompositeActivity' in assembly 'OpenRA.Game, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null')
Could not load file or assembly 'System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
Could not load file or assembly 'System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
Could not load file or assembly 'System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
Could not load file or assembly 'System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
Could not load file or assembly 'System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
Could not load file or assembly 'System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
Could not load file or assembly 'System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
Could not load file or assembly 'System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
Could not load file or assembly 'System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
Could not load file or assembly 'System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
Could not load file or assembly 'System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
Could not load file or assembly 'System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
Could not load file or assembly 'System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
Could not load file or assembly 'System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
Could not load file or assembly 'System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies.
at (wrapper managed-to-native) System.Reflection.Assembly.GetTypes(System.Reflection.Assembly,bool)
at System.Reflection.Assembly.GetTypes () [0x00000] in <6649516e5b3542319fb262b421af0adb>:0
at OpenRA.Exts.GetNamespaces (System.Reflection.Assembly a) [0x00000] in <db7dc50faa404dd589eb5eb785af649d>:0
at OpenRA.ObjectCreator+<>c.<.ctor>b__4_0 (System.Reflection.Assembly asm) [0x0000d] in <db7dc50faa404dd589eb5eb785af649d>:0
at System.Linq.Enumerable+SelectManySingleSelectorIterator`2[TSource,TResult].ToArray () [0x00028] in <35ad2ebb203f4577b22a9d30eca3ec1f>:0
at System.Linq.Enumerable.ToArray[TSource] (System.Collections.Generic.IEnumerable`1[T] source) [0x0001f] in <35ad2ebb203f4577b22a9d30eca3ec1f>:0
at OpenRA.ObjectCreator..ctor (OpenRA.Manifest manifest, OpenRA.InstalledMods mods) [0x0010e] in <db7dc50faa404dd589eb5eb785af649d>:0
at OpenRA.ModData..ctor (OpenRA.Manifest mod, OpenRA.InstalledMods mods, System.Boolean useLoadScreen) [0x00029] in <db7dc50faa404dd589eb5eb785af649d>:0
at OpenRA.Game.InitializeMod (System.String mod, OpenRA.Arguments args) [0x0015a] in <db7dc50faa404dd589eb5eb785af649d>:0
at OpenRA.Game.Initialize (OpenRA.Arguments args) [0x00480] in <db7dc50faa404dd589eb5eb785af649d>:0
at OpenRA.Game.InitializeAndRun (System.String[] args) [0x00006] in <db7dc50faa404dd589eb5eb785af649d>:0
at OpenRA.Program.Main (System.String[] args) [0x00044] in <db7dc50faa404dd589eb5eb785af649d>:0
AL lib: FreeContext: (0x2f534d0) Deleting 32 Source(s)
Thanks for your time
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.