Possible next features of QuickBMS
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: Possible next features of QuickBMS
I need a sample
-
- Posts: 416
- Joined: Sat Sep 15, 2018 5:22 am
Re: Possible next features of QuickBMS
aluigi, there is a problem with get text string
i dont know how quickbms can get strings but i know it is must be like that:
like this: get string and stop it when reach to a zero \x00 byte! must be like that!
problem: quickbms has problem in get YOUR_TEXT string, for example you can download this zip file and export text, done and then go and check line 12 (TEST-STRING.zip)!
dialog is 40th St.. But QuickBMS will dump as 40th St.\0Auto Hide\041st St.\0Find a snit
and some times, if dialog start with a number and a space, other part will not dump
example: dialog is 2 player can't be at same place, Please go to a diffirent location
but will dump as 2
i think you have to fix get TEXT string
i dont know how quickbms can get strings but i know it is must be like that:
like this: get string and stop it when reach to a zero \x00 byte! must be like that!
problem: quickbms has problem in get YOUR_TEXT string, for example you can download this zip file and export text, done and then go and check line 12 (TEST-STRING.zip)!
dialog is 40th St.. But QuickBMS will dump as 40th St.\0Auto Hide\041st St.\0Find a snit
and some times, if dialog start with a number and a space, other part will not dump
example: dialog is 2 player can't be at same place, Please go to a diffirent location
but will dump as 2
i think you have to fix get TEXT string
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: Possible next features of QuickBMS
it's a problem of the script.
You must simply use: slog "" OFFSET -1
From:
To:
Ah, in the next beta and final quickbms -b will be replaced by -j, -b will be used for specifying the filler char when the reimported file is smaller than the original: by default space (0x20) in slog and 0x00 in Clog and Log
You must simply use: slog "" OFFSET -1
From:
Code: Select all
savepos OFFHANDLER
goto OFFSET
get LENGHT string
math LENGHT -= 1
goto OFFHANDLER
slog "" OFFSET LENGHT
To:
Code: Select all
slog "" OFFSET -1
Ah, in the next beta and final quickbms -b will be replaced by -j, -b will be used for specifying the filler char when the reimported file is smaller than the original: by default space (0x20) in slog and 0x00 in Clog and Log
-
- Posts: 416
- Joined: Sat Sep 15, 2018 5:22 am
Re: Possible next features of QuickBMS
QuickBMS can calculate and get text with -1! So why get TEXT string has problem? Weird!
So can you fix get TEXT string?
I have to use some texts in string NAME p, what about that? slog is fine if -1 can solve that but other text (except slog or dumping) has problem
If string reach to zero, then stop reaching. Must work like that and I think script was fine
So can you fix get TEXT string?
I have to use some texts in string NAME p, what about that? slog is fine if -1 can solve that but other text (except slog or dumping) has problem
If string reach to zero, then stop reaching. Must work like that and I think script was fine
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: Possible next features of QuickBMS
what you wanted to use in your old script was strlen:
strlen LENGHT LENGHT
you got the string LENGHT from the file and you used math on it, which was wrong
strlen LENGHT LENGHT
you got the string LENGHT from the file and you used math on it, which was wrong
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: Possible next features of QuickBMS
The new beta is out:
http://aluigi.org/beta/quickbms_0.9.3.zip
I plan to release the new version on Monday so if you have any idea or bug, this is the right moment
Remember what I said about -b that is -j now.
http://aluigi.org/beta/quickbms_0.9.3.zip
I plan to release the new version on Monday so if you have any idea or bug, this is the right moment
Remember what I said about -b that is -j now.
-
- Posts: 416
- Joined: Sat Sep 15, 2018 5:22 am
Re: Possible next features of QuickBMS
aluigi wrote:The new beta is out:
http://aluigi.org/beta/quickbms_0.9.3.zip
I plan to release the new version on Monday so if you have any idea or bug, this is the right moment
Remember what I said about -b that is -j now.
new thing
change utf-16 from big endian to little endian
make quickbms to use full cpu using (use maximum cpu to make it fast or add an option if someone dont want to use at maximum)
add a log for xml (I know its hard, but for next release after 0.9.3)
like this:
Code: Select all
get HEADER long
get DUMMY long
get FILES long
for i = 0 < files
get DUMMY long
get X-OFFSET long
get Y-OFFSET long
get W-SIZE long
get H-SIZE long
xlog X-OFFSET Y-OFFSET W-SIZE H-SIZE(and so many other parts to add in xlog)
next i
xlog should just replace hex-decimal numbers (just like hex editor)
and quickbms generate a xml (xml tags and template must generate by quickbms and not create by user)
examle
Code: Select all
<xlog>
<X-OFFSET="428" Y-OFFSET="504" W-SIZE="24" H-SIZE="60">
</xlog>
xlog can helps a lot in config modding like fonts and save files and server files and alot of files! even change setting or coordination files and object files in games!
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: Possible next features of QuickBMS
Good, I forgot about the big endian in -j and it will be changed to little endian, anyway doesn't change anything when editing.
Regarding the CPU, quickbms is not limited in any way BUT:
- it's single thread, it's not possible to support multiple CPU at the same time because all the operations are in sequential order
- the handling of the commands is slow because there is no JIT compilation
So there are no ways to improve it.
Regarding xlog... it seems really very complicated and it's still the same thing we discussed in the previous post.
Regarding the CPU, quickbms is not limited in any way BUT:
- it's single thread, it's not possible to support multiple CPU at the same time because all the operations are in sequential order
- the handling of the commands is slow because there is no JIT compilation
So there are no ways to improve it.
Regarding xlog... it seems really very complicated and it's still the same thing we discussed in the previous post.
-
- Posts: 11
- Joined: Thu Apr 18, 2019 6:45 pm
Re: Possible next features of QuickBMS
Greetings, I'd like to submit some code for a decompression format not contained with QuickBMS. I was referred to this thread by chrrox to share this. Getting to it...
I've been calling it "Aqualead LZSS," and the file magic is "ALLZ".
Aqualead is a game development framework sold within Japan. According to their online documentation, their compression is a modified variant of LZSS with their own optimizations added in.
Link to my decompression tool source code (DL under releases):
https://github.com/Brolijah/Aqualead_LZSS
Some sample files to test with:
https://www.dropbox.com/s/6u1sjn5yxflm1 ... s-ALLZ.rar
Extra:
This tool I compiled using the decompression ASM routines I pulled from Groove Coaster for Steam. While I have confidence in my own C program linked above, I'm including this in case you might be curious how exactly a game using ALLZ does it. This is 100% guaranteed to work.
https://www.dropbox.com/s/lo3s51eub6ie1 ... SS_ASM.zip
If you have any questions or concerns, I'll try to answer them as best I can.
I've been calling it "Aqualead LZSS," and the file magic is "ALLZ".
Aqualead is a game development framework sold within Japan. According to their online documentation, their compression is a modified variant of LZSS with their own optimizations added in.
Link to my decompression tool source code (DL under releases):
https://github.com/Brolijah/Aqualead_LZSS
Some sample files to test with:
https://www.dropbox.com/s/6u1sjn5yxflm1 ... s-ALLZ.rar
Extra:
This tool I compiled using the decompression ASM routines I pulled from Groove Coaster for Steam. While I have confidence in my own C program linked above, I'm including this in case you might be curious how exactly a game using ALLZ does it. This is 100% guaranteed to work.
https://www.dropbox.com/s/lo3s51eub6ie1 ... SS_ASM.zip
If you have any questions or concerns, I'll try to answer them as best I can.
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: Possible next features of QuickBMS
Excellent job Elijah, I will add it to the next quickbms.
Let me know if you are aware of other algorithms that may be worth to add.
Let me know if you are aware of other algorithms that may be worth to add.
-
- Posts: 416
- Joined: Sat Sep 15, 2018 5:22 am
Re: Possible next features of QuickBMS
can you add a better zlib and lzo (lzo1x) library too?
and why deflate always is a problem?
and why deflate always is a problem?
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: Possible next features of QuickBMS
what's the problem?
both zlib (zlib, zopfli, advancedcomp, uberflate) and lzo work perfectly.
both zlib (zlib, zopfli, advancedcomp, uberflate) and lzo work perfectly.
-
- Posts: 416
- Joined: Sat Sep 15, 2018 5:22 am
Re: Possible next features of QuickBMS
aluigi wrote:what's the problem?
both zlib (zlib, zopfli, advancedcomp, uberflate) and lzo work perfectly.
deflate has problem in some games (just in reimporting) and just in some games, like Evil whithin 2! or limbo!
-
- Posts: 182
- Joined: Sat Mar 02, 2019 3:24 pm
Re: Possible next features of QuickBMS
Any chance about your Umineko: Golden Fantasia (PC) script update?
I need that to extract sprites.
And what about the XOR encryption script for UNDER NIGHT IN-BIRTH Exe:Late[st] (PC)?
I need that to extract sprites.
And what about the XOR encryption script for UNDER NIGHT IN-BIRTH Exe:Late[st] (PC)?
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: Possible next features of QuickBMS
@Shokoniraya
I need sample
@Mysticus
off-topic
I need sample
@Mysticus
off-topic
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: Possible next features of QuickBMS
@Shokoniraya
If you refer to the zopli bug in reimport mode, it has been fixed in the beta
I have just uploaded the new beta.
Quickbms 0.10.0 will be released this Sunday, and the beta will be the final version if there are no other things to add/fix
If you refer to the zopli bug in reimport mode, it has been fixed in the beta
I have just uploaded the new beta.
Quickbms 0.10.0 will be released this Sunday, and the beta will be the final version if there are no other things to add/fix
-
- Posts: 416
- Joined: Sat Sep 15, 2018 5:22 am
Re: Possible next features of QuickBMS
release quickbms in monday
i just find a problem!
seems like quickbms cant add \x00\x00 in end of a unicode text in text file in reimporting
you can download and click on reimport and you will see
i removed message_22.lng content
i just find a problem!
seems like quickbms cant add \x00\x00 in end of a unicode text in text file in reimporting
you can download and click on reimport and you will see
i removed message_22.lng content
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: Possible next features of QuickBMS
It seems to work well because it's a size-based string, so no NUL delimiter must be placed there.
Extraction of the rebuilt lng file is perfect indeed.
Extraction of the rebuilt lng file is perfect indeed.
-
- Posts: 416
- Joined: Sat Sep 15, 2018 5:22 am
Re: Possible next features of QuickBMS
based on size? then its fine
-
- Site Admin
- Posts: 12984
- Joined: Wed Jul 30, 2014 9:32 pm
Re: Possible next features of QuickBMS
Yes, there you have 'slog "" OFFSET SIZE unicode' so doesn't matter what bytes you have at SIZE+1, SIZE+2 and so on.
Anyway it was useful to spot a little rare thing.
Basically SLog works with text and it's possible to use non-printable bytes like 0x0d and 0x0a using \r and \n, while testing your file I noticed that \0 (the NUL byte) wasn't used because it was filtered by the function that converts utf8 data to unicode.
For example "asdf\x00asdf" in Slog unicode should produce a string of 4+1+4 characters while currently it produces 4 characters.
It's NOT a bug but I prefer to handle it in the final version released tomorrow and produce the 4+1+4 output... it's useless but who knows
Anyway it was useful to spot a little rare thing.
Basically SLog works with text and it's possible to use non-printable bytes like 0x0d and 0x0a using \r and \n, while testing your file I noticed that \0 (the NUL byte) wasn't used because it was filtered by the function that converts utf8 data to unicode.
For example "asdf\x00asdf" in Slog unicode should produce a string of 4+1+4 characters while currently it produces 4 characters.
It's NOT a bug but I prefer to handle it in the final version released tomorrow and produce the 4+1+4 output... it's useless but who knows