Skip to content

LevelMod project structure

DCxDemo edited this page Mar 8, 2023 · 3 revisions

LevelMod consist of 3 main parts:

  • d3d8.dll - a proxy library to hook functions, fix bugs and extend the original game
  • a set of modified QScripts
  • additional converted content, including custom levels (bsp, tdx files)

This design approach allows to:

  • use levelmod gameplay features without additional levels
  • easily restore the game to its vanilla state by removing the d3d8.dll file

Unlike previous standalone releases, Github version includes many gameplay features (double tap tricks, spine transfer, etc.), most of them are designed in a toggleable way, so player can disable unwanted changes via options menu. This resulted in a LevelMod.ini file found in the game folder.

d3d8.dll

The project produces a dynamic link library written in C++ and developed in Visual Studio 2022. Make sure to install DirectX SDK.

It is based on d3d8to9 project, hence it enables DirectX 9.0 rendering routines. It means that tools like ReShade are now fully functional in THPS3.

QScripts

QScripts are stored in Data\scripts\LevelMod to avoid conflicts with the original scripts. Script source code is provided, but it is compiled by currently unreleased QScriptEd tool.

Custom levels

Be aware that custom levels are NOT included in this repository. Download previous standalone release separately from Chapter-3.net, links are provided in the repo readme.

Original levels are stored in Data\levels folder, we kept this logic by adding a suffix to levels. Hence THPS1 levels are found in levels_th1, etc. Suffixes are as follows: th1, th2, th4, ug1, ug2, aw