summaryrefslogtreecommitdiff
path: root/src/base/shot.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/base/shot.h')
-rw-r--r--src/base/shot.h61
1 files changed, 61 insertions, 0 deletions
diff --git a/src/base/shot.h b/src/base/shot.h
new file mode 100644
index 0000000..db157cb
--- /dev/null
+++ b/src/base/shot.h
@@ -0,0 +1,61 @@
+
+#ifndef SHOT_H
+
+#define SHOT_H
+
+#include "base/main.h"
+#include "base/list.h"
+#include "base/tux.h"
+#include "base/arena.h"
+
+#ifndef PUBLIC_SERVER
+#include "client/interface.h"
+#endif
+
+typedef struct shot_struct
+{
+ int id;
+
+ int x;
+ int y;
+
+ int w;
+ int h;
+
+ int px;
+ int py;
+
+ int position;
+ int gun;
+
+ int author_id;
+ bool_t isCanKillAuthor;
+
+#ifndef PUBLIC_SERVER
+ SDL_Surface *img;
+#endif
+} shot_t;
+
+extern bool_t isShotInicialized();
+extern void initShot();
+extern shot_t* newShot(int x,int y, int px, int py, int gun, int author_id);
+extern shot_t* getShotID(list_t *listShot, int id);
+extern void replaceShotID(shot_t *shot, int id);
+extern void getStatusShot(void *p, int *id, int *x,int *y, int *w, int *h);
+extern void setStatusShot(void *p, int x, int y, int w, int h);
+#ifndef PUBLIC_SERVER
+extern void drawShot(shot_t *p);
+extern void drawListShot(list_t *listShot);
+#endif
+extern int isConflictWithListShot(list_t *listShot, int x, int y, int w, int h);
+extern void eventMoveListShot(arena_t *arena);
+extern void checkShotIsInTuxScreen(arena_t *arena);
+
+extern void boundBombBall(shot_t *shot);
+extern void transformOnlyLasser(shot_t *shot);
+
+extern void destroyShot(shot_t *p);
+extern void quitShot();
+
+#endif
+