Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - mav

Pages: 1 2 3 4 5 6 [7] 8 9 10 11
151
FF8 Tools / New FF8 Tools: Archiver and TEX Converter
« on: 2004-09-13 05:16:18 »
It does handle 16-bit files by now :).

152
Scripting and Reverse Engineering / M4v3R plz come here
« on: 2004-09-07 09:50:46 »
Hm.. I see... But, as you can see, all the windows you found correspond to the same dialog - 7th (because there is '40 00 06' there). In this location there are only two dialogs used - C'mon newcomer and Receiver "Potion". I don't really know why there are so many window definitions for "Potion", while there are only two used in game.

153
Scripting and Reverse Engineering / 16 bit textures
« on: 2004-09-06 16:56:02 »
Yes, it's functional (sorry for long respond, I've been on vacation). You can find it on my page (www button :)).

154
Scripting and Reverse Engineering / FF8 CDs
« on: 2004-08-20 13:54:02 »
But how do you explain that CD1 is working, if it's written in the exact same way like CD2 ?

155
Scripting and Reverse Engineering / 16 bit textures
« on: 2004-08-20 13:52:28 »
Guys, guys, don't argue :). Problem is over, solution is above, so there's no need to argue ;).

156
Scripting and Reverse Engineering / FF8 CDs
« on: 2004-08-19 21:00:30 »
I don't want no-cd crack, because I don't want to copy movies to hard drive. I wan't to make game run from any CD that contains nessesary data (movies).

157
Scripting and Reverse Engineering / 16 bit textures
« on: 2004-08-19 10:29:17 »
Please write some comment it you've been there, you  can do it on main page.

158
Scripting and Reverse Engineering / 16 bit textures
« on: 2004-08-19 09:59:32 »
I ended up with this code:

Code: [Select]
       texfs.Read(kolor, sizeof(kolor));
        r := (kolor and $7C00) shr 10;
        g := (kolor and $3E0) shr 5;
        b := (kolor and $1F);
        r := Round(r * (255 / 31));
        g := Round(g * (255 / 31));
        b := Round(b * (255 / 31));
        destfs.Write(r, sizeof(r));
        destfs.Write(g, sizeof(g));
        destfs.Write(b, sizeof(b));


And it seems to be working fine :). Thank you guys. You can find program on my new site.

Link: MaV's Page

159
Scripting and Reverse Engineering / FF8 CDs
« on: 2004-08-19 08:52:17 »
No, we tried to name (label) disk's diffrent, game seems not reading this.

Saves don't work = "Wrong Disk" pic.

160
Scripting and Reverse Engineering / FF8 CDs
« on: 2004-08-19 08:47:05 »
I thought so, but maybe there is a way to avoid this check ? It'll need some good cracking skills though...

161
Scripting and Reverse Engineering / 16 bit textures
« on: 2004-08-19 08:34:43 »
I did it! :D

But, here's another problem: Now I want to do whole proccess backwards, so I can convert BMP to TEX. I have 3 color values: r,g and b. How can I make 2 byte 15 bit color from them ? :P

162
Scripting and Reverse Engineering / 16 bit textures
« on: 2004-08-19 08:04:14 »
Now I get it, thanks ;).

I'm using Delphi v7 Personal Enterprise, about 160 Megs, works well :).

163
Scripting and Reverse Engineering / 16 bit textures
« on: 2004-08-19 07:51:19 »
I downloaded an addon for Delphi called Castalia 2 yesterday. It's great because it helps you write code while you're writing it, and not as default - when you compile it. For example:



Normally you don't see these colour lines, but they help.

Link: Castalia 2.5

Btw: I didn't even bother what means signed and unsigned, but I see this is some important stuff... Can someone explain this to me ?

164
Scripting and Reverse Engineering / 16 bit textures
« on: 2004-08-19 07:37:24 »
It works :o.
Thanks fuchisquatch :).

Code: [Select]
procedure TForm1.Button1Click(Sender: TObject);
var rgb: word;
r,g,b: byte;
fs: tfilestream;
begin
  rgb := $6339;
  r := (rgb and $7C00) shr 10;
  g := (rgb and $3E0) shr 5;
  b := (rgb and $1F);
  r := Round(r * (255 / 31));
  g := Round(g * (255 / 31));
  b := Round(b * (255 / 31));
  fs := tfilestream.Create('test', fmCreate);
  fs.Write(b, sizeof(b));
  fs.Write(g, sizeof(g));
  fs.Write(r, sizeof(r));
end;


*runs Delphi*
Now I can implement this to my prog :).

165
Scripting and Reverse Engineering / 16 bit textures
« on: 2004-08-18 18:22:47 »
Mirex, can't you post source code from Biturn that handles conversion of 16 bit TEX files to BMP ?

166
Scripting and Reverse Engineering / 16 bit textures
« on: 2004-08-18 08:58:28 »
Yep, dark colors would be lighter.

167
Scripting and Reverse Engineering / 16 bit textures
« on: 2004-08-18 08:51:38 »
In Biturn, when you preview TEX file and then BMP file, you can notice brightness change. It's weird because Biturn produces files with GOOD colors, only in preview mode you can see that issue.

Links: TEX file under Biturn, BMP file under Biturn

168
Scripting and Reverse Engineering / FF8 CDs
« on: 2004-08-18 07:19:54 »
Hm... yes, I'm talking about PC version, sorry.
In theory, game should recognize that prepared CD as CD1 AND CD2. CD Label doesn't have a meaning here (tested). But in practise, I think game has some protection. Unfortunetly I don't know much about cracking so I can't trace it. But I saw someone did this to FF7, maybe he would help.
Oh, I can send you some saves if you want.

169
Scripting and Reverse Engineering / 16 bit textures
« on: 2004-08-18 07:15:09 »
And what about white colour ?
31 * 8 = 248 = F8.
So with this type of conversion you can't get pure white ? But I saw FF FF FF pixels in bmp that Texture Beast created :).
Your program creates good files too.

Cyb: Texture Beast is a program to convert some formats to others, made by Alhexx. You can find it on his site.

170
Scripting and Reverse Engineering / FF8 CDs
« on: 2004-08-17 21:45:01 »
Ok, so FF8 has 5 CDs and this sucks. My friend got an idea - if you do full install, Field.fs file which is on every CD is copied on Hard Drive and never used from CD. Movies (.pak files) vary from 200-400, so you can burn 2 of them on one CD. He ended with this:

Install disk: standard as it was

Disk 1:
Code: [Select]
Disc1.pak
Disc2.pak
Disk1
Disk2


Disk 2:
Code: [Select]
Disc3.pak
Disc4.pak
Disk3
Disk4


Disk1-4 are the same files, they contain 0D0Ah.

And now the weird part: He runs up the game, loads save state from CD1, it works. Now he loads save state from CD2 and it doesn't work. Now, he deletes Disk1 from CD and guess what - save state from CD2 works, CD1 obviously not.

We try further - open FF8.exe in hex-editor, go to offset 0x791F2Bh where you can see:

Code: [Select]
DISK1   DISK2   DISK3   DISK4

He changed DISK2 to DISK1, deleted DISK2 from CD and put DISK1. So now on the CD there was three files - two pak files and DISK1 id file. Situation was same as above - save state from CD1 worked, CD2 did not.

Do any of you have an idea how to get it work ?

171
Scripting and Reverse Engineering / 16 bit textures
« on: 2004-08-17 21:04:00 »
I think Alhexx would help here, he writed Texture Beast so he knows this for sure. Alhexx, where are you ? :).

172
Scripting and Reverse Engineering / 16 bit textures
« on: 2004-08-17 20:56:03 »
Nope, there's only raw data there. Here are example files: TEX file, BMP File

173
Scripting and Reverse Engineering / 16 bit textures
« on: 2004-08-17 20:46:17 »
In files that Texture Beast creates, there's no pallete. And for example, colors represented in tex as:
Code: [Select]
FF 7F

In BMP file that the program creates are:
Code: [Select]
FF FF FF

And so on...

174
Archive / New FF7 Tool: Scene Reader
« on: 2004-08-17 19:28:03 »
This format is easy, you just need to shift every byte by 20h, eg. if you have letter 'a' which is 61h, you must write 41h. The same goes for special characters too.

175
Scripting and Reverse Engineering / 16 bit textures
« on: 2004-08-17 18:16:09 »
'>>' means bit shift ? In delphi, there's shr command for this I think. Thanks for responce, I'll try this.

Edit: Actually, the unused bit is last, but first one, so binary values must be diffrent, already got that trick.
But now, how to convert it to 16-bit BMP format, which uses 3 bytes to describe one pixel ? Each of these colors is an integer in range 0..31, and in BMP file each color has 0..255. How to convert it ? Multiplying by 8 gives a 248 max value (or 8 minimal value).

Pages: 1 2 3 4 5 6 [7] 8 9 10 11