/***************************************************** ** _________ __ ** ** \_ ___ \_____|__| _____ ________ ___ ** ** / \ \/_ __ \ |/ \/ ___/_ \/ \ ** ** \ \___| | \/ | | | \___ \ / ) | \ ** ** \______ /__| |__|__|_| /____ \__/__| / ** ** ____\/____ _ \/ ___ \/ \/ ** ** \______ \ |_____ __| _/___ ** ** | | _/ |\__ \/ __ | __ \ ** ** | | \ |_/ __ \ / | ___/_ ** ** |_____ /__/____ /_ /___ / ** ** \/Antipode\/ \/ \/ ** ****************************************************** ** Crimson Blade Codebase (CbC) ** ** (c) 2000-2002 John Bellone (Noplex) ** ** Coders: Noplex, Krowe ** ** http://www.crimsonblade.org ** *****************************************************/ /* * File: news.h * Name: Extended News (v2.81) * Author: John 'Noplex' Bellone (john.bellone@flipsidesoftware.com) * Terms: * If this file is to be re-disributed; you must send an email * to the author. All headers above the #include calls must be * kept intact. * Description: * This is the extended news module; it allows for news to be * posted in note-like format; and bringing you into a editbuffer * instead of one-line posts (like Elder Chronicles). It also * allows support for online HTML output for news to be automatically * generated and included via a PHP; SSL; or a TXT include. */ #define NEWS_FILE "news.dat" #define NEWS_INCLUDE_FILE "news.txt" #define NEWS_TOP "\n\r" #define NEWS_HEADER "\n\r" #define NEWS_HEADER_ALL "&g( &W#&g) (&WSubject&g)\n\r" #define NEWS_HEADER_READ "&g( &W#&g) (&WSubject&g)\n\r" #define NEWS_VIEW 15 #define NEWS_MAX_TYPES 10 DECLARE_DO_FUN( do_editnews ); typedef struct news_data NEWS; struct news_data { NEWS *next; NEWS *prev; int number; int type; char *title; char *name; char *post; char *date; }; typedef struct news_type NEWS_TYPE; struct news_type { NEWS *first_news; NEWS *last_news; NEWS_TYPE *next; NEWS_TYPE *prev; int vnum; sh_int level; char *header; char *cmd_name; char *name; }; NEWS_TYPE *first_news_type; NEWS_TYPE *last_news_type; /* news.c */ NEWS *grab_news args((NEWS_TYPE *type, char *str)); NEWS_TYPE *figure_type args((char *str)); void display_news args((CHAR_DATA *ch, NEWS *news, NEWS_TYPE *type)); void renumber_news args((void)); void save_news args((void)); void load_news args((void)); void fread_news args((NEWS *news, FILE *fp)); char *stamp_time args((void)); void write_html_news args((void)); void snarf_news args((FILE *fpWrite)); void display_news_type args((CHAR_DATA *ch, NEWS_TYPE *type, char *argument)); void fread_news_type args(( NEWS_TYPE *type, FILE *fp )); bool news_cmd_hook args((CHAR_DATA *ch, char *cmd, char *argument)); void link_news_to_type args((NEWS *news));