#include "define.h" #include "struct.h" /* * TITLE FUNCTIONS */ void send_title( char_data* ch, const char* text ) { char tmp1 [ TWO_LINES ]; char tmp2 [ TWO_LINES ]; char* letter; int length = strlen( text ); if( ch->link == NULL ) return; if( length > 80 ) { roach( "Send_Title: Length of text > 80." ); roach( "-- Text = %s", text ); return; } sprintf( tmp1, "%%%ds", 40-length/2 ); sprintf( tmp2, tmp1, "" ); sprintf( tmp1, "%s\r\n", text ); *tmp1 = toupper( *tmp1 ); for( letter = tmp1; *letter != '\n'; ) if( *letter++ == ' ' ) *letter = toupper( *letter ); send( ch, tmp2 ); send_color( ch, COLOR_TITLES, tmp1 ); for( letter = tmp1; *letter != '\n'; letter++ ) if( *letter != ' ' ) *letter = '-'; send( ch, tmp2 ); send_color( ch, COLOR_TITLES, tmp1 ); return; } void page_title( char_data* ch, const char* text ) { char tmp1 [ TWO_LINES ]; char tmp2 [ TWO_LINES ]; char* letter; int length = strlen( text ); if( ch->link == NULL ) return; if( length > 80 ) { roach( "Page_Title: Length of text > 80." ); roach( "-- Text = %s", text ); return; } sprintf( tmp1, "%%%ds", 40-length/2 ); sprintf( tmp2, tmp1, "" ); sprintf( tmp1, "%s\r\n", text ); *tmp1 = toupper( *tmp1 ); for( letter = tmp1; *letter != '\n'; ) if( *letter++ == ' ' ) *letter = toupper( *letter ); page( ch, tmp2 ); page_color( ch, COLOR_TITLES, tmp1 ); for( letter = tmp1; *letter != '\n'; letter++ ) if( *letter != ' ' ) *letter = '-'; page( ch, tmp2 ); page_color( ch, COLOR_TITLES, tmp1 ); return; } void display_array( char_data* ch, const char* title, const char** entry1, const char** entry2, int max ) { char tmp [ TWO_LINES ]; char** string; int i; sprintf( tmp, "%s:\r\n", title ); page( ch, tmp ); for( i = 0; i < max; i++ ) { string = (char**) int( entry1+i*(entry2-entry1) ); sprintf( tmp, "%18s%s", *string, i%4 == 3 ? "\r\n" : "" ); page( ch, tmp ); } if( i%4 != 0 ) page( ch, "\r\n" ); return; } /* * WORD LIST */ const char* word_list( const char** list, int max, bool use_and ) { char* tmp; int i; if( max == 0 ) return empty_string; store_pntr = ( store_pntr+1 )%5; tmp = &static_storage[store_pntr*THREE_LINES]; strcpy( tmp, list[0] ); if( max > 1 ) { for( i = 1; i < max; i++ ) sprintf( tmp+strlen( tmp ), ", %s%s", use_and && i+1 == max ? "and " : "", list[i] ); } return tmp; }