Comments (5)
Info. When downloading FLA the source code is included. There you can find the file:
fastman92_limit_adjuster_4_3\fastman92 limit adjuster 4.3\source code\fastman92 limit adjuster\fastman92 limit adjuster\howToMakePluginsCompatible.txt
I have found the following update from version 4.2 to 4.3:
4.2:
0x40122D - holds a pointer to CStreaming::ms_modelInfoPtrs array (0x0xA9B0C8 by default)
4.3:
(0x4C5538+3)- holds a pointer to CStreaming::ms_modelInfoPtrs array (0x0xA9B0C8 by default)
from plugin-sdk.
Recently I started to host an FLA compatible version of GarageExtender. The mod created by Link2012 uses some of the old files from plugin-sdk, so the issue is very similar.
The current version of GarageExtender uses the addresses for FLA 4.2. I have tested it now with FLA 4.3 and it does not work reliably for the reason described in the previous post (changed addresses). Hence, a solution is neede how to detect the version of FLA and to detect if FLA is running at all. The solution must be backward compatible with older versions of FLA that are in use and will be used.
To detect if FLA is running, a possibility is (a) to check which modules are loaded in memory or (b) check if the FLA asi file is present in the folder. I am not sure at what time it is safe to assume that all modules are loaded.
To detect the version of FLA the file size can be checked (which is different each time), or the comment in FLA log file can be read. However, the time when the log file is created maybe too late.
from plugin-sdk.
There is really no need to check the FLA version.
Just tell me what's the problem and I'll tell you the best solution.
Be precise when asking. Tell me what's the exact problem instead of saying something doesn't work like many would.
4.2:
0x40122D - holds a pointer to CStreaming::ms_modelInfoPtrs array (0x0xA9B0C8 by default)
4.3:
(0x4C5538+3)- holds a pointer to CStreaming::ms_modelInfoPtrs array (0x0xA9B0C8 by default)
The old one still works in HOODLUM.
The newer address is better, because it valid for compact/HOODLUM EXE and it will never need to be changed anymore.
It's a part of this simple function:
void __cdecl CModelInfo::SetModelInfo(int index, CBaseModelInfo* pModelInfo) { CModelInfo::ms_modelInfoPtrs[index] = pModelInfo; }
The FLA should always be loaded first unless the ASI loader is not well made.
For this reason the file is called $fastman92limitAdjuster.asi
$ should come before any other letter, when sorted.
When other plugin loads, the FLA is already loaded (if it exists) or not.
from plugin-sdk.
Moved discussion with fastman92 here due to addition topics to discuss.
from plugin-sdk.
Compatibility will be implemented in future versions.
from plugin-sdk.
Related Issues (20)
- injector::MakeInline modifies the EFLAGS register HOT 1
- Can't build plugin.sln (C2760 Error) [Visual Studio 2019 Community]
- Crash when calling CPlaceable::GetAtDirection()
- Build errors caused by C/C++ preprocessor definitions HOT 1
- Is this error caused because a d3dx9 sdk installation is missing? HOT 2
- Plugin-SDK adaptable for GTA SA mobile version. HOT 1
- VSIX installer error in Visual Studio HOT 3
- GetD3DDevice not work correct
- Compilation error. Visual Studio 2019 HOT 4
- Linux crosscompilation: error due to includes with different casing than the file HOT 2
- GPS example broken due to missing type on GetD3DDevice template function HOT 1
- WN 11 ?? HOT 2
- Error in plugin gen HOT 5
- Recent error while trying to clone HOT 1
- Modifying shadow colors.
- CRoadBlocks::aScriptRoadBlocks address collision HOT 1
- About UE4 GTA game sdk
- Issues with installing(FIXED)
- events don't work
- A lot of errors tryIng to compile and even opening file generated by Generate MyPlugin.bat
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from plugin-sdk.