Advertisement
Guest User

Untitled

a guest
Sep 21st, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.97 KB | None | 0 0
  1. var wall_dist;
  2. var slope_depth;
  3. wall_dist = hspeed;
  4. while(place_meeting(x+wall_dist, y, Wallmask) and wall_dist > 0)
  5. {
  6. for(i = abs(hspeed); i > 0; i -= 1)
  7. {
  8. if(!place_meeting(x+wall_dist, y+i, Wallmask))
  9. {
  10. if(place_meeting(x+wall_dist, y+abs(hspeed), Wallmask) or place_meeting(x+wall_dist, y+i-1, Wallmask))
  11. slope_depth = i;
  12. break;
  13. }
  14. }
  15. wall_dist -= sign(hspeed); //interdependent on wall_dist > 0 to not cause infinite loop (-= 0 when sign returns 0 for 0)
  16. }
  17. while(slope_depth <= hspeed)
  18. {
  19. if(!place_meeting(x+wall_dist, y+slope_depth+1, Wallmask))
  20. slope_depth += 1;
  21. }
  22. x += wall_dist;
  23. y += slope_depth;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement