Commit Graph
5 Commits
Author SHA1 Message Date
89671c218b Drop two #defines that never did anything
sgp/video.cpp guards _MT with #ifndef and then defines it 26 lines into the
file, long after every header that could read it, and both cl and clang-cl
already define _MT for the static runtime this project links. jascreens.cpp
defines _UNICODE after its last include.

The only effect on the binaries is 82 assert line numbers in video.cpp shifting
by four and one in jascreens.cpp shifting by one. No object file's section
sizes change.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-22 01:07:26 -03:00
70b11ee120 make narrowing conversions in braced initialisers explicit
A braced initialiser does not allow a narrowing conversion unless the value
is a constant expression the compiler can prove fits. Every site here holds a
runtime value: WORLD_COLS is the global guiWorldCols, the laptop screen
coordinates are built from iScreenWidthOffset, the sector limits come from the
externalised options. MSVC accepts all of it silently; clang rejects it, and
it is ill-formed.

Nothing about the generated code changes. MSVC was already performing these
conversions; the casts only say so out loud, at the 73 places where it was
happening implicitly.

The invariant: each site is wrapped in a static_cast to the element type the
initialiser already had, and nothing else is touched. No type is widened, no
expression is reassociated, no value is clamped or checked. static_cast rather
than a C-style cast so that a later reader can grep for the narrowings, and so
that none of these can quietly become a reinterpret_cast if a type changes.

Verification:

    # every changed line differs only by inserted casts and their parentheses
    git show HEAD -U0 | grep '^[+-][^+-]' |
      sed -E 's/static_cast<[A-Za-z0-9_]+>//g; s/[()]//g; s/^[+-]//' |
      sort | uniq -c | awk '$1 % 2'          # no output

    git show HEAD -U0 | grep -c '^+[^+]'     # 38 lines, 73 casts

    ninja -C build parse                     # narrowing class gone: 129 -> 91 sites
    ninja -C build -k 0                      # Release, four applications, green
    ninja -C build-debug -k 0                # Debug, four applications, green

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-23 19:29:55 -03:00
BeatAroundTheBuscherandGitHub ed00830202 Fixes Upper/Lower Casing for include paths (#487)
* Fixing upper/lower case for includes

types.h, zconf.h and zlib.h were renamed so that global includes like Types.h
are not used.
2025-08-16 22:01:12 -03:00
Asdow fffb3a45fb Remove 8bit mode
Obsolete and doesn't work

* Remove gbPixelDepth
* Remove 8-bit to 8-bit blitters
* FileNameForBPP now only calls strcopy
2025-02-24 21:42:36 +02:00
majcostaandGitHub 381ab936eb Rename 'Standard Gaming Platform' to 'sgp' (#246)
* rename 'Standard Gaming Platform' to 'sgp'

* Adapt CMakeLists.txt files to renamed SGP directory

* Lowercase it
2023-10-23 10:18:20 -03:00