Add rayman2 source files
This commit is contained in:
2209
Rayman_X/cpa/tempgrp/SCT/P5/Sectload.c
Normal file
2209
Rayman_X/cpa/tempgrp/SCT/P5/Sectload.c
Normal file
File diff suppressed because it is too large
Load Diff
372
Rayman_X/cpa/tempgrp/SCT/P5/sectLoadCB.c
Normal file
372
Rayman_X/cpa/tempgrp/SCT/P5/sectLoadCB.c
Normal file
@@ -0,0 +1,372 @@
|
||||
/* (c) Ubi Studios 1998*/
|
||||
|
||||
/*For game material*/
|
||||
#include "GMT/GmtHandl.h"
|
||||
|
||||
#include "ACP_base.h"
|
||||
/*memory management of geometry.*/
|
||||
#include "GEO.h"
|
||||
#include "GLI.h"
|
||||
#include "SCR.h"
|
||||
|
||||
/*Include For "Sector.h"*/
|
||||
#include "MTH.h"
|
||||
#include "COL.h"
|
||||
#include "SPO.h"
|
||||
#include "LST.h"
|
||||
|
||||
#include "VIG.h"
|
||||
|
||||
/*For the sound*/
|
||||
#include "SND.h"
|
||||
|
||||
#include "SCT.h"
|
||||
|
||||
/*PATH NAME*/
|
||||
#include "DPT.h"
|
||||
|
||||
#include "SNA.h"
|
||||
|
||||
#include "ldt.h"
|
||||
|
||||
extern SCR_tdst_Link_Table SECT_stLinkTable;
|
||||
|
||||
#define lTagMinPointOfBorder 'PniM'
|
||||
#define lTagMaxPointOfBorder 'PxaM'
|
||||
#define lTagZmaxOfBorder 'xamZ'
|
||||
|
||||
#define lTagAddLst 'LddA'
|
||||
#define lTagAddLstActivity 'itcA'
|
||||
#define lTagAddLstGraphic 'parG'
|
||||
#define lTagAddLstCollision 'lloC'
|
||||
#define lTagAddLstSound 'nuoS'
|
||||
#define lTagVirtual 'triV'
|
||||
#define lTagCameraType 'emaC'
|
||||
#define lTagZFar 'raFZ'
|
||||
|
||||
|
||||
/*****************************************************************
|
||||
Function name : fn_iCreateSector
|
||||
Description :
|
||||
Author : Ovidiu Scripa (oscripa@ubisoft.ro) - ROMTEAM
|
||||
Creation Date : 14-Oct-98
|
||||
Modified :
|
||||
Return type : int
|
||||
Argument : LDT_tdst_Link *pLink
|
||||
*****************************************************************/
|
||||
int fn_iCreateSector( LDT_tdst_Link *pLink )
|
||||
{
|
||||
/* new Sector for that section*/
|
||||
pLink->pObject = (void*)SECT_fn_hCreateSector();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*****************************************************************
|
||||
Function name : fn_iLoadSector
|
||||
Description :
|
||||
Author : Ovidiu Scripa (oscripa@ubisoft.ro) - ROMTEAM
|
||||
Creation Date : 14-Oct-98
|
||||
Modified :
|
||||
Return type : int
|
||||
Argument : LDT_tdst_Link *pLink
|
||||
*****************************************************************/
|
||||
int fn_iLoadSector( LDT_tdst_Link *pLink )
|
||||
{
|
||||
LDT_tdeParseResult result=ParseResult_BeginSection;
|
||||
char a255_cLinkKey[255];
|
||||
SECT_tdxHandleOfSectorObject hNewSector = (SECT_tdxHandleOfSectorObject)pLink->pObject;
|
||||
int nLen;
|
||||
|
||||
VIG_fn_vAddToProgressBar(1);
|
||||
nLen = LDT_ComputeSectionName( pLink, a255_cLinkKey );
|
||||
#ifdef _DEBUG
|
||||
strcpy(hNewSector->szSectorName, a255_cLinkKey);
|
||||
#endif /* _DEBUG */
|
||||
|
||||
SCR_M_v_Link_SetAdditionalLong(
|
||||
SCR_fnp_st_Link_SetValue(&SECT_stLinkTable, a255_cLinkKey, (unsigned long)hNewSector),
|
||||
1, nLen) ;
|
||||
|
||||
do{
|
||||
result=LDT_GetNextEntry();
|
||||
if( result== ParseResult_BeginSection )
|
||||
LDT_LoadSection( NULL );
|
||||
}while ( result!=ParseResult_EndSection );
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*****************************************************************
|
||||
Function name : fn_iLoadSectorBorder
|
||||
Description :
|
||||
Author : Ovidiu Scripa (oscripa@ubisoft.ro) - ROMTEAM
|
||||
Creation Date : 14-Oct-98
|
||||
Modified :
|
||||
Return type : int
|
||||
Argument : LDT_tdst_Link *pLink
|
||||
*****************************************************************/
|
||||
int fn_iLoadSectorBorder( LDT_tdst_Link *pLink )
|
||||
{
|
||||
LDT_tdeParseResult result=ParseResult_BeginSection;
|
||||
SECT_tdxHandleOfSectorObject hSector = (SECT_tdxHandleOfSectorObject)pLink->pParent->pObject;
|
||||
MTH3D_tdstVector stMaxPoint, stMinPoint;
|
||||
|
||||
|
||||
while( result!=ParseResult_EndSection )
|
||||
{
|
||||
result=LDT_GetNextEntry();
|
||||
switch( result )
|
||||
{
|
||||
case ParseResult_Entry: /* an entry */
|
||||
{
|
||||
char *szEntry=LDT_szGetEntryName();
|
||||
switch (*(long*)szEntry)
|
||||
{
|
||||
|
||||
case lTagMinPointOfBorder : /* */
|
||||
{
|
||||
MTH3D_M_vSetVectorElements(&stMinPoint,
|
||||
GLI_M_FloatToValue(atof(LDT_szGetParam(1))),
|
||||
GLI_M_FloatToValue(atof(LDT_szGetParam(2))),
|
||||
GLI_M_FloatToValue(atof(LDT_szGetParam(3))));
|
||||
SECT_fn_vSetMinPointInBorder(hSector, &stMinPoint);
|
||||
|
||||
}
|
||||
break;
|
||||
case lTagMaxPointOfBorder : /* */
|
||||
{
|
||||
MTH3D_M_vSetVectorElements(&stMaxPoint,
|
||||
GLI_M_FloatToValue(atof(LDT_szGetParam(1))),
|
||||
GLI_M_FloatToValue(atof(LDT_szGetParam(2))),
|
||||
GLI_M_FloatToValue(atof(LDT_szGetParam(3))));
|
||||
SECT_fn_vSetMaxPointInBorder(hSector, &stMaxPoint);
|
||||
}
|
||||
break;
|
||||
case lTagZmaxOfBorder : /* */
|
||||
{
|
||||
stMaxPoint.xX = stMaxPoint.xY = MTH_C_InfinitMinus;
|
||||
stMaxPoint.xZ = GLI_M_FloatToValue(atof(LDT_szGetParam(1)));
|
||||
SECT_fn_vSetMaxPointInBorder(hSector, &stMaxPoint);
|
||||
|
||||
#ifdef ACTIVE_EDITOR
|
||||
SECT_fn_vSetZmaxOfBorder(hSector, GLI_M_FloatToValue(atof(LDT_szGetParam(1))));
|
||||
#endif /*ACTIVE_EDITOR*/
|
||||
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*****************************************************************
|
||||
Function name : fn_iLoadSectorsLink
|
||||
Description :
|
||||
Author : Ovidiu Scripa (oscripa@ubisoft.ro) - ROMTEAM
|
||||
Creation Date : 14-Oct-98
|
||||
Modified :
|
||||
Return type : int
|
||||
Argument : LDT_tdst_Link *pLink
|
||||
*****************************************************************/
|
||||
int fn_iLoadSectorsLink( LDT_tdst_Link *pLink )
|
||||
{
|
||||
LDT_tdeParseResult result=ParseResult_BeginSection;
|
||||
SECT_tdxHandleOfSectorObject hSector = (SECT_tdxHandleOfSectorObject)pLink->pParent->pObject;
|
||||
SECT_tdxHandleOfElementLstGraphicInteraction hGElement;
|
||||
SECT_tdxHandleOfElementLstCollisionInteraction hColElement;
|
||||
SECT_tdxHandleOfElementLstActivityInteraction hActElement;
|
||||
SECT_tdxHandleOfElementLstSoundInteraction hSoundElement;
|
||||
SCT_tdxHandleOfLstSoundEvent hSoundEventElement;
|
||||
|
||||
while( result!=ParseResult_EndSection )
|
||||
{
|
||||
result=LDT_GetNextEntry();
|
||||
switch( result )
|
||||
{
|
||||
case ParseResult_Entry: /* an entry */
|
||||
{
|
||||
char *szEntry=LDT_szGetEntryName();
|
||||
switch (*(long*)szEntry)
|
||||
{
|
||||
|
||||
case lTagAddLst : /* */
|
||||
{
|
||||
switch (*(long*)(szEntry+6))
|
||||
{
|
||||
|
||||
case lTagAddLstActivity : /* */
|
||||
{
|
||||
HIE_tdxHandleToSuperObject hSPO = (HIE_tdxHandleToSuperObject)LDT_LoadSection(LDT_szGetParam(1));
|
||||
if (hSPO)
|
||||
{
|
||||
hActElement=SECT_fn_hCreateElementLstActivityInteraction();
|
||||
SECT_fn_vSetSectorPointedElementLSTActivityInt(hActElement, hSPO);
|
||||
LST2_M_StaticAddTail(&(hSector->stListOfSectorsInActivityInteraction),hActElement);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
break;
|
||||
case lTagAddLstGraphic : /* */
|
||||
{
|
||||
HIE_tdxHandleToSuperObject hSPO = (HIE_tdxHandleToSuperObject)LDT_LoadSection(LDT_szGetParam(1));
|
||||
if (hSPO)
|
||||
{
|
||||
hGElement=SECT_fn_hCreateElementLstGraphicInteraction();
|
||||
SECT_fn_vSetSectorPointedElementLSTGraphicInt(hGElement, hSPO);
|
||||
SECT_fn_vSetLevelElementLSTGraphicInt(hGElement, (short)atoi(LDT_szGetParam(2)));
|
||||
LST2_M_StaticAddTail(&(hSector->stListOfSectorsInGraphicInteraction),hGElement);
|
||||
}
|
||||
|
||||
}
|
||||
break;
|
||||
case lTagAddLstCollision : /* */
|
||||
{
|
||||
HIE_tdxHandleToSuperObject hSPO = (HIE_tdxHandleToSuperObject)LDT_LoadSection(LDT_szGetParam(1));
|
||||
if (hSPO)
|
||||
{
|
||||
hColElement=SECT_fn_hCreateElementLstCollisionInteraction();
|
||||
SECT_fn_vSetSectorPointedElementLSTCollisionInt(hColElement, hSPO);
|
||||
LST2_M_StaticAddTail(&(hSector->stListOfSectorsInCollisionInteraction),hColElement);
|
||||
}
|
||||
|
||||
}
|
||||
break;
|
||||
case lTagAddLstSound : /* */
|
||||
{
|
||||
if (strlen(szEntry)>12) /*AddLstSoundEvent*/
|
||||
{
|
||||
if( strcmp(LDT_szGetParam(1),"FromAllSectors")==0 )
|
||||
{
|
||||
SND_tdxHandleToSoundEvent handle;
|
||||
hSoundEventElement = SCT_fn_hCreateElementLstSoundEvent();
|
||||
SCT_fn_vSetSectorPointedElementLSTSoundEvent(hSoundEventElement,NULL);
|
||||
handle = (SND_tdxHandleToSoundEvent) LDT_LoadSection(LDT_szGetParam(2));
|
||||
if(handle)
|
||||
{
|
||||
if (SNA_fn_ucGetLoadType()==SNA_SAVE_SNAPSHOT) /* MR0110*/
|
||||
SNA_fn_vWriteSoundEntryInSoundTableFile(SND_fn_ulGetEventBinIdFromPointer(handle) ,(unsigned long)&(hSoundEventElement->uSoundEvent.pstPtr));
|
||||
SCT_fn_vSetEventListElementLSTSoundEvent(hSoundEventElement, handle);
|
||||
}
|
||||
LST2_M_StaticAddTail(&(hSector->stListOfSoundEvent),hSoundEventElement);
|
||||
}
|
||||
else
|
||||
{
|
||||
HIE_tdxHandleToSuperObject hSPO = (HIE_tdxHandleToSuperObject)LDT_LoadSection(LDT_szGetParam(1));
|
||||
if (hSPO)
|
||||
{
|
||||
SND_tdxHandleToSoundEvent handle;
|
||||
hSoundEventElement=SCT_fn_hCreateElementLstSoundEvent();
|
||||
SCT_fn_vSetSectorPointedElementLSTSoundEvent(hSoundEventElement, hSPO);
|
||||
handle = (SND_tdxHandleToSoundEvent) LDT_LoadSection(LDT_szGetParam(2));
|
||||
if(handle)
|
||||
{
|
||||
if (SNA_fn_ucGetLoadType()==SNA_SAVE_SNAPSHOT) /* MR0110*/
|
||||
SNA_fn_vWriteSoundEntryInSoundTableFile(SND_fn_ulGetEventBinIdFromPointer(handle) ,(unsigned long)&(hSoundEventElement->uSoundEvent.pstPtr));
|
||||
SCT_fn_vSetEventListElementLSTSoundEvent(hSoundEventElement, handle);
|
||||
}
|
||||
LST2_M_StaticAddTail(&(hSector->stListOfSoundEvent),hSoundEventElement);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else /*AddLstSound*/
|
||||
{
|
||||
HIE_tdxHandleToSuperObject hSPO = (HIE_tdxHandleToSuperObject)LDT_LoadSection(LDT_szGetParam(1));
|
||||
if (hSPO)
|
||||
{
|
||||
hSoundElement=SECT_fn_hCreateElementLstSoundInteraction();
|
||||
SECT_fn_vSetSectorPointedElementLSTSoundInt(hSoundElement, hSPO);
|
||||
SCT_fn_vSetVolumeLSTSoundInt(hSoundElement,atol(LDT_szGetParam(2)));
|
||||
LST2_M_StaticAddTail(&(hSector->stListOfSectorsInSoundInteraction),hSoundElement);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case lTagVirtual : /* */
|
||||
{
|
||||
SECT_fn_vSetOnVirtualSector(hSector);
|
||||
}
|
||||
break;
|
||||
case lTagCameraType : /* */
|
||||
{
|
||||
hSector->cCameraType = atoi(LDT_szGetParam(1));
|
||||
}
|
||||
break;
|
||||
case lTagZFar : /* */
|
||||
{
|
||||
hSector->xZFar = (MTH_tdxReal) atof(LDT_szGetParam(1));
|
||||
}
|
||||
break;
|
||||
case 'oirP' : /* Priority */
|
||||
{
|
||||
SECT_fn_vSetSectorPriority(hSector, (char)atoi(LDT_szGetParam(1)));
|
||||
}
|
||||
break;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/*****************************************************************
|
||||
Function name : fn_iLoadStaticLightsSector
|
||||
Description :
|
||||
Author : Ovidiu Scripa (oscripa@ubisoft.ro) - ROMTEAM
|
||||
Creation Date : 14-Oct-98
|
||||
Modified :
|
||||
Return type : int
|
||||
Argument : LDT_tdst_Link *pLink
|
||||
*****************************************************************/
|
||||
int fn_iLoadStaticLightsSector( LDT_tdst_Link *pLink )
|
||||
{
|
||||
LDT_tdeParseResult result=ParseResult_BeginSection;
|
||||
SECT_tdxHandleOfSectorObject hSector = (SECT_tdxHandleOfSectorObject)pLink->pParent->pObject;
|
||||
SECT_tdxHandleOfElementLstStaticLights hStaticLightsElement;
|
||||
|
||||
while( result!=ParseResult_EndSection )
|
||||
{
|
||||
result=LDT_GetNextEntry();
|
||||
switch( result )
|
||||
{
|
||||
case ParseResult_Entry: /* an entry */
|
||||
{
|
||||
GLI_tdxHandleToLight hLight= (GLI_tdxHandleToLight)LDT_LoadSection(LDT_szGetParam(1));
|
||||
|
||||
if(hLight)
|
||||
{
|
||||
hStaticLightsElement=SECT_fn_hCreateElementLstStaticLights();
|
||||
SECT_fn_vSetHandleOfLightsInStaticLightsList(hStaticLightsElement,hLight);
|
||||
LST2_M_StaticAddTail(&(hSector->stListOfStaticLights),hStaticLightsElement);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
167
Rayman_X/cpa/tempgrp/SCT/SCT.dsp
Normal file
167
Rayman_X/cpa/tempgrp/SCT/SCT.dsp
Normal file
@@ -0,0 +1,167 @@
|
||||
# Microsoft Developer Studio Project File - Name="SCT" - Package Owner=<4>
|
||||
# Microsoft Developer Studio Generated Build File, Format Version 5.00
|
||||
# ** DO NOT EDIT **
|
||||
|
||||
# TARGTYPE "Win32 (x86) Static Library" 0x0104
|
||||
|
||||
CFG=SCT - Win32 Debug with Editors
|
||||
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||
!MESSAGE use the Export Makefile command and run
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "SCT.mak".
|
||||
!MESSAGE
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f "SCT.mak" CFG="SCT - Win32 Debug with Editors"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "SCT - Win32 Release" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE "SCT - Win32 Debug" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE "SCT - Win32 Debug with Editors" (based on\
|
||||
"Win32 (x86) Static Library")
|
||||
!MESSAGE "SCT - Win32 Retail" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE
|
||||
|
||||
# Begin Project
|
||||
# PROP Scc_ProjName ""$/cpa/tempgrp/SCT", HCEAAAAA"
|
||||
# PROP Scc_LocalPath "."
|
||||
CPP=cl.exe
|
||||
|
||||
!IF "$(CFG)" == "SCT - Win32 Release"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "Release"
|
||||
# PROP BASE Intermediate_Dir "Release"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "x:\cpa\lib"
|
||||
# PROP Intermediate_Dir "Tmp\Release"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /YX /FD /c
|
||||
# ADD CPP /nologo /G5 /W3 /GX /O2 /I "X:\CPA\Public\\" /D "NDEBUG" /D "USE_PROFILER" /D "VISUAL" /D "WIN32" /FD /c
|
||||
# SUBTRACT CPP /Fr /YX
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo /out:"X:\CPA\Lib\SCTP5_vr.lib"
|
||||
|
||||
!ELSEIF "$(CFG)" == "SCT - Win32 Debug"
|
||||
|
||||
# PROP BASE Use_MFC 0
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "Debug"
|
||||
# PROP BASE Intermediate_Dir "Debug"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "X:\CPA\Lib"
|
||||
# PROP Intermediate_Dir "Tmp\Debug"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /W3 /GX /Z7 /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
|
||||
# ADD CPP /nologo /G5 /W3 /GX /Z7 /Od /I "X:\CPA\Public\\" /D "_DEBUG" /D "USE_PROFILER" /D "MTH_CHECK" /D "VISUAL" /D "WIN32" /FD /c
|
||||
# SUBTRACT CPP /Fr /YX
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo
|
||||
# ADD LIB32 /nologo /out:"X:\CPA\Lib\SCTP5_vd.lib"
|
||||
|
||||
!ELSEIF "$(CFG)" == "SCT - Win32 Debug with Editors"
|
||||
|
||||
# PROP BASE Use_MFC 1
|
||||
# PROP BASE Use_Debug_Libraries 1
|
||||
# PROP BASE Output_Dir "SCT___Wi"
|
||||
# PROP BASE Intermediate_Dir "SCT___Wi"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 1
|
||||
# PROP Output_Dir "X:\CPA\Lib"
|
||||
# PROP Intermediate_Dir "Tmp\DebugWithEditors"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /G5 /MD /W3 /GX /Z7 /Od /I "X:\CPA\Public\\" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "VISUAL" /D "CPA_WANTS_EXPORT" /D "RAYII" /D "RAY2EGYPTE" /FD /c
|
||||
# SUBTRACT BASE CPP /Fr /YX
|
||||
# ADD CPP /nologo /G5 /W3 /GX /Z7 /Od /I "X:\CPA\Public\\" /D "_DEBUG" /D "USE_PROFILER" /D "MTH_CHECK" /D "ACTIVE_EDITOR" /D "CPA_WANTS_EXPORT" /D "VISUAL" /D "WIN32" /FD /c
|
||||
# SUBTRACT CPP /Fr /YX
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo /out:"X:\CPA\Lib\SCTP5_vd.lib"
|
||||
# ADD LIB32 /nologo /out:"X:\CPA\Lib\SCTP5Evd.lib"
|
||||
|
||||
!ELSEIF "$(CFG)" == "SCT - Win32 Retail"
|
||||
|
||||
# PROP BASE Use_MFC 1
|
||||
# PROP BASE Use_Debug_Libraries 0
|
||||
# PROP BASE Output_Dir "SCT___Wi"
|
||||
# PROP BASE Intermediate_Dir "SCT___Wi"
|
||||
# PROP BASE Target_Dir ""
|
||||
# PROP Use_MFC 0
|
||||
# PROP Use_Debug_Libraries 0
|
||||
# PROP Output_Dir "x:/cpa/lib"
|
||||
# PROP Intermediate_Dir "tmp/retail"
|
||||
# PROP Target_Dir ""
|
||||
# ADD BASE CPP /nologo /G5 /MD /W3 /GX /O2 /I "X:\CPA\Public\\" /D "NDEBUG" /D "_WIN32" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "VISUAL" /D "CPA_WANTS_EXPORT" /FD /c
|
||||
# SUBTRACT BASE CPP /Fr /YX
|
||||
# ADD CPP /nologo /G5 /W3 /GX /O2 /I "X:\CPA\Public\\" /D "NDEBUG" /D "RETAIL" /D "VISUAL" /D "WIN32" /FD /c
|
||||
# SUBTRACT CPP /Fr /YX
|
||||
BSC32=bscmake.exe
|
||||
# ADD BASE BSC32 /nologo
|
||||
# ADD BSC32 /nologo
|
||||
LIB32=link.exe -lib
|
||||
# ADD BASE LIB32 /nologo /out:"X:\CPA\Lib\SCTP5_vr.lib"
|
||||
# ADD LIB32 /nologo /out:"X:\CPA\Lib\SCTP5_vf.lib"
|
||||
|
||||
!ENDIF
|
||||
|
||||
# Begin Target
|
||||
|
||||
# Name "SCT - Win32 Release"
|
||||
# Name "SCT - Win32 Debug"
|
||||
# Name "SCT - Win32 Debug with Editors"
|
||||
# Name "SCT - Win32 Retail"
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\public\SCT.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\SCT.mak
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Sectdraw.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\Public\SCT\SectExt.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\Public\SCT\SectHand.h
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\P5\Sectload.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Sectmir.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=.\Sector.c
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\public\SCT\Sector.h
|
||||
# End Source File
|
||||
# End Target
|
||||
# End Project
|
374
Rayman_X/cpa/tempgrp/SCT/SCT.vcproj
Normal file
374
Rayman_X/cpa/tempgrp/SCT/SCT.vcproj
Normal file
@@ -0,0 +1,374 @@
|
||||
<?xml version="1.0" encoding="Windows-1252"?>
|
||||
<VisualStudioProject
|
||||
ProjectType="Visual C++"
|
||||
Version="7.10"
|
||||
Name="SCT"
|
||||
ProjectGUID="{479F6B42-140E-4F15-A406-3B9AE2961685}"
|
||||
SccProjectName=""$/cpa/tempgrp/SCT", HCEAAAAA"
|
||||
SccAuxPath=""
|
||||
SccLocalPath="."
|
||||
SccProvider="MSSCCI:NXN alienbrain">
|
||||
<Platforms>
|
||||
<Platform
|
||||
Name="Win32"/>
|
||||
</Platforms>
|
||||
<Configurations>
|
||||
<Configuration
|
||||
Name="Debug|Win32"
|
||||
OutputDirectory="X:\CPA\Libd"
|
||||
IntermediateDirectory=".\Tmp\Debug"
|
||||
ConfigurationType="4"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
OptimizeForProcessor="1"
|
||||
AdditionalIncludeDirectories="X:\CPA\Public\"
|
||||
PreprocessorDefinitions="_DEBUG;USE_PROFILER;MTH_CHECK;VISUAL;WIN32"
|
||||
RuntimeLibrary="5"
|
||||
PrecompiledHeaderFile=".\Tmp\Debug/SCT.pch"
|
||||
AssemblerListingLocation=".\Tmp\Debug/"
|
||||
ObjectFile=".\Tmp\Debug/"
|
||||
ProgramDataBaseFileName=".\Tmp\Debug/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="1"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="X:\CPA\Libd\SCTP5_vd.lib"
|
||||
SuppressStartupBanner="TRUE"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Release|Win32"
|
||||
OutputDirectory="x:\cpa\lib"
|
||||
IntermediateDirectory=".\Tmp\Release"
|
||||
ConfigurationType="4"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
OptimizeForProcessor="1"
|
||||
AdditionalIncludeDirectories="X:\CPA\Public\"
|
||||
PreprocessorDefinitions="NDEBUG;USE_PROFILER;VISUAL;WIN32"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="4"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
PrecompiledHeaderFile=".\Tmp\Release/SCT.pch"
|
||||
AssemblerListingLocation=".\Tmp\Release/"
|
||||
ObjectFile=".\Tmp\Release/"
|
||||
ProgramDataBaseFileName=".\Tmp\Release/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="X:\CPA\Lib\SCTP5_vr.lib"
|
||||
SuppressStartupBanner="TRUE"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Retail|Win32"
|
||||
OutputDirectory="x:/cpa/lib"
|
||||
IntermediateDirectory=".\tmp/retail"
|
||||
ConfigurationType="4"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
InlineFunctionExpansion="1"
|
||||
OptimizeForProcessor="1"
|
||||
AdditionalIncludeDirectories="X:\CPA\Public\"
|
||||
PreprocessorDefinitions="NDEBUG;RETAIL;VISUAL;WIN32"
|
||||
StringPooling="TRUE"
|
||||
RuntimeLibrary="4"
|
||||
EnableFunctionLevelLinking="TRUE"
|
||||
PrecompiledHeaderFile=".\tmp/retail/SCT.pch"
|
||||
AssemblerListingLocation=".\tmp/retail/"
|
||||
ObjectFile=".\tmp/retail/"
|
||||
ProgramDataBaseFileName=".\tmp/retail/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="X:\CPA\Lib\SCTP5_vf.lib"
|
||||
SuppressStartupBanner="TRUE"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
<Configuration
|
||||
Name="Debug with Editors|Win32"
|
||||
OutputDirectory="X:\CPA\Libd"
|
||||
IntermediateDirectory=".\Tmp\DebugWithEditors"
|
||||
ConfigurationType="4"
|
||||
UseOfMFC="0"
|
||||
ATLMinimizesCRunTimeLibraryUsage="FALSE">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
OptimizeForProcessor="1"
|
||||
AdditionalIncludeDirectories="X:\CPA\Public\"
|
||||
PreprocessorDefinitions="_DEBUG;USE_PROFILER;MTH_CHECK;ACTIVE_EDITOR;CPA_WANTS_EXPORT;VISUAL;WIN32"
|
||||
RuntimeLibrary="3"
|
||||
PrecompiledHeaderFile=".\Tmp\DebugWithEditors/SCT.pch"
|
||||
AssemblerListingLocation=".\Tmp\DebugWithEditors/"
|
||||
ObjectFile=".\Tmp\DebugWithEditors/"
|
||||
ProgramDataBaseFileName=".\Tmp\DebugWithEditors/"
|
||||
WarningLevel="3"
|
||||
SuppressStartupBanner="TRUE"
|
||||
DebugInformationFormat="1"
|
||||
CompileAs="0"/>
|
||||
<Tool
|
||||
Name="VCCustomBuildTool"/>
|
||||
<Tool
|
||||
Name="VCLibrarianTool"
|
||||
OutputFile="X:\CPA\Libd\SCTP5Evd.lib"
|
||||
SuppressStartupBanner="TRUE"/>
|
||||
<Tool
|
||||
Name="VCMIDLTool"/>
|
||||
<Tool
|
||||
Name="VCPostBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreBuildEventTool"/>
|
||||
<Tool
|
||||
Name="VCPreLinkEventTool"/>
|
||||
<Tool
|
||||
Name="VCResourceCompilerTool"
|
||||
Culture="1033"/>
|
||||
<Tool
|
||||
Name="VCWebServiceProxyGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCXMLDataGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCManagedWrapperGeneratorTool"/>
|
||||
<Tool
|
||||
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
|
||||
</Configuration>
|
||||
</Configurations>
|
||||
<References>
|
||||
</References>
|
||||
<Files>
|
||||
<File
|
||||
RelativePath="..\..\public\SCT.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="SCT.mak">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="Sectdraw.c">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Retail|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug with Editors|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\Public\SCT\SectExt.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\Public\SCT\SectHand.h">
|
||||
</File>
|
||||
<File
|
||||
RelativePath="P5\Sectload.c">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Retail|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug with Editors|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="Sectmir.c">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Retail|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug with Editors|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="Sector.c">
|
||||
<FileConfiguration
|
||||
Name="Debug|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Release|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Retail|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="2"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""/>
|
||||
</FileConfiguration>
|
||||
<FileConfiguration
|
||||
Name="Debug with Editors|Win32">
|
||||
<Tool
|
||||
Name="VCCLCompilerTool"
|
||||
Optimization="0"
|
||||
AdditionalIncludeDirectories=""
|
||||
PreprocessorDefinitions=""/>
|
||||
</FileConfiguration>
|
||||
</File>
|
||||
<File
|
||||
RelativePath="..\..\public\SCT\Sector.h">
|
||||
</File>
|
||||
</Files>
|
||||
<Globals>
|
||||
</Globals>
|
||||
</VisualStudioProject>
|
1109
Rayman_X/cpa/tempgrp/SCT/Sectdraw.c
Normal file
1109
Rayman_X/cpa/tempgrp/SCT/Sectdraw.c
Normal file
File diff suppressed because it is too large
Load Diff
512
Rayman_X/cpa/tempgrp/SCT/Sectmir.c
Normal file
512
Rayman_X/cpa/tempgrp/SCT/Sectmir.c
Normal file
@@ -0,0 +1,512 @@
|
||||
/*For game material*/
|
||||
#include "GMT/GmtHandl.h"
|
||||
|
||||
/*Include For "Sector.h"*/
|
||||
#include "ACP_Base.h"
|
||||
#include "MTH.h"
|
||||
#include "GEO.h"
|
||||
#include "GLI.h"
|
||||
#include "PCS.h"
|
||||
#include "PO.h"
|
||||
/*XB980821*/
|
||||
#ifndef D_THROW_IPO
|
||||
#include "IPO.h"
|
||||
#include "ISI.h"
|
||||
#endif /* D_THROW_IPO */
|
||||
/*End XB*/
|
||||
#undef extern /*for PO (and AI)*/
|
||||
|
||||
#include "SPO.h"
|
||||
#include "LST.h"
|
||||
|
||||
/*For the sound*/
|
||||
#include "SND.h"
|
||||
|
||||
#include "SCT.h"
|
||||
|
||||
#include "PRF.h"
|
||||
|
||||
/* Oliv' - 25/05/1999 */
|
||||
#if defined(_U64_GLI_BENCH_)
|
||||
extern ACP_tdxBool GLIBENCH_g_bColMap;
|
||||
extern void GLIBENCH_SCT_fn_vSendCollisionSectorWhereIAmToViewport(
|
||||
MTH3D_tdstVector *_p_stAbsolutePositionOfCamera,
|
||||
struct GLD_tdstViewportAttributes_ *_p_stVpt,
|
||||
HIE_tdxHandleToSuperObject _hSprObjSector,
|
||||
long _lDrawMask );
|
||||
#endif /* _U64_GLI_BENCH_ */
|
||||
/* EndOfOliv' */
|
||||
|
||||
/*Constants*/
|
||||
#define SCT_C_xNbMaxOfMirrorsInVisibleSectors 6
|
||||
#ifndef _FIRE_DEADCODE_U64_ /* Added by RUC */
|
||||
ACP_tdxBool bViewingInMirror;
|
||||
#endif /* _FIRE_DEADCODE_U64_ */ /* Added by RUC */
|
||||
|
||||
void AGO_vProcessAllParts(GLD_tdstViewportAttributes *_p_stViewport);
|
||||
void SECT_fn_vSendFogToViewport(struct GLD_tdstViewportAttributes_ *_p_stVpt,HIE_tdxHandleToSuperObject _hSprObjSector);
|
||||
void fn_vSendOneModuleToViewPort(GLD_tdxHandleToViewportAttributes _hVpt,HIE_tdxHandleToSuperObject _hSprObj,long _lDrawMask);
|
||||
|
||||
#if !defined(U64)
|
||||
/*Prototypes*/
|
||||
void SCT_fn_vGetSymMatrixOfCameraInMirror(GEO_tdxHandleToMatrix hMatrixOfCamera,
|
||||
GEO_tdxHandleToMatrix hMatrixOfSymCamera,
|
||||
MTH3D_tdstVector *pstGlobalPositionOfSymCamera,
|
||||
MTH3D_tdstVector *pstGlobalNormalOfMirror,
|
||||
MTH3D_tdstVector *pstGlobalPointOfMirror);
|
||||
|
||||
void SCT_fn_vFindAllMirrorsInVisibleSector(
|
||||
struct GLD_tdstViewportAttributes_ *_p_stVpt,
|
||||
HIE_tdxHandleToSuperObject _hSprObjSector,
|
||||
HIE_tdxHandleToSuperObject *hHandleOfMirror,
|
||||
ACP_tdxHandleOfObject *p_hHandleOfGometricMirror,
|
||||
HIE_tdxHandleToSuperObject *hSectorOfMirror,
|
||||
short *shNbOfMirror);
|
||||
|
||||
/**********************************************************************************************/
|
||||
/* Name: SCT_fn_vGetSymMatrixOfCameraInMirror*/
|
||||
/* Goal: Compute the new matrix for the symetric camera*/
|
||||
/* Code: Philippe Thi<68>baut*/
|
||||
/* Verified: Yes*/
|
||||
/* OPTIMMIZED : No*/
|
||||
/**********************************************************************************************/
|
||||
void SCT_fn_vGetSymMatrixOfCameraInMirror
|
||||
(
|
||||
GEO_tdxHandleToMatrix hMatrixOfCamera,
|
||||
GEO_tdxHandleToMatrix hMatrixOfSymCamera,
|
||||
MTH3D_tdstVector *pstGlobalPositionOfSymCamera,
|
||||
MTH3D_tdstVector *pstGlobalNormalOfMirror,
|
||||
MTH3D_tdstVector *pstGlobalPointOfMirror
|
||||
)
|
||||
{
|
||||
POS_tdstCompletePosition stGlobalMatrixOfCamera;
|
||||
POS_tdstCompletePosition stMulMatrixScale;
|
||||
POS_tdstCompletePosition stTempMatrixForMultiplication;
|
||||
MTH3D_tdstVector stTransVector;
|
||||
MTH_tdxReal xTemp;
|
||||
MTH3D_tdstVector stTransVectorOfCamera;
|
||||
MTH3D_tdstVector pstModuleAxes[3];
|
||||
MTH_tdxReal a11,a22,a33,a12,a13,a23;
|
||||
|
||||
/*I get the global matrix of the camera*/
|
||||
POS_fn_vSetIdentityMatrix(&stGlobalMatrixOfCamera);
|
||||
POS_fn_vInvertMatrix(&stGlobalMatrixOfCamera, hMatrixOfCamera);
|
||||
|
||||
/*I compute the matrix of the mirror transformation */
|
||||
POS_fn_vSetIdentityMatrix(&stMulMatrixScale);
|
||||
|
||||
a11=MTH_M_xSub(MTH_C_ONE,MTH_M_xMul(MTH_C_2,MTH_M_xMul(pstGlobalNormalOfMirror->xX,pstGlobalNormalOfMirror->xX)));
|
||||
a22=MTH_M_xSub(MTH_C_ONE,MTH_M_xMul(MTH_C_2,MTH_M_xMul(pstGlobalNormalOfMirror->xY,pstGlobalNormalOfMirror->xY)));
|
||||
a33=MTH_M_xSub(MTH_C_ONE,MTH_M_xMul(MTH_C_2,MTH_M_xMul(pstGlobalNormalOfMirror->xZ,pstGlobalNormalOfMirror->xZ)));
|
||||
a12=MTH_M_xMul(MTH_C_Minus2,MTH_M_xMul(pstGlobalNormalOfMirror->xX,pstGlobalNormalOfMirror->xY));
|
||||
a13=MTH_M_xMul(MTH_C_Minus2,MTH_M_xMul(pstGlobalNormalOfMirror->xX,pstGlobalNormalOfMirror->xZ));
|
||||
a23=MTH_M_xMul(MTH_C_Minus2,MTH_M_xMul(pstGlobalNormalOfMirror->xY,pstGlobalNormalOfMirror->xZ));
|
||||
|
||||
MTH3D_M_vSetVectorElements(&pstModuleAxes[0],a11,a12,a13);
|
||||
MTH3D_M_vSetVectorElements(&pstModuleAxes[1],a12,a22,a23);
|
||||
MTH3D_M_vSetVectorElements(&pstModuleAxes[2],a13,a23,a33);
|
||||
|
||||
POS_fn_vSetRotationMatrix(&stMulMatrixScale,&pstModuleAxes[0],&pstModuleAxes[1],&pstModuleAxes[2]);
|
||||
|
||||
/*I compute the translation matrix of the mirror transformation*/
|
||||
POS_fn_vGetTranslationVector(&stGlobalMatrixOfCamera,&stTransVectorOfCamera);
|
||||
MTH3D_M_vSubVector(&stTransVector,&stTransVectorOfCamera,pstGlobalPointOfMirror);
|
||||
|
||||
xTemp=MTH_M_xMul(MTH_C_Minus2,MTH3D_M_xDotProductVector(&stTransVector,pstGlobalNormalOfMirror));
|
||||
|
||||
MTH3D_M_vMulScalarVector(&stTransVector, xTemp, pstGlobalNormalOfMirror);
|
||||
|
||||
MTH3D_M_vAddVector(&stTransVector,&stTransVector,&stTransVectorOfCamera);
|
||||
|
||||
/*I transform the matrix*/
|
||||
/* POS_fn_vInitPositionFlag(&stTempMatrixForMultiplication);*/
|
||||
GEO_M_vCopyMatrix( &stTempMatrixForMultiplication,&stGlobalMatrixOfCamera)
|
||||
POS_fn_vMulMatrixMatrix(&stGlobalMatrixOfCamera,&stMulMatrixScale, &stTempMatrixForMultiplication);
|
||||
|
||||
POS_fn_vSetTranslationVector(&stGlobalMatrixOfCamera,&stTransVector);
|
||||
MTH3D_M_vCopyVector(pstGlobalPositionOfSymCamera,&stTransVector);
|
||||
|
||||
/*I invert the matrix of the SymCamera*/
|
||||
POS_fn_vSetIdentityMatrix(hMatrixOfSymCamera);
|
||||
POS_fn_vInvertMatrix(hMatrixOfSymCamera,&stGlobalMatrixOfCamera);
|
||||
|
||||
}
|
||||
|
||||
/**********************************************************************************************/
|
||||
/* Name: SCT_fn_vFindAllMirrorsInVisibleSector*/
|
||||
/* Goal: Find all the mirrors in the current sector and in the visible sectors*/
|
||||
/* Code: Philippe Thi<68>baut*/
|
||||
/* Verified: No*/
|
||||
/* OPTIMMIZED : No*/
|
||||
/**********************************************************************************************/
|
||||
void SCT_fn_vFindAllMirrorsInVisibleSector
|
||||
(
|
||||
struct GLD_tdstViewportAttributes_ *_p_stVpt,
|
||||
HIE_tdxHandleToSuperObject _hSprObjSector,
|
||||
HIE_tdxHandleToSuperObject *p_hHandleOfMirror,
|
||||
ACP_tdxHandleOfObject *p_hHandleOfGometricMirror,
|
||||
HIE_tdxHandleToSuperObject *p_hSectorOfMirror,
|
||||
short *p_shNbOfMirrors
|
||||
)
|
||||
{
|
||||
SECT_tdxHandleOfElementLstGraphicInteraction hGraphicElement;
|
||||
short xI, xJ , i, shTempNbOfMirrors;
|
||||
|
||||
/*To get the list of characters*/
|
||||
SECT_tdxHandleOfSectorObject hSectorObject;
|
||||
SECT_tdxHandleOfElementLstCharacter hCharacter;
|
||||
|
||||
(*p_shNbOfMirrors)=0;
|
||||
hSectorObject=(SECT_tdxHandleOfSectorObject)HIE_fn_hGetSuperObjectObject(_hSprObjSector);
|
||||
|
||||
/*
|
||||
* I find all the mirrors in the current sector.
|
||||
*-----------------------------------------------
|
||||
*/
|
||||
|
||||
/*Static*/
|
||||
if(!(HIE_fn_lGetSuperObjectDrawMask(_hSprObjSector) & GLI_C_lHasNoMirror))
|
||||
{
|
||||
HIE_fn_hFindAllMirrorsInHierarchy
|
||||
(
|
||||
_p_stVpt,
|
||||
_hSprObjSector,
|
||||
p_hHandleOfMirror,
|
||||
p_hHandleOfGometricMirror,
|
||||
p_shNbOfMirrors,
|
||||
SCT_C_xNbMaxOfMirrorsInVisibleSectors
|
||||
);
|
||||
}
|
||||
|
||||
/*Dynamic */
|
||||
LST2_M_DynamicForEachElementOf(&(hSectorObject->stListOfCharacters), hCharacter, xI)
|
||||
{
|
||||
if(!(HIE_fn_lGetSuperObjectDrawMask(hCharacter->hPointerOfCharacter) & GLI_C_lHasNoMirror))
|
||||
{
|
||||
HIE_fn_hFindAllMirrorsInHierarchy
|
||||
(
|
||||
_p_stVpt,
|
||||
hCharacter->hPointerOfCharacter,
|
||||
p_hHandleOfMirror,
|
||||
p_hHandleOfGometricMirror,
|
||||
p_shNbOfMirrors,
|
||||
SCT_C_xNbMaxOfMirrorsInVisibleSectors
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
for (i=0;i<(*p_shNbOfMirrors);i++)
|
||||
{
|
||||
/*I need the sector where is the mirror*/
|
||||
p_hSectorOfMirror[i]=_hSprObjSector;
|
||||
}
|
||||
|
||||
/*
|
||||
* I find all the mirrors in the visible sectors.
|
||||
*------------------------------------------------
|
||||
*/
|
||||
SECT_M_ForEachGraphicNodeInGraphicInteractionList(_hSprObjSector,hGraphicElement,xI)
|
||||
{
|
||||
shTempNbOfMirrors=(*p_shNbOfMirrors);
|
||||
|
||||
/*Static*/
|
||||
if(!(HIE_fn_lGetSuperObjectDrawMask(SECT_GetSectorInGraphicList(hGraphicElement)) & GLI_C_lHasNoMirror))
|
||||
{
|
||||
HIE_fn_hFindAllMirrorsInHierarchy
|
||||
(
|
||||
_p_stVpt,
|
||||
SECT_GetSectorInGraphicList(hGraphicElement),
|
||||
p_hHandleOfMirror,
|
||||
p_hHandleOfGometricMirror,
|
||||
p_shNbOfMirrors,
|
||||
SCT_C_xNbMaxOfMirrorsInVisibleSectors
|
||||
);
|
||||
}
|
||||
|
||||
hSectorObject=(SECT_tdxHandleOfSectorObject)HIE_fn_hGetSuperObjectObject(SECT_GetSectorInGraphicList(hGraphicElement));
|
||||
|
||||
/*Dynamic */
|
||||
LST2_M_DynamicForEachElementOf
|
||||
(
|
||||
&(hSectorObject->stListOfCharacters),
|
||||
hCharacter,
|
||||
xJ
|
||||
)
|
||||
{
|
||||
if(!(HIE_fn_lGetSuperObjectDrawMask(hCharacter->hPointerOfCharacter) & GLI_C_lHasNoMirror))
|
||||
{
|
||||
HIE_fn_hFindAllMirrorsInHierarchy
|
||||
(
|
||||
_p_stVpt,
|
||||
hCharacter->hPointerOfCharacter,
|
||||
p_hHandleOfMirror,
|
||||
p_hHandleOfGometricMirror,
|
||||
p_shNbOfMirrors,
|
||||
SCT_C_xNbMaxOfMirrorsInVisibleSectors
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
for (i=shTempNbOfMirrors;i<(*p_shNbOfMirrors);i++)
|
||||
{
|
||||
/*I need the sector where is the mirror*/
|
||||
p_hSectorOfMirror[i]=SECT_GetSectorInGraphicList(hGraphicElement);
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif /* U64 */
|
||||
|
||||
/**********************************************************************************************/
|
||||
/* Name: SCT_fn_vSendSectorWhereIAmToViewportWithMirror*/
|
||||
/* Goal: Draw the sector with mirrors*/
|
||||
/* Code: Philippe Thi<68>baut*/
|
||||
/* Verified: No*/
|
||||
/* OPTIMMIZED : No*/
|
||||
/**********************************************************************************************/
|
||||
/*this is the function called from exterior*/
|
||||
void SCT_fn_vSendSectorWhereIAmToViewportWithMirror
|
||||
(
|
||||
MTH3D_tdstVector *_p_stAbsolutePositionOfCamera,
|
||||
GLD_tdhDevice _hDevice,
|
||||
GLD_tdhViewport _hViewport,
|
||||
struct GLD_tdstViewportAttributes_ *_p_stVpt,
|
||||
HIE_tdxHandleToSuperObject _hSprObjSector ,
|
||||
long _lDrawMask
|
||||
)
|
||||
{
|
||||
#if !defined(U64) /* No Mirror for Nintendo 64*/
|
||||
HIE_tdxHandleToSuperObject hHandleOfMirror[SCT_C_xNbMaxOfMirrorsInVisibleSectors];
|
||||
HIE_tdxHandleToSuperObject hSectorOfMirror[SCT_C_xNbMaxOfMirrorsInVisibleSectors];
|
||||
short shNbOfMirror;
|
||||
ACP_tdxBool p_bIDrawTheMirror[SCT_C_xNbMaxOfMirrorsInVisibleSectors];
|
||||
short i;
|
||||
/* ACP_tdxIndex xTempIndex[3];*/
|
||||
ACP_tdxHandleOfObject p_hHandleOfGometricMirror[SCT_C_xNbMaxOfMirrorsInVisibleSectors];
|
||||
MTH3D_tdstVector stNormalOfMirror;
|
||||
MTH3D_tdstVector stPointOfMirror;
|
||||
GEO_tdxHandleToMatrix p_hGlobalMatrixOfMirror[SCT_C_xNbMaxOfMirrorsInVisibleSectors];
|
||||
MTH3D_tdstVector stI, stJ, stK;
|
||||
MTH3D_tdstVector stGlobalPositionOfSymCamera;
|
||||
POS_tdstCompletePosition stTransMatrix;
|
||||
struct GLI_tdstCamera_ stSymCam;
|
||||
struct GLI_tdstCamera_ *p_stCpyCam;
|
||||
/* This the radius of visibility for all mirrors */
|
||||
/*MTH_tdxReal xDistanceOfActivationOfMirror=50.0f; // DANGER !!!!!!!!!!!!*/
|
||||
/*MTH_tdxReal xDistanceFromCameraToMirror;*/
|
||||
/* For clipping by water */
|
||||
MTH_tdxReal xWaterDistance;
|
||||
/* For clipping by a window */
|
||||
long lXMin, lXMax, lYMin, lYMax;
|
||||
unsigned long lXMinA,lXMaxA,lYMinA,lYMaxA;
|
||||
GLD_tdstDeviceAttributes stDevAttrib ;
|
||||
#endif /* U64*/
|
||||
|
||||
#if !defined(U64) /* No Mirror for Nintendo 64*/
|
||||
GEO_fn_vComputeCameraParametersForCulling( _p_stVpt, fn_xGetSectorZFar( _hSprObjSector ) );
|
||||
SCT_fn_vFindAllMirrorsInVisibleSector(_p_stVpt,_hSprObjSector,hHandleOfMirror,p_hHandleOfGometricMirror, hSectorOfMirror,&shNbOfMirror);
|
||||
|
||||
/* if there's a global fog set it now.*/
|
||||
if(GLI_cGlobalFogIsOn) {
|
||||
GLI_vSetFog2( GLI_xFogBlendNear, GLI_xFogNear, GLI_xFogBlendFar, GLI_xFogFar, GLI_xFogInfinite, &GLI_stFogColor );
|
||||
GLI_vFogOn();
|
||||
}
|
||||
|
||||
if ( shNbOfMirror != 0 ) {
|
||||
/*There is a mirror in the scene so i make some initializations*/
|
||||
|
||||
|
||||
/*I save the clip window of the viewport*/
|
||||
lXMin=_p_stVpt->dwClipLeftInPix;
|
||||
lXMax=_p_stVpt->dwClipRightInPix;
|
||||
lYMin=_p_stVpt->dwClipTopInPix;
|
||||
lYMax=_p_stVpt->dwClipBottomInPix;
|
||||
|
||||
lXMinA=65536;
|
||||
lXMaxA=0;
|
||||
lYMinA=65536;
|
||||
lYMaxA=0;
|
||||
|
||||
|
||||
GLD_bGetDeviceAttributes( _hDevice, &stDevAttrib ) ;
|
||||
|
||||
for (i=0;i<shNbOfMirror;i++)
|
||||
{
|
||||
MTH3D_tdstVector stTempVectorForMultiplication;
|
||||
|
||||
p_bIDrawTheMirror[i]=1;
|
||||
|
||||
p_hGlobalMatrixOfMirror[i]=HIE_fn_hGetSuperObjectGlobalMatrix(hHandleOfMirror[i]);
|
||||
|
||||
/*I get the first point of the first face of the object mirror*/
|
||||
/*GEO_vGetFaceOfIndexedTriangles(p_hHandleOfGometricMirror[i],0,0,&xTempIndex[0],&xTempIndex[1],&xTempIndex[2]);*/
|
||||
/*GEO_vGetPointOfObject(p_hHandleOfGometricMirror[i],&stTempVectorForMultiplication,xTempIndex[0]);*/
|
||||
GEO_vGetPointOfObject(p_hHandleOfGometricMirror[i],&stTempVectorForMultiplication,0);
|
||||
POS_fn_vMulMatrixVertex( &stPointOfMirror,p_hGlobalMatrixOfMirror[i],&stTempVectorForMultiplication) ;
|
||||
|
||||
/*I get the normal of the first face of the object mirror*/
|
||||
GEO_vGetNormalOfGeometricObjectElement(p_hHandleOfGometricMirror[i],0,0,&stTempVectorForMultiplication);
|
||||
POS_fn_vGetRotationMatrix(p_hGlobalMatrixOfMirror[i],&stI,&stJ,&stK);
|
||||
POS_fn_vSetIdentityMatrix(&stTransMatrix);
|
||||
POS_fn_vSetRotationMatrix (&stTransMatrix ,&stI ,&stJ,&stK );
|
||||
POS_fn_vMulMatrixVector(&stNormalOfMirror,&stTransMatrix,&stTempVectorForMultiplication);
|
||||
|
||||
/*I compute the distance between the mirror and the camera*/
|
||||
MTH3D_M_vSubVector(&stI,_p_stAbsolutePositionOfCamera,&stPointOfMirror);
|
||||
/*xDistanceFromCameraToMirror=MTH3D_M_xNormVector(&stI);*/
|
||||
|
||||
/*if(MTH_M_bGreater(xDistanceFromCameraToMirror,xDistanceOfActivationOfMirror)) p_bIDrawTheMirror[i]=0;*/
|
||||
if (MTH_M_bLess(MTH3D_M_xDotProductVector(&stI,&stNormalOfMirror),MTH_C_ZERO)) p_bIDrawTheMirror[i]=0;
|
||||
|
||||
if (p_bIDrawTheMirror[i]) {
|
||||
/*Do a copy of the camera*/
|
||||
GLI_xGetViewportCamera(_hDevice, _hViewport, &p_stCpyCam);
|
||||
|
||||
/*Init the symetric camera*/
|
||||
GLI_vCopyCamera ( &stSymCam ,p_stCpyCam);
|
||||
GLI_xGetCameraMatrix (&stSymCam, &stTransMatrix ) ;
|
||||
|
||||
SCT_fn_vGetSymMatrixOfCameraInMirror(&stTransMatrix,&stTransMatrix,
|
||||
&stGlobalPositionOfSymCamera,&stNormalOfMirror,&stPointOfMirror);
|
||||
GLI_xSetCameraMatrix (&stSymCam, &stTransMatrix) ;
|
||||
|
||||
/*Set the symetric camera as camera of viewport*/
|
||||
GLI_xSetViewportCamera ( _hDevice, _hViewport, &stSymCam ) ;
|
||||
|
||||
if (!GLI_vAdjustCameraToMirror(p_hHandleOfGometricMirror[i],p_hGlobalMatrixOfMirror[i],&stTransMatrix ,&stSymCam,_p_stVpt,_lDrawMask))
|
||||
p_bIDrawTheMirror[i]=FALSE;
|
||||
|
||||
GLI_xAdjustCameraToViewport2 ( &stDevAttrib, _p_stVpt, &stSymCam );
|
||||
GEO_fn_vComputeCameraParametersForCulling( _p_stVpt, fn_xGetSectorZFar( _hSprObjSector ) );
|
||||
|
||||
if (p_bIDrawTheMirror[i])
|
||||
{
|
||||
SECT_tdxHandleOfSectorObject hSectorObject;
|
||||
hSectorObject=(SECT_tdxHandleOfSectorObject)HIE_fn_hGetSuperObjectObject(hSectorOfMirror[i]);
|
||||
|
||||
/*
|
||||
* Init the plan clipping.
|
||||
* If xNbElements!=1 the mirror is optimized without clipping.
|
||||
*/
|
||||
if (p_hHandleOfGometricMirror[i]->xNbElements!=1)
|
||||
GLI_vSetWaterplaneOff();
|
||||
else
|
||||
{
|
||||
xWaterDistance=MTH3D_M_xDotProductVector(&stPointOfMirror,&stNormalOfMirror);
|
||||
GLI_vSetWaterplane(_p_stVpt,&stNormalOfMirror,xWaterDistance);
|
||||
}
|
||||
|
||||
/* I draw the symetric sector */
|
||||
if (hSectorObject->xVirtual) {
|
||||
SCT_fn_vSendSectorWhereIAmToViewport(
|
||||
&stGlobalPositionOfSymCamera,
|
||||
_p_stVpt,
|
||||
_hSprObjSector ,
|
||||
_lDrawMask - GLI_C_lIsNotDrawingInMirror - GLI_C_lNotHideWhatIsUnderWater);
|
||||
}
|
||||
else {
|
||||
/* Drawing the normal objects */
|
||||
SCT_fn_vSendSectorWhereIAmToViewport(
|
||||
&stGlobalPositionOfSymCamera,
|
||||
_p_stVpt,hSectorOfMirror[i],
|
||||
_lDrawMask - GLI_C_lIsNotDrawingInMirror - GLI_C_lNotHideWhatIsUnderWater);
|
||||
}
|
||||
|
||||
|
||||
if(lXMinA>_p_stVpt->dwClipLeftInPix) lXMinA=_p_stVpt->dwClipLeftInPix;
|
||||
if(lYMinA>_p_stVpt->dwClipTopInPix) lYMinA=_p_stVpt->dwClipTopInPix;
|
||||
if(lXMaxA<_p_stVpt->dwClipRightInPix) lXMaxA=_p_stVpt->dwClipRightInPix;
|
||||
if(lYMaxA<_p_stVpt->dwClipBottomInPix) lYMaxA=_p_stVpt->dwClipBottomInPix;
|
||||
|
||||
/* I restore the clip window */
|
||||
_p_stVpt->dwClipLeftInPix=lXMin;
|
||||
_p_stVpt->dwClipRightInPix=lXMax;
|
||||
_p_stVpt->dwClipTopInPix=lYMin;
|
||||
_p_stVpt->dwClipBottomInPix=lYMax;
|
||||
|
||||
|
||||
/* I restore the clipping mode */
|
||||
if (p_hHandleOfGometricMirror[i]->xNbElements!=1)
|
||||
GLI_vSetWaterplaneOn();
|
||||
|
||||
/* Draw transparent faces and Clear Zbuffer Before drawing mirror surfaces*/
|
||||
/* Transparent faces are send when all symetric worlds are drawn*/
|
||||
GLI_xSendListToViewport (_p_stVpt ) ;
|
||||
GLI_xClearViewingList () ;
|
||||
|
||||
/* I restore the camera */
|
||||
GLI_xSetViewportCamera ( _hDevice, _hViewport, p_stCpyCam ) ;
|
||||
|
||||
/* -------------------------------------------------------------------*/
|
||||
/* Draw mirror surface*/
|
||||
bViewingInMirror = TRUE;
|
||||
GLI_vWaterplaneDisable2DSinus();
|
||||
HIE_fn_bInitCameraMatrixStack(_p_stVpt);
|
||||
HIE_fn_vPushMatrix (hHandleOfMirror[i]);
|
||||
HIE_fn_vPushOnCameraMatrixStack(hHandleOfMirror[i]);
|
||||
|
||||
/* Send Light and fog*/
|
||||
SECT_fn_vSendDynamicLightsFromWhereIAmToViewport(_p_stVpt,hSectorOfMirror[i]);
|
||||
SECT_fn_vSendFogToViewport(_p_stVpt,hSectorOfMirror[i]);
|
||||
|
||||
fn_vSendOneModuleToViewPort(_p_stVpt,hHandleOfMirror[i],_lDrawMask);
|
||||
|
||||
/* Clear all lights of viewport*/
|
||||
GLI_vClearListOfLightInViewport (_p_stVpt);
|
||||
|
||||
HIE_fn_vPopMatrix();
|
||||
HIE_fn_vPopOnCameraMatrixStack();
|
||||
bViewingInMirror = FALSE;
|
||||
/* -------------------------------------------------------------------*/
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
#endif /* U64 */
|
||||
|
||||
/* I draw the normal sector */
|
||||
GEO_fn_vComputeCameraParametersForCulling( _p_stVpt, fn_xGetSectorZFar( _hSprObjSector ) );
|
||||
|
||||
/* Oliv' - to see collision Map with collision sector interaction - 25/05/1999 */
|
||||
#if defined(_U64_GLI_BENCH_)
|
||||
if( GLIBENCH_g_bColMap )
|
||||
{
|
||||
GLIBENCH_SCT_fn_vSendCollisionSectorWhereIAmToViewport(
|
||||
_p_stAbsolutePositionOfCamera,
|
||||
_p_stVpt,
|
||||
_hSprObjSector,
|
||||
_lDrawMask);
|
||||
}
|
||||
else
|
||||
#endif /* _U64_GLI_BENCH_ */
|
||||
{
|
||||
SCT_fn_vSendSectorWhereIAmToViewport(
|
||||
_p_stAbsolutePositionOfCamera,
|
||||
_p_stVpt,
|
||||
_hSprObjSector,
|
||||
_lDrawMask);
|
||||
}
|
||||
/* EndOfOliv' */
|
||||
AGO_vProcessAllParts(_p_stVpt);
|
||||
}
|
||||
|
||||
#ifndef U64
|
||||
/**********************************************************************************************/
|
||||
/* Name: SCT_fn_vInitMirrorFlagForAllSectors*/
|
||||
/* Goal: Search mirror in each sector to set the flag GLI_C_lHasNoMirror*/
|
||||
/* Code: Carlos Torres*/
|
||||
/* Verified: No*/
|
||||
/* OPTIMMIZED : No*/
|
||||
/**********************************************************************************************/
|
||||
void SCT_fn_vInitMirrorFlagForAllSectors(HIE_tdxHandleToSuperObject _hStaticRoot) {
|
||||
int i;
|
||||
HIE_tdxHandleToSuperObject hSector;
|
||||
|
||||
/* If find a mirror in sector set is DrawFlag*/
|
||||
HIE_M_ForEachChildOf(_hStaticRoot,hSector,i) {
|
||||
if (HIE_fn_bFindMirrorInHierarchy(hSector))
|
||||
HIE_fn_vSetSuperObjectDrawMask(hSector,HIE_fn_lGetSuperObjectDrawMask(hSector) & ~GLI_C_lHasNoMirror);
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* U64 */
|
1040
Rayman_X/cpa/tempgrp/SCT/Sector.c
Normal file
1040
Rayman_X/cpa/tempgrp/SCT/Sector.c
Normal file
File diff suppressed because it is too large
Load Diff
5
Rayman_X/cpa/tempgrp/SCT/mssccprj.scc
Normal file
5
Rayman_X/cpa/tempgrp/SCT/mssccprj.scc
Normal file
@@ -0,0 +1,5 @@
|
||||
SCC = This is a source code control file
|
||||
|
||||
[SCT.vcproj]
|
||||
SCC_Aux_Path = "P4SCC#srvperforce-ma:1666##raymandata##Editor"
|
||||
SCC_Project_Name = Perforce Project
|
Reference in New Issue
Block a user