small refactor of model loading
[carveJwlIkooP6JGAAIwe30JlM.git] / ent_miniworld.c
index 46def88bf700f90eeacef359585da43d8762997d..fcdba0b12c20cf62967d84c6037cda3ab9d97fe1 100644 (file)
@@ -1,11 +1,16 @@
 #include "entity.h"
 #include "ent_miniworld.h"
 #include "world_render.h"
+#include "world_load.h"
 #include "input.h"
 #include "gui.h"
 #include "menu.h"
+#include "audio.h"
 
-static void ent_miniworld_call( world_instance *world, ent_call *call ){
+struct global_miniworld global_miniworld;
+
+void ent_miniworld_call( world_instance *world, ent_call *call )
+{
    ent_miniworld *miniworld = mdl_arritm( &world->ent_miniworld, 
                                           mdl_entity_id_id(call->id) );
 
@@ -36,7 +41,9 @@ static void ent_miniworld_call( world_instance *world, ent_call *call ){
    }
 }
 
-static void miniworld_icon( camera *cam, enum gui_icon icon, v3f pos, f32 size){
+static void miniworld_icon( vg_camera *cam, enum gui_icon icon, 
+                            v3f pos, f32 size)
+{
    m4x3f mmdl;
    v3_copy( cam->transform[2], mmdl[2] );
    mmdl[2][1] = 0.0f;
@@ -58,7 +65,8 @@ static void miniworld_icon( camera *cam, enum gui_icon icon, v3f pos, f32 size){
       mdl_draw_submesh( sm );
 }
 
-static void ent_miniworld_render( world_instance *host_world, camera *cam ){
+void ent_miniworld_render( world_instance *host_world, vg_camera *cam )
+{
    if( host_world != &world_static.instances[k_world_purpose_hub] )
       return;
 
@@ -138,7 +146,8 @@ static void ent_miniworld_render( world_instance *host_world, camera *cam ){
    }
 }
 
-static void ent_miniworld_preupdate(void){
+void ent_miniworld_preupdate(void)
+{
    world_instance *hub = world_current_instance(),
                   *dest = &world_static.instances[k_world_purpose_client];
 
@@ -177,7 +186,8 @@ static void ent_miniworld_preupdate(void){
    }
 }
 
-static void ent_miniworld_goback(void){
+void ent_miniworld_goback(void)
+{
    audio_lock();
    audio_oneshot( &audio_ui[2], 1.0f, 0.0f );
    audio_unlock();
@@ -186,6 +196,6 @@ static void ent_miniworld_goback(void){
    global_miniworld.t = 1.0f;
 
    global_miniworld.cam = skaterift.cam;
-   m4x3_transform_camera( global_miniworld.mmdl, &global_miniworld.cam );
+   vg_m4x3_transform_camera( global_miniworld.mmdl, &global_miniworld.cam );
    world_switch_instance(0);
 }