Commit Graph

892 Commits

Author SHA1 Message Date
Lion
586510041d fix TriggerGlobalEvent not passing event arguments correctly (#307)
This is supposed to close #106 (The code is by @lionkor from
b068a9b48f)
2024-05-08 11:47:23 +02:00
Lion
1794c3fe45 Add Lua execution profiler Util.DebugExecutionTime() (#267)
Adds `Util.DebugExecutionTime()`, which returns a table of
`function_name: milliseconds`, in which each function's execution time
is averaged over all time.

You can call this function like so:
```lua
-- event to print the debug times
MP.RegisterEvent("printStuff", "printStuff")
-- prints the execution time of all event handlers
function printStuff()
	print(Util.DebugExecutionTime())
end
-- run every 5 seconds (or 10, or 60, whatever makes sense for you
MP.CreateEventTimer("printStuff", 5000)
```

Pretty print function:
```lua
function printDebugExecutionTime()
    local stats = Util.DebugExecutionTime()
    local pretty = "DebugExecutionTime:\n"
    local longest = 0
    for name, t in pairs(stats) do
        if #name > longest then
            longest = #name
        end
    end
    for name, t in pairs(stats) do
        pretty = pretty .. string.format("%" .. longest + 1 .. "s: %12f +/- %12f (min: %12f, max: %12f) (called %d time(s))\n", name, t.mean, t.stdev, t.min, t.max, t.n)
    end
    print(pretty)
end
```

`Util.DebugExecutionTime()` returns a table, where each key is an event
handler function name, and each value is a table consisting of `mean`
(simple average), `stddev` (standard deviation aka mean of the
variance), `min` and `max`, all in milliseconds, as well as `n` as the
number of samples taken.
2024-05-08 11:46:02 +02:00
Lion Kortlepel
40158dc252 fix compile error 2024-05-08 11:31:12 +02:00
Neptnium
5ece60574a Make Plugin load order deterministic
fix typo "mResourceServerPath" named "mFolder"

Fix typo number 2
2024-05-08 11:31:05 +02:00
Lucca Jiménez Könings
ff812429ed Fix settings set not accepting boolean literals
Signed-off-by: Lucca Jiménez Könings <development@jimkoen.com>
2024-05-07 18:16:06 +02:00
Lucca Jiménez Könings
639c46ad36 Remove additional debug calls
Signed-off-by: Lucca Jiménez Könings <development@jimkoen.com>
2024-05-07 18:16:06 +02:00
Lucca Jiménez Könings
158875a962 Remove debug code for new Settings implementation
Signed-off-by: Lucca Jiménez Könings <development@jimkoen.com>
2024-05-07 18:16:06 +02:00
Lucca Jiménez Könings
d6b78b9683 Fix argument parsing at wrong index
Signed-off-by: Lucca Jiménez Könings <development@jimkoen.com>
2024-05-07 18:16:05 +02:00
Lucca Jiménez Könings
f5e2f7425f Fix ComposedKey metadata not printing to console
Make ComposedKey formattable by overloading fmt::format

Signed-off-by: Lucca Jiménez Könings <development@jimkoen.com>
2024-05-07 18:16:05 +02:00
Lucca Jiménez Könings
8693b8a2b0 Add list argument to command settings
Signed-off-by: Lucca Jiménez Könings <development@jimkoen.com>
2024-05-07 18:16:05 +02:00
Lucca Jiménez Könings
3989961ff9 Add get and set to console command settings
Signed-off-by: Lucca Jiménez Könings <development@jimkoen.com>
2024-05-07 18:16:05 +02:00
Lucca Jiménez Könings
89034a64e0 Add logic for new Settings type
Signed-off-by: Lucca Jiménez Könings <development@jimkoen.com>
2024-05-07 18:16:05 +02:00
Lucca Jiménez Könings
55f5437618 Add new type Settings & refactor TSettings behavior
into Settings by adding getters/setters

Signed-off-by: Lucca Jiménez Könings <development@jimkoen.com>
2024-05-07 18:16:05 +02:00
Neptnium
c605498a2d Merge branch 'BeamMP:minor' into minor 2024-05-07 08:26:44 +02:00
sla-ppy
db8719b5cd fix timeout for synced players 2024-05-06 12:02:16 +02:00
Lion Kortlepel
cf8f10b949 add --port=value argument 2024-05-06 11:56:26 +02:00
Lion Kortlepel
6f50cad76b add BEAMMP_PROVIDER_PORT_ENV to allow provider to change which ENV
variable the port is fetched from
2024-05-06 11:56:26 +02:00
Lion Kortlepel
234bdf5877 add ENV variable to disable config generation and parsing 2024-05-06 11:46:21 +02:00
Lion Kortlepel
5cf6d1d228 add Util.LogDebug 2024-04-20 20:16:57 +02:00
Lion Kortlepel
1237e7e533 add lua logging facilities as Util.Log*() functions 2024-04-19 11:10:50 +02:00
Neptnium
d81087b5af fix TriggerGlobalEvent not passing event arguments correctly (closes #106) 2024-04-18 18:43:04 +02:00
Lion Kortlepel
c85e026c2d cleanup 2024-03-07 00:45:00 +01:00
Lion Kortlepel
e4826e8bf1 remove test code 2024-03-07 00:42:36 +01:00
Lion Kortlepel
590b159f14 switch to a runnning calculation for stdev and mean 2024-03-07 00:25:47 +01:00
Lion Kortlepel
40533c04bc add total calls to stats 2024-03-06 10:27:22 +01:00
Lion Kortlepel
946c1362e1 add custom profiling via Debug(Start|Stop)Profile 2024-03-06 10:27:22 +01:00
Lion Kortlepel
4347cb4af2 add min, max, stddev to stats 2024-03-06 10:27:22 +01:00
Lion Kortlepel
7deea900fb add Util.DebugExecutionTime 2024-03-06 10:27:22 +01:00
Lion Kortlepel
cbc1483537 add profiling code 2024-03-06 10:27:22 +01:00
Lion
913ba1c793 Link to the docs instead of the wiki in ServerConfig.toml (#291)
Changed the update message as well.
Closes #290
2024-02-15 12:38:48 +01:00
sla-ppy
a0d9be18b7 documentate unicycle dirty fix 2024-02-14 13:51:37 +01:00
alex.ita
87d2e3355a Update Common.cpp 2024-02-14 11:56:02 +01:00
alex.ita
afb3763eab Update TConfig.cpp 2024-02-14 11:51:24 +01:00
sla-ppy
9de5a08b0c dirty fix unicycle counting as car 2024-02-12 01:24:17 +01:00
sla-ppy
e852245bae add mutex to openid 2024-02-08 23:29:10 +01:00
sla-ppy
64f2e08ed2 add the letter v 2024-02-07 21:46:18 +01:00
sla-ppy
707682f4a8 refactor version 2024-02-07 20:47:01 +01:00
sla-ppy
913674740d add version cmd 2024-02-07 16:07:22 +01:00
Lion Kortlepel
aff537afdf add AGPL-3.0 license header 2024-01-23 21:00:11 +01:00
Lucca Jiménez Könings
fff9580f66 remove unecessary comment
Signed-off-by: Lucca Jiménez Könings <development@jimkoen.com>
2024-01-19 14:29:05 +01:00
Lucca Jiménez Könings
9948f2412d move undef macros into Compat.h
Signed-off-by: Lucca Jiménez Könings <development@jimkoen.com>
2024-01-19 14:29:05 +01:00
Lucca Jiménez Könings
df5766a935 document FreeBSD specific undefs
Signed-off-by: Lucca Jiménez Könings <development@jimkoen.com>
2024-01-19 14:29:05 +01:00
Lucca Jiménez Könings
2a54d448c3 fix typo
Signed-off-by: Lucca Jiménez Könings <development@jimkoen.com>
2024-01-19 14:29:05 +01:00
Lucca Jiménez Könings
2374eba750 fix tests on FreeBSD
Signed-off-by: Lucca Jiménez Könings <development@jimkoen.com>
2024-01-19 14:29:05 +01:00
Lucca Jiménez Könings
f82572077f add FreeBSD build target
Signed-off-by: Lucca Jiménez Könings <development@jimkoen.com>
2024-01-19 14:29:05 +01:00
Lion Kortlepel
c6aa7776fc make update message adjustable by provider 2024-01-09 17:41:05 +01:00
Lion Kortlepel
4228e18c90 reset default ID to 0 2024-01-09 15:34:33 +01:00
Lion Kortlepel
023e968302 refactor position packet handling, add regression tests 2024-01-09 15:34:33 +01:00
Lion Kortlepel
a4eb10b6a4 fix MP.GetPositionRaw 2024-01-09 15:34:33 +01:00
Lion Kortlepel
0166e488d0 fix calling GlobalParser as static 2024-01-09 15:34:33 +01:00