Code Monkey home page Code Monkey logo

d2dx's People

Contributors

bolrog avatar jarcho avatar pairofdocs avatar xenthalon 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  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

d2dx's Issues

Right FPS lock/limit in d2fps.ini

How exactly in the d2fps.ini file should the frame limiter be set, what does the line "This can be given as a ratio (e.g. 101/2) or a decimal (e.g. 50.5)" mean?
Frankly speaking it reminds of displaying fps in Minecraft through F3, I suppose I need to put 120 fps (or 116 as it is now accepted), and my monitor has a frequency of 120Hz, what to write there to limit fps was correct? Basically everything works as it is, but I want to try instead of the usual vsync (which works in conjunction with freesync of my monitor) to activate in the panel nvidia fast sync, to eliminate inputlag, well, plus achieving greater smoothness.

Yes I can use afterburner for this to limit fps, but with it occasionally there is some minilag in games and I decided not to use it for now. Thank you.

D2DX needs -dxnocompatmodefix option on latest window 11

On Windows 11 version 22H2 (build No 10.0.25267.1000) - developer beta (Insider Preview) D2DX complains about Windows compatibility mode on launch and exits Of course, I do not use any compatibility mode on Diablo II.exe or Game.exe

It worked perfectly without such complaint on previous version of developer beta of last month. But after updating to Windows 11 Inside preview of the latest version of developer beta, it started to such complaint and I have to use -dxnocompatmodefix command line option to silence such complaint. It seems that MicroSoft have changed major windows version number of windows 11.

Old version by bolrog has same problem. So it is not fault of Jarcho's code, but bolrog's.

Reproducable crash with d2lootfilter

If both D2DX & d2lootfilter are loaded; as soon as I move my cursor over the Defence stat on the character screen, the game crashes. Without fail. Plain SGD2FreeRes does not do this, so I can only imagine it is on D2DX/D2LOOTFILTER side.

reproduced with
d2 1.14d
plugy 14.03
d2lootfilter 0.6b https://github.com/dschu012/d2lootfilter
latest jarcho d2dx

In game crash with maphack

From version v0.101.0 upwards game crash when maphack (BH.dll) is loaded.
If game-fps is set to false game does not crash.

reapply-patches and integrity-checks does not help.

I have also tried to rename d2fps.dll and load it from Plugy, before or after BH.dll with no success.

Screenshot_2

Game window always go back to main screen

I have two screens: main screen and secondary screen.
Every time I open the game, the game window appears on the main screen and I drag it to the secondary screen and play.
When I click on option 'save and exit game', the game window goes back to the main screen

Anti-aliasing not working on <=1.09b

I could be mistaken, but it looks like anti-aliasing does not work on 1.09b and below. I am not sure if AA is part of SGD2FreeRes which only supports >= 1.09d, but figured I'd mention it in case this is a bug.

A bug with PD2 mod

When open the PD2 mod's "Quick Cast",set and press the Skill short key,the skill will cast never stop until press other Key or mouse click.
For example:
The Barbarian's Skill "Howl" of Warcries
When I Set F7 for it
and go outside open the PD2 mod's "Quick Cast" and press the F7,and it's will cast Howl but never stop until MP is 0 or press other Key or mouse click.

It's seem like keydown is trigger but keyup is not trigger.

1.09B widescreen support

Hi and thank you for your work on this wrapper!
Is this the right place to ask for LoD 1.09B widescreen support?
Should I open an issue over at the SGD2FreeRes project, instead?

In-game music gets muted after minimising and restoring game window

The problem starts in https://github.com/Jarcho/d2dx/releases/tag/v0.100.1. It's not present in https://github.com/Jarcho/d2dx/releases/tag/v0.100.0.

To reproduce:

  1. Start the game and set the music slider to the max value (slide to the right).
    image
  2. Minimise the game with Alt+Tab.
  3. Restore the game. The music has now stopped playing, however the slider is still set to the max.
    image
  4. Close the game completely.
  5. Re-open the game and check the sound settings.
  6. The music has automatically been muted (slide to the left).
    image

D2DX with ResMod: incorrect mouse rock area in windowed mode

Current working version of D2DX by Jarcho seems to have some problem with internal ResMod.
The D2DX without internal ResMod works great and have no problem.
But when compiled with Resmod included and D2 is launched
in Windowed mode with "-w -3dfx", The mouse lock area works incorrectly.
.
When user launches D2 client, it starts with windowed mode, and the "mouse lock" area works correctly.
And when player enters new game session by selecting Dia character,
the game window expands to so-called "windowed full screen" mode
(with top title bar and explorer task bar)

But the left side of "mouse lock area" remains the same "launch window area boundary".
Up and down and right area mouse lock area boundary works correctly. Only left is incorrect.
I use 1024*768 4:3 D2 resolution and real window desktop resolution is 2560*1440.
Old version by @bolrog/d2dx with internal resmod works correctly without such problem

Hi,Jarcho.0.103.3 have game windows issues with single monitor.

I have a small resolution monitor(1920x1080,DPI=125%).
and I set 2x Scales with window.
when I start game and the game window's height will more then (screen height - taskbar height),It's mean the taskbar will block the bottom of the game window.
and when into the game,the top of window also not top near the screen top.

Hi Mr. Jarcho.Can You add the takeScreenshot function?

You can see the d2gl's code :

void Context::takeScreenShot()
{
	static uint8_t* data = new GLubyte[App.viewport.size.x * App.viewport.size.y * 4];
	memset(data, 0, App.viewport.size.x * App.viewport.size.y * 4);

	glPixelStorei(GL_PACK_ALIGNMENT, 1);
	glReadPixels(App.viewport.offset.x, App.viewport.offset.y, App.viewport.size.x, App.viewport.size.y, GL_RGBA, GL_UNSIGNED_BYTE, data);

	std::string file_name = helpers::saveScreenShot(data, App.viewport.size.x, App.viewport.size.y);
}

and the memory address is:

helpers::getProcOffset(helpers::getVersionOffset({ "d2win.dll" }, { -10168 }, { -10168 }, { -10205 }, { -10014 }, { -10196 }, { -10187 }, { -10107 }, { 0xFA7A0 }))
d2versions:    109d,110,111,111b,112,113c,113d,114d

[Feature Request] AMD FSR

"Yeah FSR seems like a pretty good upscaler for Diablo II, I tested it by "injecting it" into the game with a tool called Magpie about a year ago.
I uploaded comparison images to a two-image sliding view website.
Vanilla D2 (800x600) upscaled with Biinear (left) and FSR 1.0 (right).
Settings: Upscale in Performance mode (2x resolution) + RCAS (Robust Content-Adaptive Sharpening)."

https://imgsli.com/MTkwOTg4

posted by eleriaqueen on bayaraa/d2gl#5

I uploaded comparison images to a two-image sliding view website.

Vanilla D2 (800x600) upscaled with Biinear (left) and FSR 1.0 (right).

Settings: Upscale in Performance mode (2x resolution) + RCAS (Robust Content-Adaptive Sharpening).

https://imgsli.com/MTkwOTg4

New motion preditor testing

I've been working on a new motion predictor. This is going to need some testing to see if anything goes wrong with it.

The main difference with this one is it hooks into the game to change the positions of everything before the game renders a frame. This fixes a whole bunch of issues that can't be fixed the old way and also make predictor compatible with all renderers.

Changes from the old version:

  • Perspective mode is much smoother. All the regular d2 issues still apply (things sliding around relative to the floor being the biggest).
  • Text labels no longer drift/jiggle. All the regular d2 issues with text label placement still apply.
  • CPU use when the game is minimized has been fixed.
  • CPU use in game and menus has been fixed.
  • Character animations in the menu no longer run faster than normal.
  • V-sync is disabled by default in favour of a frame limiter. It can be enabled if you really want it.
  • Support all versions starting from v1.00 except
    • 1.04
    • 1.09c
    • 1.10b (beta release)
    • 1.10s (beta release)
    • 1.13a (beta release)
    • 1.13b (beta release)
    • 1.14a
    • 1.14b

Known Issues:

  • Multiplayer motion smoothing is not implemented (fixed 2023-05-26)
  • Teleported units will be 'smoothly' moved to their new location (fixed 2023-05-19)
  • Game crashes with other fps patches (e.g. Project Diablo 2). Those will need to be disables for this to work. (workaround added in 2023-08-08)

For variable refresh rate monitors I'm unsure if the refresh rate is detected correctly or not. You can force a specific frame rate in d2fps.ini.

Download:
d2dx-test-2023-08-08.zip

crash with NVIDIA GeForce GTX 1050 Ti when into game

the log:
D2240111.txt
and the crash address:
D2Client.dll 0x6FAECB7C (memory address) <=> 0x3CB7C(file address)
this point have d2fps's patch code,it's call d2fps.79E8A430

some OD code:

6FAECB77    47              inc edi
6FAECB78    85C0            test eax,eax
6FAECB7A    75 34           jnz short D2Client.6FAECBB0
6FAECB7C    E8 AFD8390A     call d2fps.79E8A430
6FAECB81    0f1f8400 000000>nop dword ptr ds:[eax+eax]
6FAECB89    0f1f8400 000000>nop dword ptr ds:[eax+eax]
6FAECB91    0f1f8400 000000>nop dword ptr ds:[eax+eax]
6FAECB99    0f1f00          nop dword ptr ds:[eax]
6FAECB9C    85F6            test esi,esi
6FAECB9E  ^ 0F85 6FFFFFFF   jnz D2Client.6FAECB13
6FAECBA4    5F              pop edi
6FAECBA5    5E              pop esi
6FAECBA6    B8 01000000     mov eax,0x1
6FAECBAB    5D              pop ebp                                  ; user32.GetMessageA
6FAECBAC    83C4 1C         add esp,0x1C
6FAECBAF    C3              retn
6FAECBB0    85F6            test esi,esi
6FAECBB2    75 05           jnz short D2Client.6FAECBB9
6FAECBB4    B8 01000000     mov eax,0x1

not an issue

hi jarcho, are you still developing this?
i'm using d2fps + d2gl (d2gl for filters and font, d2fps for motion predition, just missing missiles)
are you aware of this pull?
bolrog#133
make the scaling floating, not interget, so the windows can be any size
in my case I use 1068x600, but the 1x screensize is too small em 2x is too big.
is it viable to add this to your fork of d2dx?

Cinematics are black screen in versions <= 1.02

I was testing some older versions of D2 using Cactus, and am launching Game.exe with -3dfx so that I can use d2dx. I noticed that the cinematics in versions <= 1.02 are black screen. They seem to work in >= 1.03. If I do not launch with -3dfx, I can see the cinematics in all versions.

Not an issue

Would it be possible to implement something like HD font? I feel like your motion prediction is superior to D2GL, but the HD font is what keeps me using that. Thanks for your hard work.

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.