Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Salahmander2

Decorate help

Recommended Posts

Need help, I wanna make a ripple laser projectile, like in Gradius, I'm having difficulty with it, I wanna make them grow, along with the radius and height properties, but I don't know anyway it can be done, another way is to spawn a larger version on the projectile from the smaller version, whilst retaining the angle, velocity, etc, any way this can be done?

Share this post


Link to post

I don't think there's any sort of convenient A_SetSize pointer or anything like that that actually affects height/radius, so I would guess your best bet is indeed making a few different versions of the projectile, each one larger than the previous, and they spawn each other sequentially. So if the projectiles' actor definitions were something like this:

Actor Ball1
  Height 1
  Radius 1
  ...

Actor Ball2
  Height 2
  Radius 2
  ...

Actor Ball3
  Height 3
  Radius 3
  ...

... then you could spawn them like this:
Actor Ball1
  ...
  Spawn:
    BAL1 A 4
    BAL1 B 4 A_SpawnItemEx("Ball2")
  ...

... and then repeat that for each subsequent actor, until it finally gets to the final, largest version. I would definitely look at A_SpawnItemEx and A_CustomMissile on the ZDoom wiki, as I can't recall which one exactly would be best suited (or work properly) in this situation. Does that make sense? D:

Share this post


Link to post

That is exactly what I tried, whilst it DID work, the problem I have, however, is the projectile merely sits there, it doesn't move or anything.

Share this post


Link to post
Blue Shadow said:

A_SpawnItemEx allows to set the x, y and z velocities of the spawned object. You can transfer the velocities of the spawning object by passing velx, vely and velz to the function:

A_SpawnItemEx("Something", 0, 0, 0, velx, vely, velz)

For reference: http://zdoom.org/wiki/DECORATE_expressions#Variables


Would it have the same angle, pitch, velocity as the thing that spawned it?

Share this post


Link to post

Yes, it would have the same angle, pitch and velocity. I'm not entirely certain if there wouldn't be other side effects, though (for example impact/collision-detection related ones), as projectiles are generally supposed to be fired by A_CustomMissile rather than A_SpawnItemEx.

Share this post


Link to post
scifista42 said:

Yes, it would have the same angle, pitch and velocity. I'm not entirely certain if there wouldn't be other side effects, though (for example impact/collision-detection related ones), as projectiles are generally supposed to be fired by A_CustomMissile rather than A_SpawnItemEx.


Just tried them, it works for sure, but with a nasty side effect. The second projectile will go to one angle, never a different one.

Share this post


Link to post
Salahmander2 said:

Would it have the same angle, pitch, velocity as the thing that spawned it?

http://zdoom.org/wiki/A_SpawnItemEx

Angle is transferred automatically, but you'll need SXF_TRANSFERPITCH for transferring pitch. For velocity, see what scifista said.

Share this post


Link to post

Is it really needed to transfer pitch as the thing's property when you already transfer its Z velocity? It shouldn't affect the projectile's appearance or behavior, or does it?

Share this post


Link to post

It depends. A projectile's pitch might be used for various purposes (such as shooting subprojectiles with more A_SpawnItemEx calls and using pitch variable) and it can also be used for cosmetic reasons (e.g., when using a model, with INHERITACTORPITCH in MODELDEF).

If you're not planning on doing anything of the sort, the pitch value is pretty much pointless for anything that isn't a player pawn; but he did mention he wanted to transfer pitch, so whether there's a good reason for that or not, I mention how pitch can be transferred.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×