My manasource 0.5 client with all newest libs for Win32
-
- Peon
- Posts: 47
- Joined: 11 Dec 2010, 21:07
- Location: Kentucky, USA
My manasource 0.5 client with all newest libs for Win32
I've managed to cobble together a manasource 0.5 client will the current latest libraries for Windows. There are 2 versions in the archive. One is optimized for P4-Prescott(because that's my architecture) and the other is the exe made with no mods, optimizations, anything. I have the settings running it without opengl because the opengl on my computer is quite old and will not run the latest spec. Current updates as of 2010-12-11 to themanaworld.org user client are in there as well. It seems to run much smoother than does the tmw-official client. Try it out and let me know what you think. Link on next line.
On My SkyDrive. Click here
If that link doesn't work, let me know.
If I'm not allowed to post this here, let me know.
If you like it/hate it/want me to bugger off, let me know.
On My SkyDrive. Click here
If that link doesn't work, let me know.
If I'm not allowed to post this here, let me know.
If you like it/hate it/want me to bugger off, let me know.
Re: My manasource 0.5 client with all newest libs for Win32
Boomer, your link works fine for me. Thanks for posting that.
What performance improvement did you see with the optimized binary? I see the file is about 4MB instead of 24, which is impressive.
(Haven't tested it it on my, erm, Mac.)
What performance improvement did you see with the optimized binary? I see the file is about 4MB instead of 24, which is impressive.
(Haven't tested it it on my, erm, Mac.)

You earn respect by how you live, not by what you demand.
-unknown
-unknown
-
- Peon
- Posts: 47
- Joined: 11 Dec 2010, 21:07
- Location: Kentucky, USA
Re: My manasource 0.5 client with all newest libs for Win32
@Frost
On my Pentium Dual-core setup, I noticed about 10% more CPU available.
As is always, YMMV
On my Pentium Dual-core setup, I noticed about 10% more CPU available.
As is always, YMMV
This IS a sig
Re: My manasource 0.5 client with all newest libs for Win32
And how can I be sure that your "optimized" binary won't send my shiny passwords to you?
-
- Peon
- Posts: 47
- Joined: 11 Dec 2010, 21:07
- Location: Kentucky, USA
Re: My manasource 0.5 client with all newest libs for Win32
I suppose you can't. How can you be sure that I would WANT your passwords?Matt wrote:And how can I be sure that your "optimized" binary won't send my shiny passwords to you?

I did not put anything like that in there. No point to me. I have enough to worry with in just my character.
If you want to see for sure, there are reverse engineering programs out there. Feel free to use them.
Report back what you find!

Also, there's ways to watch the network access. Make a new account using another email address. Make a dumb password, watch the packets flow, capture them, and read the output. Mostly you'll want to check which IP addresses it accesses. I've done that for software I didn't trust before, takes a gawdawful length of time(or did 5 years ago).
Another way to test: run it in a virtual machine, monitoring all packets through that VM.
Yet another: Use windows firewall logging!! http://technet.microsoft.com/en-us/libr ... 57033.aspx
This IS a sig
- bigglesworth
- Novice
- Posts: 211
- Joined: 11 Nov 2007, 03:23
- Location: Land of Ooo
Re: My manasource 0.5 client with all newest libs for Win32
Boomer--
Please, if you have the time, give us a step-by-step process to re-create your Windows binary.
Please, if you have the time, give us a step-by-step process to re-create your Windows binary.
Re: My manasource 0.5 client with all newest libs for Win32
the binary is so small likely because he compiled without debugging symbols, which should be the default for a release.
<Kage_Jittai> ... are you saying I am elite 
<thorbjorn> Yes.

<thorbjorn> Yes.

Re: My manasource 0.5 client with all newest libs for Win32
Does it really make sense to have debugging symbols enabled in a Windows release? A normal windows user hasn't got GDB installed and thus can't deliver a backtrace anyway.
- former Manasource Programmer
- former TMW Pixel artist
- NOT a game master
Please do not send me any inquiries regarding player accounts on TMW.
You might have heard a certain rumor about me. This rumor is completely false. You might also have heard the other rumor about me. This rumor is 100% accurate.
-
- Peon
- Posts: 47
- Joined: 11 Dec 2010, 21:07
- Location: Kentucky, USA
Re: My manasource 0.5 client with all newest libs for Win32
Here are the extra compiler flags I used.Kage wrote:the binary is so small likely because he compiled without debugging symbols, which should be the default for a release.
Flag-------------------------- Description
------------------------------ -----------------------------------------------------------------
-s ______________________strip all symbols
-O3 _____________________Optimize fully for speed
-fexpensive-optimizations ___Expensive Optimizations
-fomit-frame-pointer _______Don't keep the frame pointer in a register for functions that don't need one
-march=prescott __________Intel Pentium 4 Prescott (MMX, SSE, SSE2, SSE3)
This IS a sig
-
- Peon
- Posts: 47
- Joined: 11 Dec 2010, 21:07
- Location: Kentucky, USA
Re: My manasource 0.5 client with all newest libs for Win32
ExactlyCrush wrote:Does it really make sense to have debugging symbols enabled in a Windows release? A normal windows user hasn't got GDB installed and thus can't deliver a backtrace anyway.

This IS a sig
-
- Peon
- Posts: 47
- Joined: 11 Dec 2010, 21:07
- Location: Kentucky, USA
Re: My manasource 0.5 client with all newest libs for Win32
Hmm, OK. Lots of steps, I saved a log of what I did, just for such occasion:bigglesworth wrote:Boomer--
Please, if you have the time, give us a step-by-step process to re-create your Windows binary.
1. Get Code::Blocks 10.05 http://www.codeblocks.org and install. Throughout these steps, do not change any C::B settings except where noted. Changes can, and prolly will, break it.
\\\\\\\\\\\\\\
2. get 0.5 source http://gitorious.org/mana/mana/archive-tarball/0.5 and http://tmw.cetki.com/other/tmw_libs.zip --thanks Crush-- and unpack both to separate directories(aka folders)
\\\\\\\\\\\\\\
3. Start codeblocks, open mana.cbp
\\\\\\\\\\\\\\
4. This is also where you set extra compiler flags in Project->BuildOptions->CompilerSettings->CompilerFlags [see above post]
\\\\\\\\\\\\\\
5. be sure to select Windows from the Build Target dropdown toolbar box
\\\\\\\\\\\\\\
6. Start compiling. You get errors, but you can fix them when they show up.
\\\\\\\\\\\\\\
7. You get errors that include files can't be found. Fix it by adding to
Project->BuildOptions->SearchDirectories->Compiler
H:\tmw_libs\include
H:\tmw_libs\include\SDL
H:\tmw_libs\include\libxml2 (Instead of H:\ put yout path to tmw_lib.)
--OR--
Download and compile each and every library(which I did for most, but is not really required) needed by the client then follow the beginning of this step. IF you do this, be prepared to download bunger-hole loads of things and learn lots of new stuff. Most of these libs compiles are not C::B compatible.
\\\\\\\\\\\\\\
8. remove enet stuff from devpak (tmw_libs). I compressed and then deleted the original files.
\\\\\\\\\\\\\\
9. add Project->BuildOptions->SearchDirectories->Linker: tmw_libs\lib and lib
\\\\\\\\\\\\\\
10. Now you should have EXE in the mana-mana source folder
\\\\\\\\\\\\\\
11. copy portable.xml from the tmw official portable client into the mana-mana src folder to make portable and keep away from any installed versions of tmw and just because I like portable apps, they can run from a flash drive
\\\\\\\\\\\\\\
12. copy DLL files from tmw_libs\DLL into the EXE folder
\\\\\\\\\\\\\\
13. fire that thing up, should run fine. It will be set by default to whatever version of OpenGL is compiled into your libs. I couldn't support that version. My Intel CGA(Crappy Graphics Adapter, I like to call it, hehe) only supports OpenGL v1.4 which is mightily old and hence incompatible. At the least on first run, I had to run from command line with --no-opengl and set to no OpenGL once settings are opened. Also, play with settings, lots of stuff not in the official 0.0.29 client. Some of these(like joystick) have to be turned off, apply, and back on to work. Haven't debugged that yet.
I recommend you save the project on exit, so it's easy to recompile for whatever reason.
Special Thanks to CodyMartin on #mana on freenode on 2010-11-22 for basics, I expounded a bit to make it somewhat easier to repeat.
Best of luck, and remember YMMV! Feel free to tell me what I've missed in these instructions.
This IS a sig
-
- Peon
- Posts: 47
- Joined: 11 Dec 2010, 21:07
- Location: Kentucky, USA
Re: My manasource 0.5 client with all newest libs for Win32
At Big Crunch's request, I said I'd post my libs with headers. I have made a sort of strange boo boo. I can't figure out what I've done with my compiled libs. I don't know what the fook happened, but I can't find my library compiles/sources anywhere! Something very strange here. I remember making them, stress and all, but I don't see them.
Sorry BC and others that wanted this.
Sorry BC and others that wanted this.
This IS a sig
-
- Peon
- Posts: 47
- Joined: 11 Dec 2010, 21:07
- Location: Kentucky, USA
Re: My manasource 0.5 client with all newest libs for Win32
If you're not keen on compiling, I'll make and post a Windows 32-bit binary for whatever architecture you want. Just reply with your instruction sets. you can get this by running siw, get it at http://www.gtopala.com/download/siw.exe.
After running, look at Left Pane, Hardware->CPU Info->Goto Right Pane->Instruction Set and give me the values stored there. This simplifies what I need to do to compile for your specific CPU architecture. I should have no problem building this with the correct architecture info.
After running, look at Left Pane, Hardware->CPU Info->Goto Right Pane->Instruction Set and give me the values stored there. This simplifies what I need to do to compile for your specific CPU architecture. I should have no problem building this with the correct architecture info.
This IS a sig
Re: My manasource 0.5 client with all newest libs for Win32
Usually -O2 runs faster due to smaller usage of CPU pipelines due to not trying to overoptimize for the last bit.
Modern GCCs should support -march=native for autodetecting the full capabilities of your CPU instead of you having to know what exactly you run. A newer GCC will most likely produce better results for you anyway.
Try it out, test/profile what came out and report back?
Modern GCCs should support -march=native for autodetecting the full capabilities of your CPU instead of you having to know what exactly you run. A newer GCC will most likely produce better results for you anyway.
Try it out, test/profile what came out and report back?

This message used to be meaningful.
Re: My manasource 0.5 client with all newest libs for Win32
march=native does however optimize very specifically to the local CPU. It takes, for example, things like l1 and l2 cache size into account. march=native should only be used when you don't intent to use the same binary on a different machine.
- former Manasource Programmer
- former TMW Pixel artist
- NOT a game master
Please do not send me any inquiries regarding player accounts on TMW.
You might have heard a certain rumor about me. This rumor is completely false. You might also have heard the other rumor about me. This rumor is 100% accurate.