projects
/
carveJwlIkooP6JGAAIwe30JlM.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
server version check
[carveJwlIkooP6JGAAIwe30JlM.git]
/
world.h
diff --git
a/world.h
b/world.h
index c412a88097cc3bb98ba044f0a08df45c4dc49764..98b9df90bc7e120bfea347fcad2e088037b444cc 100644
(file)
--- a/
world.h
+++ b/
world.h
@@
-6,6
+6,7
@@
#define WORLD_H
#include "render.h"
#define WORLD_H
#include "render.h"
+#include "network_msg.h"
/* types
*/
/* types
*/
@@
-16,8
+17,24
@@
enum world_geo_type{
k_world_geo_type_water = 2
};
k_world_geo_type_water = 2
};
+enum world_purpose{
+ k_world_purpose_hub = 0,
+ k_world_purpose_client = 1,
+ k_world_max
+};
+
+struct leaderboard_cache {
+ enum request_status status;
+ f64 cache_time;
+ u8 *data;
+ u32 data_len;
+};
+
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"
@@
-156,9
+173,10
@@
struct world_instance {
ent_camera,
ent_swspreview,
ent_ccmd,
ent_camera,
ent_swspreview,
ent_ccmd,
+ ent_objective,
ent_challenge,
ent_challenge,
- ent_
unlock
,
- ent_
relay
;
+ ent_
relay
,
+ ent_
cubemap
;
ent_gate *rendering_gate;
ent_gate *rendering_gate;
@@
-181,11
+199,12
@@
struct world_instance {
glmesh mesh_geo,
mesh_no_collide,
mesh_water;
glmesh mesh_geo,
mesh_no_collide,
mesh_water;
+ u32 cubemap_cooldown, cubemap_side;
rb_object rb_geo;
rb_object rb_geo;
- ent_challenge *challenge_target;
-
f32 challenge_timer
;
+ /* leaderboards */
+
struct leaderboard_cache *leaderboard_cache
;
};
struct world_static {
};
struct world_static {
@@
-201,11
+220,17
@@
struct world_static {
u32 active_trigger_volumes[8];
u32 active_trigger_volume_count;
u32 active_trigger_volumes[8];
u32 active_trigger_volume_count;
-
world_instance instances[4
];
-
i32 active_instance
;
+
addon_reg *instance_addons[ k_world_max
];
+
world_instance instances[ k_world_max ]
;
- addon_reg *addon_hub,
- *addon_client;
+ enum world_purpose active_instance;
+ u32 focused_entity; /* like skateshop, challenge.. */
+ f32 focus_strength;
+ camera focus_cam;
+
+ /* challenges */
+ ent_objective *challenge_target;
+ f32 challenge_timer;
enum world_loader_state{
k_world_loader_none,
enum world_loader_state{
k_world_loader_none,
@@
-218,5
+243,6
@@
static world_static;
static void world_init(void);
static world_instance *world_current_instance(void);
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 */