UI and Menu Resources - Pawkkie/Team-Aquas-Asset-Repo GitHub Wiki

UI and Menu Resources

redsquidz

UI (user interface) and menus can be a pain in the butt, so I've collected some resources to aid in your learning endeavors!

These do require some familiarity with how the code runs (namely, Tasks and Callbacks), so if you're just starting out, Grunt_Lucas has you covered! He's gone through the trouble of collecting some resources, which I'll be linking in his section. Now, without further ado and at your perusal...

Debug Menu Tutorial (by Ketsuban)

Aside from providing the base for the extremely popular Debug Menu you'll more than likely see circulating through the decomp community, this is a wonderful example of how to create your first window and populate it with actions. The author, Ketsuban, even gives a detailed breakdown of what is happening in each section of the code to make it digestible. An excellent starting point!

Sample-Ui (by grunt-lucas)

This is a heavily commented user interface that, in game, simply provides a template for a pokedex. However, it goes into inserting and animating sprites, transitioning between the overworld and the ui, reading and handling player input, and much much more! It's perfect for those looking to do a deep-dive and have a huge amount of relevant information presented in one place. The author, Grunt Lucas, has some suggested background reading material throughout which I'll link in the Helpful Links! drop down below for easy-clicking.

Helpful Links!

Declarations, Definitions, and the "extern" keyword:

Callbacks and Tasks:

Tiles, tilemaps, charblocks, screenblocks:

GBA graphics basics:

GBA Memory Layout:

DMA (Direct Memory Access):

General Resources:


UI Shell (by ghoulslash) and if PokeCommunity is giving you trouble, alternative link here

This was the basis for the Sample Ui above. If you're looking for a Ui template and prefer to find your way around, this is a great resource by ghoulslash. There's some helpful comments to nudge you in the right direction, but for the most part ghoulslash takes a step back and lets you learn things at your own pace.

Example-Screen (by MrGriffin)

If you've got your footing or prefer to poke around on your own, this is an excellent reference by MrGriffin which also serves as a sample ui. On the surface (in-game) it serves as a pokemon party selection screen, but in the code it can help you find your way around sprites, transitions, cursor movement, animated backgrounds, and other fun tricks. It even comes with some helpful hints along the way! Highly recommend.


⚠️ **GitHub.com Fallback** ⚠️