Commit Graph

27 Commits

Author SHA1 Message Date
Robert Adam
27dbee8e62 FEAT(client): Plugin framework
This commit introduces a new plugin framework into the codebase of the
Mumble client. Note that "plugin" here really refers to a (more or less)
general purpose plugin and is therefore not to be confused with the
previously available positional data plugins (only responsible for
fetching positional data from a running game and passing that to
Mumble).

The plugin interface is written in C, removing the compiler-dependence
the old "plugins" had. Instead plugins can now be written in an
arbitrary language as long as that language is capable of being compiled
into a shared library and also being capable of being C-compatible.

As already indicated a plugin is essentially a shared library that
provides certain functions that allow Mumble to interface with it.

Inside Mumble the so-called PluginManager is responsible for managing
the plugins and relaying events to the respective callbacks. Plugins
themselves can also interact with Mumble on their own initiative by
using the provided API functions.

Fixes #2455
Fixes #2148
Fixes #1594
Fixes #2051
Fixes #3742
Fixes #4575
Fixes #4751
2021-04-16 20:15:44 +02:00
Robert
56db3410c5 MAINT: Update copyright notice to 2021 (Part II)
Apparently the first commit (59ae429972)
did not include all files.

Furthermore the used script tended to produce funny results in certain
cases. This has been fixed and as a result thereof a few more changes
were made in this second run.
2021-04-09 15:41:49 +02:00
Robert Adam
59ae429972 MAINT: Update copyright notice to 2021
This was done by running scripts/updateLicenseHeaders.py and then
manually editing the LICENSE file.
2021-03-02 10:15:01 +01:00
Robert
af7dac72f4 FORMAT: Run clang-format 10 on all C/CXX source-files 2020-09-11 18:29:33 +02:00
Popkornium18
691c38736a REFAC(plugins): replace NULL with nullptr
This changes all occurances of NULL in the plugins source
dir to nullptr. Additionally explicit comparisons with NULL were
removed.
2020-06-28 19:04:27 +02:00
Davide Beatrici
4e67a2fafb Auto-update LICENSE.header in source files 2020-01-07 03:09:22 +01:00
Davide Beatrici
9875c59b7a plugins: use new header 2019-08-08 23:51:13 +02:00
Davide Beatrici
b427333257 Auto-update LICENSE.header in source files 2019-01-25 04:56:19 +01:00
davidebeatrici
c45695cedf plugins/rl: update plugin and add avatar top vector support
Game version: 1.42
https://www.rocketleague.com/news/patch-notes-v1-42
2018-03-26 00:18:39 +02:00
davidebeatrici
ebb79eec97 plugins/rl: single source file for both Linux and Windows 2018-03-15 23:05:08 +01:00
davidebeatrici
29f6e2004b Positional audio support for Rocket League on Linux 2016-09-09 08:11:55 +02:00
Davide Beatrici
fbf7900dc3 plugins/rl: update plugin to work with version 1.22
Game version: 1.22
http://www.rocketleaguegame.com/news/2016/09/patch-notes-v1-22
2016-09-09 04:39:25 +02:00
Mikkel Krautz
743f12941d plugins/rl: allow Windows plugin to be built on Linux.
This makes the Rocket League plugin work with Rocket League
running in Wine on Linux.

This is an example of the very little amount of work it can
take to make an existing Windows PA plugin work on Linux
with Wine.
2016-08-13 10:06:24 +00:00
davidebeatrici
88797fa324 mumble/plugins: Rename Win32 headers 2016-08-11 23:31:15 +02:00
Davide Beatrici
4f565c65b2 plugins/rl: update plugin to work with version 1.21
Game version: 1.21
http://www.rocketleaguegame.com/news/2016/07/patch-notes-v1-21
2016-07-09 08:57:34 +02:00
Mikkel Krautz
68606feebf Merge PR #2378: plugins/rl: Plugin update for game's latest version 2016-06-29 23:53:09 +02:00
Davide Beatrici
e1b80c0e4f plugins/rl: Plugin update for game's latest version
Game version: 1.20
http://www.rocketleaguegame.com/news/2016/06/rocket-league-patch-notes-v1-20
2016-06-29 01:17:16 +02:00
Mikkel Krautz
c4301b5831 plugins/rl: fix warnings-as-errors build for Rocket League plugin. 2016-06-26 22:10:01 +02:00
Davide Beatrici
b1a9a36c30 plugins/rl: Plugin update for game's latest version
Fixed X/Z axes: Rocket League uses a left-handed Y-up coordinate system (like Mumble), even if Unreal Engine uses a Z-up one. http://www.aclockworkberry.com/world-coordinate-systems-in-3ds-max-unity-and-unreal-engine/

Game version: 1.19
http://www.rocketleaguegame.com/news/2016/06/patch-notes-v1-19-title-update-7
2016-06-23 23:52:48 +02:00
Mikkel Krautz
c450c3ba44 plugins/rl: convert plugin to use 'mumble_plugin_win32_x86.h'. 2016-06-20 22:40:12 +02:00
Davide Beatrici
d2416ca4fb Fixed inverted Z (left/right) value
Rocket League uses a right handed coordinate system.
2016-05-31 18:54:32 +02:00
Davide Beatrici
b147287818 Plugin update for latest version of Rocket League
Unknown game update.
2016-05-29 01:27:09 +02:00
Davide Beatrici
da1d08150b Plugin update for latest version of Rocket League
Added:
- Avatar position
- Avatar front vector
- Camera front vector
- Camera top vector

Game Version: 1.18
http://www.rocketleaguegame.com/news/2016/05/patch-notes-v1-18-title-update-6/
2016-05-26 00:54:55 +02:00
Mikkel Krautz
313be4b66b plugins: update to use LICENSE.header. 2016-05-10 22:42:04 +02:00
Davide Beatrici
6f843e5e14 Plugin update for latest version of Rocket League
Also removed unused/wrong parts of code and fixed game unit (centimeters?) conversion.

Game Version: 1.17
http://www.rocketleaguegame.com/news/2016/04/patch-notes-v1-17-pcps4/
2016-04-26 15:57:30 +02:00
Davide Beatrici
043a7d7a8a Plugin update for latest version of Rocket League
Game Version: 1.16
http://www.rocketleaguegame.com/news/2016/04/patch-notes-v1-16-pcps4-3/
2016-04-15 18:57:29 +02:00
Davide Beatrici
80d0354325 Positional Audio support for Rocket League
Thanks to @mkrautz on Mumble IRC Chat for the compile fix (https://github.com/mumble-voip/mumble/pull/2195) and for helping me about memory addresses (pModule).
This probably would not have been possible without his help.
Thanks also to @hacst: he tried to troubleshoot my compile problem.
2016-04-10 23:04:23 +02:00