Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nehahra support is incomplete #174

Open
Alex3474247 opened this issue May 9, 2024 · 8 comments
Open

Nehahra support is incomplete #174

Alex3474247 opened this issue May 9, 2024 · 8 comments
Assignees
Labels
bug Something isn't working mod compatibility A quirk making the engine (in)compatible with mods that work on other engines regression Something used to work in an earlier version but isn't working anymore

Comments

@Alex3474247
Copy link

Hello!
Nehahra is a very old mod but I think it should be supported fully. I have the NehQuake source code for VS2019 without fmod (replaced with libxmp and sdl2).
Many of the FS functions in NehQuake are deprecated but I think the merge is still possible.
If only I had time and xp, I could do the merge NehQuake into DP.
Can you merge it manually?
Using current version of Darkplaces, built from source, may 2024.
image.
At least I want the music as in original Nehahra, decode the xm and s3m files to pcm data and then play it with sdl (maybe mix the game sounds and music). As it meant to be.
Some pictures from NehQuake:
quake03
quake02
Nehahra settings

@hemebond
Copy link
Contributor

hemebond commented May 9, 2024

@Alex3474247 Do you have a link to the source? Is it just engine stuff? Can the mod not be updated? When testing did you start DarkPlaces with the -nehahra parameter?

@Alex3474247
Copy link
Author

Alex3474247 commented May 9, 2024

yes, with the -nehahra. You can see it in the 1st picture. I downloaded the Nehahra mod from Quaddicted.com. Latest version is from 2002, February. Yes, here is the link to the source: https://github.com/Alex3474247/NehQuake.git

@hemebond
Copy link
Contributor

hemebond commented May 9, 2024

What is not working? Just music and sounds (I hear music, and all sounds seem to work)? Are you able to create bug tickets or a checklist for each of the things not working?

Wow, it segfaults after forcing me to sit through that ridiculous intro:

Playing demo gamedem3.dem.

VERSION 0.87 SERVER (48980 CRC)Serverinfo packet received.
Server protocol is NEHAHRAMOVIE
Texture +0slipbot is animated (leading +) but has only one frame
Texture +0sliptop is animated (leading +) but has only one frame
skybox set to czg_void
SpawnServer: neh1m1
Server listening on address 0.0.0.0:26000
Server listening on address [0:0:0:0:0:0:0:0]:26000
server: program loaded (crc 2243, size 993K)
server VM warning: setmodel: can not modify world entity
server VM warning: setsize: can not modify world entity
server VM warning: droptofloor at "-664.000000 -192.000000 26.000000": badly placed entity "misc_vend", startsolid: 1 allsolid: 1
server VM warning: droptofloor at "-664.000000 -128.000000 26.000000": badly placed entity "misc_vend", startsolid: 1 allsolid: 1
server VM warning: droptofloor at "-664.000000 -64.000000 26.000000": badly placed entity "misc_vend", startsolid: 1 allsolid: 1
Host_Error: VM_SV_WriteByte wrong parameter count 1 (2 expected ) !
QuakeC crash report for server:
s52675: STOREP_V   Host_Error: PRVM_ExecuteProgram: locals stack underflow in server
Engine Aborted: Host_Error: recursively entered (original error was: PRVM_ExecuteProgram: locals stack underflow in server    new error is: PRVM_ExecuteProgram: locals stack underflow in server)
DarkPlaces-Nehahra Linux v20140513-1498-g316549da May  9 2024 release GCC 
GLOBAL26628, GLOBAL26627
s52676: FIELD_F    other (=entity 239), flags (=.flags), GLOBAL26631
s52677: FIELD_F    other (=entity 239), flags (=.flags), GLOBAL26632
s52678: BITAND     GLOBAL26632, FL_ONGROUND (=512), GLOBAL26633
s52679: ADDRESS    other (=entity 239), flags (=.flags), GLOBAL26634
s52680: SUB_F      GLOBAL26631, GLOBAL26633, GLOBAL26635
s52681: STOREP_F   GLOBAL26635, GLOBAL26634
s52682: DONE        (=void)
 triggers.qc : teleport_touch : statement 90
 triggers.qc : teleport_touch : statement 24
ERROR: can't activate vsync because No OpenGL context has been made current


    Engine Crash: Segmentation fault    
/lib/x86_64-linux-gnu/libGLdispatch.so.0(+0x48749)[0x7fbb0bc6d749]
DarkPlaces-Nehahra Linux v20140513-1498-g316549da May  9 2024 release GCC 
X Error of failed request:  GLXBadContext
  Major opcode of failed request:  152 (GLX)
  Minor opcode of failed request:  4 (X_GLXDestroyContext)
  Serial number of failed request:  1353
  Current serial number in output stream:  1353

@Alex3474247
Copy link
Author

Alex3474247 commented May 9, 2024

Yes, it's engine stuff.
The job list, I think, will be the following:

  • xm and s3m music playback under mods/ subdir of Nehahra. server commands are: playmod, stopmod and modvolume from 0 to 1. Map to test this on: for example neh1m2, music turns on right when you pick up the silver key. Watch from 00:59 https://drive.google.com/file/d/1Xjb-SZJCdZUPsz5KPkjYccovHCXXmPe4/view The music in the intro map is the wav sound. All OK with the sounds.
  • water ripple. server command r_waterripple. You better watch this video: https://drive.google.com/file/d/17ncthSxXImYHaoOWDpXesbFZzxTKX8L0/view?usp=drive_link
  • GL fog (green, blue, red). fog must be green around that Quad Damage item in the secret area. You have already seen the screenshot. Neh1m1. This command is present in DP but it doesn't seem to work well, as in NehQuake. Or maybe this is a colored lighting?
  • r_oldsky server command. I don't know what is this command about but suspect that NehQuake replaced the skybox and r_oldsky command returns the sky to general Quake.:
    quake01
    Probably that's all, maybe there are some little things left that I forgot about, which may be detected in the videos.

@Alex3474247
Copy link
Author

Alex3474247 commented May 9, 2024

The latest version pak files and progs.dat are here. https://drive.google.com/file/d/1ZJnvT-uFdggGkMkamS3BwTQj9pmRp-kY/view?usp=drive_link
I couldn't find the latest version on Quaddicted. There were no music in the previous versions of Nehahra or the 3.08 NehQuake requires the latest Nehahra data, you can test the music only with the latest data. Maybe this data will resolve the segfault. Replace your paks and progs.dat in nehahra folder with these files.

@Cloudwalk9 Cloudwalk9 added bug Something isn't working regression Something used to work in an earlier version but isn't working anymore mod compatibility A quirk making the engine (in)compatible with mods that work on other engines labels Jul 7, 2024
@Cloudwalk9
Copy link
Contributor

Cloudwalk9 commented Jul 7, 2024

This has been fixed in a separate branch on the Xonotic mirror of Darkplaces on Gitlab as part of a broader protocol refactor. The issue is the client and server sides of the protocol became incompatible with each other and one or the other are sending messages with the wrong size while the other is expecting a different size. The fix itself cannot be easily ported here because of the sweeping changes I made to the underlying protocol code in that same branch.

@Cloudwalk9
Copy link
Contributor

Cloudwalk9 commented Jul 7, 2024

Also want to add that the Nehahra protocols are ironically the only way you can play Arcane Dimensions 1.8 on DarkPlaces without introducing the Fitzquake 666 protocol, but just barely. I also introduced protocol 666 in that very same branch but it has some bugs related to entity lerp or something.

@Cloudwalk9 Cloudwalk9 self-assigned this Jul 7, 2024
@Alex3474247
Copy link
Author

I hope it will be ported and Nehahra will work as intended by its authors.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working mod compatibility A quirk making the engine (in)compatible with mods that work on other engines regression Something used to work in an earlier version but isn't working anymore
Projects
None yet
Development

No branches or pull requests

3 participants