about summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* Added sending of Pokédex seen and caught data HEAD masterKelly Rauchenberger2018-01-291-2/+22
|
* Edited wolfSSL configure flags in readmeKelly Rauchenberger2018-01-111-1/+1
| | | The added configure flag causes wolfSSL to be built with support for elliptic curve ciphers, which may be needed for negotiating with many remote servers.
* Switched to highest possible TLS versionKelly Rauchenberger2018-01-091-1/+1
|
* Changed auth password to tokenKelly Rauchenberger2017-10-154-17/+9
|
* Added sending pokeball and Orre flagKelly Rauchenberger2017-10-041-8/+18
|
* Merge branch 'master' of github.com:hatkirby/gen3uploaderKelly Rauchenberger2017-09-301-4/+4
|\
| * Updated README: project is fairly stableKelly Rauchenberger2017-09-301-4/+4
| |
* | Stopped sending "heldItem" if there is no hold itemKelly Rauchenberger2017-09-301-4/+7
|/
* Extractor now gets gift ribbon descriptionsKelly Rauchenberger2017-09-303-26/+106
| | | | | Also fixed offsets of gift ribbon descriptions in the RSE save data, and added the offset for FRLG.
* Extractor now gets ribbonsKelly Rauchenberger2017-09-294-7/+113
|
* Decreased time Wii waits for GBA to calculate hashesKelly Rauchenberger2017-09-261-3/+3
| | | | | 3000µs has been consistently safe in my tests. 2000µs caused incorrect hashes to be read by the Wii, and 1000µs caused segfaults.
* Merge branch 'master' of github.com:hatkirby/gen3uploaderKelly Rauchenberger2017-09-261-1/+1
|\
| * Added attribution links to readmeKelly Rauchenberger2017-09-251-1/+1
| |
* | Replaced SHA-224 with BLAKE2sKelly Rauchenberger2017-09-266-579/+419
|/ | | | | | | | | | | | | | | | | Also changed the hash determiner format such that each IV, as well as the Shedinja flag, has its own byte. This increases the size of the determiner to 16 bytes, 33 bits of which are always unset. While this is somewhat wasteful, it is useful for debugging purposes because it is hard to predict the behavior of bitfields. For testing purposes, the amount of time that the Wii waits for the GBA to compute hashes has been increased. Given that BLAKE2s is a generally faster algorithm than SHA-224, it will likely be safe to decrease this delay in a future commit. Because the hash algorithm has changed, all old hashes are now invalid. refs #2
* Fixed Shedinja hash collisionKelly Rauchenberger2017-09-242-5/+33
| | | | | | | | | | | | A Shedinja will always have the same IVs, personality value, and original trainer as the Nincada that generated it, meaning that it is guaranteed to have the same hash as the Ninjask that the Nincada evolved into. To cirvument this, there is now a boolean field in the hash determiner that is set if and only if the Pokémon is a Shedinja. This allows the Ninjask to be considered the same Pokémon as the Nincada it evolved from, but for the Shedinja to be considered a new Pokémon. Because the hash determiner has changed, all old hashes are now invalid.
* Extractor now gets box namesKelly Rauchenberger2017-09-242-0/+43
|
* Fixed Unown form determinationKelly Rauchenberger2017-09-242-5/+5
|
* GBA now sends over contents of boxesKelly Rauchenberger2017-09-245-196/+291
|
* Fixed transfer of contest statsKelly Rauchenberger2017-09-241-6/+6
|
* GBA now sends over entire party instead of just first PokémonKelly Rauchenberger2017-09-241-2/+4
|
* Added more data to the HTTP POSTKelly Rauchenberger2017-09-231-1/+66
|
* Stopped bit-packing serialized Pokémon dataKelly Rauchenberger2017-09-231-7/+7
| | | | | It seems to have been causing some difficulty with the GameCube being able to parse the data, so for now I'm not going to do it.
* Fixed shininess determinationKelly Rauchenberger2017-09-233-15/+7
| | | | | Shininess is determined with the ID of the OT, not the game the Pokémon is currently in.
* Expanded gender fieldKelly Rauchenberger2017-09-232-6/+6
| | | | | Rather than representing it as a binary, the data structure now uses two bits for gender, in order to represent genderless Pokémon.
* Fixed Japanese left quote codepointKelly Rauchenberger2017-09-231-1/+1
|
* Wii can now send a POST request to a websiteKelly Rauchenberger2017-09-1613-19/+3793
| | | | | | | | | | | | | | | | | | The extractor now uses libfat to read a config file off the root of the SD card, a model for which is included in the repository. The extractor is capable of negotiating an HTTPS connection, but it requires a download of the target site's root CA certificate to be on the SD card and pointed at by the config file. TLS/SSL functionality is provided by wolfSSL. I had to make a couple of minor changes to wolfSSL for it to work properly, and those changes are located in the devkitpro branch of my fork, hatkirby/wolfssl. The Wii program now arranges some of the information that the GBA sends it into a JSON object, which is then sent off (along with some authentication information from the config file) to the endpoint defined in the config file. The code used to maintain the network connection is from the WiiTweet project, which was licensed under the GPL. Some of the code used to send the HTTP request also comes from said project.
* Added "Orre" flag to Pokémon serializationKelly Rauchenberger2017-09-132-1/+3
| | | | See wiki for more information on why.
* Fixed bug where Pokémon's language was not serialized properlyKelly Rauchenberger2017-09-111-1/+1
|
* Added identifying hash to Pokémon data structureKelly Rauchenberger2017-09-105-3/+590
| | | | | | | The purpose of this hash is described in detail in pokemon.h. The hash is computed using an implementation of SHA-224. To allow the GBA sufficient time to compute this hash, a delay of 5 milliseconds was introduced on the GC side before reading a Pokémon.
* Increased stability and added support for non-English namesKelly Rauchenberger2017-09-109-85/+448
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The GameCube side of the program now can convert from the propietary character set to UTF-8. This is useful for representing names of Pokémon and players in a neutral way. The propietary character set is mostly compatible between the six languages supported by the games (as in, the hiragana and katakana characters unique to Japanese occupy spaces not used by the other languages for names, as do the letters with umlauts unique to German). However, six codepoints differ between the Japanese and non-Japanese character sets, and an additional two differ even amongst the non-Japanese sets. Because of this, the function that converts to UTF-8 takes a language as a parameter, and uses the correct characters for that language. From there, the behavior of this function differs slightly to that of the games. In the non-Japanese games, the Japanese encoding is used if the Pokémon in question originated in a Japanese game, and the non-Japanese encoding (disregarding the regional differences in the two codepoints mentioned earlier) otherwise. In the Japanese games, the Japanese encoding is used regardless of the Pokémon's origin. The decoding function I wrote always uses the character set corresponding to the language of the Pokémon's origin, because that most accurately represents the name given to it, and will not change just because the Pokémon was traded to a different game. The character set used for the name of the player is the one corresponding to the language of the cartridge. Additionally, a number of changes were made to the communication protocol between the GameCube and the GBA that appear to have dramatically increased stability. The most significant of these is likely that the transfer delay was increased tenfold. This causes the multiboot image to take slightly longer to download to the GBA, but the difference is not large enough to outweigh the benefits of the increased stability.
* Added base stats for all of Deoxys's FormesKelly Rauchenberger2017-08-293-6/+46
|
* Actually wrote a descriptive READMEKelly Rauchenberger2017-08-191-8/+12
|
* Removed dependency on ROM-internal arraysKelly Rauchenberger2017-08-189-15/+2567
| | | | | | | | | | | | I looked at the base stats array and determined that, especially if I limited it to just the data I needed, that it wouldn't be too bad a thing to just include it and the other two arrays I need in my multiboot image rather than reference the ones already located in the game ROM. This way, we get back compatibility with all previously-compatible ROMs, and not just ones that I have dumped. New issue: Deoxys's base stats are actually different per-game, though, so a special case will have to be written for that.
* Added copyright info to the top of three new filesKelly Rauchenberger2017-08-183-0/+18
|
* Started working on serializing pokemon dataKelly Rauchenberger2017-08-1811-45/+774
| | | | | | | | | | | | | | | | | | | | | | | The GBA program now sends serialized data about the first pokemon in the player's party over to the Wii. This data doesn't yet include all of the information that we will eventually want. It does, however, not transfer any private data, specifically IVs, EVs, and the personality value. It does this by deriving the public information (stats, nature, gender, shiny) before sending the pokemon over. Because of this, lookup tables for things such as base stats were needed, and given that these are large tables, it was easier to use the tables already existent in the game's ROM. Thus, the addresses of the three lookup tables that are now used are necessary for each ROM that this tool supports. I derived the addresses for version 1 of English Pokemon LeafGreen by dumping my own copy and searching through it with a text editor. Thus, at the current time, that cartridge is the only one that is supported. I will supplement this soon with addresses for the other four gen 3 carts that I have, but that will still not provide a very large amount of coverage. I have not yet decided how to address this issue. There is one current bug with the serialized data: the Wii doesn't seem to see the original trainer ID. Will fix.
* Debug output lists pokedex numbers for seen/caughtKelly Rauchenberger2017-07-161-10/+13
|
* Removed a lot of sleeps that turned out to be unnecessaryKelly Rauchenberger2017-07-131-6/+4
| | | | It's faster now, yay!
* Organized code moreKelly Rauchenberger2017-07-138-606/+550
| | | | | | | | | Now the link-specific stuff is abstracted into its own file, and the code for negotiating the "different" multiboot protocol is in its own file. Also, removed support for compiling for GC because eventually we will be using Wii-only features. Also put the main extractor code into a thread so that we can monitor for the user pressing the start button to exit.
* App now waits for confirmation to import, and reads pokedex seen&caughtKelly Rauchenberger2017-07-134-1/+135
|
* Fixed indentationKelly Rauchenberger2017-07-116-269/+268
|
* Merged in gba-gen3multibootKelly Rauchenberger2017-07-116-12/+19
|\ | | | | | | | | | | | | | | | | I originally cloned this repo from gba-link-cable-dumper so this commit is merging in the "changes" from gba-gen3multiboot even though I really already applied everything myself. Also changed the output binary name, and removed the unused dependency on libfat. Todo: rewrite README.
| * Fix readmeslipstream/RoL2017-02-261-4/+4
| |
| * Merge remote-tracking branch 'origin/master'slipstream/RoL2017-02-261-1/+1
| |\ | | | | | | | | | | | | # Conflicts: # README.md
| | * update readmeslipstream/RoL2017-02-221-2/+2
| | |
| * | Major changesslipstream/RoL2017-02-269-632/+1657
| |/ | | | | | | | | | | | | | | - Added saveblock structures. - Changed example payload, now it warps to Hall of Fame. - Added helper library for Pokémon manipulation, checksum calculation, etc. - Removed libSave, it's not needed.
| * Forgot to commit a fileslipstream/RoL2017-02-211-0/+10
| | | | | | | | | | | | Added GAME_RUBY/GAME_SAPP/GAME_RS/GAME_FR/GAME_LG/GAME_FRLG/GAME_EM/LANG_JAPAN macros.
| * New features and bugfixesslipstream/RoL2017-02-211-11/+124
| | | | | | | | | | | | | | - Fixed FireRed v1.0 (Japan) support - Now reloads the Pokémon from the loaded savefile after calling the payload, so the payload can modify those parts of saveBlock1 directly - Decrypts "secure" save data areas in FireRed, LeafGreen and Emerald
| * Add support for almost all Gen III gamesslipstream/RoL2017-02-207-15/+299
| | | | | | | | | | | | | | | | | | | | | | | | The only Gen III game unsupported should be Pokémon LeafGreen v1.1 (Japan); as it is undumped. A couple of bugs have also been fixed. The code has also been refactored a little; now payload code goes into `payload.c`. The codebase is also ready for a planned future change to include savedata structure definitions. This will be done when it's done -- PRs to help would be appreciated!
| * make sure data directory existsslipstream/RoL2017-02-191-1/+2
| | | | | | Fixes build errors
| * Initial commit of the forkslipstream/RoL2017-02-1911-636/+616
| | | | | | | | Forking gba-link-cable-dumper to gba-gen3multiboot