NEW FEAT: $char(look), /look

A forum for feature requests/discussions and user submitted patches that improve MQ2

Moderator: MacroQuest Developers

MacroFiend
a grimling bloodguard
a grimling bloodguard
Posts: 662
Joined: Mon Jul 28, 2003 2:47 am

NEW FEAT: $char(look), /look

Post by MacroFiend » Sun Oct 05, 2003 1:00 am

To finish off my additions to /face, here are a few other little goodies.

$char(look) will return the current camera angle
EQLib_MacroParser.cpp

Code: Select all

[color=red]
	// $char(z)
	} else if (!strncmp("char(z)",szVar,7)) {
		CHAR szTemp[MAX_STRING] = {0};
		i+=6;
		sprintf(szTemp,"%1.2f",pChar->Z);
		strcat(szOutput,szTemp);
[/color]
	// $char(look)
	} else if (!strncmp("char(look)",szVar,10)) {
		CHAR szTemp[MAX_STRING] = {0};
		i+=9;
		sprintf(szTemp,"%1.2f",pChar->CameraAngle);
		strcat(szOutput,szTemp);
[color=red]
	// $char(heading)
	} else if (!strncmp("char(heading)",szVar,13)) {
		CHAR szTemp[MAX_STRING] = {0};
		i+=12;
		sprintf(szTemp,"%1.2f",pChar->Heading*0.703125f);
		strcat(szOutput,szTemp);
[/color]
/look will set your camera angle -128<camera<128.0
MQ.h

Code: Select all

[color=red]
extern "C" EQLIB_API VOID  BankList		(PSPAWNINFO, PCHAR);[/color]
extern "C" EQLIB_API VOID  Look			(PSPAWNINFO, PCHAR);
EQLib_Commands.cpp

Code: Select all

// ***************************************************************************
// Function:		Look
// Description:		Our /look command. Changes camera angle
// 2003-10-04		MacroFiend
// ***************************************************************************
VOID Look(PSPAWNINFO pChar, PCHAR szLine)
{
	CHAR szLookAngle[MAX_STRING]={0};
	CHAR szTemp[MAX_STRING]={0};
	FLOAT fLookAngle=0.0f;

	GetArg(szLookAngle,szLine,1);
	fLookAngle = (FLOAT)atof(szLookAngle);

	if (fLookAngle>128.0f || fLookAngle<-128.0f) {
		sprintf(szTemp,"/look -- Angle %f out of range.",fLookAngle);
		WriteChatBuffer(szTemp,CONCOLOR_RED);
		return;
	}

	pChar->CameraAngle = fLookAngle;

}
EQLib_Interp.cpp

Code: Select all

[color=red]
		{"/memspell",   "MemSpell"},[/color]
		{"/look",		"Look"},
[color=red]
		{NULL,			NULL}
	};

	DWORD i, j = 0, k=0, CmdCount = 0;
	char szMsg[MAX_STRING] = {0};

	if (pCmdListNew) return FALSE;
[/color]
Last edited by MacroFiend on Sun Oct 05, 2003 5:06 pm, edited 1 time in total.

Plazmic
The One
The One
Posts: 800
Joined: Fri Jun 14, 2002 12:31 am
Contact:

Post by Plazmic » Sun Oct 05, 2003 4:59 pm

I have a set of changes that I'll submit soon... this will be in CVS today.
- Plazmic