SetModelFlag
Jump to navigation
Jump to search
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
![]() |
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. |