-
Notifications
You must be signed in to change notification settings - Fork 4.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Load vehicles before explosion + leaks at right map #79853
base: master
Are you sure you want to change the base?
Conversation
Hm, this error is interesting: General build matrix / Basic Build and Test (Clang 10, Ubuntu, Curses) (pull_request) As far as I can see from the error, a vehicle is generated right at the edge of the tinymap the map special is generating, causing parts of it to end up outside of the map. Then there's bashing going on, which might quite possibly go via the updated bashing route in this PR, causing the code to detect it happens outside of the map (rather than just obliviously use the reality bubble map). I'm having trouble recreating the error, though, as rerunning this particular test case over and over doesn't seem successful when providing the rng seed fails (I've never had it actually work... Perhaps seeds are platform specific). Furthermore, I've failed to find the 4x4 vehicle mentioned being generated by the mx_minefield code (humvee, FBI and mil cargo, but no 4x4). Could it be generated by the road before the map extra is applied? I'd need help to track down why the mx_minefield map extra gets this vehicle, and why it's in a location where it extends outside of the overmap tile (that probably doesn't cause trouble unless you do something with the vehicle, like bashing it, or something is generated on the encroached upon map causing an overlap of vehicles or "terrain"). Edit: No, this bug isn't revealed by the changed code. The code used uses the RemovePartHandler stuff, and the check is against the (tiny) map provided by the handler. Thus, it seems to be a rare bug that can have been happening for quite some time, and either not encountered before now, or just ignored when a new roll of the test dice didn't result in a failure. I've generated bug report #79889 for this failure. |
Summary
None
Purpose of change
Describe the solution
process_falling()
after an explosion has generated them in the non reality bubble explosion case.Describe alternatives you've considered
Continue to try to find why pivot_anchor[1] contains garbage. I will do that, but would appreciate help.
Testing
Prior to the
load
call change vehicles randomly weren't subjected to the effect of the explosion, while afterwards they are badly damaged.Prior to the change to the spillage code acid from batteries occasionally (20%?) appeared in front of the PC rather than on the explosion site.
Tested until a zero vehicle failure occurred and looked through the debug output added to verify zero vehicle parts were processed. This code adjusted the generated position to (0, 0).
The code was then revised to the committed one, but I'm not going to test that due to the number of attempts it takes for this failure case to occur.
The explosion results:

Done after the screenshot above:
Set off a barrel bomb, move away from it outside the reality bubble, return after the timer has expired so it explodes when entering the reality bubble, move to the crater, observe the debris is no longer hovering, but has fallen to the bottom of the crater.
Additional context
I've removed the text placed here during the draft phase as it no longer serves a purpose.
It can be noted that levitating explosion products still exist after the explosion. This was the case before these changes as well, so it's not a regression, but something that will have to be tracked down and fixed in a future PR.Now included in this PR, as it's another one liner.