Path: blob/main/RSDKv4/NativeObjects/MultiplayerScreen.hpp
817 views
#ifndef NATIVE_MULTIPLAYERSCREEN_H1#define NATIVE_MULTIPLAYERSCREEN_H23#if !RETRO_USE_ORIGINAL_CODE && RETRO_USE_NETWORKING4enum MultiplayerScreenStates {5MULTIPLAYERSCREEN_STATE_ENTER,6MULTIPLAYERSCREEN_STATE_MAIN,7MULTIPLAYERSCREEN_STATE_ACTION,8MULTIPLAYERSCREEN_STATE_EXIT,9MULTIPLAYERSCREEN_STATE_FLIP,10MULTIPLAYERSCREEN_STATE_HOSTSCR,11MULTIPLAYERSCREEN_STATE_JOINSCR,12MULTIPLAYERSCREEN_STATE_STARTGAME,13MULTIPLAYERSCREEN_STATE_DIALOGWAIT,14};15enum MultiplayerScreenDrawStates {16MULTIPLAYERSCREEN_STATEDRAW_NONE = -1,17MULTIPLAYERSCREEN_STATEDRAW_MAIN,18MULTIPLAYERSCREEN_STATEDRAW_HOST,19MULTIPLAYERSCREEN_STATEDRAW_JOIN20};2122enum MultiplayerScreenButton {23MULTIPLAYERSCREEN_BUTTON_HOST,24MULTIPLAYERSCREEN_BUTTON_JOIN,25MULTIPLAYERSCREEN_BUTTON_COPY,26MULTIPLAYERSCREEN_BUTTON_JOINROOM,27MULTIPLAYERSCREEN_BUTTON_PASTE,28MULTIPLAYERSCREEN_BUTTON_COUNT,29};3031struct NativeEntity_MultiplayerScreen : NativeEntityBase {32MultiplayerScreenStates state;33MultiplayerScreenStates nextState;34MultiplayerScreenDrawStates stateDraw;35MultiplayerScreenDrawStates nextStateDraw;36float timer;37float scale;38NativeEntity_MenuBG *bg;39NativeEntity_TextLabel *label;40NativeEntity_DialogPanel *dialog;41MeshInfo *meshPanel;42MeshAnimator animator;43MatrixF renderMatrix;44MatrixF matrixTemp;45MatrixF matrix3;46byte textureArrows;47byte backPressed;48int arrowAlpha;49sbyte touchedUpID;50sbyte touchedDownID;51NativeEntity_PushButton *buttons[MULTIPLAYERSCREEN_BUTTON_COUNT];52int selectedButton;53byte flipDir;54float rotationY;55NativeEntity_TextLabel *codeLabel[3];56int roomCode;57NativeEntity_TextLabel *enterCodeLabel[8];58NativeEntity_TextLabel *enterCodeSlider[2];59};6061void MultiplayerScreen_Create(void *objPtr);62void MultiplayerScreen_Main(void *objPtr);63void MultiplayerScreen_Destroy(void *objPtr);64#endif6566#endif // !NATIVE_MULTIPLAYERSCREEN_H676869