View previous topic :: View next topic |
Author |
Message |
Papillon x-man
Joined: 28 Dec 2004 Posts: 1060 Location: Germany
|
Posted: Sat Jun 24, 2006 0:34 Post subject: Development environment |
|
|
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 |
|
|
dougnoel
Joined: 21 Mar 2005 Posts: 27 Location: VA
|
Posted: Mon Jun 26, 2006 22:44 Post subject: Re: NWNX4 :: Development environment |
|
|
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 |
|
|
Papillon x-man
Joined: 28 Dec 2004 Posts: 1060 Location: Germany
|
Posted: Tue Jun 27, 2006 8:38 Post subject: |
|
|
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 |
|
|
Gryphyn
Joined: 20 Jan 2005 Posts: 431
|
Posted: Fri Aug 25, 2006 6:31 Post subject: Re: NWNX4 :: Development environment |
|
|
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 |
|
|
dougnoel
Joined: 21 Mar 2005 Posts: 27 Location: VA
|
Posted: Wed Aug 30, 2006 15:50 Post subject: |
|
|
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 |
|
|
cieciwa
Joined: 09 Aug 2005 Posts: 33 Location: Cracov, Poland
|
Posted: Wed Sep 13, 2006 22:38 Post subject: |
|
|
Pap that means that wasn't NWNX4 for Linux ? |
|
Back to top |
|
|
Papillon x-man
Joined: 28 Dec 2004 Posts: 1060 Location: Germany
|
Posted: Wed Sep 13, 2006 22:44 Post subject: |
|
|
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 |
|
|
Acrodania
Joined: 02 Jan 2005 Posts: 208
|
Posted: Thu Sep 14, 2006 1:19 Post subject: |
|
|
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 |
|
Back to top |
|
|
cieciwa
Joined: 09 Aug 2005 Posts: 33 Location: Cracov, Poland
|
Posted: Thu Sep 14, 2006 13:09 Post subject: |
|
|
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 |
|
|
Papillon x-man
Joined: 28 Dec 2004 Posts: 1060 Location: Germany
|
Posted: Thu Sep 14, 2006 22:10 Post subject: |
|
|
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 |
|
|
Papillon x-man
Joined: 28 Dec 2004 Posts: 1060 Location: Germany
|
Posted: Sat Sep 16, 2006 12:59 Post subject: |
|
|
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 |
|
|
red_dragon
Joined: 17 Aug 2006 Posts: 4 Location: France
|
Posted: Fri Sep 29, 2006 17:31 Post subject: |
|
|
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 |
|
|
Papillon x-man
Joined: 28 Dec 2004 Posts: 1060 Location: Germany
|
Posted: Sat Sep 30, 2006 10:45 Post subject: |
|
|
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 |
|
|
red_dragon
Joined: 17 Aug 2006 Posts: 4 Location: France
|
Posted: Sat Sep 30, 2006 11:04 Post subject: |
|
|
Thanks a lot for your answer. |
|
Back to top |
|
|
Gryphyn
Joined: 20 Jan 2005 Posts: 431
|
Posted: Fri Feb 09, 2007 10:09 Post subject: wxWidgets 2.8 upgrade |
|
|
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 |
|
|
|