Application - Xethik

Join the team. This area is for people who want to participate in OpenMW's development in one way or another.
Xethik
Posts: 22
Joined: 17 Sep 2013, 22:35

Application - Xethik

Post by Xethik »

Hey there guys, I'm Xethik and I'm looking to contribute to this project.
I've been learning C++ for a couple years now, and I'm at the point where I'm pretty darn proficient. I'm actually graduating with a degree in Game Design from RIT soon (a degree that is mostly CS based, not narrative or anything), so I hope my education in engine building can be of help.

As of right now, I'm actually taking a course in open source development, part of which requires me to work on a side project throughout the semester. One of the issues with this, though, is that I'm on a bit of a time commitment and will likely be hoping to tackle smaller issues for now. For example, my professor is looking to have me tackle a bug by next Monday, so I'm a bit constricted on picking up a) a bug and b) a small one at that.

I am new to OGRE and have minimal experience with the Construction Kit, but I hope that I'll be able to help. I actually have a Python meetup to catch, but after that, I'll definitely register on the issue tracker and finish the developer check-list.

Right now, I'm looking at Bug #907 (https://bugs.openmw.org/issues/907) and I should be able to wrap that up tomorrow night if I get the environment working. I've found some relevant portions in the code where the fix can be applied, I'll just have to make sure that it actually works and is efficient.

I hope that even with my weird schedule I'll be able to assist in some bugslaying, at the very least, and I look forward to working with you guys.

Xethik
User avatar
Zini
Posts: 5538
Joined: 06 Aug 2011, 15:16

Re: Application - Xethik

Post by Zini »

Task assigned to you. Welcome!
Xethik
Posts: 22
Joined: 17 Sep 2013, 22:35

Re: Application - Xethik

Post by Xethik »

Thanks. Assuming I get past these Visual Studios issues, I should have this done tomorrow evening. Oh, perhaps I should have mentioned that I am using Windows. Not sure if that is preferable or not, seems like you guys are a little low on Windows developers, though.
User avatar
psi29a
Posts: 5360
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: Application - Xethik

Post by psi29a »

Xethik wrote:Thanks. Assuming I get past these Visual Studios issues, I should have this done tomorrow evening. Oh, perhaps I should have mentioned that I am using Windows. Not sure if that is preferable or not, seems like you guys are a little low on Windows developers, though.
The more the merrier, considering that the majority of users still runs windows.

Welcome aboard.
User avatar
sirherrbatka
Posts: 2159
Joined: 07 Aug 2011, 17:21

Re: Application - Xethik

Post by sirherrbatka »

Welcome! Good luck!
User avatar
Ace (SWE)
Posts: 887
Joined: 15 Aug 2011, 14:56

Re: Application - Xethik

Post by Ace (SWE) »

Xethik wrote:Thanks. Assuming I get past these Visual Studios issues, I should have this done tomorrow evening. Oh, perhaps I should have mentioned that I am using Windows. Not sure if that is preferable or not, seems like you guys are a little low on Windows developers, though.
Feel free to ask any questions to me, I should hope that I can help since I'm the windows maintainer. If you don't want to wait for a forum response then feel free to PM, mail me, or look me up on IRC (Ananace there).
Xethik
Posts: 22
Joined: 17 Sep 2013, 22:35

Re: Application - Xethik

Post by Xethik »

So, of course, Visual Studios is giving me quite the headache. I'm making some kind of error with Freetype and MyGUI, leaving me unable to build (but I can cmake) MyGUI, and thus not being able to get OpenMW up and running.
I've tried it on two systems, so I'm probably making a mistake with the Freetype download.

I've got the bug posted on this forum over here. If anyone has a clue on how to fix this, you can just post it here or message me on IRC, I'm Xethik on that, too.

EDIT: I managed to get my MyGUI set-up, it was a Cmake error. Never checked MYGUI_STATIC.

Working on getting the environment still. Seems like I have several 32/64 bit conflicts. Hopefully I'll get this setup to decide to use one and stick with it.
Xethik
Posts: 22
Joined: 17 Sep 2013, 22:35

Re: Application - Xethik

Post by Xethik »

Going to double post because editing a post with a link requires admin approval, and I don't wanna put the admin through that.

So, here is where I am now. MyGUI compiled and produced its libs in both debug and release. Wooh.
Then, I moved onto openmw. At first, it had a bunch of linker errors with MyGUI still, so I killed the cmake and started over. Fast forward several hours of replacing x86 libs/dlls with their 64 bit variants, and I'm here. Build started well, no errors about wrong module machine target or missing libs. Then, I was hit with 770ish unresolved external symbols. I immediately went back, did everything in 32 bit (rebuilding Bullet, MyGUI, etc.) but I received the same errors.

A lot of these were things like MyGUIEngine_d.dll, components.lib, shiny.lib... Stuff like that. All stuff that had, alone, compiled fine. OpenMW (the project in the solution) had some issues with it, though. Not sure exactly where to go from here. I'll post a file link to the error output when I'm done with this latest rebuild, but this was just in openmw. Esmtool and mwiniimport were giving similar, omwlauncher is having issues with the Qt lib being 32 bit, and opencs is having issues with operators regarding adding strings to boost::filesystem::path, so perhaps my boost libraries are all screwed up?

EDIT: Great progress (hopefully!)
I was able to solve the boost related issues by compiling the boost libraries myself from the source (following this guide: http://dominoc925.blogspot.com/2013/04/ ... ndows.html) Previously, I had only done this for libs that complained about x86 vs x64. So there's that.
The OpenAL was fixed by manually changing the OpenAL link from the Win32 folder to the Win64. Now, I'm just left with these.

Code: Select all

2>bookpage.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: int __cdecl MyGUI::ICroppedRectangle::_getMarginBottom(void)const " (__imp_?_getMarginBottom@ICroppedRectangle@MyGUI@@QEBAHXZ) referenced in function "public: __cdecl MWGui::`anonymous namespace'::RenderXform::RenderXform(class MyGUI::ICroppedRectangle *,struct MyGUI::RenderTargetInfo const &)" (??0RenderXform@?A0x8381815b@MWGui@@QEAA@PEAVICroppedRectangle@MyGUI@@AEBURenderTargetInfo@4@@Z)
2>bookpage.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) public: int __cdecl MyGUI::ICroppedRectangle::_getMarginRight(void)const " (__imp_?_getMarginRight@ICroppedRectangle@MyGUI@@QEBAHXZ) referenced in function "public: __cdecl MWGui::`anonymous namespace'::RenderXform::RenderXform(class MyGUI::ICroppedRectangle *,struct MyGUI::RenderTargetInfo const &)" (??0RenderXform@?A0x8381815b@MWGui@@QEAA@PEAVICroppedRectangle@MyGUI@@AEBURenderTargetInfo@4@@Z)
2>MyGUIEngineStatic_d.lib(MyGUI_ResourceTrueTypeFont.obj) : error LNK2019: unresolved external symbol FT_Select_Size referenced in function "private: struct FT_FaceRec_ * __cdecl MyGUI::ResourceTrueTypeFont::loadFace(struct FT_LibraryRec_ * const &,unsigned char * &)" (?loadFace@ResourceTrueTypeFont@MyGUI@@AEAAPEAUFT_FaceRec_@@AEBQEAUFT_LibraryRec_@@AEAPEAE@Z)
2>MyGUIEngineStatic_d.lib(MyGUI_ResourceTrueTypeFont.obj) : error LNK2019: unresolved external symbol FT_Done_Face referenced in function "private: struct FT_FaceRec_ * __cdecl MyGUI::ResourceTrueTypeFont::loadFace(struct FT_LibraryRec_ * const &,unsigned char * &)" (?loadFace@ResourceTrueTypeFont@MyGUI@@AEAAPEAUFT_FaceRec_@@AEBQEAUFT_LibraryRec_@@AEAPEAE@Z)
2>MyGUIEngineStatic_d.lib(MyGUI_ResourceTrueTypeFont.obj) : error LNK2019: unresolved external symbol FT_Get_WinFNT_Header referenced in function "private: struct FT_FaceRec_ * __cdecl MyGUI::ResourceTrueTypeFont::loadFace(struct FT_LibraryRec_ * const &,unsigned char * &)" (?loadFace@ResourceTrueTypeFont@MyGUI@@AEAAPEAUFT_FaceRec_@@AEBQEAUFT_LibraryRec_@@AEAPEAE@Z)
2>MyGUIEngineStatic_d.lib(MyGUI_ResourceTrueTypeFont.obj) : error LNK2019: unresolved external symbol FT_Set_Char_Size referenced in function "private: struct FT_FaceRec_ * __cdecl MyGUI::ResourceTrueTypeFont::loadFace(struct FT_LibraryRec_ * const &,unsigned char * &)" (?loadFace@ResourceTrueTypeFont@MyGUI@@AEAAPEAUFT_FaceRec_@@AEBQEAUFT_LibraryRec_@@AEAPEAE@Z)
2>MyGUIEngineStatic_d.lib(MyGUI_ResourceTrueTypeFont.obj) : error LNK2019: unresolved external symbol FT_New_Memory_Face referenced in function "private: struct FT_FaceRec_ * __cdecl MyGUI::ResourceTrueTypeFont::loadFace(struct FT_LibraryRec_ * const &,unsigned char * &)" (?loadFace@ResourceTrueTypeFont@MyGUI@@AEAAPEAUFT_FaceRec_@@AEBQEAUFT_LibraryRec_@@AEAPEAE@Z)
2>MyGUIEngineStatic_d.lib(MyGUI_ResourceTrueTypeFont.obj) : error LNK2019: unresolved external symbol FT_Load_Glyph referenced in function "private: int __cdecl MyGUI::ResourceTrueTypeFont::createFaceGlyph(unsigned int,unsigned int,int,struct FT_FaceRec_ * const &,class std::map<long,class std::map<unsigned int,struct MyGUI::GlyphInfo *,struct std::less<unsigned int>,class std::allocator<struct std::pair<unsigned int const ,struct MyGUI::GlyphInfo *> > >,struct std::less<long>,class std::allocator<struct std::pair<long const ,class std::map<unsigned int,struct MyGUI::GlyphInfo *,struct std::less<unsigned int>,class std::allocator<struct std::pair<unsigned int const ,struct MyGUI::GlyphInfo *> > > > > > &)" (?createFaceGlyph@ResourceTrueTypeFont@MyGUI@@AEAAHIIHAEBQEAUFT_FaceRec_@@AEAV?$map@JV?$map@IPEAUGlyphInfo@MyGUI@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPEAUGlyphInfo@MyGUI@@@std@@@4@@std@@U?$less@J@2@V?$allocator@U?$pair@$$CBJV?$map@IPEAUGlyphInfo@MyGUI@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPEAUGlyphInfo@MyGUI@@@std@@@4@@std@@@std@@@2@@std@@@Z)
2>MyGUIEngineStatic_d.lib(MyGUI_ResourceTrueTypeFont.obj) : error LNK2019: unresolved external symbol FT_Done_FreeType referenced in function "private: void __cdecl MyGUI::ResourceTrueTypeFont::initialiseFreeType<0,0>(void)" (??$initialiseFreeType@$0A@$0A@@ResourceTrueTypeFont@MyGUI@@AEAAXXZ)
2>MyGUIEngineStatic_d.lib(MyGUI_ResourceTrueTypeFont.obj) : error LNK2019: unresolved external symbol FT_Get_Char_Index referenced in function "private: void __cdecl MyGUI::ResourceTrueTypeFont::initialiseFreeType<0,0>(void)" (??$initialiseFreeType@$0A@$0A@@ResourceTrueTypeFont@MyGUI@@AEAAXXZ)
2>MyGUIEngineStatic_d.lib(MyGUI_ResourceTrueTypeFont.obj) : error LNK2019: unresolved external symbol FT_Get_Sfnt_Table referenced in function "private: void __cdecl MyGUI::ResourceTrueTypeFont::initialiseFreeType<0,0>(void)" (??$initialiseFreeType@$0A@$0A@@ResourceTrueTypeFont@MyGUI@@AEAAXXZ)
2>MyGUIEngineStatic_d.lib(MyGUI_ResourceTrueTypeFont.obj) : error LNK2019: unresolved external symbol FT_Init_FreeType referenced in function "private: void __cdecl MyGUI::ResourceTrueTypeFont::initialiseFreeType<0,0>(void)" (??$initialiseFreeType@$0A@$0A@@ResourceTrueTypeFont@MyGUI@@AEAAXXZ)
2>MyGUIEngineStatic_d.lib(MyGUI_ResourceTrueTypeFont.obj) : error LNK2019: unresolved external symbol FT_Bitmap_Done referenced in function "private: void __cdecl MyGUI::ResourceTrueTypeFont::renderGlyphs<0,0>(class std::map<long,class std::map<unsigned int,struct MyGUI::GlyphInfo *,struct std::less<unsigned int>,class std::allocator<struct std::pair<unsigned int const ,struct MyGUI::GlyphInfo *> >>,struct std::less<long>,class std::allocator<struct std::pair<long const ,class std::map<unsigned int,struct MyGUI::GlyphInfo *,struct std::less<unsigned int>,class std::allocator<struct std::pair<unsigned int const ,struct MyGUI::GlyphInfo *> > > > > > const &,struct FT_LibraryRec_ * const &,struct FT_FaceRec_ * const &,unsigned char *,int,int)" (??$renderGlyphs@$0A@$0A@@ResourceTrueTypeFont@MyGUI@@AEAAXAEBV?$map@JV?$map@IPEAUGlyphInfo@MyGUI@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPEAUGlyphInfo@MyGUI@@@std@@@4@@std@@U?$less@J@2@V?$allocator@U?$pair@$$CBJV?$map@IPEAUGlyphInfo@MyGUI@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPEAUGlyphInfo@MyGUI@@@std@@@4@@std@@@std@@@2@@std@@AEBQEAUFT_LibraryRec_@@AEBQEAUFT_FaceRec_@@PEAEHH@Z)
2>MyGUIEngineStatic_d.lib(MyGUI_ResourceTrueTypeFont.obj) : error LNK2019: unresolved external symbol FT_Bitmap_Convert referenced in function "private: void __cdecl MyGUI::ResourceTrueTypeFont::renderGlyphs<0,0>(class std::map<long,class std::map<unsigned int,struct MyGUI::GlyphInfo *,struct std::less<unsigned int>,class std::allocator<struct std::pair<unsigned int const ,struct MyGUI::GlyphInfo *> > >,struct std::less<long>,class std::allocator<struct std::pair<long const ,class std::map<unsigned int,struct MyGUI::GlyphInfo *,struct std::less<unsigned int>,class std::allocator<struct std::pair<unsigned int const ,struct MyGUI::GlyphInfo *> > > > > > const &,struct FT_LibraryRec_ * const &,struct FT_FaceRec_ * const &,unsigned char *,int,int)" (??$renderGlyphs@$0A@$0A@@ResourceTrueTypeFont@MyGUI@@AEAAXAEBV?$map@JV?$map@IPEAUGlyphInfo@MyGUI@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPEAUGlyphInfo@MyGUI@@@std@@@4@@std@@U?$less@J@2@V?$allocator@U?$pair@$$CBJV?$map@IPEAUGlyphInfo@MyGUI@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPEAUGlyphInfo@MyGUI@@@std@@@4@@std@@@std@@@2@@std@@AEBQEAUFT_LibraryRec_@@AEBQEAUFT_FaceRec_@@PEAEHH@Z)
2>MyGUIEngineStatic_d.lib(MyGUI_ResourceTrueTypeFont.obj) : error LNK2019: unresolved external symbol FT_Bitmap_New referenced in function "private: void __cdecl MyGUI::ResourceTrueTypeFont::renderGlyphs<0,0>(class std::map<long,class std::map<unsigned int,struct MyGUI::GlyphInfo *,struct std::less<unsigned int>,class std::allocator<struct std::pair<unsigned int const ,struct MyGUI::GlyphInfo *> > >,struct std::less<long>,class std::allocator<struct std::pair<long const ,class std::map<unsigned int,struct MyGUI::GlyphInfo *,struct std::less<unsigned int>,class std::allocator<struct std::pair<unsigned int const ,struct MyGUI::GlyphInfo *> > > > > > const &,struct FT_LibraryRec_ * const &,struct FT_FaceRec_ * const &,unsigned char *,int,int)" (??$renderGlyphs@$0A@$0A@@ResourceTrueTypeFont@MyGUI@@AEAAXAEBV?$map@JV?$map@IPEAUGlyphInfo@MyGUI@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPEAUGlyphInfo@MyGUI@@@std@@@4@@std@@U?$less@J@2@V?$allocator@U?$pair@$$CBJV?$map@IPEAUGlyphInfo@MyGUI@@U?$less@I@std@@V?$allocator@U?$pair@$$CBIPEAUGlyphInfo@MyGUI@@@std@@@4@@std@@@std@@@2@@std@@AEBQEAUFT_LibraryRec_@@AEBQEAUFT_FaceRec_@@PEAEHH@Z)
2>D:\Users\Xethik\Documents\HFOSS\openmwbuild\Debug\openmw.exe : fatal error LNK1120: 15 unresolved externals
MyGUI was compiled to 64 bit, so I'm not entirely sure what this could be.
Hopefully, if anyone else runs into this problem, they may find this thread and solve the issue themselves.
Attachments
OpenMWBuildErrors.txt
This is just from openmw build, not a full solution build.
MyGUI successfully builds, as does components and shiny, but the linker still has issues.
(236 KiB) Downloaded 213 times
User avatar
Greendogo
Posts: 1467
Joined: 26 Aug 2011, 02:04

Re: Application - Xethik

Post by Greendogo »

Sorry to butt in, just wanted to relay that we don't generally care about multi-posting, we care more about productivity. Good luck!
Xethik
Posts: 22
Joined: 17 Sep 2013, 22:35

Re: Application - Xethik

Post by Xethik »

Glad to hear that.

Okay, update. I managed to get everything working by manually compiling freetype libs into 64-bit. I had to hit <new> and select x64 for the build type, in case anyone is trying to figure it out.

ANYWAY, I can't get too far from an issue, here.
I'm running into an error when launching the game now. When running the debug or release exes, I get an error "vector iterator + offset out of range" in vector (in Visual Studio/VC/include/vector) during the method call eraseStatic. This occurs when loading Morrowind.esm, and the logs don't mention anything special. I made a work around fix for this on my personal copy, but this just led to another error and another error and another... Basically, I wasn't getting anywhere. So, has anyone had ANY experience like this when running on a Windows machine? It seems quite bizarre.

Oh, and I was able to test Morrowind.esm by downloading the openmw 0.26 installer, installing, and launching the game with that exe. Worked fine. I could even copy this exe into the directory where I was trying to use the other exes, and it would work. So I'm really not sure what the issue could even be. I made 0 modifications of the code from when I got it from Git and when I compiled it.
Post Reply