logo logo

 Back to main page

The NWNX Community Forum

 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
 
Development environment
Goto page 1, 2  Next
 
Post new topic   Reply to topic    nwnx.org Forum Index -> Development
View previous topic :: View next topic  
Author Message
Papillon
x-man


Joined: 28 Dec 2004
Posts: 1058
Location: Germany

PostPosted: Sat Jun 24, 2006 0:34    Post subject: Development environment Reply with quote

This thread should help new developers get started with the build environment on Windows.

You need:
1) Visual C++ 2005 Express
2) Platform SDK for Win32 applications
3) wxWidgets Toolkit for the GUI

Of course, you can skip steps 1+2 if you have one of the full Visual C++ licenses. If not, you can get all the required tools for free.

Eventually, there will be detailed instructions on how to set everything up below. I would appreciate it if people who are planning to develop for NWNX4 anyway could add some notes on where to get the software and how to configure it.

I'll comment on the wxWidgets part soon.

Update 01.06.2007:

Installation instructions based on Using Visual C++ 2005 Express Edition with the Microsoft Platform SDK

1) Install Visual C++ Express

2) Install the Microsoft Platform SDK

3) Go to Tools - Options - Projects and Solutions - VC++ Directories and
... add to "Executeable files": C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Bin
... add to "Include files": C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Include
... add to "Library files": C:\Program Files\Microsoft Platform SDK for Windows Server 2003 R2\Lib

4) Edit C:\Program Files\Microsoft Visual Studio 8\VC\VCProjectDefaults\corewin_express.vsprops and change
Code:
AdditionalDependencies="kernel32.lib"
to
Code:
AdditionalDependencies="kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib"


5) Edit lines 441-444 in C:\Program files\Microsoft Visual Studio 8\VC\VCWizards\AppWiz\Generic\Application\html\1033\AppSettings.htm like this:
Code:
//WIN_APP.disabled = true;
//WIN_APP_LABEL.disabled = true;
//DLL_APP.disabled = true;
//DLL_APP_LABEL.disabled = true;


6) Ready! Now get the source code and you are set !
_________________
Papillon


Last edited by Papillon on Tue Sep 04, 2007 22:47; edited 6 times in total
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
dougnoel



Joined: 21 Mar 2005
Posts: 27
Location: VA

PostPosted: Mon Jun 26, 2006 22:44    Post subject: Re: NWNX4 :: Development environment Reply with quote

Papillon wrote:
1) Visual C++ 2005 Express
2) Platform SDK for Win32 applications

I have notes on these. It was a huge pain to get everything running and compile the NWNX dlls in VC++ 2005 Express, but I finally got them working. I will post instructions this weekend on how to get these installed.
Back to top
View user's profile Send private message Send e-mail
Papillon
x-man


Joined: 28 Dec 2004
Posts: 1058
Location: Germany

PostPosted: Tue Jun 27, 2006 8:38    Post subject: Reply with quote

Great!

A small note on wxWidgets. VS Express does not come with native support for Win32, you can just create stuff for .NET. With the help of the platform SDK, you get that lost feature back. Unfortunately, there is still no way to create a graphical user interface, since...

Quote:
Does Visual C++ 2005 Express Edition include MFC and ATL?

No, MFC and ATL are not included with Visual C++ 2005 Express. MFC and ATL will be included in all other Visual Studio 2005 Editions.


I have not searched the platform SDK for the MFC part. Without a graphical editor, it wouldn't be much fun anyway.

So, wxWidgets replaces MFC. It is easier to work with, and is platform independent, which will make future Linux ports easier. With wxWidgets, someone new to the toolkit should be able to create new GUIs or modify what is already there without a steep learning curve. This would not be the case with MFC (shudder).
_________________
Papillon
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
Gryphyn



Joined: 20 Jan 2005
Posts: 431

PostPosted: Fri Aug 25, 2006 6:31    Post subject: Re: NWNX4 :: Development environment Reply with quote

Papillon wrote:
This thread should help new developers get started with the build environment on Windows.

It's just a placeholder at the moment, so for now, just some quick notes:

1) Visual C++ 2005 Express
2) Platform SDK for Win32 applications
3) wxWidgets Toolkit for the GUI

Eventually, there will be detailed instructions on how to set everything up below. I would appreciate it if people who are planning to develop for NWNX4 anyway could add some notes on where to get the software and how to configure it.

I'll comment on the wxWidgets part soon.


Are we any closer on getting this documented?

My reason for asking is that I've just got a new rig, and would like a quick step-by-step guide, for getting this up and running from scratch.

My preference would be for a Visual Studio 2005 setup (if possible)

If needs be - I'm technically proficient - a quick point form would suffice (and I'll re-publish as the guide I would have liked - and no doubt others as well.)

Cheers
Gryphyn
Back to top
View user's profile Send private message
dougnoel



Joined: 21 Mar 2005
Posts: 27
Location: VA

PostPosted: Wed Aug 30, 2006 15:50    Post subject: Reply with quote

Sorry, my notes went up in a puff of illogic. At least, they're not on my wiki. Pap's list is pretty comprehensive. It was a huge pain for me to get th eprojects to compile. What I can do is stick the projects I got working somewhere...
Back to top
View user's profile Send private message Send e-mail
cieciwa



Joined: 09 Aug 2005
Posts: 33
Location: Cracov, Poland

PostPosted: Wed Sep 13, 2006 22:38    Post subject: Reply with quote

Pap that means that wasn't NWNX4 for Linux ?
Back to top
View user's profile Send private message Send e-mail
Papillon
x-man


Joined: 28 Dec 2004
Posts: 1058
Location: Germany

PostPosted: Wed Sep 13, 2006 22:44    Post subject: Reply with quote

Not sure what you mean by that question. This is just about the dev environment on Windows - I meant to make no statement on linux here.
_________________
Papillon
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
Acrodania



Joined: 02 Jan 2005
Posts: 208

PostPosted: Thu Sep 14, 2006 1:19    Post subject: Reply with quote

cieciwa wrote:
Pap that means that wasn't NWNX4 for Linux ?


Right now Obsidian hasn't committed to having a Linux server. One of their devs said he should be able to port one, but that it would have to wait until after the game releases and would probably be on his own time Sad
Back to top
View user's profile Send private message
cieciwa



Joined: 09 Aug 2005
Posts: 33
Location: Cracov, Poland

PostPosted: Thu Sep 14, 2006 13:09    Post subject: Reply with quote

Papillon wrote:
Not sure what you mean by that question. This is just about the dev environment on Windows - I meant to make no statement on linux here.


That means, taht NWNX4 for Windows and NWNX4 for Linux will be two separated programs ? Not one.?
Back to top
View user's profile Send private message Send e-mail
Papillon
x-man


Joined: 28 Dec 2004
Posts: 1058
Location: Germany

PostPosted: Thu Sep 14, 2006 22:10    Post subject: Reply with quote

Yes, separate. If there will be a Linux version, I'll try to keep the source code more similar this time, though.
_________________
Papillon
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
Papillon
x-man


Joined: 28 Dec 2004
Posts: 1058
Location: Germany

PostPosted: Sat Sep 16, 2006 12:59    Post subject: Reply with quote

I've just reactivated my blog. There are two entries on VS Express, Platform SDK, and the wxWidgets or FOX toolkit.

Unfortunately, I did not take notes while installing the wxWidgets toolkit. So the supplied link will have to do. I'd like to post some more detailed instructions, so if anybody has got some input on this, please contact me.
_________________
Papillon
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
red_dragon



Joined: 17 Aug 2006
Posts: 4
Location: France

PostPosted: Fri Sep 29, 2006 17:31    Post subject: Reply with quote

You seem to want use C++ to do NWNX4.
Could you explain what C++ was choosen and not C#?

Moreover, is it ODBC will be necessary (cf. NWNX2) or not?
I explain this question :
I see "Mysql connector .net" ( http://www.mysql.com/products/connector/net/ ) which doesn't seem to need ODBC.
Back to top
View user's profile Send private message Visit poster's website
Papillon
x-man


Joined: 28 Dec 2004
Posts: 1058
Location: Germany

PostPosted: Sat Sep 30, 2006 10:45    Post subject: Reply with quote

There are actually a couple of reasons why C++ is the language of choice. NWN2 is written in C++, and NWNX attaches to NWN using MadCodeHook (no C# version), does some assembler magic (no C# equivalent), there should be a Linux version, direct memory manipulation is not possible (no pointers), there is no advantage to use C# in a project like this, ... the list goes on and on.

The ODBC plugin in NWNX2 is just named like that for backward compability reasons. In fact, it supports MySQL connections, ODBC connections, and the built-in SQLite database as a third option. It already uses the MySQL librariers, although not the .NET version, of course. It will be the same with NWNX4, but the architecture of the plugins will change slightly.
_________________
Papillon
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
red_dragon



Joined: 17 Aug 2006
Posts: 4
Location: France

PostPosted: Sat Sep 30, 2006 11:04    Post subject: Reply with quote

Thanks a lot for your answer.
Back to top
View user's profile Send private message Visit poster's website
Gryphyn



Joined: 20 Jan 2005
Posts: 431

PostPosted: Fri Feb 09, 2007 10:09    Post subject: wxWidgets 2.8 upgrade Reply with quote

Any chance of the next NWNX4 release (of source) getting an upgrade to wxWidgets 2.8? (rather than 2.6)
Other than renaming to the new "additional libraries" there is very little that changes [I had to add an extra #Includes in one of my projects]

I'd also like it compiled with the ODBC flag set.

I've already made the move...
I don't want to be ahead of the base for too long.

Cheers
Gryphyn
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    nwnx.org Forum Index -> Development All times are GMT + 2 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group