:: Home :: Get Hosted :: PPM FAQ :: Forum FAQ :: Search :: Memberlist :: Usergroups :: Register :: Profile :: Log in to check your private messages :: Log in ::
Do you want to advertise at Project Perfect Mod. Find out how to do it HERE.

The time now is Thu Sep 21, 2017 3:51 pm
All times are UTC + 0
 Forum index » Modding Central » OpenRA Editing Forums
Max number of turrets on a single unit?
Moderators: Global Moderators, OpenRA Moderators
Post new topic   Reply to topic Page 1 of 1 [40 Posts] View previous topic :: View next topic
Author Message
Lin Kuei Ominae
Seth


Joined: 16 Aug 2006
Location: Germany

PostPosted: Sun Jul 24, 2016 8:22 pm    Post subject:   Max number of turrets on a single unit? Reply with quote

I saw OpenRA allows multiple turrets on the same unit (RA cruiser has 2) using names for those turrets like @PRIMARY and @SECONDARY.
Is it possible to add more turrets and how many turrets are max possible on a single unit?
Is there a reference guide with all the possible keys available?

Also can rotation restrictions be applied to certain turrets?
e.g. some turrets are only allowed to rotate from -135° to 135°, some from 135° to -135°, others from 180 to 315° etc


Currently i'm creating a unit with 39 turrets Twisted Evil and wonder if all these can be added as independent turrets ingame.
It would be my first test to add something to OpenRA and check the possibilities of the engine.
_________________
SHP Artist of Twisted Insurrection. Main Nod building SHP creator.

Public SHPs
X-Mech Calendar (28 Mechs for GDI and Nod)
5 GDI, 5 Nod, 1 Mutant unit, 1 Scrin unit, 1 GDI building

Tools
TMP Shop
C&C Executable Modifier

Back to top
View user's profile Send private message
Graion Dilach
Defense Minister


Joined: 22 Nov 2010
Location: Iszkaszentgyörgy, Hungary

PostPosted: Sun Jul 24, 2016 8:43 pm    Post subject: Reply with quote

There are no actual limit of the amount of turrets. The @ID is just an id, as long as it's unique, you're fine. The reference guide is https://github.com/OpenRA/OpenRA/wiki/Traits - if it makes sense for a trait to have multiple instances (palette definitions, queues, whatnot), then the @ID suffix lets you define more. For inheriting purposes though, keep in mind that null is also a valid @ID, so you can't override WithSpriteBody@PRIMARY with WithSpriteBody or vice versa.

Limiting turret angle rotation however atm isn't possible (mostly because the attack-turret interactions code atm cannot handle such). Also right now you can only have one AttackTurreted trait - shoulda try to fix up my PR to get more working.
_________________



AS Discord server: https://discord.gg/7aM7Hm2

Last edited by Graion Dilach on Sun Jul 24, 2016 8:53 pm; edited 1 time in total

Back to top
View user's profile Send private message MSN Messenger
Lin Kuei Ominae
Seth


Joined: 16 Aug 2006
Location: Germany

PostPosted: Sun Jul 24, 2016 8:52 pm    Post subject: Reply with quote

That sounds very promising. Thanks for the info.
If i understand it correct, i can define only one turret and let duplicate turrets inherit from the first if they all share the same graphic and weapon. That should come in very handy and time saving.

"One AttackTurreted trait", means all turrets will target the same target and don't fire independently on their own different targets right?
Hmm that could be visually a bit strange if the slow big AG turrets also aim at air units along with the fast AA turrets.


I guess i'll find that out anyway, but how does the engine handle render layer on multiple turrets? e.g. is it possible to have a higher and lower turret with the higher turret covering the lower turret? Or turrets on the side of the unit being covered by the unit body itself at certain facings.
_________________
SHP Artist of Twisted Insurrection. Main Nod building SHP creator.

Public SHPs
X-Mech Calendar (28 Mechs for GDI and Nod)
5 GDI, 5 Nod, 1 Mutant unit, 1 Scrin unit, 1 GDI building

Tools
TMP Shop
C&C Executable Modifier

Back to top
View user's profile Send private message
Graion Dilach
Defense Minister


Joined: 22 Nov 2010
Location: Iszkaszentgyörgy, Hungary

PostPosted: Sun Jul 24, 2016 9:04 pm    Post subject: Reply with quote

You can only inherit between (pseudo)actors and not between traits, so I don't think you can inherit in your case, but you'll need to c'n'p 39 turret definitions.

Attack* traits controls which Armaments are active at the moment, and upgrading an AttackTurreted is impossible atm - a good example case I'd think of is to have a turreted Tick Tank. (AttackFrontal is upgradable on the fly though already.)

Independent targeting AFAIK is impossible because even with multiple active Attack* traits, the actor can only have a single active attack activity, although I haven't tested if an actor with an active AttackTurreted and AttackFrontal at the same time can have separate targets (AttackTurreted buffers it's own target so that's the sole likely possibility atm).

Knowing you, there is a ZOffset tag on sequences, to order SHPs. Voxels are rendered as 3D objects, so they can blend into each other without hardcoded turret-on-top-of-body restrictions.
_________________



AS Discord server: https://discord.gg/7aM7Hm2

Back to top
View user's profile Send private message MSN Messenger
Lin Kuei Ominae
Seth


Joined: 16 Aug 2006
Location: Germany

PostPosted: Mon Jul 25, 2016 12:33 pm    Post subject: Reply with quote

yes, it's a planned SHP unit.

Ok, a first simple test, giving the cruiser 3 turrets with different weapons was successful.
At first it wasn't shooting with the new 3rd turret and a bit tricky to find out that i had to add a complete new line
Armaments: primary,secondary,tertiary
under
AttackTurreted:
which previously had no Armaments key.

Now i'm trying to give it 2 different turrets, turr.shp and ssam.shp.
However the game crashes with a missing sequence error.

under sequences\ships.yaml i changed the cruiser to
Code:
ca:
   idle:
      Facings: 16
   turret: turr
      Facings: 32
   turret: ssam
      Facings: 32
   muzzle: gunfire2
      Length: 5
   icon: caicon

I assume 2 turret: keys (are they still called "keys" like in inis?) are not allowed in one sequence. Something like the second key overwriting the first.

then in rules\ships.yaml i added to my tertiary turret the sequence key
WithSpriteTurret@TERTIARY:
Turret: tertiary
Sequence: ssam

that however seems wrong as the game crashes with
Exception of type `System.InvalidOperationException`: Unit `ca` does not have a sequence named `ssam`

here the complete code
rules\ships.yaml
Spoiler (click here to read it):
Code:
CA:
   Inherits: ^Ship
   Buildable:
      Queue: Ship
      BuildAtProductionType: Boat
      BuildPaletteOrder: 50
      Prerequisites: ~syrd, ~techlevel.high
   Valued:
      Cost: 2400
   Tooltip:
      Name: Cruiser
      Description: Very slow long-range ship.\n  Strong vs Buildings, Ground units\n  Weak vs Naval units, Aircraft
   Health:
      HP: 800
   Armor:
      Type: Heavy
   Mobile:
      TurnSpeed: 3
      Speed: 42
   RevealsShroud:
      Range: 7c0
   Turreted@PRIMARY:
      Turret: primary
      Offset: -864,0,128
      TurnSpeed: 3
   Turreted@SECONDARY:
      Turret: secondary
      Offset: 768,0,128
      TurnSpeed: 3
   Turreted@TERTIARY:
      Turret: tertiary
      Offset: 512,0,128
      TurnSpeed: 3
   Armament@PRIMARY:
      Turret: primary
      Weapon: 8Inch
      LocalOffset: 480,-100,40, 480,100,40
      Recoil: 171
      RecoilRecovery: 34
      MuzzleSequence: muzzle
   Armament@SECONDARY:
      Name: secondary
      Turret: secondary
      Weapon: 8Inch
      LocalOffset: 480,-100,40, 480,100,40
      Recoil: 171
      RecoilRecovery: 34
      MuzzleSequence: muzzle
   Armament@TERTIARY:
      Name: tertiary
      Turret: tertiary
      Weapon: Stinger
      LocalOffset: 0,-100,0, 0,100,0
      LocalYaw: 64, -64
   AttackTurreted:
      Armaments: primary,secondary,tertiary
   WithMuzzleOverlay:
   SelectionDecorations:
      VisualBounds: 44,44
   WithSpriteTurret@PRIMARY:
      Turret: primary
   WithSpriteTurret@SECONDARY:
      Turret: secondary
   WithSpriteTurret@TERTIARY:
      Turret: tertiary
      Sequence: ssam
   AutoTarget:


sequences\ships.yaml
Spoiler (click here to read it):
Code:

ca:
   idle:
      Facings: 16
   turret: turr
      Facings: 32
   turret: ssam
      Facings: 32
   muzzle: gunfire2
      Length: 5
   icon: caicon

_________________
SHP Artist of Twisted Insurrection. Main Nod building SHP creator.

Public SHPs
X-Mech Calendar (28 Mechs for GDI and Nod)
5 GDI, 5 Nod, 1 Mutant unit, 1 Scrin unit, 1 GDI building

Tools
TMP Shop
C&C Executable Modifier

Back to top
View user's profile Send private message
Graion Dilach
Defense Minister


Joined: 22 Nov 2010
Location: Iszkaszentgyörgy, Hungary

PostPosted: Mon Jul 25, 2016 1:33 pm    Post subject: Reply with quote

Lin Kuei Ominae wrote:
At first it wasn't shooting with the new 3rd turret and a bit tricky to find out that i had to add a complete new line
Armaments: primary,secondary,tertiary
under
AttackTurreted:
which previously had no Armaments key.


Yes, because you specified Armament-Name along, which defaults to primary IIRC. Multiple armaments can share names though, but yours is also a solution. Probably in your case, yours is nicer, but turrets with multiple armaments (like the Mammoth Tank turret) might benefit from both armaments sharing the name.

Lin Kuei Ominae wrote:
I assume 2 turret: keys (are they still called "keys" like in inis?) are not allowed in one sequence. Something like the second key overwriting the first.


Yeah, let's call them keys and yes, you're right. It should actually crash on that with a "duplicate entry found" even.

Lin Kuei Ominae wrote:
then in rules\ships.yaml i added to my tertiary turret the sequence key
WithSpriteTurret@TERTIARY:
Turret: tertiary
Sequence: ssam

that however seems wrong as the game crashes with
Exception of type `System.InvalidOperationException`: Unit `ca` does not have a sequence named `ssam`


No, both you and the game are absolutely right here. Indeed, that Sequence key is the solution to your problem, and indeed that sequence key is what you forgot to add.

Code:
ca:  # Image level, every time a trait mentions Image, think these. Some have it hardcoded like IIRC all explosions look for the explosions image.
   idle: # Sequence level, every time a trait refers a sequence, it means this.
      Facings: 16
   turret: turr
      Facings: 32
   ssam: ssam #Specifying a sequence means specifying the key's name. The right will be the filename and yes, these can differ.
      Facings: 32
   muzzle: gunfire2
      Length: 5
   icon: caicon

_________________



AS Discord server: https://discord.gg/7aM7Hm2

Last edited by Graion Dilach on Mon Jul 25, 2016 1:40 pm; edited 1 time in total

Back to top
View user's profile Send private message MSN Messenger
Lin Kuei Ominae
Seth


Joined: 16 Aug 2006
Location: Germany

PostPosted: Mon Jul 25, 2016 2:03 pm    Post subject: Reply with quote

ah, Sequence defaults to "turret" and in this case it's like defining a new key. left the name, right the file.
Ok that makes sense.

Since i share the turret sequence with the destroyers, would it be possible to create a global set of turrets and then use these on different units?
Or for my test use the destroyers turret directly by specifying the origin something like this
Sequence: dd\turret
?
_________________
SHP Artist of Twisted Insurrection. Main Nod building SHP creator.

Public SHPs
X-Mech Calendar (28 Mechs for GDI and Nod)
5 GDI, 5 Nod, 1 Mutant unit, 1 Scrin unit, 1 GDI building

Tools
TMP Shop
C&C Executable Modifier

Back to top
View user's profile Send private message
Graion Dilach
Defense Minister


Joined: 22 Nov 2010
Location: Iszkaszentgyörgy, Hungary

PostPosted: Mon Jul 25, 2016 2:16 pm    Post subject: Reply with quote

You cannot crossreference sequences from another image, unless your trait has an Image override to allow that (WithSpriteTurret lacks this, it takes it's image from RenderSprites).

You can inherit sequences by now (it's a relatively new feature, previously inheritance only worked in rules, but now in all yamls) but you cannot have relative filenames in sequences afaik.

So I guess it would look like the following, but notsure how helpful that is.

Spoiler (click here to read it):
Code:

^ShipStuff:
   idle:
      Facings: 16
   turret:
      Facings: 32
   ssam:
      Facings: 32
   muzzle: gunfire2
      Length: 5

ca:
   Inherits: ^ShipStuff
   turret: turr
   ssam: ssam
   icon: caicon

dd:
   Inherits: ^ShipStuff
   turret: ssam
   icon: ddicon


A good use-case where this is useful is in an open PR of mine: https://github.com/GraionDilach/OpenRA/blob/896e840558c55595bc77dcb277265da8be3c0433/mods/ts/sequences/vehicles.yaml
_________________



AS Discord server: https://discord.gg/7aM7Hm2

Back to top
View user's profile Send private message MSN Messenger
Lin Kuei Ominae
Seth


Joined: 16 Aug 2006
Location: Germany

PostPosted: Wed Jul 27, 2016 7:11 am    Post subject: Reply with quote

Whoops, that might be a tiny bit too big. Laughing


Iowa.png
 Description:
 Filesize:  340.82 KB
 Viewed:  3408 Time(s)

Iowa.png



_________________
SHP Artist of Twisted Insurrection. Main Nod building SHP creator.

Public SHPs
X-Mech Calendar (28 Mechs for GDI and Nod)
5 GDI, 5 Nod, 1 Mutant unit, 1 Scrin unit, 1 GDI building

Tools
TMP Shop
C&C Executable Modifier

Back to top
View user's profile Send private message
HG_SCIPCION
Tiberian Fiend


Joined: 07 Jun 2013
Location: Perú

PostPosted: Wed Jul 27, 2016 8:29 pm    Post subject: Reply with quote

nice!, where download this model?

-I see a problem with the normals :p
_________________
Please, read the signature rules of the forum.

Back to top
View user's profile Send private message Visit poster's website
Lin Kuei Ominae
Seth


Joined: 16 Aug 2006
Location: Germany

PostPosted: Wed Jul 27, 2016 8:48 pm    Post subject: Reply with quote

i created the model from scratch and haven't uploaded it (yet)

This is an SHP, it has no normals. Anything wrong with the lighting?
_________________
SHP Artist of Twisted Insurrection. Main Nod building SHP creator.

Public SHPs
X-Mech Calendar (28 Mechs for GDI and Nod)
5 GDI, 5 Nod, 1 Mutant unit, 1 Scrin unit, 1 GDI building

Tools
TMP Shop
C&C Executable Modifier

Back to top
View user's profile Send private message
Lin Kuei Ominae
Seth


Joined: 16 Aug 2006
Location: Germany

PostPosted: Fri Aug 05, 2016 9:05 am    Post subject: Reply with quote

I'm having trouble to implement the new unit

a) can i add SHP (TS) files among the SHP (TD) files in conquer.mix of RA1?
Debug.log says
File not found: iowa16iA.shp
File not found: iowa16iB.shp
File not found: iowa5inH.shp
File not found: iowa5inL.shp
File not found: iowaMG.shp

Do i have to change the SHP file format? I tried already to save it under SHP (TD) in SHP Builder, but it only corrupted the file

b) When testing ingame, the game crashes with a sequence not found error
Unit `iowa` does not have a sequence named `tur16inA`
however the sequence is defined from what i can see
Maybe a result of the "file not found" problem, why it also can't create the necessary sequence?

here the code
Spoiler (click here to read it):

sequences\ships.yaml
Code:

iowa:
   idle:
      Facings: 32
   tur16inA: iowa16iA
      Facings: 32
   tur16inB: iowa16iB
      Facings: 32
   tur5inH: iowa5inH
      Facings: 32
   tur5inL: iowa5inL
      Facings: 32
   turMG: iowaMG
      Facings: 32
   muzzle: gunfire2
      Length: 5
   icon: caicon


rules\ships.yaml
Code:

IOWA:
   Inherits: ^Ship
   Buildable:
      Queue: Ship
      BuildAtProductionType: Boat
      BuildPaletteOrder: 70
      Prerequisites: ~syrd, ~techlevel.high
   Valued:
      Cost: 100
   Tooltip:
      Name: Battleship
      Description: Iowa class battleship.\n  Strong vs everything\n  Weak vs nothing
   Health:
      HP: 2500
   Armor:
      Type: Heavy
   Mobile:
      TurnSpeed: 2
      Speed: 35
   RevealsShroud:
      Range: 20c0
   Turreted@PRIMARY:
      Turret: 16inchA
      Offset: 1500,0,128
      TurnSpeed: 3
   Turreted@SECONDARY:
      Turret: 16inchB
      Offset: 768,0,128
      TurnSpeed: 3
   Turreted@TERTIARY:
      Turret: 16inchC
      Offset: -800,0,128
      TurnSpeed: 3
   Armament@PRIMARY:
      Turret: 16inchA
      Weapon: 8Inch
      LocalOffset: 480,-100,40, 480,100,40
      Recoil: 171
      RecoilRecovery: 34
      MuzzleSequence: muzzle
   Armament@SECONDARY:
      Name: 16inchB
      Turret: 16inchB
      Weapon: 8Inch
      LocalOffset: 480,-100,40, 480,100,40
      Recoil: 171
      RecoilRecovery: 34
      MuzzleSequence: muzzle
   Armament@TERTIARY:
      Name: 16inchC
      Turret: 16inchC
      Weapon: 8Inch
      LocalOffset: 0,-100,0, 0,100,0
      LocalYaw: 64, -64
   AttackTurreted:
      Armaments: 16inchA,16inchB,16inchC
   WithMuzzleOverlay:
   SelectionDecorations:
      VisualBounds: 44,44
   WithSpriteTurret@PRIMARY:
      Turret: 16inchA
      Sequence: tur16inA
   WithSpriteTurret@SECONDARY:
      Turret: 16inchB
      Sequence: tur16inB
   WithSpriteTurret@TERTIARY:
      Turret: 16inchC
      Sequence: tur16inA
   AutoTarget:



attached the SHPs for testing (might still need some graphical adjustments to match RA better)


iowa.zip
 Description:

Download
 Filename:  iowa.zip
 Filesize:  194.63 KB
 Downloaded:  2 Time(s)


_________________
SHP Artist of Twisted Insurrection. Main Nod building SHP creator.

Public SHPs
X-Mech Calendar (28 Mechs for GDI and Nod)
5 GDI, 5 Nod, 1 Mutant unit, 1 Scrin unit, 1 GDI building

Tools
TMP Shop
C&C Executable Modifier

Back to top
View user's profile Send private message
Graion Dilach
Defense Minister


Joined: 22 Nov 2010
Location: Iszkaszentgyörgy, Hungary

PostPosted: Fri Aug 05, 2016 9:54 am    Post subject: Reply with quote

The OpenRA RA mod should already handle ShpTS files (see mod.yaml's SpriteFormats list). The sole case where it bugs out if said SHP(TS) files start with an empty frame, but in those cases, it crashes with an invalid SHP error.

You don't have to edit conquer.mix tho, just add the files to the bits folder loosely.

Wait a second... which tool are you using for editing conquer.mix? Since last year, OpenRA doesn't hash the filenames to look them up within mixes, but loads the list from the XCC lmd. This means without the lmd, you cannot use additional filenames within mixes and I'm aware of tools in the community which doesn't create lmds.
_________________



AS Discord server: https://discord.gg/7aM7Hm2

Back to top
View user's profile Send private message MSN Messenger
Lin Kuei Ominae
Seth


Joined: 16 Aug 2006
Location: Germany

PostPosted: Fri Aug 05, 2016 10:34 am    Post subject: Reply with quote

i use XCC Mixer. The SHPs have no empty frames.
Oh there is a bits folder with un-mixed files Surprised
Can i move the whole support folder stuff somewhere into the mods\ra\ subfolder?
Seems a bit messy if the game takes from such completely different folders the used content.

The bits folder did it. No crash and unit visible ingame. Thanks again for your help.
_________________
SHP Artist of Twisted Insurrection. Main Nod building SHP creator.

Public SHPs
X-Mech Calendar (28 Mechs for GDI and Nod)
5 GDI, 5 Nod, 1 Mutant unit, 1 Scrin unit, 1 GDI building

Tools
TMP Shop
C&C Executable Modifier

Back to top
View user's profile Send private message
Graion Dilach
Defense Minister


Joined: 22 Nov 2010
Location: Iszkaszentgyörgy, Hungary

PostPosted: Fri Aug 05, 2016 11:07 am    Post subject: Reply with quote

If you look at the mod.yaml's Packages: list, you'll see a hierarchy list with the order to load the assets from (not yamls!) (bottom overriding top).

By default, the mix contents are loaded earlier than the loose folders, and at that point, only the support and mods/ra folders are known - the $modfolder syntax means find the selected mod's main directory either in the support or the main folder, either as a loose folder or in a zip file with the oramod extension (the smth: smth refers to use that exact entry as the prefix in front of a path using | to prevent overriding, like side EVAs in TS) (also, mods/common isn't a mod, since that lacks mod.yaml which is why it uses an explicit path), so at that point, you can move all mixes to the mods/ra folder and it'll work. Keep in mind though that the support folder will still be used by autodownloaded maps/screenshots/replays/etc.

The messiness of the structure is already discussed in that other topic, everything in the support directory are planned with the mindset to be writable without admin rights and gatherable through the game from third-party sources (asset downloading, install from CD/external install).
_________________



AS Discord server: https://discord.gg/7aM7Hm2

Back to top
View user's profile Send private message MSN Messenger
Lin Kuei Ominae
Seth


Joined: 16 Aug 2006
Location: Germany

PostPosted: Fri Aug 05, 2016 11:32 am    Post subject: Reply with quote

ah, that makes sense. So when creating a completely new mod, you can at first keep everything nicely together and deliver updates later via the Support folder.

Another question:
What's the camera angle at which the Offset keys 3D Vector is calculated?
As you can see on the screenshot, the turrets look good when facing west/east, but get misaligned when facing north/south.
I guess i would have to render the unit again with the right angle used by the Offset keys, so it matches ingame again.

Is there some kind of sandbox mode, where i can quickly change keys and test the change ingame?
I tried the map editor, but i couldn't find an option to rotate the placed unit. Right click removed it, single or double left click didn't open a context menu or something like that, to set Facing, Hitpoints, Player, attached trigger etc.
Right now i have to start the game, open skirmish, select the side/start location (which OpenRA unfortunately doesn't remembers), start the map, build a shipyard, build the unit, check the facings, close OpenRA, edit the Offsets
and then start it all over again, which are quite many steps just for a quick check ingame.


OpenRA-2016-08-05T112547Z.png
 Description:
 Filesize:  163.21 KB
 Viewed:  3201 Time(s)

OpenRA-2016-08-05T112547Z.png



_________________
SHP Artist of Twisted Insurrection. Main Nod building SHP creator.

Public SHPs
X-Mech Calendar (28 Mechs for GDI and Nod)
5 GDI, 5 Nod, 1 Mutant unit, 1 Scrin unit, 1 GDI building

Tools
TMP Shop
C&C Executable Modifier

Back to top
View user's profile Send private message
Graion Dilach
Defense Minister


Joined: 22 Nov 2010
Location: Iszkaszentgyörgy, Hungary

PostPosted: Fri Aug 05, 2016 12:26 pm    Post subject: Reply with quote

I don't think runtime rule changes are supported. Maybe when you reload the mod (mod browser and back). Local menus are also missing from the map editor as well IIRC.

However I think I know your issue and it's a blameWestwood thingy due to https://github.com/OpenRA/OpenRA/issues/4823. If I'm right the solution should be this in rules.yaml (and without messing with the offsets themselves):
Code:
IOWA:
   BodyOrientation:
      UseClassicFacingFudge: false #inherited to be true from the defaults

_________________



AS Discord server: https://discord.gg/7aM7Hm2

Back to top
View user's profile Send private message MSN Messenger
Lin Kuei Ominae
Seth


Joined: 16 Aug 2006
Location: Germany

PostPosted: Fri Aug 05, 2016 12:39 pm    Post subject: Reply with quote

nah i don't think this is the problem.
I think reaperrr's numbers are also completely wrong there.
let's say frame 0 has the unit at 0°
every frame rotates the unit by exactly 11.25° when using 32 facings.
So the 4th frame is exactly 45°. Thus the 4th frame has to be the one used for NW.
8th frame has 90° rotation, thus west facing
12th frame has 135°, thus SW facing
16th frame 180°, facing south
20th SE
24th E
28th NE

In my case however, the Forward offset value is matching on horizontal facing, but is longer when vertical.
Thus my rendered unit is using a different camera angle than the offset calculation and the question would be which angle the offset calculation uses.
_________________
SHP Artist of Twisted Insurrection. Main Nod building SHP creator.

Public SHPs
X-Mech Calendar (28 Mechs for GDI and Nod)
5 GDI, 5 Nod, 1 Mutant unit, 1 Scrin unit, 1 GDI building

Tools
TMP Shop
C&C Executable Modifier

Back to top
View user's profile Send private message
Graion Dilach
Defense Minister


Joined: 22 Nov 2010
Location: Iszkaszentgyörgy, Hungary

PostPosted: Fri Aug 05, 2016 1:01 pm    Post subject: Reply with quote

The body facings are your problem. Westwood didn't use proper facings in TD and RA1. The turret offsets on the image are properly positioned, but since the game uses the wrong SHP frame for the facing, the turret positions go wrong on the angles.

Oh, and I've tested this btw.
_________________



AS Discord server: https://discord.gg/7aM7Hm2

Back to top
View user's profile Send private message MSN Messenger
Lin Kuei Ominae
Seth


Joined: 16 Aug 2006
Location: Germany

PostPosted: Fri Aug 05, 2016 1:32 pm    Post subject: Reply with quote

I applied the key, but the turrets are on the same "wrong" places as before. It didn't change anything.

I rendered my unit with a different camera angle and just have to find the one OpenRA uses for its offset calculation.
See attachment, showing the red ellipse of my 50° (iirc) camera angle and the blue ellipse of the unknown OpenRA camera angle (could be 45°)
-blue ellipse is following a small turret placed directly on the bow with Offset: 8000,0,0
-red ellipse is following the bow
both ellipses should match if the camera angle is the same


iowa_angle.gif
 Description:
 Filesize:  269.18 KB
 Viewed:  3159 Time(s)

iowa_angle.gif



_________________
SHP Artist of Twisted Insurrection. Main Nod building SHP creator.

Public SHPs
X-Mech Calendar (28 Mechs for GDI and Nod)
5 GDI, 5 Nod, 1 Mutant unit, 1 Scrin unit, 1 GDI building

Tools
TMP Shop
C&C Executable Modifier

Back to top
View user's profile Send private message
pchote
Cyborg Soldier


Joined: 06 Feb 2015

PostPosted: Fri Aug 05, 2016 9:11 pm    Post subject: Reply with quote

You want the CameraPitch property on the BodyOrientation trait.  The default is 40 degrees to match the original game art.

Back to top
View user's profile Send private message
Lin Kuei Ominae
Seth


Joined: 16 Aug 2006
Location: Germany

PostPosted: Sat Aug 06, 2016 5:41 am    Post subject: Reply with quote

Thanks.
I just noticed that i accidentally rendered with the 30° TS camera and not the 40° TD camera.
Will render the unit with the right camera again and then it should fit perfect.

Also nice to know that the CameraPitch can be adjusted.


Another question right away:
As you can see, does the unit have a quite high superstructure, which should even cover turrets behind it.
Is there a way to define the superstructure as a separate sequence with a higher ZOffset? Unlike rotating turrets, this sequence should be fixed and always have the same facing as the base unit.
I would then render the superstructure alone as a separate SHP, so it can be assigned to that sequence.

Could you provide a code example how such a sequence would be set in the yamls?

I think such a fixed additional sequence would be also great for effects like headlights or light effects in general. Provided that sequence can be set to use always the full brightness, regardless of a maps Ambient lighting value. Though then it would be also necessary to set this sequence as additive blending and transparent like Rewire has shown on the explosion anims.
_________________
SHP Artist of Twisted Insurrection. Main Nod building SHP creator.

Public SHPs
X-Mech Calendar (28 Mechs for GDI and Nod)
5 GDI, 5 Nod, 1 Mutant unit, 1 Scrin unit, 1 GDI building

Tools
TMP Shop
C&C Executable Modifier

Back to top
View user's profile Send private message
Reaperrr
Commander


Joined: 26 Apr 2003
Location: Somewhere in Germany

PostPosted: Sat Aug 06, 2016 11:36 am    Post subject: Reply with quote

Lin Kuei Ominae wrote:

Could you provide a code example how such a sequence would be set in the yamls?

Simply giving the unit an additional
Code:
WithFacingSpriteBody@superstructure:
   Sequence: superstructure

should work.

Back to top
View user's profile Send private message Send e-mail
Lin Kuei Ominae
Seth


Joined: 16 Aug 2006
Location: Germany

PostPosted: Sat Aug 06, 2016 1:46 pm    Post subject: Reply with quote

cool
can't i use this for the move anim as well? From what i can see it would be just another (but animated) sequence which is rendered under the unit.
This way i could render the waves in a separate anim, which is easier/faster to do in 3dsmax and which could be also used on other units.

Damn, with the little experience from implementing this unit alone, OpenRA's modding possibilities look glorious.
_________________
SHP Artist of Twisted Insurrection. Main Nod building SHP creator.

Public SHPs
X-Mech Calendar (28 Mechs for GDI and Nod)
5 GDI, 5 Nod, 1 Mutant unit, 1 Scrin unit, 1 GDI building

Tools
TMP Shop
C&C Executable Modifier

Last edited by Lin Kuei Ominae on Sat Aug 06, 2016 2:13 pm; edited 1 time in total

Back to top
View user's profile Send private message
Graion Dilach
Defense Minister


Joined: 22 Nov 2010
Location: Iszkaszentgyörgy, Hungary

PostPosted: Sat Aug 06, 2016 2:10 pm    Post subject: Reply with quote

There isn't an UpgradeOnMove trait, so either you write one yourself, send it in then use an upgradable WithFacingSpriteBody, either you create a WithInfantryBody from the waves and use that (Which might be a better option for idle waves).

Lin Kuei Ominae wrote:
Provided that sequence can be set to use always the full brightness, regardless of a maps Ambient lighting value.


Unlighted palette slots logic doesn't exist in OpenRA. You need to create a copy of the palette with AllowModifiers: false defined on it and use that variant of said pal to create unlight colors. See the cameos for an example.
_________________



AS Discord server: https://discord.gg/7aM7Hm2

Back to top
View user's profile Send private message MSN Messenger
pchote
Cyborg Soldier


Joined: 06 Feb 2015

PostPosted: Sat Aug 06, 2016 8:08 pm    Post subject: Reply with quote

If you make the wake the default "body" animation you can use the WithMoveAnimation trait to change it when moving.

Back to top
View user's profile Send private message
Lin Kuei Ominae
Seth


Joined: 16 Aug 2006
Location: Germany

PostPosted: Mon Aug 08, 2016 3:46 pm    Post subject: Reply with quote

I got now all graphics ingame and all the turrets done (position is now perfect, thanks to the same camera angle Smile).
However only 2 turrets shoot, despite having 4 assigned Armaments: 16inchA,16inchB,16inchC,5inchLA

Which name is actually applied to the Armaments key?
Is the name applied to Armaments the one defined after the @
-Armament@Arm5INCHRB:

the one on the Name key
-Armament@Arm5INCHRB:
Name: Starboard Side 5in cannon

or the one of the turret
-Armament@Arm5INCHRB:
Name: Starboard Side 5in cannon
Turret: 5inchRB

Could someone take a look on the code again?
Maybe you also have code improvement suggestions, like a way to write less with the same effect, since a lot is just copy pasted with 1 or 2 keys slightly changed.

Spoiler (click here to read it):
Code:
IOWA:
   BodyOrientation:
      UseClassicFacingFudge: false #inherited to be true from the defaults
   Inherits: ^Ship
   Buildable:
      Queue: Ship
      BuildAtProductionType: Boat
      BuildPaletteOrder: 70
      Prerequisites: ~syrd, ~techlevel.high
   Valued:
      Cost: 100
   Tooltip:
      Name: Battleship
      Description: Iowa class battleship.\n  Strong vs everything\n  Weak vs nothing
   Health:
      HP: 2500
   Armor:
      Type: Heavy
   Mobile:
      TurnSpeed: 2
      Speed: 35
   RevealsShroud:
      Range: 20c0
   Turreted@PRIMARY:
      Turret: 16inchA
      Offset: 3800,0,0
      TurnSpeed: 3
   Turreted@SECONDARY:
      Turret: 16inchB
      Offset: 2500,0,0
      TurnSpeed: 3
   Turreted@TERTIARY:
      Turret: 16inchC
      Offset: -3800,0,0
      TurnSpeed: 3
   Turreted@5INCHLeftA:
      Turret: 5inchLA
      Offset: 600,-600,0
      TurnSpeed: 6
   Turreted@5INCHLeftB:
      Turret: 5inchLB
      Offset: 100,-800,0
      TurnSpeed: 6
   Turreted@5INCHLeftC:
      Turret: 5inchLC
      Offset: -400,-600,0
      TurnSpeed: 6
   Turreted@5INCHLeftD:
      Turret: 5inchLD
      Offset: -1400,-800,0
      TurnSpeed: 6
   Turreted@5INCHLeftE:
      Turret: 5inchLE
      Offset: -1900,-600,0
      TurnSpeed: 6
   Turreted@5INCHRightA:
      Turret: 5inchRA
      Offset: 600,600,0
      TurnSpeed: 6
   Turreted@5INCHRightB:
      Turret: 5inchRB
      Offset: 100,800,0
      TurnSpeed: 6
   Turreted@5INCHRightC:
      Turret: 5inchRC
      Offset: -400,600,0
      TurnSpeed: 6
   Turreted@5INCHRightD:
      Turret: 5inchRD
      Offset: -1400,800,0
      TurnSpeed: 6
   Turreted@5INCHRightE:
      Turret: 5inchRE
      Offset: -1900,600,0
      TurnSpeed: 6
   Turreted@MGLeftA:
      Turret: MGLA
      Offset: 5100,-350,0
      TurnSpeed: 12
   Turreted@MGLeftB:
      Turret: MGLB
      Offset: 1800,-600,0
      TurnSpeed: 12
   Turreted@MGLeftC:
      Turret: MGLC
      Offset: 600,-300,400
      TurnSpeed: 12
   Turreted@MGLeftD:
      Turret: MGLD
      Offset: -900,-400,200
      TurnSpeed: 12
   Turreted@MGLeftE:
      Turret: MGLE
      Offset: -1150,-400,250
      TurnSpeed: 12
   Turreted@MGLeftF:
      Turret: MGLF
      Offset: -1400,-400,200
      TurnSpeed: 12
   Turreted@MGLeftG:
      Turret: MGLG
      Offset: -2700,-300,25
      TurnSpeed: 12
   Turreted@MGLeftH:
      Turret: MGLH
      Offset: -3000,-800,-100
      TurnSpeed: 12
   Turreted@MGLeftI:
      Turret: MGLI
      Offset: -7800,-250,-50
      TurnSpeed: 12
   Turreted@MGRightA:
      Turret: MGRA
      Offset: 5100,350,0
      TurnSpeed: 12
   Turreted@MGRightB:
      Turret: MGRB
      Offset: 1800,600,0
      TurnSpeed: 12
   Turreted@MGRightC:
      Turret: MGRC
      Offset: 600,300,400
      TurnSpeed: 12
   Turreted@MGRightD:
      Turret: MGRD
      Offset: -900,400,200
      TurnSpeed: 12
   Turreted@MGRightE:
      Turret: MGRE
      Offset: -1150,400,250
      TurnSpeed: 12
   Turreted@MGRightF:
      Turret: MGRF
      Offset: -1400,400,200
      TurnSpeed: 12
   Turreted@MGRightG:
      Turret: MGRG
      Offset: -2700,300,25
      TurnSpeed: 12
   Turreted@MGRightH:
      Turret: MGRH
      Offset: -3000,800,-100
      TurnSpeed: 12
   Turreted@MGRightI:
      Turret: MGRI
      Offset: -7800,250,-50
      TurnSpeed: 12
   Armament@PRIMARY:
      Turret: 16inchA
      Weapon: 16Inch
      LocalOffset: 480,-100,40, 480,0,40, 480,100,40
      Recoil: 10
      RecoilRecovery: 1
      MuzzleSequence: muzzle
   Armament@SECONDARY:
      Name: 16inchB
      Turret: 16inchB
      Weapon: 16Inch
      LocalOffset: 480,-100,40, 480,0,40, 480,100,40
      Recoil: 10
      RecoilRecovery: 1
      MuzzleSequence: muzzle
   Armament@TERTIARY:
      Name: 16inchC
      Turret: 16inchC
      Weapon: 16Inch
      LocalOffset: 480,-100,40, 480,0,40, 480,100,40
      Recoil: 10
      RecoilRecovery: 1
      MuzzleSequence: muzzle
   Armament@Arm5INCHLA:
      Name: Port Side 5in cannon
      Turret: 5inchLA
      Weapon: 8Inch
      LocalOffset: 200,-100,40, 200,100,40
      Recoil: 5
      RecoilRecovery: 1
      MuzzleSequence: muzzle
   Armament@Arm5INCHLB:
      Name: Port Side 5in cannon
      Turret: 5inchLB
      Weapon: 8Inch
      LocalOffset: 200,-100,40, 200,100,40
      Recoil: 5
      RecoilRecovery: 1
      MuzzleSequence: muzzle
   Armament@Arm5INCHLC:
      Name: Port Side 5in cannon
      Turret: 5inchLC
      Weapon: 8Inch
      LocalOffset: 200,-100,40, 200,100,40
      Recoil: 5
      RecoilRecovery: 1
      MuzzleSequence: muzzle
   Armament@Arm5INCHLD:
      Name: Port Side 5in cannon
      Turret: 5inchLD
      Weapon: 8Inch
      LocalOffset: 200,-100,40, 200,100,40
      Recoil: 5
      RecoilRecovery: 1
      MuzzleSequence: muzzle
   Armament@Arm5INCHLE:
      Name: Port Side 5in cannon
      Turret: 5inchLE
      Weapon: 8Inch
      LocalOffset: 200,-100,40, 200,100,40
      Recoil: 5
      RecoilRecovery: 1
      MuzzleSequence: muzzle
   Armament@Arm5INCHRA:
      Name: Starboard Side 5in cannon
      Turret: 5inchRA
      Weapon: 8Inch
      LocalOffset: 200,-100,40, 200,100,40
      Recoil: 5
      RecoilRecovery: 1
      MuzzleSequence: muzzle
   Armament@Arm5INCHRB:
      Name: Starboard Side 5in cannon
      Turret: 5inchRB
      Weapon: 8Inch
      LocalOffset: 200,-100,40, 200,100,40
      Recoil: 5
      RecoilRecovery: 1
      MuzzleSequence: muzzle
   Armament@Arm5INCHRC:
      Name: Starboard Side 5in cannon
      Turret: 5inchRC
      Weapon: 8Inch
      LocalOffset: 200,-100,40, 200,100,40
      Recoil: 5
      RecoilRecovery: 1
      MuzzleSequence: muzzle
   Armament@Arm5INCHRD:
      Name: Starboard Side 5in cannon
      Turret: 5inchRD
      Weapon: 8Inch
      LocalOffset: 200,-100,40, 200,100,40
      Recoil: 5
      RecoilRecovery: 1
      MuzzleSequence: muzzle
   Armament@Arm5INCHRE:
      Name: Starboard Side 5in cannon
      Turret: 5inchRE
      Weapon: 8Inch
      LocalOffset: 200,-100,40, 200,100,40
      Recoil: 5
      RecoilRecovery: 1
      MuzzleSequence: muzzle
   Armament@ArmMGLA:
      Name: Port Side MG Turret
      Turret: MGLA
      Weapon: ZSU-23
      LocalOffset: 100,-40,40, 100,40,40
      Recoil: 2
      RecoilRecovery: 1
      MuzzleSequence: muzzleMG
   Armament@ArmMGLB:
      Name: Port Side MG Turret
      Turret: MGLB
      Weapon: ZSU-23
      LocalOffset: 100,-40,40, 100,40,40
      Recoil: 2
      RecoilRecovery: 1
      MuzzleSequence: muzzleMG
   Armament@ArmMGLC:
      Name: Port Side MG Turret
      Turret: MGLC
      Weapon: ZSU-23
      LocalOffset: 100,-40,40, 100,40,40
      Recoil: 2
      RecoilRecovery: 1
      MuzzleSequence: muzzleMG
   Armament@ArmMGLD:
      Name: Port Side MG Turret
      Turret: MGLD
      Weapon: ZSU-23
      LocalOffset: 100,-40,40, 100,40,40
      Recoil: 2
      RecoilRecovery: 1
      MuzzleSequence: muzzleMG
   Armament@ArmMGLE:
      Name: Port Side MG Turret
      Turret: MGLE
      Weapon: ZSU-23
      LocalOffset: 100,-40,40, 100,40,40
      Recoil: 2
      RecoilRecovery: 1
      MuzzleSequence: muzzleMG
   Armament@ArmMGLF:
      Name: Port Side MG Turret
      Turret: MGLF
      Weapon: ZSU-23
      LocalOffset: 100,-40,40, 100,40,40
      Recoil: 2
      RecoilRecovery: 1
      MuzzleSequence: muzzleMG
   Armament@ArmMGLG:
      Name: Port Side MG Turret
      Turret: MGLG
      Weapon: ZSU-23
      LocalOffset: 100,-40,40, 100,40,40
      Recoil: 2
      RecoilRecovery: 1
      MuzzleSequence: muzzleMG
   Armament@ArmMGLH:
      Name: Port Side MG Turret
      Turret: MGLH
      Weapon: ZSU-23
      LocalOffset: 100,-40,40, 100,40,40
      Recoil: 2
      RecoilRecovery: 1
      MuzzleSequence: muzzleMG
   Armament@ArmMGLI:
      Name: Port Side MG Turret
      Turret: MGLI
      Weapon: ZSU-23
      LocalOffset: 100,-40,40, 100,40,40
      Recoil: 2
      RecoilRecovery: 1
      MuzzleSequence: muzzleMG
   Armament@ArmMGRA:
      Name: Starboard Side MG Turret
      Turret: MGRA
      Weapon: ZSU-23
      LocalOffset: 100,-40,40, 100,40,40
      Recoil: 2
      RecoilRecovery: 1
      MuzzleSequence: muzzleMG
   Armament@ArmMGRB:
      Name: Starboard Side MG Turret
      Turret: MGRB
      Weapon: ZSU-23
      LocalOffset: 100,-40,40, 100,40,40
      Recoil: 2
      RecoilRecovery: 1
      MuzzleSequence: muzzleMG
   Armament@ArmMGRC:
      Name: Starboard Side MG Turret
      Turret: MGRC
      Weapon: ZSU-23
      LocalOffset: 100,-40,40, 100,40,40
      Recoil: 2
      RecoilRecovery: 1
      MuzzleSequence: muzzleMG
   Armament@ArmMGRD:
      Name: Starboard Side MG Turret
      Turret: MGRD
      Weapon: ZSU-23
      LocalOffset: 100,-40,40, 100,40,40
      Recoil: 2
      RecoilRecovery: 1
      MuzzleSequence: muzzleMG
   Armament@ArmMGRE:
      Name: Starboard Side MG Turret
      Turret: MGRE
      Weapon: ZSU-23
      LocalOffset: 100,-40,40, 100,40,40
      Recoil: 2
      RecoilRecovery: 1
      MuzzleSequence: muzzleMG
   Armament@ArmMGRF:
      Name: Starboard Side MG Turret
      Turret: MGRF
      Weapon: ZSU-23
      LocalOffset: 100,-40,40, 100,40,40
      Recoil: 2
      RecoilRecovery: 1
      MuzzleSequence: muzzleMG
   Armament@ArmMGRG:
      Name: Starboard Side MG Turret
      Turret: MGRG
      Weapon: ZSU-23
      LocalOffset: 100,-40,40, 100,40,40
      Recoil: 2
      RecoilRecovery: 1
      MuzzleSequence: muzzleMG
   Armament@ArmMGRH:
      Name: Starboard Side MG Turret
      Turret: MGRH
      Weapon: ZSU-23
      LocalOffset: 100,-40,40, 100,40,40
      Recoil: 2
      RecoilRecovery: 1
      MuzzleSequence: muzzleMG
   Armament@ArmMGRI:
      Name: Starboard Side MG Turret
      Turret: MGRI
      Weapon: ZSU-23
      LocalOffset: 100,-40,40, 100,40,40
      Recoil: 2
      RecoilRecovery: 1
      MuzzleSequence: muzzleMG
   AttackTurreted:
      Armaments: 16inchA,16inchB,16inchC,5inchLA
   WithMuzzleOverlay:
   SelectionDecorations:
      VisualBounds: 44,44
   WithSpriteTurret@PRIMARY:
      Turret: 16inchA
      Sequence: tur16inA
   WithSpriteTurret@SECONDARY:
      Turret: 16inchB
      Sequence: tur16inB
   WithSpriteTurret@TERTIARY:
      Turret: 16inchC
      Sequence: tur16inA
   WithSpriteTurret@5INCHLeftA:
      Turret: 5inchLA
      Sequence: tur5inH
   WithSpriteTurret@5INCHLeftB:
      Turret: 5inchLB
      Sequence: tur5inL
   WithSpriteTurret@5INCHLeftC:
      Turret: 5inchLC
      Sequence: tur5inH
   WithSpriteTurret@5INCHLeftD:
      Turret: 5inchLD
      Sequence: tur5inL
   WithSpriteTurret@5INCHLeftE:
      Turret: 5inchLE
      Sequence: tur5inH
   WithSpriteTurret@5INCHRightA:
      Turret: 5inchRA
      Sequence: tur5inH
   WithSpriteTurret@5INCHRightB:
      Turret: 5inchRB
      Sequence: tur5inL
   WithSpriteTurret@5INCHRightC:
      Turret: 5inchRC
      Sequence: tur5inH
   WithSpriteTurret@5INCHRightD:
      Turret: 5inchRD
      Sequence: tur5inL
   WithSpriteTurret@5INCHRightE:
      Turret: 5inchRE
      Sequence: tur5inH
   WithSpriteTurret@MGLeftA:
      Turret: MGLA
      Sequence: turMG
   WithSpriteTurret@MGLeftB:
      Turret: MGLB
      Sequence: turMG
   WithSpriteTurret@MGLeftC:
      Turret: MGLC
      Sequence: turMG
   WithSpriteTurret@MGLeftD:
      Turret: MGLD
      Sequence: turMG
   WithSpriteTurret@MGLeftE:
      Turret: MGLE
      Sequence: turMG
   WithSpriteTurret@MGLeftF:
      Turret: MGLF
      Sequence: turMG
   WithSpriteTurret@MGLeftG:
      Turret: MGLG
      Sequence: turMG
   WithSpriteTurret@MGLeftH:
      Turret: MGLH
      Sequence: turMG
   WithSpriteTurret@MGLeftI:
      Turret: MGLI
      Sequence: turMG
   WithSpriteTurret@MGRightA:
      Turret: MGRA
      Sequence: turMG
   WithSpriteTurret@MGRightB:
      Turret: MGRB
      Sequence: turMG
   WithSpriteTurret@MGRightC:
      Turret: MGRC
      Sequence: turMG
   WithSpriteTurret@MGRightD:
      Turret: MGRD
      Sequence: turMG
   WithSpriteTurret@MGRightE:
      Turret: MGRE
      Sequence: turMG
   WithSpriteTurret@MGRightF:
      Turret: MGRF
      Sequence: turMG
   WithSpriteTurret@MGRightG:
      Turret: MGRG
      Sequence: turMG
   WithSpriteTurret@MGRightH:
      Turret: MGRH
      Sequence: turMG
   WithSpriteTurret@MGRightI:
      Turret: MGRI
      Sequence: turMG
   AutoTarget:


Is it correct that i can use 3 offsets for a single turret, like
LocalOffset: 480,-100,40, 480,0,40, 480,100,40
so i have on a Burst=3 weapon 3 different projectile start locations?
I simply added a 3rd Offset, but am not sure if this is actually supported by the engine.
_________________
SHP Artist of Twisted Insurrection. Main Nod building SHP creator.

Public SHPs
X-Mech Calendar (28 Mechs for GDI and Nod)
5 GDI, 5 Nod, 1 Mutant unit, 1 Scrin unit, 1 GDI building

Tools
TMP Shop
C&C Executable Modifier

Back to top
View user's profile Send private message
Graion Dilach
Defense Minister


Joined: 22 Nov 2010
Location: Iszkaszentgyörgy, Hungary

PostPosted: Mon Aug 08, 2016 4:46 pm    Post subject: Reply with quote

Armament->Name is what gets checked at AttackTurreted->Armaments. You might end up better if you omit all of them and let them all default to primary.

The long code is a consequence of modularity, doubt there are much which can be done regarding it.

Multiple LocalOffsets are supported but they are only used at weapons with burst. (IOW, in order to use three barrels, have Burst: 3 or more on the weapon.) Since OpenRA lacks the press-stop-on-burst-to-trigger-infinite-burst bug, having a weapon where ROF = BurstDelay will be bugfree.
_________________



AS Discord server: https://discord.gg/7aM7Hm2

Back to top
View user's profile Send private message MSN Messenger
Lin Kuei Ominae
Seth


Joined: 16 Aug 2006
Location: Germany

PostPosted: Mon Aug 08, 2016 5:20 pm    Post subject: Reply with quote

ah, i see.
I thought Name is only some non-used, for organization purposes meant key, since the description on github is empty.
Ok then it's clear my code
Armament@ArmMGRI:
      Name: Starboard Side MG Turret
is complete nonsense.

Well, then i think i go back to primary, secondary and tertiary. This worked already.
So i can also group the 16inch turrets to
Name: primary
the 5inch turrets to
Name: secondary
and all the MG turrets to
Name: tertiary
_________________
SHP Artist of Twisted Insurrection. Main Nod building SHP creator.

Public SHPs
X-Mech Calendar (28 Mechs for GDI and Nod)
5 GDI, 5 Nod, 1 Mutant unit, 1 Scrin unit, 1 GDI building

Tools
TMP Shop
C&C Executable Modifier

Back to top
View user's profile Send private message
Merophage
Disk Thrower


Joined: 26 Mar 2003

PostPosted: Thu Aug 18, 2016 1:07 pm    Post subject: Reply with quote

This looks great! Does the size cause overlap issues?

Back to top
View user's profile Send private message
Lin Kuei Ominae
Seth


Joined: 16 Aug 2006
Location: Germany

PostPosted: Thu Aug 18, 2016 1:13 pm    Post subject: Reply with quote

overlap to adjacent units and buildings? of course, since it goes way beyond the tiny cell size.

overlap issues in itself? a little bit. I recently added a superstructure SHP, so turrets behind the main superstructure are covered by that.

the final and complete unit is uploaded as SHP and 3ds max.
_________________
SHP Artist of Twisted Insurrection. Main Nod building SHP creator.

Public SHPs
X-Mech Calendar (28 Mechs for GDI and Nod)
5 GDI, 5 Nod, 1 Mutant unit, 1 Scrin unit, 1 GDI building

Tools
TMP Shop
C&C Executable Modifier

Back to top
View user's profile Send private message
Merophage
Disk Thrower


Joined: 26 Mar 2003

PostPosted: Thu Aug 18, 2016 1:15 pm    Post subject: Reply with quote

Is there a way to resolve the overlapping with other units and buildings?

Back to top
View user's profile Send private message
Lin Kuei Ominae
Seth


Joined: 16 Aug 2006
Location: Germany

PostPosted: Thu Aug 18, 2016 1:18 pm    Post subject: Reply with quote

I don't think so. At least not until OpenRA offers ways to give units a bigger foundation and cover multiple cells (at least i think it doesn't support it, though not sure, since it supports TD and TD actually had a 3x1 foundation big gunboat unit).
_________________
SHP Artist of Twisted Insurrection. Main Nod building SHP creator.

Public SHPs
X-Mech Calendar (28 Mechs for GDI and Nod)
5 GDI, 5 Nod, 1 Mutant unit, 1 Scrin unit, 1 GDI building

Tools
TMP Shop
C&C Executable Modifier

Back to top
View user's profile Send private message
Crimsonum
Seth


Joined: 14 Jul 2005
Location: A cup of hot socialist coffee

PostPosted: Thu Aug 18, 2016 1:37 pm    Post subject: Reply with quote

As far as I recall, the Gunboat occupied only one cell at a time like any other unit. Its sprite animation went beyond that one-cell hitbox, though. Also, it could travel through any unit or structure without any collision.
_________________
Twisted Insurrection co-leader

Quote:
When it comes to email HTML, all best practices from web development goes straight out the window.

Back to top
View user's profile Send private message Visit poster's website
Graion Dilach
Defense Minister


Joined: 22 Nov 2010
Location: Iszkaszentgyörgy, Hungary

PostPosted: Thu Aug 18, 2016 2:47 pm    Post subject: Reply with quote

Multicell units are unsupported (pathfinding issues, mostly AFAIK, but take this with a grain of salt).

Hitboxes can go outside of the foundation though.
_________________



AS Discord server: https://discord.gg/7aM7Hm2

Back to top
View user's profile Send private message MSN Messenger
Merophage
Disk Thrower


Joined: 26 Mar 2003

PostPosted: Thu Aug 18, 2016 3:02 pm    Post subject: Reply with quote

Thanks everyone. I have another question. Is it possible to have a limited turret arc or are do all turrets have to rotate full circle?

Back to top
View user's profile Send private message
Lin Kuei Ominae
Seth


Joined: 16 Aug 2006
Location: Germany

PostPosted: Thu Aug 18, 2016 3:07 pm    Post subject: Reply with quote

see first and second post here Wink
Graion Dilach wrote:
Limiting turret angle rotation however atm isn't possible (mostly because the attack-turret interactions code atm cannot handle such).

_________________
SHP Artist of Twisted Insurrection. Main Nod building SHP creator.

Public SHPs
X-Mech Calendar (28 Mechs for GDI and Nod)
5 GDI, 5 Nod, 1 Mutant unit, 1 Scrin unit, 1 GDI building

Tools
TMP Shop
C&C Executable Modifier

Back to top
View user's profile Send private message
Merophage
Disk Thrower


Joined: 26 Mar 2003

PostPosted: Thu Aug 18, 2016 3:31 pm    Post subject: Reply with quote

Oops. Thanks!

Back to top
View user's profile Send private message
Graion Dilach
Defense Minister


Joined: 22 Nov 2010
Location: Iszkaszentgyörgy, Hungary

PostPosted: Thu Aug 18, 2016 3:59 pm    Post subject: Reply with quote

In order to have limited turret angles, the following needs to be done:

- unlink AttackTurreted from all the turrets and only link it with the turrets it's weapons use (already in progress, just style fixes remain)
- add a method to the turreted attack activity to allow the AttackTurreted trait to tell the unit to turn and only then, limit the turret angles (it would probably make sense to do these two at the same time).
_________________



AS Discord server: https://discord.gg/7aM7Hm2

Back to top
View user's profile Send private message MSN Messenger
Lin Kuei Ominae
Seth


Joined: 16 Aug 2006
Location: Germany

PostPosted: Thu Aug 18, 2016 4:27 pm    Post subject: Reply with quote

last point could be problematic for multi turreted units, where turret A tells the unit to turn this way and then turret B tells the unit to turn the other way
Might need some kind of
TurretIsPrimary: true
key, to avoid such conflicts and where only this turret can tell the unit to turn.

Though then also a key
TurretIsSecondary: true
in case you have a unit with 2 turrets, one on the left and one on the right, where none of the turrets is actually primary.

\Edit
another thing that could be very useful,
if you could assign one turret to another turret. Imagine a big turret on which smaller turrets are attached, where the smaller turrets follow the movement of the big turret, not the main unit.
_________________
SHP Artist of Twisted Insurrection. Main Nod building SHP creator.

Public SHPs
X-Mech Calendar (28 Mechs for GDI and Nod)
5 GDI, 5 Nod, 1 Mutant unit, 1 Scrin unit, 1 GDI building

Tools
TMP Shop
C&C Executable Modifier

Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic Page 1 of 1 [40 Posts] View previous topic :: View next topic
 Forum index » Modding Central » OpenRA Editing Forums
Jump to:  
Quick Reply
Username:


If you are visually impaired or cannot otherwise play the game below please contact the Administrator for help.


 
You can post new topics in this forum
You can reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © phpBB Group

Wildcard SSL Certificates
[ Time: 0.4255s ][ Queries: 17 (0.0093s) ][ Debug on ]