5ece5f517f9a2e03179f6773a12527ed18e57ed8
[carveJwlIkooP6JGAAIwe30JlM.git] / anim_test.h
1 #ifndef ANIM_TEST_H
2 #define ANIM_TEST_H
3
4 #include "player.h"
5 #include "skeleton.h"
6
7 static struct
8 {
9 struct skeleton skele;
10 struct skeleton_anim *yay;
11 }
12 animtest;
13
14 static void anim_test_start(void)
15 {
16 mdl_header *johannes = mdl_load( "models/ch_new.mdl" );
17 skeleton_setup( &animtest.skele, johannes );
18 animtest.yay = skeleton_get_anim( &animtest.skele, "yay" );
19
20 free( johannes );
21 }
22
23 static void anim_test_update(void)
24 {
25 player_freecam();
26 player_camera_update();
27
28 m4x3f transform;
29 m4x3_identity( transform );
30 skeleton_apply_frame( transform, &animtest.skele, animtest.yay, vg_time );
31
32 skeleton_debug( &animtest.skele );
33 }
34
35 static void anim_test_render(void)
36 {
37 m4x4f world_4x4;
38 m4x3_expand( player.camera_inverse, world_4x4 );
39
40 gpipeline.fov = 60.0f;
41 m4x4_projection( vg_pv, gpipeline.fov,
42 (float)vg_window_x / (float)vg_window_y,
43 0.1f, 2100.0f );
44
45 m4x4_mul( vg_pv, world_4x4, vg_pv );
46 glEnable( GL_DEPTH_TEST );
47
48 glDisable( GL_DEPTH_TEST );
49 vg_lines_drawall( (float *)vg_pv );
50 }
51
52 #endif /* ANIM_TEST_H */