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

Pages: [1] 2 3 4 5
1
Hi,
it is LZ4 block
https://github.com/lz4/lz4/blob/master/doc/lz4_Block_format.md
To convert it to LZ4 file, you need add header (create LZ4 frame).
https://github.com/lz4/lz4/blob/master/doc/lz4_Frame_format.md

To convert 4ZL to valid LZ4 file:
Code: [Select]
remove first 12 bytes from 4ZL (remove header, now you have LZ4 Block)
add to start 7 bytes "04224D18607073" and 4 bytes "compressed block size" (4ZL file size - 12)
add to end 4 bytes "00000000"

Code: [Select]
04224D18607073  4B_BLOCKDATASIZE  BLOCKDATA  00000000
04224D18 is LZ4 magic number
607073 is frame descriptor (minimal variant)
00000000 is end mark

Then LZ4 file can be decompressed:
Code: [Select]
lz4.exe -d "bgroad_6.fl.lz4" bgroad_6.txtAnd result bgroad_6.txt have 38 lines

2
If I correctly remember, than main dialog format is something like this
Code: [Select]
0      4B    number of dialogs
4      8B    first dialog structure
12     8B    next dialog structure
...
dialog structure
0      2B    pointer to sizes script
2      2B    size of dialog text window (something like 12 bites X-size, 4bites Y size * 16)
4      2B    pointer to dialog text
6      2B    number of lines in dialog text

Sizes script is some structure saying that there are opcodes in text,
and width of text values from those opcodes will be added to 'size of dialog text window'.
(Opcodes represent Items, names. Window size is without items, names opcodes. Real width of items, names will be added to precomputed dialog size.)

Well, something like that.
To add more fun, there are opcodes with 'length' parametes, used to center texts.


Nice work decoding script, quite big list!

3
FF8 PC triple triad cards are in FF8.exe
at position 0x7A9B10 and size 0x77020 (FF8.exe version 1.2, numbers are in hexadecimal)
the file is TIM file.

But bad is, that it is 4bit tim file with ~56 palettes.

Note:
looks like all around card match is in FF8.exe (graphic, cards names, cards values)

4
header file  in SLUS_012.51
0x5D92A  0x5DB2A, format 2B pointer 6B other chaos, maybe useful for something...
data file in file 0008  (9th file in first folder....:P)  0x8640 0x88D4

I'm not sure what you mean here. Inside the .img file on that disc?

Yeah, that's inside .img file.
I thought that .img file structure is 'common' knowledge since it was long time ago posted here by someone (maybe in wiki too).
Its structure is something like 'folders and files' - that's why I refer to '9th file in first folder'.
There was some extractor of .img file posted here, seen in q-gears svn if I am not wrong.
(But it lack import, which I needed, so I made one myself:P)

5
Those are all abilities in file 08_04a.txt.... (dont ask what the hell that name means!)
this is how they are sorted in data file
Code: [Select]
Ability Up
Absorb MP
Accuracy+
Add Status
Alert
Antibody
Auto-Float
Auto-Haste
Auto-Life
Auto-Potion
Auto-Reflect
Auto-Regen
Bandit
Beast Killer
Bird Killer
Body Temp
Boost
Bright Eyes
Bug Killer
Chemist
Clear Headed
Concentrate
Counter
Cover
Devil Killer
Distract
Dragon Killer
Eye 4 Eye
Flee-Gil
Gamble Defense
Guardian Mog
HP+10%
HP+20%
Half MP
Healer
High Jump
High Tide
Initiative
Insomniac
Jelly
Level Up
Locomotion
Long Reach
Loudmouth
MP Attack
MP+10%
MP+20%
Mag Elem Null
Man Eater
Master Thief
Millionaire
Mug
Odin’s Sword
Power Throw
Power Up
Protect Girls
Reflect-Null
Reflectx2
Restore HP
Return Magic
Steal Gil
Stone Killer
Undead Killer
Void

Missing
Code: [Select]
Chemist
Void
Supposing that Void is not ability, but void place..... (played only start of FF9)
In mine NTSC version is 'Gamble Defense'  (you have CE in end:P)


header file  in SLUS_012.51
0x5D92A  0x5DB2A, format 2B pointer 6B other chaos, maybe useful for something...
data file in file 0008  (9th file in first folder....:P)  0x8640 0x88D4


7
well little unexpected... THANKS!
well I must try it manualy.... as practise... becouse I am unable hunt this down.... and for you at looks... so easy:P
I thought that its hardcoded... and maybe saw this code, but didnt know anything about such structure.

 

8
yeah... I know ... but positions of minigame .. values change... so its harder find .... and if I trace where its showing bitmaps... so there is hell of chaos:)
but I beat it! becouse we want release translation version 1.1 with it:P
I am only complainig about submarine everytime when I do post:)


9
I already know how to extract the text through Loveless.

I, however, might leave out the dummied text as too much of the games text is repeated in field files and that would take ages to go through it.

Only curious... you extract text manualy by copiing trought loveles...? But you sure dont...(becouse ... its ...)

For duplicity text...
http://forums.qhimm.com/index.php?topic=7227.0

and... now ... I was nice ... so tell me where is submarine text(last untranslated text in FF7...):P
(note... a lot dots is in my text is becouse FF7, and hell of texts:P )

10
FF7 Tools / Loveless - a FF7 text editor [v.1 - 2.5]
« on: 2008-01-04 09:32:19 »
I dont know, I wasnt using Loveless for editing.
Loveless always crash to me after some while(If I press about 50 times some key), or sometimes it destroyed my flevel.lgp.

11
FF7 Tools / Loveless - a FF7 text editor [v.1 - 2.5]
« on: 2008-01-03 18:10:56 »
New version of Loveless.

I was searching around "dialog part" of field level. Even maked dialog part extractor...
Some FF7 dialog editors get last dialog as "start from Header to 0xFF char". But, it looks like some dialog dont end with 0xFF char. Usualy not used dialogs. But editors still read until 0xFF char, they read data from AKAO block. It usualy only add some bytes extra.

Aktualy this is not so problem. But problem are some levels. If I changed size of frcyo level, some action(I think breeding..) freezed. Some Blin6X_X not worked (save Aeris scene).

Maybe this is useful, if you are working on new version.

12
FAQs and Tutorials / Re: STICKY: FF8 Enhancing
« on: 2007-12-25 14:27:36 »
version 1.2 of the Launcher
I got this error message...

"Couldn't register window class!"

Version 1.0 give me
CreateProcess(FF8.exe) returned error...
ERROR CODE: 120

so, some minimal requirements?

Maybe create seperate topic for your program.

13
Here are some command line FF7 utils which I created becouse I needed them.
I didnt wanted release them....  but maybe usefull for someone....

http://kruci.wz.cz/FF7utils.zip
ff7de    extract/import 'dialog part' from unpacked level
ff7lgp  extract/add(add to end or replace)/recreate(=add, but keep same LGP file order) LGP files
ff7tut   extract/import texts from .tut files to txt(tutorials files)
ff7wmes  extract/import text from mes file to txt(world map text)
ff7te    extract/import 'dialog part' to txt(no specials tag, all are still chars...)

you can try find usage by running it trought command line...:P
ff7de and ff7lgp I used for distributing translation of ff7 to our language(bat file in installer).


Some duples files
http://kruci.wz.cz/Duples.zip
Duples means that some levels have same or very similar text
ffsameDIRS.bat  copy those with same/similar text to diferent dirs.
but beware, somewhere is diference in "one word", but change meaning of sentence
I have those difference somewhere, but in my native language...:P

14
Releases / Re: [Release]FF7 'default run' patch
« on: 2007-12-07 17:15:24 »
Actualy I dont know:P
This patcher is not created by me.(in patch is autor written "Patcher by Lodus")
It dont work to me if its on path "X:\" where X is drive letter.
(this patcher was actualy the best patcher whith I found on internet...)

Or you simply dont have COMDLG32.OCX witch is needed for patcher.

But you can use YAMP version.

15
Hi,
I found chocobo text Male / Female
Good for translator...

Its in script of frcyo level.

this code is there 20 times.
Code: [Select]
87B : [80 D0 62 2D] - set byte(D0)[62]=2D ;M
87F : [80 D0 63 41] - set byte(D0)[63]=41 ;a
883 : [80 D0 64 4C] - set byte(D0)[64]=4C ;l
887 : [80 D0 65 45] - set byte(D0)[65]=45 ;e
88B : [80 D0 66 00] - set byte(D0)[66]=00
88F : [80 D0 67 00] - set byte(D0)[67]=00
893 : [10 19] - gotoNext 8AD
895 : [80 D0 62 26] - set byte(D0)[62]=26 ;F
899 : [80 D0 63 45] - set byte(D0)[63]=45 ;e
89D : [80 D0 64 4D] - set byte(D0)[64]=4D ;m
8A1 : [80 D0 65 41] - set byte(D0)[65]=41 ;a
8A5 : [80 D0 66 4C] - set byte(D0)[66]=4C ;l
8A9 : [80 D0 67 45] - set byte(D0)[67]=45 ;e

but its always same and is no need of recompiling script
you only need search and replace(20 times)
HEX string to search in unpacked frcyo

Code: [Select]
80 D0 62 2D 80 D0 63 41 80 D0 64 4C 80 D0 65 45 80 D0 66 00 80 D0 67 00 10 19 80 D0 62 26 80 D0 63 45 80 D0 64 4D 80 D0 65 41 80 D0 66 4C 80 D0 67 45

so, now find submarine text(it maybe not text, but some reference to TEX files?!):P

16
FF7 Tools / Re: [Release] Hojo 1.0 - enemies editor
« on: 2007-11-24 20:15:28 »
in kernel are attack of characters, but in scene.bin is attack of mosters. Monsters have names of attack which are not in kernel.
This way can each mosnter have different name of attack(but same effect...)

17
Scripting and Reverse Engineering / Re: Script question
« on: 2007-11-21 16:58:36 »
yeah thanks,
very lame from me:P
... that was confusion from my decimal reading of hex numbers...

I try play with it little later... I try keep priority.... maybe this was mistake..

18
Scripting and Reverse Engineering / Re: Script question
« on: 2007-11-20 17:58:25 »
actualy I tested it, reported it, and then deleted it before...
becouse.... for the first time I did mistake...(modifing bad file), so I thought its wrong, so I deleted report..
for second time it didnt worked properly if I changed it ... so I didnt report it again...
it worked... but it only destroyed run of this nara2 object... swaping REQ maked its always walk...

I thought that it is there, but....

IF-KEY ( 40, 02, 19 ) according to wiki opcodes should not be CANCEL triger.
Or I am wrong? what is USHORT bit field? 0x4002 or 0x240? Little or big endian...?
Ok , it must be 0x4002, wiki dont say what is 0x2 so I was confused.

REQ (0C,43) , REQ (0C,64)
so the question is what REQ means... ok 0xC is nara script, but others?
P / F  = priority/function = Bit[3]/Bit[5]= 43 = 1/01011 -> what call this? what is func with ID 11?
64 = 10/00000             -> this call MOVA? (nara2) Script n° 0?
I thought that those call changing speed of moving... but I was wrong?


hmm, maybe I misunderstand those function, so thats why I did wrong modifing...

maybe I shouldnt look to wiki to much... some informations are realy confusing...

OK, thanks .... Its is sure script releted and I dont want change scripts....(becouse its not easy solution...)

19
Scripting and Reverse Engineering / Re: Script question
« on: 2007-11-17 11:39:50 »
its Jail2


Dont care about this much, I have higher priority on finding submarine minigame text(Mission Complete, Mission Incomplete,...) and chocobo gender text(Male/Female)

20
Scripting and Reverse Engineering / Re: Script qustion
« on: 2007-11-16 19:57:53 »
I changed it in ff7.exe
I changed two jumps. Switched animation and wallking speed. So character run, but game dont know that hes running.
Those are two switch, both depend on "CANCEL" pressed.
http://forums.qhimm.com/index.php?topic=7022.msg86742#msg86742


script which I posted is whole script for object NARA2 (I edited it, it wasnt whole:P)
Script n° 0 test something and then move to Cloud...
Script n° 1 is useless.. only Talk action...
Script n° 3 called on ?? run MSPED ( 00, 00, 10 )
Script n° 4 called on ?? walk  MSPED ( 00, 00, 4 )

... if I change MSPED values, object NARA2 is still walking after me, but If I press CANCEL,... from now its behave right(if Cloud walk, it walk, if I run it run)
So, Script n° 3 is on CANCEL pressed? Script n° 4 on CANCEL relased?
I want find what starts those script to know that my ideas on unreal easy fixing are right:P

21
Scripting and Reverse Engineering / Re: Script qustion
« on: 2007-11-16 17:48:13 »
My short explanation failed:P
Thanks for some info.

My problem.
I changed in FF7.exe walking for running, but I think that game dont know that I did it.
so...
some situation as in Jail, where is Person, which follow you after enter to this area.
With my Run mode, this person dont run, but walk.(becouse game dont know that you are running)
If I press CANCEL, I walk, and this person run.

So.. I managed, that this run change is in script
I need find, what call script  ****** Section n°12 (nara2) Script n° 3 ******
and where are default values for those person move speed.
If change of CANCEL call this script, dont exist easy fix. Else ...

In script I didnt find what this script call(maybe I was looking bad, so I asked for some script calling info).

(problems are in more places, but only this I tested myself...)

22
Scripting and Reverse Engineering / Script question
« on: 2007-11-15 20:25:46 »
I didnt find info how scripts works...

I was searching for fix for my "default run"
but I ended in skript actions...

as this..
this is skript of objekt(person), whitch move to Cloud, with speed MSPED ( 00, 00, 10/4 )
If I change those MSPED values, it works, but not from begin, it works after I press CANCEL for first time.
(dont work from begin, becouse default values somewhere?)

the question is
how game jump to those scripts Section n°12 (nara2) Script n° 3/4 ?
those skripts works with CANCEL pressed/relased... so CANCEL is trigger?
(I readed somewhere that Script n° 2 is for pressing X button)

Code: [Select]
****** Section n°12 (nara2) Script n° 0 ******
000 : [A1 07] - CHAR ( 07 )
002 : [7E 01] - TLKON ( 01 )
004 : [C7 01] - SOLID ( 01 )
006 : [A4 00] - VISI ( 00 )
008 : [16 60 00 00 D7 01 00 1A] - if SWord(60)[0000] != 01D7 then(00) goto 28
010 : [16 20 00 00 C9 01 03 12] - if SWord(20)[0000] != 01C9 then(03) goto 28
018 : [A5 00 00 99 04 44 0F 00 00 76 01] - XYZI ( 00, 00, 99, 04, 44, 0F, 00, 00, 76, 01 )
023 : [7E 00] - TLKON ( 00 )
025 : [C7 00] - SOLID ( 00 )
027 : [A4 01] - VISI ( 01 )
029 : [00] - RET
02A : [C7 01] - SOLID ( 01 )
02C : [16 60 00 00 D7 01 00 0D] - if SWord(60)[0000] != 01D7 then(00) goto 3F
034 : [16 20 00 00 C9 01 03 05] - if SWord(20)[0000] != 01C9 then(03) goto 3F
03C : [AA 01] - MOVA ( 01 )
03E : [12 02] - gotoPrev 3C
040 : [00] - RET

****** Section n°12 (nara2) Script n° 1 ******
000 : [33 01] - UC ( 01 )
002 : [4A 01] - MENU2 ( 01 )
004 : [2F 01 6F 00 00 00 51 00 19 00] - WSIZW ( 01, 6F, 00, 00, 00, 51, 00, 19, 00 )
00E : [40 01 05] - message( window=01, mes=05 )
011 : [33 00] - UC ( 00 )
013 : [4A 00] - MENU2 ( 00 )

****** Section n°12 (nara2) Script n° 2 ******
000 : [00] - RET

****** Section n°12 (nara2) Script n° 3 ******
000 : [B2 00 00 10] - MSPED ( 00, 00, 10 )
004 : [00] - RET

****** Section n°12 (nara2) Script n° 4 ******
000 : [B2 00 00 04] - MSPED ( 00, 00, 04 )
004 : [00] - RET


And by the way...
do anyone know, where are submarine mingame text, and gender of chocobo text(male/female)?
(they arent easy to found, so I ask... cant find nowhere, and debugger sometimes crashed... so I neeeed debug more, but I failed.. debuder crashed... ...:P)

23
German version+german ff7.exe = dont rename minigames
German version+english ff7.exe = rename minigames

try instal win9x, install old grafic drivers... :P
I get crash on win2k, everytime if leave any level...

24
You have German version? And using english FF7.exe?
You sure renamed proprely minigames LGP names?


(eee the part is not short, I dont found snowboard so I gived up:P)

25
Troubleshooting / Re: FF7 Installation Problems
« on: 2007-11-10 09:29:37 »
if I am not wrong, you can only copy DATA from install CD and add some entries to registry.

"MoviePath" can lead to CD, to movies
"AppPath" can lead to your FF7 folder
"DataDrive" is patch to your FF7 CD(patch to cdrom)

other should be overwrite be FF7config...

Code: [Select]
[HKEY_LOCAL_MACHINE\Software\Square Soft, Inc.]

[HKEY_LOCAL_MACHINE\Software\Square Soft, Inc.\Final Fantasy VII]
"DataDrive"="LETTER_OF_CD-ROM_WITH_FF7:"
"AppPath"=".\\"
"DataPath"=".\\Data\\"
"MoviePath"=".\\Movies\\"
"DiskNo"=dword:00000000
"FullInstall"=dword:00000001

[HKEY_LOCAL_MACHINE\Software\Square Soft, Inc.\Final Fantasy VII\1.00]

[HKEY_LOCAL_MACHINE\Software\Square Soft, Inc.\Final Fantasy VII\1.00\Graphics]
"DD_GUID"=hex:
"DriverPath"=""
"Driver"=dword:ffffffff
"Mode"=dword:ffffffff
"Options"=dword:ffffffff

[HKEY_LOCAL_MACHINE\Software\Square Soft, Inc.\Final Fantasy VII\1.00\MIDI]
"MIDI_DeviceID"=dword:ffffffff
"MIDI_data"="GENERAL_MIDI"
"MusicVolume"=dword:00000064
"Options"=dword:00000001

[HKEY_LOCAL_MACHINE\Software\Square Soft, Inc.\Final Fantasy VII\1.00\Sound]
"Sound_GUID"=hex:
"Options"=dword:00000000
"SFXVolume"=dword:00000064

Pages: [1] 2 3 4 5