Half Life 1 Engine vs Source Engine

New Member
May 31, 2013
Best answers
Hello guys I'm a new here.

I just found this thread (almost 1 month ago oh!) and I would like to add my five cents.

To make the engine to support multiple CPU the way is to make it fully multi threaded.
What it means? The program itself can run simultaneously functions so each thread can use different CPUs.

Goldsrc is a monolithic applications that calls functions in asynchronous way (calls a function and wait until it finishes).

Building a multithreaded engine is not a hard work. Only some tasks should be done synchronized.
Also this can be done building not a fully multi threaded but using subsystems (1 thread for physics, 1 thread for sound, etc) and a good inter process communication (IPC) should be implemented.

Regarding reverse engineering, isn't illegal if it doesn't break any license agreement (you don't modify the code).
Hooking / Modifying functions on the fly (in memory) isn't illegal too. You can see a lot of modules for goldsrc engine doing that.

And about machine code, of course can be done but it's 10 times or more harder but for hooking and detours, machine code should be used to warrant it's funtionality.

Personally I code for goldsrc (ofc in c++) and I do a lot of reverse engineering. Can't tell anything about source engine because I don't have any work done with that.
Goldsrc is powerful, it lacks of some physics and all studio models are just a prism for collision detection but anyway, it's still powerful.
The very best there is.
Jan 23, 2011
Best answers
Naturally, all forms of reverse engineering are forbidden in just about any EULA, including Half-Life's. The DMCA states only a few very specific exemptions.
Project Manager
Staff Member
💻 Oldtimer
Nov 25, 2001
Best answers
calls functions in asynchronous way (calls a function and wait until it finishes).
you meant synchronously right, because if it was a-synch it would not wait for it to finish :)
ESF is multi-threaded, however not fully multi-threaded, we do what we can if there is an occasion for it and only if it's worth it. Debugging parallel code is a pain in the ass.

Users Who Are Viewing This Thread (Users: 0, Guests: 1)