star += stars( rd, 1.94 * pow( 1.64, j ), m ) * (1.0 / pow(4.0, j));
}
- oColour = vec4( vec3(star*20.0), 1.0);
+ oColour = vec4( vec3(0.1,0.1,0.2) + vec3(max(0.0,star*20.0)), 1.0);
}
uniform mat4 uPv;
uniform mat4 uPvmPrev;
uniform float uTime;
+uniform float uAmt;
out vec2 aUv;
out vec4 aNorm;
out vec3 aCo;
out vec3 aWorldCo;
-void main(){
+void main()
+{
vec4 vsine = sin(vec4(uTime + a_co.x, uTime*0.7 + a_co.z,uTime,uTime*1.3));
- vec3 co = a_co + vsine.xyz * a_norm.w * 0.5;
+ vec3 co = a_co + vsine.xyz * a_norm.w * uAmt;
vec3 world_pos0 = uMdl * vec4( co, 1.0 );
vec4 vproj0 = uPv * vec4( world_pos0, 1.0 );
# reserved 28.. armature
]
-MDL_VERSION_NR = 108
+MDL_VERSION_NR = 109
SR_TRIGGERABLE = [ 'ent_audio', 'ent_ccmd', 'ent_gate', 'ent_challenge', \
'ent_relay', 'ent_skateshop', 'ent_objective', 'ent_route',\
'ent_miniworld', 'ent_region', 'ent_glider', 'ent_list',\
("pstr_desc",c_uint32), # unused
("timezone",c_float),
("pstr_skybox",c_uint32),
- ("flags",c_uint32)]
+ ("flags",c_uint32),
+ ("wind_scale",c_float)]
#}
class ent_ccmd(Structure):
fix_time: bpy.props.BoolProperty(name="Fix Time")
timezone: bpy.props.FloatProperty(name="Timezone(hrs) (UTC0 +hrs)")
fixed_time: bpy.props.FloatProperty(name="Fixed Time (0-1)")
+ wind_scale: bpy.props.FloatProperty(name="Wind Scale",default=0.5)
water_safe: bpy.props.BoolProperty(name="Water is Safe")
layout.prop( data[0], 'timezone' )
layout.prop( data[0], 'water_safe' )
+ layout.prop( data[0], 'wind_scale' )
+ layout.prop( data[0], 'skybox' )
#}
#}
worldinfo.flags = flags
worldinfo.pstr_skybox = _af_pack_string( obj_data.skybox )
+ worldinfo.wind_scale = obj_data.wind_scale
sr_ent_push( worldinfo )
#}
elif ent_type == 'ent_ccmd':#{
f32 timezone;
u32 pstr_skybox;
u32 flags;
+ f32 wind_scale;
};
ent_marker *ent_find_marker( mdl_context *mdl, array_file_ptr *arr,
#pragma once
#define MDL_VERSION_MIN 101
-#define MDL_VERSION_NR 108
+#define MDL_VERSION_NR 109
#include "array_file.h"
world->skybox = k_skybox_space;
}
}
+
+ if( world->meta.version < 108 )
+ world->info.wind_scale = 0.5f;
}
else
{
shader_scene_foliage_uTexMain(1);
shader_scene_foliage_uPv( cam->mtx.pv );
shader_scene_foliage_uTime( vg.time );
+ shader_scene_foliage_uAmt( world->info.wind_scale );
WORLD_BIND_LIGHT_BUFFERS_UB0_TEX234( world, scene_foliage );
bind_terrain_noise();