dhewm / dhewm3-sdk Goto Github PK
View Code? Open in Web Editor NEWAn SDK to create Mods for dhewm3
License: GNU General Public License v3.0
An SDK to create Mods for dhewm3
License: GNU General Public License v3.0
Hello, can you help me with compiling sdk on mac ?
Hi guys
This is the report of issues found by static analysis tool PVS studio.
I hope it will be helpful to identify potential and real bugs.
Run over dantonmod branch
https://docs.google.com/spreadsheets/d/1NZSJ1BfDV_ciyK0p6UvnkwAzURwMbdxChrRw4hXNpUQ/edit?usp=sharing
Ok, the current state compiles and kinda works..
You can find it in this repository in the doom3cc branch
Still TODO (likely incomplete): likely only d3cclib/*
needs to be modified, and the integration into the rest of the gamecode code is complete - but of course it's no problem if we need to do additional changes to the gamecode after all:
ccBst::initLanguages()
in d3cclib/CCBst.cpp was supposed to do that, but it's not called from anywhere in the code I got from Víctor - likely it was still WIP or he didn't get the final code?ccBst::Tree
is not deleted completely (only the root node, not the rest of the tree)We'd like to port our "Fragging Free" mod (https://www.moddb.com/mods/fragging-free) to dhewm3.
I could not find a better way to contact you, so I'm creating this issue.
What's the best way to do it in you opinion? Should I create a branch? Can you help us with this?
I've a lot of code changes, mainly to game logic.
can't boot the mod on dhewm3. this always shows up
We've come across 2 c++ runtime errors in Ruiner so far. Both crashes are rare and hard to replicate and there is nothing in the console when it happens. Game will crash and the runtime error pops up.
assertion failure
renderworld.cpp line 954
expression bound [0][0].... (i'll write the full details if you need it)
Seems to happen most when cacodemons or something that inherits from them is around. I can not confirm this the only thing to cause it.
The second is sound related. This one is rare too. Seems to happen if you hit escape just immediately after a level loads.
assertion failure
snd_decoder.cpp line 525
expression false
A side note: I have not tested the mod with the source hook removed version yet and this is from my fork. Both were in win 64bit versions on windows 10. Systems configurations for all 3 systems are completely different.
I tried starting the "Classic Doom 3" mod, but I'm getting the following error on the console: "shutting down: Couldn't load default.cfg".
I've used the link here to download it from ModDB. And unpacked the cdoom folder from the zip file to ~/.local/share/dhewm3/.
I'm on Debian Sid and am using the dhewm3 package Debian provides (1.5.2+dfsg-1). Downloading and unpacking the Doom3 demo to ~/.local/share/dhewm3/demo/ and then starting it worked without any issues.
The full console log output looks as follows:
$ dhewm3 +set fs_game cdoom
dhewm3 1.5.2.1305 linux-x86_64 Jun 13 2022 13:37:42 using SDL v2.28.0
SDL video driver: x11
Logging console output to /home/linus/.local/share/dhewm3/dhewm3log.txt
terminal support enabled ( use +set in_tty 0 to disable )
pid: 1941073
30848 MB System Memory
found interface lo - loopback
found interface br0 - 192.168.23.1/255.255.255.0
found interface wlp1s0 - 10.204.36.69/255.255.240.0
doom using MMX & SSE & SSE2 for SIMD processing
enabling Flush-To-Zero mode
enabling Denormals-Are-Zero mode
WARNING: base path '/usr/share/games/doom3' does not exist
----- Initializing File System -----
Loaded pk4 /home/linus/.local/share/dhewm3/cdoom/cdoom_main.pk4 with checksum 0x9ff6284b
Loaded pk4 /home/linus/.local/share/dhewm3/cdoom/cdoom_maps.pk4 with checksum 0xa7bb2433
Loaded pk4 /home/linus/.local/share/dhewm3/cdoom/cdoom_models.pk4 with checksum 0x22e8b18
Loaded pk4 /home/linus/.local/share/dhewm3/cdoom/cdoom_sounds.pk4 with checksum 0xae50243c
Loaded pk4 /home/linus/.local/share/dhewm3/cdoom/cdoom_textures.pk4 with checksum 0x1be0b07f
Current search path:
/home/linus/.config/dhewm3/cdoom
/home/linus/.local/share/dhewm3/cdoom
/home/linus/.local/share/dhewm3/cdoom/cdoom_textures.pk4 (163 files)
/home/linus/.local/share/dhewm3/cdoom/cdoom_sounds.pk4 (113 files)
/home/linus/.local/share/dhewm3/cdoom/cdoom_models.pk4 (449 files)
/home/linus/.local/share/dhewm3/cdoom/cdoom_maps.pk4 (66 files)
/home/linus/.local/share/dhewm3/cdoom/cdoom_main.pk4 (456 files)
/home/linus/.config/dhewm3/base
/home/linus/.local/share/dhewm3/base
Addon pk4s:
shutting down: Couldn't load default.cfg
idRenderSystem::Shutdown()
Shutting down OpenGL subsystem
Sys_Error: Couldn't load default.cfg
shutdown terminal support
I tried out the branch that uses the cdoom mod, and it doesn't work.
At first, I tried the path /user/lib/x86_64-linux-gnu/dhewm3/cdoom.so
Then, I tried /user/lib/x86_64-linux-gnu/dhewm3/cdoom/cdoom.so
Neither works, and when I boot up Dhewm3 and go to the mods menu, it never shows up.
Here is a list of known problems and their status for the Ruiner sdk. This is for the initial public testing.
Bug: Weapons make "Beeping" sounds during when fired or other animations.
info: Not sdk related so far. created when a sound is called to play and doesn't exist or sometimes a missing animation for either the weapon or player.
Status: problems were in def and script files, not sdk. Fixes have been done and will be next ruiner patch.
Bug: Frozen Ragdolls after headshots
info: Not sdk related. This is a problem caused by sys.waits in the enemy base script for when head shots happen. During hectic times the waits are skipped or not done properly. Sometimes this is also caused from a missing headshot key in the weapon's damage def.
Status: Fixed. Will be apart of the next game patch. SDK needs actor.cpp updated.
Not a Bug: Holding down the unused run key will also cause zooming. Zoom key does not work.
Status: This is intentional and apart of the new walk aiming system for the upcoming patch. System will not work without the updated defs, scripts and animation files.
Bug: Cross hair jumps around and sometimes sticks to objects and the world. Projectiles don't always fire exactly at it.
info: The crosshair is drawn at the end of a line. The end position of this line is converted to gui cordinates and used by the crosshair for it's placement. The info for it is found in player.cpp> idPlayer::Think. starting around line 7850. You can see this line by typing g_debugweapon 1 in the console. Whereever the line is stopped is where the crosshair goes. It's worth noting that is unused code from an old version of this system floating around the player.cpp.
The actual crosshairs are found in the cursor.gui file. Cross hair style and their offset are set per weapon in the cursor.gui. Some of these offsets are wrong btw.
Status: Still investigating the best fix for this. Getting a good thirdperson crosshair has been an issue since day 1 with this mod. In the mean time laser sites for all projectile weapons and launching projectiles from the barrel direction have been activated. This was an un-used mechanic added in the mod. Will be apart of the 2018 update.
I've compiled dentonmod.so for Linux.
I want to be able to run the mod without putting dentonmod.so (or a symlink) in /usr/lib64/dhewm3/. The reason for this is I don't want messing around with the root filesystem.
Is there a way to change the directory where the game/mod searches for .so files?
See title.
I am referring to the one here made by the awesome Brendon Chung. It was made a long time ago based on the original source release.
https://blendogames.com/news/post/2013-08-05-doom3-starter-kit/
Building Lost Mission on a PowerPC Mac (MacOS 10.5) failed with the following errors:
cc1plus: error: unrecognized command line option "-ffp-contract=off"
cc1plus: error: unrecognized command line option "-Wno-strict-overflow"
The first one I fixed following advice on the same issue with Dhewm3 by changing "add_compile_options(-ffp-contract=off)" in CMakeLists.txt to:
CHECK_CXX_COMPILER_FLAG("-ffp-contract=off" cxx_has_fp-contract)
if(cxx_has_fp-contract)
add_compile_options(-ffp-contract=off)
endif()
I also replaced "add_compile_options(-Wno-strict-overflow)" with:
CHECK_CXX_COMPILER_FLAG("-Wno-strict-overflow" cxx_has_Wno-strict-overflow)
if(cxx_has_Wno-strict-overflow)
add_compile_options(-Wno-strict-overflow)
endif()
Now I'm able to build d3le.dylib and run the mod.
There is an issue with the current and future version of HardQore with the music system. I'm still wrapping my around a way to fix it....
While playing the demo, if you die and re spawn; it resets entity info related to the current music playing.
In Version 1.3 there still seem to be lots of missing sounds.
Pinging @Arl90 as these are bugs in the game data, not in the code, so they should ideally be fixed in a future d3le update.
Just starting the first level (le_enpro1) will give lots of warnings, and occasionally you will hear that beep sound (with s_playDefaultSound 1
which is default):
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/metallic_noises/heavy_water_pipes_01/hwpipe_06.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/metallic_noises/heavy_water_pipes_01/hwpipe_07.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/metallic_noises/heavy_water_pipes_01/hwpipe_08.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/metallic_noises/heavy_water_pipes_01/hwpipe_09.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/metallic_noises/reverberant_metal_creaks_s1/reverberant_metal_creak_s1_06.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/metallic_noises/reverberant_metal_creaks_s1/reverberant_metal_creak_s1_07.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/metallic_noises/reverberant_metal_creaks_s1/reverberant_metal_creak_s1_08.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/metallic_noises/reverberant_metal_creaks_s1/reverberant_metal_creak_s1_09.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/metallic_noises/reverberant_metal_creaks_s1/reverberant_metal_creak_s1_10.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/metallic_noises/reverberant_metal_creaks_s1/reverberant_metal_creak_s1_11.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/metallic_noises/reverberant_metal_creaks_s1/reverberant_metal_creak_s1_12.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/metallic_noises/reverberant_metal_creaks_s1/reverberant_metal_creak_s1_13.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/metallic_noises/reverberant_metal_creaks_s1/reverberant_metal_creak_s1_14.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/metallic_noises/reverberant_metal_creaks_s1/reverberant_metal_creak_s1_15.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/metallic_noises/reverberant_metal_creaks_s1/reverberant_metal_creak_s1_16.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/metallic_noises/reverberant_metal_creaks_s1/reverberant_metal_creak_s1_17.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/metallic_noises/reverberant_metal_creaks_s1/reverberant_metal_creak_s1_18.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/metallic_noises/reverberant_metal_creaks_s1/reverberant_metal_creak_s1_19.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/metallic_noises/reverberant_metal_creaks_s1/reverberant_metal_creak_s1_20.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/metallic_noises/reverberant_metal_creaks_s1/reverberant_metal_creak_s1_21.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/metallic_noises/reverberant_metal_creaks_s1/reverberant_metal_creak_s1_22.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/metallic_noises/reverberant_metal_creaks_s1/reverberant_metal_creak_s1_23.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/metallic_noises/reverberant_metal_creaks_s1/reverberant_metal_creak_s1_24.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/metallic_noises/reverberant_metal_creaks_s1/reverberant_metal_creak_s1_25.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/metallic_noises/reverberant_metal_creaks_s1/reverberant_metal_creak_s1_26.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/metallic_noises/reverberant_metal_creaks_s1/reverberant_metal_creak_s1_27.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/metallic_noises/reverberant_metal_creaks_s1/reverberant_metal_creak_s1_28.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/metallic_noises/reverberant_metal_stresses_s3/metal_stressverb_06.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/metallic_noises/reverberant_metal_stresses_s3/metal_stressverb_07.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/metallic_noises/reverberant_metal_stresses_s3/metal_stressverb_08.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/metallic_noises/reverberant_metal_stresses_s3/metal_stressverb_09.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/pipe_moans/pipe_moans_s1/pipe_moans_s1_06.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/pipe_moans/pipe_moans_s1/pipe_moans_s1_07.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/pipe_moans/pipe_moans_s1/pipe_moans_s1_08.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/pipe_moans/pipe_moans_s1/pipe_moans_s1_09.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/pipe_moans/pipe_moans_s1/pipe_moans_s1_10.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/pipe_moans/pipe_moans_s1/pipe_moans_s1_11.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/pipe_moans/pipe_moans_s1/pipe_moans_s1_12.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/pipe_moans/pipe_moans_s1/pipe_moans_s1_13.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/pipe_moans/pipe_moans_s1/pipe_moans_s1_14.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/pipe_moans/pipe_moans_s1/pipe_moans_s1_15.wav' using default
WARNING: Couldn't load sound 'sound/_reissue/ambient_events/pipe_moans/pipe_moans_s1/pipe_moans_s1_16.wav' using default
As an example, I looked at those warnings for hwpipe_06.wav more closely: Those files are referenced in sound/world_ambience.sndshd
=> ambient_events/metal/heavy_water_pipes {
.
That shader also uses hwpipe_01.wav etc (up to ..._09); the first sound files do exist, but hwpipe_06.wav, hwpipe_07.wav (or .ogg) etc do not exist, so the warnings are legit.
We could collect more missing sounds in d3le in this issue, as a reference for the Lost Mission team.
I would like to contribute to the Dhewm3 source port by making my favorite mod playable on it. So I did the direct way of adding the source code to the sdk repository and compile the .so files (I'm on Linux)
However when I run the executable with './dhewm3 +set fs_game perfected' I'm getting an error message:
----- Game Map Shutdown -----
ERROR: Error: file script/doom_events.script, line 13: Unknown event 'isLowered'
I don't know how I can address this so any help would be appreciated.
EDIT: I tried to redo the .so file since I didn't take into account the added .cpp and .h files in both the game and d3xp folders.
However when I try to recompile the .so files I get this error message:
/home/username/dhewm3/dhewm3-sdk-perfected/game/../idlib/../renderer/qgl.h:45:10: fatal error: SDL_opengl.h: No such file or directory
45 | #include <SDL_opengl.h>
| ^~~~~~~~~~~~~~
I installed and compiled the latest release of SDL2 and is in fact located at /usr/include/SDL2
I don't know what is wrong now.
I would like to make an suggestion regarding Doom3[CC] mod. I cannot build the package on my Steam Deck for some reason, so hopefully people here will help out, to make a lot of other people’s lives a lot easier.
Maybe built packages be released for others to download the .dll or .so files more easily instead of building from the source ourselves? This can apply to other branches as well.
Thank you so much.
I'm looking into releasing what is currently done for the Dhewm 3 version of HardQore...
However I'm curious if any of the changes here for 1.5.1 should be updated on the repository I've been using for changed files only:
https://github.com/revility/hardcorps
Work has wrapped up on the updated version of hardqore2 for dhewm 3 hard corps.
I have git up with only the updated files. Rest of the files are the same as what is here.
https://github.com/revility/hardcorps
Outside of a few possible bug fixes in the future; i would consider this pretty stable. The documents folder has a full list of changes to the files & what for.
Hard corps is already uploaded & will go live 10.15.21.
I'm having trouble setting the mod into fullscreen on MacOS when I load from base. I have:
seta r_customHeight "1200"
seta r_customWidth "1600"
seta r_fullscreen "1"
seta r_mode "-1"
1200 x 1600 is supported in window mode
But it resets r_mode to 3 and r_fullscreen to 0 and then kicks me out to windowed 640x480. Any ideas?
Would be good to have a GUI function to set fullscreen.
Apologies if this should actually be posted to https://www.moddb.com/mods/the-lost-mission/downloads/d3-lost-mission/. I don't know how this feature is separated: game files vs code.
Versions: Doom3_The_Lost_Mission_1.3.rar
with d3le (2e1dc5c) and dhewm3 (dhewm/dhewm3@a7e4eb8).
Adrenaline cannot be picked up. There is the following message in the console:
WARNING: Unknown stat 'adrenaline' added to player's inventory
To reproduce:
map game/le_exis1.map
setviewpos -2911 2573 4.25 70
Adrenaline should be right in front of the player on the floor to try to pick up.
This also happens on other maps.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.