Custom Minecraft Classic / ClassiCube client written in C from scratch (formerly ClassicalSharp in C#)
This report summarizes scanner evidence for ClassiCube/ClassiCube, a C project with 2,088 GitHub stars. SynthScan examined 296,519 lines of code across 764 source files, recording 456 pattern matches distributed across 7 syntactic categories. The legacy adjusted pattern signal is 1.8 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 435 finding(s).
Are imports declared and package/API names verified? 1 finding(s).
Are wrappers, guards, and repeated structures necessary? 20 finding(s).
Which changes need focused human review? 456 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 456 distinct pattern matches across 7 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | misc/32x/32x.h | 1 | #ifndef __32X_H__ | COMMENT |
| LOW | misc/32x/32x.h | 21 | #define MARS_SYS_CMDI_CLR (*(volatile unsigned short *)0x2000401A) | COMMENT |
| LOW | misc/32x/32x.h | 41 | #define MARS_VDP_FBCTL (*(volatile unsigned short *)0x2000410A) | COMMENT |
| LOW | misc/32x/32x.h | 61 | #define MARS_VDP_HBLK 0x4000 | COMMENT |
| LOW | misc/32x/32x.h | 81 | #define SH2_DMA_SAR0 (*(volatile unsigned long *)0xFFFFFF80) | COMMENT |
| LOW | misc/32x/32x.h | 101 | #define SEGA_CTRL_LEFT 0x0004 | COMMENT |
| LOW | misc/android/app/CMakeLists.txt | 1 | # | COMMENT |
| LOW | misc/x11/min-xlib.h | 41 | #include <stdint.h> | COMMENT |
| LOW | misc/x11/min-xlib.h | 61 | /* The Xlib structs are full of implicit padding to properly align members. | COMMENT |
| LOW | misc/x11/min-xlib.h | 81 | #define DefaultScreen(dpy) (((_XPrivDisplay)(dpy))->default_screen) | COMMENT |
| LOW | misc/x11/min-xlib.h | 901 | #define XIMPreeditArea 0x0001L | COMMENT |
| LOW | misc/x11/min-xutil.h | 201 | unsigned long red_mask; | COMMENT |
| LOW | misc/x11/min-X.h | 61 | * client or library code. | COMMENT |
| LOW | misc/x11/min-X.h | 81 | # define _XTYPEDEF_XID | COMMENT |
| LOW | misc/x11/min-X.h | 141 | #define NoSymbol 0L /* special KeySym */ | COMMENT |
| LOW | misc/x11/min-X.h | 161 | #define Button3MotionMask (1L<<10) | COMMENT |
| LOW | misc/x11/min-X.h | 181 | #define KeyPress 2 | COMMENT |
| LOW | misc/x11/min-X.h | 201 | #define ConfigureNotify 22 | COMMENT |
| LOW | misc/x11/min-X.h | 221 | #define ShiftMask (1<<0) | COMMENT |
| LOW | misc/x11/min-X.h | 261 | #define Button3 3 | COMMENT |
| LOW | misc/x11/min-X.h | 281 | #define NotifyPointer 5 | COMMENT |
| LOW | misc/x11/min-X.h | 301 | #define GrabNotViewable 3 | COMMENT |
| LOW | misc/x11/min-X.h | 321 | /***************************************************************** | COMMENT |
| LOW | misc/x11/min-X.h | 361 | COMMENT | |
| LOW | misc/x11/min-XF86keysym.h | 21 | #define XF86XK_Standby 0x1008FF10 /* System into standby mode */ | COMMENT |
| LOW | misc/x11/min-XF86keysym.h | 41 | #define XF86XK_Refresh 0x1008FF29 /* Refresh the page */ | COMMENT |
| LOW | misc/x11/min-keysymdef.h | 121 | /* | COMMENT |
| LOW | misc/x11/min-keysymdef.h | 141 | #define XK_Left 0xff51 /* Move left, left arrow */ | COMMENT |
| LOW | misc/x11/min-keysymdef.h | 161 | #define XK_Menu 0xff67 | COMMENT |
| LOW | misc/x11/min-keysymdef.h | 181 | #define XK_KP_Up 0xff97 | COMMENT |
| LOW | misc/x11/min-keysymdef.h | 221 | #define XK_F2 0xffbf | COMMENT |
| LOW | misc/x11/min-keysymdef.h | 241 | #define XK_F22 0xffd3 | COMMENT |
| LOW | misc/x11/min-keysymdef.h | 261 | #define XK_Hyper_R 0xffee /* Right hyper */ | COMMENT |
| LOW | misc/x11/min-keysymdef.h | 281 | #define XK_ISO_Group_Lock 0xfe07 | COMMENT |
| LOW | misc/x11/min-keysymdef.h | 301 | #define XK_ISO_Release_Margin_Right 0xfe2a | COMMENT |
| LOW | misc/x11/min-keysymdef.h | 321 | #define XK_space 0x0020 /* U+0020 SPACE */ | COMMENT |
| LOW | misc/x11/min-keysymdef.h | 341 | #define XK_3 0x0033 /* U+0033 DIGIT THREE */ | COMMENT |
| LOW | misc/x11/min-keysymdef.h | 361 | #define XK_G 0x0047 /* U+0047 LATIN CAPITAL LETTER G */ | COMMENT |
| LOW | misc/x11/min-keysymdef.h | 381 | #define XK_bracketleft 0x005b /* U+005B LEFT SQUARE BRACKET */ | COMMENT |
| LOW | misc/x11/min-keysymdef.h | 401 | #define XK_n 0x006e /* U+006E LATIN SMALL LETTER N */ | COMMENT |
| LOW | misc/windows/min-winuser.h | 1 | #ifndef CC_USER32_FUNC | COMMENT |
| LOW | misc/windows/min-winuser.h | 21 | COMMENT | |
| LOW | misc/windows/min-schannel.h | 21 | #define SCH_CRED_DISABLE_RECONNECTS 0x00000080 | COMMENT |
| LOW | misc/windows/min-commdlg.h | 1 | #ifndef _WIN64 | COMMENT |
| LOW | misc/windows/min-commdlg.h | 81 | #ifndef _WIN64 | COMMENT |
| LOW | misc/nds/main_arm7.c | 1 | // SPDX-License-Identifier: Zlib | COMMENT |
| LOW | misc/opengl/GLCommon.h | 1 | #if defined CC_BUILD_WIN | COMMENT |
| LOW | misc/opengl/GLCommon.h | 41 | #define GL_LINES 0x0001 | COMMENT |
| LOW | misc/opengl/GLCommon.h | 61 | #define GL_FOG_COLOR 0x0B66 | COMMENT |
| LOW | misc/opengl/GLCommon.h | 81 | #define GL_MODELVIEW 0x1700 | COMMENT |
| LOW | misc/opengl/GLCommon.h | 101 | #define GL_ARRAY_BUFFER 0x8892 | COMMENT |
| LOW | misc/opengl/GL1Macros.h | 1 | /* Raster state functions */ | COMMENT |
| LOW | misc/opengl/GL1Macros.h | 21 | #define _glLoadMatrixf glLoadMatrixf | COMMENT |
| LOW | misc/opengl/GL1Macros.h | 41 | #define _glGenTextures glGenTextures | COMMENT |
| LOW | misc/opengl/GL1Macros.h | 61 | #define _glEnd glEnd | COMMENT |
| LOW | third_party/bearssl/bearssl_stdlib.h | 21 | } | COMMENT |
| LOW | third_party/bearssl/ec_prime_i31.c | 161 | */ | COMMENT |
| LOW | third_party/bearssl/bearssl_hash.h | 21 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | COMMENT |
| LOW | third_party/bearssl/bearssl.h | 121 | * on the [BearSSL Web site](https://www.bearssl.org/api1.html). The | COMMENT |
| LOW | third_party/bearssl/inner.h | 21 | * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | COMMENT |
| 337 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | .github/workflows/build_win-arm.yml | 15 | #============================================ | COMMENT |
| MEDIUM | .github/workflows/build_win-arm.yml | 17 | # =========================================== | COMMENT |
| MEDIUM | .github/workflows/build_win-arm.yml | 54 | #============================================ | COMMENT |
| MEDIUM | .github/workflows/build_win-arm.yml | 56 | # =========================================== | COMMENT |
| MEDIUM | .github/workflows/build_linux.yml | 17 | #============================================ | COMMENT |
| MEDIUM | .github/workflows/build_linux.yml | 19 | # =========================================== | COMMENT |
| MEDIUM | .github/workflows/build_linux.yml | 87 | #============================================ | COMMENT |
| MEDIUM | .github/workflows/build_linux.yml | 89 | # =========================================== | COMMENT |
| MEDIUM | .github/workflows/build_windows.yml | 17 | #============================================ | COMMENT |
| MEDIUM | .github/workflows/build_windows.yml | 19 | # =========================================== | COMMENT |
| MEDIUM | .github/workflows/build_windows.yml | 100 | #============================================ | COMMENT |
| MEDIUM | .github/workflows/build_windows.yml | 102 | # =========================================== | COMMENT |
| MEDIUM | .github/workflows/build_wince.yml | 15 | # =========================================== | COMMENT |
| MEDIUM | .github/workflows/build_wince.yml | 17 | # =========================================== | COMMENT |
| MEDIUM | .github/workflows/build_wince.yml | 48 | # =========================================== | COMMENT |
| MEDIUM | .github/workflows/build_wince.yml | 50 | # =========================================== | COMMENT |
| MEDIUM | .github/workflows/build_rpi.yml | 15 | #============================================ | COMMENT |
| MEDIUM | .github/workflows/build_rpi.yml | 17 | # =========================================== | COMMENT |
| MEDIUM | .github/workflows/build_rpi.yml | 69 | #============================================ | COMMENT |
| MEDIUM | .github/workflows/build_rpi.yml | 71 | # =========================================== | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/Graphics_SoftMin.c | 349 | // TODO: implement? but clouds aren't drawn anyways | COMMENT |
| LOW⚡ | src/xbox360/Graphics_Xbox360.c | 138 | void Gfx_SetFog(cc_bool enabled) { } // TODO: implement | CODE |
| LOW⚡ | src/xbox360/Graphics_Xbox360.c | 139 | static void SetFogColor(PackedCol color) { } // TODO: implement | CODE |
| LOW⚡ | src/xbox360/Graphics_Xbox360.c | 140 | static void SetFogDensity(float value) { } // TODO: implement | CODE |
| LOW⚡ | src/xbox360/Graphics_Xbox360.c | 141 | static void SetFogEnd(float value) { } // TODO: implement | CODE |
| LOW⚡ | src/xbox360/Graphics_Xbox360.c | 142 | static void SetFogMode(FogFunc func) { } // TODO: implement | CODE |
| LOW⚡ | src/n64/Graphics_N64.c | 543 | void Gfx_SetFog(cc_bool enabled) { } // TODO: implement | CODE |
| LOW⚡ | src/n64/Graphics_N64.c | 544 | static void SetFogColor(PackedCol color) { } // TODO: implement | CODE |
| LOW⚡ | src/n64/Graphics_N64.c | 545 | static void SetFogDensity(float value) { } // TODO: implement | CODE |
| LOW⚡ | src/n64/Graphics_N64.c | 546 | static void SetFogEnd(float value) { } // TODO: implement | CODE |
| LOW⚡ | src/n64/Graphics_N64.c | 547 | static void SetFogMode(FogFunc func) { } // TODO: implement | CODE |
| LOW | src/darwin/Graphics_Metal.m | 82 | // TODO: implement | COMMENT |
| LOW⚡ | src/darwin/Graphics_Metal.m | 102 | void Gfx_SetFog(cc_bool enabled) { } // TODO: implement | CODE |
| LOW⚡ | src/darwin/Graphics_Metal.m | 103 | static void SetFogColor(PackedCol color) { } // TODO: implement | CODE |
| LOW⚡ | src/darwin/Graphics_Metal.m | 104 | static void SetFogDensity(float value) { } // TODO: implement | CODE |
| LOW⚡ | src/darwin/Graphics_Metal.m | 105 | static void SetFogEnd(float value) { } // TODO: implement | CODE |
| LOW⚡ | src/darwin/Graphics_Metal.m | 106 | static void SetFogMode(FogFunc func) { } // TODO: implement | CODE |
| LOW | src/darwin/Graphics_Metal.m | 118 | // TODO: implement | COMMENT |
| LOW | src/darwin/Graphics_Metal.m | 204 | // TODO: implement | COMMENT |
| LOW | src/darwin/Graphics_Metal.m | 223 | void Gfx_EnableMipmaps(void) { }// TODO: implement | CODE |
| LOW | src/darwin/Graphics_Metal.m | 224 | void Gfx_DisableMipmaps(void) { }// TODO: implement | CODE |
| LOW | src/darwin/Graphics_Metal.m | 363 | // TODO: implement | COMMENT |
| LOW | src/darwin/Graphics_Metal.m | 381 | // TODO: implement | COMMENT |
| LOW | src/darwin/Graphics_Metal.m | 400 | // TODO: implement | COMMENT |
| LOW⚡ | src/darwin/Graphics_Metal.m | 415 | // TODO: implement | COMMENT |
| LOW⚡ | src/darwin/Graphics_Metal.m | 421 | // TODO: implement | COMMENT |
| LOW⚡ | src/darwin/Graphics_Metal.m | 428 | // TODO: implement | COMMENT |
| LOW⚡ | src/darwin/Graphics_Metal.m | 435 | // TODO: implement | COMMENT |
| LOW | src/darwin/Graphics_Metal.m | 568 | // TODO: implement | COMMENT |
| LOW | src/darwin/Graphics_Metal.m | 597 | // TODO: implement | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | src/Graphics_SoftGPU.c | 471 | // Essentially these are the deltas of edge functions between X/Y and X/Y + 1 (i.e. one X/Y step) | COMMENT |
| MEDIUM | src/Graphics_SoftGPU.c | 595 | // Essentially these are the deltas of edge functions between X/Y and X/Y + 1 (i.e. one X/Y step) | COMMENT |
| MEDIUM | src/Graphics_SoftMin.c | 572 | // Essentially these are the deltas of edge functions between X/Y and X/Y + 1 (i.e. one X/Y step) | COMMENT |
| MEDIUM | src/Resources.c | 794 | "# Essentially, TileX and TileY are the remainder and quotient of an ID in F10 menu divided by 16\r\n" \ | CODE |
| MEDIUM | src/ps2/Graphics_PS2.c | 886 | // Essentially, colour blending is calculated as | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | src/freetype/fterrors.h | 78 | /* Here is a simple example. */ | COMMENT |
| MEDIUM | src/freetype/freetype.h | 1145 | /* probably never want this except for demonstration purposes. */ | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | src/Resources.c | 791 | "# This file defines the animations used in a texture pack for ClassiCube.\r\n" \ | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | src/webclient/interop_web.js | 859 | elem.setAttribute('placeholder', UTF8ToString(placeholder)); | CODE |