Repository Analysis

utkarshdalal/GameNative

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

5.0 Low AI signal View on GitHub

Analysis Overview

This report presents the forensic synthetic code analysis of utkarshdalal/GameNative, a Kotlin project with 10,153 GitHub stars. SynthScan v2.0 examined 395,769 lines of code across 1530 source files, recording 737 pattern matches distributed across 13 syntactic categories. The overall adjusted score of 5.0 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.0
Adjusted Score
5.0
Raw Score
100%
Time Factor
2026-08-28
Last Push
10.2K
Stars
Kotlin
Language
395.8K
Lines of Code
1.5K
Files
737
Pattern Hits
2026-08-29
Scan Date
0.06
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

This chart maps the temporal evolution of the adjusted synthetic code score across successive scan runs. An upward trajectory indicates ongoing incorporation of AI-generated code or expanding LLM-assisted scaffolding; a stable or declining trajectory may reflect active human refactoring, code removal, or the adoption of stricter authorship policies. The dashed secondary line (right axis) independently tracks total raw pattern hit count, which can diverge from the normalised score when codebase size changes significantly between scans.

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 83HIGH 2MEDIUM 179LOW 473

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 737 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 Indicators83 hits · 930 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.kt883 app.gamenative.ui.enums.SortOption.fromKey(keyValue)CODE
CRITICALapp/src/main/java/app/gamenative/PrefManager.kt887 app.gamenative.ui.enums.SortOption.fromOrdinal(ordinal)CODE
CRITICALapp/src/main/java/app/gamenative/PluviaApp.kt90 app.gamenative.service.gog.GOGConstants.init(this)CODE
CRITICALapp/src/main/java/app/gamenative/ui/PluviaMain.kt722 if (app.gamenative.service.gog.GOGService.hasStoredCredentials(context) &&CODE
CRITICALapp/src/main/java/app/gamenative/ui/PluviaMain.kt726 app.gamenative.service.gog.GOGService.start(context)CODE
CRITICALapp/src/main/java/app/gamenative/ui/PluviaMain.kt732 if (app.gamenative.service.epic.EpicService.hasStoredCredentials(context) &&CODE
CRITICALapp/src/main/java/app/gamenative/ui/PluviaMain.kt736 app.gamenative.service.epic.EpicService.start(context)CODE
CRITICALapp/src/main/java/app/gamenative/ui/PluviaMain.kt1988 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.kt1310 val gogLoggedIn = app.gamenative.service.gog.GOGAuthManager.hasStoredCredentials(context)CODE
CRITICAL…java/app/gamenative/ui/screen/library/LibraryScreen.kt1311 val epicLoggedIn = app.gamenative.service.epic.EpicAuthManager.hasStoredCredentials(context)CODE
CRITICAL…java/app/gamenative/ui/screen/library/LibraryScreen.kt1312 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.kt1516 app.gamenative.data.GameSource.EPIC -> app.gamenative.service.epic.EpicService.getDownloadInfo(displayInfo.gCODE
CRITICAL…amenative/ui/screen/library/appscreen/BaseAppScreen.kt1517 app.gamenative.data.GameSource.GOG -> app.gamenative.service.gog.GOGService.getDownloadInfo(displayInfo.gameCODE
CRITICAL…amenative/ui/screen/library/appscreen/BaseAppScreen.kt1519 app.gamenative.data.GameSource.AMAZON -> app.gamenative.service.amazon.AmazonService.getDownloadInfoByAppId(CODE
CRITICAL…amenative/ui/screen/library/appscreen/BaseAppScreen.kt1545 app.gamenative.ui.screen.library.AppScreenContent(CODE
CRITICAL…amenative/ui/screen/library/appscreen/BaseAppScreen.kt1555 immersiveMode = app.gamenative.ui.screen.library.ImmersiveModeUiState(CODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt3393 HorizontalDivider(color = androidx.compose.ui.graphics.Color.White.copy(alpha = 0.16f))CODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt3399 color = androidx.compose.ui.graphics.Color.White.copy(alpha = 0.86f),CODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt3405 color = androidx.compose.ui.graphics.Color.White.copy(alpha = 0.64f),CODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt4375 app.gamenative.service.amazon.AmazonService.getProductIdByAppId(appIdInt)CODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt4380 app.gamenative.service.amazon.AmazonService.getInstallPathByAppId(appIdInt)CODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt2718 androidx.compose.ui.graphics.Color.Black.copy(alpha = 0.6f),CODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt2889 app.gamenative.ui.component.dialog.ElementEditorDialog(CODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt2905 app.gamenative.ui.component.dialog.TouchGestureSettingsDialog(CODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt2920 app.gamenative.ui.component.dialog.ShooterModeSettingsDialog(CODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt3020 .background(androidx.compose.ui.graphics.Color.Black.copy(alpha = 0.95f))CODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt3022 app.gamenative.ui.component.dialog.PhysicalControllerConfigSection(CODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt3151 color = androidx.compose.ui.graphics.Color.Black.copy(alpha = 0.8f),CODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt3162 tint = androidx.compose.ui.graphics.Color.White.copy(alpha = 0.7f),CODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt3353 color = androidx.compose.ui.graphics.Color.Black.copy(alpha = 0.78f),CODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt3355 border = BorderStroke(1.dp, androidx.compose.ui.graphics.Color.White.copy(alpha = 0.18f)),CODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt3381 color = androidx.compose.ui.graphics.Color.White.copy(alpha = 0.72f),CODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt3423 else -> androidx.compose.ui.graphics.Color.White.copy(alpha = 0.44f)CODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt3430 color = androidx.compose.ui.graphics.Color.White.copy(alpha = 0.08f),CODE
CRITICAL…java/app/gamenative/ui/screen/xserver/XServerScreen.kt3463 color = androidx.compose.ui.graphics.Color.White.copy(alpha = 0.62f),CODE
23 more matches not shown…
Decorative Section Separators176 hits · 571 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.kt1979 // ── Sync decision tests ──────────────────────────────────────────────COMMENT
MEDIUM…test/java/app/gamenative/service/SteamAutoCloudTest.kt2947 // ── 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.kt1213 // ── FPS Limiter (topmost) ────────────────────────────────────────COMMENT
MEDIUM…src/main/java/app/gamenative/ui/component/QuickMenu.kt1253 // ── Performance HUD ──────────────────────────────────────────────COMMENT
MEDIUM…src/main/java/app/gamenative/ui/component/QuickMenu.kt1588 // ── Multiplier (Off / 2x / 3x / 4x) ───────────────────────────────COMMENT
MEDIUM…src/main/java/app/gamenative/ui/component/QuickMenu.kt1620 // ── Flow Scale ────────────────────────────────────────────COMMENT
MEDIUM…src/main/java/app/gamenative/ui/component/QuickMenu.kt1639 // ── Performance Mode ──────────────────────────────────────COMMENT
MEDIUM…src/main/java/app/gamenative/ui/component/QuickMenu.kt1650 // ── Present Mode (Mailbox / FIFO) ─────────────────────────COMMENT
MEDIUM…src/main/java/app/gamenative/ui/component/QuickMenu.kt1691 // ── Passthrough ────────────────────────────────────────────────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.kt113 // ═══════════════════════════════════════════════════════════COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt114 // ── Single Finger ──────────────────────────────────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt115 // ═══════════════════════════════════════════════════════════COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt124 // ── Tap (customisable action) ───────────────────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt205 // ═══════════════════════════════════════════════════════════COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt206 // ── Two Finger ─────────────────────────────────────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt207 // ═══════════════════════════════════════════════════════════COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt216 // ── Two-Finger Tap (customisable action) ─────────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt284 // ═══════════════════════════════════════════════════════════COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt285 // ── Three Finger ───────────────────────────────────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt286 // ═══════════════════════════════════════════════════════════COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt295 // ── Three-Finger Tap (customisable action) ──────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt345 // ═══════════════════════════════════════════════════════════COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt346 // ── Other ──────────────────────────────────────────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt347 // ═══════════════════════════════════════════════════════════COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt356 // ── Gesture Threshold ────────────────────────────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt153 // ── Double-Tap (fixed action, customisable delay) ────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt168 // ── Long Press (customisable action + delay) ─────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt192 // ── Drag (customisable action) ──────────────────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt229 // ── Two-Finger Hold (customisable action + delay) ────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt253 // ── Two-Finger Drag (customisable action) ────────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt266 // ── Pinch In/Out (customisable action) ───────────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt308 // ── Three-Finger Hold (customisable action + delay) ─────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt332 // ── Three-Finger Drag (customisable action) ─────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt377 // ── Show Click Highlight ─────────────────────────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt408// ── Helper composables / functions ───────────────────────────────────────COMMENT
MEDIUM…tive/ui/component/dialog/TouchGestureSettingsDialog.kt558// ── Categorized action picker for tap/hold gestures ─────────────────────COMMENT
MEDIUM…enative/ui/screen/library/appscreen/AmazonAppScreen.kt104 // ── BaseAppScreen contract ─────────────────────────────────────────────COMMENT
116 more matches not shown…
Over-Commented Block370 hits · 298 pts
SeverityFileLineSnippetContext
LOW…test/java/app/gamenative/service/SteamAutoCloudTest.kt1981 // combinations of local save state and cloud save state.COMMENT
LOW…java/app/gamenative/ui/screen/xserver/XServerScreen.kt681 is GLRenderer -> applyScreenEffectsConfig(renderer, screenEffectsConfig)COMMENT
LOW…c/main/java/app/gamenative/workshop/WorkshopManager.kt2841 }COMMENT
LOW…c/main/java/app/gamenative/workshop/WorkshopManager.kt2861 //COMMENT
LOW…main/java/app/gamenative/workshop/WorkshopSymlinker.kt121 }COMMENT
LOW…p/src/main/java/app/gamenative/service/SteamService.kt2761 twoFactorAuth: String? = null,COMMENT
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
LOWapp/src/main/cpp/proot/src/path/glue.c21 */COMMENT
LOWapp/src/main/cpp/proot/src/cli/cli.c21 */COMMENT
310 more matches not shown…
Verbosity Indicators39 hits · 59 pts
SeverityFileLineSnippetContext
LOW…est/java/app/gamenative/utils/BestConfigServiceTest.kt471 // 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.kt876 // Step 1: Prepare the config using either device-adapted or value-preserving behaviorCOMMENT
LOW…rc/main/java/app/gamenative/utils/BestConfigService.kt887 // Step 2: check for unavailable component versionsCOMMENT
LOW…rc/main/java/app/gamenative/utils/BestConfigService.kt898 // Step 3: Build map with only fields present in filteredJson (not defaults)COMMENT
LOW…p/src/main/java/app/gamenative/service/SteamService.kt3138 // Step 1: Get access tokens for all DLC appIds at onceCOMMENT
LOW…p/src/main/java/app/gamenative/service/SteamService.kt3148 // Step 2: Filter to only appIds that have tokens (we own them)COMMENT
LOW…p/src/main/java/app/gamenative/service/SteamService.kt3158 // Step 3: Create PICSRequests for all owned appIdsCOMMENT
LOW…p/src/main/java/app/gamenative/service/SteamService.kt3168 // Step 4: Query PICS for all apps at once (batch them)COMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt154 // Step 1: Get available builds — prefer Gen 2, fall back to Gen 1 (legacy)COMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt189 // Step 2: Fetch main manifestCOMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt227 // Step 3: Filter depots by container language (parser resolves to GOG codes and tries English fallback)COMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt249 // Step 4: Fetch depot manifests to get file listsCOMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt279 // Step 5: Separate base game, DLC, and support filesCOMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt344 // Step 6: Calculate sizes and extract chunk hashesCOMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt361 // Step 7: Get secure CDN links for chunksCOMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt501 // 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 · 58 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.kt876 // Step 1: Prepare the config using either device-adapted or value-preserving behaviorCOMMENT
LOW…rc/main/java/app/gamenative/utils/BestConfigService.kt887 // Step 2: check for unavailable component versionsCOMMENT
LOW…rc/main/java/app/gamenative/utils/BestConfigService.kt898 // Step 3: Build map with only fields present in filteredJson (not defaults)COMMENT
LOW…p/src/main/java/app/gamenative/service/SteamService.kt3138 // Step 1: Get access tokens for all DLC appIds at onceCOMMENT
LOW…p/src/main/java/app/gamenative/service/SteamService.kt3148 // Step 2: Filter to only appIds that have tokens (we own them)COMMENT
LOW…p/src/main/java/app/gamenative/service/SteamService.kt3158 // Step 3: Create PICSRequests for all owned appIdsCOMMENT
LOW…p/src/main/java/app/gamenative/service/SteamService.kt3168 // Step 4: Query PICS for all apps at once (batch them)COMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt154 // Step 1: Get available builds — prefer Gen 2, fall back to Gen 1 (legacy)COMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt189 // Step 2: Fetch main manifestCOMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt227 // Step 3: Filter depots by container language (parser resolves to GOG codes and tries English fallback)COMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt249 // Step 4: Fetch depot manifests to get file listsCOMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt279 // Step 5: Separate base game, DLC, and support filesCOMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt344 // Step 6: Calculate sizes and extract chunk hashesCOMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt361 // Step 7: Get secure CDN links for chunksCOMMENT
LOW…/java/app/gamenative/service/gog/GOGDownloadManager.kt501 // 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.kt107 message = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed " +CODE
LOW…va/app/gamenative/ui/component/dialog/MessageDialog.kt107 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