]> FriiDump Source - friidump.git/blob - docs/reports/FRIIDUMP_NATIVE_REPORT_CANDIDATE8_MSVC_BOOL_FIX.md
FriiDump 0.5.3.16: finalize release identity and documentation
[friidump.git] / docs / reports / FRIIDUMP_NATIVE_REPORT_CANDIDATE8_MSVC_BOOL_FIX.md
1 # FriiDump candidate8 MSVC bool-collision correction
2
3 Candidate7 correctly implemented Original Xbox XBE `GameRegion` reporting, but its first Visual Studio 2019 x86 build failed before linking.
4
5 ## Failure
6
7 ```text
8 libfriidump/xbox_ref/utils.h(47): error C2632: 'int' followed by 'bool' is illegal
9 ```
10
11 `xbox_ref/xbe_cert.h` includes `xbox_region.h`. Candidate7's `xbox_region.h` included `<stdbool.h>`, while the copied Xbox support header later declared:
12
13 ```c
14 typedef int bool;
15 ```
16
17 Under MSVC this created an incompatible duplicate/macro-expanded `bool` declaration.
18
19 ## Correction
20
21 The small region-formatting API now uses `int` for its success return and internal boolean state. It no longer includes `<stdbool.h>` and therefore does not modify the legacy copied Xbox header environment. Region mask meanings and output strings are unchanged.
22
23 ## Identity
24
25 - Version: `0.5.3.16-pf1-candidate8`
26 - Implementation commit: `a2e1cdfd35978547096ba072eef8bd60cd952955`
27 - Implementation tree: `649bc746a690b96e19e88d66f5d979e5c2888633`
28 - Logical parent: candidate7