Glitch City Laboratories Archives

Glitch City Laboratories closed on 1 September 2020 (announcement). This is an archived copy of a thread from Glitch City Laboratories Forums.

You can join Glitch City Research Institute to ask questions or discuss current developments.

You may also download the archive of this forum in .tar.gz, .sql.gz, or .sqlite.gz formats.

Pokémon Discussion

Pokémon RB interactive map (hidden items, etc.) - Page 1

Pokémon RB interactive map (hidden items, etc.)

Posted by: Torchickens
Date: 2014-10-01 13:14:52
Here is an interactive Red and Blue map.

I've personally had trouble getting the program Pokanalysis to run on Windows, but thanks to the Pokémon Speedruns Wiki, I found a good alternative for the overworld/building/cave documentation side of it. I think the only problem is that any time the page could go offline. Could anyone who has their own website like IIMarckus mirror it please (if that's possible)?

Pokanalysis is a program by Ubitux that reveals the location of hidden items, and does some other things, like revealing text for signs.

This page does that. It happens to be useful for CoolTrainer trick, because it reveals the warp IDs for warps (you need invalid warps for Glitch Cities), although it doesn't support Glitch City maps. Warp IDs tell the game where to place you on a map when the map loads (e.g. Fuchsia City's warp 04h is outside the Safari Zone building). You can check a warp ID without that page though, by experimenting with the codes 01xxB5D3 01xxB1D3, where xx determines what warp ID the game will load for walking through an exit.

Of a related note, here is a video of hidden items in Red/Green. I don't know if it's complete or if any hidden items in Red/Green differ, "about 50 locations" in the video title gave me the impression it might not be complete.

Re: Pokémon RB interactive map (hidden items, etc.)

Posted by: memdump
Date: 2014-10-02 10:58:23
It happens to be useful for CoolTrainer trick, because it reveals the warp IDs for warps (you need invalid warps for Glitch Cities), although it doesn't support Glitch City maps.


I am currently making new viewer in attempt to do this. So far it predict screen tiles given map index and warp index and successfully identified Cloyster and scanned for Growlithe (are below). Not very pretty at moment, just command line that output image and text file, but suggestions of features and accessibility very appreciated. Next I try to determine rest of glitch map you appear on.

Red tile are tile off map palette like number or people head etc.
Green tile and green text is 0x50 tile.
Blue tile are species tile and player location.
Blue text is species tile in hexadecimal so useful to check species.




MAP 0x29 ("VIRIDIAN_POKECENTER")
WARP 0x07

[img]http://i.imgur.com/rxqSwg2.png[/img]

[font=monospace]78 58 28 28 28 28 5A 5B 5A 5B    91 BD 8D AD 48 48 48 48 11 01
EF 95 4E 4F 4E 4F 2C 2D 2C 2D    0F 2F 0F 2F 4A 4A 4A 4A 01 11
D0 AF 4C 4D 4C 4D 2E 2F 2E 2F    3F FF FD FD 11 01 11 01 11 01
FF F9 17 1D 17 1D 3E 3F 3E 3F    FB FD EB F5 01 11 01 11 01 11
6A 6B FF FF 00 00 28 19 11 01    11 01 11 01 0A 00 14 00 48 48
7A 7B FF 00 FF 00 47 2C 01 11    01 11 01 11 00 FF 00 FF 4A 4A
8A 8B FF 00 FF 00 3C 2C 11 01    07 08 11 01 00 FF 55 AA 44 45
9A 9B FF 00 FF 00 32 33 01 11    17 18 01 11 AA 55 FF FF 54 55
38 08 3B 28 28 02 48 48 48 48    01 0B 01 0B 3B 28 28 02 48 48
18 19 4B 28 28 12 4A 4A 4A 4A    1A 1B 11 1B 4B 28 28 12 4A 4A
01 0B 4D 07 36 0B 40 41 42 43    36 0B 01 0B 4D 07 36 0B 44 45
11 1B 16 0D 1A 1B XX 51 52 52    1A 1B 11 1B 16 0D 1A 1B 54 55
28 3A 68 69 6A 6B 04 05 38 08    28 28 28 28 48 48 48 48 01 0B
28 4A 78 79 7A 7B 14 15 18 19    4E 4F 4E 4F 4A 4A 4A 4A 1A 1B
48 4C 88 89 8A 8B 01 0B 01 0B    4C 4D 4C 4D 40 41 42 43 36 0B
48 06 98 99 9A 9B 11 1B 11 1B    17 1D 17 1D 50 51 52 52 1A 1B
28 28 10 29 28 3A 68 69 6A 6B    2B 29 2B 29 01 0B 01 0B 3B 28
28 28 10 29 28 4A 78 79 7A 7B    3B 2A 3B 2A 1A 1B 11 1B 4B 28[/font]





MAP 0xBF ("ROUTE_18_GATE_2F")
WARP 0x05

[img]http://i.imgur.com/sPA6dEk.png[/img]

[font=monospace]02 03 02 03 02 03 04 04 11 01    25 26 11 01 CC CD CE CF CC CD
12 13 12 13 12 13 14 14 01 11    35 36 01 11 DC DD DE DF DC DD
83 FA FF FF 00 FF 80 80 C0 C0    7D 0B 7D 0B B4 FF 6A 7F FF AB
DF AC FF 00 00 FF 70 F0 58 F8    7D 0B 7D 0B 95 FF 60 7A BB 2F
EC E1 FF FF 00 FF 3C EC 5C F4    7D 0B 79 0F 48 7D 30 3F 2B 5F
ED 81 FF 00 00 FF 7E EA FD D7    79 0F 7F 06 1D 1F 07 07 1E F7
20 21 C0 40 FF 95 00 10 00 38    00 10 00 38 00 80 A2 10 02 03
32 33 80 80 7F 7F 00 7C 00 FE    00 7C 00 FE 48 00 81 52 12 13
11 01 AA 07 53 0E 00 00 00 38    00 00 00 38 48 B4 94 60 30 30
01 11 A1 0F XX 07 00 38 00 38    00 38 00 38 28 80 01 00 30 30
48 48 FF FF 3C 3C 20 20 20 20    05 06 07 09 11 01 11 01 00 00
4A 4A AA 00 D7 00 20 20 20 20    15 16 32 33 01 11 01 11 08 00
11 01 7A 00 F1 00 02 03 20 20    25 26 11 01 11 01 11 01 80 00
01 11 FA 00 BF 00 12 13 20 20    35 36 01 11 01 11 01 11 00 00
09 0C 02 03 02 03 02 03 02 03    02 03 02 03 11 01 11 01 11 01
19 1C 12 13 12 13 12 13 12 13    12 13 12 13 01 11 01 11 01 11
29 2C 30 30 30 30 30 30 30 30    30 30 30 30 11 01 11 01 11 01
29 3C 30 30 30 30 30 30 30 30    30 30 30 30 01 11 01 11 01 11[/font]





And here Pallet Town so you know works.

[img]http://i.imgur.com/GfjXhWf.png[/img]

Re: Pokémon RB interactive map (hidden items, etc.)

Posted by: Torchickens
Date: 2014-10-02 11:39:55
Excellent, this would be really helpful. Good luck on your project.

I have a few ideas for features:

*Special stat calculation (since CoolTrainer affects DVs).
*DVs finder.
*Level calculator (to avoid learning moves while Rare Candying/to evolve Pokémon quicker)
*Have the program tell you whether a CoolTrainer is 'Good' (can be done outside a cave) or 'Bad'. By the way, do you know what determines this?
*May be time consuming, but: A "glitch building block dex" that displays the bytes that make up a block. This is useful for "out of bounds Glitch Cities" where Pokémon names determine a block.


From my bias for Red/Green:

*Current experience calculator (for fossil conversion glitch).
*Red/Green hex:00 move ('CoolTrainer effect') support. Species: X=02h, Y=05h.
*Japanese version long name glitch item support.

Re: Pokémon RB interactive map (hidden items, etc.)

Posted by: memdump
Date: 2014-10-02 12:18:03
Main reason for project was I saw this image.

[img]http://i.imgur.com/6U7IU7z.png[/img]

Much easier to get right Pokemon if program scan ROM for maps and warps instead of people checking themselves on emulator. Image tells DVs and level location and program at least output in text file already but I will add calculator for special stat. But I do not know what makes CoolTrainer Good or Bad, does there exist more documentation or note for this glitch? Already not much documentation for how map are drawn on screen so I read disassembly but that take awhile and even more time to read CoolTrainer glitch from scratch.

Re: Pokémon RB interactive map (hidden items, etc.)

Posted by: camper
Date: 2014-10-02 12:33:51
Are there examples of Cooltrainer done outside a cave?

Re: Pokémon RB interactive map (hidden items, etc.)

Posted by: Torchickens
Date: 2014-10-02 14:12:26

Much easier to get right Pokemon if program scan ROM for maps and warps instead of people checking themselves on emulator.


Yeah. Looking for CoolTrainers manually with BGB for the species you want, whether they require Glitch City or not can be tedious; unless it's a Pokémon like Hitmonlee. I find it slightly easier with VBA RAM watch, but I don't know how you'd know in advance what a Glitch City would look like.


But I do not know what makes CoolTrainer Good or Bad, does there exist more documentation or note for this glitch? Already not much documentation for how map are drawn on screen so I read disassembly but that take awhile and even more time to read CoolTrainer glitch from scratch.


These are the only sources I know (below). See also my image. You can check the addresses here and say since CFD8 is 6-1, CFD9 is 6-2, CFDA is 6-3, etc.

None of my sources have info about what causes 'good'/'bad' CoolTrainers. Perhaps it's one or more of the addresses/screen tiles that cause the cave freeze.

http://forums.glitchcity.info/index.php?topic=6627.0 -
TheZZAZZGlitch's Super Glitch explanation, but it is relevant. The difference between Super Glitch and CoolTrainer is that data from CD6D up to 50 (which may not exist in the buffer) is only copied to CF4B, while other Super Glitch moves either copy to only D0E1 (if you open the fight menu), or to CF4B too (if you select Super Glitch), or both (if you open the menu and select it).

https://www.youtube.com/watch?v=Sst_5kAX2y4 (TheZZAZZGlitch's video)

http://forums.glitchcity.info/index.php?topic=6992.0

http://wiki.pokemonspeedruns.com/index.php/Pok%C3%A9mon_Red/Blue/151_Pok%C3%A9mon#Cooltrainer.E2.99.80_Mutation_Glitch (only basics)


Are there examples of Cooltrainer done outside a cave?


Yes. This one, and more according to the speedrun wiki.

[img]http://i.imgur.com/Mp8lx3H.png[/img]

memdump, I have a request. Can you find me a Mew CoolTrainer, please? I want to see if Mew is possible, even though it's pretty meaningless unless there's a valid map CoolTrainer with Mew.

Re: Pokémon RB interactive map (hidden items, etc.)

Posted by: memdump
Date: 2014-10-02 18:18:51
Thank you for sources. And I expanded scan range to maps x00-xFF and warps x00-x3F but no Mew, will try up to xFF warp next. But remember this is check glitch map without movement. Maybe when I get program to identify rest of map, not only spot you warp at, a Mew will be found by moving to a new tile in map.

Re: Pokémon RB interactive map (hidden items, etc.)

Posted by: camper
Date: 2014-10-03 01:23:36
But isn't the map different if the map script pointer (I don't know if it's called that) is different? For instance, Route 13's Warp 04 is at valid coordinates, but the map is different since it loads an invalid map script pointer.

This means there are ~250 different possible maps for each map index, if you count all the warps.

Re: Pokémon RB interactive map (hidden items, etc.)

Posted by: gifhevexxin
Date: 2014-10-03 09:56:56
Yes.

A warp entry is made up of a pointer and two coordinates, and this pointer is to the upper-left block visible on screen when you appear on the map. This was most likely to save calculations over simply knowing the address of the first block and advancing until there are blocks that can be drawn on screen. Now because of that shortcut - the fact that warps contain their own pointer - invalid warp entries will end up pointing to somewhere else in memory. This is why invalid warps aren't just "elsewhere" on the same map.