NAM M16 auto-aim isn't correct
#31 Posted 07 May 2018 - 04:30 PM
#32 Posted 08 May 2018 - 08:58 AM
Hendricks266, on 07 May 2018 - 04:04 PM, said:
The might boot is still working correctly in Duke and NAM with r6880, so that is fixed The "knife" in WW2GI animates now the same as the original, although with the problem that when tapping the fire button, it doesn't register a hit. Only when keeping the button down. That was the problem with the revisions before 6879.
But I don't mind it. And I guess nobody does, seeing that this is the first time this game can actually be played now at all with a very nice port. I would say, keep it as it is now. It's working fine for Duke3D and these games. Maybe someone can revisited this topic again later when the time is right. Try to focus now on something that matter and that gives positive energy, instead of fixing some silly commercial mods
And remember, what started as a simple bug report of the auto-aim turned thanks to your hard work into a full-blown recreation of the logic of the game.
This post has been edited by Little Tijn: 08 May 2018 - 09:43 AM
#33 Posted 08 May 2018 - 10:23 AM
#34 Posted 09 May 2018 - 10:45 AM
Little Tijn, on 24 April 2018 - 03:06 AM, said:
I am happy to report that I have secured the necessary permissions to add Nuked OPL3 to EDuke32.
#35 Posted 09 May 2018 - 12:42 PM
Hendricks266, on 09 May 2018 - 10:45 AM, said:
Wow! Didn't expecting that. That is great news! Eager to hear a version with that added. Btw. A option to choose between the OPL3 emulation or the current midi player would be nice.
#36 Posted 15 May 2018 - 11:13 AM
I might make a new forum thread for it, if desired.
I guess I found the offending line:
if (TEST_SYNC_KEY(playerBits, SK_FIRE) == 0 && (PWEAPON(playerNum, pPlayer->curr_weapon, Flags) & WEAPON_RESET || WW2GI))
It's in player.c. I just do not know at the moment how to fix this, because I gladly would if I could.
If someone has some time to check this out someday, that will be great!
This post has been edited by Little Tijn: 15 May 2018 - 11:22 AM
#37 Posted 15 November 2019 - 09:46 AM
Hendricks266, on 09 May 2018 - 10:45 AM, said:
I recently noticed that the OPL3 emulator is available in EDuke32! Thank you and the other devs involved for adding this! It just sound great and very accurately. Great job!
I even see that the Windows based MIDI playback is still available as a option. Ah, good old Microsoft GS Wavetable Synth. Like I remember it in Windows Me
#39 Posted 24 August 2020 - 04:58 AM
I noticed that enemy tank's turret in WWII GI does not follow the player and constantly shoots in one direction.
You may stand by the side of the tank or behind and it won't even turn its turret to aim at you.
In original DOS version of the game, the enemy tank's turret used to follow/aiming at player when spotted.
What could be the problem here?
I noticed that there some turret related strings in WW2GI.con
ai AITANKSEEK VCTANK 0 seekplayer
ai AITANKAIM VCTANK 0 faceplayer
ai AITANKSHOOT VCTANKSHOOT 0 faceplayer
ai AITANKHURT VCTANK 0 faceplayer
Changing either of these to 1 makes turret living it's own life.
When you shoot from bazooka it jumps off the tank chassis and continues shooting at you from the ground.
Sounds like a joke but that's how it is.
===============================================
Also is it normal in NAM that there are some Vietcong pretending to be dead by just lying on the ground and when you come up to them they stand up and start shooting at you?
This post has been edited by OVERLORD: 24 August 2020 - 05:44 AM
#41 Posted 25 August 2020 - 09:10 AM
Hendricks266, on 25 August 2020 - 08:02 AM, said:
What is Red Nukem?
Update:
Just checked - not it does not.
It doesn't even launch.
This post has been edited by OVERLORD: 25 August 2020 - 09:14 AM
#42 Posted 25 August 2020 - 09:37 AM
#43 Posted 25 August 2020 - 10:03 AM
Hendricks266, on 25 August 2020 - 09:37 AM, said:
I just tested it and I confirm that in REDNUKEM, when playing WWII GI, tank turret operates correctly, It aims at player, follows it and may be blown out with one shot from bazooka (may be I'm just lucky).
Jut launch E1L7 and come to any tank. It will follow you with it's turret and will shoot at you.
Now we need to find out why EDuke32 has this bug and what causes it.
This post has been edited by OVERLORD: 25 August 2020 - 10:03 AM
#44 Posted 25 August 2020 - 11:50 PM
But when you blow out the turret with your bazooka it jumps off the tank chassis and starts shooting at you from the ground.
That's some crazy stuff out there. See the screenshots attached.
I think that proper and correct fix for this should be implemented as addition into command line parameter "-ww2gi" which makes EDuke32 run in compability mode when WWII GI is launched.
That's the only glitich I found so far when making walkthough of WW2GI. Everything else worked just right in my opinion.
In Rednukem, tank turrets in WWII GI operate correctly.
This post has been edited by OVERLORD: 25 August 2020 - 11:59 PM
#45 Posted 26 August 2020 - 08:27 AM
OVERLORD, on 25 August 2020 - 11:50 PM, said:
That option is a holdover from before proper GRP detection and selection was implemented. Implementing a change like this for only one of the game modes is a last resort.
I think you've correctly identified the source of the issue by changing move 0 to move 1 to work around it, and whatever is causing it has effects on any game or mod that uses CON, therefore the system itself should be fixed.
#46 Posted 26 August 2020 - 08:57 AM
Hendricks266, on 26 August 2020 - 08:27 AM, said:
I think you've correctly identified the source of the issue by changing move 0 to move 1 to work around it, and whatever is causing it has effects on any game or mod that uses CON, therefore the system itself should be fixed.
Is there any way to establish a proper behavior of tank turret and get away from the bug I mentioned?
Rednukem handles it without any problems, but I would love to see this issue eliminated in EDuke32 since it's the source port of my favor.
#47 Posted 29 August 2020 - 11:25 PM
Hendricks266, on 26 August 2020 - 08:27 AM, said:
The tank aiming broke almost 12 years ago, between the builds of 2008-11-25 and 2008-12-14.
Edit: Found it! (thankfully there were 2 source code archives on synthesis from around this time)
Between these revisions, the following check was added to the function `X_Move()`, nowadays called `VM_Move()`, in gameexec.cpp:
+ if (vm.g_t[1] == 0 || a == 0) + { + if (deadflag || (ActorExtra[vm.g_i].bposx != vm.g_sp->x) || (ActorExtra[vm.g_i].bposy != vm.g_sp->y)) + { + ActorExtra[vm.g_i].bposx = vm.g_sp->x; + ActorExtra[vm.g_i].bposy = vm.g_sp->y; + setsprite(vm.g_i,(vec3_t *)vm.g_sp); + } + return; + }
This is what it looks like today, with some surrounding context added:
GAMEEXEC_STATIC void VM_Move(void) { MICROPROFILE_SCOPEI("VM", EDUKE32_FUNCTION, MP_AUTO); auto const movflagsptr = &AC_MOVFLAGS(vm.pSprite, &actor[vm.spriteNum]); // NOTE: test against -1 commented out and later revived in source history // XXX: Does its presence/absence break anything? Where are movflags with all bits set created? int const movflags = (*movflagsptr == (remove_pointer_t<decltype(movflagsptr)>)-1) ? 0 : *movflagsptr; int const deadflag = (A_CheckEnemySprite(vm.pSprite) && vm.pSprite->extra <= 0); AC_COUNT(vm.pData)++; // #### The code causing the problem: if (AC_MOVE_ID(vm.pData) == 0 || movflags == 0) { if (deadflag || (vm.pActor->bpos.x != vm.pSprite->x) || (vm.pActor->bpos.y != vm.pSprite->y)) setsprite(vm.spriteNum, &vm.pSprite->pos); return; } // #### if (!deadflag) { ...
In other words, if the move is set to 0, the VM_Move() function aborts early, and therefore the code associated with the `faceplayer` flag does not execute.
This did not used to happen prior to the build compiled on 2008-12-14, and thus breaks the WW2GI Tank. Maybe other mods are also affected.
This post has been edited by Doom64hunter: 30 August 2020 - 12:41 AM
#48 Posted 30 August 2020 - 03:31 AM
I analysed the CON code of all official addons using grep, and from what I can see, WW2GI is the only official Duke-based game that uses a zero move in an AI definition.
This post has been edited by Doom64hunter: 30 August 2020 - 03:33 AM
#49 Posted 30 August 2020 - 04:11 AM
How do you think this may be fixed?
Is there a need to implement changes into source code of EDuke32 or to make some specific amendments into WW2GI.con?
#51 Posted 01 September 2020 - 05:23 AM
They emerge from geometry angles from the walls, where textures stack with each other.
This occurs at E3L1 and E3L5 in "MULTIPLAYER 1" episode at WWII GI.
Can this be fixed somehow? Please see screenshots.
It appears when CLASSIC renderer is used
I use modified build r8642 (git-svn 8798) by the creator of RedNukem source port.
It has tank turret fix for WWII GI implemented.
This post has been edited by OVERLORD: 01 September 2020 - 05:33 AM
#52 Posted 01 September 2020 - 09:07 AM
Use the following command line to use it:
"-g DN3DAE_16_9_Aspect_Ratio_NAM_Weapons'_Sprites_Fixes.zip"
It also contains widescreen version of hands for Сlaymore Mine (taken from Duke Nukem 3D widescreen tiles)
Attached File(s)
-
DN3DAE_16_9_Aspect_Ratio_NAM_Weapons'_Sprites_Fixes.zip (6.57K)
Number of downloads: 370
This post has been edited by OVERLORD: 01 September 2020 - 09:44 AM
#53 Posted 02 September 2020 - 01:06 PM
Use the following command line to use it:
"-g DN3DAE_16_9_Aspect_Ratio_WW2GI_Weapons'_Sprites_Fixes.zip"
It also contains widescreen version of hands for TNT (taken from Duke Nukem 3D widescreen tiles)
Attached File(s)
-
DN3DAE_16_9_Aspect_Ratio_WW2GI_Weapons'_Sprites_Fixes.zip (8.58K)
Number of downloads: 384
#54 Posted 02 September 2020 - 01:17 PM
OVERLORD, on 01 September 2020 - 09:07 AM, said:
Use the following command line to use it:
"-g DN3DAE_16_9_Aspect_Ratio_NAM_Weapons'_Sprites_Fixes.zip"
It also contains widescreen version of hands for Сlaymore Mine (taken from Duke Nukem 3D widescreen tiles)
Made a little amendment. Here is the latest version.
Attached File(s)
-
DN3DAE_16_9_Aspect_Ratio_NAM_Weapons'_Sprites_Fixes.zip (6.57K)
Number of downloads: 371
#55 Posted 02 September 2020 - 09:40 PM
#56 Posted 03 September 2020 - 12:41 AM
#57 Posted 04 January 2021 - 10:32 AM
Courtesy of our mega man - Hendricks266.
http://hendricks266....k-fix-32-bit.7z
But...
Some kind of mysterious bug here. What are those semi-transparent lines going up to the sky?
They emerge from geometry angles from the walls, where textures stack with each other.
This occurs at E3L1 and E3L5 in "MULTIPLAYER 1" episode at WWII GI and at numerous places else, in NAM for instance... or at third mission of Platoon Leader expansion pack for WWII GI...
My observations:
"At levels which have cropped sky (yet another bug), there are
semi-transparent lines going up to the sky. They emerge from geometry
angles of the walls, where textures stack with each other.
It appears as they only emerge from geometry angles of the borderline
walls which separate level area from total emptiness."
Please see the screenshots in attachment.
It appears when CLASSIC renderer is used.
I use modified build r8642-AMENDED by Hendricks266.
Original r8642 does not have such an issue with semi trasparent lines going in the sky.
Additionally, I would like to show some information from EDuke32.log regarding r8642-AMENDED :
///////////////////////////////////////////////////////////////////////////////// ///////////
EDuke32 r8642-AMENDED
Built Jan 3 2021 18:15:19, GCC 10.2.0, 32-bit
Running on Windows 10 (build 10.0.19041)
Initialized 1ms system timer
CPU: Intel® Core i3-3120M CPU @ 2.50GHz
Initializing SDL 2.0.10
///////////////////////////////////////////////////////////////////////////////// ////////////
and for comparison purposes, here is the information regarding original r8642 build:
///////////////////////////////////////////////////////////////////////////////// ////////////
EDuke32 r8642
Built Feb 12 2020 01:06:43, GCC 8.3.0, 32-bit
Running on Windows 10 (build 10.0.19041)
Initialized 1ms system timer
CPU: Intel® Core i3-3120M CPU @ 2.50GHz
Initializing SDL 2.0.10
///////////////////////////////////////////////////////////////////////////////// /////////////
This post has been edited by OVERLORD: 04 January 2021 - 10:47 AM
#58 Posted 13 January 2021 - 10:39 AM
In NAM there are lots of semi-transpatent sprites like grass and lots of dynamically occuring explosion sprites, which may decrease fps in some conditions i think.
For example when your radioman calls for fire mission (smoke) - some time later there are many semi-transparent sprites of smoke occur, if I get closer to them or go through - my fps drops from 98.8 to 57.4 approximately. If you call two smoke fire missions - you will be surrounded by smoke cloud sprites and in this case my fps is around 35-47.
In fact, NAM and WWII GI are much less stable in terms of fps than Duke Nukem 3D. I don't really remember to have any fps drops in Duke Nukem 3D.
In WWII GI there is considerable fps drop in e1m1 when the front door of landing craft explodes, from like 98.8 to 67 or something, but it restores to initial value quite fast.
So I would to know if performance can be improved & tweaked by using console commands and command line parameters available in EDuke32.
I play at CRT monitor @ 1024x768 , 100 hz , vsync enabled.
This post has been edited by OVERLORD: 13 January 2021 - 11:33 AM
#59 Posted 18 January 2021 - 10:51 AM
OVERLORD, on 13 January 2021 - 10:39 AM, said:
In NAM there are lots of semi-transpatent sprites like grass and lots of dynamically occuring explosion sprites, which may decrease fps in some conditions i think.
For example when your radioman calls for fire mission (smoke) - some time later there are many semi-transparent sprites of smoke occur, if I get closer to them or go through - my fps drops from 98.8 to 57.4 approximately. If you call two smoke fire missions - you will be surrounded by smoke cloud sprites and in this case my fps is around 35-47.
In fact, NAM and WWII GI are much less stable in terms of fps than Duke Nukem 3D. I don't really remember to have any fps drops in Duke Nukem 3D.
In WWII GI there is considerable fps drop in e1m1 when the front door of landing craft explodes, from like 98.8 to 67 or something, but it restores to initial value quite fast.
So I would to know if performance can be improved & tweaked by using console commands and command line parameters available in EDuke32.
I play at CRT monitor @ 1024x768 , 100 hz , vsync enabled.
You can toggle the "upsampling" option in the Display menu to 2x, which should substantially improve performance at the expense of rendering quality.