Pokered for Dummies

Started by PiaCRT September 21st, 2014 5:31 PM
  • 24884 views
  • 22 replies

PiaCRT

Dragon Slave!!!

Age 27
Male
Pummelo Island
Seen 10 Hours Ago
Posted 3 Days Ago
906 posts
12 Years
THIS GUIDE IS NO LONGER ACCURATE PLEASE REFER TO THE INSTALL.MD FOR POKERED

Additional Tutorials:
How to add Gender Select by Mateo

NOTE: This is a work in progress guide. I am adding onto it as I learn.

Ever wanted to make your own Gameboy game from scratch? One that you could play on an emulator, but hacking ended up being way too frustrating for you?

Well now there's pokered, a complete disassembly of Pokemon Red version for the Nintendo Gameboy.

However, as amazing as pokered is there is not much in the way of guides for using it, besides installation and some obvious things like changing graphics. So that's why I'm writing Pokered for Dummies.

I'm learning all about this great hacking alternative myself. Once upon a time I looked for an alternative to hacking and I found RPG Maker XP with the Pokemon Essentials engine. However, the engine is only compatible with Windows and it was very difficult to make something besides a third gen styled game.

pokered is 100% open source and you can do anything within hardware limitations in it. No more decompressing, finding new pointers, repointing, assembly hacking, etc. I literally changed 2 lines of code and replaced an image to get this:



And that is just the scum of the barrel for you. Think of the possibilities with this engine. Diagonal movement? Custom battle interfaces? New animations? Follow me? Use your imagination! And we will be covering all that is available to us in this guide.

Table of Contents
1.---Is pokered for you?
2.---Installing pokered
3.---Finding and Editing text
3A--Labels and text scripting
4.---Editing simple Graphics
5.---Maps
6.---Wild Battles
7.---Trainer Battles
8.---Events


Chapter 1. Is pokered for you?

pokered is a disassembly of Pokemon Red Version by Gamefreak for the Nintendo Gameboy. It's a rather dated game, nearly 20 years old. With that said, the hardware of the Gameboy is very limited compared to, say, a Gameboy Advance or a Nintendo DS. Heck, the game is barely over a Megabyte in size when compiled, while Gameboy Advance ROMs are 16 to 32MB.

With this said, pokered is still very versatile for both newbies and rom hacking veterans. The engine still features Z80 assembly rather heavily but is now labelled and fixed up in places that were previously impossible to deal with, such as Gen 1 sprite editing. Many strings of text are centralized and can be edited in a Text editor like Notepad++. Sprites are now compiled as .png files, easy to edit with no hassle involved.

Now, another problem is the palette limitations. While you can add color to the game, it is not supported by the Gameboy natively. If you want to check out pokered with color, see Danny-E 33's pokered with generation 2 elements here: https://github.com/dannye/pokered-gen-II

This guide does not go over Danny-E 33's version so do not ask me what to do if you come across a problem with it.

Anyway, Pokemon Red uses monochrome colors, as in black, white and grey. You can reference the image in the intro for an example.

So really your limitations here are colors and size. Even with color the Gameboy can only do so much. Tilesets can't be extended although you can make new ones. And remember the gameboy runs off the Z80 Assembly language, which if I'm not mistaken TI calculators still use this language. If you want to add new features you'll need to learn how to use this language.

That concludes this short chapter in the guide. Next we'll get to installing pokered.

Chapter 2. Installing pokered

This chapter heavily references the Install.md on IImarckus' github, which can be found here: https://github.com/iimarckus/pokered/blob/master/INSTALL.md
Please use his guide if using Mac OS X or Linux. This guide goes purely on Windows.

First off you'll need to install cygwin 32-bit, which can be found here: https://cygwin.com/install.html

When installing you'll need to select what dependencies you'll need, and you need atleast the following:
  • make
  • git
  • gettext
  • python
  • python-setuptools

You will then need to install Rednex Gameboy Development System, which can be found here:
http://iimarck.us/etc/rgbds.zip

Open the zip, and then open the folder in the zip. Now, take all the .exe files and place them in the following location on your PC.

C:\cygwin\usr\local\bin
All the .exe files should be in the bin folders. Do not make any additional folders or you will need to mess with your cygwin PATH.

Now open the cygwin terminal which should be in your Programs. Type in each of these lines:
git clone git://github.com/iimarckus/pokered.git
cd pokered
git submodule init
git submodule update
easy_install git://github.com/drj11/[email protected]#egg=pypng
After this, you should test it to make sure you've done everything right.

Type in the following:
make red
Bonus: make will create both red and blue roms, make blue will make a blue rom, and make red will simply make a red rom.



Give it a moment, and it should compile the rom in the pokered folder in cygwin. If it spits out an error you will need to fix your PATH. The following code will fix your PATH. Make sure you are in cygwin terminal.

export "PATH=$PATH:/cygdrive/C/cygwin/usr/local/bin/
Now for this to work make sure the .exe files from rgbds are in the bin folder, not the rgbds folder from the zip!

After that your environment in Cygwin should be ready to go. Now we can start having some fun.

Chapter 3. Finding and editing text

I'm sure the first thing you guys want to do is edit graphics or text, so these next two chapters will be covering those.

If you're looking for a specific string of text that you want to change go to the github repository, at the top of the page is a search bar. Search for a couple words from the text you want to change and it should give you a match. Now just find the same file in your cygwin pokered folder and edit it as you please. I will go into editing text completely and making new text momentarily.

3A. Labels and text scripting



If you crack open oakspeech.asm in the text folder you'll see something like this:
_OakSpeechText1::
	text "Hiya, there!"
	line "Welcome to the"
	cont "world of #MON!"

	para "My name is PIA!"
	line "I am a humble"
	cont "schoolteacher."
	prompt
Of course this is just my edited version of Oak's speech but it's to show you how easy it is to change. If you have a line already you simply label cont and it will make another line. prompt is used before a sequence and ends the conversation, in this case it transitions from Oak to Nidorino. para is used to start a new paragraph. Don't worry about offsets, the compiler seems to do it for you.

text initiates the conversation, acts as the first para
line is the line after the first in the para
cont is every line afterwards
para begins a paragraph
prompt ends a conversation
done ends the script

When we get to events I will be covering this so much more in depth, this is just a quick reference for editing conversations like Oak's!


Chapter 4. Editing simple graphics

Editing graphics is a simple process, with all images in pokered being in .png format, you can edit them in a program as simple as paint. I recommend Paint XP personally, as Paint 7 or 8 aren't as useful for these kinds of images.

Not much to say about editing them, you can't change the image size unless the corresponding code is edited to support it. This can be a tedious process.

Here is an example from me simply editing red and blue's sprite file in the gfx/sprites folder:


The process took a couple minutes since I had to recolor the originals to monochrome. Which brings up an important reminder.

DO NOT USE ANY COLORS BESIDES THE 2 SHADES OF GREY, THE ONE BLACK AND THE WHITE BACKGROUND!!!

If you do, it will NOT compile as it should.

Chapter 5. Maps

EDIT: USE RANGI'S POLISHED MAP, IT NOW SUPPORTS POKERED

Unfortunately until the map editor is fixed for windows I can not add on to this section. Apparently you can map in a rom and then dump the map files to import into the disassembly, although this sounds complicated on its own.

EDIT: For now, map in a normal Red ROM using Pokemap or Classicmap, open the pokered map .blk for the map you want to edit in a hex editor. Open the modified Red rom in a hex editor, find the offset of the map you edited, and copy the hex from the rom to the .blk.

Map offsets stolen from Koolboyman's Red Map...
Spoiler:
[Pallet Town]
Start offset=$182FD
X size=10
Y size=9
Comment=No Event support yet
Tileset=1

[Celedon City]
Start offset=$180DF
X size=25
Y size=18
Comment=No Event support yet
Tileset=1

[Viridian City]
Start offset=$183EC
X size=20
Y size=18
Comment=No Event support yet
Tileset=1

[Pewter City]
Start offset=$185E6
X size=20
Y size=18
Comment=No Event support yet
Tileset=1

[Celulean City]
Start offset=$18830
X size=20
Y size=18
Comment=No Event support yet
Tileset=1

[Lavender Town]
Start offset=$44085
X size=10
Y size=9
Comment=No Event support yet
Tileset=1

[Vermilion City]
Start offset=$18A3F
X size=20
Y size=18
Comment=No Event support yet
Tileset=1

[Fuchsia City]
Start offset=$18C86
X size=20
Y size=18
Comment=No Event support yet
Tileset=1

[Cinnabar Island]
Start offset=$1C069
X size=10
Y size=9
Comment=No Event support yet
Tileset=1

[Saffon City]
Start offset=$50A98
X size=20
Y size=18
Comment=No Event support yet
Tileset=1

[Route 1]
Start offset=$1C0FC
X size=10
Y size=18
Comment=No Event support yet
Tileset=1

[Route 2]
Start offset=$5407E
X size=10
Y size=36
Comment=No Event support yet
Tileset=1

[Route 3]
Start offset=$54255
X size=35
Y size=9
Comment=No Event support yet
Tileset=1

[Route 4]
Start offset=$543EC
X size=45
Y size=9
Comment=No Event support yet
Tileset=1

[Route 5]
Start offset=$545D2
X size=10
Y size=18
Comment=No Event support yet
Tileset=1

[Route 6]
Start offset=$58079
X size=10
Y size=18
Comment=No Event support yet
Tileset=1

[Route 7]
Start offset=$48051
X size=10
Y size=9
Comment=No Event support yet
Tileset=1

[Route 8]
Start offset=$581C6
X size=30
Y size=9
Comment=No Event support yet
Tileset=1

[Route 9]
Start offset=$546FE
X size=30
Y size=9
Comment=No Event support yet
Tileset=1

[Route 10]
Start offset=$58356
X size=10
Y size=36
Comment=No Event support yet
Tileset=1

[Route 11]
Start offset=$5855F
X size=30
Y size=9
Comment=No Event support yet
Tileset=1

[Route 12]
Start offset=$58710
X size=10
Y size=54
Comment=No Event support yet
Tileset=1

[Route 13]
Start offset=$5488B
X size=30
Y size=9
Comment=No Event support yet
Tileset=1

[Route 14]
Start offset=$54A12
X size=10
Y size=18
Comment=No Event support yet
Tileset=1

[Route 15]
Start offset=$589CC
X size=30
Y size=9
Comment=No Event support yet
Tileset=1

[Route 16]
Start offset=$58B84
X size=20
Y size=9
Comment=No Event support yet
Tileset=1

[Route 17]
Start offset=$54BA8
X size=10
Y size=72
Comment=No Event support yet
Tileset=1

[Route 18]
Start offset=$58C9C
X size=25
Y size=9
Comment=No Event support yet
Tileset=1

[Route 19]
Start offset=$54EF1
X size=10
Y size=27
Comment=No Event support yet
Tileset=1

[Route 20]
Start offset=$5017D
X size=50
Y size=9
Comment=No Event support yet
Tileset=1

[Route 21]
Start offset=$5506D
X size=10
Y size=45
Comment=No Event support yet
Tileset=1

[Route 22]
Start offset=$5003D
X size=20
Y size=9
Comment=No Event support yet
Tileset=1

[Route 24]
Start offset=$506E7
X size=10
Y size=18
Comment=No Event support yet
Tileset=1

[Route 25]
Start offset=$50810
X size=30
Y size=9
Comment=No Event support yet
Tileset=1

[Viridian GYM]
Start offset=$74C48
X size=10
Y size=9
Comment=No Event support yet
Tileset=2

[Pewter GYM]
Start offset=$5C558
X size=5
Y size=7
Comment=No Event support yet
Tileset=2

[Celulean GYM]
Start offset=$5C866
X size=5
Y size=7
Comment=No Event support yet
Tileset=2

[Celedon GYM]
Start offset=$48B84
X size=5
Y size=9
Comment=No Event support yet
Tileset=2

[Fuchsia GYM]
Start offset=$756AA
X size=5
Y size=9
Comment=No Event support yet
Tileset=2

[Vermilion GYM]
Start offset=$5CC38
X size=5
Y size=9
Comment=No Event support yet
Tileset=2

[Oak's lab]
Start offset=$1C1C0
X size=5
Y size=6
Comment=No Event support yet
Tileset=2

[Fighting Dojo]
Start offset=$5CFE3
X size=5
Y size=6
Comment=No Event support yet
Tileset=2

[Indigo Plateau Lobby]
Start offset=$19CCF
X size=8
Y size=6
Comment=Dont edit the wierd stuff on the top right
Tileset=3

[PokemonCenters1]
Start offset=$440DF
X size=7
Y size=4
Comment=Works fine
Tileset=3

[Hotel]
Start offset=$492A7
X size=7
Y size=4
Comment=Works fine
Tileset=3

[Marts1]
Start offset=$1D530
X size=4
Y size=4
Comment=Works fine
Tileset=3

[Indigo Plateau Gate]
Start offset=$1E74A
X size=5
Y size=4
Comment=Works fine
Tileset=4

[Loreli]
Start offset=$762AC
X size=5
Y size=6
Comment=Works fine
Tileset=2

[Bruno]
Start offset=$76403
X size=5
Y size=6
Comment=Works fine
Tileset=2

[Lance]
Start offset=$5A3E9
X size=13
Y size=13
Comment=Works fine
Tileset=2

[Hall of Fame Room]
Start offset=$5A58B
X size=5
Y size=4
Comment=Works fine
Tileset=2

[Marts2]
Start offset=$1DDC1
X size=4
Y size=4
Comment=Works fine
Tileset=3

[Marts3]
Start offset=$5C000
X size=4
Y size=4
Comment=Works fine
Tileset=3

[Marts4]
Start offset=$74010
X size=4
Y size=4
Comment=Works fine
Tileset=3

[PokemonCenters1]
Start offset=$440DF
X size=7
Y size=4
Comment=Works fine
Tileset=3

[PokeCenters2]
Start offset=$480AB
X size=7
Y size=4
Comment=Works fine
Tileset=3

[PokeCenters3]
Start offset=$58D7D
X size=7
Y size=4
Comment=Works fine
Tileset=3

[PokeCenters4]
Start offset=$5C064
X size=7
Y size=4
Comment=Works fine
Tileset=3

[PokeCenters5]
Start offset=$440DF
X size=7
Y size=4
Comment=Works fine
Tileset=3

[PokeCenters6]
Start offset=$74030
X size=7
Y size=4
Comment=Works fine
Tileset=3

[Cinnibar Mansion(1)]
Start offset=$443FE
End offset=$445C0
X size=15
Y size=14
Comment=Works perfectly 
Tileset=7

[Cinnibar Mansion(2)]
Start offset=$52110
End offset=$53333
X size=15
Y size=14
Comment=Works perfectly 
Tileset=7

[Cinnibar Mansion(3)]
Start offset=$52326
End offset=$53333
X size=15
Y size=9
Comment=Works perfectly 
Tileset=7

[Cinnibar Mansion(4)]
Start offset=$524DD
End offset=$52877
X size=15
Y size=14
Comment=Works perfectly 
Tileset=7

[Team Rocket Hideout(1)]
Start offset=$44D49
End offset=$44FFF
X size=15
Y size=14
Comment=Works perfectly 
Tileset=7

[Route 23]
Start offset=$503B2
End offset=$50690
X size=10
Y size=100
Comment=Works perfectly 
Tileset=8

[Team Rocket Hideout(2)]
Start offset=$45147
X size=15
Y size=14
Comment=Works perfectly 
Tileset=7

[Team Rocket Hideout(3)]
Start offset=$4537F
X size=15
Y size=14
Comment=Works perfectly 
Tileset=7

[Team Rocket Hideout(4)]
Start offset=$45650
X size=15
Y size=12
Comment=Works perfectly 
Tileset=7

[Saffron Gym]
Start offset=$5D3A3
X size=10
Y size=9
Comment=Works perfectly 
Tileset=7

[Silph Co(1)]
Start offset=$5D4A2
X size=15
Y size=9
Comment=Works perfectly 
Tileset=7

[Silph Co(9)]
Start offset=$5D989
X size=13
Y size=9
Comment=Works perfectly 
Tileset=7

[Silph Co(2)]
Start offset=$59EC8
X size=15
Y size=9
Comment=Works perfectly 
Tileset=7

[Silph Co(3)]
Start offset=$5A0A6
X size=15
Y size=9
Comment=Works perfectly 
Tileset=7

[Silph Co(4)]
Start offset=$19EA4
X size=15
Y size=9
Comment=Works perfectly 
Tileset=7

[Silph Co(5)]
Start offset=$1A116
X size=15
Y size=9
Comment=Works perfectly 
Tileset=7

[Silph Co(6)]
Start offset=$1A36B
X size=13
Y size=9
Comment=Works perfectly 
Tileset=7

[Silph Co(7)]
Start offset=$51F57
X size=13
Y size=9
Comment=Works perfectly 
Tileset=7

[Power Plant]
Start offset=$1E446
X size=20
Y size=18
Comment=Works perfectly 
Tileset=7

[Silph Co(10)]
Start offset=$5A25A
X size=7
Y size=9
Comment=Works perfectly 
Tileset=7

[Silph Co(8)]
Start offset=$5666D
X size=13
Y size=9
Comment=Works perfectly 
Tileset=7


[S.S.Anne(8)]
Start offset=$61ADF
X size=12
Y size=8
Comment=Works perfectly 
Tileset=6

[S.S.Anne(7)]
Start offset=$6195E
X size=3
Y size=4
Comment=Works perfectly 
Tileset=6

[S.S.Anne(6)]
Start offset=$61761
X size=10
Y size=7
Comment=Works perfectly 
Tileset=6

[S.S.Anne(5)]
Start offset=$603C0
X size=12
Y size=8
Comment=Works perfectly 
Tileset=6

[S.S.Anne(4)]
Start offset=$61851
X size=7
Y size=8
Comment=Works perfectly 
Tileset=6

[S.S.Anne(3)]
Start offset=$61675
X size=15
Y size=3
Comment=Works perfectly 
Tileset=6

[S.S.Anne(2)]
Start offset=$61582
X size=20
Y size=8
Comment=Works perfectly 
Tileset=6

[S.S.Anne(1)]
Start offset=$612DF
X size=20
Y size=9
Comment=Works perfectly 
Tileset=6

[Cinnibar Gym]
Start offset=$75B26
X size=10
Y size=9
Comment=Works perfectly 
Tileset=7

[Lab(1)]
Start offset=$75BFA
X size=9
Y size=3
Comment=Works perfectly 
Tileset=5

[Lab(2)]
Start offset=$75C6B
X size=4
Y size=4
Comment=Works perfectly 
Tileset=5

[Lab(3)]
Start offset=$75D15
X size=4
Y size=4
Comment=Works perfectly 
Tileset=5

[Lab(4)]
Start offset=$75E10
X size=4
Y size=4
Comment=Works perfectly 
Tileset=5

[Safari Zone Secret House]
Start offset=$4A37F
X size=4
Y size=4
Comment=Works perfectly 
Tileset=5

[Indigo Plateu]
Start offset=$5094A
X size=10
Y size=9
Comment=Works perfectly 
Tileset=8

[Route2Gate]
Start offset=$5C090
X size=5
Y size=4
Comment=Works perfectly 
Tileset=4

[Undeground Path Gates]
Start offset=$5C048
X size=5
Y size=4
Comment=Works perfectly 
Tileset=4

[Museum(1)]
Start offset=$5C020
X size=10
Y size=4
Comment=Works perfectly 
Tileset=4

[Museum(2)]
Start offset=$5C048
X size=7
Y size=4
Comment=Works perfectly 
Tileset=4

[Rock Tunnel(1)]
Start offset=$44675
X size=20
Y size=18
Comment=Works perfectly 
Tileset=9

[Victory Road(3)]
Start offset=$44B37
X size=15
Y size=9
Comment=Works perfectly 
Tileset=9

[Mt.Moon(3)]
Start offset=$4A041
X size=20
Y size=18
Comment=Works perfectly 
Tileset=9

[Mt.Moon(1)]
Start offset=$49B97
X size=20
Y size=18
Comment=Works perfectly 
Tileset=9

[Mt.Moon(2)]
Start offset=$51A92
X size=14
Y size=14
Comment=Works perfectly 
Tileset=9

[Unknown Dungeon(1)]
Start offset=$74D76
X size=15
Y size=10
Comment=Works perfectly 
Tileset=9

[Unknown Dungeon(2)]
Start offset=$45E5D
X size=15
Y size=10
Comment=Works perfectly 
Tileset=9

[Unknown Dungeon(3)]
Start offset=$45F58
X size=15
Y size=9
Comment=Works perfectly 
Tileset=9

[Digletts Cave]
Start offset=$60258
X size=20
Y size=18
Comment=Works perfectly 
Tileset=9

[Digletts Cave Entrances]
Start offset=$1C20E
X size=4
Y size=4
Comment=Works perfectly 
Tileset=9

[Rock Tunnel(2)]
Start offset=$461A1
X size=20
Y size=18
Comment=Works perfectly 
Tileset=9

[Seaform Islands(2)]
Start offset=$468FA
X size=15
Y size=9
Comment=Works perfectly 
Tileset=9

[Seaform Islands(1)]
Start offset=$46706
X size=15
Y size=9
Comment=Works perfectly 
Tileset=9

[Seaform Islands(4)]
Start offset=$464FA
X size=15
Y size=9
Comment=Works perfectly 
Tileset=9

[Seaform Islands(3)]
Start offset=$463BE
X size=15
Y size=9
Comment=Works perfectly 
Tileset=9

[Seaform Islands(5)]
Start offset=$4489F
X size=15
Y size=9
Comment=Works perfectly 
Tileset=9

[Victory Road(1)]
Start offset=$5DB04
X size=10
Y size=9
Comment=Works perfectly 
Tileset=9

[Victory Road(2)]
Start offset=$519AF
X size=15
Y size=9
Comment=Works perfectly 
Tileset=9

[Pokemon Tower(2)]
Start offset=$60666
X size=10
Y size=9
Comment=Works perfectly 
Tileset=12

[Pokemon Tower(3)]
Start offset=$60790
X size=10
Y size=9
Comment=Works perfectly 
Tileset=12

[Pokemon Tower(4)]
Start offset=$608CC
X size=10
Y size=9
Comment=Works perfectly 
Tileset=12

[Pokemon Tower(1)]
Start offset=$6048C
X size=10
Y size=9
Comment=Works perfectly 
Tileset=12

[Pokemon Tower(5)]
Start offset=$60A89
X size=10
Y size=9
Comment=Works perfectly 
Tileset=12

[Pokemon Tower(6)]
Start offset=$60C95
X size=10
Y size=9
Comment=Works perfectly 
Tileset=12

[Pokemon Tower(7)]
Start offset=$60F20
X size=10
Y size=9
Comment=Works perfectly 
Tileset=12

[Port Entrance]
Start offset=$1DCDA
X size=14
Y size=6
Comment=Works perfectly 
Tileset=14

[Celedon Mart(1)]
Start offset=$60FDE
X size=10
Y size=4
Comment=Works perfectly 
Tileset=15

[Celedon Mart(2)]
Start offset=$490BC
X size=10
Y size=4
Comment=Works perfectly 
Tileset=15

[Celedon Mart(3)]
Start offset=$48322
X size=10
Y size=4
Comment=Works perfectly 
Tileset=15

[Celedon Mart(4)]
Start offset=$483A1
X size=10
Y size=4
Comment=Works perfectly 
Tileset=15

[Celedon Mart(5)]
Start offset=$490BC
X size=10
Y size=4
Comment=Works perfectly 
Tileset=15

[Celedon Mart(6)]
Start offset=$485CC
X size=10
Y size=4
Comment=Works perfectly 
Tileset=15

[Celedon Mart(Elevator)]
Start offset=$4585B
X size=2
Y size=2
Comment=Works perfectly 
Tileset=15

[Silph Co (Elevator)]
Start offset=$4585B
X size=2
Y size=2
Comment=Works perfectly 
Tileset=15

[Celedon Prizes]
Start offset=$49131
X size=5
Y size=4
Comment=Works perfectly 
Tileset=15

[Celadon Game Corner]
Start offset=$49017
X size=10
Y size=7
Comment=Works perfectly 
Tileset=15

[Team Rocket Hideout (Elevator)]
Start offset=$457A8
X size=3
Y size=4
Comment=Works perfectly 
Tileset=15

[Underground path west/east]
Start offset=$601F4
X size=25
Y size=4
Comment=Works perfectly 
Tileset=16

[Underground path north/south]
Start offset=$60198
X size=4
Y size=24
Comment=Works perfectly 
Tileset=16

[Restraunt]
Start offset=$491EE
X size=5
Y size=4
Comment=Works perfectly 
Tileset=15

[Celedon Mansion(1)]
Start offset=$48716
X size=4
Y size=6
Comment=Works perfectly 
Tileset=17

[Celedon Mansion(2)]
Start offset=$4876C
X size=4
Y size=6
Comment=Works perfectly 
Tileset=17

[Celedon Mansion(3)]
Start offset=$48847
X size=4
Y size=6
Comment=Works perfectly 
Tileset=17

[Celedon Mansion(4)]
Start offset=$48894
X size=4
Y size=6
Comment=Works perfectly 
Tileset=17

[Celedon Mansion(2)]
Start offset=$4876C
X size=4
Y size=6
Comment=Works perfectly 
Tileset=17

[Viridian Forest]
Start offset=$60001
X size=20
Y size=18
Comment=Works perfectly 
Tileset=10

[Safari Zone(1)]
Start offset=$45C1F
X size=20
Y size=18
Comment=Works perfectly 
Tileset=10

[Ash's House (F2)]
Start offset=$5C010
X size=4
Y size=4
Comment=Works perfectly 
Tileset=11

[Ash's House (F1)]
Start offset=$48209
X size=4
Y size=4
Comment=Works perfectly 
Tileset=11

[House1]
Start offset=$19C3F
X size=4
Y size=4
Comment=Same map as many other houses
Tileset=18

[House2]
Start offset=$1C1DE
X size=4
Y size=4
Comment=Same map as many other houses
Tileset=18

[House3]
Start offset=$5522F
X size=4
Y size=4
Comment=Same map as many other houses
Tileset=18

[House4]
Start offset=$74020
X size=4
Y size=4
Comment=Same map as many other houses
Tileset=18

[Gary's House]
Start offset=$19BF6
X size=4
Y size=4
Tileset=18

[School House]
Start offset=$1C1EE
X size=4
Y size=4
Tileset=18

[Route2Gate]
Start offset=$5C095
X size=5
Y size=4
Tileset=4

[Route5/6/Safari Zone Gate]
Start offset=$1E025
X size=4
Y size=3
Tileset=4

[Route7/8 Gate]
Start offset=$1E1AF
X size=3
Y size=4
Tileset=4

[Underground path gates]
Start offset=$1C1B0
X size=4
Y size=4
Tileset=4

[Route12/11 Gate]
Start offset=$480C7
X size=4
Y size=5
Tileset=4

[Route 16 Gate]
Start offset=$497E3
X size=4
Y size=7
Tileset=4

[Route 18 Gate]
Start offset=$480C7
X size=4
Y size=5
Tileset=4

[Gate Lobbys]
Start offset=$480DB
X size=4
Y size=4
Tileset=4

[Gary]
Start offset=$7615F
X size=4
Y size=4
Comment=Works fine
Tileset=2

[Bike Shop]
Start offset=$1D88C
X size=4
Y size=4
Tileset=13

[Trade Center]
Start offset=$4FD91
X size=5
Y size=4
Tileset=13

[Battle Center]
Start offset=$4FD5D
X size=5
Y size=4
Tileset=13


Chapter 6. Wild Battles

Wild Pokemon are really simple to edit. In your data folder there will be another folder titled "wildPokemon," this contains all wild pokemon data. Study the various .asm files to see how they are done. For our example we'll be looking at the waterpokemon.asm file:

WaterMons:
	db $00

	db $05
	db 5,TENTACOOL
	db 10,TENTACOOL
	db 15,TENTACOOL
	db 5,TENTACOOL
	db 10,TENTACOOL
	db 15,TENTACOOL
	db 20,TENTACOOL
	db 30,TENTACOOL
	db 35,TENTACOOL
	db 40,TENTACOOL
As you can see it's all Tentacool, at different levels. Really no different from editing wild pokemon in Advance Map or something. You may see some files with "IF Yellow" statements in them, generally just look for the ones under Red version, and if they don't exist edit what is available to you.

Chapter 7. Trainer Battles

This section is a bit messy, since trainers don't have names minus BLUE, PROF. OAK, the gym leaders and elite four members. From what I can tell all data pertaining to trainer battles is in trainer_parties.asm, located in the data folder. As to who is who you'll have to know the game a bit or have a guide ready.

YoungsterData: ; 39d99 (e:5d99)
	db 11,RATTATA,EKANS,0
	db 14,SPEAROW,0
	db 10,RATTATA,RATTATA,ZUBAT,0
	db 14,RATTATA,EKANS,ZUBAT,0
	db 15,RATTATA,SPEAROW,0
	db 17,SLOWPOKE,0
	db 14,EKANS,SANDSHREW,0
	db 21,NIDORAN_M,0
	db 21,EKANS,0
	db 19,SANDSHREW,ZUBAT,0
	db 17,RATTATA,RATTATA,RATICATE,0
	db 18,NIDORAN_M,NIDORINO,0
	db 17,SPEAROW,RATTATA,RATTATA,SPEAROW,0
if _YELLOW
	db 24,SANDSHREW,0
endc
It seems for normal trainers all their Pokemon are the same level, which tbh doesn't sound right, while Lance for example has individual levels:

LanceData: ; 3a522 (e:6522)
	db $FF,58,GYARADOS,56,DRAGONAIR,56,DRAGONAIR,60,AERODACTYL,62,DRAGONITE,0
When I get into events I'll try to explain how to designate specific trainers for a battle.

Chapter 8. Events
Chapter x. Credits

Thanks to everyone who contributed to pokered for the awesome engine.
Thank you Mateo, IImarckus, Kanzure for helping with information for this guide.
Gamefreak for the awesome game.
Pokemon Mint Fantasy/Poketto/Island Walker for custom graphics.

Link to the Skeetendo IRC if you'd like to ask the people who made pokered a question or to thank them: irc://nucleus.kafuka.org/#skeetendo


Discord: PiaCRT#0001 | Deviantart: piacarrot

IceGod64

In the Lost & Found bin!

Age 34
Male
Castelia City
Seen September 26th, 2021
Posted November 6th, 2019
624 posts
13.8 Years
I was attempting to follow your guide, but I think I've run into a discrepancy.

In step 2, can you explain going through the cygwin installer in a little more detail? There's this big section about choosing what packages to install, and it says nothing about choosing dependencies.

Danny-E 33

The Loneliest Cubone

Male
Illinois
Seen 1 Week Ago
Posted April 30th, 2021
254 posts
10.6 Years
Now, another problem is the palette limitations. While you can add color to the game, it is not supported by the Gameboy natively.
Of course it is!

Anyway, Pokemon Red uses monochrome colors, as in black, white and grey. You can reference the image in the intro for an example.
If your emulator is giving you black and white (like your screenshot) then you need to fix your settings!
Pokemon Red is a Super Gameboy game and indeed already takes advantage of the SGB color features.

If you want to check out pokered with color, see Danny-E 33's pokered with generation 2 elements here: https://github.com/dannye/pokered-gen-II
My hack doesn't add color features to the game, it simply expands on them.

You can see for yourself all the palettes that already defined in the game:
https://github.com/iimarckus/pokered/blob/master/data/super_palettes.asm

Also, you should update your RGBDS link:
https://github.com/bentley/rgbds/releases

Also, you should update your irc link:
https://kiwiirc.com/client/irc.freenode.net/?#pret

Danny-E 33

The Loneliest Cubone

Male
Illinois
Seen 1 Week Ago
Posted April 30th, 2021
254 posts
10.6 Years
No.
Yes, it is the full source but GB/C and GBA games are written in two different languages.
Seen November 26th, 2016
Posted November 26th, 2016
56 posts
6.9 Years
I had the same problem initially following a video tutorial, and the video tutorial gave me an alternate route, which I found on another forum:

"--I don't know why it's not working.
I've tried installing it through the command window, but it still says the same thing.--

--1) Open the Cygwin installer, and go to the "select packages" window.
2) Select the package named "curl" and install.
3) From the Cygwin Terminal, type:
Code:
curl -O (I can't link the url at my post count lol. perhaps I can PM it?)
and then:
Code:
python ez_setup.py
4) Now you can type:
Code:
easy_install pypng--"

PiaCRT

Dragon Slave!!!

Age 27
Male
Pummelo Island
Seen 10 Hours Ago
Posted 3 Days Ago
906 posts
12 Years
If you have the 64 bit version I believe the folder names have some slight differences. You might need to adjust as needed.


Discord: PiaCRT#0001 | Deviantart: piacarrot

i0Bjhansen0

Age 26
Male
Seen March 3rd, 2018
Posted August 30th, 2017
130 posts
6.4 Years
So, I just tried to do this and I'm getting the same issue as ProClifo. I am using the 64 bit version and it already has the path correct. But it still shows it to be an invalid option. I tried the way that was meant to be done and then I tried Pia Carrot's way. It said the easy_install command isn't found. Can anyone help me? I really want to mess around with this version of Red.

[EDIT] After looking at a different site, I found that the rgbds was old (OP if you're reading this, update your OP). I did "make" and it hasn't done anything past "rgbasm -D "_RED" -h -o audio_red.o audio.asm"
Also, is there a guide to install PokeRed with gen 2 aspects? It gives the exact same directions as the original Pokered.

[EDIT] Ok so, after letting it sit for around 10 minutes, it finally finished making red. And I figured how to install pokered with gen 2 stuffs.
Check out my Hack-in-progress and help decide the last Mega Evolution.



If my Avatar flashes too much, let me know and I'll change it. I increased the frames from the original before uploading it.

papacitoloko111789

USA
Seen June 16th, 2022
Posted April 27th, 2019
36 posts
14.7 Years
This isn't PokeRed but I'm getting this issue when trying to compile Pokeyellow.

~/pokeyellow
$ make

rgbasm -h -o main.o main.asm
rgbasm -h -o text.o text.asm
rgbasm -h -o wram.o wram.asm
ERROR: wram.asm(2857) :
'UNION' already defined
ERROR: wram.asm(2875) :
'NEXTU' already defined
ERROR: wram.asm(2896) :
'ENDU' already defined
ERROR: wram.asm(3504) :
'UNION' already defined
ERROR: wram.asm(3509) :
'NEXTU' already defined
ERROR: wram.asm(3522) :
'ENDU' already defined
C:\cygwin64\usr\local\bin\rgbasm.exe: Assembly aborted in pass 1 (6 errors)!
make: *** [Makefile:42: wram.o] Error 1

Am I missing a package or something?

Sugar-Fable

Pokemon Princess

Female
USA
Seen December 1st, 2021
Posted December 1st, 2021
49 posts
4.2 Years
I'm trying out the Yellow version of this~ Hope this guide helps!