@@ -278,29 +278,29 @@ fn Vector2 ray_step(Vector2 p1, Vector2 p2) {
278278 return p3 ;
279279}
280280
281- fn Vector2 cast_ray (Scene * scene , Vector2 p1 , Vector2 p2 ) {
281+ fn Vector2 cast_ray (Vector2 p1 , Vector2 p2 ) {
282282 Vector2 start = p1 ;
283283 while (vector2 ::distance (start , p1 ) < FAR_CLIPPING_PLANE ) {
284284 Vector2 c = hitting_cell (p1 , p2 );
285- if (scene . get_tile (c )) break ;
285+ if (common :: scene_get_tile (c )) break ;
286286 Vector2 p3 = ray_step (p1 , p2 );
287287 p1 = p2 ;
288288 p2 = p3 ;
289289 }
290290 return p2 ;
291291}
292292
293- fn void render_walls (Image * display , float * zbuffer , Image * wall , Scene * scene ) {
293+ fn void render_walls (Image * display , float * zbuffer , Image * wall ) {
294294 Camera camera = { .position = {me .position .x , me .position .y }, .direction = me .direction };
295295 camera .update ();
296296
297297 Vector2 d = vector2 ::from_polar (camera .direction , 1.0f );
298298 for (int x = 0 ; x < display .width ; ++ x ) {
299- Vector2 p = cast_ray (scene , camera .position , vector2 ::lerp (camera .fovLeft , camera .fovRight , (float )x / display .width ));
299+ Vector2 p = cast_ray (camera .position , vector2 ::lerp (camera .fovLeft , camera .fovRight , (float )x / display .width ));
300300 Vector2 c = hitting_cell (camera .position , p );
301301 Vector2 v = vector2 ::sub (p , camera .position );
302302 zbuffer [x ] = vector2 ::dot (v , d );
303- if (scene . get_tile (c )) render_column_of_wall (display , zbuffer , wall , x , p , c );
303+ if (common :: scene_get_tile (c )) render_column_of_wall (display , zbuffer , wall , x , p , c );
304304 }
305305}
306306
@@ -414,14 +414,14 @@ fn void emit_particle(Vector3 source, ParticlePool *particle_pool) {
414414 }
415415}
416416
417- fn void update_particles (Image * image , SpritePool * sprite_pool , float deltaTime , Scene * scene , ParticlePool * particle_pool ) {
417+ fn void update_particles (Image * image , SpritePool * sprite_pool , float deltaTime , ParticlePool * particle_pool ) {
418418 foreach (& particle : particle_pool .items ) {
419419 if (particle .lifetime > 0 ) {
420420 particle .lifetime -= deltaTime ;
421421 particle .velocity_z -= common ::BOMB_GRAVITY * deltaTime ;
422422
423423 Vector2 new_position = vector2 ::add (particle .position , vector2 ::mul (particle .velocity , vector2 ::xx (deltaTime )));
424- if (scene . get_tile (new_position )) {
424+ if (common :: scene_get_tile (new_position )) {
425425 float dx = math ::abs (math ::floor (particle .position .x ) - math ::floor (new_position .x ));
426426 float dy = math ::abs (math ::floor (particle .position .y ) - math ::floor (new_position .y ));
427427
@@ -539,12 +539,12 @@ fn void explode_bomb(Vector3 bomb_position, Vector2 player_position, ParticlePoo
539539 }
540540}
541541
542- fn void update_bombs_on_client_side (SpritePool * sprite_pool , ParticlePool * particle_pool , Image * bomb_image , Scene * scene , float delta_time , Bombs * bombs ) {
542+ fn void update_bombs_on_client_side (SpritePool * sprite_pool , ParticlePool * particle_pool , Image * bomb_image , float delta_time , Bombs * bombs ) {
543543 foreach (& bomb : * bombs ) {
544544 if (bomb .lifetime > 0 ) {
545545 push_sprite (sprite_pool , bomb_image , {bomb .position .x , bomb .position .y , bomb .position_z }, common ::BOMB_SCALE , {0 , 0 }, {bomb_image .width , bomb_image .height });
546546
547- if (common ::update_bomb (bomb , scene , delta_time )) {
547+ if (common ::update_bomb (bomb , delta_time )) {
548548 platform ::play_sound (BOMB_RICOCHET , me .position .x , me .position .y , bomb .position .x , bomb .position .y );
549549 }
550550
@@ -699,11 +699,11 @@ fn uint sprite_angle_index(Vector2 camera_position, Player entity) {
699699 return (uint )math ::floor (common ::proper_mod (common ::proper_mod (entity .direction , TAU ) - common ::proper_mod (vector2 ::sub (entity .position , camera_position ).angle_fixed (), TAU ) - PI + PI / 8 , TAU )/ TAU * SPRITE_ANGLES_COUNT );
700700}
701701
702- fn void update_all_players (Scene * scene , float delta_time ) {
702+ fn void update_all_players (float delta_time ) {
703703 other_players .@each_entry (; OtherPlayersEntry * entry ) {
704- common ::update_player (& entry .value , scene , delta_time );
704+ common ::update_player (& entry .value , delta_time );
705705 };
706- common ::update_player (& me , scene , delta_time );
706+ common ::update_player (& me , delta_time );
707707}
708708
709709fn void render_other_players (SpritePool * sprite_pool , Image * player_image ) {
@@ -801,15 +801,15 @@ fn void render_game(float delta_time, float time) @extern("render_game") @wasm {
801801 assert (asset );
802802 Image player_image = {asset .width , asset .height , (Color * )& pack [asset .offset ]};
803803
804- update_all_players (& common :: scene , delta_time );
804+ update_all_players (delta_time );
805805 update_items (& sprite_pool , time , common ::items_ptr (), common ::items_len (), & key_image , & bomb_image );
806- update_bombs_on_client_side (& sprite_pool , & particle_pool , & bomb_image , & common :: scene , delta_time , & common ::bombs );
807- update_particles (& particle_image , & sprite_pool , delta_time , & common :: scene , & particle_pool );
806+ update_bombs_on_client_side (& sprite_pool , & particle_pool , & bomb_image , delta_time , & common ::bombs );
807+ update_particles (& particle_image , & sprite_pool , delta_time , & particle_pool );
808808
809809 render_other_players (& sprite_pool , & player_image );
810810
811811 render_floor_and_ceiling (& display .image );
812- render_walls (& display .image , display .zbuffer , & wall_image , & common :: scene );
812+ render_walls (& display .image , display .zbuffer , & wall_image );
813813 cull_and_sort_sprites (& sprite_pool );
814814 render_sprites (& display .image , display .zbuffer , & sprite_pool );
815815
@@ -906,7 +906,6 @@ fn void entry() @init(2048) @private {
906906 return buffer .len ;
907907 };
908908 common ::temp_mark = allocator ::temp ().used ;
909- common ::load_default_scene ();
910909}
911910
912911module client ::platform ;
0 commit comments