PlugY source code

Discuss applications of D2Mod (v1.10), NefEx (v1.11+), and PlugY, and post suggestions for future plugins.

Moderators: Nefarius, Yohann, SVR

Post Reply
User avatar
Yohann
Hosted Forum Moderator
Arch-Angel
Posts: 1286
Joined: Tue Sep 23, 2003 10:10 pm
Contact:

Hand-picked

PlugY source code

Post by Yohann » Fri Oct 24, 2014 7:40 pm

Hello everybody !

I'm still alive.
And today I just release the code source of PlugY today on my site : http://plugy.free.fr
The real reason to come back here is because I need money but don't worry I don't sell it, it's free to download. :D

I won't update it for LoD 1.13D, so if somebody want to do the work he can now !

I will come back more later to reply to some questions if you have.

Have fun with coding :)
PlugY v10.00 : Download - Forum
Fix TXT Opened Files With MS Excel : v1.11 - v1.10
DualPlayer
: v1.11 - v1.10 - v1.09

User avatar
Necrolis
Senior Admin
Throne
Posts: 9125
Joined: Sat Mar 25, 2006 1:22 pm
Location: The Land of the Dead
Contact:
South Africa

Hand-picked

Re: PlugY source code

Post by Necrolis » Fri Oct 24, 2014 9:57 pm

Good to see you are still around Yohann!

I'm sure many of the people still left here are going to go crazy fiddling with PlugY (especially to customize it to work with certain mods!).
I myself actually started making my own variant of your stash (mainly cause I've replaced everything your code hooks into :P), gonna be interesting to compare code.

Also gonna sticky this for visibility etc.I see you have already done that, this should be added to the next news announcement.
Image
Netiquette, Do you USE it?!?! | Nefarius' Fixed TXT Files | Terms Of Service
Blackened | Day of Death | D2GFEx
"What was yours is mine. Your land, your people, and now your life." - Lim-Dul, the Necromancer
Judgement is Final, Death is Eternal

User avatar
kidpaddle94
Forum Legend
Principality
Posts: 2057
Joined: Thu Aug 13, 2009 2:54 pm
Location: localhost
Canada

Re: PlugY source code

Post by kidpaddle94 » Sat Oct 25, 2014 2:11 am

Necrolis" wrote:I myself actually started making my own variant of your stash
Same here, except I haven't started yet personally. (was only gathering info for it and thinking to do it at some point).
This will surely help and save me a lot of time, thank you very much for this release Yohann :)

User avatar
weapon-x
Forum Legend
Arch-Angel
Posts: 1047
Joined: Wed Mar 18, 2009 4:52 am
Location: Mindanao, Philippines
Contact:
Philippines

Re: PlugY source code

Post by weapon-x » Sat Oct 25, 2014 6:48 am

Yohann" wrote:Hello everybody !

I'm still alive.
And today I just release the code source of PlugY today on my site : http://plugy.free.fr
The real reason to come back here is because I need money but don't worry I don't sell it, it's free to download. :D

I won't update it for LoD 1.13D, so if somebody want to do the work he can now !

I will come back more later to reply to some questions if you have.

Have fun with coding :)
currently downloading...

thank you for this sir... i'll try to peek-in perhaps we can fully extend the savefile size for 1.10 :mrgreen:
" It's not the size of the dog in the fight, it's the size of the fight in the dog. "

~Mark Twain

User avatar
eps2
Posts: 53
Joined: Thu Jul 27, 2006 6:19 pm
Location: Poland

Re: PlugY source code

Post by eps2 » Sat Oct 25, 2014 5:14 pm

Good news. Thanks to share source code.

User avatar
drconfused
Posts: 27
Joined: Sun Apr 27, 2008 8:58 pm
Location: Alberta, Canada

Re: PlugY source code

Post by drconfused » Thu Oct 30, 2014 9:33 pm

Wow this is really tremendous! While I have no clue when it comes to programming, I have been a lurker here for many years and continue to enjoy the mod community. I think without the PlugY additions to diablo I probably would not have maintained interest. You definitly have my support! Looking forward to seeing what comes of releasing the source :)

User avatar
Yohann
Hosted Forum Moderator
Arch-Angel
Posts: 1286
Joined: Tue Sep 23, 2003 10:10 pm
Contact:

Hand-picked

Re: PlugY source code

Post by Yohann » Sun Nov 16, 2014 9:31 am

Good news for me, nobody have questions about the source code.
Have fun with it so. :)
PlugY v10.00 : Download - Forum
Fix TXT Opened Files With MS Excel : v1.11 - v1.10
DualPlayer
: v1.11 - v1.10 - v1.09

User avatar
mmpx222
Junior Member
Paladin
Posts: 154
Joined: Sat Apr 26, 2014 9:19 am
Korea South

Re: PlugY source code

Post by mmpx222 » Mon Jan 19, 2015 3:36 am

*Casts Raise Undead Thread*

I've looked at the code to see if I could patch it to work with 1.13d. No offense to your hard work, Yohann, but the code is hard to interpret, and clearly not designed to flexibly support multiple versions of D2. Gad, I am surprised how you have been able to maintain PlugY all this time. Looks like I'll be sticking with 1.13c.

Have you ever considered rewriting it from scratch, just so that adding offsets for different D2 versions wouldn't be as overwhelming? If so, how?
D2TXT / D2INI - Python scripts for editing TXT files, or converting between TXT ↔ INI files

User avatar
Necrolis
Senior Admin
Throne
Posts: 9125
Joined: Sat Mar 25, 2006 1:22 pm
Location: The Land of the Dead
Contact:
South Africa

Hand-picked

Re: PlugY source code

Post by Necrolis » Mon Jan 19, 2015 9:30 am

mmpx222" wrote:*Casts Raise Undead Thread*

I've looked at the code to see if I could patch it to work with 1.13d. No offense to your hard work, Yohann, but the code is hard to interpret, and clearly not designed to flexibly support multiple versions of D2. Gad, I am surprised how you have been able to maintain PlugY all this time. Looks like I'll be sticking with 1.13c.

Have you ever considered rewriting it from scratch, just so that adding offsets for different D2 versions wouldn't be as overwhelming? If so, how?
It looked to me that it was only really designed for one version, and Yohann needed to hack in more versions as time went on.

The biggest problem with multi-version support is normalizing calling conventions after 1.10, many intra-module functions use optimized calling conventions that need inline asm to call. To work around this you need to have global function pointers that either get the functions directly if they are regular or a pointer to an assembly wrapper that adapts the calling convention. The othe problem is that blizzard started shifting around struct members after 1.10 to make maph@cks hard to make.
Image
Netiquette, Do you USE it?!?! | Nefarius' Fixed TXT Files | Terms Of Service
Blackened | Day of Death | D2GFEx
"What was yours is mine. Your land, your people, and now your life." - Lim-Dul, the Necromancer
Judgement is Final, Death is Eternal

User avatar
mmpx222
Junior Member
Paladin
Posts: 154
Joined: Sat Apr 26, 2014 9:19 am
Korea South

Re: PlugY source code

Post by mmpx222 » Mon Jan 19, 2015 11:50 am

Necrolis" wrote:
mmpx222" wrote:*Casts Raise Undead Thread*

I've looked at the code to see if I could patch it to work with 1.13d. No offense to your hard work, Yohann, but the code is hard to interpret, and clearly not designed to flexibly support multiple versions of D2. Gad, I am surprised how you have been able to maintain PlugY all this time. Looks like I'll be sticking with 1.13c.

Have you ever considered rewriting it from scratch, just so that adding offsets for different D2 versions wouldn't be as overwhelming? If so, how?
It looked to me that it was only really designed for one version, and Yohann needed to hack in more versions as time went on.

The biggest problem with multi-version support is normalizing calling conventions after 1.10, many intra-module functions use optimized calling conventions that need inline asm to call. To work around this you need to have global function pointers that either get the functions directly if they are regular or a pointer to an assembly wrapper that adapts the calling convention. The othe problem is that blizzard started shifting around struct members after 1.10 to make maph@cks hard to make.
That's too bad. Perhaps it would have been better if there was one version of PlugY.dll for each version of D2, and PlugY.exe loaded them as needed.
D2TXT / D2INI - Python scripts for editing TXT files, or converting between TXT ↔ INI files

User avatar
Yohann
Hosted Forum Moderator
Arch-Angel
Posts: 1286
Joined: Tue Sep 23, 2003 10:10 pm
Contact:

Hand-picked

Re: PlugY source code

Post by Yohann » Sun Jan 25, 2015 9:04 pm

Yes, Necrolis have right,
To reply myself to mmpx222, adding a new version isn't just adding offsets. There are a lot of work to do.
And yes Necrolis, the convertion to 1.10 give me a headache !
But I think the convertion to 1.13d shouldn't be so hard. I guess there are only offset changes.
So I suggest to just to replace 1.13c offset by 1.13d and ignore all others versions.
PlugY v10.00 : Download - Forum
Fix TXT Opened Files With MS Excel : v1.11 - v1.10
DualPlayer
: v1.11 - v1.10 - v1.09

Sampson
Posts: 52
Joined: Mon Sep 30, 2013 2:22 am

Re: PlugY source code

Post by Sampson » Sat Mar 12, 2016 7:44 pm

Is there any interest in updating this for 1.14a?

User avatar
ChaosMarc
Dark Alliance Beta Test
Champion of the Light
Posts: 256
Joined: Fri May 28, 2004 2:00 pm
Germany

Re: PlugY source code

Post by ChaosMarc » Sun Mar 13, 2016 3:58 pm

I think this will be a community task instead of yohanns ;)
there are two github repos that contain the source code and added some additions (mostly translations I think).
https://github.com/Speakus/plugy
https://github.com/tytannial/PlugY
maybe we could find some coders that could combine both and update the code for 1.14a :)

User avatar
mmpx222
Junior Member
Paladin
Posts: 154
Joined: Sat Apr 26, 2014 9:19 am
Korea South

Re: PlugY source code

Post by mmpx222 » Sat Mar 19, 2016 7:25 am

Unfortunately it looks like updating PlugY for 1.14a would be much more difficult than doing so for 1.13d, as all the libraries have been merged into Game.exe and finding new offsets/ordinals would be more difficult.
D2TXT / D2INI - Python scripts for editing TXT files, or converting between TXT ↔ INI files

User avatar
LAutour
Posts: 18
Joined: Tue Aug 05, 2008 8:13 am
Contact:

Re: PlugY source code

Post by LAutour » Tue Apr 05, 2016 6:17 pm

Preliminary up-dating of the PlugY(v11) files with support 1.13d
https://yadi.sk/d/8gDmBc97qm8Rf

- there is no support 1.14.
- additional commands work strange, /listcube brings down game - but this it was also with original PlugY(v10).
- the processed localization with external the file of the localized lines.
Last edited by LAutour on Wed Apr 06, 2016 8:04 am, edited 1 time in total.

User avatar
ChaosMarc
Dark Alliance Beta Test
Champion of the Light
Posts: 256
Joined: Fri May 28, 2004 2:00 pm
Germany

Re: PlugY source code

Post by ChaosMarc » Wed Apr 06, 2016 7:08 am

@LAutour
would it be possible for you to release your work via github?
I linked two repositories 2 posts ago which could be forked.

User avatar
LAutour
Posts: 18
Joined: Tue Aug 05, 2008 8:13 am
Contact:

Re: PlugY source code

Post by LAutour » Wed Apr 06, 2016 8:03 am

А little later - as I will correct the additional plugy commands.

gravithan
Posts: 1
Joined: Mon Oct 31, 2016 5:05 pm

Re: PlugY source code

Post by gravithan » Mon Oct 31, 2016 5:09 pm

it would be nice to see the PlugY 11.00 revisited and even taken all the way to the current patch.

Is this even at all possible, based upon some of the searching and what I have found so far. Conversations are pointing to the fact that it could be done and is even close, it appears. Some of us still play from time to time lol.


Thanks for considering it,

Gravithan


Edit: P.S. HAPPY HALLOWEEN :D

User avatar
luoxiaodi
Posts: 5
Joined: Thu Aug 04, 2005 9:15 am
China

Re: PlugY source code

Post by luoxiaodi » Sun Jan 12, 2020 6:44 am

How can I debug PlugY.dll? Only use log file?

When I attach to Process Game.exe with plugY.dll,the Game.exe paused running.
====================
Now I can debug it well.
2020-01-12

Post Reply

Return to “PlugY|NefEx|D2Mod”