It's actually a bug/problem with your version of the scripts data and not VXA in general.
In my version of Game_Picture, I have the following code:
def erase
@name = ""
@origin = 0
end
In your version, that same method:
def erase
@name = ""
end
For whatever reason, you are missing a line there.
What this means is that the @origin variable is not set to 0 when a picture is erased. This causes this code to pass incorrectly:
def update_origin
if @picture.origin == 0
self.ox = 0
self.oy = 0
else
self.ox = bitmap.width / 2
self.oy = bitmap.height / 2
end
end
The "if" check fails, which leads to the "else" case being processed. Then, it tries to call width on the bitmap object, but because it is a nil value, it is unable to call the method and you get the NoMethodError that you are seeing.
What you need to do then, is open up the Game_Picture script, go to line 116 and add in the missing line:
@origin = 0
and your issue will be fixed.
I'm not sure why your version of the script data is incorrect but it will cause that bug to be present in any new project that you create.