Commit Graph

32 Commits

Author SHA1 Message Date
Philippe Symons
90bb9ccceb
Feature/scroll indication (#3)
Add scroll arrows when there are more items in the list than the list can show at a time.

These arrows can be shown in the main menu (although there aren't enough items in there to have them shown) or in the various DistributionEventPokemonListScene menus.

I also did provisions to support the same for the ScrollWidget in the about screen. Although I haven't implemented that (yet?)
2024-08-22 21:45:31 +02:00
Philippe Symons
bc7733cc36
Feature/add about screen (#1)
Adds the "About" scene, which displays the version info and credits. The user can scroll up/down through this screen.
2024-08-20 23:57:35 +02:00
Philippe Symons
0ac60b6c02 Fix issue which caused gen2 pokemon to be received as an egg when they shouldn't be. (most PCNY pokémon SHOULD be in egg form though) 2024-08-20 13:03:28 +02:00
Philippe Symons
63278da157 Forgot to commit Arial-small.ttf 2024-08-15 23:22:15 +02:00
Philippe Symons
f516c6d138 Add StatsScene for showing obtained pokemon 2024-08-13 19:18:14 +02:00
Philippe Symons
4a8ecb6017 Update libpokemegb to commit 7b96cae 2024-08-09 14:12:56 +02:00
Philippe Symons
0e7e46a78e Update libpokemegb git submodule to commit 816c4ea 2024-08-09 11:34:54 +02:00
Philippe Symons
e3edf32979 Update libpokemegb git submodule to commit 044bb1f 2024-08-09 10:57:50 +02:00
Philippe Symons
864f09d0a2 Update libpokemegb to commit 2136e90 2024-08-08 21:46:44 +02:00
Philippe Symons
a29751b98b Update libpokemegb to commit bd95cc3 2024-08-08 12:17:17 +02:00
Philippe Symons
73b308fd2c Finish ScrollWidget implementation 2024-08-02 19:35:16 +02:00
Philippe Symons
65a59d050e Work on ScrollWidget (Work In Progress/Incomplete) 2024-08-01 21:27:49 +02:00
Philippe Symons
9313571610 Also add an option to Unlock the Unown doll in gen 2 2024-08-01 10:11:24 +02:00
Philippe Symons
f7a687b147 Various changes
- Add "Pikachu Bed" and "Tentacool Doll" decoration unlock options for
  gen 2
- bugfix for unsafe behaviour
- attempt to make the RESET button work for cartridge switching. It
  failed though. (not reliable). Therefore I just added a warning
  message instead.
- Work on new ScrollWidget for Credits/About screen (Work In Progress)
2024-07-31 22:29:21 +02:00
Philippe Symons
6ce9c1ec23 Update CREDITS.md because I used PkHex as a reference for the latest GS Ball changes 2024-07-29 10:30:20 +02:00
Philippe Symons
f6727cdb11 Make the latest README.md changes a bit more clear 2024-07-29 10:26:56 +02:00
Philippe Symons
faa8a24282 Update the README.md file with suggestions from users who tested on Reddit and things I've learned since my initial post 2024-07-29 10:24:09 +02:00
Philippe Symons
521a9ae30c Make GS Ball event repeatable
With these changes, libpokemegb will remove an existing GS Ball from the
players' inventory and reset all GS ball related event flags before
activating the event.

This basically fixes up saves which used earlier versions of PokeMe64
that only gave you the item without triggering the event. (By removing
the existing GS Ball item, it prevents the
need to create a new save in order to unlock the gs ball event
for the users who were so nice to test these earlier builds)

As an added bonus, this makes the GS Ball event entirely repeatable
(which is actually great). You just need to use PokeMe64 everytime to make the
event repeat from the start..
2024-07-28 23:28:17 +02:00
Philippe Symons
4da27db8b8 Fix GS Ball unlock functionality
It was reported by /u/ImranFZakhaev on reddit that receiving the GS Ball
doesn't actually unlock the event. So I implemented it in a different
way.

By writing 0xB to 0x3E3C, we can start the GS Ball event semi-legit.
After triggering the GS Ball event from PokeMe64, you need to go to and
leave the Golden Rod Pokemon Center and an attendant will appear to hand
you the GS Ball.
2024-07-26 21:40:52 +02:00
Philippe Symons
39d7c31831 Update libpokemegb git submodule to fix bug
Bug was reported by /u/imranFZakhaev on reddit:

When adding a pokémon to a save with a full party, the behaviour is
completely broken.

Not only did we add a pokémon to every box, but it also would be a
completely different one or even crash the game when trying to access
the box.

Fixes:

- Stop after adding a pokemon to a box. Don't add it to all.
- In commit 77d5d15 I added a ::setPokemon function and reworked the
  Gen1Box::add() function to use it. That's where it went wrong:

  in the add() function, we would modify the number_of_pokemon counter
  of the box, but not manipulate the species list and write it.
  Then in the setPokemon() function, we would read the box metadata and
  correct it because the number did not match the species list. This is
  what went wrong.

  To fix it, I just had to modify the species list in the add() function
  as well again.
2024-07-26 19:58:13 +02:00
Philippe Symons
55cf13d0c6
Update README.md
corrected a leftover word "library" to "rom" in README.md. (it was copypasta from libpokemegb)
2024-07-25 23:34:26 +02:00
Philippe Symons
14f1680ff2 Remove development check of the main checksum
This is unnecessary and has a performance impact.
2024-07-25 15:20:28 +02:00
Philippe Symons
265b83dd7a Add screenshots to README.md 2024-07-25 13:46:33 +02:00
Philippe Symons
eecb464afd
Update README.md
Update README.md to include the new feature to teach pikachu
2024-07-25 13:35:14 +02:00
Philippe Symons
eaf9224b31 Add menu options to teach Pikachu Surf and Fly
This implements functionality to teach Pikachu Surf and/or Fly and
extends existing widgets to help provide this functionality.

When a gen1 game is inserted, the user gets the choice to teach Pikachu
these moves.

This commit also restructures some of the Data and Style structs.
2024-07-25 11:01:20 +02:00
risingPhil
fdc6f90415 Update libdragon submodule again 2024-07-19 20:44:57 +02:00
Philippe Symons
e85e94eb8e remove libdragon submodule 2024-07-19 22:26:22 +02:00
Philippe Symons
9b09ad5d96 try again with git submodule 2024-07-19 22:06:38 +02:00
Philippe Symons
6e4f590258 remove libdragon. Seems like the current approach in git isn't working.
I need another commit to fix it
2024-07-19 21:59:59 +02:00
Philippe Symons
e1a1b01b3f make sure to initialize libdragon 2024-07-19 21:55:58 +02:00
Philippe Symons
e51726eef9 Initial import of the first (extremely early) functional version.
It doesn't look like much, but it's functional ;-)

It can inject distribution pokémon into gen 1 and gen 2 original
cartridges and inject the GS ball in Pokémon Crystal.

That's it. But that was the minimal feature set I had in mind for the
project. In the Readme.md you can find the ideas I have for expanding
the project.

But the first priority is the UI, because it really looks bad right now.
(as I was mostly focused on building blocks and transfer pak
functionality. Not on making it looks good)
2024-07-19 21:46:11 +02:00
Philippe Symons
03e87d734b
Initial commit 2024-07-19 21:34:32 +02:00