Mike: I think a definition for CCommand is missing.
In reply to the abstraction/metamod comment(s):
A general abstraction is probably a waste of time, especially if one
engine will be deprecated for another. Such a layer is best done on a
plugin-by-plugin basis as needed.
In that vein, the engine differences are too severe for us to distribute
a single Metamod binary, so we will be distributing separate builds for
the two engines. While Metamod's API (as always) remains backwards
compatible (and will work no matter which build is chosen), obviously
Metamod plugins that require HL2 engine API will still need their own
changes anyway.
As for child plugins having to make users to download alternate builds,
MM:S 1.6.0 ameliorates this somewhat by letting you see which engine
version is loaded. Normal server plugins may have a tougher time since
Valve hasn't changed the IServerPluginCallbacks version number (as of
this writing). You can't do the pretty thing and detect+return a
different interface on load. Hopefully that will get changed, along
with the version number on ServerGameDLL.
---David Anderson
http://www.bailopan.net/
Nick wrote:
metamod?
On 10/2/07, Tony Paloma <[EMAIL PROTECTED]> wrote:
Has anybody thought about creating some sort of abstraction to allow us to
use the same DLL/so for both the older engine and the newer one? I was
thinking of thinking of taking the adapter approach and creating my own
classes that would know which version of the interface to use. I'm
interested in other ideas though.
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Mike Durand
Sent: Tuesday, October 02, 2007 6:06 PM
To: hlcoders@list.valvesoftware.com
Subject: RE: [hlcoders] TF2 Plugin Headstart? VEngineCvar004?
Hi All-
I decided that posting the contents of the files on the Wiki was lunacy.
So I made a new user on our FTP site that you can use to get a zip of
the headers:
ftp.valvesoftware.com
user: sourcemod
password sourcemod
The only file available is PluginHeaders.zip, which contains hopefully
all of the headers you will need to get a head start on updating your
plugins. If I've left any important ones please let me know.
-Mike
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Ray
Sent: Tuesday, October 02, 2007 3:10 PM
To: hlcoders@list.valvesoftware.com
Subject: Re: [hlcoders] TF2 Plugin Headstart? VEngineCvar004?
any word on this?
At 03:55 PM 9/28/2007, you wrote:
This is a multi-part message in MIME format.
--
[ Picked text/plain from multipart/alternative ]
Yes, I'll make all of the updated headers needed for building server
plugins available when I get back to the office on Tuesday.
-Mike
----- Original Message -----
From: [EMAIL PROTECTED]
<[EMAIL PROTECTED]>
To: hlcoders@list.valvesoftware.com <hlcoders@list.valvesoftware.com>
Sent: Fri Sep 28 10:18:35 2007
Subject: Re: [hlcoders] TF2 Plugin Headstart? VEngineCvar004?
--
[ Picked text/plain from multipart/alternative ]
Just a gentle reminder-- any chance, Valve, that we can get the
definition
for the VEngineCvar004?
Again congrats on TF2-- I've been playing way too much of it when I
should
be coding.
-Mattie
On 9/18/07, Mattie Casper <[EMAIL PROTECTED]> wrote:
Just to compare notes: I had the same findings this afternoon for
(a) and
(b), though I didn't check out the differences in IServerGameDLL005.
As for
(b), that vstdlib to vstdlib_s relocation is problematic to manage
for
existing plugins. It's all a bit of a mess with so many things
relocated.
From what I can ascertain, any substantial plugin would probably
have to
wait for the SDK release or maybe a secondary/temporary/bridge
library to
cover for the missing pieces. I hope a clarification on the
deprecation/relocation will come with the SDK update.
In an effort to even get a barebones VSP loaded into the TF2 server,
I cut
a dependency on the GetCVarIF() usage in convar.cpp (one of those
relocated/removed exports). After that's done, an empty plugin can
load and
get the majority of callbacks/interfaces from the server.
Unfortunately,
though, since the VEngineCvar004 interface is used by TF2, the
plugin can't
register console commands or variables. I wanted to request that
interface
because with it, it should be possible to make a a simplistic
(possibly
CRT-dependent) plugin as a proof-of-concept on TF2. As it stands,
all I was
able to prototype this afternoon was a poor cousin of a real plugin.
Surely there are many more landmines hidden. If others uncover them,
please share. A lot of us are really excited about TF2 and would
like to get
integrated.
Again, Valve reps, if you get a breather, please provide the
VEngineCvar004 interface definition to tide us over until the SDK
update. It
might not be anywhere near the whole story, but I think it could be
worth
the time to copy-and-paste it.
Thanks,
-Mattie
On 9/18/07, David Anderson <[EMAIL PROTECTED] > wrote:
There seems to be more changes than just that; here's my cursory
analysis from a whole ten minutes of looking:
a) IServerGameDLL005 is not the same as IServerGameDLL005 from
the
original engine (the last four functions or so are new). I didn't
check
the other game-provided interfaces.
b) vstdlib.dll no longer exports a whole slew of functions. It
looks
like the intention was, a long time ago, to deprecate it and move
exports to vstdlib_s.dll. However the current SDK defines the
imports
against vstdlib.dll, so we'll need a new import library [?] or
some sort
of clarification.
c) It looks like mods are getting compiled with GCC4/MSVC8 now,
which
is great news, but a forewarning to people who grab binary
signatures:
MSVC8 has a tendency to optimize internal function calls down to a
non-standard calling convention.
Valve said they'd provide the changes "once the fires are put out"
or
something, so those are just musings while we wait semi-patiently.
---
David Anderson
http://www.bailopan.net/
AlliedModders
Mattie Casper wrote:
--
[ Picked text/plain from multipart/alternative ]
Just doing some quick research and it almost looks like we could
make
some
semblance of a working server plugin for TF2 if we had access to
the
definition of VEngineCvar004.
Can we get a copy of this, even if it's not official/beta, just
for
prototyping purposes? Something along the lines of what was
posted
last year
for
ISERVERPLUGINCALLBACKS002<http://developer.valvesoftware.com/wiki/Queryi
ng_ConVars_from_Server_Plugins>
> >would
be great, but even something less formal would help immensely.
Thanks in advance, and congratulations on getting the TF2 beta
out the
door.
Just about everyone I've talked to has agreed that it's
impressive.
If someone else has had better luck figuring out VEngineCvar004,
please
don't hesitate to share. ;)
-Mattie
--
_______________________________________________
To unsubscribe, edit your list preferences, or view the list
archives,
please visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders
_______________________________________________
To unsubscribe, edit your list preferences, or view the list
archives,
please visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders
--
_______________________________________________
To unsubscribe, edit your list preferences, or view the list
archives, please visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders
--
_______________________________________________
To unsubscribe, edit your list preferences, or view the list
archives, please visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders
--
No virus found in this incoming message.
Checked by AVG Free Edition.
Version: 7.5.488 / Virus Database: 269.13.33/1034 - Release Date:
9/27/2007 5:00 PM
_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives,
please visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders
_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives,
please visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders
_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders
_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders
_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders