Commit Graph

247 Commits

Author SHA1 Message Date
Loïc Blot
f648fb76ae
Drop genericobject.{cpp,h} (#9629)
* Drop genericobject.{cpp,h}

This file is not for generic object but for ActiveObject message passing.
Put ownership of the various commands to the right objects and cleanup the related code.

* Protect ServerActiveObject::m_messages_out

* typo fix
2020-04-10 19:49:20 +02:00
sfan5
d6ad587ab8 Travis: Build clang jobs with LuaJIT enabled for better coverage 2020-04-08 21:21:53 +02:00
sfan5
fe21aa1f4a Utility script to help with Weblate commit import 2020-04-03 23:26:07 +02:00
sfan5
c6d6358b92 Travis: Correct Linux dependencies so that PostgreSQL is found by CMake 2020-03-28 13:04:15 +01:00
Wuzzy
625b100593
Add comments for translators (#9510)
* Add translator comments for "special" strings

* Add translator comments for some "tricky" strings
2020-03-20 09:41:07 +01:00
sfan5
8546d6089a Update clang-tidy configuration and scripts 2020-03-12 00:10:09 +01:00
sfan5
7908b20dd9 buildbot: Update to newer MinGW gcc 9.2 2020-03-12 00:10:09 +01:00
sfan5
245876cddb Update travis build infrastructure
Ubuntu 14.04 -> 18.04
clang-format, clang-tidy 7 -> 8
clang 3.6 -> 3.9
clang 7 -> 9
2020-03-12 00:10:09 +01:00
Hugues Ross
7ce21788f8
Add animated_image[] formspec element (#9258) 2020-02-15 15:33:18 +00:00
sfan5
2d5e0ce5ba Update some libraries for buildbot 2020-02-12 22:25:36 +01:00
DS
1116918dbb
Formspec: Create a new class for inventorylists (#9287) 2020-02-01 13:55:13 +01:00
Hugues Ross
60544ac56f Add 9-slice background support to button formspec elements (#9290) 2020-01-26 19:35:26 +00:00
Hugues Ross
9284313d17 Refactor to centralize GUIButton styling/rendering code (#9090) 2019-12-09 20:06:51 +00:00
sfan5
02111e4961 Fix clang-tidy and lint travis checks 2019-11-11 14:06:48 +01:00
Paramat
dfd5f7cb10
Silence invalid Clang Format report (#9095) 2019-11-09 03:01:22 +00:00
Pierre-Yves Rollo
72416a6a1f Formspec: add hypertext element 2019-11-03 11:45:33 +01:00
ANAND
3799ffd9d5 Move Quicktune code to util/ (#8871) 2019-09-29 13:41:13 +02:00
sfan5
ac856b20bf Update curl dependency in buildbot 2019-08-05 22:48:13 +02:00
rubenwardy
d1a1c5cbf0 Add custom colorable GUIButton implementation 2019-08-03 19:36:30 +01:00
Paramat
245e628d40
Silence invalid clang format warnings in guiScrollBar.cpp (#8724) 2019-07-31 01:30:17 +01:00
Pierre-Yves Rollo
39c54e13c3 Improve buildbot script
PR created under the employment of EvidenceBKidscode

* Variables to set git repositories urls (allows to build from another repo)
* Variables to set git branch to build from (allows to build from non-master branch)
* Variables to change built name
* Make -j uses the proper number of processors (autodetect)
* Changed toolchain from win32 to adpat it to non-debian distros
2019-06-21 01:46:00 +01:00
Loïc Blot
a6a04c4b5b Update our tooling (Clang 5 -> 7, GCC 7 -> 8)
This change permits to use up-to-date compilers, clang-tidy and
clang-format

It also refactor the tidy/format step to drop the binary selection from
scripts and perform it directly in travis
2019-03-14 12:30:13 +01:00
sfan5
557afdc429 Update a few dependency versions for buildbot (#8319) 2019-03-07 08:17:01 +01:00
Loïc Blot
111f1dc9c5 Revert "Revert CSM particles commit to fix particle spawner bug for 5.0.0 (#8288)"
This reverts commit 01cd63bd3bca0192dab2834faf414b022706a77e.
2019-02-26 08:53:53 +01:00
Paramat
01cd63bd3b
Revert CSM particles commit to fix particle spawner bug for 5.0.0 (#8288)
Reverts 5dab7426451842793b183fbd961ad2ae83c8acbd
"[CSM] Add functions to create particles and particlespawners."
2019-02-26 04:26:25 +00:00
Paramat
20fb04d9fb
Attend to LINT sillyness (#8276) 2019-02-23 02:41:36 +00:00
Jozef Behran
03cc93f489 Fix fake LINT check success (#8092)
The code 'if [ -z ${something} ]; then ... fi' means "if
${something} is an empty string, yell at the command line
about 'binary operator expected' and ignore the body of the
if statement, if ${something} is not an empty string,
the condition is false so ignore the body of the if
statement" which clearly isn't what the author wanted. Fix
it by adding a few quotes around the offending ${something}.
2019-01-12 16:15:42 +01:00
meme
f7cccd4df3 Fix dissector script to work with newer versions of Wireshark (#7957) 2018-12-10 14:47:35 +01:00
Quentin Bazin
5f1cd555cd Move client-specific files to 'src/client' (#7902)
Update Android.mk
Remove 'src/client' from include_directories
2018-11-28 20:01:49 +01:00
stujones11
9519d57017 Make non-formspec modal menus respect gui scale (#7850) 2018-11-26 22:55:24 +01:00
Carles Pastor Badosa
226bf8b870 Add release information to appdata file (#7771) 2018-10-16 21:04:06 +02:00
lhofhansl
94cd2bfeac Revert 6587 - Optimize entity-entity collision (#7539) 2018-07-08 21:30:55 +01:00
Loïc Blot
09eea421a9
Fix release script
client_lua_api.md -> client_lua_api.txt
2018-06-14 19:40:23 +02:00
Loic Blot
fb4e4f048e
Disable clang-tidy when no C/C++ files has been modified. 2018-06-10 18:33:33 +02:00
Loïc Blot
077f231111
[clang-tidy] Promote some performance-* as a coding error (#7194)
* Promote performance-type-promotion-in-math-fn as a coding error
* Promote performance-faster-string-find too (which is not problematic currently)
* Same for performance-implicit-cast-in-loop
* Fix remaining tidy points
2018-04-04 20:49:42 +02:00
Vitaliy
528908a4c3 Optimize entity-entity collision (#6587)
* Add IrrLicht type aliases
* Add hash for IrrLicht vector
* Add object map
2018-04-03 08:23:46 +02:00
SmallJoker
e98fd934ce 'fix' LINT, use InventoryLocation== 2018-04-02 17:18:48 +02:00
Loïc Blot
d88c4e1822
LINT: add clang-tidy step (#6295)
* Implement new travis clang-tidy build step

* This step enable some rules and enforce one rule as error
* This permits to have some C++ quality rules based on clang & clang contributor guidelines

* Fix clang-tidy reported problems on push_back -> emplace_back
2018-04-01 23:57:55 +02:00
Loïc Blot
ce873108aa
Client eventmanager refactor (#7179)
* Drop EventManager from GameDef & do some client cleanups

* EventManager is only used by Client. Don't expose it on Server & GameDef for nothing
* Drop Client::event() in favor of direct calls to getEventManager
* Cleanup some event put from new + put to put(new)
* MtEvent: add Type(u8) enum
* This will enhance event performance & ensure stricter type
* Drop MtEvent::checkIs (unused)

* clang-tidy reported fixes

* Code style

* Move event_manager.h to the client directory as it's only used by client

Add EventManager unittests + switch to unordered_map as order is not important here

Drop a unused function
2018-03-30 18:32:52 +02:00
Loïc Blot
4fd9715876
Cleanup sound manager class (#7158)
* Cleanup sound manager client

* Use some const refs
* Use auto on iterators
* Drop unused parameters
* Move sound_openal.* to client folder
* Move sound.cpp + OnDemandSoundFetcher to client/ folder + reorganize includes properly
2018-03-24 15:45:25 +01:00
red-001
5dab742645 [CSM] Add functions to create particles and particlespawners. (#6072) 2018-01-20 23:31:53 +01:00
red-001
9649e47214 [CSM] Add basic HUD manipulation. (#6067)
* [CSM] Add basic HUD manipulation.

Workaround for on_connect not working right now.
2018-01-20 14:09:58 +01:00
Loïc Blot
7e50529867
Add a build step to test non freetype builds (#6908)
* Add a build step to test non freetype builds
2018-01-12 15:36:54 +01:00
Loic Blot
9146c6a50f Don't recalculate statustext initial color everytime & review fixes 2018-01-05 20:59:30 +01:00
Loic Blot
f40f4143df GameUI refactor (part 7/7): Finish to include profiler things to GameUI
Other changes:
* Add GameUI clarification comment
* Move force_fog_off & disable_camera_update flags from GameUI to Game, it's not UI related
* Properly init GameUI::Flags
* Move toggleChat toggleHud & toggleProfiler to GameUI
* Add gameui.cpp to LINT whitelist
2018-01-05 20:59:30 +01:00
sofar
ca64f564cd Wireshark plugin: Complete all commands. (#6841)
This still leaves plenty of data undecoded, but just having the packet
types all covered 100% for 0.4.16 will make looking at traces a lot
simpler than seeing half the packets show up as unknown.
2017-12-26 14:06:31 +01:00
ezhh
6efb453cdb Lua_api.txt: Remove MT version, fix spelling and clean up
Removes references to MT version in intro section.
Update bump_version.sh to no longer manage version information.
2017-12-01 05:43:30 +00:00
Vitaliy
20a85d76d9 Move files to subdirectories (#6599)
* Move files around
2017-11-08 23:56:20 +01:00
paramat
179476d833 LINT: Add files to whitelist, fix detected indent errors 2017-11-06 12:54:08 +00:00
miqlas
a95e0d1876 Initial Haiku support (#6568)
* Iitial Haiku support
2017-10-30 08:17:43 +01:00
Loïc Blot
17016090e3 Travis: Update clang from 4.0 to 5.0 (#6467)
* Update clang from 4.0 to 5.0
2017-10-09 11:32:06 +02:00
adrido
e6e5fa3bf8
Formspec: textarea with scrollbar improvements
Increase scrollrate depending on fontsize

Scroll on mousewheel

Allow scrolling and marking text on non writable textareas

Update lua api about readonly mode

Show scrollbar if text overflows
2017-10-09 08:11:03 +02:00
Wuzzy
f231112cc4 Make HUD status messages translatable (#5795)
* Make HUD status messages translatable

* Make strings in showStatusTextSimple translatable
2017-09-05 21:57:29 +02:00
Loïc Blot
3cea7a349a Network cleanup (#6310)
* Move Connection threads to dedicated files + various cleanups

* ConnectionReceiveThread::processPacket now uses function pointer table to route MT packet types
* Various code style fixes

* Code style with clang-format

* Various SharedBuffer copy removal

* SharedBuffer cannot be copied anymore using Buffer
* Fix many SharedBuffer copy (thanks to delete operator)
2017-08-25 15:53:56 +02:00
Ekdohibs
b47c19c06f Fix updatepo.sh and run it.
It was broken due to the presence of "µ" utf-8 characters in builtin/profiler/reporter.lua.
2017-08-24 18:44:38 +02:00
Ekdohibs
b24e6433df Add clientside translations. 2017-08-24 17:54:10 +02:00
Loïc Blot
c7160cb629 Network cleanup (#6302)
* Cleanup network headers

* Move peerhandler to a specific header to reduce compilation times
* Move socket.cpp/h to network folder

* More work

* Network code cleanups

* Move socket.{cpp,h} to network folder
* Move Address object to network/address.{cpp,h}
* Move network exceptions to network/networkexceptions.h
* Client: use unique_ptr for Connection
* Server/ClientIface: use shared_ptr for Connection

* Format fixes

* Remove socket.cpp socket.h from clang-format whitelist

* Also fix NetworkPacket code style & make it under clang-format
2017-08-24 08:28:54 +02:00
Juozas
c8d3d11339 Travis-ci build: fix osx jpeg installation failure, git ambiguous argument error (caused by merging commits) and add a workaround for travis commit range bug (#6227)
* common.sh: fix travis-ci build bugs
install_macosx_deps: check if jpeg is installed, if not - upgrade it.
needs_compile: Check if $TRAVIS_COMMIT_RANGE is valid, if not, rewrite
the range with the correct one, and fix git ambiguous argument error.

* Changed detection method and removed commments
2017-08-20 17:27:26 +02:00
Loïc Blot
c99dcbaca9 New version scheme (#6292)
* Version changes: current dev version is now 0.5.0

* This change permit to have multi branches with various versions
* Dev version is 0.5.0-dev and next release will be 0.5.0
2017-08-20 17:20:11 +02:00
Vaughan Lapsley
a80ecbee1e Mapgen: Add Carpathian mapgen (#6015) 2017-07-06 13:53:56 +02:00
Loïc Blot
b3a36f7378 Isolate irrlicht references and use a singleton (#6041)
* Add Device3D class which will contain IrrlichtDevice interface

move getSupportedVideoDrivers to Device3D

Add Device3D singleton & use it in various places

Rename Device3D to Rendering engine & add helper functions to various device pointers

More singleton work

RenderingEngine owns draw_load_screen

move draw functions to RenderingEngine

Reduce IrrlichtDevice exposure and guienvironment

RenderingEngine: Expose get_timer_time() to remove device from guiEngine

Make irrlichtdevice & scene manager less exposed

* Code style fixes

* Move porting::getVideoDriverName, getVideoDriverFriendlyName, getDisplayDensity, getDisplaySize to RenderingEngine

Fix XORG_USED macro -> RenderingEngine + create_engine_device from RenderingEngine constructor directly

* enum paralax => enum parallax
2017-06-26 20:11:17 +02:00
Loïc Blot
16938adfc0 Merge cguittfont lib in irrlicht change folder. (#6016)
* Merge cguittfont lib in irrlicht change folder.

This remove hack and static lib for FreeType
2017-06-20 17:18:34 +02:00
Loïc Blot
03ff53e16b Remove minetestmapper from this repository (#5901)
It's now located at https://github.com/minetest/minetestmapper

Remove colors.txt and sectors2sqlite too
2017-06-11 12:49:30 +02:00
red-001
26e2eb019a Improve the path select GUI (#5852)
- Allow lua to chose whatever directories or files can be selected
- Fix selecting directories
- Rename dialog to `guiPathSelectMenu` from `guiFileSelectMenu`
- Rename lua function for opening the menu from `show_file_open_dialog` to `show_path_select_dialog`
- Remove duplicate code and fix code style.

Related changes
- fix `clang-format` whitelist.
- Regenerate minetest.conf.example
2017-06-11 09:43:31 +02:00
Loïc Blot
312ca0382b buildbot: exit 0 at the end of the script
This permits script to return correct state when skipping packaging
2017-06-09 12:05:37 +02:00
Loïc Blot
d74385be24 Implement GItlab CI daily builds for windows platform (32 & 64) (#5923)
* Implement win32 & win64 builds in Gitlab CI + pkg improvements

* windows buildbot: split build & deploy steps
* move deb artifacts to root folder to have a nicer artifact
* add windows build + packaging on xenial
2017-06-08 16:30:30 +02:00
Loic Blot
47f5e7fd0f
Fix bump_version.sh & client_lua_api.md
This modification was forgotten at release
2017-06-06 19:56:15 +02:00
Loïc Blot
8bdde45895 Revert "Remove deprecated code segments (#5891)"
This reverts commit 599e13e95e81aadb959c9f3715aec9b425ede084.
2017-06-06 16:19:04 +02:00
Thomas--S
599e13e95e Remove deprecated code segments (#5891) 2017-06-04 21:42:32 +02:00
Loic Blot
bf6569b570 Minetest for C++11 (CMakeLists + Travis)
* Move GCC to GCC 6 & GCC 7
* Move Clang to Clang 3.6 & Clang 4.0
* LINT moves from Clang 3.9 to Clang 4.0
* Move XCode 7.3 to 8.0
* Use more travis tricks to install compilers instead of adding complexity to our build script
* Clang format fixes on checked files (compat Cpp11 instead of Cpp03)
* Mingw GCC update from 4.8.4 to 5.3 (Ubuntu Xenial)
* Drop mingw cmake generated files and add them to gitignore
2017-06-04 09:57:08 +02:00
Loic Blot
05309229b8
LINT fix & check all files with clang-format
Seems the diff mode doesn't work well, PR are detected as working whereas in master it's shown it's problematic (and really problematic). Use same check everywhere
2017-05-22 07:28:35 +02:00
Loïc Blot
9b8ca3a746 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
77597c4ff3 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
ShadowNinja
c761717f11 Fix Travis builds 2017-04-27 10:57:46 -04:00
Loic Blot
d7ddceac73
Fix lint since recent player to db merge 2017-04-23 16:22:53 +02:00
Loic Blot
dda171d292
LINT fix 2017-04-23 10:24:00 +02:00
Loïc Blot
91a9382c25 Pass clang-format on various cpp/header files (#5559) 2017-04-23 09:52:40 +02:00
Loic Blot
3e71c8f482
Fixing warning pointed by @sfan5 and clang and cleanup guiFileSelectMenu
* Also pass clang-format on guiFileSelectMenu.h and remove it from whitelist
2017-04-22 00:51:56 +02:00
Loïc Blot
5f2af7c4e8 Fix broken lint since 04cc9de8f2fbcb11f133c88f02fc11504b3ea6f3 2017-04-18 17:13:50 +02:00
Loïc Blot
b4106ca58f Clang-format styles fixes since previous commit 2017-04-10 09:17:53 +02:00
Loic Blot
4af99b75cf
Pass clang-format on 14 trivial header files fixes
Also remove them from whitelist
2017-04-07 23:22:00 +02:00
Loic Blot
f7088f69ab
Clang-format: fix some header files and remove them from whitelist 2017-04-07 08:50:17 +02:00
Loïc Blot
3a90b78a03
LINT: Switch whitelist check from egrep to awk
Bonus: make CI happy with the last rules fix
2017-04-06 23:21:40 +02:00
Loïc Blot
be06636965 Clang-format continuation indent fixes + .gitignore additions
* Proper support for continuation indents in clang format
* make src/wieldmesh.h proper and remove it from whitelist
* Add CLion default build directories in .gitignore
2017-04-06 15:37:02 +02:00
Loïc Blot
48ce9c9b30 Fix clang-format binary selection
Also fix spaces to tabs
2017-04-06 10:01:09 +02:00
Loic Blot
4b15f76ed1
Move LINT process in dedicated shell & fix
Move lint to dedicated shell permit to use it from your shell easily to check what is wrong
Also fix recent regressions in code style
2017-04-06 09:10:59 +02:00
Loic Blot
503e1d2b7c
Clang format: only show errors on non whitelisted files 2017-04-06 08:42:52 +02:00
Loïc Blot
86b1542181 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
Loïc Blot
987eb2b761 Clang-format: trivial fix on some headers (#5495)
Fix some headers style and remove them from whitelist
2017-04-01 14:48:16 +02:00
Loic Blot
a4874270f7
Fix clang-format Columns Width
Also fix l_client.cpp/h and remove them from whitelist
2017-03-31 22:29:34 +02:00
Loïc Blot
4b05feaceb clang-format: add a whitelist (#5459)
If file is in the whitelist, softfail, else hard failure

Some files are not in whitelist and marked as normal:
* src/content_mapnode.h
* src/cguittfont/xCGUITTFont.cpp
* src/gameparams.h
* src/profiler.cpp
2017-03-27 15:33:15 +02:00
Loïc Blot
72ce9d7a5d clang-format: fix counter increment & output (#5456)
clang-format: fix bash syntax on increment
2017-03-26 14:07:07 +02:00
Loïc Blot
aa5549ecc3 clang-format: limit diff to 50 files to prevent exceding the maximum travis output (4MB) (#5455) 2017-03-26 11:29:21 +02:00
Loïc Blot
22567d107f Add clang format & skip build if no source file modified (#5433)
* [BUILD] Add clang format + build skipping

* Add clang-format tool to check codestyle.
Warning: it check the whole modified file, not the diff part, it's why it's lazy. Please also look if rules are perfect, i take the Linux codestyle from LLVM site

Fix issue #5415

* Skip building project if no file is modified
* Fix a wrong brace to trigger LINT

* Make lint step outside of unix build scope

* Add AccessModifierOffset: -8

* Typo fix & needs compile fix

* Fix header priorities
2017-03-25 19:12:18 +01:00
Loïc Blot
9878ce05e7 CI: Add memleak checking using valgrind (#5350)
Add a new step to check memleaks on our current unit tests suite
2017-03-06 20:34:02 +01:00
Loïc Blot
8aadc62856 Travis: Build server too for UNIX 2017-01-04 15:13:17 +01:00
sfan5
e509ead680 Buildbot: Update Gettext version (#4971) 2016-12-29 13:17:24 +01:00
sfan5
3f88d776dc Buildbot: Update LuaJIT version 2016-12-08 08:39:37 +00:00
Tim
adad6e0a1c Travis: Only trigger a compile, when C/C++ related files were touched (#4284) 2016-10-15 17:59:23 +02:00
Loic Blot
009a9f1c6e Fix macosx build by disabling postgresql upgrade 2016-10-06 08:05:55 +02:00