[Scummvm-git-logs] scummvm master -> 9904732517adccf58a80c41efd88fa543a5c5bee
sev-
sev at scummvm.org
Thu Oct 24 18:41:02 CEST 2019
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
ec121da075 SCUMM HE: Set server prefix as variable
9904732517 SCUMM HE: Initial code for add user functionality
Commit: ec121da0753259e83bd5219d529a2bdc26ba2d19
https://github.com/scummvm/scummvm/commit/ec121da0753259e83bd5219d529a2bdc26ba2d19
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2019-10-24T18:08:54+02:00
Commit Message:
SCUMM HE: Set server prefix as variable
Changed paths:
engines/scumm/he/moonbase/net_main.cpp
engines/scumm/he/moonbase/net_main.h
diff --git a/engines/scumm/he/moonbase/net_main.cpp b/engines/scumm/he/moonbase/net_main.cpp
index a2d76fe..b0a58b9 100644
--- a/engines/scumm/he/moonbase/net_main.cpp
+++ b/engines/scumm/he/moonbase/net_main.cpp
@@ -37,6 +37,8 @@ Net::Net(ScummEngine_v100he *vm) : _latencyTime(1), _fakeLatency(false), _vm(vm)
_lastResult = 0;
_sessionid = -1;
+
+ _serverprefix = "http://localhost/moonbase";
}
Net::~Net() {
@@ -94,7 +96,7 @@ int Net::whoAmI() {
int Net::createSession(char *name) {
warning("STUB: Net::createSession(\"%s\")", name); // PN_CreateSession
- Networking::PostRequest rq("http://localhost/moonbase/createsession",
+ Networking::PostRequest rq(_serverprefix + "/createsession",
new Common::Callback<Net, Common::JSONValue *>(this, &Net::startQuerySessionsCallback),
new Common::Callback<Net, Networking::ErrorResponse>(this, &Net::startQuerySessionsErrorCallback));
@@ -185,7 +187,7 @@ bool Net::destroyPlayer(int32 playerDPID) {
int32 Net::startQuerySessions() {
warning("STUB: Net::startQuerySessions()"); // StartQuerySessions
- Networking::PostRequest rq("http://localhost/moonbase/lobbies",
+ Networking::PostRequest rq(_serverprefix + "/lobbies",
new Common::Callback<Net, Common::JSONValue *>(this, &Net::startQuerySessionsCallback),
new Common::Callback<Net, Networking::ErrorResponse>(this, &Net::startQuerySessionsErrorCallback));
diff --git a/engines/scumm/he/moonbase/net_main.h b/engines/scumm/he/moonbase/net_main.h
index 2a399d3..757fa1b 100644
--- a/engines/scumm/he/moonbase/net_main.h
+++ b/engines/scumm/he/moonbase/net_main.h
@@ -103,6 +103,8 @@ public:
int _lastResult;
int _sessionid;
+
+ Common::String _serverprefix;
};
} // End of namespace Scumm
Commit: 9904732517adccf58a80c41efd88fa543a5c5bee
https://github.com/scummvm/scummvm/commit/9904732517adccf58a80c41efd88fa543a5c5bee
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2019-10-24T18:38:49+02:00
Commit Message:
SCUMM HE: Initial code for add user functionality
Changed paths:
engines/scumm/he/moonbase/net_main.cpp
engines/scumm/he/moonbase/net_main.h
diff --git a/engines/scumm/he/moonbase/net_main.cpp b/engines/scumm/he/moonbase/net_main.cpp
index b0a58b9..0c40502 100644
--- a/engines/scumm/he/moonbase/net_main.cpp
+++ b/engines/scumm/he/moonbase/net_main.cpp
@@ -72,12 +72,41 @@ int Net::joinGame(char *IP, char *userName) {
int Net::addUser(char *shortName, char *longName) {
warning("STUB: Net::addUser(\"%s\", \"%s\")", shortName, longName); // PN_AddUser
- _myUserId = _vm->_rnd.getRandomNumber(1000000);
+ Networking::PostRequest rq(_serverprefix + "/adduser",
+ new Common::Callback<Net, Common::JSONValue *>(this, &Net::addUserCallback),
+ new Common::Callback<Net, Networking::ErrorResponse>(this, &Net::addUserErrorCallback));
+
+ snprintf((char *)_tmpbuffer, MAX_PACKET_SIZE, "{\"shortname\":\"%s\",\"longname\":\"%s\",\"sessionid\":%d}", shortName, longName, _sessionid);
+ rq.setPostData(_tmpbuffer, strlen((char *)_tmpbuffer));
+ rq.setContentType("application/json");
+
+ rq.start();
+
+ _myUserId = -1;
+
+ while(rq.state() == Networking::PROCESSING) {
+ g_system->delayMillis(5);
+ }
+
+ if (_myUserId == -1)
+ return 0;
- // FAKE successful add. FIXME
return 1;
}
+void Net::addUserCallback(Common::JSONValue *response) {
+ Common::JSONObject info = response->asObject();
+
+ if (info.contains("userid")) {
+ _myUserId = info["userid"]->asIntegerNumber();
+ }
+ debug(1, "addUserCallback: got: '%s' as %d", response->stringify().c_str(), _myUserId);
+}
+
+void Net::addUserErrorCallback(Networking::ErrorResponse error) {
+ warning("Error in addUser(): %ld %s", error.httpResponseCode, error.response.c_str());
+}
+
int Net::removeUser() {
warning("STUB: Net::removeUser()"); // PN_RemoveUser
return 0;
@@ -94,11 +123,11 @@ int Net::whoAmI() {
}
int Net::createSession(char *name) {
- warning("STUB: Net::createSession(\"%s\")", name); // PN_CreateSession
+ debug(1, "Net::createSession(\"%s\")", name); // PN_CreateSession
Networking::PostRequest rq(_serverprefix + "/createsession",
- new Common::Callback<Net, Common::JSONValue *>(this, &Net::startQuerySessionsCallback),
- new Common::Callback<Net, Networking::ErrorResponse>(this, &Net::startQuerySessionsErrorCallback));
+ new Common::Callback<Net, Common::JSONValue *>(this, &Net::createSessionCallback),
+ new Common::Callback<Net, Networking::ErrorResponse>(this, &Net::createSessionErrorCallback));
snprintf((char *)_tmpbuffer, MAX_PACKET_SIZE, "{\"name\":\"%s\"}", name);
rq.setPostData(_tmpbuffer, strlen((char *)_tmpbuffer));
@@ -124,7 +153,7 @@ void Net::createSessionCallback(Common::JSONValue *response) {
if (info.contains("sessionid")) {
_sessionid = info["sessionid"]->asIntegerNumber();
}
- warning("Got: '%s' as %d", response->stringify().c_str(), _sessionid);
+ debug(1, "createSessionCallback: got: '%s' as %d", response->stringify().c_str(), _sessionid);
}
void Net::createSessionErrorCallback(Networking::ErrorResponse error) {
@@ -202,7 +231,7 @@ int32 Net::startQuerySessions() {
}
void Net::startQuerySessionsCallback(Common::JSONValue *response) {
- warning("Got: '%s'", response->stringify().c_str());
+ warning("startQuerySessions: Got: '%s'", response->stringify().c_str());
}
void Net::startQuerySessionsErrorCallback(Networking::ErrorResponse error) {
diff --git a/engines/scumm/he/moonbase/net_main.h b/engines/scumm/he/moonbase/net_main.h
index 757fa1b..af71398 100644
--- a/engines/scumm/he/moonbase/net_main.h
+++ b/engines/scumm/he/moonbase/net_main.h
@@ -77,6 +77,9 @@ private:
void startQuerySessionsCallback(Common::JSONValue *response);
void startQuerySessionsErrorCallback(Networking::ErrorResponse error);
+ void addUserCallback(Common::JSONValue *response);
+ void addUserErrorCallback(Networking::ErrorResponse error);
+
public:
//getters
bool getHostName(char *hostname, int length);
More information about the Scummvm-git-logs
mailing list