projects
/
carveJwlIkooP6JGAAIwe30JlM.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
load in preview images to dynamic rt textures
[carveJwlIkooP6JGAAIwe30JlM.git]
/
world.h
diff --git
a/world.h
b/world.h
index d35f0646b6ec1e8ed76b4d789e2f57bac4a74793..0a67abf855df6d9216424243f9730770e945acda 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
*/
@@
-17,10
+18,18
@@
enum world_geo_type{
};
enum world_purpose{
};
enum world_purpose{
- k_world_purpose_hub,
- k_world_purpose_client
-}
-purpose;
+ k_world_purpose_invalid = -1,
+ 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;
@@
-54,6
+63,8
@@
struct world_instance {
* -------------------------------------------------------
*/
* -------------------------------------------------------
*/
+ v4f player_co;
+
void *heap;
enum world_status{
k_world_status_unloaded = 0,
void *heap;
enum world_status{
k_world_status_unloaded = 0,
@@
-168,7
+179,14
@@
struct world_instance {
ent_objective,
ent_challenge,
ent_relay,
ent_objective,
ent_challenge,
ent_relay,
- ent_cubemap;
+ ent_cubemap,
+ ent_miniworld,
+ ent_prop;
+
+ enum skybox {
+ k_skybox_default,
+ k_skybox_space
+ } skybox;
ent_gate *rendering_gate;
ent_gate *rendering_gate;
@@
-194,6
+212,9
@@
struct world_instance {
u32 cubemap_cooldown, cubemap_side;
rb_object rb_geo;
u32 cubemap_cooldown, cubemap_side;
rb_object rb_geo;
+
+ /* leaderboards */
+ struct leaderboard_cache *leaderboard_cache;
};
struct world_static {
};
struct world_static {
@@
-209,8
+230,10
@@
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 ];
+
+ enum world_purpose active_instance;
u32 focused_entity; /* like skateshop, challenge.. */
f32 focus_strength;
camera focus_cam;
u32 focused_entity; /* like skateshop, challenge.. */
f32 focus_strength;
camera focus_cam;
@@
-219,9
+242,6
@@
struct world_static {
ent_objective *challenge_target;
f32 challenge_timer;
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,
enum world_loader_state{
k_world_loader_none,
k_world_loader_preload,
@@
-233,6
+253,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_s
et_active
_instance( u32 index );
+static void world_s
witch
_instance( u32 index );
#endif /* WORLD_H */
#endif /* WORLD_H */