ワンクリックで
d3d8-cross-compile-wine
Cross-compile D3D8-based game with MinGW, test on Wine with OpenGL translation
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Cross-compile D3D8-based game with MinGW, test on Wine with OpenGL translation
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Reverse engineer and recreate the Hamsterball game (2000s Windows game by Raptisoft)
Start GhidraMCP headless server with the Hamsterball.exe project — always do this before any RE work
Restore all function renames from FUNCTION_MAP.md back into a fresh Ghidra project after DB loss or re-import
Complete guide to using and extending Hermes Agent — CLI usage, setup, configuration, spawning additional agents, gateway platforms, skills, voice, tools, profiles, and a concise contributor reference. Load this skill when helping users configure Hermes, troubleshoot issues, spawn agent instances, or make code contributions.
Create hand-drawn style diagrams using Excalidraw JSON format. Generate .excalidraw files for architecture diagrams, flowcharts, sequence diagrams, concept maps, and more. Files can be opened at excalidraw.com or uploaded for shareable links.
54 production-quality design systems extracted from real websites. Load a template to generate HTML/CSS that matches the visual identity of sites like Stripe, Linear, Vercel, Notion, Airbnb, and more. Each template includes colors, typography, components, layout rules, and ready-to-use CSS values.
| name | d3d8-cross-compile-wine |
| description | Cross-compile D3D8-based game with MinGW, test on Wine with OpenGL translation |
| category | devops |
| tags | ["d3d8","mingw","wine","cross-compile","windows-gaming"] |
# Install MinGW-w64 cross-compiler
sudo apt install mingw-w64
# Install Wine for testing
sudo apt install wine
i686-w64-mingw32-gcc -std=c11 -m32 -O2 -Iinclude \
src/core/win32_main.c src/level/*.c \
-o hamsterball.exe \
-ld3d8 -ldinput8 -ldsound -ldxguid -lole32 -lwinmm -mwindows
// MUST include before dsound.h
#include <mmsystem.h>
#include <dsound.h>
// MinGW uses FullScreen_PresentationInterval, not PresentationInterval
present.FullScreen_PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE;
// D3DX math functions are NOT in d3d8.lib
// Use standard math:
#define D3DX_PI 3.14159265358979323846
// or manually implement:
D3DXVECTOR3 v = {x, y, z};
-ld3d8 -ldinput8 -ldsound -ldxguid -lole32 -lwinmm -mwindows
wine ./hamsterball.exe
WINEDEBUG=+d3d8 wine ./hamsterball.exe 2>&1 | grep -i "d3d"
Xvfb :99 -screen 0 1024x768x24 &
export DISPLAY=:99
wine ./hamsterball.exe
./scripts/test_api_compare.sh :99
Runs both original Hamsterball.exe and reimpl hamsterball.exe under Wine with WINEDEBUG=+d3d8,+dinput,+dsound tracing, captures traces and screenshots.
Hamsterball.exe (1.4MB PE32 i386) requires D3DCREATE_HARDWARE_VERTEXPROCESSINGD3DERR_NOTAVAILABLE — HAL device can't create without real GPU| Build | D3D8 Device | Window | 3D Scene |
|---|---|---|---|
| Original (Hamsterball.exe) | ❌ D3DERR_NOTAVAILABLE | Error dialog only | None |
| Reimpl (hamsterball.exe) | ✅ SW vertex processing | Clear color screen | Blank (no geometry yet) |
Screenshots and comparison docs: analysis/screenshots/comparison/