BaseMod Plugin

This forum is for members of the public to post any announcements relating to Diablo 2 Mod Making including mod and patch releases amongst other similar subjects.
User avatar
devurandom
Forum Regular
Angel
Posts: 897
Joined: Sat Mar 07, 2015 9:07 pm
United States of America

Re: BaseMod Plugin

Post by devurandom » Wed Jan 29, 2020 7:05 am

Not sure this is going to work the way people expect it to, but I added
string customization for Item Level and Max Sockets to BaseMod.ini.
Strings are ANSI not Unicode.

Image

Image


BaseMod 1.13.3 pre release2
-change string value checking for section [GameFVFB]
-Fixes a random crash issue at game start observed under the following conditions:
BaseMod loads PlugY as an Extra DLL under increased system cpu load.
-Adds Custom ANSI Strings for [IlvlDisplay]
-Adjust Animate inventory Rate

Download
https://www.dropbox.com/s/55vk0ys0xnp37 ... 3-pre2.zip
Assembly Reference | 1.13d Code Edits | UVLoD | BaseMod Plugin

Fiat paper money is the most elaborate and well devised form of slavery the world has ever seen..

Epiphron
Posts: 5
Joined: Sat Dec 21, 2019 1:53 am

Re: BaseMod Plugin

Post by Epiphron » Wed Jan 29, 2020 4:06 pm

For a while I've been meaning to say thanks for this wonderful and impressive mod, also nice to see you're still working on it. It's now one of the must haves to me, along with Plugy and Multires. The improved framerate when moving items around in the inventory alone was a breath of fresh air.


I was also hoping you would consider a feature request for when you have the time. It would be that items do not drop as unidentified, or more ideally if the user could configure which item types do not need to be identified.

To spare a long description if something like this were possible options in Basemod.ini it would be great.

Code: Select all

[AutoIdentifyItems]
; Auto identify item types
Magic=1
Rare=1
Unique=0
Set=0
Though if the options are all or nothing I'd gladly take all.


One of the reasons I'd greatly appreciate it is related to using an item filter's drop notification option, which as far as I know doesn't work with unidentified items.

Though also because of being beyond sick of having to identify a flood of items due to a leftover design from the Condor RPG orientated days. It's even become tiring refilling an ID scroll book which now holds 100 scrolls. Please save me lol.

User avatar
UnclWish
Posts: 62
Joined: Thu Jan 09, 2020 7:44 pm
Russia

Re: BaseMod Plugin

Post by UnclWish » Wed Jan 29, 2020 5:00 pm

devurandom wrote:
Wed Jan 29, 2020 7:05 am
Not sure this is going to work the way people expect it to, but I added
string customization for Item Level and Max Sockets to BaseMod.ini.
Strings are ANSI not Unicode.

BaseMod 1.13.3 pre release2
-change string value checking for section [GameFVFB]
-Fixes a random crash issue at game start observed under the following conditions:
BaseMod loads PlugY as an Extra DLL under increased system cpu load.
-Adds Custom ANSI Strings for [IlvlDisplay]
-Adjust Animate inventory Rate

Download
https://www.dropbox.com/s/55vk0ys0xnp37 ... 3-pre2.zip
Excellent! Thanks! Now testing it...

User avatar
UnclWish
Posts: 62
Joined: Thu Jan 09, 2020 7:44 pm
Russia

Re: BaseMod Plugin

Post by UnclWish » Wed Jan 29, 2020 6:06 pm

-Adjust Animate inventory Rate - now inventory amination is the same speed as all game amination? Right? Looks much better!

I can't add localization strings on russian. I tried ANSI cyrillic 1251 code page but in game I have only bugged symbols... Like string on wrong code page.
As I know, russian localization (fonts, tbl's etc.) in game uses UTF-8 (65001) code page. PlugY in his localization txt uses UTF-16 (1200) code page...
Any advices?

jessedazebra
Junior Member
Paladin
Posts: 144
Joined: Sun Nov 11, 2012 9:46 am
Zimbabwe

Re: BaseMod Plugin

Post by jessedazebra » Wed Jan 29, 2020 10:05 pm

Awesome changes, I'll give a test a bit later too.
Also, I have a request: would it be possible to make an edit, so you could make town portal as innate skill?
If it's too much time consuming, don't even bother :)
Thanks!
PS.This is what I did with custom text for Ilvl string:
Image

User avatar
devurandom
Forum Regular
Angel
Posts: 897
Joined: Sat Mar 07, 2015 9:07 pm
United States of America

Re: BaseMod Plugin

Post by devurandom » Thu Jan 30, 2020 2:59 am

@Epiphron would be easy to add those assembly patches, but advanced modders want me to take out all the simple code edits like that, so I don't think I'll be adding anymore CE's.

@UnclWish I'll look into another way for unicode if extended ASCII cyrillic characters doesn't work.

@jessedazebra maybe later.
Assembly Reference | 1.13d Code Edits | UVLoD | BaseMod Plugin

Fiat paper money is the most elaborate and well devised form of slavery the world has ever seen..

User avatar
Darkquake
Posts: 69
Joined: Tue Feb 20, 2018 3:38 pm
Australia

Re: BaseMod Plugin

Post by Darkquake » Thu Jan 30, 2020 9:36 am

devurandom wrote:
Thu Jan 30, 2020 2:59 am
@Epiphron would be easy to add those assembly patches, but advanced modders want me to take out all the simple code edits like that, so I don't think I'll be adding anymore CE's.
Not going to say I'm an advanced modder by any means, I just want to chuck whist's code edit for this(1.13c only). All credit to whist.

Code: Select all

"Items drop already identified"

D2Game.dll - F6BD '[unique]'

016DF6BD   6A 00            PUSH 0

///

D2Game.dll - 104C0 '[magic]'

016E04C0   6A 00            PUSH 0

///

D2Game.dll - 13DA9 '[set]'

016E3DA9   6A 00            PUSH 0

///

D2Game.dll - 15442 '[rare]'

016E5442   6A 00            PUSH 0

;0 = spawns unidentified
;1 = spawns identified
Honestly I'm more interested in seeing stuff that's totally out of my league as far as content for BM. Stuff like the custom portals is just insanely awesome.
I make things? I make things.
Image
https://www.moddb.com/mods/darkquake

User avatar
UnclWish
Posts: 62
Joined: Thu Jan 09, 2020 7:44 pm
Russia

Re: BaseMod Plugin

Post by UnclWish » Thu Jan 30, 2020 1:51 pm

devurandom wrote:
Thu Jan 30, 2020 2:59 am
@UnclWish I'll look into another way for unicode if extended ASCII cyrillic characters doesn't work.
Thanks! I'll wait!

User avatar
UnclWish
Posts: 62
Joined: Thu Jan 09, 2020 7:44 pm
Russia

Re: BaseMod Plugin

Post by UnclWish » Thu Jan 30, 2020 6:57 pm

jessedazebra wrote:
Wed Jan 29, 2020 10:05 pm
Awesome changes, I'll give a test a bit later too.
Also, I have a request: would it be possible to make an edit, so you could make town portal as innate skill?
If it's too much time consuming, don't even bother :)
Thanks!
PS.This is what I did with custom text for Ilvl string:
Image
How you make string "Item level" on 1st place and "Max Sockets" on last?
For me both strings are on bottom.

User avatar
devurandom
Forum Regular
Angel
Posts: 897
Joined: Sat Mar 07, 2015 9:07 pm
United States of America

Re: BaseMod Plugin

Post by devurandom » Thu Jan 30, 2020 9:29 pm

Darkquake wrote:
Thu Jan 30, 2020 9:36 am
Honestly I'm more interested in seeing stuff that's totally out of my league as far as content for BM. Stuff like the custom portals is just insanely awesome.
My concept of creating Base Mod is not to create a be all do everything plugin, but to give modders access to some things out of reach. Its essentially done for now, except when I have time to add in something. Bug issues take priority.
Assembly Reference | 1.13d Code Edits | UVLoD | BaseMod Plugin

Fiat paper money is the most elaborate and well devised form of slavery the world has ever seen..

jessedazebra
Junior Member
Paladin
Posts: 144
Joined: Sun Nov 11, 2012 9:46 am
Zimbabwe

Re: BaseMod Plugin

Post by jessedazebra » Thu Jan 30, 2020 9:55 pm

UnclWish wrote:
Thu Jan 30, 2020 6:57 pm
How you make string "Item level" on 1st place and "Max Sockets" on last?
For me both strings are on bottom.
The top Ilvl string comes from Plugy, the bottom one with MaxSock comes from BaseMod. I just disabled Ilvl string in BaseMod.ini.

User avatar
UnclWish
Posts: 62
Joined: Thu Jan 09, 2020 7:44 pm
Russia

Re: BaseMod Plugin

Post by UnclWish » Fri Jan 31, 2020 5:45 am

jessedazebra wrote:
Thu Jan 30, 2020 9:55 pm
UnclWish wrote:
Thu Jan 30, 2020 6:57 pm
How you make string "Item level" on 1st place and "Max Sockets" on last?
For me both strings are on bottom.
The top Ilvl string comes from Plugy, the bottom one with MaxSock comes from BaseMod. I just disabled Ilvl string in BaseMod.ini.
Oh, I forgot about PlugY ilvl... Thanks!

User avatar
UnclWish
Posts: 62
Joined: Thu Jan 09, 2020 7:44 pm
Russia

Re: BaseMod Plugin

Post by UnclWish » Sat Feb 01, 2020 10:28 am

devurandom, I found a bug in latest pre2 version.
Magical properties of set items (greens) without sockets, f.e. belts, boots, etc., that must be blue color, with pre2 basemod became grey. Changing dll to pre1 returns color of properties to blue as it must be.

User avatar
devurandom
Forum Regular
Angel
Posts: 897
Joined: Sat Mar 07, 2015 9:07 pm
United States of America

Re: BaseMod Plugin

Post by devurandom » Sat Feb 01, 2020 11:49 am

UnclWish wrote:
Sat Feb 01, 2020 10:28 am
devurandom, I found a bug in latest pre2 version.
Magical properties of set items (greens) without sockets, f.e. belts, boots, etc., that must be blue color, with pre2 basemod became grey. Changing dll to pre1 returns color of properties to blue as it must be.
Thank you... Appreciate the feedback.
Assembly Reference | 1.13d Code Edits | UVLoD | BaseMod Plugin

Fiat paper money is the most elaborate and well devised form of slavery the world has ever seen..

User avatar
UnclWish
Posts: 62
Joined: Thu Jan 09, 2020 7:44 pm
Russia

Re: BaseMod Plugin

Post by UnclWish » Sat Feb 08, 2020 1:01 am

Sorry, if offtop... But you must know it, if it possible.
So:
In English version colors of strings in game coded by symbols like "ÿc2". In other languages with other code page this symbols converts into other and game just shows this converted symbols like "яc2" in strings.
Is it possible to make some symbol combination in other language to proper color changing?

User avatar
devurandom
Forum Regular
Angel
Posts: 897
Joined: Sat Mar 07, 2015 9:07 pm
United States of America

Re: BaseMod Plugin

Post by devurandom » Sat Feb 08, 2020 10:34 am

No its not offtopic.

Still working on updating strings, really limited on time lately, but made some good progress on it today.
Doing some tests with a custom string table BaseMod.tbl for unicode strings.
Thanks and please report feedback on isssues like this.
Assembly Reference | 1.13d Code Edits | UVLoD | BaseMod Plugin

Fiat paper money is the most elaborate and well devised form of slavery the world has ever seen..

User avatar
UnclWish
Posts: 62
Joined: Thu Jan 09, 2020 7:44 pm
Russia

Re: BaseMod Plugin

Post by UnclWish » Sat Feb 08, 2020 11:59 am

I'm trying to adapt BH mod by planqi for slashdiablo for russian language or any language with system local. Most of mod I can to change for this by changing using ANSI strings to use wstrings on unicode.
But big part of mod for Advanced item display works via ANSI strings and char variables. Author extracts data from game mpqs in ANSI strings and after this he coded modification of item descriptions such as name and type with different colors using ANSI "ÿc2" and so on. After all item desc modifications he use MultiByteToWideChar. But colors converts into wrong symbols on any code page different from 1252. With use 1252 code page with other local such as russian or chinese colors works right, but item names convert into "????..." .

Now I think how to convert multibyte string into wide by parts. But it's not so easy... And I didn't know how to do that yet...

User avatar
UnclWish
Posts: 62
Joined: Thu Jan 09, 2020 7:44 pm
Russia

Re: BaseMod Plugin

Post by UnclWish » Mon Feb 10, 2020 12:20 am

devurandom, Did you know, why loadnig BH.dll via basemod.ini or via PlugY causes game crash on exit?

User avatar
devurandom
Forum Regular
Angel
Posts: 897
Joined: Sat Mar 07, 2015 9:07 pm
United States of America

Re: BaseMod Plugin

Post by devurandom » Mon Feb 10, 2020 3:41 am

UnclWish wrote:
Mon Feb 10, 2020 12:20 am
devurandom, Did you know, why loadnig BH.dll via basemod.ini or via PlugY causes game crash on exit?
I have no idea. don't have time to test it out right now.

I ended up using MultiByteToWideChar too. Not sure if this is going to work the way you expect.
String Tables encoded in UTF8 multibyte and is converted to UTF16 WideString before it's
displayed on client.


MultiByteToWideChar(CP_UTF8,0,GetStringNum(0),-1,wszMaxSock,32);
MultiByteToWideChar(CP_UTF8,0,GetStringNum(1),-1,wszIlvl,32);

Image

Image

Image
Assembly Reference | 1.13d Code Edits | UVLoD | BaseMod Plugin

Fiat paper money is the most elaborate and well devised form of slavery the world has ever seen..

User avatar
UnclWish
Posts: 62
Joined: Thu Jan 09, 2020 7:44 pm
Russia

Re: BaseMod Plugin

Post by UnclWish » Mon Feb 10, 2020 4:09 pm

devurandom, UTF8 to UTF16 would no problem. Problem is when ANSI multibyte convert into Wide UTF16. But i'm already find solution. I'm after convertation inserted a check resulting widestring for wrong color combination and fix wrong symbols by right.

Your screens looking good! But why on 2nd screen too much distance between strings and numbers?

P.S. What mod for extended inventory you're use?

User avatar
devurandom
Forum Regular
Angel
Posts: 897
Joined: Sat Mar 07, 2015 9:07 pm
United States of America

Re: BaseMod Plugin

Post by devurandom » Mon Feb 10, 2020 8:23 pm

UnclWish wrote:
Mon Feb 10, 2020 4:09 pm
Your screens looking good! But why on 2nd screen too much distance between strings and numbers?
P.S. What mod for extended inventory you're use?
UTF8 includes ANSI. Some strings are ANSI, and others are mutibyte strings.

My error. I have the string printing out as "%s %d" and the string defined as "\red;Max Sockets: ",
so it has double spaces.

Inventory is by Phalzyr & Goro3d. Not sure if you can find it in the file center anymore, but I have
a copy here: https://www.moddb.com/games/diablo-2-lo ... compatible
Assembly Reference | 1.13d Code Edits | UVLoD | BaseMod Plugin

Fiat paper money is the most elaborate and well devised form of slavery the world has ever seen..

User avatar
UnclWish
Posts: 62
Joined: Thu Jan 09, 2020 7:44 pm
Russia

Re: BaseMod Plugin

Post by UnclWish » Tue Feb 11, 2020 3:53 pm

Thanks!
Waiting update for basemod to test new string feutures.

User avatar
devurandom
Forum Regular
Angel
Posts: 897
Joined: Sat Mar 07, 2015 9:07 pm
United States of America

Re: BaseMod Plugin

Post by devurandom » Thu Feb 13, 2020 4:58 am

Untested in 1.13d and 1.14d

-Formatting BaseMod.tbl strings with \grey; in AFJ tbl edit always gives white strings.
I don't think its a bug in AFG tbl edit, because the same thing happens with code,
when formatting a string buffer with COL_LIGHTGREY (0x10). Tested that in Glid3x and windowed modes.


BaseMod 1.13.3 preview release3
https://www.dropbox.com/s/8igss9reu33wz ... 3-pre3.zip
Assembly Reference | 1.13d Code Edits | UVLoD | BaseMod Plugin

Fiat paper money is the most elaborate and well devised form of slavery the world has ever seen..

User avatar
UnclWish
Posts: 62
Joined: Thu Jan 09, 2020 7:44 pm
Russia

Re: BaseMod Plugin

Post by UnclWish » Thu Feb 13, 2020 6:43 pm

devurandom wrote:
Thu Feb 13, 2020 4:58 am
Untested in 1.13d and 1.14d

-Formatting BaseMod.tbl strings with \grey; in AFJ tbl edit always gives white strings.
I don't think its a bug in AFG tbl edit, because the same thing happens with code,
when formatting a string buffer with COL_LIGHTGREY (0x10). Tested that in Glid3x and windowed modes.


BaseMod 1.13.3 preview release3
https://www.dropbox.com/s/8igss9reu33wz ... 3-pre3.zip
Thanks! Now testing it!

EDIT: 1st look - all works fine! Russian strings works!
Strings in BaseMod.tbl with \grey in game is real gray! Not white! To change them to white I'm removed color.
Tested on glide3x fullscreen.
For edit .tbl I'm use Utf Tbl editor v0.96 by L'Autour

User avatar
devurandom
Forum Regular
Angel
Posts: 897
Joined: Sat Mar 07, 2015 9:07 pm
United States of America

Re: BaseMod Plugin

Post by devurandom » Thu Feb 13, 2020 8:47 pm

in AFT tbl Edit \dkgrey; works fine but using \grey; gives white. \grey; is constant COL_LIGHTGREY (0x10) in code. I can only find one instance where color is used in the game with string.tbl.
\grey;White Text\gold; indicates what you or others have said out loud to the entire chat Channel.

I'm thinking to change this section for quicker customization, so modders can have a bulk switch to disable Max Sockets, or Item Level string displays.

Code: Select all

[IlvlDisplay]
Enabled=0
MaxSock=1
ItemLevel=1

; Enable to display Item Level, (and/or) Max Sockets for unsocketed Items.
; MaxSock is a bulk switch to enable/disable all display of Max Sockets.
; ItemLevel is a bulk switch to enable/disable all display of Item Level.
; It's Suggested to enable [StringTable] for more customization on UNICODE 
; strings and string colors for each Item Quality.
Assembly Reference | 1.13d Code Edits | UVLoD | BaseMod Plugin

Fiat paper money is the most elaborate and well devised form of slavery the world has ever seen..

Post Reply

Return to “Member Аnnouncements”