stratagus-cvs
[Top][All Lists]
Advanced

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

[Stratagus-CVS] stratagus data/ccl/anim.ccl data/ccl/sound.ccl ...


From: Jimmy Salmon
Subject: [Stratagus-CVS] stratagus data/ccl/anim.ccl data/ccl/sound.ccl ...
Date: Fri, 31 Oct 2003 01:18:57 -0500

CVSROOT:        /cvsroot/stratagus
Module name:    stratagus
Branch:         
Changes by:     Jimmy Salmon <address@hidden>   03/10/31 01:18:56

Modified files:
        data/ccl       : anim.ccl sound.ccl 
        data/ccl/human : units.ccl 
        data/ccl/orc   : units.ccl 
        doc/ccl        : unittype.html 
        src/action     : action_repair.c 
        src/include    : sound.h unit.h unitsound.h unittype.h 
        src/sound      : ccl_sound.c sound.c unitsound.c 
        src/ui         : mouse.c 
        src/unit       : ccl_unittype.c unittype.c 

Log message:
        Added repair animation and sound

Patches:
Index: stratagus/data/ccl/anim.ccl
diff -u stratagus/data/ccl/anim.ccl:1.21 stratagus/data/ccl/anim.ccl:1.22
--- stratagus/data/ccl/anim.ccl:1.21    Mon Oct 27 04:24:21 2003
+++ stratagus/data/ccl/anim.ccl Fri Oct 31 01:18:55 2003
@@ -26,7 +26,7 @@
 ;;      along with this program; if not, write to the Free Software
 ;;      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  
USA
 ;;
-;;     $Id: anim.ccl,v 1.21 2003/10/27 09:24:21 mr-russ Exp $
+;;     $Id: anim.ccl,v 1.22 2003/10/31 06:18:55 jsalmon3 Exp $
 
 ;;------
 ;;     Footman, Grunt, Grom Hellscream, Danath, Korgath Bladefist
@@ -53,6 +53,9 @@
     #( 0 3   1  10) #( 0 2   1   0) #( 0 3   2   0) #( 0 3   1  15)
     #( 0 3   2  15) #( 0 2   1  20) #( 0 3   1  20) #( 3 2   1   0))
   'attack '(   ; #25
+    #( 0 0   3  25) #( 0 0   3  30) #( 0 0   3  35) #(12 0   5  40)
+    #( 0 0   3  45) #( 0 0   7  25) #( 3 0   1  25))
+  'repair '(   ; #25
     #( 0 0   3  25) #( 0 0   3  30) #( 0 0   3  35) #(12 0   5  40)
     #( 0 0   3  45) #( 0 0   7  25) #( 3 0   1  25))
   'die '(      ; #107
Index: stratagus/data/ccl/human/units.ccl
diff -u stratagus/data/ccl/human/units.ccl:1.46 
stratagus/data/ccl/human/units.ccl:1.47
--- stratagus/data/ccl/human/units.ccl:1.46     Thu Oct 23 21:58:32 2003
+++ stratagus/data/ccl/human/units.ccl  Fri Oct 31 01:18:55 2003
@@ -26,7 +26,7 @@
 ;;      along with this program; if not, write to the Free Software
 ;;      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  
USA
 ;;
-;;     $Id: units.ccl,v 1.46 2003/10/24 01:58:32 n0body Exp $
+;;     $Id: units.ccl,v 1.47 2003/10/31 06:18:55 jsalmon3 Exp $
 
 ;;=============================================================================
 ;;     Define unit-types.
@@ -52,7 +52,7 @@
   'corpse '(unit-dead-body 6)
   'type-land
   'right-attack
-  'can-attack 'repair-range 1
+  'can-attack
   'can-target-land
   'land-unit
   'organic
@@ -109,6 +109,7 @@
     selected "peasant-selected"
     acknowledge "peasant-acknowledge"
     ready "peasant-ready"
+;    repair "peasant-attack"
     help "basic human voices help 1"
     dead "basic human voices dead"
     attack "peasant-attack"))
Index: stratagus/data/ccl/orc/units.ccl
diff -u stratagus/data/ccl/orc/units.ccl:1.48 
stratagus/data/ccl/orc/units.ccl:1.49
--- stratagus/data/ccl/orc/units.ccl:1.48       Thu Oct 23 21:58:32 2003
+++ stratagus/data/ccl/orc/units.ccl    Fri Oct 31 01:18:55 2003
@@ -26,7 +26,7 @@
 ;;      along with this program; if not, write to the Free Software
 ;;      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  
USA
 ;;
-;;     $Id: units.ccl,v 1.48 2003/10/24 01:58:32 n0body Exp $
+;;     $Id: units.ccl,v 1.49 2003/10/31 06:18:55 jsalmon3 Exp $
 
 ;;=============================================================================
 ;;     Define unit-types.
@@ -105,6 +105,7 @@
     selected "peon-selected"
     acknowledge "peon-acknowledge"
     ready "peon-ready"
+;    repair "peon-attack"
     help "basic orc voices help 1"
     dead "basic orc voices dead"
     attack "peon-attack"))
Index: stratagus/data/ccl/sound.ccl
diff -u stratagus/data/ccl/sound.ccl:1.36 stratagus/data/ccl/sound.ccl:1.37
--- stratagus/data/ccl/sound.ccl:1.36   Thu Sep 25 23:33:04 2003
+++ stratagus/data/ccl/sound.ccl        Fri Oct 31 01:18:55 2003
@@ -26,7 +26,7 @@
 ;;      along with this program; if not, write to the Free Software
 ;;      Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  
USA
 ;;
-;;     $Id: sound.ccl,v 1.36 2003/09/26 03:33:04 jsalmon3 Exp $
+;;     $Id: sound.ccl,v 1.37 2003/10/31 06:18:55 jsalmon3 Exp $
 
 ;;     Uncomment this to enable threaded sound
 ;(sound-thread)
@@ -825,11 +825,6 @@
 
   'work-complete (list 'human (make-sound "basic human voices work complete" 
"human/basic_voices/work_complete.wav"))
   'work-complete (list 'orc (make-sound "basic orc voices work complete" 
"orc/basic_voices/work_complete.wav"))
-
-  ;; Repair sound is disabled as default
-  ;;'repair #t
-  ;;'repair (sound-for-name "peasant attack")
-  ;;'repair (make-sound "peasant attack" "human/units/peasant/attack.wav")
 
   'rescue (list 'human (make-sound "human rescue" "human/rescue.wav"))
   'rescue (list 'orc (make-sound "orc rescue" "orc/rescue.wav")) )
Index: stratagus/doc/ccl/unittype.html
diff -u stratagus/doc/ccl/unittype.html:1.39 
stratagus/doc/ccl/unittype.html:1.40
--- stratagus/doc/ccl/unittype.html:1.39        Tue Oct 28 07:08:27 2003
+++ stratagus/doc/ccl/unittype.html     Fri Oct 31 01:18:55 2003
@@ -286,6 +286,7 @@
     <li>attack: Attack sound of the unit. Used when giving an attack order, it
     can override the acknowledge sound.
     <li>ready: Happens when the unit finished training (and it's ready) 
+    <li>repair: Happens when the unit is repairing.
     <li>help: Happens when the unit is under attack.
     <li>dead: Happens when the unit is killed.
     </ul>
@@ -767,7 +768,7 @@
 <h4>Not Used</h4>
 
 <hr>
-Last changed: $Id: unittype.html,v 1.39 2003/10/28 12:08:27 n0body Exp $<br>
+Last changed: $Id: unittype.html,v 1.40 2003/10/31 06:18:55 jsalmon3 Exp $<br>
 All trademarks and copyrights on this page are owned by their respective 
owners.
 <address>(c) 2002-2003 by <a href="http://stratagus.org";>
 The Stratagus Project</a></address></body></html>
Index: stratagus/src/action/action_repair.c
diff -u stratagus/src/action/action_repair.c:1.55 
stratagus/src/action/action_repair.c:1.56
--- stratagus/src/action/action_repair.c:1.55   Fri Oct  3 18:16:26 2003
+++ stratagus/src/action/action_repair.c        Fri Oct 31 01:18:55 2003
@@ -10,7 +10,7 @@
 //
 /address@hidden action_repair.c        -       The repair action. */
 //
-//     (c) Copyright 1999-2002 by Vladi Shabanski
+//     (c) Copyright 1999-2003 by Vladi Shabanski and Jimmy Salmon
 //
 //      This program is free software; you can redistribute it and/or modify
 //      it under the terms of the GNU General Public License as published by
@@ -26,7 +26,7 @@
 //      Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 //      02111-1307, USA.
 //
-//     $Id: action_repair.c,v 1.55 2003/10/03 22:16:26 jsalmon3 Exp $
+//     $Id: action_repair.c,v 1.56 2003/10/31 06:18:55 jsalmon3 Exp $
 
 //@{
 
@@ -67,11 +67,7 @@
 
 #ifdef WITH_SOUND
     if ((flags & AnimationSound)) {
-       if (GameSounds.Repair.Sound == (void*)-1) {
-           PlayUnitSound(unit, VoiceAttacking);
-       } else {
-           PlayUnitSound(unit, VoiceRepair);
-       }
+       PlayUnitSound(unit, VoiceRepairing);
     }
 #endif
 }
@@ -143,7 +139,7 @@
        //  Calculate the length of the attack (repair) anim.
        //
        animlength = 0;
-       for (anim = unit->Type->Animations->Attack; !(anim->Flags & 
AnimationReset); ++anim) {
+       for (anim = unit->Type->Animations->Repair; !(anim->Flags & 
AnimationReset); ++anim) {
            animlength += anim->Sleep;
        }
 
@@ -181,9 +177,8 @@
 local int AnimateActionRepair(Unit* unit)
 {
     if (unit->Type->Animations) {
-       DebugCheck(!unit->Type->Animations->Attack);
-       // FIXME: A seperate repair animation would be nice?
-       DoActionRepairGeneric(unit, unit->Type->Animations->Attack);
+       DebugCheck(!unit->Type->Animations->Repair);
+       DoActionRepairGeneric(unit, unit->Type->Animations->Repair);
     }
 
     return 0;
@@ -254,7 +249,7 @@
                //
                //      Have reached target? FIXME: could use return value
                //
-               if(goal && MapDistanceBetweenUnits(unit, goal) <= 
unit->Type->RepairRange &&
+               if (goal && MapDistanceBetweenUnits(unit, goal) <= 
unit->Type->RepairRange &&
                        goal->HP < goal->Type->Stats->HitPoints) {
                    unit->State = 0;
                    unit->SubAction = 2;
Index: stratagus/src/include/sound.h
diff -u stratagus/src/include/sound.h:1.45 stratagus/src/include/sound.h:1.46
--- stratagus/src/include/sound.h:1.45  Thu Sep 25 23:33:04 2003
+++ stratagus/src/include/sound.h       Fri Oct 31 01:18:56 2003
@@ -26,7 +26,7 @@
 //      Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 //      02111-1307, USA.
 //
-//     $Id: sound.h,v 1.45 2003/09/26 03:33:04 jsalmon3 Exp $
+//     $Id: sound.h,v 1.46 2003/10/31 06:18:56 jsalmon3 Exp $
 
 #ifndef __SOUND_H__
 #define __SOUND_H__
@@ -63,8 +63,6 @@
 
 //FIXME: (Fabrice) I don't think it's the correct place to put this
     SoundConfig WorkComplete[MAX_RACES];/// building ready
-
-    SoundConfig Repair;                        /// repair sound
 
     SoundConfig Rescue[MAX_RACES];     /// rescue units
 } GameSound;
Index: stratagus/src/include/unit.h
diff -u stratagus/src/include/unit.h:1.224 stratagus/src/include/unit.h:1.225
--- stratagus/src/include/unit.h:1.224  Sat Oct 25 19:10:44 2003
+++ stratagus/src/include/unit.h        Fri Oct 31 01:18:56 2003
@@ -26,7 +26,7 @@
 //      Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 //      02111-1307, USA.
 //
-//     $Id: unit.h,v 1.224 2003/10/25 23:10:44 n0body Exp $
+//     $Id: unit.h,v 1.225 2003/10/31 06:18:56 jsalmon3 Exp $
 
 #ifndef __UNIT_H__
 #define __UNIT_H__
@@ -457,7 +457,7 @@
     VoiceBuilding,                     /// only for building under construction
     VoiceDocking,                      /// only for transport reaching coast
     VoiceTreeChopping,                 /// only worker tree chopping
-    VoiceRepair,                       /// only worker repairing
+    VoiceRepairing,                    /// repairing
 } UnitVoiceGroup;
 
 /**
Index: stratagus/src/include/unitsound.h
diff -u stratagus/src/include/unitsound.h:1.17 
stratagus/src/include/unitsound.h:1.18
--- stratagus/src/include/unitsound.h:1.17      Fri Jul 11 10:35:30 2003
+++ stratagus/src/include/unitsound.h   Fri Oct 31 01:18:56 2003
@@ -10,7 +10,8 @@
 //
 /address@hidden unitsound.h    -       The unit sounds headerfile. */
 //
-//     (c) Copyright 1999,2001 by Lutz Sammer and Fabrice Rossi
+//     (c) Copyright 1999,2001-2003 by Lutz Sammer, Fabrice Rossi,
+//                                  and Jimmy Salmon
 //
 //      This program is free software; you can redistribute it and/or modify
 //      it under the terms of the GNU General Public License as published by
@@ -26,7 +27,7 @@
 //      Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 //      02111-1307, USA.
 //
-//     $Id: unitsound.h,v 1.17 2003/07/11 14:35:30 n0body Exp $
+//     $Id: unitsound.h,v 1.18 2003/10/31 06:18:56 jsalmon3 Exp $
 
 #ifndef __UNITSOUND_H__
 #define __UNITSOUND_H__
@@ -60,6 +61,7 @@
     SoundConfig        Selected;               /// selected by user
     SoundConfig        Acknowledgement;        /// acknowledge of use command
     SoundConfig        Ready;                  /// unit training... ready
+    SoundConfig        Repair;                 /// unit repairing
     SoundConfig        Help;                   /// unit is attacked
     SoundConfig        Dead;                   /// unit is killed
 } UnitSound;
Index: stratagus/src/include/unittype.h
diff -u stratagus/src/include/unittype.h:1.125 
stratagus/src/include/unittype.h:1.126
--- stratagus/src/include/unittype.h:1.125      Tue Oct 28 16:56:16 2003
+++ stratagus/src/include/unittype.h    Fri Oct 31 01:18:56 2003
@@ -26,7 +26,7 @@
 //      Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 //      02111-1307, USA.
 //
-//     $Id: unittype.h,v 1.125 2003/10/28 21:56:16 n0body Exp $
+//     $Id: unittype.h,v 1.126 2003/10/31 06:18:56 jsalmon3 Exp $
 
 #ifndef __UNITTYPE_H__
 #define __UNITTYPE_H__
@@ -590,6 +590,7 @@
     Animation* Still;                  /// Standing still
     Animation* Move;                   /// Unit moving
     Animation* Attack;                 /// Unit attacking/working
+    Animation* Repair;                 /// Unit repairing
     Animation* Die;                    /// Unit dieing
     Animation**        Extend;                 /// For future extensions
 } Animations;
Index: stratagus/src/sound/ccl_sound.c
diff -u stratagus/src/sound/ccl_sound.c:1.54 
stratagus/src/sound/ccl_sound.c:1.55
--- stratagus/src/sound/ccl_sound.c:1.54        Thu Oct 23 14:38:36 2003
+++ stratagus/src/sound/ccl_sound.c     Fri Oct 31 01:18:56 2003
@@ -26,7 +26,7 @@
 //      Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 //      02111-1307, USA.
 //
-//     $Id: ccl_sound.c,v 1.54 2003/10/23 18:38:36 n0body Exp $
+//     $Id: ccl_sound.c,v 1.55 2003/10/31 06:18:56 jsalmon3 Exp $
 
 //@{
 
@@ -347,14 +347,6 @@
                ExitFatal(1);
            }
            GameSounds.WorkComplete[i].Sound = CCL_SOUND_ID(data);
-       } else if (gh_eq_p(value,gh_symbol2scm("repair"))) {
-           data = gh_car(list);
-           list = gh_cdr(list);
-           if (!CCL_SOUNDP(data)) {
-               GameSounds.Repair.Sound = (void*)-1;
-           } else {
-               GameSounds.Repair.Sound = CCL_SOUND_ID(data);
-           }
        } else if (gh_eq_p(value,gh_symbol2scm("rescue"))) {
            sublist = gh_car(list);
            list = gh_cdr(list);
Index: stratagus/src/sound/sound.c
diff -u stratagus/src/sound/sound.c:1.43 stratagus/src/sound/sound.c:1.44
--- stratagus/src/sound/sound.c:1.43    Wed Oct  1 19:56:21 2003
+++ stratagus/src/sound/sound.c Fri Oct 31 01:18:56 2003
@@ -26,7 +26,7 @@
 //      Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 //      02111-1307, USA.
 //
-//     $Id: sound.c,v 1.43 2003/10/01 23:56:21 jsalmon3 Exp $
+//     $Id: sound.c,v 1.44 2003/10/31 06:18:56 jsalmon3 Exp $
 
 //@{
 
@@ -84,7 +84,6 @@
     {  { "basic human voices work complete", NULL },
        { "basic orc voices work complete", NULL },
     },
-    { "repair", NULL },
     {  { "rescue (human) UNUSED", NULL },
        { "rescue (orc) UNUSED", NULL },
     },
@@ -185,8 +184,8 @@
            return GameSounds.BuildingConstruction.Sound;
        case VoiceDocking:
            return GameSounds.Docking.Sound;
-       case VoiceRepair:
-           return GameSounds.Repair.Sound;
+       case VoiceRepairing:
+           return unit->Type->Sound.Repair.Sound;
     }
     return NULL;
 }
@@ -333,10 +332,6 @@
            GameSounds.WorkComplete[i].Sound =
                SoundIdForName(GameSounds.WorkComplete[i].Name);
        }
-    }
-    if (!GameSounds.Repair.Sound) {
-       GameSounds.Repair.Sound =
-           SoundIdForName(GameSounds.Repair.Name);
     }
     for (i = 0; i < PlayerRaces.Count; ++i) {
        if (!GameSounds.Rescue[i].Sound && GameSounds.Rescue[i].Name) {
Index: stratagus/src/sound/unitsound.c
diff -u stratagus/src/sound/unitsound.c:1.23 
stratagus/src/sound/unitsound.c:1.24
--- stratagus/src/sound/unitsound.c:1.23        Wed Oct  1 20:11:34 2003
+++ stratagus/src/sound/unitsound.c     Fri Oct 31 01:18:56 2003
@@ -10,7 +10,7 @@
 //
 /address@hidden unitsound.c    -       The unit sounds. */
 //
-//     (c) Copyright 1999-2001 by Fabrice Rossi
+//     (c) Copyright 1999-2001,2003 by Fabrice Rossi and Jimmy Salmon
 //
 //      This program is free software; you can redistribute it and/or modify
 //      it under the terms of the GNU General Public License as published by
@@ -26,7 +26,7 @@
 //      Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 //      02111-1307, USA.
 //
-//     $Id: unitsound.c,v 1.23 2003/10/02 00:11:34 jsalmon3 Exp $
+//     $Id: unitsound.c,v 1.24 2003/10/31 06:18:56 jsalmon3 Exp $
 
 //@{
 
@@ -285,6 +285,10 @@
                // Ready sounds have infinite range
                SetSoundRange(type->Sound.Ready.Sound,
                    INFINITE_SOUND_RANGE);
+           }
+           if (type->Sound.Repair.Name) {
+               type->Sound.Repair.Sound =
+                   SoundIdForName(type->Sound.Repair.Name);
            }
            // FIXME: will be modified, attack sound be moved to missile/weapon
            if (type->Weapon.Attack.Name) {
Index: stratagus/src/ui/mouse.c
diff -u stratagus/src/ui/mouse.c:1.158 stratagus/src/ui/mouse.c:1.159
--- stratagus/src/ui/mouse.c:1.158      Sat Oct 25 14:58:43 2003
+++ stratagus/src/ui/mouse.c    Fri Oct 31 01:18:56 2003
@@ -26,7 +26,7 @@
 //      Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 //      02111-1307, USA.
 //
-//     $Id: mouse.c,v 1.158 2003/10/25 18:58:43 n0body Exp $
+//     $Id: mouse.c,v 1.159 2003/10/31 06:18:56 jsalmon3 Exp $
 
 //@{
 
@@ -199,9 +199,9 @@
            if (unit->Type->Harvester) {
                if (dest) {
                    //  Return a loaded harvester to deposit
-                   if ((unit->Value > 0) &&
-                           (dest->Type->CanStore[unit->CurrentResource]) &&
-                           (dest->Player == unit->Player)) {
+                   if (unit->Value > 0 &&
+                           dest->Type->CanStore[unit->CurrentResource] &&
+                           dest->Player == unit->Player) {
                        dest->Blink = 4;
                        DebugLevel3Fn("Return to deposit.\n");
                        SendCommandReturnGoods(unit, dest, flush);
@@ -209,9 +209,9 @@
                    } 
                    //  Go and harvest from a building
                    if ((res = dest->Type->GivesResource) &&
-                           (unit->Type->ResInfo[res]) &&
-                           (unit->Value < 
unit->Type->ResInfo[res]->ResourceCapacity) &&
-                           (dest->Type->CanHarvest) &&
+                           unit->Type->ResInfo[res] &&
+                           unit->Value < 
unit->Type->ResInfo[res]->ResourceCapacity &&
+                           dest->Type->CanHarvest &&
                            (dest->Player == unit->Player ||
                                (dest->Player->Player == PlayerMax - 1))) {
                        dest->Blink = 4;
@@ -221,12 +221,12 @@
                } else {
                    // FIXME: support harvesting more types of terrain.
                    for (res = 0; res < MaxCosts; ++res) {
-                       if ((unit->Type->ResInfo[res]) &&
-                               (unit->Type->ResInfo[res]->TerrainHarvester) && 
-                               (IsMapFieldExplored(unit->Player, x, y)) &&
-                               (ForestOnMap(x, y)) &&
+                       if (unit->Type->ResInfo[res] &&
+                               unit->Type->ResInfo[res]->TerrainHarvester && 
+                               IsMapFieldExplored(unit->Player, x, y) &&
+                               ForestOnMap(x, y) &&
                                ((unit->CurrentResource != res) ||
-                               (unit->Value < 
unit->Type->ResInfo[res]->ResourceCapacity))) {
+                                   (unit->Value < 
unit->Type->ResInfo[res]->ResourceCapacity))) {
                            DebugLevel3("Sent worker to cut wood.\n");
                            SendCommandResourceLoc(unit, x, y,flush);
                            break;
@@ -238,8 +238,8 @@
                }
            }
            //  Go and repair
-           if ((unit->Type->RepairRange) && dest &&
-                   (dest->Type->RepairHP) &&
+           if (unit->Type->RepairRange && dest &&
+                   dest->Type->RepairHP &&
                    dest->HP < dest->Stats->HitPoints &&
                    (dest->Player == unit->Player || IsAllied(dest->Player, 
dest))) {
                dest->Blink = 4;
Index: stratagus/src/unit/ccl_unittype.c
diff -u stratagus/src/unit/ccl_unittype.c:1.103 
stratagus/src/unit/ccl_unittype.c:1.104
--- stratagus/src/unit/ccl_unittype.c:1.103     Tue Oct 28 07:08:30 2003
+++ stratagus/src/unit/ccl_unittype.c   Fri Oct 31 01:18:56 2003
@@ -26,7 +26,7 @@
 //      Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 //      02111-1307, USA.
 //
-//     $Id: ccl_unittype.c,v 1.103 2003/10/28 12:08:30 n0body Exp $
+//     $Id: ccl_unittype.c,v 1.104 2003/10/31 06:18:56 jsalmon3 Exp $
 
 //@{
 
@@ -595,6 +595,13 @@
                    type->Sound.Ready.Name = gh_scm2newstr(
                        gh_car(sublist), NULL);
                    sublist = gh_cdr(sublist);
+               } else if (gh_eq_p(value, gh_symbol2scm("repair"))) {
+                   if (redefine) {
+                       free(type->Sound.Repair.Name);
+                   }
+                   type->Sound.Repair.Name = gh_scm2newstr(
+                       gh_car(sublist), NULL);
+                   sublist = gh_cdr(sublist);
                } else if (gh_eq_p(value, gh_symbol2scm("help"))) {
                    if (redefine) {
                        free(type->Sound.Help.Name);
@@ -1013,6 +1020,11 @@
                free(anims->Attack);
            }
            anims->Attack = anim;
+       } else if (gh_eq_p(id, gh_symbol2scm("repair"))) {
+           if (anims->Repair) {
+               free(anims->Repair);
+           }
+           anims->Repair = anim;
        } else if (gh_eq_p(id, gh_symbol2scm("die"))) {
            if (anims->Die) {
                free(anims->Die);
Index: stratagus/src/unit/unittype.c
diff -u stratagus/src/unit/unittype.c:1.120 stratagus/src/unit/unittype.c:1.121
--- stratagus/src/unit/unittype.c:1.120 Tue Oct 28 07:08:30 2003
+++ stratagus/src/unit/unittype.c       Fri Oct 31 01:18:56 2003
@@ -26,7 +26,7 @@
 //      Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
 //      02111-1307, USA.
 //
-//     $Id: unittype.c,v 1.120 2003/10/28 12:08:30 n0body Exp $
+//     $Id: unittype.c,v 1.121 2003/10/31 06:18:56 jsalmon3 Exp $
 
 //@{
 
@@ -1067,6 +1067,9 @@
     if (type->Sound.Ready.Name) {
        CLprintf(file, "\n    ready \"%s\"", type->Sound.Ready.Name);
     }
+    if (type->Sound.Repair.Name) {
+       CLprintf(file, "\n    repair \"%s\"", type->Sound.Repair.Name);
+    }
     if (type->Sound.Help.Name) {
        CLprintf(file, "\n    help \"%s\"", type->Sound.Help.Name);
     }
@@ -1168,7 +1171,7 @@
     char** sp;
 
     CLprintf(file, "\n;;; -----------------------------------------\n");
-    CLprintf(file, ";;; MODULE: unittypes $Id: unittype.c,v 1.120 2003/10/28 
12:08:30 n0body Exp $\n\n");
+    CLprintf(file, ";;; MODULE: unittypes $Id: unittype.c,v 1.121 2003/10/31 
06:18:56 jsalmon3 Exp $\n\n");
 
     // Original number to internal unit-type name.
 
@@ -1562,6 +1565,9 @@
        }
        if (type->Sound.Ready.Name) {
            free(type->Sound.Ready.Name);
+       }
+       if (type->Sound.Repair.Name) {
+           free(type->Sound.Repair.Name);
        }
        if (type->Sound.Help.Name) {
            free(type->Sound.Help.Name);




reply via email to

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