Following patch still needs some work, yet it already is almost complete.
It should be treated as a starting point for a discussion.
For the moment, it ignores resolution settings, but that part can be easily fixed.
Also, changing scale without restart doesn't quite work - that will be a bit harder.
Though the campaign AI is plain insane; where in the code it can be temporarily disabled (in a way that will affect saves) ?
If you want to play against a less insane AI, please try the 9.6.4beta in the following folder (builds for windows and OSX available).
https://sourceforge.net/projects/dunelegacy/files/dunelegacy/0.96.4beta/
I would be happy to merge your SDL changes (or vice versa, allow you to incorporate my changes). Most of my changes are the following so far:
In the long run, maybe, but right now, I just want to temporarily turn it off.
I'm pretty much getting curbstomped, in part due to weak gaming skills, but also because it the time it takes me to produce 5 quads, AI produces about 9-11 and a couple squads of troopers.
As I've said, these SDL changes need quite a bit testing, cause while some options were deliberately disabled, but can be restored and some just don't make sense under SDL2, I'm not sure how thorough I was. In example, I've noticed the worm shimmer needed a fix quite late - only after I've got attacked by a worm.
...so, with less whining and more digging into the code, it was just a matter of adding getOwner()->isAI() check in one place...
I still hold that no standard AI will be valid for the campaign, as there's just no sane way the player can offset the economic advantage of 4 running refineries and barracks+factory set.
Now, to get back to fixing problems in the patch...
So, I've left for awhile.
Now, looking at the SDL2 branch and my old patch, a few minor issues.
I've got two minor fixes/enhancements ready:
Ooops, I've posted too early and the wrong thing.
first the patches
...and the second one
Oh, I forgot about a minor bug I've accidentally found: SIGFPE if easybot is selected.
In src/players/QuantBot.cpp, void QuantBot::onDecrementUnits(int itemID)
changing '/ difficulty' to '/ (difficulty+1)' worksaround the problem, but might not be correct.
Now, about pTransparent40Surface and pTransparent150Surface.
I'm thinking about doing that via alpha surfaces too, but I can't quite get the right shade.
40 and 150 don't seem to hit the right value.
Actually, I'm certain only about fog (40), as I'm not sure how to correctly test for AirUnits.
...ah, right ornis not for Harkonnen (btw. this interface is goddamn stupid - honestly, SourceForge :roll:)
The next version uses SDL2. Thank you very much for your patch.