원클릭으로
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/