Skip to content

Commit ef239de

Browse files
committed
optional delay_pose for animations
1 parent f58e29f commit ef239de

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

scripts/dmodels.dsc

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ dmodels_animate:
181181
dmodels_move_to_frame:
182182
type: task
183183
debug: false
184-
definitions: root_entity|animation|timespot
184+
definitions: root_entity|animation|timespot|delay_pose
185185
script:
186186
- define model_data <server.flag[dmodels_data.model_<[root_entity].flag[dmodel_model_id]>]>
187187
- define animation_data <server.flag[dmodels_data.animations_<[root_entity].flag[dmodel_model_id]>.<[animation]>]>
@@ -259,8 +259,12 @@ dmodels_move_to_frame:
259259
- adjust <[ent]> reset_client_location
260260
- define radian_rot <[new_rot].xyz.split[,]>
261261
- define pose <[radian_rot].get[1]>,<[radian_rot].get[2]>,<[radian_rot].get[3]>
262-
- adjust <[ent]> armor_pose:[head=<[pose]>]
263-
- adjust <[ent]> send_update_packets
262+
- if <[delay_pose]>:
263+
- adjust <[ent]> armor_pose:[head=<[ent].flag[dmodels_next_pose].if_null[<[ent].flag[dmodel_def_pose]>]>]
264+
- flag <[ent]> dmodels_next_pose:<[pose]>
265+
- else:
266+
- adjust <[ent]> armor_pose:[head=<[pose]>]
267+
- adjust <[ent]> send_update_packets
264268

265269
dmodels_rot_proc:
266270
type: procedure
@@ -321,5 +325,5 @@ dmodels_animator:
321325
- foreach <server.flag[dmodels_anim_active]> key:root_id:
322326
- define root <entity[<[root_id]>]||null>
323327
- if <[root].is_spawned||false>:
324-
- run dmodels_move_to_frame def.root_entity:<[root]> def.animation:<[root].flag[dmodels_animation_id]> def.timespot:<[root].flag[dmodels_anim_time].div[20]>
328+
- run dmodels_move_to_frame def.root_entity:<[root]> def.animation:<[root].flag[dmodels_animation_id]> def.timespot:<[root].flag[dmodels_anim_time].div[20]> def.delay_pose:true
325329
- flag <[root]> dmodels_anim_time:++

0 commit comments

Comments
 (0)