Advertisement
dragonbane

TWW HD Glitch Stuff

Jul 9th, 2016
200
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.38 KB | None | 0 0
  1. The game has a check (assertion) that your potential position is staying smaller than 100000000000000000000000000000000 (1.0*10^32) plus or minus on every axis. If it gets bigger the game hangs forever voluntarily. On CEMU the function is either not implemented yet or it doesnt halt execution, you can build up speed infinitely. The maximum speed possible then is 3.402823466(10^38) (max float size). It simply does not increase any further nor do you overflow/get infinity. If you reach that speed you stay at that level (takes like 8 seconds).
  2.  
  3. Now the way collisions seem to work is that the game casts a line between your old position and your new position every frame (old pos + speed value = new pos) and checks if there is any collidable wall/object in-between. If there is the game adjusts the new position to stay on the in-bounds side of the collision. So while a certain not even that high speed would just take you through the barrier the check notices the barrier is in-between and so you only get taken to the barrier. This sort of collision check seems to fail on some edges/stairs and uneven terrain (especially with higher speeds) and so the game doesn't detect any collisions. If you do this on a wall that leads to an OoB area and no further collisions are after it that might get detected, you will get taken the full amount of your speed value. After only like 3 seconds or so your speed is so high that you get put to a location that is so far OoB that it simply cannot be rendered anymore. The renderer at least crashes in that case and you hardlock (both SD/HD). This also happens if you manually edit your position to such a high value.(edited)
  4. Since only one island is loaded at a time this can easily happen on the ocean if you shoot off one island. Since terrain is very uneven you also clip pretty often once you reach a high speed making it look like the speed crashed the game, but in that case it often is your position and not the speed
  5.  
  6. Error message for too high speed/position on TWW SD (is checked before collision check):
  7.  
  8. "Failed assertion -1.0e32f < pm_pos->x && pm_pos->x < 1.0e32f && -1.0e32f < pm_pos->y && pm_pos->y < 1.0e32f && -1.0e32f < pm_pos->z && pm_pos->z < 1.0e32f in "d_bg_s_acch.cpp" on line 541"
  9.  
  10. Failed assertion !(((sizeof(pm_pos->x) == sizeof(float)) ? __fpclassifyf((float)(pm_pos->x)) : __fpclassifyd((double)(pm_pos->x)) ) == 1) in "d_bg_s_acch.cpp" on line 535
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement