Skip to content
sabra55 edited this page Nov 10, 2023 · 13 revisions

In the English releases, the Pokédex shows Height and Weight in the Imperial System (height in feet, inches; and weight in pounds). Let's replace to the Metric System (height in meters; and weight in kilograms).

(the weight internally is stored as decipounds rather than pounds, even if it is displayed as pounds in the Pokédex, so the comment in the dex_entries.asm is wrong)

At the end of the page you can find a simple python script that requires no libraries, which takes as input your dex_entries.asm and produces a new file called dex_entries_properUnits.asm where all values of weight and height are re-calculated from the values in feet, inches, and decipounds.

It is an useful tool to avoid having to copy-and-paste all 151 edits, and particularly if you have any Pokémon which is not amongst the original 151.

Alternatively, you can copy-paste an edited file which contains most of the 151 pokemon all at once from pocketrgb-en here: https://github.com/Dracrius/pocketrgb-en/blob/5ca726479830da61dc03b86513f7b4411756d848/data/pokemon/dex_entries.asm#L3

Code from Japanese and European (French, German, Spanish and Italian) releases (pokered-jp (luckytyphlosion), pokejp (Masaru2), pokered-fr, pokered-de and pokered-es)

ShowPokedexDataInternal in engine\menus\pokedex.asm

...
ShowPokedexDataInternal:
...
	call PlayCry ; play pokemon cry

	pop hl
	pop de
	pop bc
	pop af

	ld a, c
	and a
	jp z, .waitForButtonPress ; if the pokemon has not been owned, don't print the height, weight, or description
-	inc de ; de = address of feet (height)
-	ld a, [de] ; reads feet, but a is overwritten without being used
-	hlcoord 12, 6
-	lb bc, 1, 2
-	call PrintNumber ; print feet (height)
-	ld a, "′"
-	ld [hl], a
-	inc de
-	inc de ; de = address of inches (height)
-	hlcoord 15, 6
-	lb bc, LEADING_ZEROES | 1, 2
-	call PrintNumber ; print inches (height)
-	ld a, "″"
-	ld [hl], a
-; now print the weight (note that weight is stored in tenths of pounds internally)
+	inc de ; de = address of decimetre (height)
+	ld a, [de] ; reads decimetre, but a is overwritten without being used
+	push af
+	hlcoord 13, 6
+	lb bc, 1, 3
+	call PrintNumber ; print decimetre (height)
+	hlcoord 14, 6
+	pop af
+	cp $a
+	jr nc, .heightNext
+	ld [hl], "0" ; if the height is less than 10, put a 0 before the decimal point
+.heightNext
+	inc hl
+	ld a, [hli]
+	ld [hld], a ; make space for the decimal point by moving the last digit forward one tile
+	ld [hl], "<DOT>" ; decimal point tile
+; now print the weight (note that weight is stored in tenths of kilograms internally)
	inc de
	inc de
	inc de ; de = address of upper byte of weight
	push de
; put weight in big-endian order at hDexWeight
	ld hl, hDexWeight
	ld a, [hl] ; save existing value of [hDexWeight]
	push af
	ld a, [de] ; a = upper byte of weight
	ld [hli], a ; store upper byte of weight in [hDexWeight]
	ld a, [hl] ; save existing value of [hDexWeight + 1]
	push af
	dec de
	ld a, [de] ; a = lower byte of weight
	ld [hl], a ; store lower byte of weight in [hDexWeight + 1]
	ld de, hDexWeight
-	hlcoord 11, 8
-	lb bc, 2, 5 ; 2 bytes, 5 digits
+       hlcoord 12, 8
+	lb bc, 2, 4 ; 2 bytes, 4 digits
	call PrintNumber ; print weight
	hlcoord 14, 8
	ldh a, [hDexWeight + 1]
	sub 10
	ldh a, [hDexWeight]
	sbc 0
	jr nc, .next
	ld [hl], "0" ; if the weight is less than 10, put a 0 before the decimal point
.next
...
...
	call ClearScreen
	call RunDefaultPaletteCommand
	call LoadTextBoxTilePatterns
	call GBPalNormal
	ld hl, wd72c
	res 1, [hl]
	ld a, $77 ; max volume
	ldh [rNR50], a
	ret

-HeightWeightText:
-	db   "HT  ?′??″"
-	next "WT   ???lb@"

+HeightWeightText:
+	db   "HT   ???<M>"
+	next "WT   ???<K><G>@"

; XXX does anything point to this?
PokeText:
	db "#@"

; horizontal line that divides the pokedex text description from the rest of the data
PokedexDataDividerLine:
...

Each Pokémon DexEntry in data\pokemon\dex_entries.asm

PokedexEntryPointers:
...
	dw VileplumeDexEntry
	dw BellsproutDexEntry
	dw WeepinbellDexEntry
	dw VictreebelDexEntry
	assert_table_length NUM_POKEMON_INDEXES

; string: species name
-; height in feet, inches
-; weight in pounds
+; height in decimetres (1/10 of metre)
+; weight in hectograms (1/10 of kilogram)
; text entry

RhydonDexEntry:
	db "DRILL@"
-	db 6,3
-	dw 2650
+       db 19
+       dw 1200
	text_far _RhydonDexEntry
	text_end

KangaskhanDexEntry:
	db "PARENT@"
-	db 7,3
-	dw 1760
+       db 22
+       dw 800
	text_far _KangaskhanDexEntry
	text_end

NidoranMDexEntry:
	db "POISON PIN@"
-	db 1,8
-	dw 200
+       db 5
+       dw 90
	text_far _NidoranMDexEntry
	text_end

ClefairyDexEntry:
	db "FAIRY@"
-	db 2,0
-	dw 170
+       db 6
+       dw 75
	text_far _ClefairyDexEntry
	text_end

SpearowDexEntry:
	db "TINY BIRD@"
-	db 1,0
-	dw 40
+       db 3
+       dw 20
	text_far _SpearowDexEntry
	text_end

VoltorbDexEntry:
	db "BALL@"
-	db 1,8
-	dw 230
+       db 5
+       dw 104
	text_far _VoltorbDexEntry
	text_end

NidokingDexEntry:
	db "DRILL@"
-	db 4,7
-	dw 1370
+       db 14
+       dw 620
	text_far _NidokingDexEntry
	text_end

SlowbroDexEntry:
	db "HERMITCRAB@"
-	db 5,3
-	dw 1730
+       db 16
+       dw 785
	text_far _SlowbroDexEntry
	text_end

IvysaurDexEntry:
	db "SEED@"
-	db 3,3
-	dw 290
+       db 10
+       dw 130
	text_far _IvysaurDexEntry
	text_end

ExeggutorDexEntry:
	db "COCONUT@"
-	db 6,7
-	dw 2650
+       db 20
+       dw 1200
	text_far _ExeggutorDexEntry
	text_end

LickitungDexEntry:
	db "LICKING@"
-	db 3,11
-	dw 1440
+       db 12
+       dw 655
	text_far _LickitungDexEntry
	text_end

ExeggcuteDexEntry:
	db "EGG@"
-	db 1,4
-	dw 60
+       db 4
+       dw 25
	text_far _ExeggcuteDexEntry
	text_end

GrimerDexEntry:
	db "SLUDGE@"
-	db 2,11
-	dw 660
+       db 9
+       dw 300
	text_far _GrimerDexEntry
	text_end

GengarDexEntry:
	db "SHADOW@"
-	db 4,11
-	dw 890
+       db 15
+       dw 405
	text_far _GengarDexEntry
	text_end

NidoranFDexEntry:
	db "POISON PIN@"
-	db 1,4
-	dw 150
+       db 4
+       dw 70
	text_far _NidoranFDexEntry
	text_end

NidoqueenDexEntry:
	db "DRILL@"
-	db 4,3
-	dw 1320
+       db 13
+       dw 600
	text_far _NidoqueenDexEntry
	text_end

CuboneDexEntry:
	db "LONELY@"
-	db 1,4
-	dw 140
+       db 4
+       dw 65
	text_far _CuboneDexEntry
	text_end

RhyhornDexEntry:
	db "SPIKES@"
-	db 3,3
-	dw 2540
+       db 10
+       dw 1150
	text_far _RhyhornDexEntry
	text_end

LaprasDexEntry:
	db "TRANSPORT@"
-	db 8,2
-	dw 4850
+       db 25
+       dw 2200
	text_far _LaprasDexEntry
	text_end

ArcanineDexEntry:
	db "LEGENDARY@"
-	db 6,3
-	dw 3420
+       db 19
+       dw 1550
	text_far _ArcanineDexEntry
	text_end

MewDexEntry:
	db "NEW SPECIE@"
-	db 1,4
-	dw 90
+       db 4
+       dw 40
	text_far _MewDexEntry
	text_end

GyaradosDexEntry:
	db "ATROCIOUS@"
-	db 21,4
-	dw 5180
+       db 65
+       dw 2350
	text_far _GyaradosDexEntry
	text_end

ShellderDexEntry:
	db "BIVALVE@"
-	db 1,0
-	dw 90
+       db 3
+       dw 40
	text_far _ShellderDexEntry
	text_end

TentacoolDexEntry:
	db "JELLYFISH@"
-	db 2,11
-	dw 1000
+       db 9
+       dw 455
	text_far _TentacoolDexEntry
	text_end

GastlyDexEntry:
	db "GAS@"
-	db 4,3
-	dw 2
+       db 13
+       dw 1
	text_far _GastlyDexEntry
	text_end

ScytherDexEntry:
	db "MANTIS@"
-	db 4,11
-	dw 1230
+       db 15
+       dw 560
	text_far _ScytherDexEntry
	text_end

StaryuDexEntry:
	db "STARSHAPE@"
-	db 2,7
-	dw 760
+       db 8
+       dw 345
	text_far _StaryuDexEntry
	text_end

BlastoiseDexEntry:
	db "SHELLFISH@"
-	db 5,3
-	dw 1890
+       db 16
+       dw 855
	text_far _BlastoiseDexEntry
	text_end

PinsirDexEntry:
	db "STAGBEETLE@"
-	db 4,11
-	dw 1210
+       db 15
+       dw 550
	text_far _PinsirDexEntry
	text_end

TangelaDexEntry:
	db "VINE@"
-	db 3,3
-	dw 770
+       db 10
+       dw 350
	text_far _TangelaDexEntry
	text_end

GrowlitheDexEntry:
	db "PUPPY@"
-	db 2,4
-	dw 420
+       db 7
+       dw 190
	text_far _GrowlitheDexEntry
	text_end

OnixDexEntry:
	db "ROCK SNAKE@"
-	db 28,10
-	dw 4630
+       db 88
+       dw 2100
	text_far _OnixDexEntry
	text_end

FearowDexEntry:
	db "BEAK@"
-	db 3,11
-	dw 840
+       db 12
+       dw 380
	text_far _FearowDexEntry
	text_end

PidgeyDexEntry:
	db "TINY BIRD@"
-	db 1,0
-	dw 40
+       db 3
+       dw 18
	text_far _PidgeyDexEntry
	text_end

SlowpokeDexEntry:
	db "DOPEY@"
-	db 3,11
-	dw 790
+       db 12
+       dw 360
	text_far _SlowpokeDexEntry
	text_end

KadabraDexEntry:
	db "PSI@"
-	db 4,3
-	dw 1250
+       db 13
+       dw 565
	text_far _KadabraDexEntry
	text_end

GravelerDexEntry:
	db "ROCK@"
-	db 3,3
-	dw 2320
+       db 10
+       dw 1050
	text_far _GravelerDexEntry
	text_end

ChanseyDexEntry:
	db "EGG@"
-	db 3,7
-	dw 760
+       db 11
+       dw 346
	text_far _ChanseyDexEntry
	text_end

MachokeDexEntry:
	db "SUPERPOWER@"
-	db 4,11
-	dw 1550
+       db 15
+       dw 705
	text_far _MachokeDexEntry
	text_end

MrMimeDexEntry:
	db "BARRIER@"
-	db 4,3
-	dw 1200
+       db 13
+       dw 545
	text_far _MrMimeDexEntry
	text_end

HitmonleeDexEntry:
	db "KICKING@"
-	db 4,11
-	dw 1100
+       db 15
+       dw 498
	text_far _HitmonleeDexEntry
	text_end

HitmonchanDexEntry:
	db "PUNCHING@"
-	db 4,7
-	dw 1110
+       db 14
+       dw 502
	text_far _HitmonchanDexEntry
	text_end

ArbokDexEntry:
	db "COBRA@"
-	db 11,6
-	dw 1430
+       db 35
+       dw 650
	text_far _ArbokDexEntry
	text_end

ParasectDexEntry:
	db "MUSHROOM@"
-	db 3,3
-	dw 650
+       db 10
+       dw 295
	text_far _ParasectDexEntry
	text_end

PsyduckDexEntry:
	db "DUCK@"
-	db 2,7
-	dw 430
+       db 8
+       dw 196
	text_far _PsyduckDexEntry
	text_end

DrowzeeDexEntry:
	db "HYPNOSIS@"
-	db 3,3
-	dw 710
+       db 10
+       dw 324
	text_far _DrowzeeDexEntry
	text_end

GolemDexEntry:
	db "MEGATON@"
-	db 4,7
-	dw 6620
+       db 14
+       dw 3000
	text_far _GolemDexEntry
	text_end

MagmarDexEntry:
	db "SPITFIRE@"
-	db 4,3
-	dw 980
+       db 13
+       dw 445
	text_far _MagmarDexEntry
	text_end

ElectabuzzDexEntry:
	db "ELECTRIC@"
-	db 3,7
-	dw 660
+       db 11
+       dw 300
	text_far _ElectabuzzDexEntry
	text_end

MagnetonDexEntry:
	db "MAGNET@"
-	db 3,3
-	dw 1320
+       db 10
+       dw 600
	text_far _MagnetonDexEntry
	text_end

KoffingDexEntry:
	db "POISON GAS@"
-	db 2,0
-	dw 20
+       db 6
+       dw 10
	text_far _KoffingDexEntry
	text_end

MankeyDexEntry:
	db "PIG MONKEY@"
-	db 1,8
-	dw 620
+       db 5
+       dw 280
	text_far _MankeyDexEntry
	text_end

SeelDexEntry:
	db "SEA LION@"
-	db 3,7
-	dw 1980
+       db 11
+       dw 900
	text_far _SeelDexEntry
	text_end

DiglettDexEntry:
	db "MOLE@"
-	db 0,8
-	dw 20
+       db 2
+       dw 8
	text_far _DiglettDexEntry
	text_end

TaurosDexEntry:
	db "WILD BULL@"
-	db 4,7
-	dw 1950
+       db 14
+       dw 884
	text_far _TaurosDexEntry
	text_end

FarfetchdDexEntry:
	db "WILD DUCK@"
-	db 2,7
-	dw 330
+       db 8
+       dw 150
	text_far _FarfetchdDexEntry
	text_end

VenonatDexEntry:
	db "INSECT@"
-	db 3,3
-	dw 660
+       db 10
+       dw 300
	text_far _VenonatDexEntry
	text_end

DragoniteDexEntry:
	db "DRAGON@"
-	db 7,3
-	dw 4630
+       db 22
+       dw 2100
	text_far _DragoniteDexEntry
	text_end

DoduoDexEntry:
	db "TWIN BIRD@"
-	db 4,7
-	dw 860
+       db 14
+       dw 392
	text_far _DoduoDexEntry
	text_end

PoliwagDexEntry:
	db "TADPOLE@"
-	db 2,0
-	dw 270
+       db 6
+       dw 124
	text_far _PoliwagDexEntry
	text_end

JynxDexEntry:
	db "HUMANSHAPE@"
-	db 4,7
-	dw 900
+       db 14
+       dw 406
	text_far _JynxDexEntry
	text_end

MoltresDexEntry:
	db "FLAME@"
-	db 6,7
-	dw 1320
+       db 20
+       dw 600
	text_far _MoltresDexEntry
	text_end

ArticunoDexEntry:
	db "FREEZE@"
-	db 5,7
-	dw 1220
+       db 17
+       dw 554
	text_far _ArticunoDexEntry
	text_end

ZapdosDexEntry:
	db "ELECTRIC@"
-	db 5,3
-	dw 1160
+       db 16
+       dw 526
	text_far _ZapdosDexEntry
	text_end

DittoDexEntry:
	db "TRANSFORM@"
-	db 1,0
-	dw 90
+       db 3
+       dw 40
	text_far _DittoDexEntry
	text_end

MeowthDexEntry:
	db "SCRATCHCAT@"
-	db 1,4
-	dw 90
+       db 4
+       dw 42
	text_far _MeowthDexEntry
	text_end

KrabbyDexEntry:
	db "RIVER CRAB@"
-	db 1,4
-	dw 140
+       db 4
+       dw 65
	text_far _KrabbyDexEntry
	text_end

VulpixDexEntry:
	db "FOX@"
-	db 2,0
-	dw 220
+       db 6
+       dw 99
	text_far _VulpixDexEntry
	text_end

NinetalesDexEntry:
	db "FOX@"
-	db 3,7
-	dw 440
+       db 11
+       dw 199
	text_far _NinetalesDexEntry
	text_end

PikachuDexEntry:
	db "MOUSE@"
-	db 1,4
-	dw 130
+       db 4
+       dw 60
	text_far _PikachuDexEntry
	text_end

RaichuDexEntry:
	db "MOUSE@"
-	db 2,7
-	dw 660
+       db 8
+       dw 300
	text_far _RaichuDexEntry
	text_end

DratiniDexEntry:
	db "DRAGON@"
-	db 5,11
-	dw 70
+       db 18
+       dw 33
	text_far _DratiniDexEntry
	text_end

DragonairDexEntry:
	db "DRAGON@"
-	db 13,1
-	dw 360
+       db 40
+       dw 165
	text_far _DragonairDexEntry
	text_end

KabutoDexEntry:
	db "SHELLFISH@"
-	db 1,8
-	dw 250
+       db 5
+       dw 115
	text_far _KabutoDexEntry
	text_end

KabutopsDexEntry:
	db "SHELLFISH@"
-	db 4,3
-	dw 890
+       db 13
+       dw 405
	text_far _KabutopsDexEntry
	text_end

HorseaDexEntry:
	db "DRAGON@"
-	db 1,4
-	dw 180
+       db 4
+       dw 80
	text_far _HorseaDexEntry
	text_end

SeadraDexEntry:
	db "DRAGON@"
-	db 3,11
-	dw 550
+       db 12
+       dw 250
	text_far _SeadraDexEntry
	text_end

SandshrewDexEntry:
	db "MOUSE@"
-	db 2,0
-	dw 260
+       db 6
+       dw 120
	text_far _SandshrewDexEntry
	text_end

SandslashDexEntry:
	db "MOUSE@"
-	db 3,3
-	dw 650
+       db 10
+       dw 295
	text_far _SandslashDexEntry
	text_end

OmanyteDexEntry:
	db "SPIRAL@"
-	db 1,4
-	dw 170
+       db 4
+       dw 75
	text_far _OmanyteDexEntry
	text_end

OmastarDexEntry:
	db "SPIRAL@"
-	db 3,3
-	dw 770
+       db 10
+       dw 350
	text_far _OmastarDexEntry
	text_end

JigglypuffDexEntry:
	db "BALLOON@"
-	db 1,8
-	dw 120
+       db 5
+       dw 55
	text_far _JigglypuffDexEntry
	text_end

WigglytuffDexEntry:
	db "BALLOON@"
-	db 3,3
-	dw 260
+       db 10
+       dw 120
	text_far _WigglytuffDexEntry
	text_end

EeveeDexEntry:
	db "EVOLUTION@"
-	db 1,0
-	dw 140
+       db 3
+       dw 65
	text_far _EeveeDexEntry
	text_end

FlareonDexEntry:
	db "FLAME@"
-	db 2,11
-	dw 550
+       db 9
+       dw 250
	text_far _FlareonDexEntry
	text_end

JolteonDexEntry:
	db "LIGHTNING@"
-	db 2,7
-	dw 540
+       db 8
+       dw 245
	text_far _JolteonDexEntry
	text_end

VaporeonDexEntry:
	db "BUBBLE JET@"
-	db 3,3
-	dw 640
+       db 10
+       dw 290
	text_far _VaporeonDexEntry
	text_end

MachopDexEntry:
	db "SUPERPOWER@"
-	db 2,7
-	dw 430
+       db 8
+       dw 195
	text_far _MachopDexEntry
	text_end

ZubatDexEntry:
	db "BAT@"
-	db 2,7
-	dw 170
+       db 8
+       dw 75
	text_far _ZubatDexEntry
	text_end

EkansDexEntry:
	db "SNAKE@"
-	db 6,7
-	dw 150
+       db 20
+       dw 69
	text_far _EkansDexEntry
	text_end

ParasDexEntry:
	db "MUSHROOM@"
-	db 1,0
-	dw 120
+       db 3
+       dw 54
	text_far _ParasDexEntry
	text_end

PoliwhirlDexEntry:
	db "TADPOLE@"
-	db 3,3
-	dw 440
+       db 10
+       dw 200
	text_far _PoliwhirlDexEntry
	text_end

PoliwrathDexEntry:
	db "TADPOLE@"
-	db 4,3
-	dw 1190
+       db 13
+       dw 540
	text_far _PoliwrathDexEntry
	text_end

WeedleDexEntry:
	db "HAIRY BUG@"
-	db 1,0
-	dw 70
+       db 3
+       dw 32
	text_far _WeedleDexEntry
	text_end

KakunaDexEntry:
	db "COCOON@"
-	db 2,0
-	dw 220
+       db 6
+       dw 100
	text_far _KakunaDexEntry
	text_end

BeedrillDexEntry:
	db "POISON BEE@"
-	db 3,3
-	dw 650
+       db 10
+       dw 295
	text_far _BeedrillDexEntry
	text_end

DodrioDexEntry:
	db "TRIPLEBIRD@"
-	db 5,11
-	dw 1880
+       db 18
+       dw 852
	text_far _DodrioDexEntry
	text_end

PrimeapeDexEntry:
	db "PIG MONKEY@"
-	db 3,3
-	dw 710
+       db 10
+       dw 320
	text_far _PrimeapeDexEntry
	text_end

DugtrioDexEntry:
	db "MOLE@"
-	db 2,4
-	dw 730
+       db 7
+       dw 333
	text_far _DugtrioDexEntry
	text_end

VenomothDexEntry:
	db "POISONMOTH@"
-	db 4,11
-	dw 280
+       db 15
+       dw 125
	text_far _VenomothDexEntry
	text_end

DewgongDexEntry:
	db "SEA LION@"
-	db 5,7
-	dw 2650
+       db 17
+       dw 1200
	text_far _DewgongDexEntry
	text_end

CaterpieDexEntry:
	db "WORM@"
-	db 1,0
-	dw 60
+       db 3
+       dw 29
	text_far _CaterpieDexEntry
	text_end

MetapodDexEntry:
	db "COCOON@"
-	db 2,4
-	dw 220
+       db 7
+       dw 99
	text_far _MetapodDexEntry
	text_end

ButterfreeDexEntry:
	db "BUTTERFLY@"
-	db 3,7
-	dw 710
+       db 11
+       dw 320
	text_far _ButterfreeDexEntry
	text_end

MachampDexEntry:
	db "SUPERPOWER@"
-	db 5,3
-	dw 2870
+       db 16
+       dw 1300
	text_far _MachampDexEntry
	text_end

GolduckDexEntry:
	db "DUCK@"
-	db 5,7
-	dw 1690
+       db 17
+       dw 766
	text_far _GolduckDexEntry
	text_end

HypnoDexEntry:
	db "HYPNOSIS@"
-	db 5,3
-	dw 1670
+       db 16
+       dw 756
	text_far _HypnoDexEntry
	text_end

GolbatDexEntry:
	db "BAT@"
-	db 5,3
-	dw 1210
+       db 16
+       dw 550
	text_far _GolbatDexEntry
	text_end

MewtwoDexEntry:
	db "GENETIC@"
-	db 6,7
-	dw 2690
+       db 20
+       dw 1220
	text_far _MewtwoDexEntry
	text_end

SnorlaxDexEntry:
	db "SLEEPING@"
-	db 6,11
-	dw 10140
+       db 21
+       dw 4600
	text_far _SnorlaxDexEntry
	text_end

MagikarpDexEntry:
	db "FISH@"
-	db 2,11
-	dw 220
+       db 9
+       dw 100
	text_far _MagikarpDexEntry
	text_end

MukDexEntry:
	db "SLUDGE@"
-	db 3,11
-	dw 660
+       db 12
+       dw 300
	text_far _MukDexEntry
	text_end

KinglerDexEntry:
	db "PINCER@"
-	db 4,3
-	dw 1320
+       db 13
+       dw 600
	text_far _KinglerDexEntry
	text_end

CloysterDexEntry:
	db "BIVALVE@"
-	db 4,11
-	dw 2920
+       db 15
+       dw 1325
	text_far _CloysterDexEntry
	text_end

ElectrodeDexEntry:
	db "BALL@"
-	db 3,11
-	dw 1470
+       db 12
+       dw 666
	text_far _ElectrodeDexEntry
	text_end

ClefableDexEntry:
	db "FAIRY@"
-	db 4,3
-	dw 880
+       db 13
+       dw 400
	text_far _ClefableDexEntry
	text_end

WeezingDexEntry:
	db "POISON GAS@"
-	db 3,11
-	dw 210
+       db 12
+       dw 95
	text_far _WeezingDexEntry
	text_end

PersianDexEntry:
	db "CLASSY CAT@"
-	db 3,3
-	dw 710
+       db 10
+       dw 320
	text_far _PersianDexEntry
	text_end

MarowakDexEntry:
	db "BONEKEEPER@"
-	db 3,3
-	dw 990
+       db 10
+       dw 450
	text_far _MarowakDexEntry
	text_end

HaunterDexEntry:
	db "GAS@"
-	db 5,3
-	dw 2
+       db 16
+       dw 1
	text_far _HaunterDexEntry
	text_end

AbraDexEntry:
	db "PSI@"
-	db 2,11
-	dw 430
+       db 9
+       dw 195
	text_far _AbraDexEntry
	text_end

AlakazamDexEntry:
	db "PSI@"
-	db 4,11
-	dw 1060
+       db 15
+       dw 480
	text_far _AlakazamDexEntry
	text_end

PidgeottoDexEntry:
	db "BIRD@"
-	db 3,7
-	dw 660
+       db 11
+       dw 300
	text_far _PidgeottoDexEntry
	text_end

PidgeotDexEntry:
	db "BIRD@"
-	db 4,11
-	dw 870
+       db 15
+       dw 395
	text_far _PidgeotDexEntry
	text_end

StarmieDexEntry:
	db "MYSTERIOUS@"
-	db 3,7
-	dw 1760
+       db 11
+       dw 800
	text_far _StarmieDexEntry
	text_end

BulbasaurDexEntry:
	db "SEED@"
-	db 2,4
-	dw 150
+       db 7
+       dw 69
	text_far _BulbasaurDexEntry
	text_end

VenusaurDexEntry:
	db "SEED@"
-	db 6,7
-	dw 2210
+       db 20
+       dw 1000
	text_far _VenusaurDexEntry
	text_end

TentacruelDexEntry:
	db "JELLYFISH@"
-	db 5,3
-	dw 1210
+       db 16
+       dw 550
	text_far _TentacruelDexEntry
	text_end

GoldeenDexEntry:
	db "GOLDFISH@"
-	db 2,0
-	dw 330
+       db 6
+       dw 150
	text_far _GoldeenDexEntry
	text_end

SeakingDexEntry:
	db "GOLDFISH@"
-	db 4,3
-	dw 860
+       db 13
+       dw 390
	text_far _SeakingDexEntry
	text_end

PonytaDexEntry:
	db "FIRE HORSE@"
-	db 3,3
-	dw 660
+       db 10
+       dw 300
	text_far _PonytaDexEntry
	text_end

RapidashDexEntry:
	db "FIRE HORSE@"
-	db 5,7
-	dw 2090
+       db 17
+       dw 950
	text_far _RapidashDexEntry
	text_end

RattataDexEntry:
	db "RAT@"
-	db 1,0
-	dw 80
+       db 3
+       dw 35
	text_far _RattataDexEntry
	text_end

RaticateDexEntry:
	db "RAT@"
-	db 2,4
-	dw 410
+       db 7
+       dw 185
	text_far _RaticateDexEntry
	text_end

NidorinoDexEntry:
	db "POISON PIN@"
-	db 2,11
-	dw 430
+       db 9
+       dw 195
	text_far _NidorinoDexEntry
	text_end

NidorinaDexEntry:
	db "POISON PIN@"
-	db 2,7
-	dw 440
+       db 8
+       dw 200
	text_far _NidorinaDexEntry
	text_end

GeodudeDexEntry:
	db "ROCK@"
-	db 1,4
-	dw 440
+       db 4
+       dw 200
	text_far _GeodudeDexEntry
	text_end

PorygonDexEntry:
	db "VIRTUAL@"
-	db 2,7
-	dw 800
+       db 8
+       dw 365
	text_far _PorygonDexEntry
	text_end

AerodactylDexEntry:
	db "FOSSIL@"
-	db 5,11
-	dw 1300
+       db 18
+       dw 590
	text_far _AerodactylDexEntry
	text_end

MagnemiteDexEntry:
	db "MAGNET@"
-	db 1,0
-	dw 130
+       db 3
+       dw 60
	text_far _MagnemiteDexEntry
	text_end

CharmanderDexEntry:
	db "LIZARD@"
-	db 2,0
-	dw 190
+       db 6
+       dw 85
	text_far _CharmanderDexEntry
	text_end

SquirtleDexEntry:
	db "TINYTURTLE@"
-	db 1,8
-	dw 200
+       db 5
+       dw 90
	text_far _SquirtleDexEntry
	text_end

CharmeleonDexEntry:
	db "FLAME@"
-	db 3,7
-	dw 420
+       db 11
+       dw 190
	text_far _CharmeleonDexEntry
	text_end

WartortleDexEntry:
	db "TURTLE@"
-	db 3,3
-	dw 500
+       db 10
+       dw 225
	text_far _WartortleDexEntry
	text_end

CharizardDexEntry:
	db "FLAME@"
-	db 5,7
-	dw 2000
+       db 17
+       dw 905
	text_far _CharizardDexEntry
	text_end

OddishDexEntry:
	db "WEED@"
-	db 1,8
-	dw 120
+       db 5
+       dw 54
	text_far _OddishDexEntry
	text_end

GloomDexEntry:
	db "WEED@"
-	db 2,7
-	dw 190
+       db 8
+       dw 86
	text_far _GloomDexEntry
	text_end

VileplumeDexEntry:
	db "FLOWER@"
-	db 3,11
-	dw 410
+       db 12
+       dw 186
	text_far _VileplumeDexEntry
	text_end

BellsproutDexEntry:
	db "FLOWER@"
-	db 2,4
-	dw 90
+       db 7
+       dw 40
	text_far _BellsproutDexEntry
	text_end

WeepinbellDexEntry:
	db "FLYCATCHER@"
-	db 3,3
-	dw 140
+       db 10
+       dw 64
	text_far _WeepinbellDexEntry
	text_end

VictreebelDexEntry:
	db "FLYCATCHER@"
-	db 5,7
-	dw 340
+       db 17
+       dw 155
	text_far _VictreebelDexEntry
	text_end

MissingNoDexEntry:
	db "???@"
-	db 10 ; 1.0 m
-	dw 100 ; 10.0 kg
+       db 10
+       dw 100
	db "コメント さくせいちゅう@" ; コメント作成中 (Comment to be written)

Now the last thing:

...
; Actual characters (from other graphics files)

	; needed for ShowPokedexDataInternal (see engine/menus/pokedex.asm)
-	charmap "′",         $60 ; gfx/pokedex/pokedex.png
-	charmap "″",         $61 ; gfx/pokedex/pokedex.png

+	charmap "<M>",       $60 ; gfx/pokedex/pokedex.png
+	charmap "<K>",       $61 ; gfx/pokedex/pokedex.png
+	charmap "<G>",       $62 ; gfx/pokedex/pokedex.png
...

Now change the gfx\pokedex\pokedex.png

pokedex

For this

pokedex

Python script to automatically convert imperial measuring system (feet, pounds) into metric system units (metres, kilograms):

def convertUglyUnitsIntoDecimeters(foots, inches):
    # height in dm, approximate to unit, as an int
    return int(round((foots * 0.3048 + inches * 0.0254)*10))
def convertUglyUnitsIntoHectograms(decipounds):
    # weight in hg, approximate to unit, as an int
    return int(round((decipounds * 0.453592)))

# remember to change the paths below to the ones you actually care for
fileInPath  = '/your/path/to/dex_entries.asm'
fileOutPath = '/your/path/to/dex_entries_properUnits.asm'

# probably it's ugly and there's better, but it's a working way of reading the original .asm file
file_in = open(fileInPath, 'r')
linesFromFile = []
for y in file_in.readlines():
    linesFromFile.append(y)
    
# change all the relevant lines
linesFromFile_Edited = []
for linehere in linesFromFile:
    if ('\tdb ' in linehere) and not ('"' in linehere): # fix the height values
        linesFromFile_Edited.append(changeUglyHeightLine(linehere))
    elif ('\tdw ' in linehere) and not ('DexEntry' in linehere): # fix the weight values
        linesFromFile_Edited.append(changeUglyWeightLine(linehere))
    elif linehere=='; height in feet, inches\n': # change the comment about height units
        linesFromFile_Edited.append('; height in decimeter\n')
    elif linehere=='; weight in pounds\n': # change the comment about weight units
        linesFromFile_Edited.append('; weight in hectograms\n')
    else: # keep the rest as it is
        linesFromFile_Edited.append(linehere)

# write the new .asm file
txtToWrite = open(fileOutPath, "w")
for oneLine in linesFromFile_Edited:
    txtToWrite.write(oneLine)
txtToWrite.close()
Clone this wiki locally