MCPcopy Create free account
hub / github.com/NetHack/NetHack / flip_vault_guard

Function flip_vault_guard

src/sp_lev.c:925–958  ·  view source on GitHub ↗

for #wizfliplevel, flip guard's egd data; not needed for level creation */

Source from the content-addressed store, hash-verified

923
924/* for #wizfliplevel, flip guard's egd data; not needed for level creation */
925staticfn void
926flip_vault_guard(
927 int flp, /* 1: transpose vertically, 2: transpose horizontally, 3: both */
928 struct monst *grd, /* the vault guard, has monst->mextra->egd data */
929 coordxy minx, coordxy miny, /* needed by FlipX(), FlipY(), */
930 coordxy maxx, coordxy maxy) /* and inFlipArea() macros */
931{
932 int i;
933 struct egd *egd = EGD(grd);
934
935 if (inFlipArea(egd->gdx, egd->gdy)) {
936 if (flp & 1)
937 egd->gdy = FlipY(egd->gdy);
938 if (flp & 2)
939 egd->gdx = FlipX(egd->gdx);
940 }
941 if (inFlipArea(egd->ogx, egd->ogy)) {
942 if (flp & 1)
943 egd->ogy = FlipY(egd->ogy);
944 if (flp & 2)
945 egd->ogx = FlipX(egd->ogx);
946 }
947 for (i = egd->fcbeg; i < egd->fcend; ++i) {
948 coordxy fx = egd->fakecorr[i].fx, fy = egd->fakecorr[i].fy;
949
950 if (inFlipArea(fx, fy)) {
951 if (flp & 1)
952 egd->fakecorr[i].fy = FlipY(fy);
953 if (flp & 2)
954 egd->fakecorr[i].fx = FlipX(fx);
955 }
956 }
957 return;
958}
959
960#undef FlipX
961#undef FlipY

Callers 1

flip_levelFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected