forked from metin2/client
remove: OpenID
This commit is contained in:
@ -262,10 +262,6 @@ class LoginWindow(ui.ScriptWindow):
|
|||||||
else:
|
else:
|
||||||
connectingIP = self.stream.GetConnectAddr()
|
connectingIP = self.stream.GetConnectAddr()
|
||||||
if connectingIP:
|
if connectingIP:
|
||||||
if app.USE_OPENID and not app.OPENID_TEST :
|
|
||||||
self.__RefreshServerList()
|
|
||||||
self.__OpenServerBoard()
|
|
||||||
else:
|
|
||||||
self.__OpenLoginBoard()
|
self.__OpenLoginBoard()
|
||||||
if IsFullBackImage():
|
if IsFullBackImage():
|
||||||
self.GetChild("bg1").Hide()
|
self.GetChild("bg1").Hide()
|
||||||
@ -287,13 +283,13 @@ class LoginWindow(ui.ScriptWindow):
|
|||||||
|
|
||||||
print "---------------------------------------------------------------------------- CLOSE LOGIN WINDOW "
|
print "---------------------------------------------------------------------------- CLOSE LOGIN WINDOW "
|
||||||
#
|
#
|
||||||
# selectMusic<69><63> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> BGM<47><4D> <20><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD> <20>ΰ<EFBFBD> <20><> üũ<C3BC>Ѵ<EFBFBD>.
|
# selectMusic<69><63> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> BGM<47><4D> <20><><EFBFBD><EFBFBD>Ƿ<EFBFBD> <20>ΰ<EFBFBD> <20><> üũ<C3BC>Ѵ<EFBFBD>.
|
||||||
#
|
#
|
||||||
if musicInfo.loginMusic != "" and musicInfo.selectMusic != "":
|
if musicInfo.loginMusic != "" and musicInfo.selectMusic != "":
|
||||||
snd.FadeOutMusic("BGM/"+musicInfo.loginMusic)
|
snd.FadeOutMusic("BGM/"+musicInfo.loginMusic)
|
||||||
|
|
||||||
## NOTE : idEditLine<6E><65> pwdEditLine<6E><65> <20>̺<EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ǿ<EFBFBD><C7BE>־
|
## NOTE : idEditLine<6E><65> pwdEditLine<6E><65> <20>̺<EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ǿ<EFBFBD><C7BE>־
|
||||||
## Event<6E><74> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʱ<EFBFBD>ȭ <20><><EFBFBD>־<EFBFBD><EFBFBD>߸<EFBFBD> <20>մϴ<D5B4> - [levites]
|
## Event<6E><74> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʱ<EFBFBD>ȭ <20><><EFBFBD>־<EFBFBD>߸<EFBFBD> <20>մϴ<D5B4> - [levites]
|
||||||
self.idEditLine.SetTabEvent(0)
|
self.idEditLine.SetTabEvent(0)
|
||||||
self.idEditLine.SetReturnEvent(0)
|
self.idEditLine.SetReturnEvent(0)
|
||||||
self.pwdEditLine.SetReturnEvent(0)
|
self.pwdEditLine.SetReturnEvent(0)
|
||||||
@ -393,11 +389,11 @@ class LoginWindow(ui.ScriptWindow):
|
|||||||
|
|
||||||
def SetPasswordEditLineFocus(self):
|
def SetPasswordEditLineFocus(self):
|
||||||
if localeInfo.IsEUROPE():
|
if localeInfo.IsEUROPE():
|
||||||
if self.idEditLine != None: #0000862: [M2EU] <20>α<EFBFBD><CEB1><EFBFBD>â <20>˾<EFBFBD> <20><><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> None <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
if self.idEditLine != None: #0000862: [M2EU] <20>α<EFBFBD><CEB1><EFBFBD>â <20>˾<EFBFBD> <20><><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> None <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
self.idEditLine.SetText("")
|
self.idEditLine.SetText("")
|
||||||
self.idEditLine.SetFocus() #0000685: [M2EU] <20><><EFBFBD>̵<EFBFBD>/<2F><><EFBFBD>й<EFBFBD>ȣ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD><CCB5><EFBFBD> <20><>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
self.idEditLine.SetFocus() #0000685: [M2EU] <20><><EFBFBD>̵<EFBFBD>/<2F><>й<EFBFBD>ȣ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD><CCB5> <20><>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
if self.pwdEditLine != None: #0000862: [M2EU] <20>α<EFBFBD><CEB1><EFBFBD>â <20>˾<EFBFBD> <20><><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> None <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
if self.pwdEditLine != None: #0000862: [M2EU] <20>α<EFBFBD><CEB1><EFBFBD>â <20>˾<EFBFBD> <20><><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> None <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
self.pwdEditLine.SetText("")
|
self.pwdEditLine.SetText("")
|
||||||
else:
|
else:
|
||||||
if self.pwdEditLine != None:
|
if self.pwdEditLine != None:
|
||||||
@ -455,7 +451,7 @@ class LoginWindow(ui.ScriptWindow):
|
|||||||
loginFailureMsg = localeInfo.LOGIN_FAILURE_UNKNOWN + error
|
loginFailureMsg = localeInfo.LOGIN_FAILURE_UNKNOWN + error
|
||||||
|
|
||||||
|
|
||||||
#0000685: [M2EU] <20><><EFBFBD>̵<EFBFBD>/<2F><><EFBFBD>й<EFBFBD>ȣ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>н<EFBFBD><D0BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
#0000685: [M2EU] <20><><EFBFBD>̵<EFBFBD>/<2F><>й<EFBFBD>ȣ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>н<EFBFBD><D0BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
loginFailureFunc=self.loginFailureFuncDict.get(error, self.SetPasswordEditLineFocus)
|
loginFailureFunc=self.loginFailureFuncDict.get(error, self.SetPasswordEditLineFocus)
|
||||||
|
|
||||||
if app.loggined:
|
if app.loggined:
|
||||||
@ -703,18 +699,18 @@ class LoginWindow(ui.ScriptWindow):
|
|||||||
execfile(loginInfoFileName, loginInfo)
|
execfile(loginInfoFileName, loginInfo)
|
||||||
except IOError:
|
except IOError:
|
||||||
print(\
|
print(\
|
||||||
"<EFBFBD>ڵ<EFBFBD> <20>α<EFBFBD><CEB1><EFBFBD><EFBFBD><EFBFBD> <20>Ͻ÷<CFBD><C3B7><EFBFBD>" + loginInfoFileName + "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD>\n"\
|
"<EFBFBD>ڵ<EFBFBD> <20>α<EFBFBD><CEB1><EFBFBD><EFBFBD><EFBFBD> <20>Ͻ÷<CFBD><C3B7><EFBFBD>" + loginInfoFileName + "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD>ּ<EFBFBD><D6BC><EFBFBD>\n"\
|
||||||
"\n"\
|
"\n"\
|
||||||
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:\n"\
|
"<EFBFBD><EFBFBD><EFBFBD><EFBFBD>:\n"\
|
||||||
"================================================================\n"\
|
"================================================================\n"\
|
||||||
"addr=<3D>ּ<EFBFBD>\n"\
|
"addr=<3D>ּ<EFBFBD>\n"\
|
||||||
"port=<3D><>Ʈ\n"\
|
"port=<3D><>Ʈ\n"\
|
||||||
"id=<3D><><EFBFBD>̵<EFBFBD>\n"\
|
"id=<3D><><EFBFBD>̵<EFBFBD>\n"\
|
||||||
"pwd=<3D><><EFBFBD>й<EFBFBD>ȣ\n"\
|
"pwd=<3D><>й<EFBFBD>ȣ\n"\
|
||||||
"slot=ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ε<EFBFBD><CEB5><EFBFBD> (<28><><EFBFBD>ų<EFBFBD> -1<≯<EFBFBD> <20>ڵ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)\n"\
|
"slot=ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ε<EFBFBD><CEB5><EFBFBD> (<28><><EFBFBD>ų<EFBFBD> -1<≯<EFBFBD> <20>ڵ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)\n"\
|
||||||
"autoLogin=<3D>ڵ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>\n"
|
"autoLogin=<3D>ڵ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>\n"
|
||||||
"autoSelect=<3D>ڵ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>\n"
|
"autoSelect=<3D>ڵ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>\n"
|
||||||
"locale=(ymir) LC_Ymir <20>ϰ<EFBFBD><CFB0><EFBFBD> ymir<69><72> <20>۵<EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> korea<65><61> <20>۵<EFBFBD>\n"
|
"locale=(ymir) LC_Ymir <20>ϰ<EFBFBD><CFB0> ymir<69><72> <20>۵<EFBFBD>. <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> korea<65><61> <20>۵<EFBFBD>\n"
|
||||||
);
|
);
|
||||||
|
|
||||||
id=loginInfo.get("id", "")
|
id=loginInfo.get("id", "")
|
||||||
@ -738,7 +734,7 @@ class LoginWindow(ui.ScriptWindow):
|
|||||||
self.__SetServerInfo(locale.CHANNEL_TEST_SERVER)
|
self.__SetServerInfo(locale.CHANNEL_TEST_SERVER)
|
||||||
except:
|
except:
|
||||||
import exception
|
import exception
|
||||||
exception.Abort("LoginWindow.__LoadLoginInfo - <20><EFBFBD>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD> <20>ּҰ<D6BC> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>")
|
exception.Abort("LoginWindow.__LoadLoginInfo - <20><EFBFBD>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD> <20>ּҰ<D6BC> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>")
|
||||||
|
|
||||||
else:
|
else:
|
||||||
addr=loginInfo.get("addr", "")
|
addr=loginInfo.get("addr", "")
|
||||||
@ -752,7 +748,7 @@ class LoginWindow(ui.ScriptWindow):
|
|||||||
net.SetMarkServer(addr, port)
|
net.SetMarkServer(addr, port)
|
||||||
|
|
||||||
if locale == "ymir" :
|
if locale == "ymir" :
|
||||||
net.SetServerInfo("õ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>")
|
net.SetServerInfo("õ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>")
|
||||||
self.serverInfo.SetText("Y:"+addr+":"+str(port))
|
self.serverInfo.SetText("Y:"+addr+":"+str(port))
|
||||||
else:
|
else:
|
||||||
net.SetServerInfo(addr+":"+str(port))
|
net.SetServerInfo(addr+":"+str(port))
|
||||||
@ -783,7 +779,7 @@ class LoginWindow(ui.ScriptWindow):
|
|||||||
self.Connect(id, pwd)
|
self.Connect(id, pwd)
|
||||||
|
|
||||||
print "=================================================================================="
|
print "=================================================================================="
|
||||||
print "<EFBFBD>ڵ<EFBFBD> <20>α<EFBFBD><CEB1><EFBFBD>: %s - %s:%d %s" % (loginInfoFileName, addr, port, id)
|
print "<EFBFBD>ڵ<EFBFBD> <20>α<EFBFBD><CEB1><EFBFBD>: %s - %s:%d %s" % (loginInfoFileName, addr, port, id)
|
||||||
print "=================================================================================="
|
print "=================================================================================="
|
||||||
|
|
||||||
|
|
||||||
@ -902,9 +898,9 @@ class LoginWindow(ui.ScriptWindow):
|
|||||||
self.stream.popupWindow.Close()
|
self.stream.popupWindow.Close()
|
||||||
|
|
||||||
# CHINA_MATRIX_CARD_BUG_FIX
|
# CHINA_MATRIX_CARD_BUG_FIX
|
||||||
## A~Z <20><><EFBFBD><EFBFBD> 26 <20>̳<EFBFBD><CCB3><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><EFBFBD>߸<EFBFBD> <20>Ѵ<EFBFBD>.
|
## A~Z <20><><EFBFBD><EFBFBD> 26 <20>̳<EFBFBD><CCB3><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>־<EFBFBD>߸<EFBFBD> <20>Ѵ<EFBFBD>.
|
||||||
## Python Exception Log <20><><EFBFBD><EFBFBD> <20><> <20>̻<EFBFBD><CCBB><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>־ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
## Python Exception Log <20><><EFBFBD><EFBFBD> <20><> <20>̻<EFBFBD><CCBB><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>־ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
## <20>嵥 <20><> <20>ѱ<EFBFBD><D1B1><EFBFBD> <20>α<CEB1><D7BF><EFBFBD> <20>̰<EFBFBD> Ȱ<><C8B0><EFBFBD>Ǵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><F0B8A3B0><EFBFBD>
|
## <20>嵥 <20><> <20>ѱ<EFBFBD><D1B1><EFBFBD> <20>α<CEB1><D7BF><EFBFBD> <20>̰<EFBFBD> Ȱ<><C8B0>Ǵ<EFBFBD><C7B4><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><F0B8A3B0><EFBFBD>
|
||||||
row1 = min(30, row1)
|
row1 = min(30, row1)
|
||||||
row2 = min(30, row2)
|
row2 = min(30, row2)
|
||||||
row3 = min(30, row3)
|
row3 = min(30, row3)
|
||||||
@ -1031,7 +1027,7 @@ class LoginWindow(ui.ScriptWindow):
|
|||||||
if channelIndex >= 0:
|
if channelIndex >= 0:
|
||||||
self.channelList.SelectItem(channelIndex)
|
self.channelList.SelectItem(channelIndex)
|
||||||
|
|
||||||
## Show/Hide <20>ڵ忡 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>־ <20>ӽ<EFBFBD> - [levites]
|
## Show/Hide <20>ڵ忡 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>־ <20>ӽ<EFBFBD> - [levites]
|
||||||
self.serverBoard.SetPosition(self.xServerBoard, self.yServerBoard)
|
self.serverBoard.SetPosition(self.xServerBoard, self.yServerBoard)
|
||||||
self.serverBoard.Show()
|
self.serverBoard.Show()
|
||||||
self.connectBoard.Hide()
|
self.connectBoard.Hide()
|
||||||
@ -1265,7 +1261,7 @@ class LoginWindow(ui.ScriptWindow):
|
|||||||
self.PopupNotifyMessage(localeInfo.CHANNEL_SELECT_CHANNEL)
|
self.PopupNotifyMessage(localeInfo.CHANNEL_SELECT_CHANNEL)
|
||||||
return
|
return
|
||||||
|
|
||||||
# <20><><EFBFBD>°<EFBFBD> FULL <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
# <20><><EFBFBD>°<EFBFBD> FULL <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
if state == serverInfo.STATE_DICT[3]:
|
if state == serverInfo.STATE_DICT[3]:
|
||||||
self.PopupNotifyMessage(localeInfo.CHANNEL_NOTIFY_FULL)
|
self.PopupNotifyMessage(localeInfo.CHANNEL_NOTIFY_FULL)
|
||||||
return
|
return
|
||||||
@ -1277,9 +1273,9 @@ class LoginWindow(ui.ScriptWindow):
|
|||||||
channelName = serverInfo.REGION_DICT[regionID][serverID]["channel"][channelID]["name"]
|
channelName = serverInfo.REGION_DICT[regionID][serverID]["channel"][channelID]["name"]
|
||||||
addrKey = serverInfo.REGION_DICT[regionID][serverID]["channel"][channelID]["key"]
|
addrKey = serverInfo.REGION_DICT[regionID][serverID]["channel"][channelID]["key"]
|
||||||
|
|
||||||
if "õ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>" == serverName:
|
if "õ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>" == serverName:
|
||||||
app.ForceSetLocale("ymir", "locale/ymir")
|
app.ForceSetLocale("ymir", "locale/ymir")
|
||||||
elif "<EFBFBD>赵 <20><><EFBFBD><EFBFBD>" == serverName:
|
elif "<EFBFBD>赵 <20><><EFBFBD><EFBFBD>" == serverName:
|
||||||
app.ForceSetLocale("we_korea", "locale/we_korea")
|
app.ForceSetLocale("we_korea", "locale/we_korea")
|
||||||
|
|
||||||
except:
|
except:
|
||||||
@ -1294,7 +1290,7 @@ class LoginWindow(ui.ScriptWindow):
|
|||||||
tcp_port = serverInfo.REGION_DICT[regionID][serverID]["channel"][channelID]["tcp_port"]
|
tcp_port = serverInfo.REGION_DICT[regionID][serverID]["channel"][channelID]["tcp_port"]
|
||||||
except:
|
except:
|
||||||
import exception
|
import exception
|
||||||
exception.Abort("LoginWindow.__OnClickSelectServerButton - <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>")
|
exception.Abort("LoginWindow.__OnClickSelectServerButton - <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
account_ip = serverInfo.REGION_AUTH_SERVER_DICT[regionID][serverID]["ip"]
|
account_ip = serverInfo.REGION_AUTH_SERVER_DICT[regionID][serverID]["ip"]
|
||||||
@ -1314,20 +1310,11 @@ class LoginWindow(ui.ScriptWindow):
|
|||||||
|
|
||||||
except:
|
except:
|
||||||
import exception
|
import exception
|
||||||
exception.Abort("LoginWindow.__OnClickSelectServerButton - <20><>ũ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>")
|
exception.Abort("LoginWindow.__OnClickSelectServerButton - <20><>ũ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>")
|
||||||
|
|
||||||
|
|
||||||
if app.USE_OPENID and not app.OPENID_TEST :
|
|
||||||
## 2012.07.19 OpenID : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
# ä<><C3A4> <20><><EFBFBD><EFBFBD> ȭ<>鿡<EFBFBD><E9BFA1> "Ȯ<><C8AE>"(SelectServerButton) <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,
|
|
||||||
# <20>α<EFBFBD><CEB1><EFBFBD> ȭ<><C8AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ѿ<D1BE><EEB0A1> <20>ʰ<EFBFBD> <20>ٷ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> OpenID <20><><EFBFBD><EFBFBD>Ű<EFBFBD><C5B0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|
||||||
self.stream.SetConnectInfo(ip, tcp_port, account_ip, account_port)
|
|
||||||
self.Connect(0, 0)
|
|
||||||
else :
|
|
||||||
self.stream.SetConnectInfo(ip, tcp_port, account_ip, account_port)
|
self.stream.SetConnectInfo(ip, tcp_port, account_ip, account_port)
|
||||||
self.__OpenLoginBoard()
|
self.__OpenLoginBoard()
|
||||||
|
|
||||||
|
|
||||||
def __OnClickSelectConnectButton(self):
|
def __OnClickSelectConnectButton(self):
|
||||||
if IsFullBackImage():
|
if IsFullBackImage():
|
||||||
self.GetChild("bg1").Show()
|
self.GetChild("bg1").Show()
|
||||||
|
@ -521,7 +521,6 @@ const char * GetRecvHeaderName(BYTE header)
|
|||||||
stringList[135] = "HEADER_GC_DAMAGE_INFO";
|
stringList[135] = "HEADER_GC_DAMAGE_INFO";
|
||||||
stringList[136] = "HEADER_GC_CHAR_ADDITIONAL_INFO";
|
stringList[136] = "HEADER_GC_CHAR_ADDITIONAL_INFO";
|
||||||
stringList[150] = "HEADER_GC_AUTH_SUCCESS";
|
stringList[150] = "HEADER_GC_AUTH_SUCCESS";
|
||||||
stringList[154] = "HEADER_GC_AUTH_SUCCESS_OPENID";
|
|
||||||
stringList[0xfc] = "HEADER_GC_HANDSHAKE_OK";
|
stringList[0xfc] = "HEADER_GC_HANDSHAKE_OK";
|
||||||
stringList[0xfd] = "HEADER_GC_PHASE";
|
stringList[0xfd] = "HEADER_GC_PHASE";
|
||||||
stringList[0xfe] = "HEADER_GC_BINDUDP";
|
stringList[0xfe] = "HEADER_GC_BINDUDP";
|
||||||
|
@ -10,10 +10,6 @@ extern DWORD g_adwEncryptKey[4];
|
|||||||
extern DWORD g_adwDecryptKey[4];
|
extern DWORD g_adwDecryptKey[4];
|
||||||
// END_OF_CHINA_CRYPT_KEY
|
// END_OF_CHINA_CRYPT_KEY
|
||||||
|
|
||||||
#ifdef USE_OPENID
|
|
||||||
extern int openid_test;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void CAccountConnector::SetHandler(PyObject* poHandler)
|
void CAccountConnector::SetHandler(PyObject* poHandler)
|
||||||
{
|
{
|
||||||
m_poHandler = poHandler;
|
m_poHandler = poHandler;
|
||||||
@ -141,7 +137,7 @@ bool CAccountConnector::__HandshakeState_Process()
|
|||||||
if (!__AnalyzePacket(HEADER_GC_PING, sizeof(TPacketGCPing), &CAccountConnector::__AuthState_RecvPing))
|
if (!__AnalyzePacket(HEADER_GC_PING, sizeof(TPacketGCPing), &CAccountConnector::__AuthState_RecvPing))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// TODO : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> data serialize & deserialize <20>۾<EFBFBD><DBBE>ؾ<EFBFBD> <20>Ѵ<EFBFBD>.
|
// TODO : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> data serialize & deserialize <20>۾<EFBFBD><DBBE>ؾ<EFBFBD> <20>Ѵ<EFBFBD>.
|
||||||
if (!__AnalyzeVarSizePacket(HEADER_GC_HYBRIDCRYPT_KEYS, &CAccountConnector::__AuthState_RecvHybridCryptKeys))
|
if (!__AnalyzeVarSizePacket(HEADER_GC_HYBRIDCRYPT_KEYS, &CAccountConnector::__AuthState_RecvHybridCryptKeys))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
@ -165,11 +161,6 @@ bool CAccountConnector::__AuthState_Process()
|
|||||||
if (!__AnalyzePacket(HEADER_GC_AUTH_SUCCESS, sizeof(TPacketGCAuthSuccess), &CAccountConnector::__AuthState_RecvAuthSuccess))
|
if (!__AnalyzePacket(HEADER_GC_AUTH_SUCCESS, sizeof(TPacketGCAuthSuccess), &CAccountConnector::__AuthState_RecvAuthSuccess))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
#ifdef USE_OPENID
|
|
||||||
if (!__AnalyzePacket(HEADER_GC_AUTH_SUCCESS_OPENID, sizeof(TPacketGCAuthSuccess), &CAccountConnector::__AuthState_RecvAuthSuccess_OpenID))
|
|
||||||
return true;
|
|
||||||
#endif /* USE_OPENID */
|
|
||||||
|
|
||||||
if (!__AnalyzePacket(HEADER_GC_LOGIN_FAILURE, sizeof(TPacketGCAuthSuccess), &CAccountConnector::__AuthState_RecvAuthFailure))
|
if (!__AnalyzePacket(HEADER_GC_LOGIN_FAILURE, sizeof(TPacketGCAuthSuccess), &CAccountConnector::__AuthState_RecvAuthFailure))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
@ -188,7 +179,7 @@ bool CAccountConnector::__AuthState_Process()
|
|||||||
if (!__AnalyzePacket(HEADER_GC_PANAMA_PACK, sizeof(TPacketGCPanamaPack), &CAccountConnector::__AuthState_RecvPanamaPack))
|
if (!__AnalyzePacket(HEADER_GC_PANAMA_PACK, sizeof(TPacketGCPanamaPack), &CAccountConnector::__AuthState_RecvPanamaPack))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
// TODO : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> data serialize & deserialize <20>۾<EFBFBD><DBBE>ؾ<EFBFBD> <20>Ѵ<EFBFBD>.
|
// TODO : <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> data serialize & deserialize <20>۾<EFBFBD><DBBE>ؾ<EFBFBD> <20>Ѵ<EFBFBD>.
|
||||||
if (!__AnalyzeVarSizePacket(HEADER_GC_HYBRIDCRYPT_KEYS, &CAccountConnector::__AuthState_RecvHybridCryptKeys))
|
if (!__AnalyzeVarSizePacket(HEADER_GC_HYBRIDCRYPT_KEYS, &CAccountConnector::__AuthState_RecvHybridCryptKeys))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
@ -217,37 +208,6 @@ bool CAccountConnector::__AuthState_RecvPhase()
|
|||||||
}
|
}
|
||||||
else if (kPacketPhase.phase == PHASE_AUTH)
|
else if (kPacketPhase.phase == PHASE_AUTH)
|
||||||
{
|
{
|
||||||
|
|
||||||
#ifdef USE_OPENID
|
|
||||||
if (!openid_test)
|
|
||||||
{
|
|
||||||
//2012.07.19 OpenID : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
//Ongoing : <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD> <20><><EFBFBD><EFBFBD>-> TPacketCGLogin5
|
|
||||||
//Ŭ<><C5AC><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>Ű<EFBFBD><C5B0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
|
||||||
|
|
||||||
//const char* tempAuthKey = "d4025bc1f752b64fe5d51ae575ec4730"; //<2F>ϵ<EFBFBD><CFB5>ڵ<EFBFBD> <20><><EFBFBD><EFBFBD> 32
|
|
||||||
TPacketCGLogin5 LoginPacket;
|
|
||||||
LoginPacket.header = HEADER_CG_LOGIN5_OPENID;
|
|
||||||
|
|
||||||
strncpy(LoginPacket.authKey, LocaleService_GetOpenIDAuthKey(), OPENID_AUTHKEY_LEN);
|
|
||||||
LoginPacket.authKey[OPENID_AUTHKEY_LEN] = '\0';
|
|
||||||
|
|
||||||
for (DWORD i = 0; i < 4; ++i)
|
|
||||||
LoginPacket.adwClientKey[i] = g_adwEncryptKey[i];
|
|
||||||
|
|
||||||
if (!Send(sizeof(LoginPacket), &LoginPacket))
|
|
||||||
{
|
|
||||||
Tracen(" CAccountConnector::__AuthState_RecvPhase - SendLogin5 Error");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!SendSequence())
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
TPacketCGLogin3 LoginPacket;
|
TPacketCGLogin3 LoginPacket;
|
||||||
LoginPacket.header = HEADER_CG_LOGIN3;
|
LoginPacket.header = HEADER_CG_LOGIN3;
|
||||||
|
|
||||||
@ -256,7 +216,7 @@ bool CAccountConnector::__AuthState_RecvPhase()
|
|||||||
LoginPacket.name[ID_MAX_NUM] = '\0';
|
LoginPacket.name[ID_MAX_NUM] = '\0';
|
||||||
LoginPacket.pwd[PASS_MAX_NUM] = '\0';
|
LoginPacket.pwd[PASS_MAX_NUM] = '\0';
|
||||||
|
|
||||||
// <EFBFBD><EFBFBD><EFBFBD>й<EFBFBD>ȣ<EFBFBD><EFBFBD> <20><DEB8> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>־, <20><><EFBFBD><EFBFBD> <20><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
// <20><>й<EFBFBD>ȣ<EFBFBD><C8A3> <20><DEB8> <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>־, <20><><EFBFBD> <EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
ClearLoginInfo();
|
ClearLoginInfo();
|
||||||
CPythonNetworkStream& rkNetStream=CPythonNetworkStream::Instance();
|
CPythonNetworkStream& rkNetStream=CPythonNetworkStream::Instance();
|
||||||
rkNetStream.ClearLoginInfo();
|
rkNetStream.ClearLoginInfo();
|
||||||
@ -276,38 +236,6 @@ bool CAccountConnector::__AuthState_RecvPhase()
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
#else /* USE_OPENID */
|
|
||||||
|
|
||||||
TPacketCGLogin3 LoginPacket;
|
|
||||||
LoginPacket.header = HEADER_CG_LOGIN3;
|
|
||||||
|
|
||||||
strncpy(LoginPacket.name, m_strID.c_str(), ID_MAX_NUM);
|
|
||||||
strncpy(LoginPacket.pwd, m_strPassword.c_str(), PASS_MAX_NUM);
|
|
||||||
LoginPacket.name[ID_MAX_NUM] = '\0';
|
|
||||||
LoginPacket.pwd[PASS_MAX_NUM] = '\0';
|
|
||||||
|
|
||||||
// <20><><EFBFBD>й<EFBFBD>ȣ<EFBFBD><C8A3> <20><DEB8> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>־, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
|
||||||
ClearLoginInfo();
|
|
||||||
CPythonNetworkStream& rkNetStream=CPythonNetworkStream::Instance();
|
|
||||||
rkNetStream.ClearLoginInfo();
|
|
||||||
|
|
||||||
m_strPassword = "";
|
|
||||||
|
|
||||||
for (DWORD i = 0; i < 4; ++i)
|
|
||||||
LoginPacket.adwClientKey[i] = g_adwEncryptKey[i];
|
|
||||||
|
|
||||||
if (!Send(sizeof(LoginPacket), &LoginPacket))
|
|
||||||
{
|
|
||||||
Tracen(" CAccountConnector::__AuthState_RecvPhase - SendLogin3 Error");
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!SendSequence())
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
#endif /* USE_OPENID */
|
|
||||||
|
|
||||||
__AuthState_Set();
|
__AuthState_Set();
|
||||||
}
|
}
|
||||||
@ -437,37 +365,6 @@ bool CAccountConnector::__AuthState_RecvAuthSuccess()
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef USE_OPENID
|
|
||||||
bool CAccountConnector::__AuthState_RecvAuthSuccess_OpenID()
|
|
||||||
{
|
|
||||||
TPacketGCAuthSuccessOpenID kAuthSuccessOpenIDPacket;
|
|
||||||
if (!Recv(sizeof(kAuthSuccessOpenIDPacket), &kAuthSuccessOpenIDPacket))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
if (!kAuthSuccessOpenIDPacket.bResult)
|
|
||||||
{
|
|
||||||
if (m_poHandler)
|
|
||||||
PyCallClassMemberFunc(m_poHandler, "OnLoginFailure", Py_BuildValue("(s)", "BESAMEKEY"));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
DWORD dwPanamaKey = kAuthSuccessOpenIDPacket.dwLoginKey ^ g_adwEncryptKey[0] ^ g_adwEncryptKey[1] ^ g_adwEncryptKey[2] ^ g_adwEncryptKey[3];
|
|
||||||
CEterPackManager::instance().DecryptPackIV(dwPanamaKey);
|
|
||||||
|
|
||||||
CPythonNetworkStream & rkNet = CPythonNetworkStream::Instance();
|
|
||||||
rkNet.SetLoginInfo(kAuthSuccessOpenIDPacket.login, "0000"); //OpenID <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>й<EFBFBD>ȣ<EFBFBD><C8A3> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ´<CAB4>.
|
|
||||||
rkNet.SetLoginKey(kAuthSuccessOpenIDPacket.dwLoginKey);
|
|
||||||
rkNet.Connect(m_strAddr.c_str(), m_iPort);
|
|
||||||
}
|
|
||||||
|
|
||||||
Disconnect();
|
|
||||||
__OfflineState_Set();
|
|
||||||
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
#endif /* USE_OPENID */
|
|
||||||
|
|
||||||
|
|
||||||
bool CAccountConnector::__AuthState_RecvAuthFailure()
|
bool CAccountConnector::__AuthState_RecvAuthFailure()
|
||||||
{
|
{
|
||||||
TPacketGCLoginFailure packet_failure;
|
TPacketGCLoginFailure packet_failure;
|
||||||
@ -593,7 +490,7 @@ void CAccountConnector::OnConnectSuccess()
|
|||||||
|
|
||||||
void CAccountConnector::OnRemoteDisconnect()
|
void CAccountConnector::OnRemoteDisconnect()
|
||||||
{
|
{
|
||||||
// Matrix Card Number <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ҵµ<D2B4> close <20>Ǹ<EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ѵ<EFBFBD>.
|
// Matrix Card Number <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ҵµ<D2B4> close <20>Ǹ<EFBFBD> <20><><EFBFBD>α<CEB1><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD> <20>Ѵ<EFBFBD>.
|
||||||
if (m_isWaitKey)
|
if (m_isWaitKey)
|
||||||
{
|
{
|
||||||
if (m_poHandler)
|
if (m_poHandler)
|
||||||
|
@ -52,9 +52,6 @@ class CAccountConnector : public CNetworkStream, public CSingleton<CAccountConne
|
|||||||
bool __AuthState_RecvPing();
|
bool __AuthState_RecvPing();
|
||||||
bool __AuthState_SendPong();
|
bool __AuthState_SendPong();
|
||||||
bool __AuthState_RecvAuthSuccess();
|
bool __AuthState_RecvAuthSuccess();
|
||||||
#ifdef USE_OPENID
|
|
||||||
bool __AuthState_RecvAuthSuccess_OpenID();
|
|
||||||
#endif /* USE_OPENID */
|
|
||||||
bool __AuthState_RecvAuthFailure();
|
bool __AuthState_RecvAuthFailure();
|
||||||
bool __AuthState_RecvChinaMatrixCard();
|
bool __AuthState_RecvChinaMatrixCard();
|
||||||
bool __AuthState_RecvRunupMatrixQuiz();
|
bool __AuthState_RecvRunupMatrixQuiz();
|
||||||
@ -64,8 +61,8 @@ class CAccountConnector : public CNetworkStream, public CSingleton<CAccountConne
|
|||||||
bool __AuthState_RecvHybridCryptSDB(int VarSize);
|
bool __AuthState_RecvHybridCryptSDB(int VarSize);
|
||||||
|
|
||||||
bool __AnalyzePacket(UINT uHeader, UINT uPacketSize, bool (CAccountConnector::*pfnDispatchPacket)());
|
bool __AnalyzePacket(UINT uHeader, UINT uPacketSize, bool (CAccountConnector::*pfnDispatchPacket)());
|
||||||
// TODO: <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ӽô<D3BD>. header<65>ڿ<EFBFBD> size 4byte<74><65> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>´ٴ<C2B4> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
// TODO: <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20>ӽô<D3BD>. header<65>ڿ<EFBFBD> size 4byte<74><65> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>´ٴ<C2B4> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ϸ<EFBFBD><CFB7><EFBFBD> Packet System Refactoring<6E>ؾ<EFBFBD> <20>Ѵ<EFBFBD>.
|
// <20><><EFBFBD><EFBFBD><EFBFBD> <20>Ϸ<EFBFBD><CFB7><EFBFBD> Packet System Refactoring<6E>ؾ<EFBFBD> <20>Ѵ<EFBFBD>.
|
||||||
bool __AnalyzeVarSizePacket(UINT uHeader, bool (CAccountConnector::*pfnDispatchPacket)(int));
|
bool __AnalyzeVarSizePacket(UINT uHeader, bool (CAccountConnector::*pfnDispatchPacket)(int));
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
@ -399,23 +399,3 @@ int LocaleService_StringCompareCI( LPCSTR szStringLeft, LPCSTR szStringRight, si
|
|||||||
return strnicmp( szStringLeft, szStringRight, sizeLength );
|
return strnicmp( szStringLeft, szStringRight, sizeLength );
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#ifdef USE_OPENID
|
|
||||||
|
|
||||||
std::string __OPENID_AUTH_KEY_STRING__;
|
|
||||||
int openid_test = 0;
|
|
||||||
|
|
||||||
void LocaleService_SetOpenIDAuthKey(const char *authKey)
|
|
||||||
{
|
|
||||||
__OPENID_AUTH_KEY_STRING__ = authKey;
|
|
||||||
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
const char* LocaleService_GetOpenIDAuthKey()
|
|
||||||
{
|
|
||||||
return __OPENID_AUTH_KEY_STRING__.c_str();
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* USE_OPENID */
|
|
@ -33,8 +33,3 @@ int LocaleService_GetSkillPower(unsigned level);
|
|||||||
void LocaleService_SetCHEONMA(bool isEnable);
|
void LocaleService_SetCHEONMA(bool isEnable);
|
||||||
bool LocaleService_IsCHEONMA();
|
bool LocaleService_IsCHEONMA();
|
||||||
// END_OF_CHEONMA
|
// END_OF_CHEONMA
|
||||||
|
|
||||||
#ifdef USE_OPENID
|
|
||||||
void LocaleService_SetOpenIDAuthKey(const char *authKey);
|
|
||||||
const char* LocaleService_GetOpenIDAuthKey();
|
|
||||||
#endif
|
|
@ -4,18 +4,18 @@
|
|||||||
#include "Hackshield.h"
|
#include "Hackshield.h"
|
||||||
#include METIN2HS_INCLUDE_ANTICPXSVR
|
#include METIN2HS_INCLUDE_ANTICPXSVR
|
||||||
#else
|
#else
|
||||||
#pragma pack(push) //<2F><><EFBFBD><EFBFBD> alignment <20><><EFBFBD><EFBFBD>
|
#pragma pack(push) //<2F><><EFBFBD><EFBFBD> alignment <20><><EFBFBD><EFBFBD>
|
||||||
#pragma pack(8)
|
#pragma pack(8)
|
||||||
|
|
||||||
#define ANTICPX_TRANS_BUFFER_MAX 400
|
#define ANTICPX_TRANS_BUFFER_MAX 400
|
||||||
|
|
||||||
typedef struct _AHNHS_TRANS_BUFFER
|
typedef struct _AHNHS_TRANS_BUFFER
|
||||||
{
|
{
|
||||||
unsigned char byBuffer[ANTICPX_TRANS_BUFFER_MAX/* <20>ۼ<EFBFBD><DBBC><EFBFBD> <20><>Ŷ<EFBFBD><C5B6> <20>ִ<EFBFBD> ũ<><C5A9> */];
|
unsigned char byBuffer[ANTICPX_TRANS_BUFFER_MAX/* <20>ۼ<EFBFBD><DBBC><EFBFBD> <20><>Ŷ<EFBFBD><C5B6> <20>ִ<EFBFBD> ũ<><C5A9> */];
|
||||||
unsigned short nLength;
|
unsigned short nLength;
|
||||||
} AHNHS_TRANS_BUFFER, *PAHNHS_TRANS_BUFFER;
|
} AHNHS_TRANS_BUFFER, *PAHNHS_TRANS_BUFFER;
|
||||||
|
|
||||||
#pragma pack(pop) // <20><><EFBFBD><EFBFBD> alignment <20><><EFBFBD><EFBFBD>.
|
#pragma pack(pop) // <20><><EFBFBD><EFBFBD> alignment <20><><EFBFBD><EFBFBD>.
|
||||||
#endif /* !USE_AHNLAB_HACKSHIELD */
|
#endif /* !USE_AHNLAB_HACKSHIELD */
|
||||||
|
|
||||||
#include "../gamelib/RaceData.h"
|
#include "../gamelib/RaceData.h"
|
||||||
@ -30,8 +30,8 @@ enum
|
|||||||
HEADER_CG_LOGIN = 1,
|
HEADER_CG_LOGIN = 1,
|
||||||
HEADER_CG_ATTACK = 2,
|
HEADER_CG_ATTACK = 2,
|
||||||
HEADER_CG_CHAT = 3,
|
HEADER_CG_CHAT = 3,
|
||||||
HEADER_CG_PLAYER_CREATE = 4, // <20><><EFBFBD>ο<EFBFBD> <20>÷<EFBFBD><C3B7>̾ <20><><EFBFBD><EFBFBD>
|
HEADER_CG_PLAYER_CREATE = 4, // <20><><EFBFBD>ο<EFBFBD> <20>÷<EFBFBD><C3B7>̾ <20><><EFBFBD><EFBFBD>
|
||||||
HEADER_CG_PLAYER_DESTROY = 5, // <20>÷<EFBFBD><C3B7>̾ <20><><EFBFBD><EFBFBD>.
|
HEADER_CG_PLAYER_DESTROY = 5, // <20>÷<EFBFBD><C3B7>̾ <20><><EFBFBD><EFBFBD>.
|
||||||
HEADER_CG_PLAYER_SELECT = 6,
|
HEADER_CG_PLAYER_SELECT = 6,
|
||||||
HEADER_CG_CHARACTER_MOVE = 7,
|
HEADER_CG_CHARACTER_MOVE = 7,
|
||||||
HEADER_CG_SYNC_POSITION = 8,
|
HEADER_CG_SYNC_POSITION = 8,
|
||||||
@ -95,8 +95,8 @@ enum
|
|||||||
HEADER_CG_MESSENGER = 67,
|
HEADER_CG_MESSENGER = 67,
|
||||||
//HEADER_BLANK68 = 68,
|
//HEADER_BLANK68 = 68,
|
||||||
HEADER_CG_MALL_CHECKOUT = 69,
|
HEADER_CG_MALL_CHECKOUT = 69,
|
||||||
HEADER_CG_SAFEBOX_CHECKIN = 70, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> â<><C3A2><EFBFBD><EFBFBD> <20>ִ´<D6B4>.
|
HEADER_CG_SAFEBOX_CHECKIN = 70, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> â<><C3A2><EFBFBD><EFBFBD> <20>ִ´<D6B4>.
|
||||||
HEADER_CG_SAFEBOX_CHECKOUT = 71, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> â<><C3A2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>´<EFBFBD>.
|
HEADER_CG_SAFEBOX_CHECKOUT = 71, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> â<><C3A2><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>´<EFBFBD>.
|
||||||
HEADER_CG_PARTY_INVITE = 72,
|
HEADER_CG_PARTY_INVITE = 72,
|
||||||
HEADER_CG_PARTY_INVITE_ANSWER = 73,
|
HEADER_CG_PARTY_INVITE_ANSWER = 73,
|
||||||
HEADER_CG_PARTY_REMOVE = 74,
|
HEADER_CG_PARTY_REMOVE = 74,
|
||||||
@ -144,7 +144,6 @@ enum
|
|||||||
HEADER_CG_GUILD_SYMBOL_CRC = 113,
|
HEADER_CG_GUILD_SYMBOL_CRC = 113,
|
||||||
HEADER_CG_SCRIPT_SELECT_ITEM = 114,
|
HEADER_CG_SCRIPT_SELECT_ITEM = 114,
|
||||||
HEADER_CG_LOGIN4 = 115,
|
HEADER_CG_LOGIN4 = 115,
|
||||||
HEADER_CG_LOGIN5_OPENID = 116, //OpenID : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ű<EFBFBD><C5B0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
|
||||||
|
|
||||||
HEADER_CG_RUNUP_MATRIX_ANSWER = 201,
|
HEADER_CG_RUNUP_MATRIX_ANSWER = 201,
|
||||||
HEADER_CG_NEWCIBN_PASSPOD_ANSWER = 202,
|
HEADER_CG_NEWCIBN_PASSPOD_ANSWER = 202,
|
||||||
@ -188,17 +187,17 @@ enum
|
|||||||
HEADER_GC_CHANGE_SPEED = 18,
|
HEADER_GC_CHANGE_SPEED = 18,
|
||||||
HEADER_GC_CHARACTER_UPDATE = 19,
|
HEADER_GC_CHARACTER_UPDATE = 19,
|
||||||
#if defined(GAIDEN)
|
#if defined(GAIDEN)
|
||||||
HEADER_GC_ITEM_DEL = 20, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> â<><C3A2> <20>߰<EFBFBD>
|
HEADER_GC_ITEM_DEL = 20, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> â<><C3A2> <20>߰<EFBFBD>
|
||||||
HEADER_GC_ITEM_SET = 21, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> â<><C3A2> <20>߰<EFBFBD>
|
HEADER_GC_ITEM_SET = 21, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> â<><C3A2> <20>߰<EFBFBD>
|
||||||
#else
|
#else
|
||||||
HEADER_GC_ITEM_SET = 20, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> â<><C3A2> <20>߰<EFBFBD>
|
HEADER_GC_ITEM_SET = 20, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> â<><C3A2> <20>߰<EFBFBD>
|
||||||
HEADER_GC_ITEM_SET2 = 21, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> â<><C3A2> <20>߰<EFBFBD>
|
HEADER_GC_ITEM_SET2 = 21, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> â<><C3A2> <20>߰<EFBFBD>
|
||||||
#endif
|
#endif
|
||||||
HEADER_GC_ITEM_USE = 22, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>鿡<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD> <20><><EFBFBD><EFBFBD>)
|
HEADER_GC_ITEM_USE = 22, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>鿡<EFBFBD><E9BFA1> <20><><EFBFBD><EFBFBD><EFBFBD>ֱ<EFBFBD> <20><><EFBFBD><EFBFBD>)
|
||||||
HEADER_GC_ITEM_DROP = 23, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
HEADER_GC_ITEM_DROP = 23, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
HEADER_GC_ITEM_UPDATE = 25, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ġ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ
|
HEADER_GC_ITEM_UPDATE = 25, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>ġ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ
|
||||||
HEADER_GC_ITEM_GROUND_ADD = 26, // <20>ٴڿ<D9B4> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>߰<EFBFBD>
|
HEADER_GC_ITEM_GROUND_ADD = 26, // <20>ٴڿ<D9B4> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>߰<EFBFBD>
|
||||||
HEADER_GC_ITEM_GROUND_DEL = 27, // <20>ٴڿ<D9B4><DABF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
HEADER_GC_ITEM_GROUND_DEL = 27, // <20>ٴڿ<D9B4><DABF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
HEADER_GC_QUICKSLOT_ADD = 28,
|
HEADER_GC_QUICKSLOT_ADD = 28,
|
||||||
HEADER_GC_QUICKSLOT_DEL = 29,
|
HEADER_GC_QUICKSLOT_DEL = 29,
|
||||||
HEADER_GC_QUICKSLOT_SWAP = 30,
|
HEADER_GC_QUICKSLOT_SWAP = 30,
|
||||||
@ -331,8 +330,6 @@ enum
|
|||||||
HEADER_GC_HYBRIDCRYPT_SDB = 153, // SDB means Supplmentary Data Blocks
|
HEADER_GC_HYBRIDCRYPT_SDB = 153, // SDB means Supplmentary Data Blocks
|
||||||
//HYBRID CRYPT
|
//HYBRID CRYPT
|
||||||
|
|
||||||
HEADER_GC_AUTH_SUCCESS_OPENID = 154,
|
|
||||||
|
|
||||||
HEADER_GC_RUNUP_MATRIX_QUIZ = 201,
|
HEADER_GC_RUNUP_MATRIX_QUIZ = 201,
|
||||||
HEADER_GC_NEWCIBN_PASSPOD_REQUEST = 202,
|
HEADER_GC_NEWCIBN_PASSPOD_REQUEST = 202,
|
||||||
HEADER_GC_NEWCIBN_PASSPOD_FAILURE = 203,
|
HEADER_GC_NEWCIBN_PASSPOD_FAILURE = 203,
|
||||||
@ -386,13 +383,13 @@ enum
|
|||||||
PLAYER_PER_ACCOUNT3 = 3,
|
PLAYER_PER_ACCOUNT3 = 3,
|
||||||
PLAYER_PER_ACCOUNT4 = 4,
|
PLAYER_PER_ACCOUNT4 = 4,
|
||||||
|
|
||||||
PLAYER_ITEM_SLOT_MAX_NUM = 20, // <20>÷<EFBFBD><C3B7>̾<EFBFBD><CCBE><EFBFBD> <20><><EFBFBD>Դ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
PLAYER_ITEM_SLOT_MAX_NUM = 20, // <20>÷<EFBFBD><C3B7>̾<EFBFBD><CCBE><EFBFBD> <20><><EFBFBD>Դ<EFBFBD> <20><><EFBFBD><EEB0A1> <20><><EFBFBD><EFBFBD>.
|
||||||
|
|
||||||
QUICKSLOT_MAX_LINE = 4,
|
QUICKSLOT_MAX_LINE = 4,
|
||||||
QUICKSLOT_MAX_COUNT_PER_LINE = 8, // Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
QUICKSLOT_MAX_COUNT_PER_LINE = 8, // Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
QUICKSLOT_MAX_COUNT = QUICKSLOT_MAX_LINE * QUICKSLOT_MAX_COUNT_PER_LINE,
|
QUICKSLOT_MAX_COUNT = QUICKSLOT_MAX_LINE * QUICKSLOT_MAX_COUNT_PER_LINE,
|
||||||
|
|
||||||
QUICKSLOT_MAX_NUM = 36, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><>
|
QUICKSLOT_MAX_NUM = 36, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ִ<EFBFBD> <20><>
|
||||||
|
|
||||||
SHOP_HOST_ITEM_MAX_NUM = 40,
|
SHOP_HOST_ITEM_MAX_NUM = 40,
|
||||||
|
|
||||||
@ -423,8 +420,6 @@ enum
|
|||||||
|
|
||||||
WEAR_MAX_NUM = 11,
|
WEAR_MAX_NUM = 11,
|
||||||
|
|
||||||
OPENID_AUTHKEY_LEN = 32,
|
|
||||||
|
|
||||||
SHOP_TAB_NAME_MAX = 32,
|
SHOP_TAB_NAME_MAX = 32,
|
||||||
SHOP_TAB_COUNT_MAX = 3,
|
SHOP_TAB_COUNT_MAX = 3,
|
||||||
};
|
};
|
||||||
@ -465,7 +460,7 @@ typedef struct packet_mark_idxlist
|
|||||||
BYTE header;
|
BYTE header;
|
||||||
DWORD bufSize;
|
DWORD bufSize;
|
||||||
WORD count;
|
WORD count;
|
||||||
//<2F>ڿ<EFBFBD> size * (WORD + WORD)<29><>ŭ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
//<2F>ڿ<EFBFBD> size * (WORD + WORD)<29><>ŭ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
} TPacketGCMarkIDXList;
|
} TPacketGCMarkIDXList;
|
||||||
|
|
||||||
typedef struct packet_mark_block
|
typedef struct packet_mark_block
|
||||||
@ -474,7 +469,7 @@ typedef struct packet_mark_block
|
|||||||
DWORD bufSize;
|
DWORD bufSize;
|
||||||
BYTE imgIdx;
|
BYTE imgIdx;
|
||||||
DWORD count;
|
DWORD count;
|
||||||
// <20>ڿ<EFBFBD> 64 x 48 x <20>ȼ<EFBFBD>ũ<EFBFBD><C5A9>(4<><34><EFBFBD><EFBFBD>Ʈ) = 12288<38><38>ŭ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
// <20>ڿ<EFBFBD> 64 x 48 x <20>ȼ<EFBFBD>ũ<EFBFBD><C5A9>(4<><34><EFBFBD><EFBFBD>Ʈ) = 12288<38><38>ŭ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
} TPacketGCMarkBlock;
|
} TPacketGCMarkBlock;
|
||||||
|
|
||||||
typedef struct command_symbol_upload
|
typedef struct command_symbol_upload
|
||||||
@ -543,7 +538,7 @@ typedef struct command_login
|
|||||||
char pwd[PASS_MAX_NUM + 1];
|
char pwd[PASS_MAX_NUM + 1];
|
||||||
} TPacketCGLogin;
|
} TPacketCGLogin;
|
||||||
|
|
||||||
// start - <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ŷ<EFBFBD><C5B6>
|
// start - <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ŷ<EFBFBD><C5B6>
|
||||||
typedef struct command_login2
|
typedef struct command_login2
|
||||||
{
|
{
|
||||||
BYTE header;
|
BYTE header;
|
||||||
@ -559,14 +554,7 @@ typedef struct command_login3
|
|||||||
char pwd[PASS_MAX_NUM + 1];
|
char pwd[PASS_MAX_NUM + 1];
|
||||||
DWORD adwClientKey[4];
|
DWORD adwClientKey[4];
|
||||||
} TPacketCGLogin3;
|
} TPacketCGLogin3;
|
||||||
|
// end - <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ŷ<EFBFBD><C5B6>
|
||||||
typedef struct command_login5
|
|
||||||
{
|
|
||||||
BYTE header;
|
|
||||||
char authKey[OPENID_AUTHKEY_LEN + 1];
|
|
||||||
DWORD adwClientKey[4];
|
|
||||||
} TPacketCGLogin5;
|
|
||||||
// end - <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ŷ<EFBFBD><C5B6>
|
|
||||||
|
|
||||||
typedef struct command_direct_enter
|
typedef struct command_direct_enter
|
||||||
{
|
{
|
||||||
@ -585,8 +573,8 @@ typedef struct command_player_select
|
|||||||
typedef struct command_attack
|
typedef struct command_attack
|
||||||
{
|
{
|
||||||
BYTE header;
|
BYTE header;
|
||||||
BYTE bType; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
BYTE bType; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
DWORD dwVictimVID; // <20><> VID
|
DWORD dwVictimVID; // <20><> VID
|
||||||
BYTE bCRCMagicCubeProcPiece;
|
BYTE bCRCMagicCubeProcPiece;
|
||||||
BYTE bCRCMagicCubeFilePiece;
|
BYTE bCRCMagicCubeFilePiece;
|
||||||
} TPacketCGAttack;
|
} TPacketCGAttack;
|
||||||
@ -1014,9 +1002,9 @@ typedef struct SShopItemTable
|
|||||||
DWORD vnum;
|
DWORD vnum;
|
||||||
BYTE count;
|
BYTE count;
|
||||||
|
|
||||||
TItemPos pos; // PC <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>̿<EFBFBD>
|
TItemPos pos; // PC <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>̿<EFBFBD>
|
||||||
DWORD price; // PC <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>̿<EFBFBD>
|
DWORD price; // PC <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>̿<EFBFBD>
|
||||||
BYTE display_pos; // PC <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>̿<EFBFBD>, <20><><EFBFBD><EFBFBD> <20><>ġ.
|
BYTE display_pos; // PC <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>̿<EFBFBD>, <20><><EFBFBD><EFBFBD> <20><>ġ.
|
||||||
} TShopItemTable;
|
} TShopItemTable;
|
||||||
|
|
||||||
typedef struct SPacketCGMyShop
|
typedef struct SPacketCGMyShop
|
||||||
@ -1116,18 +1104,18 @@ typedef struct command_script_select_item
|
|||||||
// From Server
|
// From Server
|
||||||
enum EPhase
|
enum EPhase
|
||||||
{
|
{
|
||||||
PHASE_CLOSE, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (<28>Ǵ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>)
|
PHASE_CLOSE, // <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (<28>Ǵ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>)
|
||||||
PHASE_HANDSHAKE, // <20>Ǽ<EFBFBD>..;;
|
PHASE_HANDSHAKE, // <20>Ǽ<EFBFBD>..;;
|
||||||
PHASE_LOGIN, // <20>α<EFBFBD><CEB1><EFBFBD> <20><>
|
PHASE_LOGIN, // <20>α<EFBFBD><CEB1><EFBFBD> <20><>
|
||||||
PHASE_SELECT, // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ȭ<><C8AD>
|
PHASE_SELECT, // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ȭ<><C8AD>
|
||||||
PHASE_LOADING, // <20><><EFBFBD><EFBFBD> <20><> <20>ε<EFBFBD> ȭ<><C8AD>
|
PHASE_LOADING, // <20><><EFBFBD><EFBFBD> <20><> <20>ε<EFBFBD> ȭ<><C8AD>
|
||||||
PHASE_GAME, // <20><><EFBFBD><EFBFBD> ȭ<><C8AD>
|
PHASE_GAME, // <20><><EFBFBD><EFBFBD> ȭ<><C8AD>
|
||||||
PHASE_DEAD, // <20><EFBFBD><D7BE><EFBFBD> <20><>.. (<28><><EFBFBD><EFBFBD> <20>ȿ<EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>..)
|
PHASE_DEAD, // <20><EFBFBD><D7BE><EFBFBD> <20><>.. (<28><><EFBFBD><EFBFBD> <20>ȿ<EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>..)
|
||||||
|
|
||||||
PHASE_DBCLIENT_CONNECTING, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
PHASE_DBCLIENT_CONNECTING, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
PHASE_DBCLIENT, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
PHASE_DBCLIENT, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
PHASE_P2P, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
PHASE_P2P, // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
PHASE_AUTH, // <20>α<EFBFBD><CEB1><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>
|
PHASE_AUTH, // <20>α<EFBFBD><CEB1><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct packet_phase
|
typedef struct packet_phase
|
||||||
@ -1136,7 +1124,7 @@ typedef struct packet_phase
|
|||||||
BYTE phase;
|
BYTE phase;
|
||||||
} TPacketGCPhase;
|
} TPacketGCPhase;
|
||||||
|
|
||||||
typedef struct packet_blank // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŷ.
|
typedef struct packet_blank // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŷ.
|
||||||
{
|
{
|
||||||
BYTE header;
|
BYTE header;
|
||||||
} TPacketGCBlank;
|
} TPacketGCBlank;
|
||||||
@ -1273,7 +1261,7 @@ enum EPKModes
|
|||||||
PK_MODE_MAX_NUM,
|
PK_MODE_MAX_NUM,
|
||||||
};
|
};
|
||||||
|
|
||||||
// 2004.11.20.myevan.CRaceData::PART_MAX_NUM <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20><><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ°Ͱ<EFBFBD> <20><>ġ<EFBFBD><C4A1><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
// 2004.11.20.myevan.CRaceData::PART_MAX_NUM <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20><><EFBFBD><EFBFBD> - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>ϴ°Ͱ<C2B0> <20><>ġ<EFBFBD><C4A1><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
enum ECharacterEquipmentPart
|
enum ECharacterEquipmentPart
|
||||||
{
|
{
|
||||||
CHR_EQUIPPART_ARMOR,
|
CHR_EQUIPPART_ARMOR,
|
||||||
@ -1293,7 +1281,7 @@ typedef struct packet_char_additional_info
|
|||||||
BYTE bEmpire;
|
BYTE bEmpire;
|
||||||
DWORD dwGuildID;
|
DWORD dwGuildID;
|
||||||
DWORD dwLevel;
|
DWORD dwLevel;
|
||||||
short sAlignment; //<2F><><EFBFBD><EFBFBD>ġ
|
short sAlignment; //<2F><><EFBFBD><EFBFBD>ġ
|
||||||
BYTE bPKMode;
|
BYTE bPKMode;
|
||||||
DWORD dwMountVnum;
|
DWORD dwMountVnum;
|
||||||
} TPacketGCCharacterAdditionalInfo;
|
} TPacketGCCharacterAdditionalInfo;
|
||||||
@ -1405,14 +1393,14 @@ typedef struct packet_GlobalTime
|
|||||||
|
|
||||||
enum EChatType
|
enum EChatType
|
||||||
{
|
{
|
||||||
CHAT_TYPE_TALKING, /* <20>׳<EFBFBD> ä<><C3A4> */
|
CHAT_TYPE_TALKING, /* <20>׳<EFBFBD> ä<><C3A4> */
|
||||||
CHAT_TYPE_INFO, /* <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD>ġ<EFBFBD><C4A1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <20><>) */
|
CHAT_TYPE_INFO, /* <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD>ġ<EFBFBD><C4A1> <20><><EFBFBD><EFBFBD><EFBFBD>. <20><>) */
|
||||||
CHAT_TYPE_NOTICE, /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
CHAT_TYPE_NOTICE, /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
|
||||||
CHAT_TYPE_PARTY, /* <20><>Ƽ<EFBFBD><C6BC> */
|
CHAT_TYPE_PARTY, /* <20><>Ƽ<EFBFBD><C6BC> */
|
||||||
CHAT_TYPE_GUILD, /* <20><><EFBFBD>帻 */
|
CHAT_TYPE_GUILD, /* <20><>帻 */
|
||||||
CHAT_TYPE_COMMAND, /* <20><><EFBFBD><EFBFBD> */
|
CHAT_TYPE_COMMAND, /* <20><><EFBFBD><EFBFBD> */
|
||||||
CHAT_TYPE_SHOUT, /* <20><>ġ<EFBFBD><C4A1> */
|
CHAT_TYPE_SHOUT, /* <20><>ġ<EFBFBD><C4A1> */
|
||||||
CHAT_TYPE_WHISPER, // <20><><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ<EFBFBD> Only Client Enum
|
CHAT_TYPE_WHISPER, // <20><><EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ<EFBFBD> Only Client Enum
|
||||||
CHAT_TYPE_BIG_NOTICE,
|
CHAT_TYPE_BIG_NOTICE,
|
||||||
CHAT_TYPE_MAX_NUM,
|
CHAT_TYPE_MAX_NUM,
|
||||||
};
|
};
|
||||||
@ -1426,7 +1414,7 @@ typedef struct packet_chatting
|
|||||||
BYTE bEmpire;
|
BYTE bEmpire;
|
||||||
} TPacketGCChat;
|
} TPacketGCChat;
|
||||||
|
|
||||||
typedef struct packet_whisper // <20><><EFBFBD><EFBFBD> <20><>Ŷ
|
typedef struct packet_whisper // <20><><EFBFBD><EFBFBD> <20><>Ŷ
|
||||||
{
|
{
|
||||||
BYTE bHeader;
|
BYTE bHeader;
|
||||||
WORD wSize;
|
WORD wSize;
|
||||||
@ -1513,57 +1501,57 @@ enum EPointTypes
|
|||||||
POINT_MAX_HP, // 6
|
POINT_MAX_HP, // 6
|
||||||
POINT_SP, // 7
|
POINT_SP, // 7
|
||||||
POINT_MAX_SP, // 8
|
POINT_MAX_SP, // 8
|
||||||
POINT_STAMINA, // 9 <20><><EFBFBD>̳<D7B9>
|
POINT_STAMINA, // 9 <20><><EFBFBD>̳<D7B9>
|
||||||
POINT_MAX_STAMINA, // 10 <20>ִ<EFBFBD> <20><><EFBFBD>̳<D7B9>
|
POINT_MAX_STAMINA, // 10 <20>ִ<EFBFBD> <20><><EFBFBD>̳<D7B9>
|
||||||
|
|
||||||
POINT_GOLD, // 11
|
POINT_GOLD, // 11
|
||||||
POINT_ST, // 12 <20>ٷ<EFBFBD>
|
POINT_ST, // 12 <20>ٷ<EFBFBD>
|
||||||
POINT_HT, // 13 ü<><C3BC>
|
POINT_HT, // 13 ü<><C3BC>
|
||||||
POINT_DX, // 14 <20><>ø<EFBFBD><C3B8>
|
POINT_DX, // 14 <20><>ø<EFBFBD><C3B8>
|
||||||
POINT_IQ, // 15 <20><><EFBFBD>ŷ<EFBFBD>
|
POINT_IQ, // 15 <20><><EFBFBD>ŷ<EFBFBD>
|
||||||
POINT_ATT_POWER, // 16 <20><><EFBFBD>ݷ<EFBFBD>
|
POINT_ATT_POWER, // 16 <20><><EFBFBD>ݷ<EFBFBD>
|
||||||
POINT_ATT_SPEED, // 17 <20><><EFBFBD>ݼӵ<DDBC>
|
POINT_ATT_SPEED, // 17 <20><><EFBFBD>ݼӵ<DDBC>
|
||||||
POINT_EVADE_RATE, // 18 ȸ<><C8B8><EFBFBD><EFBFBD>
|
POINT_EVADE_RATE, // 18 ȸ<><C8B8><EFBFBD><EFBFBD>
|
||||||
POINT_MOV_SPEED, // 19 <20>̵<EFBFBD><CCB5>ӵ<EFBFBD>
|
POINT_MOV_SPEED, // 19 <20>̵<EFBFBD><CCB5>ӵ<EFBFBD>
|
||||||
POINT_DEF_GRADE, // 20 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
POINT_DEF_GRADE, // 20 <20><><EFBFBD><EFBFBD><EFBFBD>
|
||||||
POINT_CASTING_SPEED, // 21 <20>ֹ<EFBFBD><D6B9>ӵ<EFBFBD> (<28><><EFBFBD>ٿ<EFBFBD>Ÿ<EFBFBD><EFBFBD>*100) / (100 + <20>̰<EFBFBD>) = <20><><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ٿ<EFBFBD> Ÿ<><C5B8>
|
POINT_CASTING_SPEED, // 21 <20>ֹ<EFBFBD><D6B9>ӵ<EFBFBD> (<28><>ٿ<EFBFBD>Ÿ<EFBFBD><C5B8>*100) / (100 + <20>̰<EFBFBD>) = <20><><EFBFBD><EFBFBD> <20><>ٿ<EFBFBD> Ÿ<><C5B8>
|
||||||
POINT_MAGIC_ATT_GRADE, // 22 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD>
|
POINT_MAGIC_ATT_GRADE, // 22 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD>
|
||||||
POINT_MAGIC_DEF_GRADE, // 23 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
POINT_MAGIC_DEF_GRADE, // 23 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
POINT_EMPIRE_POINT, // 24 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
POINT_EMPIRE_POINT, // 24 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
POINT_LEVEL_STEP, // 25 <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ܰ<EFBFBD>.. (1 2 3 <20><> <20><> <20><><EFBFBD><EFBFBD>, 4 <20>Ǹ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><>)
|
POINT_LEVEL_STEP, // 25 <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ܰ<EFBFBD>.. (1 2 3 <20><> <20><> <20><><EFBFBD><EFBFBD>, 4 <20>Ǹ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><>)
|
||||||
POINT_STAT, // 26 <20>ɷ<EFBFBD>ġ <20>ø<EFBFBD> <20><> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
POINT_STAT, // 26 <20>ɷ<EFBFBD>ġ <20>ø<EFBFBD> <20><> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
POINT_SUB_SKILL, // 27 <20><><EFBFBD><EFBFBD> <20><>ų <20><><EFBFBD><EFBFBD>Ʈ
|
POINT_SUB_SKILL, // 27 <20><><EFBFBD><EFBFBD> <20><>ų <20><><EFBFBD><EFBFBD>Ʈ
|
||||||
POINT_SKILL, // 28 <20><>Ƽ<EFBFBD><C6BC> <20><>ų <20><><EFBFBD><EFBFBD>Ʈ
|
POINT_SKILL, // 28 <20><>Ƽ<EFBFBD><C6BC> <20><>ų <20><><EFBFBD><EFBFBD>Ʈ
|
||||||
// POINT_SKILL_PASV, // 27 <20>нú<D0BD> <20><><EFBFBD><EFBFBD> <20>ø<EFBFBD> <20><> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
// POINT_SKILL_PASV, // 27 <20>нú<D0BD> <20><><EFBFBD> <20>ø<EFBFBD> <20><> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
// POINT_SKILL_ACTIVE, // 28 <20><>Ƽ<EFBFBD><C6BC> <20><>ų <20><><EFBFBD><EFBFBD>Ʈ
|
// POINT_SKILL_ACTIVE, // 28 <20><>Ƽ<EFBFBD><C6BC> <20><>ų <20><><EFBFBD><EFBFBD>Ʈ
|
||||||
POINT_MIN_ATK, // 29 <20>ּ<EFBFBD> <20>ı<EFBFBD><C4B1><EFBFBD>
|
POINT_MIN_ATK, // 29 <20>ּ<EFBFBD> <20>ı<EFBFBD><C4B1><EFBFBD>
|
||||||
POINT_MAX_ATK, // 30 <20>ִ<EFBFBD> <20>ı<EFBFBD><C4B1><EFBFBD>
|
POINT_MAX_ATK, // 30 <20>ִ<EFBFBD> <20>ı<EFBFBD><C4B1><EFBFBD>
|
||||||
POINT_PLAYTIME, // 31 <20>÷<EFBFBD><C3B7>̽ð<CCBD>
|
POINT_PLAYTIME, // 31 <20>÷<EFBFBD><C3B7>̽ð<CCBD>
|
||||||
POINT_HP_REGEN, // 32 HP ȸ<><C8B8><EFBFBD><EFBFBD>
|
POINT_HP_REGEN, // 32 HP ȸ<><C8B8><EFBFBD><EFBFBD>
|
||||||
POINT_SP_REGEN, // 33 SP ȸ<><C8B8><EFBFBD><EFBFBD>
|
POINT_SP_REGEN, // 33 SP ȸ<><C8B8><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
POINT_BOW_DISTANCE, // 34 Ȱ <20><><EFBFBD><EFBFBD><EFBFBD>Ÿ<EFBFBD> <20><><EFBFBD><EFBFBD>ġ (meter)
|
POINT_BOW_DISTANCE, // 34 Ȱ <20><><EFBFBD><EFBFBD><EFBFBD>Ÿ<EFBFBD> <20><><EFBFBD><EFBFBD>ġ (meter)
|
||||||
|
|
||||||
POINT_HP_RECOVERY, // 35 ü<><C3BC> ȸ<><C8B8> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
POINT_HP_RECOVERY, // 35 ü<><C3BC> ȸ<><C8B8> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
POINT_SP_RECOVERY, // 36 <20><><EFBFBD>ŷ<EFBFBD> ȸ<><C8B8> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
POINT_SP_RECOVERY, // 36 <20><><EFBFBD>ŷ<EFBFBD> ȸ<><C8B8> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
POINT_POISON_PCT, // 37 <20><> Ȯ<><C8AE>
|
POINT_POISON_PCT, // 37 <20><> Ȯ<><C8AE>
|
||||||
POINT_STUN_PCT, // 38 <20><><EFBFBD><EFBFBD> Ȯ<><C8AE>
|
POINT_STUN_PCT, // 38 <20><><EFBFBD><EFBFBD> Ȯ<><C8AE>
|
||||||
POINT_SLOW_PCT, // 39 <20><><EFBFBD>ο<EFBFBD> Ȯ<><C8AE>
|
POINT_SLOW_PCT, // 39 <20><><EFBFBD>ο<EFBFBD> Ȯ<><C8AE>
|
||||||
POINT_CRITICAL_PCT, // 40 ũ<><C5A9>Ƽ<EFBFBD><C6BC> Ȯ<><C8AE>
|
POINT_CRITICAL_PCT, // 40 ũ<><C5A9>Ƽ<EFBFBD><C6BC> Ȯ<><C8AE>
|
||||||
POINT_PENETRATE_PCT, // 41 <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8> Ȯ<><C8AE>
|
POINT_PENETRATE_PCT, // 41 <20><><EFBFBD><EFBFBD>Ÿ<EFBFBD><C5B8> Ȯ<><C8AE>
|
||||||
POINT_CURSE_PCT, // 42 <20><><EFBFBD><EFBFBD> Ȯ<><C8AE>
|
POINT_CURSE_PCT, // 42 <20><><EFBFBD><EFBFBD> Ȯ<><C8AE>
|
||||||
|
|
||||||
POINT_ATTBONUS_HUMAN, // 43 <20>ΰ<EFBFBD><CEB0><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
POINT_ATTBONUS_HUMAN, // 43 <20>ΰ<EFBFBD><CEB0><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
POINT_ATTBONUS_ANIMAL, // 44 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> % <20><><EFBFBD><EFBFBD>
|
POINT_ATTBONUS_ANIMAL, // 44 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> % <20><><EFBFBD><EFBFBD>
|
||||||
POINT_ATTBONUS_ORC, // 45 <20><><EFBFBD>Ϳ<EFBFBD><CDBF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> % <20><><EFBFBD><EFBFBD>
|
POINT_ATTBONUS_ORC, // 45 <20><><EFBFBD>Ϳ<EFBFBD><CDBF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> % <20><><EFBFBD><EFBFBD>
|
||||||
POINT_ATTBONUS_MILGYO, // 46 <20>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> % <20><><EFBFBD><EFBFBD>
|
POINT_ATTBONUS_MILGYO, // 46 <20>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> % <20><><EFBFBD><EFBFBD>
|
||||||
POINT_ATTBONUS_UNDEAD, // 47 <20><>ü<EFBFBD><C3BC><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> % <20><><EFBFBD><EFBFBD>
|
POINT_ATTBONUS_UNDEAD, // 47 <20><>ü<EFBFBD><C3BC><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> % <20><><EFBFBD><EFBFBD>
|
||||||
POINT_ATTBONUS_DEVIL, // 48 <20><><EFBFBD><EFBFBD>(<28>Ǹ<EFBFBD>)<29><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> % <20><><EFBFBD><EFBFBD>
|
POINT_ATTBONUS_DEVIL, // 48 <20><><EFBFBD><EFBFBD>(<28>Ǹ<EFBFBD>)<29><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> % <20><><EFBFBD><EFBFBD>
|
||||||
POINT_ATTBONUS_INSECT, // 49 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
POINT_ATTBONUS_INSECT, // 49 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
POINT_ATTBONUS_FIRE, // 50 ȭ<><C8AD><EFBFBD><EFBFBD>
|
POINT_ATTBONUS_FIRE, // 50 ȭ<><C8AD><EFBFBD><EFBFBD>
|
||||||
POINT_ATTBONUS_ICE, // 51 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
POINT_ATTBONUS_ICE, // 51 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
POINT_ATTBONUS_DESERT, // 52 <20>縷<EFBFBD><E7B8B7>
|
POINT_ATTBONUS_DESERT, // 52 <20>縷<EFBFBD><E7B8B7>
|
||||||
POINT_ATTBONUS_UNUSED0, // 53 UNUSED0
|
POINT_ATTBONUS_UNUSED0, // 53 UNUSED0
|
||||||
POINT_ATTBONUS_UNUSED1, // 54 UNUSED1
|
POINT_ATTBONUS_UNUSED1, // 54 UNUSED1
|
||||||
POINT_ATTBONUS_UNUSED2, // 55 UNUSED2
|
POINT_ATTBONUS_UNUSED2, // 55 UNUSED2
|
||||||
@ -1575,42 +1563,42 @@ enum EPointTypes
|
|||||||
POINT_ATTBONUS_UNUSED8, // 61 UNUSED8
|
POINT_ATTBONUS_UNUSED8, // 61 UNUSED8
|
||||||
POINT_ATTBONUS_UNUSED9, // 62 UNUSED9
|
POINT_ATTBONUS_UNUSED9, // 62 UNUSED9
|
||||||
|
|
||||||
POINT_STEAL_HP, // 63 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
POINT_STEAL_HP, // 63 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
POINT_STEAL_SP, // 64 <20><><EFBFBD>ŷ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
POINT_STEAL_SP, // 64 <20><><EFBFBD>ŷ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
POINT_MANA_BURN_PCT, // 65 <20><><EFBFBD><EFBFBD> <20><>
|
POINT_MANA_BURN_PCT, // 65 <20><><EFBFBD><EFBFBD> <20><>
|
||||||
|
|
||||||
/// <20><><EFBFBD>ؽ<EFBFBD> <20><><EFBFBD>ʽ<EFBFBD> ///
|
/// <20><><EFBFBD>ؽ<EFBFBD> <20><><EFBFBD>ʽ<EFBFBD> ///
|
||||||
|
|
||||||
POINT_DAMAGE_SP_RECOVER, // 66 <20><><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD> <20><> <20><><EFBFBD>ŷ<EFBFBD> ȸ<><C8B8> Ȯ<><C8AE>
|
POINT_DAMAGE_SP_RECOVER, // 66 <20><><EFBFBD>ݴ<EFBFBD><DDB4><EFBFBD> <20><> <20><><EFBFBD>ŷ<EFBFBD> ȸ<><C8B8> Ȯ<><C8AE>
|
||||||
|
|
||||||
POINT_BLOCK, // 67 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
POINT_BLOCK, // 67 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
POINT_DODGE, // 68 ȸ<><C8B8><EFBFBD><EFBFBD>
|
POINT_DODGE, // 68 ȸ<><C8B8><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
POINT_RESIST_SWORD, // 69
|
POINT_RESIST_SWORD, // 69
|
||||||
POINT_RESIST_TWOHAND, // 70
|
POINT_RESIST_TWOHAND, // 70
|
||||||
POINT_RESIST_DAGGER, // 71
|
POINT_RESIST_DAGGER, // 71
|
||||||
POINT_RESIST_BELL, // 72
|
POINT_RESIST_BELL, // 72
|
||||||
POINT_RESIST_FAN, // 73
|
POINT_RESIST_FAN, // 73
|
||||||
POINT_RESIST_BOW, // 74 ȭ<><C8AD> <20><><EFBFBD><EFBFBD> : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
POINT_RESIST_BOW, // 74 ȭ<><C8AD> <20><><EFBFBD><EFBFBD> : <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
POINT_RESIST_FIRE, // 75 ȭ<><C8AD> <20><><EFBFBD><EFBFBD> : ȭ<><C8AD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
POINT_RESIST_FIRE, // 75 ȭ<><C8AD> <20><><EFBFBD><EFBFBD> : ȭ<><C8AD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
POINT_RESIST_ELEC, // 76 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
POINT_RESIST_ELEC, // 76 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
POINT_RESIST_MAGIC, // 77 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
POINT_RESIST_MAGIC, // 77 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
POINT_RESIST_WIND, // 78 <20>ٶ<EFBFBD> <20><><EFBFBD><EFBFBD> : <20>ٶ<EFBFBD><D9B6><EFBFBD><EFBFBD>ݿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
POINT_RESIST_WIND, // 78 <20>ٶ<EFBFBD> <20><><EFBFBD><EFBFBD> : <20>ٶ<EFBFBD><D9B6><EFBFBD><EFBFBD>ݿ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
POINT_REFLECT_MELEE, // 79 <20><><EFBFBD><EFBFBD> <20>ݻ<EFBFBD>
|
POINT_REFLECT_MELEE, // 79 <20><><EFBFBD><EFBFBD> <20>ݻ<EFBFBD>
|
||||||
|
|
||||||
/// Ư<><C6AF> <20><><EFBFBD>ؽ<EFBFBD> ///
|
/// Ư<><C6AF> <20><><EFBFBD>ؽ<EFBFBD> ///
|
||||||
POINT_REFLECT_CURSE, // 80 <20><><EFBFBD><EFBFBD> <20>ݻ<EFBFBD>
|
POINT_REFLECT_CURSE, // 80 <20><><EFBFBD><EFBFBD> <20>ݻ<EFBFBD>
|
||||||
POINT_POISON_REDUCE, // 81 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
POINT_POISON_REDUCE, // 81 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
/// <20><> <20>Ҹ<EFBFBD><D2B8><EFBFBD> ///
|
/// <20><> <20>Ҹ<EFBFBD><D2B8> ///
|
||||||
POINT_KILL_SP_RECOVER, // 82 <20><> <20>Ҹ<EFBFBD><D2B8><EFBFBD> MP ȸ<><C8B8>
|
POINT_KILL_SP_RECOVER, // 82 <20><> <20>Ҹ<EFBFBD><D2B8> MP ȸ<><C8B8>
|
||||||
POINT_EXP_DOUBLE_BONUS, // 83
|
POINT_EXP_DOUBLE_BONUS, // 83
|
||||||
POINT_GOLD_DOUBLE_BONUS, // 84
|
POINT_GOLD_DOUBLE_BONUS, // 84
|
||||||
POINT_ITEM_DROP_BONUS, // 85
|
POINT_ITEM_DROP_BONUS, // 85
|
||||||
|
|
||||||
/// ȸ<><C8B8> <20><><EFBFBD><EFBFBD> ///
|
/// ȸ<><C8B8> <20><><EFBFBD><EFBFBD> ///
|
||||||
POINT_POTION_BONUS, // 86
|
POINT_POTION_BONUS, // 86
|
||||||
POINT_KILL_HP_RECOVER, // 87
|
POINT_KILL_HP_RECOVER, // 87
|
||||||
|
|
||||||
@ -1635,32 +1623,32 @@ enum EPointTypes
|
|||||||
POINT_STAT_RESET_COUNT = 112,
|
POINT_STAT_RESET_COUNT = 112,
|
||||||
POINT_HORSE_SKILL = 113,
|
POINT_HORSE_SKILL = 113,
|
||||||
|
|
||||||
POINT_MALL_ATTBONUS, // 114 <20><><EFBFBD>ݷ<EFBFBD> +x%
|
POINT_MALL_ATTBONUS, // 114 <20><><EFBFBD>ݷ<EFBFBD> +x%
|
||||||
POINT_MALL_DEFBONUS, // 115 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> +x%
|
POINT_MALL_DEFBONUS, // 115 <20><><EFBFBD><EFBFBD> +x%
|
||||||
POINT_MALL_EXPBONUS, // 116 <20><><EFBFBD><EFBFBD>ġ +x%
|
POINT_MALL_EXPBONUS, // 116 <20><><EFBFBD><EFBFBD>ġ +x%
|
||||||
POINT_MALL_ITEMBONUS, // 117 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> x/10<31><30>
|
POINT_MALL_ITEMBONUS, // 117 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> x/10<31><30>
|
||||||
POINT_MALL_GOLDBONUS, // 118 <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> x/10<31><30>
|
POINT_MALL_GOLDBONUS, // 118 <20><> <20><><EFBFBD><EFBFBD><EFBFBD> x/10<31><30>
|
||||||
POINT_MAX_HP_PCT, // 119 <20>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> +x%
|
POINT_MAX_HP_PCT, // 119 <20>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD> +x%
|
||||||
POINT_MAX_SP_PCT, // 120 <20>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD>ŷ<EFBFBD> +x%
|
POINT_MAX_SP_PCT, // 120 <20>ִ<EFBFBD><D6B4><EFBFBD><EFBFBD>ŷ<EFBFBD> +x%
|
||||||
|
|
||||||
POINT_SKILL_DAMAGE_BONUS, // 121 <20><>ų <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *(100+x)%
|
POINT_SKILL_DAMAGE_BONUS, // 121 <20><>ų <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *(100+x)%
|
||||||
POINT_NORMAL_HIT_DAMAGE_BONUS, // 122 <20><>Ÿ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *(100+x)%
|
POINT_NORMAL_HIT_DAMAGE_BONUS, // 122 <20><>Ÿ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> *(100+x)%
|
||||||
|
|
||||||
POINT_SKILL_DEFEND_BONUS, // 123 <20><>ų <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
POINT_SKILL_DEFEND_BONUS, // 123 <20><>ų <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
POINT_NORMAL_HIT_DEFEND_BONUS, // 124 <20><>Ÿ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
POINT_NORMAL_HIT_DEFEND_BONUS, // 124 <20><>Ÿ <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
POINT_PC_BANG_EXP_BONUS, // 125
|
POINT_PC_BANG_EXP_BONUS, // 125
|
||||||
POINT_PC_BANG_DROP_BONUS, // 126 PC<50><43> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>ӷ<EFBFBD> <20><><EFBFBD>ʽ<EFBFBD>
|
POINT_PC_BANG_DROP_BONUS, // 126 PC<50><43> <20><><EFBFBD><EFBFBD> <20><>ӷ<EFBFBD> <20><><EFBFBD>ʽ<EFBFBD>
|
||||||
|
|
||||||
POINT_ENERGY = 128, // 128 <20><><EFBFBD><EFBFBD>
|
POINT_ENERGY = 128, // 128 <20><><EFBFBD>
|
||||||
|
|
||||||
// <20><><EFBFBD><EFBFBD> ui <20><>.
|
// <20><><EFBFBD> ui <20><>.
|
||||||
// <20>̷<EFBFBD><CCB7><EFBFBD> <20>ϰ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>,
|
// <20>̷<EFBFBD><CCB7><EFBFBD> <20>ϰ<EFBFBD> <20><><EFBFBD><EFBFBD> <20>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD>,
|
||||||
// uiTaskBar<61><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD> affect<63><74> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>,
|
// uiTaskBar<61><72><EFBFBD><EFBFBD><EFBFBD><EFBFBD> affect<63><74> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>,
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ŭ<><EFBFBD>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blend_affect<63><74> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʾ<EFBFBD>,
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ŭ<><EFBFBD>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD><EFBFBD><EFBFBD> blend_affect<63><74> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʾ<EFBFBD>,
|
||||||
// <20>ӽ÷<D3BD> <20>̷<EFBFBD><CCB7><EFBFBD> <20>д<EFBFBD>.
|
// <20>ӽ÷<D3BD> <20>̷<EFBFBD><CCB7><EFBFBD> <20>д<EFBFBD>.
|
||||||
POINT_ENERGY_END_TIME = 129, // 129 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ð<EFBFBD>
|
POINT_ENERGY_END_TIME = 129, // 129 <20><><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ð<EFBFBD>
|
||||||
|
|
||||||
// Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>Ʈ
|
// Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>Ʈ
|
||||||
POINT_MIN_WEP = 200,
|
POINT_MIN_WEP = 200,
|
||||||
POINT_MAX_WEP,
|
POINT_MAX_WEP,
|
||||||
POINT_MIN_MAGIC_WEP,
|
POINT_MIN_MAGIC_WEP,
|
||||||
@ -1668,7 +1656,7 @@ enum EPointTypes
|
|||||||
POINT_HIT_RATE,
|
POINT_HIT_RATE,
|
||||||
|
|
||||||
|
|
||||||
//POINT_MAX_NUM = 255,=>stdafx.h <20><>/
|
//POINT_MAX_NUM = 255,=>stdafx.h <20><>/
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct packet_points
|
typedef struct packet_points
|
||||||
@ -1684,8 +1672,8 @@ typedef struct packet_point_change
|
|||||||
DWORD dwVID;
|
DWORD dwVID;
|
||||||
BYTE Type;
|
BYTE Type;
|
||||||
|
|
||||||
long amount; // <20>ٲ<EFBFBD> <20><>
|
long amount; // <20>ٲ<EFBFBD> <20><>
|
||||||
long value; // <20><><EFBFBD><EFBFBD> <20><>
|
long value; // <20><><EFBFBD><EFBFBD> <20><>
|
||||||
} TPacketGCPointChange;
|
} TPacketGCPointChange;
|
||||||
|
|
||||||
typedef struct packet_motion
|
typedef struct packet_motion
|
||||||
@ -1723,7 +1711,7 @@ typedef struct packet_set_item
|
|||||||
BYTE pos;
|
BYTE pos;
|
||||||
DWORD vnum;
|
DWORD vnum;
|
||||||
BYTE count;
|
BYTE count;
|
||||||
DWORD flags; // <20>÷<EFBFBD><C3B7><EFBFBD> <20>߰<EFBFBD>
|
DWORD flags; // <20>÷<EFBFBD><C3B7><EFBFBD> <20>߰<EFBFBD>
|
||||||
long alSockets[ITEM_SOCKET_SLOT_MAX_NUM];
|
long alSockets[ITEM_SOCKET_SLOT_MAX_NUM];
|
||||||
TPlayerItemAttribute aAttr[ITEM_ATTRIBUTE_SLOT_MAX_NUM];
|
TPlayerItemAttribute aAttr[ITEM_ATTRIBUTE_SLOT_MAX_NUM];
|
||||||
} TPacketGCItemSet;
|
} TPacketGCItemSet;
|
||||||
@ -1750,8 +1738,8 @@ typedef struct packet_set_item2
|
|||||||
TItemPos Cell;
|
TItemPos Cell;
|
||||||
DWORD vnum;
|
DWORD vnum;
|
||||||
BYTE count;
|
BYTE count;
|
||||||
DWORD flags; // <20>÷<EFBFBD><C3B7><EFBFBD> <20>߰<EFBFBD>
|
DWORD flags; // <20>÷<EFBFBD><C3B7><EFBFBD> <20>߰<EFBFBD>
|
||||||
DWORD anti_flags; // <20>÷<EFBFBD><C3B7><EFBFBD> <20>߰<EFBFBD>
|
DWORD anti_flags; // <20>÷<EFBFBD><C3B7><EFBFBD> <20>߰<EFBFBD>
|
||||||
bool highlight;
|
bool highlight;
|
||||||
long alSockets[ITEM_SOCKET_SLOT_MAX_NUM];
|
long alSockets[ITEM_SOCKET_SLOT_MAX_NUM];
|
||||||
TPlayerItemAttribute aAttr[ITEM_ATTRIBUTE_SLOT_MAX_NUM];
|
TPlayerItemAttribute aAttr[ITEM_ATTRIBUTE_SLOT_MAX_NUM];
|
||||||
@ -1832,7 +1820,7 @@ typedef struct packet_shop_start
|
|||||||
struct packet_shop_item items[SHOP_HOST_ITEM_MAX_NUM];
|
struct packet_shop_item items[SHOP_HOST_ITEM_MAX_NUM];
|
||||||
} TPacketGCShopStart;
|
} TPacketGCShopStart;
|
||||||
|
|
||||||
typedef struct packet_shop_start_ex // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> TSubPacketShopTab* shop_tabs <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
typedef struct packet_shop_start_ex // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> TSubPacketShopTab* shop_tabs <20><> <20><><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
{
|
{
|
||||||
typedef struct sub_packet_shop_tab
|
typedef struct sub_packet_shop_tab
|
||||||
{
|
{
|
||||||
@ -1975,12 +1963,12 @@ typedef struct packet_move
|
|||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
QUEST_SEND_IS_BEGIN = 1 << 0,
|
QUEST_SEND_IS_BEGIN = 1 << 0,
|
||||||
QUEST_SEND_TITLE = 1 << 1, // 28<32><38> <20><><EFBFBD><EFBFBD>
|
QUEST_SEND_TITLE = 1 << 1, // 28<32><38> <20><><EFBFBD><EFBFBD>
|
||||||
QUEST_SEND_CLOCK_NAME = 1 << 2, // 16<31><36> <20><><EFBFBD><EFBFBD>
|
QUEST_SEND_CLOCK_NAME = 1 << 2, // 16<31><36> <20><><EFBFBD><EFBFBD>
|
||||||
QUEST_SEND_CLOCK_VALUE = 1 << 3,
|
QUEST_SEND_CLOCK_VALUE = 1 << 3,
|
||||||
QUEST_SEND_COUNTER_NAME = 1 << 4, // 16<31><36> <20><><EFBFBD><EFBFBD>
|
QUEST_SEND_COUNTER_NAME = 1 << 4, // 16<31><36> <20><><EFBFBD><EFBFBD>
|
||||||
QUEST_SEND_COUNTER_VALUE = 1 << 5,
|
QUEST_SEND_COUNTER_VALUE = 1 << 5,
|
||||||
QUEST_SEND_ICON_FILE = 1 << 6, // 24<32><34> <20><><EFBFBD><EFBFBD>
|
QUEST_SEND_ICON_FILE = 1 << 6, // 24<32><34> <20><><EFBFBD><EFBFBD>
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct packet_quest_info
|
typedef struct packet_quest_info
|
||||||
@ -2003,8 +1991,8 @@ typedef struct packet_attack
|
|||||||
{
|
{
|
||||||
BYTE header;
|
BYTE header;
|
||||||
DWORD dwVID;
|
DWORD dwVID;
|
||||||
DWORD dwVictimVID; // <20><> VID
|
DWORD dwVictimVID; // <20><> VID
|
||||||
BYTE bType; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
BYTE bType; // <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
} TPacketGCAttack;
|
} TPacketGCAttack;
|
||||||
|
|
||||||
typedef struct packet_c2c
|
typedef struct packet_c2c
|
||||||
@ -2074,7 +2062,7 @@ enum EPVPModes
|
|||||||
typedef struct packet_duel_start
|
typedef struct packet_duel_start
|
||||||
{
|
{
|
||||||
BYTE header ;
|
BYTE header ;
|
||||||
WORD wSize ; // DWORD<52><44> <20>? <20><><EFBFBD><EFBFBD> = (wSize - sizeof(TPacketGCPVPList)) / 4
|
WORD wSize ; // DWORD<52><44> <20>? <20><><EFBFBD><EFBFBD> = (wSize - sizeof(TPacketGCPVPList)) / 4
|
||||||
} TPacketGCDuelStart ;
|
} TPacketGCDuelStart ;
|
||||||
|
|
||||||
typedef struct packet_pvp
|
typedef struct packet_pvp
|
||||||
@ -2230,7 +2218,7 @@ enum
|
|||||||
|
|
||||||
typedef struct packet_guild_sub_grade
|
typedef struct packet_guild_sub_grade
|
||||||
{
|
{
|
||||||
char grade_name[GUILD_GRADE_NAME_MAX_LEN+1]; // 8+1 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20≯<EFBFBD>
|
char grade_name[GUILD_GRADE_NAME_MAX_LEN+1]; // 8+1 <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20≯<EFBFBD>
|
||||||
BYTE auth_flag;
|
BYTE auth_flag;
|
||||||
} TPacketGCGuildSubGrade;
|
} TPacketGCGuildSubGrade;
|
||||||
|
|
||||||
@ -2271,7 +2259,7 @@ enum EGuildWarState
|
|||||||
GUILD_WAR_ON_WAR,
|
GUILD_WAR_ON_WAR,
|
||||||
GUILD_WAR_END,
|
GUILD_WAR_END,
|
||||||
|
|
||||||
GUILD_WAR_DURATION = 2*60*60, // 2<>ð<EFBFBD>
|
GUILD_WAR_DURATION = 2*60*60, // 2<>ð<EFBFBD>
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct packet_guild_war
|
typedef struct packet_guild_war
|
||||||
@ -2347,8 +2335,8 @@ typedef struct SRefineTable
|
|||||||
DWORD src_vnum;
|
DWORD src_vnum;
|
||||||
DWORD result_vnum;
|
DWORD result_vnum;
|
||||||
BYTE material_count;
|
BYTE material_count;
|
||||||
int cost; // <20>ҿ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
int cost; // <20>ҿ<EFBFBD> <20><><EFBFBD>
|
||||||
int prob; // Ȯ<><C8AE>
|
int prob; // Ȯ<><C8AE>
|
||||||
TMaterial materials[REFINE_MATERIAL_MAX_NUM];
|
TMaterial materials[REFINE_MATERIAL_MAX_NUM];
|
||||||
} TRefineTable;
|
} TRefineTable;
|
||||||
|
|
||||||
@ -2383,17 +2371,17 @@ enum SPECIAL_EFFECT
|
|||||||
SE_SUCCESS,
|
SE_SUCCESS,
|
||||||
SE_FAIL,
|
SE_FAIL,
|
||||||
SE_FR_SUCCESS,
|
SE_FR_SUCCESS,
|
||||||
SE_LEVELUP_ON_14_FOR_GERMANY, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 14<31>϶<EFBFBD> ( <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> )
|
SE_LEVELUP_ON_14_FOR_GERMANY, //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 14<31>϶<EFBFBD> ( <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> )
|
||||||
SE_LEVELUP_UNDER_15_FOR_GERMANY,//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 15<31>϶<EFBFBD> ( <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> )
|
SE_LEVELUP_UNDER_15_FOR_GERMANY,//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 15<31>϶<EFBFBD> ( <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> )
|
||||||
SE_PERCENT_DAMAGE1,
|
SE_PERCENT_DAMAGE1,
|
||||||
SE_PERCENT_DAMAGE2,
|
SE_PERCENT_DAMAGE2,
|
||||||
SE_PERCENT_DAMAGE3,
|
SE_PERCENT_DAMAGE3,
|
||||||
SE_AUTO_HPUP,
|
SE_AUTO_HPUP,
|
||||||
SE_AUTO_SPUP,
|
SE_AUTO_SPUP,
|
||||||
SE_EQUIP_RAMADAN_RING, // <20>ʽ´<CABD><C2B4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ߵ<EFBFBD><DFB5>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ
|
SE_EQUIP_RAMADAN_RING, // <20>ʽ´<CABD><C2B4><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ߵ<EFBFBD><DFB5>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ
|
||||||
SE_EQUIP_HALLOWEEN_CANDY, // <20>ҷ<EFBFBD><D2B7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>(-_-;)<29><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ߵ<EFBFBD><DFB5>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ
|
SE_EQUIP_HALLOWEEN_CANDY, // <20>ҷ<EFBFBD><D2B7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>(-_-;)<29><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ߵ<EFBFBD><DFB5>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ
|
||||||
SE_EQUIP_HAPPINESS_RING, // ũ<><C5A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ູ<EFBFBD><E0BAB9> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ߵ<EFBFBD><DFB5>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ
|
SE_EQUIP_HAPPINESS_RING, // ũ<><C5A9><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ູ<EFBFBD><E0BAB9> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ߵ<EFBFBD><DFB5>ϴ<EFBFBD> <20><><EFBFBD><EFBFBD>Ʈ
|
||||||
SE_EQUIP_LOVE_PENDANT, // <20>߷<EFBFBD>Ÿ<EFBFBD><C5B8> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>Ҵ<EFBFBD>Ʈ(71145) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>Ʈ (<28>ߵ<EFBFBD><DFB5><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20>ƴ<EFBFBD>)
|
SE_EQUIP_LOVE_PENDANT, // <20>߷<EFBFBD>Ÿ<EFBFBD><C5B8> <20><><EFBFBD><EFBFBD><EFBFBD> <20>Ҵ<EFBFBD>Ʈ(71145) <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>Ʈ (<28>ߵ<EFBFBD><DFB5><EFBFBD><EFBFBD><EFBFBD>Ʈ<EFBFBD><C6AE>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʈ <20>ƴ<EFBFBD>)
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct SPacketGCSpecialEffect
|
typedef struct SPacketGCSpecialEffect
|
||||||
@ -2472,14 +2460,6 @@ typedef struct packet_auth_success
|
|||||||
BYTE bResult;
|
BYTE bResult;
|
||||||
} TPacketGCAuthSuccess;
|
} TPacketGCAuthSuccess;
|
||||||
|
|
||||||
typedef struct packet_auth_success_openid
|
|
||||||
{
|
|
||||||
BYTE bHeader;
|
|
||||||
DWORD dwLoginKey;
|
|
||||||
BYTE bResult;
|
|
||||||
char login[ID_MAX_NUM + 1];
|
|
||||||
} TPacketGCAuthSuccessOpenID;
|
|
||||||
|
|
||||||
typedef struct packet_channel
|
typedef struct packet_channel
|
||||||
{
|
{
|
||||||
BYTE header;
|
BYTE header;
|
||||||
@ -2696,7 +2676,7 @@ typedef struct packet_hs_check_req
|
|||||||
AHNHS_TRANS_BUFFER Req;
|
AHNHS_TRANS_BUFFER Req;
|
||||||
} TPacketHSCheck;
|
} TPacketHSCheck;
|
||||||
|
|
||||||
//NOTE : recv/send<6E><64> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, bPacketData<74><61> <20><><EFBFBD>븸 <20>ٲ<EFBFBD><D9B2><EFBFBD>.
|
//NOTE : recv/send<6E><64> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, bPacketData<74><61> <20><><EFBFBD>븸 <20>ٲ<EFBFBD><D9B2>.
|
||||||
typedef struct packet_xtrap_verify
|
typedef struct packet_xtrap_verify
|
||||||
{
|
{
|
||||||
BYTE bHeader;
|
BYTE bHeader;
|
||||||
@ -2714,7 +2694,7 @@ typedef struct packet_autoban_quiz
|
|||||||
// END_OF_AUTOBAN
|
// END_OF_AUTOBAN
|
||||||
|
|
||||||
#ifdef __AUCTION__
|
#ifdef __AUCTION__
|
||||||
// Argument<6E><74> <20>뵵<EFBFBD><EBB5B5> cmd<6D><64> <20><><EFBFBD><EFBFBD> <20>ٸ<EFBFBD><D9B8><EFBFBD>.
|
// Argument<6E><74> <20>뵵<EFBFBD><EBB5B5> cmd<6D><64> <20><><EFBFBD><EFBFBD> <20>ٸ<EFBFBD><D9B8><EFBFBD>.
|
||||||
typedef struct SPacketCGAuctionCmd
|
typedef struct SPacketCGAuctionCmd
|
||||||
{
|
{
|
||||||
BYTE bHeader;
|
BYTE bHeader;
|
||||||
@ -2740,7 +2720,7 @@ typedef struct SPacketGCSpecificEffect
|
|||||||
char effect_file[128];
|
char effect_file[128];
|
||||||
} TPacketGCSpecificEffect;
|
} TPacketGCSpecificEffect;
|
||||||
|
|
||||||
// <20><>ȥ<EFBFBD><C8A5>
|
// <20><>ȥ<EFBFBD><C8A5>
|
||||||
enum EDragonSoulRefineWindowRefineType
|
enum EDragonSoulRefineWindowRefineType
|
||||||
{
|
{
|
||||||
DragonSoulRefineWindow_UPGRADE,
|
DragonSoulRefineWindow_UPGRADE,
|
||||||
|
@ -9,10 +9,6 @@ extern BOOL bVisibleNotice = true;
|
|||||||
extern BOOL bTestServerFlag = FALSE;
|
extern BOOL bTestServerFlag = FALSE;
|
||||||
extern int TWOHANDED_WEWAPON_ATT_SPEED_DECREASE_VALUE = 0;
|
extern int TWOHANDED_WEWAPON_ATT_SPEED_DECREASE_VALUE = 0;
|
||||||
|
|
||||||
#ifdef USE_OPENID
|
|
||||||
extern int openid_test;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
PyObject* appShowWebPage(PyObject* poSelf, PyObject* poArgs)
|
PyObject* appShowWebPage(PyObject* poSelf, PyObject* poArgs)
|
||||||
{
|
{
|
||||||
char* szWebPage;
|
char* szWebPage;
|
||||||
@ -1356,7 +1352,7 @@ void initapp()
|
|||||||
PyModule_AddIntConstant(poModule, "VK_DELETE", VK_DELETE);
|
PyModule_AddIntConstant(poModule, "VK_DELETE", VK_DELETE);
|
||||||
|
|
||||||
PyModule_AddIntConstant(poModule, "DIK_ESCAPE", DIK_ESCAPE);
|
PyModule_AddIntConstant(poModule, "DIK_ESCAPE", DIK_ESCAPE);
|
||||||
PyModule_AddIntConstant(poModule, "DIK_ESC", DIK_ESCAPE); // <20><><EFBFBD>Ǹ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
PyModule_AddIntConstant(poModule, "DIK_ESC", DIK_ESCAPE); // <20><><EFBFBD>Ǹ<EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
PyModule_AddIntConstant(poModule, "DIK_1", DIK_1);
|
PyModule_AddIntConstant(poModule, "DIK_1", DIK_1);
|
||||||
PyModule_AddIntConstant(poModule, "DIK_2", DIK_2);
|
PyModule_AddIntConstant(poModule, "DIK_2", DIK_2);
|
||||||
PyModule_AddIntConstant(poModule, "DIK_3", DIK_3);
|
PyModule_AddIntConstant(poModule, "DIK_3", DIK_3);
|
||||||
@ -1516,15 +1512,4 @@ void initapp()
|
|||||||
#else
|
#else
|
||||||
PyModule_AddIntConstant(poModule, "ENABLE_NEW_EQUIPMENT_SYSTEM", 0);
|
PyModule_AddIntConstant(poModule, "ENABLE_NEW_EQUIPMENT_SYSTEM", 0);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef USE_OPENID
|
|
||||||
PyModule_AddIntConstant(poModule, "USE_OPENID", 1);
|
|
||||||
if (openid_test)
|
|
||||||
PyModule_AddIntConstant(poModule, "OPENID_TEST", 1);
|
|
||||||
else
|
|
||||||
PyModule_AddIntConstant(poModule, "OPENID_TEST", 0);
|
|
||||||
#else
|
|
||||||
PyModule_AddIntConstant(poModule, "USE_OPENID", 0);
|
|
||||||
PyModule_AddIntConstant(poModule, "OPENID_TEST", 0);
|
|
||||||
#endif /* USE_OPENID */
|
|
||||||
}
|
}
|
||||||
|
@ -150,7 +150,6 @@ class CMainPacketHeaderMap : public CNetworkPacketHeaderMap
|
|||||||
Set(HEADER_GC_LOGIN_KEY, CNetworkPacketHeaderMap::TPacketType(sizeof(TPacketGCLoginKey), STATIC_SIZE_PACKET));
|
Set(HEADER_GC_LOGIN_KEY, CNetworkPacketHeaderMap::TPacketType(sizeof(TPacketGCLoginKey), STATIC_SIZE_PACKET));
|
||||||
|
|
||||||
Set(HEADER_GC_AUTH_SUCCESS, CNetworkPacketHeaderMap::TPacketType(sizeof(TPacketGCAuthSuccess), STATIC_SIZE_PACKET));
|
Set(HEADER_GC_AUTH_SUCCESS, CNetworkPacketHeaderMap::TPacketType(sizeof(TPacketGCAuthSuccess), STATIC_SIZE_PACKET));
|
||||||
Set(HEADER_GC_AUTH_SUCCESS_OPENID, CNetworkPacketHeaderMap::TPacketType(sizeof(TPacketGCAuthSuccessOpenID), STATIC_SIZE_PACKET));
|
|
||||||
Set(HEADER_GC_CHANNEL, CNetworkPacketHeaderMap::TPacketType(sizeof(TPacketGCChannel), STATIC_SIZE_PACKET));
|
Set(HEADER_GC_CHANNEL, CNetworkPacketHeaderMap::TPacketType(sizeof(TPacketGCChannel), STATIC_SIZE_PACKET));
|
||||||
Set(HEADER_GC_VIEW_EQUIP, CNetworkPacketHeaderMap::TPacketType(sizeof(TPacketGCViewEquip), STATIC_SIZE_PACKET));
|
Set(HEADER_GC_VIEW_EQUIP, CNetworkPacketHeaderMap::TPacketType(sizeof(TPacketGCViewEquip), STATIC_SIZE_PACKET));
|
||||||
Set(HEADER_GC_LAND_LIST, CNetworkPacketHeaderMap::TPacketType(sizeof(TPacketGCLandList), DYNAMIC_SIZE_PACKET));
|
Set(HEADER_GC_LAND_LIST, CNetworkPacketHeaderMap::TPacketType(sizeof(TPacketGCLandList), DYNAMIC_SIZE_PACKET));
|
||||||
@ -239,7 +238,7 @@ void CPythonNetworkStream::AbsoluteExitApplication()
|
|||||||
|
|
||||||
bool CPythonNetworkStream::__IsNotPing()
|
bool CPythonNetworkStream::__IsNotPing()
|
||||||
{
|
{
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ȿö<C8BF> üũ<C3BC>̳<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ȯ<EFBFBD><C8AE> <20><><EFBFBD>߾<EFBFBD><DFBE><EFBFBD> <20>Ѵ<EFBFBD>.
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ȿö<C8BF> üũ<C3BC>̳<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ȯ<EFBFBD><C8AE> <20><><EFBFBD>߾<EFBFBD><DFBE> <20>Ѵ<EFBFBD>.
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -251,7 +250,7 @@ DWORD CPythonNetworkStream::GetGuildID()
|
|||||||
UINT CPythonNetworkStream::UploadMark(const char * c_szImageFileName)
|
UINT CPythonNetworkStream::UploadMark(const char * c_szImageFileName)
|
||||||
{
|
{
|
||||||
// MARK_BUG_FIX
|
// MARK_BUG_FIX
|
||||||
// <20><><EFBFBD>带 <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ĵ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD> 0<>̴<EFBFBD>.
|
// <20><>带 <20><><EFBFBD><EFBFBD> <20><><EFBFBD>Ĵ<EFBFBD> <20><><EFBFBD> <20><><EFBFBD>̵<EFBFBD> 0<>̴<EFBFBD>.
|
||||||
if (0 == m_dwGuildID)
|
if (0 == m_dwGuildID)
|
||||||
return ERROR_MARK_UPLOAD_NEED_RECONNECT;
|
return ERROR_MARK_UPLOAD_NEED_RECONNECT;
|
||||||
|
|
||||||
@ -321,13 +320,13 @@ UINT CPythonNetworkStream::UploadSymbol(const char* c_szImageFileName)
|
|||||||
|
|
||||||
void CPythonNetworkStream::__DownloadMark()
|
void CPythonNetworkStream::__DownloadMark()
|
||||||
{
|
{
|
||||||
// 3<><33> <20>ȿ<EFBFBD><C8BF><EFBFBD> <20>ٽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ´<CAB4>.
|
// 3<><33> <20>ȿ<EFBFBD><C8BF><EFBFBD> <20>ٽ<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ´<CAB4>.
|
||||||
DWORD curTime = ELTimer_GetMSec();
|
DWORD curTime = ELTimer_GetMSec();
|
||||||
|
|
||||||
if (curTime < gs_nextDownloadMarkTime)
|
if (curTime < gs_nextDownloadMarkTime)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
gs_nextDownloadMarkTime = curTime + 60000 * 3; // 3<><33>
|
gs_nextDownloadMarkTime = curTime + 60000 * 3; // 3<><33>
|
||||||
|
|
||||||
CGuildMarkDownloader& rkGuildMarkDownloader = CGuildMarkDownloader::Instance();
|
CGuildMarkDownloader& rkGuildMarkDownloader = CGuildMarkDownloader::Instance();
|
||||||
rkGuildMarkDownloader.Connect(m_kMarkAuth.m_kNetAddr, m_kMarkAuth.m_dwHandle, m_kMarkAuth.m_dwRandomKey);
|
rkGuildMarkDownloader.Connect(m_kMarkAuth.m_kNetAddr, m_kMarkAuth.m_dwHandle, m_kMarkAuth.m_dwRandomKey);
|
||||||
@ -593,19 +592,19 @@ bool CPythonNetworkStream::RecvPhasePacket()
|
|||||||
|
|
||||||
switch (packet_phase.phase)
|
switch (packet_phase.phase)
|
||||||
{
|
{
|
||||||
case PHASE_CLOSE: // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (<28>Ǵ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>)
|
case PHASE_CLOSE: // <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (<28>Ǵ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD>)
|
||||||
ClosePhase();
|
ClosePhase();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PHASE_HANDSHAKE: // <20>Ǽ<EFBFBD>..;;
|
case PHASE_HANDSHAKE: // <20>Ǽ<EFBFBD>..;;
|
||||||
SetHandShakePhase();
|
SetHandShakePhase();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PHASE_LOGIN: // <20>α<EFBFBD><CEB1><EFBFBD> <20><>
|
case PHASE_LOGIN: // <20>α<EFBFBD><CEB1><EFBFBD> <20><>
|
||||||
SetLoginPhase();
|
SetLoginPhase();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PHASE_SELECT: // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ȭ<><C8AD>
|
case PHASE_SELECT: // ij<><C4B3><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> ȭ<><C8AD>
|
||||||
SetSelectPhase();
|
SetSelectPhase();
|
||||||
|
|
||||||
BuildProcessCRC();
|
BuildProcessCRC();
|
||||||
@ -615,15 +614,15 @@ bool CPythonNetworkStream::RecvPhasePacket()
|
|||||||
// END_OF_MARK_BUG_FIX
|
// END_OF_MARK_BUG_FIX
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PHASE_LOADING: // <20><><EFBFBD><EFBFBD> <20><> <20>ε<EFBFBD> ȭ<><C8AD>
|
case PHASE_LOADING: // <20><><EFBFBD><EFBFBD> <20><> <20>ε<EFBFBD> ȭ<><C8AD>
|
||||||
SetLoadingPhase();
|
SetLoadingPhase();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PHASE_GAME: // <20><><EFBFBD><EFBFBD> ȭ<><C8AD>
|
case PHASE_GAME: // <20><><EFBFBD><EFBFBD> ȭ<><C8AD>
|
||||||
SetGamePhase();
|
SetGamePhase();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PHASE_DEAD: // <20><EFBFBD><D7BE><EFBFBD> <20><>.. (<28><><EFBFBD><EFBFBD> <20>ȿ<EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>..)
|
case PHASE_DEAD: // <20><EFBFBD><D7BE><EFBFBD> <20><>.. (<28><><EFBFBD><EFBFBD> <20>ȿ<EFBFBD> <20>ִ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>..)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -655,7 +654,7 @@ bool CPythonNetworkStream::RecvDefaultPacket(int header)
|
|||||||
if (!header)
|
if (!header)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
TraceError("ó<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ŷ <20><><EFBFBD><EFBFBD> %d, state %s\n", header, m_strPhase.c_str());
|
TraceError("ó<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>Ŷ <20><><EFBFBD> %d, state %s\n", header, m_strPhase.c_str());
|
||||||
ClearRecvBuffer();
|
ClearRecvBuffer();
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -42,10 +42,6 @@ bool __IS_TEST_SERVER_MODE__=false;
|
|||||||
|
|
||||||
extern bool SetDefaultCodePage(DWORD codePage);
|
extern bool SetDefaultCodePage(DWORD codePage);
|
||||||
|
|
||||||
#ifdef USE_OPENID
|
|
||||||
extern int openid_test;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static const char* sc_apszPythonLibraryFilenames[] =
|
static const char* sc_apszPythonLibraryFilenames[] =
|
||||||
|
|
||||||
{
|
{
|
||||||
@ -239,20 +235,20 @@ bool PackInitialize(const char * c_pszFolder)
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef _DISTRIBUTE
|
#ifdef _DISTRIBUTE
|
||||||
Tracef("<EFBFBD>˸<EFBFBD>: <20><> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<EFBFBD>.\n");
|
Tracef("<EFBFBD>˸<EFBFBD>: <20><> <20><><EFBFBD><EFBFBD>Դϴ<D4B4>.\n");
|
||||||
|
|
||||||
//if (0 == strPackType.compare("FILE"))
|
//if (0 == strPackType.compare("FILE"))
|
||||||
//{
|
//{
|
||||||
// bPackFirst = FALSE;
|
// bPackFirst = FALSE;
|
||||||
// Tracef("<22>˸<EFBFBD>: <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<EFBFBD>.\n");
|
// Tracef("<22>˸<EFBFBD>: <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Դϴ<D4B4>.\n");
|
||||||
//}
|
//}
|
||||||
//else
|
//else
|
||||||
//{
|
//{
|
||||||
// Tracef("<22>˸<EFBFBD>: <20><> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<EFBFBD>.\n");
|
// Tracef("<22>˸<EFBFBD>: <20><> <20><><EFBFBD><EFBFBD>Դϴ<D4B4>.\n");
|
||||||
//}
|
//}
|
||||||
#else
|
#else
|
||||||
bPackFirst = FALSE;
|
bPackFirst = FALSE;
|
||||||
Tracef("<EFBFBD>˸<EFBFBD>: <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>Դϴ<EFBFBD>.\n");
|
Tracef("<EFBFBD>˸<EFBFBD>: <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Դϴ<D4B4>.\n");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
CTextFileLoader::SetCacheMode();
|
CTextFileLoader::SetCacheMode();
|
||||||
@ -262,7 +258,7 @@ bool PackInitialize(const char * c_pszFolder)
|
|||||||
CEterPackManager::Instance().SetCacheMode();
|
CEterPackManager::Instance().SetCacheMode();
|
||||||
CEterPackManager::Instance().SetSearchMode(bPackFirst);
|
CEterPackManager::Instance().SetSearchMode(bPackFirst);
|
||||||
|
|
||||||
CSoundData::SetPackMode(); // Miles <20><><EFBFBD><EFBFBD> <20>ݹ<EFBFBD><DDB9><EFBFBD> <20><><EFBFBD><EFBFBD>
|
CSoundData::SetPackMode(); // Miles <20><><EFBFBD><EFBFBD> <20>ݹ<EFBFBD><DDB9><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
std::string strPackName, strTexCachePackName;
|
std::string strPackName, strTexCachePackName;
|
||||||
for (DWORD i = 1; i < TextLoader.GetLineCount() - 1; i += 2)
|
for (DWORD i = 1; i < TextLoader.GetLineCount() - 1; i += 2)
|
||||||
@ -353,7 +349,7 @@ bool RunMainScript(CPythonLauncher& pyLauncher, const char* lpCmdLine)
|
|||||||
SplitLine(lpCmdLine,seperator,&stVec);
|
SplitLine(lpCmdLine,seperator,&stVec);
|
||||||
if (CmdSize == stVec.size() && stVec[0]==loginMark)
|
if (CmdSize == stVec.size() && stVec[0]==loginMark)
|
||||||
{
|
{
|
||||||
char buf[MAX_PATH]; //TODO <20>Ʒ<EFBFBD> <20>Լ<EFBFBD> string <20><><EFBFBD>·<EFBFBD> <20><><EFBFBD><EFBFBD>
|
char buf[MAX_PATH]; //TODO <20>Ʒ<EFBFBD> <20>Լ<EFBFBD> string <20><><EFBFBD>·<EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
base64_decode(stVec[2].c_str(),buf);
|
base64_decode(stVec[2].c_str(),buf);
|
||||||
stVec[2] = buf;
|
stVec[2] = buf;
|
||||||
string_join(seperator,stVec,&stCmdLine);
|
string_join(seperator,stVec,&stCmdLine);
|
||||||
@ -462,12 +458,12 @@ bool Main(HINSTANCE hInstance, LPSTR lpCmdLine)
|
|||||||
|
|
||||||
if (pyLauncher.Create())
|
if (pyLauncher.Create())
|
||||||
{
|
{
|
||||||
ret=RunMainScript(pyLauncher, lpCmdLine); //<2F><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>߿<EFBFBD> <20>Լ<EFBFBD><D4BC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ´<CAB4>.
|
ret=RunMainScript(pyLauncher, lpCmdLine); //<2F><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>߿<EFBFBD> <20>Լ<EFBFBD><D4BC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʴ´<CAB4>.
|
||||||
}
|
}
|
||||||
|
|
||||||
//ProcessScanner_ReleaseQuitEvent();
|
//ProcessScanner_ReleaseQuitEvent();
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
//<2F><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>.
|
||||||
app->Clear();
|
app->Clear();
|
||||||
|
|
||||||
timeEndPeriod(1);
|
timeEndPeriod(1);
|
||||||
@ -537,20 +533,6 @@ bool __IsLocaleVersion(LPSTR lpCmdLine)
|
|||||||
return (strcmp(lpCmdLine, "--perforce-revision") == 0);
|
return (strcmp(lpCmdLine, "--perforce-revision") == 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef USE_OPENID
|
|
||||||
//2012.07.16 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
//<2F>Ϻ<EFBFBD> OpenID <20><><EFBFBD><EFBFBD>. <20><><EFBFBD><EFBFBD>Ű <20><><EFBFBD><EFBFBD> <20>߰<EFBFBD>
|
|
||||||
bool __IsOpenIDAuthKeyOption(LPSTR lpCmdLine)
|
|
||||||
{
|
|
||||||
return (strcmp(lpCmdLine, "--openid-authkey") == 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool __IsOpenIDTestOption(LPSTR lpCmdLine) //Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ<EFBFBD><C6AE><EFBFBD><EFBFBD> <20>α<EFBFBD><CEB1><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>.
|
|
||||||
{
|
|
||||||
return (strcmp(lpCmdLine, "--openid-test") == 0);
|
|
||||||
}
|
|
||||||
#endif /* USE_OPENID */
|
|
||||||
|
|
||||||
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
|
int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
|
||||||
{
|
{
|
||||||
if (strstr(lpCmdLine, "--hackshield") != 0)
|
if (strstr(lpCmdLine, "--hackshield") != 0)
|
||||||
@ -567,14 +549,13 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLi
|
|||||||
SetDefaultCodePage(LocaleService_GetCodePage());
|
SetDefaultCodePage(LocaleService_GetCodePage());
|
||||||
|
|
||||||
bool bQuit = false;
|
bool bQuit = false;
|
||||||
bool bAuthKeyChecked = false; //OpenID <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>Ű<EFBFBD><C5B0> <20><><EFBFBD><EFBFBD><EFBFBD>Դ<EFBFBD><D4B4><EFBFBD> <20>˱<EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>.
|
|
||||||
int nArgc = 0;
|
int nArgc = 0;
|
||||||
PCHAR* szArgv = CommandLineToArgv( lpCmdLine, &nArgc );
|
PCHAR* szArgv = CommandLineToArgv( lpCmdLine, &nArgc );
|
||||||
|
|
||||||
for( int i=0; i < nArgc; i++ ) {
|
for( int i=0; i < nArgc; i++ ) {
|
||||||
if(szArgv[i] == 0)
|
if(szArgv[i] == 0)
|
||||||
continue;
|
continue;
|
||||||
if (__IsLocaleVersion(szArgv[i])) // #0000829: [M2EU] <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʵ<EFBFBD><CAB5><EFBFBD> <20><><EFBFBD><EFBFBD>
|
if (__IsLocaleVersion(szArgv[i])) // #0000829: [M2EU] <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>ʵ<EFBFBD><CAB5><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
{
|
{
|
||||||
char szModuleName[MAX_PATH];
|
char szModuleName[MAX_PATH];
|
||||||
char szVersionPath[MAX_PATH];
|
char szVersionPath[MAX_PATH];
|
||||||
@ -601,7 +582,7 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLi
|
|||||||
bQuit = true;
|
bQuit = true;
|
||||||
} else if ((strcmp(szArgv[i], "--force-set-locale") == 0))
|
} else if ((strcmp(szArgv[i], "--force-set-locale") == 0))
|
||||||
{
|
{
|
||||||
// locale <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ڰ<EFBFBD> <20><> <20><> <20><> <20>ʿ<EFBFBD><CABF><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ī, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>)
|
// locale <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ڰ<EFBFBD> <20><> <20><> <20><> <20>ʿ<EFBFBD><CABF><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>Ī, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>)
|
||||||
if (nArgc <= i + 2)
|
if (nArgc <= i + 2)
|
||||||
{
|
{
|
||||||
MessageBox(NULL, "Invalid arguments", ApplicationStringTable_GetStringz(IDS_APP_NAME, "APP_NAME"), MB_ICONSTOP);
|
MessageBox(NULL, "Invalid arguments", ApplicationStringTable_GetStringz(IDS_APP_NAME, "APP_NAME"), MB_ICONSTOP);
|
||||||
@ -613,49 +594,13 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLi
|
|||||||
|
|
||||||
LocaleService_ForceSetLocale(localeName, localePath);
|
LocaleService_ForceSetLocale(localeName, localePath);
|
||||||
}
|
}
|
||||||
#ifdef USE_OPENID
|
|
||||||
else if (__IsOpenIDAuthKeyOption(szArgv[i])) //2012.07.16 OpenID : <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
{
|
|
||||||
// <20><><EFBFBD><EFBFBD>Ű <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ڰ<EFBFBD> <20><> <20><> <20><> <20>ʿ<EFBFBD><CABF><EFBFBD> (<28><><EFBFBD><EFBFBD>Ű)
|
|
||||||
if (nArgc <= i + 1)
|
|
||||||
{
|
|
||||||
MessageBox(NULL, "Invalid arguments", ApplicationStringTable_GetStringz(IDS_APP_NAME, "APP_NAME"), MB_ICONSTOP);
|
|
||||||
goto Clean;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
const char* authKey = szArgv[++i];
|
|
||||||
|
|
||||||
//ongoing (2012.07.16)
|
|
||||||
//<2F><><EFBFBD><EFBFBD>Ű <20><><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <20>κ<EFBFBD>
|
|
||||||
LocaleService_SetOpenIDAuthKey(authKey);
|
|
||||||
|
|
||||||
bAuthKeyChecked = true;
|
|
||||||
}
|
|
||||||
else if (__IsOpenIDTestOption(szArgv[i]))
|
|
||||||
{
|
|
||||||
openid_test = 1;
|
|
||||||
|
|
||||||
}
|
|
||||||
#endif /* USE_OPENID */
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef USE_OPENID
|
|
||||||
//OpenID
|
|
||||||
//OpenID Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ<EFBFBD><C6AE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ű<EFBFBD><C5B0> <20>ƿ<DEBE><C6BF><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> <20><><EFBFBD><EFBFBD> <20><>) Ŭ<><C5AC><EFBFBD>̾<EFBFBD>Ʈ <20><><EFBFBD><EFBFBD>.
|
|
||||||
|
|
||||||
if (false == bAuthKeyChecked && !openid_test)
|
|
||||||
{
|
|
||||||
MessageBox(NULL, "Invalid execution", ApplicationStringTable_GetStringz(IDS_APP_NAME, "APP_NAME"), MB_ICONSTOP);
|
|
||||||
goto Clean;
|
|
||||||
}
|
|
||||||
#endif /* USE_OPENID */
|
|
||||||
|
|
||||||
|
|
||||||
if(bQuit)
|
if(bQuit)
|
||||||
goto Clean;
|
goto Clean;
|
||||||
|
|
||||||
#if defined(NEEDED_COMMAND_ARGUMENT)
|
#if defined(NEEDED_COMMAND_ARGUMENT)
|
||||||
// <20>ɼ<EFBFBD><C9BC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD>α<CEB1> <20><><EFBFBD><EFBFBD>
|
// <20>ɼ<EFBFBD><C9BC><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD>α<CEB1> <20><><EFBFBD><EFBFBD>
|
||||||
if (strstr(lpCmdLine, NEEDED_COMMAND_ARGUMENT) == 0) {
|
if (strstr(lpCmdLine, NEEDED_COMMAND_ARGUMENT) == 0) {
|
||||||
MessageBox(NULL, ApplicationStringTable_GetStringz(IDS_ERR_MUST_LAUNCH_FROM_PATCHER, "ERR_MUST_LAUNCH_FROM_PATCHER"), ApplicationStringTable_GetStringz(IDS_APP_NAME, "APP_NAME"), MB_ICONSTOP);
|
MessageBox(NULL, ApplicationStringTable_GetStringz(IDS_ERR_MUST_LAUNCH_FROM_PATCHER, "ERR_MUST_LAUNCH_FROM_PATCHER"), ApplicationStringTable_GetStringz(IDS_APP_NAME, "APP_NAME"), MB_ICONSTOP);
|
||||||
goto Clean;
|
goto Clean;
|
||||||
@ -713,7 +658,7 @@ static void GrannyError(granny_log_message_type Type,
|
|||||||
int Setup(LPSTR lpCmdLine)
|
int Setup(LPSTR lpCmdLine)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* Ÿ<≯<EFBFBD> <20><><EFBFBD>е<EFBFBD><D0B5><EFBFBD> <20>ø<EFBFBD><C3B8><EFBFBD>.
|
* Ÿ<≯<EFBFBD> <20><><EFBFBD>е<EFBFBD><D0B5><EFBFBD> <20>ø<EFBFBD><C3B8><EFBFBD>.
|
||||||
*/
|
*/
|
||||||
TIMECAPS tc;
|
TIMECAPS tc;
|
||||||
UINT wTimerRes;
|
UINT wTimerRes;
|
||||||
@ -725,7 +670,7 @@ int Setup(LPSTR lpCmdLine)
|
|||||||
timeBeginPeriod(wTimerRes);
|
timeBeginPeriod(wTimerRes);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* <09><EFBFBD><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ڵ鸵
|
* <09><EFBFBD><D7B7><EFBFBD> <20><><EFBFBD><EFBFBD> <20>ڵ鸵
|
||||||
*/
|
*/
|
||||||
|
|
||||||
granny_log_callback Callback;
|
granny_log_callback Callback;
|
||||||
|
Reference in New Issue
Block a user