// lost.h // read over the source and youll know why its called lost // jared bruni program entry #include "masterwin.h" #include "masterthought.h" #define MASTER_SCREEN 0// master debug/default screen #define MASTER_SPACE 1 #define MASTER_SCREENLINE 1000 #define SPACESIZE 10 #define STARSIZE 1101*10 #define STARROW 24 struct screenline { char line[150]; }; struct masterscreen { screenline line[MASTER_SCREENLINE]; ofstream logout; ~masterscreen(); bool logon; bool logrgb; char logfile[100]; void logto(char* filename); void logoff(); void logstr(char* buff); int curline; int curpos; void addline(char*); void rmvline(int); void scrollup(); void scrolldown(); void cpyline(int line, char* buff); void catline(int line, char* buff); int getlen(); int findstr(char* buff); int findlinestr(int linex,char* buff); void clear(); }; struct muser { char user[100]; int loaded; }; class master { public: // pass in apporpiate game object MasterXHWND* game; IDirectDrawSurface* background[6]; LPDIRECTDRAWSURFACE bg2; bool master_focus; bool debug; int x; int y; bool xmode; int countx; int caps; int line_len; char user[100]; int mbg_index; bool dir; char curdata[9000]; int curpos; int cursorpos; bool input_on; int input_pos; char input_temp[100]; char input_name[25]; int input_temppos; void loadgraphic(); void reloadgraphic(); muser theuser; masterscreen drawscr; masterbot mbot; int loadcount; void init(MasterXHWND* gamex,int x,int y); void keypress(int key); void debugswitch(bool); void update(); void drawtext(); void printtext(char*);// format is r,g,b void printtextf(char*,int r,int g, int b); void manipulateline(int line, char* buff); void inputtext(char* name); void inputproc(char* name,char* input); void clear(); void scrolldown(); void scrollup(); void cmdproc(char* cmd); void killgraphics(); // void runprogram(char* script); // void stopprogram(); ~master(); }; struct starfield { int stars[STARSIZE]; int enem[STARSIZE]; int it[STARSIZE]; }; // your guide (invidiual actions selected by masterspace) struct mastership { int life; int speed; int frame; int count; int curimg; MasterXHWND* game; starfield thefield; // draw x , y int x; int y; IDirectDrawSurface* player[STARSIZE]; mastership(); ~mastership(); void loadgraphics(); // the animations with sound void init(MasterXHWND*); void ani_fire(); void ani_move(); void ani_die(); // actual movement/actions of ship void moveup(); void movedown(); void moveleft(); void moveright(); void fire(); void gethit(); void die(); // accelerate or decelerate your choice. void givegas(); void hitbreak(); // update void update(); void killgraphics(); }; // masterspace - space universe class masterspace { public: MasterXHWND* game; int pos; bool debug; int frame; IDirectDrawSurface* bg[SPACESIZE]; IDirectDrawSurface* player[SPACESIZE]; // super special randomized starfield starfield field; mastership imaster; int score; void keyinput(int key); void debugswitch(bool); void init(MasterXHWND* gamex); void drawgame(); void loadgraphics(); void update(); void scrleft(); void scrright(); void killgraphics(); ~masterspace(); }; struct richdat { char row[200]; }; // for MasterX - data display struct masterrichbox { MasterXHWND* game; int x; int y; int w;// use to calculate return stuff int h;// use to calculate return stuff // h stuff richdat line[300]; // 300 lines per purge int curline; int displayline; void init(MasterXHWND* game,int x, int y, int w, int h); void addline(char* data); void cpyline(int line,char* data); void catline(int line, char* data); // print a text line straight (no auto ret) void printtextline(char* line); // take a whole buffer and add it on and refresh screen void printtextbuff(char* buff); void update(); void refresh(); void scrollup(); void scrolldown(); void clear(); void cropdown(); }; // an actual instant message class masterim { int caps; public: IDirectDrawSurface* surf; masterrichbox rich; int x; int y; void loadgraphics(); bool on; char sn[25]; SOCKET s; // the socket MasterXHWND* game; char typebuff[500]; // 500 at a time int typepos; void init(MasterXHWND* gamex, char* snbuff, int x, int y); void setpos(int x, int y); void keypress(int key); void mouseclick(int x, int y); void update(); // screen void scrolldown(); void scrollup(); // message void sendmsg(char* msg); ~masterim(); }; // masterchat - masterX chat handler for instant messages (winsock) class masterchat { public: MasterXHWND* game; masterim im[25]; int imlen; int curim; int getoffim(); void init(MasterXHWND* gamex); void update(); void newim(SOCKET sx); int findim(char* sn); void closeim(char* sn); void mouseclick(int x, int y);// retrive input (mouseclick) void keyinput(int key);// retrive input (keydown) }; // his c++ universe subconcious class lostsidedead { public: HWND hwnd; HINSTANCE hInst; MasterXHWND* game; master themaster; masterspace thespace; masterchat thechat; masterrun runmenu; masterwinhandle themasterwin; IDirectDrawSurface* surf[10]; IDirectDrawSurface* background; IDirectDrawSurface* cursors[10]; IDirectSoundBuffer *pSound[10]; displaylist dlist[10]; bool die_test; int curstate; bool bgon; int curbx; int curby; int scroll; bool xstart; int xstartc; bool icswitch; int thestate; bool theswitch; int runstate; bool curshow; int cursorx; int cursory; int current_cur; /* global window handles */ int wel; int sys; int serv; int mxhlp; int xcount; int mx_cmd; int cmd_disp; int cmd_input; displaylist cmdl[500]; char backgroundx[100]; int sitelink; int lsd; bool acid_mode;//acid mode int hdisp; displaylist adisplay[100]; int screen; int frame; bool debug; bool run_visible; void dumpframe(); void init(HWND hwnd,HINSTANCE hInst,MasterXHWND* x); void setscreen(int); int getscreen(); void debugswitch(bool); void update(); void draw(); void draw_master(); void draw_space(); void keyinput(int key); void mouseclick(int x, int y); void getuser(char*); void mousemove(int x, int y, long button); void loadgraphics(); void reloadgraphics(); void stateswitch(); void mousedown(int x, int y, int button); void mouseup(int x, int y, int button); void drawswitch(); void drawrun(); void drawcursor(); void drawbg(); void recvcmd(char* cmd); void messageproc(int window,int child,masterwinmsg msg); // killer (deconstruction of all inside objects) void kill(); void killgraphics(); ~lostsidedead(); }; void setgamescreen(int); char fixkey(int key,int caps,bool cmd); void getuser(char*); void runmenuvisible(bool);