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 - Akari

Pages: 1 ... 28 29 [30] 31
726
Scripting and Reverse Engineering / Xenogears 3d model.
« on: 2005-12-29 19:12:33 »
Thanks to all of you =)

I updated xeno-gears with info about hrc of model and small part of animation data.

727
Scripting and Reverse Engineering / Xenogears 3d model.
« on: 2005-12-29 12:53:59 »
Quote from: Otokoshi
Were these put into that engine you were working on?


Yes of course. I'm rewriting all my previous classes for the new engine. Just one left though (2d sprites)  8)

728
Scripting and Reverse Engineering / Xenogears 3d model.
« on: 2005-12-27 19:45:30 »
Just few hours since I port my class to work with model animation to new engine a finally understand how to read first frame. I need some time to document all info I knew. So wait a little longer. Just want to share my happyness. Here just few pictures. (Yea, I love to post images  8) )





729
I'm still not finished it yet. It's just a scetch for real engine. When I create all parts I start to polish them to work correctly with exeptions and so on.

I just want to all of you to start work together on engine that everyone talk about and hope that thic code might give push to all of you to start writing   8)  8)  8)

730
Hello to everyone. I was missing for almost two weeks. I am writing framework (or engine) for xenogears. I could not recreate complete game but it will be easier to work with this framework. Maybe sometimes it will grow for complete engine.

While I working I has thoughts. If we create single framework for all square application and each one write classes to work with data that we already know, it will be easier to create whole engine when we could. We can have part that are the same for all games and the part that work with game specific data. In that case all work will be gathered together and everyone can easily use it.

Here it is http://server.titansoft.ru/akari/xenogears/engine.rar. Please look at this and give your comments. It will be great if we could use all that I already done and develop it further.

Now I create openGL/sdl render (there can be d3d if someone write it), abstraction to work with real file system (right now it platform specific (win32)), class to work with game file system (bin image in real) and few classes to work with xenogears game data (archives, packs and 3d files). Now I'm working on input interface.

You could run this if you have Xenogears game. Just create image (bin/cue) and write path to it in config file.

731
Archive / Final Fantasy VII-2 project
« on: 2005-12-01 00:16:56 »
Quote from: Borman
Gotta love how everyone assumes RPG Maker is a free program. Damn piraters ruining the chances of a real english version o-o


That pirat was a young man (24 years old) who want to play the game on understandable language. He wrote many petitions, a lot of letters to them, but they say the usual staff - "english spoken people doesnt understand that game, so dont bother any more, we never translate the game." Than he just get japanese copy of the game, translate it by himself, and put it to the internet. Unexpectadly game get tremendous popularity, and ASCII send to him letter that they want (I may be wrong, but something about this) $150 000 for english localisation. Of course he didnt have that money. So he refuse to pay ^_^

ps: Namco suffers the same stupidity. They didn't want to translate Tales of Phantasia because they think it will not fit for bakagaizins. =) They just lower their own profit, because of Dejap translation.

732
Scripting and Reverse Engineering / Xeno-gears
« on: 2005-11-21 18:58:55 »
A lot of new info about content of different directories. The info was shared to me by group of hackers that translate this game to Italian. The credits are in xenogears now

XENO-GEARS

733
No prob. I just thought it would be easier to understand them that way.

ps: you could delete two our last posts.

734
Well, the 3d reader class are almost complete. I think it will help if I put it here =)

http://server.titansoft.ru/akari/xenogears/xeno_class.zip

It works with everything exept transparency  :-?

I even found two test battle backgrounds. They are consists only from monochrome polygons =)



This class works even with 3d fields models that are in directory 12. I tested it few minutes ago and all of them are seems to be displayed correctly.





I just move each 3d block with glTranslatef(800.0f, 0.0f, 0.0f); You dont need to do this with battle backgrounds.

735
Scripting and Reverse Engineering / Xeno-gears
« on: 2005-11-19 15:41:33 »
2Micky: Sorry, I didn't has time this week as I got new job =) I'm game beta-tester right now.Maybe next year I could get job of a game programmer in the same company  8)

Well anyway. Xenogears was added with some new info about 2d sprites and 3d backgrounds. Now almost all of them displayed correctly. The only thing I need to find now Its where semi-transparency are set. The two hardest background are now all clear. Some time soon I'll write a viewer with usual GUI (I think I use QT for that) and switch to the 3d enemies that share the same 3d format. Although a background image and skies that almost all the background has are not understanded yet =) It seems that they are in the second file. (textures for them are in the first file)

tho hardest battle backgrounds are


736
Well, I want to work a little more on it, but I'll do it later, perhaps after enemy 3d models or when I tired of 3d as it was that time   :wicked:

Anyway I write all info I knew about 2d sprites in Xeno Gears. Look through it  :)  Maybe you will want to investigate this format a little farer than I am  :D

As farewell gift I made this  :wink:  

737


The frame are already mine =) I just put them together to get the animated gif. Now I need to understand the animation format itself =)

738
Scripting and Reverse Engineering / Xeno-gears
« on: 2005-11-12 12:07:28 »
Quote from: Micky
Thanks. It looks like I wasn't skipping the 8 byte for the CD-XA header correctly, which messed up my whole image file ....

Did you notice, if you interpret the directory size as a negative number it sometimes matches the number of files in it?


I read disk with winhex, it has option row disk access or not, so for the first time I access files by saving them from this utilite =)
It's much easier.

I check first five directory... so its
from_file/real number of file
16/20
5/6
5/12
48/49
6/7

Well even if it is number of files its very strange number of files =)
But it always less than real number of files... hmmm

739
Scripting and Reverse Engineering / Xeno-gears
« on: 2005-11-12 03:02:51 »
Quote from: Micky
I tried to decode the file table from an image of my NTSC U/C version and so far didn't get very far. How do the first few entries look like in your version?


I own English, Japanese and Russian version of the game. And all of them has first file starting from 24sector and lasts till the 40sector.

The beginning of that file looks like

Code: [Select]
Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F

0000C000   29 00 00 EF FF FF FF 29  00 00 00 F2 1B 00 39 03
0000C010   00 00 4D 8A 00 61 12 00  00 99 84 00 E9 20 00 C0
0000C020   BE 5D 00 2F 2B 00 00 BF  CA 00 67 41 00 00 DB DB
0000C030   00 7F 59 00 C0 00 6C 00  55 65 00 00 41 7D 01 1D  
0000C040   8F 00 00 CE 3E 01 0D B2  00 00 58 BD 00 CD C6 00
0000C050   00 57 2D 00 C5 CB 00 00  13 23 00 9D CF 00 00 13


I used this function to parse this file

Code: [Select]
extract(char *filename)
{
    unsigned long start_sector, file_size;
    unsigned char start[3], size[4];
    char numero[10];
    // first directory number 0
    int directory_number = 0;

    // create file with cd file index
    create_index_file();

    index_file = fopen("index_cd.bin", "rb");

    for (i = 0; ; i++)
    {
        file_position = fread(start, 1, 3, index_file);
        file_position = fread(size, 1, 4, index_file);

        // reverse bytes order (low endian)
        start_sector = start[0] | (start[1] << 8) | (start[2] << 16);
        file_size = size[0] | (size[1] << 8) | (size[2] << 16) | (size[3] << 24);

        // end of file
        if (file_size == 0x00ffffff)
        {
            break;
        }
        if (start_sector == 0 && file_size > 0)
        {
            filename[9] = 0;
        }
        // directory
        if (file_size > 0xff000000)
        {
            // create directory name (name - number of directory)
            filename[9] = 0;
            sprintf(numero, "%d", directory_number++);
            strcat(filename, numero);
            strcat(filename, "\\");
            mkdir(filename);
        }
        // file
        if (start_sector != 0 && file_size < 0xff000000 && file_size > 0)
        {
            printf("file number %d, size: 0x%x byte - ", i, file_size);
            parse_file(start_sector, file_size, i, filename);
        }
    }
}


I hope it helps.

740
Little info about enemy 2d sprites. My guessing was true. It's really in directory 16, like I mentioned in Xeno-gears. the format of tiles themself are 4bpp tim. I need more time to look at animation, it's the only way to correct display it, because most of sprites are divided into too small pieces.





741
Scripting and Reverse Engineering / Xeno-gears
« on: 2005-11-11 02:53:08 »
Quote from: Cyberman
It was also a incomplete release but pruned considerably more than FF7's very minor removals.


Hmm =) I'll add your description to introduction.

Quote from: Micky
Does anyone know if the Xenosaga guys have the rights to remake or rerelease Xenogears, or if they can just make prequels and sequels in the same scenario?


I don't think they have rights to that name, since it still a trademark of Square, but they seems was able to use the scenario of the game. But since the Soraya Saga left project it seems that we never see the same Xenogears as before.

742
Scripting and Reverse Engineering / Xeno-gears
« on: 2005-11-10 03:49:45 »
Oh well, I finished. I spent all the night arranged all I know about Xenogearses formats. I put it all into single html page. Here it is XENO-GEARS, the beginning =)

743
Quote from: Cyberman
A few things:
4Yes the whole game is squished into a monsterous single file and until people can unravel the file information you can't change positions etc.


Doesn't anyone found real file system yet? I believe there must be one, like one in xenogears (thanks to Ombra who found it). I think standart file system reloads with new one after game starts and whole game application works with it.

744
Well this is just to show some progress. I still have much trouble with texture_coords block (alpha, strange "skip" block, texture pages, palettes). Although it seems that I get over through textures itself.

After I sort all that I know about battle background (and xenogears 3d format itself) i put it on public =)

This is some battle backgrounds that are shown without much bugz  8)






745
Scripting and Reverse Engineering / Render error
« on: 2005-11-04 07:12:42 »
Well... the problem seems has been solved.

Quote
Possibly something to do with the near Z plane being set too close to the camera?


First problem (it was circled) vanished after I moved near Z plane.

The second one appeared because triangle texture coords format a bit different than quad (order are c, a, b instead a, b, c, d for quad).

Now all looks much better  :wink:  thanks



Quote
It may be the order in which you are drawing the vertices that's the problem. I believe in OGL you must draw the triangle's vertices in the correct order in order NOT to get a transparent triangle. That determines the surface normal (which is calculated after you do a glend() for the triangle), if the surface normal is pointing away from the POV it won't be a visable triangle. So it may make some triangles invisible. If you have quadrics in your data be CERTIAN you are drawing the right vertices AND they have the surface normal in the right direction for it to be visable.


Hmm... i haven't found normals info yet. I think the two offsets in header that points to the same block are the vertex and normals info. (In field and battle models sometimes they points to different block, but not in battle backgrount that I'm looking ^^'')

746
Scripting and Reverse Engineering / Render error
« on: 2005-11-03 02:38:29 »
I try to render models from xenogears but when I put textures on it I have some funny ladder effect. It always happened just in few places. And then I rotate model it moving.

Could anyone help me just by looking at this. I'm not good when it comes to textures  :z



747
I released source and compiled version of xenogears bg viewer. i don't made any progress since last time, just get code into something readable.
I continue work on this format after two month of rest =)

Source code can be get here http://server.titansoft.ru/akari/xeno_engine_src.rar

Compiled code can be get here http://server.titansoft.ru/akari/xeno_engine.rar

You'll need extracted background data (i still couldn't read CD by sector (anyone knows any cross-platform library for this?))
It's not legal but you can get it at the same place where all other files (xeno_data.rar)

748
Back to the FFVII engine. Why not to start making it like separate moduls and then compound it like it was when the original game was developed.

Right now I trying to get job of game programmer, so it will be great expierience to me.

L. Spiro, I can help you a little bit. Just tell what and where.

749
Here is the next step in progress: textures

0x001C offset from the beginning of the file are always textures block. It

# textures block header
all offsets start from beginning of this block
0x0000 u32 - number of textures and palettes
next are four bytes offsets to textures and palettes

each texture or palette start from header
01 11 00 00 00 00 E0 01 - are palette ID
00 11 00 00 40 01 00 00 - are texture ID
ps: I met only two of them and they are always the same so I think its just identificator and dont have special meaning.

next four bytes are probably VRAM position

and the last four bytes are width and height (2 bytes each)
ps: in texture case - width must be multiply by 2

Palette - (Each pixel - 2bytes);
Texture - (Each pixel - 1byte offset to palette);

Which palette to be used must be set somewhere else.






750
Quote from: halkun
Just cleaning up the forum cruft a bit, don't mind me wiping off this smudge on the window. Continue like I'm not even here... ^_^


Okey. There are some fixes in mesh header

# mesh header
all offsets start from beginning of this block
0x0000 u32 - number of blocks
00 00 00 00 00 00 00 00 00 00 00 00 - unknown (as I see it always filled with zero)

#header to mech block
00 00 - unknown (zero)
84 00 - number of vertex
73 00 - number of mesh
02 00 - number of mesh block
28 01 00 00 - offset to vertex block
28 01 00 00 - offset to vertex block (again?)
48 05 00 00 - offset to first mesh block
80 3B 00 00 - offset to unknown block
00 00 00 00 - unknown (zero)
00 00 00 00 - unknown (zero)
95 01 74 FF 4F 00 53 01 B2 05 F2 FF 1D 03 00 00 00 00 00 00 B8 11 00 00 - unknown (perhaps some flags)

First mesh block starts with 4 bytes header. First two bytes are still unknown. The second one are the number of mesh in this block. This header folowed by mesh data. Each mesh takes 8 bytes. The only difference between quad and triangle is last two bytes (triangle has only 3 vertex indexes so last two bytes are zero (vertex index start from 1)).




ps: I need to sort and name properly all I know already, three different mesh blocks are too much ^_^

Pages: 1 ... 28 29 [30] 31