• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Crystal hack: Pokémon Polished Crystal (update 2.2.0)

16
Posts
9
Years
    • Seen Mar 5, 2023
    When hatching an egg, there is a single frame in which the egg's palette is replaced with that of the hatching Pokemon. This is shown in the following gif.
    Spoiler:

    I'm not sure if this is within the scope of the project or even possible, but having the egg always share the palette of the contained Pokemon would be neat. If nothing else, it would make the Odd Egg received from the Day-Care Man a bit more interesting.
     
    755
    Posts
    7
    Years
    • NY
    • Seen Oct 9, 2023
    An interesting thing would be if you could use the Celebi from the GS Ball event to travel back in time and battle Giovanni like you can in Pokémon HeartGold and SoulSilver. Any plans to implement something like this?

    Something like it, yes. :)

    When hatching an egg, there is a single frame in which the egg's palette is replaced with that of the hatching Pokemon. This is shown in the following gif.
    Spoiler:

    I'm not sure if this is within the scope of the project or even possible, but having the egg always share the palette of the contained Pokemon would be neat. If nothing else, it would make the Odd Egg received from the Day-Care Man a bit more interesting.

    Thanks for noticing! Would you mind checking if that single frame also exists in regular Crystal?

    And I like your idea of Pokémon-colored Eggs. It would make the Odd Egg not really a surprise, but most Eggs are of a known species anyway.
     
    16
    Posts
    9
    Years
    • Seen Mar 5, 2023
    Something like it, yes. :)



    Thanks for noticing! Would you mind checking if that single frame also exists in regular Crystal?

    And I like your idea of Pokémon-colored Eggs. It would make the Odd Egg not really a surprise, but most Eggs are of a known species anyway.
    It does exist in vanilla Crystal.
     
    755
    Posts
    7
    Years
    • NY
    • Seen Oct 9, 2023
    Here's the planned layout for Scary Cave, the one in Uraga Channel:

    Spoiler:


    People are going to ask this anyway. When's 3.0?

    You can see what's been done lately on GitHub, check the goals for 3.0.0, or read this thread where I keep posting feature updates.

    Please don't ask when it'll be out or how long until it's released. It'll be done when it's done, and your estimate of how long that will take is as good as mine. Also, software projects notoriously go over deadlines.
     

    Tendoman77

    Formerly known as "Da Man"
    384
    Posts
    16
    Years
    • Seen May 2, 2024
    Nice layout, gonna assume it be mostly ghost and maybe dark type wild pokemon in there from the obvious name?
     
    53
    Posts
    9
    Years
    • Seen Aug 26, 2022
    Z3aUwRV.gif


    The above gif shows the difference between GSC Color Inversion and Real Color Inversion.

    If anyone is interested, you can grab the code below which allows real inversion for battle animations:

    @battle\anim_commands.asm
    Spoiler:


    EDIT: I forgot to say something!
    For the code to be perfect, look at the file battle\anims.asm; any move who features the following instruction:
    _anim_bgp $1b
    needs to be completed with a anim_bgp $e4 instruction right before anim_ret.

    This goes for the following moves in vanilla Crystal:
    _Thunder Wave
    _Night Shade
    _Dream Eater
    _Nightmare
    _Aeroblast
    _Zap Cannon
    _Destiny Bond*
    _Crunch
    _Moonlight*
    _Shadow Ball

    *For Destiny Bond and Moonlight, anim_bgp $e4 must be added for both branches right before anim_ret.
     
    Last edited:

    FIQ

    251
    Posts
    11
    Years
    • Seen Sep 15, 2022
    Is the original behaviour a bug though? Personally I never really considered it an issue, maybe I'm alone in that regard.
     
    53
    Posts
    9
    Years
    • Seen Aug 26, 2022
    The original behavior, for all intents and purposes, is the one to be expected.

    This is just me being fancy to make color inversion feel more intuitive (what you would get in Photoshop for example) instead of swapping the palette slots reading order from 0-1-2-3 to 3-2-1-0.
     
    694
    Posts
    7
    Years
    • Seen Feb 22, 2024
    Hey so I compiled the source for version 3.0 on Github, but during the first rival battle the game resets to the title screen after I send out my Starter... Tested on VBA and a NDS Emulator.
     

    FIQ

    251
    Posts
    11
    Years
    • Seen Sep 15, 2022
    Hey so I compiled the source for version 3.0 on Github, but during the first rival battle the game resets to the title screen after I send out my Starter... Tested on VBA and a NDS Emulator.

    Known bug, the reason it isn't fixed yet is because I started to refactor move scripts in general.

    If you want to play, try this, or wait until I'm done with my stuff: https://github.com/roukaour/pokecrystal/tree/909f1431ae94282dbd7f61c9b6d088515cd971cc -- it should be the most stable recent update to the battle engine.
     
    755
    Posts
    7
    Years
    • NY
    • Seen Oct 9, 2023
    Z3aUwRV.gif


    The above gif shows the difference between GSC Color Inversion and Real Color Inversion.

    If anyone is interested, you can grab the code below which allows real inversion for battle animations:

    (snip)

    Thank you very much! This works beautifully:

    IIYyIT2.png


    I've added you to the credits.

    By the way, your correction of the move animations is not something I would have figured out easily. Are you fairly proficient with the animation commands? Would you like to design animations for any of the remaining 25 moves commented "TODO"? For me, getting the coordinates and timing right for the different objects is a matter of trial and error, and I can't always get the right effect anyway.
     
    53
    Posts
    9
    Years
    • Seen Aug 26, 2022
    Thank you very much! This works beautifully:

    IIYyIT2.png


    I've added you to the credits.
    I'm honored, thanks!

    By the way, your correction of the move animations is not something I would have figured out easily. Are you fairly proficient with the animation commands? Would you like to design animations for any of the remaining 25 moves commented "TODO"? For me, getting the coordinates and timing right for the different objects is a matter of trial and error, and I can't always get the right effect anyway.
    I'm not skilled at all with anim commands, I just happened to find there what I sought when writing the Color Inversion code.
    But I gave a try anyways for Focus Blast:
     

    FIQ

    251
    Posts
    11
    Years
    • Seen Sep 15, 2022
    What's with the top of the Typhlosion back sprite during the orb charging? Looks pretty good otherwise, allthough I might have considered another orb color than green.
     
    Last edited:
    53
    Posts
    9
    Years
    • Seen Aug 26, 2022
    What's with the top of the Typhlosion back sprite during the orb charging? Looks pretty good otherwise, allthough I might have considered another orb color than green.


    Look at the 8:30 and 22:00 marks for Focus Energy and Sky Attack respectively.
    Actually the whole backsprite of Typhlosion should have been brightened, but for some reason something is broken in the current revision for Focus Energy, Sky Attack (and now Focus Blast) animations, and maybe for others moves as well.
    I'm speculating that might have to do with the HUD that shows the type, category, power, accuracy and PP when you're about to select a move.

    And about the charging orb: is there any other GFX, preferably round in shape, other than the one used for Absorb, Mega Drain, SolarBeam that is actually shown growing in size? If so I would be most pleased because green is not so fitting for Focus Blast, I chose it only because it was the default choice.
     

    FIQ

    251
    Posts
    11
    Years
    • Seen Sep 15, 2022


    Look at the 8:30 and 22:00 marks for Focus Energy and Sky Attack respectively.
    Actually the whole backsprite of Typhlosion should have been brightened, but for some reason something is broken in the current revision for Focus Energy, Sky Attack (and now Focus Blast) animations, and maybe for others moves as well.
    I'm speculating that might have to do with the HUD that shows the type, category, power, accuracy and PP when you're about to select a move.

    And about the charging orb: is there any other GFX, preferably round in shape, other than the one used for Absorb, Mega Drain, SolarBeam that is actually shown growing in size? If so I would be most pleased because green is not so fitting for Focus Blast, I chose it only because it was the default choice.

    Right, I knew that that animation causes the sprite to brighten, just wasn't sure why only the top part did it.
    It being caused by the type icons/etc sounds odd, but I don't really have any better explanation, so that might be it...

    EDIT: IIRC Polished Crystal's Moonblast animation uses the "earth" from Seismic Toss with a different pallet (at least if it uses the animation from Prism which I think it does). Is it possible to do something similar here, e.g. change colors?
     
    53
    Posts
    9
    Years
    • Seen Aug 26, 2022
    IIRC Polished Crystal's Moonblast animation uses the "earth" from Seismic Toss with a different pallet (at least if it uses the animation from Prism which I think it does). Is it possible to do something similar here, e.g. change colors?

    Seems that Polished Crystal and Prism use different animations for Moonblast after all.
    But even then just checked pokeprism assembly and well, some objects have been added into battle\objects\data.asm

    The one used for Cosmic Power and Moonblast animation is a new object called ANIM_OBJ_MOON, while Seismic Toss uses ANIM_OBJ_20, both objects are part of the ANIM_GFX_GLOBE group however.


    The only easy solution here would be to add new objects then.
     
    755
    Posts
    7
    Years
    • NY
    • Seen Oct 9, 2023
    Right, I knew that that animation causes the sprite to brighten, just wasn't sure why only the top part did it.
    It being caused by the type icons/etc sounds odd, but I don't really have any better explanation, so that might be it...

    EDIT: IIRC Polished Crystal's Moonblast animation uses the "earth" from Seismic Toss with a different pallet (at least if it uses the animation from Prism which I think it does). Is it possible to do something similar here, e.g. change colors?

    Seems that Polished Crystal and Prism use different animations for Moonblast after all.
    But even then just checked pokeprism assembly and well, some objects have been added into battle\objects\data.asm

    The one used for Cosmic Power and Moonblast animation is a new object called ANIM_OBJ_MOON, while Seismic Toss uses ANIM_OBJ_20, both objects are part of the ANIM_GFX_GLOBE group however.

    The only easy solution here would be to add new objects then.

    The lower half of the Pokémon's back sprite, where the move attribute window appears, uses palette #7, while the upper half still uses #0. When the window opens I just change the palette's colors for the type+category icons. This is faster that changing the tiles' palette assignment, but it also requires palette #7 to be kept in sync with #0. Just edited battle/bg_effects.asm:BGEffects_LoadBGPal0_OBPal1, which should fix it.

    I'm still not 100% satisfied with this method. There's a single frame between changing the palette and updating the tile, which causes barely-noticeable color mismatches:

    Spoiler:


    The Focus Blast animation looks good, thanks. I can add a yellow energy ball object for it. Please post the code?

    Edit: Okay, now both sides' status colors use palette #5, so I can put the type+category+backsprite one as #6 and leave #7 for just the bottom text box. Had to do this because Focus Energy and Sky Attack were affecting the text box. (So were color inversions, but that looked alright.)

    scdzz9u.png
     
    Last edited:
    Back
    Top