Ticket #1443 (closed bug: fixed)
Crash when saving with proximity display list out of sync with proximity message list
| Reported by: | Ai_Tak | Owned by: | Per |
|---|---|---|---|
| Priority: | blocker | Milestone: | 2.3.0 |
| Component: | Engine: other | Version: | 2.3 beta 8 (unsupported!) |
| Keywords: | messages blips | Cc: | warzone-dev@… |
| Blocked By: | Blocking: | ||
| Operating System: | All/Non-Specific |
Description
This happened while I was making a saved game to report the missing oil indicators, it crashed without making the *.es file and half the files in the sub-directory. I saved before seeing any messed up oil (right after skirmish setup) and had no trouble. Same stderr.txt as in #1430.
stderr.txt:
error |11:26:59: [writeMessageFile] Save message; proximity display not found for message error |11:26:59: [writeMessageFile] Assert in Warzone: ../../../src/game.c:10655 (psProx != ((void *)0)), last script event: 'N/A'
warzone2100.RPT: http://pastebin.com/f2c5d3969
Attachments
Change History
comment:1 Changed 2 years ago by Per
- Status changed from new to assigned
- Cc warzone-dev@… added
- Component changed from other to Engine: other
- Summary changed from Assert while saving (psProx != ((void *)0)) to Crash when saving with proximity display list out of sync with proximity message list
- Keywords messages blips added
- Owner set to Per
comment:2 Changed 2 years ago by Per
This patch fixes the problem with proximity message list and display list going out of sync due to too few proximity buttons allowed at the same time (20), by increasing the limit to 10000. I found an ID range that should be available. It also makes sure that all players get the messages they should (for switching between players), and make a real fix the beacon seen by other players problem by storing but not displaying proximity messages for other players (reverting wrong fix of this problem in ticket:1250).
comment:3 Changed 2 years ago by Per
Well, I will add the patch when trac works again :-(
I can add that the patch also removes addOilResourceProximities() which probably never worked as advertised, because it is run before vision is added, and checks if iterated objects are visible before doing anything. It is in any superfluous since visibility functions will add the blips on map load.
comment:4 Changed 2 years ago by Per
Patch uploaded to http://pastebin.ca/1760845 for now.
comment:7 Changed 2 years ago by Zarel
Fixed in r9382/r9383

See also ticket:1442 and ticket:1441 that is the same issue. Fix will be added shortly.