ertuncozbay.dev/projects/pointblank-linux.html

157 lines
8.5 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Point Blank on Linux (Standalone Rust Launcher) — Projects — Ertunç Özbay</title>
<meta name="description" content="Point Blank on Linux by Ertunç Özbay: Standalone Linux desktop launcher written in Rust with 100% unmodified official CheatBlocker anti-cheat, automated Wine prefix provisioning, and DirectX 9 / DirectX 11 support.">
<link rel="icon" type="image/svg+xml" href="../assets/images/favicon.svg">
<link rel="stylesheet" href="../assets/css/style.css">
</head>
<body>
<a class="skip-link" href="#main-content">Skip to main content</a>
<header class="site-header">
<div class="container header-inner">
<a class="site-brand" href="../index.html">
<span class="brand-mark" aria-hidden="true">EÖ</span>
<span>
Ertunç Özbay
<span class="brand-subtitle">embedded // hardware // open-source</span>
</span>
</a>
<button class="nav-toggle" type="button" data-nav-toggle aria-expanded="false" aria-controls="primary-navigation">
<span aria-hidden="true">☰</span>
<span data-nav-label>Menu</span>
</button>
<nav id="primary-navigation" class="site-nav" data-site-nav aria-label="Main navigation">
<ul class="nav-list">
<li><a class="nav-link" href="../index.html">Home</a></li>
<li><a class="nav-link" href="../about.html">About</a></li>
<li><a class="nav-link" href="../projects/index.html" aria-current="page">Projects</a></li>
<li><a class="nav-link" href="../blog/index.html">Blog</a></li>
<li><a class="nav-link" href="../lab.html">Lab</a></li>
<li><a class="nav-link" href="../contact.html">Contact</a></li>
</ul>
</nav>
</div>
</header>
<main id="main-content">
<div class="container">
<nav class="breadcrumb" aria-label="Breadcrumb">
<a href="index.html">← Back to Projects</a>
</nav>
<article>
<header class="workshop-hero">
<div class="card-meta">
<span class="badge badge-coral">Status: v1.0.0 Released</span>
<span>Project 04 // Rust • Linux Systems • Wine &amp; DirectX 9/11</span>
</div>
<h1><span class="gradient-title">Point Blank on Linux — Standalone Community Launcher</span></h1>
<p class="hero-lead">
An all-in-one standalone Linux desktop launcher written in <strong>Rust</strong> that runs Point Blank (Zepetto / TAM Game) on Linux with <strong>100% unmodified official game files and native CheatBlocker anti-cheat</strong> (<code>CB.exe</code> + <code>CB.cbm</code>).
</p>
<p class="reading-width">
Built on Arch Linux without requiring Heroic, Lutris, or external wrappers—featuring automated Wine prefix &amp; Winetricks provisioning, 16-byte TLS-aligned runtime support for DirectX 11, multi-region authentication, and native 1920×1080 borderless fullscreen at 200 FPS.
</p>
<div class="button-row">
<a class="btn btn-primary" href="https://github.com/ertunc-ozbay/pointblank-linux" rel="noopener noreferrer">💻 View GitHub Repository</a>
<a class="btn btn-cyan" href="https://github.com/ertunc-ozbay/pointblank-linux/releases" rel="noopener noreferrer">📦 Download v1.0.0 Release</a>
<a class="btn btn-youtube" href="#poc-video">🎬 Watch PoC Video Slot</a>
</div>
</header>
<!-- YouTube Proof-of-Concept Video Placeholder -->
<section id="poc-video" class="poc-video-section" aria-labelledby="pb-video-heading">
<div class="poc-video-card">
<span class="section-label">🎬 Proof of Concept // YouTube Video Showcase</span>
<h2 id="pb-video-heading">YouTube Proof-of-Concept Demonstration</h2>
<!-- Ready-to-use YouTube Embed Placeholder: Replace src when uploaded -->
<div class="poc-video-screen" role="region" aria-label="YouTube Proof of Concept Video Placeholder">
<div class="poc-play-badge" aria-hidden="true">
<div class="poc-play-triangle"></div>
</div>
<span class="poc-status-pill">🎥 YouTube PoC Video — Recording / Coming Soon</span>
<div class="poc-video-title">Point Blank Running Natively on Arch Linux (DX11 / 200 FPS / Official CheatBlocker)</div>
<p class="poc-video-desc">
Upcoming YouTube proof-of-concept gameplay and setup walkthrough showing prefix auto-provisioning, DirectX 11 200 FPS performance on Linux, and unmodified CheatBlocker anti-cheat execution.
</p>
</div>
</div>
</section>
<section class="section-block reading-width" aria-labelledby="p4-overview">
<span class="section-label">01 // Systems Engineering Overview</span>
<h2 id="p4-overview">Solving Low-Level Windows-on-Linux Compatibility</h2>
<p>
Running legacy 32-bit/64-bit online Windows games with kernel/user-mode anti-cheat modules like CheatBlocker on Linux often fails due to unaligned Thread Local Storage (TLS) allocations in `ntdll.dll`, missing Visual C++ MFC redistributables, and broken WebView2 login flows.
</p>
<ul>
<li><strong>16-Byte TLS-Aligned Runtime for DirectX 11:</strong> Automatically provisions a 16-byte TLS-aligned `ntdll.dll` Wine runtime so both <strong>DirectX 9</strong> (`DXVersion = 9`) and <strong>DirectX 11</strong> (`DXVersion = 11`) render cleanly without crashes.</li>
<li><strong>One-Click Isolated Prefix Provisioning:</strong> Configures `~/.local/share/pointblank-linux/prefix` with `vcrun2022` (`mfc140.dll`, `msvcp140.dll`, `vcruntime140.dll`), `d3dx9_31..43`, `d3dcompiler_43`, `d3dx11_43`, and Edge WebView2 (`109.0.1518.78`).</li>
<li><strong>In-Game `F11` Borderless Fullscreen Helper:</strong> Compiles a lightweight MinGW-w64 helper utility for instant 1920×1080 borderless fullscreen switching at 200 FPS.</li>
</ul>
</section>
<section class="section-block reading-width" aria-labelledby="p4-specs">
<span class="section-label">02 // Technical Specifications</span>
<h2 id="p4-specs">Confirmed Capabilities &amp; Supported Distros</h2>
<table class="spec-table">
<thead>
<tr>
<th scope="col">Subsystem</th>
<th scope="col">Specification</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Primary Language</strong></td>
<td>Rust (Standalone Linux `x86_64` executable)</td>
</tr>
<tr>
<td><strong>Anti-Cheat Compatibility</strong></td>
<td>100% Unmodified Official CheatBlocker (`CB.exe` + `CB.cbm`)</td>
</tr>
<tr>
<td><strong>Render Pipelines</strong></td>
<td>DirectX 9 &amp; DirectX 11 (1920×1080 Borderless Fullscreen @ 200 FPS)</td>
</tr>
<tr>
<td><strong>Supported Linux Distributions</strong></td>
<td>Arch Linux / CachyOS / Manjaro, Ubuntu / Debian / Mint / Pop!_OS, Fedora / Nobara</td>
</tr>
<tr>
<td><strong>Source &amp; Binary Releases</strong></td>
<td><a href="https://github.com/ertunc-ozbay/pointblank-linux" rel="noopener noreferrer">github.com/ertunc-ozbay/pointblank-linux</a></td>
</tr>
</tbody>
</table>
</section>
</article>
</div>
</main>
<footer class="site-footer">
<div class="container footer-inner">
<div>
<strong>Ertunç Özbay</strong> — Electrical &amp; Electronics Engineering Student • <a href="mailto:ertuncozbayh@gmail.com">ertuncozbayh@gmail.com</a>
</div>
<ul class="footer-links" aria-label="Footer links">
<li><a href="../projects/index.html">Projects</a></li>
<li><a href="../blog/index.html">Blog</a></li>
<li><a href="../lab.html">Lab</a></li>
<li><a href="../contact.html">Contact</a></li>
<li><a href="https://github.com/ertunc-ozbay" rel="noopener noreferrer">GitHub</a></li>
<li><a href="https://www.linkedin.com/in/ertunc-ozbay" rel="noopener noreferrer">LinkedIn</a></li>
</ul>
</div>
</footer>
<script src="../assets/js/main.js"></script>
</body>
</html>