126 Commits

Author SHA1 Message Date
Loic Blot
1a3effa461 Android: update build tools version + versionCode bump for release 2017-06-03 19:36:17 +02:00
Loïc Blot
9bdb8cec77 Android dependencies updates (#5755)
* irrlicht ogles 5122 -> 5145
* openssl 1.0.2j -> 1.0.2k
* curl 7.52 -> 7.54
* sqlite 3.15.2 -> 3.18.0
2017-05-13 13:32:59 +02:00
Loïc Blot
614a14c624 Move KeyList & InputHandler from game.h to client/inputhandler.h (#5752)
* Move KeyList & InputHandler from game.h to client/inputhandler.h

We have a header for inputs, move inputhandler class & related keylist object to it

Also introduce a cpp file for MyEventReceiver::OnEvent function in inputhandler.h because a so huge function doesn't needs to be inlined

* Pass clang-format on inputhandler.{cpp,h} (compatible)
2017-05-13 11:05:16 +02:00
ShadowNinja
35d2f88f51 Clean up numeric.h and split FacePositionCache from it
I also optiized FacePositionCache a bit: I removed a map
lookup and vector copy from both branches of getFacePosition.
2017-05-06 16:09:45 -04:00
bigfoot547
4a0dcb8788 [CSM] Add camera API (#5609)
* [CSM] Add camera API
roper rebase & squash

* Address nerzhul's review
2017-05-05 22:07:36 +02:00
Loic Blot
ab2ce07b5b Fix Android build since 2818d3f2244d2146a5cdb61cd41f6561c514f97c 2017-04-26 21:11:46 +02:00
Loïc Blot
799890d946 Player data to Database (#5475)
* Player data to Database

Add player data into databases (SQLite3 & PG only)

PostgreSQL & SQLite: better POO Design for databases

Add --migrate-players argument to server + deprecation warning

* Remove players directory if empty
2017-04-23 14:35:08 +02:00
Perttu Ahola
f508f5fc3d MeshUpdateQueue: Add a MapBlock cache that minimizes the amount of MapBlock copying done in the main thread
Cache size is configurable by the meshgen_block_cache_size (default 20 MB).

New profiler stats:
- MeshUpdateQueue MapBlock cache hit %
- MeshUpdateQueue MapBlock cache size kB

Removes one type of stutter that was seen on the client when received MapBlocks
were being handled. (the "MeshMakeData::fill" stutter)

Kind of related to at least #5239

Originally preceded by these commits, now includes them:
- Move the mesh generator thread into src/mesh_generator_thread.{cpp,h}
- mesh_generator_thread.cpp: Update code style
- MeshUpdateThread: Modify interface to house a different implementation: Actual functionality will be changed by next commits.
- MeshMakeData: Add fillBlockData() interface (so that caller can fill in stuff from eg. a MapBlock cache)
2017-04-17 14:58:29 +03:00
Nathanaël Courant
7f6fbdcf89 Disable android leveldb by default (#5596)
1) Now leveldb is brick (thanks google)
2) By default, use SQLite3, this work perfectly and NOBODY not use LevelDB on Android :)
2017-04-16 09:48:48 +02:00
Loic Blot
f887056746 Fix android build 2017-04-14 09:26:11 +02:00
Loïc Blot
8bdbc6cff8 Update embedded jsoncpp from unk version to 0.10.6 + move libs to lib/ instead of src/ (#5473)
* Update embedded jsoncpp from unk version to 0.10.6

0.10.6 is last release without c++11

* Make jsoncpp more compliant with its amalgamate

Jsoncpp cpp file should be upper, make the library like it does in amalgamate

* Reorganization: move minetest embedded libs outside of source tree to /lib

* Fix a dead grep in LINT
2017-04-02 10:51:50 +02:00
Uwe Koloska
7c657b0a4d Add missing source to android build (#5496) 2017-04-01 16:47:58 +02:00
Wayward One
2e8fdb3ca2 Fix undefined references (#5400) 2017-03-15 15:42:47 +01:00
Loic Blot
32685de854 Fix android build
This fixes #5190
2017-02-08 07:47:56 +01:00
rubenwardy
8441029477 Add ItemStack key-value meta storage 2017-02-04 22:07:55 +00:00
rubenwardy
1303719641 Derive NodeMetaRef from MetaDataRef 2017-02-04 22:07:55 +00:00
rubenwardy
22bc72320b Derive NodeMetadata from Metadata 2017-02-04 22:07:55 +00:00
Ner'zhul
14a094c1a2 Environment & IGameDef code refactoring (#4985)
* Environment code refactoring
* Cleanup includes & class declarations in client & server environment to improve build speed
* ServerEnvironment::m_gamedef is now a pointer to Server instead of IGameDef, permitting to cleanup many casts.
* Cleanup IGameDef
  * Move ITextureSource* IGameDef::getTextureSource() to Client only.
  * Also move ITextureSource *IGameDef::tsrc() helper
  * drop getShaderSource, getSceneManager, getSoundManager & getCamera abstract call
  * drop unused emerge() call
  * cleanup server unused functions (mentionned before)
* Drop one unused parameter from ContentFeatures::updateTextures
* move checkLocalPrivilege to Client
* Remove some unnecessary casts
* create_formspec_menu: remove IWritableTextureSource pointer, as client already knows it
* Fix some comments
* Change required IGameDef to Server/Client pointers
* Previous change that game.cpp sometimes calls functions with Client + InventoryManager + IGameDef in same functions but it's the same objects
* Remove duplicate Client pointer in GUIFormSpecMenu::GUIFormSpecMenu
* drop ClientMap::sectorWasDrawn which is unused
2017-01-09 20:39:22 +01:00
Wayward1
6ca8c6a51d Add raycast.cpp and tileanimation.cpp to Android.mk 2017-01-05 08:19:54 +01:00
Ner'zhul
52a4b7d72e Add gradle wrapper (#4954)
Gradle wrapper permit to use multiple gradle versions across OS versions
2016-12-24 12:30:18 +01:00
rubenwardy
4c57f7b440 Update Android build tools to latest version (#4872) 2016-12-24 08:34:19 +01:00
sfan5
4e2d145369 Bump version to 0.4.15 2016-12-22 23:14:17 +01:00
sfan5
f489ae7997 Android: Workarounds for Googles completely broken NDK 2016-12-22 22:17:54 +01:00
est31
9c1da08f3b Android: update curl and libgmp 2016-12-21 14:36:14 +01:00
rubenwardy
fef761a5a2 Fix sqlite databases being read-only on 64bit Android by patching sqlite (#4871)
Fixes #4121
2016-12-09 18:27:36 +01:00
est31
c640dc09ea Android: fix build and update deps 2016-12-07 21:27:07 +01:00
Ner'zhul
19805c12e4 Add missing remoteplayer.cpp to Android build
this should fix #4683
2016-10-28 15:37:19 +02:00
Rogier-5
b74707f896 Fix for failure to find jsoncpp in android build (#4456)
Commit 4503b5 did not update the android build script.
2016-08-19 20:23:30 +02:00
Ner'zhul
871247ac6b Increase android versionCode (#4350)
This little update is due to a packaging problem when uploading on play store. They don't permit to re upload an APK with same version code.
This case was a fail on openssl packaged version which was old and rejected by Google but they don't remove the APK then i should increase the version code to permit having it on play store
2016-07-28 13:13:25 +02:00
kwolekr
7af0dede5f Add MapSettingsManager and new mapgen setting script API functions
This commit refactors the majority of the Mapgen settings system.
- MapgenParams is now owned by MapSettingsManager, itself a part of ServerMap,
  instead of the EmergeManager.
- New Script API functions added:
    core.get_mapgen_setting
    core.get_mapgen_setting_noiseparams,
    core.set_mapgen_setting, and
    core.set_mapgen_setting_noiseparams.
- minetest.get/set_mapgen_params are deprecated by the above new functions.
- It is now possible to view and modify any arbitrary mapgen setting from a mod,
  rather than the base MapgenParams structure.
- MapgenSpecificParams has been removed.
2016-07-03 15:38:36 -04:00
est31
5517a18003 Fix android build
Thanks to @Wayward1 for reporting the bug.

Fixes #4212.
2016-06-11 05:44:55 +02:00
est31
066e74a7d6 Tell irrlicht if we handle a key or not.
We can remove the function in MtNativeActivity now
as it serves precisely that purpose: to tell irrlicht
that we handled the esc key.

TODO for later:
 * Perhaps try to find a more performant container than KeyList
2016-05-26 20:33:33 +02:00
est31
75fbaa403a Android: enable parallelism for main target too
This adds to the changes that commit

98d16e0d9a945f5f48462c05f26ae4bde2db5731 "Android: Tell make about sub-makes to speed up build"

did, and enables parallel builds for minetest
itself as well.
2016-05-16 05:14:25 +01:00
sfan5
234652ad61 Bump version to 0.4.14 2016-05-15 14:49:15 +02:00
est31
d8dce3a2c7 Fix android build by fixing patch line endings 2016-05-14 16:46:46 +02:00
Maksim Gamarnik
bb5caecfc7 Fix locked hardware buttons on Android
Fixes #2122
Fixes #1454

Addendum (est31)
According from its docs in android_native_app_glue.h (from the NDK), the
onInputEvent should "Return 1 if you have handled the event, 0 for any
default dispatching". Before, we always returned 1, meaning we blocked
all hardware keys to be given to the OS.
This broke the volume keys and has caused #2122 and #1454.

Although it bases on lots of guesswork, it can probably safely be said that
CGUIEnvironment::postEventFromUser returns true if the event was handled,
and false if not. Therefore, set the status variable depending on what
postEventFromUser returned.
2016-05-14 23:42:36 +10:00
est31
9b8ff1aebe Android: download deps using https
Its more secure, and some pages even redirect to the https version.
2016-05-12 05:03:15 +02:00
est31
c88b8271d6 Android: update openssl to 1.0.2h 2016-05-12 00:52:29 +02:00
ShadowNinja
9459112457 Upgrade Android build to Gradle build system
The old Ant build system has been deprecated for a while and new development is focused on Gradle.
I also removed a hardcoded string that lint caught and moved the patch files to a subdirectory.
I left the JNI files in the root directory.
2016-04-28 12:28:42 -04:00
Maksim Gamarnik
be391fde1a Android: Update dependencies, GMP was required as a dependency 2016-04-26 10:17:04 +01:00
ShadowNinja
9070fd90d5 Move AreaStore to util 2016-03-07 16:33:20 -05:00
Maksim Gamarnik
7a9fd071c1 Update Android dependencies, -O3 optimization, remove old ARMv5 config
* Update OpenSSL (thanks @sapier, i use his patch!), Curl and SQLite3.
* Remove old arm config. Almost all phones that use ARMv5 have 1 core and 256-512 RAM, it's about 2-5 FPS.
* Do -O3 optimization for libs and remove -fexpensive-optimizations for Minetest (-O3 includes this! Read gcc docs).
* OpenSSL fix - thanks @sapier, again.
2016-03-05 05:52:45 +01:00
est31
afcf1a41d8 Fix android build
Android had a linker error since commit:

31e0667a4a53a238d0321194b57b083bd74c0a5b "Add Lua interface to HTTPFetchRequest"

Fixes #3766. Thanks to @MoNTE48 for reporting the bug.
2016-02-23 01:48:52 +01:00
est31
3768c36612 Android: hardcode leveldb revision
Newest leveldb commit breaks build.
With no fix in sight, there is no other way
than to fall back to the last working leveldb
revision, and hardcode it.

Workaround for upstream bug

https://github.com/google/leveldb/issues/340
2016-02-22 17:46:16 +01:00
est31
7576642868 Fix compilation warning if compiling for android with c++11 2016-01-23 06:26:58 +01:00
Duane Robertson
ab1e7d3f8e Add Valleys mapgen. 2016-01-14 05:04:29 +00:00
Sapier
62bf090411 Android: shorten initial progress bar text way more simple 2015-12-23 21:01:35 +01:00
est31
64072e9590 Android: Tell make about sub-makes to speed up build
Before, sub-makes called by make were called without make knowing they
were sub-makes. This however led make's jobserver not do its tasks,
and the build process ended up with inefficient parralelisation. This
commit fixes this by applying the two ways the make manual tells
about: putting + to the start of the line (used when ndk-build is
invoked), and exchanging "make" with "$(MAKE)".

Before, make complained with messages like:

make[2]: warning: jobserver unavailable: using -j1.  Add `+' to parent make rule.

This complaint can now only been seen for openssl. openssl has issues
if make gets exchanged with $(MAKE): if exchanged, above error message
is multiplied for various subdirs of the openssl source tree.

On a 4 core box, "make -j 4" build time from "make clean_all" cleaned
source tree could be improved from 15:34 minutes to 10:45 minutes.
This means a speedup of 45%.
2015-12-23 06:17:42 +01:00
ShadowNinja
a46a13343c Android: Fix extra files being copied to the APK
dcb91cf0c0c9a20622feeb4e5e8104ffbc9fa8ec hacked around the biggest issue
this caused, but wasted a lot of CPU time and disk space  It also still
included a lot of other unwanted files.  This removes all of `doc/` except
the license, and also removes the server list.
2015-12-20 12:48:55 +01:00
Sapier
253cbc03d3 Android: Remove unused build target curl_binary 2015-12-17 23:00:51 +01:00