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

Pages: 1 2 [3] 4 5 6
51
MakiPL: This is really interesting for me. I want to increase all the game resolution by at least 4. By resolution i don't only mean the window but also the size of the objects, characters, worldmap,etc...
My problem is i can replace characters by higher polycount ones, but the vertices are merged when read by the game BECAUSE the resolution is low. I found a way to prevent the vertices from merging by increasing the size of the models in the character file. BUT when the game reads the file, the characters are oversized.
So i thought if i can increase the size of the screen AND the models, then there wouldn't be any oversized character or merged vertices.


52
I think she is a bit lame, she has an empty back story: a cop that becomes a goddess for no reason. It is impossible to know what she is feeling at times. Is she sad? mad?happy?
She has no sex appeal. It is like the designer wanted to draw a male then changed his mind at the last second. It is really possible to draw a manly woman heroine: look at Korra in the last airbender, or Kuvira in the same show. Honestly Fang should have been a better lead character than lightning.

To make a comparison: Lightning and Vaan in FFXII are lame main character, whereas Fang and Bash/Balthier were underrated side characters.
I think the creators of Lightning wanted to have kind of an average hero any player would identify to: boys and girls, middle aged men and woman ( as she is a mature character that raise her little sister and is a justice servant)... But consequently she loses any charism, she doesn't evolve in her emotions , personality or even physical abilities.





53
I managed to import new textures, i coded a built-in tim importer-exporter. My main problem is that i can't import a texture that uses more quadrants( the texture is 256*256 divided in 4 quadrants) than the original:
-1024*1024 textures crash the game
-512*512 textures are spread between the field textures and the model texture.
-256*256 ->OK

54
OK, yesterday i found a way to import an higher resolution model in the game 8-):
-I export my model 16 times bigger.
-I wrote an auto-assemble script in cheat engine that check if the function that reads the vertices is reading my Selphie model
-If it is Selphie, then divide by 16 .

Consequently the real model is really detailled but it appears smaller on the screen.


55
Scripting and Reverse Engineering / Re: Character importer
« on: 2016-02-13 17:48:11 »
HI everyone,
I managed to import a new model of Selphie in the game.
There are still many issues: the normals revert for some faces, there are no new textures   otherwise i need to include the possibility to convert PNG to TIM textures  and consequently the UVs need to match the original UVs. And finally the engine downscale my models resolution: if two vertices are too close they are merged ingame. A solution would be to multiply the size of my models, but the surrounding would need to be resized too :o. And there is another issue with resizing the models: the model position from floor is coded in each chara.one( one for each field) so i would need to change the value in each chara.one!



56
Thank you sithlord48 but as Vehek said chara.one is not compressed; so i was doing something useless. Anyway it may be useful later if i want to compress an archive.
I think that the issue with chara.one is solved

57
When i read the chara.one file, i don't see any similarity with the .MCH.That's why i thought it was compressed.
How did you proceed Vehek?

EDIT: I think i've found something that was not mentionned anywhere.
In chara.one, for main characters, there is only animation data. The first 4 bytes are likely to be animation count, frame count and bone count. It's exactly what Vehek wrote about animations here:http://forums.qhimm.com/index.php?topic=13261.0

On a side note why Vehek information is not in the wiki?





58
Hi everyone,
I'm trying to get the bone positions from the chara.one file , present in each field archive. The wiki states that the model data is lzs compressed but i can't figure out how to decompress the file.
I've read about LZS compression and wrote a program to decompress chara.one.
It is based on this:
http://forums.qhimm.com/index.php?topic=2023.msg28900#msg28900

Anyway all i obtain is garbage. Or maybe it's not looking like what i'm expecting: isn't it supposed to look like the .MCH file,with number of bones, vertices , etc... in the header?

This is how my code works:
Code: [Select]
typedef struct ALONE ALONE;
struct ALONE
{
    long long int one_offset;
    long int one_datasize;//appears twice
    long long int has_tim;//if >0xd0 then no tim_offset and directly model data offset( which is 0)
    long long int tim_offset;//0 if has_tim>0xd0
    long long int alone_offset;//0 if has_tim>0xd0
    char name[9];
};

//Reads the header then creates a list of ALONE structures ( one for each character of the chara.one)
//I've not included the code here

//---LZS Decompression---//I create a .alone file for each character "i"
for(i=0; i<alone_count; i++)
    {
        sprintf(outputpath,"%s%s.alone",outdir_name,alone_list[i].name);
        FILE*alone=fopen(outputpath,"ab+");

        fseek(inputfile,alone_list[i].one_offset,SEEK_SET);

        memset(outputpath,'\0',255);
        int ctrl_bit[8];//control byte before the compressed data
        char comp[2];//the two bytes of the compressed data
        int comp_len=0;
        int comp_offset=0;
        long int new_pos=0;
        long int last_pos=0;

        memset(ctrl_bit,0,8*sizeof(int));
        memset(comp,'\0',2);

        while(ftell(inputfile)<alone_list[i].one_offset+alone_list[i].one_datasize)
        {
            fscanf(inputfile,"%c",&cbyte);
            convert_to_bits(cbyte,ctrl_bit);//Reference byte

            for(j=0; j<8; j++)
            {
                if(ctrl_bit[7-j]==0)//compressed data
                {
                    for(k=0; k<2; k++)
                    {
                        fscanf(inputfile,"%c",&cbyte);
                        comp[k]=cbyte;//read from left to right
                    }

                    comp_len=comp[1]%0x10+3;//minimum is 3bytes
                    comp_offset=comp[0]+(comp[1]-comp[1]%0x10)*0x10;//if the two byte are read from left to right 0xa4 0xb1 then comp_offset=0xba4;
                    new_pos=ftell(alone)-(ftell(alone)-18-comp_offset)%0x1000;//reference byte pos

                    k=0;
                    if(new_pos<0)
                    {
                        for(k=0;k<comp_len;k++)
                        {
                            fprintf(alone,"%c",NULL);
                        }
                    }
                    else if(new_pos>0)
                    {
                        fseek(alone,new_pos,SEEK_SET);
                        for(k=0;k<comp_len;k++)
                        {
                            fscanf(alone,"%c",&cbyte);//reads at comp_offset
                            fprintf(alone,"%c",cbyte);
                        }
                    }

                }
                else if(ctrl_bit[7-j]==1)//literal data
                {
                    cbyte=0;
                    fscanf(inputfile,"%c",&cbyte);
                    fprintf(alone,"%c",cbyte);
                }
            }
        }
        fclose(alone);
    }
    fclose(inputfile);

59
Graphical / Re: FF8 3d model modding?
« on: 2015-12-31 15:35:03 »
No problem MakiPL ;D, i've been missing qhimm for a while(almost 1 year i presume). If we could push the modding further on FF8 it would be fantastic.
I've been on holidays this last week so i had time and motivation to work on FF8 modding.
 

60
Graphical / Re: FF8 3d model modding?
« on: 2015-12-30 23:49:55 »
It's funny you ask those 2 questions because i work on the 2 subjects: field background replacement and character model replacement.
For the field background replacement: http://forums.qhimm.com/index.php?topic=15245.0
I succeeded in replacing the background and adding custom animations. The process was really tedious and i can't remember how was it done. I need to look into my old program( an excel sheet ). Now that Berrymapper and tonberry exist we could combine the  methods to have a HD background with animation.

For the model replacement:http://forums.qhimm.com/index.php?topic=15668.50(see reply #72 page 3)
For a  complete model replacement see posts by Vehek:
http://forums.qhimm.com/index.php?topic=15938.msg223770#msg223770
http://forums.qhimm.com/index.php?topic=13261.msg197429#msg197429

Vehek replaced the models but had issues with the number of textures per character. When the new model has more textures than the original, the textures overlap with background and other character textures (see posts above). When you use my simple method to replace lowpoly models with midpoly models you will encounter the texture issue in some scenes. Indeed the midpoly model use 2 textures whereas the lowpoly model only uses 1.

Vehek already wrote a script to import the character into blender and export a new model to FF8. I'm actually writing a similar program to export/import models in FF8.

What it does so far: export .MCH ( static character in t-pose) to .OBJ (universal 3d model format)
What i'm testing: convert new model .OBJ into .MCH for FF8


61
It's only a matter of time until we can import models into the game. Monthes ago i created a tool to convert FF8 models into .obj files. Now the idea is to revert the process. I don't know if i will have time to do that. The ideal would be to have a import-export program that also convert the animations( stored in chara.one)

62
Here's my contribution:

63
Hello Mavirick and JemaheChi,
I've been away for a long time due to my new job; but i keep an eye on Qhimm. If you have any hints about your new hashing algorithm i would be happy to create a "test version" of Berrymapper to test the algorithm.
Anyway, as we have a large number of hashed textures now ( characters, worldmap,GF,weapons, battlefields...) we can define already a close-to-perfect set of key pixels for your algorithm. We could even have different algorithm fit to each type of texture (one for characters, one for objects, one for worldmap).

64
As for me,Berrymapper won't evolve until a new hashing algorithm is found.

65
Hello Thatamos,
Yes indeed sorry for not updating the first page. But you can dowload the latest mods using tonberry, there:

http://forums.qhimm.com/index.php?topic=15945.0

Berrymapper is only a tool to convert a texture into an hashcode.

FatedCourage, and other artists there ,from today would you create your own thread regarding battle texture and character texture? I'm not able to follow the increasing amount of hashcodes and texture packs.

Thank you all for using Tonberry tool, Magochocobo textures and Berrymapper!

66
Hello Omzy,
Actually Berrymapper already integrates this algorithm, otherwise it wouldn't read the character textures. The problem is sometimes top and bottom textures are switched for the same character. Berrymapper can't identify which texture (top or bottom) is useful. Berrymapper delivers both  top and bottom hashcodes. You have to choose manually which one to use.


67
Troubleshooting / Re: [FF8] - Tonberry/ Mods Problem
« on: 2015-02-25 14:13:14 »
Hello Emeck,
Everything seems correct for me . Except for "objfile" which should be named "objmap".
Try to disable d3d9.dll, by renaming it 0d3d9.dll. Then run ff8. Is the problem still there?

68
Hello JeMaHeChi,
Could you tell me what do you want to improve in the hashing algorithm?  The main problem is the memory consumption in worldmap exploration. I think the problem is that there are a lot of tiny textures that are loaded from the same big texture. So each time a new portion of the worldmap appears on screen , the big texture is loaded. So the hashing algorithm is run several times when the camera moves. This is not the case with field textures or character textures because they are always on camera.

About the collisions. It is only an assumption but i think sometimes 2 images have the same hashcodes because they are almost the same texture, only slightely blurred ( for depth of field animation). So it may happen that the comparison between pixels give the same results for a blurred texture:

Imagine a white texture with a black circle in the center. Even if i blur the texture the center of the black circle would still be darker than the borders. So if i run the hashing algorithm it would give the same result.
This error won't happen if the compared pixels are close enough.

You necessarily need to run a second algorithm that reads intermediate pixels . That's the reason of hash2map algorithm.


 

69
I expressed myself the wrong way. I mean no real HD model. In the video he just used a dummy without complex texture and complex mesh. I suppose he modified manually the character file ( .mch).
To replace the model with a complete textured HD model you have to write a program that converts a model from a known format like obj/mtl, dae, fbx,3ds,blend to a .mch.

Then you will have to replace the actual .mch by the custom one.

70
Vehek did something similar here on qhimm. I'm also doing some programming on it. Yet i only succeeded exporting models in obj format without animation. No one has succeeded yet in replacing with custom models.There are some issues with texture count.

71
General Discussion / Re: R.I.P. Monty Oum!
« on: 2015-02-04 18:46:01 »
He was a great animator, it's really sad he disappears like this.

72
Hello moundar,
You say you only use seed reborn, but i see that you also use Eden(upscaled background). Could you disable it( in texture folder change bg/ to bg0/). I don't think anything will change.

When i tried to replace lowpoly models with highpoly this problem appeard. Have you modified field.fs?
Try to disable zell hd texture( rename the ze/ folder to ze0/). If there is still a problem then tonberry is not involved. Maybe field.fs has been modified.

The last reason would be that the templars and zell texture share the same hashcode.
In tonberry folder change debug0 to debug then replay this part. After 5s change debug back to debug0.
Look into the debug/replaced folder. And see if you have the templar texture.
If it is the case then use berrymapper on it and show me the objmap codes.

73
Hi Mcindus,
There is now a link to Horizon pack on first page ! To your paintbrushes texture modders!

74
Hi Mcindus!
Great job here. I've not tested it yet but it's a great step for FF8 modding. Have a nice holiday !

75
Great improvement Mcindus and Mortael. I'm thinking about how to organise all these hashcodes coming from everywhere. Either each category(worldmap, battle, character) would have a specific thread with the first post containing an updated list. Or i will update my first post with a specific list for each category and i will put a link to each texture pack.
For the second option my problem is that each time anyone would create a texture i would have to add a new link to the list. So people will be confused and won't know which pack  to download. So i would like to request you something: could you give me the right to download your textures and put them in common folders on my dropbox? I will ask you this each time i will upload a new texture.
That way there would be a unique folder for each texture category and unique links to them.

Pages: 1 2 [3] 4 5 6