allow a parent function to restrict use of placebc
placebc was triggering an impossible sometimes on the plane of water It turned out to be because movebubbles issued an unplacebc(), but a downstream function called placebc(), so when movebubbles() issued its own placebc() there was a problem. The downstream function that beat movebubbles to the placebc() turned out to be unstuck(). There could be others.
This commit is contained in:
@@ -431,6 +431,7 @@ struct plinemsg_type {
|
||||
|
||||
E struct plinemsg_type *plinemsg_types;
|
||||
|
||||
enum bcargs {override_restriction = -1};
|
||||
struct breadcrumbs {
|
||||
const char *funcnm;
|
||||
int linenum;
|
||||
|
||||
@@ -130,11 +130,19 @@ E void NDECL(ballfall);
|
||||
#ifndef BREADCRUMBS
|
||||
E void NDECL(placebc);
|
||||
E void NDECL(unplacebc);
|
||||
E int NDECL(unplacebc_and_covet_placebc);
|
||||
E void FDECL(lift_covet_and_placebc, (int));
|
||||
#else
|
||||
E void FDECL(Placebc, (const char *, int));
|
||||
E void FDECL(Unplacebc, (const char *, int));
|
||||
E int FDECL(Unplacebc_and_covet_placebc, (const char *, int));
|
||||
E void FDECL(Lift_covet_and_placebc, (int, const char *, int));
|
||||
#define placebc() Placebc(__FUNCTION__, __LINE__)
|
||||
#define unplacebc() Unplacebc(__FUNCTION__, __LINE__)
|
||||
#define unplacebc_and_covet_placebc() \
|
||||
Unplacebc_and_covet_placebc(__FUNCTION__, __LINE__)
|
||||
#define lift_covet_and_placebc(x) \
|
||||
Lift_covet_and_placebc(x, __FUNCTION__, __LINE__)
|
||||
#endif
|
||||
E void FDECL(set_bc, (int));
|
||||
E void FDECL(move_bc, (int, int, XCHAR_P, XCHAR_P, XCHAR_P, XCHAR_P));
|
||||
|
||||
Reference in New Issue
Block a user