Welcome to the RaGEZONE - MMORPG development forums.

.bnd file map

This is a discussion on .bnd file map within the O2Jam Tutorials forums, part of the O2Jam category; I just checked the .bnd files and I think I know how it's used already. I only mapped out a ...

Results 1 to 5 of 5
  1. #1
    Hardcore Member
    Rank
    Member
    Join Date
    Mar 2007
    Posts
    143
    Liked
    0

    .bnd file map

    Click
    I just checked the .bnd files and I think I know how it's used already. I only mapped out a few of these values. .bnd files are just pixel position pointers and the values are in little-endian format.

    I'll be using State_Playing.bnd to explain it. I haven't mapped the whole file so the first few bytes are ignored. Valuable data starts at 0x6(thanks to kishi).
    Look at 0x96 to 0xa5, - you'll have b6 01 00 00 35 02 00 00 bb 01 00 00 4c 02 00 00
    Now go take a press the Print Screen button when you're playing a song and open Paint. Select Edit - Paste. If you convert those little-endian hex into numbers(4 bytes each) you will get 438, 565, 443, 588. Now, you would've noticed that 35 02 00 00 and 4c 02 00 00 had repeated 23 times in the .bnd file. The EQ in the game also had 23 bars. if you map those pixels positions in this format: Left side, Top Side, Right Side, Bottom Side onto the screen-shot, you will get the left-most EQ bar. Continue the process until 0x0204 and you get all 23 EQ bars.

    File format:
    Header :
    4 bytes - FF FF FF FF
    2 bytes - No. of Entries(thanks to kishi)

    Data :
    16 bytes - Item window
    - 4 bytes - Left Side
    - 4 bytes - Top Side
    - 4 bytes - Right Side
    - 4 bytes - Bottom Side

    Currently mapped items(items with "?" are guessed items):

    State_Playing.bnd - 43 items
    0x06 - 0x15 - Exit button focus position*
    0x16 - 0x25 - ?Chat box
    0x26 - 0x35 - ?Time bar(not text)
    0x36 - 0x85 - Pills (up to down)
    0x86 - 0x95 - Song Title
    0x96 - 0x0205 - 23 Equalizer Bars(left to right)
    0x0216 - 0x0225 - Power Ring
    0x0226 - 0x0235 - Arrangement Ring
    0x0236 - 0x0245 - Visual Ring
    Last 7 items are unknown.
    * The real image is bigger but it's focus is not triggered when you touch the image but the space defined in the .bnd file.

    State_Avi.bnd - 1 item
    0x06 - 0x15 - Screen (probably for fading effects*)
    * When ran in Window Mode on WinE in Linux, the whole screen's brightness is affected.

    State_Planet.bnd - 119 items
    0x06 - 0x15 - Screen

    -- Blinking Stars -- 9 in total --
    0x36 - 0x45 - Blinking Star 1(below the '!' on message on the top)
    0x46 - 0x55 - Blinking Star 2(below the chicken on the top left corner)
    0x56 - 0x65 - Blinking Star 3(between Knowledge Planet and Corruption Planet)
    0x66 - 0x75 - Blinking Star 4(between Corruption Planet and Channel List)
    0x76 - 0x85 - Blinking Star 5(just under Knowledge Planet)
    0x86 - 0x95 - Blinking Star 6(just under Aqua Planet)
    0x95 - 0xa5 - Blinking Star 7(between Creativity Planet and Dragon Planet)
    0xa6 - 0xb5 - Blinking Star 8(just under Creativity Planet)
    0xb6 - 0xc5 - Blinking Star 9(just under green coloured planet)

    -- Blinking Music Notes --
    0xc6 - 0xd5 - Blinking Music Note 1 (beside brown coloured planet)

    0x0596 - 0x06d5 - Channel List (1 to 20)
    Last edited by PureSpectre; 17-12-08 at 03:42 AM. Reason: Shifted Bytes. Thanks to kishi for the info. / Added more mappings

  2. #2
    Hardcore Member
    Rank
    Member
    Join Date
    Apr 2004
    Posts
    110
    Liked
    0

    Re: .bnd file map

    Hm.. That seems quite close, except for a few byte shifts.

    It's actually a 6 bytes header: 4 bytes I didn't bother interpreting, 2 bytes containing the number of entries in the file.

    Data follows header: 4*4 bytes specifying positions, for each one of the entries.


    edit:
    Btw, I didn't bother interpreting the first 4 bytes because it looks like a file signature, being always FF FF FF FF.
    It could be something else, but that's something I wouldn't care for now.

  3. #3
    Hardcore Member
    Rank
    Member
    Join Date
    Mar 2007
    Posts
    143
    Liked
    0

    Re: .bnd file map

    Thanks for the info kishi.
    By the way, do they represent percentages? When I enlarged the game's screen resolution through debugging, the game's images are still mapped on the screen by its original pixel position so they all stayed in the 800*600 window clipped on to the top-left corner. The rest was blank. However, combo, judgement, note effects were all enlarged and stayed at the screen as if the whole game was enlarged. Is that the .bnd or the client?
    Here's a SS of what I'm talking about. Circled pinky thing on the middle is the jam effect on the avatar. Big shiny thing on the uncovered BG is a note hit effect I think. The greyish backgorund on the bottom left is from the scrolling result screen.

  4. #4
    Hardcore Member
    Rank
    Member
    Join Date
    Apr 2004
    Posts
    110
    Liked
    0

    Re: .bnd file map

    It's not that they represent percentages. But they are still related to the 800x600 resolution.. Therefore the game can still perform 'matching' rendering, even on other resolutions. Up to the algorithm there --which I wouldn't dare looking at XD

    I don't know what method you used to scale the game --but the "problem" is surely on the client rendering, not on the .bnd file or whatsoever.

  5. #5
    Hardcore Member
    Rank
    Member
    Join Date
    Mar 2007
    Posts
    143
    Liked
    0

    Re: .bnd file map

    All I did was OllyDbg it. Search and replace every PUSH 320 and PUSH 258(800*600) to PUSH 500 and PUSH 400(1280*1024). There's about 9 of them. I'll take a look at it later and do some trial and errors.

    EDIT: It seems like the relational positions are using the same variable used by DirectX. There's no way around it except to look that the items manually.
    Last edited by PureSpectre; 17-12-08 at 01:22 PM.

 

 

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •