Initial import of the ircii-pana-1.1-final source tree.
git-svn-id: svn://svn.code.sf.net/p/bitchx/code/tags/ircii-pana-1.1-final@1 13b04d17-f746-0410-82c6-800466cd88b0
This commit is contained in:
116
dll/acro/acro.h
Normal file
116
dll/acro/acro.h
Normal file
@@ -0,0 +1,116 @@
|
||||
#include "struct.h"
|
||||
#include "ircaux.h"
|
||||
#include "server.h"
|
||||
#include "output.h"
|
||||
#include "module.h"
|
||||
#include "parse.h"
|
||||
#include "timer.h"
|
||||
#include <sys/time.h>
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#define INIT_MODULE
|
||||
#include "modval.h"
|
||||
|
||||
/*
|
||||
* I put this here because pana said I should use it, but its commented out
|
||||
* in ircaux.h :)
|
||||
*/
|
||||
#ifndef new_realloc
|
||||
#define new_realloc(x,y) n_realloc((x),(y),__FILE__,__LINE__)
|
||||
#endif
|
||||
|
||||
#define MINPLAYERS 2 /* Minimum number of players per game */
|
||||
#define MAXPLAYERS 10 /* Max number of players per game */
|
||||
#define MINLENGTH 3 /* Minimum number of letters per acronym */
|
||||
#define MAXLENGTH 5 /* Max number of letters per acronym */
|
||||
#define ROUNDS 10 /* Number of rounds to play */
|
||||
#define EXTENSIONS 3 /* Max number of 30 second extensions */
|
||||
#define TOP 10 /* Show the top XX names for the scores */
|
||||
#define MAXLEN 15 /* Max number of characters per acro word */
|
||||
|
||||
/*
|
||||
* These must be "proper" paths -- ie the ENTIRE path must exist and there
|
||||
* are no expansion characters in there (IE ~ or $(HOME))
|
||||
*/
|
||||
|
||||
#define SCOREFILE ".BitchX/acro.score"
|
||||
#define WEBSCORE "acro.html"
|
||||
|
||||
/* prec -- a linked list containing all the player info */
|
||||
|
||||
typedef struct _prec {
|
||||
char *nick;
|
||||
char *host;
|
||||
char *acro;
|
||||
char *last;
|
||||
struct _prec *next;
|
||||
} prec;
|
||||
|
||||
/* vrec -- linked list storing voters, and who they voted for */
|
||||
|
||||
typedef struct _vrec {
|
||||
char *nick;
|
||||
char *host;
|
||||
int vote;
|
||||
struct _vrec *next;
|
||||
} vrec;
|
||||
|
||||
/* grec -- struct containing the info about the current game */
|
||||
|
||||
typedef struct {
|
||||
int progress;
|
||||
int round;
|
||||
int rounds;
|
||||
int players;
|
||||
int extended;
|
||||
int top;
|
||||
int maxlen;
|
||||
char *nym;
|
||||
} grec;
|
||||
|
||||
/* srec -- linked list of scores */
|
||||
|
||||
typedef struct _srec {
|
||||
char *nick;
|
||||
unsigned long score;
|
||||
struct _srec *next;
|
||||
} srec;
|
||||
|
||||
struct settings {
|
||||
int minplayers;
|
||||
int maxplayers;
|
||||
int minlength;
|
||||
int maxlength;
|
||||
int rounds;
|
||||
int extensions;
|
||||
int top;
|
||||
int maxlen;
|
||||
char *scorefile;
|
||||
char *webscore;
|
||||
};
|
||||
|
||||
static char letters[] = "ABCDEFGHIJKLMNOPRSTUVWY";
|
||||
|
||||
static int acro_main (char *, char *, char *, char **);
|
||||
int Acro_Init(IrcCommandDll **, Function_ptr *);
|
||||
BUILT_IN_DLL(put_scores);
|
||||
grec *init_acro(grec *);
|
||||
void make_acro(grec *);
|
||||
int valid_acro(grec *, char *);
|
||||
srec *read_scores(void);
|
||||
int write_scores(srec *);
|
||||
prec *take_acro(grec *, prec *, char *, char *, char *);
|
||||
vrec *take_vote(grec *, vrec *, prec *, char *, char *, char *);
|
||||
srec *end_vote(vrec *, prec *, srec *);
|
||||
srec *sort_scores(srec *);
|
||||
int comp_score(srec **one, srec **two);
|
||||
void show_scores(grec *, srec *, srec *, char *);
|
||||
void warn_acro(char *);
|
||||
void start_vote(char *);
|
||||
void warn_vote(char *);
|
||||
void end_voting(char *);
|
||||
void show_acros(prec *, char *);
|
||||
void free_round(prec **, vrec **);
|
||||
void free_score(srec **);
|
||||
/* static void game_setup _(( IrcCommandDll *, char *, char *, char *)); */
|
||||
Reference in New Issue
Block a user