• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Forum moderator applications are now open! Click here for details.
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Development: Auto-magic mugshots.

Full Metal

C(++) Developer.
810
Posts
16
Years
Similar to this, I think a good little crafty idea would be to utilize the "last talked to" thing to look up information about the overworld last spoken to from a custom table [ link certain overworld sprites to a palette / sprite table ]. Then we could activate this by customizing the messagebox command to add a special message type that performs the function of type 4 [ wait until the user presses a to continue ] and displays the sprite. For scripts with no apparent "last spoken" you could also have a special command that sucks this information out of a variable which would also let you utilize this script for multiple mugshots rather easily.

Thoughts anybody?
 
91
Posts
14
Years
  • Seen Feb 22, 2023
You could use a custom tilemap of your original textbox to create a frame for your mugshots. This way you don't have to concern in any way about palattes because it is already there from the textbox itself. For the image itselt you would have to use an OAM slot, I don't think there is enough space for even a 16c image on background 0. Using OAM you could probably also take advantage of mirroring and so on. Well, that's in fact less than a brief concept, for implemantation you might want to create a special / callasm(which is basically the same) or implement this directly into the message command which can be found in the command table(not exactly sure how to deal with that, a special would probably way easier)
Lasttalked does save the person ID from which you do not directly get the overworld ID. You would have to parse the number first and go through a lot of pain in the ass work. You would maybe do better with some sort of two dimensional table to get things like: ["Professor tree"; "happy expression"]
If you only want that for pokémon and don't need different expressions you can use a one dimensional table for sure, or a table that points to some sort of substructure which then stores the single expressions for the person.

~SBird
 

Shiny Quagsire

I'm Still Alive, Elsewhere
697
Posts
14
Years
You could use a custom tilemap of your original textbox to create a frame for your mugshots. This way you don't have to concern in any way about palattes because it is already there from the textbox itself. For the image itselt you would have to use an OAM slot, I don't think there is enough space for even a 16c image on background 0. Using OAM you could probably also take advantage of mirroring and so on. Well, that's in fact less than a brief concept, for implemantation you might want to create a special / callasm(which is basically the same) or implement this directly into the message command which can be found in the command table(not exactly sure how to deal with that, a special would probably way easier)
Lasttalked does save the person ID from which you do not directly get the overworld ID. You would have to parse the number first and go through a lot of pain in the ass work. You would maybe do better with some sort of two dimensional table to get things like: ["Professor tree"; "happy expression"]
If you only want that for pokémon and don't need different expressions you can use a one dimensional table for sure, or a table that points to some sort of substructure which then stores the single expressions for the person.

~SBird

As far as I know, the textbox itself doesn't use tilemaps, but is painted into the VRAM with code, so my guess as to the best way to go about doing this is to hack the callstd function to pop up a box depending on which person your talking to, and if your going to use expressions, maybe have a dedicated variable that will make the graphics loading routine fetch the appropriate expression. If we can't get the lasttalked ID, then maybe having a variable to set the icon would be nice too so as to allow some manual control in case you get a scene with 5 different people talking.
 
Back
Top