Bottom line is, that anything that has multiple animation frames needs
to be rendered via the bucket.

In this case, I made it specific for the super cyborg droids.
Before patch, spawn a few super cyborg droids, and a few 'normal' ones.
Select them all.  Now move them around.
Looks like crap.
Apply patch.
Looks normal.



Index: src/display3d.c
===================================================================
--- src/display3d.c     (revision 4972)
+++ src/display3d.c     (working copy)
@@ -1543,7 +1543,17 @@
                                        if(psDroid->visible[selectedPlayer] || 
godMode || demoGetStatus())
                                        {
                                                psDroid->sDisplay.frameNumber = 
currentGameFrame;
-                                               renderDroid( (DROID *) psDroid);
+
+                                               // NOTE! : anything that has 
multiple (anim) frames *must* use
the bucket to render
+                                               // In this case, AFAICT only 
DROID_CYBORG_SUPER had the issue.
(Same issue as oil pump anim)
+                                               if(psDroid->droidType != 
DROID_CYBORG_SUPER)
+                                               {
+                                                       renderDroid( (DROID *) 
psDroid);
+                                               }
+                                               else
+                                               {       
+                                                       
bucketAddTypeToList(RENDER_DROID, psDroid);
+                                               }
                                                /* draw anim if visible */
                                                if ( psDroid->psCurAnim != NULL 
&&
                                                        
psDroid->psCurAnim->bVisible == true &&
Index: src/display3d.c
===================================================================
--- src/display3d.c	(revision 4972)
+++ src/display3d.c	(working copy)
@@ -1543,7 +1543,17 @@
 					if(psDroid->visible[selectedPlayer] || godMode || demoGetStatus())
 					{
 						psDroid->sDisplay.frameNumber = currentGameFrame;
-						renderDroid( (DROID *) psDroid);
+
+						// NOTE! : anything that has multiple (anim) frames *must* use the bucket to render
+						// In this case, AFAICT only DROID_CYBORG_SUPER had the issue.  (Same issue as oil pump anim)
+						if(psDroid->droidType != DROID_CYBORG_SUPER)
+						{
+							renderDroid( (DROID *) psDroid);
+						}
+						else
+						{	
+							bucketAddTypeToList(RENDER_DROID, psDroid);
+						}
 						/* draw anim if visible */
 						if ( psDroid->psCurAnim != NULL &&
 							psDroid->psCurAnim->bVisible == true &&
_______________________________________________
Warzone-dev mailing list
[email protected]
https://mail.gna.org/listinfo/warzone-dev

Reply via email to