Jump to content

FEditor Question


ThisProfileNoLongerUsed
 Share

Recommended Posts

And then isolate the one you need with Paint or similar...

Well, thanks, but that's not really the answer I was hoping for. :/

If it comes down to it, though, I'll do what you suggested.

Edited by Rokk
Link to comment
Share on other sites

Really? How so?

Really? Well what you do is find the "Execute PCA Dumper" Batch file double click it. Then select the ROM you wish have if run the let it run until it states press any key to continue.

Link to comment
Share on other sites

You can also open the ROM in FEditor and hit the Frame arrows up and down. It won't give you the placement of each frame, though, which is a nuisance.

And Astra is giving bad advice. Bad Dan, bad! You can use AnimGet to rip the frames yourself, too. It basically takes a boatload of screenshots of your stuff. It's better than manually ripping the frames, at any rate. Just make sure that you disable background layers and try to make sure there's no WTA because then the arrows will move and cause AnimGet to take excessive screenshots unnecessarily.

Link to comment
Share on other sites

it actually does that because that's how OAM works

YAY TIME TO BORE EVERYONE WITH IRRELEVANT TECHNICAL DETAILS

Also, it's not compression, it's just rearrangement (mostly). IS's sheets include pieces that are deliberately designed to be transformed (scaled, rotated, skewed). FEditor doesn't know how to do that; it can't look at an image and detect "oh, that piece is just this piece rotated by 35 degrees" because (a) that's seriously complex image analysis and (b) if you actually did that in an image editor it probably wouldn't come out the same as it does on the GBA hardware anyway because of a bunch of technical details. That's why the in-game sheets are able to be more efficient and avoid redundancy (especially with things like the circles flying around all over the place when Athos does stuff). Yeah, the bitmap data for the sheet itself gets LZ77 compressed afterwards, but so does almost all the other image data in the ROM, so that's neither here nor there.

The hardware is designed for "sprites" of a specific size - you load all this image data into VRAM, and then tell it to "cut out" a piece of the VRAM image at a certain location, transform it, and put it at a specific screen location. This is all done by setting values in the OAM (Object Attribute Memory) - a special region of memory on the GBA that's used by the custom hardware that actually draws stuff on the screen (the CPU does not do this).

The "OAM sheets" are called that because of OAM being used to control them - but they're loaded into VRAM, like any other image data. They're designed to just get dumped straight into VRAM (via a BIOS routine "LZ77UnCompVram" that decompresses LZ77 data directly to VRAM - this actually needs a separate routine from the one that decompresses into IRAM or WRAM, and can't just use a different pointer, because VRAM is designed to be written to 16 bits at a time and the LZ77 format is fundamentally 8-bit) at a convenient address, and then the animation code in game just assumes they're there. Most of the data in the compiled "animation script" is actually designed to be copied directly into "slots" in the OAM, IIRC.

Edited by zahlman
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...