Browse Source

Properly handle endianness for pokedex number

Andrew Swistak 7 years ago
parent
commit
6935835a2a
2 changed files with 2 additions and 2 deletions
  1. 1 1
      pokemon-parsing/gen7/parse.go
  2. 1 1
      pokemon/pokemon.go

+ 1 - 1
pokemon-parsing/gen7/parse.go

@@ -19,7 +19,7 @@ func Parse(rawPokemon p.RawPokemon) (*p.Pokemon, error) {
 	}
 
 	var pkmn p.Pokemon
-	pkmn.PokedexNumber = uint(rawPokemon[0x08])
+	pkmn.PokedexNumber = binary.LittleEndian.Uint16(rawPokemon[0x08:])
 	pkmn.RawNickname = rawPokemon[0x40:0x58]
 	pkmn.Nickname = binaryToUTF16leString(pkmn.RawNickname)
 	pkmn.RawPokemon = &rawPokemon

+ 1 - 1
pokemon/pokemon.go

@@ -6,7 +6,7 @@ type RawPokemon []byte
 // Pokemon is a struct the has fields for all relevant pokemon data from a
 // RawPokemon.
 type Pokemon struct {
-	PokedexNumber uint        `json:"pokedex_number"`
+	PokedexNumber uint16      `json:"pokedex_number"`
 	RawNickname   []byte      `json:"raw_nickname"`
 	Nickname      string      `json:"nickname"`
 	RawPokemon    *RawPokemon `json:"raw_pokemon"`