Skip to content

Commit 190c391

Browse files
Merge Latest changes from master/ into here
2 parents 5b2424b + e728820 commit 190c391

File tree

719 files changed

+8302
-21845
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

719 files changed

+8302
-21845
lines changed

.github/CHANGELOG.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,11 @@ Note: Numbers starting with a "#" like #330 refer to the bugreport with that num
1414
It can also be opened while in the game, which then is paused (if Single Player) but still visible,
1515
so the effect of most graphics settings can be seen immediately.
1616
Needs SDL2 and C++11.
17+
* "Soft" Particles (that don't "cut" into geometry but fade smoothly), based on code from The Dark Mod
18+
2.04. Can be enabled/disabled with `r_useSoftParticles`, is applied automatically for all appropriate
19+
particles (view-aligned, using additive or alpha blending and not too small)
20+
* `r_enableDepthCapture`: Enable capturing depth buffer to texture, needed for the soft particles.
21+
Can be used in custom materials by using the `"_currentDepth"` texture
1722
* Replaced dependency on (external) zlib with integrated [miniz](https://github.com/richgel999/miniz)
1823
* HighDPI/Retina support
1924
* Allow inverted mouse look (horizontally, vertically or both) with `m_invertLook`
@@ -28,7 +33,18 @@ Note: Numbers starting with a "#" like #330 refer to the bugreport with that num
2833
downscaling by OpenAL's output limiter
2934
* If `r_windowResizable` is set, the dhewm3 window (when in windowed mode..) can be freely resized.
3035
Needs SDL2; with 2.0.5 and newer it's applied immediately, otherwise when creating the window.
31-
36+
* If switching between fullscreen and windowed mode or similar changes causes issues (like
37+
[here](https://github.com/dhewm/dhewm3/issues/587#issuecomment-2205807989)), you can set
38+
`r_vidRestartAlwaysFull 1`, so (again) a full `vid_restart` is done, instead of the partial one
39+
which *usually* suffices for just changing the resolution or fullscreen state. If you run into that
40+
issue (probably a driver bug), you'll probably also want to set `r_windowResizable 0`, because
41+
resizing the window that way also triggered the bug, and in that case no `vid_restart` is done at all
42+
* Fixed screenshots when using native Wayland (`SDL_VIDEODRIVER=wayland`)
43+
* If you enter the `map` command in the console, without any arguments, the current map name is printed
44+
* Support OpenGL debug contexts and messages (`GL_ARB_debug_output`). Can be enabled with `r_glDebugContext 1`.
45+
Changing that CVar requires a `vid_restart` (or set it as startup argument)
46+
* The Mods Menu's entries for the base game and d3xp/RoE are now clearer, and it can load the new
47+
d3xp-based mods (sikkmodd3xp, perfected_roe)
3248

3349
1.5.3 (2024-03-29)
3450
------------------------------------------------------------------------

.github/CONFIGURATION.md

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ useful commandline arguments, for example how to tell dhewm3 where the game data
1818

1919
When built with [Dear ImGui](https://github.com/ocornut/imgui) integration (which is the default
2020
when using SDL2), dhewm3 has an advanced settings menu with many settings that the main menu doesn't
21-
offer, including a *Control BIndings* menu that supports as many keys per command as you want and is
21+
offer, including a *Control Bindings* menu that supports as many keys per command as you want and is
2222
fully navigable with keyboard or gamepad (or mouse, of course).
2323

2424
Unless you have already bound your `F10` key to something else, it will open this menu.
@@ -210,9 +210,18 @@ This can be configured with the following CVars:
210210
at the end of each frame. Needed at least when using Wayland.
211211
`1`: do this, `0`: don't do it, `-1`: let dhewm3 decide (default)
212212

213+
- `r_useSoftParticles` Soften particle transitions when player walks through them or they cross solid geometry.
214+
Needs r_enableDepthCapture. Can slow down rendering! `1`: enable (default), `0`: disable
215+
- `r_enableDepthCapture` Enable capturing depth buffer to texture. `0`: disable, `1`: enable,
216+
`-1`: enable automatically (if soft particles are enabled; the default).
217+
This can be used in custom materials with the "_currentDepth" texture.
218+
- `r_gammaInShader` If set to `1` (the default), gamma and brightness are applied in shaders
219+
instead of using hardware gamma. May cause visual glitches with some mods like Sikkmod.
213220
- `r_useCarmacksReverse` Use Z-Fail ("Carmack's Reverse") when rendering shadows (default `1`)
214221
- `r_useStencilOpSeparate` Use glStencilOpSeparate() (if available) when rendering shadow (default `1`)
215222
- `r_scaleMenusTo43` Render full-screen menus in 4:3 by adding black bars on the left/right if necessary (default `1`)
223+
- `r_glDebugContext` Enable OpenGL debug context and printing warnings/errors from the graphics driver.
224+
Changing that CVar requires a `vid_restart` (or set it as startup argument)
216225

217226
- `s_alReverbGain` reduce strength of OpenAL (EAX-like) EFX reverb effects, `0.0` - `1.0` (default `0.5`)
218227
- `s_alHRTF` Enable [HRTF](https://en.wikipedia.org/w/index.php?title=Head-related_transfer_function)

.github/ISSUE_TEMPLATE/bug_report.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
---
2+
name: Bug report
3+
about: Report a problem with dhewm3
4+
title: ''
5+
labels: ''
6+
assignees: ''
7+
8+
---
9+
10+
<!-- NOTE: Please check the existing bug reports first to find out if it has already been reported. In that case, just add a comment there with your additional information -->
11+
12+
**Describe the bug**
13+
A short description of what the bug is.
14+
15+
**Your System**
16+
- What **operating system** are you using, what CPU and GPU, which GPU driver version?
17+
- What **version of dhewm3** are you using? (Also: Official download? Package from Linux distro? MacSourcePorts? Did you compile yourself?)
18+
19+
**To Reproduce**
20+
Describe how to reproduce the bug
21+
- if it happens while playing: What mod (base game, RoE, or some 3rd-party mod), which level, what do you do there to trigger the bug
22+
- After opening the console (`Shift`+`Esc`) you can enter `map` to print the current map name and `where` to print the coordinates in the level
23+
- if it happens in the menu or similar: describe the steps to trigger the bug
24+
25+
**Expected and actual behavior**
26+
A clear and concise description of what you expected to happen and what happens instead
27+
28+
**Additional information**
29+
If applicable, add screenshots or a video to help explain your problem.
30+
Please attach [dhewm3log.txt](https://github.com/dhewm/dhewm3/wiki/FAQ#where-do-i-find-the-config-files-and-savegames-and-dhewm3logtxt)
31+
A **savegame** also often helps to more quickly reproduce a bug
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for dhewm3
4+
title: ''
5+
labels: enhancement
6+
assignees: ''
7+
8+
---
9+
10+
<!-- NOTE: Please check the existing feature requests first to see if it has already been reported. In that case, just add a comment there with your additional information/ideas -->
11+
12+
**Describe the feature you want**
13+
A clear and concise description of what the feature is supposed to do.
14+
Add screenshots or illustrations or whatever if you think it helps explaining.
15+
16+
**What problem does it solve?**
17+
Describe what problem the feature would solve, or how it would improve the game and,
18+
if a similar feature already exists, why it's not sufficient.
19+
20+
**Additional information**
21+
If you have ideas how it could be implemented, or what other open source projects to check out that already have the feature, or links with information about the feature or any other additional information, post it here.

.github/README.md

Lines changed: 61 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,11 @@
1-
# DOOM 3 Modding Kit
1+
<p align="center">
2+
<img src="https://github.com/FriskTheFallenHuman/D3ModdingKit/blob/master/.github/branding/logo.png?raw=true" alt="The logo, what else do you expected?"/>
3+
</p>
4+
5+
[![](https://dcbadge.limes.pink/api/server/https://discord.gg/fEehA3hCTg?style=flat)](https://discord.gg/fEehA3hCTg) [![License: GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) ![C++](https://img.shields.io/badge/c++-%2300599C.svg?style=flat&logo=c%2B%2B&logoColor=white) ![Windows](https://img.shields.io/badge/Windows-0078D6?style=flat&logo=windows&logoColor=white) ![Linux](https://img.shields.io/badge/Linux-FCC624?flat&logo=linux&logoColor=black) ![macOS](https://img.shields.io/badge/mac%20os-000000?style=flat&logo=macos&logoColor=F0F0F0) ![GitHub Repo stars](https://img.shields.io/github/stars/FriskTheFallenHuman/D3ModdingKit?style=flat&logo=Github) [![Building](https://github.com/FriskTheFallenHuman/D3ModdingKit/actions/workflows/build_baker.yml/badge.svg)](https://github.com/FriskTheFallenHuman/D3ModdingKit/actions/workflows/build_baker.yml)
6+
7+
8+
# About
29

310
Doom 3 Modding Kit is basically a kit oriented for modders and people that wants to make total conversion mods.
411

@@ -10,7 +17,7 @@ This fork is base on Defunk's MD5 changes for D3Quest such has:
1017
- Binary Animations
1118
- PNG has default image format
1219
- Mikktspace
13-
- ImGUI
20+
- ImGui
1421

1522
# CHANGES
1623

@@ -43,12 +50,39 @@ Compared to the original _dhewm 3_, the changes of _D3Modding Kit_ worth mention
4350
- Restore Command List windows.
4451
- Added Background music support for maps.
4552
- Added More Console Information.
46-
- Quake 1 Style ligth styles.
4753
- Ambient Music for maps.
4854
- The Dark Mod / Hardcorps
4955
- Re-implemented water system
56+
- IcedTech3:
57+
- Removed legacy lighttris generation code.
58+
- Deprecated legacy async thread.
59+
- Fixed a bug were DoomEdit would have slow performance.
60+
- IceTech3: Fixed Particle Editor crashing when creating a new particle.
61+
- Fixed Multiplayer Not working after Async Removal.
62+
- Moved sound async to a separate thread.
63+
- Added OBJ support.
64+
- Moved AASfile to libs to match QuakeWars.
65+
- brush_t renamed to idEditorBrush and entity_t idEditorEntity.
66+
- Brushes will now be a single idRenderModel rather then each side of a brush also having its own render model.
67+
- Varius Changes for DoomEdit:
68+
* Added Proper Camera look for camera preview.
69+
* Surface properties are now accessed from the M key.
70+
* Camera movement is now based on delta time, and controled by radiant_cameraMoveSpeed.
71+
* Added grid lines.
72+
- Fixed a performance were idInteraction would allocate and link for objects that weren't in the light views frustum.
73+
- Fixed a bug were timing would be incorrect in loading screens.
74+
- Created native versions of all AI_events and then new script functions to call the new native events.
75+
- Moved Weapon DoomScript native functions so they can be called in native and just in doomscript.
76+
- Added AnimatedEntity.cpp/h moved that from Entity.cpp/h
77+
- idAnimState moved to AnimState.cpp/h
78+
- Seperated idEntity doomscript functions so they can be called in native.
79+
- Seperated DoomScript from idActor so it can be used with native.
80+
- Re-Added MayaImport:
81+
* Supports Maya SDK 2019 up to 2025 (2019 Below is untested)
82+
- Gamesys integration from Quake 4/Quake Wars. Prevents dead stripping, and new state management code.
83+
- com.n0n3m4.diii4a:
84+
- Quake 4's map base .reverb config files for maps + default .efx for maps that lacks it.
5085
- Original Changes:
51-
- Restore Quake 3 Style console base on left overs in the files.
5286
- Support for source engine skyboxes base on StormEngine2 Changes.
5387
- fixed noSpecular flag for lights Base on a dhewn3 rejected PR.
5488
- Enable Common Controls theme engine for the tools.
@@ -59,7 +93,18 @@ Compared to the original _dhewm 3_, the changes of _D3Modding Kit_ worth mention
5993
- Set gui_mediumFontLimit and gui_smallFontLimit to "0"
6094
- Added Missing Material Editor models.
6195
- Added .guide Support from Quake 4.
62-
- Refactored MFC Tools
96+
- Refactored MFC Tools.
97+
- Backported fixes from d3xp and merge missed changes in d3xp/ from base/
98+
- Backported Water bullet impact from RoE ( see Examples/ folder for the water particle)
99+
- Made the player be in thirdperson when they die in multiplayer.
100+
- Rename g_showPlayerShadow to g_showExtraShadows and make it default.
101+
- Added decl_warn_duplicates so warnings about duplicated entries are hide.
102+
- Removed TakeNotes system.
103+
- Added doxygen support.
104+
- Improved GUIEditor base on the idtech4sdk project.
105+
- Restored "mphud" keyvalue in player.def
106+
- Remove unused game over gui file.
107+
- Added blender model I/O scripts.
63108

64109
See [Changelog](./CHANGELOG.md) for the original dhewn3 changelog.
65110

@@ -73,4 +118,14 @@ Additionally to the [Compiling instructions](./COMPILING.md) we use vcpkg for th
73118

74119
## License
75120

76-
The GNU License can be see here [GNU License](./LICENSE.md) the same goes for the original [DOOM 3 License](./LICENSE_DOOM3.md).
121+
The GNU License can be see here [GNU License](./LICENSE.md) the same goes for the original [DOOM 3 License](./LICENSE_DOOM3.md).
122+
123+
## Special thanks
124+
125+
Special thanks to everybody who did previous help on the making of Dhewm3 and D3Modding Kit:
126+
127+
<p align="center">
128+
<a href="https://github.com/FriskTheFallenHuman/D3ModdingKit/graphs/contributors">
129+
<img src="https://contrib.rocks/image?repo=FriskTheFallenHuman/D3ModdingKit" />
130+
</a>
131+
</p>

.github/branding/logo.png

18 KB
Loading

.github/workflows/auto-update-vcpkg.yml

Lines changed: 10 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -11,33 +11,22 @@ jobs:
1111
uses: actions/checkout@v4
1212
with:
1313
submodules: true
14-
15-
- name: Import GPG
16-
uses: crazy-max/ghaction-import-gpg@v5
17-
with:
18-
git_user_signingkey: true
19-
git_commit_gpgsign: true
20-
git_tag_gpgsign: true
21-
git_committer_name: ${{ env.USER_GIT_NAME }}
22-
git_committer_email: ${{ env.USER_GIT_EMAIL }}
23-
env:
24-
USER_GIT_NAME: ${{ secrets.USER_GIT_NAME }}
25-
USER_GIT_EMAIL: ${{ secrets.USER_GIT_EMAIL }}
26-
GPG_PRIVATE_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
27-
PASSPHRASE: ${{ secrets.PASSPHRASE }}
2814

2915
- name: Keep up with master
3016
id: get_commit_id
3117
run: |
3218
cd vcpkg
19+
git checkout --end-of-options master --
3320
git pull origin master
3421
echo "::set-output name=commit_id::$(git rev-parse HEAD)"
3522
36-
- name: Git commit
23+
- name: Commit it
3724
run: |
38-
git config --global commit.gpgsign true
39-
git config --global user.email "${{ env.USER_GIT_EMAIL }}"
40-
git config --global user.name "{{ env.USER_GIT_NAME }}"
41-
git add vcpkg
42-
git commit -S -m "Update VCPKG to ${{ steps.get_commit_id.outputs.commit_id }}"
43-
git push
25+
git config --local user.email "action@github.com"
26+
git config --local user.name "GitHub Action"
27+
git commit -m "Update VCPKG to ${{steps.get_commit_id.outputs.commit_id}}" -a
28+
29+
- name: Push changes
30+
uses: ad-m/github-push-action@master
31+
with:
32+
github_token: ${{secrets.GITHUB_TOKEN}}

.github/workflows/build_baker.yml

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
name: Making a Build
2+
on: push
3+
4+
jobs:
5+
job:
6+
name: ${{ matrix.os }}-build
7+
runs-on: ${{ matrix.os }}
8+
strategy:
9+
fail-fast: false
10+
matrix:
11+
os: [ubuntu-latest, windows-latest]
12+
steps:
13+
- uses: actions/checkout@v4
14+
with:
15+
submodules: true
16+
17+
- name: Download dependencies
18+
if: matrix.os == 'ubuntu-latest'
19+
run: sudo apt install build-essential pkgconf autoconf libtool libx11-dev libxft-dev libxext-dev libwayland-dev libxkbcommon-dev libegl1-mesa-dev libibus-1.0-dev libglfw3-dev libgl1-mesa-dev libglu1-mesa-dev
20+
21+
- name: Get latest CMake if possible
22+
uses: lukka/get-cmake@latest
23+
24+
- name: Restore from cache and setup vcpkg executable and data files.
25+
uses: lukka/run-vcpkg@v11
26+
with:
27+
vcpkgDirectory: '${{github.workspace}}/vcpkg'
28+
runVcpkgInstall: true
29+
vcpkgJsonGlob: '**/neo/vcpkg.json'
30+
31+
- name: Run CMake+vcpkg+Ninja to build the engine.
32+
uses: lukka/run-cmake@v10
33+
with:
34+
cmakeListsTxtPath: '${{github.workspace}}/neo/CMakeLists.txt'
35+
configurePreset: 'ninja-multi-vcpkg'
36+
buildPreset: 'ninja-vcpkg-release'
37+
38+
- name: Lower case runner.os
39+
if: matrix.os != 'windows-latest'
40+
id: runner_os
41+
uses: Entepotenz/change-string-case-action-min-dependencies@v1.1.0
42+
with:
43+
string: ${{runner.os}}
44+
45+
- name: Copy base files to ${{steps.runner_os.outputs.lowercase}}/
46+
if: matrix.os != 'windows-latest'
47+
shell: pwsh
48+
run: |
49+
cd ${{github.workspace}}
50+
Copy-Item -Path "output/base" -Destination "output/${{steps.runner_os.outputs.lowercase}}/base" -Recurse
51+
Copy-Item -Path "output/d3xp" -Destination "output/${{steps.runner_os.outputs.lowercase}}/d3xp" -Recurse
52+
Copy-Item -Path "output/libs" -Destination "output/${{steps.runner_os.outputs.lowercase}}/libs" -Recurse
53+
Copy-Item -Path "output/examples" -Destination "output/${{steps.runner_os.outputs.lowercase}}/examples" -Recurse
54+
Copy-Item -Path "blender" -Destination "output/${{steps.runner_os.outputs.lowercase}}/blender" -Recurse
55+
Copy-Item -Path ".github/CHANGELOG.md" -Destination "output/${{steps.runner_os.outputs.lowercase}}"
56+
Copy-Item -Path ".github/CONFIGURATION.md" -Destination "output/${{steps.runner_os.outputs.lowercase}}"
57+
Copy-Item -Path ".github/LICENSE.md" -Destination "output/${{steps.runner_os.outputs.lowercase}}"
58+
Copy-Item -Path ".github/LICENSE_DOOM3.md" -Destination "output/${{steps.runner_os.outputs.lowercase}}"
59+
Copy-Item -Path ".github/README.md" -Destination "output/${{steps.runner_os.outputs.lowercase}}"
60+
61+
- name: Copy windows only files ( hacky :( )
62+
if: matrix.os == 'windows-latest'
63+
shell: pwsh
64+
run: |
65+
cd ${{github.workspace}}
66+
Copy-Item -Path "output/base" -Destination "output/windows/base" -Recurse
67+
Copy-Item -Path "output/d3xp" -Destination "output/windows/d3xp" -Recurse
68+
Copy-Item -Path "output/examples" -Destination "output/windows/examples" -Recurse
69+
Copy-Item -Path "blender" -Destination "output/windows/blender" -Recurse
70+
Copy-Item -Path ".github/CHANGELOG.md" -Destination "output/windows"
71+
Copy-Item -Path ".github/CONFIGURATION.md" -Destination "output/windows"
72+
Copy-Item -Path ".github/LICENSE.md" -Destination "output/windows"
73+
Copy-Item -Path ".github/LICENSE_DOOM3.md" -Destination "output/windows"
74+
Copy-Item -Path ".github/README.md" -Destination "output/windows"
75+
Copy-Item -Path ".github/README.md" -Destination "output/windows"
76+
Copy-Item -Path "output/afseditor.bat" -Destination "output/windows"
77+
Copy-Item -Path "output/debugger.bat" -Destination "output/windows"
78+
Copy-Item -Path "output/decleditor.bat" -Destination "output/windows"
79+
Copy-Item -Path "output/idstudio.bat" -Destination "output/windows"
80+
Copy-Item -Path "output/guieditor.bat" -Destination "output/windows"
81+
Copy-Item -Path "output/materialeditor.bat" -Destination "output/windows"
82+
Copy-Item -Path "output/particleeditor.bat" -Destination "output/windows"
83+
Copy-Item -Path "output/pdaeditor.bat" -Destination "output/windows"
84+
Copy-Item -Path "output/scripteditor.bat" -Destination "output/windows"
85+
Copy-Item -Path "output/soundeditor.bat" -Destination "output/windows"
86+
87+
- name: Artifacts for Windows
88+
if: matrix.os == 'windows-latest'
89+
uses: actions/upload-artifact@v4
90+
with:
91+
name: d3moddingkit-windows
92+
path: output/windows/
93+
94+
- name: Artifacts for Linux
95+
if: matrix.os == 'ubuntu-latest'
96+
uses: actions/upload-artifact@v4
97+
with:
98+
name: d3moddingkit-linux
99+
path: output/linux/

.gitmodules

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
[submodule "vcpkg"]
22
path = vcpkg
3-
url = git@github.com:microsoft/vcpkg.git
3+
url = https://github.com/microsoft/vcpkg.git

0 commit comments

Comments
 (0)