X-Half-Life: Deathmatch (XDM) is an Unreal Tournament-style Half-Life 1 modification. XDM features Classic Deathmatch, Team deathmatch, Capture The Flag, Domination, Co-Operative, Last Man Stanging, Singleplayer game rules, new weapons, new high-quality maps, new hi-def models and lots of special effects. It is an Unreal/UT-style HL mod with tons of familiar stuff and atmosphere. 8) XDM continued where VALVe stopped. XHL provides extended features, effects and principles with FULL BACKWARD COMPATIBILITY. XHL pushes HL engine to its limits, don't underestimate the GoldSource! XDM - brings unreality to Half-Life since 2001!

Report article RSS Feed Developer's headache: VALVe's SDK update

Most modders already know that VALVe have recently updated their Half-Life SDK (after ~10 years!) due to recent expansion onto GNU/Linux platforms. What does it mean to us?

Posted by ~X~ on Sep 6th, 2013

Most modders already know that VALVe have recently updated their Half-Life SDK (after ~10 years!) due to recent expansion onto GNU/Linux platforms. What does it mean to us? Well, quite a lot.

So, when I got to Github.com I was like

ft guy

Oh well, It's just a little fix+library update! We all know how to use diff/WinDiff, right? Nothing to worry abou...

Merging with WinDiff

Wait, what?

FFFUUU- updated version

 
And then, after 48 hours of merging, updating, debugging we get what?

development process

Technical details: VALVe updated their engine API, added some steam-related stuff, updated VGUI library, updated network code, replaced Win32 API input with SDL library for cross-platform support...
 

development process

So, it appears, that the new VGUI static lib is not supported by my testing HL version, so - BAM! - I have to revert to old library. Everything compiles fine, and - BAM! - SDL DLL is missing, and no way to get it, and I have to embed old code into #ifdefs like this:

cpp code:
#ifdef NOSDL
#ifdef _WIN32
#include <mmsystem.h>
#endif
#else
#include <SDL2/SDL_mouse.h>
#include <SDL2/SDL_gamecontroller.h>
#endif

Now I'm testing my mod with NOSDL, old VGUI and - PWASH! - all GUI controls are messed up! WHY?! (T_T) Almost hour of debugging, and finally I remembered these updated lines:

cpp code:
// Use this to set any co-ords in 640x480 space
#define XRES(x)     ((int)(float(x) * ((float)ScreenWidth / 640.0f) + 0.5f))
#define YRES(y)     ((int)(float(y) * ((float)ScreenHeight / 480.0f) + 0.5f))
// HL20130901 from bad to worse
//#define XRES(x)     (x  * ((float)ScreenWidth / 640))
//#define YRES(y)     (y  * ((float)ScreenHeight / 480))
 

So really, now I hope more people understand how tough life is for us, programmers. Especially, when int comes to updates and merging. /(T_T)\
Now I'm going to sleep, and you may prepare yourselves for unforeseen conseque... I mean, next release of XDM. :)

I got brother in my game
PS: looks like I've fixed more bugs and hacks than VALVe did 8)
Post comment Comments
DNR3
DNR3 Sep 10 2013, 3:15pm says:

Funny thing is, the SDK changelog says "Added support for mods" lol

+1 vote     reply to comment
Post a Comment
click to sign in

You are not logged in, your comment will be anonymous unless you join the community today (totally free - or sign in with your social account on the right) which we encourage all contributors to do.

2000 characters limit; HTML formatting and smileys are not supported - text only

Icon
Half-Life Icon
Platforms
Windows, Linux
Game
Half-Life
Developed By
~X~
Contact
Send Message
Official Page
X.netheaven.ru
Release Date
Released Jun 30, 2001
Mod Watch
Track this mod
News
Browse
News
Report Abuse
Report article
Related Mods
X-Half-Life: Deathmatch (Half-Life)
X-Half-Life: Deathmatch Half-Life - Single & Multiplayer First Person Shooter
Related Games
Half-Life
Half-Life Single & Multiplayer First Person Shooter
Related Groups
HALF-LIFE 1 PLAYERS!
HALF-LIFE 1 PLAYERS! Fans & Clans group with 121 members