FANDOM


Jubelstadt ist sehr oft in der Schwärze vertreten, wobei andere Städte meist gar nicht auftreten. Viele Leute denken dies ist so, weil man in Jubelstadt getweakt hat, was jedoch falsch ist.

Map-IDs-Void

Jubelstadt Map IDs in der Schwärze. (65535 in hex ffff und damit Jubelstadt)

In der Schwärze Bearbeiten

Es gibt 65536 Maps in Pokemon Diamant und Perl. Dabei werden jedoch nur 558 wirklich genutzt. Diese werden im Spiel als Hexadezimalzahl gespeichert (0000 bis ffff). Dabei reichen alle genutzten Maps von 0000 (Mysteriöse Zone) Bis 022e (Gebäude in Herzhofen). Alle Map IDs darüber gelten als Jubelstadt.

Erklärung Bearbeiten

Der Grund, wieso die Entwickler alle Maps über 022e Jubelstadt gemacht haben, ist ein sogenannter Error Handler. Das Spiel nutzt zwar nur 558 Maps, aber es muss wegen des Speichersystems des Spiels 65535 geben. Damit das Spiel beim versuch diese Maps zu laden nicht crasht, wurde ein Error Handler in das Spiel Programmiert. Dessen Code geht wie folgt:

uint32 ValidateMapID(uint32 map_id)
{
  if ( map_id >= 0x22e )
  {
    ErrorHandler();
    map_id = 3;
  }
  return map_id;
}

wie man hier sehen kann besagt der Error Handler, dass jede Map, welches das 0x22e Limit überschreitet automatisch auf 3 geht, was die Map ID von Jubelstadt ist. Warum die Entwickler Map ID 3 genommen haben, ist bisher keinem genau bekannt.

Nutzen Bearbeiten

In fast jeder Route speichert man zuerst in einem Jubelstadt-Bereich. Dies tut man, weil man somit schneller durch die Schwärze bewegen kann.

Die meisten Unterkarten-Maps berechnen ihre Bewegung durch die RAM folgenderweise:

Eine Map nach links   =  2 Bytes rückwärts im Speicher (RAM)
Eine Map nach rechts  =  2 Bytes vorwärts im Speicher  (RAM)
Eine Map nach oben    =  2 Bytes rückwärts im Speicher (RAM)
Eine Map nach unten   =  2 Bytes vorwärts im Speicher  (RAM)

Eine Map nach oben zu gehen macht also das exakt selbe, wie eine Map nach links zu gehen. Dasselbe gilt für unten/rechts. So etwas kann man offensichtlich nicht mit der Sinnoh-Map machen, also hat das Spiel die Bewegung dort wie folgt berechnet:

Eine Map nach links   =  2 Bytes rückwärts im Speicher (RAM)
Eine Map nach rechts  =  2 Bytes vorwärts im Speicher  (RAM)
Eine Map nach oben    = 60 Bytes rückwärts im Speicher (RAM)
Eine Map nach unten   = 60 Bytes vorwärts im Speicher  (RAM)

Wie man hier sehen kann ist eine Map nach oben zu gehen also dasselbe wie 30 Maps nach links zu gehen. Dasselbe gilt auch für unten/rechts. Also ist nach oben und unten zu gehen 30x schneller auf der Oberkarte als auf einer Map der Unterkarte.

Da Jubelstadt Teil der Sinnoh-Map und damit Oberkarte ist und Jubelstadt ziemlich oft und einfach in der Schwärze anzutreffen ist, benutzt man dessen Map IDs, um sich durch die Schwärze zu bewegen.