Torque 3D MIT 3.5 Zip Support...
by Quinton Delpeche · in Torque 3D Professional · 04/08/2014 (1:19 am) · 9 replies
I have spent a good couple of hours trawling through the forums and the site trying the various suggestions to get the Zip support working in Torque 3D MIT 3.5 and I have not been able to get it right.
Does anyone know how to get this to work correctly? (No external tools please)
I have tried various options and combinations of:
#define TORQUE_DISABLE_VIRTUAL_MOUNT_SYSTEM
#define TORQUE_DISABLE_FIND_ROOT_WITHIN_ZIP
#define TORQUE_ZIP_DISK_LAYOUT
Are there specific directories that you shouldn't zip ... do you zip all the folders together or not ... what do you name the folders ... confusion is setting in followed by a little bit of frustration.
Any help here would be greatly appreciated ... thanks in advance.
Does anyone know how to get this to work correctly? (No external tools please)
I have tried various options and combinations of:
#define TORQUE_DISABLE_VIRTUAL_MOUNT_SYSTEM
#define TORQUE_DISABLE_FIND_ROOT_WITHIN_ZIP
#define TORQUE_ZIP_DISK_LAYOUT
Are there specific directories that you shouldn't zip ... do you zip all the folders together or not ... what do you name the folders ... confusion is setting in followed by a little bit of frustration.
Any help here would be greatly appreciated ... thanks in advance.
About the author
Gobbo Games is an Independent Games Development company operating from Durban in South Africa. We believe in creating high-quality cost-effective games that remain true to the belief of Independent Game Developers around the world.
#2
Here are the steps:
1). In the root folder of your game executable, create a folder called game. In the source code, platformVolume.cpp refers to the a folder called game ... 'return MountZips("game");'.
2). Make sure all your sounds are set to 'preload = "false";' or you will get console errors and the executable will crash.
3). If you don't change any settings in "torqueConfig.h" you can just zip up the root of the folders ... i.e. select the art folder and created a zip of it.
4). If you enable this option "#define TORQUE_DISABLE_FIND_ROOT_WITHIN_ZIP" in "torqueConfig.h" then you have to zip up the contents of the folder and not the folder itself.
Caveats: There has been some suggestions that you should not zip up the shaders folder ... I will run some tests on this but I haven't noticed any issues.
Unknown: I am not sure how this "#define TORQUE_ZIP_DISK_LAYOUT" actually works yet ... will try some more tests later but it didn't seem to work as expected for me.
My next steps are to rename the default game folder to something more in line with my needs, change the password to something more secure, and do more extensive testing on the various folders being zipped.
04/08/2014 (2:14 am)
Hey alphaslime ... okay that was one thread that helped me. I have resolved it now.Here are the steps:
1). In the root folder of your game executable, create a folder called game. In the source code, platformVolume.cpp refers to the a folder called game ... 'return MountZips("game");'.
2). Make sure all your sounds are set to 'preload = "false";' or you will get console errors and the executable will crash.
3). If you don't change any settings in "torqueConfig.h" you can just zip up the root of the folders ... i.e. select the art folder and created a zip of it.
4). If you enable this option "#define TORQUE_DISABLE_FIND_ROOT_WITHIN_ZIP" in "torqueConfig.h" then you have to zip up the contents of the folder and not the folder itself.
Caveats: There has been some suggestions that you should not zip up the shaders folder ... I will run some tests on this but I haven't noticed any issues.
Unknown: I am not sure how this "#define TORQUE_ZIP_DISK_LAYOUT" actually works yet ... will try some more tests later but it didn't seem to work as expected for me.
My next steps are to rename the default game folder to something more in line with my needs, change the password to something more secure, and do more extensive testing on the various folders being zipped.
#3
04/08/2014 (6:59 am)
I'd be cautious using T3D's built in zip read code. I tried it and it gave terrible performance. I use genEpak (which probably isn't available anymore) which gave excellent performance ... however in retrospect I figure the paranoia probably wasn't worth the time or effort. I doubt I'll bother password encrypting files next game.
#4
The performance seems okay so far ... I will run some more benchmarks this week and due some more play testing over the weekend ... but so far it seems to be performing as expected.
You may be right about the paranoia ... I will release the Alpha with the current Torque Zip Read and see what the players think ... take it from there.
Thanks for the heads up. 8-}
04/08/2014 (7:07 am)
@Steve: I have a license for GenPak but there was a problem with my password and I can't get hold of the original supplier ... so I am kind of screwed there.The performance seems okay so far ... I will run some more benchmarks this week and due some more play testing over the weekend ... but so far it seems to be performing as expected.
You may be right about the paranoia ... I will release the Alpha with the current Torque Zip Read and see what the players think ... take it from there.
Thanks for the heads up. 8-}
#5
@Steve: Yep, I noticed the same performance slow down when I used the built in zip functionality of T3D.
I eventually managed to get my GenPak password to work and I am now using that.
04/11/2014 (9:57 pm)
Just an update.@Steve: Yep, I noticed the same performance slow down when I used the built in zip functionality of T3D.
I eventually managed to get my GenPak password to work and I am now using that.
#6
Just remember the old "no preload" but I saw you already got that ;)
04/12/2014 (1:14 pm)
Huzzar!Just remember the old "no preload" but I saw you already got that ;)
#7
Ultimately, I think time spent on protecting assets is time better spent working on gameplay and fun factor. Any scheme you can devise to protect your assets can be broken, usually within days. In fact, so far the trend is "the harder you try the faster they break it" - it's a challenge that demands a response.
04/12/2014 (2:45 pm)
In order to protect your image assets, why not modify the png headers? Then other tools won't read the images. Perhaps put a tag, then invert or encrypt the header data on write in your tool. Use the tag to decrypt the data on load.Ultimately, I think time spent on protecting assets is time better spent working on gameplay and fun factor. Any scheme you can devise to protect your assets can be broken, usually within days. In fact, so far the trend is "the harder you try the faster they break it" - it's a challenge that demands a response.
#8
@Richard: All my textures are already DDS. All my models are DTS. All my scripts are DSO. I bought and paid for genEpak and it works very well.
My gameplay is quite complete for the Alpha and I had put the time aside in the project plan to protect the assets. Using genEpak fell in libe with the use of the AutoPatcher system from Winterleaf Entertainment.
I am under no illusion that my assets are 100% protected, but any user who niw tries to crack open the genEpak files is now definitely in breach of the End User License Agreement and any precautions that I can take to protect my IPO is time well spent as far as I am concerned.
I appreciate your comments and do understand your sentiment but I disagree with what you said.
04/12/2014 (9:26 pm)
@Steve: Huzzar ... 8-}@Richard: All my textures are already DDS. All my models are DTS. All my scripts are DSO. I bought and paid for genEpak and it works very well.
My gameplay is quite complete for the Alpha and I had put the time aside in the project plan to protect the assets. Using genEpak fell in libe with the use of the AutoPatcher system from Winterleaf Entertainment.
I am under no illusion that my assets are 100% protected, but any user who niw tries to crack open the genEpak files is now definitely in breach of the End User License Agreement and any precautions that I can take to protect my IPO is time well spent as far as I am concerned.
I appreciate your comments and do understand your sentiment but I disagree with what you said.
#9
The project looks pretty cool so far. Keep up the good work!
04/13/2014 (12:07 am)
<shrug> as long as it was quick, that's great. I'm just saying I wouldn't spend a huge amount of time on it for the reasons already stated.The project looks pretty cool so far. Keep up the good work!
RoundedIcon