I believe only the client was released, unless you meant the original 2100 project that was a reskin and a bit more coding.
There were a big difference between the latest and the original? In my view the original had some decent work put in, I agree it was a lot of reskining, almost all the world wasn't it? But they had many things working well and together.... that was breathtaking in more than one aspect.
I don't think Jimmy is still around the forums and sadly I don't appear to have a copy of the files he posted & the links are dead.
I realised that my UIM06 + Enhanced + Enhance2 - which works well - was actually based on a slightly older build of Enhanced, basically the May '05 rather than the newer Dec '05. While my game works fine, it is of course missing some of the new features I wanted to try. However, testing it, I of course straight away get the "target" crash issue.
So, my question. With the files no longer available (unless someone has a copy they can post?) can I duplicate the changes Jimmy made? Sadly he did not detail how he'd done certain things.
As always, any help appreciated.
Edit: I've tried searching for Max's original Enhanced source files, but cannot find them despite lots of looking. Does Max have any web presence any more? Seems a few places have numerous Enhanced versions available - indeed, I already had several versions myself - but I cannot find the elusive source code to enable me to inspect the Enhanced file. I have the source for the Economy mod, which is great, but I'm not wanting to touch that until the show-stoppers are resolved.
Does anyone know if there's a way to make SheetMetal production favour Scrap over Ore? I have tons of Scrap in my hangar for creating sheetmetal, as well as Ore for ExMetal etc. but my SheetMetal production sucks up all my Ore when I'm not looking.
I've gotten round this by producing SheetMetal elsewhere and shipping it in to my main construction hangar, but that's rather clunky.
On a related note, I'm just going through the code for the Economy mod. I see how it works (just about) using raw material proces to calculate the value of end products. However, I'm finding that places that produce RAW material (such as Pure Water and Chemicals at the Sewage place in downtown) are often selling them for waaaaay over the base price, despite having a huge stock. Something not quite right there.
Also, some end products are far far too cheap - no one seems to want to buy when I sell stuff at the bare minimum I can make it for.
After my time playing around last night, I decided I'd like to tweak the Economy mod so the prices offer a better spread if I can. Additionally, I wanted suppliers of raw materials to offer them cheaper than Trade stations - it only makes sense.
So, I snagged Jimmy's tweaked Econmod code, set up a project in VS2012 and off I went. Had a minor snag with the project defaulting to expecting a pre-compiled header, but fixed that & got a clean compile. Went on to do a Release compile, and the resulting .dll is only 7k vs. Jimmy's 23k. Whut?
I tried the same using Code Blocks with the compiler suggested by Jimmy, and that gives me a 12k .dll. I'm confuzzled
I've not coded much myself in years, last time in anger was probably 3-4 years ago, plus I mainly did web stuff. So likely I've just made some mistake, but I cannot see what. I mean the code is simple, just the main .cpp and the .h - that's it. Jimmy's version does not use manufact.inc, so I excluded that.
If anyone would care to make suggestions, I'd appreciate it. Weird you know, I though my control test of ensuring my compiled Econmod.dll worked the same as the supplied one would be the easy bit lol.
Edit: interestingly, when trying to use the vs2012 generated .dll (7k) Hardwar fails right away saying it cannot find EconomyInit. However, the Code Blocks created .dll (12k) see Hardwar run fine, just none of the values change...most odd. Both VS and CB are set to default values from install, so I'm stumped. It's almost like some file / reference is missing, but the only files are the .cpp and .h. Possibly there's some additional static .dll / reference that Max and Jimmy used, but forgot to include. Dunno.
Edit2: Ok, I've been at this for hours with no results. I've even re-downloaded Code Blocks just in case and the base code, while compiling with no errors, simply doesn't create the .dll right. I would assume it's a tool thing, but VS2012 can't get it to work either. I wonder what's missing? Must be some additional dependency.
Having been hitting a brick wall for hours I decided there must be something wrong with my dev environment. To test the theory I installed the exact same build of Code Blocks on my gaming PC (W7 64 Ult, same as dev box) which has never had any such tools on it before.
So, I compile the SAME code with the SAME settings (default Code Blocks + mingw) and my DLL is now 62k! Whut? Note this is the Release .dll and not the inflated debug version, so I'm not going that crazy.
I decided to try it in game, and it appeared to perform the same as Jimmys - result. I then tweaked some values (x10 so it's obvious) and confirmed they were reflected in game. Lovely.
So, I'm now able to edit the Economy.dll - but what a mission to get here & there's still something a different about the .dll I've generated vs. Jimmy's and Max's original, who knows when that'll end up biting me...
I don't know much about h or cpp, however maybe the variables you are encountering are from using different compilers or even more up-to-date ones?
Well, the actual coding is fine. I make the odd mistake, but I correct them. I did coding for years (though not cpp) so can generally pick these things up.
I get your point though, there could be some weird discrepancy with the compiler. Though I do find it strange how most hangars are happy to use my revised values, whereas others insist on using the default hard-coded stuff.
I actually went back to Jimmy's original code this evening and ran a few tests. The problem I see is that the "Enhanced" economy is basically broken. As an example:
The Cheapest you can get CompComp is $262 this is based on getting ALL ingredients at the cheapest price - so that's 1 ExMetal at $200 (which comed from 1 Ore costing $200), 1 Gems at $500 (Raw material) and 1 Plastics at $87 (of which 8 are produced from 2 Chemicals which cost $350), to produce 3 CompComp. The costs are a simple sum of the parts - 1 Compcomp costs $262 to produce assuming we get the CHEAPEST ingredients - something I was trying to change.
Now places who NEED CompComp are only willing to pay $262 for it...I checked many places too. Consider that Jimmy's code includes calculations to increase the buying price - buy up to 1.5x base - if stocks are low. Basically a place that needs CompComp and has none should be paying 1.5x the base price for it. But this simply isn't reflected in the game.
Now, when I did my own changes, based on Jimmy's work - which I assumed had the desired results - I did more dramatic price over-rides to get a larger spread. My hope was to really give the economy a kick, with "easy" runs for the AI so the player(s) didn't have to do all the leg work. However, as a lot of Hangars simply don't use Econmod.dll to get their prices, you're basically screwed.
On paper (well, Econmod.cpp & .h) it looks really simple. Econmod.dll is called to provide a BUYING and SELLING price. The code passess the Item data (so we know the ware) as well as details of the Hangar Type that's asking. It should be a simple matter to first increase the spread - so there's some profit margin - then next change the bias. So, I coded it so Trade Station bought low-ish and sold high-ish, but the further stock level adjusters would sometimes make them the best deal. Basically they'd act as a bit of a sponge in the more dynamic economy. I was pretty pleased with my logic!
I wish I had access to the orginal source code from Max that Jimmy was using. That way I could see exactly how Econmod.dll is called from Enhanced. Sadly though, I think this original source code is long lost & Jimmy hasn't been seen for ages.
Don't get me wrong, I'm really glad you found Jimmy's end-user files for me, really appreciate that. It just gets a little frustrating when you see something wrong, change the code that's supposed to control it, and only have it work for some Hangars.
*sigh* I get a little obsessed when things vex me... lol
Ouch'sHardwar Orders - It was created in AHK (AutoHotKey) and gives you a GUI interface to give TI commands as well as allowing players to setup key modifiers to allow auto clicks (for example set it to Shift+Q to do 5 automated mouse clicks.
Max'shwe20070607.zip It is the source code that Jimmy started from, but from what I read in this post it is outdated.
Wow. That's the source for Enhanced? Cool! Is this Max's original or Jimmy's tweaked version do you know?
So, only the Econmod was written in cpp then...ok, guess I'll need to get my head around assembler! Was just getting used to cpp too lol. Wow, it's been...basically forever since I looked at stuff like this. Gonna keep me busy...but not quiet lol.
Just glanced at it briefly...will go into more detail over the next few days, time permitting.
Edit: The sad part is I have a folder with sub folders of Hardwar related stuff that is so poorly organized that I have duplicates of duplicates of duplicates, enough redundancies to make a bureaucrat happy.