Comments (3)
the same to me
from d2lootfilter.
Similar issue.
d2 1.14d
d2lootfilter 0.6 alpha
Plugy (14.03 latest)
Diablo 2 "BaseMod" (https://www.moddb.com/mods/basemod) v1139 (v1.13.9 latest)
and d2dx (0.99 latest)
I load "PlugY.dll" and "d2lootfiler.dll" via Diablo BaseMod after loading "PlugY.dll"
From my "Basemod.ini" :
[ExtraDll1]
Enabled=0
LoadDll1=""
[ExtraDll2]
Enabled=1
LoadDll2="PlugY.dll"
[ExtraDll3]
Enabled=1
LoadDll3="d2lootfilter.dll"
When I load the "d2lootfilter.dll" via the above mentioned "BaseMod" Loader (Modded "Games.exe") it crash when I quit the D2 program. It does not crash while gaming. But when I quit the D2 program, it launches "BlizzardError.exe" error reporting program. Cause of error is "Access violation". The error occurs 100% always I quit D2 program with "d2lootfilter.dll" loaded even on quitting D2 without starting new game session. Fully reproducible.
I tried to load "d2lootfilter.dll" before "PlugY.dll" loading, same result.
I tired to run D2 without D2DX (Removing "glide3x.dll" of D2DX and without "Games.exe" -3dfx option), same result.
So it is not fault of D2DX.
When I disable LoadDll3="d2lootfilter.dll" in "Basemod.ini", the launching of "BlizzardError.exe" on quit is gone
So it is clash between the BaseMod Extra DLL loading/unloading and "d2lootfilter.dll"
When I load "d2lootfilter.dll" via "Plugy.exe" with "DllToLoad=d2lootfilter.dll" in "Plugy.ini, It has no problem. It works well. No error on quit.
But when I load "PlugY.dll" via BaseMod with "LoadDll2="PlugY.dll" in "BaseMod.ini" and let the "Plugy.dll" will load the "d2lootfilter.dll" (2 step DLL loading) with "DllToLoad=d2lootfilter.dll" in PlugY.ini, it works well while gaming, but Same error on quit occurred again. So it does not matter which program loads the "d2lootfilter.dll" DLL.
I tested with original (unedited) "item.fiter" file.
My guess is that "d2lootfilter.dll" does not reset itself to initial states (before reading "item.filter" file) when a gaming session is finished and player returns to main menu screen. Currently it seems that the filter data is read only once when DLL is loaded and never re-read between successive game sessions. So editing the filter file does not take effect until you quit D2 program and re-launch D2program again.
I think that, when a game session is finished and returns to main menu, DLL should forget the filter data and release memory used by the filter data. And when a new game session is started from main menu, DLL should re-read the "item.filter " file again at start of new session. Then editing filter data or "d2lootfilter.ini" file between game session will take affect every time when player start new game session. It will make switching item.filters file or changing filter level/ping level between game session easier.
There should some way to force DLL to re-read the filter file again while in middle of live session without ending the session. The time that D2 restores window state from minimized state to normal foreground window state is good time to check the filter file is modified (file modification time is changed) and if file is modified, force re-read the filter data. Minimizing D2 to icon and restoring it back to normal state should make modified filter file take effect. It will make writing and testing filter much easier. User time is expensive but CPU time is cheap.
PS: Crash dump file is attached
BlizzardError.zip
from d2lootfilter.
I think I solved my problem of error on D2 quit.
The error is caused by d2lootfillter.dll hooked WndProc() when it is attached, but did not restore it back when DLL is detached. I added new clean up routine that restores the hooked WndProc back to original when it is detached. Then the error on quit is gone. Satisfied.
BTW, why does DLL compiled in debug mode fails to load? The DLL compiled in release config works well.
from d2lootfilter.
Related Issues (20)
- Can not see some quests drops HOT 8
- setbordercolor seems to not work HOT 2
- SetName Color options not working in .4? HOT 2
- Filter syntax error/warning HOT 1
- Reproducable crash with d2lootfilter.dll loaded in PlugY HOT 1
- Faster cast rate HOT 1
- Show all, then decide what to hide? HOT 3
- i wanna see gold and some white bases
- Feature request Min Max Values HOT 1
- Feature request 1.09d Compatibility HOT 2
- Accidental line break causes crash
- Suggestions for improvement
- The Rarity ordering broken
- On naming tiers and filtering/ping level
- condition Class != Potion causes crash HOT 3
- Can this plugin surpport using chinese?
- Condition Type not work
- Background color only working on ACT 1
- Stuff gets destroyed HOT 3
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 d2lootfilter.