accessing unused data sprite data from gba roms

Discussion in 'GBA - Game Development, ROM Hacks and Translations' started by nanocon, Apr 21, 2019.

  1. nanocon
    OP

    nanocon Newbie

    Newcomer
    1
    Mar 10, 2019
    United States
    i have reason to believe digimon battle spirits for the gba has some unused sprites for the final boss but i dont know how to check for unused data i was hoping the people here might know how to check for that. im not very good with really complex programs so if you suggest a program for me to try it must very very easy to use, however if anyone knows some one who can on either commission or request do this that would be ideal
     
  2. FAST6191

    FAST6191 Techromancer

    pip Reporter
    22
    Nov 21, 2005
    United Kingdom
    "for me to try it must very very easy to use"

    One can not make such a guarantee with ROM hacking unless it has already been done and you are just going through premade options.

    For unused data you have one potentially simple option. It is open a tile editor and scroll through in the two modes the GBA has (most tile editors will call it GBA 8bpp and GBA 4bpp). It might not work as there are all sorts of things that could complicate it. Crystaltile2 and TileEd2002 being the main choices here.

    One of said complications is compression and there are tools that will try to search for the fingerprints of known compression formats and extract accordingly. NLZ-GBA Advance , unLZ-GBA, Crystaltile2 has some features, Lz77Restructor 2 also has options here.

    If it was data that exists within the game then you have a few more including cheats to load the boss and tile/BG viewer options. Outside chance cheats can reveal hidden things otherwise (if you can force a given item/boss to appear then start putting in numbers outside what it expects) but I would skip that one for now.

    If you were inclined to do some proper hacking I would tend to note any such data is usually stuffed within existing data rather than randomly in the ROM. Alternatively if pointers are following a fairly logical progression (if given tiles contain the whole sprite and are steadily going up by 8 or whatever each time before shooting up 24 or something at once (note numbers here in this example are meaningless) then go look where the number "should" be as it might be a simple way to not include something but also not have to redo a bunch of work.

    Finally "i have reason to believe". Care to elaborate there? We might be able to stop you from going off on a wild goose chase as it were.

    Edit. I should also say paying for hacks is not something that flies around here. Not only will you likely not be able to offer a suitable amount of money (hours of hacker time is not a cheap affair on the general market) it also means we are more likely to get the site slapped by lawyers.
     
    Last edited by FAST6191, Apr 21, 2019
  3. nanocon
    OP

    nanocon Newbie

    Newcomer
    1
    Mar 10, 2019
    United States
    thanks for telling me not to try and pay someone for hacks i dident know that. as for my "reason to believe" its a miner thing but it got me suspicious i have an image but since im a newbie i cant show it. anway in the opening scene there is a silhouetted sprite of the final boss millenniumon but its standing on the ground in a side view like its facing the player character it is then immediately followed by a silhouette of its normal sprite and when compared side by side all the proportions match up.

    it only appears for like 1 frame but it is big insanly detailed and very complex there is quite alot of parts over lapping but super distinct you can tell whats connected to what and whats behind or in front of what it looks like they just recolored an existing sprite but to my knowledge this stance never appears in the game millenniumon is always in the back ground during both cut scenes and gameplay. in fact due to its large size massive detail and complexity it would actually have taken more effort to make this silhouette from scratch then a normal sprite as you wouldent have a point of reference for the details and that seams like alot of work for 1 one frame in the opening sequence especially considering how short this game is.

    im thinking its an unused pose of millenniumon that was scrapped early on for some reason probably no animations to go with it but i was thinking the non sihlouette version might still be buried in there behind the code it is a small game so it might have room for something like that to hide some one would just have to dig around for awhile. ps is it possible to send the image of this frame in a pm it would make what im saying alot clearer or is that still agensnt the rules for newbies
     
  4. FAST6191

    FAST6191 Techromancer

    pip Reporter
    22
    Nov 21, 2005
    United Kingdom
    Some sites might allow you to try to hire someone but not here.

    You can break up the links a la http : // someurl . sometld and people can reconstruct it, or I will edit it back in if I am around. It is not the rules as much as we had issues with spammers and banned members posting nasty things so it was opted to disable the ability to link at first. Alternatively if you are wanting to link a video or image on a hosting site then say what it is and the unique part and we can reconstruct it. Example youtube lrca-wTyCZw would get you the second video below.

    Anyway if it actually appears in the game, even for just a frame, then that is a different matter (would also mean the pointer thing is less likely to be useful).
    The tile/BG viewers mentioned are something you would want to look at during this one. Most games don't aggressively manage the VRAM to the degree that you won't have a second or two to snatch it, not to mention you can advance a game frame by frame. Even if not then you can usually disable layers in the game and thus will hopefully have a white screen or something as a contrast for this.

    You can make a silhouette easily enough as well -- games don't use typically normal pictures but instead use palettes with sprites (I usually describe it like paint by numbers, except rather than shapes you have a predefined grid of pixels). Change the palette and you change the image, hence the term palette swap for when enemies or something come back later in the game in different colours. Tell the game to use an all black palette for that sprite and you have your shadow/silhouette. Just watched a battle as well and they do that within it as time/health goes on, and make an all black version at the end (2:17 in the first video below).
    You can still try with the tile viewer, indeed it might be an all black/single colour affair for that frame but the thing about the tile viewer is you can select another palette to look at it with and hopefully make something that way, even if you have to recolour it a bit later.

    That said other than the intro segment I did not see any side profile stuff.

    I did however watch that at half speed and hammering on the k button (it pauses without shooting the screen down). The only non vaguely standard thing I saw was when it went into the background, which is presumably is not what you were after.

    Had a look at a Japanese version as well


    Didn't see anything else, though as it lacked the smaller in the background sequence I shall hold off there and presume some other attack sequence that was not triggered for either of those videos.
     
  5. nanocon
    OP

    nanocon Newbie

    Newcomer
    1
    Mar 10, 2019
    United States
    oh the sprite im talking about isent any where near the boss battle it is seen in the opening credits for the game here i cued this video up to a second before it shows up as its only there for a fraction of a second so i recomend going to 0.25 speed to catch it


    At 39 seconds.

    by the way any good tutorials for TileEd2002 or Crystaltile2 you said they might be of use to me in this endever
     
  6. FAST6191

    FAST6191 Techromancer

    pip Reporter
    22
    Nov 21, 2005
    United Kingdom
    Got it there as well.
    Screenshot_2019-04-22_17-46-49.

    Crystaltile2 is a fairly heavily featured program aimed at doing it all for GBA and DS games really. This would increase the complexity somewhat but just the same as you can use a word processor without having a clue how to add macros to your mail merge you can still do stuff here.
    The link from my signature
    https://gbatemp.net/threads/gbatemp-rom-hacking-documentation-project-new-2016-edition-out.73394/
    It covers some usage of it.
    Tiled2002 is a bit simpler as it just a tile editor.

    In both cases it involves opening the ROM in the program (file -> open or some normal looking icon for opening things), selecting the mode (GBA 4bpp and GBA 8bpp being the best choices to start with on both counts). Then pressing down on the slider, or possibly page down a lot to see what you can see. It likely won't be the right colours (recall the palettes conversation from the previous post). For crystaltile2 then you will probably have to select the tile editor mode but it should be obvious there (if the screen is filled with squares then you have it, if it is a small square of squares then you are in edit mode and need the other one).
    Similar deal for the compressed stuff -- open, let is scan, press next section a lot until you find something.


    Similarly if it appears on screen like that then it might be worth having a look at the more in depth things like tracing ( https://www.romhacking.net/documents/361/ ). Both in the menu options, and in the final boss to see where the final boss sprites are kept and scanning around either side from there.
     
  7. nanocon
    OP

    nanocon Newbie

    Newcomer
    1
    Mar 10, 2019
    United States
    well i used Crystaltile2 just as you instructed oddly it never asked about gba 4dpp or gba 8 dpp and i think i found the spot where it is had to change the pallette to combo to realize what was what. man this game stores its sprites so strangly the image's are not stored whole there split into these ribbon like sections and although most of em are in order every now and then one ribbon is in the wrong spot. i only notaced this after looking at the whole tile list is that normal i guess it will be like one of those horizontal mix and match slider puzzles.

    i do have a question if i want to send some of the tiles to a paint program to start reassembling the sprite how do i do that i tried copy and past but it shrank to much like i get that they hae to shink a little to be the right size but when i copy and paste it goes micro scopic does it have to do with the the export button.
     
  8. FAST6191

    FAST6191 Techromancer

    pip Reporter
    22
    Nov 21, 2005
    United Kingdom
    "ribbon like" could mean a few things, though it would make that animation thing it does as things die or come onto the battle title card easier. Crystatile2's options to set custom tile width and height are some of the best though and might allow you to "cheat" as it were and create a tile size such that the slices are whole tiles -- not how it would necessarily happen on the console but if it works...

    For CT2 the graphics mode is usually on the left hand side.

    As for exporting some will use a print screen option, indeed many tile editors would be forced to do that. Crystaltile2 does however have an export bitmap option. I cover import and export in https://gbatemp.net/threads/gbatemp-rom-hacking-documentation-project-new-2016-edition-out.73394/ at one point. It should however just be a matter of selecting what you want to export and finding it in one of the dropdown menus.

    Most tile editors (it mainly being stuff like tileggd that don't) will have the option to create your own tile arrangement in its editor window. Crystaltile2's is a bit annoying as it is aimed more at the DS with its map formats but should still get something done, tiled2002's is better but it suffers with the custom tile size thing and usually crashes if you get too exotic.

    As for things being tiny. Chances are you are editing whatever this is on a 1080p or better screen. The GBA is an eye bogglingly detailed 240x160 pixels. Most tile editors will scale (should be doing something called nearest neighbour, though other editors will call it different things -- GIMP will do it when you select none on the interpolation options in scale, my chosen video editor of avisynth calls is point resize ( http://avisynth.nl/index.php/Resize#PointResize ) and I can't be bothered to look up what all the others call it right now. Crystaltile2's scale options are usually high up in the options menu on the left hand size where you would have found the graphics mode/decode options discussed before.
     
Loading...