Author Topic: Pokemon Topaze (Axe)  (Read 142982 times)

0 Members and 1 Guest are viewing this topic.

Offline Happybobjr

  • James Oldiges
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2325
  • Rating: +128/-20
  • Howdy :)
    • View Profile
Re: Pokemon Topaze (Axe)
« Reply #240 on: January 25, 2013, 05:37:05 am »
Basically, he wants you to check if an enemy pokemon's level is enough for it to have evolved and if so, make it the evolved form.
Actually, I think he is suggesting the opposite. For example: Dragonite evolves from Dragonair at level 55. As such, you shouldn't normally encounter any Dragonite used by trainers or in the wild that are under level 55. However, I believe there have been some exceptions in pokemon games, but usually that isn't the case.

Yup, that was it :)


just a few tiny more things.  Could you add HD surround sound music and make it 3d with a 1080 x 720 resolution? :P jk
« Last Edit: January 25, 2013, 05:38:31 am by Happybobjr »
School: East Central High School
 
Axe: 1.0.0
TI-84 +SE  ||| OS: 2.53 MP (patched) ||| Version: "M"
TI-Nspire    |||  Lent out, and never returned
____________________________________________________________

Offline annoyingcalc

  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1953
  • Rating: +140/-72
  • Found in Eclipse.exe
    • View Profile
Re: Pokemon Topaze (Axe)
« Reply #241 on: February 01, 2013, 04:49:31 pm »
Umm, I somehow superglitched this game, I am going to take some screenshots in a sec
Well, wabbitemu wont cooperate, so delete your save file
hit continue look out your pokemon, then go into the pokemon center, look in the PC, if you scroll through boxes you get wierd pokemon even one named omnimaga!?!?!? and my les variables(A) evolved into axe parser at one point *.*
« Last Edit: February 01, 2013, 05:04:42 pm by annoyingcalc »
This used to contain a signature.

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: Pokemon Topaze (Axe)
« Reply #242 on: February 02, 2013, 01:50:46 pm »
delete your save file
hit continue
Don't you think it is normal to encounter bugs after those to steps ? :P
You already were lucky to have enough initialized variables to get to the Pokemon center. Usually, when continuing without savegame, the map is random.
And Omnimaga is not the weirdest Pokemon, I once had the honor to defeat HotDog (after a long battle, he was quite hard to beat) when the last part of the last cave had no data :P
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

click here to know where you got your last +1s

Offline annoyingcalc

  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1953
  • Rating: +140/-72
  • Found in Eclipse.exe
    • View Profile
Re: Pokemon Topaze (Axe)
« Reply #243 on: February 02, 2013, 03:34:38 pm »
Oh yeah and what is with Athela or some name like that, that certaintly isnt a regular pokemon, and I see it all the time
This used to contain a signature.

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: Pokemon Topaze (Axe)
« Reply #244 on: February 03, 2013, 10:27:28 am »
Where do  you encounter it ? I finished the game many times and haven't met any weird Pokemon for a long time ???
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

click here to know where you got your last +1s

Offline annoyingcalc

  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1953
  • Rating: +140/-72
  • Found in Eclipse.exe
    • View Profile
Re: Pokemon Topaze (Axe)
« Reply #245 on: February 03, 2013, 01:29:11 pm »
Manily virdian forest
This used to contain a signature.

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: Pokemon Topaze (Axe)
« Reply #246 on: February 09, 2013, 08:05:18 am »
Are you sure you have the latest appvars ? I recall the map being broken once so maybe you only updated the executable without getting the new map ?
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

click here to know where you got your last +1s

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: Pokemon Topaze (Axe)
« Reply #247 on: March 11, 2013, 02:54:39 pm »
Here is a version of Pokemon where some things changed.
Normally, nothing should have changed in the gameplay, but some basic optimizations were implemented (not heavy ones though so the executable is still pretty big) and all the text data (only available in French for now) is now in an external appvar.
The executable is just small enough now to allow 84+ users with small available RAM (like Lola and I) to play Topaze anyway.
This is for beta testers (Lola is now a beta tester, and I don't ask for her permission :P) to see if my optimizations already broke something ;)

No readme and such since this is not a real update. If you want those, look for a previous version.
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

click here to know where you got your last +1s

Offline Streetwalrus

  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3821
  • Rating: +80/-8
    • View Profile
Re: Pokemon Topaze (Axe)
« Reply #248 on: March 13, 2013, 12:12:44 pm »
Who's Lola ? :P

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: Pokemon Topaze (Axe)
« Reply #249 on: March 14, 2013, 02:48:59 am »
Who's Lola ? :P
Well I mentionned Lola because, not even 10 minutes before the release, she mentionned me on TI Planet that she had the problem of not having enough RAM to run the executable, problem that I had had myself on my 84+SE but not on my 83+, and seeing other people having this problem convinced me to release that version where quite nothing (should have) changed but where the executable fits in short RAM :)
Now, if I only mention Lola, that doesn't mean other French people can't download the new version, try it and report problems if any ;)
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

click here to know where you got your last +1s

Offline Streetwalrus

  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3821
  • Rating: +80/-8
    • View Profile
Re: Pokemon Topaze (Axe)
« Reply #250 on: March 14, 2013, 08:12:05 am »
Sure, I loved this game and I'd be happy to play it a second time. ;)

Offline Dapianokid

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 539
  • Rating: +46/-27
  • That one dude
    • View Profile
Re: Pokemon Topaze (Axe)
« Reply #251 on: March 15, 2013, 02:57:04 pm »
The game, after maxing out any stats past 255, will set them down very low. It also has no protection against continuing a game without having started one, which makes for an interesting way of exploring the RAM contents of the calculator :)

So, if I have a Pidgeot at level, say, 75, it's health will be so high, it will be (something like, this is just a random guess) 287 and thus it rolls over to a number like 287 - 255 = 32. I don't like going into battles against level 50 pokemon and losing my best one in the first hit. :(
Keep trying.

Offline deeph

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 138
  • Rating: +6/-0
    • View Profile
    • deeph.servhome.org
Re: Pokemon Topaze (Axe)
« Reply #252 on: March 15, 2013, 03:49:12 pm »
To continue this discussion :

For now, every trainer has a tile number, let's say from 1 to 50 for example (in fact, I think it starts at 171 or some other ugly number :P). So when you walk on a number between 1 and 50, if the number saved in {TrainerNumber} (smart name isn't it ?) is lower than the tile number you walked in, well battle, and when you beat the trainer, {TrainerNumber} increases. And if {TrainerNumber} is greater than the tile, then you already beat the trainer and there is no more battle ;)

How many tiles you really have ? Cause if it's under 77 (which is pretty much sure), then you can stick with your system and use rle compression.

Elsewhere, you have to beat all the trainers in a certain order, right ? I don't remember if the progress through maps was kind of linear, but if so, then it's not a problem.

I've compressed your map using horizontal RLE+7th bit for "lonely" tiles and (if I'm correct)... it compressed up to 85% (from 10948 bytes to 1723) :o

Spoiler For compressed map:
$f0,$19,$05,$27,$02,$64,$05,$27,$05,$19,$05,$20,$02,$66,$05,$20,$05,$19,$0c,$20,$05,$19,$12,$0,$18,$19,$15,$0,$05,$19,$9b,$0a,$0,$9b,$05,$19,$94,$0a,$0,$94,$05,$19,$94,$0a,$0,$94,$1c,$19,$0e,$27,$05,$19,$15,$0,$05,$19,$9b,$0a,$0,$9b,$05,$19,$94,$0a,$0,$94,$05,$19,$94,$04,$0,$97,$98,$04,$0,$94,$1c,$19,$9b,$0c,$0,$9b,$05,$19,$15,$0,$05,$19,$9b,$80,$02,$27,$9c,$8e,$80,$9c,$02,$27,$80,$9b,$05,$19,$94,$03,$0,$9c,$8e,$80,$9c,$03,$0,$94,$05,$19,$94,$04,$0,$96,$99,$81,$03,$0,$94,$1c,$19,$9b,$0a,$0,$ca,$80,$9b,$05,$19,$15,$0,$05,$19,$9b,$03,$0,$9c,$02,$0,$9c,$03,$0,$9b,$05,$19,$94,$03,$0,$9c,$02,$0,$9c,$03,$0,$94,$05,$19,$94,$03,$0,$8e,$02,$20,$81,$03,$0,$94,$05,$19,$12,$27,$05,$19,$9b,$0c,$0,$9b,$05,$19,$15,$0,$05,$19,$9b,$02,$0,$9b,$9c,$02,$0,$9c,$9b,$02,$0,$9b,$05,$19,$94,$03,$0,$9c,$02,$0,$9c,$03,$0,$94,$05,$19,$94,$03,$0,$c5,$06,$0,$94,$05,$19,$9b,$05,$0,$8e,$0a,$0,$9b,$05,$19,$9b,$03,$0,$0a,$27,$05,$19,$15,$0,$05,$19,$9b,$03,$0,$9c,$02,$0,$9c,$03,$0,$9b,$05,$19,$94,$03,$0,$9c,$02,$0,$9c,$03,$0,$94,$05,$19,$94,$0a,$0,$94,$05,$19,$9b,$05,$0,$88,$0a,$0,$9b,$05,$19,$9b,$03,$0,$9b,$0e,$19,$15,$0,$05,$19,$0c,$27,$05,$19,$0c,$20,$05,$19,$0c,$20,$05,$19,$9b,$02,$0,$c9,$02,$0,$88,$0a,$0,$9b,$05,$19,$9b,$03,$0,$9b,$0e,$19,$15,$0,$38,$19,$9b,$0c,$0,$9b,$03,$0,$9b,$05,$19,$9b,$80,$cb,$80,$9b,$0e,$19,$15,$0,$38,$19,$9b,$0c,$0,$9b,$03,$0,$9b,$05,$19,$05,$27,$0e,$19,$15,$0,$38,$19,$0b,$27,$02,$0,$9b,$03,$0,$9b,$65,$19,$9b,$07,$0,$92,$04,$0,$9b,$03,$0,$9b,$32,$19,$05,$20,$02,$63,$05,$20,$05,$19,$05,$20,$02,$65,$05,$20,$05,$19,$0a,$27,$05,$19,$03,$27,$07,$0,$da,$04,$0,$9b,$03,$0,$9b,$32,$19,$94,$83,$94,$06,$0,$94,$83,$94,$05,$19,$94,$0a,$0,$94,$05,$19,$9b,$03,$0,$8e,$04,$0,$9b,$05,$19,$9b,$09,$0,$9b,$04,$0,$8e,$03,$0,$9b,$05,$19,$16,$27,$07,$19,$0a,$20,$06,$19,$94,$83,$02,$20,$04,$0,$02,$20,$83,$94,$05,$19,$94,$02,$0,$94,$04,$0,$94,$02,$0,$94,$05,$19,$03,$27,$04,$0,$03,$27,$05,$19,$9b,$8c,$02,$8,$06,$0,$9b,$04,$0,$88,$03,$0,$9b,$05,$19,$9b,$09,$0,$8e,$08,$0,$92,$80,$9b,$07,$19,$94,$05,$0,$8e,$95,$80,$94,$06,$19,$94,$02,$3,$94,$9c,$92,$80,$9c,$94,$02,$3,$94,$05,$19,$94,$80,$94,$80,$9c,$92,$80,$9c,$80,$94,$80,$94,$05,$19,$9b,$08,$0,$9b,$05,$19,$9b,$09,$0,$9b,$04,$0,$88,$03,$0,$9b,$05,$19,$9b,$09,$0,$dc,$08,$0,$88,$80,$9b,$07,$19,$94,$08,$0,$94,$06,$19,$94,$02,$3,$94,$9c,$02,$0,$9c,$94,$02,$3,$94,$05,$19,$94,$80,$94,$80,$9c,$02,$0,$9c,$80,$94,$80,$94,$05,$19,$9b,$80,$8c,$03,$8,$03,$0,$9b,$05,$19,$9b,$09,$0,$9b,$04,$0,$88,$03,$0,$9b,$05,$19,$9b,$09,$0,$dc,$08,$0,$88,$80,$9b,$07,$19,$94,$08,$0,$94,$06,$19,$94,$83,$02,$20,$9c,$02,$0,$9c,$02,$20,$83,$94,$05,$19,$94,$02,$0,$94,$9c,$02,$0,$9c,$94,$02,$0,$94,$05,$19,$9b,$08,$0,$9b,$05,$19,$08,$27,$02,$68,$0a,$27,$05,$19,$9b,$04,$0,$0a,$27,$80,$88,$04,$0,$9b,$06,$19,$05,$20,$02,$0,$05,$20,$05,$19,$94,$83,$94,$80,$9c,$02,$0,$9c,$80,$94,$83,$94,$05,$19,$94,$03,$0,$9c,$02,$0,$9c,$03,$0,$94,$05,$19,$9b,$06,$0,$8a,$80,$9b,$1e,$19,$9b,$02,$58,$03,$27,$06,$0,$04,$27,$8b,$04,$0,$9b,$06,$19,$08,$0,$03,$8,$8d,$05,$19,$0c,$20,$05,$19,$0c,$20,$05,$19,$9b,$08,$0,$9b,$23,$19,$9b,$80,$cc,$05,$0,$04,$27,$04,$0,$9b,$06,$19,$80,$95,$02,$0,$95,$02,$0,$95,$02,$0,$95,$80,$27,$19,$04,$27,$02,$67,$04,$27,$23,$19,$9b,$08,$0,$03,$27,$04,$0,$9b,$06,$19,$8c,$02,$8,$09,$0,$36,$19,$13,$1,$0b,$19,$06,$27,$04,$0,$db,$05,$0,$9b,$06,$19,$80,$95,$80,$8e,$95,$02,$0,$95,$02,$0,$95,$80,$36,$19,$81,$83,$04,$4,$85,$0b,$0,$02,$1,$03,$19,$07,$2,$05,$19,$9b,$04,$0,$db,$05,$0,$9b,$06,$19,$03,$0,$88,$08,$0,$36,$19,$81,$06,$6,$0c,$0,$03,$1,$02,$2,$06,$0,$05,$19,$9b,$04,$0,$8b,$05,$0,$9b,$06,$19,$03,$0,$88,$04,$0,$8a,$03,$0,$11,$19,$02,$62,$06,$19,$82,$02,$56,$11,$2,$05,$19,$05,$1,$02,$6,$ab,$03,$6,$02,$0,$83,$84,$85,$07,$0,$8e,$0a,$0,$05,$19,$0c,$27,$06,$19,$03,$0,$88,$08,$0,$11,$19,$02,$0,$06,$19,$82,$02,$0,$82,$0f,$0,$82,$05,$19,$81,$0c,$0,$86,$88,$86,$07,$0,$a3,$06,$0,$84,$03,$0,$17,$19,$05,$0,$02,$59,$05,$0,$11,$19,$02,$0,$06,$19,$82,$8c,$88,$82,$0f,$0,$82,$05,$19,$81,$0c,$0,$86,$80,$86,$07,$0,$a3,$09,$0,$82,$28,$19,$04,$1,$02,$0,$94,$81,$03,$0,$94,$02,$0,$06,$19,$82,$02,$0,$82,$02,$0,$0b,$2,$02,$0,$82,$05,$19,$81,$04,$0,$90,$11,$0,$a3,$09,$0,$82,$28,$19,$04,$1,$80,$81,$94,$81,$94,$92,$80,$94,$02,$0,$06,$19,$82,$02,$0,$82,$02,$0,$82,$80,$8e,$03,$0,$82,$06,$0,$82,$05,$19,$81,$13,$0,$06,$1,$02,$2,$05,$0,$82,$05,$19,$05,$0,$04,$2,$1a,$19,$05,$0,$81,$03,$20,$81,$02,$20,$02,$0,$06,$19,$82,$05,$0,$82,$80,$88,$03,$0,$82,$06,$0,$82,$05,$19,$81,$0d,$0,$8e,$05,$0,$81,$06,$19,$82,$05,$0,$82,$05,$19,$08,$0,$82,$05,$19,$05,$27,$05,$19,$06,$0,$05,$19,$02,$1,$0c,$0,$06,$19,$82,$05,$0,$04,$2,$02,$0,$82,$8c,$88,$05,$2,$05,$19,$81,$03,$0,$83,$02,$4,$85,$81,$02,$0,$83,$84,$85,$06,$0,$81,$06,$19,$82,$05,$0,$82,$05,$19,$02,$0,$84,$05,$0,$82,$05,$19,$9b,$80,$ce,$80,$9b,$05,$19,$06,$0,$05,$19,$02,$1,$0c,$0,$06,$19,$0a,$2,$02,$0,$82,$02,$0,$05,$2,$05,$19,$81,$03,$0,$86,$89,$80,$86,$81,$02,$0,$86,$87,$86,$06,$0,$81,$06,$19,$07,$2,$05,$19,$82,$07,$0,$82,$05,$19,$9b,$03,$0,$9b,$05,$19,$06,$0,$05,$19,$8c,$81,$0c,$0,$06,$19,$82,$12,$0,$82,$05,$19,$81,$03,$0,$86,$02,$3,$86,$81,$02,$0,$86,$80,$86,$06,$0,$81,$12,$19,$82,$07,$0,$82,$05,$19,$9b,$03,$0,$9b,$09,$19,$02,$0,$05,$19,$80,$94,$0c,$0,$06,$19,$82,$8c,$02,$8,$0f,$0,$82,$05,$19,$81,$07,$0,$81,$0b,$0,$81,$12,$19,$82,$07,$0,$82,$05,$19,$9b,$03,$0,$9b,$09,$19,$02,$0,$05,$19,$02,$20,$05,$0,$02,$61,$05,$0,$06,$19,$82,$12,$0,$82,$05,$19,$81,$07,$0,$81,$0b,$0,$81,$12,$19,$82,$8c,$02,$8,$04,$0,$82,$05,$19,$9b,$03,$0,$9b,$09,$19,$02,$0,$19,$19,$08,$2,$02,$55,$0a,$2,$05,$19,$0c,$1,$03,$0,$82,$05,$1,$0b,$19,$08,$2,$07,$0,$82,$05,$19,$9b,$03,$0,$05,$27,$05,$19,$02,$0,$37,$19,$07,$2,$04,$0,$82,$07,$0,$08,$19,$82,$05,$3,$81,$08,$0,$82,$05,$19,$9b,$07,$0,$9b,$05,$19,$02,$0,$37,$19,$82,$0a,$0,$82,$07,$0,$08,$19,$82,$05,$3,$81,$05,$0,$04,$2,$05,$19,$9b,$07,$0,$9b,$3e,$19,$82,$0a,$0,$a4,$04,$0,$84,$02,$0,$08,$19,$82,$06,$1,$05,$0,$82,$08,$19,$05,$27,$03,$0,$9b,$0c,$19,$07,$27,$02,$5,$09,$27,$03,$19,$18,$0,$05,$19,$82,$0a,$0,$82,$06,$0,$82,$08,$19,$82,$8c,$88,$09,$0,$82,$08,$19,$05,$27,$03,$0,$02,$27,$0b,$19,$9b,$8e,$87,$80,$9b,$08,$0,$92,$03,$0,$9b,$0f,$19,$0c,$0,$05,$19,$82,$0a,$0,$82,$06,$0,$82,$08,$19,$82,$0b,$0,$82,$0c,$19,$9b,$04,$0,$07,$27,$05,$19,$9b,$88,$02,$0,$9b,$08,$0,$88,$03,$0,$02,$27,$0e,$19,$0c,$0,$05,$19,$02,$2,$02,$57,$0f,$2,$08,$19,$82,$0b,$0,$82,$0c,$19,$9b,$0a,$0,$9b,$05,$19,$9b,$03,$0,$9b,$08,$0,$88,$03,$0,$02,$27,$0e,$19,$0c,$0,$20,$19,$82,$04,$0,$08,$2,$05,$19,$02,$0,$05,$19,$04,$27,$06,$0,$cd,$9b,$05,$19,$9b,$8c,$88,$80,$05,$27,$8e,$08,$0,$06,$27,$09,$19,$0c,$0,$20,$19,$82,$03,$93,$8d,$08,$2,$05,$19,$02,$0,$08,$19,$9b,$07,$0,$9b

But keep in mind that the speed to read it on the fly will really depend on the tiles you're trying to reach... That's why dividing it into smaller parts would help.

Offline chickendude

  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 817
  • Rating: +90/-1
  • Pro-Riot Squad
    • View Profile
Re: Pokemon Topaze (Axe)
« Reply #253 on: March 15, 2013, 11:10:07 pm »
I'm not quite sure how your trainer system works. It sounds like you have to walk on top of a trainer to battle them? What is TrainerNumber? You use one variable for every single trainer? One way you could do it would be to use a single tile for every trainer, say tile 85. Then you could have a table listing the coordinates of each trainer and possibly a pointer to the trainer's sprite. Actually, you really don't even need a special tile, especially if you divided your maps into smaller pieces. With each map segment you would pass a pointer to a table that contains the coordinates of the trainers. When the trainer is on screen, just subtract the trainer coordinates from the map coordinates and draw them. You could use the same table for NPCs, and since in each little map section (each town/route) there won't be that many trainers/NPCs, you could load the table into RAM and change the coordinates as you please without worrying about modifying the data in your program. That way you could have NPCs that walk around, trainers looking in different directions, etc.

Offline Hayleia

  • Programming Absol
  • Coder Of Tomorrow
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3367
  • Rating: +393/-7
    • View Profile
Re: Pokemon Topaze (Axe)
« Reply #254 on: March 16, 2013, 03:13:27 am »
The game has no protection against continuing a game without having started one, which makes for an interesting way of exploring the RAM contents of the calculator :)
Yeah but why do you try to continue a non existing game ? :P

The game, after maxing out any stats past 255, will set them down very low.

So, if I have a Pidgeot at level, say, 75, it's health will be so high, it will be (something like, this is just a random guess) 287 and thus it rolls over to a number like 287 - 255 = 32. I don't like going into battles against level 50 pokemon and losing my best one in the first hit. :(
Well your health will only get to 255 when you get to level 85, and I didn't expect people to get this far :P
So yeah, I should add a protection to it.

To continue this discussion :

For now, every trainer has a tile number, let's say from 1 to 50 for example (in fact, I think it starts at 171 or some other ugly number :P). So when you walk on a number between 1 and 50, if the number saved in {TrainerNumber} (smart name isn't it ?) is lower than the tile number you walked in, well battle, and when you beat the trainer, {TrainerNumber} increases. And if {TrainerNumber} is greater than the tile, then you already beat the trainer and there is no more battle ;)
How many tiles you really have ? Cause if it's under 77 (which is pretty much sure), then you can stick with your system and use rle compression.

Elsewhere, you have to beat all the trainers in a certain order, right ? I don't remember if the progress through maps was kind of linear, but if so, then it's not a problem.

I've compressed your map using horizontal RLE+7th bit for "lonely" tiles and (if I'm correct)... it compressed up to 85% (from 10948 bytes to 1723) :o

Spoiler For compressed map:
<snipped :P>

But keep in mind that the speed to read it on the fly will really depend on the tiles you're trying to reach... That's why dividing it into smaller parts would help.
No, I have more than 77 tiles. I see a "r1<229" in the code, and even if there are some blanks somewhere, I think it is still over 127 :(
For the trainer, there are two kinds of them: the ones that you must beat (they are blocking the road) and that can beat only once, and the ones that you don't have to beat, but you can beat them as many times as you want. For the ones blocking the road, yeah, you have to beat them in order.

For the compression, wow, that is very compressed O.O
What could be possible, instead of having it divided in parts, would be to have it in one compressed part but uncompressing small parts, this way, there would only be one map file and not too much slowness (only when going from one part to another) :)

I'm not quite sure how your trainer system works. It sounds like you have to walk on top of a trainer to battle them? What is TrainerNumber? You use one variable for every single trainer? One way you could do it would be to use a single tile for every trainer, say tile 85. Then you could have a table listing the coordinates of each trainer and possibly a pointer to the trainer's sprite. Actually, you really don't even need a special tile, especially if you divided your maps into smaller pieces. With each map segment you would pass a pointer to a table that contains the coordinates of the trainers. When the trainer is on screen, just subtract the trainer coordinates from the map coordinates and draw them. You could use the same table for NPCs, and since in each little map section (each town/route) there won't be that many trainers/NPCs, you could load the table into RAM and change the coordinates as you please without worrying about modifying the data in your program. That way you could have NPCs that walk around, trainers looking in different directions, etc.
No, you don't walk on top of a trainer to battle them, you walk on the dots right in front of them :P
And yeah, my only variable (that I called TrainerNumber in this explanation but that is not called like that in the code :P) handles all the trainers for now.
But what I was worried about was that adding a table of coordinates would be stupid because it would be saving data by adding data, but now, seeing how Deeph compressed my map, I think that the table of coordinates won't be over 9000 so it would still save space, so it is a good idea :)
I own: 83+ ; 84+SE ; 76.fr ; CX CAS ; Prizm ; 84+CSE
Sorry if I answer with something that seems unrelated, English is not my primary language and I might not have understood well. Sorry if I make English mistakes too.

click here to know where you got your last +1s