666 changes: 0 additions & 666 deletions src/formation.c

This file was deleted.

73 changes: 0 additions & 73 deletions src/formation.h

This file was deleted.

88 changes: 0 additions & 88 deletions src/formationdef.h

This file was deleted.

1 change: 0 additions & 1 deletion src/fpath.c
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,6 @@
#include "multiplay.h"
#include "astar.h"
#include "action.h"
#include "formation.h"

#include "fpath.h"

Expand Down
43 changes: 4 additions & 39 deletions src/game.c
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,6 @@
#include "component.h"
#include "radar.h"
#include "cmddroid.h"
#include "formation.h"
#include "formationdef.h"
#include "warzoneconfig.h"
#include "multiplay.h"
#include "frontend.h"
Expand Down Expand Up @@ -5593,24 +5591,10 @@ static void SaveDroidMoveControl(SAVE_DROID * const psSaveDroid, DROID const * c
psSaveDroid->sMove.bumpX = PHYSFS_swapULE16(psDroid->sMove.bumpX);
psSaveDroid->sMove.bumpY = PHYSFS_swapULE16(psDroid->sMove.bumpY);

if (psDroid->sMove.psFormation != NULL)
{
psSaveDroid->sMove.isInFormation = true;
psSaveDroid->formationDir = UNDEG(psDroid->sMove.psFormation->direction);
psSaveDroid->formationX = psDroid->sMove.psFormation->x;
psSaveDroid->formationY = psDroid->sMove.psFormation->y;
}
else
{
psSaveDroid->sMove.isInFormation = false;
psSaveDroid->formationDir = 0;
psSaveDroid->formationX = 0;
psSaveDroid->formationY = 0;
}

endian_sword(&psSaveDroid->formationDir);
endian_sdword(&psSaveDroid->formationX);
endian_sdword(&psSaveDroid->formationY);
psSaveDroid->sMove.isInFormation = false;
psSaveDroid->formationDir = 0;
psSaveDroid->formationX = 0;
psSaveDroid->formationY = 0;
}

static void LoadDroidMoveControl(DROID * const psDroid, SAVE_DROID const * const psSaveDroid)
Expand Down Expand Up @@ -5662,25 +5646,6 @@ static void LoadDroidMoveControl(DROID * const psDroid, SAVE_DROID const * const
psDroid->sMove.bumpX = PHYSFS_swapULE16(psSaveDroid->sMove.bumpX);
psDroid->sMove.bumpY = PHYSFS_swapULE16(psSaveDroid->sMove.bumpY);

if (psSaveDroid->sMove.isInFormation)
{
psDroid->sMove.psFormation = formationFind(psSaveDroid->formationX, psSaveDroid->formationY);
// join a formation if it exists at the destination
if (psDroid->sMove.psFormation)
{
formationJoin(psDroid->sMove.psFormation, psDroid);
}
else
{
// no formation so create a new one
if (formationNew(&psDroid->sMove.psFormation, FT_LINE, psSaveDroid->formationX, psSaveDroid->formationY,
(SDWORD)psSaveDroid->formationDir))
{
formationJoin(psDroid->sMove.psFormation, psDroid);
}
}
}

// Recreate path-finding jobs
if (psDroid->sMove.Status == MOVEWAITROUTE)
{
Expand Down
7 changes: 0 additions & 7 deletions src/init.c
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,6 @@
#include "edit3d.h"
#include "effects.h"
#include "environ.h"
#include "formation.h"
#include "fpath.h"
#include "frend.h"
#include "frontend.h"
Expand Down Expand Up @@ -769,11 +768,6 @@ BOOL stageOneInitialise(void)
return false;
}

if (!formationInitialise()) // Initialise the formation system
{
return false;
}

// initialise the visibility stuff
if (!visInitialise())
{
Expand Down Expand Up @@ -848,7 +842,6 @@ BOOL stageOneShutDown(void)

grpShutDown();

formationShutDown();
releasePlayerPower();

ResearchRelease();
Expand Down
1 change: 0 additions & 1 deletion src/makefile.win32
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,6 @@ SRC= \
effects.c \
environ.c \
feature.c \
formation.c \
fpath.c \
frontend.c \
function.c \
Expand Down
1 change: 0 additions & 1 deletion src/map.c
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,6 @@
#include "advvis.h"
#include "research.h"
#include "mission.h"
#include "formationdef.h"
#include "gateway.h"
#include "wrappers.h"
#include "mapgrid.h"
Expand Down
121 changes: 5 additions & 116 deletions src/move.c
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,6 @@
#include "loop.h"
#include "geometry.h"
#include "anim_id.h"
#include "formationdef.h"
#include "formation.h"
#include "action.h"
#include "display3d.h"
#include "order.h"
Expand Down Expand Up @@ -253,7 +251,6 @@ static BOOL moveDroidToBase(DROID *psDroid, UDWORD x, UDWORD y, BOOL bFormation)
retVal = fpathDroidRoute(psDroid, x, y, FMT_MOVE);
}

/* check formations */
if ( retVal == FPR_OK )
{
// bit of a hack this - john
Expand All @@ -268,51 +265,6 @@ static BOOL moveDroidToBase(DROID *psDroid, UDWORD x, UDWORD y, BOOL bFormation)

psDroid->sMove.Status = MOVENAVIGATE;
psDroid->sMove.Position=0;

// leave any old formation
if (psDroid->sMove.psFormation)
{
formationLeave(psDroid->sMove.psFormation, psDroid);
psDroid->sMove.psFormation = NULL;
}

if (bFormation)
{
// join a formation if it exists at the destination
FORMATION* psFormation = formationFind(x, y);
SDWORD fmx1, fmy1, fmx2, fmy2;

if (psFormation)
{
psDroid->sMove.psFormation = psFormation;
formationJoin(psFormation, psDroid);
}
else
{
ASSERT_OR_RETURN(false, psDroid->sMove.numPoints > 0, "Invalid point count for path of %s", droidGetName(psDroid));
// align the formation with the last path of the route
fmx2 = psDroid->sMove.asPath[psDroid->sMove.numPoints -1].x;
fmy2 = psDroid->sMove.asPath[psDroid->sMove.numPoints -1].y;
if (psDroid->sMove.numPoints == 1)
{
fmx1 = (SDWORD)psDroid->pos.x;
fmy1 = (SDWORD)psDroid->pos.y;
}
else
{
ASSERT_OR_RETURN(false, psDroid->sMove.numPoints > 1, "Invalid point count for path of %s", droidGetName(psDroid));
fmx1 = psDroid->sMove.asPath[psDroid->sMove.numPoints -2].x;
fmy1 = psDroid->sMove.asPath[psDroid->sMove.numPoints -2].y;
}

// no formation so create a new one
if (formationNew(&psDroid->sMove.psFormation, FT_LINE, (SDWORD)x,(SDWORD)y,
calcDirection(fmx1,fmy1, fmx2,fmy2)))
{
formationJoin(psDroid->sMove.psFormation, psDroid);
}
}
}
}
else if (retVal == FPR_WAIT)
{
Expand Down Expand Up @@ -362,13 +314,6 @@ void moveDroidToDirect(DROID* psDroid, UDWORD x, UDWORD y)
fpathSetDirectRoute(psDroid, x, y);
psDroid->sMove.Status = MOVENAVIGATE;
psDroid->sMove.Position=0;

// leave any old formation
if (psDroid->sMove.psFormation)
{
formationLeave(psDroid->sMove.psFormation, psDroid);
psDroid->sMove.psFormation = NULL;
}
}


Expand Down Expand Up @@ -502,11 +447,6 @@ static void moveShuffleDroid(DROID *psDroid, UDWORD shuffleStart, SDWORD sx, SDW

moveCalcBoundary(psDroid);

if (psDroid->sMove.psFormation != NULL)
{
formationLeave(psDroid->sMove.psFormation, psDroid);
psDroid->sMove.psFormation = NULL;
}
CHECK_DROID(psDroid);
}

Expand Down Expand Up @@ -880,7 +820,6 @@ static void moveCalcBlockingSlide(DROID *psDroid, int32_t *pmx, int32_t *pmy, ui
SDWORD horizX,horizY, vertX,vertY;
int16_t slideDir;
MAPTILE *psTile = NULL;
BOOL blocked = false;
// calculate the new coords and see if they are on a different tile
const int32_t mx = *pmx >> EXTRA_BITS;
const int32_t my = *pmy >> EXTRA_BITS;
Expand Down Expand Up @@ -920,13 +859,7 @@ static void moveCalcBlockingSlide(DROID *psDroid, int32_t *pmx, int32_t *pmy, ui
}

// is the new tile blocking?
if (fpathBlockingTile(ntx, nty, propulsion))
{
blocked = true;
}

// is the new tile blocking?
if (!blocked)
if (!fpathBlockingTile(ntx, nty, propulsion))
{
// not blocking, don't change the move vector
return;
Expand Down Expand Up @@ -1492,11 +1425,7 @@ static BOOL moveReachedWayPoint(DROID *psDroid)
const int droidX = psDroid->pos.x - psDroid->sMove.targetX;
const int droidY = psDroid->pos.y - psDroid->sMove.targetY;

// see if this is a formation end point
if (psDroid->droidType == DROID_TRANSPORTER ||
(psDroid->sMove.psFormation &&
formationMember(psDroid->sMove.psFormation, psDroid)) ||
(isVtolDroid(psDroid) && (psDroid->sMove.numPoints == psDroid->sMove.Position)) )
if (psDroid->droidType == DROID_TRANSPORTER || (isVtolDroid(psDroid) && psDroid->sMove.numPoints == psDroid->sMove.Position))
{
const int iRange = TILE_UNITS / 4;

Expand All @@ -1523,11 +1452,6 @@ static BOOL moveReachedWayPoint(DROID *psDroid)
return false;
}

static BOOL moveFormationSpeedLimitingOn( void )
{
return false;
}

#define MAX_SPEED_PITCH 60

/** Calculate the new speed for a droid based on factors like damage and pitch.
Expand Down Expand Up @@ -1579,18 +1503,6 @@ SDWORD moveCalcDroidSpeed(DROID *psDroid)
}
}

/* adjust speed for formation */
if(!isVtolDroid(psDroid) &&
moveFormationSpeedLimitingOn() && psDroid->sMove.psFormation)
{
SDWORD FrmSpeed = (SDWORD)psDroid->sMove.psFormation->iSpeed;

if ( speed > FrmSpeed )
{
speed = FrmSpeed;
}
}

// slow down shuffling VTOLs
if (isVtolDroid(psDroid) &&
(psDroid->sMove.Status == MOVESHUFFLE) &&
Expand Down Expand Up @@ -2648,18 +2560,6 @@ void moveUpdateDroid(DROID *psDroid)
moveCalcBoundary(psDroid);
}

if (psDroid->sMove.psFormation && psDroid->sMove.Position == psDroid->sMove.numPoints)
{
SDWORD fx, fy;

if (formationGetPos(psDroid->sMove.psFormation, psDroid, &fx,&fy,true))
{
psDroid->sMove.targetX = fx;
psDroid->sMove.targetY = fy;
moveCalcBoundary(psDroid);
}
}

moveDir = moveGetDirection(psDroid);
moveSpeed = moveCalcDroidSpeed(psDroid);

Expand Down Expand Up @@ -2688,24 +2588,13 @@ void moveUpdateDroid(DROID *psDroid)
break;
case MOVETURN:
// Turn the droid to it's final facing
if (psDroid->sMove.psFormation
&& psDroid->sMove.psFormation->refCount > 1
&& psDroid->rot.direction != psDroid->sMove.psFormation->direction)
if ( psPropStats->propulsionType == PROPULSION_TYPE_LIFT )
{
moveSpeed = 0;
moveDir = psDroid->sMove.psFormation->direction;
psDroid->sMove.Status = MOVEPOINTTOPOINT;
}
else
{
if ( psPropStats->propulsionType == PROPULSION_TYPE_LIFT )
{
psDroid->sMove.Status = MOVEPOINTTOPOINT;
}
else
{
psDroid->sMove.Status = MOVEINACTIVE;
}
objTrace(psDroid->id, "MOVETURN complete");
psDroid->sMove.Status = MOVEINACTIVE;
}
break;
case MOVETURNTOTARGET:
Expand Down
2 changes: 0 additions & 2 deletions src/multibot.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,8 @@
#include "objmem.h"
#include "power.h" // for powercalculated
#include "order.h"
#include "geometry.h" // for formations.
#include "map.h"
#include "group.h"
#include "formation.h"
#include "lib/netplay/netplay.h" // the netplay library.
#include "multiplay.h" // warzone net stuff.
#include "multijoin.h"
Expand Down
1 change: 0 additions & 1 deletion src/objmem.c
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,6 @@
#include "structuredef.h"
#include "structure.h"
#include "droid.h"
#include "formation.h"
#include "mapgrid.h"
#include "combat.h"
#include "visibility.h"
Expand Down
21 changes: 0 additions & 21 deletions src/order.c
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,6 @@
#include "order.h"
#include "action.h"
#include "map.h"
#include "formationdef.h"
#include "formation.h"
#include "geometry.h"
#include "projectile.h"
#include "effects.h" // for waypoint display
Expand Down Expand Up @@ -834,13 +832,6 @@ void orderUpdateDroid(DROID *psDroid)
}
else
{
// don't want the droids to go into a formation for this order
if (psDroid->sMove.psFormation != NULL)
{
formationLeave(psDroid->sMove.psFormation, psDroid);
psDroid->sMove.psFormation = NULL;
}

// Wait for the action to finish then assign to Transporter (if not already flying)
if (psDroid->psTarget == NULL || transporterFlying((DROID *)psDroid->psTarget))
{
Expand Down Expand Up @@ -1112,13 +1103,6 @@ void orderUpdateDroid(DROID *psDroid)
}
break;
case DORDER_RECYCLE:
// don't bother with formations for this order
if (psDroid->sMove.psFormation)
{
formationLeave(psDroid->sMove.psFormation, psDroid);
psDroid->sMove.psFormation = NULL;
}

if (psDroid->psTarget == NULL)
{
psDroid->order = DORDER_NONE;
Expand Down Expand Up @@ -1826,11 +1810,6 @@ void orderDroidBase(DROID *psDroid, DROID_ORDER_DATA *psOrder)
{
psDroid->order = DORDER_LEAVEMAP;
actionDroidLoc(psDroid, DACTION_MOVE, iDX, iDY);
if (psDroid->sMove.psFormation)
{
formationLeave(psDroid->sMove.psFormation, psDroid);
psDroid->sMove.psFormation = NULL;
}
break;
}
}
Expand Down
2 changes: 0 additions & 2 deletions src/structure.c
Original file line number Diff line number Diff line change
Expand Up @@ -59,8 +59,6 @@
#include "lib/script/script.h"
#include "scripttabs.h"
#include "scriptcb.h"
#include "formationdef.h"
#include "formation.h"
#include "text.h"
#include "action.h"
#include "group.h"
Expand Down