Running AvP2 + PH On Windows 8.1

Started by KingKenny, Oct 05, 2014, 07:45:42 PM

Author
Running AvP2 + PH On Windows 8.1 (Read 12,103 times)

KingKenny

KingKenny

#15
Hey

So I made a little fix in the vision mode attributes to fix the alien and pred vision modes.

However, I just noticed one more bug and that's the red disc trail. The trail behind the predator's disc when thrown fails to appear 99% of the time. Not a game breaker but still.

Xhan

Xhan

#16
I'll look over the base vanilla code but I'm pretty sure it's a rolling trace fx like the exo laser but just wider.

Does the exo laser work?

Canon_Barbarian

Canon_Barbarian

#17
SpriteTextures\SFX\Particles\disctrail.DTX

It's a particle trail.

If you are running AVP2 in windowed mode, the problem may be broken internal timer. At least on Windows XP AVP2 internal timer is very inaccurate if game is in windowed mode. Particle trails do not appear, animations are bad and so on. Check particle trail from predator plasma bolt.

And AVP2 uses DirectX7, ENB will not work.

Xhan

Xhan

#18
Actually the laser, pred disc and PReticle all use linear 2D tracing sprites, they aren't particles, and neither are bullets or water splashes, they're stored in the particle repository, where all VFX are stored, regardless of what function they have, under your definition the Alien fog in the Alien and Pred loading screens would be particles, they clearly aren't.

AVP2 does not use dx7, it uses a heavily modified version of Dx8 with custom lighting libraries, which is why ENB doesn't work.

The mistiming on XP only applies to server and latency tracking and is solved by using the same WMP 30 frame fix that applied to half life 1 servers and clients.

Canon_Barbarian

As I remember, laser is TraceFX, which actually are CPolyLineFX = custom draw poly, just like flashlight


[TracerFX1]

Name              = "Laser"

CPolyLineFX m_Tracer;



Disc effect is a particle trail which emits particle segments


[ParticleTrailFX2]
Name              = "DiscTrail"
Texture           = "SpriteTextures\SFX\Particles\disctrail.dtx"



Watch renderer dll dependencies: DDRAW.DLL, not d3d8.dll. NOLF2 uses dx8, not AVP2

As for timings, I have this issue in AJL mods on WinXP. It's cool if it is only my problem )

Immortan Jonesy

Immortan Jonesy

#20
I still play AVP Classic 2000 without any problem with the vision of the Alien and Predator, which is funny considering that this game is older than AVP 2.

KingKenny

KingKenny

#21
Quote from: Xhan on Oct 11, 2014, 07:12:52 AM
I'll look over the base vanilla code but I'm pretty sure it's a rolling trace fx like the exo laser but just wider.

Does the exo laser work?

Yup exo lasers work fine.

Quote from: TheCanonMaster on Oct 11, 2014, 12:18:20 PM
SpriteTextures\SFX\Particles\disctrail.DTX

It's a particle trail.

If you are running AVP2 in windowed mode, the problem may be broken internal timer. At least on Windows XP AVP2 internal timer is very inaccurate if game is in windowed mode. Particle trails do not appear, animations are bad and so on. Check particle trail from predator plasma bolt.

And AVP2 uses DirectX7, ENB will not work.

I'm playing the game in fullscreen.

I know the disctrail is based on the disctrail.dtx. As to why it doesn't show, I have no idea.

Xhan

Xhan

#22
Quotedependencies

Actually it calls d3d8 after the game begins before lighting is applied, ddraw handles menus and hud elements (which is why they don't break in SLI or Xfire but the lighting does, try running the game without Dx8+ or a legacy library installed and it won't even boot past the loader as it uses several libraries ddraw never had, in addition to monolith's unique-to-Avp2 split lighting engine (characters and envs receive separate lighting and lighting passes, which is why enabling occluded-per-poly instead of blobs shadows breaks char shadows on some maps.)

QuoteNOLF
was the engine it was supposed to use when they started.

Quotesegments

Fairly certain it doesn't, it's simply stored in the same section because it's a dynamic model attachment instead of a static animation; it's still a repeating trace fx defined by the parent emitter like the others, the only difference being it's attached to a moving model versus a static source, but I have the game taken completely apart right now in the interest of adding actual projectiles instead of hitscan registration, so it's not worth arguing about. Trace and tracer being different things by game definition.

QuoteAJL
Why AJL didn't use Bunny's timing fixes like everyone else did is beyond me, maybe he was too busy trying to get flying aliens with dynamic wings in to ever implement it. *shrug*

QuoteAvPG
uses vanilla libraries and uses simple flipping render modes that basically act like photoshop filters, which is why not too much work was needed to make it compatible once they started using standard vesa modes instead of forcing the resolution like it used to. AvP2 has a couple separate lighting passes that change both rendering mode and diffuse maps on a per-poly basis, so it tends to break under anything less than a strictly exact environment.








Canon_Barbarian

No signs of d3d8 there, checked all DLLs loaded. Only D3DDIM700 which 3d extension for DirectX7 DDRAW, I think. Am I right? And TextureModeMGR.cpp uses d3dTypes.h with next code

#ifndef DIRECT3D_VERSION
#define DIRECT3D_VERSION         0x0700
#endif

#if (DIRECT3D_VERSION >= 0x0800)
#pragma message("should not include d3dtypes.h when compiling for DX8 or newer interfaces")
#endif


Why? Here some screens, disc trail effect with increased emit time and reconfigured tracer from exo-laser:

Here we see particles. With shorter emit time, particles just "blends" together imitates cool-looking trail


And here something else (WOW WOW Konami Contra LAZOR), it's not imitation, not separated segments. Looks like it is a single object.


Also you can disable effects via console variables (similar to wireframe, windowed convars). Just set DrawParticles 0 and you will not see disc or rocket smoke trails. But exo-laser traces will be drawn. And you can set DrawCanvases 0 and it will be inverted scenario (no flashlight cone, no exo-laser, but there will be rocket and disc trails)

For KingKenny, don't think it will help but I did some research with renderer console variables, try if you have time (add +consolevar VALUE into command string):

1) Disable sky (via VisionModeButes), maybe it will remove graphical artifacts
2) Disable InvertHack, I think you already did that
3) Bilinear 0 (default is 1) removes texture smoothing
4) SkyScale 15 (default is 1) scale the sky, maybe it will remove graphical artifacts
5) UseDX6Commands 0 (default is 1) transparency and alpha channels will not work. Ugly but who knows maybe it will help.
6) TnLRast 1 (default is 0). Don't think that it works, but on WinXP some artifacts appear in this mode. U should try ))


KingKenny

KingKenny

#24
Hey

Where are you entering those console variables exactly?

Is it the avp2cmds.txt?

So an example would be:

+consolevar VALUE Disable Sky

or is it:

+consolevar Disable Sky

Xhan

Xhan

#25
+consolevar Disable Sky 1

for the ones that have values

Canon_Barbarian


+Bilinear 0
+DrawSky 0
+UseDX6Commands 0


But DrawSky and InvertHack will not work coz game overrides these variables every time when new visionmode applies. It can be doe via VisionModeButes.txt (Invert and DrawSky properties)

KingKenny

KingKenny

#27
Tried it all out. Doesn't help. :(

Most of those are the same settings from the options menu and I had lowered all the settings to minimum and it didn't help either.

The graphical artifacts seem to come from the 3d rendering more than anything and I don't think it can be fixed.

Thanks for the help.

AvPGalaxy: About | Contact | Cookie Policy | Manage Cookie Settings | Privacy Policy | Legal Info
Facebook Twitter Instagram YouTube Patreon RSS Feed
Contact: General Queries | Submit News