Go Back   The PokéCommunity Forums > ROM Hacking > Tools, Tutorials & Resources
Reload this Page [Tutorial] Pokered for Dummies

Notices
For all updates, view the main page.

Tools, Tutorials & Resources Various tools to help you develop your hacks can be found here.
New threads in this forum are to be approved by a moderator before they are displayed.



Reply
 
Thread Tools
  #1    
Old September 21st, 2014 (05:31 PM). Edited September 23rd, 2014 by Pia Carrot.
Pia Carrot's Avatar
Pia Carrot Pia Carrot is offline
Gen II Hacker | PHO Enthusiast
 
Join Date: Aug 2010
Age: 19
Gender: Male
Nature: Adamant
Posts: 559
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.

Code:
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:
Code:
git clone git://github.com/iimarckus/pokered.git
cd pokered
git submodule init
git submodule update
easy_install git://github.com/drj11/pypng.git@master#egg=pypng
After this, you should test it to make sure you've done everything right.

Type in the following:
Code:
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.

Code:
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:
Code:
_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

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:
Code:
[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:

Code:
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.

Code:
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:

Code:
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
__________________




Coming soon to a forum near you...
Reply With Quote
  #2    
Old October 12th, 2014 (10:31 PM).
Phasesaber Phasesaber is offline
 
Join Date: Oct 2014
Gender: Male
Posts: 5
Looks like an interesting way to make a game, too bad there isn't one for GBA.
Reply With Quote
  #3    
Old October 15th, 2014 (04:45 PM).
Hopeless Masquerade's Avatar
Hopeless Masquerade Hopeless Masquerade is offline
カミツレ
Silver Tier
 
Join Date: Mar 2010
Location: Nimbasa City
Age: 18
Gender: Female
Nature: Lax
Posts: 1,127
Wow! Thank you so much for posting this.
I've been wanting to give this a spin, but there wasn't an easy way for me to get started.
Now I can!
Reply With Quote
  #4    
Old October 17th, 2014 (10:43 AM).
IceGod64's Avatar
IceGod64 IceGod64 is offline
My imagination.
 
Join Date: Oct 2008
Location: Castelia City
Age: 27
Gender: Male
Nature: Naive
Posts: 604
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.
__________________

Reply With Quote
  #5    
Old October 26th, 2014 (04:14 PM). Edited January 24th, 2015 by Danny-E 33.
Danny-E 33's Avatar
Danny-E 33 Danny-E 33 is offline
The Loneliest Cubone
 
Join Date: Jan 2012
Location: Illinois
Gender: Male
Nature: Lonely
Posts: 196
Quote originally posted by Pia Carrot:
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!

Quote originally posted by Pia Carrot:
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.

Quote originally posted by Pia Carrot:
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
__________________

Hacks made from my Pokémon Red - Gen. II Graphics Patch (V2.0 JUST RELEASED):
Pokemon Red Proud Eyes [Skeetendo Link] by break
Pokemon Grape [Skeetendo Link] by 80C
Pokémon Red: Battle Factory [Skeetendo Link] by ShantyTown
Pokemon Ruthless Red and Pokemon Brutal Blue by ScytherTM
Pokemon Ice Blue by Dradier234
Pokemon Tough Red by slim spazzy
Pokemon Red: Legends by BroskiRage
Administrator of The
Reply With Quote
  #6    
Old December 26th, 2014 (02:17 AM).
takeKopter's Avatar
takeKopter takeKopter is offline
 
Join Date: Nov 2012
Gender: Male
Nature: Gentle
Posts: 18
this is a very good tutorial,, can we use this to add phy/spec split to pokemon red?

now i really wish there is a tutorial like this for pokecrystal :o
Reply With Quote
  #7    
Old December 26th, 2014 (03:01 AM).
The ???'s Avatar
The ??? The ??? is offline
The one true question mark
 
Join Date: Feb 2013
Location: ???
Gender: Male
Nature: Impish
Posts: 259
whoa that's really awesome..
Just a few questions, now since this is the WHOLE SOURCE, can't that be FULLY modified to make it Fire Red like? I mean can it be a .gba?
__________________

Face the sunshine and you'll never see the shadow.
Stay Positive
Reply With Quote
  #8    
Old January 23rd, 2015 (08:12 PM).
Danny-E 33's Avatar
Danny-E 33 Danny-E 33 is offline
The Loneliest Cubone
 
Join Date: Jan 2012
Location: Illinois
Gender: Male
Nature: Lonely
Posts: 196
No.
Yes, it is the full source but GB/C and GBA games are written in two different languages.
__________________

Hacks made from my Pokémon Red - Gen. II Graphics Patch (V2.0 JUST RELEASED):
Pokemon Red Proud Eyes [Skeetendo Link] by break
Pokemon Grape [Skeetendo Link] by 80C
Pokémon Red: Battle Factory [Skeetendo Link] by ShantyTown
Pokemon Ruthless Red and Pokemon Brutal Blue by ScytherTM
Pokemon Ice Blue by Dradier234
Pokemon Tough Red by slim spazzy
Pokemon Red: Legends by BroskiRage
Administrator of The
Reply With Quote
Reply
Quick Reply

Sponsored Links
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are UTC -8. The time now is 11:15 PM.