View Single Post
Old 17th September 2014, 07:45 PM  
Pia Carrot
Orange Developer
Administrator
 
Pia Carrot's Avatar
 
Join Date: Aug 2010
Location: Valencia Island
Age: 22
Posts: 848
Pia Carrot Pia Carrot Pia Carrot Pia Carrot
Default WIP: PokeRed for Dummies

Additional Tutorials:
How to add Gender Select by Mateo

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

VIDEO TUTORIAL BY SHANTYTOWN: https://www.youtube.com/watch?v=fYyt...txokM41XAmDahu

This chapter heavily references the Install.md on IImarckus' github, which can be found here: https://github.com/iimarckus/pokered...ter/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:
https://github.com/bentley/rgbds/releases

Since you're using windows, you'll want the latest .zip that says it is for win32. 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/[email protected]#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
__________________

I'm a boob

Last edited by Mateo; 3rd December 2015 at 05:01 PM. Reason: Update link to RGBDS so people can actually build the project. The one originally linked to was outdated and doesn't work now
Pia Carrot is offline   Reply With Quote
Likes Elsa, Mateo liked this post