Author Topic: Pointers for tiles  (Read 4152 times)

justin3009

  • Fan Project Leader
  • God of War (+3000)
  • *
  • Posts: 3296
    • View Profile
Pointers for tiles
« on: May 28, 2007, 11:04:54 pm »
Ok, I had to look up my first thread on Compendium to figure out how to get overworld sprites working without corruption but how did you know how and where to put the stuff?

Quote
2. The second option is to change the pointer in a hex editor, and the location you recompress to to match it.  This puts the file in an area with more free space.  This requires knowledge of SNES pointers, but here's a working example you can use:

In a hex editor go to offset 06FDF0.  You will see the following 3 bytes: 569AC5  Replace that with A0DFDC.  When you recompress, instead of 059A56 enter 1CDFA0.

1) How did you know the pointer was 06FDF0? (er nvm, figured that one out...But let me rephrase this.  How do you find the pointers for Tilesets exactly without doing the whole Trial and Error 1000 times >_>)
2) How did you know what to replace it with?  I really don't understand how you can figure what bytes you put the stuff in and where you find them.

That is all ><
« Last Edit: May 28, 2007, 11:06:51 pm by justin3009 »

Vehek

  • Errare Explorer (+1500)
  • *
  • Posts: 1761
    • View Profile
Re: Pointers for tiles
« Reply #1 on: May 28, 2007, 11:33:53 pm »
1. I know you're talking to JLukas, but which type of tiles are you talking about?


2.
A0 DF DC. Reverse that to DCDFA0. That's the SNES address, and the standard hex address is 1CDFA0.
Do you understand fully how these pointers work?

justin3009

  • Fan Project Leader
  • God of War (+3000)
  • *
  • Posts: 3296
    • View Profile
Re: Pointers for tiles
« Reply #2 on: May 28, 2007, 11:48:47 pm »
1) I was wondering about any tiles.  Cause apparently i'm going to have to be doing this alot if I don't want to corrupt anything

2) I think so, but would the standard hex address always start with a 1?  Or would it change depending on the object your working with.

Edit: For example, if I wanted to change blackbird tiles.  Since I already put the new OVerworld sprites in 1CDFA0 and they're 2000 bytes, would the next one be 1CFFA0?  Then would the hex bytes be A0 FF C0 or something?  Not sure if the last bit is 0.
« Last Edit: May 28, 2007, 11:52:26 pm by justin3009 »

Vehek

  • Errare Explorer (+1500)
  • *
  • Posts: 1761
    • View Profile
Re: Pointers for tiles
« Reply #3 on: May 29, 2007, 12:00:06 am »
For pointers with DX, you replace the D with a 1 (making it 1X for the first 2 bytes of the hex address). For CX, replace the C with 0. For EX, it's 2. And for FX, 3.

justin3009

  • Fan Project Leader
  • God of War (+3000)
  • *
  • Posts: 3296
    • View Profile
Re: Pointers for tiles
« Reply #4 on: May 29, 2007, 12:02:37 am »
I see so it would be A0 FD C0 correct?  Unless I misinterpreted the answer.

Vehek

  • Errare Explorer (+1500)
  • *
  • Posts: 1761
    • View Profile
Re: Pointers for tiles
« Reply #5 on: May 29, 2007, 12:41:13 am »
Only if 0CFDA0 is unused space (which it isn't.)
Check the offsets guide for other areas of unused space. For example, 24CC60, would be 60 CC E4 in pointer form.

justin3009

  • Fan Project Leader
  • God of War (+3000)
  • *
  • Posts: 3296
    • View Profile
Re: Pointers for tiles
« Reply #6 on: June 12, 2007, 11:37:12 am »
Ok, I was wondering about this whole thing of it "Not being empty space"

1CDFA0   1CFFFF   ---   No   No   UNUSED SPACE (8288 bytes)   6/23/2003

Overworld sprites are 2000 Bytes.  So that leaves 6288 bytes wide open for other stuff.  So wouldn't you add 2000 to 1CDFA0 and end up with 1CFFA0?...Ok, i'm looking at this but it doesn't seem like it'd fit right.  Since that only gives it like 50 bytes for space but =/...Wouldn't it have over 6000 free bytes for other stuff?

1B7FF5   1BFFFF   ---   No   No   UNUSED SPACE (32779 bytes)   7/10/2003

Same goes for this one.  What if I threw the overworld graphics in here then added 2000 = 1B9FF5.  That still leaves a crap load of room so would I reverse that and get F5F9B1?

Vehek

  • Errare Explorer (+1500)
  • *
  • Posts: 1761
    • View Profile
Re: Pointers for tiles
« Reply #7 on: June 12, 2007, 05:35:08 pm »
Don't take "reverse" so literally. What I was talking about was reversing the order of the three parts of the offset.
Same goes for this one.  What if I threw the overworld graphics in here then added 2000 = 1B9FF5.  That still leaves a crap load of room so would I reverse that and get F5F9B1?
It would be F5 9F DB.

justin3009

  • Fan Project Leader
  • God of War (+3000)
  • *
  • Posts: 3296
    • View Profile
Re: Pointers for tiles
« Reply #8 on: June 15, 2007, 10:43:12 am »
One last thing.  Ok, for the Pointer of the tiles in the Translhextion, Blackbird 1 was 362406-362408, and then Blackbird 2 was 362409-36240B.  I thought that 36240C-36240E would be Blackbird 3 but apparently I was wrong.  The next two after Blackbird 2 are the outside of the Black Omen.  Wouldn't 3,4 be with the first part?  Or are they actually part of like the Factory Ruins or something.

Edit: There's a picture of Blackbird 4 or w/e.  I put some plants in there for testing.

[attachment deleted by admin]
« Last Edit: June 15, 2007, 10:45:40 am by justin3009 »

Vehek

  • Errare Explorer (+1500)
  • *
  • Posts: 1761
    • View Profile
Re: Pointers for tiles
« Reply #9 on: June 15, 2007, 11:30:01 am »
Well, I won't be here most of today and tomorrow, but I'll try to help again.
Quote
361C00   361DFF   DATA   N   "Location Tilesets, 8 bytes each, determines which ""packets"" of graphics are used for each location"   2003.11.13

You can use this offset to help determine what tiles are used by the tileset.
The Blackbird inside uses tiles A2, A3, AC, and then 3 FF's.

justin3009

  • Fan Project Leader
  • God of War (+3000)
  • *
  • Posts: 3296
    • View Profile
Re: Pointers for tiles
« Reply #10 on: June 15, 2007, 05:57:41 pm »
Wow i'm such a frikin retard.

2C9C7F - Black Bird
2CA8B4 - Black Bird
2FC1D3 - Black Bird
259597 - Black Bird

It finally hit me to find the stuff.  You reverse the data and look for it.  So Black bird 4 was 97 95 E5!  I looked that up and BAM there it was.  I can't believe how frikin retarded I was XD!
« Last Edit: June 24, 2007, 01:20:45 pm by justin3009 »

justin3009

  • Fan Project Leader
  • God of War (+3000)
  • *
  • Posts: 3296
    • View Profile
Re: Pointers for tiles
« Reply #11 on: June 24, 2007, 01:24:47 pm »
048C47 - How would you go up and changing this?  47 8C then what?...C = 0 D = 1 E = 2 F = 3... ? = 4?  I thought it'd be 47 8C 4C then i tried 47 8C C4 and that didn't work either so i'm lost.


Edit: nvm...NOW ITS WORKING XD!  47 8C C4 was it...Strange how it didn't work before =/
« Last Edit: June 24, 2007, 01:28:17 pm by justin3009 »