All pastes #425159 Raw Edit

Stuff

public text v1 · immutable
·published 2007-04-05 09:07 UTC
rendered paste body
typedef struct {
	char			*name;						// mod name
	char			*version;					// mod version
	DWORD			crc32;						// crc32 checksum
	modType_t		type;						// mod type

	DWORD			refdef;						// addr of refdef
	DWORD			refdefViewAngles;			// addr of refdefVA

	// Refer to CG_ConsoleCommand to find these (or vmmain command case 0x2)
	DWORD			commands;					// addr of console command list
	int				numCommands;				// number of commands in list

	// These will be used to fill in the pointers to player data
	DWORD			centBase;					// &cg_entities[0]
	DWORD			centSize;					// sizeof(centity_t)
	DWORD			centCurrentStateOffset;		// currentState offset

	DWORD			ciBase;						// &clientInfo[0]
	DWORD			ciSize;						// sizeof(clientInfo_t)
	DWORD			ciInfoValidOffset;			// infoValid offset
	DWORD			ciNameOffset;				// name offset
	DWORD			ciTeamOffset;				// team offset
	
	DWORD			CG_Init;					// called every time cgame.dll is loaded
	DWORD			CG_Shutdown;				// called on every map change
	DWORD			CG_DrawActiveFrame;			// called every frame
	DWORD			CG_Player;					// called for each player every frame
	DWORD			CG_SetLerpFrameAnimationRate; // used to capture clientinfo base & size for unknown mods
	DWORD			CG_FinishWeaponChange;		// changes between 2 weapons. i.e. forced change scoped -> normal
	DWORD			CG_PlayVoiceChat;			// capture voice chat messages for GUI
	DWORD			CG_EntityEvent;				// get EntitiyEvent info
	DWORD			CG_Trace;					// run entity traces
	DWORD			CG_DamageFeedback;			// disable view distortion from being hit
	DWORD			CG_WeaponFireRecoil;		// disable view distortion when firing
	DWORD			CG_Respawn;					// lots of stuff we can reset or whatever on respawn

	DWORD			CG_DrawNewCompass;			// Std UI functions to remove
	DWORD			CG_AddToTeamChat;			
	DWORD			CG_AddToTeamChat2;			// only needed by etmain 2.60
	DWORD			CG_AddPMItem;
	DWORD			CG_AddPMItem2;				// jaymod version
	DWORD			CG_DrawPlayerStatusHead;	
	DWORD			CG_DrawPlayerStats;

	DWORD			CG_AntiCheat;				// etpro AntiCheat func
	DWORD			CG_ConfigString;			// used for bypassing ETPRO anti-cheat
	DWORD			SyscallResetCode;			// if (orig_syscall != 0x445810) orig_syscall = 0x445810;
} cgMod_t