mirror of
https://github.com/Dingo-Shenanigans/ReSkate.git
synced 2026-10-26 11:36:43 +01:00
Two general trick APIs on the hooks TheRealEJR found for his Rock to Fakie mod (pull request 285):
- tricks.label(from, to) ("hud"): the trick ticker shows `to` where the game's label is exactly
`from`, on the ticker's own call route and in its own buffer only, when it has room; 16 labels a
plugin, given back when it stops.
- tricks.record_as(from, to, within_ms) ("skater.control"): the next trick the recorder gets whose
id is one of `from`, within the window, is recorded as `to`, through a changed copy of the packet.
One ask a plugin, used once; refused while a throwdown runs, as trick replacements are.
The hooks pass everything on unchanged while no plugin asks.
contrib/plugins/rock-to-fakie is his feature in Lua: while the physics state holds a stall (400 or
401) the ticker shows Rock to Fakie for a Board Stall or a Lip Stall, and B pressed in it asks that
the stall be recorded as the game's fakie_rock (187). Off until `rocktofakie on`. Checked in the
plugin tests, with the new functions' permissions.
Test plugins
Two plugins that check ReSkate's plugin host (Extension/Plugins). To try one in game, copy its
folder into the game's Mods folder and open the console.
- reskate-test calls every plugin API and says what worked.
ptest allruns every check,ptest <module>one module, andptest listnames them. It prints only the failures and a summary line. Each API ReSkate adds gets a module inplugin/checks/. It's also the example to copy when making a plugin. - reskate-hostile attacks the sandbox on purpose, one attack per command.
hostile listnames them with what should happen. An attack that gets it stopped is expected:plugin on reskate-hostilestarts it again for the next one. Any line starting withESCAPEDis a hole in the sandbox.
Both also run without the game, in dingosdk_plugin_tests (DINGOSDK_BUILD_PLUGIN_TESTS).
Ports
Features that were built into ReSkate, as mods of their own (or, where a feature has an asset mod,
inside that mod). Each has its own checks (<command> test) that dingosdk_plugin_tests runs too, and its own page in the ReSkate menu's PLUGINS section.
- road-rash: bails leave marks that build up, worn over the outfit with
reskate.outfit. It ships inside the Road Rash item pack, whose items it wears.roadrash,roadrash heal,roadrash bails 20. - board-break: a hard slam can snap the board, drawn with
reskate.board. It ships inside the Board Break deck pack, whose decks its manifest declares as variants (one in the game at a time).boardbreak,boardbreak deck wide,boardbreak snap mid. - fpv-drone: the FPV drone, flown from the free camera with the keyboard, a pad or a radio.
fpv fly,fpv follow. - hall-of-meat: skate. 3's Hall of Meat: bails show the bones they hurt on an x-ray of the
skater (
reskate.skater.xray,d:skeleton) and score a Meat card drawn with skate.'s own pictures (d:game_image).hallofmeat 0|1. - grind-exits: LT / RT in a grind pick the side of the pop (
reskate.skater.grind_exit,reskate.input.hide).grindexit status. - dual-stick: the settings of GoalTrains' Dual Stick Controls companion on its page, in the
companion's
session_controls.iniin the plugin's own data folder (reskate.files). Made from pull request 254.dualstick status,dualstick preset xl. - rock-to-fakie: TheRealEJR's Rock to Fakie: a Board Stall or Lip Stall shows as Rock to Fakie,
and left with B is recorded as the game's fakie_rock (
reskate.tricks.label,record_as). From pull request 285.rocktofakie on.
Throwdown modes
Throwdown modes made in Lua with the throwdown kit (throwdown-kit.md): the plugin registers its modes and publishes what the player should see; ReSkate shows it with skate.'s native Throwdowns page, setup page, flag, HUD and match panel.
- throwdown-modes-test: two modes through the whole native flow (card, setup page, flag, waiting card) and no match. The smallest example of the kit.
- SmokeyDawg58-ReSkate_Throwdown: SmokeyDawg58's ten modes, with their rules, HUDs, gates and
route editor, all in Lua, inside his asset mod.
tdm help.