diff --git a/code/redalert/bdata.cpp b/code/redalert/bdata.cpp index ffeddc7..a44b418 100644 --- a/code/redalert/bdata.cpp +++ b/code/redalert/bdata.cpp @@ -2489,6 +2489,68 @@ static BuildingTypeClass const ClassAban01( (short const*)OListWestwood // OVERLAPLIST:List of overlap cell offset. ); +static BuildingTypeClass const ClassAban02( + STRUCT_ABAN02, + TXT_CIV37, // NAME: Short name of the structure. + "ABAN02", // NAME: Short name of the structure. + FACING_NONE, // Foundation direction from center of building. + XYP_COORD(0, 0), // Exit point for produced units. + REMAP_ALTERNATE, // Sidebar remap logic. + 0x0000, // Vertical offset. + 0x0000, // Primary weapon offset along turret centerline. + 0x0000, // Primary weapon lateral offset along turret centerline. + false, // Is this building a fake (decoy?) + true, // Animation rate is regulated for constant speed? + true, // Always use the given name for the building? + false, // Is this a wall type structure? + true, // Simple (one frame) damage imagery? + false, // Is it invisible to radar? + true, // Can the player select this? + true, // Is this a legal target for attack or move? + false, // Is this an insignificant building? + false, // Theater specific graphic image? + false, // Does it have a rotating turret? + false, // Can the building be color remapped to indicate owner? + RTTI_NONE, // The object type produced at this factory. + DIR_N, // Starting idle frame to match construction. + BSIZE_42, // SIZE: Building size. + NULL, // Preferred exit cell list. + (short const*)ListWestwood, // OCCUPYLIST: List of active foundation squares. + (short const*)OListWestwood // OVERLAPLIST:List of overlap cell offset. +); + + +static BuildingTypeClass const ClassAban03( + STRUCT_ABAN03, + TXT_CIV37, // NAME: Short name of the structure. + "ABAN03", // NAME: Short name of the structure. + FACING_NONE, // Foundation direction from center of building. + XYP_COORD(0, 0), // Exit point for produced units. + REMAP_ALTERNATE, // Sidebar remap logic. + 0x0000, // Vertical offset. + 0x0000, // Primary weapon offset along turret centerline. + 0x0000, // Primary weapon lateral offset along turret centerline. + false, // Is this building a fake (decoy?) + true, // Animation rate is regulated for constant speed? + true, // Always use the given name for the building? + false, // Is this a wall type structure? + true, // Simple (one frame) damage imagery? + false, // Is it invisible to radar? + true, // Can the player select this? + true, // Is this a legal target for attack or move? + false, // Is this an insignificant building? + false, // Theater specific graphic image? + false, // Does it have a rotating turret? + false, // Can the building be color remapped to indicate owner? + RTTI_NONE, // The object type produced at this factory. + DIR_N, // Starting idle frame to match construction. + BSIZE_42, // SIZE: Building size. + NULL, // Preferred exit cell list. + (short const*)ListWestwood, // OCCUPYLIST: List of active foundation squares. + (short const*)OListWestwood // OVERLAPLIST:List of overlap cell offset. +); + + static BuildingTypeClass const ClassMission( STRUCT_MISSION, TXT_CIVMISS, // NAME: Short name of the structure. @@ -3056,7 +3118,8 @@ void BuildingTypeClass::Init_Heap(void) new BuildingTypeClass(ClassBarrel3); // STRUCT_BARREL3 new BuildingTypeClass(ClassAban01); - + new BuildingTypeClass(ClassAban02); + new BuildingTypeClass(ClassAban03); #ifdef FIXIT_ANTS new BuildingTypeClass(ClassQueen); // STRUCT_QUEEN new BuildingTypeClass(ClassLarva1); // STRUCT_LARVA1 diff --git a/code/redalert/defines.h b/code/redalert/defines.h index 75ced16..7d87be7 100644 --- a/code/redalert/defines.h +++ b/code/redalert/defines.h @@ -1466,7 +1466,8 @@ typedef enum StructType : char { STRUCT_BARREL, STRUCT_BARREL3, STRUCT_ABAN01, - + STRUCT_ABAN02, + STRUCT_ABAN03, #ifdef FIXIT_ANTS STRUCT_QUEEN, STRUCT_LARVA1, diff --git a/data/art/textures/srgb/red_alert/structures/ABAN05/aban12_0000.png b/data/art/textures/srgb/red_alert/structures/ABAN05/aban12_0000.png new file mode 100644 index 0000000..ed415d4 Binary files /dev/null and b/data/art/textures/srgb/red_alert/structures/ABAN05/aban12_0000.png differ diff --git a/data/art/textures/srgb/red_alert/structures/ABAN05/aban12_0001.png b/data/art/textures/srgb/red_alert/structures/ABAN05/aban12_0001.png new file mode 100644 index 0000000..33f136d Binary files /dev/null and b/data/art/textures/srgb/red_alert/structures/ABAN05/aban12_0001.png differ diff --git a/data/art/textures/srgb/red_alert/structures/ABAN06/ABAN06_0000.png b/data/art/textures/srgb/red_alert/structures/ABAN06/ABAN06_0000.png new file mode 100644 index 0000000..3259477 Binary files /dev/null and b/data/art/textures/srgb/red_alert/structures/ABAN06/ABAN06_0000.png differ diff --git a/data/art/textures/srgb/red_alert/structures/ABAN06/ABAN06_0001.png b/data/art/textures/srgb/red_alert/structures/ABAN06/ABAN06_0001.png new file mode 100644 index 0000000..e2104c5 Binary files /dev/null and b/data/art/textures/srgb/red_alert/structures/ABAN06/ABAN06_0001.png differ diff --git a/data/xml/tilesets/ra_structures.xml b/data/xml/tilesets/ra_structures.xml index ac50e4c..bdb64f1 100644 --- a/data/xml/tilesets/ra_structures.xml +++ b/data/xml/tilesets/ra_structures.xml @@ -15,7 +15,30 @@ - - + + + ABAN02 + 0 + + + + ABAN05/aban12_0000.png + ABAN05/aban12_0001.png + + + + + + ABAN03 + 0 + + + + ABAN06/aban06_0000.png + ABAN06/aban06_0001.png + + + + \ No newline at end of file diff --git a/rules.ini b/rules.ini index e34ff16..57dd999 100644 --- a/rules.ini +++ b/rules.ini @@ -2980,4 +2980,16 @@ Rate=.1 Strength=400 Points=5 Armor=wood +Repariable=false + +[ABAN02] +Strength=400 +Points=5 +Armor=wood +Repariable=false + +[ABAN03] +Strength=400 +Points=5 +Armor=wood Repariable=false \ No newline at end of file