hello developers,
due to several requests for DirectX output I want to initiate a project for one common D3D8.dll for all addon developers. Participants of the following discussion should have a basic understanding of the wrapper dll approach and knowledge about DirectX programming would be helpful. A tutorial of the proxy concept can be found on mikoweb.eu
Introduction
Even if the wrapper dll approach is very easy to understand and to implement, it has one significant drawback. As every addon developer will write his own D3D8.dll for his purpose and copy it into the LFS folder, it may lead in overwriting the D3D8.dll of other addons.
Objective
The goal is one common D3D8.dll for all addons. Ideally it would only do the wrapping and would not have any functionality. On request of the addon it would load an additional addon specific dll with all needed funtionality.
Problems
We need to discuss several questions:
Sören
due to several requests for DirectX output I want to initiate a project for one common D3D8.dll for all addon developers. Participants of the following discussion should have a basic understanding of the wrapper dll approach and knowledge about DirectX programming would be helpful. A tutorial of the proxy concept can be found on mikoweb.eu
Introduction
Even if the wrapper dll approach is very easy to understand and to implement, it has one significant drawback. As every addon developer will write his own D3D8.dll for his purpose and copy it into the LFS folder, it may lead in overwriting the D3D8.dll of other addons.
Objective
The goal is one common D3D8.dll for all addons. Ideally it would only do the wrapping and would not have any functionality. On request of the addon it would load an additional addon specific dll with all needed funtionality.
Problems
We need to discuss several questions:
- We need some kind of interprocess communication to instruct the D3D8.dll to load/unload the addon specific part. What kind to use (pipe, loopback, shared memory...)?
- What functions does the addon specific dll needs to export?
- How to handle a "dll only" addon (example: Drift Gauge and G-Meter by Racer_S2)? There is no 2nd process that could instruct the dll to load additional functionality.
Sören