mirror of
https://github.com/jmarshall23/Hellfire.git
synced 2026-08-12 07:50:53 +02:00
62 lines
2.1 KiB
Markdown
62 lines
2.1 KiB
Markdown
# 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.
|