Crispy on 27/1/2006 at 01:48
Scott asked this question on another thread; so rather than drag that thread off-topic, I'm replying here.
Quote Posted by ascottk
That reminds me, Crispy! Whatever happended to the custom t3ed hook program?
Do not speak
(ill) of the dead!
Just kidding, sort of. It still exists, but it's stagnant; it hasn't been touched in months, and by now I have half a dozen newer (and much more interesting) projects all bleating for attention.
Basically it died because I realised that the cost of implementing it far outweighed the benefits of having it; especially since about half of what it does can be done using resource hacking, which is quicker to do and more straightforward to distribute the results of.
The other reason it died was because hooking the Lua scripting language up to the Windows API to any useful extent is a large and tedious undertaking. Implementing it in straight C++ code would have made it harder to add new features, but much much easier and quicker to write in the first place. By the time I'd implemented it, my available time and motivation had simply run out. (And it's still not completely finished - the entire Windows API is too large.)
The main advantages it has over resource hacking are:
- It has a slightly wider range of abilities; some things are (theoretically) possible to do with it that can't be done with resource hacking, because resource hacking can't add new (or even semi-new) features; it can only change the look and feel of what already exists. Hooks, however, can add new code.
- It's more customisable; if somebody wants a slightly different set of changes in their copy of T3Ed, you need to create another copy of the .exe that's just for them. The design of the hook program allows modules to be enabled and disabled at will (provided you don't mind restarting T3Ed to do it).
So unless there's SUBSTANTIAL interest in reviving it, or someone volunteers to take the thing off my hands, I'm afraid it's not happening.
ascottk on 27/1/2006 at 01:54
Thanks for the update Krusty . . . er . . . Crispy (Flesh Eater inside joke, har, har :rolleyes: ). There was a lot of things I planned that didn't go anywhere, which is why we have other plans I guess. & now for some smilies:
:D :cool: :cheeky: :angel: :ebil: :joke:
Yup, I'm tired . . . . . . . . . . . . . . .
Komag on 27/1/2006 at 04:45
Can you briefly describe what this "hook" program thing is (is supposed to be) in the first place? I don't quite know what you're talking about, but it sounds interesting and possibly intriguing :)
New Horizon on 27/1/2006 at 05:02
Quote Posted by Komag
Can you briefly describe what this "hook" program thing is (is supposed to be) in the first place? I don't quite know what you're talking about, but it sounds interesting and possibly intriguing :)
Yes, I'm quite interested in what could possibly be achieved with such a program.
Crispy on 27/1/2006 at 09:38
It's sort of complicated to explain to non-programmers, especially people who aren't familiar with the Windows API (or don't even know what API means), but I'll try. :)
Basically it's just a way of inserting your own computer code into T3Ed. (Not T3 itself though, so don't get excited. :) The method would work for T3, but you wouldn't be able to do anything interesting with the code you inserted, because you'd have no knowledge of the data structures that T3 uses.)
That code can then do things like modify the interface; as with resource hacking, except that it does it once the program is already running instead of modifying the .exe file - the advantage being that it can change the interface dynamically and respond to events (like clicks).
Basically you can make minor usability tweaks to T3Ed. NH has made some of these tweaks with T3EnhancEd using resource hacking; but hooks can accomplish more than resource hacking, if you're willing to spend the effort.
scumble on 27/1/2006 at 11:59
It's a shame that released source is such a rarity. CryTek are the only people I know of to release some C++ source for a recent game. It's not the entire source of course, but enough to at least see how to call bits of the engine.
I think Epic released a bunch of headers for UT build 436, but it's quite rare generally.
I don't think this necessarily helps in modding an editor in either case. Maybe one day they'll get to implementing some sort of plugin interface for editors, but it really depends how much scope they want to give to modders.
jtbalogh on 27/1/2006 at 17:28
Are the hooks in a DLL file?
Crispy on 28/1/2006 at 02:21
Quote Posted by scumble
It's a shame that released source is such a rarity. CryTek are the only people I know of to release some C++ source for a recent game. It's not the entire source of course, but enough to at least see how to call bits of the engine.
I think Epic released a bunch of headers for UT build 436, but it's quite rare generally.
Yeah, more people should do it. I know that parts of the Quake 3 source code were released for modders (Half-Life as well I think), but most companies simply don't bother. Ironically, in many cases it's their loss as well, given the popularity of mods and modding.
Quote Posted by scumble
I don't think this necessarily helps in modding an editor in either case. Maybe one day they'll get to implementing some sort of plugin interface for editors, but it really depends how much scope they want to give to modders.
I'd much rather mod the game than the editor. :)
Quote Posted by jtbalogh
Are the hooks in a DLL file?
Yup; they have to be or the code won't be able to attach to the T3Ed process. Why do you ask?
New Horizon on 28/1/2006 at 06:32
Quote Posted by Crispy
Yeah, more people should do it. I know that parts of the Quake 3 source code were released for modders (Half-Life as well I think), but most companies simply don't bother. Ironically, in many cases it's their loss as well, given the popularity of mods and modding.
Id released the full source code for the quake 3 engine just last year, including the editor. There is a version of the old quake editor that has been heavily modified to support editing in Doom 3, Quake 4 and a list of other games. The full source code is available for this as well. I'm asking around from time to time, for coders who would be willing to take the latest revision (currently January 26, 2006), and start modifying it as a custom Dark Mod version of Radiant. The community would benefit greatly from this in the long run because we could customize the interface to suit the needs of Thief FM makers. Sadly, nobody has stepped forward yet, which is sad because this is a real shot at having our own...open source...editor.
Crispy on 28/1/2006 at 10:44
Yes, but I meant that parts of the Q3 source code were released prior to that, for the use of modders. You could change it and recompile it and it would get linked up with the core, closed-source part of Q3. (I fiddled around with it briefly.)
I could probably make the required modifications to the D3/Q4 editor if I had the time and the motivation, but I don't. Sorry. :nono: