Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.

Possible next features of QuickBMS

Featured Replies

  • Author
  • Localization

puggsoy, posted Sat Feb 21, 2015 4:12 am (3310)


I would like a script command to check if a file with a certain filename already exists. I saw that you can do this with the Open command, but I would prefer not to open existing files (since I might be checking many files and this could slow down the script). A simple checking command would be helpful :)
  • Replies 679
  • Views 46
  • Created
  • Last Reply

Top Posters In This Topic

  • Author
  • Localization

aluigi, posted Sat Feb 21, 2015 9:21 am (3315)


I think that the Open command with the "exists" argument is the only solution because the slowness you can notice is probably caused by the script engine itself and not the opening of the file.

An alternative solution is the Scandir command that is probably closer to what you need.
  • Author
  • Localization

puggsoy, posted Sat Feb 21, 2015 11:22 am (3319)


Well I assumed that Open loads the file into memory, but I just used it in a different script and apparently it doesn't. However, I did notice that it creates the file if it doesn't exist; this would be inconvenient for checking.

Scandir looks like the proper solution though, using the FILTER argument. Thank you!
  • Author
  • Localization

aluigi, posted Sat Feb 21, 2015 11:38 am (3322)


That behaviour of Open (creating the file) happens only if you use the reimport feature.
But if you use the reimporting quickbms automatically checks the existence of the files.
  • Author
  • Localization

puggsoy, posted Sat Feb 21, 2015 11:50 am (3324)


Oh, it must be the fact that I'm writing to the file. If it doesn't exist and I use a Put command then it creates it.

By the way, is there an easy way to continue loops? Ending the loop early like Break, but not breaking out of the loop, just going directly to the next iteration. If not, I'd like to suggest a Continue command.
  • Author
  • Localization

aluigi, posted Sat Feb 21, 2015 11:57 am (3325)


The implementation of "continue" and "break" was difficult, in fact break doesn't work in some situations.
In these cases you must use many "if" or some variable set to 1 or 0 that continue the loop.
For example:
Code:
for
    math OK = 1
    if SIGN == "asdf"
        math OK = 0
    elif SIGN == "asdx"
        math OK = 0
    endif

    if OK != 0
        # do something
    endif
next
  • Author
  • Localization

puggsoy, posted Sat Feb 21, 2015 12:33 pm (3328)


Mm, OK. My main use for it would be in complex loops where I have to check many things at different points, since otherwise I have to use nested if statements which can end up being a bit ugly.

But if it's difficult to implement then I understand, so it's fine :)
  • Author
  • Localization

chrrox, posted Mon Feb 23, 2015 11:18 am (3370)


Is it possible to add a dictionary type to quickbms?
  • Author
  • Localization

aluigi, posted Mon Feb 23, 2015 1:49 pm (3371)


Do you mean a dictionary for zlib compression?
  • Author
  • Localization

aluigi, posted Mon Feb 23, 2015 10:25 pm (3384)


The only way to have something similar is using the arrays but it's not the same.
Note that if you use "putarray 0 -1 VAR" it will append the VAR to the array 0 so you don't need to increment an index. I forgot to document it in quickbms.txt
  • Author
  • Localization

aluigi, posted Wed Mar 25, 2015 9:45 am (4087)


Maybe it's a stupid idea but what you think about offzip embedded in quickbms?
Basically the idea is being able to reimport the files back without using packzip.

Obviously it would be not limited to zlib but to any compression algorithm, but don't be happy because only zlib, deflate, lzma and probably few others are reliable (zero or few false positives) and don't crash.
  • Author
  • Localization

puggsoy, posted Fri Mar 27, 2015 7:40 am (4118)


I think this is a pretty good idea. The only real downside is that people who simply want to use the Offzip functionality would have to download QuickBMS entirely. It's not a big issue though. Personally I use both and having them in one program would be helpful.

What would the syntax for running it be? I imagine something like this?
Code:
quickbms -z myfile.comp myfile.dec 0x100
  • Author
  • Localization

aluigi, posted Fri Mar 27, 2015 3:32 pm (4126)


offzip will continue to exist while this feature (a bms command or command-line option) is just for experimenting with the huge amount of compressions in quickbms.
  • Author
  • Localization

aluigi, posted Fri Mar 27, 2015 5:08 pm (4140)


Ah, I have just started to work on the new version of quickbms and I have already done half of the things in my TODO.
Hope to have everything ready before the end of next week.

If anyone has suggestions and feedbacks, that's the right moment :)
  • Author
  • Localization

michalss, posted Sat Mar 28, 2015 6:44 am (4158)


aluigi wrote:
Ah, I have just started to work on the new version of quickbms and I have already done half of the things in my TODO.
Hope to have everything ready before the end of next week.

If anyone has suggestions and feedbacks, that's the right moment :)


Still considering string replacement ?
  • Author
  • Localization

aluigi, posted Sat Mar 28, 2015 4:47 pm (4174)


Yes it's in my TODO list as last thing to implement before the release.
That feature would be interesting but I have some doubts about its implementation.
For example let's say that all the strings are dumped in a text file one-per-line and one of them is a multi-line string... in that case the reimporting would be not possible.
An alternative is placing a certain sequence of chars to divide each string like "###" or similar to limit the problem.

Then there are the size limitations because it would be just a reinjecter (the only choice for being a generic tool).

Basically the main benefit in this feature is just the possibility to translate games without using a hex editor.
That's the only benefit because the rest is just like a hex editor work.
  • Author
  • Localization

michalss, posted Sat Mar 28, 2015 5:09 pm (4175)


true but \r or \rn can be easy to detect and simple implement replace it with something like [\r] or similar. I guess this is easy. Well to be honest everything is better then use HEX :D
  • Author
  • Localization

aluigi, posted Sat Mar 28, 2015 5:12 pm (4176)


That's a good idea too that allows to have everything in one line.
By using [\r][\n] I can even avoid to "parse" the string because it will be enough to make a replacement.

I have just noticed that after having added over 30 new algorithms the size of the final exe is almost 13 megabytes :O
  • Author
  • Localization

michalss, posted Sun Mar 29, 2015 10:44 am (4191)


aluigi wrote:
That's a good idea too that allows to have everything in one line.
By using [\r][\n] I can even avoid to "parse" the string because it will be enough to make a replacement.

I have just noticed that after having added over 30 new algorithms the size of the final exe is almost 13 megabytes :O


Also 1 more thing, need to be able to specify the encoding as well mate.. Commons are Unicode, UTF8, ASCII, etc...
  • Author
  • Localization

aluigi, posted Sun Mar 29, 2015 10:20 pm (4197)


I have had some problems while trying to implement the unicode charset handling in the past.
Basically doesn't matter what charset I chosed because the result was ever the same or not matching the expected one.

I guess that this week I will release the new quickbms and then I will work on the string-related stuff for the next-next version.
  • Author
  • Localization

aluigi, posted Mon Mar 30, 2015 10:18 am (4198)


I would like to add some compressions that may be available in RPGViewer and not in quickbms but I don't know the games and samples of these compressions, if you know them or remember something feel free to let me know.

Currently quickbms contains 517 algorithms :)

I have also finished the tasks I had for my TODO.
  • Author
  • Localization

aluigi, posted Mon Mar 30, 2015 11:31 am (4200)


I'm evaluating the possibility of moving the source code of quickbms in another ZIP, maybe a quickbms_src.zip so that only who needs it will download it.
The reason is that currently the compressed "src" folder is over 4 megabytes and is totally useless (if not even confusing) to the final user.
  • Author
  • Localization

michalss, posted Mon Mar 30, 2015 1:12 pm (4204)


aluigi wrote:
I'm evaluating the possibility of moving the source code of quickbms in another ZIP, maybe a quickbms_src.zip so that only who needs it will download it.
The reason is that currently the compressed "src" folder is over 4 megabytes and is totally useless (if not even confusing) to the final user.



agrees :)
  • Author
  • Localization

aluigi, posted Tue Mar 31, 2015 9:38 pm (4263)


QuickBMS 0.6.2 will be released in the next hours.
The RSA encryption, export/reimport of strings, charset encoding and that sort of offzip-like scanner idea will be implemented in another version.
Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.