summaryrefslogtreecommitdiff
path: root/include/mystery_gift_server.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/mystery_gift_server.h')
-rw-r--r--include/mystery_gift_server.h100
1 files changed, 100 insertions, 0 deletions
diff --git a/include/mystery_gift_server.h b/include/mystery_gift_server.h
new file mode 100644
index 000000000..8e3842f73
--- /dev/null
+++ b/include/mystery_gift_server.h
@@ -0,0 +1,100 @@
+#ifndef GUARD_MYSTERY_GIFT_SERVER_H
+#define GUARD_MYSTERY_GIFT_SERVER_H
+
+#include "mystery_gift_link.h"
+
+// Return values for Server_* functions.
+// Other than SVR_RET_END, effectively useless (not checked for).
+enum {
+ SVR_RET_INIT,
+ SVR_RET_ACTIVE,
+ SVR_RET_UNUSED,
+ SVR_RET_END
+};
+
+// IDs for server script instructions
+enum {
+ SVR_RETURN,
+ SVR_SEND,
+ SVR_RECV,
+ SVR_GOTO,
+ SVR_GOTO_IF_EQ,
+ SVR_COPY_GAME_DATA,
+ SVR_CHECK_GAME_DATA_CARD,
+ SVR_CHECK_EXISTING_CARD,
+ SVR_READ_RESPONSE,
+ SVR_CHECK_EXISTING_STAMPS,
+ SVR_GET_CARD_STAT,
+ SVR_CHECK_QUESTIONNAIRE,
+ SVR_COMPARE,
+ SVR_LOAD_CARD,
+ SVR_LOAD_NEWS,
+ SVR_LOAD_RAM_SCRIPT,
+ SVR_LOAD_STAMP,
+ SVR_LOAD_UNK_2,
+ SVR_LOAD_CLIENT_SCRIPT,
+ SVR_LOAD_EREADER_TRAINER,
+ SVR_LOAD_MSG,
+ SVR_COPY_STAMP,
+ SVR_COPY_CARD,
+ SVR_COPY_NEWS,
+ SVR_SET_RAM_SCRIPT,
+ SVR_SET_CLIENT_SCRIPT,
+ SVR_COPY_SAVED_CARD,
+ SVR_COPY_SAVED_NEWS,
+ SVR_COPY_SAVED_RAM_SCRIPT,
+ SVR_LOAD_UNK_1,
+ SVR_CHECK_GAME_DATA_NEWS,
+};
+
+// IDs for server messages when ending a script.
+// Given as the parameter to SVR_RETURN, and resolved to text in GetServerResultMessage
+enum {
+ SVR_MSG_NOTHING_SENT,
+ SVR_MSG_RECORD_UPLOADED,
+ SVR_MSG_CARD_SENT,
+ SVR_MSG_NEWS_SENT,
+ SVR_MSG_STAMP_SENT,
+ SVR_MSG_HAS_CARD,
+ SVR_MSG_HAS_STAMP,
+ SVR_MSG_HAS_NEWS,
+ SVR_MSG_NO_ROOM_STAMPS,
+ SVR_MSG_CLIENT_CANCELED,
+ SVR_MSG_CANT_SEND_GIFT_1,
+ SVR_MSG_COMM_ERROR,
+ SVR_MSG_GIFT_SENT_1,
+ SVR_MSG_GIFT_SENT_2,
+ SVR_MSG_CANT_SEND_GIFT_2,
+};
+
+struct MysteryGiftServerCmd
+{
+ u32 instr;
+ u32 parameter;
+ const void * ptr;
+};
+
+struct MysteryGiftServer
+{
+ u32 unused;
+ u32 param;
+ u32 funcId;
+ u32 cmdidx;
+ const struct MysteryGiftServerCmd * script;
+ void * recvBuffer;
+ struct WonderCard * card;
+ struct WonderNews * news;
+ struct MysteryGiftLinkGameData * linkGameData;
+ const void * ramScript;
+ u32 ramScriptSize;
+ const void * clientScript;
+ u32 clientScriptSize;
+ u32 stamp;
+ struct MysteryGiftLink link;
+};
+
+void MysterGiftServer_CreateForCard();
+void MysterGiftServer_CreateForNews();
+u32 MysterGiftServer_Run(u16 * endVal);
+
+#endif //GUARD_MYSTERY_GIFT_SERVER_H