mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-23 07:40:14 +00:00
Fix real bugs found by clang-tidy
- game_handler.cpp: use-after-move on node.id after std::move(node) (save nodeId before the move) - tcp_socket.cpp, world_socket.cpp: virtual call in destructor bypasses dispatch; use qualified TCPSocket::disconnect() / WorldSocket::disconnect() to make intent explicit - wmo_renderer.cpp: float loop counters risk precision drift; replace with integer step counts and reconstruct float from index - game_screen.cpp: (float + 0.5) cast to int is incorrect rounding; use std::lround instead
This commit is contained in:
parent
ba3d569e5f
commit
eacecddfb0
5 changed files with 13 additions and 8 deletions
|
|
@ -890,8 +890,12 @@ void WMORenderer::precomputeFloorCache() {
|
|||
float startX = std::floor(boundsMin.x / FLOOR_GRID_CELL_SIZE) * FLOOR_GRID_CELL_SIZE;
|
||||
float startY = std::floor(boundsMin.y / FLOOR_GRID_CELL_SIZE) * FLOOR_GRID_CELL_SIZE;
|
||||
|
||||
for (float x = startX; x <= boundsMax.x; x += FLOOR_GRID_CELL_SIZE) {
|
||||
for (float y = startY; y <= boundsMax.y; y += FLOOR_GRID_CELL_SIZE) {
|
||||
int stepsX = static_cast<int>((boundsMax.x - startX) / FLOOR_GRID_CELL_SIZE) + 1;
|
||||
int stepsY = static_cast<int>((boundsMax.y - startY) / FLOOR_GRID_CELL_SIZE) + 1;
|
||||
for (int ix = 0; ix < stepsX; ++ix) {
|
||||
float x = startX + ix * FLOOR_GRID_CELL_SIZE;
|
||||
for (int iy = 0; iy < stepsY; ++iy) {
|
||||
float y = startY + iy * FLOOR_GRID_CELL_SIZE;
|
||||
// Sample at grid cell center
|
||||
float sampleX = x + FLOOR_GRID_CELL_SIZE * 0.5f;
|
||||
float sampleY = y + FLOOR_GRID_CELL_SIZE * 0.5f;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue