Organize scripts and add TWS plugins with HTTP timeouts
Vendor pinned T5 and T6 plugin sources under the new plugins layout. Add native HTTP deadlines, status and timing diagnostics, telemetry integration, and build/test tooling.
This commit is contained in:
@@ -42,7 +42,7 @@ function functions(source) {
|
||||
}
|
||||
|
||||
function engine(game) {
|
||||
const source = readFileSync(new URL(`${game}/tws_${game}_leaderboard.gsc`, root), 'utf8');
|
||||
const source = readFileSync(new URL(`${game}/scripts/tws_${game}_leaderboard.gsc`, root), 'utf8');
|
||||
const all = functions(source);
|
||||
const excluded = new Set(['lb_worker', 'lb_welcome', 'lb_get', 'lb_collect', 'lb_log', 'lb_show_hud', 'lb_hud_help_visible', 'lb_hud_end_game', 'lb_hud_destroy', 'lb_chat_listener', 'lb_request', 'lb_hud_disconnect']);
|
||||
const table = [];
|
||||
@@ -90,7 +90,7 @@ for (const game of ['t5', 't6']) {
|
||||
const { context: c, source, all, dvars, responses, queries } = engine(game);
|
||||
const option = mapOption(game);
|
||||
check(`${game} exactly one connect listener across modules`, () => {
|
||||
const common = readFileSync(new URL(`${game}/tws_${game}_common.gsc`, root), 'utf8');
|
||||
const common = readFileSync(new URL(`${game}/scripts/tws_${game}_common.gsc`, root), 'utf8');
|
||||
assert.equal((common.match(/waittill\("connected"/g) ?? []).length, 1);
|
||||
assert(!source.includes('waittill("connected"'));
|
||||
assert(!all.get('lb_welcome').includes('spawned_player'));
|
||||
@@ -227,8 +227,8 @@ for (const game of ['t5', 't6']) {
|
||||
assert.equal(responses.length, 0, `${game} unused responses`);
|
||||
}
|
||||
check('paired data helpers stay identical', () => {
|
||||
const t5 = functions(readFileSync(new URL('t5/tws_t5_leaderboard.gsc', root), 'utf8'));
|
||||
const t6 = functions(readFileSync(new URL('t6/tws_t6_leaderboard.gsc', root), 'utf8'));
|
||||
const t5 = functions(readFileSync(new URL('t5/scripts/tws_t5_leaderboard.gsc', root), 'utf8'));
|
||||
const t6 = functions(readFileSync(new URL('t6/scripts/tws_t6_leaderboard.gsc', root), 'utf8'));
|
||||
for (const [name, fn] of t5) {
|
||||
if (!['lb_selection', 'lb_welcome', 'lb_get', 'lb_log'].includes(name)) {
|
||||
const normalized = t6.get(name).replaceAll('scripts\\zm\\tws_t6_common::', 'scripts\\sp\\tws_t5_common::');
|
||||
|
||||
Reference in New Issue
Block a user