Possible next features of QuickBMS

Doubts, help and support about QuickBMS and other game research tools
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Possible next features of QuickBMS

Post by aluigi »

I need a sample
Shokoniraya
Posts: 416
Joined: Sat Sep 15, 2018 5:22 am

Re: Possible next features of QuickBMS

Post by Shokoniraya »

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
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Possible next features of QuickBMS

Post by aluigi »

it's a problem of the script.
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
Shokoniraya
Posts: 416
Joined: Sat Sep 15, 2018 5:22 am

Re: Possible next features of QuickBMS

Post by Shokoniraya »

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
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Possible next features of QuickBMS

Post by aluigi »

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 :)
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Possible next features of QuickBMS

Post by aluigi »

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.
Shokoniraya
Posts: 416
Joined: Sat Sep 15, 2018 5:22 am

Re: Possible next features of QuickBMS

Post by Shokoniraya »

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
and so on
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!
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Possible next features of QuickBMS

Post by aluigi »

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.
Brolijah
Posts: 11
Joined: Thu Apr 18, 2019 6:45 pm

Re: Possible next features of QuickBMS

Post by Brolijah »

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.
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Possible next features of QuickBMS

Post by aluigi »

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.
Shokoniraya
Posts: 416
Joined: Sat Sep 15, 2018 5:22 am

Re: Possible next features of QuickBMS

Post by Shokoniraya »

can you add a better zlib and lzo (lzo1x) library too?
and why deflate always is a problem?
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Possible next features of QuickBMS

Post by aluigi »

what's the problem?
both zlib (zlib, zopfli, advancedcomp, uberflate) and lzo work perfectly.
Shokoniraya
Posts: 416
Joined: Sat Sep 15, 2018 5:22 am

Re: Possible next features of QuickBMS

Post by Shokoniraya »

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!
Mysticus
Posts: 182
Joined: Sat Mar 02, 2019 3:24 pm

Re: Possible next features of QuickBMS

Post by Mysticus »

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)?
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Possible next features of QuickBMS

Post by aluigi »

@Shokoniraya
I need sample

@Mysticus
off-topic
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Possible next features of QuickBMS

Post by aluigi »

@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
Shokoniraya
Posts: 416
Joined: Sat Sep 15, 2018 5:22 am

Re: Possible next features of QuickBMS

Post by Shokoniraya »

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
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Possible next features of QuickBMS

Post by aluigi »

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.
Shokoniraya
Posts: 416
Joined: Sat Sep 15, 2018 5:22 am

Re: Possible next features of QuickBMS

Post by Shokoniraya »

based on size? then its fine
aluigi
Site Admin
Posts: 12984
Joined: Wed Jul 30, 2014 9:32 pm

Re: Possible next features of QuickBMS

Post by aluigi »

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 :)