Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
LexiMax

The source is (finally) with us...

Recommended Posts

Gez said:

Somebody would need to write the OpenGL initialization code for OS X. Then once this is done, it can be ported to Skulltag as well.

I actually tried to get GZDoom to compile on the Mac. The problem is the OpenGL API for the Mac lacks many of the (non-standard?) features defined under both Windows and Linux. For what I remember I determined that a decent amount of the renderer would have to be rewritten to work on the Mac. I'll probably look at it again some time in the future, but with my current level of OpenGL knowledge that appears to be the case (of course I'm quick to give up on porting GZDoom to the Mac since I don't care about non-software rendered ports).

Share this post


Link to post
Blzut3 said:

(non-standard?) features



Actually, GZDoom will run with plain OpenGL 1.5. If Apple does not support that I'd call it Apple's problem.

Of course the main issue is not GL itself but the system dependent initialization which always has been and probably forever will remain an utter mess, regardless of hardware platform.

Share this post


Link to post

I take it the system dependant initialization is gl_interface.cpp? That is where I was having the problem, but it seems like Mac support will cause more of a mess than Linux. To be specific take for example:"gl->DeleteShader = (PFNGLDELETESHADERPROC)wglGetProcAddress("glDeleteShader");" will not compile since Apple doesn't have the PFN* defines. When I did a search for them I recall that Apple has some of them under different (non-all-caps) names, but you needed to use a define in order to enable them and at the consequence of disabling other definitions with GZDoom needs.

Edit: I forgot to mention that the PFN* stuff was said to be non-standard when I found the "solution".

Share this post


Link to post

All the PFN stuff is in glext.h so if Apple doesn't provide a useful one it's Apple that's non-standard. I'm only using definitions from the official headers.

Share this post


Link to post
Graf Zahl said:

Actually, GZDoom will run with plain OpenGL 1.5. If Apple does not support that I'd call it Apple's problem.

That would be true, but on the other hand, we deal with stuff like this all the time, especially on Microsoft compilers :)

Share this post


Link to post

Indeed, PFNGLDELETESHADERPROC is in glext.h.

That won't be loaded if GL_VERSION_2_0 is already defined when including that header, though.

Share this post


Link to post
Blzut3 said:

For anyone wondering, this hasn't been formally announced on skulltag.net since the entire team seems to want to wait for Torr to formally announce it.

Oops!

>_>

<_<


Anyways, I haven't noticed this topic until now, but I made a compilation guide if anyone still cares. Though most of the info there could be obtained from this topic and ZDoom's compilation guide.

http://www.skulltag.net/forum/viewtopic.php?f=3&t=24137

Share this post


Link to post
CacoCaddy said:

Does this have any impact on the Odamex developers?

The code isn't GPL, so no.

Share this post


Link to post

Gez said:
You could try to do it, but you'd have to remove the OpenGL code

Could somone do that for me? I have no idea where to start ;/

Share this post


Link to post

Humm. Nice to hear that the sauce is finally there. But these "security reasons" bother me. I mean, huh? The only explanation I see for this would be the mentioned "cheat security" but someone who really wants to cheat or was able to hack a cheat in the sources would probably also be able to find ways to cheat the binary (messing in memory or decompiling or ...).
Strange.

Share this post


Link to post
Cacodemon said:

but someone who really wants to cheat or was able to hack a cheat in the sources would probably also be able to find ways to cheat the binary (messing in memory or decompiling or ...).
Strange.

No.

The binaries are encrypted (which makes antivirus softwares sometimes pick them up as false positives...) so it's really not that easy to hack them. Possible, sure, but that require a lot of skill and the investment of a lot of time.

Whereas if you have the source code, then it's a whole lot simpler to create your little exe with built-in cheats and a compatible netcode. You don't have to reverse-engineer an encrypted binary.

Most of the hackers don't bother with such decompiling process, and just try forging the packets instead.

Share this post


Link to post

I've heard of open-source Quakeworld clients using a closed-source "security module" to prevent cheating in multiplayer while leaving the game itself open. Would this arrangement be feasible for Skulltag in the future?

Share this post


Link to post

Holy shit! This is good stuff. Though none of this applies to me, I'm glad it happened. Maybe Carn and basically all of DW can finally bury the hatchet and b frans?

Share this post


Link to post
Woolie Wool said:

I've heard of open-source Quakeworld clients using a closed-source "security module" to prevent cheating in multiplayer while leaving the game itself open. Would this arrangement be feasible for Skulltag in the future?


The QuakeWorld anti-cheat is pretty trivial to bypass if you really want to. I have never joined a QuakeWorld server where having a working anti-cheat was a requirement, since it's Windows-only and there are many popular clients that don't support the anti-cheat.

Share this post


Link to post
kristus said:

What would be the point in doing that?


To have Skulltag open without every swinging dick and his brother cheating?

Share this post


Link to post
Woolie Wool said:

To have Skulltag open without every swinging dick and his brother cheating?

Download the GZdoom source for that. The only thing about Skulltag's source that is of interest is the net code.

Share this post


Link to post
kristus said:

Download the GZdoom source for that. The only thing about Skulltag's source that is of interest is the net code.


Custom gametype code (CTF/Skulltag/etc.) Surely that's useful?

Share this post


Link to post
×