mirror of
https://github.com/Dingo-Shenanigans/ReSkate.git
synced 2026-10-29 03:46:50 +01:00
Plugins: trick events (trick_started, trick_landed, line_broken) and reskate.score.current
- With events.tricks a plugin hears the local skater's tricks: trick_started (where), trick_landed (points, multiplier, where it started and landed, how long it took) and line_broken (a slam or a wipeout); reskate.score.current() is the score HUD's line, multiplier and whether a trick is going on. Without the permission the events cannot be registered. - The score HUD is read into the trick watch (Extension/Skater/score_hud.h, trick_watch.h) on the client tick only while a running plugin has events.tricks; a new level starts a new line. plugins::start takes the image base for it. - reskate-test has a tricks module (skipped until a trick lands) and ptest trick, which waits 30 s for one and prints what its events said; reskate-hostile has trick-loop. Not yet checked against real tricks in game.
This commit is contained in:
1 parent
373c141381
commit
f37abef426
13 files changed
+333
-15
No files matched your search
@@ -1,4 +1,5 @@
|
||||
#pragma once
|
||||
#include <cstdint>
|
||||
#include <string>
|
||||
#include <string_view>
|
||||
|
||||
@@ -8,8 +9,9 @@
|
||||
//
|
||||
// Every function but start is for the client thread, the one that runs console commands.
|
||||
namespace dingosdk::plugins {
|
||||
// Once, at startup. Plugins load at the first client tick after discovery finds them.
|
||||
bool start() noexcept;
|
||||
// Once, at startup, with the game's image base (the score HUD is read from it). Plugins load at the
|
||||
// first client tick after discovery finds them.
|
||||
bool start(std::uintptr_t image_base) noexcept;
|
||||
void on_client_tick() noexcept;
|
||||
// The level being played, or empty without one: plugins hear level_loaded and level_unloading.
|
||||
void set_level(std::string_view level) noexcept;
|
||||
|
||||
Reference in new issue
Block a user