SetModelFlag

From ZDoom Wiki
Jump to navigation Jump to search

Actor

void SetModelFlag(int flag)

void A_SetModelFlag(int flag) — Action function version for calling from StateProvider and PSprites.

Usage

Sets the MODELDEF flags of the model currently attached to the actor.

Parameters

  • int flag:
The flag(s) to set on the model. Multiple flags can be combined with |. You can use any of the MDL_ constants from the list below:
MODELDEF flag name Related ZScript constant Description
PITCHFROMMOMENTUM MDL_PITCHFROMMOMENTUM Adjusts the model's pitch to match the momentum of the actor. Useful for projectiles
that don't call A_FaceMovementDirection to adjust their actual pitch in flight.
IGNORETRANSLATION MDL_IGNORETRANSLATION Ignores the actor's color translation.
INTERPOLATEDOUBLEDFRAMES MDL_INTERPOLATEDOUBLEDFRAMES Smoothes model interpolation for actors that use the same frame twice in a row
(for example, most of the standard Doom monsters do this in their see state).
ROTATING MDL_ROTATING Makes the model rotate continuously. Useful for pickup models a la Quake.
Related properties must be defined AFTER this flag in MODELDEF.
NOINTERPOLATION MDL_NOINTERPOLATION Forces uninterpolated animation.
USEACTORPITCH MDL_USEACTORPITCH Model's pitch adjusts to match actor's pitch.
USEACTORROLL MDL_USEACTORROLL Model's roll adjusts to match actor's roll.
INHERITACTORPITCH (deprecated) none Model's pitch adjusts to match the actor's pitch, deprecated because of the unintended pitch inversion and bad name choice
INHERITACTORROLL (deprecated) none Model's roll, adjusts to match actor's roll. Same as USEACTORPITCH, deprecated because of bad name choice.
DONTCULLBACKFACES MDL_DONTCULLBACKFACES Forcefully disables backface culling.
FORCECULLBACKFACES MDL_FORCECULLBACKFACES Forcefully enables backface culling.
USEROTATIONCENTER MDL_USEROTATIONCENTER Makes Rotation-Center affect actor angles (the property must be set AFTER this flag to work).
Useless unless any of the actor rotation flags are also used.
NOPERPIXELLIGHTING MDL_NOPERPIXELLIGHTING Disables per-pixel lighting on the model.
SCALEWEAPONFOV MDL_SCALEWEAPONFOV Scales the weapon's model along with the user's FOV to reduce distortion.
MODELSAREATTACHMENTS MDL_MODELSAREATTACHMENTS If the actor uses an IQM model, another model can be attached to it, provided the other model
uses the same armature. For example, this can be used to hot-swap the weapon model in a
character's hands. Model and index 0 is considered the base model.
Attached models cannot have separate animations; they will be animated alongside the armature
of the base model. Each model needs to have the same exact armature or unwanted behavior may occur.
Having this flag defined takes priority over the Animation property.
CORRECTPIXELSTRETCH MDL_CORRECTPIXELSTRETCH By default, models stretch when their pitch or roll changes, in a way that matches aspect ratio correction.
This flag disables that behavior so the model always retains the same size without any distortion.
Note: Although technically a bug, the stretching can nevertheless be useful, for example, to ensure that a
beam-shaped model retains the same length in map units regardless of orientation.

Examples

Nuvolachalk.png Note: This article lists no examples. If you make use of this feature in your own project(s) or know of any basic examples that could be shared, please add them. This will make it easier to understand for future authors seeking assistance. Your contributions are greatly appreciated.


See also