Commit Graph

169 Commits

Author SHA1 Message Date
Philippe Symons
9268cbd42e Reduce binary size by eliminating libstdc++
This commit removes all references to things in the libstdc++ library to remove a decent chunk of bloat.

This means every std::to_string() call, std::string and std::vector. (as well as iostream related stuff).

I replaced those with my own versions ptgb::to_string() and ptgb::vector. Especially the latter is not exactly the same,
but close enough.

I also replaced operator new and delete with my own implementation to avoid pulling in everything related to exceptions
from libstdc++

Another problem was the fact that libtonc uses siscanf, which pulls in everything related to the scanf family of functions
and locale support. The worst part of that was that it included a 13KB "categories" symbol from libc_a-categories.o,
which was pulled in because of the locale support integrated into newlibc's siscanf() function. To fix that, I created a
custom, extremely restricted implementation of siscanf. libtonc only used this function to parse at most 2 integers from a
string anyway.
2025-04-09 20:04:08 +02:00
The Gears of Progress
c7aa7b3dca Modifying the remote multiboot loader 2025-04-06 17:09:52 -04:00
The Gears of Progress
a369e08093
Merge branch 'master' into feature/upload-rom-as-multiboot-to-other-gba 2025-04-06 12:37:47 -04:00
The Gears of Progress
a278bfb355 Updating Dream Dex 2025-04-06 11:57:37 -04:00
Philippe Symons
93a6c0f3fe Add functionality to upload Poke Transporter GB to another gba after it has started on the current one [EZ Flash Omega]
The reason for this functionality is that some flashcarts *cough* EZ Flash Omega (DE) *cough* can't be hotswapped IN. When you try this, they will trigger a reset of the gba.
This is only relevant for the use case in which you first launch the rom from a flashcart in the first place.

I suppose this can only be relevant for flashcarts which offer "single cart mode". (mode B for EZ Flash Omega).

So, I added an option to upload the rom to another GBA from the "game_load_error" screen if you press the SELECT button.

So, with this change, you could

- launch Poke Transporter GB on GBA 1 from a flashcart.
- eject the flashcart on GBA 1
- make sure the EZ Flash Omega or other "single cart mode/mode B" capable flashcart is set to this mode.
- insert this flashcart into GBA 2
- connect GBA link cable (narrow plug on GBA 1, wide plug on GBA 2)
- Power on GBA 2 and press both SELECT and START while the gameboy logo is still shown
- On GBA 1, in the "game_load_error" screen, press SELECT
- On GBA 1, now press A -> The multiboot upload will now start
- Once finished, GBA 2 will now be running Poke Transporter GB as well
- GBA 2 will recognize the gen III save!
- You can now disconnect the GBA link cable and turn off GBA 1. (you may use it later for the GBC game alongside a GBC link cable to start the actual PKMN transfer)
2025-04-03 23:31:24 +02:00
The Gears of Progress
1ee46e1719 Resolving build warnings 2025-03-30 11:56:32 -04:00
The Gears of Progress
b267912687 Continuing box updating 2025-03-27 14:37:47 -04:00
The Gears of Progress
8160bcd276 updating box menu, pre sprite grabbing 2025-03-22 15:57:22 -04:00
The Gears of Progress
91b2534b70 Updating text rendering 2025-03-19 20:55:09 -04:00
The Gears of Progress
af21da42b5 continuing work on updated text engine 2025-03-04 11:33:02 -05:00
The Gears of Progress
9f2dc4f653 Add a separate file for dialogue 2025-01-26 17:46:26 -05:00
The Gears of Progress
f4f64d0e07 Fixing button palette and modifying credits 2025-01-26 14:43:55 -05:00
easyaspi314
e4ef25e20e Compress the graphics (mostly), fix potential vram memcpy issue
This greatly decreases the ROM size, from 245 KB to 198 KB with no visual
changes (that I am aware of)

Changes:
- Enable compression on every graphic but the Pokemon sprites (which are
  too large for the GBA to decompress).
- Change grit from emitting .s files to .c files so GCC can strip unused
  palettes and maps
- Fix the empty tiles
- Trim down the font to skip 00-1F and 80-FF which were all zeroes
  - needs a slight workaround because the Pokemon name display was printing
    an invisible FF byte
- Switch memcpy to tonccpy which is vram safe
- Limit palette sizes.

Signed-off-by: easyaspi314 <6258309+easyaspi314@users.noreply.github.com>
2025-01-17 19:32:48 -05:00
The Gears of Progress
a805bbad0a Releasing wood gecko 2025-01-11 17:23:09 -05:00
The Gears of Progress
1662ed37e3 Fixing weird split changes 2024-12-19 18:39:37 -05:00
The Gears of Progress
422641c62b Merge branch 'master' of https://github.com/GearsProgress/Poke_Transporter_GB 2024-12-19 18:27:44 -05:00
The Gears of Progress
41f7fcb1aa *Finally* fixing the EXP bug 2024-12-19 18:15:04 -05:00
The Gears of Progress
a5e4e9401c Partial rewrite 2024-12-19 16:30:08 -05:00
The Gears of Progress
b382aec0dc pre Pokemon and Party rewrite 2024-12-19 13:29:47 -05:00
The Gears of Progress
5eb4321513 Final edits for v1.1.1 2024-12-13 12:08:09 -05:00
The Gears of Progress
fa56964f34 Adding in Yellow to new data transfer 2024-12-13 10:58:11 -05:00
The Gears of Progress
6a8184d2e7 Updating Red/Blue FE/FD code 2024-12-11 18:10:43 -05:00
The Gears of Progress
3b945ecf3e v1.1.0 2024-11-01 22:54:05 -04:00
The Gears of Progress
884ebc9216 Adding data packets to GSC 2024-10-31 10:59:36 -04:00
The Gears of Progress
cd2a9971a5 Adding data packets to Red/Blue 2024-10-30 14:56:44 -04:00
The Gears of Progress
9d3221ae8d Adding more debug features 2024-09-25 20:49:10 -04:00
The Gears of Progress
e3c5898683 Fixing contest hall data bug 2024-09-25 14:51:20 -04:00
The Gears of Progress
be25471bbc Optimizing size 2024-09-25 12:47:13 -04:00
The Gears of Progress
8cee78e384 Adding Gen 3 Languages 2024-09-05 19:50:28 -04:00
The Gears of Progress
3fc484928e Fixing the bug with English Gold 2024-08-28 15:27:49 -04:00
The Gears of Progress
ca22115091 Disabling Gold 2024-08-24 23:54:59 -04:00
The Gears of Progress
3728db9f72 Final push!! 2024-08-23 17:50:17 -04:00
The Gears of Progress
73fd2342e9 Last push before release (probably not actually though lol) 2024-08-20 23:31:07 -04:00
The Gears of Progress
1ec09842ad Updating tons of graphics 2024-08-19 14:47:29 -04:00
The Gears of Progress
22f7aaac26 Pre-saving space 2024-08-13 15:49:04 -04:00
The Gears of Progress
b7f056ce79 Updating Dex Graphics 2024-08-08 16:07:43 -04:00
The Gears of Progress
eae1973f1e Updating gen 2 to the new z80 system 2024-08-03 12:21:39 -04:00
The Gears of Progress
b3cd6a3f92 Updating Yellow z80 2024-08-01 13:55:22 -04:00
The Gears of Progress
430364d956 Updating z80 commands 2024-08-01 13:03:46 -04:00
The Gears of Progress
5fee006f26 Updating Red and Blue's payload to use the z80 class 2024-07-30 18:01:43 -04:00
The Gears of Progress
41bcbfcb9e Adding Z80 compiler and updating Yellow 2024-07-30 16:42:17 -04:00
The Gears of Progress
a5ed8b5bda Prep for Z80-ASM 2024-07-26 12:13:39 -04:00
The Gears of Progress
aa4d2573b8 Fixing bugs 2024-07-11 11:18:38 -04:00
The Gears of Progress
ce20ebfc3a Prep for v0.2.4 2024-07-05 20:53:59 -04:00
The Gears of Progress
7aa6933dd6 Fixing crash 2024-07-05 19:20:05 -04:00
The Gears of Progress
add977cf02 Prep for bug testing 2024-07-03 17:44:33 -04:00
The Gears of Progress
e5ad1e25cf Changing background and fixing bugs 2024-07-02 16:55:47 -04:00
The Gears of Progress
8f07b1ebdb Re-enabling the old event 2024-07-01 16:45:54 -04:00
The Gears of Progress
290fdf22a4 Updating DreamDex 2024-06-28 16:24:01 -04:00
The Gears of Progress
a8a8edefb3 Finalizing event compatibility 2024-06-28 11:50:22 -04:00