don't click here

Puyo Pop Fever Hacking

Discussion in 'Technical Discussion' started by NickW, May 10, 2008.

  1. NickW


    This is currently what I have able to figure out/change in Puyo Pop Fever for the PC. Note that these offsets refer to version 1.12 of the game. Note that all of this is located in PuyoF.exe

    Voice Patterns
    These are stored at 0xB16F0. Each voice number takes up 4 bytes (for example: 0100 0000 refers to voice 01). And the voice pattern for each chain is 80 bytes in length. Any signed byte above or equal to 0 is considered a chain voice, and anything below 0 is considered a chain ender, and as such the character's "attack" image is shown.

    The data for which voice plays for the ender voice is stored at 0xB8130. Like above, each voice number takes up 4 bytes. There are 4 for each chain ender:
    - The first one plays when you eliminate 4 puyo.
    - The second one plays when you eliminate 5 or 6 puyo.
    - The third one plays when you eliminate 7 to 10 puyo.
    - The fourth one plays when you eliminate 11 puyo or more.

    Lastly, there is data for which chain image shows for each voice (when a chain ender voice is played). This data is stored at 0xB8630. Each chain image number takes up 4 bytes. Each character has 9 different animations:
    - 5 are for chain enders
    - 2 are for when nuisance puyo drops on their field.
    - The Win Image
    - The Lose Image
    - The Enter Fever Image

    Even though only 5 are defined for each character, it is possible to specify 6 different chain enders for a character. You would either have to reuse a chain ender (like Sega did with Oshare Bones, although I believe that was a goof.) or use one of the other images (except for the win or lose image, those won't dissapear and will cover your field for the rest of the match.)

    Fever Chains

    Ok, this shit starts at 0xC4788, and is stored in the order of Endless Mode, Normal, Easy (the ones used in the Run Run Course.). Each puyo takes up 1 byte (so, fever data would take up 72 bytes, plus 3 bytes used for the hint arrows, plus an extra 21 useless bytes.) There are also 6 bytes used for column heights (which I assume is for timing purposes).

    The bytes for each are redicuiously easy. They are either 0 (no puyo), 1, 2, 3, 4 (not used with 3 colors), 5 (only used with 5 colors), and 16 (nuisance puyo).

    Each of these sets is 96 bytes.

    Here is an example:
    The yellow stuff is how many puyos are in each column. In this case, the 1st, 2nd, and 6th column have no puyos, the 3rd and 4th column have 4 puyos, and the 5th column has 3 puyos in it.

    The red stuff indicates the start of the fever data (which is always 646D).

    The blue stuff is the fever data. It starts from the top left position and goes to the bottom right.

    The green stuff is the puyo color, in this case the color of the trigger puyo is the puyo who are labeled "01".

    The orange stuff is a blank space next to a trigger puyo (or the space between them if they are all not connected.). In this case, the arrow would be at the X position 1 and the Y position 11.

    I know a lot of this is probably confusing (I'm not good at writing this stuff), so thank goodness I made tools (and yes nineko I did use .GAY, so you will need the .NET framework 2.0 installed):

    Voice Pattern Editor
    Fever Editor
  2. Hayate


    Tech Member
    Nice, this will come in very handy later. :thumbsup:
  3. Yuzu


    Pretty awesome work, I see you also created a launcher on puyo site.
  4. NickW


    Thanks. I also added the stuff about column heights (I don't know why I forgot about it.)
  5. Hayate


    Tech Member
    Oh wait. I just went to extract those Fever boards, but I notice you said PC version, so... that hex location is in which file? Also, I have the Japanese version, dunno if that matters...

    Could you just upload the boards data somewhere?
  6. NickW


  7. Hayate


    Tech Member
    Ah, awesome.
  8. NickW


    Since it's June 1st, I added the link for the fever editor. I also slightly redid the fever chains section. It should be clearer now.