+  RHDN Forum Archive
|-+  Romhacking
| |-+  ROM Hacking Discussion
| | |-+  Wierd pointer system..?
Pages: [1]
Author Topic: Wierd pointer system..?  (Read 670 times)
o_manko
Guest
« on: July 23, 2007, 12:22:08 am »

Okay so in my hacking of Captain Tsubasa for Nintendo I have encounter a weird pointer/string termination combo and I was wondering if anyone had come across anything similar...

#FF = End Text
#F9 = String End
#3X = Pointer for the next string

So like the text bubble would appear as

 Nishi doesn't#F9#33
 have a star on#F9#35
 their team...FF

But if you had it like this...

 Nishi doesn't#F9#37
     have a star on#F9#33
their team...FF

Anyone seen anything like this. Also the school names are called by a control code... Just wondering if anyone has seen anything similar cuz I find it a bit strange even though it makes sense... Gives me lots of room for moving around text though Smiley
RedComet
Guest
« Reply #1 on: July 23, 2007, 12:39:20 am »

Quote from: o_manko on July 23, 2007, 12:22:08 am
Anyone seen anything like this. Also the school names are called by a control code... Just wondering if anyone has seen anything similar cuz I find it a bit strange even though it makes sense... Gives me lots of room for moving around text though Smiley

I didn't understand the rest of your post, but this is a pretty common space saving technique. It's called MTE (mult-tile encoding) or Dictionary encoding.
o_manko
Guest
« Reply #2 on: July 23, 2007, 07:57:01 am »

I know about the MTE, it's the other one. I have never seen it before out of maybe 50 or so games I have looked at, this is the only time I have seen this kind of system.


so the #3X number writes the upcoming string at a certain starting point. Bah it's weird to explain, maybe I'll upload some pics after dinner...
RedComet
Guest
« Reply #3 on: July 23, 2007, 11:32:58 am »

Dictionary and MTE are the same thing. Tongue
Kitsune Sniper
Guest
« Reply #4 on: July 23, 2007, 12:37:04 pm »

Looks to me like the 3x code is telling the game where to begin drawing the next line. So 30 would start at the very first 8x8 block, 31 would start one space to the right, and so forth, right?
o_manko
Guest
« Reply #5 on: July 23, 2007, 08:10:00 pm »

Yes exactly my furry friend!

So it seems like it has a control code at the beginning of each string that acts like the pointer. Which is why I found it odd and was wondering if anyone had seen this before....
Kitsune Sniper
Guest
« Reply #6 on: July 23, 2007, 08:17:10 pm »

Quote from: o_manko on July 23, 2007, 08:10:00 pm
Yes exactly my furry friend!

So it seems like it has a control code at the beginning of each string that acts like the pointer. Which is why I found it odd and was wondering if anyone had seen this before....
That's not a pointer. :p

It only tells the game where to draw the text. I've seen this in some games. They use this to place tiles in different spots, and I've mostly seen them on title screens.

This really shouldn't affect the text at all. At least you can indent stuff without using padding.
o_manko
Guest
« Reply #7 on: July 23, 2007, 09:42:34 pm »

ya i figured as much, but i was just curious if anyone had seen it used on actual in game text. i still kinda find it weird...
DaMarsMan
Guest
« Reply #8 on: July 23, 2007, 10:06:52 pm »

Quote from: RedComet on July 23, 2007, 11:32:58 am
Dictionary and MTE are the same thing. Tongue

Yes but Dictionary usually refers to fixed length entrys while MTE can have a pointer table for the etries or an end byte for each entry.
Nightcrawler
Guest
« Reply #9 on: July 24, 2007, 08:14:10 am »

Quote from: DaMarsMan on July 23, 2007, 10:06:52 pm
Quote from: RedComet on July 23, 2007, 11:32:58 am
Dictionary and MTE are the same thing. Tongue

Yes but Dictionary usually refers to fixed length entrys while MTE can have a pointer table for the etries or an end byte for each entry.

Based on what? I disagree. Dictionary is just that, a dictionary. A collection of varying length words or characters. The very definition of the word suggests this.

In fact, I think MTE may be just a made up BS term by hackers. I couldn't find any roots for this in the real world.

In conclusion, there are the same thing, but there are no rules for implementation and that will vary considerably.
Jigglysaint
Guest
« Reply #10 on: July 25, 2007, 11:37:52 pm »

For table files, it's quite possible to attribute either one letter to more than one byte, and possible to attribute a string of characters to one byte.  I know everybody should know this, but just my two cents, and also would make dictonary encoding much easier to hack.
Pages: [1]  


Powered by SMF 1.1.4 | SMF © 2006-2007, Simple Machines LLC