Modernize C++ includes and add OpenGL renderer foundation#2
Open
awest813 wants to merge 23 commits into
Open
Conversation
…-roadmap [WIP] Review codebase and create an initial roadmap
Agent-Logs-Url: https://github.com/awest813/Open-Racing-Simulator-/sessions/e380f06a-dd38-43ff-b819-6a7fa0d6dc25 Co-authored-by: awest813 <208855664+awest813@users.noreply.github.com>
Add ROADMAP.md
Agent-Logs-Url: https://github.com/awest813/Open-Racing-Simulator-/sessions/67074fce-5e12-42f2-8da8-212244c73349 Co-authored-by: awest813 <208855664+awest813@users.noreply.github.com>
Agent-Logs-Url: https://github.com/awest813/Open-Racing-Simulator-/sessions/67074fce-5e12-42f2-8da8-212244c73349 Co-authored-by: awest813 <208855664+awest813@users.noreply.github.com>
Replace unsafe strcpy/sprintf with snprintf to eliminate buffer overflow risks
…d alternatives Agent-Logs-Url: https://github.com/awest813/Open-Racing-Simulator-/sessions/6d205d99-a4eb-4946-8c7d-cea3676b4418 Co-authored-by: awest813 <208855664+awest813@users.noreply.github.com>
Replace all remaining unsafe string functions with bounds-checked alternatives
Agent-Logs-Url: https://github.com/awest813/Open-Racing-Simulator-/sessions/20752ca2-0528-4960-93ab-51d9c437fdc7 Co-authored-by: awest813 <208855664+awest813@users.noreply.github.com>
Graphics overhaul: new oglgraph module with OpenGL 3.3 Core + GLSL shaders
…config, add ESC key to exit menu Agent-Logs-Url: https://github.com/awest813/Open-Racing-Simulator-/sessions/97b65771-dc5b-4159-97e1-ff7b465e2f00 Co-authored-by: awest813 <208855664+awest813@users.noreply.github.com>
Overhaul menus: UX improvements, label clarity, restore Simulation config
Agent-Logs-Url: https://github.com/awest813/Open-Racing-Simulator-/sessions/53dc122e-2f38-45d8-a734-18d304000dae Co-authored-by: awest813 <208855664+awest813@users.noreply.github.com>
Overhaul root README and restructure project roadmap
- Fix last remaining "Quit TORCS" tooltip in race pause menu - Rebrand XSL race results page from TORCS to Open Racing Simulator - Improve results screen column headers (Top Speed, Best Lap, Pits) - Clarify race options labels (Number of laps, Display mode) - Improve driver selection labels and key help text - Improve track selection key help text consistency - Improve pit stop menu labels (Fuel to add, Repair damage, Change tires) - Improve sound and simulation config labels and key help - Improve in-race key help text (Slow down time, Speed up time, etc.) - Normalize screenshot key help text across all screens - Rebrand racing board web UI: update 95+ files replacing TORCS with Open Racing Simulator in page titles, descriptions, keywords, templates, and content pages https://claude.ai/code/session_01DVdz1bkSrLeLu5qybagLRC
Overhaul UI/UX: improve labels, tooltips, and rebrand from TORCS
…utorial updates, ROADMAP progress Agent-Logs-Url: https://github.com/awest813/Open-Racing-Simulator-/sessions/ecd35ba7-bd6b-4af4-b1ef-8265ec33c9f0 Co-authored-by: awest813 <208855664+awest813@users.noreply.github.com>
Continue milestone: contributor docs, architecture rebranding, robot tutorial updates
Agent-Logs-Url: https://github.com/awest813/Open-Racing-Simulator-/sessions/19503127-6b26-41a8-9bdb-2b23bf3189e0 Co-authored-by: awest813 <208855664+awest813@users.noreply.github.com>
Start modernizing: C++14 + nullptr + C++ headers in TGF core
…al math unit tests - Replace C headers (<stdlib.h>, <stdio.h>, <math.h>, <memory.h>) with their C++ equivalents (<cstdlib>, <cstdio>, <cmath>, <cstring>) in: src/libs/robottools/rttrack.cpp, rttelem.cpp src/modules/simu/simuv2/car.cpp, categories.cpp, simu.cpp, simuitf.cpp, susp.cpp, wheel.cpp - Replace NULL with nullptr throughout rttrack.cpp and the simuv2 files - Add test/math/ with a self-contained unit test suite (69 tests) covering v2t and v3t vector operations (arithmetic, dot/cross products, length, normalize, distance, equality, approxEquals, fakeCrossProduct) - Mark 'Migrate away from pre-C++11 idioms' and 'Add initial automated test suite' as complete in ROADMAP.md https://claude.ai/code/session_014bb7MjvNn1nPjSHzkQhsJF
Ignore the compiled test_math binary and the tmath symlink that are generated when running tests in test/math/. https://claude.ai/code/session_014bb7MjvNn1nPjSHzkQhsJF
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR modernizes the codebase by replacing legacy C-style headers with C++ standard library equivalents, and introduces a new OpenGL-based graphics renderer module with supporting infrastructure.
Key Changes
C++ Header Modernization
<stdio.h>,<stdlib.h>,<math.h>,<assert.h>,<errno.h>,<time.h>) with C++ equivalents (<cstdio>,<cstdlib>,<cmath>,<cassert>,<cerrno>,<ctime>) across multiple source filesnullptrinstead ofNULLin documentation-std=c++11flag to configure.in for C++ standard complianceNew OpenGL Graphics Module (
src/modules/graphic/oglgraph/)Documentation and Testing
Project Rebranding
Build System
Implementation Details
https://claude.ai/code/session_014bb7MjvNn1nPjSHzkQhsJF