hedgewars/hwLibrary.pas
branchhedgeroid
changeset 5452 3edc3e3b8cdc
parent 5166 d1eb1560b4d5
child 6025 cac1d5601d7c
--- a/hedgewars/hwLibrary.pas	Mon Jul 18 14:41:08 2011 +0200
+++ b/hedgewars/hwLibrary.pas	Thu Aug 04 17:17:21 2011 +0200
@@ -18,14 +18,45 @@
 
 Library hwLibrary;
 
+{$IFDEF fpc}
+{$MODE delphi}
+{$ENDIF}
+
+{$IFDEF ANDROID}
+    {$MACRO ON}
+    {$DEFINE Java_Prefix := 'Java_org_hedgewars_mobile_EngineProtocol_PascalExports_'}
+{$ENDIF}
+
 // Add all your Pascal units to the "uses" clause below to add them to the program.
 // Mark all Pascal procedures/functions that you wish to call from C/C++/Objective-C code using
 // "cdecl; export;" (see the fpclogo.pas unit for an example), and then add C-declarations for
 // these procedures/functions to the PascalImports.h file (also in the "Pascal Sources" group)
 // to make these functions available in the C/C++/Objective-C source files
 // (add "#include PascalImports.h" near the top of these files if it's not there yet)
-uses PascalExports, hwengine;
-exports Game, HW_versionInfo;
+uses PascalExports, hwengine{$IFDEF ANDROID},jni{$ENDIF};
+exports Game{$IFNDEF ANDROID}, HW_versionInfo{$ENDIF};
+
+function JNI_HW_versionInfoNet(env: PJNIEnv; obj: JObject):JInt;cdecl;
+begin
+    JNI_HW_versionInfoNet := cNetProtoVersion;
+end;
+
+function JNI_HW_versionInfoVersion(env: PJNIEnv; obj: JObject):JString; cdecl;
+begin
+    JNI_HW_versionInfoVersion := env^.NewStringUTF(env, PChar(cVersionString));
+end;
+
+
+{$IFDEF ANDROID}
+    exports
+    JNI_HW_versionInfoNet name Java_Prefix+'HWversionInfoNetProto', 
+    JNI_HW_versionInfoVersion name Java_Prefix+'HWversionInfoVersion', 
+    GenLandPreview name Java_Prefix + 'GenLandPreview',
+    HW_getNumberOfweapons name Java_Prefix + 'HWgetNumberOfWeapons',
+    HW_getMaxNumberOfHogs name Java_Prefix + 'HWgetMaxNumberOfHogs',
+    HW_getMaxNumberOfTeams name Java_Prefix + 'HWgetMaxNumberOfTeams';
+{$ENDIF}
+
 begin
 
 end.