Powered pipe, based on jacob1's commits

PSCN to turn on, NSCN to turn off, INST to reverse.

Differences from jacob1's commit include: flood fill function that
includes 1px diagonal pipes, powered/reversed state stored in tmp
instead of flags, sparks from PSCN/NSCN/INST always take effect the
following frame, single pixel pipe directions are a number from 0 to 7
so "if(coords)" does not check whether one is set (store another
"transfers according to 1px pipe direction" bit for reverse flow).
This commit is contained in:
jacksonmj
2012-08-11 09:53:02 +01:00
parent a4c15746b8
commit 8ec0f41fb1
8 changed files with 317 additions and 57 deletions

View File

@@ -160,11 +160,9 @@
#define PT_PVOD 84
#define PT_CONV 85
#define PT_CAUS 86
#define PT_LIGH 87
#define PT_TESC 88
#define PT_DEST 89
#define PT_SPNG 90
#define PT_RIME 91
#define PT_FOG 92
@@ -237,7 +235,8 @@
#define PT_FIGH 158
#define PT_FRAY 159
#define PT_REPL 160
#define PT_NUM 161
#define PT_PPIP 161
#define PT_NUM 162
#define R_TEMP 22
#define MAX_TEMP 9999
@@ -352,6 +351,7 @@ int graphics_SOAP(GRAPHICS_FUNC_ARGS);
int graphics_EXOT(GRAPHICS_FUNC_ARGS);
int graphics_WARP(GRAPHICS_FUNC_ARGS);
int graphics_EMBR(GRAPHICS_FUNC_ARGS);
int graphics_BRCK(GRAPHICS_FUNC_ARGS);
void TRON_init_graphics();
@@ -482,6 +482,7 @@ int update_legacy_all(UPDATE_FUNC_ARGS);
int run_stickman(playerst* playerp, UPDATE_FUNC_ARGS);
void STKM_init_legs(playerst* playerp, int i);
void STKM_interact(playerst* playerp, int i, int x, int y);
void PPIP_flood_trigger(int x, int y, int sparkedBy);
struct part_type
{
@@ -759,6 +760,7 @@ extern int portal_ry[8];
extern int wire_placed;
extern int force_stacking_check;
extern int ppip_changed;
extern playerst player;
extern playerst player2;