3 new characters
authorhgn <hgodden00@gmail.com>
Sun, 26 Nov 2023 03:21:13 +0000 (03:21 +0000)
committerhgn <hgodden00@gmail.com>
Sun, 26 Nov 2023 03:21:13 +0000 (03:21 +0000)
player_render.c
playermodels_src/skaterift_aaron/ch_aaron.mdl
playermodels_src/skaterift_chip/ch_chip.mdl
playermodels_src/skaterift_ela/ch_ela.mdl [new file with mode: 0644]
playermodels_src/skaterift_j/ch_j.mdl
playermodels_src/skaterift_john/ch_john.mdl [new file with mode: 0644]
playermodels_src/skaterift_jordan/ch_jordan.mdl
playermodels_src/skaterift_new/ch_new.mdl
playermodels_src/skaterift_outlaw/ch_outlaw.mdl
skeleton.h

index ad56c241ec10f11dff072567cb1537a564b3a72b..4793637bbda83e96f745fa8e0a7d9bd5981b8c38 100644 (file)
@@ -225,7 +225,18 @@ static void player__animate(void){
       localplayer.holdout_time -= vg.time_frame_delta * 2.0f;
    }
 
-   v3_fill( pose->keyframes[ localplayer.id_eyes-1 ].co, sinf(vg.time) );
+   static float blinkt = 1.0f,
+                blinkl = 0.0f;
+
+   if( blinkt < 0.0f ){
+      blinkt = (1.0f-powf(vg_randf64(),4.0f))*4.0f;
+      blinkl = 0.08f;
+   }
+
+   pose->keyframes[ localplayer.id_eyes-1 ].s[1] = blinkl > 0.0f? 0.2f: 1.0f;
+
+   blinkt -= vg.time_delta;
+   blinkl -= vg.time_delta;
 
    apply_full_skeleton_pose( sk, &localplayer.pose, localplayer.final_mtx );
    skeleton_debug( sk, localplayer.final_mtx );
index 763a8c18b8b124c3707587b0dc781effd2ed3bf1..808d49657a4a91b9f846c2e0e601b7924f62bad4 100644 (file)
Binary files a/playermodels_src/skaterift_aaron/ch_aaron.mdl and b/playermodels_src/skaterift_aaron/ch_aaron.mdl differ
index bc3d82dcaebe9189ef23b82e1174ff67fc92eaec..92d3153bda7427d52c5479a418e8f496837c2f60 100644 (file)
Binary files a/playermodels_src/skaterift_chip/ch_chip.mdl and b/playermodels_src/skaterift_chip/ch_chip.mdl differ
diff --git a/playermodels_src/skaterift_ela/ch_ela.mdl b/playermodels_src/skaterift_ela/ch_ela.mdl
new file mode 100644 (file)
index 0000000..0d165c0
Binary files /dev/null and b/playermodels_src/skaterift_ela/ch_ela.mdl differ
index 90809e51871d03e8396b2019a7a11f53277a18ad..876bcd70ae0c9f49235f119c00e9f7132d40cb45 100644 (file)
Binary files a/playermodels_src/skaterift_j/ch_j.mdl and b/playermodels_src/skaterift_j/ch_j.mdl differ
diff --git a/playermodels_src/skaterift_john/ch_john.mdl b/playermodels_src/skaterift_john/ch_john.mdl
new file mode 100644 (file)
index 0000000..f5f3239
Binary files /dev/null and b/playermodels_src/skaterift_john/ch_john.mdl differ
index cdd96f73efc1236110457a369c37091c3f2c46cb..c3d26f16ae4a1fe39740500d8b41a6476c16ca0a 100644 (file)
Binary files a/playermodels_src/skaterift_jordan/ch_jordan.mdl and b/playermodels_src/skaterift_jordan/ch_jordan.mdl differ
index 944eaf9694e6c70d3798447fa681205e9dd73b4a..1a439250ed5972b771587187919c41b8d5997eb8 100644 (file)
Binary files a/playermodels_src/skaterift_new/ch_new.mdl and b/playermodels_src/skaterift_new/ch_new.mdl differ
index 902df62705d7c5cc875c3798bd19a3d577dbc447..c27a6e97af1533ba6706c6f61c77e5dd88caf0c8 100644 (file)
Binary files a/playermodels_src/skaterift_outlaw/ch_outlaw.mdl and b/playermodels_src/skaterift_outlaw/ch_outlaw.mdl differ
index b94fa68cb84af7f75fe4ef0edfb9c305c9162720..868e62431b174e0975190521b5308aef458d485d 100644 (file)
@@ -212,6 +212,7 @@ static void skeleton_apply_pose( struct skeleton *skele, mdl_keyframe *pose,
          v3f *posemtx = final_mtx[i];
 
          q_m3x3( kf->q, posemtx );
+         m3x3_scale( posemtx, kf->s );
          v3_copy( kf->co, posemtx[3] );
       }
       return;
@@ -239,6 +240,7 @@ static void skeleton_apply_pose( struct skeleton *skele, mdl_keyframe *pose,
       /* pose matrix */
       mdl_keyframe *kf = &pose[i-1];
       q_m3x3( kf->q, posemtx );
+      m3x3_scale( posemtx, kf->s );
       v3_copy( kf->co, posemtx[3] );
       v3_add( temp_delta, posemtx[3], posemtx[3] );