> However this goes back to the point made before where the
> implementation might change and you can't rely on it.
> However there is no useful interface equivalent for entities,
> so worse come to worst you simply rebuild the plug-in come an
> update to the base entity.

No.  CBaseEntity can be changed by the mod's server.dll.  So in the
worst case every mod has a different data structure for CBaseEntity and
your plugin needs a different version of its code to access CBaseEntity
for each mod.  You can't even count on recompiling to fix compatibility
for more than a single mod.

You really want to access through something like IServerEntity, or some
other interface that the mod implements but can't change.  That way you
insulate your plugin from changes to each mod's code.  You're compatible
at the binary level, not at the source level.

The same thing is true of user messages.  There's no guarantee that each
mod implements them the same way.  The packets could be different in
each mod.  You'd be better off using an interface that allows the plugin
to ask the mod's server.dll to send the message.

HL2DM and CS:S are similar enough right now, but if you want your server
plugins to continue to work as numerous third party mods appear, you
shouldn't rely on the layout of things that aren't versioned/controlled
with interfaces.  Things will probably diverge pretty quickly.

You should let us know what data you are trying to access in your
plugins so we can add it to an interface and implement it in HL2DM &
CS:S.

Jay


_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlcoders

Reply via email to