- Fixed: A_CustomMissile with aimmode 2 ignored spawnofs_xy.

- Changed savegame versioning so that the written version is never lower
  than the minmum one reported as compatible. 
- Added mirrored movement modes for linked sectors.
- Added Eternity-style initialization for linked sectors as a new subtype
  of Static_Init.
- Added linked sectors. The control sector determines how they move but if
  any one of the linked sectors is blocked, movement for all linked sectors
  will be affected. This will allow lifts consisting out of more than one
  sector without the risk of breaking them if only one of the sectors is
  blocked.
- Fixed: A_Mushroom created an actor on the stack.


SVN r825 (trunk)
This commit is contained in:
Christoph Oelckers 2008-03-20 21:12:03 +00:00
commit ca43ea7345
19 changed files with 675 additions and 165 deletions

View file

@ -53,6 +53,7 @@
#include "p_conversation.h"
#include "a_strifeglobal.h"
#include "r_translate.h"
#include "p_3dmidtex.h"
#define FUNC(a) static int a (line_t *ln, AActor *it, bool backSide, \
int arg0, int arg1, int arg2, int arg3, int arg4)
@ -1873,6 +1874,21 @@ FUNC(LS_Sector_SetFriction)
return true;
}
FUNC(LS_Sector_SetLink)
// Sector_SetLink (controltag, linktag, floor/ceiling, movetype)
{
if (arg0 != 0) // control tag == 0 is for static initialization and must not be handled here
{
int control = P_FindSectorFromTag(arg0, -1);
if (control != 0)
{
return P_AddSectorLinks(&sectors[control], arg1, arg2, arg3);
}
}
return false;
}
static void SetWallScroller (int id, int sidechoice, fixed_t dx, fixed_t dy)
{
if ((dx | dy) == 0)
@ -2843,7 +2859,7 @@ lnSpecFunc LineSpecials[256] =
LS_NOP, // Sector_Attach3dMidtex
LS_GlassBreak,
LS_NOP, // 50: ExtraFloor_LightOnly
LS_NOP, // 51
LS_Sector_SetLink,
LS_NOP, // 52
LS_NOP, // 53
LS_NOP, // 54