projects
/
carveJwlIkooP6JGAAIwe30JlM.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
ff8fcac
)
yeah yeah yeah
author
hgn
<hgodden00@gmail.com>
Sun, 29 Jan 2023 22:46:13 +0000
(22:46 +0000)
committer
hgn
<hgodden00@gmail.com>
Sun, 29 Jan 2023 22:46:13 +0000
(22:46 +0000)
player_device_skate.h
patch
|
blob
|
history
skaterift.c
patch
|
blob
|
history
diff --git
a/player_device_skate.h
b/player_device_skate.h
index 04a2da1115242581249cece7b445d8d03d23c553..e23398d78a45e17d0b5df1165e3abf8faff5c069 100644
(file)
--- a/
player_device_skate.h
+++ b/
player_device_skate.h
@@
-44,9
+44,11
@@
struct player_device_skate
double start_push,
cur_push;
double start_push,
cur_push;
- struct mixedcam_state cam;
-
v3f prev_pos;
v3f prev_pos;
+
+
+ v3f vl, /* 1st */
+ posl; /* 3rd */
}
state,
state_gate_storage;
}
state,
state_gate_storage;
@@
-1172,7
+1174,9
@@
VG_STATIC void player_skate_update( player_interface *player,
m3x3_mulv( gate->transport, s->state.cog_v, s->state.cog_v );
m3x3_mulv( gate->transport, s->state.throw_v, s->state.throw_v );
m3x3_mulv( gate->transport, s->state.cog_v, s->state.cog_v );
m3x3_mulv( gate->transport, s->state.throw_v, s->state.throw_v );
+#if 0
mixedcam_transport( &s->state.cam, gate );
mixedcam_transport( &s->state.cam, gate );
+#endif
v4f transport_rotation;
m3x3_q( gate->transport, transport_rotation );
v4f transport_rotation;
m3x3_q( gate->transport, transport_rotation );
@@
-1506,40
+1510,34
@@
VG_STATIC void skate_camera_firstperson( player_interface *player,
//v3_normalize( flat_dir );
v3_lerp( flat_dir, vel_dir, vg_clampf( tti / 2.0f, 0.4f, 1.0f ), look_dir );
//v3_normalize( flat_dir );
v3_lerp( flat_dir, vel_dir, vg_clampf( tti / 2.0f, 0.4f, 1.0f ), look_dir );
- v3_lerp( s->state.
cam.vl, look_dir, 4.0f*vg.time_delta, s->state.cam
.vl );
+ v3_lerp( s->state.
vl, look_dir, 4.0f*vg.time_delta, s->state
.vl );
- skate_camera_vector_look( &at->cam_1st, s->state.
cam.vl, 0.7f, 0.
5f );
+ skate_camera_vector_look( &at->cam_1st, s->state.
vl, 1.0f, 0.2
5f );
}
}
-#if 0
VG_STATIC void skate_camera_thirdperson( player_interface *player,
VG_STATIC void skate_camera_thirdperson( player_interface *player,
- struct player_device_skate *s,
- struct player_avatar *av, camera *cam )
+ player_attachment *at )
{
{
- v3f prev_pos, cam_look_dir, d;
+ struct player_device_skate *s = at->storage;
+ struct player_avatar *av = player->playeravatar;
- v3_copy( s->state.cam.pos, prev_pos );
- skate_camera_thirdperson_nextpos( player, s, av, s->state.cam.pos, d);
+ v3f origin, dir, target;
+ v3_copy( player->rb.co, origin );
+ v3_add( origin, (v3f){0.0f,1.35f,0.0f}, origin );
+ v3_sub( origin, s->state.posl, dir );
+
+ if( v3_length2( dir ) < 0.1f*0.1f )
+ v3_copy( (v3f){ 0.0f, 0.0f, 1.0f }, dir ); /* FIXME */
+ else
+ v3_normalize( dir );
- if( s->state.cam.gate )
- {
- v2f _;
- if( gate_intersect_plane( s->state.cam.gate,
- s->state.cam.pos, prev_pos, _ ) )
- {
- m4x3_mulv( s->state.cam.gate->transport,
- s->state.cam.pos, s->state.cam.pos );
- m3x3_mulv( s->state.cam.gate->transport, d, d );
- player_apply_transport_to_cam( s->state.cam.gate->transport );
+ v3_muladds( origin, dir, -2.0f, target );
+ v3_lerp( s->state.posl, target, vg.frame_delta * 12.0f, s->state.posl );
- s->state.cam.gate = NULL;
- }
- }
-
- skate_camera_vector_look( cam, d, 1.0f, 0.0f );
- v3_copy( s->state.cam.pos, cam->pos );
+ v3_copy( s->state.posl, at->cam_3rd.pos );
+ skate_camera_vector_look( &at->cam_3rd, dir, 1.0f, 0.0f );
+ at->cam_3rd.fov = 100.0f;
}
}
-#endif
VG_STATIC void player_skate_post_animate( player_interface *player,
player_attachment *at )
VG_STATIC void player_skate_post_animate( player_interface *player,
player_attachment *at )
@@
-1551,11
+1549,7
@@
VG_STATIC void player_skate_post_animate( player_interface *player,
v3_zero( at->cam_1st.angles );
at->cam_1st.fov = 90.0f;
v3_zero( at->cam_1st.angles );
at->cam_1st.fov = 90.0f;
-#if 0
- if( cl_thirdperson )
- skate_camera_thirdperson( player, s, av, cam );
- else
-#endif
+ skate_camera_thirdperson( player, at );
skate_camera_firstperson( player, at );
/* FIXME: Organize this. Its int wrong fucking place */
skate_camera_firstperson( player, at );
/* FIXME: Organize this. Its int wrong fucking place */
@@
-1579,7
+1573,9
@@
VG_STATIC void player_skate_reset( player_interface *player,
struct player_device_skate *s = at->storage;
v3_muladds( player->rb.co, player->rb.to_world[1], 1.0f, s->state.cog );
struct player_device_skate *s = at->storage;
v3_muladds( player->rb.co, player->rb.to_world[1], 1.0f, s->state.cog );
+#if 0
mixedcam_reset( player, &s->state.cam );
mixedcam_reset( player, &s->state.cam );
+#endif
}
VG_STATIC player_device player_device_skate =
}
VG_STATIC player_device player_device_skate =
diff --git
a/skaterift.c
b/skaterift.c
index 3923ca0140e29d032ba6d183b25acc208e04ef93..0d3ff70599a60ec40e2b2e653363c5b66e810d8b 100644
(file)
--- a/
skaterift.c
+++ b/
skaterift.c
@@
-251,7
+251,7
@@
VG_STATIC void vg_load(void)
player_use_avatar( &localplayer, &localplayer_avatar );
player_use_mesh( &localplayer, &localplayer_meshes[0] );
player_use_device( &localplayer, &player_device_walk, &localplayer_walk );
player_use_avatar( &localplayer, &localplayer_avatar );
player_use_mesh( &localplayer, &localplayer_meshes[0] );
player_use_device( &localplayer, &player_device_walk, &localplayer_walk );
-
//
player_use_device( &localplayer, &player_device_skate, &localplayer_skate );
+ player_use_device( &localplayer, &player_device_skate, &localplayer_skate );
/* --------------------- */
/* --------------------- */