MODELDEF ignore rotation?
Moderator: GZDoom Developers
MODELDEF ignore rotation?
Would it be possible to get a new flag for the MODELDEF lump that would stop a model from inheriting any of its actor's rotations?
- Graf Zahl
- Lead GZDoom+Raze Developer
- Posts: 49056
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: MODELDEF ignore rotation?
You have to present a use case for something this seemingly nonsensical.
Re: MODELDEF ignore rotation?
Initiating strife dialog with an actor causes the actor to immediately rotate to face the player. This isn't desirable if the actor is, say, a 3D model of a character in a chair or another situation in which they wouldn't be able to turn around, or an inanimate object, such as a computer, vending machine, telephone, etc.Graf Zahl wrote:You have to present a use case for something this seemingly nonsensical.
Re: MODELDEF ignore rotation?
If that's the primary use case, the more prudent thing to do would be to add a flag that disables the rotation (if something like this doesn't exist already). The same case could be made about a character in a chair that uses sprites.
Re: MODELDEF ignore rotation?
That's not a rotation, that's facing angle. I'm nitpicking but rotation has kind of a specific meaning in the Doom engine.
Basically what seems the most likely to be possible is a ZSDF feature where a conversation doesn't cause the actor to face the player. I don't see that MODELDEF would be the right place for that.
Basically what seems the most likely to be possible is a ZSDF feature where a conversation doesn't cause the actor to face the player. I don't see that MODELDEF would be the right place for that.
- Graf Zahl
- Lead GZDoom+Raze Developer
- Posts: 49056
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: MODELDEF ignore rotation?
Definitely not. I actually expected something like this: User wants A. Doing B achieves A. Ask for B instead of A.
Re: MODELDEF ignore rotation?
While having a ZDSF option would be good, certainly in the examples listed - if Diode wants to make progess with his mod, an invisible actor could be placed in the same location as the inanimate object. So, the player would see the object, walk up to it an use it but the player would actually be having his conversation with the invisible actor instead. The visible actor would just be a static decoration and would not turn to face the player.Diode wrote:a 3D model of a character in a chair or another situation in which they wouldn't be able to turn around, or an inanimate object, such as a computer, vending machine, telephone, etc.
Re: MODELDEF ignore rotation?
I suggested the modeldef route because I didn't think there were many people who'd care about strife dialog, since its rarely used, and it seemed less of a necessity for sprites than it did for 3D models, since if you only want something drawn from one angle in sprites, you just... don't draw the other sprite angles.Graf Zahl wrote:Definitely not. I actually expected something like this: User wants A. Doing B achieves A. Ask for B instead of A.
Aside from that I'd been playing with environment mapped textures on models too, and thought there would probably be someone who'd eventually want a model that doesn't turn with its actor's movement if they were trying to make some kind of ghostly or void-like monster.
I can resubmit this a strife dialog request if you want.
This'll work for some things but I think things would start getting messy if I wanted the player to be able to also shoot the visible actor. I'm not certain but it might also add a layer of complexity if I wanted to animate the visible model in response to the dialog, but then again, it might not.Enjay wrote:So, the player would see the object, walk up to it an use it but the player would actually be having his conversation with the invisible actor instead. The visible actor would just be a static decoration and would not turn to face the player.
Re: MODELDEF ignore rotation?
I agree that what I suggested is no substitute for a properly implemented feature but it could work in some situations. What are you doing shooting people in chairs, computers, vending machines and 'phones anyway?
IMO, it makes perfect sense for it to be in the dialogue system because (I suspect) it will just be a simple override to not call that behaviour during a dialogue, and thereby fix the problem in a nice, robust manner - presumably for sprites as well as models.
There could well be a need for something similar elsewhere but I'm sure that some ZSCript and even DECORATE solutions will already exist for some situations.
IMO, it makes perfect sense for it to be in the dialogue system because (I suspect) it will just be a simple override to not call that behaviour during a dialogue, and thereby fix the problem in a nice, robust manner - presumably for sprites as well as models.
There could well be a need for something similar elsewhere but I'm sure that some ZSCript and even DECORATE solutions will already exist for some situations.
- Graf Zahl
- Lead GZDoom+Raze Developer
- Posts: 49056
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: MODELDEF ignore rotation?
For the record: Using ACS's StartConversation this can already be toggled, so adding it for using an actor wouldn't be too hard.
Adding a 'No rotate' model flag would end up a mess - and not even solve the problem at hand without making things worse.
Adding a 'No rotate' model flag would end up a mess - and not even solve the problem at hand without making things worse.
Re: MODELDEF ignore rotation?
Just had a look into this. Unless I'm wrong, it seems like it only supports the original binary dialog format, or only works when triggered from elsewhere? I couldn't find a way to use StartConversation with either format directly on interaction with the actor as the dialog seems to override the thing special. But there's a distinct possibility that I'm a blind and clueless fool.Using ACS's StartConversation this can already be toggled, so adding it for using an actor wouldn't be too hard.