Author Topic: New configurator  (Read 7116 times)

Zaggy1024

  • Ornithopter
  • *****
  • Posts: 449
    • View Profile
New configurator
« on: 13 May 2010, 20:07:33 »
I finally got around to writing this...improved version of the original configurator. Basically the only new features are that it has an (optional =P) option in the XML that allows it to use either kind of boolean (true/false or 1/0), and tooltips for the descriptions of the options rather than a [?] button on the window decoration. Also, the GUI uses the XP skin.

Anyway, you can download it at http://www.mediafire.com/?nndz2mz2rjw.

Sadly, it requires .NET 3.5, so it isn't cross-platform (unless someone can teach me how to use xerces-c...).

Edit: New version. I changed it slightly so that the tab pages can be scrolled in, the last element in the table of each tab isn't stretched to fill the extra space, and I added a size limit to the window.

Download link: http://www.mediafire.com/?5uqjyzbhvmt

I'm planning to add a tab to edit the plain text of the INI, I'll probably have it up later today.

Edit: I forgot to say, it's written in C# rather than C++.  =|

~Zaggy
« Last Edit: 13 May 2010, 22:42:03 by ZaggyDad »

softcoder

  • MegaGlest Team
  • Airship
  • ********
  • Posts: 2,206
    • View Profile
    • Email
Re: New configurator
« Reply #1 on: 13 May 2010, 20:14:27 »
If desired you could always grab the configurator from the Mega-glest trunk. It compiles on both win32 and linux and all you need to do is provide the GAE specific entries in the xml file. It already supports 1/0 true/false for boolean and has a few improvements.

There is a solution for VC++ 2008 express to compile it too (and of course JAM for linux).

Thanks

Zaggy1024

  • Ornithopter
  • *****
  • Posts: 449
    • View Profile
Re: New configurator
« Reply #2 on: 13 May 2010, 20:37:24 »
Aww, darn. I guess I shouldn't have waited so long to write this one. =P

Edit: Actually, mine *is* an improvement, because it looks like they just took my configuration.xml, modified it to remove the GAE settings, and then packed it with their fancier configurator (about the only changes in it are that it has the XP theme and it's scalable, though only the window and the description text box scale). But the point of mine was to make the checkboxes (bools in the XML) have the ability to have either 1/0 booleans or true/false booleans. Also, in mine, the tab pages actually scale properly, which is nice if you're entering long strings in your text boxes. And there's the fact that mine uses tooltips instead of the text box at the bottom.

By the way, I did only make this so that I could learn the .NET XML interface better (this is only my second project involving XML), so don't expect the code to be really good. =|
« Last Edit: 13 May 2010, 22:35:05 by ZaggyDad »

jda

  • Archmage
  • ******
  • Posts: 664
    • View Profile
Re: New configurator
« Reply #3 on: 13 May 2010, 23:26:36 »
Erm... so... the fact they are so similar... does it make it possible to have the GAE configurator to compile on Linux?
I can get you a 32 bit binary if you get me a source tarball. ;D
Dwarf Aglarond faction, realease 0.1.2 published on December 16th 2011
Check the linked thread for details and up to date download link !
A patch with new Goat sounds has been released December 18th ! A new patch with minor improvements to the Goat animations has been released December 22nd !

Zaggy1024

  • Ornithopter
  • *****
  • Posts: 449
    • View Profile
Re: New configurator
« Reply #4 on: 14 May 2010, 00:34:02 »
Quote
Erm... so... the fact they are so similar..
What are so similar? The .NET XML interface and xerces-c? And how can code from Visual C# be compatible with Linux? ^.~

Anyway, here's the source: http://www.mediafire.com/?ym4mrzd2kmz

Btw, there may be a few broken things in it, I didn't check.

jda

  • Archmage
  • ******
  • Posts: 664
    • View Profile
Re: New configurator
« Reply #5 on: 14 May 2010, 10:16:28 »
Sorry... kinda hasty post of mine... :-[

However, I don't know how much you changed in the code (from the old configurator) though and how much trouble it would be to "translate" that to xerces-c and C++...
Guess you were pretty clear on this on your last post though. ;D

Thanks. :)
Dwarf Aglarond faction, realease 0.1.2 published on December 16th 2011
Check the linked thread for details and up to date download link !
A patch with new Goat sounds has been released December 18th ! A new patch with minor improvements to the Goat animations has been released December 22nd !

silnarm

  • Local Moderator
  • Battle Machine
  • ********
  • Posts: 1,373
    • View Profile
Re: New configurator
« Reply #6 on: 14 May 2010, 14:04:22 »
My preference was C# for tools, but I was out voted  :P

...and how much trouble it would be to "translate" that to xerces-c and C++...

We haven't used xerces for some time now, the translation would be to C++ with wxWidgets, but in this case I think simply taking the megaglest version would be more sensible.  Effort appreciated Zaggy, :thumbup: but C++ is the way forward.
Glest Advanced Engine - Code Monkey

Downloads | Timeline | Tracker

softcoder

  • MegaGlest Team
  • Airship
  • ********
  • Posts: 2,206
    • View Profile
    • Email
Re: New configurator
« Reply #7 on: 14 May 2010, 16:27:43 »
Just a note regarding C#. Its a nice language and all but...

it takes a crazy effort to actually get working in linux. Supertux's editor uses C3 and Itell you I never had such a hard time getting things setup. More importantly is that the versions of .net framework create dependency issues in linux which is a nightmare.

Zaggy1024

  • Ornithopter
  • *****
  • Posts: 449
    • View Profile
Re: New configurator
« Reply #8 on: 14 May 2010, 21:31:11 »
Well, I could translate the code to C++...I'm pretty sure it wouldn't be too hard.

How hard do you think it would be for me to change it to wxWidgets?

Btw, I didn't use the source code from the old configurator, because I couldn't figure out how to compile it in Visual C++ 2008 Express. Besides, having to compile all of Glest just to change the configurator isn't of much worth. If there's a method of only compiling the configurator and nothing else, then I'll take it, but otherwise, I'll stick with making my own version.

Quote
More importantly is that the versions of .net framework create dependency issues in linux which is a nightmare.

Yeah, I know. That's what I said in my first post.

Edit: I've decided I'm just going to try and figure out how to get the ol' C++ one to compile on its own...
« Last Edit: 14 May 2010, 22:01:35 by ZaggyDad »

softcoder

  • MegaGlest Team
  • Airship
  • ********
  • Posts: 2,206
    • View Profile
    • Email
Re: New configurator
« Reply #9 on: 14 May 2010, 22:36:15 »
Just an FYI, the configurator doesn't need all of glest to compile. It needs the shared library only (which I beleive is a good idea to share the code for bothj glest and config program) so that you get the same results when reading / writing to the xml.

Thanks

Zaggy1024

  • Ornithopter
  • *****
  • Posts: 449
    • View Profile
Re: New configurator
« Reply #10 on: 15 May 2010, 01:21:38 »
How exactly do you set up wxWidgets? I installed it, but I have no clue how to get VC++ to recognize it.

Edit: Nvm...I got it to work, now all I have to do is figure xerces-c out. =P

Edit: Now that I've got xerces-c, I need to know what version of wxWidgets GAE 0.2.12 used, since it's getting errors (seemingly) because of changes to the parameters used to create controls. >.<
« Last Edit: 15 May 2010, 02:29:23 by ZaggyDad »

softcoder

  • MegaGlest Team
  • Airship
  • ********
  • Posts: 2,206
    • View Profile
    • Email
Re: New configurator
« Reply #11 on: 15 May 2010, 03:13:42 »
Not sure what version you used by if you grab the win32 dependencies archive from sourceforge from mega-glest you should be able to compile everything. I think that the GAE tools are likley close to identical to the mega-glest ones, we recently pulled in the GAE map editor updates.

Thanks

Yggdrasil

  • Local Moderator
  • Ornithopter
  • ********
  • Posts: 409
    • View Profile
Re: New configurator
« Reply #12 on: 15 May 2010, 09:41:53 »
See http://sourceforge.net/apps/trac/glestae/wiki/CompileGuide for building GAE.
I'm not sure if the VC project works atm. Could be broken, better use CMake.

We don't use xerces-c anymore. It's replaced with tinyxml which is part of shared_lib.
The newest version of wxWidgets is a good idea and should work.

EDIT: Oh, sorry. I just read you are talking about GAE 0.2.12. The above only applies to svn trunk, not 0.2.x.
If you get errors please post them, so we can have a look.

If you plan to get your changes integrated better use subversion and get the newest code.
« Last Edit: 15 May 2010, 11:44:33 by Yggdrasil »

Zaggy1024

  • Ornithopter
  • *****
  • Posts: 449
    • View Profile
Re: New configurator
« Reply #13 on: 15 May 2010, 22:14:30 »
Well...I got it so that it would compile, but now it's getting errors in linking.

Here's the output:

Code: [Select]
------ Build started: Project: configurator, Configuration: Debug Win32 ------
Compiling...
cl : Command line warning D9035 : option 'Wp64' has been deprecated and will be removed in a future release
Skipping... (no relevant changes detected)
configuration.cpp
main.cpp
Linking...
LINK : warning LNK4098: defaultlib 'LIBCMTD' conflicts with use of other libs; use /NODEFAULTLIB:library
configuration.obj : error LNK2019: unresolved external symbol "public: __thiscall Shared::Xml::XmlTree::~XmlTree(void)" (??1XmlTree@Xml@Shared@@QAE@XZ) referenced in function "public: void __thiscall Configurator::Configuration::loadStructure(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?loadStructure@Configuration@Configurator@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
configuration.obj : error LNK2019: unresolved external symbol "public: bool __thiscall Shared::Xml::XmlAttribute::getBoolValue(void)const " (?getBoolValue@XmlAttribute@Xml@Shared@@QBE_NXZ) referenced in function "public: void __thiscall Configurator::Configuration::loadStructure(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?loadStructure@Configuration@Configurator@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
configuration.obj : error LNK2019: unresolved external symbol "public: class Shared::Xml::XmlAttribute * __thiscall Shared::Xml::XmlNode::getAttribute(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,bool)const " (?getAttribute@XmlNode@Xml@Shared@@QBEPAVXmlAttribute@23@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_N@Z) referenced in function "public: void __thiscall Configurator::Configuration::loadStructure(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?loadStructure@Configuration@Configurator@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
configuration.obj : error LNK2019: unresolved external symbol "public: class Shared::Xml::XmlNode * __thiscall Shared::Xml::XmlNode::getChild(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,int,bool)const " (?getChild@XmlNode@Xml@Shared@@QBEPAV123@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H_N@Z) referenced in function "public: void __thiscall Configurator::Configuration::loadStructure(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?loadStructure@Configuration@Configurator@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
configuration.obj : error LNK2019: unresolved external symbol "public: void __thiscall Shared::Xml::XmlTree::load(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?load@XmlTree@Xml@Shared@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) referenced in function "public: void __thiscall Configurator::Configuration::loadStructure(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?loadStructure@Configuration@Configurator@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
configuration.obj : error LNK2019: unresolved external symbol "public: __thiscall Shared::Xml::XmlTree::XmlTree(void)" (??0XmlTree@Xml@Shared@@QAE@XZ) referenced in function "public: void __thiscall Configurator::Configuration::loadStructure(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?loadStructure@Configuration@Configurator@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
configuration.obj : error LNK2019: unresolved external symbol "public: void __thiscall Shared::Util::Properties::load(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?load@Properties@Util@Shared@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) referenced in function "public: void __thiscall Configurator::Configuration::loadValues(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?loadValues@Configuration@Configurator@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
configuration.obj : error LNK2019: unresolved external symbol "public: __thiscall Shared::Util::Properties::Properties(void)" (??0Properties@Util@Shared@@QAE@XZ) referenced in function "public: void __thiscall Configurator::Configuration::loadValues(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?loadValues@Configuration@Configurator@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
configuration.obj : error LNK2019: unresolved external symbol "private: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __thiscall Shared::Util::Properties::_getString(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const *)const " (?_getString@Properties@Util@Shared@@ABEABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV45@PBV45@@Z) referenced in function "public: class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const & __thiscall Shared::Util::Properties::getString(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)const " (?getString@Properties@Util@Shared@@QBEABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV45@@Z)
configuration.obj : error LNK2019: unresolved external symbol "public: void __thiscall Shared::Util::Properties::save(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &)" (?save@Properties@Util@Shared@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) referenced in function "public: void __thiscall Configurator::Configuration::save(void)" (?save@Configuration@Configurator@@QAEXXZ)
wxmsw28d_core.lib(app.obj) : error LNK2019: unresolved external symbol __imp__InitCommonControls@0 referenced in function "public: virtual bool __thiscall wxApp::Initialize(int &,char * *)" (?Initialize@wxApp@@UAE_NAAHPAPAD@Z)
wxmsw28d_core.lib(listctrl.obj) : error LNK2019: unresolved external symbol __imp__ImageList_GetIconSize@12 referenced in function "bool __cdecl HandleSubItemPrepaint(struct tagNMLVCUSTOMDRAW *,struct HFONT__ *,int)" (?HandleSubItemPrepaint@@YA_NPAUtagNMLVCUSTOMDRAW@@PAUHFONT__@@H@Z)
wxmsw28d_core.lib(imaglist.obj) : error LNK2001: unresolved external symbol __imp__ImageList_GetIconSize@12
wxmsw28d_core.lib(listctrl.obj) : error LNK2019: unresolved external symbol __imp__ImageList_Draw@24 referenced in function "bool __cdecl HandleSubItemPrepaint(struct tagNMLVCUSTOMDRAW *,struct HFONT__ *,int)" (?HandleSubItemPrepaint@@YA_NPAUtagNMLVCUSTOMDRAW@@PAUHFONT__@@H@Z)
wxmsw28d_core.lib(imaglist.obj) : error LNK2001: unresolved external symbol __imp__ImageList_Draw@24
wxmsw28d_core.lib(listctrl.obj) : error LNK2019: unresolved external symbol __imp__ImageList_GetImageCount@4 referenced in function "bool __cdecl HandleSubItemPrepaint(struct tagNMLVCUSTOMDRAW *,struct HFONT__ *,int)" (?HandleSubItemPrepaint@@YA_NPAUtagNMLVCUSTOMDRAW@@PAUHFONT__@@H@Z)
wxmsw28d_core.lib(imaglist.obj) : error LNK2001: unresolved external symbol __imp__ImageList_GetImageCount@4
wxmsw28d_core.lib(spinbutt.obj) : error LNK2019: unresolved external symbol __imp__CreateUpDownControl@48 referenced in function "public: bool __thiscall wxSpinButton::Create(class wxWindow *,int,class wxPoint const &,class wxSize const &,long,class wxString const &)" (?Create@wxSpinButton@@QAE_NPAVwxWindow@@HABVwxPoint@@ABVwxSize@@JABVwxString@@@Z)
wxmsw28d_core.lib(statbr95.obj) : error LNK2019: unresolved external symbol __imp__CreateStatusWindowA@16 referenced in function "public: bool __thiscall wxStatusBar::Create(class wxWindow *,int,long,class wxString const &)" (?Create@wxStatusBar@@QAE_NPAVwxWindow@@HJABVwxString@@@Z)
wxmsw28d_core.lib(dragimag.obj) : error LNK2019: unresolved external symbol __imp__ImageList_Destroy@4 referenced in function "public: virtual __thiscall wxDragImage::~wxDragImage(void)" (??1wxDragImage@@UAE@XZ)
wxmsw28d_core.lib(imaglist.obj) : error LNK2001: unresolved external symbol __imp__ImageList_Destroy@4
wxmsw28d_core.lib(dragimag.obj) : error LNK2019: unresolved external symbol __imp__ImageList_Add@12 referenced in function "public: bool __thiscall wxDragImage::Create(class wxBitmap const &,class wxCursor const &)" (?Create@wxDragImage@@QAE_NABVwxBitmap@@ABVwxCursor@@@Z)
wxmsw28d_core.lib(imaglist.obj) : error LNK2001: unresolved external symbol __imp__ImageList_Add@12
wxmsw28d_core.lib(dragimag.obj) : error LNK2019: unresolved external symbol __imp__ImageList_Create@20 referenced in function "public: bool __thiscall wxDragImage::Create(class wxBitmap const &,class wxCursor const &)" (?Create@wxDragImage@@QAE_NABVwxBitmap@@ABVwxCursor@@@Z)
wxmsw28d_core.lib(imaglist.obj) : error LNK2001: unresolved external symbol __imp__ImageList_Create@20
wxmsw28d_core.lib(dragimag.obj) : error LNK2019: unresolved external symbol __imp__ImageList_ReplaceIcon@12 referenced in function "public: bool __thiscall wxDragImage::Create(class wxIcon const &,class wxCursor const &)" (?Create@wxDragImage@@QAE_NABVwxIcon@@ABVwxCursor@@@Z)
wxmsw28d_core.lib(imaglist.obj) : error LNK2001: unresolved external symbol __imp__ImageList_ReplaceIcon@12
wxmsw28d_core.lib(dragimag.obj) : error LNK2019: unresolved external symbol __imp__ImageList_SetDragCursorImage@16 referenced in function "public: bool __thiscall wxDragImage::BeginDrag(class wxPoint const &,class wxWindow *,bool,class wxRect *)" (?BeginDrag@wxDragImage@@QAE_NABVwxPoint@@PAVwxWindow@@_NPAVwxRect@@@Z)
wxmsw28d_core.lib(dragimag.obj) : error LNK2019: unresolved external symbol __imp__ImageList_BeginDrag@16 referenced in function "public: bool __thiscall wxDragImage::BeginDrag(class wxPoint const &,class wxWindow *,bool,class wxRect *)" (?BeginDrag@wxDragImage@@QAE_NABVwxPoint@@PAVwxWindow@@_NPAVwxRect@@@Z)
wxmsw28d_core.lib(dragimag.obj) : error LNK2019: unresolved external symbol __imp__ImageList_EndDrag@0 referenced in function "public: bool __thiscall wxDragImage::EndDrag(void)" (?EndDrag@wxDragImage@@QAE_NXZ)
wxmsw28d_core.lib(dragimag.obj) : error LNK2019: unresolved external symbol __imp__ImageList_DragMove@8 referenced in function "public: bool __thiscall wxDragImage::Move(class wxPoint const &)" (?Move@wxDragImage@@QAE_NABVwxPoint@@@Z)
wxmsw28d_core.lib(dragimag.obj) : error LNK2019: unresolved external symbol __imp__ImageList_DragEnter@12 referenced in function "public: bool __thiscall wxDragImage::Show(void)" (?Show@wxDragImage@@QAE_NXZ)
wxmsw28d_core.lib(dragimag.obj) : error LNK2019: unresolved external symbol __imp__ImageList_DragLeave@4 referenced in function "public: bool __thiscall wxDragImage::Hide(void)" (?Hide@wxDragImage@@QAE_NXZ)
wxmsw28d_core.lib(imaglist.obj) : error LNK2019: unresolved external symbol __imp__ImageList_AddMasked@12 referenced in function "public: int __thiscall wxImageList::Add(class wxBitmap const &,class wxColour const &)" (?Add@wxImageList@@QAEHABVwxBitmap@@ABVwxColour@@@Z)
wxmsw28d_core.lib(imaglist.obj) : error LNK2019: unresolved external symbol __imp__ImageList_Replace@16 referenced in function "public: bool __thiscall wxImageList::Replace(int,class wxBitmap const &,class wxBitmap const &)" (?Replace@wxImageList@@QAE_NHABVwxBitmap@@0@Z)
wxmsw28d_core.lib(imaglist.obj) : error LNK2019: unresolved external symbol __imp__ImageList_Remove@8 referenced in function "public: bool __thiscall wxImageList::Remove(int)" (?Remove@wxImageList@@QAE_NH@Z)
wxmsw28d_core.lib(imaglist.obj) : error LNK2019: unresolved external symbol __imp__ImageList_SetBkColor@8 referenced in function "public: bool __thiscall wxImageList::Draw(int,class wxDC &,int,int,int,bool)" (?Draw@wxImageList@@QAE_NHAAVwxDC@@HHH_N@Z)
wxmsw28d_core.lib(imaglist.obj) : error LNK2019: unresolved external symbol __imp__ImageList_GetIcon@12 referenced in function "public: class wxIcon __thiscall wxImageList::GetIcon(int)const " (?GetIcon@wxImageList@@QBE?AVwxIcon@@H@Z)
wxmsw28d_core.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp__UuidToStringA@8 referenced in function "public: __thiscall Uuid::Uuid(class Uuid const &)" (??0Uuid@@QAE@ABV0@@Z)
wxmsw28d_core.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp__RpcStringFreeA@4 referenced in function "public: __thiscall Uuid::~Uuid(void)" (??1Uuid@@QAE@XZ)
wxmsw28d_core.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp__UuidCreate@4 referenced in function "public: void __thiscall Uuid::Create(void)" (?Create@Uuid@@QAEXXZ)
wxmsw28d_core.lib(uuid.obj) : error LNK2019: unresolved external symbol __imp__UuidFromStringA@8 referenced in function "public: bool __thiscall Uuid::Set(char const *)" (?Set@Uuid@@QAE_NPBD@Z)
Debug\configurator.exe : fatal error LNK1120: 35 unresolved externals
Build log was saved at "file://g:\GAE Source\glestae\branches\0.2.x\source\configurator\Debug\BuildLog.htm"
configurator - 43 error(s), 2 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Btw, if it's using tinyXML for it, then I'd prefer to use the latest version instead. But still, I doubt these errors would be cleared up if I switched, anyway.

Edit: It doesn't seem like the configurator has been updated to use tinyXML...I guess that's another improvement that I could try doing on it. =D
« Last Edit: 16 May 2010, 00:57:46 by ZaggyDad »

silnarm

  • Local Moderator
  • Battle Machine
  • ********
  • Posts: 1,373
    • View Profile
Re: New configurator
« Reply #14 on: 16 May 2010, 08:43:27 »
Well...I got it so that it would compile, but now it's getting errors in linking.

you need to link with,
shared_lib.lib

and on a release build,
wxbase28.lib
wxmsw28_core.lib
wxmsw28_gl.lib

and for debug config,
wxbase28d.lib
wxmsw28d_core.lib
wxmsw28d_gl.lib

CMake can do this all for you if you wish to switch to trunk.
I also recently also uploaded a new dependencies package which changed the directory layout so CMake could find wxWidgets properly,
http://sourceforge.net/projects/glestae/files/win_dev_deps/win_deps.7z/download
extract that wherever you like, then when you run CMake set a 'path' called GAE_WINDEPS to point to it.
(I also recommend adding '/build' to the 'where to build the binaries' option, this is where you project files will be placed.



Then it should be a simple matter of pressing configure twice and then generate.

Cheers.
Glest Advanced Engine - Code Monkey

Downloads | Timeline | Tracker

Zaggy1024

  • Ornithopter
  • *****
  • Posts: 449
    • View Profile
Re: New configurator
« Reply #15 on: 16 May 2010, 15:02:40 »
I'm not using CMake. Should I be?

Btw, I did add all the directories that were necessary before. Does shared_lib have to be compiled to a .lib first for it to work?

Also, you do realize I'm just trying to compile the four files in the configurator directory and not all of GAE, right?

Yggdrasil

  • Local Moderator
  • Ornithopter
  • ********
  • Posts: 409
    • View Profile
Re: New configurator
« Reply #16 on: 16 May 2010, 15:45:58 »
I'm not using CMake. Should I be?
If you checked out trunk it would be better. It creates VC project for you.

Btw, I did add all the directories that were necessary before. Does shared_lib have to be compiled to a .lib first for it to work?

Also, you do realize I'm just trying to compile the four files in the configurator directory and not all of GAE, right?
Yes, you need shared_lib. The configurator is linked against it.

Zaggy1024

  • Ornithopter
  • *****
  • Posts: 449
    • View Profile
Re: New configurator
« Reply #17 on: 17 May 2010, 16:10:43 »
Yes, you need shared_lib. The configurator is linked against it.

I do have it linked against it. It's linked against everything it seems to need. It's just it keeps on getting that linking error.

Btw, wouldn't CMake make a project containing all of Glest, and not just the configurator? I'd rather just have the files necessary for the configurator compiling when I'm debugging it, otherwise it'll take forever to finish.

Yggdrasil

  • Local Moderator
  • Ornithopter
  • ********
  • Posts: 409
    • View Profile
Re: New configurator
« Reply #18 on: 17 May 2010, 17:49:56 »
No, CMake generates targets for every library/executable. You can still just build the configurator which just builds shared_lib before. So only the needed stuff is built.

@debugging: I don't get what you are talking about. If you change some files only the needed objects are rebuild and linked with the rest together. Visual Studio even does linking incremental. So only the first time compiling takes "much" time and glest is far from big.

So, use CMake. It's there for a reason: It works and is maintained from us.

silnarm

  • Local Moderator
  • Battle Machine
  • ********
  • Posts: 1,373
    • View Profile
Re: New configurator
« Reply #19 on: 18 May 2010, 09:31:29 »
You can even delete the other projects if you want, I do this all the time so I can simply rebuild solution with F7 and not have to worry about the other junk, is much easier than selecting the game project to build each time.  With CMake you can treat the project files with utter disdain, if you screw anything up, you can regenerate them with a few mouse clicks.
Glest Advanced Engine - Code Monkey

Downloads | Timeline | Tracker

jda

  • Archmage
  • ******
  • Posts: 664
    • View Profile
Re: New configurator
« Reply #20 on: 18 May 2010, 12:46:04 »
So, use CMake. It's there for a reason: It works and is maintained from us.
Maybe OT but... Who is "us"?

From Ubuntu's 9.10 cmake 2.6.4 package description:
Quote
CMake was developed by Kitware as part of the NLM Insight
Segmentation and Registration Toolkit project. The ASCI VIEWS project
also provided support in the context of their parallel computation
environment. Other sponsors include the Insight, VTK, and VXL open
source software communities
Dwarf Aglarond faction, realease 0.1.2 published on December 16th 2011
Check the linked thread for details and up to date download link !
A patch with new Goat sounds has been released December 18th ! A new patch with minor improvements to the Goat animations has been released December 22nd !

Yggdrasil

  • Local Moderator
  • Ornithopter
  • ********
  • Posts: 409
    • View Profile
Re: New configurator
« Reply #21 on: 18 May 2010, 13:50:38 »
I meant the build scripts not CMake itself.

Zaggy1024

  • Ornithopter
  • *****
  • Posts: 449
    • View Profile
Re: New configurator
« Reply #22 on: 18 May 2010, 23:50:48 »
So...CMake successfully configured the project, but it doesn't appear to have added the configurator to the project. (If it has, I have no clue where it put it...)

And besides that, when I try to compile the solution, it gives these errors:

Code: [Select]
------ Build started: Project: libglest, Configuration: Debug Win32 ------
Compiling...
pch.cpp
Compiling...
camera.cpp
checksum.cpp
c1xx : fatal error C1083: Cannot open source file: '.\sources\util\checksum.cpp': No such file or directory
context.cpp
context_gl.cpp
conversion.cpp
factory_repository.cpp
FileOps.cpp
font.cpp
font_gl.cpp
font_manager.cpp
FSFactory.cpp
gl_wrap.cpp
graphics_interface.cpp
ifile_stream.cpp
ifile_streambuf.cpp
input.cpp
interpolation.cpp
leak_dumper.cpp
lua_script.cpp
g:\gae source\glestae\trunk\source\shared_lib\sources\lua\lua_script.cpp(199) : warning C4244: '=' : conversion from 'lua_Number' to 'int', possible loss of data
g:\gae source\glestae\trunk\source\shared_lib\sources\lua\lua_script.cpp(204) : warning C4244: '=' : conversion from 'lua_Number' to 'int', possible loss of data
g:\gae source\glestae\trunk\source\shared_lib\sources\lua\lua_script.cpp(226) : warning C4244: '=' : conversion from 'lua_Number' to 'int', possible loss of data
g:\gae source\glestae\trunk\source\shared_lib\sources\lua\lua_script.cpp(230) : warning C4244: '=' : conversion from 'lua_Number' to 'int', possible loss of data
g:\gae source\glestae\trunk\source\shared_lib\sources\lua\lua_script.cpp(234) : warning C4244: '=' : conversion from 'lua_Number' to 'int', possible loss of data
g:\gae source\glestae\trunk\source\shared_lib\sources\lua\lua_script.cpp(255) : warning C4244: '=' : conversion from 'lua_Number' to 'int', possible loss of data
g:\gae source\glestae\trunk\source\shared_lib\sources\lua\lua_script.cpp(259) : warning C4244: '=' : conversion from 'lua_Number' to 'int', possible loss of data
g:\gae source\glestae\trunk\source\shared_lib\sources\lua\lua_script.cpp(263) : warning C4244: '=' : conversion from 'lua_Number' to 'int', possible loss of data
g:\gae source\glestae\trunk\source\shared_lib\sources\lua\lua_script.cpp(267) : warning C4244: '=' : conversion from 'lua_Number' to 'int', possible loss of data
math_util.cpp
Generating Code...
Compiling...
model.cpp
model_manager.cpp
model_renderer_gl.cpp
ofile_stream.cpp
ofile_streambuf.cpp
opengl.cpp
particle.cpp
particle_renderer_gl.cpp
PhysFileOps.cpp
pixmap.cpp
platform_menu.cpp
platform_util.cpp
profiler.cpp
properties.cpp
quaternion.cpp
socket.cpp
sound.cpp
sound_file_loader.cpp
sound_interface.cpp
sound_player.cpp
Generating Code...
Compiling...
sound_player_ds8.cpp
StdFileOps.cpp
text_renderer_gl.cpp
texture.cpp
texture_gl.cpp
texture_manager.cpp
thread.cpp
timer.cpp
tinyxml.cpp
tinyxmlerror.cpp
tinyxmlparser.cpp
util.cpp
window.cpp
window_gl.cpp
xml_parser.cpp
buffer.cpp
Generating Code...
Creating browse information file...
Microsoft Browse Information Maintenance Utility Version 9.00.30729
Copyright (C) Microsoft Corporation. All rights reserved.
BSCMAKE: error BK1506 : cannot open file '..\..\build\Debug\libglest\checksum.sbr': No such file or directory
Build log was saved at "file://g:\GAE Source\glestae\trunk\build\Debug\libglest\BuildLog.htm"
libglest - 2 error(s), 9 warning(s)
------ Build started: Project: test, Configuration: Debug Win32 ------
Compiling...
pch.cpp
Compiling...
annotated_map_test.cpp
influence_map_test.cpp
g:\gae source\glestae\trunk\source\test\search\influence_map_test.h(19) : fatal error C1083: Cannot open include file: 'influence_map.h': No such file or directory
line_test.cpp
rect_iter_test.cpp
reverse_rect_iter_test.cpp
circular_buffer_test.cpp
fixed_point_test.cpp
heap_test.cpp
main.cpp
g:\GAE Source\glestae\trunk\source\test\search\influence_map_test.h(19) : fatal error C1083: Cannot open include file: 'influence_map.h': No such file or directory
Generating Code...
Build log was saved at "file://g:\GAE Source\glestae\trunk\build\Debug\test\BuildLog.htm"
test - 2 error(s), 0 warning(s)
------ Build started: Project: map_editor, Configuration: Debug Win32 ------
Compiling...
pch.cpp
Compiling...
map_maker.cpp
Compiling...
main.cpp
g:\gae source\glestae\trunk\source\map_editor\main.h(18) : fatal error C1083: Cannot open include file: 'wx/wx.h': No such file or directory
map.cpp
program.cpp
Generating Code...
Compiling...
renderer.cpp
Generating Code...
Build log was saved at "file://g:\GAE Source\glestae\trunk\build\Debug\map_editor\BuildLog.htm"
map_editor - 1 error(s), 0 warning(s)
------ Build started: Project: game, Configuration: Debug Win32 ------
Compiling...
pch.cpp
g:\GAE Source\glestae\trunk\source\game\game\game_constants.h(49) : fatal error C1083: Cannot open include file: 'prototypes_enums.h': No such file or directory
Creating browse information file...
Microsoft Browse Information Maintenance Utility Version 9.00.30729
Copyright (C) Microsoft Corporation. All rights reserved.
BSCMAKE: error BK1506 : cannot open file '..\..\build\Debug\game\ai_interface.sbr': No such file or directory
Build log was saved at "file://g:\GAE Source\glestae\trunk\build\Debug\game\BuildLog.htm"
game - 2 error(s), 0 warning(s)
------ Build started: Project: g3d_viewer, Configuration: Debug Win32 ------
Compiling...
pch.cpp
g:\program files\microsoft visual studio 9.0\vc\include\xmemory(144) : fatal error C1085: Cannot write precompiled header file: '../../build/Debug/g3d_viewer\g3d_viewer.pch': There is not enough space on the disk.
Build log was saved at "file://g:\GAE Source\glestae\trunk\build\Debug\g3d_viewer\BuildLog.htm"
g3d_viewer - 1 error(s), 0 warning(s)
========== Build: 0 succeeded, 5 failed, 0 up-to-date, 0 skipped ==========

silnarm

  • Local Moderator
  • Battle Machine
  • ********
  • Posts: 1,373
    • View Profile
Re: New configurator
« Reply #23 on: 19 May 2010, 02:48:47 »
Looks like you're still using the old project files, which don't include a configurator project, and since they are no longer maintained, still reference the now deleted checksum.cpp.

If you added 'build/' as I suggested, the new project files would be created in that directory, not in amongst source like the old ones were/are (will delete them tonight).

If CMake found wxWidgets, the configurator will get a project.
Glest Advanced Engine - Code Monkey

Downloads | Timeline | Tracker

Zaggy1024

  • Ornithopter
  • *****
  • Posts: 449
    • View Profile
Re: New configurator
« Reply #24 on: 19 May 2010, 03:40:05 »
Well, it didn't seem to have created the projects, so I tried configuring it again, and now it's giving this error:

Code: [Select]
Check for working CXX compiler using: Visual Studio 9 2008
Check for working CXX compiler using: Visual Studio 9 2008 -- broken
CMake Error at D:/Program Files/CMake 2.8/share/cmake-2.8/Modules/CMakeTestCXXCompiler.cmake:45 (MESSAGE):
  The C++ compiler "cl" is not able to compile a simple test program.

  It fails with the following output:

   Change Dir: G:/GAE Source/glestae/trunk/build/CMakeFiles/CMakeTmp

  

  Run Build Command:G:\PROGRA~1\MICROS~1.0\Common7\IDE\VCExpress.exe
  CMAKE_TRY_COMPILE.sln /build Debug /project cmTryCompileExec

  

  Microsoft (R) Visual C++ Express Edition Version 9.0.30729.1.

  Copyright (C) Microsoft Corp 2007.  All rights reserved.

  

  The selected file is not a valid solution file.

  The operation could not be completed.  Unspecified error

  

  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:8 (project)


Configuring incomplete, errors occurred!

It was actually giving another error at the top before, about CMake not being able to open one of its temp files. It said something about a parsing error. =|

Edit: I ran CMake again, and it came back with the aforementioned error.

Code: [Select]
CMake Error: Parse error in cache file G:/GAE Source/glestae/trunk/build/CMakeCache.txt. Offending entry: m
Check for working CXX compiler using: Visual Studio 9 2008
CMake Error: Unknown extension ".cxx" for file "G:/GAE Source/glestae/trunk/build/CMakeFiles/CMakeTmp/testCXXCompiler.cxx".  TRY_COMPILE only works for enabled languages.
Currently enabled languages are: C CXX RC
See PROJECT command for help enabling other languages.
Check for working CXX compiler using: Visual Studio 9 2008 -- broken
CMake Error at D:/Program Files/CMake 2.8/share/cmake-2.8/Modules/CMakeTestCXXCompiler.cmake:45 (MESSAGE):
  The C++ compiler "cl" is not able to compile a simple test program.

  It fails with the following output:

   

 

  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:8 (project)


Configuring incomplete, errors occurred!
« Last Edit: 19 May 2010, 03:46:19 by ZaggyDad »

 

anything