Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade OOVPA symbol group files #208

Draft
wants to merge 29 commits into
base: master
Choose a base branch
from
Draft

Conversation

RadWolfie
Copy link
Member

@RadWolfie RadWolfie commented Jul 15, 2024

Note

upgrade-symbol-groups branch, in this pull request, is currently in major work in progress and not a final design.

Note

GitHub CI build may can fail at any time, do not worry about it.

Note

Some things may not be fully done due to in need for other internal changes to enable such various support.
Such as self-register symbols support.

resolve #122

Some changes to symbol names are require to functional with new upgrade system.

  • Removed XAPI prefix, no longer necessary.
    • Currently undetermined for OFFSET swapped in prefix and suffix field. (now always use suffix)
  • D3D8LTCG symbol names have been updated to expected generator symbol name for LTCG version.
    • Register name with reference to parameter name has been optimized to use register name and parameter offset by one.

Also, some symbols may have additional/removed parameters. These symbols will need their own OOVPA revision to separate and provide correct parameters and stack size usage.

New feature for CLI tool:

  • [-d -demangle] option will output generic name instead of mangled name.
  • [-e -extendinfo] option will output with parameters' name and storage of the symbol; i.e. DSOUND__FUN__CDirectSoundStream_GetInfo(stk pThis, stk pInfo) = 0x########.

UnitTest may have not been updated with symbol name changes.

Checklist of symbol group files has been done:

  • D3D8
  • D3D8LTCG (Not yet checked manual scan function)
  • DSound (stub a proof of concept for upgrade manual scan function)
  • JVS
  • XActEng
  • Xapi
  • XGraphic
  • XNet
  • XOnline

Review remarks are welcome. 🙂
Pull request to upgrade-symbol-groups branch for incomplete symbol group file are also welcome too.
Best thing to do is look for TODO notes relative to parameters change or the like and any /*unknown*/ comments.


TODO:

  • Update self test library function for:
    • Duplicate reference index, list of parameters. (May likely migrate from Extend OOVPA Tests #154 pull request)
    • What else?
  • Update UnitTest tool for:
    • Remove unnecessary numerous of mangled names output if not found reference.
    • What else?

@github-actions github-actions bot added OOVPA Any OOVPA change relative needs-verification Require verification before approval D3D8 OOVPA relative topic D3D8LTCG OOVPA relative topic DSOUND OOVPA relative topic XACTENG OOVPA relative topic JVS OOVPA relative topic XGRAPHIC OOVPA relative topic XNET OOVPA relative topic XONLINE OOVPA relative topic XAPI OOVPA relative topic TOOLS labels Jul 15, 2024
@RadWolfie RadWolfie force-pushed the upgrade-symbol-groups branch 3 times, most recently from 4917ddb to 13a672e Compare July 15, 2024 09:56
include/libParamTypes.h Outdated Show resolved Hide resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CMAKE D3D8LTCG OOVPA relative topic D3D8 OOVPA relative topic DSOUND OOVPA relative topic JVS OOVPA relative topic needs-verification Require verification before approval OOVPA Any OOVPA change relative TOOLS XACTENG OOVPA relative topic XAPI OOVPA relative topic XGRAPHIC OOVPA relative topic XNET OOVPA relative topic XONLINE OOVPA relative topic
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Feature: Add Parameter Info into Symbol Group
2 participants