Jump to content

Map Sprite Problems


hee
 Share

Recommended Posts

I've inserted a map sprite, using a tutorial on the forums...

However, whenever it plays, it causes the game to crash, playing a high pitched note.

This occurs with both the standing animation and the animated animation (weird wording)

I'm also sure that it's a problem with the animation itself, as using other animations with the affected class (E.G. Eliwood animations) it works fine.

Knowing such, I've tried inserting compressed and uncompressed bitmaps (of the same sprite) - there being practically no difference. Both crash in the same way. Another thing to note is that the standing animation is 32x32. Anyone know what could be the problem?

Link to comment
Share on other sites

1. Ripped sprite (Standing and Animated) from other game (GBA Game) as a compressed bitmap with GBAGE

2. Used GBAGE to import standing bitmap to DA0000, no palette

3. Found that bitmap took from DA0000 - DA05FF

4. Used GBAGE to import animated bitmap to DA0600, no palette

5. Opened Nightmare, opened Misc. Map Sprite and Standing Map Sprite modules

NOTE - I did NOT expand these tables, because afaik there's a bit of free space after them, which could be problematic - but I don't think I rewrote any important data because everything seemed to work other than these characters' animations

6. Navigated to class 0x64 in Misc. Map Sprite Editor(the class I was working on was actually 0x65, but for some reason the one after Empty 4 was 0x64 instead of 0x65 like it is in the Class Editor module, so I just went with that one after Empty 4 - just to be sure I put the same data into 0x65 (which would seem to reference 0x66 in the Class Module)

7. Put 0DA0600 in both Graphics and Animation pointers (After the crash, I put 00000000 in the Animation pointer, to no avail)

8. Put 0DA0000 in the Standard Map Sprite module under entry 0x60

9. Navigated to class 0x65 in the Class Animation module and set it to play animation 0x60

I did the same steps with uncompressed graphics. Standing took from 0DA0000-0DA0FFF and Animated took from 0DA1000-0DA1FFF, so I modified the above pointers in Nightmare as necessary, but it did not work.

Link to comment
Share on other sites

dummy test: did you ever have nightmare and gbage open at the same time?

check some other map sprites and see if they're compressed as well (if they are, yours should be, etc)

E:

when you export, you're getting a nice bitmap with proper-looking graphics instead of just garbage data, right?

Edited by CT075
Link to comment
Share on other sites

Other map sprites appear to be "uncompressed" in a way - checking "Compressed" obviously makes them compressed and "legible". However, if I insert a compressed bitmap, then the Compressed graphics checkbox is greyed out, as if the image was not able to be compressed or uncompressed.

When I export bitmaps with Compressed checked, then yes, I do get nice and proper-looking graphics.

I don't think I had Nightmare and GBAGE open at the same time. In any case, checking them now shows that both have been modified (so I doubt that I had any derps with the changes not being saved)

Edited by hee
Link to comment
Share on other sites

forgive me if this is unnecessary but i feel like you're using words in ways that they're not meant to be used (or in contexts in which they don't make sense) so i'm going to dump a quick and dirty explanation of how GBAGE works

there isn't actually any such thing as a "compressed bitmap" in the sense that you're using it; a bitmap is a bitmap and unless you're inserting jpgs (which i certainly hope you aren't), there's no compression involved

if you see garbage data and "compressed graphics" is available, that means that gbage is finding a file header that corresponds to some amount of compressed data in the current viewing window. before you tick "compressed", what you're seeing is a graphical interpretation of the compressed data, that is, nothing in particular. when you tick the box and the garbage normalizes to something viewable, that's GBAGE taking the data and locally decompressing it in program memory, then displaying a graphical interpretation of whatever comes out. In most cases, that'll be something nice looking.

when you reinsert to GBAGE, if the "compressed graphics" box is ticked, it first compresses the graphics you're inserting, then writes the resulting data to the given location. I actually dislike the way nintenlord did this part of the program, in that you need to be viewing compressed data before you can insert compressed data, but them's the pits I suppose.

Here's what you're going to want to do -

First, extract the bitmap of the map sprite you want. This should be the nice-looking one that isn't just random pixels.

Next, open GBAGE and navigate to some other map sprite you want to use (this is important). Check the compressed graphic box so it displays nicely, and leave it checked.

From that window (without changing the offset box), insert your nicely formatted map sprites - in the "insert" dialogue there should be another box where you can specify a write-to address

My guess is that when you're inserting things, it's trying to interpret raw bitmap data as compressed data, which screws up the decomp routine

Edited by CT075
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...