Skip to content

Commit

Permalink
Version 0.9.0
Browse files Browse the repository at this point in the history
  • Loading branch information
wesselfr committed May 18, 2023
0 parents commit c63a8db
Show file tree
Hide file tree
Showing 1,720 changed files with 538,923 additions and 0 deletions.
78 changes: 78 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
# Compiled source #
###################
*.com
*.class
*.dll
*.app
*.o
*.so
*.pyc
build

# Packages #
############
# it's better to unpack these files and commit the raw source
# git has its own built in compression methods
*.7z
*.dmg
*.gz
*.iso
*.jar
*.rar
*.tar
*.zip

# Logs and databases #
######################
*.log
*.sql
*.sqlite
*.dblite
*.bak

# OS generated files #
######################
.DS_Store
.DS_Store?
._*
.Spotlight-V100
.Trashes
Icon?
ehthumbs.db
Thumbs.db

# Xcode generated files #
#########################
# Note: committing these is optional
*.mode1v3
*.pbxuser
*xcworkspace*
*xcuserdata*

# VS Code #
###########
.vs/
.vscode/
*.vcxproj
*.vcxproj.filters
# Executables #
###############
*.app
*.pig
*.hog
d*x-rebirth
out/*

# CMAKE #
###############
CMakeFiles/*

# temp files, project files
*.temp
*.10x # 10x editor
tags # ctags files used with vim

# Somewhat niche, if one of the .bat files was used to copy back textures from the game build to the assets folder,
# I don't want to include the noise textures because they originated from the renderer's assets which are kept
# elsewhere.
d1/assets/textures/noise
92 changes: 92 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
# CMakeList.txt : Top-level CMake project file, do global configuration
# and include sub-projects here.
#
cmake_minimum_required (VERSION 3.13)
project ("DXX-Raytracer")
set (CMAKE_CXX_STANDARD 17)

set(CMAKE_C_COMPILER_ID, "MSVC")
set(CMAKE_CXX_COMPILER_ID, "MSVC")
set(BUILD_ARGS "-w" "dupbuild=warn")

#Version Control & Identification
message("Build the Descent 1")
add_compile_definitions(PUBLIC

#This enum decides if we are in the shipping build or not, this is for the future.
#SHIPPING_BUILD

D1X_RAYTRACER_NAME="D1X_RAYTRACER"

D1X_RAYTRACER_VERSION_MAJORi=0
D1X_RAYTRACER_VERSION_MINORi=9
D1X_RAYTRACER_VERSION_MICROi=0

#DXX-Retro last used version
DXX_VERSION_MAJORi=0
DXX_VERSION_MINORi=58
DXX_VERSION_MICROi=1

BASE_SCREEN_SIZE_X=1280
BASE_SCREEN_SIZE_Y=720
BASE_SCREEN_ASPECT_X=4
BASE_SCREEN_ASPECT_Y=3
BASE_SCREEN_WINDOWED=1
BASE_FPS_INDICATOR=1)

#compile Definitions.
if (WIN32)
add_compile_definitions(PUBLIC
_WIN32 WINDOWS_IGNORE_PACKING_MISMATCH
WIN32_LEAN_AND_MEAN
NOMINMAX
)
endif ()
if(DEFINED ENV{EDITOR})
message("Using editor")
add_compile_definitions(PUBLIC EDITOR)
endif()

if(${GRAPHICS_API} STREQUAL "DirectX12")
message("Render api is ${GRAPHICS_API}")
add_compile_definitions(PUBLIC RT_DX12)
elseif(${GRAPHICS_API} STREQUAL "OpenGL")
message("Render api is ${GRAPHICS_API}")
add_compile_definitions(PUBLIC OGL)
else()
message(FATAL_ERROR "No graphic API selected!")
endif()

if(CMAKE_BUILD_TYPE MATCHES Debug)
add_compile_definitions(PUBLIC
DEBUG
_DEBUG)
message(STATUS, "Build type selected: Debug")
elseif(CMAKE_BUILD_TYPE MATCHES RelWithDebInfo)
add_compile_definitions(PUBLIC
RELEASE
_RELEASE)
message(STATUS, "Build type selected: RelWithDebInfo")
elseif(CMAKE_BUILD_TYPE MATCHES Release)
add_compile_definitions(PUBLIC
RELEASE
_RELEASE
SHIPPING_BUILD)
message(STATUS, "Build type selected: Release")
else()
message(FATAL_ERROR, "No build type selected!")
endif()

if(DEFINED ENV{QUICK_START})
add_compile_definitions(PUBLIC QUICK_START)
message(STATUS "quick build selected, will immediatly go to level select.")
message(STATUS ${QUICKSTART})
else()
message(STATUS "normal build selected")
message(STATUS ${QUICKSTART})
endif()

add_subdirectory ("sdl-master")
add_subdirectory ("physfs-main")
add_subdirectory ("RT")
add_subdirectory ("d1")
83 changes: 83 additions & 0 deletions CMakePresets.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
{
"cmakeMinimumRequired": {
"major": 3,
"minor": 21,
"patch": 0
},
"version": 3,
"configurePresets": [
{
"hidden": true,
"name": "default",
"description": "default-for-all",
"generator": "Ninja",
"binaryDir": "${sourceDir}/out/build/${presetName}",
"cacheVariables": {
"CMAKE_INSTALL_PREFIX": "${sourceDir}/out/install/${presetName}"
}
},
{
"name": "directx12-win-ship",
"description": "The shipping build for descent.",
"inherits": "default",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release",
"GRAPHICS_API": "DirectX12"
}
},
{
"name": "directx12-win-debug",
"description": "Normal directx12 raytrace debug build.",
"inherits": "default",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"GRAPHICS_API": "DirectX12"
}
},
{
"name": "directx12-win-release",
"description": "Directx12_build",
"inherits": "default",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "RelWithDebInfo ",
"GRAPHICS_API": "DirectX12"
}
},
{
"name": "directx12-win-debug-quick",
"description": "Directx12_build that skips skips the menu",
"inherits": "directx12-win-debug",
"cacheVariables": {
"QUICK_START": "true",
"GRAPHICS_API": "DirectX12"
}
},
{
"name": "directx12-win-release-quick",
"description": "Directx12_build that skips skips the menu",
"inherits": "directx12-win-release",
"cacheVariables": {
"QUICK_START": "true",
"GRAPHICS_API": "DirectX12"
}
},
{
"name": "openGL-x64-debug",
"description": "OpenGL Build for x64, no x86 build exists",
"inherits": "default",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug",
"GRAPHICS_API": "OpenGL"
}
},
{
"name": "openGL-x64-release",
"description": "OpenGL Build for x64, no x86 build exists",
"inherits": "default",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release",
"GRAPHICS_API": "OpenGL"
}
}
]
}
44 changes: 44 additions & 0 deletions COPYING.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
DXX Retro is released under the D1X-Rebirth License

Preamble
--------

This License is designed to allow the Descent programming community to
continue to have the Descent source open and available to anyone.

Original Parallax License
-------------------------

THE COMPUTER CODE CONTAINED HEREIN IS THE SOLE PROPERTY OF PARALLAX
SOFTWARE CORPORATION ("PARALLAX"). PARALLAX, IN DISTRIBUTING THE CODE TO
END-USERS, AND SUBJECT TO ALL OF THE TERMS AND CONDITIONS HEREIN, GRANTS A
ROYALTY-FREE, PERPETUAL LICENSE TO SUCH END-USERS FOR USE BY SUCH END-USERS
IN USING, DISPLAYING, AND CREATING DERIVATIVE WORKS THEREOF, SO LONG AS
SUCH USE, DISPLAY OR CREATION IS FOR NON-COMMERCIAL, ROYALTY OR REVENUE
FREE PURPOSES. IN NO EVENT SHALL THE END-USER USE THE COMPUTER CODE
CONTAINED HEREIN FOR REVENUE-BEARING PURPOSES. THE END-USER UNDERSTANDS
AND AGREES TO THE TERMS HEREIN AND ACCEPTS THE SAME BY USE OF THIS FILE.
COPYRIGHT 1993-1998 PARALLAX SOFTWARE CORPORATION. ALL RIGHTS RESERVED.

We make no warranties as to the usability or correctness of this code.
-------------------------

The D1X-Rebirth project is the combination of the original Parallax code and the
modifications and additions made to source code. While the original code is
only under the Original Parallax License the D1X-Rebirth project contains original
code that was not made by Parallax. This ADDED and/or CHANGED code has the
following added restrictions:

1) By using this source you are agreeing to these terms.

2) D1X-Rebirth and derived works may only be modified if ONE of the following is done:

a) The modified version is placed under this license. The source
code used to create the modified version is freely and publicly
available under this license.

b) The modified version is only used by the developer.

3) D1X-REBIRTH IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
42 changes: 42 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
![scrn0000](https://github.com/BredaUniversityGames/DXX-Raytracer-dev/assets/34250026/f15332ca-9a68-4ed9-ac61-6c82edde27a0)

# DXX Raytracer
DXX Raytracer is a source port of the [DXX Retro](https://github.com/CDarrow/DXX-Retro) project for Windows. DXX Raytracer uses modern raytracing techniques to update the graphics of the beloved retro game known as Descent.

This build of the game uses the shareware assets. If you have bought the original version of Descent 1995, you can replace the descent.pig and descent.hog files
with your versions to play the whole game.

## Features
- Pathtracing
- Physically-based rendering
- Soft shadows
- Global illumination
- Bloom
- Temporal anti-aliasing
- Motion blur
- Post-processing (Vignette, tonemap, etc.)

## Instructions
- SHIFT + ALT + F1: Open debug menus, more on those below
- SHIFT + ALT + F2: Toggle depth testing for debug lines
- F1: Menu with important keybindings from the game
- ALT + F2: Save your game
- ALT + F3: Load a save game

## Debug Menus
- Render Settings: All kinds of graphics settings and debug utility for rendering
- GPU Profiler: A profiling tool to see how much time individual render passes took on the GPU
- Material Editor: Adjust material properties from any level
- Polymodel Viewer: Allows you to view a polymodel in the current scene.
- Dynamic Lights: Allows for tweaking of dynamic lights, like weapons, explosions, and muzzle flashes.
- Light Explorer: Allows for tweaking of individual lights, and adds ability to debug view lights in the level.

## Team
- [Sam Boots](https://github.com/samboots) - Lead Programmer/Graphics Programmer
- [Justin Kujawa](https://jkujawa.com/) - Graphics Programmer
- [Lyubomir Kostadinov](https://github.com/lyubokostadinov) - Graphics Programmer
- [Daniël Cornelisse](https://github.com/TheSandvichMaker) - Graphics Programmer
- [Stan Vogels](http://www.stanvogels.nl/) - Engine Programmer
- [Wessel Frijters](https://www.wesselfrijters.com/) - Engine Programmer
- [Kylian Dekker](https://www.kyliandekker.com/) - Engine Programmer/Audio Programmer
- [Lily Haverlag](https://flannyh.github.io/portfolio/) - Engine Programmer
13 changes: 13 additions & 0 deletions RT/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# CMakeList.txt : Cmake project for including the RT code
cmake_minimum_required (VERSION 3.8)

set(ENV{RT_EXT_CODE_DIR}
"${CMAKE_CURRENT_LIST_DIR}"
)

message("RT Dir is: $ENV{RT_EXT_CODE_DIR}")

add_subdirectory("Core")
target_include_directories(RT_CORE INTERFACE ${CMAKE_CURRENT_LIST_DIR})
add_subdirectory("Renderer/Backend/Common")
add_subdirectory("Renderer/Backend/DX12")
Loading

0 comments on commit c63a8db

Please sign in to comment.