stratagus-cvs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Stratagus-CVS] stratagus/src missile/missile.c unit/script_uni...


From: address@hidden
Subject: [Stratagus-CVS] stratagus/src missile/missile.c unit/script_uni...
Date: 25 Jan 2004 16:51:47 +1100

CVSROOT:        /home/strat
Module name:    stratagus
Changes by:      <address@hidden>       04/01/25 16:51:46

Modified files:
        src/missile    : missile.c 
        src/unit       : script_unit.c unit.c 

Log message:
        Load/Save Fixes
        Missiles (Global/Local) not at start
        CorpseVision not marked on load
        Corpse does not have animation Still for InitUnit

Patches:
Index: stratagus/src/missile/missile.c
diff -u stratagus/src/missile/missile.c:1.132 
stratagus/src/missile/missile.c:1.133
--- stratagus/src/missile/missile.c:1.132       Sun Jan 25 16:20:57 2004
+++ stratagus/src/missile/missile.c     Sun Jan 25 16:51:44 2004
@@ -26,7 +26,7 @@
 //      Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 //      02111-1307, USA.
 //
-//      $Id: missile.c,v 1.132 2004/01/25 05:20:57 wizzard Exp $
+//      $Id: missile.c,v 1.133 2004/01/25 05:51:44 wizzard Exp $
 
 //@{
 
@@ -1289,7 +1289,7 @@
 
        DebugCheck(file == NULL);
        CLprintf(file, "\n;;; -----------------------------------------\n");
-       CLprintf(file, ";;; MODULE: missile-types $Id: missile.c,v 1.132 
2004/01/25 05:20:57 wizzard Exp $\n\n");
+       CLprintf(file, ";;; MODULE: missile-types $Id: missile.c,v 1.133 
2004/01/25 05:51:44 wizzard Exp $\n\n");
 
        //
        // Original number to internal missile-type name.
@@ -1371,6 +1371,7 @@
        char* s1;
 
        CLprintf(file, "Missile(\"type\", \"%s\",", missile->Type->Ident);
+       CLprintf(file, " \"%s\",", missile->Local ? "local" : "global");
        CLprintf(file, " \"pos\", {%d, %d}, \"origin-pos\", {%d, %d}, \"goal\", 
{%d, %d},",
                missile->X, missile->Y, missile->SourceX, missile->SourceY, 
missile->DX, missile->DY);
        CLprintf(file, "\n  \"frame\", %d, \"state\", %d, \"anim-wait\", %d, 
\"wait\", %d, \"delay\", %d,\n ",
@@ -1395,7 +1396,6 @@
        CLprintf(file, " \"step\", {%d, %d},",
                missile->CurrentStep, missile->TotalStep);
 
-       CLprintf(file, " \"%s\"", missile->Local ? "local" : "global");
        // MissileSlot filled in during init
 
        CLprintf(file, ")\n");
@@ -1411,7 +1411,7 @@
        Missile* const* missiles;
 
        CLprintf(file,"\n--- -----------------------------------------\n");
-       CLprintf(file,"--- MODULE: missiles $Id: missile.c,v 1.132 2004/01/25 
05:20:57 wizzard Exp $\n\n");
+       CLprintf(file,"--- MODULE: missiles $Id: missile.c,v 1.133 2004/01/25 
05:51:44 wizzard Exp $\n\n");
 
        for (missiles = GlobalMissiles; *missiles; ++missiles) {
                SaveMissile(*missiles, file);
Index: stratagus/src/unit/script_unit.c
diff -u stratagus/src/unit/script_unit.c:1.97 
stratagus/src/unit/script_unit.c:1.98
--- stratagus/src/unit/script_unit.c:1.97       Fri Jan 23 05:12:28 2004
+++ stratagus/src/unit/script_unit.c    Sun Jan 25 16:51:45 2004
@@ -26,7 +26,7 @@
 //      Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 //      02111-1307, USA.
 //
-//      $Id: script_unit.c,v 1.97 2004/01/22 18:12:28 nobody_ Exp $
+//      $Id: script_unit.c,v 1.98 2004/01/25 05:51:45 wizzard Exp $
 
 //@{
 
@@ -950,6 +950,11 @@
        //  Revealers are units that can see while removed
        if (unit->Removed && unit->Type->Revealer) {
                        MapMarkUnitSight(unit);
+       }
+
+       // Units Dieing may have sight
+       if (unit->Removed && unit->Orders[0].Action == UnitActionDie) {
+               MapMarkUnitSight(unit);
        }
 
        //              Place on map
Index: stratagus/src/unit/unit.c
diff -u stratagus/src/unit/unit.c:1.375 stratagus/src/unit/unit.c:1.376
--- stratagus/src/unit/unit.c:1.375     Sun Jan 25 15:50:14 2004
+++ stratagus/src/unit/unit.c   Sun Jan 25 16:51:45 2004
@@ -26,7 +26,7 @@
 //      Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 //      02111-1307, USA.
 //
-//      $Id: unit.c,v 1.375 2004/01/25 04:50:14 wizzard Exp $
+//      $Id: unit.c,v 1.376 2004/01/25 05:51:45 wizzard Exp $
 
 //@{
 
@@ -316,8 +316,12 @@
 
        unit->Seen.Frame = UnitNotSeen;                         // Unit isn't 
yet seen
 
-       unit->Frame = unit->Type->Animations->Still[0].Frame +
-               (type->Building ? 0 : type->NumDirections / 2 + 1 - 1);
+       // On Load, Some units don't have Still animation, eg Deadbody
+       if (unit->Type->Animations->Still) {
+               unit->Frame = unit->Type->Animations->Still[0].Frame +
+                       (type->Building ? 0 : type->NumDirections / 2 + 1 - 1);
+       }
+
        if (!type->Building && type->Sprite &&
                        VideoGraphicFrames(type->Sprite) > 5) {
                unit->Direction = (MyRand() >> 8) & 0xFF;               // 
random heading
@@ -3766,7 +3770,7 @@
        int j;
 
        CLprintf(file, "\n--- -----------------------------------------\n");
-       CLprintf(file, "--- MODULE: units $Id: unit.c,v 1.375 2004/01/25 
04:50:14 wizzard Exp $\n\n");
+       CLprintf(file, "--- MODULE: units $Id: unit.c,v 1.376 2004/01/25 
05:51:45 wizzard Exp $\n\n");
 
 #if 0
        //




reply via email to

[Prev in Thread] Current Thread [Next in Thread]