For those compiling OpenXcom yourselves, there’s a bug in SDL_gfx 2.0.21 and older that causes the globe to be rendered incorrectly, so until a new version is released, you’ll need the latest SDL_gfx SVN to fix it. If you’re using the pre-built Windows dependencies, they’ve been updated for this so just download them again to fix it.
Yet another build!
Yes, for those of you without a compiler (which, if my forum is any guess, is like only 1% of my fanbase), rejoice! You get to try out some more stuff!
To recap what’s been added since the last build:
- Base building.
- Hangar building.
- Craft equipping (incomplete).
- Textured and lighted globe (incomplete).
- Cosmetic enhancements.
- And the traditional bugfixes and performance enhancements.
And our contributors never stop! If you think your particular platform or compiler wasn’t supported before, maybe it’s time to look at the Compiling page again, it just keeps on growing!
What would you rather see implemented next?
Contributor videos
It’s been boring around here, hasn’t it? Nothing but me talking about programming here and code that. Ugh! Boring! Let’s see what people have been contributing.
Pmprog has been working on getting the globe textured and lighted:
While Shin-NiL got OpenXcom ported to a Dingoo device:
The Great Include War of 2010
Following up on the last post, I finally fixed the goddamn problem. Oh and what a problem it was. You might think I’m petty for not just giving up, rolling back to the last version and forgetting about it. Well, maybe. But I wasn’t gonna let some stupid little error get the best of me. It’s what separates the men from the boys. The nerds from the geeks. The people who spend their Friday nights debugging me from the ones who have better things to do.
Like all problems, I went to absurd lengths to find the problem until eventually it was staring me right at the face and I was dumbfounded by how ridiculous it was. But I solved it. Me. All alone. My debugging beard grew a little more rugged. For the benefit of all programmers out there that might be reading this (those that don’t care feel free to ignore this), I will explain:
I had pulled every single debugger recommended out there in a desperate attempt to get to the bottom of this. Application Verifier, WinDbg, Purify, BoundsChecker, CrtCheckMemory, the works! They all pointed me to a heap corruption in the constructor that displayed the Language screen. It made no sense. How can a blank constructor cause problems? It should be something that happened before, but none of the code that came before corrupted anything. Commenting things in and out, switching things here and there, nothing seemed to fix it. In the end, none of the code had been changed since last time aside from moving #includes. How can those cause problems???
And then it hit me. These two simple harmless lines of code atop of it all:
class State;
typedef State &(State::*EventHandler)(SDL_Event *, int);
Harmless, right? Just a forward-declaration and a pointer to a member function. Nothing fancy, right?
ntdll.dll!7743dc6d()
So OpenXcom’s #includes were becoming a horrible nest of poor standards and slow compiling (to those not familiar with programming, pretend to follow along), so I decided to give them a good old spring-cleaning. In the summer.
The reward? Well now it crashes right on startup! With absolutely no code changes at all, aside from moving #includes around! Not even an error message. Or a pointer to a bothersome code line. Not even a useful call stack. It just up and dies horribly right in my face like I just opened Pandora’s Box.
Let this be e lesson to you kids. Programming is a harsh and cruel mistress that will backstab you everytime you face the other way. And you still keep going back to it. And like it.
Server downtime
Our host, Ninex, is planning to upgrade the server this Sunday (4th July), from 12PM to 4PM CEST (maybe more, maybe less).
The website and forum will be down at that time, but you can still access the downloads at the Sourceforge page.
Crafts and bases
It’s been a busy time. Taking care of exams, fixing bugs, adding features, etc. A lot is going on with the code, as you might’ve noticed if you’ve been to the forums, but sadly it rarely translates to anything visible, so here’s a run-down:
– Did some work on fleshing out crafts. Now you can view their info and equip them a bit:
You can also see the highlighting works now.
– Looking into implementing sound effects, they make the game more lively, and they’re one of the more advanced game formats I need to look into eventually.
– After months of hard work, you can finally click on things on the globe! A triumph for us all. 😛 Thanks for the contributors who helped out.
One of the implications is that you can now place and name your starting base:
Soon you’ll be able to actually do things on the globe, build extra bases and so on.