projects
/
carveJwlIkooP6JGAAIwe30JlM.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
network compression test
[carveJwlIkooP6JGAAIwe30JlM.git]
/
world.h
diff --git
a/world.h
b/world.h
index d6f80412bb97f00336614b124198b905d2fcd058..d35f0646b6ec1e8ed76b4d789e2f57bac4a74793 100644
(file)
--- a/
world.h
+++ b/
world.h
@@
-16,8
+16,17
@@
enum world_geo_type{
k_world_geo_type_water = 2
};
k_world_geo_type_water = 2
};
+enum world_purpose{
+ k_world_purpose_hub,
+ k_world_purpose_client
+}
+purpose;
+
typedef struct world_instance world_instance;
typedef struct world_instance world_instance;
+static void skaterift_world_get_save_path( enum world_purpose which,
+ char buf[128] );
+
/* submodule headers */
#include "world_entity.h"
#include "world_gate.h"
/* submodule headers */
#include "world_entity.h"
#include "world_gate.h"
@@
-34,8
+43,8
@@
typedef struct world_instance world_instance;
/* console variables */
/* console variables */
-static f
loat
k_day_length = 30.0f; /* minutes */
-static i
nt
k_debug_light_indices = 0,
+static f
32
k_day_length = 30.0f; /* minutes */
+static i
32
k_debug_light_indices = 0,
k_debug_light_complexity= 0,
k_light_preview = 0;
k_debug_light_complexity= 0,
k_light_preview = 0;
@@
-154,7
+163,12
@@
struct world_instance {
ent_skateshop,
ent_marker,
ent_camera,
ent_skateshop,
ent_marker,
ent_camera,
- ent_swspreview;
+ ent_swspreview,
+ ent_ccmd,
+ ent_objective,
+ ent_challenge,
+ ent_relay,
+ ent_cubemap;
ent_gate *rendering_gate;
ent_gate *rendering_gate;
@@
-168,15
+182,16
@@
struct world_instance {
scene_lines;
/* spacial mappings */
scene_lines;
/* spacial mappings */
- bh_tree *
audi
o_bh,
- *
volume_bh,
-
*geo_bh
;
+ bh_tree *
ge
o_bh,
+ *
entity_bh;
+
u32 *entity_list
;
/* graphics */
glmesh mesh_route_lines;
glmesh mesh_geo,
mesh_no_collide,
mesh_water;
/* graphics */
glmesh mesh_route_lines;
glmesh mesh_geo,
mesh_no_collide,
mesh_water;
+ u32 cubemap_cooldown, cubemap_side;
rb_object rb_geo;
};
rb_object rb_geo;
};
@@
-191,14
+206,33
@@
struct world_static {
u32 current_run_version;
double time, rewind_from, rewind_to, last_use;
u32 current_run_version;
double time, rewind_from, rewind_to, last_use;
- int in_volume;
+ u32 active_trigger_volumes[8];
+ u32 active_trigger_volume_count;
+
+ world_instance instances[4];
+ i32 active_instance;
+ u32 focused_entity; /* like skateshop, challenge.. */
+ f32 focus_strength;
+ camera focus_cam;
- world_instance worlds[4];
- u32 active_world;
+ /* challenges */
+ ent_objective *challenge_target;
+ f32 challenge_timer;
+
+ addon_reg *addon_hub,
+ *addon_client;
+
+ enum world_loader_state{
+ k_world_loader_none,
+ k_world_loader_preload,
+ k_world_loader_load
+ }
+ load_state;
}
static world_static;
static void world_init(void);
static world_instance *world_current_instance(void);
}
static world_static;
static void world_init(void);
static world_instance *world_current_instance(void);
+static void world_set_active_instance( u32 index );
#endif /* WORLD_H */
#endif /* WORLD_H */