Commit fa3ae9ad authored by mercury233's avatar mercury233

add lflist param

parent 40fae330
...@@ -35,13 +35,13 @@ unsigned short time_limit; ...@@ -35,13 +35,13 @@ unsigned short time_limit;
unsigned char start_hand; unsigned char start_hand;
unsigned char draw_count; unsigned char draw_count;
void Game::MainServerLoop(int bDuel_mode) { void Game::MainServerLoop(int bDuel_mode, int lflist) {
deckManager.LoadLFList(); deckManager.LoadLFList();
dataManager.LoadDB("cards.cdb"); dataManager.LoadDB("cards.cdb");
aServerPort = NetServer::StartServer(aServerPort); aServerPort = NetServer::StartServer(aServerPort);
printf("%u\n", aServerPort); printf("%u\n", aServerPort);
fflush(stdout); fflush(stdout);
NetServer::Initduel(bDuel_mode); NetServer::Initduel(bDuel_mode, lflist);
while(NetServer::net_evbase) { while(NetServer::net_evbase) {
#ifdef WIN32 #ifdef WIN32
Sleep(200); Sleep(200);
......
...@@ -68,7 +68,7 @@ class Game { ...@@ -68,7 +68,7 @@ class Game {
public: public:
bool Initialize(); bool Initialize();
void MainLoop(); void MainLoop();
void MainServerLoop(int bDuel_mode); void MainServerLoop(int bDuel_mode, int lflist);
void BuildProjectionMatrix(irr::core::matrix4& mProjection, f32 left, f32 right, f32 bottom, f32 top, f32 znear, f32 zfar); void BuildProjectionMatrix(irr::core::matrix4& mProjection, f32 left, f32 right, f32 bottom, f32 top, f32 znear, f32 zfar);
void InitStaticText(irr::gui::IGUIStaticText* pControl, u32 cWidth, u32 cHeight, irr::gui::CGUITTFont* font, const wchar_t* text); void InitStaticText(irr::gui::IGUIStaticText* pControl, u32 cWidth, u32 cHeight, irr::gui::CGUITTFont* font, const wchar_t* text);
void SetStaticText(irr::gui::IGUIStaticText* pControl, u32 cWidth, irr::gui::CGUITTFont* font, const wchar_t* text, u32 pos = 0); void SetStaticText(irr::gui::IGUIStaticText* pControl, u32 cWidth, irr::gui::CGUITTFont* font, const wchar_t* text, u32 pos = 0);
......
...@@ -44,7 +44,7 @@ int main(int argc, char* argv[]) { ...@@ -44,7 +44,7 @@ int main(int argc, char* argv[]) {
ygo::time_limit=atoi(argv[11]); ygo::time_limit=atoi(argv[11]);
} }
ygo::mainGame = &_game; ygo::mainGame = &_game;
ygo::mainGame->MainServerLoop(ygo::mode); ygo::mainGame->MainServerLoop(ygo::mode, ygo::lflist);
return 0; return 0;
} }
......
...@@ -14,7 +14,7 @@ char NetServer::net_server_write[0x2000]; ...@@ -14,7 +14,7 @@ char NetServer::net_server_write[0x2000];
unsigned short NetServer::last_sent = 0; unsigned short NetServer::last_sent = 0;
void NetServer::Initduel(int bDuel_mode) void NetServer::Initduel(int bDuel_mode, int lflist)
{ {
CTOS_CreateGame* pkt = new CTOS_CreateGame; CTOS_CreateGame* pkt = new CTOS_CreateGame;
pkt->info.mode=MODE_SINGLE; pkt->info.mode=MODE_SINGLE;
...@@ -36,7 +36,7 @@ void NetServer::Initduel(int bDuel_mode) ...@@ -36,7 +36,7 @@ void NetServer::Initduel(int bDuel_mode)
pkt->info.mode = 0; pkt->info.mode = 0;
unsigned int hash = 0; unsigned int hash = 0;
//pkt->info.lflist = deckManager._lfList[lflist].hash; pkt->info.lflist = deckManager._lfList[lflist].hash;
for(auto lfit = deckManager._lfList.begin(); lfit != deckManager._lfList.end(); ++lfit) { for(auto lfit = deckManager._lfList.begin(); lfit != deckManager._lfList.end(); ++lfit) {
if(pkt->info.lflist == lfit->hash) { if(pkt->info.lflist == lfit->hash) {
...@@ -47,6 +47,9 @@ void NetServer::Initduel(int bDuel_mode) ...@@ -47,6 +47,9 @@ void NetServer::Initduel(int bDuel_mode)
if(!hash) if(!hash)
pkt->info.lflist = deckManager._lfList[0].hash; pkt->info.lflist = deckManager._lfList[0].hash;
if(lflist == -1)
pkt->info.lflist = 0;
duel_mode->host_info = pkt->info; duel_mode->host_info = pkt->info;
BufferIO::CopyWStr(pkt->name, duel_mode->name, 20); BufferIO::CopyWStr(pkt->name, duel_mode->name, 20);
BufferIO::CopyWStr(pkt->pass, duel_mode->pass, 20); BufferIO::CopyWStr(pkt->pass, duel_mode->pass, 20);
......
...@@ -24,7 +24,7 @@ private: ...@@ -24,7 +24,7 @@ private:
public: public:
static event_base* net_evbase; static event_base* net_evbase;
static void Initduel(int duel_mode); static void Initduel(int duel_mode, int lflist);
static unsigned short StartServer(unsigned short port); static unsigned short StartServer(unsigned short port);
static bool StartBroadcast(); static bool StartBroadcast();
static void StopServer(); static void StopServer();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment