Compiling and building EnhSim

EnhSim is programmed in C++ and it can be built to other platforms, as well as Windows. By default, EnhSim package includes Windows executables, which are ready to run. These ready built executables need SSE2 support from CPU. If you need to build EnhSim yourself, this page might be of some use to you.

Compile flags

HAVE_SSE2

SFMT will make use of SSE2 instructions if defined.

HAVE_ALTIVEC

SFMT will make use of AltiVec instructions if defined.

DEBUG

EnhSim executable will output combatlog.

NOTHREADS

Disable multithreading. This way you can avoid using ZThreads.

3rd party libraries

EnhSim uses ZThreads, SFMT and Boost Pool libraries. You need to build ZThreads and link it with EnhSim to succesfully build EnhSim. SFMT and Boost Pool are include only libraries. SFMT is already included in the EnhSim source, so you need to download Boost library and setup your compiler to find it.

Windows

Todo.

Linux

Todo.

Mac

This method uses the NOTHREADS compile flag, so you will get the single threaded version. If you know how to build with ZThreads, go ahead and be sure to contact me with the information :). This guide is courtesy of Malan.

  • Invoke xCode (install from OS X cds under Developer Tools if you don't have it).
  • Start a new project(Command Line Utility -> C++ Tool) (the name of the project will by default be the name of the binary that you have to run, so be concise). Immediately delete the main.cpp file when the project appears.
  • Right click in the left panel of xCode on the name of the project and choose Add -> Existing Files, then browse to the source code for EnhSim and choose all the files, including the SFMT subdirectory.
  • In the list of source files in xCode, un-check the box in the right-most column next to the test.c and SFMT.c files so that these are not included in the build.
  • Edit the file enhsim.h (double click it) and add the text "#define NOTHREADS", then save the file. (CMD-S).
  • In finder, unpack and then copy Boost (Should appear as something like 'boost_1_37_0' when unpacked) directly to the project path that you created in xCode. Do not do this *in* xCode, do it in Finder.
  • In the main menu choose Project -> Edit Project Settings then the Build tab. Scroll down till you see the header that says "Search Paths". Double click the entry for "Header Search Paths", and in the dialog use the + button to add a new path. You must ensure that the 'Recursive' checkbox is cleared or the build will fail. Type in the relative path to the Boost folder you copied, it should look like: "boost_1_37_0" and then close the menu.
  • In xCode choose Build. When its complete your binary executable for the sim will appear in [path to project]/[project name]/build/Release. You can copy the binary file to anywhere else in the system so that you can run it in Terminal with your config file.

Use on linux
Marcell Martini (guest) 1232387242|%e %b %Y, %H:%M %Z|agohover

You can run enhsim.exe in linux using wine.

My configs.

Ubuntu 8.10 Intrepid
Wine 1.1.10
Enhsim 1.5.0

Command line:

wine enhsim.exe config_lvl80.txt

I just run the command line. When I try to use the gui I get the error that said I need install the mono. If anyone know how to run .NET with wine, I'd like to know. So. cya.. bye

unfold Use on linux by Marcell Martini (guest), 1232387242|%e %b %Y, %H:%M %Z|agohover
Clarifying for OS X
ONebulus (guest) 1234258665|%e %b %Y, %H:%M %Z|agohover

This method uses the NOTHREADS compile flag, so you will get the single threaded version. If you know how to build with ZThreads, go ahead and be sure to contact me with the information :). This guide is courtesy of Malan. Edited by ONebulus.

Invoke xCode (install from OS X cds under Developer Tools if you don't have it).

xCode resides in /Developer/Applications/Xcode.app and can be "invoked" with open /Developer/Applications/Xcode.app (or double click the icon XD )

Start a new project(Command Line Utility -> C++ Tool) (the name of the project will by default be the name of the binary that you have to run, so be concise). Immediately delete the main.cpp file when the project appears.

When deleting the main.cpp file you will be prompted… select delete files.

Right click in the left panel of xCode on the name of the project and choose Add -> Existing Files, then browse to the source code for EnhSim and choose all the files, including the SFMT subdirectory.

Be sure to select recursive when prompted.

In the list of source files in xCode, un-check the box in the right-most column next to the test.c and SFMT.c files so that these are not included in the build.

Edit the file enhsim.h (double click it) and add the text "#define NOTHREADS", then save the file. (CMD-S).

In finder, unpack and then copy Boost (Should appear as something like 'boost_1_37_0' when unpacked) directly to the project path that you created in xCode. Do not do this *in* xCode, do it in Finder.

For me this was already unpacked and residing as /boost within the enhsim folder. Copy it as directed above. Same folder as your xCode /build folder appears in… (you just chose the path for the xCode project)

In the main menu choose Project -> Edit Project Settings then the Build tab. Scroll down till you see the header that says "Search Paths". Double click the entry for "Header Search Paths", and in the dialog use the + button to add a new path. You must ensure that the 'Recursive' checkbox is cleared or the build will fail. Type in the relative path to the Boost folder you copied, it should look like: "boost_1_37_0" and then close the menu.

For me= Project-> Edit Project Settings -> Build Tab -> Collection selection = Search Paths. Double click "header Search Paths' Remove the path listed with the "-". Now to grab the proper path: Drag your xcode build folder from finder to the open "header search paths" options window … It will display the proper path ( "$(SRCROOT)/" in my case, this is likely universal). Now, DO click the recursive box. Close the menu.

In xCode choose Build. When its complete your binary executable for the sim will appear in [path to project]/[project name]/build/Release. You can copy the binary file to anywhere else in the system so that you can run it in Terminal with your config file.

For me the binary file ended up in a folder entitled Debug within folder Build. I opened a terminal window, dragged enshshammy into the terminal window, then dragged the txt file config.txt into the terminal window, hit enter and after a bit it reported data! Woot.

Edit the Config.txt file in text editor to match your shammy's stats.

unfold Clarifying for OS X by ONebulus (guest), 1234258665|%e %b %Y, %H:%M %Z|agohover
errors in compiling on OSX
Totentanz (guest) 1234721354|%e %b %Y, %H:%M %Z|agohover

trying to compiling EnhSim 1.5.8 on OSX, boost 1.38.0

I followed the Onebulus' instructions, but I get the following errors when building:

error: 'snprintf' is not a member of 'std'

in both consumables.cpp and effects.cpp

this is the incriminated line

const int __ret = std::snprintf(__out, __size, __fmt, __prec, __v);
unfold errors in compiling on OSX by Totentanz (guest), 1234721354|%e %b %Y, %H:%M %Z|agohover
Woof...
ONebulus (guest) 1235294266|%e %b %Y, %H:%M %Z|agohover

I have no clue how to fix your error. I wish we had a place to just upload the OS X compiled version of this handy sim program.

unfold Woof... by ONebulus (guest), 1235294266|%e %b %Y, %H:%M %Z|agohover
tukeztukez 1235298439|%e %b %Y, %H:%M %Z|agohover

ONebulus, if you want to upload OS X version to Google Code I can give you permissions to do that. Contact me with email.

unfold by tukeztukez, 1235298439|%e %b %Y, %H:%M %Z|agohover
IT LIVES
Jonah (guest) 1235965243|%e %b %Y, %H:%M %Z|agohover

I managed to get it to compile on mac. I followed ONeb's instructions, but when it didn't work I fiddled around with the Header thing and found the issue. It seems one of the files referenced is included in the "boost" folder included in the enhsim source folder but not in the boost_1_38_0 or whatever. So I copied it over. Problem solved. So here's a step-by-step.

In the main menu choose Project -> Edit Project Settings then the Build tab. Scroll down till you see the header that says "Search Paths". Double click the entry for "Header Search Paths".

Now, add 2 new entries with the + button. For the first, double click under the path heading and type "$(SRCROOT)/build" (with the quotes) and check the recursive box. For the second, type "$(SRCROOT)/boost_1_38_0" and make sure recursive is cleared.

Next, in Finder, copy the "config" file from (your project name)/boost or (enhsim source file)/boost to (your project name)/boost_1_38_0/

Click build in XCode and enjoy as it WORKS. YES, IT WORKS. I assume it works right, but I'm not sure. I can't double check, but if someone can side-by-side it with the windows release that would be epic. Thanks to all of you for making this project possible, and let's hope it works. Power to the mac people!

unfold IT LIVES by Jonah (guest), 1235965243|%e %b %Y, %H:%M %Z|agohover
Totentanz (guest) 1235982705|%e %b %Y, %H:%M %Z|agohover

Many thanks, it worked.

unfold by Totentanz (guest), 1235982705|%e %b %Y, %H:%M %Z|agohover
tukeztukez 1235983719|%e %b %Y, %H:%M %Z|agohover

Since version 1.5.6, I included the necessary boost files in the package. Guide hasn't been updated to these changes, but what it means is you shouldn't have to pay attention to boost at all, no downloading etc. Could someone test does it actually work? I tried to include only the necessary boost files, but haven't tested it on other systems than mine (Vista/Visual C++).

unfold by tukeztukez, 1235983719|%e %b %Y, %H:%M %Z|agohover
Mac Update
UselessbobUselessbob 1236481410|%e %b %Y, %H:%M %Z|agohover

I was having issues building it, it seems that you need to include the Boost folder contained in the overall folder (I.E. boost_1_38_0/boost) in order to build properly. It is a large folder (about 40 mb), and you prob don't need it all, so open it up, take what you need, and include that in the next build. In the mean time, update this page.

INSTRUCTIONS:
Open XCode
Start a new project(Command Line Utility -> C++ Tool)
Immediately delete the main.cpp file when the project appears.
Right click the project in XCode, Add -> Existing Files, open the "source" folder for EnhSim and choose all the files.
Un-check the box next to the SFMT.c.
Double click Enhsim.h, type "#define NOTHREADS"
From the main menu bar, Project -> Edit Project Settings->Build
Scroll down to "Search Paths" and double click "Header Search Paths"
Drag your [project]/build and [project]/boost folders onto the window.
Check the box next to build, and make sure the box next to boost is unchecked.
Choose build, your executable will build to [project]/build/Release

To run your executable, open terminal, drag your executable file onto the terminal window, then your config file.

Updates:
I eliminated at least some unnecessary files from boost, taking it down to only 2 or so MB.
(link) http://uploading.com/files/XTIWMTBP/boost.zip.html
I posted a youtube screencast of how to compile it on mac if my written instructions were unclear.
(link) http://www.youtube.com/watch?v=SwLeq4oWlSk
I have started working on a GUI for Mac users based directly on the windows version. It's not done visually and none of the code is written, but it should be done as soon as I learn cocoa.
http://img12.imageshack.us/img12/3993/picture3s.png
http://img13.imageshack.us/img13/3695/picture4a.png
http://img7.imageshack.us/img7/6505/picture5r.png
http://img18.imageshack.us/img18/8458/picture6c.png
http://img8.imageshack.us/img8/59/picture7p.png
http://img9.imageshack.us/img9/6510/picture8r.png
http://img19.imageshack.us/img19/1236/picture10g.png
http://img12.imageshack.us/img12/851/picture11b.png

last edited on 1236496255|%e %b %Y, %H:%M %Z|agohover by Uselessbob + show more
unfold Mac Update by UselessbobUselessbob, 1236481410|%e %b %Y, %H:%M %Z|agohover
Ugh...
SickCat (guest) 1236703256|%e %b %Y, %H:%M %Z|agohover

Not sure what I'm doing wrong here. Even after a fresh install of xCode (3.1.2), fresh EnhSim (1.5.9.1), and following the YouTube instructional, I still have the compile fail with 51 errors and 5 warnings, which is actually better than the 72 errors I was getting when I followed the original instructions. Anyway, I'm going to see if I can't get this thing to work using CrossOver.

unfold Ugh... by SickCat (guest), 1236703256|%e %b %Y, %H:%M %Z|agohover
How to fix
UselessbobUselessbob 1236805156|%e %b %Y, %H:%M %Z|agohover

The video was intended to be used with the proper distribution of boost. Did you download my copy of the boost folder? Try putting that into your xcode folder and rebuild, it should work then.

UPDATE:
Here's a fully working (I think) copy of the source code. I can't test right now because I'm in school and I don't have xcode on this computer, but I will test later. In the mean time, linky:
http://uploading.com/files/VFLB7FK9/source.zip.html

last edited on 1236862025|%e %b %Y, %H:%M %Z|agohover by Uselessbob + show more
unfold How to fix by UselessbobUselessbob, 1236805156|%e %b %Y, %H:%M %Z|agohover
Yep...
SickCat (guest) 1236877686|%e %b %Y, %H:%M %Z|agohover

That did the trick. Thanks a ton for the work on this, and for the source download.

unfold Yep... by SickCat (guest), 1236877686|%e %b %Y, %H:%M %Z|agohover
No problem
UselessbobUselessbob 1236894638|%e %b %Y, %H:%M %Z|agohover

Just doing my civic duty to all my fellow mac using shamans out there. The GUI is coming along nicely, I hope to have a working beta by the end of March or some time in April, depending on my schedule.

unfold No problem by UselessbobUselessbob, 1236894638|%e %b %Y, %H:%M %Z|agohover
1.6.9 and I've lost my mojo....
ONebulus (guest) 1240456729|%e %b %Y, %H:%M %Z|agohover

Trying to compile 1.6.9 and I am hitting a wall. Can't get normal.C to compile…
Xcode is spitting out an error on line 401

EnhSim1.6.8/NORMAL/normal.C:401: error: 'exit' was not declared in this scope

Anyone have any ideas?

unfold 1.6.9 and I've lost my mojo.... by ONebulus (guest), 1240456729|%e %b %Y, %H:%M %Z|agohover
RE: 1.6.9 and I've lost my mojo....
Antonius (guest) 1240501953|%e %b %Y, %H:%M %Z|agohover

Regarding 1.6.9 & compiling on OSX, I too run into the error on line 401 of Normal.cpp
Building 1.6.8 doesn't give this error. Maybe Tukez edited something out and forgot some change?
If you comment out the exit(1) line it gives more errors.

Maybe someone more profeccient at Mac coding can take a look at the code?

Cheers! Antonius

unfold RE: 1.6.9 and I've lost my mojo.... by Antonius (guest), 1240501953|%e %b %Y, %H:%M %Z|agohover
Eh?
UselessbobUselessbob 1240613044|%e %b %Y, %H:%M %Z|agohover

Is that normal.c or normal.cpp
Also, I can't compile 1.6.8 either, so I don't know what's up there.

I found that if you uncomment the include c standard lib line, it fixes the exit(1) error, but gives a g++ error code 1, for which there is no reliable solution that I can find. If I get my windows box up and running again, I could have a look at it in VisualStudio, but if it works there, all I can conclude is that either g++ sucks, or the code, like much C++ code, is no longer compatible on mac, for which I would advise rewriting in Java :P, but then again, coding without using pointers (<3 pointers) is just a damn pain, so if that's the case, us macies are out of luck again. As always, I'll stick to the project and do what I can, but I make no guarantees.

EDIT: Works now with 1.7, thanks a bunch tukez.

last edited on 1240711855|%e %b %Y, %H:%M %Z|agohover by Uselessbob + show more
unfold Eh? by UselessbobUselessbob, 1240613044|%e %b %Y, %H:%M %Z|agohover
1.7 Success
ONebulus (guest) 1241397980|%e %b %Y, %H:%M %Z|agohover

Following the normal routine, including using the provided boost folder, I was able to successfully build version 1.7 thanks.

For reference these were the errors I ran into:

warning: no rule to process file '$(PROJECT_DIR)/boost/pool/detail/pool_construct.inc' of type sourcecode.pascal for architecture ppc

warning: no rule to process file '$(PROJECT_DIR)/boost/pool/detail/pool_construct_simple.inc' of type sourcecode.pascal for architecture ppc

/Applications/Games/World of Warcraft/Working/EnhSim1.7/enhsimconfig.cpp:2364: warning: unused variable 'skipped'

/Applications/Games/World of Warcraft/Working/EnhSim1.7/SFMT/SFMT-params.h:6:4: warning: #warning "MEXP is not defined. I assume MEXP is 19937."

/Applications/Games/World of Warcraft/Working/EnhSim1.7/skills.cpp:688: warning: unused variable 'dmg'

unfold 1.7 Success by ONebulus (guest), 1241397980|%e %b %Y, %H:%M %Z|agohover
Building: Now easier than ever!
UselessbobUselessbob 1241403986|%e %b %Y, %H:%M %Z|agohover

INSTRUCTIONS:
Open XCode
Start a new project(Command Line Utility -> C++ Tool)
Delete main.cpp
Right click the project in XCode Add->Existing Files, all files from "source" folder
Un-check the box next to the SFMT.c.
Double click Enhsim.h, type "#define NOTHREADS"
Choose build, your executable will build to [project]/build/Release

unfold Building: Now easier than ever! by UselessbobUselessbob, 1241403986|%e %b %Y, %H:%M %Z|agohover
Totentanz (guest) 1241818524|%e %b %Y, %H:%M %Z|agohover

I managed to compile EnhSim on OSX with ZThreads support, using the library
that comes with http://www.armagetronad.net/ (it's very simple, you just need to add the LibZthread.a and the CoreServices.Framework to the "Link Binary with Libraries" section of "Targets").

The problem is, if I run the app with 1 thread, I get a result comparable with the "unthreaded" one (60 sec for a simulation), if I set 2 threads the simulation takes longer (90 secs!), I don't know what may be causing this, I have really poor C++ knowledge

unfold by Totentanz (guest), 1241818524|%e %b %Y, %H:%M %Z|agohover
Threading
UselessbobUselessbob 1241818749|%e %b %Y, %H:%M %Z|agohover

To be honest, I never took the time to check out the multithreading on the sim. The time doesn't really bother me enough, and my C++ knowledge is rather lacking, so I'd say at this point don't bother. If someone better at this would like to check it out, keep me informed.

unfold Threading by UselessbobUselessbob, 1241818749|%e %b %Y, %H:%M %Z|agohover
Totentanz (guest) 1242058622|%e %b %Y, %H:%M %Z|agohover

Time is quite an issue for me, I'm on a 2x2Ghz G5 CPUs and a simulation takes about 60 seconds, which means about 10 mins for an ep calculation… I tried to compile the app with the HAVE_ALTIVEC flag and various G5 optimization flags but little has changed. And the ZThread-ed version uses is moe CPU intensive yet 50% slower which is very strange to me, but I guess I need some more C++ knowledge to understand what's going on

unfold by Totentanz (guest), 1242058622|%e %b %Y, %H:%M %Z|agohover
Mac GUI?
Sekhem (guest) 1244867101|%e %b %Y, %H:%M %Z|agohover

Uselessbob, I saw that you'd put up some screenshots of a UI you were working on for Mac users back in March … has any progress been made on that? I ask because I have a (I believe) fully functional UI for EnhSim 1.7.0 that I've recently started testing for bugs, and would like the Mac-using community to have at it, as I'm perhaps a bit too gentle with it, being its creator … but I don't want to step on your toes! If your project is already done, I'd definitely like to take a look and see where I might be able to improve; if not, perhaps (very likely) you've found more efficient ways to do some of the stuff than I did, in which case I'd welcome comments!

At any rate, if I get the OK from you, I'll put it up in its current incarnation at Google Code or something, so people can download the pre-built (Leopard/x86 only) application and/or the source / Xcode project.

unfold Mac GUI? by Sekhem (guest), 1244867101|%e %b %Y, %H:%M %Z|agohover
Go ahead
UselessbobUselessbob 1244917618|%e %b %Y, %H:%M %Z|agohover

I had to put off the project for a few months due to school work, go right ahead and post yours and I'll have a look at it.

unfold Go ahead by UselessbobUselessbob, 1244917618|%e %b %Y, %H:%M %Z|agohover
Right, so version 1.0...
Sekhem_FMSekhem_FM 1244926212|%e %b %Y, %H:%M %Z|agohover

Of the newly-built iEnhSim is available, with or without source, at http://code.google.com/p/ienhsim/

Hammer away, find bugs, please — The Google Code page has a nice bug tracker in there, so anything you find just submit a bug for it and I'll work on fixing them in the next release.

I've also added a category in the bug tracker for feature requests, so feel free to use it for that purpose as well.

Please note that this will run on 10.5 and later only, and is Intel-platform only (as I do not have a PPC machine to test against — anyone want to lend me one? =P)

unfold Right, so version 1.0... by Sekhem_FMSekhem_FM, 1244926212|%e %b %Y, %H:%M %Z|agohover
Wow
UselessbobUselessbob 1244928300|%e %b %Y, %H:%M %Z|agohover

Looks awesome, much better than I could have done (I was using this as an excuse to learn cocoa). Great work.

unfold Wow by UselessbobUselessbob, 1244928300|%e %b %Y, %H:%M %Z|agohover
Thanks
Sekhem_FMSekhem_FM 1244954528|%e %b %Y, %H:%M %Z|agohover

I'm just learning Cocoa too, so … if you see any place I could have done something a more efficient way, please feel free to point it out =D

unfold Thanks by Sekhem_FMSekhem_FM, 1244954528|%e %b %Y, %H:%M %Z|agohover
Totentanz (guest) 1245061140|%e %b %Y, %H:%M %Z|agohover

I have a PowerMac G5, I will try to build and run the application and let you know the results. Nice one!

unfold by Totentanz (guest), 1245061140|%e %b %Y, %H:%M %Z|agohover
Sekhem_FMSekhem_FM 1245080042|%e %b %Y, %H:%M %Z|agohover

You'll have to compile EnhSim for PPC as well, as iEnhSim just calls a pre-compiled binary version of it (that is also only compiled for Intel) =)

unfold by Sekhem_FMSekhem_FM, 1245080042|%e %b %Y, %H:%M %Z|agohover
Mac Threads?
Sekhem_FMSekhem_FM 1245101145|%e %b %Y, %H:%M %Z|agohover

Has there been any progress on getting EnhSim to run well in a threaded fashion, by the way, on the Mac platform? The binary I built for iEnhSim is single-threaded, and it definitely shows. =P

unfold Mac Threads? by Sekhem_FMSekhem_FM, 1245101145|%e %b %Y, %H:%M %Z|agohover
Totentanz (guest) 1245229066|%e %b %Y, %H:%M %Z|agohover

I have compiled the sources for OSX, the only problem I get is if I try to load my
original config.txt, in that case the application shows a warning telling it'is not a valid configuration file, and then crashes after some seconds. No problems if I create and reload a configuration file using iEnhSim. Very good work indeed.

unfold by Totentanz (guest), 1245229066|%e %b %Y, %H:%M %Z|agohover
Totentanz (guest) 1245229097|%e %b %Y, %H:%M %Z|agohover

I meant OSX Universal Binary

unfold by Totentanz (guest), 1245229097|%e %b %Y, %H:%M %Z|agohover
Totentanz (guest) 1245229879|%e %b %Y, %H:%M %Z|agohover

and I forgot, the amazing thing about iEnhsim is that it's about 10x faster than the command line version! (both in normal simulation and in ep calculation)

unfold by Totentanz (guest), 1245229879|%e %b %Y, %H:%M %Z|agohover
Hrm...
Sekhem_FMSekhem_FM 1245252978|%e %b %Y, %H:%M %Z|agohover

Could you PM me the config.txt that's generating the error message, Toten?

Curious what's causing it — might be a bug in my parsing functions =)

unfold Hrm... by Sekhem_FMSekhem_FM, 1245252978|%e %b %Y, %H:%M %Z|agohover
Threads
Sekhem_FMSekhem_FM 1245352538|%e %b %Y, %H:%M %Z|agohover

So, I've managed to build the ZThreads package from scratch, and am actually getting better performance (as might be expected), not the worse performance others experienced earlier. I'm trying to figure out how to build a PPC version of the libZthread.a library — as soon as I can do that, I will be able to release a fully-threaded, Universal Binary version of iEnhSim. =D As a teaser, I have an Intel-only debugging version working multi-threaded, and it definitely shows nice improvements … I think folks will like it.

last edited on 1245352916|%e %b %Y, %H:%M %Z|agohover by Sekhem_FM + show more
unfold Threads by Sekhem_FMSekhem_FM, 1245352538|%e %b %Y, %H:%M %Z|agohover
TotentanzTotentanz 1245515456|%e %b %Y, %H:%M %Z|agohover

ZThreads is already working on PPC, as I stated your app is about 10 time faster compared to the "standard" console EnhSim on my 2x 1Ghz G5 Powermac :) . furthermore, the app works on PPC even if compiled for Intel.

BTW, it seems someone created a fork of the sim including some recent items and fixing some calculation for armor penetration I think, just check the EJ forum thread.

last edited on 1245515583|%e %b %Y, %H:%M %Z|agohover by Totentanz + show more
unfold by TotentanzTotentanz, 1245515456|%e %b %Y, %H:%M %Z|agohover
Hrm...
Sekhem_FMSekhem_FM 1245515634|%e %b %Y, %H:%M %Z|agohover

I realized that yes, the current version is in fact UB, I misunderstood how XCode sets up build targets. =) Granted, I haven't tested it, but … there's no way it should be multi-threaded currently - I explicitly disabled threading support and didn't link in the ZThreads library. So I must admit I'm a little confused here … heh =) Next time you run a sim, open Activity Viewer, and look at the thread count for the EnhSim process — if it's anything other than 1, I'm REALLY confused. ;)

unfold Hrm... by Sekhem_FMSekhem_FM, 1245515634|%e %b %Y, %H:%M %Z|agohover
Totentanz (guest) 1245532752|%e %b %Y, %H:%M %Z|agohover

You are right, the Enhsim process only has one thread.
But for some strange reason your app is about 10 times faster than the Enhsim I compiled
from sources following Uselessbob instructions

unfold by Totentanz (guest), 1245532752|%e %b %Y, %H:%M %Z|agohover
Success!
Sekhem_FMSekhem_FM 1245572490|%e %b %Y, %H:%M %Z|agohover

Managed to get ZThreads to build in separate Intel and PPC passes, then used the lipo command to combine them into a Universal library. Re-built the current version of iEnhSim using Verges' updated engine, multi-threaded … works a charm, and found a way to test PPC versions as well (for other Intel users, if you're wondering…you can force an app to run in PPC mode by running "arch -ppc program_name" instead of just "program_name")

So yes … good things coming in the next version…full UB-ness, multi-threaded goodness, some fixes to memory leaks, and I'm working on a couple new features too … if all goes well, the new version will be up on the project page Monday or Tuesday, I imagine. Thanks to all the Mac users for your support in this =)

unfold Success! by Sekhem_FMSekhem_FM, 1245572490|%e %b %Y, %H:%M %Z|agohover
Totentanz (guest) 1245832688|%e %b %Y, %H:%M %Z|agohover

I discovered why I had this greater performance for iEnhSim… the simulation time was set to 1000h while I usually use 10000h … this should explain the "10 times faster" thing… sorry for that

unfold by Totentanz (guest), 1245832688|%e %b %Y, %H:%M %Z|agohover
TotentanzTotentanz 1246275967|%e %b %Y, %H:%M %Z|agohover

Hi, any updates on the status of the new version?

If changes about Vergas' engine are working, it could be worth to publish a release with those only (we can wait some more for multithreading and other features)

last edited on 1246280898|%e %b %Y, %H:%M %Z|agohover by Totentanz + show more
unfold by TotentanzTotentanz, 1246275967|%e %b %Y, %H:%M %Z|agohover
My apologies
Sekhem_FMSekhem_FM 1247267476|%e %b %Y, %H:%M %Z|agohover

I sincerely apologize for my absence — sadly, the business that I own and various RL concerns kind've took over for a while.

The good news is this - iEnhSim 1.0.4, including multithreading, Vergas' 1.7.0.3 engine, and the new trinkets that 1.7.0.3 supports (Mjolnir, Blood of the Old God, Dark Matter, and Elemental Focus Stone), is now available at ienhsim.googlecode.com !

I will try to keep updates much more frequent from this point forward. ;)

Also, as a little bonus for those who haven't discovered it yet … the Shaman icon in the lower right corner is clickable. ;)

Edit: Forgot to mention, iEnhSim 1.0.4 is FULLY Universal Binary — PowerPC users, rejoice!

last edited on 1247268637|%e %b %Y, %H:%M %Z|agohover by Sekhem_FM + show more
unfold My apologies by Sekhem_FMSekhem_FM, 1247267476|%e %b %Y, %H:%M %Z|agohover
Totentanz (guest) 1247333760|%e %b %Y, %H:%M %Z|agohover

great!
p.s.: in the about window it shows as 1.0.3

unfold by Totentanz (guest), 1247333760|%e %b %Y, %H:%M %Z|agohover
Sekhem_FMSekhem_FM 1247333928|%e %b %Y, %H:%M %Z|agohover

Heh, yeah, I realized after I published it that I'd forgotten to change the version number in the project … ah well, it doesn't break anything, I'll update it in the next release ;)

unfold by Sekhem_FMSekhem_FM, 1247333928|%e %b %Y, %H:%M %Z|agohover
Add a new comment
Page tags: build c++ compile flags
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License