it keeps crashing and crashing and crashing

Do you need help? Ask here!

Bug reporting belongs here: http://developer.wz2100.net/newticket
-Kosh-
Trained
Trained
Posts: 203
Joined: 16 Sep 2009, 23:34

Re: it keeps crashing and crashing and crashing

Post by -Kosh- »

Ilr wrote: Not to add gas to this, but isn't it true that OpenGL is the only truly Open-Source rendering 'ware' that is still widely supported cross-platform? ...Everything else has to run through Wine or whatever b/c M$ won't stop playing 'Empire2.0'...
And that's a good enough reason right there b/c "the Project" is all about embracing open source? (if I'm reading this correctly)
Yeah, openGL is "open". Anyone can use it, which is why it is being used all over the place like smartphones and such.
DX is MS specific, and they do not license it to anyone.
This is a waste of space. Something important should be here.
-Kosh-
Trained
Trained
Posts: 203
Joined: 16 Sep 2009, 23:34

Re: it keeps crashing and crashing and crashing

Post by -Kosh- »

Zarel wrote:I may not have been there for the fight, but regardless, the reason we currently don't have a DirectX renderer is because of lack of a maintainer.
O_o
Um...
Your saying if someone pops up and does a DX version and is not around to maintain it after X time goes by, the DX version would not be removed again if it broke? Is that not why the software renderer got the axe?
I bet the project lead would tell them to fork it, and not pollute the code base with DX again.
-Kosh- wrote:I somehow doubt this. The codebase would turn into ifdef hell.
...? Although we're starting to use OpenGL directly in a few places where we shouldn't, they can be abstracted out.
All the DX code would need to be surrounded by #ifdefs to prevent it from puking on linux/BSD/OS X. I guess you could just link to another library where all GL calls are converted to DX, but it would be tons of work and a huge PITA.
This is a waste of space. Something important should be here.
User avatar
Zarel
Elite
Elite
Posts: 5770
Joined: 03 Jan 2008, 23:35
Location: Minnesota, USA

Re: it keeps crashing and crashing and crashing

Post by Zarel »

-Kosh- wrote:O_o
Um...
Your saying if someone pops up and does a DX version and is not around to maintain it after X time goes by, the DX version would not be removed again if it broke? Is that not why the software renderer got the axe?
I bet the project lead would tell them to fork it, and not pollute the code base with DX again.
...no, wtf, that's not even remotely close to what I said. You know exactly what I said. I said "the reason we currently don't have a DirectX renderer is because of lack of a maintainer." Obviously, the upshot of this is that if we don't have a maintainer and the DirectX branch had problems, we would drop it.

Is your argument that if we have a DX maintainer, it will cause us to make stupid decisions and keep his code when he leaves and it causes problems? Because that also makes no sense whatsoever.

Also, you seem to think that nothing built upon closed technologies cannot possibly be in Warzone. This is a rather naïve view. After all, we compile Mac binaries with Xcode (proprietary) and distribute them in DMGs (proprietary). Our code relies on OpenGL video card drivers (usually proprietary), and many other parts of an average OpenGL implementation are proprietary. What's wrong with having DirectX support, especially if it's not the only library?
-Kosh- wrote:All the DX code would need to be surrounded by #ifdefs to prevent it from puking on linux/BSD/OS X. I guess you could just link to another library where all GL calls are converted to DX, but it would be tons of work and a huge PITA.
...erm, no. You include a source file with DX calls for Windows, and then you include a source file with OpenGL calls for other OSes (and also Windows, in case DX has issues).
-Kosh-
Trained
Trained
Posts: 203
Joined: 16 Sep 2009, 23:34

Re: it keeps crashing and crashing and crashing

Post by -Kosh- »

Zarel wrote: Is your argument that if we have a DX maintainer, it will cause us to make stupid decisions and keep his code when he leaves and it causes problems? Because that also makes no sense whatsoever.
No, not at all. I just do not see this project adding code to the codebase that only works on one platform.
Also, you seem to think that nothing built upon closed technologies cannot possibly be in Warzone. This is a rather naïve view. After all, we compile Mac binaries with Xcode (proprietary) and distribute them in DMGs (proprietary). Our code relies on OpenGL video card drivers (usually proprietary), and many other parts of an average OpenGL implementation are proprietary. What's wrong with having DirectX support, especially if it's not the only library?
If the codebase was windows specific then it would not be able to be compiled on any other platform. That is all I was saying. In the original code they had the PSX code blocks in #ifdef block. I was thinking you would do that again.

I do not think your argument over compilers, packages (if you want to call DMG that) or video drivers washes. All this stuff has nothing to do with being able to compile the codebase on as many platforms as possible. Those are all external.
-Kosh- wrote:All the DX code would need to be surrounded by #ifdefs to prevent it from puking on linux/BSD/OS X. I guess you could just link to another library where all GL calls are converted to DX, but it would be tons of work and a huge PITA.
...erm, no. You include a source file with DX calls for Windows, and then you include a source file with OpenGL calls for other OSes (and also Windows, in case DX has issues).
How would you be able to pick which rendering engine on windows then? AFAIK you need to make it into a dll to do this, then use the correct one.
This is a waste of space. Something important should be here.
User avatar
Zarel
Elite
Elite
Posts: 5770
Joined: 03 Jan 2008, 23:35
Location: Minnesota, USA

Re: it keeps crashing and crashing and crashing

Post by Zarel »

-Kosh- wrote:No, not at all. I just do not see this project adding code to the codebase that only works on one platform.
My point is that a DirectX layer isn't exactly the only platform-specific ifdef we have in Warzone. Sure, it's the biggest, but if someone else volunteers to maintain it, why not? Too greedy that you'll reject anything that doesn't help you specifically? (Obviously, this is not true, but the point is that having code that helps 80% of the userbase shouldn't be excluded on the basis that it's platform-specific; there are features that help even smaller proportions of the userbase - such as, I'm guessing, the entire Gamma campaign.)
-Kosh- wrote:If the codebase was windows specific then it would not be able to be compiled on any other platform. That is all I was saying. In the original code they had the PSX code blocks in #ifdef block. I was thinking you would do that again.
We wouldn't. We'd keep it in a separate file; the #ifdef would probably be in the form

Code: Select all

#ifdef USING_DIRECTX
#include <display3d_directx.c>
#else
#include <display3d_opengl.c>
#endif
-Kosh- wrote:I do not think your argument over compilers, packages (if you want to call DMG that) or video drivers washes. All this stuff has nothing to do with being able to compile the codebase on as many platforms as possible. Those are all external.
See my first point. What do you have against a change that will help the vast majority of players, doesn't hurt anyone, and that you don't have to do anything for?

We clearly already cannot compile the entire codebase at once, anyway; that's what ifdefs are for.
-Kosh- wrote:How would you be able to pick which rendering engine on windows then? AFAIK you need to make it into a dll to do this, then use the correct one.
No, no, I mean you'd still be able to compile an OpenGL version for windows. We'd probably offer it to people who were having issues with the DirectX version.
Per
Warzone 2100 Team Member
Warzone 2100 Team Member
Posts: 3780
Joined: 03 Aug 2006, 19:39

Re: it keeps crashing and crashing and crashing

Post by Per »

You guys are way off topic. Besides, nobody is going to write a DirectX renderer, so why bother even discussing it?