Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - MK2004

#1
I would only test the Projekt in the "SDL_Calls.zip" from Schranz0r but i get the Errors
#2
Hallo,

I only get these Errors:

*** Configuration: WIN32 ***
precompiling:
GPC - GLBasic Precompiler V.17.312 SN:4369dded - 3D, NET
Wordcount:26 commands
compiling:

linking:
gpc_tempg.o:gpc_tempg.cpp:(.text+0x1ac): undefined reference to `SDL_HapticRumblePlay'
gpc_tempg.o:gpc_tempg.cpp:(.text+0x1b5): undefined reference to `SDL_GetError'
gpc_tempg.o:gpc_tempg.cpp:(.text+0x1df): undefined reference to `SDL_JoystickClose'
gpc_tempg.o:gpc_tempg.cpp:(.text+0x1ec): undefined reference to `SDL_HapticClose'
gpc_tempg.o:gpc_tempg.cpp:(.text+0x267): undefined reference to `SDL_RenderPresent'
gpc_tempg.o:gpc_tempg.cpp:(.text+0x2b5): undefined reference to `SDL_RenderPresent'
gpc_tempg.o:gpc_tempg.cpp:(.text+0x317): undefined reference to `SDL_RenderClear'
gpc_tempg.o:gpc_tempg.cpp:(.text+0x365): undefined reference to `SDL_RenderClear'
gpc_tempg.o:gpc_tempg.cpp:(.text+0x43b): undefined reference to `SDL_SetRenderDrawColor'
gpc_tempg.o:gpc_tempg.cpp:(.text+0x913): undefined reference to `SDL_PollEvent'
gpc_tempg.o:gpc_tempg.cpp:(.text+0xbb0): undefined reference to `SDL_InitSubSystem'
gpc_tempg.o:gpc_tempg.cpp:(.text+0xbbc): undefined reference to `SDL_InitSubSystem'
gpc_tempg.o:gpc_tempg.cpp:(.text+0xbc8): undefined reference to `SDL_InitSubSystem'
gpc_tempg.o:gpc_tempg.cpp:(.text+0xbd5): undefined reference to `SDL_CreateWindowFrom'
gpc_tempg.o:gpc_tempg.cpp:(.text+0xbf7): undefined reference to `SDL_CreateRenderer'
gpc_tempg.o:gpc_tempg.cpp:(.text+0xc0b): undefined reference to `SDL_SetWindowTitle'
gpc_tempg.o:gpc_tempg.cpp:(.text+0xc62): undefined reference to `SDL_JoystickOpen'
gpc_tempg.o:gpc_tempg.cpp:(.text+0xc80): undefined reference to `SDL_HapticOpenFromJoystick'
gpc_tempg.o:gpc_tempg.cpp:(.text+0xc9e): undefined reference to `SDL_NumHaptics'
gpc_tempg.o:gpc_tempg.cpp:(.text+0xcbb): undefined reference to `SDL_JoystickIsHaptic'
gpc_tempg.o:gpc_tempg.cpp:(.text+0xcd8): undefined reference to `SDL_HapticRumbleInit'
gpc_tempg.o:gpc_tempg.cpp:(.text+0xcf1): undefined reference to `SDL_GetError'
gpc_tempg.o:gpc_tempg.cpp:(.text+0xd1d): undefined reference to `SDL_GetError'
gpc_tempg.o:gpc_tempg.cpp:(.text+0xd5f): undefined reference to `SDL_CreateWindowAndRenderer'
gpc_tempg.o:gpc_tempg.cpp:(.text+0xd7b): undefined reference to `SDL_SetWindowTitle'
D:/Program Files (x86)/Steam/steamapps/common/GLBasic_SDK/Compiler/platform/Win32/bin/ld.exe: .rsrc merge failure: duplicate leaf: type: 10 (VERSION) name: 1 lang: 409
collect2.exe: error: ld returned 1 exit status
*** FATAL ERROR - Bitte die Compiler-Ausgabe ins Forum kopieren
#3
Thank you very much, now it works on my system.
#4
Hallo MrPlow, please can you upload your "older Jni" Folder as a zip File.
#5
Hallo, here is it.
#6
Would you post the GLBasic code please?
#7
Hallo,

I solved the Problem.


First edit the file "AndroidManifest.xml" in the directory
C:\Program Files (x86)\GLBasic\Compiler\platform\android\templateproj\
put in this to activate Vibration permission.
<uses-permission android:name="android.permission.VIBRATE"/>

I used Notepad++



Secondly edit the file "SDLActivity.java" in the directory
C:\Program Files (x86)\GLBasic\Compiler\platform\android\templateproj\src\com\glbasic\test\

I attach my file



Third my GLBasic Code

Code (glbasic) Select


?IFDEF ANDROID
        IMPORT "C" const char* android_JAVACALL(const char* string)
?ENDIF

// The mobile phone vibrates for 1000 milliseclaps
LOCAL v=CallJava$("vibriere:1000")

SLEEP 2000


        FUNCTION CallJava$: Args$
                LOCAL result$
                ?IFDEF ANDROID
                result$=android_JAVACALL(Args$)
                RETURN result$
                ?ENDIF
        ENDFUNCTION




#8
Hallo,

ich habe mein Problem mit der Vibration lösen können aber das ganze ist etwas Kompliziert.


Als erstes muss man in der Datei "AndroidManifest.xml" im Verzeichnis
C:\Program Files (x86)\GLBasic\Compiler\platform\android\templateproj\
folgendes einfügen, um unter Android die Berechtigung für den Zugriff auf die Vibrationsfunktion zu bekommen.
<uses-permission android:name="android.permission.VIBRATE"/>

Ich habe dafür Notepad++ verwendet.



Als zweites habe ich die Datei "SDLActivity.java" bearbeitet im Verzeichnis
C:\Program Files (x86)\GLBasic\Compiler\platform\android\templateproj\src\com\glbasic\test\

Die Änderungen beschreibe ich hier nicht da sich diese an drei verschiedenen Stellen in der Datei befinden.
Wer es genau wissen möchte der öffnet meine Datei mit Notepad++ und sucht nach "vibra" damit findet man alle meine Änderungen.
Die Datei ist im Anhang des Beitrags.



Als drittes ist dann nur noch die Ausführung in GLBasic

Code (glbasic) Select


?IFDEF ANDROID
        IMPORT "C" const char* android_JAVACALL(const char* string)
?ENDIF

// damit vibriert das Handy für 1000 Millisecunden
LOCAL v=CallJava$("vibriere:1000")

SLEEP 2000


        FUNCTION CallJava$: Args$
                LOCAL result$
                ?IFDEF ANDROID
                result$=android_JAVACALL(Args$)
                RETURN result$
                ?ENDIF
        ENDFUNCTION




#9
Hallo,
I want use Vibration in my Android Game, is it possible to use the Vibration with JAVACall?
If this is possibel how should i do this?
#10
Ist es nicht irgendwie möglich die Klasse Vibrator und die Methode Vibrate über INLINE zu implementieren?

https://developer.android.com/reference/android/os/Vibrator#top_of_page

Ich habe das zwar versucht aber ich bekomme es nicht hin da ich mich mit C++ und Java nicht auskenne.
Kann mir da eventuell Jemand helfen?
#11
Ich habe nur versucht die Joysticks abzufragen weil sich FORCEFEEDBACK ja auf die Vibration von Joysticks bezieht.
Ich will erreichen das das Android Handy wenn es Vibration besitzt kurz vibriert wenn ich auf den Touchscreen tippe.
#12
Hallo,

ich versuche gerade ein kleines Spiel für Android zu Programmieren und wollte beim Tippen auf den Touchscreen wenn meine Spielfigur springt den Vibrationsmotor des Handys kurz vibrieren lassen.
Ich habe es mit dem Befehl FORCEFEEDBACK probiert aber ohne Erfolg keines meiner Testgeräte vibriert.
Als Testgeräte habe ich ein Samsung Galaxy S5 mini und ein Galaxy S8.

Über GETNUMJOYSTICKS bekomme ich die Info 2 Joysticks vorhanden.
Über GETJOYNAME$(0) bekomme ich Android accelerometer
und über GETJOYNAME$(1) bekomme ich Gamepad
als Information.

Aber keiner der beiden als Joystick angegebenen Geräte vermag zu vibrieren.

Ich komme da gerade nicht weiter und hoffe deshalb das mir hier Jemand helfen kann.