Main Menu
Main Page
Forums
New pages
Recent changes
Random page
Help

Glitches
Arbitrary code execution
Pokémon cloning
Pomeg glitch and Glitzer Popping
Tweaking and voiding
Glitches by generation
Other glitch categories

References/Resources
Databases
Disassembly projects
The Big HEX List
Interactive tools
Reference documents
Terminology

Affiliates
Legendary Star Blob 2 (Hakuda) (日本語/Japanese)
Pokémon Speedruns wiki (English)
PRAMA Initiative (Français/French)
MissingNo. Glitch City (Italiano/Italian)
Become an affiliate!

Technical
Site source code

Search Wiki

 

Search Forums

 

Author Topic: Assign a sprite to a MissingN°. in G/S/C  (Read 1317 times)

0 Members and 1 Guest are viewing this topic.

Halfshadow

  • GCLF Member
  • Offline Offline
  • Gender: Male
  • CHARIZRAD 'M ROXORX or is it.
    • View Profile
Assign a sprite to a MissingN°. in G/S/C
« on: April 12, 2016, 02:57:15 am »
Is possible assign the fossils sprite to a 2 of the 4 existing MissingN°. that when appear show the tileset graphic instead of a real pic?

I can compress and add the sprites of the fossils into the rom, but the poképic script string need to show a pic of an existing pokémon and the only way without overwrite existing pokémon will be assign to a 2 missingN°.

MissingNoGuy55

  • Member+
  • *
  • Offline Offline
  • Gender: Male
    • View Profile
    • Steam Community
Re: Assign a sprite to a MissingN°. in G/S/C
« Reply #1 on: April 12, 2016, 03:25:18 am »
Is possible assign the fossils sprite to a 2 of the 4 existing MissingN°. that when appear show the tileset graphic instead of a real pic?

I can compress and add the sprites of the fossils into the rom, but the poképic script string need to show a pic of an existing pokémon and the only way without overwrite existing pokémon will be assign to a 2 missingN°.
I have been trying this myself to no avail. I have assigned pic pointers to 252 and also defined said sprites, but it refuses to work for some reason. Maybe there's something I'm missing?
« Last Edit: April 12, 2016, 03:27:20 am by MissingNoGuy55 »

Krys3000

  • French living dexer
  • Distinguished Member
  • *
  • Offline Offline
  • Gender: Male
  • Head admin of the PRAMA Initiative
    • View Profile
    • PRAMA Initiative - French Pokémon glitch website
Re: Assign a sprite to a MissingN°. in G/S/C
« Reply #2 on: April 12, 2016, 03:32:06 am »
Hello,

You are talking about glitch Pokémon whose hex ID is 00, FC, FE and FF. MissingNo. is a very specific case that only happens in 1G.

I have a tutorial that once was published on PRAMA to add sprites to glitch Pokémon in 1G. Unfortunately, I don't know how to do in 2G.

Admin of the PRAMA Initiative, the main french Pokémon glitch website
https://www.prama-initiative.com
“Anti-intellectualism has been a constant thread winding its way through our political and cultural life, nurtured by the false notion that democracy means that 'my ignorance is just as good as your knowledge.'” - Isaac Asimov

Halfshadow

  • GCLF Member
  • Offline Offline
  • Gender: Male
  • CHARIZRAD 'M ROXORX or is it.
    • View Profile
Re: Assign a sprite to a MissingN°. in G/S/C
« Reply #3 on: April 12, 2016, 05:32:48 am »
In alternative there is a way to add an asm for load a sprite by offset into a script instead of the poképic command? Will be however fine.

MissingNoGuy55

  • Member+
  • *
  • Offline Offline
  • Gender: Male
    • View Profile
    • Steam Community
Re: Assign a sprite to a MissingN°. in G/S/C
« Reply #4 on: April 12, 2016, 11:27:31 pm »
Okay, I have figured out a way to actually get this to work when placing Pokémon sprite data in place of 252.

The sprite data is used in conjunction with other functions by a constant called NUM_POKEMON defined in pokemon_constants.asm. Adding a new Pokemon here can only be done via the same way the Egg was added, otherwise WRAM0 will overflow.

Now, the sprite data is actually loaded into memory by a check in wildmons.asm on whether something is an actual species or not, and it uses NUM_POKEMON + 1 (+1 being an Egg of course), so if you put + 2 instead, it will interpret 252 as an actual Pokemon if you defined all its proper data, including sprites. Eggs won't be affected, of course. The function in question on where to change this is ValidateTempWildMonSpecies.

Cries will not work, however. This can be changed in cry.asm under a similar function, called GetCryIndex.

Hope this helps, it took me three days to figure this out on my own. Couldn't have done it without Photon-Phoenix's help.
« Last Edit: April 12, 2016, 11:31:22 pm by MissingNoGuy55 »

Halfshadow

  • GCLF Member
  • Offline Offline
  • Gender: Male
  • CHARIZRAD 'M ROXORX or is it.
    • View Profile
Re: Assign a sprite to a MissingN°. in G/S/C
« Reply #5 on: April 13, 2016, 01:30:41 am »
I don't use assembly, but usaully the hex editor. Please can you tell me where is the offset of the pokémon number and after where is the pointer for the sprites? I have to add 2 pokémon sprites, 2 fossils from R/G/B/Y. Can you help me please? :)

MissingNoGuy55

  • Member+
  • *
  • Offline Offline
  • Gender: Male
    • View Profile
    • Steam Community
Re: Assign a sprite to a MissingN°. in G/S/C
« Reply #6 on: April 13, 2016, 01:19:10 pm »
I don't use assembly, but usaully the hex editor. Please can you tell me where is the offset of the pokémon number and after where is the pointer for the sprites? I have to add 2 pokémon sprites, 2 fossils from R/G/B/Y. Can you help me please? :)
The pointers to the pics are around 48000-485DF if I recall correctly. I'm not sure about the others, but this might prove useful to you if you haven't utilized it already.

Halfshadow

  • GCLF Member
  • Offline Offline
  • Gender: Male
  • CHARIZRAD 'M ROXORX or is it.
    • View Profile
Re: Assign a sprite to a MissingN°. in G/S/C
« Reply #7 on: April 13, 2016, 01:29:27 pm »
Ok, and the way to add 2 more pokémons like you have sayied? I can't find it into the Crystal repository, but I think maybe will be something like FF01 (251 + 1 for the egg) only I don't know where is the right offset in the rom to edit it with the hexing. Can you tell me where is please?