Giter Site home page Giter Site logo

nfsmw_xenoneffects's Introduction

NFS Most Wanted - XenonEffects port

XenonEffects.png

This is an attempt to port and implement XenonEffect particle emitters to NFS Most Wanted PC version.

What are XenonEffects?

XenonEffects are an extension of the existing particle emitter system in Speed based games since Most Wanted. They primarily consist of extra sparks and contrails (wind effect) behind the car.

As the name implies, these effects were developed firstly for the Xbox 360, but found their way back onto the (then) current-gen console platforms.

This feature was famously not included in the PC version of NFS Most Wanted and this plugin attempts to bring them back by backporting the code from NFS Carbon into NFS Most Wanted.

What works

  • General rendering - implemented via DrawIndexedPrimitive

  • Sparks work

  • Contrails work

  • Contrail status updating in CarRenderConn

  • Particle effect list initialization, generation & erasing (EASTL list/vector)

  • Particle bouncing

What doesn't work

  • Debug camera crashes the game while the contrail hook is enabled ExOpts was the culprit and was patched in the latest build! Make sure you update it!

  • Fixed pipeline rendering - this will only work via pixel shaders. You will not be able to use this with, for example, a GeForce 2.

  • Check the top of dllmain.cpp for more up-to-date info

Usage

  • If not installed already, install either Widescreen Fix (recommended) or Ultimate ASI Loader (only if you don't want Widescreen Fix)

  • Make sure you're running with the RELOADED No-CD 1.3 exe! (MD5: C0516B485065FABDD69579816B5DF763)

  • Extract the .zip to the root directory of the game

  • Reconfigure the .ini in the scripts folder to your liking

  • Make sure that texture filtering is turned on in video settings! Otherwise sparks will be drawn at wrong coordinates!

  • In case you're using NextGenGraphics.asi, please enable UseD3DDeviceTexture in the .ini

nfsmw_xenoneffects's People

Contributors

xan1242 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

osdeverr

nfsmw_xenoneffects's Issues

Contrails don't appear when having collisions

When contrails are present and I'm having even weak collisions (weak meaning hitting road signs that don't generate long sparks) they keep disappearing even though I'm at a higher speed than necessary for the contrails to appear (+100Km/ h).

So basically you can't see the contrails and the sparks at the same time in any way.

I can't share a clip but I think that the issue is clear.

Sparks

Sparks in-game look very different from the one in the screenshots, it is more less detailed, why?

Dependency on D3DX

The use of d3dx9.lib required by D3DXCreateTextureFromFileInMemory and D3DXCreateTextureFromFile creates a dependency on D3DX9 that is not shipped in Windows by default. This might lead to people complaining about the mod failing to load if they've not had to install the DX end user runtimes in the past, or if no retail/Steam game did. I don't know if NFS MW's installer does, but if it does then it's a version much older than what you're linking against (d3dx9_43.dll).

There are a few ways to solve this:

  1. Require the user to install DirectX End-User Runtimes. This redist is big and outdated though, and requiring it just for one DLL is eh.
  2. Ship an updated, resigned d3dx9_43.dll from a NuGet package described in Legacy D3DX on NuGet. This is the currently recommended way of using D3DX9 is you really, really need it.
  3. Since D3DXMATRIX types do not introduce a dependency and only the texture loader functions do, you may replace these functions with DDSTextureLoader9 from DirectXTex. It's permissively licensed and modular, so essentially you could even just drag this one .cpp and .h file into the project and use it directly, removing the need to link against the DLL in the first place.

Sparks won't appear after version 0.10

Hello I noticed the sparks wont appear since version 0.10

This is the new version 1.00, and I also tested the version 0.11 and 0.12 :

bandicam.2023-02-23.10-56-21-717.mp4

And this is version 0.10 :

bandicam.2023-02-23.10-57-55-338.mp4

All of the .ini files are kept in vanilla so it's must be not from the settings. I suspect it's been like that since you switched the texture file reading from .dds to .tpk because when I removed the .dds file from version 0.10, the same bug happen. And also because texture file switching was the biggest changelog from version 0.10 to 0.11

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.