Port mevent scripts to C
This commit is contained in:
@@ -1,12 +0,0 @@
|
|||||||
.include "asm/macros.inc"
|
|
||||||
.include "constants/constants.inc"
|
|
||||||
|
|
||||||
.section .rodata
|
|
||||||
|
|
||||||
.align 2
|
|
||||||
gUnknown_84687A0::
|
|
||||||
.string "You have collected all STAMPs!\n"
|
|
||||||
.string "Want to input a CARD as a prize?$"
|
|
||||||
|
|
||||||
.include "data/mevent/script_ish.inc"
|
|
||||||
.include "data/mevent/script_common.inc"
|
|
||||||
@@ -1,87 +1,98 @@
|
|||||||
gMEventSrvScript_UnableToSend::
|
const struct mevent_server_cmd gMEventSrvScript_UnableToSend[] = {
|
||||||
.4byte 0x12, 0x10, gMEventClientScript_UnableToRecv @ SEND
|
SRV_SEND(0x10, gMEventClientScript_UnableToRecv),
|
||||||
.4byte 0x01, 0x00, NULL @ WAIT SEND
|
SRV_WAITSND,
|
||||||
.4byte 0x02, 0x14, NULL @ RECV
|
SRV_RECV(0x14),
|
||||||
.4byte 0x00, 0x0a, NULL @ RETURN (can't send)
|
SRV_RETURN(0x0a)
|
||||||
|
};
|
||||||
|
|
||||||
.4byte 0x12, 0x10, gMEventClientScript_CommError @ SEND
|
SRV_SEND(0x10, gMEventClientScript_CommError),
|
||||||
.4byte 0x01, 0x00, NULL @ WAIT SEND
|
SRV_WAITSND,
|
||||||
.4byte 0x02, 0x14, NULL @ RECV
|
SRV_RECV(0x14),
|
||||||
.4byte 0x00, 0x0b, NULL @ RETURN (comm error)
|
SRV_RETURN(0x0b)
|
||||||
|
};
|
||||||
|
|
||||||
.4byte 0x12, 0x10, gMEventClientScript_OtherTrainerCanceled @ SEND
|
SRV_SEND(0x10, gMEventClientScript_OtherTrainerCanceled),
|
||||||
.4byte 0x01, 0x00, NULL @ WAIT SEND
|
SRV_WAITSND,
|
||||||
.4byte 0x02, 0x14, NULL @ RECV
|
SRV_RECV(0x14),
|
||||||
.4byte 0x00, 0x09, NULL @ RETURN (other trn canceled)
|
SRV_RETURN(0x09)
|
||||||
|
};
|
||||||
|
|
||||||
gMEventSrvScript_OtherTrnHasNews::
|
const struct mevent_server_cmd gMEventSrvScript_OtherTrnHasNews[] = {
|
||||||
.4byte 0x12, 0x10, gMEventClientScript_AlreadyHadNews @ SEND
|
SRV_SEND(0x10, gMEventClientScript_AlreadyHadNews),
|
||||||
.4byte 0x01, 0x00, NULL @ WAIT SEND
|
SRV_WAITSND,
|
||||||
.4byte 0x02, 0x14, NULL @ RECV
|
SRV_RECV(0x14),
|
||||||
.4byte 0x00, 0x07, NULL @ RETURN (other trn has news)
|
SRV_RETURN(0x07)
|
||||||
|
};
|
||||||
|
|
||||||
gMEventSrvScript_SentNewsSuccess::
|
const struct mevent_server_cmd gMEventSrvScript_SentNewsSuccess[] = {
|
||||||
.4byte 0x12, 0x28, gMEventClientScript_ReceiveNewsAndValidate @ SEND
|
SRV_SEND(0x28, gMEventClientScript_ReceiveNewsAndValidate),
|
||||||
.4byte 0x01, 0x00, NULL @ WAIT SEND
|
SRV_WAITSND,
|
||||||
.4byte 0x0e, 0x00, NULL @ SEND_NEWS
|
SRV_SEND_NEWS,
|
||||||
.4byte 0x01, 0x00, NULL @ WAIT SEND
|
SRV_WAITSND,
|
||||||
.4byte 0x02, 0x13, NULL @ RECV
|
SRV_RECV(0x13),
|
||||||
.4byte 0x08, 0x00, NULL @ READWORD
|
SRV_READWORD,
|
||||||
.4byte 0x04, 0x01, gMEventSrvScript_OtherTrnHasNews @ BRANCH_EQ
|
SRV_BRANCHIF(0x01, gMEventSrvScript_OtherTrnHasNews),
|
||||||
.4byte 0x12, 0x10, gMEventClientScript_RecvNewsSuccess @ SEND
|
SRV_SEND(0x10, gMEventClientScript_RecvNewsSuccess),
|
||||||
.4byte 0x01, 0x00, NULL @ WAIT SEND
|
SRV_WAITSND,
|
||||||
.4byte 0x02, 0x14, NULL @ RECV
|
SRV_RECV(0x14),
|
||||||
.4byte 0x00, 0x03, NULL @ RETURN (news sent to)
|
SRV_RETURN(0x03)
|
||||||
|
};
|
||||||
|
|
||||||
gMEventSrvScript_SendCardSuccess::
|
const struct mevent_server_cmd gMEventSrvScript_SendCardSuccess[] = {
|
||||||
.4byte 0x12, 0x30, gMEventClientScript_ReceiveCardAndReturnSuccess @ SEND
|
SRV_SEND(0x30, gMEventClientScript_ReceiveCardAndReturnSuccess),
|
||||||
.4byte 0x01, 0x00, NULL @ WAIT SEND
|
SRV_WAITSND,
|
||||||
.4byte 0x0d, 0x00, NULL @ SEND_CARD
|
SRV_SEND_CARD,
|
||||||
.4byte 0x01, 0x00, NULL @ WAIT SEND
|
SRV_WAITSND,
|
||||||
.4byte 0x0f, 0x00, NULL @ BUFFER_SEND
|
SRV_BUFFER_SEND,
|
||||||
.4byte 0x01, 0x00, NULL @ WAIT SEND
|
SRV_WAITSND,
|
||||||
.4byte 0x02, 0x14, NULL @ RECV
|
SRV_RECV(0x14),
|
||||||
.4byte 0x00, 0x02, NULL @ RETURN (card sent to)
|
SRV_RETURN(0x02)
|
||||||
|
};
|
||||||
|
|
||||||
gMEventSrvScript_AskClientToOverwriteCard::
|
const struct mevent_server_cmd gMEventSrvScript_AskClientToOverwriteCard[] = {
|
||||||
.4byte 0x12, 0x28, gMEventClientScript_AskWouldLikeToTossCard @ SEND
|
SRV_SEND(0x28, gMEventClientScript_AskWouldLikeToTossCard),
|
||||||
.4byte 0x01, 0x00, NULL @ WAIT SEND
|
SRV_WAITSND,
|
||||||
.4byte 0x02, 0x13, NULL @ RECV
|
SRV_RECV(0x13),
|
||||||
.4byte 0x08, 0x00, NULL @ READWORD
|
SRV_READWORD,
|
||||||
.4byte 0x04, 0x00, gMEventSrvScript_SendCardSuccess @ BRANCH_EQ
|
SRV_BRANCHIF(0x00, gMEventSrvScript_SendCardSuccess),
|
||||||
.4byte 0x03, 0x00, gMEventSrvScript_OtherTrainerCanceled @ BRANCH
|
SRV_BRANCH(gMEventSrvScript_OtherTrainerCanceled)
|
||||||
|
};
|
||||||
|
|
||||||
gMEventSrvScript_OtherTrnHasCard::
|
const struct mevent_server_cmd gMEventSrvScript_OtherTrnHasCard[] = {
|
||||||
.4byte 0x12, 0x10, gMEventClientScript_AlreadyHadCard @ SEND
|
SRV_SEND(0x10, gMEventClientScript_AlreadyHadCard),
|
||||||
.4byte 0x01, 0x00, NULL @ WAIT SEND
|
SRV_WAITSND,
|
||||||
.4byte 0x02, 0x14, NULL @ RECV
|
SRV_RECV(0x14),
|
||||||
.4byte 0x00, 0x05, NULL @ RETURN (other trn has card)
|
SRV_RETURN(0x05)
|
||||||
|
};
|
||||||
|
|
||||||
.4byte 0x12, 0x10, gMEventClientScript_NothingSentOver @ SEND
|
SRV_SEND(0x10, gMEventClientScript_NothingSentOver),
|
||||||
.4byte 0x01, 0x00, NULL @ WAIT SEND
|
SRV_WAITSND,
|
||||||
.4byte 0x02, 0x14, NULL @ RECV
|
SRV_RECV(0x14),
|
||||||
.4byte 0x00, 0x00, NULL @ RETURN (nothing sent over)
|
SRV_RETURN(0x00)
|
||||||
|
};
|
||||||
|
|
||||||
gMEventSrvScript_SendNews:: @ 8468B6C
|
const struct mevent_server_cmd gMEventSrvScript_SendNews[] = {
|
||||||
.4byte 0x1b, 0x00, NULL @ BUFFER_SAVED_NEWS
|
SRV_BUFFER_NEWS,
|
||||||
.4byte 0x12, 0x20, gMEventClientScript_Send1442CC @ SEND
|
SRV_SEND(0x20, gMEventClientScript_Send1442CC),
|
||||||
.4byte 0x01, 0x00, NULL @ WAIT SEND
|
SRV_WAITSND,
|
||||||
.4byte 0x02, 0x11, NULL @ RECV
|
SRV_RECV(0x11),
|
||||||
.4byte 0x05, 0x00, NULL @ READ_1442CC
|
SRV_READ_1442CC,
|
||||||
.4byte 0x06, 0x00, NULL @ VALID_1442CC
|
SRV_VALID_1442CC,
|
||||||
.4byte 0x04, 0x00, gMEventSrvScript_UnableToSend @ BRANCH_EQ
|
SRV_BRANCHIF(0x00, gMEventSrvScript_UnableToSend),
|
||||||
.4byte 0x03, 0x00, gMEventSrvScript_SentNewsSuccess @ BRANCH
|
SRV_BRANCH(gMEventSrvScript_SentNewsSuccess)
|
||||||
|
};
|
||||||
|
|
||||||
gMEventSrvScript_SendCard:: @ 8468BCC
|
const struct mevent_server_cmd gMEventSrvScript_SendCard[] = {
|
||||||
.4byte 0x1a, 0x00, NULL @ BUFFER_SAVED_CARD
|
SRV_BUFFER_CARD,
|
||||||
.4byte 0x1c, 0x00, NULL @ RAM_SCRIPT_IF_VALID
|
SRV_RAM_SCRIPT_IF_VALID,
|
||||||
.4byte 0x12, 0x20, gMEventClientScript_Send1442CC @ SEND
|
SRV_SEND(0x20, gMEventClientScript_Send1442CC),
|
||||||
.4byte 0x01, 0x00, NULL @ WAIT SEND
|
SRV_WAITSND,
|
||||||
.4byte 0x02, 0x11, NULL @ RECV
|
SRV_RECV(0x11),
|
||||||
.4byte 0x05, 0x00, NULL @ READ_1442CC
|
SRV_READ_1442CC,
|
||||||
.4byte 0x06, 0x00, NULL @ VALID_1442CC
|
SRV_VALID_1442CC,
|
||||||
.4byte 0x04, 0x00, gMEventSrvScript_UnableToSend @ BRANCH_EQ
|
SRV_BRANCHIF(0x00, gMEventSrvScript_UnableToSend),
|
||||||
.4byte 0x07, 0x00, NULL @ CHECK_1442CC_14
|
SRV_CHECK_1442CC_14,
|
||||||
.4byte 0x04, 0x02, gMEventSrvScript_AskClientToOverwriteCard @ BRANCH_EQ
|
SRV_BRANCHIF(0x02, gMEventSrvScript_AskClientToOverwriteCard),
|
||||||
.4byte 0x04, 0x00, gMEventSrvScript_SendCardSuccess @ BRANCH_EQ
|
SRV_BRANCHIF(0x00, gMEventSrvScript_SendCardSuccess),
|
||||||
.4byte 0x03, 0x00, gMEventSrvScript_OtherTrnHasCard @ BRANCH
|
SRV_BRANCH(gMEventSrvScript_OtherTrnHasCard)
|
||||||
|
};
|
||||||
|
|||||||
+65
-53
@@ -1,65 +1,77 @@
|
|||||||
gMEventClientScript_InotialListen:: @ 84687E0
|
const struct mevent_client_cmd gMEventClientScript_InitialListen[] = { // 84687E0
|
||||||
.4byte 0x02, 0x10 @ RECEIVE ID(0x10)
|
CLI_RECEIVE(0x10),
|
||||||
.4byte 0x04, 0x00 @ JUMP TO RECEIVE BUFFER
|
CLI_JUMPBUF
|
||||||
|
};
|
||||||
|
|
||||||
gMEventClientScript_Send1442CC::
|
const struct mevent_client_cmd gMEventClientScript_Send1442CC[] = {
|
||||||
.4byte 0x08, 0x00 @ SEND HEADER MAYBE
|
CLI_SNDHEAD,
|
||||||
.4byte 0x03, 0x00 @ WAIT SEND
|
CLI_WAITSND,
|
||||||
.4byte 0x02, 0x10 @ RECEIVE ID(0x10)
|
CLI_RECEIVE(0x10),
|
||||||
.4byte 0x04, 0x00 @ JUMP TO RECEIVE BUFFER
|
CLI_JUMPBUF
|
||||||
|
};
|
||||||
|
|
||||||
gMEventClientScript_UnableToRecv:: @ can't accept card or news
|
const struct mevent_client_cmd gMEventClientScript_UnableToRecv[] = { // can't accept card or news
|
||||||
.4byte 0x14, 0x00 @ SEND ALL
|
CLI_SENDALL,
|
||||||
.4byte 0x01, 0x0a @ RETURN 0x0a
|
CLI_RETURN(0x0a)
|
||||||
|
};
|
||||||
|
|
||||||
gMEventClientScript_CommError:: @ comm error
|
const struct mevent_client_cmd gMEventClientScript_CommError[] = { // comm error
|
||||||
.4byte 0x14, 0x00 @ SEND ALL
|
CLI_SENDALL,
|
||||||
.4byte 0x01, 0x0b @ RETURN 0x0b
|
CLI_RETURN(0x0b)
|
||||||
|
};
|
||||||
|
|
||||||
gMEventClientScript_NothingSentOver:: @ nothing sent
|
const struct mevent_client_cmd gMEventClientScript_NothingSentOver[] = { // nothing sent
|
||||||
.4byte 0x14, 0x00 @ SEND ALL
|
CLI_SENDALL,
|
||||||
.4byte 0x01, 0x00 @ RETURN 0x00
|
CLI_RETURN(0x00)
|
||||||
|
};
|
||||||
|
|
||||||
gMEventClientScript_ReceiveCardAndReturnSuccess:: @ card success
|
const struct mevent_client_cmd gMEventClientScript_ReceiveCardAndReturnSuccess[] = { // card success
|
||||||
.4byte 0x02, 0x16 @ RECEIVE ID(0x16)
|
CLI_RECEIVE(0x16),
|
||||||
.4byte 0x0a, 0x00 @ RECEIVE_TO_SAVE_FILE
|
CLI_RECVSAV,
|
||||||
.4byte 0x02, 0x19 @ RECEIVE ID(0x19)
|
CLI_RECEIVE(0x19),
|
||||||
.4byte 0x11, 0x00 @ RECEIVE_TO_RAM_SCRIPT
|
CLI_RECVRAM,
|
||||||
.4byte 0x14, 0x00 @ SEND ALL
|
CLI_SENDALL,
|
||||||
.4byte 0x01, 0x02 @ RETURN 0x02
|
CLI_RETURN(0x02)
|
||||||
|
};
|
||||||
|
|
||||||
gMEventClientScript_ReceiveNewsAndValidate::
|
const struct mevent_client_cmd gMEventClientScript_ReceiveNewsAndValidate[] = {
|
||||||
.4byte 0x02, 0x17 @ RECEIVE ID(0x17)
|
CLI_RECEIVE(0x17),
|
||||||
.4byte 0x09, 0x00 @ VALIDATE NEWS
|
CLI_VLDNEWS,
|
||||||
.4byte 0x03, 0x00 @ WAIT SEND
|
CLI_WAITSND,
|
||||||
.4byte 0x02, 0x10 @ RECEIVE ID(0x10)
|
CLI_RECEIVE(0x10),
|
||||||
.4byte 0x04, 0x00 @ JUMP TO RECEIVE BUFFER
|
CLI_JUMPBUF
|
||||||
|
};
|
||||||
|
|
||||||
gMEventClientScript_AlreadyHadNews:: @ already had news
|
const struct mevent_client_cmd gMEventClientScript_AlreadyHadNews[] = { // already had news
|
||||||
.4byte 0x14, 0x00 @ SEND ALL
|
CLI_SENDALL,
|
||||||
.4byte 0x01, 0x07 @ RETURN 0x07
|
CLI_RETURN(0x07)
|
||||||
|
};
|
||||||
|
|
||||||
gMEventClientScript_RecvNewsSuccess:: @ news success
|
const struct mevent_client_cmd gMEventClientScript_RecvNewsSuccess[] = { // news success
|
||||||
.4byte 0x14, 0x00 @ SEND ALL
|
CLI_SENDALL,
|
||||||
.4byte 0x01, 0x03 @ RETURN 0x03
|
CLI_RETURN(0x03)
|
||||||
|
};
|
||||||
|
|
||||||
gMEventClientScript_AskWouldLikeToTossCard::
|
const struct mevent_client_cmd gMEventClientScript_AskWouldLikeToTossCard[] = {
|
||||||
.4byte 0x0d, 0x00 @ REQUEST PARAMETER
|
CLI_REQWORD,
|
||||||
.4byte 0x0e, 0x00 @ SEND PARAMETER
|
CLI_SNDWORD,
|
||||||
.4byte 0x03, 0x00 @ WAIT SEND
|
CLI_WAITSND,
|
||||||
.4byte 0x02, 0x10 @ RECEIVE ID(0x10)
|
CLI_RECEIVE(0x10),
|
||||||
.4byte 0x04, 0x00 @ JUMP TO RECEIVE BUFFER
|
CLI_JUMPBUF
|
||||||
|
};
|
||||||
|
|
||||||
gMEventClientScript_OtherTrainerCanceled:: @ comm canceled
|
const struct mevent_client_cmd gMEventClientScript_OtherTrainerCanceled[] = { // comm canceled
|
||||||
.4byte 0x14, 0x00 @ SEND ALL
|
CLI_SENDALL,
|
||||||
.4byte 0x01, 0x09 @ RETURN 0x09
|
CLI_RETURN(0x09)
|
||||||
|
};
|
||||||
|
|
||||||
gMEventClientScript_AlreadyHadCard:: @ already had card
|
const struct mevent_client_cmd gMEventClientScript_AlreadyHadCard[] = { // already had card
|
||||||
.4byte 0x14, 0x00 @ SEND ALL
|
CLI_SENDALL,
|
||||||
.4byte 0x01, 0x05 @ RETURN 0x05
|
CLI_RETURN(0x05)
|
||||||
|
};
|
||||||
|
|
||||||
gMEventClientScript_SuccessFromBuffer:: @ success from buffer
|
const struct mevent_client_cmd gMEventClientScript_SuccessFromBuffer[] = { // success from buffer
|
||||||
.4byte 0x02, 0x15 @ RECEIVE ID(0x15)
|
CLI_RECEIVE(0x15),
|
||||||
.4byte 0x0c, 0x00 @ READ PACKET AND COMPUTE SOMETHING
|
CLI_RECVBUF,
|
||||||
.4byte 0x14, 0x00 @ SEND ALL
|
CLI_SENDALL,
|
||||||
.4byte 0x01, 0x0d @ RETURN 0x0d
|
CLI_RETURN(0x0d)
|
||||||
|
|||||||
@@ -43,4 +43,7 @@ void sub_80FBB20(void);
|
|||||||
bool8 sub_80FA484(bool32 a0);
|
bool8 sub_80FA484(bool32 a0);
|
||||||
void var_800D_set_xB(void);
|
void var_800D_set_xB(void);
|
||||||
|
|
||||||
|
#include "mevent_server.h"
|
||||||
|
extern const struct mevent_server_cmd gMEventSrvScript_OtherTrainerCanceled[];
|
||||||
|
|
||||||
#endif //GUARD_LINK_RFU_H
|
#endif //GUARD_LINK_RFU_H
|
||||||
|
|||||||
@@ -37,6 +37,20 @@ struct mevent_client_cmd
|
|||||||
u32 parameter;
|
u32 parameter;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Client commands
|
||||||
|
#define CLI_RETURN(x) {.instr = 1, .parameter = x}
|
||||||
|
#define CLI_RECEIVE(x) {.instr = 2, .parameter = x}
|
||||||
|
#define CLI_WAITSND {.instr = 3, .parameter = 0}
|
||||||
|
#define CLI_JUMPBUF {.instr = 4, .parameter = 0}
|
||||||
|
#define CLI_SNDHEAD {.instr = 8, .parameter = 0}
|
||||||
|
#define CLI_VLDNEWS {.instr = 9, .parameter = 0}
|
||||||
|
#define CLI_RECVSAV {.instr = 10, .parameter = 0}
|
||||||
|
#define CLI_RECVBUF {.instr = 12, .parameter = 0}
|
||||||
|
#define CLI_REQWORD {.instr = 13, .parameter = 0}
|
||||||
|
#define CLI_SNDWORD {.instr = 14, .parameter = 0}
|
||||||
|
#define CLI_RECVRAM {.instr = 17, .parameter = 0}
|
||||||
|
#define CLI_SENDALL {.instr = 20, .parameter = 0}
|
||||||
|
|
||||||
struct mevent_client
|
struct mevent_client
|
||||||
{
|
{
|
||||||
u32 unk_00;
|
u32 unk_00;
|
||||||
@@ -58,6 +72,24 @@ struct mevent_server_cmd
|
|||||||
void * parameter;
|
void * parameter;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Server commands
|
||||||
|
#define SRV_RETURN(x) {.instr = 0, .flag = x}
|
||||||
|
#define SRV_WAITSND {.instr = 1}
|
||||||
|
#define SRV_RECV(x) {.instr = 2, .flag = x}
|
||||||
|
#define SRV_BRANCH(y) {.instr = 3, .parameter = (void *)y}
|
||||||
|
#define SRV_BRANCHIF(x, y) {.instr = 4, .flag = x, .parameter = (void *)y}
|
||||||
|
#define SRV_READ_1442CC {.instr = 5}
|
||||||
|
#define SRV_VALID_1442CC {.instr = 6}
|
||||||
|
#define SRV_CHECK_1442CC_14 {.instr = 7}
|
||||||
|
#define SRV_READWORD {.instr = 8}
|
||||||
|
#define SRV_SEND_CARD {.instr = 13}
|
||||||
|
#define SRV_SEND_NEWS {.instr = 14}
|
||||||
|
#define SRV_BUFFER_SEND {.instr = 15}
|
||||||
|
#define SRV_SEND(x, y) {.instr = 18, .flag = x, .parameter = (void *)y}
|
||||||
|
#define SRV_BUFFER_CARD {.instr = 26}
|
||||||
|
#define SRV_BUFFER_NEWS {.instr = 27}
|
||||||
|
#define SRV_RAM_SCRIPT_IF_VALID {.instr = 28}
|
||||||
|
|
||||||
struct mevent_srv_common
|
struct mevent_srv_common
|
||||||
{
|
{
|
||||||
u32 unk_00;
|
u32 unk_00;
|
||||||
|
|||||||
+1
-1
@@ -536,7 +536,7 @@ SECTIONS {
|
|||||||
src/mevent_client.o(.rodata);
|
src/mevent_client.o(.rodata);
|
||||||
src/mevent_server.o(.rodata);
|
src/mevent_server.o(.rodata);
|
||||||
src/mevent_8145654.o(.rodata);
|
src/mevent_8145654.o(.rodata);
|
||||||
data/data_8466FB8.o(.rodata);
|
src/mevent_scripts.o(.rodata);
|
||||||
src/menews_jisan.o(.rodata);
|
src/menews_jisan.o(.rodata);
|
||||||
src/menews_jisan.o(.rodata.str1.4);
|
src/menews_jisan.o(.rodata.str1.4);
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
|
|||||||
+2
-2
@@ -14,7 +14,7 @@ static void mevent_client_init(struct mevent_client *, u32, u32);
|
|||||||
static u32 mevent_client_exec(struct mevent_client *);
|
static u32 mevent_client_exec(struct mevent_client *);
|
||||||
static void mevent_client_free_resources(struct mevent_client *);
|
static void mevent_client_free_resources(struct mevent_client *);
|
||||||
|
|
||||||
extern const struct mevent_client_cmd gMEventClientScript_InotialListen[];
|
extern const struct mevent_client_cmd gMEventClientScript_InitialListen[];
|
||||||
|
|
||||||
void mevent_client_do_init(void)
|
void mevent_client_do_init(void)
|
||||||
{
|
{
|
||||||
@@ -89,7 +89,7 @@ static void mevent_client_send_word(struct mevent_client * svr, u32 ident, u32 w
|
|||||||
static u32 client_mainseq_0(struct mevent_client * svr)
|
static u32 client_mainseq_0(struct mevent_client * svr)
|
||||||
{
|
{
|
||||||
// init
|
// init
|
||||||
memcpy(svr->cmdBuffer, gMEventClientScript_InotialListen, ME_SEND_BUF_SIZE);
|
memcpy(svr->cmdBuffer, gMEventClientScript_InitialListen, ME_SEND_BUF_SIZE);
|
||||||
svr->cmdidx = 0;
|
svr->cmdidx = 0;
|
||||||
svr->mainseqno = 4;
|
svr->mainseqno = 4;
|
||||||
svr->flag = 0;
|
svr->flag = 0;
|
||||||
|
|||||||
@@ -0,0 +1,192 @@
|
|||||||
|
#include "global.h"
|
||||||
|
#include "mevent_server.h"
|
||||||
|
|
||||||
|
extern const struct mevent_server_cmd gMEventSrvScript_OtherTrainerCanceled[];
|
||||||
|
|
||||||
|
// Unreferenced
|
||||||
|
const u8 gUnknown_84687A0[] = _("You have collected all STAMPs!\nWant to input a CARD as a prize?");
|
||||||
|
|
||||||
|
/* CLIENT SCRIPTS */
|
||||||
|
|
||||||
|
const struct mevent_client_cmd gMEventClientScript_InitialListen[] = { // 84687E0
|
||||||
|
CLI_RECEIVE(0x10),
|
||||||
|
CLI_JUMPBUF
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct mevent_client_cmd gMEventClientScript_Send1442CC[] = {
|
||||||
|
CLI_SNDHEAD,
|
||||||
|
CLI_WAITSND,
|
||||||
|
CLI_RECEIVE(0x10),
|
||||||
|
CLI_JUMPBUF
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct mevent_client_cmd gMEventClientScript_UnableToRecv[] = { // can't accept card or news
|
||||||
|
CLI_SENDALL,
|
||||||
|
CLI_RETURN(0x0a)
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct mevent_client_cmd gMEventClientScript_CommError[] = { // comm error
|
||||||
|
CLI_SENDALL,
|
||||||
|
CLI_RETURN(0x0b)
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct mevent_client_cmd gMEventClientScript_NothingSentOver[] = { // nothing sent
|
||||||
|
CLI_SENDALL,
|
||||||
|
CLI_RETURN(0x00)
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct mevent_client_cmd gMEventClientScript_ReceiveCardAndReturnSuccess[] = { // card success
|
||||||
|
CLI_RECEIVE(0x16),
|
||||||
|
CLI_RECVSAV,
|
||||||
|
CLI_RECEIVE(0x19),
|
||||||
|
CLI_RECVRAM,
|
||||||
|
CLI_SENDALL,
|
||||||
|
CLI_RETURN(0x02)
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct mevent_client_cmd gMEventClientScript_ReceiveNewsAndValidate[] = {
|
||||||
|
CLI_RECEIVE(0x17),
|
||||||
|
CLI_VLDNEWS,
|
||||||
|
CLI_WAITSND,
|
||||||
|
CLI_RECEIVE(0x10),
|
||||||
|
CLI_JUMPBUF
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct mevent_client_cmd gMEventClientScript_AlreadyHadNews[] = { // already had news
|
||||||
|
CLI_SENDALL,
|
||||||
|
CLI_RETURN(0x07)
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct mevent_client_cmd gMEventClientScript_RecvNewsSuccess[] = { // news success
|
||||||
|
CLI_SENDALL,
|
||||||
|
CLI_RETURN(0x03)
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct mevent_client_cmd gMEventClientScript_AskWouldLikeToTossCard[] = {
|
||||||
|
CLI_REQWORD,
|
||||||
|
CLI_SNDWORD,
|
||||||
|
CLI_WAITSND,
|
||||||
|
CLI_RECEIVE(0x10),
|
||||||
|
CLI_JUMPBUF
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct mevent_client_cmd gMEventClientScript_OtherTrainerCanceled[] = { // comm canceled
|
||||||
|
CLI_SENDALL,
|
||||||
|
CLI_RETURN(0x09)
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct mevent_client_cmd gMEventClientScript_AlreadyHadCard[] = { // already had card
|
||||||
|
CLI_SENDALL,
|
||||||
|
CLI_RETURN(0x05)
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct mevent_client_cmd gMEventClientScript_SuccessFromBuffer[] = { // success from buffer
|
||||||
|
CLI_RECEIVE(0x15),
|
||||||
|
CLI_RECVBUF,
|
||||||
|
CLI_SENDALL,
|
||||||
|
CLI_RETURN(0x0d)
|
||||||
|
};
|
||||||
|
|
||||||
|
/* SERVER SCRIPTS */
|
||||||
|
|
||||||
|
const struct mevent_server_cmd gMEventSrvScript_UnableToSend[] = {
|
||||||
|
SRV_SEND(0x10, gMEventClientScript_UnableToRecv),
|
||||||
|
SRV_WAITSND,
|
||||||
|
SRV_RECV(0x14),
|
||||||
|
SRV_RETURN(0x0a)
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct mevent_server_cmd gUnknown_8468950[] = {
|
||||||
|
SRV_SEND(0x10, gMEventClientScript_CommError),
|
||||||
|
SRV_WAITSND,
|
||||||
|
SRV_RECV(0x14),
|
||||||
|
SRV_RETURN(0x0b)
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct mevent_server_cmd gUnknown_8468980[] = {
|
||||||
|
SRV_SEND(0x10, gMEventClientScript_OtherTrainerCanceled),
|
||||||
|
SRV_WAITSND,
|
||||||
|
SRV_RECV(0x14),
|
||||||
|
SRV_RETURN(0x09)
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct mevent_server_cmd gMEventSrvScript_OtherTrnHasNews[] = {
|
||||||
|
SRV_SEND(0x10, gMEventClientScript_AlreadyHadNews),
|
||||||
|
SRV_WAITSND,
|
||||||
|
SRV_RECV(0x14),
|
||||||
|
SRV_RETURN(0x07)
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct mevent_server_cmd gMEventSrvScript_SentNewsSuccess[] = {
|
||||||
|
SRV_SEND(0x28, gMEventClientScript_ReceiveNewsAndValidate),
|
||||||
|
SRV_WAITSND,
|
||||||
|
SRV_SEND_NEWS,
|
||||||
|
SRV_WAITSND,
|
||||||
|
SRV_RECV(0x13),
|
||||||
|
SRV_READWORD,
|
||||||
|
SRV_BRANCHIF(0x01, gMEventSrvScript_OtherTrnHasNews),
|
||||||
|
SRV_SEND(0x10, gMEventClientScript_RecvNewsSuccess),
|
||||||
|
SRV_WAITSND,
|
||||||
|
SRV_RECV(0x14),
|
||||||
|
SRV_RETURN(0x03)
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct mevent_server_cmd gMEventSrvScript_SendCardSuccess[] = {
|
||||||
|
SRV_SEND(0x30, gMEventClientScript_ReceiveCardAndReturnSuccess),
|
||||||
|
SRV_WAITSND,
|
||||||
|
SRV_SEND_CARD,
|
||||||
|
SRV_WAITSND,
|
||||||
|
SRV_BUFFER_SEND,
|
||||||
|
SRV_WAITSND,
|
||||||
|
SRV_RECV(0x14),
|
||||||
|
SRV_RETURN(0x02)
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct mevent_server_cmd gMEventSrvScript_AskClientToOverwriteCard[] = {
|
||||||
|
SRV_SEND(0x28, gMEventClientScript_AskWouldLikeToTossCard),
|
||||||
|
SRV_WAITSND,
|
||||||
|
SRV_RECV(0x13),
|
||||||
|
SRV_READWORD,
|
||||||
|
SRV_BRANCHIF(0x00, gMEventSrvScript_SendCardSuccess),
|
||||||
|
SRV_BRANCH(gMEventSrvScript_OtherTrainerCanceled)
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct mevent_server_cmd gMEventSrvScript_OtherTrnHasCard[] = {
|
||||||
|
SRV_SEND(0x10, gMEventClientScript_AlreadyHadCard),
|
||||||
|
SRV_WAITSND,
|
||||||
|
SRV_RECV(0x14),
|
||||||
|
SRV_RETURN(0x05)
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct mevent_server_cmd gUnknown_8468B3C[] = {
|
||||||
|
SRV_SEND(0x10, gMEventClientScript_NothingSentOver),
|
||||||
|
SRV_WAITSND,
|
||||||
|
SRV_RECV(0x14),
|
||||||
|
SRV_RETURN(0x00)
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct mevent_server_cmd gMEventSrvScript_SendNews[] = {
|
||||||
|
SRV_BUFFER_NEWS,
|
||||||
|
SRV_SEND(0x20, gMEventClientScript_Send1442CC),
|
||||||
|
SRV_WAITSND,
|
||||||
|
SRV_RECV(0x11),
|
||||||
|
SRV_READ_1442CC,
|
||||||
|
SRV_VALID_1442CC,
|
||||||
|
SRV_BRANCHIF(0x00, gMEventSrvScript_UnableToSend),
|
||||||
|
SRV_BRANCH(gMEventSrvScript_SentNewsSuccess)
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct mevent_server_cmd gMEventSrvScript_SendCard[] = {
|
||||||
|
SRV_BUFFER_CARD,
|
||||||
|
SRV_RAM_SCRIPT_IF_VALID,
|
||||||
|
SRV_SEND(0x20, gMEventClientScript_Send1442CC),
|
||||||
|
SRV_WAITSND,
|
||||||
|
SRV_RECV(0x11),
|
||||||
|
SRV_READ_1442CC,
|
||||||
|
SRV_VALID_1442CC,
|
||||||
|
SRV_BRANCHIF(0x00, gMEventSrvScript_UnableToSend),
|
||||||
|
SRV_CHECK_1442CC_14,
|
||||||
|
SRV_BRANCHIF(0x02, gMEventSrvScript_AskClientToOverwriteCard),
|
||||||
|
SRV_BRANCHIF(0x00, gMEventSrvScript_SendCardSuccess),
|
||||||
|
SRV_BRANCH(gMEventSrvScript_OtherTrnHasCard)
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user