Fully portable hedgewars!

27 replies [Last post]
Inu
Inu's picture
User offline. Last seen 10 weeks 4 days ago. Offline
Joined: 2009-08-26
Posts: 240

Thanks Smaxx! Smile

Smaxx allegedly wrote:
Just finished making it portable in less than 10 minutes. Smile

Think this will be in the next release (0.9.12).

hedgewars.exe --config-dir=..\config
Saves the game config as well as all profiles etc. in a sub dir of the installation folder, e.g. "C:\Games\Hedgewars\config".


Thank you very much for making this work Smaxx!
I can now take my settings, team and everything else with me to all my computers easily! Big Grin

rbaleksandar
rbaleksandar's picture
User offline. Last seen 9 years 34 weeks ago. Offline
Joined: 2009-01-09
Posts: 685

You can make portable. There are tons of programs for that. Smile

HTML = How To Meet the Ladies

Here is my Unofficial Manual for HW. Hope you like it. Wink Smiley Still working on it. Don't worry. Will get it finished...Sometime in the future. Big Grin

Inu
Inu's picture
User offline. Last seen 10 weeks 4 days ago. Offline
Joined: 2009-08-26
Posts: 240

rbaleksandar allegedly wrote:

You can make portable. There are tons of programs for that. Smile

The user data (saves and stuff) is stored under %USERPROFILE%\.hedgewars so its not portable at all.

If it was all I had to do was to keep a single folder with all the files and everything would work just fine, allowing me to test and create new images and names for the game no matter where I was directly on my flash drive. Hope i was a little more clear now on what I'm suggesting.

rbaleksandar
rbaleksandar's picture
User offline. Last seen 9 years 34 weeks ago. Offline
Joined: 2009-01-09
Posts: 685

If you can't make something, that doesn't mean it's not possible. Wink Smiley The process of making a portable application involves collecting ALL the previous folders and putting them in a single one INCLUDING the one in the user profile. You will still have different folders though since most good software products (if not even ALL of them) devide the different types of data they install and use in different folders (for obvious reasons). Besides - HW is open source and I'm almost 100% sure that you can edit the destination folder from the source and choose it to be somewhere else - not in your user profile. Smile

HTML = How To Meet the Ladies

Here is my Unofficial Manual for HW. Hope you like it. Wink Smiley Still working on it. Don't worry. Will get it finished...Sometime in the future. Big Grin

Uriah
Uriah's picture
User offline. Last seen 11 years 35 weeks ago. Offline
Joined: 2008-01-25
Posts: 359

It's a good suggestion

Smaxx
Smaxx's picture
User offline. Last seen 12 years 50 weeks ago. Offline
Joined: 2009-04-29
Posts: 391

Just finished making it portable in less than 10 minutes. Smile

Think this will be in the next release (0.9.12).

My examples are related to Windows - but should work on other systems the same way. Note that this won't work with current stable release (0.9.11)!

hedgewars.exe --config-dir=..\config
Saves the game config as well as all profiles etc. in a sub dir of the installation folder, e.g. "C:\Games\Hedgewars\config".

hedgewars.exe --config-dir=\\server\hwconfig
Saves the game config as well as all profiles etc. on a shared ressource (server hard disk for example)

hedgewars.exe --config-dir=\\server\hw-%username%
Saves the game config as well as all profiles etc. on a shared ressource in a special folder for each user/login name.

Inu
Inu's picture
User offline. Last seen 10 weeks 4 days ago. Offline
Joined: 2009-08-26
Posts: 240

Wooooaaa, thanks a lot guys!
I'm sure I'm not the only one that's gonna be really happy about this!
So I'm looking forward the next version even more now!!

Originally I was thinking about something like giving priority to the directories inside the root directory of the game, and if they didn't exist, then the ones under %USERPROFILE%\.hedgewars would be used, but that way works too with a little batch file to boot it up and it's all done.

EDIT: No, wait, think that's exactly what you've done, i was the one who didn't got it right away. :P

I'll also give out some feedback when I get to test it out. Big Grin

rbaleksandar
rbaleksandar's picture
User offline. Last seen 9 years 34 weeks ago. Offline
Joined: 2009-01-09
Posts: 685

Smaxx allegedly wrote:

My examples are related to Windows - but should work on other systems the same way.

Never heard and seen a portable application in Linux except portable Win applications through Wine... Annoyed

HTML = How To Meet the Ladies

Here is my Unofficial Manual for HW. Hope you like it. Wink Smiley Still working on it. Don't worry. Will get it finished...Sometime in the future. Big Grin

Smaxx
Smaxx's picture
User offline. Last seen 12 years 50 weeks ago. Offline
Joined: 2009-04-29
Posts: 391

It should be portable if there are all dependencies, its compiled against those versions, etc.

But even if that won't work you could define other locations for your savegames (maybe even using the same ones for all installations in a dual boot environment).

rbaleksandar
rbaleksandar's picture
User offline. Last seen 9 years 34 weeks ago. Offline
Joined: 2009-01-09
Posts: 685

Uups, there is "portable" in Linux too. Smile Sorry.

HTML = How To Meet the Ladies

Here is my Unofficial Manual for HW. Hope you like it. Wink Smiley Still working on it. Don't worry. Will get it finished...Sometime in the future. Big Grin

Inu
Inu's picture
User offline. Last seen 10 weeks 4 days ago. Offline
Joined: 2009-08-26
Posts: 240

Well, i got some extra ideas so i had to make a new post reply. Samurai!

+ Make the sound shortcuts ([9] and [0] by default) a little less sensitive.
++ Optionally increase the unit from 2 to 4 or 5, but it's not really needed since this way we have more control over the sound volume.
+ Add a weapon that works like the Axe in Worms that cuts the target HP in half. (like a Voodoo Doll or a "Tombery's Knife" (from the Final Fantasy series))

Also, regarding the server lobby, it's a little inconvenient that sometimes other people cant join to spectate when we chose to "Restrict Joins" since what it does is taking the room off the list.
Wouldn't it be better to make it work a little differently? Like adding another field before the room's name so we know what to do regarding that room.

Example:
no icon\green check-mark = work as usual
key = locked to the players already inside (but allows spectators)
red key = locked to the players inside and does not allow spectators

To implement this easily it should just be needed to kick all the players that were not involved in the match when it ends from the room.

Inu
Inu's picture
User offline. Last seen 10 weeks 4 days ago. Offline
Joined: 2009-08-26
Posts: 240

Ok, just updated my thread so I didn't had to create a new one and flood the forum.
More updates to come. (more like a drastic main-post-cleanup)

Smaxx
Smaxx's picture
User offline. Last seen 12 years 50 weeks ago. Offline
Joined: 2009-04-29
Posts: 391

Inu allegedly wrote:

New suggestions for 0.9.13

+ make the corners on the GUI menus a "little less round"
+ new voices: "english-russian" (really everyone loves the Heavy lines on TF2) and "english-indian"
+ new GUI background! What about.. blue, with clouds very slowly flying by (like the one on the new voice example videos) and little mascots falling from the sky with their funny smile stamped on their faces as they fall? Maybe randomly wearing a hat sometimes.


+ GUI: I'll leave that to someone else to decide Big Grin
+ Voices: Actually thought the current russian one is like that - maybe i haven't heard it often enough but I thought it's talking English rather often.
+ GUI background: QT isn't really made for animations (at least not the way we use right now). Falling hogs with different expressions, hats, etc. would require a lot mor ressources right now.

Problem #1 regarding the parameter: Just use ".\userdata" instead of "..\userdata" or use an absolute path. It's always relative to the game's base folder iirc.

#Problem #2: Recompile with a custom path set/predefined (it's just a QString object). Saving to app folder by default would break the game under Windows Vista/7 if run from the default program files installation folder (as to modify it's contents your app has to run with full admin rights).

Inu
Inu's picture
User offline. Last seen 10 weeks 4 days ago. Offline
Joined: 2009-08-26
Posts: 240

Thanks for the quick reply Smaxx.

Regarding the GUI corner suggestion, the idea was just to make the angle more subtle, since currently on some corners the boxes inside that yellow border are as big as them.
Now about the voices... i meant "english with indian accent".
And since i neved used it and haven been able to play for a month now i forgot we already had a russian voice, lol. Just thought it would be fun and easy to come up with lines for that one.

#1 Thanks, that fixed it for me! Smile
#2 It's OK, I need my Windows to work, so Vista or 7 is out of the question. Besides the whole point is not having to install it anywhere, and be able to carry it on my flash-drive. I'll put some work into that soon. Oh and would the latest SVN do the trick?

Smaxx
Smaxx's picture
User offline. Last seen 12 years 50 weeks ago. Offline
Joined: 2009-04-29
Posts: 391

Both, latest SVN and 0.9.12 source (as well as the precompiled files) have it enabled/built in.

rbaleksandar
rbaleksandar's picture
User offline. Last seen 9 years 34 weeks ago. Offline
Joined: 2009-01-09
Posts: 685

Smaxx, what about the new audio SDK that you're using? This should be included in the portable version. Otherwise it won't be portable. Big Grin I have no idea if this is actually included in HW or has to be downloaded and installed separately (long time ago in a galaxy far far away when the Nightly build was still there I installed OpenAL first then HW, so I kind of missed that part if it's included in HW's installation in the stable release), so sorry if I talk bullshit. Big Grin

HTML = How To Meet the Ladies

Here is my Unofficial Manual for HW. Hope you like it. Wink Smiley Still working on it. Don't worry. Will get it finished...Sometime in the future. Big Grin

Smaxx
Smaxx's picture
User offline. Last seen 12 years 50 weeks ago. Offline
Joined: 2009-04-29
Posts: 391

OpenAL (and the openalbridge library) aren't used right now due to problems especially on some unix systems.

Its just in SVN to wait for its reactivation and not even called right now.

OpenAL consists of only 1 or 2 basic files, so those DLLs (in case of Windows) could be put on the portable drive as well, but they should be installed on the system (using either the default installer or soundcard's driver installation). It's very similar to OpenGL which is required as well.

Inu
Inu's picture
User offline. Last seen 10 weeks 4 days ago. Offline
Joined: 2009-08-26
Posts: 240

So I've added a lot more suggestions, observations and little things to the main topic, but the one that concerns me the most is this one:

+ The teams ALWAYS play in the same order they are added to the room, we really need to add a random factor here!

So if you add team: A, B, C, D and E in the same order I listed them, they'll ALWAYS get their turn to play in this exact same order!

rbaleksandar
rbaleksandar's picture
User offline. Last seen 9 years 34 weeks ago. Offline
Joined: 2009-01-09
Posts: 685

Thanks for the info, Smaxx. Smile
Inu, don't see the connection between your post and the topic of this thread BUT here's the answer:

You have teams A, B and C. The first team to start is the first added in the list of the room. It's just make like that. So if you won't the order to be A,B,C you have to put them in the list in the order A,B,C (A is on the top of the list, C is the last). If you want to have B,A,C for example, you have to fill your list in the order B,A,C (B on the top, C at the bottom) etc. etc.

PS: I'll add a suggestion that might solve this problem in a very smooth and tidy way. Smile

HTML = How To Meet the Ladies

Here is my Unofficial Manual for HW. Hope you like it. Wink Smiley Still working on it. Don't worry. Will get it finished...Sometime in the future. Big Grin

Inu
Inu's picture
User offline. Last seen 10 weeks 4 days ago. Offline
Joined: 2009-08-26
Posts: 240

rbaleksandar allegedly wrote:

Thanks for the info, Smaxx. Smile
Inu, don't see the connection between your post and the topic of this thread BUT here's the answer:

You have teams A, B and C. The first team to start is the first added in the list of the room. It's just make like that. So if you won't the order to be A,B,C you have to put them in the list in the order A,B,C (A is on the top of the list, C is the last). If you want to have B,A,C for example, you have to fill your list in the order B,A,C (B on the top, C at the bottom) etc. etc.

PS: I'll add a suggestion that might solve this problem in a very smooth and tidy way. Smile

The "1st come 1st served" situation is just not nice, and no one is giving away the 1st position as they know they are likely to make at least 1 hog go fishing in right in the first turn.
Plus the "randomness" would add the "expectation" value and excitement.

I just keep everything on the same thread so the forums don't get messy so fast. I don't see any moderator deleting the old and useless ones all the time. :P

Inu
Inu's picture
User offline. Last seen 10 weeks 4 days ago. Offline
Joined: 2009-08-26
Posts: 240

Updated the suggestion list now that the newest version is out.
Hope everyone have fun with 0.9.14 and feel free to post and comment.

Inu
Inu's picture
User offline. Last seen 10 weeks 4 days ago. Offline
Joined: 2009-08-26
Posts: 240

And 5 months after... 4 new suggestions added!
Feel free to comment. Smile

Smaxx
Smaxx's picture
User offline. Last seen 12 years 50 weeks ago. Offline
Joined: 2009-04-29
Posts: 391

No offense, but would be really nice if you could post your new suggestions in new posts instead of updating your initial post. Smile Lot more convenient to read.

Some small notes:
Axe like weapon - 0.9.14 will feature the Hammer (takes 1/3 health and knocks hog into the ground).
Game rules can be seen while the game is paused or shows the "really quit?" message (listed twice).
Columns in room list - that seems to be a Qt issue.
Minimize frontend - was in for a short time but there are still some issues if the engine crashes or fails to start.
Rule filters - afaik that's intended as it's meant for those that want to play the original rules rather than some modified ones.

Inu
Inu's picture
User offline. Last seen 10 weeks 4 days ago. Offline
Joined: 2009-08-26
Posts: 240

Always thought it was better to recycle old posts as long as they didn't had too much stuff in them. I'll make sure to retire this one next time I edit it. Big Grin
But I was bored beyond limits and never worked with Qt before so even the simple changes I want to make were taking too long to find and test out, so i came to edit my post before i forgot what i had in mind. :P

Regarding the game rules I just noticed some useful information is still missing, that's all. (1) turn time, (2) dud %, (3) damage modifier, and (4) mine timer.
Need to search about those columns issues too. Fixing the space distribution and organizing the games by status by default would definitely improve the usability a great deal.
The rule filters are indeed really great, just a shame they're not inverted, I'd love to filter out those boring monkey-rope games. :P

...and thanks for commenting. Wink Smiley

buzz87
User offline. Last seen 13 years 14 weeks ago. Offline
Joined: 2010-09-19
Posts: 2

hedgewars.exe --config-dir=..\config doesn't seem to work anymore (for Hedgewars 0.9.14)
Could the devs please implement a simple way to make the game portable ?

nemo
nemo's picture
User offline. Last seen 3 weeks 5 days ago. Offline
Joined: 2009-01-28
Posts: 1861

Er. My apologies. Does look like Smaxx broke that for windows.

I hardly ever look at the windows code.

If its any comfort, Linux and OSX work fine Wink Smiley

Looks like the goal was to integrate more with windows so invokes some windows system path lookup without checking that the override was set.

My desire to learn how windows does things is close to 0, but:
SHGetFolderPathA(0, CSIDL_PERSONAL, NULL, 0, path))

If that can be overridden with some environment hack, I guess you're ok. Otherwise, a frontend patch will be needed to fix this behaviour.

--
Oh, what the heck. 1PLXzL1CBUD1kdEWqMrwNUfGrGiirV1WpH <= tip a hedgewars dev

nemo
nemo's picture
User offline. Last seen 3 weeks 5 days ago. Offline
Joined: 2009-01-28
Posts: 1861

nemo allegedly wrote:

Er. My apologies. Does look like Smaxx broke that for windows.

I hardly ever look at the windows code.

If its any comfort, Linux and OSX work fine Wink Smiley

Looks like the goal was to integrate more with windows so invokes some windows system path lookup without checking that the override was set.

My desire to learn how windows does things is close to 0, but:
SHGetFolderPathA(0, CSIDL_PERSONAL, NULL, 0, path))

If that can be overridden with some environment hack, I guess you're ok. Otherwise, a frontend patch will be needed to fix this behaviour.

Um. still checking this, but it does seem to still use --config-dir if it is set, regardless of platform. so analysis above is wrong. Still not sure what's up on your system Wink Smiley

--
Oh, what the heck. 1PLXzL1CBUD1kdEWqMrwNUfGrGiirV1WpH <= tip a hedgewars dev

mcfroogle
User offline. Last seen 12 years 31 weeks ago. Offline
Joined: 2010-08-25
Posts: 28

Yeah, it still works. I'm on windows and use it all the time and it's still working Smile

User login

Copyright © 2004-2024 Hedgewars Project. All rights reserved. [ contact ]