137 lines
3.7 KiB
C
137 lines
3.7 KiB
C
#pragma once
|
|
|
|
void TickScript()
|
|
{
|
|
/***********************************************************************************/
|
|
// Scriptcode
|
|
/* while( iCurTick >= g_ScriptState.iTargetTick )
|
|
{
|
|
if( QUIT == g_Script[ g_ScriptState.iScriptPointer ] )
|
|
{
|
|
#ifdef DISABLEAUTOQUIT
|
|
break;//g_ScriptParamFloat
|
|
#else
|
|
ExitProcess( 0 );
|
|
#endif
|
|
}
|
|
ScriptCmd cmd= (ScriptCmd)g_Script[ g_ScriptState.iScriptPointer++ ];
|
|
switch( cmd )
|
|
{
|
|
case CSPEED:
|
|
g_ScriptState.m_fCamSpeed=
|
|
g_ScriptParamFloat[ g_ScriptState.iScriptParam++ ];
|
|
break;
|
|
case OSPEED:
|
|
g_ScriptState.m_fObjectSpeed=
|
|
g_ScriptParamFloat[ g_ScriptState.iScriptParam++ ];
|
|
break;
|
|
case CTIME:
|
|
g_ScriptState.m_fCamTime=
|
|
g_ScriptParamFloat[ g_ScriptState.iScriptParam++ ];
|
|
break;
|
|
case OTIME:
|
|
g_ScriptState.m_fObjectTime=
|
|
g_ScriptParamFloat[ g_ScriptState.iScriptParam++ ];
|
|
break;
|
|
case CAM:
|
|
g_ScriptState.m_iCam=
|
|
g_Script[ g_ScriptState.iScriptPointer++ ];
|
|
break;
|
|
case OBJ:
|
|
g_ScriptState.m_iObject=
|
|
g_Script[ g_ScriptState.iScriptPointer++ ];
|
|
g_ScriptState.m_iObjectCount=
|
|
g_Script[ g_ScriptState.iScriptPointer++ ];
|
|
break;
|
|
case TICK:
|
|
g_ScriptState.iTargetTick+=
|
|
g_Script[ g_ScriptState.iScriptPointer++ ];
|
|
break;
|
|
}
|
|
}
|
|
|
|
float fTimeStep= (float)dwNewSamples * 4.0f / (float)g_iTempo;
|
|
g_ScriptState.m_fCamTime+= g_ScriptState.m_fCamSpeed * fTimeStep;
|
|
g_ScriptState.m_fObjectTime+= g_ScriptState.m_fObjectSpeed * fTimeStep;*/
|
|
|
|
int iCamera= g_ScriptState.m_iCam;
|
|
int iCurObj= g_ScriptState.m_iObject;
|
|
int iObjCount= g_ScriptState.m_iObjectCount;
|
|
|
|
#ifdef SINGLEEDITMODE
|
|
iCamera= g_iCurrentCamera;
|
|
iCurObj= g_iCurrentObject;
|
|
iObjCount= g_iCurrentObjectCount;
|
|
#endif
|
|
|
|
}
|
|
|
|
void RenderStuff()
|
|
{
|
|
#ifndef SINGLEEDITMODE
|
|
int iPercent= 46 + ( iCurTick / 4 ) * 2;
|
|
if( iPercent < 100 )
|
|
{
|
|
RenderLoadingLine( iPercent );
|
|
}
|
|
#endif
|
|
|
|
# ifdef SINGLEEDITMODE
|
|
iPortrait= g_iCurrentPortrait;
|
|
# endif
|
|
|
|
/*if( g_PortraitData[ iPortrait ].m_iTextureID >= 0 )
|
|
{
|
|
const int iScrollTicks= 22050;
|
|
int iTicksHere= g_dwSamples - g_ScriptState.m_iPorStartTick * g_iTempo / 32;
|
|
int iTicksNext= iPorEnd * g_iTempo / 32 - g_dwSamples;
|
|
|
|
float fPosOffset= 0.0f;
|
|
if( iTicksHere < iScrollTicks &&
|
|
iPortrait > 0 &&
|
|
g_PortraitData[ iPortrait ].m_iTextureID !=
|
|
g_PortraitData[ iPortrait - 1 ].m_iTextureID )
|
|
{
|
|
fPosOffset= (float)( iScrollTicks - iTicksHere ) / (float)iScrollTicks;
|
|
}
|
|
else if( iTicksNext < iScrollTicks &&
|
|
g_PortraitData[ iPortrait ].m_iTextureID !=
|
|
g_PortraitData[ iPortrait + 1 ].m_iTextureID )
|
|
{
|
|
fPosOffset= (float)( iScrollTicks - iTicksNext ) / (float)iScrollTicks;
|
|
}
|
|
fPosOffset= fPosOffset * fPosOffset * 512.0f;
|
|
if( g_PortraitData[ iPortrait ].m_iPosX < 0.0f )
|
|
{
|
|
fPosOffset= -fPosOffset;
|
|
}
|
|
|
|
RenderPic(
|
|
g_PortraitData[ iPortrait ].m_iTextureID,
|
|
(float)g_PortraitData[ iPortrait ].m_iPosX + fPosOffset,
|
|
(float)g_PortraitData[ iPortrait ].m_iPosY,
|
|
(float)g_PortraitData[ iPortrait ].m_iScale );
|
|
RenderText(
|
|
g_PortraitData[ iPortrait ].m_pcText,
|
|
iTicksHere * 8 / g_iTempo - 4,
|
|
(float)g_PortraitData[ iPortrait ].m_iTextPosX,
|
|
(float)g_PortraitData[ iPortrait ].m_iTextPosY );
|
|
}*/
|
|
}
|
|
|
|
float signpow( float a, float b )
|
|
{
|
|
float fSign= ( a < 0.0f ? -1.0f : 1.0f );
|
|
return fSign * (float)mypow( (float)fabs( (float)a ), b );
|
|
}
|
|
|
|
void viewStraight()
|
|
{
|
|
D3DXMatrixLookAtLH( &g_matView,
|
|
(D3DXVECTOR3*)&D3DXVECTOR3( 0.0f, 4.0f, 250.0f ),
|
|
(D3DXVECTOR3*)&D3DXVECTOR3( 0.0f, 0.0f, -100.0f ),
|
|
(D3DXVECTOR3*)&D3DXVECTOR3( 0.0f, 1.0f, 0.0f ) );
|
|
g_d3d_device->SetTransform( D3DTS_VIEW, &g_matView );
|
|
g_d3d_device->Clear( 0, NULL, D3DCLEAR_ZBUFFER ,0x000000ff, 1.0f, 0 );
|
|
|
|
} |