diff options
Diffstat (limited to '')
| -rw-r--r-- | project/src/lib-numeric.c | 104 |
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 /////////////// |
