Originally Posted By: Superku
Originally Posted By: tolu619
My workaround is to use pan_create to create the panel at runtime, then delete the panel and recreate it with the new bmap whenever I need to change the panel.

I guess there's the problem. Do you actually delete/ ptr_remove the panel? Then it's no wonder that the engine crashes when you want to assign a new bmap.
Just reset its SHOW flag instead (and bmap_purge the bmap). Alternatively, if you really want to destroy and remove the panel, set the pointer to NULL after the ptr_remove, then add
if(!PlayerOnePan) PlayerOnePan = pan_create(...)
PlayerOnePan.bmap = GoshawkChosen;


No, I haven't been deleting or ptr_removing the panels. I was saying I would probably do that if nothing else worked. Right now, the code is what I posted above. I define the panel and give it a temporary bmap. Its SHOW flag is not set. I change the bmap with
Code:
PlayerOnePan.bmap = GoshawkChosen;


before I set the SHOW flag. The error message pops up the moment I try to change the bmap.