thug/Code/Sys/ngc/p_light.cpp

171 lines
3.3 KiB
C++
Raw Permalink Normal View History

2016-02-13 21:39:12 +00:00
//#include "p_light.h"
//#include "p_assert.h"
//
//unsigned int NsLight::m_SlotArray = 0;
//bool NsLight::m_LightingHasChanged = true;
//GXLightObj NsLight::m_LightObj[NSLIGHT_MAX_LIGHTS];
//GXColor NsLight::m_AmbientColor = (GXColor){ 0, 0, 0, 0 };
//
//static GXColor ColorOff = { 0, 0, 0, 0 };
//
//void NsLight::loadup( void )
//{
// if( m_LightingHasChanged )
// {
// // Go through and load up all lights to the hardware.
// for( int l = 0; l < NSLIGHT_MAX_LIGHTS; ++l )
// {
// if( m_SlotArray & ( 1 << l ))
// {
// GXLoadLightObjImm( &m_LightObj[l], (enum _GXLightID)( 1 << l ));
// }
// }
// }
// m_LightingHasChanged = false;
//}
//
//
//
//void NsLight::loadupAmbient( void )
//{
// GX::SetChanAmbColor( GX_COLOR0A0, m_AmbientColor );
//}
//
//
//
//NsLight::NsLight( NsLightType type )
//{
// assertp(( type == NSLIGHT_AMBIENT ) || ( type == NSLIGHT_DIRECTIONAL ));
//
// m_Type = type;
// m_pFrame = NULL;
// m_Color.r = 0;
// m_Color.g = 0;
// m_Color.b = 0;
// m_Color.a = 0;
// m_On = false;
//
// activate( true );
//}
//
//
//
//NsLight::~NsLight()
//{
// activate( false );
//}
//
//
//void NsLight::setFrame( NsFrame* p_frame )
//{
// m_pFrame = p_frame;
// m_LightingHasChanged = true;
//}
//
//
//
//void NsLight::setColor( GXColor color )
//{
// m_Color.r = (int)( color.r * 255.0f );
// m_Color.g = (int)( color.g * 255.0f );
// m_Color.b = (int)( color.b * 255.0f );
// m_Color.a = 0xFF;
//
// updateColor();
//}
//
//
//
//void NsLight::updateColor( void )
//{
// if( m_On )
// {
// if( m_Type == NSLIGHT_AMBIENT )
// {
// GX::SetChanAmbColor( GX_COLOR0A0, m_Color );
// m_AmbientColor = m_Color;
// }
// else
// {
// m_LightingHasChanged = true;
// GXInitLightColor( &m_LightObj[m_Slot], m_Color );
// }
// }
//}
//
//
//
//void NsLight::updateOrientation( void )
//{
// // Prepares large number (2 pow 20) (taken from Nintendo demo code).
// #define LARGE_NUMBER 1048576
//
// if( m_pFrame && m_On && ( m_Type == NSLIGHT_DIRECTIONAL ))
// {
// m_LightingHasChanged = true;
// float x_pos = -m_pFrame->getModelMatrix()->getAtX() * LARGE_NUMBER;
// float y_pos = -m_pFrame->getModelMatrix()->getAtY() * LARGE_NUMBER;
// float z_pos = -m_pFrame->getModelMatrix()->getAtZ() * LARGE_NUMBER;
// GXInitLightPos( &m_LightObj[m_Slot], x_pos, y_pos, z_pos );
// }
//}
//
//
//
//void NsLight::activate( bool on )
//{
// if( on != m_On )
// {
// m_On = on;
//
// if( m_Type == NSLIGHT_AMBIENT )
// {
// if( m_On )
// {
// GX::SetChanAmbColor( GX_COLOR0A0, m_Color );
// m_AmbientColor = m_Color;
// }
// else
// {
// GX::SetChanAmbColor( GX_COLOR0A0, ColorOff );
// m_AmbientColor = ColorOff;
// }
// }
// else
// {
// m_LightingHasChanged = true;
//
// if( m_On )
// {
// // Find a free slot.
// for( int s = 0; s < NSLIGHT_MAX_LIGHTS; ++s )
// {
// if(( m_SlotArray & ( 1 << s )) == 0 )
// {
// m_Slot = s;
// m_SlotArray |= ( 1 << s );
//
// // In case orientation was changed whilst the light was off.
// updateOrientation();
// updateColor();
// break;
// }
// }
// }
// else
// {
// // Turn the light off.
// m_SlotArray &= ~( 1 << m_Slot );
// }
// }
// }
//}