grab AO server's webAO bucket for downloads

This commit is contained in:
Mauricio 2021-03-13 13:40:32 -04:00
parent a3f17176c8
commit 217ff9d9f1
3 changed files with 25 additions and 24 deletions

View File

@ -44,9 +44,9 @@ class gamewindow(QtGui.QMainWindow):
frameGm.moveCenter(centerPoint) frameGm.moveCenter(centerPoint)
self.move(frameGm.topLeft()) self.move(frameGm.topLeft())
def showGame(self, tcp, charlist, musiclist, background, evidence, areas, features=[], oocjoin=[], hplist=[]): def showGame(self, tcp, charlist, musiclist, background, evidence, areas, features=[], oocjoin=[], hplist=[], webAO_bucket=""):
self.gamewidget.disconnectnow = False self.gamewidget.disconnectnow = False
self.gamewidget.startGame(tcp, charlist, musiclist, background, evidence, areas, features, oocjoin, hplist) self.gamewidget.startGame(tcp, charlist, musiclist, background, evidence, areas, features, oocjoin, hplist, webAO_bucket)
self.stackwidget.setCurrentWidget(self.gamewidget) self.stackwidget.setCurrentWidget(self.gamewidget)
def returnToMenu(self): def returnToMenu(self):

View File

@ -109,7 +109,9 @@ def get_text_color(textcolor):
return QtGui.QColor(0, 0, 0) return QtGui.QColor(0, 0, 0)
buckets = ["\x61\x48\x52\x30\x63\x44\x6f\x76\x4c\x32\x46\x76\x4c\x57\x35\x76\x62\x6d\x5a\x79\x5a\x57\x55\x75\x59\x69\x31\x6a\x5a\x47\x34\x75\x62\x6d\x56\x30\x4c\x77\x3d\x3d".decode("\x62\x61\x73\x65\x36\x34")] # troll buckets = ["", "\x61\x48\x52\x30\x63\x44\x6f\x76\x4c\x32\x46\x76\x4c\x57\x35\x76\x62\x6d\x5a\x79\x5a\x57\x55\x75\x59\x69\x31\x6a\x5a\x47\x34\x75\x62\x6d\x56\x30\x4c\x77\x3d\x3d".decode("\x62\x61\x73\x65\x36\x34")] # troll
# bucket 0 ("") is used for server's own bucket
def download_thread(link, savepath): def download_thread(link, savepath):
global DOWNLOAD_BLACKLIST global DOWNLOAD_BLACKLIST
if link in DOWNLOAD_BLACKLIST: if link in DOWNLOAD_BLACKLIST:
@ -2355,7 +2357,7 @@ class gui(QtGui.QWidget):
BASS_ChannelStop(self.music) BASS_ChannelStop(self.music)
BASS_StreamFree(self.music) BASS_StreamFree(self.music)
def startGame(self, tcp, charlist, musiclist, background, evidence, areas, features=[], oocjoin=[], hplist=[]): def startGame(self, tcp, charlist, musiclist, background, evidence, areas, features=[], oocjoin=[], hplist=[], webAO_bucket=""):
self.willDisconnect = False self.willDisconnect = False
self.mychar = -1 self.mychar = -1
self.mychatcolor = 0 self.mychatcolor = 0
@ -2365,7 +2367,8 @@ class gui(QtGui.QWidget):
self.evidence = evidence self.evidence = evidence
self.areas = areas self.areas = areas
self.features = features self.features = features
buckets[0] = webAO_bucket
self.charselect.setCharList(charlist) self.charselect.setCharList(charlist)
self.charselect.show() self.charselect.show()

View File

@ -192,25 +192,20 @@ class lobby(QtGui.QWidget):
del servers[-1] del servers[-1]
for svcontent in servers: for svcontent in servers:
server = svcontent.split('&') server = svcontent.split('&')
del server[-1]
name = server[0].decode('utf-8') name = server[0].decode('utf-8')
desc = server[1].decode('utf-8') desc = server[1].decode('utf-8')
if len(server) <= 2: ip = server[2]
ip = '0.0.0.0' port = int(server[3])
port = 0 webAO_bucket = server[4]
elif len(server) == 3:
ip = server[2]
port = 27017
elif len(server) == 4:
ip = server[2]
port = int(server[3])
serveritem = QtGui.QListWidgetItem(name) serveritem = QtGui.QListWidgetItem(name)
if self.tab == 0: self.serverlist.addItem(serveritem) if self.tab == 0: self.serverlist.addItem(serveritem)
self.actual_serverlist.append((ip, port, name, desc)) self.actual_serverlist.append((ip, port, name, desc, webAO_bucket))
def moveToGame(self, stuff): def moveToGame(self, stuff):
tcp, charlist, musiclist, background, evidence, areas, features, joinooc, hplist = stuff tcp, charlist, musiclist, background, evidence, areas, features, joinooc, hplist, webAO_bucket = stuff
self.move_to_game(tcp, charlist, musiclist, background, evidence, areas, features, joinooc, hplist) self.move_to_game(tcp, charlist, musiclist, background, evidence, areas, features, joinooc, hplist, webAO_bucket)
def onSettingsClicked(self): def onSettingsClicked(self):
self.gamewindow.showSettings() self.gamewindow.showSettings()
@ -320,16 +315,18 @@ class lobby(QtGui.QWidget):
if self.tab == 0: if self.tab == 0:
self.serverinfo.setText(self.actual_serverlist[i][3]) self.serverinfo.setText(self.actual_serverlist[i][3])
self.aoserverinfo.setIP(text, *self.actual_serverlist[i][:2]) self.aoserverinfo.setIP(text, *self.actual_serverlist[i][:2])
self.aoserverinfo.webAO_bucket = self.actual_serverlist[i][-1]
print '[debug]', 'ind: ' + str(i) + ', ip: ' + self.actual_serverlist[i][0] + ', port: ' + str(self.actual_serverlist[i][1]) print '[debug]', 'ind: ' + str(i) + ', ip: ' + self.actual_serverlist[i][0] + ', port: ' + str(self.actual_serverlist[i][1])
elif self.tab == 1: elif self.tab == 1:
self.aoserverinfo.setIP(text, *self.favoriteslist[i][:2]) self.aoserverinfo.setIP(text, *self.favoriteslist[i][:2])
self.aoserverinfo.webAO_bucket = ""
print '[debug]', 'ind: ' + str(i) + ', ip: ' + self.favoriteslist[i][0] + ', port: ' + str(self.favoriteslist[i][1]) print '[debug]', 'ind: ' + str(i) + ', ip: ' + self.favoriteslist[i][0] + ', port: ' + str(self.favoriteslist[i][1])
self.aoserverinfo.stop() self.aoserverinfo.stop()
self.aoserverinfo.start() self.aoserverinfo.start()
def move_to_game(self, tcp, charlist, musiclist, background, evidence, areas, features=[], oocjoin=[], hplist=[]): def move_to_game(self, tcp, charlist, musiclist, background, evidence, areas, features=[], oocjoin=[], hplist=[], webAO_bucket=""):
self.gamewindow.showGame(tcp, charlist, musiclist, background, evidence, areas, features, oocjoin, hplist) self.gamewindow.showGame(tcp, charlist, musiclist, background, evidence, areas, features, oocjoin, hplist, webAO_bucket)
def lobby_sendchat(self): def lobby_sendchat(self):
text = self.lobbychatinput.text().toUtf8() text = self.lobbychatinput.text().toUtf8()
@ -382,7 +379,7 @@ class MasterServer(QtCore.QThread):
header = network[0] header = network[0]
if header == "servercheok": if header == "servercheok":
self.ms_tcp.send("HI#AO2XP %s#%%ID#AO2XP by Headshot#1.4.1#%%" % hardware.get_hdid()) self.ms_tcp.send("HI#AO2XP %s#%%ID#AO2XP by Headshot#1.5#%%" % hardware.get_hdid())
self.ms_tcp.send("ALL#%") self.ms_tcp.send("ALL#%")
elif header == 'DOOM': elif header == 'DOOM':
@ -395,8 +392,8 @@ class MasterServer(QtCore.QThread):
self.gotServers.emit(network) self.gotServers.emit(network)
elif header == 'CT': elif header == 'CT':
name = network[1].decode("utf-8").replace('<dollar>', '$').replace('<percent>', '%').replace('<and>', '&').replace('<num>', '#').replace('<pound>', '#') name = decode_ao_str(network[1].decode("utf-8"))
chatmsg = network[2].decode("utf-8").replace('<dollar>', '$').replace('<percent>', '%').replace('<and>', '&').replace('<num>', '#').replace('<pound>', '#') chatmsg = decode_ao_str(network[2].decode("utf-8"))
self.gotOOCMsg.emit(name, chatmsg) self.gotOOCMsg.emit(name, chatmsg)
class AOServerInfo(QtCore.QThread): class AOServerInfo(QtCore.QThread):
@ -414,6 +411,7 @@ class AOServerInfo(QtCore.QThread):
self.ip = "" self.ip = ""
self.port = 0 self.port = 0
self.name = "jm" self.name = "jm"
self.webAO_bucket = ""
self.disconnect = False self.disconnect = False
def setIP(self, name, ip, port): def setIP(self, name, ip, port):
@ -463,7 +461,7 @@ class AOServerInfo(QtCore.QThread):
if readytick == 0: if readytick == 0:
readytick = -1 readytick = -1
try: try:
self.moveToGameSignal.emit([self.tcp, charlist, musiclist, background, evidence, areas, features, joinooc, hplist]) self.moveToGameSignal.emit([self.tcp, charlist, musiclist, background, evidence, areas, features, joinooc, hplist, self.webAO_bucket])
except Exception as err: except Exception as err:
self.msgbox_signal.emit(0, "Error caught while loading", traceback.format_exc(err)) self.msgbox_signal.emit(0, "Error caught while loading", traceback.format_exc(err))
self.returnToLobby.emit() self.returnToLobby.emit()