@@ -390,11 +390,11 @@ CW3DViewDoc::InitScene (void)
390390 ASSERT (m_pC2DScene);
391391
392392 // Instantiate a new 2D cursor scene
393- m_pCursorScene = new SimpleSceneClass;
393+ m_pCursorScene = RefCountPtr<SceneClass>:: Create_NoAddRef ( new SimpleSceneClass) ;
394394 ASSERT (m_pCursorScene);
395395
396396 Create_Cursor ();
397- m_pCursorScene->Add_Render_Object (m_pCursor);
397+ m_pCursorScene->Add_Render_Object (m_pCursor. Peek () );
398398
399399
400400 m_pCBackObjectScene = new SimpleSceneClass;
@@ -719,17 +719,17 @@ CW3DViewDoc::DisplayObject
719719 m_pCRenderObj->Set_Transform (Matrix3D (1 ));
720720
721721 // Add this object to the scene
722- if (m_pCRenderObj->Class_ID () == RenderObjClass::CLASSID_BITMAP2D) {
723- m_pC2DScene->Add_Render_Object (m_pCRenderObj);
724- } else {
725- m_pCScene->Clear_Lineup ();
726- m_pCScene->Add_Render_Object (m_pCRenderObj);
727- }
722+ if (m_pCRenderObj->Class_ID () == RenderObjClass::CLASSID_BITMAP2D) {
723+ m_pC2DScene->Add_Render_Object (m_pCRenderObj);
724+ } else {
725+ m_pCScene->Clear_Lineup ();
726+ m_pCScene->Add_Render_Object (m_pCRenderObj);
727+ }
728728
729729 // Reset the current lod to be the lowest possible LOD...
730730 if ((m_pCScene->Are_LODs_Switching ()) &&
731731 (m_pCRenderObj->Class_ID () == RenderObjClass::CLASSID_HLOD)) {
732- ((HLodClass *)m_pCRenderObj. Peek () )->Set_LOD_Level (0 );
732+ ((HLodClass *)m_pCRenderObj)->Set_LOD_Level (0 );
733733 }
734734
735735 CGraphicView *pCGraphicView = GetGraphicView ();
@@ -825,7 +825,7 @@ CW3DViewDoc::StepAnimation (int iFrameInc)
825825
826826 m_pCRenderObj->Set_Animation (m_pCAnimCombo);
827827 } else {
828- m_pCRenderObj->Set_Animation (m_pCAnimation, m_CurrentFrame);
828+ m_pCRenderObj->Set_Animation (m_pCAnimation. Peek () , m_CurrentFrame);
829829 }
830830
831831 Update_Camera ();
@@ -873,7 +873,7 @@ CW3DViewDoc::PlayAnimation
873873 if (m_pCRenderObj)
874874 {
875875 // Update the animation frame
876- m_pCRenderObj->Set_Animation (m_pCAnimation, 0 );
876+ m_pCRenderObj->Set_Animation (m_pCAnimation. Peek () , 0 );
877877
878878 CGraphicView *pCGraphicView = GetGraphicView ();
879879 if (pCGraphicView)
@@ -1040,8 +1040,8 @@ CW3DViewDoc::Update_Camera (void)
10401040 // Should we update the camera's position as well?
10411041 if (m_bAnimateCamera && m_pCRenderObj != NULL ) {
10421042
1043- Matrix3D transform (1 );
1044- if (Get_Camera_Transform (m_pCRenderObj, transform)) {
1043+ Matrix3D transform (1 );
1044+ if (Get_Camera_Transform (m_pCRenderObj. Peek () , transform)) {
10451045
10461046 // Convert the bone's transform into a camera transform
10471047 // Matrix3D transform = m_pCRenderObj->Get_Bone_Transform (index);
@@ -1105,9 +1105,9 @@ CW3DViewDoc::UpdateFrame (float relativeTimeSlice)
11051105
11061106 m_pCRenderObj->Set_Animation (m_pCAnimCombo);
11071107 } else if (m_bAnimBlend) {
1108- m_pCRenderObj->Set_Animation (m_pCAnimation, m_CurrentFrame);
1108+ m_pCRenderObj->Set_Animation (m_pCAnimation. Peek () , m_CurrentFrame);
11091109 } else {
1110- m_pCRenderObj->Set_Animation (m_pCAnimation, (int )m_CurrentFrame);
1110+ m_pCRenderObj->Set_Animation (m_pCAnimation. Peek () , (int )m_CurrentFrame);
11111111 }
11121112
11131113 Update_Camera ();
@@ -1866,7 +1866,7 @@ CW3DViewDoc::Remove_Object_From_Scene (RenderObjClass *prender_obj)
18661866{
18671867 // If the render object is NULL, then remove the current render object
18681868 if (prender_obj == NULL ) {
1869- prender_obj = m_pCRenderObj;
1869+ prender_obj = m_pCRenderObj. Peek () ;
18701870 }
18711871
18721872 // Recursively remove objects from the scene (to make sure we get all particle buffers)
@@ -2430,7 +2430,7 @@ CW3DViewDoc::Make_Movie (void)
24302430 m_pCRenderObj->Set_Animation (m_pCAnimCombo);
24312431 }
24322432 else
2433- m_pCRenderObj->Set_Animation (m_pCAnimation, (int )0 );
2433+ m_pCRenderObj->Set_Animation (m_pCAnimation. Peek () , (int )0 );
24342434 graphic_view->RepaintView (FALSE );
24352435
24362436 // Begin our movie
@@ -2452,7 +2452,7 @@ CW3DViewDoc::Make_Movie (void)
24522452 m_pCRenderObj->Set_Animation (m_pCAnimCombo);
24532453 }
24542454 else
2455- m_pCRenderObj->Set_Animation (m_pCAnimation, frame);
2455+ m_pCRenderObj->Set_Animation (m_pCAnimation. Peek () , frame);
24562456
24572457 // Should we be updating the camera?
24582458 if (m_bAnimateCamera) {
@@ -2512,7 +2512,7 @@ CW3DViewDoc::Build_Emitter_List
25122512 // If the render object is NULL, then start from the current render object
25132513 //
25142514 if (render_obj == NULL ) {
2515- render_obj = m_pCRenderObj;
2515+ render_obj = m_pCRenderObj. Peek () ;
25162516 }
25172517
25182518 //
@@ -2591,7 +2591,7 @@ void
25912591CW3DViewDoc::Create_Cursor (void )
25922592{
25932593 if (m_pCursor == NULL ) {
2594- m_pCursor = new ScreenCursorClass;
2594+ m_pCursor = RefCountPtr<ScreenCursorClass>:: Create_NoAddRef ( new ScreenCursorClass) ;
25952595 m_pCursor->Set_Window (GetGraphicView ()->m_hWnd );
25962596 m_pCursor->Set_Texture (::Load_RC_Texture (" cursor.tga" ));
25972597 }
@@ -2614,7 +2614,7 @@ CW3DViewDoc::Count_Particles (RenderObjClass *render_obj)
26142614 // If the render object is NULL, then start from the current render object
26152615 //
26162616 if (render_obj == NULL ) {
2617- render_obj = m_pCRenderObj;
2617+ render_obj = m_pCRenderObj. Peek () ;
26182618 }
26192619
26202620 //
@@ -2674,7 +2674,7 @@ CW3DViewDoc::Switch_LOD (int increment, RenderObjClass *render_obj)
26742674 // If the render object is NULL, then start from the current render object
26752675 //
26762676 if (render_obj == NULL ) {
2677- render_obj = m_pCRenderObj;
2677+ render_obj = m_pCRenderObj. Peek () ;
26782678 }
26792679
26802680 //
@@ -2714,7 +2714,7 @@ CW3DViewDoc::Toggle_Alternate_Materials(RenderObjClass * render_obj)
27142714 // If the render object is NULL, start from the current render object
27152715 //
27162716 if (render_obj == NULL ) {
2717- render_obj = m_pCRenderObj;
2717+ render_obj = m_pCRenderObj. Peek () ;
27182718 }
27192719
27202720 if (render_obj != NULL ) {
0 commit comments