Raise online play to 16-player lobbies and 8-player games
Lobbies hold 16 players and the sandbox 16 fighters, games up to 8. The arena gets spawns 5-8 (outer ledges and middle platforms) and the race start eight places. The sandbox adds eight more spawns, each the open spot farthest from the rest. Rival cards wrap into rows of four, the lobby's player list goes to two tiny columns when crowded, and the server keeps frame packets to one datagram. Formatted with clang-format. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
56af1c357c
commit
6003175173
19 files changed
+247
-140
No files matched your search
+7
-5
@@ -125,7 +125,6 @@ struct Stroke
|
||||
float jitter = 0;
|
||||
};
|
||||
|
||||
|
||||
// A beam, rope or whip, each piece coloured by the strength there, dimming along it the way damage falls off. Beams
|
||||
// start as far along as they've travelled. Jitter kinks it at every piece, moving each frame so it crackles.
|
||||
static void strength_line_draw(Game& game, Attack& attack, Stroke stroke)
|
||||
@@ -528,7 +527,8 @@ void Scene::world_draw()
|
||||
}
|
||||
}
|
||||
|
||||
// Debug view: bot.surfaces as lines, bot.links as thin lines from takeoff to landing, and each bot's remaining path in white.
|
||||
// Debug view: bot.surfaces as lines, bot.links as thin lines from takeoff to landing, and each bot's remaining path in
|
||||
// white.
|
||||
void Scene::bot_draw()
|
||||
{
|
||||
Bot& bot = game.sim.bot;
|
||||
@@ -570,8 +570,9 @@ void Scene::fighter_draw(Fighter& fighter)
|
||||
bool isLocal = fighter.index == game.local && game.devices[fighter.index] != DEVICE_NONE;
|
||||
if (isLocal && game.sim.match.is_racing())
|
||||
for (int row = 0; row < CHECKPOINT_HEIGHT; row++)
|
||||
renderer.rect_draw({std::round(fighter.safe.x - BOX_WIDTH / 2), std::round(fighter.safe.y) - row - 1, BOX_WIDTH, 1},
|
||||
color_fade(color, CHECKPOINT_ALPHA * (1 - row / CHECKPOINT_HEIGHT)));
|
||||
renderer.rect_draw(
|
||||
{std::round(fighter.safe.x - BOX_WIDTH / 2), std::round(fighter.safe.y) - row - 1, BOX_WIDTH, 1},
|
||||
color_fade(color, CHECKPOINT_ALPHA * (1 - row / CHECKPOINT_HEIGHT)));
|
||||
|
||||
float fill = game.sim.weapons.buff_get(fighter);
|
||||
Vec2 camera = renderer.camera;
|
||||
@@ -585,7 +586,8 @@ void Scene::fighter_draw(Fighter& fighter)
|
||||
|
||||
float pound = fighter.pound_area_get();
|
||||
if (pound > 0)
|
||||
renderer.ring_draw({fighter.center_get().x, fighter.body.box.y + fighter.body.box.h}, pound, color_fade(color, POUND_RING_ALPHA));
|
||||
renderer.ring_draw({fighter.center_get().x, fighter.body.box.y + fighter.body.box.h}, pound,
|
||||
color_fade(color, POUND_RING_ALPHA));
|
||||
if (isLocal && !game.menu.isOpen && game.settings.isAimShown)
|
||||
paths_draw(fighter);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user