Hacking Pokémon ORAS | Sango Plugin

  • Thread starter Thread starter Zetta_D
  • Start date Start date
  • Views Views 11,197
  • Replies Replies 96
  • Likes Likes 8
I finally found the function that loads the NPC data to place them on the map, etc.
I can now place as many models as I want (too many will cause a crash).
Here’s the before:
1756294860169.png


Here’s the after:
1756294933288.png
1756302052005.png

Post automatically merged:

Moreover, thanks to my previous work, I can now manipulate NPCs and command them to perform actions. Here is proof. x'D

manipulation.gif
 
Last edited by Zetta_D,
  • Like
Reactions: TheStonedModder
I finally found the function that loads the NPC data to place them on the map, etc.
I can now place as many models as I want (too many will cause a crash).
Here’s the before:
View attachment 524556

Here’s the after:
View attachment 524557View attachment 524564
Post automatically merged:

Moreover, thanks to my previous work, I can now manipulate NPCs and command them to perform actions. Here is proof. x'D

View attachment 524568
How many Brendans do you need to replace a lightbulb?
 
In the meantime, I also added the functions to modify Pokémon data, whether it's in the PC box, the party, the battle box, etc.

1756463355796.png

Post automatically merged:

I decided to suggest a new camera angle to make it a little easier to handle.

1756469021281.png
1756469109553.png
 
Last edited by Zetta_D,
I added a menu to modify the battlefield (whether it’s the background, the platforms, the weather, etc. when starting the battle) – I’ll also offer something for the Pokémon encountered.
1756719847687.png
1756720365339.png

1756719612366.png
1756719619900.png

Post automatically merged:

It's funny—when the skybox disappears, the bottom screen appears at the top x)

1756720621954.png

Post automatically merged:

1756725662435.png

Post automatically merged:

encount.gif

Post automatically merged:

I also took the opportunity to make a menu to edit the starters at the beginning.

1756735376633.png


I can also change the camera angles to capture large models.

1756735902327.png
 
Last edited by Zetta_D,
  • Like
  • Wow
Reactions: LaMano and Subcon
I managed to understand how the outlines work – now we can change the color in addition to the width.

1756832604438.png
1756832632628.png
1756832736695.png
1756832799005.png

1756833331798.png

Post automatically merged:

It didn’t take me long to find the function that handles the lighting.

1756836869551.png
1756836945460.png

Post automatically merged:

1756837766416.png
1756837904168.png



Post automatically merged:

I cleaned up the code to modify the camera, models, etc., during battle.
An interesting idea would be to set the Pokémon to their actual size in the game.


Post automatically merged:

I just created a code to fix the Pokémon sizes – on the left you have the in-game corrected sizes, and on the right the real sizes.
1756902263899.png

1756902304957.png


1756902328355.png
 

Attachments

  • 1756836843190.png
    1756836843190.png
    190.6 KB · Views: 33
Last edited by Zetta_D,
I managed to understand how the outlines work – now we can change the color in addition to the width.

View attachment 525636View attachment 525637View attachment 525638View attachment 525639
View attachment 525640
Post automatically merged:

It didn’t take me long to find the function that handles the lighting.

View attachment 525647View attachment 525650
Post automatically merged:

View attachment 525658View attachment 525659


Post automatically merged:

I cleaned up the code to modify the camera, models, etc., during battle.
An interesting idea would be to set the Pokémon to their actual size in the game.


Post automatically merged:

I just created a code to fix the Pokémon sizes – on the left you have the in-game corrected sizes, and on the right the real sizes.
View attachment 525767
View attachment 525768

View attachment 525769

Some of these look so goofy with their true size
 
  • Haha
Reactions: Zetta_D
I don’t have much time to make progress with my studies.
I’m thinking of rewriting the code to make it clean and pushing it to GitHub with proper documentation x)
Oooh well, maybe you can keep working on it later, dont pressure yourself to do it right now
 
I spent the day working on this new code, which will be very useful for creating future code – the game launches directly without the intro, title screen, save selection, etc.
 
  • Like
Reactions: LaMano and Subcon
I created a new post about shiny generation in the game to engage their interest.
I will also add a counter for fishing and other probability tools to the plugin.

Code:
https://gbatemp.net/threads/reverse-engineered-analysis-of-shiny-generation-in-pokemon-alpha-sapphire.676735/
 
Genuine Question: Will these be available to download? or will said download be behind a paywall? as I know last time i kept up with your channel years back these plugins were locked behind a VIP channel in a discord server that members would need to pay for access to, discord or not I do hope these aren't paywalled still.
 
Zetta states in original post that it will open to everyone
Genuine Question: Will these be available to download? or will said download be behind a paywall? as I know last time i kept up with your channel years back these plugins were locked behind a VIP channel in a discord server that members would need to pay for access to, discord or not I do hope these aren't paywalled still.
 
Hello, I started working on the plugin again a few days ago, and I’m sharing the latest progress with you.

I managed to create a minimal plugin; I no longer depend on any external libraries such as libctrpluginframework or libctru. I coded everything by hand and now use the game’s internal functions for all - rendering, playing sounds, etc.

This makes it possible to keep the plugin size to a minimum. Altogether (.text, .data, .rodata, .bss), the plugin is now close to 7 kB, and it performs no dynamic memory allocation at all (= no malloc/free).

Note: There is no longer a 3gx extension; to launch the plugin, you only need to use an AR cheat code.

Once again, this allows for something impressive: I can switch plugins without even restarting the game! This saves an enormous amount of time for testing.

The generated AR cheat code is about 700 lines long.

I’ll soon share a beta version if you want to test the source code.
 
Originally, I wanted to use the game’s built-in keyboard, but there are many situations where it can’t be used. So I rebuilt a minimalist keyboard (including all possible symbols), as well as a numpad, because modifying values with the directional pad was quite tedious. Here, no menu opens; the keyboard or numpad is displayed in real time on the lower screen.

1765706237557.png
1765706253764.png
 

Site & Scene News

Popular threads in this forum