Maniacs Patch - ChangePictureId command + Pictures Inspector - #3500
Maniacs Patch - ChangePictureId command + Pictures Inspector#3500jetrotal wants to merge 7 commits into
Conversation
Added support for the Maniac Patch ChangePictureId event command, enabling move, swap, and slide operations on picture IDs with error handling and sprite refresh logic. This replaces the previous stub implementation and ensures proper picture management for Maniac Patch compatibility.
Introduces a new debug scene and windows for viewing and inspecting active pictures and string windows. Updates scene and debug menu logic to support the new 'DebugPicture' scene, adds menu option, and implements detailed property display for both image and string pictures.
de2968e to
f0cc536
Compare
|
Imo it would be better to have |
Get rid of the additional Debug Picture Scene. Rest remains unchanged.
…s in Game Pictures
f0cc536 to
1936d1d
Compare
abf90ed to
b315343
Compare
|
The code actually looks fine to me. Only:
Only have to test it g |
|
Testing some out of bounds stuff (as this is always the interesting part xD) I noticed some weird behaviours depending on whether src or dest are out of bounds. Will document it when I fully understood it. So this will take a bit longer to get everything right... Unexpected problems 😢 |
They were considered not existing as they have no filename. The window is deattached after erase
Was able to delete a huge amount of the AI boilerplate My favourite optimisation is noticing that a Move can be implemented in terms of a Swap+Delete
bbe7ef8 to
3116f1e
Compare
|
Works including all my tests concerning out of bounds and overlapping ranges. Honestly this took again far too long to "review" (well, rewrite). Turns out most of the code in Swap was unnecessary. It's enough to swap the two elements in the vector and then to adjust the IDs. Move can be simplified by just doing a swap followed by deleting the one swapped with. In general looking at the original code the AI is too afraid to just invent new API. Instead it hacks around by doing lots of function calls. |
3116f1e to
c964ec2
Compare
Ghabry
left a comment
There was a problem hiding this comment.
imo this is ok now
not reviewing the debug scene. Considering this is debug code I don't really care how its written (based on my tests it works)
|
Checked a bit the Picture Inspector (will do later on ChangePictureID as it requires playing with the command), only thing I have to say so far is that the empty filename picture bug from RPG_RT that we partially support will not be correctly listed (listed in the list as undefined even if the picture still exists and is displayed). |

Had to put those two together because I needed one to test another
Change Picture command:
Added support for the Maniac Patch ChangePictureId event command, enabling move, swap, and slide operations on picture IDs with error handling and sprite refresh logic. This replaces the previous stub implementation and ensures proper picture management for Maniac Patch compatibility.
Map for testing the command:
Map0003.zip
Pictures Inspector:
Introduces a new debug scene and windows for viewing and inspecting active pictures and string windows. Updates scene and debug menu logic to support the new 'DebugPicture' scene, adds menu option, and implements detailed property display for both image and string pictures.