aboutsummaryrefslogtreecommitdiff
path: root/project/src/lib-numeric.c
diff options
context:
space:
mode:
authorWiimm <wiimm@wiimm.de>2022-10-27 12:06:47 +0200
committerWiimm <wiimm@wiimm.de>2022-10-27 12:06:47 +0200
commit6d27524f61a141dfa7c1c66b36bcb1f6b5728f3d (patch)
treeda113ccbfd746abea569d564999bc0038f59fe9f /project/src/lib-numeric.c
parent159e76837a2582682d81943b3fa963d72141337f (diff)
SZS v2.29a
Diffstat (limited to 'project/src/lib-numeric.c')
-rw-r--r--project/src/lib-numeric.c104
1 files changed, 104 insertions, 0 deletions
diff --git a/project/src/lib-numeric.c b/project/src/lib-numeric.c
index 7e47199..c355c57 100644
--- a/project/src/lib-numeric.c
+++ b/project/src/lib-numeric.c
@@ -2043,6 +2043,110 @@ ccp GetIntModeName ( IntMode_t mode )
}
}
+///////////////////////////////////////////////////////////////////////////////
+
+ccp PrintLEFL8 ( le_flags_t flags, bool aligned )
+{
+ char *buf = GetCircBuf(7);
+ flags &= 0xff;
+
+ if ( flags & ~LEFL__ALL )
+ snprintf(buf,7,"?0x%02x ",flags);
+ else if (aligned)
+ {
+ buf[0] = flags & LEFL_NEW ? 'N' : '-';
+ buf[1] = flags & LEFL_RND_HEAD ? 'H' : '-';
+ buf[2] = flags & LEFL_RND_GROUP ? 'G' : '-';
+ buf[3] = flags & LEFL_ALIAS ? 'A' : '-';
+ buf[4] = flags & LEFL_TEXTURE ? 'T' : '-';
+ buf[5] = flags & LEFL_HIDDEN ? 'i' : '-';
+ buf[6] = 0;
+ }
+ else
+ {
+ char *d = buf;
+ if ( flags & LEFL_NEW ) *d++ = 'N';
+ if ( flags & LEFL_RND_HEAD ) *d++ = 'H';
+ if ( flags & LEFL_RND_GROUP ) *d++ = 'G';
+ if ( flags & LEFL_ALIAS ) *d++ = 'A';
+ if ( flags & LEFL_TEXTURE ) *d++ = 'T';
+ if ( flags & LEFL_HIDDEN ) *d++ = 'i';
+ if ( d == buf )
+ *d++ = '-';
+ *d = 0;
+ }
+ return buf;
+}
+
+///////////////////////////////////////////////////////////////////////////////
+
+ccp PrintLEFL16 ( le_flags_t flags, bool aligned )
+{
+ char *buf = GetCircBuf(7);
+
+ if ( flags & ~LEFL__XALL )
+ {
+ snprintf(buf,7,"?0x%03x ",flags);
+ return buf;
+ }
+
+ char *d = buf;
+ switch ( flags & (LEFL_BATTLE|LEFL_VERSUS|LEFL_RANDOM) )
+ {
+ case LEFL_BATTLE: *d++ = 'B'; break;
+ case LEFL_VERSUS: *d++ = 'V'; break;
+ case LEFL_RANDOM: *d++ = 'r'; break;
+ default:
+ if ( aligned )
+ *d++ = '-';
+ }
+
+ switch ( flags & (LEFL_ORIG_CUP|LEFL_CUSTOM_CUP) )
+ {
+ case LEFL_ORIG_CUP: *d++ = 'o'; break;
+ case LEFL_CUSTOM_CUP: *d++ = 'c'; break;
+ case LEFL_ORIG_CUP | LEFL_CUSTOM_CUP: *d++ = 'b'; break;
+ default:
+ if ( aligned )
+ *d++ = '-';
+ }
+
+ switch ( flags & (LEFL_RND_HEAD|LEFL_RND_GROUP) )
+ {
+ case LEFL_RND_HEAD: *d++ = 'H'; break;
+ case LEFL_RND_GROUP: *d++ = 'G'; break;
+ case LEFL_RND_HEAD | LEFL_RND_GROUP: *d++ = 'X'; break;
+ default:
+ if ( aligned )
+ *d++ = '-';
+ }
+
+ switch ( flags & (LEFL_NEW|LEFL_TEXTURE) )
+ {
+ case LEFL_NEW: *d++ = 'N'; break;
+ case LEFL_TEXTURE: *d++ = 'T'; break;
+ case LEFL_NEW | LEFL_TEXTURE: *d++ = '2'; break;
+ default:
+ if ( aligned )
+ *d++ = '-';
+ }
+
+ if (aligned)
+ {
+ *d++ = flags & LEFL_ALIAS ? 'A' : '-';
+ *d++ = flags & LEFL_HIDDEN ? 'i' : '-';
+ }
+ else
+ {
+ if ( flags & LEFL_ALIAS ) *d++ = 'A';
+ if ( flags & LEFL_HIDDEN ) *d++ = 'i';
+ if ( d == buf )
+ *d++ = '-';
+ }
+ *d = 0;
+ return buf;
+}
+
//
///////////////////////////////////////////////////////////////////////////////
/////////////// END ///////////////