Skeetendo

’Cause all games were better on the GBC

You are not logged in.

#1 2019-09-13 12:34:59

Azure_Keys
Member
Registered: 2017-10-05
Post 49/59

Using reloadmappart (Pokecrystal)

I'm attempting to have a script change blocks on my map. I can do this fine using changeblock, but the appearance of the block doesn't change unless the block is off screen (or it is moved off screen), or if the change is done in a jumppriority script in a scene event.

Looking at files from the base game (the doors in the Elite 4 rooms, for example), I should be using reloadmappart after changeblock. However, doing this in my script causes the blocks on-screen to become visually very jumbled. Notably, the actual blocks do change the way they should, and moving off screen and back on reloads the blocks to the correct changes, it just becomes a mess visually.

So I am curious as to how the reloadmappart command is intended to be used. It has to somehow know what 'part' of the map to reload, but it has no arguments, so presumably it is basing its functionality on the last used instance of changeblock/other possible commands? I have pared down the script to a single changeblock command, followed by call to reloadmappart, and the graphical issue still occurs, so it doesn't seem to have to do with changing multiple blocks.

If someone could let me know how this function is intended to be used, or give me some pointers on what to try, that would be much appreciated, thanks!

Offline

#2 2019-09-13 22:53:39

Azure_Keys
Member
Registered: 2017-10-05
Post 50/59

Re: Using reloadmappart (Pokecrystal)

Okay, so after much trial and error, I believe I've figured it out. It seems that reloadmappart refreshes the blocks onscreen assuming that a textbox is open. Without one, the graphics get placed in the wrong locations, leading to the jumbled looking screen. Simply calling opentext, then close text at the end solved everything. Still seems like a very arbitrary assumption to make, but I guess there must always be an active textbox when this function is called in the base game. Hopefully this can help someone in the future!

Offline

Board footer

Powered by FluxBB