Cxbx-Reloaded / XbSymbolDatabase

Xbox Symbol Database library
MIT License
23 stars 10 forks source link

Fix XbSymbolDatabase_GenerateLibraryFilter for duplicate D3D8(LTCG) libraries #179

Closed RadWolfie closed 1 year ago

RadWolfie commented 1 year ago

fixed #178

It was brought up while doing the unit test process with Xbox Dashboard (b5659) which end up showing:

Library[4]
    name    = D3D8;
    build   = 5659;
    qre ver = 0x1;
    flag    = 0x1;
Library[5]
    name    = D3D8LTCG;
    build   = 5659;
    qre ver = 0x1;
    flag    = 0x2;

With this pull request, now it is showing correctly for specific D3D8(LTCG) library to scan.

[00005a28] INFO   : Getting library and section filters...
[00005a28] INFO   : Outputting library filters...
[00005a28] INFO   : Library[0]
[00005a28] INFO   :     name    = XAPILIB
[00005a28] INFO   :     build   = 5659
[00005a28] INFO   :     qre ver = 0x1
[00005a28] INFO   :     flag    = 0x40
[00005a28] INFO   : Library[1]
[00005a28] INFO   :     name    = D3DX8
[00005a28] INFO   :     build   = 5659
[00005a28] INFO   :     qre ver = 0x1
[00005a28] INFO   :     flag    = 0x4
[00005a28] INFO   : Library[2]
[00005a28] INFO   :     name    = DSOUND
[00005a28] INFO   :     build   = 5659
[00005a28] INFO   :     qre ver = 0x1
[00005a28] INFO   :     flag    = 0x8
[00005a28] INFO   : Library[3]
[00005a28] INFO   :     name    = XONLINES
[00005a28] INFO   :     build   = 5659
[00005a28] INFO   :     qre ver = 0x1
[00005a28] INFO   :     flag    = 0x1000
[00005a28] INFO   : Library[4]
[00005a28] INFO   :     name    = D3D8LTCG
[00005a28] INFO   :     build   = 5659
[00005a28] INFO   :     qre ver = 0x1
[00005a28] INFO   :     flag    = 0x2

Here's the xbe's library header details from Xbox Dashboard (b5659) as example of conflict.

Name                  : Xbox Dashboard
TitleID               : FFFE0000
TitleIDHex            : 0xfffe0000
Region                : 0x7fffffff
Xbe header hash       : 387b0a91349ec64f
Library Name[ 0]      : XAPILIB  (b5659.1)
Library Name[ 1]      : XAPILBP  (b5659.1)
Library Name[ 2]      : XBOXDASH (b5659.4099)
Library Name[ 3]      : LIBCMT   (b5659.1)
Library Name[ 4]      : XBOXKRNL (b5659.1)
Library Name[ 5]      : D3DX8    (b5659.1)
Library Name[ 6]      : DSOUND   (b5659.1)
Library Name[ 7]      : XONLINES (b5659.1)
Library Name[ 8]      : XVOICE   (b5659.1)
Library Name[ 9]      : XKEY     (b5659.1)
Library Name[10]      : LIBCPMT  (b5659.1)
Library Name[11]      : D3D8     (b5659.1)
Library Name[12]      : D3D8LTCG (b5659.1)
Library Name[13]      : XGRAPHCL (b5659.1)
BuildVersion          : 5659