Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- var wall_dist;
- var slope_depth;
- wall_dist = hspeed;
- while(place_meeting(x+wall_dist, y, Wallmask) and wall_dist > 0)
- {
- for(i = abs(hspeed); i > 0; i -= 1)
- {
- if(!place_meeting(x+wall_dist, y+i, Wallmask))
- {
- if(place_meeting(x+wall_dist, y+abs(hspeed), Wallmask) or place_meeting(x+wall_dist, y+i-1, Wallmask))
- slope_depth = i;
- break;
- }
- }
- wall_dist -= sign(hspeed); //interdependent on wall_dist > 0 to not cause infinite loop (-= 0 when sign returns 0 for 0)
- }
- while(slope_depth <= hspeed)
- {
- if(!place_meeting(x+wall_dist, y+slope_depth+1, Wallmask))
- slope_depth += 1;
- }
- x += wall_dist;
- y += slope_depth;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement