add persistent lobby flag
This commit is contained in:
@@ -20,6 +20,7 @@ enum LobbyFlag {
|
|||||||
QuestInProgress = 0x10, // game only
|
QuestInProgress = 0x10, // game only
|
||||||
JoinableQuestInProgress = 0x20, // game only
|
JoinableQuestInProgress = 0x20, // game only
|
||||||
Default = 0x40, // lobby only; false for private lobbies
|
Default = 0x40, // lobby only; false for private lobbies
|
||||||
|
Persistent = 0x80, // if not set, lobby is deleted when empty
|
||||||
};
|
};
|
||||||
|
|
||||||
struct Lobby {
|
struct Lobby {
|
||||||
|
|||||||
+1
-1
@@ -755,7 +755,7 @@ void process_menu_selection(shared_ptr<ServerState> s, shared_ptr<Client> c,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void process_change_lobby(shared_ptr<ServerState> s, shared_ptr<Client> c,
|
void process_change_lobby(shared_ptr<ServerState> s, shared_ptr<Client> c,
|
||||||
uint16_t command, uint32_t flag, uint16_t size, const void* data) { // 84
|
uint16_t command, uint32_t flag, uint16_t size, const void* data) { // 84
|
||||||
struct Cmd {
|
struct Cmd {
|
||||||
uint32_t menu_id;
|
uint32_t menu_id;
|
||||||
|
|||||||
+2
-1
@@ -22,7 +22,8 @@ ServerState::ServerState() : run_dns_server(true), run_interactive_shell(true),
|
|||||||
for (size_t x = 0; x < 20; x++) {
|
for (size_t x = 0; x < 20; x++) {
|
||||||
auto lobby_name = decode_sjis(string_printf("LOBBY%zu", x + 1));
|
auto lobby_name = decode_sjis(string_printf("LOBBY%zu", x + 1));
|
||||||
shared_ptr<Lobby> l(new Lobby());
|
shared_ptr<Lobby> l(new Lobby());
|
||||||
l->flags |= LobbyFlag::Public | LobbyFlag::Default | ((x > 14) ? LobbyFlag::Episode3 : 0);
|
l->flags |= LobbyFlag::Public | LobbyFlag::Default | LobbyFlag::Persistent |
|
||||||
|
((x > 14) ? LobbyFlag::Episode3 : 0);
|
||||||
l->block = x + 1;
|
l->block = x + 1;
|
||||||
l->type = x;
|
l->type = x;
|
||||||
char16cpy(l->name, lobby_name.c_str(), 0x24);
|
char16cpy(l->name, lobby_name.c_str(), 0x24);
|
||||||
|
|||||||
Reference in New Issue
Block a user