XIII
Class MultiViewport

source: C:\XIII\XIII\Classes\MultiViewport.uc
Core.Object
   |
   +--Engine.Actor
      |
      +--Engine.Info
         |
         +--XIII.MultiViewport
Direct Known Subclasses:None

class MultiViewport
extends Engine.Info

//----------------------------------------------------------- // //-----------------------------------------------------------
Variables
 Texture BlackTex
 int CDX[4],CDY[4],CDW[4],CDH[4]
 Actor CWndSfxTrigger
 int CX[4],CY[4],CW[4],CH[4]
 int CamAppearFX[4]
 int CamAppearSpeed[4]
 color CamBorderColor[4]
 float CamDuration[4]
 float CamFOV[4]
 int CamInit[4]
 int CamPosX[4]
 int CamPosY[4]
 Actor CamPosition[4]
 int CamRemoveFX[4]
 int CamRemoveSpeed[4]
 int CamRemoved[4]
 int CamRemoving[4]
 Actor CamSfxTrigger
 int CamSizeX[4]
 int CamSizeY[4]
 float CamStartDelay[4]
 vector CamTargetOffset[4]
 Actor CamTarget[4]
 XIIIBaseHud MyHudForFX
 float OnoDelay[4]
 float OnoDuration[4]
 int OnoPosX[4]
 int OnoPosY[4]
 int OnoSizeX[4]
 int OnoSizeY[4]
 Texture OnoTexture[4]
 Texture WhiteTex
 bool bEnded
 float fStartTime
 bool firstRenderThisFrame
 int iPhase
 color mainBorderColor
 mainViewportDestinationW, mainViewportDestinationH
 float mainViewportDestinationTime
 mainViewportDestinationX, mainViewportDestinationY
 float mainViewportDurationTime
 float mainViewportLeadOutTime


Function Summary
 void DrawBorderWnd(Canvas C, int W, int H, int X, int Y, int BorderX, int BorderY, color BorderWndColor)
     
//_____________________________________________________________________________
 void ExecuteCam(int q)
     
//_____________________________________________________________________________
 void InitCam(int q)
     
//_____________________________________________________________________________
 void RemoveCam(int q)
     
//_____________________________________________________________________________



Source Code


00001	//-----------------------------------------------------------
00002	//
00003	//-----------------------------------------------------------
00004	class MultiViewport extends Info;
00005	
00006	// Main viewport will scale and move to become
00007	var int mainViewportDestinationX, mainViewportDestinationY;
00008	var int mainViewportDestinationW, mainViewportDestinationH;
00009	var float mainViewportDestinationTime;
00010	var float mainViewportDurationTime;
00011	var float mainViewportLeadOutTime;
00012	var color mainBorderColor;
00013	
00014	var bool firstRenderThisFrame;
00015	var texture WhiteTex;
00016	var texture BlackTex;
00017	var float fStartTime;
00018	
00019	var actor CWndSfxTrigger;
00020	
00021	var int iPhase;
00022	var XIIIBaseHUD MyHudForFX;
00023	
00024	var actor CamPosition[4];
00025	var actor CamTarget[4];
00026	var vector CamTargetOffset[4];
00027	var actor CamSfxTrigger;
00028	var float CamFOV[4];
00029	var float CamDuration[4];
00030	var float CamStartDelay[4];
00031	var int CamPosX[4];
00032	var int CamPosY[4];
00033	var int CamSizeX[4];
00034	var int CamSizeY[4];
00035	var color CamBorderColor[4];
00036	var Texture OnoTexture[4];
00037	var int OnoPosX[4];
00038	var int OnoPosY[4];
00039	var int OnoSizeX[4];
00040	var int OnoSizeY[4];
00041	var float OnoDelay[4];
00042	var float OnoDuration[4];
00043	var int CamAppearFX[4];
00044	var int CamRemoveFX[4];
00045	var int CamAppearSpeed[4];
00046	var int CamRemoveSpeed[4];
00047	
00048	var int CamInit[4];
00049	var int CX[4],CY[4],CW[4],CH[4];
00050	var int CDX[4],CDY[4],CDW[4],CDH[4];
00051	var int CamRemoving[4];
00052	var int CamRemoved[4];
00053	
00054	var bool bEnded;
00055	
00056	
00057	//_____________________________________________________________________________
00058	event PostBeginPlay()
00059	{
00060	  fStartTime = Level.TimeSeconds;
00061	  /*if (CWndSfxTrigger != none && CWndSfxTrigger(CWndSfxTrigger) != none)
00062	  {
00063	    CWndSfxTrigger(CWndSfxTrigger).Trigger(self, Instigator);
00064	  }*/
00065	}
00066	
00067	//_____________________________________________________________________________
00068	function DrawBorderWnd( Canvas C , int W , int H , int X, int Y, int BorderX, int BorderY, color BorderWndColor)
00069	{
00070	  local int Height, Width;
00071	
00072	  C.Style = ERenderStyle.STY_Alpha;
00073	  C.bUseBorder = false;
00074	  C.DrawColor = BorderWndColor;
00075	  C.BorderColor = class'Canvas'.Static.MakeColor(0,0,0);
00076	
00077	  C.SetPos(X-BorderX-1 , Y-BorderY-1);
00078	  C.DrawTile(BlackTex, W+BorderX*2+2,2,0,0,BlackTex.USize, BlackTex.VSize);
00079	  C.SetPos(X-BorderX-1 , Y-BorderY-1);
00080	  C.DrawTile(BlackTex, 2,H+BorderY*2+2,0,0,BlackTex.USize, BlackTex.VSize);
00081	  C.SetPos(X+W+BorderX-1 , Y-BorderY-1);
00082	  C.DrawTile(BlackTex, 2,H+BorderY*2+2,0,0,BlackTex.USize, BlackTex.VSize);
00083	  C.SetPos(X-BorderX-1 , Y+H+BorderY-1);
00084	  C.DrawTile(BlackTex, W+BorderX*2+2,2,0,0,BlackTex.USize, BlackTex.VSize);
00085	
00086	  Height = H + 2*BorderY;
00087	  Width = BorderX;
00088	
00089	  C.SetPos(X - BorderX, Y - BorderY);
00090	  C.DrawTile(WhiteTex, Width,Height, 0, 0, WhiteTex.USize, WhiteTex.VSize);
00091	
00092	  C.SetPos(X + W, Y - BorderY);
00093	  C.DrawTile(WhiteTex, Width,Height, 0, 0, WhiteTex.USize, WhiteTex.VSize);
00094	
00095	  Height = BorderY;
00096	  Width = W + 2*BorderX;
00097	
00098	  C.SetPos(X - BorderX, Y - BorderY);
00099	  C.DrawTile(WhiteTex, Width,Height, 0, 0, WhiteTex.USize, WhiteTex.VSize);
00100	
00101	  C.SetPos(X - BorderX, Y + H);
00102	  C.DrawTile(WhiteTex, Width,Height, 0, 0, WhiteTex.USize, WhiteTex.VSize);
00103	  /*
00104	  C.bUseBorder = True;
00105	  C.DrawColor.A = 0;
00106	  Height = H;
00107	  Width = W;
00108	
00109	  C.SetPos(X , Y);
00110	  C.DrawTile(WhiteTex, Width,Height, 0, 0, WhiteTex.USize, WhiteTex.VSize);
00111	  */
00112	
00113	  C.bUseBorder = false;
00114	  C.DrawColor = class'Canvas'.Static.MakeColor(0,0,0);
00115	}
00116	
00117	//_____________________________________________________________________________
00118	function InitCam(int q)
00119	{
00120	  CamInit[q] = 1;
00121	  CX[q] = CamPosX[q];
00122	  CY[q] = CamPosY[q];
00123	  CW[q] = CamSizeX[q];
00124	  CH[q] = CamSizeY[q];
00125	
00126	  switch(CamAppearFX[q])
00127	  {
00128	  	case 1://MultiViewTrigger.CAMFX_Zoom:
00129	  	  CW[q] = 1;
00130	  	  CH[q] = 1;
00131	  	  CX[q] = CamPosX[q] + (CamSizeX[q]>>1);
00132	  	  CY[q] = CamPosY[q] + (CamSizeY[q]>>1);
00133	    break;
00134	  	case 2://MultiViewTrigger.CAMFX_ComeFromLeft:
00135	  	  CX[q] = 0;
00136	  	  CW[q] = 1;
00137	    break;
00138	  	case 3://MultiViewTrigger.CAMFX_ComeFromAbove:
00139	  	  CY[q] = 0;
00140	  	  CH[q] = 1;
00141	    break;
00142	  	case 4://MultiViewTrigger.CAMFX_ComeFromRight:
00143	  	  CX[q] = 639;
00144	  	  CW[q] = 1;
00145	    break;
00146	  	case 5://MultiViewTrigger.CAMFX_ComeFromUnder:
00147	  	  CY[q] = 479;
00148	  	  CH[q] = 1;
00149	    break;
00150	  	case 6://MultiViewTrigger.CAMFX_ComeFromTopLeft:
00151	  	  CX[q] = 0;
00152	  	  CW[q] = 1;
00153	  	  CY[q] = 0;
00154	  	  CH[q] = 1;
00155	    break;
00156	  	case 7://MultiViewTrigger.CAMFX_ComeFromTopRight:
00157	  	  CX[q] = 639;
00158	  	  CW[q] = 1;
00159	  	  CY[q] = 0;
00160	  	  CH[q] = 1;
00161	    break;
00162	  	case 8://MultiViewTrigger.CAMFX_ComeFromDownLeft:
00163	  	  CX[q] = 0;
00164	  	  CW[q] = 1;
00165	  	  CY[q] = 479;
00166	  	  CH[q] = 1;
00167	    break;
00168	  	case 9://MultiViewTrigger.CAMFX_ComeFromDownright:
00169	  	  CX[q] = 639;
00170	  	  CW[q] = 1;
00171	  	  CY[q] = 479;
00172	  	  CH[q] = 1;
00173	    break;
00174	  	case 10://MultiViewTrigger.CAMFX_None:
00175	    default:
00176	    break;
00177	  }
00178	}
00179	
00180	//_____________________________________________________________________________
00181	function RemoveCam(int q)
00182	{
00183	  CamRemoving[q] = 1;
00184	  CDX[q] = CamPosX[q];
00185	  CDY[q] = CamPosY[q];
00186	  CDW[q] = CamSizeX[q];
00187	  CDH[q] = CamSizeY[q];
00188	
00189	  switch(CamRemoveFX[q])
00190	  {
00191	  	case 1://MultiViewTrigger.CAMOUTFX_Zoom:
00192	  	  CDW[q] = 1;
00193	  	  CDH[q] = 1;
00194	  	  CDX[q] = CamPosX[q] + (CamSizeX[q]>>1);
00195	  	  CDY[q] = CamPosY[q] + (CamSizeY[q]>>1);
00196	    break;
00197	  	case 2://MultiViewTrigger.CAMOUTFX_GoToLeft:
00198	  	  CDX[q] = 0;
00199	  	  CDW[q] = 1;
00200	    break;
00201	  	case 3://MultiViewTrigger.CAMOUTFX_GoToAbove:
00202	  	  CDY[q] = 0;
00203	  	  CDH[q] = 1;
00204	    break;
00205	  	case 4://MultiViewTrigger.CAMOUTFX_GoToRight:
00206	  	  CDX[q] = 639;
00207	  	  CDW[q] = 1;
00208	    break;
00209	  	case 5://MultiViewTrigger.CAMOUTFX_GoToUnder:
00210	  	  CDY[q] = 479;
00211	  	  CDH[q] = 1;
00212	    break;
00213	  	case 6://MultiViewTrigger.CAMOUTFX_GoToTopLeft:
00214	  	  CDX[q] = 0;
00215	  	  CDW[q] = 1;
00216	  	  CDY[q] = 0;
00217	  	  CDH[q] = 1;
00218	    break;
00219	  	case 7://MultiViewTrigger.CAMOUTFX_GoToTopRight:
00220	  	  CDX[q] = 639;
00221	  	  CDW[q] = 1;
00222	  	  CDY[q] = 0;
00223	  	  CDH[q] = 1;
00224	    break;
00225	  	case 8://MultiViewTrigger.CAMOUTFX_GoToDownLeft:
00226	  	  CDX[q] = 0;
00227	  	  CDW[q] = 1;
00228	  	  CDY[q] = 479;
00229	  	  CDH[q] = 1;
00230	    break;
00231	  	case 9://MultiViewTrigger.CAMOUTFX_GoToDownright:
00232	  	  CDX[q] = 639;
00233	  	  CDW[q] = 1;
00234	  	  CDY[q] = 479;
00235	  	  CDH[q] = 1;
00236	    break;
00237	  	case 10://MultiViewTrigger.CAMOUTFX_None:
00238	    default:
00239	      CamRemoved[q] = 1;
00240	      CamRemoving[q] = 0;
00241	    break;
00242	  }
00243	}
00244	
00245	//_____________________________________________________________________________
00246	function ExecuteCam(int q)
00247	{
00248	  if (CamRemoving[q]==0)
00249	  {
00250	    if (CW[q] < CamSizeX[q])
00251	    {
00252	      CW[q] += CamAppearSpeed[q]*2;
00253	      if (CW[q] > CamSizeX[q])
00254	        CW[q] = CamSizeX[q];
00255	    }
00256	    if (CH[q] < CamSizeY[q])
00257	    {
00258	      CH[q] += CamAppearSpeed[q]*2;
00259	      if (CH[q] > CamSizeY[q])
00260	        CH[q] = CamSizeY[q];
00261	    }
00262	    if (CX[q] < CamPosX[q])
00263	    {
00264	      CX[q] += CamAppearSpeed[q];
00265	      if (CX[q] > CamPosX[q])
00266	        CX[q] = CamPosX[q];
00267	    }
00268	    if (CY[q] < CamPosY[q])
00269	    {
00270	      CY[q] += CamAppearSpeed[q];
00271	      if (CY[q] > CamPosY[q])
00272	        CY[q] = CamPosY[q];
00273	    }
00274	    if (CX[q] > CamPosX[q])
00275	    {
00276	      CX[q] -= CamAppearSpeed[q];
00277	      if (CX[q] < CamPosX[q])
00278	        CX[q] = CamPosX[q];
00279	    }
00280	    if (CY[q] > CamPosY[q])
00281	    {
00282	      CY[q] -= CamAppearSpeed[q];
00283	      if (CY[q] < CamPosY[q])
00284	        CY[q] = CamPosY[q];
00285	    }
00286	  }
00287	  else
00288	  {
00289	    if (CamRemoveFX[q] == 1) // Zoom
00290	    {
00291	      if (CW[q] > CDW[q])
00292	      {
00293	        CW[q] -= CamRemoveSpeed[q];
00294	        if (CW[q] < CDW[q])
00295	          CW[q] = CDW[q];
00296	      }
00297	      if (CH[q] > CDH[q])
00298	      {
00299	        CH[q] -= CamRemoveSpeed[q];
00300	        if (CH[q] < CDH[q])
00301	          CH[q] = CDH[q];
00302	      }
00303	    }
00304	    else
00305	    {
00306	      if (CX[q] == CDX[q])
00307	      {
00308	        if (CW[q] > CDW[q])
00309	        {
00310	          CW[q] -= CamRemoveSpeed[q];
00311	          if (CW[q] < CDW[q])
00312	            CW[q] = CDW[q];
00313	        }
00314	      }
00315	      else if (CX[q] >= 640-CW[q])
00316	      {
00317	        if (CW[q] > CDW[q])
00318	        {
00319	          CW[q] -= CamRemoveSpeed[q];
00320	          if (CW[q] < CDW[q])
00321	            CW[q] = CDW[q];
00322	        }
00323	      }
00324	
00325	      if (CY[q] == CDY[q])
00326	      {
00327	        if (CH[q] > CDH[q])
00328	        {
00329	          CH[q] -= CamRemoveSpeed[q];
00330	          if (CH[q] < CDH[q])
00331	            CH[q] = CDH[q];
00332	        }
00333	      }
00334	      else if (CY[q] >= 480-CH[q])
00335	      {
00336	        if (CH[q] > CDH[q])
00337	        {
00338	          CH[q] -= CamRemoveSpeed[q];
00339	          if (CH[q] < CDH[q])
00340	            CH[q] = CDH[q];
00341	        }
00342	      }
00343	    }
00344	
00345	    if (CX[q] < CDX[q])
00346	    {
00347	      CX[q] += CamRemoveSpeed[q];
00348	      if (CX[q] > CDX[q])
00349	        CX[q] = CDX[q];
00350	    }
00351	    if (CY[q] < CDY[q])
00352	    {
00353	      CY[q] += CamRemoveSpeed[q];
00354	      if (CY[q] > CDY[q])
00355	        CY[q] = CDY[q];
00356	    }
00357	    if (CX[q] > CDX[q])
00358	    {
00359	      CX[q] -= CamRemoveSpeed[q];
00360	      if (CX[q] < CDX[q])
00361	        CX[q] = CDX[q];
00362	    }
00363	    if (CY[q] > CDY[q])
00364	    {
00365	      CY[q] -= CamRemoveSpeed[q];
00366	      if (CY[q] < CDY[q])
00367	        CY[q] = CDY[q];
00368	    }
00369	
00370	    if (CX[q]==CDX[q] && CY[q]==CDY[q] && CW[q]==CDW[q] && CH[q]==CDH[q])
00371	    {
00372	      CamRemoved[q] = 1;
00373	      CamRemoving[q] = 0;
00374	    }
00375	  }
00376	}
00377	
00378	//_____________________________________________________________________________
00379	simulated event RenderOverlays( canvas C )
00380	{
00381	  local float deltaTime;
00382	  local eDrawType DT_mem;
00383	  local float mainViewportScale;
00384	  local int mwx,mwy,mww,mwh;
00385	  local int q;
00386	
00387	  deltaTime = Level.TimeSeconds-fStartTime;
00388	
00389	  if (Level.TimeSeconds < fStartTime+mainViewportDestinationTime)
00390	    mainViewportScale = 1.0-((fStartTime+mainViewportDestinationTime)-Level.TimeSeconds)/mainViewportDestinationTime;
00391	  else if (Level.TimeSeconds > fStartTime+mainViewportDestinationTime+mainViewportDurationTime)
00392	    mainViewportScale = ((fStartTime+mainViewportDestinationTime+mainViewportDurationTime+mainViewportLeadOutTime)-Level.TimeSeconds)/mainViewportLeadOutTime;
00393	  else
00394	    mainViewportScale = 1.0;
00395	
00396	  if (Level.TimeSeconds > fStartTime+mainViewportDestinationTime+mainViewportDurationTime+mainViewportLeadOutTime)
00397	  {
00398	    bEnded = true;
00399	    //return;
00400	  }
00401	
00402	  if (mainViewportScale<0.0)
00403	    mainViewportScale = 0.0;
00404	  if (mainViewportScale>1.0)
00405	    mainViewportScale = 1.0;
00406	
00407	  mwx = (mainViewportDestinationX)*mainViewportScale;
00408	  mwy = (mainViewportDestinationY)*mainViewportScale;
00409	  mww = 640+(mainViewportDestinationW-640)*mainViewportScale;
00410	  mwh = 480+(mainViewportDestinationH-480)*mainViewportScale;
00411	
00412	  Level.SetOnlyPostRender(true);
00413	
00414	  if (firstRenderThisFrame)
00415	  {
00416	    firstRenderThisFrame = false;
00417	    DT_mem = DrawType;
00418	    XIIIPlayerController(owner).bRenderPortal = true;
00419	
00420	    //Log("Drawing MultiViewport");
00421	    DrawBorderWnd( c , mww , mwh , mwx, mwy, 5, 5, mainBorderColor);
00422	    C.DrawPortal(mwx, mwy, mww, mwh, XIIIPlayerController(owner), XIIIPlayerController(owner).location, XIIIPlayerController(owner).rotation);
00423	    /*
00424	    C.SetPos(0.0, 0.0);
00425	    C.DrawTile(texture'XIIIMenu.Blanc',320*scale+8,240*scale+8,0,0,1,1);
00426	
00427	    XIIIPlayerController(Instigator.controller).bRenderPortal = true;
00428	    DT_mem = DrawType;
00429	    SetDrawType(DT_none);
00430	    XIIIPlayerController(Instigator.controller).bBehindView = true;
00431	    C.DrawPortal(4,4,320*scale,240*scale,self,location,rotation);
00432	    XIIIPlayerController(Instigator.controller).bBehindView = false;
00433	    SetDrawType(DT_mem);
00434	    XIIIPlayerController(Instigator.controller).bRenderPortal = false;
00435	    */
00436	
00437	    MyHudForFX.PlayerOwner.Pawn.bOwnerNoSee = false;
00438	    if ( XIIIPlayerController(MyHudForFX.PlayerOwner).bWeaponMode )
00439	      MyHudForFX.PlayerOwner.Pawn.weapon.bOwnerNoSee = true;
00440	    else
00441	      MyHudForFX.PlayerOwner.Pawn.SelectedItem.bOwnerNoSee = true;
00442	    for (q=0; q<4; q++)
00443	    {
00444	      if (CamRemoved[q]==0 && CamPosition[q] != none && CamTarget[q] != none && deltaTime > CamStartDelay[q])
00445	      {
00446	        if (deltaTime < CamStartDelay[q] + CamDuration[q] || CamRemoving[q]==1)
00447	        {
00448	          if (CamInit[q]==0)
00449	          {
00450	            InitCam(q);
00451	          }
00452	        }
00453	        else if (CamRemoving[q]==0)
00454	        {
00455	          RemoveCam(q);
00456	        }
00457	        ExecuteCam(q);
00458	        DrawBorderWnd( c , CW[q], CH[q], CX[q], CY[q], 5, 5, CamBorderColor[q]);
00459	        C.DrawPortal(CX[q], CY[q], CW[q], CH[q], CamPosition[q], CamPosition[q].location, rotator(CamTarget[q].location + CamTargetOffset[q] - CamPosition[q].location), CamFOV[q]);
00460	
00461	        if (OnoTexture[q] != none && deltaTime > CamStartDelay[q]+OnoDelay[q] && deltaTime < CamStartDelay[q] + OnoDelay[q] + OnoDuration[q])
00462	        {
00463	          C.Style = ERenderStyle.STY_Alpha;
00464	          C.bUseBorder = false;
00465	          C.SetPos(OnoPosX[q] , OnoPosY[q]);
00466	          C.DrawTile(OnoTexture[q], OnoSizeX[q], OnoSizeY[q],0,0,OnoTexture[q].USize,OnoTexture[q].VSize);
00467	        }
00468	      }
00469	    }
00470	    MyHudForFX.PlayerOwner.Pawn.bOwnerNoSee = true;
00471	    if ( XIIIPlayerController(MyHudForFX.PlayerOwner).bWeaponMode )
00472	      MyHudForFX.PlayerOwner.Pawn.weapon.bOwnerNoSee = false;
00473	    else
00474	      MyHudForFX.PlayerOwner.Pawn.SelectedItem.bOwnerNoSee = false;
00475	
00476	    SetDrawType(DT_mem);
00477	    XIIIPlayerController(owner).bRenderPortal = false;
00478	    firstRenderThisFrame = true;
00479	  }
00480	}
00481	
00482	
00483	
00484	defaultproperties
00485	{
00486	     mainViewportDestinationX=200
00487	     mainViewportDestinationY=200
00488	     mainViewportDestinationW=200
00489	     mainViewportDestinationH=200
00490	     mainViewportDestinationTime=5.000000
00491	     mainViewportDurationTime=5.000000
00492	     mainViewportLeadOutTime=5.000000
00493	     mainBorderColor=(B=255,G=255,R=255,A=255)
00494	     firstRenderThisFrame=True
00495	     WhiteTex=Texture'XIIIMenu.HUD.blanc'
00496	     BlackTex=Texture'XIIIMenu.HUD.noir'
00497	     CamFOV(0)=45.000000
00498	     CamFOV(1)=45.000000
00499	     CamFOV(2)=45.000000
00500	     CamFOV(3)=45.000000
00501	     CamDuration(0)=4.000000
00502	     CamDuration(1)=4.000000
00503	     CamDuration(2)=4.000000
00504	     CamDuration(3)=4.000000
00505	     CamStartDelay(0)=0.500000
00506	     CamStartDelay(1)=0.500000
00507	     CamStartDelay(2)=0.500000
00508	     CamStartDelay(3)=0.500000
00509	     CamPosX(0)=100
00510	     CamPosX(1)=100
00511	     CamPosX(2)=250
00512	     CamPosX(3)=250
00513	     CamPosY(0)=100
00514	     CamPosY(1)=250
00515	     CamPosY(2)=250
00516	     CamPosY(3)=100
00517	     CamSizeX(0)=100
00518	     CamSizeX(1)=100
00519	     CamSizeX(2)=100
00520	     CamSizeX(3)=100
00521	     CamSizeY(0)=100
00522	     CamSizeY(1)=100
00523	     CamSizeY(2)=100
00524	     CamSizeY(3)=100
00525	     CamBorderColor(0)=(B=255,G=255,R=255,A=255)
00526	     CamBorderColor(1)=(B=255,G=255,R=255,A=255)
00527	     CamBorderColor(2)=(B=255,G=255,R=255,A=255)
00528	     CamBorderColor(3)=(B=255,G=255,R=255,A=255)
00529	     CamAppearSpeed(0)=5
00530	     CamAppearSpeed(1)=5
00531	     CamAppearSpeed(2)=5
00532	     CamAppearSpeed(3)=5
00533	     CamRemoveSpeed(0)=20
00534	     CamRemoveSpeed(1)=20
00535	     CamRemoveSpeed(2)=20
00536	     CamRemoveSpeed(3)=20
00537	}

End Source Code