+  RHDN Forum Archive
|-+  Romhacking
| |-+  ROM Hacking Discussion
| | |-+  Fonts compressed? (SNES Silva saga 2 and GD Leen)
Pages: 1 [2]
Author Topic: Fonts compressed? (SNES Silva saga 2 and GD Leen)  (Read 2 times)
RedComet
Guest
« Reply #15 on: September 07, 2008, 07:09:35 pm »

Quote from: Bongo` on September 07, 2008, 06:21:58 pm
Quote from: RedComet on September 07, 2008, 06:14:20 pm
Ugh. Writing a recompressor is evil work. Only Satan can do it and produce a program that actually compresses instead of inflating the size of the data.


 I'm not satan!!! I've actually wrote utils that recompressed the same data BETTER! I thought is was
broken code until I decompresed what I recompressed both in game and my util. Smiley

This proves you're Satan! Tongue

Seriously, care to post an example (preferably using a form of LZ)? I've never been able to recompress data and actually *compress* it.
Bongo`
Guest
« Reply #16 on: September 07, 2008, 09:26:46 pm »

Quote from: RedComet on September 07, 2008, 07:09:35 pm
Quote from: Bongo` on September 07, 2008, 06:21:58 pm
Quote from: RedComet on September 07, 2008, 06:14:20 pm
Ugh. Writing a recompressor is evil work. Only Satan can do it and produce a program that actually compresses instead of inflating the size of the data.


 I'm not satan!!! I've actually wrote utils that recompressed the same data BETTER! I thought is was
broken code until I decompresed what I recompressed both in game and my util. Smiley

This proves you're Satan! Tongue

Seriously, care to post an example (preferably using a form of LZ)? I've never been able to recompress data and actually *compress* it.

  Example?? How about the actual code I used for GD Leen! I cleaned the code a bit but have not
run a test for the inserter. It should work though. Here is the file...

Click me for a good time.  :woot!:
Have fun!!!
FlashPV
Guest
« Reply #17 on: September 08, 2008, 04:03:48 am »

BahaBulle from our (french) forum has done a compressor for Silva Saga 2:
http://www.bessab.com/viewtopic.php?f=1&t=3018
Bongo`
Guest
« Reply #18 on: September 08, 2008, 09:59:30 pm »

Quote from: FlashPV on September 08, 2008, 04:03:48 am
BahaBulle from our (french) forum has done a compressor for Silva Saga 2:
http://www.bessab.com/viewtopic.php?f=1&t=3018

So have I.



And a Variable Width Font...

  ...Years ago at that, but the game is made for someone who does not
mind the tedious work or who has at least a patient translator and time.  :banghead:
Bongo`
Guest
« Reply #19 on: September 10, 2008, 05:58:15 pm »

Quote from: RedComet on September 07, 2008, 07:09:35 pm
Quote from: Bongo` on September 07, 2008, 06:21:58 pm
Quote from: RedComet on September 07, 2008, 06:14:20 pm
Ugh. Writing a recompressor is evil work. Only Satan can do it and produce a program that actually compresses instead of inflating the size of the data.


 I'm not satan!!! I've actually wrote utils that recompressed the same data BETTER! I thought is was
broken code until I decompresed what I recompressed both in game and my util. Smiley

 Did you undersatnd the code I posted for you?

This proves you're Satan! Tongue

Seriously, care to post an example (preferably using a form of LZ)? I've never been able to recompress data and actually *compress* it.
andwhyisit
Guest
« Reply #20 on: September 10, 2008, 07:11:46 pm »

I am hacking a game that has two sets of fonts: one compressed (menus) and one uncompressed (everything else). Is it easy or hard to get the game to use the uncompressed font for menus instead of the compressed font? Or is uncompressing the compressed font easier. (this is a gbc game btw)
Nightcrawler
Guest
« Reply #21 on: September 11, 2008, 10:38:55 am »

It can be easy, or it can be a bit of a pain.

1. When menus are on screen is the uncompressed font also in VRAM? If it isn't, you'll have to do a hack to make it so.
2. Are the tables for the uncompressed and compressed font the same? If not, you'll have to rectify that situation or store your font to match.
3. I assume for GBC, they're both tile map based font routines (all letters stored in VRAM and font routine just writes to the tile map.) If you have a situation where one font routine is dynamic (draws characters in VRAM on demand) and one is tile map based, that's potentially going to complicate matters.

You may have none of those issues and it will be a breeze. or you may have all of them and it will be more difficult. Though this hack in general is one of probably only medium difficulty even with all three problems present.

Basically, you need to make have the uncompressed font in VRAM when menus are displayed and modify the font routine to use that data correctly if it doesn't already by default. This will probably involve minor ASM work.
KingMike
Guest
« Reply #22 on: September 11, 2008, 03:30:23 pm »

I'm not sure why you bring up GBC, but unless it's a full-screen menu, GB/C is likely to draw the tiles it needs into VRAM, since there's so little room (only 384 tiles available (128 for GB, 128 for sprites, and 128 of shared tiles), less than even NES (256 BG, 256 sprite)). Not sure if GBC can do midframe VRAM bankswaps.
andwhyisit
Guest
« Reply #23 on: September 11, 2008, 06:51:54 pm »

Quote from: Nightcrawler on September 11, 2008, 10:38:55 am
1. When menus are on screen is the uncompressed font also in VRAM? If it isn't, you'll have to do a hack to make it so.
Only the compressed ones as I remember but I'll check again just to be sure.

Quote from: Nightcrawler on September 11, 2008, 10:38:55 am
2. Are the tables for the uncompressed and compressed font the same? If not, you'll have to rectify that situation or store your font to match.
Haven't checked this yet.

Quote from: Nightcrawler on September 11, 2008, 10:38:55 am
Basically, you need to make have the uncompressed font in VRAM when menus are displayed and modify the font routine to use that data correctly if it doesn't already by default. This will probably involve minor ASM work.
Fair enough. Now all I need is to get back to learning assembly so that I can do this stuff. Curse my laziness.
Pages: 1 [2]  


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