Fix/cross compile win64#11
Open
nokia17092-ux wants to merge 6 commits into
Open
Conversation
Total conversion of DOOM 3 BFG Edition into a dark medieval FPS inspired by DOOM: The Dark Ages. Core Game Systems: - DarkAgesGame: Main game management with 25-level campaign across 5 acts - DarkAgesCombat: Advanced melee combat with combo chains, parries, dodges, shield blocking, backstabs, glory kills, and stamina management - DarkAgesRenderer: Rendering pipeline optimized for Intel HD 520 (120+ FPS) with dynamic resolution scaling, per-act atmospheres, quality presets - DarkAgesProgression: Soul Essence upgrade system with 24 upgrades across 4 categories (combat, defense, mobility, utility) Weapons (9 unique): - Dark Broadsword, War Mace, Battle Axe, Chain Flail (melee) - Heavy Crossbow, Throwing Axes (ranged) - Tower Shield (defensive) - Hellfire Staff (magic) - Great Hammer of Doom (super weapon) Enemies (12 types + 3 bosses): - Undead Soldiers, Dark Knights, Hell Hounds, Plague Sorcerers - Wraiths, Dark Cultists, Iron Golems, Fire Drakes - Boss: Siege Demon, Dragon King, The Dark Lord Level Design (25 maps): - Act I: The Fallen Kingdom (burning village, castle, crypt, forest, mountain) - Act II: The Dark Lands (cathedral, plague town, fortress, bone wastes) - Act III: The Underworld (frozen depths, lava forge, tombs, crystal caverns) - Act IV: The Cursed Realm (abbey, blood swamp, shadow maze, demon arena) - Act V: Hell's Domain (gates, soul river, fortress, throne, final stand) Content: - Complete material/shader definitions for medieval aesthetic - Particle effects and FX for combat, environment, bosses - Sound shader definitions for all weapons, enemies, environment - Full English string table with story/lore for all 5 acts - Game configuration optimized for ThinkPad T460s at 120+ FPS - Save/load system with progression persistence - CMake build system with Skylake CPU optimizations Engine Modifications: - Licensee.h: DARKAGES_BUILD preprocessor for game branding - Game_local.h: Dark Ages version string - Dynamic resolution scaling targeting 120+ FPS - Reduced shadow maps (512px), limited dynamic lights (4) - Aggressive LOD distances for Intel integrated GPU performance Co-Authored-By: nokia1709 <nokia17092@gmail.com>
- Custom game icon (sword+shield emblem, 16-256px sizes) in ICO format - Windows resource file (.rc) with icon and version info for EXE metadata - Updated Visual Studio project: Dark Ages sources, icon, output name DarkAges.exe - Added DARKAGES_BUILD preprocessor define to _Common.props - Updated CMakeLists.txt with RC compilation and portable packaging - CMake toolchain file for MinGW Windows cross-compilation - BUILD_DARKAGES.bat: one-click Visual Studio build script - BUILD_DARKAGES_CMAKE.bat: CMake alternative build script - build_windows.sh: Linux cross-compilation script Co-Authored-By: nokia1709 <nokia17092@gmail.com>
- sys_defines.h: GCC-compatible alignment, inlining, noreturn macros - sys_includes.h: conditional DirectX includes, x86intrin.h for GCC - sys_types.h: __builtin_unreachable() for GCC NODEFAULT - StrStatic.h: fix operator= calls via temporary idStr objects - Simd.cpp: GCC inline assembly for rdtsc timing - win_thread.cpp: wrap SEH in _MSC_VER guard - qgl.h: case-correct GL/gl.h include for Linux - Fix backslash include paths to forward slashes - snd_local.h: wrap XAudio2 includes in _MSC_VER guard - Toolchain file with MinGW compat flags - snapshot_jobs.h symlink for case-sensitive filesystems Co-Authored-By: nokia1709 <nokia17092@gmail.com>
…ges-total-conversion DOOM: The Dark Ages - Complete Medieval Total Conversion
- Add stub headers for MinGW compatibility (atlbase.h, Wbemidl.h, Windowsx.h, DxErr.h) - Fix x64 register names in win_main.cpp (Eax->Rax, etc.) - Remove MSVC inline assembly (clrstrk function) - Replace win_shared.cpp with stub implementation for GetCallerAddr, Sys_GetCallStack - Add missing include paths for framework headers - Fix forward declaration for idLobbyToSessionCBLocal - Fix GWL_WNDPROC -> GWLP_WNDPROC for x64 - Add missing includes (Console.h, KeyInput.h, EditField.h) - Fix precompiled.h path in win_stats.cpp - Copy icon for resource compilation
- Add DoomLibStubs.cpp with DoomInterface class, DoomLib namespace - Add MinGWStubs.cpp with JPEG, zlib, and sys stubs - Add Image_stub.cpp with idImage class stub - Add GLStubs.cpp with OpenGL function stubs - Add ZlibStubs.cpp with zlib compression stubs - Add JpegStubs.cpp with JPEG decompression stubs - Add EndLevel_stub.cpp for game logic stubs - Add MinGW.cmake toolchain configuration - Add build scripts for static libraries (libjpeg.a, libz.a, libglstubs.a, etc.) Build system changes: - Update CMakeLists.txt with Win64/MinGW support - Add cross-compilation flags and OpenGL linking
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.