All pastes #534975 Raw Edit

rnull

public cpp v1 · immutable
·published 2007-06-03 23:20 UTC
rendered paste body
// -CChat.h-#ifndef CCHAT#define CCHATclass CGameManager;struct Message{	char message[600];	bool free;	float life;	int alpha;};class CChat{public: 	CChat(CGameManager *main);	~CChat();		void Update(float delta);	void Render();	void addMessage(int type, char msg[600]);	private: 	CGameManager *manager;	Message *buffer;	int free;	};#endif// -CChat.cpp-#include "CChat.h"#include "CGameManager.h"CChat::CChat(CGameManager *main){			manager = main;	buffer = new Message[5];	free = 6;}CChat::~CChat(){		delete [] buffer;	}void CChat::Update(float delta){	for (int x = 0; x < 6; x++)	{		if (!buffer[x].free)		{			buffer[x].life -= 10.0f * delta;			if (buffer[x].life < 25500.0f)			{				buffer[x].alpha = (int)buffer[x].life / 100;			}			if (buffer[x].life <= 0.0f)			{				buffer[x].free = true;				free++;			}		}	}	}void CChat::Render(){		for (int n = 0; n < 6; n++)	{				if (!buffer[n].free)		{						manager->printFont(0, (buffer[n].alpha / 255), 10, (600 - (n*20)), buffer[n].message);		}	}	}void CChat::addMessage(int type, char msg[600]){	if (free > 0)	{		free--;	}	Message temp;	temp = buffer[4];	buffer[5] = temp;	temp = buffer[3];	buffer[4] = temp;	temp = buffer[2];	buffer[3] = temp;	temp = buffer[1];	buffer[2] = temp;	temp = buffer[0];	buffer[1] = temp;	Message newm;	newm.alpha = 255;	newm.free = false;	newm.life = 100000.0f;	strcpy(newm.message, msg);	buffer[0] = newm;	}