chase-san / libspec Goto Github PK
View Code? Open in Web Editor NEWA pokemon save editing library in C.
License: MIT License
A pokemon save editing library in C.
License: MIT License
Big Block
DPPt 0x4
HGSS 0x0
There is a total of 18 boxes.
Each box contains 30 pokemon.
Each slot is 136 bytes (0x88).
Each box is 136 * 30 = 4080 bytes in size.
In DPPt these boxes are consecutive.
In HGSS there is an additional padding following each box of 16 bytes.
Following the boxes, there is the box names. Each is 40 bytes in length, consisting of 20 16-bit characters. For HGSS these names follow the padding of the last box, plus an additional 8 bytes of padding before the start of the box names.
Ability to edit the daycare pokemon in the GBA games (possibly the egg as well).
While I deem this within an "acceptable margin of error", fixing up the stat calculation to fix this problem wouldn't hurt.
I think it has to do with that the GBA/NDS/DSI games use fixed point for stat calculation, where as I use integer math.
Changing my algorithm over to use fixed point would be as simple as multiplying by a number, and then dividing by that number again at the end.
However to properly test this, I will need a few examples of stats that are calculated incorrectly, that is to say, off by one.
Small Block
DP 0x94
PLAT 0x9C
HGSS 0x94
Starts with 32 bit unsigned integer for party size.
There are a total of 6 slots.
Each slot is 236 bytes.
Total size of 1420 bytes.
Add NDS daycare editing, possibly egg as well. Unknown offsets.
The Gameboy and Gameboy Color games (Gen 1 vs Gen 2), since the saves are a good bit different.
Applies to GBC, GBA, and NDS.
The GBC has room decoration items for the players room.
The GBA has secret base decorations. Allow editing the slots and the base positions themselves (why not right?)
The NDS has the bases in the underground. Allow editing those items. Never visited the undergound, so donno.
Example
Pokemon Emerald
Mudkip, level 8, NAIVE nature
STATS
HP 27 Atk 18 Def 14 SpAtk 14 SpDef 11 Spd 14
IV
HP 18 Atk 27 Def 14 SpAtk 14 SpDef 2 Spd 21
EV
HP 1 Atk 8 Def 0 SpAtk 0 SpDef 0 Spd 4
CALCULATED STATS
HP 25 Atk 12 Def 11 SpAtk 14 SpDef 11 Spd 18
For GBA/NDS/DSI we should have an option for checking if a Pokemon is shiny.
Ability to edit the badges in the GBA games.
The current pk3 ribbon structure is incorrect, recommend fixing it.
Need the ability to edit the rival trainer name in the GBA games (if you can set your rivals name),
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.