Josh Posted August 19 Share Posted August 19 This extension adds a self-contained game publishing system. Currently the extension adds all project files into a zip archive named "data.zip", with optional encryption. It's not finished, but I wanted to get it out there as quickly as possible so people can see how it works and how they might want to customize it. Update 3: Publisher.lua Update 2: Publisher.lua Original: Publisher.lua Ultra 0.9.7 beta is required. 5 Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
karmacomposer Posted August 20 Share Posted August 20 Awesome! I cannot wait for this to be completed. Please make strong encryption (AES256) to protect our assets and work. Mike Quote MSI Dominator Laptop - Core i7 - 8 cores / 3ghz / 32gb RAM / Nvidia 980 GTX with 16gb vram / SSD drives MSI Dominator Laptop - Core i7 - 8 cores / 3ghz / 32gb RAM / Nvidia 1060 GTX with 8gb vram / SSD drives Alienware Laptop - Core i7 - 8 cores / 3ghz / 32gb RAM / Nvidia 1070 Ti with 16gb vram / SSD drives My Patreon page: https://www.patreon.com/michaelfelkercomposer My music for sale: https://www.tgcstore.net/category/513?format=all&perpage=30&textures=undefined&price=all&order=default&artists[]=87213 Custom synths and sounds - http://www.supersynths.com Link to comment Share on other sites More sharing options...
Josh Posted August 20 Author Share Posted August 20 The updated version above actually scans scene files and finds materials, models, and textures, then scans material and glTF files and finds more textures (those formats are all JSON-based so it's pretty easy to step through them looking for file paths). Currently scanning of our native model file format is not performed because the model format is a bit complicated to step through. I need to think about the solution to this. You will want to add something like this in your main.cpp file: //Load packages const WString password = "xxxxxxxxxxx"; std::vector<std::shared_ptr<Package> > packages; auto dir = LoadDir(""); for (auto file : dir) { if (ExtractExt(file).Lower() == "zip") { auto pak = LoadPackage(file); if (pak) { pak->SetPassword(password); packages.push_back(pak); } } } 1 Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
Josh Posted August 21 Author Share Posted August 21 This has been added to the installation. 1 Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
Josh Posted August 24 Author Share Posted August 24 I am going to pull this out of 0.9.7 for two reasons: It blocks the event loop, which is okay for small projects but not so good for big ones. There is still a question of how the password can be stored securely in the executable. The first issue is not as serious, but the second could cause problems if people are not aware of it. The current version is uploaded in the first post (Update 3). 1 Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
Josh Posted August 25 Author Share Posted August 25 We can make the script generate a bat file that calls tar.exe to generate the zip: @echo off setlocal :: Set variables set "input_file=path\to\your\file.txt" set "output_archive=path\to\your\archive.zip" set "encryption_password=YourSecretPassword" :: Call tar to create a zip archive with AES-256 encryption tar -cvf - "%input_file%" | openssl enc -aes-256-cbc -e -pass pass:"%encryption_password%" -out "%output_archive%" echo Compression completed: %output_archive% endlocal 1 Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
Josh Posted August 28 Author Share Posted August 28 This copy of the script won't perform the zip compression, but will just scan files and print out how long it took: Publisher.lua For a new default project on my machine, it takes 0.3 seconds. 1 Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
Josh Posted August 29 Author Share Posted August 29 If the file scanning part is fast enough, I can then make an asynchronous zip packaging function that accepts a list of files, so the GUI thread is not blocked and a progress bar can be displayed. 1 Quote My job is to make tools you love, with the features you want, and performance you can't live without. Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.