An SDK to create Mods for dhewm3
Find a file
Daniel Gibson 26c7865681 Fix renderlights loaded from savegames aliasing other lights
Some entities wrote the handle from gameRenderWorld->AddLightDef()
into savegames and reused it after restoring it.
That's a bad idea, because at that point the handle most likely belongs
to something else (likely some idLight). The most visible issue this
can create is that the flashlight may not work correctly after loading
a savegame with flashlight on, when it happens to alias a light that's
updated each frame to (mostly) being off..

The correct way to handle this (THAT FOR SOME REASON WAS ALREADY
IMPLEMENTED IN D3XP BUT NOT THE BASE GAME - WHY?!) is to get a fresh
handle with AddLightDef() when restoring a savegame - unless the handle
was -1, which means that the light didn't exist when saving.

fixes #495
2024-03-18 23:28:29 +01:00
cm Untangle the epic precompiled.h mess 2018-08-20 01:46:28 +02:00
d3xp Fix some ubsan warnings 2024-03-18 23:28:29 +01:00
framework Make sure MAX_OSPATH has sane size 2022-05-29 00:29:54 +02:00
game Fix renderlights loaded from savegames aliasing other lights 2024-03-18 23:28:29 +01:00
idlib Use idStr::Copynz() instead of strncpy() 2022-05-29 00:29:54 +02:00
MayaImport Make it build as SDK 2018-08-26 01:43:10 +02:00
renderer renderer/RenderSystem.h: Changes from dhewm3 2022-05-29 00:29:54 +02:00
sound Make it build as SDK 2018-08-26 01:43:10 +02:00
sys From dhewm3: Add absolute mouse mode and refactor mouse grabbing code 2022-05-29 00:29:54 +02:00
tools/compilers/aas Untangle the epic precompiled.h mess 2018-08-20 01:46:28 +02:00
ui Untangle the epic precompiled.h mess 2018-08-20 01:46:28 +02:00
.gitignore Make it build as SDK 2018-08-26 01:43:10 +02:00
CMakeLists.txt CMake: Fix D3_ARCH, theoretically support Windows on ARM 2022-05-29 00:29:54 +02:00
config.h.in Make it build as SDK 2018-08-26 01:43:10 +02:00
COPYING.txt Add GPLv3 COPYING.txt 2018-08-20 01:46:20 +02:00
README.md Changes to CMakeLists.txt and README for Fitz Packerton 2018-12-09 04:57:50 +01:00

Fitz Packerton

This is the source of the "Fitz Packerton" game by Brendon Chung, Teddy Dief, Ryan Cousins and Sarah Elmaleh, ported to the dhewm3 SDK.

The original source can be downloaded at http://blendogames.com/older.htm

Fitz Packerton is "A theatrical game about a man and the things he carries. Pack what you must. Pray you won't need it."

You can get the game at https://teddydief.itch.io/fitz

Fitz Packerton is actually an (experimental, short) standalone game, so you don't even need the Doom3 gamedata to run it, only the Fitz data linked above.

you could start it with ./dhewm3 +set fs_basepath /path/to/fitzpackerton/ +set fs_game fitz

How to build

(I should eventually expand this, especially for Windows)

On Linux and similar the following should work (if you have cmake, make and GCC/g++ installed):

  1. Clone the dhewm3-sdk git repo
  2. switch to your git clone's directory: cd dhewm3-sdk
  3. (optional: switch to an existing mods branch: git checkout dentonmod)
  4. create a build directory: mkdir build
  5. switch to build directory: cd build
  6. create Makefile with CMake: cmake ..
  7. compile the mod .so: make -j4
  8. it (e.g. fitz.so) should now be in the build/ directory, copy it to your dhewm3 install, where base.so and d3xp.so are
  9. start the game with that mod, like dhewm3 +set fs_game fitz

(Make sure to actually have the mods game data in the right directory as well; the directory name should be the same as the game lib name, but without .so/.dylib/.dll, for example dentonmod/ for dentonmod.so)

On Windows it should be kinda similar, but you have to tell CMake to create a Visual Studio solution for the VS version you're using, or Makefiles for MinGW-w64 or whatever.