[Linux-only] basically bloxstap for sober

tgp plugin

+34 -4
+4 -1
src/api/Plugin.ts
··· 18 18 forceEnable?: boolean; 19 19 /** the lower, the earlier configs are applied. higher means more priority over end value */ 20 20 configPrio?: number; 21 + description?: string; 21 22 }; 22 23 23 24 export class Plugin { ··· 25 26 public id: string; 26 27 public forceEnable: boolean; 27 28 public configPrio: number; 29 + public description: string; 28 30 29 31 private runtimeSetFFlags: fflagList = {}; 30 32 private runtimeSetSoberConfig: SoberConfig = {}; 31 33 32 - constructor({ name, id, forceEnable, configPrio }: PluginMeta) { 34 + constructor({ name, id, forceEnable, configPrio, description }: PluginMeta) { 35 + this.description = description || `The "${name}" plugin`; 33 36 this.name = name; 34 37 this.id = id; 35 38 this.forceEnable = forceEnable ?? false;
+2 -2
src/index.ts
··· 55 55 You can combine profiles together: 56 56 \\ttuxstrap +super +unstable -dbus 57 57 58 - GitHub: https://tangled.sh/@ocbwoy3.dev/tuxstrap 58 + Code: https://tangled.sh/@ocbwoy3.dev/tuxstrap 59 59 ` 60 60 .replaceAll("\t", "") 61 61 .replaceAll("\\t", "\t") ··· 81 81 console.log( 82 82 `${plugin.name} (${plugin.id})${ 83 83 plugin.forceEnable ? " [default]" : "" 84 - }` 84 + } - ${plugin.description}` 85 85 ); 86 86 } 87 87 process.exit(0);
+3 -1
src/plugins/fflags.ts
··· 5 5 { 6 6 name: "Default FFlags", 7 7 id: "default", 8 + description: "Default optimization FFlags", 8 9 forceEnable: true, 9 10 configPrio: -9e9 10 11 }, ··· 18 19 FFlagDisableFeedbackSoothsayerCheck: true, 19 20 FFlagLuaAppUseUIBloxColorPalettes1: true, 20 21 FFlagUIBloxUseNewThemeColorPalettes: true, 21 - FIntTargetRefreshRate: 999999, 22 22 FStringAdGuiHorizontalRobloxFallbackImageAssetId: 86999279798758, 23 23 FStringAdGuiHorizontalStudioPlaceHolderImageAssetId: 86999279798758, 24 24 FStringAdGuiLivePreviewWatermarkV2: 86999279798758, ··· 41 41 { 42 42 name: "Super Performance FFlags", 43 43 id: "super", 44 + description: "Increases your FPS with the downside of it looking ugly", 44 45 forceEnable: false, 45 46 configPrio: 1 46 47 }, ··· 106 107 { 107 108 name: "Unstable FFlags", 108 109 id: "unstable", 110 + description: "Some flags that may break Roblox", 109 111 forceEnable: false, 110 112 configPrio: -9e9 111 113 },
+1
src/plugins/index.ts
··· 1 1 import "./fflags"; 2 2 import "./notifs"; 3 3 import "./systemIO"; 4 + import "./tgp";
+1
src/plugins/notifs.ts
··· 6 6 { 7 7 name: "Game Notifications", 8 8 id: "notif", 9 + description: "Notifications upon game join and teleport", 9 10 forceEnable: true, 10 11 configPrio: -9e9 11 12 },
+1
src/plugins/systemIO.ts
··· 7 7 { 8 8 name: "System Clipboard & D-Bus", 9 9 id: "dbus", 10 + description: "Let games control MPRIS music players with D-Bus and write to the Wayland clipboard", 10 11 forceEnable: true, 11 12 configPrio: -9e9 12 13 },
+22
src/plugins/tgp.ts
··· 1 + import { registerPlugin } from "../api/Plugin"; 2 + 3 + registerPlugin( 4 + { 5 + name: "TGP", 6 + id: "tgp", 7 + description: "The Goober Project??", 8 + forceEnable: false, 9 + configPrio: 3 10 + }, 11 + async (plugin) => { 12 + plugin.setSoberConfigOption("enableRichPresence", false); 13 + 14 + // the magic 15 + plugin.setFFlag("FStringDebugLuaLogPattern", "ExpChat/mountClientApp"); 16 + plugin.setFFlag("FStringDebugLuaLogLevel", "trace"); 17 + 18 + plugin.on("PLAYER_JOIN",(plr)=>{ 19 + console.log(`PlayerJoin ${plr.id} ${plr.name} ${plr.action}`) 20 + }); 21 + } 22 + );