cd79b4552626ca5dda89aac1bbcd0b7d1ef63419
2 #include "ent_miniworld.h"
3 #include "world_render.h"
6 static void ent_miniworld_call( world_instance
*world
, ent_call
*call
){
7 ent_miniworld
*miniworld
= mdl_arritm( &world
->ent_miniworld
,
8 mdl_entity_id_id(call
->id
) );
10 int world_id
= world
- world_static
.instances
;
12 if( call
->function
== 0 ){ /* zone() */
13 const char *uid
= mdl_pstr( &world
->meta
, miniworld
->pstr_world
);
14 skaterift_load_world_command( 1, (const char *[]){ uid
} );
16 global_miniworld
.active_id
= call
->id
;
18 else if( call
->function
== 1 ){
20 if( global_miniworld
.active_id
== call
->id
)
21 global_miniworld
.active_id
= 0;
23 vg_warn( "bad call\n" );
25 if( miniworld
->proxy
){
26 ent_prop
*prop
= mdl_arritm( &world
->ent_prop
,
27 mdl_entity_id_id(miniworld
->proxy
) );
33 static void ent_miniworld_render( world_instance
*host_world
){
34 u32 entity_id
= global_miniworld
.active_id
;
39 ent_miniworld
*miniworld
= mdl_arritm( &host_world
->ent_miniworld
,
40 mdl_entity_id_id(entity_id
) );
43 if( miniworld
->purpose
== k_world_purpose_invalid
)
46 if( miniworld
->proxy
){
47 ent_prop
*prop
= mdl_arritm( &host_world
->ent_prop
,
48 mdl_entity_id_id(miniworld
->proxy
) );
58 world_instance
*dest_world
= &world_static
.instances
[miniworld
->purpose
];
62 mdl_transform_m4x3( &miniworld
->transform
, mmdl
);
63 render_world_override( dest_world
, host_world
, mmdl
);
65 //render_world_routes( , &skaterift.cam, 1 );
68 static void ent_miniworld_preupdate(void){
69 if( !global_miniworld
.active_id
)
72 if( button_down( k_srbind_use
) ){