1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342 |
- import "ScrRun.idl";
- import "AGCIDL.idl";
- /////////////////////////////////////////////////////////////////////////////
- // Forward Declarations
- enum dispid_PigsIDL;
- enum PigState;
- enum PigMapType;
- enum PigLobbyMode;
- enum PigThrust;
- interface IPigBehaviorType;
- interface IPigBehaviorTypes;
- interface IPigBehaviorScriptType;
- interface IPigBehaviorHost;
- interface IPigBehavior;
- interface IPigBehaviors;
- interface IPigBehaviorStack;
- interface IPig;
- interface IPigs;
- interface IPigTeam;
- interface IPigTeams;
- interface IPigMissionParams;
- interface IPigMissionParamsPrivate;
- interface IPigMission;
- interface IPigMissions;
- interface IPigLobby;
- interface IPigLobbies;
- interface IPigSession;
- interface IPigSessionEvents;
- dispinterface _IPigSessionEvents;
- interface IPigEvent;
- interface IPigTimer;
- interface IPigShip;
- interface IPigShipEvent;
- interface IPigVector;
- interface IPigAccount;
- interface IPigAccountDispenser;
- interface IPigHullTypes;
- /////////////////////////////////////////////////////////////////////////////
- // {secret}
- // DISPID Enumeration
- //
- // Notes:
- // Never remove one of these enumeration values without replacing it
- // with a dispid_Reservedx value to take its place, where x is the next
- // reserved index not in use.
- //
- // Always add new values to the end of the enumeration so that these values
- // will never change.
- //
- enum dispid_PigsIDL
- {
- dispid_PigsIDL_Begin = dispid_AGCIDL_End,
- dispid_SessionInfo,
- dispid_Sessions,
- dispid_ScriptDir,
- dispid_BehaviorTypes,
- dispid_Lobbies,
- dispid_Pigs,
- dispid_Name,
- dispid_Behaviors,
- dispid_IsScript,
- dispid_InvokeCommands,
- dispid_FilePathName,
- dispid_FileName,
- dispid_FileAttributes,
- dispid_FileModifiedTime,
- dispid_FileText,
- dispid_ScriptText,
- dispid_BehaviorType,
- dispid_Pig,
- dispid_IsActive,
- dispid_ProgID,
- dispid_CLSID,
- dispid_BaseBehaviorType,
- dispid_BaseBehavior,
- dispid_AppearsValid,
- dispid_EventHandler,
- dispid_RepetitionCount,
- dispid_Interval,
- dispid_PigState,
- dispid_PigStateName,
- dispid_Stack,
- dispid_Host,
- dispid_TeamCount,
- dispid_MaxTeamPlayers,
- dispid_MinTeamPlayers,
- dispid_MapType,
- dispid_ID,
- dispid_LobbyServer,
- dispid_AllStop,
- dispid_Face,
- dispid_IsThrusting,
- dispid_Throttle,
- dispid_Pitch,
- dispid_Yaw,
- dispid_Roll,
- dispid_Names,
- dispid_NamesAvailable,
- dispid_NamesInUse,
- dispid_NextAvailable,
- dispid_MissionServer,
- dispid_MaxPigs,
- dispid_AccountDispenser,
- dispid_Password,
- dispid_X,
- dispid_Y,
- dispid_Z,
- dispid_SetXYZ,
- dispid_ExpirationExpression,
- dispid_UpdatesPerSecond,
- dispid_Timer,
- dispid_IsExpired,
- dispid_Action,
- dispid_AutoAction,
- dispid_HullTypes,
- dispid_FireWeapon,
- dispid_FireMissile,
- dispid_DropMine,
- dispid_ActiveWeapon,
- dispid_IsFiringWeapon,
- dispid_IsFiringMissile,
- dispid_IsDroppingMine,
- dispid_SellAllParts,
- dispid_BuyHull,
- dispid_BuyDefaultLoadout,
- dispid_RipCord,
- dispid_PitchUp,
- dispid_PitchDown,
- dispid_YawLeft,
- dispid_YawRight,
- dispid_RollLeft,
- dispid_RollRight,
- dispid_Cloak,
- dispid_AcceptCommand,
- dispid_ClearCommand,
- dispid_Defend,
- dispid_IsRipCording,
- dispid_IsCloaked,
- dispid_LockVector,
- dispid_IsVectorLocked,
- dispid_QueuedCommand,
- dispid_AcceptedCommand,
- dispid_AutoAcceptCommands,
- dispid_AutoPilot,
- dispid_Money,
- dispid_ArtPath,
- dispid_CommitSuicide,
- dispid_CommandLine,
- dispid_Version,
- dispid_ProcessID,
- dispid_OnEvent,
- dispid_ActivateAllEvents,
- dispid_DeactivateAllEvents,
- dispid_InterruptionExpression,
- dispid_EventLog,
- dispid_AccountServer,
- dispid_ShipAngleThreshold1,
- dispid_ShipAngleThreshold2,
- dispid_ShipAngleThreshold3,
- dispid_ShipDistanceThreshold1,
- dispid_ShipDistanceThreshold2,
- dispid_ShipDistanceThreshold3,
- dispid_ShipsUpdateLatencyThreshold1,
- dispid_ShipsUpdateLatencyThreshold2,
- dispid_ShipsUpdateLatencyThreshold3,
- dispid_ZoneAuthServer,
- dispid_ZoneAuthTimeout,
- dispid_LobbyMode,
- dispid_PigsIDL_End = dispid_PigsIDL_Begin + 0x1000
- };
- /////////////////////////////////////////////////////////////////////////////
- // PigState
- [
- uuid(15219781-D562-11d2-9646-00C04F68DEB0),
- helpstring("Constants for pig player states.")
- ]
- typedef [v1_enum] enum PigState
- {
- PigState_NonExistant,
- PigState_LoggingOn,
- PigState_LoggingOff,
- PigState_MissionList,
- PigState_CreatingMission,
- PigState_JoiningMission,
- PigState_QuittingMission,
- PigState_TeamList,
- PigState_JoiningTeam,
- PigState_WaitingForMission,
- PigState_Docked,
- PigState_Launching,
- PigState_Flying,
- PigState_Terminated,
- } PigState;
- /////////////////////////////////////////////////////////////////////////////
- [
- object, dual, pointer_default(unique), nonextensible,
- uuid(2942EC81-D0DC-11d2-9646-00C04F68DEB0),
- helpstring("Interface to a pig behavior type object.")
- ]
- interface IPigBehaviorType : IDispatch
- {
- [propget, id(dispid_InvokeCommands), helpstring("Gets the collection of command strings that will invoke this behavior.")]
- HRESULT InvokeCommands([out, retval] ITCStrings** ppStrings);
- [propget, id(DISPID_VALUE), helpstring("Gets the name of this behavior type.")]
- HRESULT Name([out, retval] BSTR* pbstrName);
- [propget, id(dispid_Description), helpstring("Gets the description of this behavior type.")]
- HRESULT Description([out, retval] BSTR* pbstrDescription);
- [propget, id(dispid_Behaviors), helpstring("Gets the collection of pig behavior objects currently referencing this behavior type.")]
- HRESULT Behaviors([out, retval] IPigBehaviors** ppBehaviors);
- [propget, id(dispid_IsScript), helpstring("Gets the indicator of whether or not this object is based on a script or not.")]
- HRESULT IsScript([out, retval] VARIANT_BOOL* pbIsScript);
- [propget, id(dispid_BaseBehaviorType), helpstring("Gets the behavior type that serves as this one's base class.")]
- HRESULT BaseBehaviorType([out, retval] IPigBehaviorType** ppBaseType);
- [propput, helpstring("Gets/sets the flag indicating whether or not the script has encountered an error yet.")]
- HRESULT AppearsValid([in] VARIANT_BOOL bAppearsValid);
- [propget, id(dispid_AppearsValid)]
- HRESULT AppearsValid([out, retval] VARIANT_BOOL* pbAppearsValid);
- }; // End: interface IPigBehaviorType : IDispatch
- /////////////////////////////////////////////////////////////////////////////
- [
- object, dual, pointer_default(unique), nonextensible,
- uuid(29E0A261-CC16-11d2-9646-00C04F68DEB0),
- helpstring("Interface to a collection of pig behavior script objects.")
- ]
- interface IPigBehaviorTypes : ITCCollection
- {
- [propget, id(DISPID_VALUE), helpstring("Gets an item from the collection. Takes an argument, index, that is either the 0-relative index into the collection, the name of the behavior, or one of the invoke commands of the behavior.")]
- HRESULT Item([in] VARIANT* pvIndex, [out, retval] IPigBehaviorType** ppBehaviorType);
- }; // End: interface IPigBehaviorTypes : ITCCollection
- /////////////////////////////////////////////////////////////////////////////
- [
- object, dual, pointer_default(unique), nonextensible,
- uuid(29E0A260-CC16-11d2-9646-00C04F68DEB0),
- helpstring("Interface to a pig behavior script object.")
- ]
- interface IPigBehaviorScriptType : IPigBehaviorType
- {
- [propget, id(dispid_FilePathName), helpstring("Gets the path and name of the script file that defines this behavior.")]
- HRESULT FilePathName([out, retval] BSTR* pbstrFilePathName);
- [propget, id(dispid_FileName), helpstring("Gets the name of the script file that defines this behavior.")]
- HRESULT FileName([out, retval] BSTR* pbstrFileName);
- [propget, id(dispid_FileModifiedTime), helpstring("Gets the time (UTC) that the script file was last modified.")]
- HRESULT FileModifiedTime([out, retval] DATE* pdate);
- [propget, id(dispid_FileAttributes), helpstring("Gets the attributes of the script file.")]
- HRESULT FileAttributes([out, retval] FileAttributes* peFileAttributes);
- [propget, id(dispid_FileText), helpstring("Gets the text of the entire script file.")]
- HRESULT FileText([out, retval] BSTR* pbstrFileText);
- [propget, id(dispid_ScriptText), helpstring("Gets the text of the script sections within the file.")]
- HRESULT ScriptText([out, retval] ITCStrings** ppScriptStrings);
- [propget, id(dispid_ProgID), helpstring("Gets the Prog ID of the Active Scripting engine used to parse/execute this script.")]
- HRESULT ScriptEngineProgID([out, retval] BSTR* pbstrProgID);
- [propget, id(dispid_CLSID), helpstring("Gets the CLSID of the Active Scripting engine used to parse/execute this script.")]
- HRESULT ScriptEngineCLSID([out, retval] BSTR* pbstrCLSID);
- }; // End: interface IPigBehaviorScriptType : IDispatch
- /////////////////////////////////////////////////////////////////////////////
- [
- object, dual, pointer_default(unique), nonextensible,
- uuid(15219786-D562-11d2-9646-00C04F68DEB0),
- helpstring("Interface to a pig behavior host object.")
- ]
- interface IPigBehaviorHost : IDispatch
- {
- [helpstring("Useful test method that beeps as specified.")]
- HRESULT Beep([in] long nFrequency, [in] long nDuration);
- [helpstring("Creates a new pig object with the specified behavior type.")]
- HRESULT CreatePig([in, defaultvalue("Default")] BSTR bstrType,
- [in, defaultvalue("")] BSTR bstrCommandLine, [out, retval] IPig** ppPig);
- [helpstring("Useful test method that echoes the specified text to the debugger output.")]
- HRESULT Trace([in] BSTR bstrText);
- [propget, helpstring("Gets the textual name of the specified pig state.")]
- HRESULT StateName([in] PigState ePigState, [out, retval] BSTR* pbstrPigState);
- [helpstring("Generates a random integer between 0 and 32,767.")]
- HRESULT Random([out, retval] short* pnRandom);
- }; // End: interface IPigBehaviorHost : IDispatch
- /////////////////////////////////////////////////////////////////////////////
- [
- object, dual, pointer_default(unique), nonextensible,
- uuid(10AB179C-C6FA-11d2-85C9-00C04F68DEB0),
- helpstring("Interface to a pig behavior object.")
- ]
- interface IPigBehavior : IDispatch
- {
- ///////////////////////////////////////////////////////////////////////////
- // Infrastructure Properties
- [propget, id(dispid_BehaviorType), helpstring("Gets the object that describes this class of behavior.")]
- HRESULT BehaviorType([out, retval] IPigBehaviorType** ppType);
- [propget, id(dispid_BaseBehavior), helpstring("Get the behavior, if any, that serve's as the this one's base class.")]
- HRESULT BaseBehavior([out, retval] IDispatch** ppBaseBehavior);
- [propget, id(dispid_Pig), helpstring("Gets the pig player object using this behavior instance.")]
- HRESULT Pig([out, retval] IPig** ppPig);
- [propget, id(dispid_Host), helpstring("Gets the object used to access the rest of the Pigs object model.")]
- HRESULT Host([out, retval] IPigBehaviorHost** ppHost);
- [propget, id(dispid_IsActive), helpstring("Gets the indicator of whether or not this behaior is the one currently active for the pig player object.")]
- HRESULT IsActive([out, retval] VARIANT_BOOL* pbIsActive);
- [propget, id(DISPID_VALUE), helpstring("Gets the dictionary containing the behavior-defined properties.")]
- HRESULT Properties([out, retval] IDictionary** ppProperties);
- [propget, id(dispid_Timer), helpstring("Gets the timer for which the event expression is currently executing, if any")]
- HRESULT Timer([out, retval] IPigTimer** ppTimer);
- [propget, id(dispid_CommandLine), helpstring("Gets the command line text used to activate the behvaior, if any.")]
- HRESULT CommandLine([out, retval] BSTR* pbstrCommandLine);
- ///////////////////////////////////////////////////////////////////////////
- // Infrastructure Methods
- [helpstring("Creates a new timer object.")]
- HRESULT CreateTimer([in] float fInterval, [in] BSTR bstrEventExpression,
- [in, defaultvalue(-1)] long nRepetitions,
- [in, defaultvalue("")] BSTR bstrName,
- [out, retval] IPigTimer** ppTimer);
- ///////////////////////////////////////////////////////////////////////////
- // Activation / Deactivation Response Methods
- [helpstring("Called when this behavior becomes a pig's active behavior.")]
- HRESULT OnActivate([in] IPigBehavior* pPigDeactived);
- [helpstring("Called when this behavior is deactivated as a pig's active behavior.")]
- HRESULT OnDeactivate([in] IPigBehavior* pPigActivated);
- ///////////////////////////////////////////////////////////////////////////
- // State Transition Response Methods
- [helpstring("Called when the state of the pig has changed to PigState_NonExistant.")]
- HRESULT OnStateNonExistant([in] PigState eStatePrevious);
- [helpstring("Called when the state of the pig has changed to PigState_LoggingOn.")]
- HRESULT OnStateLoggingOn([in] PigState eStatePrevious);
- [helpstring("Called when the state of the pig has changed to PigState_LoggingOff.")]
- HRESULT OnStateLoggingOff([in] PigState eStatePrevious);
- [helpstring("Called when the state of the pig has changed to PigState_MissionList.")]
- HRESULT OnStateMissionList([in] PigState eStatePrevious);
- [helpstring("Called when the state of the pig has changed to PigState_CreatingMission.")]
- HRESULT OnStateCreatingMission([in] PigState eStatePrevious);
- [helpstring("Called when the state of the pig has changed to PigState_JoiningMission.")]
- HRESULT OnStateJoiningMission([in] PigState eStatePrevious);
- [helpstring("Called when the state of the pig has changed to PigState_QuittingMission.")]
- HRESULT OnStateQuittingMission([in] PigState eStatePrevious);
- [helpstring("Called when the state of the pig has changed to PigState_TeamList.")]
- HRESULT OnStateTeamList([in] PigState eStatePrevious);
- [helpstring("Called when the state of the pig has changed to PigState_JoiningTeam.")]
- HRESULT OnStateJoiningTeam([in] PigState eStatePrevious);
- [helpstring("Called when the state of the pig has changed to PigState_WaitingForMission.")]
- HRESULT OnStateWaitingForMission([in] PigState eStatePrevious);
- [helpstring("Called when the state of the pig has changed to PigState_Docked.")]
- HRESULT OnStateDocked([in] PigState eStatePrevious);
- [helpstring("Called when the state of the pig has changed to PigState_Launching.")]
- HRESULT OnStateLaunching([in] PigState eStatePrevious);
- [helpstring("Called when the state of the pig has changed to PigState_Flying.")]
- HRESULT OnStateFlying([in] PigState eStatePrevious);
- [helpstring("Called when the state of the pig has changed to PigState_Terminated.")]
- HRESULT OnStateTerminated([in] PigState eStatePrevious);
- ///////////////////////////////////////////////////////////////////////////
- // TODO: Game Response Methods
- [helpstring("Called when the Pig's current mission begins.")]
- HRESULT OnMissionStarted();
- [helpstring("Called when the Pig receives chat text.")]
- HRESULT OnReceiveChat([in] BSTR bstrText, [in] IAGCShip* pShipSender,
- [out, retval] VARIANT_BOOL* pbHandled);
- [helpstring("Called when any ship takes damage.")]
- HRESULT OnShipDamaged([in] IAGCShip* pShip, [in] IAGCModel* pModelLauncher,
- [in] float fAmount, [in] float fLeakage,
- [in] IAGCVector* pVector1, [in] IAGCVector* pVector2);
- [helpstring("Called when the Pig ship is killed.")]
- HRESULT OnShipKilled([in] IAGCModel* pModelLauncher, [in] float fAmount,
- [in] IAGCVector* pVector1, [in] IAGCVector* pVector2);
- [helpstring("Called when the Pig ship is transported to a new Sector.")]
- HRESULT OnSectorChange([in] IAGCSector* pSectorOld,
- [in] IAGCSector* pSectorNew);
- [helpstring("Called when the Pig ship hits an Aleph.")]
- HRESULT OnAlephHit([in] IAGCAleph* pAleph);
- }; // End: interface IPigBehavior : IDispatch
- /////////////////////////////////////////////////////////////////////////////
- [
- object, dual, pointer_default(unique), nonextensible,
- uuid(16AA8204-C6FA-11d2-85C9-00C04F68DEB0),
- helpstring("Interface to a collection of pig behavior objects.")
- ]
- interface IPigBehaviors : ITCCollection
- {
- }; // End: interface IPigBehaviors : ITCCollection
- /////////////////////////////////////////////////////////////////////////////
- [
- object, dual, pointer_default(unique), nonextensible,
- uuid(15219782-D562-11d2-9646-00C04F68DEB0),
- helpstring("Interface to a stack of pig behavior objects.")
- ]
- interface IPigBehaviorStack : ITCCollection
- {
- [helpstring("Creates a new behavior of the specified type and pushes it onto the top of the behavior stack.")]
- HRESULT Push([in] BSTR bstrType, [in, defaultvalue("")] BSTR bstrCommandLine,
- [out, retval] IPigBehavior** ppBehavior);
- [helpstring("Pops the top-most behavior off the stack, unless there is only one behavior remaining on the stack.")]
- HRESULT Pop();
- [propget, id(DISPID_VALUE), helpstring("Gets a reference to a behavior on the stack without removing it from the stack.")]
- HRESULT Top([in, defaultvalue(0)] long nFromTop,
- [out, retval] IPigBehavior** ppBehavior);
- [propget, helpstring("Gets the pig object which owns this behavior stack.")]
- HRESULT Pig([out, retval] IPig** ppPig);
- }; // End: interface IPigBehaviorStack : ITCCollection
- /////////////////////////////////////////////////////////////////////////////
- [
- object, dual, pointer_default(unique), nonextensible,
- uuid(01B61700-C6FA-11d2-85C9-00C04F68DEB0),
- helpstring("Interface to a pig player object.")
- ]
- interface IPig : IDispatch
- {
- [propget, id(dispid_PigState), helpstring("Gets the current state of the pig.")]
- HRESULT PigState([out, retval] PigState* pePigState);
- [propget, id(dispid_PigStateName), helpstring("Gets the textual name of the state of the pig.")]
- HRESULT PigStateName([out, retval] BSTR* pbstrPigState);
- [propget, id(dispid_Stack), helpstring("Gets the stack of behaviors associated with this pig.")]
- HRESULT Stack([out, retval] IPigBehaviorStack** ppStack);
- [propget, id(DISPID_VALUE), helpstring("Gets the character name of the pig.")]
- HRESULT Name([out, retval] BSTR* pbstrName);
- [propget, helpstring("Gets the ship object of the pig.")]
- HRESULT Ship([out, retval] IPigShip** ppShip);
- [propput, helpstring("Gets/sets the number of times per second that the IGC layer is updated.")]
- HRESULT UpdatesPerSecond([in] long nPerSecond);
- [propget, id(dispid_UpdatesPerSecond)]
- HRESULT UpdatesPerSecond([out, retval] long* pnPerSecond);
- // TODO: Move to IAGCStation interface, when developed
- [propget, id(dispid_HullTypes), helpstring("Gets the collection of hull types available to this pig.")]
- HRESULT HullTypes([out, retval] IPigHullTypes** ppHullTypes);
- [propget, id(dispid_Money), helpstring("Gets this pig's liquid worth.")]
- HRESULT Money([out, retval] AGCMoney* pnMoney);
- [helpstring("Logs on to the mission server.")]
- HRESULT Logon();
- [helpstring("Logs off from the lobby server.")]
- HRESULT Logoff();
- [helpstring("Creates (and joins) a new mission with the specified parameters.")]
- HRESULT CreateMission([in] IPigMissionParams* pMissionParams);
- [helpstring("Joins a mission, which may be specified by name, by a buddy player, or not at all.")]
- HRESULT JoinMission([in, defaultvalue("")] BSTR bstrMissionOrPlayer);
- [helpstring("Requests a position on a team, which may be specified by name, by a buddy player, or not at all.")]
- HRESULT JoinTeam([in, defaultvalue("")] BSTR bstrTeamOrPlayer);
- [helpstring("Quits the current game.")]
- HRESULT QuitGame();
- [helpstring("Undocks from the station and enters space.")]
- HRESULT Launch();
- [helpstring("Forces the pig to exit the game.")]
- HRESULT Shutdown();
- [propget, helpstring("Gets the AGCGame object that the Pig is a member of, if any.")]
- HRESULT Game([out, retval] IAGCGame** ppGame);
- [propget, helpstring("Gets the AGCShip object that sent the current chat. NULL if chat was from HQ or Pig is not currently processing chat text.")]
- HRESULT Me([out, retval] IAGCShip** ppShip);
- [propget, helpstring("Gets the target of the current chat. AGCChat_NoSelection if Pig is not currently processing chat text.")]
- HRESULT ChatTarget([out, retval] AGCChatTarget* peChatTarget);
- [propget, id(dispid_Host), helpstring("Gets the object used to access the rest of the Pigs object model.")]
- HRESULT Host([out, retval] IPigBehaviorHost** ppHost);
- [helpstring("Starts the game.")]
- HRESULT StartGame();
- [propput, helpstring("Contains a threshold value, representing an angle in radians, to which each ship's movement is compared.")]
- HRESULT ShipAngleThreshold1([in] float rRadians);
- [propget, id(dispid_ShipAngleThreshold1)]
- HRESULT ShipAngleThreshold1([out, retval] float* prRadians);
- [propput, helpstring("Contains a threshold value, representing an angle in radians, to which each ship's movement is compared.")]
- HRESULT ShipAngleThreshold2([in] float rRadians);
- [propget, id(dispid_ShipAngleThreshold2)]
- HRESULT ShipAngleThreshold2([out, retval] float* prRadians);
- [propput, helpstring("Contains a threshold value, representing an angle in radians, to which each ship's movement is compared.")]
- HRESULT ShipAngleThreshold3([in] float rRadians);
- [propget, id(dispid_ShipAngleThreshold3)]
- HRESULT ShipAngleThreshold3([out, retval] float* prRadians);
- [propput, helpstring("Contains a threshold value, representing a distance, to which each ship's movement is compared.")]
- HRESULT ShipDistanceThreshold1([in] float rDistance);
- [propget, id(dispid_ShipDistanceThreshold1)]
- HRESULT ShipDistanceThreshold1([out, retval] float* prDistance);
- [propput, helpstring("Contains a threshold value, representing a distance, to which each ship's movement is compared.")]
- HRESULT ShipDistanceThreshold2([in] float rDistance);
- [propget, id(dispid_ShipDistanceThreshold2)]
- HRESULT ShipDistanceThreshold2([out, retval] float* prDistance);
- [propput, helpstring("Contains a threshold value, representing a distance, to which each ship's movement is compared.")]
- HRESULT ShipDistanceThreshold3([in] float rDistance);
- [propget, id(dispid_ShipDistanceThreshold3)]
- HRESULT ShipDistanceThreshold3([out, retval] float* prDistance);
- [propput, helpstring("Contains a threshold value, representing ZTime, to which the (heavy_update_time - client_time) is compared.")]
- HRESULT ShipsUpdateLatencyThreshold1([in] long nMilliseconds);
- [propget, id(dispid_ShipsUpdateLatencyThreshold1)]
- HRESULT ShipsUpdateLatencyThreshold1([out, retval] long* pnMilliseconds);
- [propput, helpstring("Contains a threshold value, representing ZTime, to which the (heavy_update_time - client_time) is compared.")]
- HRESULT ShipsUpdateLatencyThreshold2([in] long nMilliseconds);
- [propget, id(dispid_ShipsUpdateLatencyThreshold2)]
- HRESULT ShipsUpdateLatencyThreshold2([out, retval] long* pnMilliseconds);
- [propput, helpstring("Contains a threshold value, representing ZTime, to which the (heavy_update_time - client_time) is compared.")]
- HRESULT ShipsUpdateLatencyThreshold3([in] long nMilliseconds);
- [propget, id(dispid_ShipsUpdateLatencyThreshold3)]
- HRESULT ShipsUpdateLatencyThreshold3([out, retval] long* pnMilliseconds);
- [helpstring("Sends the bytes specified to the connected lobby server, if any. pvBytes is either the name of a file, or a SAFEARRAY of bytes.")]
- HRESULT SendBytesToLobby([in] VARIANT* pvBytes, [in, defaultvalue(0)] VARIANT_BOOL bGuaranteed);
- [helpstring("Sends the bytes specified to the connected game server, if any. pvBytes is either the name of a file, or a SAFEARRAY of bytes.")]
- HRESULT SendBytesToGame([in] VARIANT* pvBytes, [in, defaultvalue(0)] VARIANT_BOOL bGuaranteed);
- }; // End: interface IPig : IDispatch
- /////////////////////////////////////////////////////////////////////////////
- [
- object, dual, pointer_default(unique), nonextensible,
- uuid(0A773978-C6FA-11d2-85C9-00C04F68DEB0),
- helpstring("Interface to a collection of pig player objects.")
- ]
- interface IPigs : ITCCollection
- {
- ///////////////////////////////////////////////////////////////////////////
- // Parameters:
- // index - A *VARIANT* of type *VT_BSTR* that specifies the name of an
- // item in the collection.
- // ppPig - Address of a variable to receive the specified item from the
- // collection.
- //
- // Return Value: One of the following results:
- //
- // S_OK - The method completed successfully.
- // E_POINTER - The specified pointer is invalid.
- // E_INVALIDARG - The specified index is out of range.
- [propget, id(DISPID_VALUE), helpstring("Returns an IPig* from the collection or NULL if the specified named pig does not exist in the collection. Takes an argument, index, which must be the name of a pig in the collection.")]
- HRESULT Item([in] VARIANT* pvIndex, [out, retval] IPig** ppPig);
- }; // End: interface IPigs : ITCCollection
- /////////////////////////////////////////////////////////////////////////////
- [
- object, dual, pointer_default(unique), nonextensible,
- uuid(B1935982-D27B-11d2-9646-00C04F68DEB0),
- helpstring("Interface to a Team object.")
- ]
- interface IPigTeam : IDispatch
- {
- [propget, id(DISPID_VALUE), helpstring("Gets the name of the team.")]
- HRESULT Name([out, retval] BSTR* bstrName);
- // [propget, helpstring("Gets/sets the civilization of the team.")]
- // [propget, helpstring("Gets the station the team starts at.")]
- // [propget, helpstring("Gets/sets the ship of the team's leader.")]
- [propget, helpstring("Gets the maximum allowed players on this team.")]
- HRESULT PlayersMaximum([out, retval] short* pnPlayersMaximum);
- [propget, helpstring("Gets the current number of players on this team.")]
- HRESULT PlayerCount([out, retval] short* pnPlayers);
- // [propget, helpstring("Gets the collection of players on this team.")]
- // HRESULT Players([out, retval] IPigPlayers** ppPlayers);
- [propput, helpstring("Gets/sets the 'auto-accept' flag of this team.")]
- HRESULT IsAutoAccept([in] VARIANT_BOOL bAutoAccept);
- [propget]
- HRESULT IsAutoAccept([out, retval] VARIANT_BOOL* pbAutoAccept);
- [propput, helpstring("Gets/sets the 'ready' flag of this team.")]
- HRESULT IsReady([in] VARIANT_BOOL bReady);
- [propget]
- HRESULT IsReady([out, retval] VARIANT_BOOL* pbReady);
- [propput, helpstring("Gets/sets the 'force-ready' flag of this team.")]
- HRESULT IsForceReady([in] VARIANT_BOOL bForceReady);
- [propget]
- HRESULT IsForceReady([out, retval] VARIANT_BOOL* pbForceReady);
- [propput, helpstring("Gets/sets the 'active' flag of this team.")]
- HRESULT IsActive([in] VARIANT_BOOL bActive);
- [propget]
- HRESULT IsActive([out, retval] VARIANT_BOOL* pbActive);
- }; // End: interface IPigTeam : IDispatch
- /////////////////////////////////////////////////////////////////////////////
- [
- object, dual, pointer_default(unique), nonextensible,
- uuid(B1935983-D27B-11d2-9646-00C04F68DEB0),
- helpstring("Interface to a collection of Team objects.")
- ]
- interface IPigTeams : ITCCollection
- {
- }; // End: interface IPigTeams : ITCCollection
- /////////////////////////////////////////////////////////////////////////////
- // PigMapType
- [
- uuid(15219784-D562-11d2-9646-00C04F68DEB0),
- helpstring("Constants for mission map types.")
- ]
- typedef [v1_enum] enum PigMapType
- {
- PigMapType_SingleRing,
- PigMapType_DoubleRing,
- PigMapType_PinWheel,
- PigMapType_DiamondRing,
- PigMapType_Snowflake,
- PigMapType_SplitBases,
- PigMapType_Count,
- PigMapType_Default = PigMapType_DoubleRing,
- } PigMapType;
- /////////////////////////////////////////////////////////////////////////////
- [
- object, dual, pointer_default(unique), nonextensible,
- uuid(15219783-D562-11d2-9646-00C04F68DEB0),
- helpstring("Interface to a MissionParams object.")
- ]
- interface IPigMissionParams : IDispatch
- {
- [helpstring("Validates the properties of the object.")]
- HRESULT Validate();
- [propput, helpstring("Gets/sets the number of teams for the mission.")]
- HRESULT TeamCount([in] short nTeamCount);
- [propget, id(dispid_TeamCount)]
- HRESULT TeamCount([out, retval] short* pnTeamCount);
- [propput, helpstring("Gets/sets the maximum number of players allowed on a team.")]
- HRESULT MaxTeamPlayers([in] short nMaxTeamPlayers);
- [propget, id(dispid_MaxTeamPlayers)]
- HRESULT MaxTeamPlayers([out, retval] short* pnMaxTeamPlayers);
- [propput, helpstring("Gets/sets the minimum number of players allowed on a team.")]
- HRESULT MinTeamPlayers([in] short nMinTeamPlayers);
- [propget, id(dispid_MinTeamPlayers)]
- HRESULT MinTeamPlayers([out, retval] short* pnMinTeamPlayers);
- [propput, helpstring("Gets/sets the map type for the mission.")]
- HRESULT MapType([in] PigMapType eMapType);
- [propget, id(dispid_MapType)]
- HRESULT MapType([out, retval] PigMapType* peMapType);
- }; // End: interface IPigMissionParams : IDispatch
- /////////////////////////////////////////////////////////////////////////////
- [
- object, pointer_default(unique), nonextensible,
- uuid(91C86108-DCF4-11d2-A507-00C04F68DEB0),
- helpstring("Private interface to a MissionParams object.")
- ]
- interface IPigMissionParamsPrivate : IUnknown
- {
- [helpstring("Gets a stream containing the length-prefixed data structure.")]
- HRESULT GetData([out, retval] IStream** ppstm);
- }; // End: interface IPigMissionParamsPrivate : IUnknown
- /////////////////////////////////////////////////////////////////////////////
- [
- object, dual, pointer_default(unique), nonextensible,
- uuid(29E0A262-CC16-11d2-9646-00C04F68DEB0),
- helpstring("Interface to a Mission object.")
- ]
- interface IPigMission : IDispatch
- {
- // TODO: Does this go into teams?
- [propget, id(dispid_Pigs), helpstring("Gets the collection of (pig) players.")]
- HRESULT Pigs([out, retval] IPigs** ppPigs);
- }; // End: interface IPigMission : IDispatch
- /////////////////////////////////////////////////////////////////////////////
- [
- object, dual, pointer_default(unique), nonextensible,
- uuid(29E0A263-CC16-11d2-9646-00C04F68DEB0),
- helpstring("Interface to a collection of Mission objects.")
- ]
- interface IPigMissions : ITCCollection
- {
- }; // End: interface IPigMissions : ITCCollection
- /////////////////////////////////////////////////////////////////////////////
- [
- object, dual, pointer_default(unique), nonextensible,
- uuid(34E485E0-C7B7-11d2-85C9-00C04F68DEB0),
- helpstring("Interface to a Lobby object.")
- ]
- interface IPigLobby : IDispatch
- {
- }; // End: interface IPigLobby : IDispatch
- /////////////////////////////////////////////////////////////////////////////
- [
- object, dual, pointer_default(unique), nonextensible,
- uuid(34E485E1-C7B7-11d2-85C9-00C04F68DEB0),
- helpstring("Interface to a collection of Lobby objects.")
- ]
- interface IPigLobbies : ITCCollection
- {
- }; // End: interface IPigLobbies : ITCCollection
- /////////////////////////////////////////////////////////////////////////////
- // PigLobbyMode
- [
- uuid(454A9C85-1353-422c-8557-E2FADE69A0EC),
- helpstring("Constants for pig lobby server mode.")
- ]
- typedef [v1_enum] enum PigLobbyMode
- {
- PigLobbyMode_Club,
- PigLobbyMode_Free,
- PigLobbyMode_LAN,
- } PigLobbyMode;
- /////////////////////////////////////////////////////////////////////////////
- [
- object, dual, pointer_default(unique), nonextensible,
- uuid(4D13B28C-C6F2-11D2-85C9-00C04F68DEB0),
- helpstring("IPigSession Interface")
- ]
- interface IPigSession : IDispatch
- {
- [propput, helpstring("Gets/sets the session information object.")]
- HRESULT SessionInfo([in] ITCSessionInfo* pSessionInfo);
- [propget, id(dispid_SessionInfo)]
- HRESULT SessionInfo([out, retval] ITCSessionInfo** ppSessionInfo);
- [propget, id(dispid_Sessions), helpstring("Gets the collection of connected sessions.")]
- HRESULT SessionInfos([out, retval] ITCSessionInfos** ppSessionInfos);
- [propput, helpstring("Gets/sets the directory for script files.")]
- HRESULT ScriptDir([in] BSTR bstrScriptDir);
- [propget, id(dispid_ScriptDir)]
- HRESULT ScriptDir([out, retval] BSTR* pbstrScriptDir);
- [propput, helpstring("Gets/sets the directory for artwork files.")]
- HRESULT ArtPath([in] BSTR bstrArtPath);
- [propget, id(dispid_ArtPath)]
- HRESULT ArtPath([out, retval] BSTR* pbstrArtPath);
- [propget, id(dispid_BehaviorTypes), helpstring("Gets the collection of behavior scripts.")]
- HRESULT BehaviorTypes([out, retval] IPigBehaviorTypes** ppBehaviorTypes);
- [propget, id(dispid_Lobbies), helpstring("Gets the collection of game lobby servers.")]
- HRESULT Lobbies([out, retval] IPigLobbies** ppLobbies);
- [propget, id(dispid_Pigs), helpstring("Gets the collection of all (pig) players.")]
- HRESULT Pigs([out, retval] IPigs** ppPigs);
- [helpstring("Creates a new pig object with the specified behavior type.")]
- HRESULT CreatePig([in, defaultvalue("Default")] BSTR bstrType,
- [in, defaultvalue("")] BSTR bstrCommandLine, [out, retval] IPig** ppPig);
- [propput, helpstring("Gets/sets the server on which all pigs will be created.")]
- HRESULT MissionServer([in] BSTR bstrServer);
- [propget, id(dispid_MissionServer)]
- HRESULT MissionServer([out, retval] BSTR* pbstrServer);
- [propput, helpstring("Gets/sets maximum number of pigs that can be created on this server.")]
- HRESULT MaxPigs([in] long nMaxPigs);
- [propget, id(dispid_MaxPigs)]
- HRESULT MaxPigs([out, retval] long* pnMaxPigs);
- [propget, id(dispid_AccountDispenser), helpstring("Gets the object that dispenses pig accounts.")]
- HRESULT AccountDispenser([out, retval] IPigAccountDispenser** ppDispenser);
- [propget, id(dispid_Version), helpstring("Gets the version information of the Pig server.")]
- HRESULT Version([out, retval] IAGCVersionInfo** ppVersion);
- [propget, id(dispid_ProcessID), helpstring("Gets the process ID of the server, meaningful only on the local machine.")]
- HRESULT ProcessID([out, retval] DWORD* pdwProcessID);
- [id(dispid_ActivateAllEvents), helpstring("Enables the firing of all available events from this session.")]
- HRESULT ActivateAllEvents();
- [id(dispid_DeactivateAllEvents), helpstring("Disables the firing of all available events from this session.")]
- HRESULT DeactivateAllEvents();
- [propget, id(dispid_EventLog), helpstring("Gets the event log object.")]
- HRESULT EventLog([out, retval] IAGCEventLogger** ppEventLogger);
- [propput, helpstring("Contains the server from which pig accounts will be dispensed. When empty, the MissionServer is used. When this property is a period character, the local machine is used.")]
- HRESULT AccountServer([in] BSTR bstrServer);
- [propget, id(dispid_AccountServer)]
- HRESULT AccountServer([out, retval] BSTR* pbstrServer);
- [propput, helpstring("Contains the server on which the pig accounts will be authenticated. When empty, no authentication is performed.")]
- HRESULT ZoneAuthServer([in] BSTR bstrServer);
- [propget, id(dispid_ZoneAuthServer)]
- HRESULT ZoneAuthServer([out, retval] BSTR* pbstrServer);
- [propput, helpstring("Contains the maximum amount of time allowed for authentication of pig accounts. Ignored when ZoneAuthServer is an empty string.")]
- HRESULT ZoneAuthTimeout([in] long nMilliseconds);
- [propget, id(dispid_ZoneAuthTimeout)]
- HRESULT ZoneAuthTimeout([out, retval] long* pnMilliseconds);
- [propput, helpstring("Specifies the mode of lobby connection that is used for server connections. Affects the usage of the MissionServer property.")]
- HRESULT LobbyMode([in] PigLobbyMode eMode);
- [propget, id(dispid_LobbyMode)]
- HRESULT LobbyMode([out, retval] PigLobbyMode* peMode);
- }; // End: interface IPigSession : IDispatch
- /////////////////////////////////////////////////////////////////////////////
- [
- object, oleautomation, pointer_default(unique), nonextensible,
- uuid(1B41CCF2-C6F5-11d2-85C9-00C04F68DEB0),
- helpstring("IPigSessionEvents Interface")
- ]
- interface IPigSessionEvents : IUnknown
- {
- [id(dispid_OnEvent), helpstring("Called when an event is fired for this session.")]
- HRESULT OnEvent([in] IAGCEvent* pEvent);
- }; // End: interface IPigSessionEvents : IUnknown
- /////////////////////////////////////////////////////////////////////////////
- [
- uuid(9BCD384F-C6F2-11D2-85C9-00C04F68DEB0),
- helpstring("_IPigSessionEvents Interface")
- ]
- dispinterface _IPigSessionEvents
- {
- interface IPigSessionEvents;
- }; // End: dispinterface _IPigSessionEvents
- /////////////////////////////////////////////////////////////////////////////
- [
- object, dual, pointer_default(unique), nonextensible,
- uuid(3FF9E450-EE33-11d2-A50B-00C04F68DEB0),
- helpstring("Interface to a Pig Event object.")
- ]
- interface IPigEvent : IDispatch
- {
- [propput, helpstring("Gets/sets the name of the object.")]
- HRESULT Name([in] BSTR bstrName);
- [propget, id(DISPID_VALUE)]
- HRESULT Name([out, retval] BSTR* pbstrName);
- [propput, helpstring("Gets/sets the expression to be evaluated on the normal expiration of this action.")]
- HRESULT ExpirationExpression([in] BSTR bstrExpr);
- [propget, id(dispid_ExpirationExpression)]
- HRESULT ExpirationExpression([out, retval] BSTR* pbstrExpr);
- [propget, id(dispid_IsExpired), helpstring("Gets whether or not the event has expired.")]
- HRESULT IsExpired([out, retval] VARIANT_BOOL* pbExpired);
- [helpstring("Kills the event.")]
- HRESULT Kill();
- [propput, helpstring("Gets/sets the expression to be evaluated on the interrupted expiration of this action.")]
- HRESULT InterruptionExpression([in] BSTR bstrExpr);
- [propget, id(dispid_InterruptionExpression)]
- HRESULT InterruptionExpression([out, retval] BSTR* pbstrExpr);
- }; // End: interface IPigEvent : IDispatch
- /////////////////////////////////////////////////////////////////////////////
- [
- object, dual, pointer_default(unique), nonextensible,
- uuid(B1935984-D27B-11d2-9646-00C04F68DEB0),
- helpstring("Interface to a Timer object.")
- ]
- interface IPigTimer : IPigEvent
- {
- [propput, helpstring("Gets/sets the number of interval occurences remaining for this timer.")]
- HRESULT RepetitionCount([in] long nRepetitionCount);
- [propget, id(dispid_RepetitionCount)]
- HRESULT RepetitionCount([out, retval] long* pnRepetitionCount);
- [propput, helpstring("Gets/sets the time, in seconds, of each timer interval.")]
- HRESULT Interval([in] float fInterval);
- [propget, id(dispid_Interval)]
- HRESULT Interval([out, retval] float* pfInterval);
- }; // End: interface IPigTimer : IPigEvent
- /////////////////////////////////////////////////////////////////////////////
- // PigThrust
- [
- uuid(B1B86020-E3B2-11d2-A507-00C04F68DEB0),
- helpstring("Constants for pig thrust actions.")
- ]
- typedef [v1_enum] enum PigThrust
- {
- ThrustNone,
- ThrustLeft,
- ThrustRight,
- ThrustUp,
- ThrustDown,
- ThrustForward,
- ThrustBackward,
- ThrustBooster,
- } PigThrust;
- /////////////////////////////////////////////////////////////////////////////
- [
- object, dual, pointer_default(unique), nonextensible,
- uuid(D3A182FA-DB30-11d2-A505-00C04F68DEB0),
- helpstring("Interface to a Pig Ship object.")
- ]
- interface IPigShip : IAGCShip
- {
- [id(dispid_SellAllParts), helpstring("Sells all parts loaded onto the ship.")]
- HRESULT SellAllParts();
- [id(dispid_BuyHull), helpstring("Buys the specified hull type.")]
- HRESULT BuyHull([in] IAGCHullType* pHullType);
- [id(dispid_BuyDefaultLoadout), helpstring("Buys the default loadout for the current hull type.")]
- HRESULT BuyDefaultLoadout();
- [id(dispid_CommitSuicide), helpstring("Kills the ship.")]
- HRESULT CommitSuicide([out, retval] BSTR* pbstrResponse);
- [id(dispid_AllStop), helpstring("Stops all thrusting, throttling, axis turning, and action events.")]
- HRESULT AllStop([out, retval] BSTR* pbstrResponse);
- [id(dispid_Thrust), helpstring("Thrusts the ship in the specified direction(s).")]
- HRESULT Thrust(
- [in, defaultvalue(ThrustNone)] PigThrust e1,
- [in, defaultvalue(ThrustNone)] PigThrust e2,
- [in, defaultvalue(ThrustNone)] PigThrust e3,
- [in, defaultvalue(ThrustNone)] PigThrust e4,
- [in, defaultvalue(ThrustNone)] PigThrust e5,
- [in, defaultvalue(ThrustNone)] PigThrust e6,
- [in, defaultvalue(ThrustNone)] PigThrust e7,
- [out, retval] BSTR* pbstrResponse);
- [id(dispid_FireWeapon), helpstring("Begins/ends the firing of the active weapon.")]
- HRESULT FireWeapon([in, defaultvalue(-1)] VARIANT_BOOL bBegin,
- [out, retval] BSTR* pbstrResponse);
- [id(dispid_FireMissile), helpstring("Begins/ends the firing of the missile launcher.")]
- HRESULT FireMissile([in, defaultvalue(-1)] VARIANT_BOOL bBegin,
- [out, retval] BSTR* pbstrResponse);
- [id(dispid_DropMine), helpstring("Begins/ends the dropping of mines (or probes).")]
- HRESULT DropMine([in, defaultvalue(-1)] VARIANT_BOOL bBegin,
- [out, retval] BSTR* pbstrResponse);
- [id(dispid_LockVector), helpstring("Activates/deactivates the vector lock.")]
- HRESULT LockVector([in, defaultvalue(-1)] VARIANT_BOOL bLockVector,
- [out, retval] BSTR* pbstrResponse);
- [id(dispid_RipCord), helpstring("Activates/deactivates the rip cording action.")]
- HRESULT RipCord([in] VARIANT* pvParam, [out, retval] BSTR* pbstrResponse);
- [id(dispid_Cloak), helpstring("Cloaks/decloaks the ship.")]
- HRESULT Cloak([in, defaultvalue(-1)] VARIANT_BOOL bCloak,
- [out, retval] BSTR* pbstrResponse);
- [id(dispid_AcceptCommand), helpstring("Accepts the queued command.")]
- HRESULT AcceptCommand([out, retval] BSTR* pbstrResponse);
- [id(dispid_ClearCommand), helpstring("Clears the accepted command.")]
- HRESULT ClearCommand([out, retval] BSTR* pbstrResponse);
- /* // When I have time to implement these
- [id(dispid_PitchUp), helpstring("Turns the ship the specified number of positive degrees upward.")]
- HRESULT PitchUp([in] float fDegrees, [out, retval] BSTR* pbstrResponse);
- [id(dispid_PitchDown), helpstring("Turns the ship the specified number of positive degrees downward.")]
- HRESULT PitchDown([in] float fDegrees, [out, retval] BSTR* pbstrResponse);
- [id(dispid_YawLeft), helpstring("Turns the ship the specified number of positive degrees to the left.")]
- HRESULT YawLeft([in] float fDegrees, [out, retval] BSTR* pbstrResponse);
- [id(dispid_YawRight), helpstring("Turns the ship the specified number of positive degrees to the right.")]
- HRESULT YawRight([in] float fDegrees, [out, retval] BSTR* pbstrResponse);
- [id(dispid_RollLeft), helpstring("Rolls the ship the specified number of positive degrees to the left")]
- HRESULT RollLeft([in] float fDegrees, [out, retval] BSTR* pbstrResponse);
- [id(dispid_RollRight), helpstring("Rolls the ship the specified number of positive degrees to the right.")]
- HRESULT RollRight([in] float fDegrees, [out, retval] BSTR* pbstrResponse);
- */
- [id(dispid_Face), helpstring("Turns the ship to face the vector, specified by either an object name (VT_BSTR) or an IAGCVector* or IAGCModel* (VT_DISPATCH).")]
- HRESULT Face([in] VARIANT* pvarObject,
- [in, defaultvalue("")] BSTR bstrCompletionExpr,
- [in, defaultvalue("")] BSTR bstrInterruptionExpr,
- [in, defaultvalue(-1)] VARIANT_BOOL bMatchUpVector,
- [out, retval] BSTR* pbstrResponse);
- [id(dispid_Defend), helpstring("Defends the specified target.")]
- HRESULT Defend([in] BSTR bstrObject,
- [out, retval] BSTR* pbstrResponse);
- [propput, helpstring("Gets/sets the AutoPilot state.")]
- HRESULT AutoPilot([in] VARIANT_BOOL bEngage);
- [propget, id(dispid_AutoPilot)]
- HRESULT AutoPilot([out, retval] VARIANT_BOOL* pbEngaged);
- [propget, id(dispid_AutoAction), helpstring("Gets the Pig Ship action event object for this ship.")]
- HRESULT AutoAction([out, retval] IPigShipEvent** ppAutoAction);
- [propget, id(dispid_IsThrusting), helpstring("Indicates whether the ship is thrusting in the specified direction.")]
- HRESULT IsThrusting([in] PigThrust eThrust, [out, retval] VARIANT_BOOL* pbThrusting);
- [propput, helpstring("Gets/sets the weapon that is active. This must be 0 thru 3, or -1 for the default of 'all weapons'.")]
- HRESULT ActiveWeapon([in] long iWeapon);
- [propget, id(dispid_ActiveWeapon)]
- HRESULT ActiveWeapon([out, retval] long* piWeapon);
- [propget, id(dispid_IsFiringWeapon), helpstring("Indicates whether the ship is firing the active weapon.")]
- HRESULT IsFiringWeapon([out, retval] VARIANT_BOOL* pbFiring);
- [propget, id(dispid_IsFiringMissile), helpstring("Indicates whether the ship is firing the missile launcher.")]
- HRESULT IsFiringMissile([out, retval] VARIANT_BOOL* pbFiring);
- [propget, id(dispid_IsDroppingMine), helpstring("Indicates whether the ship is dropping a mine (or probe).")]
- HRESULT IsDroppingMine([out, retval] VARIANT_BOOL* pbDropping);
- [propget, id(dispid_IsVectorLocked), helpstring("Indicates whether the ship's vector lock is active.")]
- HRESULT IsVectorLocked([out, retval] VARIANT_BOOL* pbVectorLocked);
- [propget, id(dispid_IsRipCording), helpstring("Indicates whether the ship is rip-cording.")]
- HRESULT IsRipCording([out, retval] VARIANT_BOOL* pbRipCording);
- [propget, id(dispid_IsCloaked), helpstring("Indicates whether the ship is cloaked.")]
- HRESULT IsCloaked([out, retval] VARIANT_BOOL* pbCloaked);
- [propput, helpstring("Gets/sets the ship's throttle. The valid range is 0 to 100.")]
- HRESULT Throttle([in] float fThrottle);
- [propget, id(dispid_Throttle)]
- HRESULT Throttle([out, retval] float* pfThrottle);
- [propput, helpstring("Gets/sets the ship's pitch speed. The valid range is -100 to 100.")]
- HRESULT Pitch([in] float fPitch);
- [propget, id(dispid_Pitch)]
- HRESULT Pitch([out, retval] float* pfPitch);
- [propput, helpstring("Gets/sets the ship's yaw speed. The valid range is -100 to 100.")]
- HRESULT Yaw([in] float fYaw);
- [propget, id(dispid_Yaw)]
- HRESULT Yaw([out, retval] float* pfYaw);
- [propput, helpstring("Gets/sets the ship's roll speed. The valid range is -100 to 100.")]
- HRESULT Roll([in] float fRoll);
- [propget, id(dispid_Roll)]
- HRESULT Roll([out, retval] float* pfRoll);
- [propget, id(dispid_QueuedCommand), helpstring("Gets the queued command.")]
- HRESULT QueuedCommand([out, retval] IAGCCommand** ppCommand);
- [propget, id(dispid_AcceptedCommand), helpstring("Gets the accepted command.")]
- HRESULT AcceptedCommand([out, retval] IAGCCommand** ppCommand);
- [propput, helpstring("Gets/sets whether the ship automatically accepts queued commands.")]
- HRESULT AutoAcceptCommands([in] VARIANT_BOOL bAutoAccept);
- [propget, id(dispid_AutoAcceptCommands)]
- HRESULT AutoAcceptCommands([out, retval] VARIANT_BOOL* pbAutoAccept);
- [propget, helpstring("Gets the amount of time left until the ripcordind action completes.")]
- HRESULT RipCordTimeLeft([out, retval] float* pfRipCordTimeLeft);
- }; // End: interface IPigShip : IAGCShip
- /////////////////////////////////////////////////////////////////////////////
- [
- object, dual, pointer_default(unique), nonextensible,
- uuid(768293B0-EF2E-11d2-A50D-00C04F68DEB0),
- helpstring("Interface to a Pig Ship Event object.")
- ]
- interface IPigShipEvent : IPigEvent
- {
- [propget, id(dispid_Action), helpstring("Gets name of the action in progress.")]
- HRESULT Action([out, retval] BSTR* pbstrAction);
- [propget, id(dispid_Target), helpstring("Gets the name of the target object for the action in progress.")]
- HRESULT Target([out, retval] BSTR* pbstrTarget);
- }; // End: interface IPigShipEvent : IPigEvent
- /////////////////////////////////////////////////////////////////////////////
- [
- object, dual, pointer_default(unique), nonextensible,
- uuid(892FA168-E797-11d2-A508-00C04F68DEB0),
- helpstring("Interface to a Pig Vector object.")
- ]
- interface IPigVector : IDispatch
- {
- [propput, helpstring("Gets/sets the x coordinate of the vector.")]
- HRESULT X([in] float xArg);
- [propget, id(dispid_X)]
- HRESULT X([out, retval] float* pxArg);
- [propput, helpstring("Gets/sets the y coordinate of the vector.")]
- HRESULT Y([in] float yArg);
- [propget, id(dispid_Y)]
- HRESULT Y([out, retval] float* pyArg);
- [propput, helpstring("Gets/sets the z coordinate of the vector.")]
- HRESULT Z([in] float zArg);
- [propget, id(dispid_Z)]
- HRESULT Z([out, retval] float* pzArg);
- [id(dispid_SetXYZ), helpstring("Sets the x, y, and z coordinates of the vector.")]
- HRESULT SetXYZ([in] float xArg, [in] float yArg, [in] float zArg);
- [propget, id(DISPID_VALUE), helpstring("Gets the displayable string representation of the vector.")]
- HRESULT DisplayString([out, retval] BSTR* pbstrDisplayString);
- }; // End: interface IPigVector : IDispatch
- /////////////////////////////////////////////////////////////////////////////
- [
- object, dual, pointer_default(unique), nonextensible,
- uuid(64323312-E7DB-11d2-A508-00C04F68DEB0),
- helpstring("Interface to a Pig Account object.")
- ]
- interface IPigAccount : IDispatch
- {
- [propget, id(DISPID_VALUE), helpstring("Gets the account name.")]
- HRESULT Name([out, retval] BSTR* pbstrName);
- [propget, id(dispid_Password), helpstring("Gets the account password.")]
- HRESULT Password([out, retval] BSTR* pbstrPassword);
- }; // End: interface IPigAccount : IDispatch
- /////////////////////////////////////////////////////////////////////////////
- [
- object, dual, pointer_default(unique), nonextensible,
- uuid(9FFC3A84-E7C7-11d2-A508-00C04F68DEB0),
- helpstring("Interface to a Pig Account Dispenser object.")
- ]
- interface IPigAccountDispenser : IDispatch
- {
- [propget, id(dispid_NextAvailable), helpstring("Gets an available account and marks it 'in-use'.")]
- HRESULT NextAvailable([out, retval] IPigAccount** ppAccount);
- [propget, id(dispid_Names), helpstring("Gets a collection of all the managed user names.")]
- HRESULT Names([out, retval] ITCStrings** ppNames);
- [propget, id(dispid_NamesAvailable), helpstring("Gets a collection of the available user names.")]
- HRESULT NamesAvailable([out, retval] ITCStrings** ppNames);
- [propget, id(dispid_NamesInUse), helpstring("Gets a collection of the user names in use.")]
- HRESULT NamesInUse([out, retval] ITCStrings** ppNames);
- }; // End: interface IPigAccountDispenser : IDispatch
- /////////////////////////////////////////////////////////////////////////////
- [
- object, dual, pointer_default(unique), nonextensible,
- uuid(5B9E660C-F8FD-11d2-A50F-00C04F68DEB0),
- helpstring("Interface to a collection of hull type objects.")
- ]
- interface IPigHullTypes : ITCCollection
- {
- ///////////////////////////////////////////////////////////////////////////
- // Parameters:
- // index - A *VARIANT* of type *VT_BSTR* that specifies the name of an
- // item in the collection.
- // ppHullType - Address of a variable to receive the specified item from
- // the collection.
- //
- // Return Value: One of the following results:
- //
- // S_OK - The method completed successfully.
- // E_POINTER - The specified pointer is invalid.
- // E_INVALIDARG - The specified index is out of range.
- [propget, id(DISPID_VALUE), helpstring("Returns an IAGCHullType* from the collection or NULL if the specified named hull type does not exist in the collection. Takes an argument, index, which must be either the name of a hull type in the collection or a 0-based index into the collection.")]
- HRESULT Item([in] VARIANT* pvIndex, [out, retval] IAGCHullType** ppHullType);
- }; // End: interface IPigHullTypes : ITCCollection
- /////////////////////////////////////////////////////////////////////////////
- cpp_quote("#if defined(__cplusplus) && _MSC_VER >= 1100")
- cpp_quote(" extern \"C++\"")
- cpp_quote(" {")
- cpp_quote(" /////////////////////////////////////////////////////////////////////////")
- cpp_quote(" // Smart Pointer Declarations")
- cpp_quote("")
- cpp_quote(" #include <comdef.h>")
- cpp_quote("")
- cpp_quote(" #ifndef TC_COM_SMARTPTR_TYPEDEF")
- cpp_quote(" #define TC_COM_SMARTPTR_TYPEDEF(Interface) \\")
- cpp_quote(" _COM_SMARTPTR_TYPEDEF(Interface, __uuidof(Interface))")
- cpp_quote(" #endif // TC_COM_SMARTPTR_TYPEDEF")
- cpp_quote("")
- cpp_quote(" TC_COM_SMARTPTR_TYPEDEF(IPigBehaviorType);")
- cpp_quote(" TC_COM_SMARTPTR_TYPEDEF(IPigBehaviorTypes);")
- cpp_quote(" TC_COM_SMARTPTR_TYPEDEF(IPigBehaviorScriptType);")
- cpp_quote(" TC_COM_SMARTPTR_TYPEDEF(IPigBehaviorHost);")
- cpp_quote(" TC_COM_SMARTPTR_TYPEDEF(IPigBehavior);")
- cpp_quote(" TC_COM_SMARTPTR_TYPEDEF(IPigBehaviors);")
- cpp_quote(" TC_COM_SMARTPTR_TYPEDEF(IPigBehaviorStack);")
- cpp_quote(" TC_COM_SMARTPTR_TYPEDEF(IPig);")
- cpp_quote(" TC_COM_SMARTPTR_TYPEDEF(IPigs);")
- cpp_quote(" TC_COM_SMARTPTR_TYPEDEF(IPigTeam);")
- cpp_quote(" TC_COM_SMARTPTR_TYPEDEF(IPigTeams);")
- cpp_quote(" TC_COM_SMARTPTR_TYPEDEF(IPigMission);")
- cpp_quote(" TC_COM_SMARTPTR_TYPEDEF(IPigMissionParams);")
- cpp_quote(" TC_COM_SMARTPTR_TYPEDEF(IPigMissionParamsPrivate);")
- cpp_quote(" TC_COM_SMARTPTR_TYPEDEF(IPigMissions);")
- cpp_quote(" TC_COM_SMARTPTR_TYPEDEF(IPigLobby);")
- cpp_quote(" TC_COM_SMARTPTR_TYPEDEF(IPigLobbies);")
- cpp_quote(" TC_COM_SMARTPTR_TYPEDEF(IPigSession);")
- cpp_quote(" TC_COM_SMARTPTR_TYPEDEF(IPigSessionEvents);")
- cpp_quote(" TC_COM_SMARTPTR_TYPEDEF(IPigEvent);")
- cpp_quote(" TC_COM_SMARTPTR_TYPEDEF(IPigTimer);")
- cpp_quote(" TC_COM_SMARTPTR_TYPEDEF(IPigShip);")
- cpp_quote(" TC_COM_SMARTPTR_TYPEDEF(IPigShipEvent);")
- cpp_quote(" TC_COM_SMARTPTR_TYPEDEF(IPigVector);")
- cpp_quote(" TC_COM_SMARTPTR_TYPEDEF(IPigAccount);")
- cpp_quote(" TC_COM_SMARTPTR_TYPEDEF(IPigAccountDispenser);")
- cpp_quote(" TC_COM_SMARTPTR_TYPEDEF(IPigHullTypes);")
- cpp_quote("")
- cpp_quote(" } // extern \"C++\"")
- cpp_quote("#endif // defined(__cplusplus) && _MSC_VER >= 1100")
- cpp_quote("")
|