My manasource 0.5 client with all newest libs for Win32

Talk about anything, including games and servers not affiliated with The Mana World.
Post Reply
BoomerTheKran
Peon
Peon
Posts: 47
Joined: 11 Dec 2010, 21:07
Location: Kentucky, USA

My manasource 0.5 client with all newest libs for Win32

Post by BoomerTheKran »

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.
Frost
TMW Adviser
TMW Adviser
Posts: 851
Joined: 09 Sep 2010, 06:20
Location: California, USA

Re: My manasource 0.5 client with all newest libs for Win32

Post by Frost »

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.) :)
You earn respect by how you live, not by what you demand.
-unknown
BoomerTheKran
Peon
Peon
Posts: 47
Joined: 11 Dec 2010, 21:07
Location: Kentucky, USA

Re: My manasource 0.5 client with all newest libs for Win32

Post by BoomerTheKran »

@Frost
On my Pentium Dual-core setup, I noticed about 10% more CPU available.
As is always, YMMV
This IS a sig
Matt
Grand Knight
Grand Knight
Posts: 1759
Joined: 07 Aug 2004, 10:47
Location: Germany->Bavaria

Re: My manasource 0.5 client with all newest libs for Win32

Post by Matt »

And how can I be sure that your "optimized" binary won't send my shiny passwords to you?
BoomerTheKran
Peon
Peon
Posts: 47
Joined: 11 Dec 2010, 21:07
Location: Kentucky, USA

Re: My manasource 0.5 client with all newest libs for Win32

Post by BoomerTheKran »

Matt wrote:And how can I be sure that your "optimized" binary won't send my shiny passwords to you?
I suppose you can't. How can you be sure that I would WANT your passwords? :D

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
User avatar
bigglesworth
Novice
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

Post by bigglesworth »

Boomer--

Please, if you have the time, give us a step-by-step process to re-create your Windows binary.
User avatar
Kage
Manasource
Manasource
Posts: 929
Joined: 02 May 2009, 18:12

Re: My manasource 0.5 client with all newest libs for Win32

Post by Kage »

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 :D
<thorbjorn> Yes. :P
User avatar
Crush
TMW Adviser
TMW Adviser
Posts: 8046
Joined: 25 Aug 2005, 16:08
Location: Germany

Re: My manasource 0.5 client with all newest libs for Win32

Post by Crush »

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.
BoomerTheKran
Peon
Peon
Posts: 47
Joined: 11 Dec 2010, 21:07
Location: Kentucky, USA

Re: My manasource 0.5 client with all newest libs for Win32

Post by BoomerTheKran »

Kage wrote:the binary is so small likely because he compiled without debugging symbols, which should be the default for a release.
Here are the extra compiler flags I used.

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
BoomerTheKran
Peon
Peon
Posts: 47
Joined: 11 Dec 2010, 21:07
Location: Kentucky, USA

Re: My manasource 0.5 client with all newest libs for Win32

Post by BoomerTheKran »

Crush 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.
Exactly :)
This IS a sig
BoomerTheKran
Peon
Peon
Posts: 47
Joined: 11 Dec 2010, 21:07
Location: Kentucky, USA

Re: My manasource 0.5 client with all newest libs for Win32

Post by BoomerTheKran »

bigglesworth wrote:Boomer--

Please, if you have the time, give us a step-by-step process to re-create your Windows binary.
Hmm, OK. Lots of steps, I saved a log of what I did, just for such occasion:

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
BoomerTheKran
Peon
Peon
Posts: 47
Joined: 11 Dec 2010, 21:07
Location: Kentucky, USA

Re: My manasource 0.5 client with all newest libs for Win32

Post by BoomerTheKran »

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.
This IS a sig
BoomerTheKran
Peon
Peon
Posts: 47
Joined: 11 Dec 2010, 21:07
Location: Kentucky, USA

Re: My manasource 0.5 client with all newest libs for Win32

Post by BoomerTheKran »

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.
This IS a sig
User avatar
Rotonen
TMW Adviser
TMW Adviser
Posts: 3154
Joined: 08 Sep 2004, 19:48
Location: Bern, Switzerland

Re: My manasource 0.5 client with all newest libs for Win32

Post by Rotonen »

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? :)
This message used to be meaningful.
User avatar
Crush
TMW Adviser
TMW Adviser
Posts: 8046
Joined: 25 Aug 2005, 16:08
Location: Germany

Re: My manasource 0.5 client with all newest libs for Win32

Post by Crush »

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.
Post Reply