From 338036a07c476cb4258b427449e4474521285543 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Ritzl?= Date: Wed, 16 Sep 2020 07:57:34 +0200 Subject: [PATCH] Issue 25 submit score bug (#27) * Log score * Cast to long after going from C to Java * Removed logging --- gpgs/src/gpgs_extension.cpp | 10 +++++----- gpgs/src/java/com/defold/gpgs/GpgsJNI.java | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/gpgs/src/gpgs_extension.cpp b/gpgs/src/gpgs_extension.cpp index c0f131f..f2ca406 100644 --- a/gpgs/src/gpgs_extension.cpp +++ b/gpgs/src/gpgs_extension.cpp @@ -199,13 +199,13 @@ static void CallVoidMethodCharIntIntInt(jobject instance, jmethodID method, cons env->DeleteLocalRef(jstr); } -// void method(char*, long) -static void CallVoidMethodCharLong(jobject instance, jmethodID method, const char* cstr, long l) +// void method(char*, double) +static void CallVoidMethodCharDouble(jobject instance, jmethodID method, const char* cstr, double d) { ThreadAttacher attacher; JNIEnv *env = attacher.env; jstring jstr = env->NewStringUTF(cstr); - env->CallVoidMethod(instance, method, jstr, l); + env->CallVoidMethod(instance, method, jstr, d); env->DeleteLocalRef(jstr); } @@ -645,7 +645,7 @@ static int GpgsLeaderboard_SubmitScore(lua_State* L) const char* leaderboardId = luaL_checkstring(L, 1); lua_Number score = luaL_checknumber(L, 2); - CallVoidMethodCharLong(g_gpgs.m_GpgsJNI, g_gpgs_leaderboard.m_SubmitScore, leaderboardId, score); + CallVoidMethodCharDouble(g_gpgs.m_GpgsJNI, g_gpgs_leaderboard.m_SubmitScore, leaderboardId, score); return 0; } @@ -895,7 +895,7 @@ static void InitJNIMethods(JNIEnv* env, jclass cls) g_gpgs_achievement.m_GetAchievements = env->GetMethodID(cls, "getAchievements", "()V"); //leaderboard - g_gpgs_leaderboard.m_SubmitScore = env->GetMethodID(cls, "submitScore", "(Ljava/lang/String;J)V"); + g_gpgs_leaderboard.m_SubmitScore = env->GetMethodID(cls, "submitScore", "(Ljava/lang/String;D)V"); g_gpgs_leaderboard.m_LoadTopScores = env->GetMethodID(cls, "loadTopScores", "(Ljava/lang/String;III)V"); g_gpgs_leaderboard.m_LoadPlayerCenteredScores = env->GetMethodID(cls, "loadPlayerCenteredScores", "(Ljava/lang/String;III)V"); g_gpgs_leaderboard.m_ShowLeaderboard = env->GetMethodID(cls, "showLeaderboard", "(Ljava/lang/String;II)V"); diff --git a/gpgs/src/java/com/defold/gpgs/GpgsJNI.java b/gpgs/src/java/com/defold/gpgs/GpgsJNI.java index 51815a0..b39fc31 100644 --- a/gpgs/src/java/com/defold/gpgs/GpgsJNI.java +++ b/gpgs/src/java/com/defold/gpgs/GpgsJNI.java @@ -611,9 +611,9 @@ private boolean initLeaderboards() { return true; } - public void submitScore(String leaderboardId, long score) { + public void submitScore(String leaderboardId, double score) { if(initLeaderboards()) { - mLeaderboardsClient.submitScore(leaderboardId, score); + mLeaderboardsClient.submitScore(leaderboardId, (long)score); } }