[IDE] Particle Engine

All Helbreath Server Source Discussion here.
Post Reply
ADDKiD
<3 bd long time
Posts: 967
Joined: Tue Jul 12, 2005 8:07 pm
Location: Washington, USA
Contact:

Post by ADDKiD »

Lol, From what Orkl described on msn. He's fucking busy, and hasn't gotten around to coding the rest. I know he codes a little at a time, then when he's got enough to release he does. =/ I could be wrong on that, going on a few weeks old Info... It would change a ton of things if it was ever completed...
Orkl
Loyal fan
Posts: 376
Joined: Sat Sep 17, 2005 2:31 pm

Post by Orkl »

ADDKiD wrote: Lol, From what Orkl described on msn. He's fucking busy, and hasn't gotten around to coding the rest. I know he codes a little at a time, then when he's got enough to release he does. =/ I could be wrong on that, going on a few weeks old Info... It would change a ton of things if it was ever completed...
well. It is completed. I just haven't implemented it into the Helbreath engine yet. But the particle engine itself is done, finished. It just needs to be implemented properly.

<!--QuoteBegin-crazymnig88+--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (crazymnig88)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->by notepad??? it didn't show any code, just show words wif no mean<!--QuoteEnd--></td></tr></table><div class='signature'><!--QuoteEEnd--><br><!--QuoteBegin-charlie+--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (charlie)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->he'll probably save it as 600pagebook.bmp<br><br>400gb file plzkthnx<!--QuoteEnd--></td></tr></table><div class='signature'><!--QuoteEEnd-->
Kenshi
Loyal fan
Posts: 208
Joined: Thu Nov 20, 2003 8:27 am

Post by Kenshi »

<3 you Orkl.. nuff said mate
get rooted.
Orkl
Loyal fan
Posts: 376
Joined: Sat Sep 17, 2005 2:31 pm

Post by Orkl »

Here's a demo program you can make with a few presets in it. Doesn't have too much functionality in it, as it is currently 1am and I cbf doing it any better.

CREATE NEW:

Code: Select all

demo.cpp
IN demo.cpp::

Code: Select all

//--------------------------------------------------------------------------
//
//  File:       Demo.cpp
//
//  Contents:   Particle Application
//
// To do:  make it better?
//
// Note: uses d3d framework helper lib
//      
//      Created By:   Orkl
//---------------------------------------------------------------------------

#define D3D_OVERLOADS
#define STRICT

#include <math.h>
#include <stdio.h>
#include "D3DApp.h"
#include "D3DTextr.h"
#include "D3DUtil.h"
#include "D3DMath.h" 

#include "ParticleSystem.h"

//-----------------------------------------------------------------------------
// Class MyD3DApplication
//
// Desc: Application class >.>
//-----------------------------------------------------------------------------
class MyD3DApplication : public D3DApplication
{
	//4 vertices of quad used to render billboarded particles
    D3DLVERTEX   m_Mesh[4];                

	// used to draw the axes
	D3DLVERTEX   m_Axes[6];

	// used to draw edges of ground plane
	D3DLVERTEX   m_Edges[5];

	// reference to particle system
	ParticleSystem* m_ParticleSystem;	

	// time reference, this is when the application was started
    FLOAT       m_fStartTimeKey;  	

	// camera manipulation
	FLOAT  m_fCameraYaw;
	FLOAT  m_fCameraPitch;
	FLOAT  m_fCameraRadius;

	// array of byte to hold key presses
	BYTE  m_bKey[256];

	// mouse button presses
	INT  	m_iMouseButtons;

	// current location of Mouse
	INT  	m_iMouseX;
	INT  	m_iMouseY;
	
	// size of our window
	INT  	m_iScreenWidth;
	INT  	m_iScreenHeight;

	// which system preset we have set
	INT  	m_iPreset;

    static HRESULT ConfirmDevice( DDCAPS* pddDriverCaps, D3DDEVICEDESC7* pd3dDeviceDesc ); 

protected:
    HRESULT OneTimeSceneInit();
    HRESULT InitDeviceObjects();
    HRESULT DeleteDeviceObjects();
    HRESULT Render();
    HRESULT FrameMove( FLOAT fTimeKey );
    HRESULT FinalCleanup();
    HRESULT DrawAxes();
    HRESULT DrawPlatform();
    VOID ShowScreenInfo(); 
    VOID LoadPreset( int iPreset );
    VOID MoveCamera(void);
  
public:
	LRESULT MyD3DApplication::MsgProc( HWND hWnd, UINT uMsg, WPARAM wParam,
                                    LPARAM lParam );
    MyD3DApplication();
};

//-----------------------------------------------------------------------------
// Name: WinMain()
// Desc: Entry point
//-----------------------------------------------------------------------------
INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT )
{
    MyD3DApplication d3dApp;

    if( FAILED( d3dApp.Create( hInst, strCmdLine ) ) )
        return 0;

    return d3dApp.Run();
}

//-----------------------------------------------------------------------------
// Name: MyD3DApplication()
// Desc: Application constructor
//-----------------------------------------------------------------------------
MyD3DApplication::MyD3DApplication()
                  :D3DApplication()
{
    m_strWindowTitle  = TEXT( "Orkl's Particle System!" );
    m_bAppUseZBuffer  = FALSE;
    m_bAppUseStereo   = FALSE;
    m_bShowStats      = FALSE;
    m_fnConfirmDevice = ConfirmDevice;

	m_ParticleSystem  = NULL;

    m_fStartTimeKey   = 0.0f;

	memset(m_bKey, 0x00, 256); 

	m_iMouseButtons = 0;
}

//-----------------------------------------------------------------------------
// Name: OneTimeSceneInit()
// Desc: Called during initial startup
//-----------------------------------------------------------------------------
HRESULT MyD3DApplication::OneTimeSceneInit()
{
	// create our one instance of a particle system
	m_ParticleSystem = new ParticleSystem();

	// bail out if our particle system didn't get created
	if ( !m_ParticleSystem )
	{
  MessageBox(NULL, "Error Creating Particle System!", "Fatal Error", MB_OK );
  return E_FAIL;
	}
	
	HRESULT hrError = S_OK;

	// generic white texture for drawing bars 
	hrError |= D3DTextr_CreateTextureFromFile( "tex1.tga", 0 );

	// load in our particle textures - replace with real texture names, 
        //etc. respectively.
	hrError |= D3DTextr_CreateTextureFromFile( "tex2.tga", 0);
	hrError |= D3DTextr_CreateTextureFromFile( "tex3.tga",  0);
	hrError |= D3DTextr_CreateTextureFromFile( "tex4.tga",  0);
	hrError |= D3DTextr_CreateTextureFromFile( "tex5.tga", 0);
	hrError |= D3DTextr_CreateTextureFromFile( "tex6.tga",  0);

	if ( hrError != S_OK )
	{	
  MessageBox(NULL, "One or more textures didn't load!", "Fatal Error", MB_OK );
  return E_FAIL;
	}

	// setup camera and initial particle system appearance
	LoadPreset(0);

	return S_OK;

}


//-----------------------------------------------------------------------------
// Name: FrameMove()
// Desc: Called once per frame, animates the scene
//-----------------------------------------------------------------------------
HRESULT MyD3DApplication::FrameMove( FLOAT fTimeKey )
{
	static float fLastUpdate;
	float fElapsedTime;
	
	// update things like color done by keystrokes
	m_ParticleSystem->ChangeParams( &m_bKey[0] );

	// update system and let it know how much time has gone
	m_ParticleSystem->Update(fTimeKey); 

	if ( m_fExportTimer > 0.0f )
	{
  fElapsedTime = fTimeKey - fLastUpdate;

  m_fExportTimer = m_fExportTimer > fElapsedTime ? m_fExportTimer - fElapsedTime : 0.0f;
	}

	if (( m_bKey[VK_F12] )&&( m_fExportTimer == 0.0f ))
	{
  ExportParameters();
  m_fExportTimer = 2.0f;
	}

	// save so next update knows how much time has gone
	fLastUpdate = fTimeKey;

    return S_OK;
}

//-----------------------------------------------------------------------------
// Name: Render()
// Desc: Called once per frame, sets up render states, clears the
//       viewport, and renders the scene.
//-----------------------------------------------------------------------------
HRESULT MyD3DApplication::Render()
{
    static TCHAR buffer[80];
	static float	fDeltaX = 0.0f, 
    	fDeltaY = 0.0f, 
    	fDeltaZ = 0.0f;
	
	// this is here instead of in FrameMove() so that we can pause the system, but still move the camera.
	MoveCamera();


	// clear viewport
	// m_pd3dDevice->Clear( 0, NULL, D3DCLEAR_ZBUFFER, 0L, 1.0f, 0L );
	m_pd3dDevice->Clear( 0, NULL, D3DCLEAR_TARGET, 0x00000000, 1.0f, 0L );

    // Begin scene
    if( SUCCEEDED( m_pd3dDevice->BeginScene() ) )
    {
  // fuck z-buffering
  //	m_pd3dDevice->SetRenderState( D3DRENDERSTATE_ZENABLE, FALSE ); 

  // enable alpha blend
  m_pd3dDevice->SetRenderState( D3DRENDERSTATE_ALPHABLENDENABLE, TRUE );

  // set alpha blend mode
  m_pd3dDevice->SetRenderState( D3DRENDERSTATE_SRCBLEND,  D3DBLEND_SRCALPHA );
  m_pd3dDevice->SetRenderState( D3DRENDERSTATE_DESTBLEND, D3DBLEND_ONE );

  // render the bitch!
  m_ParticleSystem->Draw(m_pd3dDevice); //fix me

  // restore render states
  m_pd3dDevice->SetRenderState( D3DRENDERSTATE_ALPHABLENDENABLE, FALSE );

  // use white, we're only drawing lines.
  m_pd3dDevice->SetTexture( 0, D3DTextr_GetSurface("tex1.tga") );

  D3DMATRIX WorldMatrix;
  // guarantee clean matrix before using it
  D3DUtil_SetIdentityMatrix( WorldMatrix );

  m_pd3dDevice->SetTransform( D3DTRANSFORMSTATE_WORLD, &WorldMatrix );

  // Draw axes at 0,0,0 as point of reference
  DrawAxes();

  // if particles can collide with ground plane then draw reference ground plane egde
  if ( m_ParticleSystem->IsColliding() )
  	DrawPlatform();

  // this is really slow way of doing, but draw number
  // of particles alive
  sprintf( buffer, "%u", m_ParticleSystem->NumParticles());
  OutputText( 10, 10, buffer );

  // FPS and resolution
  ShowScreenInfo();

  m_pd3dDevice->EndScene();
    }

    return S_OK;
}

//-----------------------------------------------------------------------------
// Name: InitDeviceObjects()
// Desc: Init scene objects
//-----------------------------------------------------------------------------
HRESULT MyD3DApplication::InitDeviceObjects()
{
    D3DTextr_RestoreAllTextures( m_pd3dDevice );

    // dimensions for background image
    D3DVIEWPORT7 vp;
    m_pd3dDevice->GetViewport(&vp);
    
    // render material
    D3DMATERIAL7 mtrl;
    D3DUtil_InitMaterial( mtrl );
    m_pd3dDevice->SetMaterial( &mtrl );

    // view matrices 
    D3DVECTOR vEyePt      = D3DVECTOR( 0.0f, 0.0f, -50.0f );
    D3DVECTOR vLookatPt   = D3DVECTOR( 0.0f, 0.0f,   0.0f );
    D3DVECTOR vUpVec      = D3DVECTOR( 0.0f, 1.0f,   0.0f );

	D3DUtil_SetViewMatrix( m_matView, vEyePt, vLookatPt, vUpVec );

    m_pd3dDevice->SetTransform( D3DTRANSFORMSTATE_VIEW, &m_matView );

    // projection transform
    D3DMATRIX matProj;
    D3DUtil_SetProjectionMatrix( matProj); //, 1.57f, 1.0f, 1.0f, 100.0f );
    m_pd3dDevice->SetTransform( D3DTRANSFORMSTATE_PROJECTION, &matProj );

    // default texture states
    D3DTextr_RestoreAllTextures( m_pd3dDevice );

	// setup our texture stages knowing that we want to do some alpha blending
    m_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
    m_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE );
    m_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP,   D3DTOP_MODULATE );

	m_pd3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE ); 
    m_pd3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAARG2, D3DTA_DIFFUSE ); 
	m_pd3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP,   D3DTOP_MODULATE );
    
	m_pd3dDevice->SetTextureStageState( 0, D3DTSS_MINFILTER,  D3DTFN_LINEAR);
    m_pd3dDevice->SetTextureStageState( 0, D3DTSS_MAGFILTER,  D3DTFG_LINEAR);
	
    m_pd3dDevice->SetRenderState( D3DRENDERSTATE_DITHERENABLE, FALSE ); 

    m_pd3dDevice->SetRenderState( D3DRENDERSTATE_LIGHTING, FALSE );

    return S_OK;
}

//-----------------------------------------------------------------------------
// Name: FinalCleanup()
// Desc: clean up else windows hates me :(
//-----------------------------------------------------------------------------
HRESULT MyD3DApplication::FinalCleanup()
{

	// die system!
	if ( m_ParticleSystem )
	{
  delete m_ParticleSystem;

  // paranoid much?
  m_ParticleSystem = NULL;
	}
    
	// give back textures
    	D3DTextr_DestroyTexture( "tex1.tga" );

	D3DTextr_DestroyTexture( "tex2.tga" );
	D3DTextr_DestroyTexture( "tex3.tga" );
	D3DTextr_DestroyTexture( "tex4.tga" );
	D3DTextr_DestroyTexture( "tex5.tga" );
	D3DTextr_DestroyTexture( "tex6.tga" );

    return S_OK;
}

//-----------------------------------------------------------------------------
// Name: DeleteDeviceObjects()
// Desc: call when exit, or device change
//-----------------------------------------------------------------------------
HRESULT MyD3DApplication::DeleteDeviceObjects()
{
    D3DTextr_InvalidateAllTextures();

    return S_OK;
}

//----------------------------------------------------------------------------
// Name: MsgProc()
// Desc: handle mouse + keyboard
//----------------------------------------------------------------------------
LRESULT MyD3DApplication::MsgProc( HWND hWnd, UINT uMsg, WPARAM wParam,
                                    LPARAM lParam )
{
    switch( uMsg )
    {
  // is key up or down?
        case WM_KEYUP:
  	m_bKey[wParam] = 0; 
            break;
  
  case WM_KEYDOWN:
  	m_bKey[wParam] = 1;
  	break;

  //mouse
  case WM_LBUTTONDOWN:
        case WM_LBUTTONUP:
        case WM_RBUTTONDOWN:
        case WM_RBUTTONUP:
        case WM_MOUSEMOVE:
            m_iMouseButtons = wParam;
            m_iMouseX       = LOWORD(lParam);
            m_iMouseY       = HIWORD(lParam) < m_iScreenHeight ? HIWORD(lParam) : 0;
            break;

  // resolution changes
  case WM_SIZE:
  	m_iScreenWidth =  LOWORD(lParam);
  	m_iScreenHeight = HIWORD(lParam);
  	break;

	}

    // fall to main windows proc function
    return D3DApplication::MsgProc( hWnd, uMsg, wParam, lParam );
}

HRESULT MyD3DApplication::DrawAxes()
{
	m_Axes[0] = D3DLVERTEX( D3DVECTOR(  0.0f,  0.0f,  0.0f ), 0xffff0000, 0, 0.0f, 0.0f );
	m_Axes[1] = D3DLVERTEX( D3DVECTOR( 10.0f,  0.0f,  0.0f ), 0xffff0000, 0, 0.0f, 0.0f );

	m_Axes[2] = D3DLVERTEX( D3DVECTOR(  0.0f,  0.0f,  0.0f ), 0xff0000ff, 0, 0.0f, 0.0f );
	m_Axes[3] = D3DLVERTEX( D3DVECTOR(  0.0f, 10.0f,  0.0f ), 0xff0000ff, 0, 0.0f, 0.0f );

	m_Axes[4] = D3DLVERTEX( D3DVECTOR(  0.0f,  0.0f,  0.0f ), 0xff00ff00, 0, 0.0f, 0.0f );
	m_Axes[5] = D3DLVERTEX( D3DVECTOR(  0.0f,  0.0f, 10.0f ), 0xff00ff00, 0, 0.0f, 0.0f );

	// draw lines
	m_pd3dDevice->DrawPrimitive( D3DPT_LINELIST, D3DFVF_LVERTEX, m_Axes, 6, 0 );

	return S_OK;
}

HRESULT MyD3DApplication::DrawPlatform()
{
	m_Edges[0] = D3DLVERTEX( D3DVECTOR(  -50.0f, -25.0f,  -50.0f ), 0xffffffff, 0, 0.0f, 0.0f );
	m_Edges[1] = D3DLVERTEX( D3DVECTOR(  50.0f,  -25.0f,  -50.0f ), 0xffffffff, 0, 0.0f, 0.0f );
	m_Edges[2] = D3DLVERTEX( D3DVECTOR(  50.0f,  -25.0f,  50.0f ), 0xffffffff, 0, 0.0f, 0.0f );
	m_Edges[3] = D3DLVERTEX( D3DVECTOR(  -50.0f,  -25.0f,  50.0f ), 0xffffffff, 0, 0.0f, 0.0f );
	m_Edges[4] = D3DLVERTEX( D3DVECTOR(  -50.0f,  -25.0f,  -50.0f ), 0xffffffff, 0, 0.0f, 0.0f );

	// draw ground plane, more lines ^^
	m_pd3dDevice->DrawPrimitive( D3DPT_LINESTRIP, D3DFVF_LVERTEX, m_Edges, 5, 0 );

	return S_OK;
}

VOID MyD3DApplication::ShowScreenInfo()
{
    static FLOAT fFPS      = 0.0f;
    static FLOAT fLastTime = 0.0f;
    static DWORD dwFrames  = 0L;

    // time lapse and frame count
    FLOAT fTime = timeGetTime() * 0.001f; // current time in sec
    ++dwFrames;

    // update once per second
    if( fTime - fLastTime > 1.0f )
    {
        fFPS      = dwFrames / (fTime - fLastTime);
        fLastTime = fTime;
        dwFrames  = 0L;
    }

    // setup text buffer to write out dimensions- once again. slow~
    TCHAR buffer[80];

	sprintf( buffer, "%4d FPS   %d x %d x %d",	(int)fFPS,
              m_ddsdRenderTarget.dwWidth, 
              m_ddsdRenderTarget.dwHeight, 
              m_ddsdRenderTarget.ddpfPixelFormat.dwRGBBitCount );

    OutputText( m_ddsdRenderTarget.dwWidth/2 - 50, 10, buffer );

}

//-----------------------------------------------------------------------------
//
//	MyD3DApplication::LoadPreset
//
//	setup camera and particle system parameters associated with the 
//      given preset number
//-----------------------------------------------------------------------------
void MyD3DApplication::LoadPreset(int iPreset)
{
	// update variable
	m_iPreset = iPreset;

	switch ( iPreset )
	{

  case 0:
  	// camera
  	m_fCameraPitch	=  0.0f;
  	m_fCameraYaw	=  0.0f;
  	m_fCameraRadius = 50.0f;

  	// system
  	m_ParticleSystem->m_d3dcColorStart.r	= 1.0f;
  	m_ParticleSystem->m_d3dcColorStart.g	= 0.8f;
  	m_ParticleSystem->m_d3dcColorStart.b	= 0.5f;
  	
  	m_ParticleSystem->m_d3dcColorVar.r	= 0.0f;
  	m_ParticleSystem->m_d3dcColorVar.g	= 0.0f;
  	m_ParticleSystem->m_d3dcColorVar.b	= 0.0f;

  	m_ParticleSystem->m_d3dcColorEnd.r	= 0.0f;
  	m_ParticleSystem->m_d3dcColorEnd.g	= 0.0f;
  	m_ParticleSystem->m_d3dcColorEnd.b	= 1.0f;

  	m_ParticleSystem->m_fAlphaStart  = 0.5f;
  	m_ParticleSystem->m_fAlphaVar  = 0.0f;
  	m_ParticleSystem->m_fAlphaEnd  = 0.0f;

  	m_ParticleSystem->m_fSizeStart  = 4.0f;
  	m_ParticleSystem->m_fSizeVar  = 0.0f;
  	m_ParticleSystem->m_fSizeEnd  = 8.0f;

  	m_ParticleSystem->m_fSpeed  	= 15.0f;
  	m_ParticleSystem->m_fSpeedVar  = 0.0f;

  	m_ParticleSystem->m_fTheta  	= 180.0f;
  	
  	m_ParticleSystem->m_fLife  = 1.0f;
  	m_ParticleSystem->m_fLifeVar	= 0.5f;

  	m_ParticleSystem->m_fGravityStart	= 0.0f;
  	m_ParticleSystem->m_fGravityVar  = 0.0f;
  	m_ParticleSystem->m_fGravityEnd  = 0.0f;

  	m_ParticleSystem->m_uParticlesPerSec	= 80;

  	m_ParticleSystem->m_bIsMoving  = FALSE;
  	m_ParticleSystem->m_bIsAttractive	= FALSE;
  	m_ParticleSystem->m_bIsColliding	= FALSE;

  	m_ParticleSystem->m_uTextureID = 0;
  	break;

  case 1:
  	// camera
  	m_fCameraPitch	=   0.75f;
  	m_fCameraYaw	=   0.0f;
  	m_fCameraRadius = 100.0f;

  	// system
  	m_ParticleSystem->m_d3dcColorStart.r	= 1.0f;
  	m_ParticleSystem->m_d3dcColorStart.g	= 1.0f;
  	m_ParticleSystem->m_d3dcColorStart.b	= 0.2f;
  	
  	m_ParticleSystem->m_d3dcColorVar.r	= 0.0f;
  	m_ParticleSystem->m_d3dcColorVar.g	= 0.0f;
  	m_ParticleSystem->m_d3dcColorVar.b	= 0.0f;

  	m_ParticleSystem->m_d3dcColorEnd.r	= 1.0f;
  	m_ParticleSystem->m_d3dcColorEnd.g	= 0.0f;
  	m_ParticleSystem->m_d3dcColorEnd.b	= 0.0f;

  	m_ParticleSystem->m_fAlphaStart  = 1.0f;
  	m_ParticleSystem->m_fAlphaVar  = 0.0f;
  	m_ParticleSystem->m_fAlphaEnd  = 0.0f;

  	m_ParticleSystem->m_fSizeStart  = 0.5f;
  	m_ParticleSystem->m_fSizeVar  = 0.0f;
  	m_ParticleSystem->m_fSizeEnd  = 10.0f;

  	m_ParticleSystem->m_fSpeed  	= 0.0f;
  	m_ParticleSystem->m_fSpeedVar  = 0.0f;

  	m_ParticleSystem->m_fTheta  	= 0.0f;
  	
  	m_ParticleSystem->m_fLife  = 2.0f;
  	m_ParticleSystem->m_fLifeVar	= 0.0f;

  	m_ParticleSystem->m_fGravityStart	= 1.0f;
  	m_ParticleSystem->m_fGravityVar  = 0.0f;
  	m_ParticleSystem->m_fGravityEnd  = 1.0f;

  	m_ParticleSystem->m_uParticlesPerSec	= 100;

  	m_ParticleSystem->m_bIsMoving  = TRUE;
  	m_ParticleSystem->m_bIsAttractive	= FALSE;
  	m_ParticleSystem->m_bIsColliding	= TRUE;

  	m_ParticleSystem->m_uTextureID = 0;
  	break;

  case 2:
  	// camera
  	m_fCameraPitch	=   0.25f;
  	m_fCameraYaw	=   0.0f;
  	m_fCameraRadius = 150.0f;

  	// system
  	m_ParticleSystem->m_d3dcColorStart.r	= 1.0f;
  	m_ParticleSystem->m_d3dcColorStart.g	= 1.0f;
  	m_ParticleSystem->m_d3dcColorStart.b	= 1.0f;
  	
  	m_ParticleSystem->m_d3dcColorVar.r	= 0.0f;
  	m_ParticleSystem->m_d3dcColorVar.g	= 0.0f;
  	m_ParticleSystem->m_d3dcColorVar.b	= 0.0f;

  	m_ParticleSystem->m_d3dcColorEnd.r	= 0.0f;
  	m_ParticleSystem->m_d3dcColorEnd.g	= 0.0f;
  	m_ParticleSystem->m_d3dcColorEnd.b	= 1.0f;

  	m_ParticleSystem->m_fAlphaStart  = 1.0f;
  	m_ParticleSystem->m_fAlphaVar  = 0.0f;
  	m_ParticleSystem->m_fAlphaEnd  = 0.0f;

  	m_ParticleSystem->m_fSizeStart  = 4.0f;
  	m_ParticleSystem->m_fSizeVar  = 0.0f;
  	m_ParticleSystem->m_fSizeEnd  = 0.5f;

  	m_ParticleSystem->m_fSpeed  	= 100.0f;
  	m_ParticleSystem->m_fSpeedVar  = 10.0f;

  	m_ParticleSystem->m_fTheta  	= 45.0f;
  	
  	m_ParticleSystem->m_fLife  = 3.0f;
  	m_ParticleSystem->m_fLifeVar	= 0.0f;

  	m_ParticleSystem->m_fGravityStart	= 4.0f;
  	m_ParticleSystem->m_fGravityVar  = 0.0f;
  	m_ParticleSystem->m_fGravityEnd  = 4.0f;

  	m_ParticleSystem->m_uParticlesPerSec	= 100;

  	m_ParticleSystem->m_bIsMoving  = FALSE;
  	m_ParticleSystem->m_bIsAttractive	= FALSE;
  	m_ParticleSystem->m_bIsColliding	= TRUE;

  	m_ParticleSystem->m_uTextureID = 0;
  	break;

  case 3:
  	// camera
  	m_fCameraPitch	=   0.25f;
  	m_fCameraYaw	=   0.0f;
  	m_fCameraRadius = 120.0f;

  	// system
  	m_ParticleSystem->m_d3dcColorStart.r	= 0.0f;
  	m_ParticleSystem->m_d3dcColorStart.g	= 1.0f;
  	m_ParticleSystem->m_d3dcColorStart.b	= 0.0f;
  	
  	m_ParticleSystem->m_d3dcColorVar.r	= 0.0f;
  	m_ParticleSystem->m_d3dcColorVar.g	= 0.0f;
  	m_ParticleSystem->m_d3dcColorVar.b	= 0.0f;

  	m_ParticleSystem->m_d3dcColorEnd.r	= 1.0f;
  	m_ParticleSystem->m_d3dcColorEnd.g	= 1.0f;
  	m_ParticleSystem->m_d3dcColorEnd.b	= 1.0f;

  	m_ParticleSystem->m_fAlphaStart  = 1.0f;
  	m_ParticleSystem->m_fAlphaVar  = 0.0f;
  	m_ParticleSystem->m_fAlphaEnd  = 1.0f;

  	m_ParticleSystem->m_fSizeStart  = 10.0f;
  	m_ParticleSystem->m_fSizeVar  = 0.0f;
  	m_ParticleSystem->m_fSizeEnd  = 5.0f;

  	m_ParticleSystem->m_fSpeed  	= 50.0f;
  	m_ParticleSystem->m_fSpeedVar  = 0.0f;

  	m_ParticleSystem->m_fTheta  	= 180.0f;
  	
  	m_ParticleSystem->m_fLife  = 4.0f;
  	m_ParticleSystem->m_fLifeVar	= 0.0f;

  	m_ParticleSystem->m_fGravityStart	= 0.0f;
  	m_ParticleSystem->m_fGravityVar  = 0.0f;
  	m_ParticleSystem->m_fGravityEnd  = 0.0f;

  	m_ParticleSystem->m_uParticlesPerSec	= 50;

  	m_ParticleSystem->m_bIsMoving  = FALSE;
  	m_ParticleSystem->m_bIsAttractive	= TRUE;
  	m_ParticleSystem->m_bIsColliding	= FALSE;

  	m_ParticleSystem->m_uTextureID = 0;
  	break;
	
  case 4:
  	// camera
  	m_fCameraPitch	=   3.14f;
  	m_fCameraYaw	=   1.57f;
  	m_fCameraRadius = 50.0f;

  	// system
  	m_ParticleSystem->m_d3dcColorStart.r	= 1.0f;
  	m_ParticleSystem->m_d3dcColorStart.g	= 0.0f;
  	m_ParticleSystem->m_d3dcColorStart.b	= 1.0f;

  	m_ParticleSystem->m_d3dcColorVar.r	= 0.0f;
  	m_ParticleSystem->m_d3dcColorVar.g	= 0.0f;
  	m_ParticleSystem->m_d3dcColorVar.b	= 0.0f;

  	m_ParticleSystem->m_d3dcColorEnd.r	= 0.0f;
  	m_ParticleSystem->m_d3dcColorEnd.g	= 0.0f;
  	m_ParticleSystem->m_d3dcColorEnd.b	= 1.0f;

  	m_ParticleSystem->m_fAlphaStart  = 1.0f;
  	m_ParticleSystem->m_fAlphaVar  = 0.0f;
  	m_ParticleSystem->m_fAlphaEnd  = 0.0f;

  	m_ParticleSystem->m_fSizeStart  = 1.0f;
  	m_ParticleSystem->m_fSizeVar  = 0.0f;
  	m_ParticleSystem->m_fSizeEnd  = 10.0f;

  	m_ParticleSystem->m_fSpeed  	= 5.0f;
  	m_ParticleSystem->m_fSpeedVar  = 0.0f;

  	m_ParticleSystem->m_fTheta  	= 180.0f;
  	
  	m_ParticleSystem->m_fLife  = 2.0f;
  	m_ParticleSystem->m_fLifeVar	= 0.0f;

  	m_ParticleSystem->m_fGravityStart	= 0.0f;
  	m_ParticleSystem->m_fGravityVar  = 0.0f;
  	m_ParticleSystem->m_fGravityEnd  = -1.0f;

  	m_ParticleSystem->m_uParticlesPerSec	= 25;

  	m_ParticleSystem->m_bIsMoving  = FALSE;
  	m_ParticleSystem->m_bIsAttractive	= FALSE;
  	m_ParticleSystem->m_bIsColliding	= FALSE;

  	m_ParticleSystem->m_uTextureID = 1;
  	break;

  case 5:
  	// camera
  	m_fCameraPitch	=   1.571f;
  	m_fCameraYaw	=   0.0f;
  	m_fCameraRadius = 300.0f;

  	// system
  	m_ParticleSystem->m_d3dcColorStart.r	= 1.0f;
  	m_ParticleSystem->m_d3dcColorStart.g	= 0.0f;
  	m_ParticleSystem->m_d3dcColorStart.b	= 0.0f;
  	
  	m_ParticleSystem->m_d3dcColorVar.r	= 0.0f;
  	m_ParticleSystem->m_d3dcColorVar.g	= 0.0f;
  	m_ParticleSystem->m_d3dcColorVar.b	= 0.0f;

  	m_ParticleSystem->m_d3dcColorEnd.r	= 1.0f;
  	m_ParticleSystem->m_d3dcColorEnd.g	= 1.0f;
  	m_ParticleSystem->m_d3dcColorEnd.b	= 1.0f;

  	m_ParticleSystem->m_fAlphaStart  = 0.25f;
  	m_ParticleSystem->m_fAlphaVar  = 0.0f;
  	m_ParticleSystem->m_fAlphaEnd  = 1.0f;

  	m_ParticleSystem->m_fSizeStart  = 0.5f;
  	m_ParticleSystem->m_fSizeVar  = 0.0f;
  	m_ParticleSystem->m_fSizeEnd  = 2.0f;

  	m_ParticleSystem->m_fSpeed  	= 100.0f;
  	m_ParticleSystem->m_fSpeedVar  =  50.0f;

  	m_ParticleSystem->m_fTheta  	= 45.0f;
  	
  	m_ParticleSystem->m_fLife  = 3.0f;
  	m_ParticleSystem->m_fLifeVar	= 0.0f;

  	m_ParticleSystem->m_fGravityStart	= 0.0f;
  	m_ParticleSystem->m_fGravityVar  = 0.0f;
  	m_ParticleSystem->m_fGravityEnd  = 0.0f;

  	m_ParticleSystem->m_uParticlesPerSec	= 150;

  	m_ParticleSystem->m_bIsMoving  	= 0;
  	m_ParticleSystem->m_bIsAttractive  = 0;
  	m_ParticleSystem->m_bIsColliding  = 0;

  	m_ParticleSystem->m_uTextureID = 4;
  	break;

  case 6:
  	// camera 
  	m_fCameraPitch  =  -0.01f; 
  	m_fCameraYaw   =  0.69f; 
  	m_fCameraRadius =  85.00f; 

  	// system
  	m_ParticleSystem->m_d3dcColorStart.r = 1.00f; 
  	m_ParticleSystem->m_d3dcColorStart.g = 1.00f; 
  	m_ParticleSystem->m_d3dcColorStart.b = 0.30f; 

  	m_ParticleSystem->m_d3dcColorVar.r = 0.00f; 
  	m_ParticleSystem->m_d3dcColorVar.g = 0.00f; 
  	m_ParticleSystem->m_d3dcColorVar.b = 0.00f; 

  	m_ParticleSystem->m_d3dcColorEnd.r = 0.00f; 
  	m_ParticleSystem->m_d3dcColorEnd.g = 1.00f; 
  	m_ParticleSystem->m_d3dcColorEnd.b = 0.00f; 

  	m_ParticleSystem->m_fAlphaStart = 0.96f; 
  	m_ParticleSystem->m_fAlphaVar   = 1.00f; 
  	m_ParticleSystem->m_fAlphaEnd   = 0.16f; 

  	m_ParticleSystem->m_fSizeStart  = 2.74f; 
  	m_ParticleSystem->m_fSizeVar    = 2.00f; 
  	m_ParticleSystem->m_fSizeEnd    = 6.09f; 

  	m_ParticleSystem->m_fSpeed      = 14.71f; 
  	m_ParticleSystem->m_fSpeedVar   = 50.00f; 

  	m_ParticleSystem->m_fTheta      = 74.12f; 

  	m_ParticleSystem->m_fLife  = 0.97f; 
  	m_ParticleSystem->m_fLifeVar	= 0.50f; 

  	m_ParticleSystem->m_fGravityStart  = -0.69f; 
  	m_ParticleSystem->m_fGravityVar    = 1.00f; 
  	m_ParticleSystem->m_fGravityEnd    = -0.49f; 

  	m_ParticleSystem->m_uParticlesPerSec = 441; 

  	m_ParticleSystem->m_bIsMoving     = 0; 
  	m_ParticleSystem->m_bIsAttractive = 0; 
  	m_ParticleSystem->m_bIsColliding  = 0; 
  	
  	m_ParticleSystem->m_uTextureID = 0; 
  	break;

  case 7:
  	// camera 
  	m_fCameraPitch  =  1.57f; 
  	m_fCameraYaw    =  0.0f; 
  	m_fCameraRadius =  159.0f; 

  	// system
  	m_ParticleSystem->m_d3dcColorStart.r = 0.00f; 
  	m_ParticleSystem->m_d3dcColorStart.g = 0.00f; 
  	m_ParticleSystem->m_d3dcColorStart.b = 0.00f; 

  	m_ParticleSystem->m_d3dcColorVar.r = 1.00f; 
  	m_ParticleSystem->m_d3dcColorVar.g = 1.00f; 
  	m_ParticleSystem->m_d3dcColorVar.b = 1.00f; 

  	m_ParticleSystem->m_d3dcColorEnd.r = 0.00f; 
  	m_ParticleSystem->m_d3dcColorEnd.g = 0.00f; 
  	m_ParticleSystem->m_d3dcColorEnd.b = 0.00f; 

  	m_ParticleSystem->m_fAlphaStart = 0.87f; 
  	m_ParticleSystem->m_fAlphaVar   = 1.00f; 
  	m_ParticleSystem->m_fAlphaEnd   = 0.89f; 

  	m_ParticleSystem->m_fSizeStart  = 0.59f; 
  	m_ParticleSystem->m_fSizeVar    = 0.00f; 
  	m_ParticleSystem->m_fSizeEnd    = 9.35f; 

  	m_ParticleSystem->m_fSpeed      = 188.73f; 
  	m_ParticleSystem->m_fSpeedVar   = 10.00f; 
  	m_ParticleSystem->m_fTheta      = 54.71f; 

  	m_ParticleSystem->m_fLife       = 0.78f; 
  	m_ParticleSystem->m_fLifeVar    = 0.00f; 

  	m_ParticleSystem->m_fGravityStart  = -0.20f; 
  	m_ParticleSystem->m_fGravityVar    = 0.00f; 
  	m_ParticleSystem->m_fGravityEnd    = -0.20f; 

  	m_ParticleSystem->m_uParticlesPerSec = 676; 

  	m_ParticleSystem->m_bIsMoving     = 0; 
  	m_ParticleSystem->m_bIsAttractive = 0; 
  	m_ParticleSystem->m_bIsColliding  = 0; 

  	m_ParticleSystem->m_uTextureID = 3; 
  	break;

  case 8:
  	// camera
  	m_fCameraPitch  =  1.57f; 
  	m_fCameraYaw   =  0.00f; 
  	m_fCameraRadius =  229.00f; 

  	// system
  	m_ParticleSystem->m_d3dcColorStart.r = 0.40f; 
  	m_ParticleSystem->m_d3dcColorStart.g = 0.40f; 
  	m_ParticleSystem->m_d3dcColorStart.b = 0.35f; 
  	
  	m_ParticleSystem->m_d3dcColorVar.r = 0.00f; 
  	m_ParticleSystem->m_d3dcColorVar.g = 0.00f; 
  	m_ParticleSystem->m_d3dcColorVar.b = 0.00f; 
  	
  	m_ParticleSystem->m_d3dcColorEnd.r = 0.75f; 
  	m_ParticleSystem->m_d3dcColorEnd.g = 1.00f; 
  	m_ParticleSystem->m_d3dcColorEnd.b = 1.00f; 
  	
  	m_ParticleSystem->m_fAlphaStart = 0.78f; 
  	m_ParticleSystem->m_fAlphaVar   = 0.00f; 
  	m_ParticleSystem->m_fAlphaEnd   = 0.31f; 
  	
  	m_ParticleSystem->m_fSizeStart  = 0.50f; 
  	m_ParticleSystem->m_fSizeVar    = 0.00f; 
  	m_ParticleSystem->m_fSizeEnd    = 5.53f; 
  	
  	m_ParticleSystem->m_fSpeed      = 30.00f; 
  	m_ParticleSystem->m_fSpeedVar   = 0.00f; 
  	
  	m_ParticleSystem->m_fTheta      = 90.00f; 
  	
  	m_ParticleSystem->m_fLife       = 3.21f; 
  	m_ParticleSystem->m_fLifeVar    = 0.50f; 
  	
  	m_ParticleSystem->m_fGravityStart  = -0.29f; 
  	m_ParticleSystem->m_fGravityVar    = 0.00f; 
  	m_ParticleSystem->m_fGravityEnd    = 0.10f; 
  	
  	m_ParticleSystem->m_uParticlesPerSec = 59; 
  	
  	m_ParticleSystem->m_bIsMoving     = 1; 
  	m_ParticleSystem->m_bIsAttractive = 0; 
  	m_ParticleSystem->m_bIsColliding  = 0; 
  	
  	m_ParticleSystem->m_uTextureID = 2; 
  	break;

  default:
  	// camera
  	m_fCameraPitch	=  0.0f;
  	m_fCameraYaw	=  0.0f;
  	m_fCameraRadius = 50.0f;

  	// system
  	m_ParticleSystem->m_d3dcColorStart.r	= 1.0f;
  	m_ParticleSystem->m_d3dcColorStart.g	= 0.8f;
  	m_ParticleSystem->m_d3dcColorStart.b	= 0.5f;
  	
  	m_ParticleSystem->m_d3dcColorVar.r	= 0.0f;
  	m_ParticleSystem->m_d3dcColorVar.g	= 0.0f;
  	m_ParticleSystem->m_d3dcColorVar.b	= 0.0f;

  	m_ParticleSystem->m_d3dcColorEnd.r	= 0.0f;
  	m_ParticleSystem->m_d3dcColorEnd.g	= 0.0f;
  	m_ParticleSystem->m_d3dcColorEnd.b	= 1.0f;

  	m_ParticleSystem->m_fAlphaStart  = 0.5f;
  	m_ParticleSystem->m_fAlphaVar  	= 0.0f;
  	m_ParticleSystem->m_fAlphaEnd  	= 0.0f;

  	m_ParticleSystem->m_fSizeStart  = 4.0f;
  	m_ParticleSystem->m_fSizeVar  	= 0.0f;
  	m_ParticleSystem->m_fSizeEnd  	= 8.0f;

  	m_ParticleSystem->m_fSpeed  	= 15.0f;
  	m_ParticleSystem->m_fSpeedVar  	= 0.0f;

  	m_ParticleSystem->m_fTheta  	= 180.0f;
  	
  	m_ParticleSystem->m_fLife  = 1.0f;
  	m_ParticleSystem->m_fLifeVar	= 0.5f;

  	m_ParticleSystem->m_fGravityStart  = 0.0f;
  	m_ParticleSystem->m_fGravityVar  = 0.0f;
  	m_ParticleSystem->m_fGravityEnd  = 0.0f;

  	m_ParticleSystem->m_uParticlesPerSec	= 80;

  	m_ParticleSystem->m_bIsMoving = FALSE;
  	m_ParticleSystem->m_bIsAttractive = FALSE;
  	m_ParticleSystem->m_bIsColliding = FALSE;

  	m_ParticleSystem->m_uTextureID = 0;
  	break;

  }

}

//-----------------------------------------------------------------------------
//
//	MyD3DApplication::MoveCamera
//
//	rotate using arrow keys
//	zoom in and out by using a/z
//      change preset using d
//
//-----------------------------------------------------------------------------
void MyD3DApplication::MoveCamera(void)
{
	if ( m_bKey[VK_LEFT] )
	{
  m_fCameraYaw += 0.03f;
	}

	if ( m_bKey[VK_RIGHT] )
	{
  m_fCameraYaw -= 0.03f;
	}

	if ( m_bKey[VK_DOWN] )
	{
  m_fCameraPitch -= 0.03f;
	}
	if ( m_bKey[VK_UP] )
	{
  m_fCameraPitch += 0.03f;
	}

	if ( m_bKey['A'] )
	{
  m_fCameraRadius -= 1.0f;
	}

	if ( m_bKey['Z'] )
	{
  m_fCameraRadius += 1.0f;
	}

        if( m_bKey['D'] )
        {
                m_iPreset++;
  m_iPreset %= MAX_PRESETS;
  LoadPreset(m_iPreset);          
         }
	
	// wrap yaw rotation at edges for continous movement
	if ( m_fCameraYaw < 0.0f )
	{
  m_fCameraYaw  = 6.28f;
	}
	else if ( m_fCameraYaw > 6.28f ) 
	{
  m_fCameraYaw = 0.0f;
	}

	Clamp( m_fCameraPitch, -1.57f, 1.57f );
	Clamp( m_fCameraRadius, 10.0f, 500.0f );

	// spherical coordinate rotation
	float fDeltaX = (float)(cos(m_fCameraYaw) * cos(m_fCameraPitch) * m_fCameraRadius);
	float fDeltaZ = (float)(sin(m_fCameraYaw) * cos(m_fCameraPitch) * m_fCameraRadius);
	float fDeltaY = (float)(sin(m_fCameraPitch) * m_fCameraRadius);

#if 0 // followcam !
	// follow particle system, user can still change distance and rotation
	D3DVECTOR vEyePt      = m_ParticleSystem->m_d3dvLocation + D3DVECTOR( fDeltaX, fDeltaY,fDeltaZ );
	D3DVECTOR vLookatPt   = m_ParticleSystem->m_d3dvLocation; //D3DVECTOR( 0.0f, 0.0f, 0.0f);
	D3DVECTOR vUpVec      = D3DVECTOR( 0.0f, 1.0f, 0.0f );
#else
	D3DVECTOR vEyePt      = D3DVECTOR( fDeltaX, fDeltaY,fDeltaZ );
	D3DVECTOR vLookatPt   = D3DVECTOR( 0.0f, 0.0f, 0.0f);
	D3DVECTOR vUpVec      = D3DVECTOR( 0.0f, 1.0f, 0.0f );
#endif

	// inform D3D where we are looking from
	D3DUtil_SetViewMatrix( m_matView, vEyePt, vLookatPt, vUpVec );
	m_pd3dDevice->SetTransform( D3DTRANSFORMSTATE_VIEW, &m_matView );

}
Done, I think.. Untested, let me know if it doesn't work :D
<!--QuoteBegin-crazymnig88+--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (crazymnig88)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->by notepad??? it didn't show any code, just show words wif no mean<!--QuoteEnd--></td></tr></table><div class='signature'><!--QuoteEEnd--><br><!--QuoteBegin-charlie+--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (charlie)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->he'll probably save it as 600pagebook.bmp<br><br>400gb file plzkthnx<!--QuoteEnd--></td></tr></table><div class='signature'><!--QuoteEEnd-->
Orkl
Loyal fan
Posts: 376
Joined: Sat Sep 17, 2005 2:31 pm

Post by Orkl »

P.S. Posting code on forum = loses its nice layout.. fucking thing.. Sorry bout the long post ^^'

Oh and if it dont work, and you complain, you get a huge "FUCK YOU" from me.. Just tell me whats wrong, I'll have a look. :D
<!--QuoteBegin-crazymnig88+--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (crazymnig88)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->by notepad??? it didn't show any code, just show words wif no mean<!--QuoteEnd--></td></tr></table><div class='signature'><!--QuoteEEnd--><br><!--QuoteBegin-charlie+--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (charlie)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->he'll probably save it as 600pagebook.bmp<br><br>400gb file plzkthnx<!--QuoteEnd--></td></tr></table><div class='signature'><!--QuoteEEnd-->
diuuude
Outpost bitch
Posts: 592
Joined: Wed Dec 28, 2005 11:57 pm

Post by diuuude »

Sounds like Helbreath is gonna have nice effects on ugly tiles... You're doing a good work Orkl.

When it'll be released, you will see alot of noob servers showing their brand new client... Of course it'll be their own work like the client sources that were released by Snoopy.
<a href='http://www.technohell.net' target='_blank'><b><span style='color:red'>>>> Helbreath Ressources Website Here <<<</span></b></a><br>C++ Sources, Tools, Server Files, Help on Forum, C++ Snippets, Toplist... Updated often, come visit us !
Charles
Loyal fan
Posts: 418
Joined: Wed Nov 26, 2003 8:20 pm

Post by Charles »

diuuude wrote: Sounds like Helbreath is gonna have nice effects on ugly tiles... You're doing a good work Orkl.

When it'll be released, you will see alot of noob servers showing their brand new client... Of course it'll be their own work like the client sources that were released by Snoopy.
i use the client source but kept every credit on it so far except the screenshot one i redid that function to shorten the client size a bit but i can put it on there too lol

p.s. how you doing these days now diuuude
<i>"Always write good code. Feel bad to write bad code."</i>
diuuude
Outpost bitch
Posts: 592
Joined: Wed Dec 28, 2005 11:57 pm

Post by diuuude »

Currently looking for a job, and i'll probably in for a trip in china for some business purpose. I think im not gonna stop importing Playstation3 in France (from japan) untill it's released here...

Not playing or coding anymore, cops did confiscate all my computers, external hard drives, DVDs... and now i can't use a comp when i want. That's sad !

P.S: you can do what you want with this client, i really don't care about it anymore.
<a href='http://www.technohell.net' target='_blank'><b><span style='color:red'>>>> Helbreath Ressources Website Here <<<</span></b></a><br>C++ Sources, Tools, Server Files, Help on Forum, C++ Snippets, Toplist... Updated often, come visit us !
Kenshi
Loyal fan
Posts: 208
Joined: Thu Nov 20, 2003 8:27 am

Post by Kenshi »

why'd you care before?
get rooted.
Charles
Loyal fan
Posts: 418
Joined: Wed Nov 26, 2003 8:20 pm

Post by Charles »

Kenshi wrote: why'd you care before?
because he helped to make it!!!!!
<i>"Always write good code. Feel bad to write bad code."</i>
Kenshi
Loyal fan
Posts: 208
Joined: Thu Nov 20, 2003 8:27 am

Post by Kenshi »

so? a lot of people helped make a lot of things in the long term it doesnt really matter as it was released to the public. Once you release it to the public you cannot control ownership its not even worth worrying about in the first place.

PS Charles, who the fuck asked you?
get rooted.
Charles
Loyal fan
Posts: 418
Joined: Wed Nov 26, 2003 8:20 pm

Post by Charles »

Kenshi wrote: so? a lot of people helped make a lot of things in the long term it doesnt really matter as it was released to the public. Once you release it to the public you cannot control ownership its not even worth worrying about in the first place.

PS Charles, who the fuck asked you?
i was answering in the way i bet diuuude would have also. i know when it goes public that anyone can put their name on it. and lol why you so pissed at my opinion anyhow?

p.s. all these useless posts need deleted because this isn't the place for it anyhow, and i know everyone's going to turn and blame me for it lol
<i>"Always write good code. Feel bad to write bad code."</i>
Kenshi
Loyal fan
Posts: 208
Joined: Thu Nov 20, 2003 8:27 am

Post by Kenshi »

I'm hungover, tired and in a real shitty mood that is making me politically correct and I am loving any hate topic that I find on here. It's making me happy inside to see the hate flow.
get rooted.
Orkl
Loyal fan
Posts: 376
Joined: Sat Sep 17, 2005 2:31 pm

Post by Orkl »

stop spamming my topic :(

Most people wont be able to compile it.. I mean, fuck they cant even add in 10 lines of code without getting 10 million errors, let alone implement an entire new feature to the graphics engine.
<!--QuoteBegin-crazymnig88+--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (crazymnig88)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->by notepad??? it didn't show any code, just show words wif no mean<!--QuoteEnd--></td></tr></table><div class='signature'><!--QuoteEEnd--><br><!--QuoteBegin-charlie+--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> (charlie)</td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->he'll probably save it as 600pagebook.bmp<br><br>400gb file plzkthnx<!--QuoteEnd--></td></tr></table><div class='signature'><!--QuoteEEnd-->
Sentinel
Loyal fan
Posts: 462
Joined: Thu Jan 11, 2007 4:16 pm

Post by Sentinel »

I compiled it with a few errors. But I've fixed those. They were simple ones, my fault. I'll check it out in a bit... =)
<!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->charlie says:<br>i may own outpost but im not a nerd<!--QuoteEnd--></td></tr></table><div class='signature'><!--QuoteEEnd--><br><!--QuoteBegin--></div><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td><b>QUOTE</b> </td></tr><tr><td id='QUOTE'><!--QuoteEBegin-->(locobans @ Mar 12 2007, 10:48 PM) <br>"Remember while peeing, If you shake it more than twice you playing with it..." <br><!--QuoteEnd--></td></tr></table><div class='signature'><!--QuoteEEnd-->
Post Reply