mirror of
https://github.com/jmarshall23/Hellfire.git
synced 2026-08-11 23:40:51 +02:00
Merge branch 'main' of https://github.com/jmarshall23/Hellfire
This commit is contained in:
@@ -0,0 +1,61 @@
|
|||||||
|
# Hellfire Source Code Modernization
|
||||||
|
|
||||||
|
Experimental modernization work for the **Hellfire** source code, focused on restoring buildability on modern Windows systems and replacing legacy rendering paths with a small compatibility shim.
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
This project contains work-in-progress updates around the leaked Hellfire source code that appeared on archive.org, including:
|
||||||
|
|
||||||
|
- A `ddraw` compatibility shim
|
||||||
|
- Rendering redirected through **Direct3D 11**
|
||||||
|
- Early cleanup for modern Visual Studio builds
|
||||||
|
- `scroll.asm` converted/ported to C
|
||||||
|
- x86 assembly reduction for future x64 compatibility
|
||||||
|
|
||||||
|
## Goals
|
||||||
|
|
||||||
|
- Preserve the original game behavior as closely as possible
|
||||||
|
- Replace legacy DirectDraw usage with a D3D11-backed renderer
|
||||||
|
- Remove dependency on hand-written assembly where practical
|
||||||
|
- Make the code easier to debug, maintain, and eventually port
|
||||||
|
- Keep the original software-era rendering assumptions intact
|
||||||
|
|
||||||
|
## Current Features
|
||||||
|
|
||||||
|
### DirectDraw Shim
|
||||||
|
|
||||||
|
A custom `ddraw` layer has been added so the original code can continue using its old DirectDraw-style calls while internally rendering through Direct3D 11.
|
||||||
|
|
||||||
|
The goal is not to rewrite the renderer from scratch, but to provide a compatibility layer that lets the original code path survive while targeting a modern graphics API.
|
||||||
|
|
||||||
|
### `scroll.asm` Ported to C
|
||||||
|
|
||||||
|
The original `scroll.asm` routines have been ported to C.
|
||||||
|
|
||||||
|
This helps with:
|
||||||
|
|
||||||
|
- x64 compatibility
|
||||||
|
- easier debugging
|
||||||
|
- removing legacy calling convention issues
|
||||||
|
- reducing dependency on MASM/x86-only build paths
|
||||||
|
|
||||||
|
## Status
|
||||||
|
|
||||||
|
This is an experimental source restoration and modernization project.
|
||||||
|
|
||||||
|
Expected issues:
|
||||||
|
|
||||||
|
- Rendering bugs
|
||||||
|
- Palette/lighting mismatches
|
||||||
|
- Missing or incomplete DirectDraw behavior
|
||||||
|
- Timing differences
|
||||||
|
- Unported assembly routines
|
||||||
|
- Build configuration problems
|
||||||
|
|
||||||
|
## Legal Notice
|
||||||
|
|
||||||
|
This repository is for historical preservation, research, and compatibility work only.
|
||||||
|
|
||||||
|
No original game assets are included. You must own a legitimate copy of the game to use any required data files.
|
||||||
|
|
||||||
|
The original Hellfire source code and related assets remain the property of their respective copyright holders.
|
||||||
Reference in New Issue
Block a user