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

Pages: 1 [2] 3 4 5
26
I actually never looked at psx files but.. files that are in ff8.exe for pc version are supposed to be somewhere else in ps1 files..

27
There is 349 MAGxxx.X files referenced in executable.

I'm not sure about the animated meshes. For example the time compression where you fight multiple sorceress you can see the battlefield vertices falling to the ground. That however could be done with a script so they are probably just a0stgxxx.X battlefields.

that's a lot of files..
About the multiple sorceress battle I'm quite sure they used normal stage files since we have 2 edea's deling room in a0stgxxx.X battle stages: the one whith opened door (when you fight monsters attacking Rinoa ) and the one whith closed door (during the time compression).

28
Not only GF environments I think. For example I have a pretty high suspect that Squall's blasting zone animation includes 3d geometry as well as Quezacotl's entry animation. That is based on the moving clouds which looks moving like the battle stage clouds, in circular rotation.

Yep!

I don't know how many .X file reference you found.. but since they have the same extension of battle stages I guessed that they could be the "environment" that sometimes game show during certain animations..it could make sense..

There could be many other file format in the exe (we already know it contains many .tim texture).

There should be many magic that clearly use 3D geometry (for example all the ice ones) but in most of case we have "somehow animated mesh" that we usually don't find elsewhere.

Another thing that has not been considered yet could be bone scaling.

I remember I read once here or on xentax that bone scaling is not used in this game but that's actually not entirely true..

I can think to only a sample of bone scaling but I'm actually sure it's used for GF Pandemona "tail" inflating animation..
Moreover there is Bomb/Piros "enraging animation".. even if that animation is not a bone scaling animation..more probably is scripted..

Many of magic geometry animation anyway could (probably) use bone scaling and I think we should keep that in mind :)


29
I could be totally wrong but..

We actually know that there are some gf and other stuff (like grim reaper and baby-angels from final battle) that can be found only inside ff8.exe so what you're sayn' could make sense..

Moreover I would guess that those Mag###.X files could actually be "GF battle stages".. I mean places where GF are usually shown..for example the sea for siren , cemetery for cerberus and so on..

I'm sure  that ff8.exe file can reveal many secrets  ;D

30
Okay. Naming cracked:
mag094_b.XyN
where:
X- Sequence number
y- Data type
N- ID number
Example:
mag094_b.2s2 is Sequence number two (read below about Siren's sequences), second geometry model (s2)

OMG! that was the meaning of those weird "extensions"! I would have never been able to figure it out XD

Siren sequences:
1- Sea is flooding enemy
2- Siren is playing on harp
3- "ending" point where there's effect of echo like rings on enemies.

MILESTONE! I got this. 1sN files are having header with offsets to data portions!

Case mag094_b.1s0:
Code: [Select]
offset point_offset         data
1 1 header?
4 13664 UNKNOWN
8 12 Probably vertices? (with weight)
12 9012 Just a bit before quad data

I tried memory hacking and wipping out mag094_b.2s3, I left only header (containing pointers) and null'ied everything else. NOTHING. But when I try to delete whole file (so in fact 12B header) the game doesn't hop to sequence 2 and stops in infinite loop at the latest keypoint in sequence 1. Mhm... ;/

Okay. I got this:
Okay, almost every time in naming XyN where y is 's' the file build is:

First 4 bytes: count of pointers
Next 4bytes*count_of_pointers = pointers (for 4 bytes)
INDEX is NOT zero! That means, if count_of_pointers = 01 00 00 00 then real count is ==1, 06 00 00 00 is 6 (six) pointers and 00 00 00 00 is zero pointers (in some cases in data 00 means 1, that's what I mean)

That's interesting!

I'm not at home now but I remember there was a method to understand "how big model was" and find them inside ff8.exe files (some GF are hidden there)

If you didn't yet I think you should read this topic here on Qhimm forum :

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

P.S.

you should have a PM :)


31
Saw this only now  :)

I'll search for info I found many time ago and post here as soon as possible (have to sleep now :p)

p.s.

I tried to scan mag094_b.1s0 whith your battle stage tool but found nothing  :-(

The thing I'm most curious about are not GF itself but their scene/animation models (Cerberus gate, Shiva ice stuff , Ifrit magma ball, Siren's reef etc..)

32
That's so cool!

I'm really happy to finally see so many progress in ff8 tools development  :)


33
Good job Maki!

Can't wait to see it finished.

I always had to fix textures manually but I was not always sure if I choose the right palette for every clut (some of them were really similar)..

And it's been a pain in the ass every time XD

34
That would be awesome! is it supposed to work whith every tim file?

35
That is the reason why the UV's are misplaced in the PC version and the road does not show the white lines.

Ok... that's why they're always flat grey colored..

Hey guys!  I'm not sure if I'm following the issues with the road/rail textures properly, but this is the image that Tonberry dumps in the debug folder:


The image is always 256x256 in tonberry, because it takes a snapshot of the vram, but it looks like the TIM is actually 128x64 in a set of anywhere from 13-18 palettes - I haven't found the .TIM in tim viewer.

Yesterday I edited my texture (added portals piece) and it perfectly match but I Wonder about the bottom of your dumped one.. what's all that noise in the lower half of the texture?

It's supposed to be empty or not? why does it looks that way?
I'm not sure but..any chance that is an animated material texture?
I should check but if I remember right that kind of noise on the image happen on "face texture" where it's supposed to change (eyes close - open) and maybe that part of the texture is for waves on the sea or something like that..

36
@UPDATE3: Altering accessed variables makes extremely weird things. For example spams with message "This shouldn't go now...", warping to Balamb, hidden emergency capsule (after coming from space), calling battle with UFO encounter... Weird.
@UPDATE4: Hello human... What a lovely tune.
@UPDATE5: "There is a stone pillar. If you look closely, there's something written on it"[/i]

Those are supposed to be side quest "events" which can be triggered while on the map (Obel Lake side quest).

http://finalfantasy.wikia.com/wiki/Obel_Lake

I guess you found a way to manually trigger some "quest stuff"..

37
..by the way if you are wondering how I got your code changes is because I was too lazy to ask for source and decompiled your code, sorry about that. ;)

Yeah.. like many others here do what they do for the same reason.. because they are too lazy to ask Square for source code  :-D :-D :-D

38

@kaspar01
Those castle portals are stored in wmsetXX.obj, I did a lot of studies on that before and I'm 90% sure that it contains the portals because it does contain lunatic pandora and other models used for world map.

Yes I was thinking the same thing.. MakiPL was working on that side and found some models if I'm right.

A tool that extract them would be cool also.. I'm not sure but I think that no one wrote it yet.

39
Hey guys!  I'm not sure if I'm following the issues with the road/rail textures properly, but this is the image that Tonberry dumps in the debug folder:


The image is always 256x256 in tonberry, because it takes a snapshot of the vram, but it looks like the TIM is actually 128x64 in a set of anywhere from 13-18 palettes - I haven't found the .TIM in tim viewer.

Thanks.

This confirm the texture I built is almost 90% correct.

and It's interesting to see the top right corner.. If I'm right those texture should be used for ultimecia castle portals.. that's interesting...

Actually I wonder where those models are stored..

40
Oh btw, one thing about high resolution textures occurred to me sometime ago.

If we assume that the engine can handle larger size texture pages like 512x512, since it can manage 256x256 over 128x128, it could be possible to replace these files in wmsetXX.obj (and why not in texl.obj but it's not used in old release). The only thing I can see limiting this is that the headers are pointing to specific location in the file, so by changing those it could be possible to replace the old ones in the file. That will not work on texl.obj however because it doesn't have any headers.

Just a thought but should be worth a try, unless the wmsetXX.obj needs to be certain size.

I'm quite sure that pc version of the game had an option for using hi-res texture (I guess it referred to textl usage since I remember it affected world map only.. )

I guess it could be possibile to exploit that option somehow..

Edit:

I also wonder.. Maki has been able to switch a piece of the world map whith another existing one..
Maybe modify geometry of existing piece making them more detailed would result in a crash but what about "add new pieces" after the last one and try to swhitch them? I mean.. there is a size limit? it applies to the whole file or to the single chunks?we can add new chunks?

41
I'll make that happen in new version. However would you really prefer if each segment was separate .obj file? I mean isn't it frustrating to import each file? If not then I can make a setting to change these properties so you can choose if you want it stitched or separated.

As Zervox said that's not making 1 file for each part but make 1 file containing multiple mesh.

Actually having separated file could be a third option so that we have a choice:

-1 file 1 mesh (current)
-1 file multiple mesh (Zervox's one)
-multiple files

My code already names the segments in the obj file with corresponding integer id,so that 3ds max will import them as seperate mesh parts.

Very nice!
I'd like to test it as soon as possible.

42
I added this code for exporting  each segment as a separate wavefront part hope it would please someone.
not sure about javascript and how I am passing the segments as I converted my code from C++

This is really good indeed.
Since they're separate chunk it makes perfectly sense  (and will be handy for editing/modding) :)

Not sure it can be done but.. naming the chunk whith the segment number could be useful too (it's been quite frustrating calculate the number for interchangeable parts)

43
That's really odd, I don't seem to get the same errors for some reason:
Hum... maybe it's a 3ds max problem?
I could try to send you one of my files or you could send me one of yours to verify.. or both :D

Update: I try to export segment 268 againg in a new file and now it works..tried to import the old one and still get the error.. maybe an error during export?

Update 2 : I think I understood when the error happens! The first file I export is fine but every following file gives me the error (apparently I have to close and open again the tool to avoid the problem)

Well anyway, all the texture related problems should be corrected after next update except transparency which has to always be done manually. I'll release the updated version once I get normals working, textures corrected and the segment swapping done, may take a while  :cry:
If I may help you somehow let me know :)

44
Yeah I'll fix that .mtl file to not be mandatory to export everytime.

About invalid texture index. That's odd, I maybe encountered it once or twice when I first made the code but never after that. Do you know specific sections which launches this bug? Would help me to fix is ASAP. Actually if it's not severe issue I'll fix it with next update since the optimization should fix those kind of problems and also would make much less lag while editing the mesh.

I edited my previous post and put a little list in it.

Most of the sections I tried gave me the error.

Anyway I manually fixed transparency and fixed garden just to make see this:



defintely worth it  8)

45
What about add a check box to make the .mtl file optional (after first export it become useless I guess and I think that choose 2 times for destination is not a good thing)?

Moreover I get an "invalid texture index" error whith some  mesh (not sure but it seems to happen when I export map not starting from 1).

Edit :

my theory about when the texture error happen was wrong.. here some example of export that gave me error:

268-268
328-328
150-151


but for example i don't get error whith 275-276 ... this is weird..

46
About normals. I documented in reverse engineer forums that wmx.obj contains some sort of shadowing values. Well I now know that they are normals and probably used for Gourard shading which PSX GPU can utilize (look it up if interested). For the next version I'll include normals too so the shading is not a problem after it. Though before I put normals in use I want to improve to current algorithm for texture vertexes because right now it's taking too much memory as you can see from the file size. After optimizing the algorithm I would say the file size will drop about 1/4 or 1/3

I had to check the seam thing and it appears in FF8 also

Sorry for the first picture but I hope you can see it, my FF8 uses 128x128 textures since it's the older release. However these kind of problems occurs all over the map because of the developers. Also the odd stretches like in the kaspar01's picture are misplaced UV's by developers. There's probably nothing that can be done automatically to these unless all the UV's are re-generated.

However it looks better in game because of the renderer which makes it look more seamless, although the problem exists there even if it's harder to notice.

Yep it looks better since it render pixels as they are I guess..

Anyway for the idea I gave you about the switcher I wrote a list that you could use for the switch funcion:

Code: [Select]
Interchangeables zones:

Eshtar

374 to 381  <==>  769 to 776
406 to 413  <==>  777 to 784
438 to 445  <==>  785 to 792
470 to 477  <==>  793 to 800
502 to 509  <==>  801 to 808
534 to 541  <==>  809 to 816
566 to 573  <==>  817 to 824

Trabia Garden

150 to 151  <==>  825 to 826


Galbadia Garden

268  <==>  827


Balamb Garden

275 to 276  <==>  828 to 829


Missile Base

328  <==>  830

Trabia Crater

215 to 216  <==>  831 to 832
247 to 248  <==>  833 to 834


Desert Prison

362  <==>  835


The list is not yet confirmed (I'll test it tomorrow..it's 3 A.M. here XD) Edit2 : Checked the list and it looks to be all correct


Edit:

@halkun this should be what you asked for: http://s16.postimg.org/m6kmcyl1h/Full_Map_HD.jpg

47
Seems like the road now has the white lines like in the PSX version. Show me if you see any UV misplacement's so I can try to fix them :).

Of course :)

I found this not far from deling city (north from missile base).



This is the only "reallly bad" thing i found.

Some other are just "not perfect seamless" but I don't know if it's a problem from the original game.

Another weird thing is that many face have probably wrong normals.

48
Can I get a close-up of the train tracks? I'm interested in making a metro map of those (Once an for all)
it's really low poly and low res but here it is : http://s2.postimg.org/jqe3yenjc/close_up.jpg


49
Well the UV's don't depend on the resolution so you can put higher or lower resolution images in blender or 3dsmax. However I'm not sure what happens to UV's when you put for example 1024x1024 texture, it may be messed up a bit, but then it's just a matter of new calculation and that's it. Speaking of it I can make an improvement so that when you export the world map you can choose which resolution textures you want to use so it doesn't mess up the UV's.

The problem with the UV placement is that they are presented in hex values 0-255, so I have to manually do the calculations because for example 0x7f is 127 in decimals and 127/255 = 0.498... while it's supposed to be 0.5 on UV grid.

The reasong why I think it's 256 is that if I export the UV map in that dimension to see where UV group are and then I pick the pieces from wmsetXX files and place in a map which is exactly that big they fit whih no need of scaling.
Moreover every other texture for the map is that big so..


I'm tryng to configure an emulator to rip out those 2 texture but whith bad result till now..


[Update]

Fun fact: most likely road and rail use same textures in same position..or apparently the things which are in the same position in the uv actually have the same texture so..basically they could probably use the same "merged" texture.. i guess..



[Update 2]

Done!



I'm not 100% sure about 2 or 3 texture pieces that could be switched but it looks almost the same so.. I guess it doesn't matter :)


I confirm that road and rail can use the same texture.

fun fact 2: there is a little piece of texture which is apparently not used (not from road or rail at least..)



50
Yeah, I should have probably mentioned that the game engine treats the rail and road textures as an one texture the same way as others. Timviewer shows them sepereated in wmsetXX.obj file but they are loaded to frame buffer in complete texture (128x128 I think). I found a program which can tell the VRAM locations here: http://www.romhacking.net/utilities/799/

Thanks! Never seen that tool before but I'm gonna try it for sure :)

Anyway the size for rail and road is most likely 256x256 even if only a little portion of it is actually used (according to my UV tests..I placed those piece from wmsetXX and placed in a 256x256 texture and they fit correctly..just need time to understand which piece goes where.. so I guess I'm right about this..)

Another thing that should be said is that rails material does not striclty applies on wolrd map rails only but seems that is used for some "road" pieces (usually for city entrance like the green one you can see in my pic)..and for FH bridge.

Pages: 1 [2] 3 4 5