Repository Analysis

utkarshdalal/GameNative

Native PC gaming with Steam, Epic, GOG and Amazon integrations on Android

5.3 Low AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of utkarshdalal/GameNative, a Kotlin project with 9,010 GitHub stars. SynthScan v2.0 examined 351,870 lines of code across 1412 source files, recording 717 pattern matches distributed across 13 syntactic categories. The overall adjusted score of 5.3 places this repository in the Low AI signal band.

The scanner applied 160+ deterministic lexical heuristics, multi-line block detectors, abstract syntax tree depth profilers, and a cross-file Jaccard similarity matrix to construct a statistically normalised synthetic code estimate. All matches are individually weighted by severity coefficient and contextual multiplier before summation, and the resulting headline score is temporally discounted to account for the repository's development history relative to the commercial emergence of large language model coding tooling (November 2022 onward).

5.3
Adjusted Score
5.3
Raw Score
100%
Time Factor
2026-07-14
Last Push
9.0K
Stars
Kotlin
Language
351.9K
Lines of Code
1.4K
Files
717
Pattern Hits
2026-07-14
Scan Date
0.05
HC Hit Rate

What These Metrics Mean

Adjusted Score
Primary synthetic code indicator. Raw score normalised per 1,000 lines of code and multiplied by the temporal discount factor. This is the definitive comparative metric — use it to rank repositories by AI authorship density.
Raw Score
The unmodified sum of all severity-weighted, context-multiplied pattern match scores before temporal discounting. Reflects the absolute signal strength independent of when the repository was last active.
Time Factor
The temporal discount multiplier (0–100%) applied to the raw score. Repositories last updated before ChatGPT's launch (Nov 2022) receive a 5% factor. Full signal is only assigned to repositories active in the post-adoption era (Jan 2024+).
Pattern Hits
Total count of individual pattern matches across all files and categories. A high hit count with a low score may indicate a very large codebase with isolated AI snippets; a low count with a high score indicates dense, concentrated AI signatures.
HC Hit Rate
High+Critical pattern hits per file, averaged across the repository. This orthogonal signal catches repositories where a few files are densely packed with high-severity AI tells — a strong indicator even when the normalised score appears moderate due to codebase size.
Lines of Code / Files
Total lines and files analysed. The scanner examines 94 file extensions. These denominators are used to normalise the score, enabling fair comparison between repositories of vastly different sizes.

Score History

Longitudinal tracking requires multiple scan runs. Once this repository is re-scanned after new commits land, this chart will visualise how the synthetic code signal evolves over time — enabling you to detect whether AI authorship is growing, stabilising, or being actively corrected by human engineers.

No multi-scan history yet — run the scanner again to build trend data.

Severity Breakdown

Classifies detected patterns by their diagnostic confidence and structural impact. CRITICAL patterns (coefficient 10) represent definitive synthetic signatures — hallucinated imports, explicit LLM attribution metadata — virtually never produced by human authors. HIGH (5) indicates strong structural tells such as cross-file repetition or cross-linguistic idioms. MEDIUM (2) covers recognisable conversational padding and AI-specific vocabulary. LOW (1) captures subtle indicators like tautological comments and generic boilerplate that require density to carry independent signal.

CRITICAL 70HIGH 2MEDIUM 177LOW 468

Directory Score Breakdown

This horizontal bar chart decomposes the repository's raw synthetic code score by top-level directory, allowing you to pinpoint precisely which modules or components carry the highest AI authorship density. Directories with disproportionately high scores relative to their size warrant targeted manual review: concentrated AI signatures often trace back to mass-generated configuration layers, auto-ported test suites, LLM-scaffolded boilerplate classes, or entire subsystems authored under heavy copilot assistance. Use this view to prioritise your human code-review effort.

Pattern Findings

The scanner identified 717 distinct pattern matches across 13 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a statistically significant AI authorship indicator. 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 diagnostic confidence level (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — comment-context matches receive a ×1.5 weight because LLMs systematically over-annotate. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier as dense clusters constitute far stronger evidence of synthetic authorship than isolated hits.

Hallucination Indicators70 hits · 805 pts
SeverityFileLineSnippetContext
CRITICAL…a/app/gamenative/service/gog/GOGDownloadManagerTest.kt331 val chunk = app.gamenative.service.gog.api.FileChunk(CODE
CRITICAL…a/app/gamenative/service/gog/GOGDownloadManagerTest.kt360 val chunk = app.gamenative.service.gog.api.FileChunk(CODE
CRITICAL…a/app/gamenative/service/gog/GOGDownloadManagerTest.kt397 val chunk = app.gamenative.service.gog.api.FileChunk(CODE
CRITICAL…a/app/gamenative/service/gog/GOGDownloadManagerTest.kt428 val chunk = app.gamenative.service.gog.api.FileChunk(CODE
CRITICAL…a/app/gamenative/service/gog/GOGDownloadManagerTest.kt457 val chunk = app.gamenative.service.gog.api.FileChunk(CODE
CRITICAL…a/app/gamenative/service/gog/GOGDownloadManagerTest.kt485 val chunk = app.gamenative.service.gog.api.FileChunk(CODE
CRITICAL…a/app/gamenative/service/gog/GOGDownloadManagerTest.kt512 val chunk = app.gamenative.service.gog.api.FileChunk(CODE
CRITICALapp/src/main/java/app/gamenative/PrefManager.kt861 app.gamenative.ui.enums.SortOption.fromKey(keyValue)CODE
CRITICALapp/src/main/java/app/gamenative/PrefManager.kt865 app.gamenative.ui.enums.SortOption.fromOrdinal(ordinal)CODE
CRITICALapp/src/main/java/app/gamenative/PluviaApp.kt81 app.gamenative.service.gog.GOGConstants.init(this)CODE
CRITICALapp/src/main/java/app/gamenative/ui/PluviaMain.kt687 if (app.gamenative.service.gog.GOGService.hasStoredCredentials(context) &&CODE
CRITICALapp/src/main/java/app/gamenative/ui/PluviaMain.kt691 app.gamenative.service.gog.GOGService.start(context)CODE
CRITICALapp/src/main/java/app/gamenative/ui/PluviaMain.kt697 if (app.gamenative.service.epic.EpicService.hasStoredCredentials(context) &&CODE
CRITICALapp/src/main/java/app/gamenative/ui/PluviaMain.kt701 app.gamenative.service.epic.EpicService.start(context)CODE
CRITICALapp/src/main/java/app/gamenative/ui/PluviaMain.kt1922 val syncSuccess = app.gamenative.service.epic.EpicCloudSavesManager.syncCloudSaves(CODE
CRITICAL…a/app/gamenative/ui/component/dialog/EnvironmentTab.kt186 color = androidx.compose.material3.MaterialTheme.colorSchemeCODE
CRITICAL…java/app/gamenative/ui/screen/library/LibraryScreen.kt1174 val gogLoggedIn = app.gamenative.service.gog.GOGAuthManager.hasStoredCredentials(context)CODE
CRITICAL…java/app/gamenative/ui/screen/library/LibraryScreen.kt1175 val epicLoggedIn = app.gamenative.service.epic.EpicAuthManager.hasStoredCredentials(context)CODE
CRITICAL…java/app/gamenative/ui/screen/library/LibraryScreen.kt1176 val amazonLoggedIn = app.gamenative.service.amazon.AmazonAuthManager.hasStoredCredentials(context)CODE
CRITICAL…gamenative/ui/screen/library/appscreen/GOGAppScreen.kt311 val state = app.gamenative.ui.component.dialog.state.MessageDialogState(CODE
CRITICAL…gamenative/ui/screen/library/appscreen/GOGAppScreen.kt386 app.gamenative.ui.component.dialog.state.MessageDialogState(CODE
CRITICAL…gamenative/ui/screen/library/appscreen/GOGAppScreen.kt522 app.gamenative.ui.component.dialog.state.MessageDialogState(CODE
CRITICAL…gamenative/ui/screen/library/appscreen/GOGAppScreen.kt679 mutableStateOf(BaseAppScreen.getInstallDialogState(appId) ?: app.gamenative.ui.component.dialog.state.MessagCODE
CRITICAL…gamenative/ui/screen/library/appscreen/GOGAppScreen.kt684 installDialogState = state ?: app.gamenative.ui.component.dialog.state.MessageDialogState(false)CODE
CRITICAL…gamenative/ui/screen/library/appscreen/GOGAppScreen.kt755 app.gamenative.ui.component.dialog.MessageDialog(CODE
CRITICAL…amenative/ui/screen/library/appscreen/EpicAppScreen.kt363 app.gamenative.ui.component.dialog.state.GameManagerDialogState(visible = true),CODE
CRITICAL…amenative/ui/screen/library/appscreen/EpicAppScreen.kt370 app.gamenative.ui.component.dialog.state.GameManagerDialogState(visible = true)CODE
CRITICAL…amenative/ui/screen/library/appscreen/EpicAppScreen.kt447 app.gamenative.ui.component.dialog.state.GameManagerDialogState(visible = true),CODE
CRITICAL…amenative/ui/screen/library/appscreen/EpicAppScreen.kt454 app.gamenative.ui.component.dialog.state.GameManagerDialogState(visible = true),CODE
CRITICAL…amenative/ui/screen/library/appscreen/EpicAppScreen.kt466 app.gamenative.ui.component.dialog.state.MessageDialogState(CODE
CRITICAL…amenative/ui/screen/library/appscreen/EpicAppScreen.kt775 mutableStateOf(BaseAppScreen.getInstallDialogState(appId) ?: app.gamenative.ui.component.dialog.state.MessagCODE
CRITICAL…amenative/ui/screen/library/appscreen/EpicAppScreen.kt780 installDialogState = state ?: app.gamenative.ui.component.dialog.state.MessageDialogState(false)CODE
CRITICAL…amenative/ui/screen/library/appscreen/EpicAppScreen.kt786 mutableStateOf(getGameManagerDialogState(gameId) ?: app.gamenative.ui.component.dialog.state.GameManagerDialCODE
CRITICAL…amenative/ui/screen/library/appscreen/EpicAppScreen.kt791 gameManagerDialogState = state ?: app.gamenative.ui.component.dialog.state.GameManagerDialogState(faCODE
CRITICAL…amenative/ui/screen/library/appscreen/EpicAppScreen.kt843 app.gamenative.ui.component.dialog.MessageDialog(CODE
CRITICAL…amenative/ui/screen/library/appscreen/EpicAppScreen.kt857 app.gamenative.ui.component.dialog.EpicGameManagerDialog(CODE
CRITICAL…amenative/ui/screen/library/appscreen/BaseAppScreen.kt1297 app.gamenative.data.GameSource.EPIC -> app.gamenative.service.epic.EpicService.getDownloadInfo(displayInfo.gCODE
CRITICAL…amenative/ui/screen/library/appscreen/BaseAppScreen.kt1298 app.gamenative.data.GameSource.GOG -> app.gamenative.service.gog.GOGService.getDownloadInfo(displayInfo.gameCODE
CRITICAL…amenative/ui/screen/library/appscreen/BaseAppScreen.kt1300 app.gamenative.data.GameSource.AMAZON -> app.gamenative.service.amazon.AmazonService.getDownloadInfoByAppId(CODE
CRITICAL…amenative/ui/screen/library/appscreen/BaseAppScreen.kt1326 app.gamenative.ui.screen.library.AppScreenContent(CODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt2424 androidx.compose.ui.graphics.Color.Black.copy(alpha = 0.6f),CODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt2601 app.gamenative.ui.component.dialog.ElementEditorDialog(CODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt2617 app.gamenative.ui.component.dialog.TouchGestureSettingsDialog(CODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt2632 app.gamenative.ui.component.dialog.ShooterModeSettingsDialog(CODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt2732 .background(androidx.compose.ui.graphics.Color.Black.copy(alpha = 0.95f))CODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt2734 app.gamenative.ui.component.dialog.PhysicalControllerConfigSection(CODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt2813 color = androidx.compose.ui.graphics.Color.Black.copy(alpha = 0.8f),CODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt2824 tint = androidx.compose.ui.graphics.Color.White.copy(alpha = 0.7f),CODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt3727 app.gamenative.service.amazon.AmazonService.getProductIdByAppId(appIdInt)CODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt3732 app.gamenative.service.amazon.AmazonService.getInstallPathByAppId(appIdInt)CODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt3824 app.gamenative.service.amazon.AmazonService.getAmazonGameOf(productId)CODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt3853 app.gamenative.service.amazon.AmazonService.getInstance()CODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt3858 app.gamenative.service.amazon.AmazonSdkManager.ensureSdkFiles(context, sdkToken)CODE
CRITICAL…src/main/java/app/gamenative/ui/model/MainViewModel.kt612 val syncSuccess = app.gamenative.service.gog.GOGService.syncCloudSaves(CODE
CRITICAL…/main/java/app/gamenative/ui/model/LibraryViewModel.kt468 if (app.gamenative.service.gog.GOGService.hasStoredCredentials(context)) {CODE
CRITICAL…/main/java/app/gamenative/ui/model/LibraryViewModel.kt470 app.gamenative.service.gog.GOGService.triggerLibrarySync(context)CODE
CRITICAL…a/app/gamenative/service/epic/EpicCloudSavesManager.kt955 val fileManifest = app.gamenative.service.epic.manifest.FileManifest()CODE
CRITICAL…a/app/gamenative/service/epic/EpicCloudSavesManager.kt987 val chunkPart = app.gamenative.service.epic.manifest.ChunkPart(CODE
CRITICAL…a/app/gamenative/service/epic/EpicCloudSavesManager.kt1056 val chunkInfo = app.gamenative.service.epic.manifest.ChunkInfo()CODE
CRITICAL…a/app/gamenative/service/epic/EpicCloudSavesManager.kt1163 val manifest = app.gamenative.service.epic.manifest.BinaryManifest()CODE
10 more matches not shown…
Decorative Section Separators174 hits · 576 pts
SeverityFileLineSnippetContext
MEDIUM…ava/app/gamenative/ui/component/FpsLimiterUtilsTest.kt9 // ── fpsLimiterSteps ──────────────────────────────────────────────────────COMMENT
MEDIUM…ava/app/gamenative/ui/component/FpsLimiterUtilsTest.kt58 // ── fpsLimiterCurrentIndex ────────────────────────────────────────────────COMMENT
MEDIUM…ava/app/gamenative/ui/component/FpsLimiterUtilsTest.kt92 // ── nextFpsLimiterValue ───────────────────────────────────────────────────COMMENT
MEDIUM…ava/app/gamenative/ui/component/FpsLimiterUtilsTest.kt120 // ── previousFpsLimiterValue ───────────────────────────────────────────────COMMENT
MEDIUM…ava/app/gamenative/ui/component/FpsLimiterUtilsTest.kt145 // ── fpsLimiterProgress ────────────────────────────────────────────────────COMMENT
MEDIUM…st/java/app/gamenative/workshop/WorkshopManagerTest.kt36 // ── Helper ──────────────────────────────────────────────────────────COMMENT
MEDIUM…st/java/app/gamenative/workshop/WorkshopManagerTest.kt97 // ── parseEnabledIds ─────────────────────────────────────────────────COMMENT
MEDIUM…st/java/app/gamenative/workshop/WorkshopManagerTest.kt138 // ── cleanupUnsubscribedItems ────────────────────────────────────────COMMENT
MEDIUM…st/java/app/gamenative/workshop/WorkshopManagerTest.kt188 // ── getItemsNeedingSync ─────────────────────────────────────────────COMMENT
MEDIUM…st/java/app/gamenative/workshop/WorkshopManagerTest.kt276 // ── updateMarkerTimestamps ──────────────────────────────────────────COMMENT
MEDIUM…st/java/app/gamenative/workshop/WorkshopManagerTest.kt337 // ── configureModSymlinks: deselected mod cleanup ────────────────────COMMENT
MEDIUM…st/java/app/gamenative/workshop/WorkshopManagerTest.kt495 // ── fixItemFileNames ────────────────────────────────────────────────COMMENT
MEDIUM…test/java/app/gamenative/service/SteamAutoCloudTest.kt1854 // ── Sync decision tests ──────────────────────────────────────────────COMMENT
MEDIUM…test/java/app/gamenative/service/SteamAutoCloudTest.kt2814 // ── Reconciliation of never-synced cloud files ───────────────────────COMMENT
MEDIUMapp/src/test/java/com/winlator/core/FileUtilsTest.kt13 // ── readFirstLine ─────────────────────────────────────────────────────────COMMENT
MEDIUM…src/test/java/com/winlator/xenvironment/ImageFsTest.kt30 // ── shared dir ────────────────────────────────────────────────────────────COMMENT
MEDIUM…src/test/java/com/winlator/xenvironment/ImageFsTest.kt61 // ── getVariant ────────────────────────────────────────────────────────────COMMENT
MEDIUM…src/test/java/com/winlator/xenvironment/ImageFsTest.kt90 // ── getVersion ────────────────────────────────────────────────────────────COMMENT
MEDIUM…src/main/java/app/gamenative/ui/component/QuickMenu.kt800 // ── FPS Limiter (topmost) ────────────────────────────────────────COMMENT
MEDIUM…src/main/java/app/gamenative/ui/component/QuickMenu.kt842 // ── Performance HUD ──────────────────────────────────────────────COMMENT
MEDIUM…src/main/java/app/gamenative/ui/component/QuickMenu.kt1143 // ── Multiplier (Off / 2x / 3x / 4x) ───────────────────────────────COMMENT
MEDIUM…src/main/java/app/gamenative/ui/component/QuickMenu.kt1171 // ── Flow Scale ────────────────────────────────────────────COMMENT
MEDIUM…src/main/java/app/gamenative/ui/component/QuickMenu.kt1190 // ── Performance Mode ──────────────────────────────────────COMMENT
MEDIUM…amenative/ui/component/dialog/WorkshopManagerDialog.kt540// ── Folder Picker Dialog ──────────────────────────────────────────────────────COMMENT
MEDIUM…amenative/ui/component/dialog/WorkshopManagerDialog.kt638 // ── Header ──────────────────────────────────────────COMMENT
MEDIUM…amenative/ui/component/dialog/WorkshopManagerDialog.kt685 // ── Back navigation bar (only when browsing) ────────COMMENT
MEDIUM…amenative/ui/component/dialog/WorkshopManagerDialog.kt732 // ── Content ─────────────────────────────────────────COMMENT
MEDIUM…amenative/ui/component/dialog/WorkshopManagerDialog.kt878 // ── Footer ──────────────────────────────────────────COMMENT
MEDIUM…/gamenative/ui/component/dialog/AmazonInstallDialog.kt88 // ── Hero section ──────────────────────────────────────────────COMMENT
MEDIUM…/gamenative/ui/component/dialog/AmazonInstallDialog.kt199 // ── Bottom: size summary + action buttons ─────────────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt112 // ═══════════════════════════════════════════════════════════COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt113 // ── Single Finger ──────────────────────────────────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt114 // ═══════════════════════════════════════════════════════════COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt123 // ── Tap (customisable action) ───────────────────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt204 // ═══════════════════════════════════════════════════════════COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt205 // ── Two Finger ─────────────────────────────────────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt206 // ═══════════════════════════════════════════════════════════COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt215 // ── Two-Finger Tap (customisable action) ─────────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt283 // ═══════════════════════════════════════════════════════════COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt284 // ── Three Finger ───────────────────────────────────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt285 // ═══════════════════════════════════════════════════════════COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt294 // ── Three-Finger Tap (customisable action) ──────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt344 // ═══════════════════════════════════════════════════════════COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt345 // ── Other ──────────────────────────────────────────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt346 // ═══════════════════════════════════════════════════════════COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt355 // ── Gesture Threshold ────────────────────────────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt152 // ── Double-Tap (fixed action, customisable delay) ────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt167 // ── Long Press (customisable action + delay) ─────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt191 // ── Drag (customisable action) ──────────────────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt228 // ── Two-Finger Hold (customisable action + delay) ────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt252 // ── Two-Finger Drag (customisable action) ────────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt265 // ── Pinch In/Out (customisable action) ───────────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt307 // ── Three-Finger Hold (customisable action + delay) ─────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt331 // ── Three-Finger Drag (customisable action) ─────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt376 // ── Show Click Highlight ─────────────────────────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt407// ── Helper composables / functions ───────────────────────────────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt556// ── Categorized action picker for tap/hold gestures ─────────────────────COMMENT
MEDIUM…enative/ui/screen/library/appscreen/AmazonAppScreen.kt104 // ── BaseAppScreen contract ─────────────────────────────────────────────COMMENT
MEDIUM…java/app/gamenative/ui/screen/xserver/XServerScreen.kt3740 // ── Try fuel.json first (Amazon's launch manifest) ──────────────COMMENT
MEDIUM…java/app/gamenative/ui/screen/xserver/XServerScreen.kt3814 // ── Set FuelPump environment variables (P3-2) ────────────────COMMENT
114 more matches not shown…
Over-Commented Block365 hits · 294 pts
SeverityFileLineSnippetContext
LOW…java/app/gamenative/ui/screen/library/LibraryScreen.kt501 }COMMENT
LOW…c/main/java/app/gamenative/workshop/WorkshopManager.kt2801 }COMMENT
LOW…c/main/java/app/gamenative/workshop/WorkshopManager.kt2821 // clear all ISteamUGC sources.COMMENT
LOW…c/main/java/app/gamenative/workshop/WorkshopManager.kt3461 // any symlinks in the game tree that point into the workshop contentCOMMENT
LOW…c/main/java/app/gamenative/workshop/WorkshopManager.kt3721 } catch (e: Exception) {COMMENT
LOW…main/java/app/gamenative/workshop/WorkshopSymlinker.kt101 }COMMENT
LOW…p/src/main/java/app/gamenative/service/SteamService.kt2661// if (BuildConfig.DEBUG) {COMMENT
LOW…ava/app/gamenative/service/epic/EpicDownloadManager.kt681 // This matches the format in legendary/models/chunk.pyCOMMENT
LOWapp/src/main/java/com/winlator/core/AppUtils.java141 // if (context instanceof Activity) {COMMENT
LOWapp/src/main/java/com/winlator/core/AppUtils.java161 // globalToastReference = new WeakReference<>(toast);COMMENT
LOWapp/src/main/java/com/winlator/core/AppUtils.java181 // else {COMMENT
LOWapp/src/main/java/com/winlator/core/AppUtils.java201 // popupWindow.update();COMMENT
LOWapp/src/main/java/com/winlator/core/AppUtils.java301 // tabLayout.addOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {COMMENT
LOW…ator/xenvironment/components/SteamClientComponent.java61 // ((ALSAClient)client.getTag()).release();COMMENT
LOW…ironment/components/GuestProgramLauncherComponent.java201 // ImageFs imageFs = environment.getImageFs();COMMENT
LOW…ironment/components/GuestProgramLauncherComponent.java221 // // Files.createDirectories(dllsDir);COMMENT
LOW…/com/winlator/xserver/extensions/XInput2Extension.java141 try (XStreamLock lock = outputStream.lock()) {COMMENT
LOW…/com/winlator/xserver/extensions/XInput2Extension.java181 } else {COMMENT
LOW…/com/winlator/xserver/extensions/XInput2Extension.java241 }COMMENT
LOW…/com/winlator/xserver/extensions/XInput2Extension.java301 namePad +COMMENT
LOW…/com/winlator/xserver/extensions/XInput2Extension.java321 outputStream.writeByte(RESPONSE_CODE_SUCCESS); // repTypeCOMMENT
LOWapp/src/main/cpp/asurfacerenderer/blit_converter.h1#ifndef BLIT_CONVERTER_HCOMMENT
LOWapp/src/main/cpp/asurfacerenderer/blit_converter.h21// its lifetime. All EGL/GL operations are posted to that thread, so callersCOMMENT
LOW…/main/cpp/asurfacerenderer/ASurfaceRendererContext.cpp1#include "ASurfaceRendererContext.h"COMMENT
LOW…/main/cpp/asurfacerenderer/ASurfaceRendererContext.cpp21using namespace std::chrono;COMMENT
LOWapp/src/main/cpp/asurfacerenderer/ahbimage.c1#include <jni.h>COMMENT
LOW…rc/main/cpp/asurfacerenderer/ASurfaceRendererContext.h1#pragma onceCOMMENT
LOWapp/src/main/cpp/asurfacerenderer/blit_converter.cpp1#include "blit_converter.h"COMMENT
LOWapp/src/main/cpp/asurfacerenderer/drawable.c1#include <jni.h>COMMENT
LOWapp/src/main/cpp/proot/talloc/talloc.c41#ifdef HAVE_VALGRIND_MEMCHECK_HCOMMENT
LOWapp/src/main/cpp/proot/talloc/talloc.c101#if (__GNUC__ >= 3)COMMENT
LOWapp/src/main/cpp/proot/talloc/talloc.h81COMMENT
LOWapp/src/main/cpp/proot/talloc/talloc.h1921#if TALLOC_DEPRECATEDCOMMENT
LOWapp/src/main/cpp/proot/src/compat.h21 */COMMENT
LOWapp/src/main/cpp/proot/src/compat.h41# endifCOMMENT
LOWapp/src/main/cpp/proot/src/compat.h61# define AT_SYMLINK_FOLLOW 0x400COMMENT
LOWapp/src/main/cpp/proot/src/compat.h81# ifndef PTRACE_GETFPREGSCOMMENT
LOWapp/src/main/cpp/proot/src/compat.h101# endifCOMMENT
LOWapp/src/main/cpp/proot/src/compat.h121# define PTRACE_O_TRACEVFORK 0x00000004COMMENT
LOWapp/src/main/cpp/proot/src/compat.h141# ifndef PTRACE_EVENT_VFORKCOMMENT
LOWapp/src/main/cpp/proot/src/compat.h161# define PTRACE_EVENT_SECCOMP2 8COMMENT
LOWapp/src/main/cpp/proot/src/compat.h181# define PTRACE_ARCH_PRCTL 30COMMENT
LOWapp/src/main/cpp/proot/src/compat.h201# ifndef SYS_ACCEPT4COMMENT
LOWapp/src/main/cpp/proot/src/compat.h221# endifCOMMENT
LOWapp/src/main/cpp/proot/src/compat.h241# define MAP_FIXED 0x10COMMENT
LOWapp/src/main/cpp/proot/src/compat.h261# ifndef SYS_SECCOMPCOMMENT
LOWapp/src/main/cpp/proot/src/attribute.h21 */COMMENT
LOWapp/src/main/cpp/proot/src/arch.h21 */COMMENT
LOWapp/src/main/cpp/proot/src/arch.h41 #define ARCH_ARM64 1COMMENT
LOWapp/src/main/cpp/proot/src/arch.h61 #define OFFSETOF_STAT_UID_32 0COMMENT
LOWapp/src/main/cpp/proot/src/arch.h81 #define AUDIT_ARCH_AARCH64 (EM_AARCH64 | __AUDIT_ARCH_64BIT | __AUDIT_ARCH_LE)COMMENT
LOWapp/src/main/cpp/proot/src/execve/auxv.c21 */COMMENT
LOWapp/src/main/cpp/proot/src/execve/enter.c21 */COMMENT
LOWapp/src/main/cpp/proot/src/execve/exit.c21 */COMMENT
LOWapp/src/main/cpp/proot/src/execve/elf.c21 */COMMENT
LOWapp/src/main/cpp/proot/src/ptrace/ptrace.c21 */COMMENT
LOWapp/src/main/cpp/proot/src/ptrace/wait.c21 */COMMENT
LOWapp/src/main/cpp/proot/src/path/canon.c21 */COMMENT
LOWapp/src/main/cpp/proot/src/path/binding.c21 */COMMENT
LOWapp/src/main/cpp/proot/src/path/path.c21 */COMMENT
305 more matches not shown…
Verbosity Indicators39 hits · 60 pts
SeverityFileLineSnippetContext
LOW…est/java/app/gamenative/utils/BestConfigServiceTest.kt473 // So we need to check if the parsing logic handles this correctlySTRING
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt508 // Step 1: Call replaceSteamApi()COMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt534 // Step 2: Call restoreSteamApi()COMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt552 // Step 1: Initial Setup - Create fake steam app structureCOMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt601 // Step 2: Call replaceSteamClientDll (First Time)COMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt671 // Step 3: Call replaceSteamApiCOMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt742 // Step 4: Call replaceSteamClientDll (Second Time)COMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt792 // Step 1: Initial Setup - Create fake steam app structureCOMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt846 // Step 2: Call replaceSteamClientDll (First Time)COMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt897 // Step 3: Call restoreSteamApiCOMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt929 // Step 4: Call replaceSteamClientDll (Second Time)COMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt984 // Step 1: Initial Setup - Create fake steam app structureCOMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt1038 // Step 2: Call replaceSteamApi (First Time)COMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt1126 // Step 3: Call restoreSteamApiCOMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt1156 // Step 4: Call replaceSteamApi (Second Time)COMMENT
LOW…rc/main/java/app/gamenative/utils/BestConfigService.kt824 // Step 1: Filter config based on match type, then apply GPU-family overridesCOMMENT
LOW…rc/main/java/app/gamenative/utils/BestConfigService.kt829 // Step 2: check for unavailable component versionsCOMMENT
LOW…rc/main/java/app/gamenative/utils/BestConfigService.kt840 // Step 3: Build map with only fields present in filteredJson (not defaults)COMMENT
LOW…p/src/main/java/app/gamenative/service/SteamService.kt3031 // Step 1: Get access tokens for all DLC appIds at onceCOMMENT
LOW…p/src/main/java/app/gamenative/service/SteamService.kt3041 // Step 2: Filter to only appIds that have tokens (we own them)COMMENT
LOW…p/src/main/java/app/gamenative/service/SteamService.kt3051 // Step 3: Create PICSRequests for all owned appIdsCOMMENT
LOW…p/src/main/java/app/gamenative/service/SteamService.kt3061 // Step 4: Query PICS for all apps at once (batch them)COMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt148 // Step 1: Get available builds — prefer Gen 2, fall back to Gen 1 (legacy)COMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt183 // Step 2: Fetch main manifestCOMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt221 // Step 3: Filter depots by container language (parser resolves to GOG codes and tries English fallback)COMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt243 // Step 4: Fetch depot manifests to get file listsCOMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt273 // Step 5: Separate base game, DLC, and support filesCOMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt326 // Step 6: Calculate sizes and extract chunk hashesCOMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt343 // Step 7: Get secure CDN links for chunksCOMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt477 // Step 11: CleanupCOMMENT
LOWapp/src/main/cpp/winlator/gpu_helper.c78 // Step 1: Dynamic load Vulkan for maximum compatibilityCOMMENT
LOWapp/src/main/cpp/winlator/gpu_helper.c96 // Step 2: Query the maximum supported API versionCOMMENT
LOWapp/src/main/cpp/winlator/gpu_helper.c103 // Step 3: Create Vulkan instance with detected API versionCOMMENT
LOWapp/src/main/cpp/winlator/gpu_helper.c129 // Step 4: Get instance-level function pointersCOMMENT
LOWapp/src/main/cpp/winlator/gpu_helper.c146 // Step 5: Enumerate physical devicesCOMMENT
LOWapp/src/main/cpp/winlator/gpu_helper.c168 // Step 6: Select the best physical deviceCOMMENT
LOWapp/src/main/cpp/winlator/gpu_helper.c201 // Step 7: Enumerate device extensionsCOMMENT
LOWapp/src/main/cpp/winlator/gpu_helper.c248 // Step 8: Create Java String array and populateCOMMENT
LOWapp/src/main/cpp/winlator/gpu_helper.c273 // Step 9: Cleanup and returnCOMMENT
Structural Annotation Overuse38 hits · 60 pts
SeverityFileLineSnippetContext
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt508 // Step 1: Call replaceSteamApi()COMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt534 // Step 2: Call restoreSteamApi()COMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt552 // Step 1: Initial Setup - Create fake steam app structureCOMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt601 // Step 2: Call replaceSteamClientDll (First Time)COMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt671 // Step 3: Call replaceSteamApiCOMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt742 // Step 4: Call replaceSteamClientDll (Second Time)COMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt792 // Step 1: Initial Setup - Create fake steam app structureCOMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt846 // Step 2: Call replaceSteamClientDll (First Time)COMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt897 // Step 3: Call restoreSteamApiCOMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt929 // Step 4: Call replaceSteamClientDll (Second Time)COMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt984 // Step 1: Initial Setup - Create fake steam app structureCOMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt1038 // Step 2: Call replaceSteamApi (First Time)COMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt1126 // Step 3: Call restoreSteamApiCOMMENT
LOW…/java/app/gamenative/utils/SteamUtilsFileSearchTest.kt1156 // Step 4: Call replaceSteamApi (Second Time)COMMENT
LOW…rc/main/java/app/gamenative/utils/BestConfigService.kt824 // Step 1: Filter config based on match type, then apply GPU-family overridesCOMMENT
LOW…rc/main/java/app/gamenative/utils/BestConfigService.kt829 // Step 2: check for unavailable component versionsCOMMENT
LOW…rc/main/java/app/gamenative/utils/BestConfigService.kt840 // Step 3: Build map with only fields present in filteredJson (not defaults)COMMENT
LOW…p/src/main/java/app/gamenative/service/SteamService.kt3031 // Step 1: Get access tokens for all DLC appIds at onceCOMMENT
LOW…p/src/main/java/app/gamenative/service/SteamService.kt3041 // Step 2: Filter to only appIds that have tokens (we own them)COMMENT
LOW…p/src/main/java/app/gamenative/service/SteamService.kt3051 // Step 3: Create PICSRequests for all owned appIdsCOMMENT
LOW…p/src/main/java/app/gamenative/service/SteamService.kt3061 // Step 4: Query PICS for all apps at once (batch them)COMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt148 // Step 1: Get available builds — prefer Gen 2, fall back to Gen 1 (legacy)COMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt183 // Step 2: Fetch main manifestCOMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt221 // Step 3: Filter depots by container language (parser resolves to GOG codes and tries English fallback)COMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt243 // Step 4: Fetch depot manifests to get file listsCOMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt273 // Step 5: Separate base game, DLC, and support filesCOMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt326 // Step 6: Calculate sizes and extract chunk hashesCOMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt343 // Step 7: Get secure CDN links for chunksCOMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt477 // Step 11: CleanupCOMMENT
LOWapp/src/main/cpp/winlator/gpu_helper.c78 // Step 1: Dynamic load Vulkan for maximum compatibilityCOMMENT
LOWapp/src/main/cpp/winlator/gpu_helper.c96 // Step 2: Query the maximum supported API versionCOMMENT
LOWapp/src/main/cpp/winlator/gpu_helper.c103 // Step 3: Create Vulkan instance with detected API versionCOMMENT
LOWapp/src/main/cpp/winlator/gpu_helper.c129 // Step 4: Get instance-level function pointersCOMMENT
LOWapp/src/main/cpp/winlator/gpu_helper.c146 // Step 5: Enumerate physical devicesCOMMENT
LOWapp/src/main/cpp/winlator/gpu_helper.c168 // Step 6: Select the best physical deviceCOMMENT
LOWapp/src/main/cpp/winlator/gpu_helper.c201 // Step 7: Enumerate device extensionsCOMMENT
LOWapp/src/main/cpp/winlator/gpu_helper.c248 // Step 8: Create Java String array and populateCOMMENT
LOWapp/src/main/cpp/winlator/gpu_helper.c273 // Step 9: Cleanup and returnCOMMENT
TODO Padding16 hits · 35 pts
SeverityFileLineSnippetContext
LOWapp/src/main/java/com/winlator/core/PatchElf.java49 // TODO: implement these ops.COMMENT
LOWapp/src/main/cpp/winlator/patchelf_wrapper.cpp6 // TODO: implement createElfObject()COMMENT
LOWapp/src/main/cpp/winlator/patchelf_wrapper.cpp11 // TODO: implement destroyElfObject()COMMENT
LOWapp/src/main/cpp/winlator/patchelf_wrapper.cpp16 // TODO: implement isChanged()COMMENT
LOWapp/src/main/cpp/winlator/patchelf_wrapper.cpp21 // TODO: implement getInterpreter()COMMENT
LOWapp/src/main/cpp/winlator/patchelf_wrapper.cpp27 // TODO: implement setInterpreter()COMMENT
LOWapp/src/main/cpp/winlator/patchelf_wrapper.cpp32 // TODO: implement getOsAbi()COMMENT
LOWapp/src/main/cpp/winlator/patchelf_wrapper.cpp38 // TODO: implement replaceOsAbi()COMMENT
LOWapp/src/main/cpp/winlator/patchelf_wrapper.cpp43 // TODO: implement getSoName()COMMENT
LOWapp/src/main/cpp/winlator/patchelf_wrapper.cpp49 // TODO: implement replaceSoName()COMMENT
LOWapp/src/main/cpp/winlator/patchelf_wrapper.cpp54 // TODO: implement getRPath()COMMENT
LOWapp/src/main/cpp/winlator/patchelf_wrapper.cpp60 // TODO: implement addRPath()COMMENT
LOWapp/src/main/cpp/winlator/patchelf_wrapper.cpp66 // TODO: implement removeRPath()COMMENT
LOWapp/src/main/cpp/winlator/patchelf_wrapper.cpp71 // TODO: implement getNeeded()COMMENT
LOWapp/src/main/cpp/winlator/patchelf_wrapper.cpp77 // TODO: implement addNeeded()COMMENT
LOWapp/src/main/cpp/winlator/patchelf_wrapper.cpp83 // TODO: implement removeNeeded()COMMENT
Magic Placeholder Names2 hits · 15 pts
SeverityFileLineSnippetContext
HIGHapp/src/main/java/app/gamenative/utils/SteamGridDB.kt38 * The key should be added to local.properties as: STEAMGRIDDB_API_KEY=YOUR_API_KEYCOMMENT
HIGHapp/src/main/java/app/gamenative/utils/SteamGridDB.kt39 * Or set as an environment variable: STEAMGRIDDB_API_KEY=YOUR_API_KEYCOMMENT
AI Slop Vocabulary2 hits · 6 pts
SeverityFileLineSnippetContext
MEDIUMapp/src/main/java/app/gamenative/utils/ShortcutUtils.kt55 // Otherwise, fall back to median per channel to get a robust blended backgroundCOMMENT
MEDIUM…in/java/app/gamenative/service/amazon/AmazonService.kt66 // Active install paths keyed by Amazon product ID (used for robust partial-download detection)COMMENT
Slop Phrases2 hits · 4 pts
SeverityFileLineSnippetContext
LOWapp/src/main/cpp/proot/src/tracee/tracee.c162 /* Don't forget to write its register cache back. */COMMENT
MEDIUM…n/cpp/virglrenderer/src/gallium/include/pipe/p_state.h604 * 'start' is implicitly 0 and 'count' is set as discussed above.COMMENT
Hyper-Verbose Identifiers3 hits · 3 pts
SeverityFileLineSnippetContext
LOW…n/java/com/winlator/sysvshm/SysVSHMRequestHandler.java11public class SysVSHMRequestHandler implements RequestHandler {CODE
LOW…n/java/com/winlator/xserver/XClientRequestHandler.java29public class XClientRequestHandler implements RequestHandler {CODE
LOW…n/java/com/winlator/alsaserver/ALSARequestHandler.java17public class ALSARequestHandler implements RequestHandler {CODE
Unused Imports3 hits · 3 pts
SeverityFileLineSnippetContext
LOW…lrenderer/src/gallium/auxiliary/util/u_format_parse.py32CODE
LOW…lrenderer/src/gallium/auxiliary/util/u_format_table.py3CODE
LOW…lrenderer/src/gallium/auxiliary/util/u_format_table.py36CODE
Fake / Example Data2 hits · 2 pts
SeverityFileLineSnippetContext
LOW…va/app/gamenative/ui/component/dialog/MessageDialog.kt101 message = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed " +CODE
LOW…va/app/gamenative/ui/component/dialog/MessageDialog.kt101 message = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed " +CODE
Deep Nesting1 hit · 1 pts
SeverityFileLineSnippetContext
LOW…lrenderer/src/gallium/auxiliary/util/u_format_parse.py275CODE