Valhalla Legends Archive

Programming => Battle.net Bot Development => Topic started by: MyndFyre on January 11, 2006, 03:39 AM

Title: MBNCSUtil (M = Managed) 1.2.1.5
Post by: MyndFyre on January 11, 2006, 03:39 AM
See below for information about 1.2.1.5.
MBNCSUtil (http://www.jinxbot.net/mbncsutil/) has been updated to version 1.2.0.4.

This release updates an issue with exceptions thrown within this codebase that started in version 1.0.4.2, when localization support was added.  This was caused by applying the AssemblyCultureAttribute in AssemblyInfo.cs, confusing the runtime into loading it as its own satellite assembly.  There was a workaround, which involved copying MBNCSUtil.dll into the localization folder (/en/).  However, this is inefficient.

This release also marks a change from using the GNU GPL licensing scheme to a modified version of the FreeBSD license.

Other changes:
* I added a rudimentary Spanish-language localization resource.
* Added packet buffer classes DataBuffer and BncsPacket.
* Added packet "debuffer" classes DataReader and BncsReader.
* See documentation for more information on these classes.  All four of these classes have COM-compatible representations in the MBNCSUtil.Com namespace.

For downloads, visit the homepage linked above.  You can download the release-build binaries, HTML Help documentation, and the code.  You can also view the code online through the homepage.

COM Example:
You can access MBNCSUtil through using .NET and a type library.  In Visual Basic 6, select the Project menu, and choose References.  Add a reference to MBNCSUtil.tlb in the binaries release directory.  You then have access to the COM-visible classes in MBNCSUtil.

Private Sub Form_Load()
    Dim buf As New BncsPacket
    buf.PacketID = &H25
    buf.Insert (100) ' note that VB 6 treats these as 16-bit intgers.
    buf.Insert (200)
    Dim valBuf() As Byte
    valBuf = buf.GetData
   
    Dim rdr As New BncsReader
    rdr.InitializeFromBytes (valBuf)
    MsgBox (CStr(rdr.PacketID))
    MsgBox (CStr(rdr.ReadInt32))
   
End Sub
Title: Re: MBNCSUtil (M = Managed) 1.2.0.4
Post by: FrOzeN on January 11, 2006, 03:58 AM
Nice work.

Also viewing the documentation in FireFox (1.5) the left menu tree nodes go down, though the don't expand down the page, it stays enclosed within the <div> (..or something).

Eg,
(http://img212.imageshack.us/img212/2535/firefox6kw.jpg)
Title: Re: MBNCSUtil (M = Managed) 1.2.0.4
Post by: MyndFyre on January 11, 2006, 03:54 PM
Quote from: FrOzeN on January 11, 2006, 03:58 AM
Also viewing the documentation in FireFox (1.5) the left menu tree nodes go down, though the don't expand down the page, it stays enclosed within the <div> (..or something).

Don't know what to tell you.  That documentation is autogenerated with a software program called NDoc.  Use the HTML Help documentation to view the contents better I guess.
Title: Re: MBNCSUtil (M = Managed) 1.2.0.4
Post by: Sorc.Polgara on January 11, 2006, 10:25 PM
Good job.
Title: Re: MBNCSUtil (M = Managed) 1.2.0.4
Post by: Joe[x86] on January 11, 2006, 11:49 PM
Quote from: effect on January 11, 2006, 11:43 PM
Waste of time?

Please dont "KP STYLE RAVAGE MY THREAD".

You, sir, are the only waste of time here..
Title: Re: MBNCSUtil (M = Managed) 1.2.0.4
Post by: Spilled on January 12, 2006, 01:07 AM
Great Work Myndfyre
Title: Re: MBNCSUtil (M = Managed) 1.2.1.5
Post by: MyndFyre on January 17, 2006, 04:40 PM
MBNCSUtil has been updated to 1.2.1.5 to correct some problems, expand documentation, and make code constructs intended solely for COM more consistent.

Specific changes that were made:
-- The BncsPacket constructor was in error; it has been updated.  Previously it would try to read more data than it had available and after the first packet, it would miss headers.
-- Changed the IDataBuffer interface so that Insert() wasn't overloaded.  This was fine in .NET, but in COM languages where function overloading isn't supported, this resulted in method names like Insert_1, Insert_2, Insert_3, etc.  This has been fixed by following the .NET naming pattern with InsertInt16(), InsertBoolean, etc.
-- Corrected yet another issue related to localizing.
-- Applied ObsoleteAttribute to several classes and methods, and asked the compiler to generate a compile-time error when using them.  These include: BncsPacket..ctor(), BncsReader.InitializeFromBytes(byte[]), BncsReader.InitializeFromStream(Stream), BncsReader..ctor(), CdKey..ctor(), CdKey.Initialize(string), DataReader.InitializeFromBytes(byte[]), DataReader.InitalizeFromStream(Stream), DataReader..ctor(), NLS.Initialize(string, string), NLS..ctor(), Com.XSha1Wrapper, Com.OldAuthWrapper, and Com.CheckRevisionWrapper.  This will result in a compile-time error when working with .NET, but COM clients will still be able to use these methods as they are intended to support COM.
-- Added compilation and deployment notes to the main documentation.
-- Added an additional example to the BncsPacket class's usage.
-- Added .ToString() implementations for DataReader and BncsReader.
Title: Re: MBNCSUtil (M = Managed) 1.2.1.5
Post by: Sorc.Polgara on June 06, 2006, 07:41 AM
Sorry to necro a thread, but the link just leads me to the documentation.  I don't see a link to DL it.

Also I don't know exactly what the details of the FreeBSD liscense permit, but is MBNCSUtil open source?
Title: Re: MBNCSUtil (M = Managed) 1.2.1.5
Post by: Warrior on June 06, 2006, 09:44 AM
Yes.
Title: Re: MBNCSUtil (M = Managed) 1.2.1.5
Post by: Sorc.Polgara on June 06, 2006, 01:22 PM
Nevermind, I see where it links to binaries and source.  My bad.
Title: Re: MBNCSUtil (M = Managed) 1.2.1.5
Post by: MyndFyre on June 06, 2006, 07:16 PM
Quote from: Sorc.Polgara on June 06, 2006, 07:41 AM
Also I don't know exactly what the details of the FreeBSD liscense permit, but is MBNCSUtil open source?
It's not the FreeBSD license agreement.  It's under the original BSD license, which pretty much said you can use it in any open- or closed-source commercial or non-commercial project.  You may or may not include the source code with whichever project you include it in.  You just need to acknowledge that your work used or was based on Managed BNCSUtil by me.
Title: Re: MBNCSUtil (M = Managed) 1.2.1.5
Post by: Sorc.Polgara on June 06, 2006, 08:56 PM
QuoteCopyright (c) 2005-2006 by Robert Paveza. Licensed under a modified version of the FreeBSD license; see accompanying LICENSE.TXT for licensing terms. Blizzard, Battle.net, Starcraft, Warcraft, Warcraft II: Battle.net Edition, The Tides of Darkness, Into the Dark Portal, Diablo, The Lord of Destruction, Brood War, The Reign of Chaos, and The Frozen Throne are trademarks or registered trademarks of Blizzard Entertainment Inc. in the United States and/or other countries. Other marks may be the trademarks or registered trademarks of their respective owners.
Errrr, then might want to modify the FreeBSD part.
Title: Re: MBNCSUtil (M = Managed) 1.2.1.5
Post by: MyndFyre on June 06, 2006, 11:59 PM
Quote from: Sorc.Polgara on June 06, 2006, 08:56 PM
QuoteCopyright (c) 2005-2006 by Robert Paveza. Licensed under a modified version of the FreeBSD license; see accompanying LICENSE.TXT for licensing terms. Blizzard, Battle.net, Starcraft, Warcraft, Warcraft II: Battle.net Edition, The Tides of Darkness, Into the Dark Portal, Diablo, The Lord of Destruction, Brood War, The Reign of Chaos, and The Frozen Throne are trademarks or registered trademarks of Blizzard Entertainment Inc. in the United States and/or other countries. Other marks may be the trademarks or registered trademarks of their respective owners.
Errrr, then might want to modify the FreeBSD part.

Or you could just read license.txt (http://www.jinxbot.net/mbncsutil/license.txt) for the complete terms of the license.