X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=world.h;h=823b38c70e7992ae838f91b6dd0f55a330feec1e;hb=5f6a4f9df6c8accc89f1920bfe9ace3cbac4c4b6;hp=6ff3afbc00f295d7a459eec32d0eff75bcc7e719;hpb=a109f126d8adab622e38fbcc2d4281e75255246a;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/world.h b/world.h index 6ff3afb..823b38c 100644 --- a/world.h +++ b/world.h @@ -1,12 +1,11 @@ /* - * Copyright (C) 2021-2023 Mt.ZERO Software, Harry Godden - All Rights Reserved + * Copyright (C) 2021-2024 Mt.ZERO Software, Harry Godden - All Rights Reserved */ -#ifndef WORLD_H -#define WORLD_H - +#pragma once #include "render.h" #include "network_msg.h" +#include "addon.h" /* types */ @@ -33,15 +32,13 @@ struct leaderboard_cache { typedef struct world_instance world_instance; -static void skaterift_world_get_save_path( enum world_purpose which, - char buf[128] ); +void skaterift_world_get_save_path( enum world_purpose which, char buf[128] ); /* submodule headers */ #include "world_entity.h" #include "world_gate.h" #include "world_gen.h" #include "world_info.h" -#include "world_load.h" #include "world_physics.h" #include "world_render.h" #include "world_sfd.h" @@ -245,7 +242,7 @@ struct world_static { enum world_purpose active_instance; u32 focused_entity; /* like skateshop, challenge.. */ f32 focus_strength; - camera focus_cam; + vg_camera focus_cam; /* challenges */ ent_objective *challenge_target; @@ -258,10 +255,16 @@ struct world_static { } load_state; } -static world_static; +extern world_static; -static void world_init(void); -static world_instance *world_current_instance(void); -static void world_switch_instance( u32 index ); +struct world_load_args +{ + enum world_purpose purpose; + addon_reg *reg; +}; -#endif /* WORLD_H */ +void world_init(void); +world_instance *world_current_instance(void); +void world_switch_instance( u32 index ); +void skaterift_world_load_thread( void *_args ); +void world_update( world_instance *world, v3f pos );