ZenHAX

Free Game Research Forum | Official QuickBMS support | twitter @zenhax | SSL HTTPS://zenhax.com
It is currently Tue Sep 17, 2019 11:02 pm

All times are UTC




Post new topic  Reply to topic  [ 526 posts ]  Go to page Previous 123 24 25 26 27 Next
Author Message
PostPosted: Sun Apr 28, 2019 6:26 am 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 10569
QuickBMS 0.10.0 is out


Top
   
PostPosted: Sun Apr 28, 2019 12:38 pm 

Joined: Thu Aug 07, 2014 10:28 pm
Posts: 242
was ALLZ compression added?
I can't seem to find it.


Top
   
PostPosted: Sun Apr 28, 2019 1:35 pm 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 10569
I guess you mean ALZSS


Top
   
PostPosted: Tue Apr 30, 2019 12:01 pm 
User avatar

Joined: Sat Sep 15, 2018 5:22 am
Posts: 239
aluigi, please make a quick update

there is a problem

if size is 0, then offset will set to 0? can you just set it to act like normal?
i want to make script for a text file with offset (no size)
if i remove a line, then offset will turn to 0
and game will read header as a text (because offset is 0 and just in one game)
if size is 0, then OFFSET must be act like normal! (like anyother size! not set to zero just because size is zero!)
this is a problem and some games will crash if text-offset turn to 0!
please fix it


Top
   
PostPosted: Tue Apr 30, 2019 12:19 pm 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 10569
What reimport mode are you using?
Do you have a sample for replicating the problem on the fly?


Top
   
PostPosted: Tue Apr 30, 2019 7:05 pm 
User avatar

Joined: Sat Sep 15, 2018 5:22 am
Posts: 239
another bug!
en.mo is a empty file (i wrote zero in every offset blocks)
and see what happening after importing!! (check in hex editor)

quickbms has bug in some cases, please accept it (same story in past months :cry: )


Attachments:
mo.zip [3.01 KiB]
Downloaded 19 times
Top
   
PostPosted: Tue Apr 30, 2019 7:33 pm 
User avatar

Joined: Sat Sep 15, 2018 5:22 am
Posts: 239
a sample file uploded in this comment to prove it (tfo.zip)
in this file, i removed text and wrote zero in offset block, but offset must turn to 20 (and add a zero at end of text) not zero! if text is empty, then add new offset with one zero or two (its up to unicode)


Attachments:
tfo.zip [700 Bytes]
Downloaded 21 times
Top
   
PostPosted: Fri May 03, 2019 11:07 am 
User avatar

Joined: Sat Sep 15, 2018 5:22 am
Posts: 239
some new features for quickbms

add UTF-32 support
add quiet mode


Top
   
PostPosted: Fri May 03, 2019 4:52 pm 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 10569
UTF-32? I don't see any need to use it, nobody use it.

For the quiet mode, have you tried -Q?

Regarding the other 2 posts I have not checked them yet.

Please note that there is a bug (I used atoi instead of myatoi) in -b, -b 0x2d doesn't work but -b + works, so -b 0x20 doesn't while -b " " does.


Top
   
PostPosted: Fri May 03, 2019 4:58 pm 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 10569
Shokoniraya wrote:
another bug!
en.mo is a empty file (i wrote zero in every offset blocks)
and see what happening after importing!! (check in hex editor)

quickbms has bug in some cases, please accept it (same story in past months :cry: )

No, quickbms is correct, your script is wrong:
Code:
. 000003f4 get     LAST_OFF   0x00000a68 -2
. 000003f4 get     LENGHT     0x00000120 4
. 000003f8 get     OFFSET     0x00000000 4


Top
   
PostPosted: Fri May 03, 2019 5:00 pm 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 10569
Shokoniraya wrote:
a sample file uploded in this comment to prove it (tfo.zip)
in this file, i removed text and wrote zero in offset block, but offset must turn to 20 (and add a zero at end of text) not zero! if text is empty, then add new offset with one zero or two (its up to unicode)

Same as for the other sample, OFFSET is zero and FAKE_SIZE is not declared which means it's zero.


Top
   
PostPosted: Fri May 03, 2019 5:34 pm 
User avatar

Joined: Sat Sep 15, 2018 5:22 am
Posts: 239
utf-32 used in some new games
like mortal kombat and some engine files


Top
   
PostPosted: Fri May 03, 2019 5:42 pm 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 10569
I will check what I can do about utf32.
I think Assetto Corsa (data.acd) uses it too, but they are really very very rare cases.


Top
   
PostPosted: Wed May 08, 2019 1:09 pm 
User avatar

Joined: Sat Sep 15, 2018 5:22 am
Posts: 239
aluigi, another problem, quickbms just can read Uint and why cant read same as normal int? its a problem in negative numbers bacause Uint doesnt have any negative number!

can you replace correct version of quickbms with a fixed version for that?


Top
   
PostPosted: Sun May 19, 2019 2:06 pm 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 10569
The story about unsigned int and int is complicated because for quickbms they are basically the same, the only difference is with "if", "math" and some other instructions.

If you use quickbms_4gb_files, EVERY 32bit field is unsigned because 0x00000000ffffffff is positive, while in quickbms it's 0xffffffff which is negative.

Long story short, if you want a signed 32bit use signed_long which is universally accepted:
Code:
get VAR signed_long


Top
   
PostPosted: Sat Jun 15, 2019 3:49 pm 
User avatar

Joined: Sat Sep 15, 2018 5:22 am
Posts: 239
sir aluigi, why its not possible to use float (single or 32 float) in putvarchr?

example code
Code:
get VAR float
putvarchr MEMORY_FILE1 0 VAR float MEMORY_FILE1

can i write(put) a float VAR in memory_file somehow?


Top
   
PostPosted: Sat Jun 15, 2019 4:46 pm 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 10569
floats aren't really supported. They are converted to integer and saved without the part after the comma.

Example:
"put 123.456 float MEMORY_FILE" -> 123.000 (00 00 f6 42)
if input is 79 e9 f6 42, "get DUMMY float" read 123

Long story short, do NOT use floats in quickbms.


Top
   
PostPosted: Sun Jun 16, 2019 11:46 am 
User avatar

Joined: Sat Sep 15, 2018 5:22 am
Posts: 239
but can you do something in future?
i know size and offset cant be float. but you can do rounding just in output file
i want to make a script for convert a xml font to template binary, it can help a lot to edit config files


Top
   
PostPosted: Sun Jun 16, 2019 8:54 pm 
Site Admin
User avatar

Joined: Wed Jul 30, 2014 9:32 pm
Posts: 10569
No need to make any change.
Even now you can handle floats with some "creativity".

Example for input float (as string like in your xml) and output as float (32bit field "long"):
Code:
set VAR string "123.456"
string VAR s "%f" OUTPUT
print "%OUTPUT|x%"

log MEMORY_FILE 0 0
put OUTPUT long MEMORY_FILE


Top
   
PostPosted: Mon Jun 17, 2019 6:06 pm 
User avatar

Joined: Sat Sep 15, 2018 5:22 am
Posts: 239
thank you, that was exactly what i looked for

and just an other question, how can i read a float and dumped in txt?
i mean how can i convert long to a string float?

i tried this
Code:
goto 0
get POINT long
string NUMB p "%f" POINT
print "%NUMB%"


file is 82 E8 B1 3E
float32 is 0.34747701883316, but quickbms show 0.347477, last 8 number will not show, even in dumped txt


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 526 posts ]  Go to page Previous 123 24 25 26 27 Next

All times are UTC


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Powered by phpBB® Forum Software © phpBB Limited