HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

Wc3Campaigns .Net Library

04-16-2007, 01:23 AM#1
BlacKDicK
Hi there folks. After some time out of the mod scene (although I did come here to check the news), I´m back on the development of tools.

First, I´d like to propose a joint effort of developers here to create a "unified" library (call it framework, SDK, whatever) with all the usual stuff we all need: Mpq, Blp handling, slk, and more.
My idea is to develop it using Managed C++, exposing the neat stuff to any Dot Net client.

Let´s face it: Dot Net has some advantages and also has some drawbacks. The ideas behind using Managed C++ are obvious: we can reuse some code already written, we have the power of C++ and also it´s much faster.

I´d like to set up a small group to join the effort. Even if nobody shows up, I will still develop it by myself, but with more ppl helping, things can go much faster.

I will also drop here a small proof-of concept of the "base" library. It is using Ladsilav´s StormLib (with some speed improvements) to deal with MpqArchives (read only, write access to come in the future) and also uses Intel IJL to open Jpeg Based BLP´s (version 1) (pal based BLps not finishe d yet). Everything is statically linked, so no external Mpq and Jpeg DLLs are needed. Notice that it is just a "proof-of-concept", it should not be used to develop any tool yet.

What about loading a War3 Map minimap on a picture box? Using C#, it can be as simple as that:
Code:
using Wc3Campaigns.IO;
using Wc3Campaigns.Imaging;
....
String mapPath = "C:\\Documents and Settings\\.......\\(2)AncientKingdom.w3x";
MpqArchive mapArchive = new MpqArchive(mapPath);
MpqFileStream miniMapStream = new MpqFileStream(mapArchive, "war3mapMap.blp");
BlpImage miniMapImage = new BlpImage(miniMapStream);
pictureBox1.Image = miniMapImage[0];

I´d like to hear what you think about that.
Attached Files
File type: zipWc3CampaignsBase.zip (193.2 KB)
04-16-2007, 01:37 AM#2
Av3n
Interesting and good luck

-Av3n
04-16-2007, 05:15 AM#3
PitzerMike
I can help with paletted BLPs (BLPaletter source code) and maybe a few other things.
Great to have you back, BD.
04-16-2007, 06:07 AM#4
Tiki
Do you think now is a good time to start something like this, wc3 modding has died tremendously.
04-16-2007, 11:06 AM#5
Oglog
I'll help with what I can, I'm a bit of a noob at c++ but im learning c# .net. Anyway sounds like a good idea.
Your tools are pretty good btw.
04-16-2007, 01:24 PM#6
Vexorian
Quote:
Originally Posted by Tiki
Do you think now is a good time to start something like this, wc3 modding has died tremendously.
I think it is doing much better than last year.
04-16-2007, 02:28 PM#7
Zoxc
Too bad it's .NET.
04-16-2007, 02:34 PM#8
Banana
I think I already know the answer but asking anyway: any chance of making it platform agnostic?
04-16-2007, 02:39 PM#9
Vexorian
could you please stop saying "platform agnostic"? The correct way to say it is "cross platform"

It would probably work in mono. But seriously, dual boot windows, you don't have another choice, accept it.
04-16-2007, 02:49 PM#10
Oglog
Quote:
Originally Posted by Zoxc
Too bad it's .NET.
Eh what do you mean too bad? Its a .net framework,sdk, whatever you want to call it, how could it not be .net.
04-16-2007, 03:52 PM#11
Zoxc
Quote:
Originally Posted by Oglog
Eh what do you mean too bad? Its a .net framework,sdk, whatever you want to call it, how could it not be .net.

.NET sucks, well atleast the UI.
04-16-2007, 05:14 PM#12
PitzerMike
Luckily the functionality is what counts, not the UI.
04-16-2007, 06:57 PM#13
Tiki
Quote:
Originally Posted by Vexorian
I think it is doing much better than last year.

But nothing is still ever completed.. its just alot of crappy models and effects. Something else will come out, and that will kill wc3.
04-16-2007, 08:17 PM#14
Mapz_Maker
This looks Interesting... but, it would be nice if it was cross-platform. I am thinking about switching to mac.

p.s. Why do some people say things like i`m not i'm? it sorta bugs me, not a lot, but a little...
04-16-2007, 10:17 PM#15
wyrmlord
I'm decent (I guess) in C++. I'm not familiar with .net however. I have some source code I could edit a little to allow reading/writing with the war3.doo file (the one containing doodad/destructables info). If you need extra help I could try messing with some other map files.