This commit is contained in:
nephacks
2025-06-04 03:22:50 +02:00
parent f234f23848
commit f12416cffd
14243 changed files with 6446499 additions and 26 deletions

View File

@@ -0,0 +1,56 @@
//========= Copyright <20> 1996-2005, Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
//=============================================================================//
#ifndef ADDONMESSAGES_H
#define ADDONMESSAGES_H
#pragma once
enum GameMessageIDs
{
GAME_MSG_TEXT = 1, // text chat message
GAME_MSG_DATA, // binary game data
GAME_MSG_INVITE_REQUEST,
GAME_MSG_INVITE_RESPONSE,
GAME_MSG_REJOIN_REQUEST,
GAME_MSG_REJOIN_RESPONSE,
GAME_MSG_INVITE_PERMISSION, // ask permission to invite someone
GAME_MSG_INVITE_NOTIFY, // tell everybody that we're inviting
GAME_MSG_INVITE_DENIED,
GAME_MSG_PLAYER_STATUS_UPDATE,
GAME_MSG_SETUP_INFO, // when user joins a game, host send the setup information of who's in the game
GAME_MSG_INVITE_CANCEL, // host has cancelled an invite
GAME_MSG_GAME_START, // if a game has a setup phase, this tells everybody the game has started
GAME_MSG_PLAYER_KICK, // player kicked from game
GAME_MSG_UPDATING,
GAME_MSG_UP_TO_DATE, // player is up to date and ready to get data
GAME_MSG_STARTING_CARD_HAND = 300,
GAME_MSG_STARTING_PLAYER,
GAME_MSG_CARD_PLAY,
GAME_MSG_CHEAT_POSSIBLE = 400, // when host detects a possible cheat
GAME_MSG_MOVE = 500,
GAME_MSG_COLOR_CHOICE,
GAME_MSG_RECONNECT_DATA,
GAME_MSG_QUIT,
GAME_MSG_PASS,
GAME_MSG_ABORT, // phase these out
GAME_MSG_WAITING_ABORT,
// GAME_MSG_CLOSE_WINDOW,
// special individual game messages should take IDs 1000 and over
};
#endif // ADDONMESSAGES_H

View File

@@ -0,0 +1,18 @@
//========= Copyright <20> 1996-2005, Valve Corporation, All rights reserved. ============//
//
// Purpose:
//
//=============================================================================//
#ifndef ADDONTYPES_H
#define ADDONTYPES_H
#pragma once
#ifndef WIN32
typedef unsigned long long SessionInt64;
#else
typedef unsigned __int64 SessionInt64;
#endif
#endif // ADDONTYPES_H

View File

@@ -0,0 +1,69 @@
//========= Copyright <20> 1996-2005, Valve Corporation, All rights reserved. ============//
//
// Purpose: Interface to a Steam Add On
//
//=============================================================================//
#ifndef ISTEAMADDON_H
#define ISTEAMADDON_H
#pragma once
#include "interface.h"
#include "AddOnTypes.h"
#include <vgui_controls/Panel.h>
class CUtlMsgBuffer;
class ISteamAddOn : public IBaseInterface
{
public:
// allows SteamAddOn to link to the core vgui factories
virtual bool Initialize(CreateInterfaceFn *vguiFactories, int factoryCount) = 0;
// allows SteamAddOns to link to all other modules
virtual bool PostInitialize(CreateInterfaceFn *modules, int factoryCount) = 0;
// when Friends closes down - all SteamAddOns are notified
virtual void Deactivate() = 0;
// notifies the addon who its VGUI parent panel is
virtual void SetParent( vgui::Panel *parent ) = 0;
// notifies the SteamAddOn of the user's ID and username.
// Note: username can be set mulitple times due to changing of name
virtual void SetUserID(unsigned int userID) = 0;
virtual void SetUserName(const char *userName) = 0;
// Query if there are any 'open' sessions - open meaning allowing new users to join the sessions
virtual int QueryOpenSessionCount() = 0;
// will be valid right after a call to QueryOpenInviteCount will set the addOnSessionID and hostname for
// any open sessions for this addOn. Return true if it's a valid index
virtual bool QueryOpenSessionInfo(int nOpenGameIndex, SessionInt64 &addOnSessionID, char *pszHostName) = 0;
// returns true if this userID is involved in an addOnSession with this ID
virtual bool QueryUserInvolved(SessionInt64 addOnSessionID, unsigned int userID) = 0;
// if session doesn't exist, then the SteamAddOn body should deal with it
virtual bool OnReceiveMsg(SessionInt64 addOnSessionID, CUtlMsgBuffer *msgBuffer) = 0;
// Let's the SteamAddOn know when when any friend's status has changed
virtual void OnFriendStatusChanged() = 0;
// A request to start/join this AddOn with this user ID/name. addOnSessionID will be zero if it's a new session request
virtual void OnInviteUser(unsigned int targetUserID, const char *username, SessionInt64 addOnSessionID) = 0;
// user accepted this host's invite request
virtual void OnAcceptInviteRequest(unsigned int hostID, const char *hostUserName, SessionInt64 addOnSessionID, const char *pAppData, int dataLen) = 0;
// user accepted this host's rejoin request
virtual void OnAcceptRejoinRequest(unsigned int hostID, const char *hostUserName, SessionInt64 addOnSessionID, const char *pAppData, int dataLen) = 0;
// user starts this addOn from a menu
virtual void StartAddOn() = 0;
};
#define STEAMADDON_INTERFACE_VERSION "SteamAddOn007"
#endif // ISTEAMADDON_H