Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates NewOpcodes to build against the latest plugin-sdk, adjusting includes/API calls across opcode implementations, modernizing the Visual Studio project configuration, and adding CI automation for tagged releases.
Changes:
- Updated multiple opcode implementations to match plugin-sdk API/ABI changes (RenderWare, CFont, CTxdStore pool access, matrix/quaternion helpers).
- Modernized the VS project (v143 toolset, updated include/lib paths, C++23) and added plugin-sdk as a git submodule.
- Added a GitHub Actions workflow to build and publish
.cleoartifacts on release triggers.
Reviewed changes
Copilot reviewed 28 out of 29 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| newOcpodes/Vector.cpp | Adjusted includes and vector normalization call for updated SDK API. |
| newOcpodes/TxdManager.cpp | Updated txd pool access to use GetAt() and null checks. |
| newOcpodes/Txd.cpp | Fixed txd slot lookup to use txd name and updated pool/dictionary access. |
| newOcpodes/TextureManager.h | Updated RenderWare include path for new SDK layout. |
| newOcpodes/TextureManager.cpp | Updated RenderWare types and DDS loading call signature; added safer string handling (with a remaining bound-check issue noted). |
| newOcpodes/TextDrawer.cpp | Updated font API calls (proportional/orientation/edge) to match new SDK. |
| newOcpodes/Text.cpp | Updated CRGBA channel field names and removed duplicate return. |
| newOcpodes/SpriteDrawer.h | Updated includes for CRGBA/RenderWare from new SDK layout. |
| newOcpodes/SpriteDrawer.cpp | Migrated render state calls and rect field names; fixed gradient color4 assignment. |
| newOcpodes/Sprite.cpp | Updated CRect field names used by opcode param extraction. |
| newOcpodes/SpotLightDrawer.h | Updated CVector include path. |
| newOcpodes/SpotLightDrawer.cpp | Updated patch/call helpers to new plugin API namespaces. |
| newOcpodes/ShapeDrawer.h | Updated includes for RenderWare/CRGBA from new SDK layout. |
| newOcpodes/ShapeDrawer.cpp | Migrated to RwRenderStateSet/RwIm2DRenderPrimitive and updated CRGBA packing API. |
| newOcpodes/Quat.cpp | Adjusted matrix/quaternion interop and combineOp typing to match new SDK signatures. |
| newOcpodes/OpcodeParams.h | Updated core include paths for RenderWare/CVector/CRGBA. |
| newOcpodes/OpcodeParams.cpp | Updated CRGBA channel serialization field names. |
| newOcpodes/NewOpcodes.h | Updated RenderWare include path for new SDK layout. |
| newOcpodes/NewOpcodes.cpp | Migrated plugin initialization hooks to new plugin::Events API. |
| newOcpodes/newOcpodes.vcxproj | Modernized toolset/config (VS2022, include/lib dirs, CRT choice, C++23, output dir). |
| newOcpodes/Matrix.cpp | Updated RenderWare includes, combineOp typing, and pointer casts for SDK signature changes. |
| newOcpodes/General.cpp | Updated various SDK field names/types and adjusted RsGlobal usage. |
| newOcpodes/Component.cpp | Updated node name retrieval and object iteration callbacks for new SDK types. |
| newOcpodes/Colpoint.cpp | Updated colpoint field names and lighting packing to new representation. |
| newOcpodes/Bone.cpp | Updated bone/frame accessors and changed quaternion extraction approach (with an API/behavior concern noted). |
| .gitmodules | Added plugin-sdk as a repository submodule. |
| .gitignore | Ignored VS/build outputs and generated library artifact. |
| .github/workflows/release.yml | Added Windows build-and-release pipeline for building plugin-sdk and publishing .cleo. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
x87
marked this pull request as ready for review
July 12, 2026 20:18
x87
commented
Jul 12, 2026
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.
Features
Fixes
TxdManager::CleanAllcaused by validating the wrong TXD slot.SET_STRUCT_FIELD) writing garbage instead of the intended number valueDownload: https://github.com/cleolibrary/NewOpcodes/releases/download/temp/NewOpcodes.cleo