48 lines
1.5 KiB
C++
48 lines
1.5 KiB
C++
#pragma once
|
|
|
|
#include <stdint.h>
|
|
|
|
#include <string>
|
|
|
|
|
|
|
|
#define MAIN_MENU_ID 0x11000011
|
|
#define INFORMATION_MENU_ID 0x22000022
|
|
#define LOBBY_MENU_ID 0x33000033
|
|
#define GAME_MENU_ID 0x44000044
|
|
#define QUEST_MENU_ID 0x55000055
|
|
#define QUEST_FILTER_MENU_ID 0x66000066
|
|
#define PROXY_DESTINATIONS_MENU_ID 0x77000077
|
|
|
|
#define MAIN_MENU_GO_TO_LOBBY 0x11AAAA11
|
|
#define MAIN_MENU_INFORMATION 0x11BBBB11
|
|
#define MAIN_MENU_DOWNLOAD_QUESTS 0x11CCCC11
|
|
#define MAIN_MENU_PROXY_DESTINATIONS 0x11DDDD11
|
|
#define MAIN_MENU_DISCONNECT 0x11EEEE11
|
|
#define INFORMATION_MENU_GO_BACK 0x22FFFF22
|
|
#define PROXY_DESTINATIONS_MENU_GO_BACK 0x77FFFF77
|
|
|
|
|
|
|
|
struct MenuItem {
|
|
enum Flag {
|
|
INVISIBLE_ON_DC = 0x01,
|
|
INVISIBLE_ON_PC = 0x02,
|
|
INVISIBLE_ON_GC = 0x04,
|
|
INVISIBLE_ON_BB = 0x08,
|
|
DC_ONLY = INVISIBLE_ON_PC | INVISIBLE_ON_GC | INVISIBLE_ON_BB,
|
|
PC_ONLY = INVISIBLE_ON_DC | INVISIBLE_ON_GC | INVISIBLE_ON_BB,
|
|
GC_ONLY = INVISIBLE_ON_DC | INVISIBLE_ON_PC | INVISIBLE_ON_BB,
|
|
BB_ONLY = INVISIBLE_ON_DC | INVISIBLE_ON_PC | INVISIBLE_ON_GC,
|
|
REQUIRES_MESSAGE_BOXES = 0x10,
|
|
};
|
|
|
|
uint32_t item_id;
|
|
std::u16string name;
|
|
std::u16string description;
|
|
uint32_t flags;
|
|
|
|
MenuItem(uint32_t item_id, const std::u16string& name,
|
|
const std::u16string& description, uint32_t flags);
|
|
};
|