[studiomdl] blended animations will crash studiomdl.exe under specific circumstances #328

Open
opened 2021-07-04 19:05:45 +00:00 by Wolfcl0ck · 2 comments
Wolfcl0ck commented 2021-07-04 19:05:45 +00:00 (Migrated from gitlab.com)

This is going to be somewhat difficult to explain. Basically, sequences in a qc file that blend multiple animations together (for example, the "walk_all" sequence, which usually references up to 9 different animations) will crash studiomdl if the following circumstances are met:

  1. The sequence includes a reference to a new smd file
  2. the newly referenced smd file is NOT at the top of the list.
    Here is an example of a sequence that will crash studiomdl:
$sequence "walk_all" {
	"a_walk_S_0_0"
	"a_walk_SE_1_0"
	"a_walk_E_2_0"
	"a_walk_NE_3_0"
	"a_walk_N_4_0"
	"a_walk_NW_5_0"
	"a_walk_W_6_0"
	"a_walk_SW_7_0"
	"Alyx_anims\walk_all.smd"
	activity "ACT_WALK" 1
	blend "move_yaw" -180 180
	blendwidth 9
	fadein 0.2
	fadeout 0.2
	node ""
	fps 30
	loop
	walkframe 30 LX LY
}

Now here is what needs to be done to fix the previous sequence so that it won't crash:

$sequence "walk_all" {
	"Alyx_anims\walk_all.smd"
	"a_walk_S_0_0"
	"a_walk_SE_1_0"
	"a_walk_E_2_0"
	"a_walk_NE_3_0"
	"a_walk_N_4_0"
	"a_walk_NW_5_0"
	"a_walk_W_6_0"
	"a_walk_SW_7_0"
	activity "ACT_WALK" 1
	blend "move_yaw" -180 180
	blendwidth 9
	fadein 0.2
	fadeout 0.2
	node ""
	fps 30
	loop
	walkframe 30 LX LY
}

The issue doesn't seem to affect sequences that do not reference any new smd files in them. The user-side fix is relatively simple, so I would not call this a high priority bug to fix, but it would definitely be a tremendous quality of life fix to the program.

This is going to be somewhat difficult to explain. Basically, sequences in a qc file that blend multiple animations together (for example, the "walk_all" sequence, which usually references up to 9 different animations) will crash studiomdl if the following circumstances are met: 1. The sequence includes a reference to a new smd file 2. the newly referenced smd file is NOT at the top of the list. Here is an example of a sequence that will crash studiomdl: ``` $sequence "walk_all" { "a_walk_S_0_0" "a_walk_SE_1_0" "a_walk_E_2_0" "a_walk_NE_3_0" "a_walk_N_4_0" "a_walk_NW_5_0" "a_walk_W_6_0" "a_walk_SW_7_0" "Alyx_anims\walk_all.smd" activity "ACT_WALK" 1 blend "move_yaw" -180 180 blendwidth 9 fadein 0.2 fadeout 0.2 node "" fps 30 loop walkframe 30 LX LY } ``` Now here is what needs to be done to fix the previous sequence so that it won't crash: ``` $sequence "walk_all" { "Alyx_anims\walk_all.smd" "a_walk_S_0_0" "a_walk_SE_1_0" "a_walk_E_2_0" "a_walk_NE_3_0" "a_walk_N_4_0" "a_walk_NW_5_0" "a_walk_W_6_0" "a_walk_SW_7_0" activity "ACT_WALK" 1 blend "move_yaw" -180 180 blendwidth 9 fadein 0.2 fadeout 0.2 node "" fps 30 loop walkframe 30 LX LY } ``` The issue doesn't seem to affect sequences that do not reference any new smd files in them. The user-side fix is relatively simple, so I would not call this a high priority bug to fix, but it would definitely be a tremendous quality of life fix to the program.
UAVXP commented 2021-07-05 08:14:34 +00:00 (Migrated from gitlab.com)

changed title from blended animations will crash studiomdl.exe under specific circumstances to {+[studiomdl] +}blended animations will crash studiomdl.exe under specific circumstances

changed title from **blended animations will crash studiomdl.exe under specific circumstances** to **{+[studiomdl] +}blended animations will crash studiomdl.exe under specific circumstances**
UAVXP commented 2021-09-30 09:14:34 +00:00 (Migrated from gitlab.com)

changed the description

changed the description
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
Archive/LeakNet#328
No description provided.