#include "respawn.h"
#include "ent_miniworld.h"
#include "player_remote.h"
+#include "ent_skateshop.h"
static int ccmd_set_time( int argc, const char *argv[] ){
world_instance *world = world_current_instance();
glEnable( GL_CULL_FACE );
}
+static GLuint world_get_texture( world_instance *world, u32 id ){
+ if( id & 0x80000000 )
+ return skaterift.rt_textures[id & ~0x80000000];
+ else
+ return world->textures[ id ];
+}
+
static void bindpoint_diffuse_texture1( world_instance *world,
- struct world_surface *mat )
-
-{
+ struct world_surface *mat ){
glActiveTexture( GL_TEXTURE1 );
- glBindTexture( GL_TEXTURE_2D, world->textures[ mat->info.tex_diffuse ] );
+ glBindTexture( GL_TEXTURE_2D,
+ world_get_texture(world,mat->info.tex_diffuse) );
}
static void bindpoint_diffuse1_and_cubemap10( world_instance *world,
struct world_surface *mat ){
glActiveTexture( GL_TEXTURE1 );
- glBindTexture( GL_TEXTURE_2D, world->textures[ mat->info.tex_diffuse ] );
+ glBindTexture( GL_TEXTURE_2D,
+ world_get_texture(world,mat->info.tex_diffuse) );
u32 cubemap_id = mat->info.tex_none0,
cubemap_index = 0;
struct world_surface *mat )
{
glActiveTexture( GL_TEXTURE1 );
- glBindTexture( GL_TEXTURE_2D, world->textures[ mat->info.tex_diffuse ] );
+ glBindTexture( GL_TEXTURE_2D,
+ world_get_texture(world,mat->info.tex_diffuse) );
shader_scene_terrain_uSandColour( mat->info.colour );
shader_scene_terrain_uBlendOffset( mat->info.colour1 );
}
else{
glActiveTexture( GL_TEXTURE1 );
- glBindTexture( GL_TEXTURE_2D, world->textures[ mat->info.tex_diffuse ] );
+ glBindTexture( GL_TEXTURE_2D,
+ world_get_texture(world,mat->info.tex_diffuse) );
shader_scene_override_uAlphatest(1);
}
}
for( u32 i=0; i<mdl_arrcount(&world->ent_gate); i++ ){
ent_gate *gi = mdl_arritm( &world->ent_gate, i );
+ if( !(gi->flags & k_ent_gate_linked) )
+ continue;
float dist = v3_dist2( gi->co[0], cam->transform[3] );