Announcement: Be excellent to each other.


Caravel Forum : Caravel Boards : Development : DROD Source Released (Now open sourced on Github!)
123
Page 4 of 9
5678>>
New Topic New Poll Post Reply
Poster Message
coppro
Level: Smitemaster
Rank Points: 1308
Registered: 11-24-2005
IP: Logged
icon Re: DROD 2.0 Source Released. (0)  
Okay, good news and bad news. I've been spending some more time recently trying to get my version of DROD to work, and I've found the problem. I added a few lines in CDbBase::Open() to make a message box containing the file path it tried, and I see two message boxes as I should (once from the initial fail, and again after calling TryToFixDataPath()). Both times, I just see a bunch of squares (the infamous "character missing" symbol). DataPath.txt is fine, it contains the directory, a semicolon, and the directory again. I'm going to look at TryToFixDataPath to see if I inadvertantly messed things up (it's easy when you're used to pressing Ctrl-Y to redo and it is the command for delete line), and then if that doesn't work, I'll try stooping to the lowest of the low - hardcoding the path. At least that way it'll work for me. So, expect another report in the near future.
10-22-2006 at 12:45 AM
View Profile Show all user's posts Quote Reply
coppro
Level: Smitemaster
Rank Points: 1308
Registered: 11-24-2005
IP: Logged
icon Re: DROD 2.0 Source Released. (0)  
Okay, DataPath.txt was actually not what I thought it was - it was left over from when SDL_ttf was the problem. Fortunately, I've narrowed it down to FindPossibleDatPath(). Stay tuned!

Also, I've discovered the Dev-C++ is an amazing IDE. It parses all the classes and functions (and member variables) so that you can easily jump to the declaration or implementation of any function you want. And when you compile, it only recompiles files you edited and any with dependencies on it, making compiling a lot quicker. EDIT: And the search function doesn't find stuff that's specific to another operating system. That's awesome.

[Last edited by coppro at 10-22-2006 01:29 AM]
10-22-2006 at 01:17 AM
View Profile Show all user's posts Quote Reply
coppro
Level: Smitemaster
Rank Points: 1308
Registered: 11-24-2005
IP: Logged
icon Re: DROD 2.0 Source Released. (0)  
Great news! I solved it! As it turns out, gcc doesn't like the way GetModuleFileNameA is called, so I commented a few lines out here and there to make it think that it doesn't support that Unicode thingy. (Basically I made it always take the else in GetAppPath). However, now it suffers from suddenly quitting, but that's a whole different ballgame (and one that suffers from libraries, methinks).
10-22-2006 at 01:36 AM
View Profile Show all user's posts Quote Reply
coppro
Level: Smitemaster
Rank Points: 1308
Registered: 11-24-2005
IP: Logged
icon Re: DROD 2.0 Source Released. (0)  
Aaah... I spent an hour on this, and here's what I've found out:

The segfault is from SDL attempting to dynamic_cast a CScreen into a CWidget. Why, I don't know, but it isn't to do with the way the DYN_CAST macro works (I replacing it with a normal dynamic_cast, and it still crashed).

Any help?

Please?
10-24-2006 at 09:31 PM
View Profile Show all user's posts Quote Reply
mrimer
Level: Legendary Smitemaster
Avatar
Rank Points: 5056
Registered: 02-04-2003
IP: Logged
icon Re: DROD 2.0 Source Released. (0)  
coppro wrote:
The segfault is from SDL attempting to dynamic_cast a CScreen into a CWidget.
This doesn't quite make sense: the SDL library doesn't know anything about the classes used in the DROD code, so I don't understand why SDL would be accessing DROD data structures.

____________________________
Gandalf? Yes... That's what they used to call me.
Gandalf the Grey. That was my name.
I am Gandalf the White.
And I come back to you now at the turn of the tide.
10-24-2006 at 10:31 PM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
trick
Level: Legendary Smitemaster
Rank Points: 2580
Registered: 04-12-2003
IP: Logged
icon Re: DROD 2.0 Source Released. (0)  
coppro wrote:
Aaah... I spent an hour on this, and here's what I've found out:

The segfault is from SDL attempting to dynamic_cast a CScreen into a CWidget. Why, I don't know, but it isn't to do with the way the DYN_CAST macro works (I replacing it with a normal dynamic_cast, and it still crashed).

Any help?

Please?

Well, it's hard to tell without more info, but a couple things:

First, since you're debugging, I assume you're compiling DROD in debug mode ? If not, compile everything with the _DEBUG define defined.

Also, this isn't a problem with SDL. SDL never attempts to dynamic_cast anything; it's not even a C++ library, so it simply can't do it. What I'm guessing you're seeing is the SDL parachute, which is a signal handler that SDL installs to clean up after itself if the application goes down in flames for any reason. You can disable the SDL parachute by passing the SDL_INIT_NOPARACHUTE flag to SDL_Init. If you're having trouble debugging, doing this might make it easier. Note that doing this might also leave your desktop in an undefined state, so only use it if you really need it.

DYN_CAST is just a regular dynamic_cast if you're not compiling in debug mode. If you are compiling in debug mode (which I'm assuming you're doing), it's still a regular dynamic_cast, but will dump messages about any failed casts (with their location in the source) to the error log.

CScreen is a CEventHandlerWidget which is a CWidget, so a dynamic_cast between those shouldn't fail unless something else is up. Are you sure it's not trying to dynamic_cast a NULL pointer ? The DYN_CAST macro won't report casting a null pointer as failure, so if you're getting messages about failed dynamic casts but no messages from DYN_CAST in debug mode, you're dealing with a NULL pointer.

~ Gerry

10-24-2006 at 10:33 PM
View Profile Send Private Message to User Send Email to User Show all user's posts Quote Reply
coppro
Level: Smitemaster
Rank Points: 1308
Registered: 11-24-2005
IP: Logged
icon Re: DROD 2.0 Source Released. (0)  
I'm compiling it as you have compiled the release version of DROD, with RELASE_WITH_DEBUG_INFO defined, which then defines _DEBUG.

So, now, I have isolated it to the call to dynamic_cast called when it attempts to get the game screen. CGameScreen() calls CRoomScreen() which calls CScreen() which calls CEffectsList() which then notices that it's owning widget is a WT_Screen, and attempts to dynamic_cast it into a CScreen, and crashes.

I can't get a message that the dynamic_cast failed, but I know that because I've isolated it to that specific point of that specific function. drod.err is either not initialized or it crashes upon the dynamic_cast.

It crashes in exactly the same place with or without that macro.

EDIT: It occurred to me that I could make a new constructor that passes a CScreen instead of a CWidget. Why don't you do that?

EDIT2: Tried that, it's still choking, but somewhere else now. I'm trying to debug it now.

[Last edited by coppro at 10-24-2006 11:52 PM]
10-24-2006 at 11:31 PM
View Profile Show all user's posts Quote Reply
mrimer
Level: Legendary Smitemaster
Avatar
Rank Points: 5056
Registered: 02-04-2003
IP: Logged
icon Re: DROD 2.0 Source Released. (0)  
coppro wrote:
So, now, I have isolated it to the call to dynamic_cast called when it attempts to get the game screen. CGameScreen() calls CRoomScreen() which calls CScreen() which calls CEffectsList() which then notices that it's owning widget is a WT_Screen, and attempts to dynamic_cast it into a CScreen, and crashes.
I don't know why this would be happening. Maybe the project (object/library files) needs to be rebuilt from clean.
EDIT: It occurred to me that I could make a new constructor that passes a CScreen instead of a CWidget. Why don't you do that?
CScreen is derived from CWidget, so this shouldn't be a problem.
EDIT2: Tried that, it's still choking, but somewhere else now. I'm trying to debug it now.
This is the sign of a more subtle error...one that isn't caused by the line the app is crashing on. Recompiling from scratch may help. Or maybe the way you're referencing the 3rd-party libraries is incorrect, like using the .h/.cpp files from one version of a library, but using the compiled library files from a different version. Then memory addresses might not match up somewhere, causing apparent problems in the DROD code.

____________________________
Gandalf? Yes... That's what they used to call me.
Gandalf the Grey. That was my name.
I am Gandalf the White.
And I come back to you now at the turn of the tide.
10-25-2006 at 08:01 AM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
coppro
Level: Smitemaster
Rank Points: 1308
Registered: 11-24-2005
IP: Logged
icon Re: DROD 2.0 Source Released. (0)  
I've done a full rebuild, and it didn't help. It's choking somewhere in AddWidget(), I haven't found where.
10-25-2006 at 03:51 PM
View Profile Show all user's posts Quote Reply
coppro
Level: Smitemaster
Rank Points: 1308
Registered: 11-24-2005
IP: Logged
icon Re: DROD 2.0 Source Released. (0)  
You know what? It's not worth the trouble. With 3.0 waiting around the corner to ambush me when I least expect it, I might as well wait until then to tackle this again.
10-29-2006 at 11:33 PM
View Profile Show all user's posts Quote Reply
coppro
Level: Smitemaster
Rank Points: 1308
Registered: 11-24-2005
IP: Logged
icon Re: DROD 2.0 Source Released. (0)  
I was browsing the code the other day, and noticed one point where you implicitly casted the following: (CCharacterCommand*) ((void*)dwCommandPointer) or something of that nature. Please, if you're going to perform a cast which could destroy half the known universe, do it correctly and neatly with a reinterpret_cast<CCharacterCommand*>(dwCommandPointer).
12-11-2006 at 09:30 PM
View Profile Show all user's posts Quote Reply
mrimer
Level: Legendary Smitemaster
Avatar
Rank Points: 5056
Registered: 02-04-2003
IP: Logged
icon Re: DROD 2.0 Source Released. (0)  
coppro wrote:
I was browsing the code the other day, and noticed one point where you implicitly casted the following: (CCharacterCommand*) ((void*)dwCommandPointer) or something of that nature. Please, if you're going to perform a cast which could destroy half the known universe, do it correctly and neatly with a reinterpret_cast<CCharacterCommand*>(dwCommandPointer).
Thanks. We've already corrected this in the 3.0 codebase.

____________________________
Gandalf? Yes... That's what they used to call me.
Gandalf the Grey. That was my name.
I am Gandalf the White.
And I come back to you now at the turn of the tide.
12-11-2006 at 10:12 PM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
Syntax
Level: Smitemaster
Rank Points: 1218
Registered: 05-12-2005
IP: Logged
icon Re: DROD 2.0 Source Released. (0)  
coppro wrote:
I was browsing the code the other day, and noticed one point where you implicitly casted the following: (CCharacterCommand*) ((void*)dwCommandPointer) or something of that nature. Please, if you're going to perform a cast which could destroy half the known universe, do it correctly and neatly with a reinterpret_cast<CCharacterCommand*>(dwCommandPointer).
-1 mod!? I've not used the second form but if that was a dig at development thus far as opposed to advice, then it went right over my head.
12-13-2006 at 01:39 AM
View Profile Send Private Message to User Show all user's posts Quote Reply
Chaco
Level: Smitemaster
Rank Points: 3624
Registered: 10-06-2005
IP: Logged
icon Re: DROD 2.0 Source Released. (0)  
Actually, he was modded down to -2 earlier. I modded him back up to 0 since it seemed a perfectly reasonable bugfix, but now he's back down again. -_-

____________________________
Quick links to my stuff (in case you forgot where it was):
Click here to view the secret text

12-13-2006 at 01:55 AM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
coppro
Level: Smitemaster
Rank Points: 1308
Registered: 11-24-2005
IP: Logged
icon Re: DROD 2.0 Source Released. (-1)  
It wasn't. It was a joke, along the lines of most sources cautioning about the cast as "The result of a reinterpret_cast cannot safely be used for anything other than being cast back to its original type." That's from the MSDN, and that's by far the most descriptive source. Others often just say "It reinterprets stuff. It's dangerous", or something similar. So, it was not at all a dig at development. It's just that it must be used with a specific purpose in mind, and you must be definitively sure that the result can be used. I wasn't trying to be mean.
12-13-2006 at 01:57 AM
View Profile Show all user's posts Quote Reply
mrimer
Level: Legendary Smitemaster
Avatar
Rank Points: 5056
Registered: 02-04-2003
IP: Logged
icon Re: DROD 2.0 Source Released. (+1)  
coppro wrote:
So, it was not at all a dig at development. It's just that it must be used with a specific purpose in mind, and you must be definitively sure that the result can be used. I wasn't trying to be mean.
Hmm, okay. Well, you were telling us to please change it to be "correct". However, I did implement it this way with a specific purpose in mind and was sure whether the result could be used. And, since the scripting dialog UI works in the level editor, you definitely see that it works correctly. So telling us to change the syntax (and not semantics) of working code to be correct seems, imho, insignificant, I guess.

Edit: Oh, but you're saying it was really just a joke. Objective judging: joke had to be explained to everyone in the know = bad joke

However, I mentioned above it's already been changed because it was implemented this way with the knowledge that this semantic wouldn't work when compiled in certain environments. We've crossed that barrier with Gerry compiling 3.0 for a 64-bit architecture, so I rewrote how this cast is handled to be correct in all cases.

____________________________
Gandalf? Yes... That's what they used to call me.
Gandalf the Grey. That was my name.
I am Gandalf the White.
And I come back to you now at the turn of the tide.

[Last edited by mrimer at 12-13-2006 06:12 PM]
12-13-2006 at 04:22 PM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
coppro
Level: Smitemaster
Rank Points: 1308
Registered: 11-24-2005
IP: Logged
icon Re: DROD 2.0 Source Released. (0)  
Fair enough. I don't dispute the mod though. If I get a -1, instead of asking how it was a -1, I just don't make that kind of post again. That's what the mod system is for. Reminds me of a joke:

"Doctor, Doctor, it hurts when I do this!"
"Don't do that."
12-13-2006 at 04:53 PM
View Profile Show all user's posts Quote Reply
AlefBet
Level: Smitemaster
Rank Points: 979
Registered: 07-16-2003
IP: Logged
icon Re: DROD 2.0 Source Released. (0)  
I'm a little bit surprised at the down mod myself. I can see how the tone can be read as accusative or abrasive if you don't consider that it's a joke, but even with the tone I thought the content was on point. (I can be a code style fascist sometimes, though.)

I modded it back up, but it's down again so I'm guessing one of the other moderators disagrees with me and I'm not going to dispute them.

(As an aside, I would consider the fact that it was necessary to change "working code" to make it work on other platforms indicative that the comment wasn't unreasonable. And while usually if it's not broke don't fix it, not all changes to working code are bad, even if they aren't intended to affect how the code works. Commenting, for example.)

____________________________
I was charged with conspiracy to commit jay-walking, and accessory to changing lanes without signaling after the fact :blush.

++Adam H. Peterson
12-13-2006 at 07:52 PM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts Quote Reply
mrimer
Level: Legendary Smitemaster
Avatar
Rank Points: 5056
Registered: 02-04-2003
IP: Logged
icon Re: DROD 2.0 Source Released. (0)  
The 2.0.15 source code has been uploaded to the DROD site (see first post).

____________________________
Gandalf? Yes... That's what they used to call me.
Gandalf the Grey. That was my name.
I am Gandalf the White.
And I come back to you now at the turn of the tide.
02-19-2007 at 01:59 AM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
mrimer
Level: Legendary Smitemaster
Avatar
Rank Points: 5056
Registered: 02-04-2003
IP: Logged
icon Re: DROD 2.0 Source Released. (0)  
Source for 2.0.15.1 has been released.

____________________________
Gandalf? Yes... That's what they used to call me.
Gandalf the Grey. That was my name.
I am Gandalf the White.
And I come back to you now at the turn of the tide.
02-23-2007 at 08:14 PM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
mrimer
Level: Legendary Smitemaster
Avatar
Rank Points: 5056
Registered: 02-04-2003
IP: Logged
icon DROD 3.0 Source Released. (+1)  
The DROD 3.0 source code is now available (see first post). Repeated from Erik's post:

It should be possible to copy the "Data" directory from either the demo or full version of TCB and have a working copy with your own build. But remember, you cannot distribute the media. It is also wrong to reconstruct it using screenshots or other techniques, and that includes the media included in the free demo version. We didn't put any of it into the source code archive to prevent people from assuming it was distributable.

That doesn't mean making your own distributable version of DROD is impossible or even discouraged. One of our team members, Adam Peterson, made reference artwork and put it in the public domain. You can use this artwork to make a distributable game if you like.

Myself and others are here to help with any spinoff projects. I've already given lots of advice to lone wolves working with DROD source code, and I'll probably give a lot more before it's over. So please don't get too irritated about the difficulties created by the media-less distribution. There is lots of help here to get you past it.

____________________________
Gandalf? Yes... That's what they used to call me.
Gandalf the Grey. That was my name.
I am Gandalf the White.
And I come back to you now at the turn of the tide.

[Last edited by mrimer at 05-04-2007 05:37 AM]
05-04-2007 at 05:35 AM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
trick
Level: Legendary Smitemaster
Rank Points: 2580
Registered: 04-12-2003
IP: Logged
icon Re: DROD 2.0 + 3.0 Source Released. (+1)  
Note that the Linux build system has moved to SCons. A Makefile is still present in the source zip if you haven't got scons installed, but I haven't been maintaining that so you might run into problems.

cd to Master/Linux and run 'scons -h' to see build options. Options are passed to scons as 'option=value' (without the quotes), separated by spaces. For example, if you wanted to build DROD with FMOD audio for amd64/x86-64 (which wouldn't work since FMOD 3.x doesn't exist for amd64, but hey, let's ignore such trifling details), you would do:

scons audio=fmod arch=amd64

The dist option should be left at the default (none), unless you happen to be me :)

05-04-2007 at 04:57 PM
View Profile Send Private Message to User Send Email to User Show all user's posts Quote Reply
Stefan
Level: Smitemaster
Avatar
Rank Points: 2119
Registered: 05-25-2004
IP: Logged
icon Re: DROD 2.0 + 3.0 Source Released. (+1)  
trick wrote:
A Makefile is still present in the source zip if you haven't got scons installed, but I haven't been maintaining that so you might run into problems.
Yes, one of them being that gtk/gtk.h can't be found unless you modify the makefile.
cd to Master/Linux and run 'scons -h' to see build options.
Which option should be used to build just one module (such as BackEndLib)? It seems to default to building everything.

Also, I've been having problems getting it to compile. I get the following errors when compiling DROD/DrodBitmapManager.cpp:
~/drodsource/DROD30Source/BackEndLib/CoordIndex.h: In member function ‘void CCoordIndex_T<T>::GetCoordsWithValue(T, CCoordSet*) const’:
~/drodsource/DROD30Source/BackEndLib/CoordIndex.h:283: error: invalid use of undefined type ‘struct CCoordSet’
~/drodsource/DROD30Source/BackEndLib/CoordIndex.h:41: error: forward declaration of ‘struct CCoordSet’
Edit: I also get
../../BackEndLib/Files.cpp: In static member function ‘static bool CFiles::EraseFile(const WCHAR*)’:
../../BackEndLib/Files.cpp:387: error: ‘_wunlink’ was not declared in this scope
../../BackEndLib/Files.cpp: In static member function ‘static bool CFiles::RenameFile(const WCHAR*, const WCHAR*)’:
../../BackEndLib/Files.cpp:406: error: ‘_wrename’ was not declared in this scope
when compiling with the makefile. Commenting these out seems to work, though, but that results in the above error message (CoordIndex.h).

____________________________
0.099³

[Last edited by Stefan at 05-04-2007 06:16 PM : size and code tags mixed up]
05-04-2007 at 06:02 PM
View Profile Send Private Message to User Show all user's posts This architect's holds Quote Reply
trick
Level: Legendary Smitemaster
Rank Points: 2580
Registered: 04-12-2003
IP: Logged
icon Re: DROD 2.0 + 3.0 Source Released. (+4)  
Stefan wrote:
Yes, one of them being that gtk/gtk.h can't be found unless you modify the makefile.
Oh, that reminds me I should probably add an option to make gtk optional. Anyway, I'll probably just remove the Makefile in the future unless someone really wants it.
Which option should be used to build just one module (such as BackEndLib)? It seems to default to building everything.
Er, yes. It's not very straightforward since scons doesn't do build targets like make does for some reason, but it can be done. Just add the name of the library file you want to build to the scons line, for example:

scons tcb-sdlmixer-release-none-i686/lib/libBackEndLib.a


If you change any options, you also have to change the target directory:

scons arch=amd64 tcb-sdlmixer-release-none-amd64/lib/libBackEndLib.a

Also, I've been having problems getting it to compile. I get the following errors when compiling DROD/DrodBitmapManager.cpp:
Yeah, bit of a circular dependency there, it seems. The code's a bit more recent than the stable version and got uploaded before I got to fix problems, sorry about that. Anyway, to fix it, you can open BackEndLib/CoordSet.h and move the ifndef/define COORDSET_H to below where it includes CoordIndex.h, like this:
(..)

//(move from here)

#include "Types.h"
#include "Coord.h"
#include "CoordIndex.h"

#ifndef COORDSET_H
#define COORDSET_H

(..)
..and insert an "#include "CoordSet.h" into CoordIndex.h after the class definition but before it starts defining templates:
(..)

typedef CCoordIndex_T<BYTE> CCoordIndex;

#include "CoordSet.h"

//
//CCoordIndex public template methods.
//

(..)

The problems in CFiles is caused by _wunlink and _wrename not existing on anything that's not Windows, so we've got to wrap them up (BackEndLib/Files.cpp):
(..)

//*****************************************************************************
bool CFiles::EraseFile(
//Erases a file from disk.
//
//Params:
	const WCHAR *wszFilepath) //(in)
//
//Returns:
//True if erase operation succeeded.
{
#if defined(__linux__) || defined(__FreeBSD__)
	//Apple too?
	//!!! FIXME: shouldn't assume utf-8, use locale
	BYTE *fp = NULL;
	to_utf8(wszFilepath, fp);
	bool bOk = !unlink((char*)fp);
	delete[] fp;
	return bOk;
#else
	return !_wunlink(wszFilepath);
#endif
}

//ASCII version.
bool CFiles::EraseFile(const char *szFilepath)
{
	return !unlink(szFilepath);
}

//*****************************************************************************
bool CFiles::RenameFile(
//Renames a file from disk.
//
//Params:
	const WCHAR *wszOldFilepath, const WCHAR *wszNewFilepath) //(in)
//
//Returns:
//True if erase operation succeeded.
{
#if defined(__linux__) || defined(__FreeBSD__)
	//Apple too?
	//!!! FIXME: shouldn't assume utf-8, use locale
	BYTE *op = NULL, *np = NULL;
	to_utf8(wszOldFilepath, op);
	to_utf8(wszNewFilepath, np);
	bool bOk = !rename((char*)op, (char*)np);
	delete[] np;
	delete[] op;
	return bOk;
#else
	return !_wrename(wszOldFilepath, wszNewFilepath);
#endif
}

//ASCII version.
bool CFiles::RenameFile(const char *szOldFilepath, const char *szNewFilepath)
{
	return !rename(szOldFilepath, szNewFilepath);
}

(..)

That should do it, I think. Although, as the FIXME comments imply, the Files.cpp fix isn't exactly ideal, but DROD only uses plain ASCII filenames anyway so it shouldn't be a problem for now, as long as you're using ISO-8859-*..


[Last edited by trick at 05-04-2007 07:55 PM]
05-04-2007 at 07:39 PM
View Profile Send Private Message to User Send Email to User Show all user's posts Quote Reply
AlefBet
Level: Smitemaster
Rank Points: 979
Registered: 07-16-2003
IP: Logged
icon Re: DROD 2.0 + 3.0 Source Released. (+1)  
I believe SCons can actually be set up to do something similar to pseudo-targets from make, by using the Alias() function.

____________________________
I was charged with conspiracy to commit jay-walking, and accessory to changing lanes without signaling after the fact :blush.

++Adam H. Peterson
05-04-2007 at 08:21 PM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts Quote Reply
md5i
Level: Master Delver
Rank Points: 109
Registered: 03-25-2004
IP: Logged
icon Re: DROD 2.0 + 3.0 Source Released. (0)  
Just a note: After applying the patches here, I cannot compile the sources using gcc 4.1.3. Error messages follow:
Click here to view the secret text

What version of gcc are you using, trick? I'll see what result I get using the same version. (You've got to love obscure STL template problems...)

____________________________
Michael Welsh Duggan
(md5i@md5i.com)
05-05-2007 at 12:04 AM
View Profile Send Private Message to User Send Email to User Show all user's posts Quote Reply
Stefan
Level: Smitemaster
Avatar
Rank Points: 2119
Registered: 05-25-2004
IP: Logged
icon Re: DROD 2.0 + 3.0 Source Released. (+2)  
It looks like you're using the wrong version of pod_char_traits.h. Putting revision 1.4 (from here or here) in "DROD30Source/ext" should do the trick.

I've successfully compiled DROD using gcc 4.1.1. I haven't yet figured out how to compile DRODUtil using scones, but it compiles with the makefile after some modifications.

____________________________
0.099³

[Last edited by Stefan at 05-05-2007 12:21 AM]
05-05-2007 at 12:20 AM
View Profile Send Private Message to User Show all user's posts This architect's holds Quote Reply
mrimer
Level: Legendary Smitemaster
Avatar
Rank Points: 5056
Registered: 02-04-2003
IP: Logged
icon Re: DROD 2.0 + 3.0 Source Released. (+2)  
Good job!

Mmm...scones...

If anyone wants to help fix bugs in the code, big or small, everyone would greatly appreciate it. I'm struggling to find time to work on it sufficiently. It's vying for my time finishing my dissertation asap, my new full-time job, and my wife and kids. All these things are great -- it just leaves little time to work on DROD fixes.

____________________________
Gandalf? Yes... That's what they used to call me.
Gandalf the Grey. That was my name.
I am Gandalf the White.
And I come back to you now at the turn of the tide.

[Last edited by mrimer at 05-05-2007 06:56 PM]
05-05-2007 at 06:15 PM
View Profile Send Private Message to User Send Email to User Show all user's posts High Scores This architect's holds Quote Reply
AtkinsSJ
Level: Master Delver
Avatar
Rank Points: 107
Registered: 12-23-2005
IP: Logged
icon Re: DROD 2.0 + 3.0 Source Released. (0)  
Hi, I'm just embarking on something incredibly foolish, but I'm in that sort of mood at the moment.
I've got quite far, I think, with getting the source to nearly compile, but it complains about the curl lib:
ZombieGazeEffect.cpp
c:\downloads\drod30source\lib\curl-7.16.2\lib\setup_once.h(195) : error C2632: 'char' followed by 'bool' is illegal
c:\downloads\drod30source\lib\curl-7.16.2\lib\setup_once.h(195) : warning C4091: 'typedef ' : ignored on left of 'unsigned char' when no variable is declared
c:\downloads\drod30source\lib\curl-7.16.2\lib\share.h(28) : fatal error C1083: Cannot open include file: 'curl/curl.h': No such file or directory

The same error happens with each .cpp file. Now, I'm new to C++ (Yeah, hence the mention of being a fool. :P) But that really doesn't sound good. Is it related to my using Visual C++ 2005 Express? I've seen it said here that different compilers accept different things.

I'd planned on learning a bit of C++ for a while, because it's industry-recognised. This seemed a good place to start. Or, at least, an interesting one.

Thanks,

~AtkinsSJ
05-05-2007 at 06:18 PM
View Profile Send Private Message to User Send Email to User Visit Homepage Show all user's posts Quote Reply
Jatopian
Level: Smitemaster
Rank Points: 1842
Registered: 07-31-2005
IP: Logged
icon Re: DROD 2.0 + 3.0 Source Released. (0)  
Awww, poor mrimer. *gives him another hug* That's all I can give you though, not knowing C++ well enough yet... :(

____________________________
DROD has some really great music.
Make your pressure plates 3.0 style!
DROD architecture idea generator
05-05-2007 at 06:33 PM
View Profile Send Private Message to User Show all user's posts This architect's holds Quote Reply
123
Page 4 of 9
5678>>
New Topic New Poll Post Reply
Caravel Forum : Caravel Boards : Development : DROD Source Released (Now open sourced on Github!)
Surf To:


Forum Rules:
Can I post a new topic? No
Can I reply? No
Can I read? Yes
HTML Enabled? No
UBBC Enabled? Yes
Words Filter Enable? No

Contact Us | CaravelGames.com

Powered by: tForum tForumHacks Edition b0.98.8
Originally created by Toan Huynh (Copyright © 2000)
Enhanced by the tForumHacks team and the Caravel team.