world regions
[carveJwlIkooP6JGAAIwe30JlM.git] / player.h
index 939033a5296cca74b86692ac701279453f7b7a07..fe6d74c59795d6c89934a6f0dd540878768c73ba 100644 (file)
--- a/player.h
+++ b/player.h
@@ -10,6 +10,7 @@ enum player_subsystem{
    k_player_subsystem_skate = 1,
    k_player_subsystem_dead = 2,
    k_player_subsystem_drive = 3,
+   k_player_subsystem_basic_info = 4,
    k_player_subsystem_max,
    k_player_subsystem_invalid = 255
 };
@@ -55,10 +56,14 @@ struct player_subsystem_interface{
 #include "player_ragdoll.h"
 #include "player_render.h"
 #include "player_model.h"
+
+/* subsystem headers */
 #include "player_walk.h"
 #include "player_skate.h"
 #include "player_dead.h"
 #include "player_drive.h"
+#include "player_basic_info.h"
+
 #include "player_replay.h"
 
 #define PLAYER_REWIND_FRAMES 60*4
@@ -73,12 +78,6 @@ struct {
    rigidbody rb;
    v3f angles;
 
-#if 0
-   v4f   qbasis;
-   m3x3f basis, invbasis, basis_gate;
-   world_instance *viewable_world;
-#endif
-
    /*
     * Camera management
     * ---------------------------
@@ -98,6 +97,8 @@ struct {
    ent_gate *gate_waiting;
    int immobile;
 
+   int rewinded_since_last_gate;
+
    /* 
     * Network
     * --------------------------------------------------
@@ -118,6 +119,7 @@ struct {
 
    struct player_ragdoll  ragdoll;
    struct player_model    fallback_model;
+   struct player_board    fallback_board;
 
    u16 board_view_slot, playermodel_view_slot;
 
@@ -170,7 +172,8 @@ struct player_subsystem_interface static *player_subsystems[] = {
    [k_player_subsystem_walk]  = &player_subsystem_walk,
    [k_player_subsystem_dead]  = &player_subsystem_dead,
    [k_player_subsystem_drive] = &player_subsystem_drive,
-   [k_player_subsystem_skate] = &player_subsystem_skate
+   [k_player_subsystem_skate] = &player_subsystem_skate,
+   [k_player_subsystem_basic_info]=&player_subsystem_basic_info
 };
 
 /*