Zep Report post Posted July 6, 2005 (edited) After serching 18 pages of thread, I figured its a good idea contain all the info for Cal3D in a single post Decided to drop all the packs made so far, In favor of 1 pack that contains all the stuff you need to test the cal3d gear, And latest client. If you grab this, Then you dont need to get anything else. 17Mb of Gear, For you to extract over your existing EL directory Indervidual Packages and Other Stuff.... The defines for the cal3d gear. c/o Rouge and Roja. Cal 3d Bzip2 (WARNING: Contains the NEW maps, So copy over your old ones) A windows executable from Learner, also contains the cal3d.dll. http://www.other-life.com/downloads/elc-cal3d.zip Another windows executable from Learner - use this if the client complains about a missing vorbis.dll file: http://www.other-life.com/downloads/elc-P2-MMX.zip Mikemans executable. (With major debuging code) MikeMans Ready to go Client Wytters Charictor Creation interface files. (not cal3d related) http://wytter.tfm.ro/elc/newchar.zip For those who get an error about ./books and xmls Developers from here on down..... Cal3D has been added to the main cvs. So you could also just update you checkouts =) If you need a version without it, See the STABLE_ELC_20050706-BRANCH_PRE_CAL3D branch On Berlios Before you start your uber compile, To see the fluffys hop, Better nab Cal3d for your compiler from... Cal3D Sourceforge Downloads ****NOTES FOR WINDOWS*****, Drop the cal3d_wrapper from dev-c++, And do the following... ****BUILDING THE CAL3D.DLL***** 1)You need to change that line in platform.h like Learner did 2)You need to do something similar in cal3d_wrapper.h 3)I've made a "decls.h" file and included it in every .cpp file Anyway, here are all the sources(and the .dev) that I used to build it: http://mman.tfm.ro/CAL3D_LIB.zip One note, I needed to copy all the .h files into my Dev-Cpp/Include/Cal3D dir because that's where it looks to find them. If all goes well, you'll get cal3d.dll and libcal3d.a ****BUILDING THE CAL3D_WRAPPER_ELC.DLL***** I've uploaded the .cpp and .dev file, just build it and make sure it links to libcal3d.a you just created before. http://mman.tfm.ro/CALWRAP_LIB.zip If all goes well, you'll get cal3d_wrapper_elc.dll and libcal3d_wrapper_elc.a ****BUILDING THE CLIENT***** There are some changes that I made in cal.c and cal.h. Here they are: http://mman.tfm.ro/ELC_UPDATE.zip Then, build the project and make sure that is linked to cal3d.a and libcal3d_wrapper_elc.a you created in the previous steps. If all goes well, you'll get the executable. Put it in the Eternal lands dir, alongside with the 2 .dlls we made, and run it. Make sure you extracted the very first zip listed here in the correct location. Note: We use Cal3D 0.10.0 for the skeletal animations. http://prdownloads.sourceforge.net/cal3d/c...ar.bz2?download For those lazy Gentoo users here's an ebuild: http://wytter.tfm.ro/elc/eternal-lands-1.0.2.ebuild Bugs: Post rendering/animation bugs here: http://www.eternal-lands.com/forum/index.php?showtopic=16127 Post compiling problems here: http://www.eternal-lands.com/forum/index.php?showtopic=16180 Edited July 10, 2005 by Zep Share this post Link to post Share on other sites
Roja Report post Posted July 6, 2005 um..I'm not sure that that zip contains the latest models and .def files. If you see bugs in it then..that may be why. Share this post Link to post Share on other sites
Zep Report post Posted July 6, 2005 np, Wy said it may be a good idea to make the above post, And update it, As new files become public. Rogue is aparently doing an updated tar.bz2 also. Share this post Link to post Share on other sites
Wytter Report post Posted July 6, 2005 http://el.tfm.ro/update_1.0.2-test2.tar.bz2 Cal3D was committed to mainline CVS. So please tell me if you have any problems, and report all bugs you find in this thread: http://www.eternal-lands.com/forum/index.php?showtopic=16127 Share this post Link to post Share on other sites
LabRat Report post Posted July 7, 2005 Wow I am gonna look like a proper noob for this post.. flames welcome, just not here ok Here goes: How do I get that mess they call Cal3D 0.whatever.0.10.0 into the right directories in dev-c++ (I don't mean how do I extract, just what goes where and do I have to chant a mantra to get a cal3D DLL?) If anyone out there is using dev-c++ and has a working Cal3D setup, would they mind doing the following for me.. open a command prompt cd to your dev-cpp directory dir /s>c:\devcpp.txt close the command prompt email the devcpp.txt file to me gregoryfenton@gmail.com or PM me it via the forums if it will fit (probably not but you never know) If someone could do that, I would be in a much better place to figure out what to do with Cal3D, and maybe figure the rest out for myself. Share this post Link to post Share on other sites
duran Report post Posted July 7, 2005 heh, im having a hard time figuring out what exactly needs to be compiled. im guessing that the wrapper have to be compiled as a standalone dll or something but im getting linker errors left right and center. hopefully im able to figure it out Share this post Link to post Share on other sites
LabRat Report post Posted July 7, 2005 heh, im having a hard time figuring out what exactly needs to be compiled.im guessing that the wrapper have to be compiled as a standalone dll or something but im getting linker errors left right and center. hopefully im able to figure it out 177413[/snapback] Yeah that's what I said Share this post Link to post Share on other sites
duran Report post Posted July 7, 2005 (edited) gah, i got a floodcontrol error but at the same time it got posted, strange... Edited July 7, 2005 by duran Share this post Link to post Share on other sites
Wytter Report post Posted July 7, 2005 The cal3d_wrapper.cpp needs to be compiled with a C++ compiler, then added to the executable when linking. Share this post Link to post Share on other sites
duran Report post Posted July 7, 2005 (edited) hmm, ok. trying to get it to compile is a test in frustrations. should it be compiled as a dll or as a .a? edit: .a (static library) looks like it was the right idea. should have tryed that from the start... i guess i have to compile the cal3d stuff to, but into a dll this time. then copy the dll to the el folder... Edited July 7, 2005 by duran Share this post Link to post Share on other sites
Wytter Report post Posted July 7, 2005 Hmm, just a normal object really, on linux it's just compiled with g++, then linked as a normal object... Share this post Link to post Share on other sites
duran Report post Posted July 7, 2005 (edited) heh, problem is that with dev-cpp there isnt a clean way to just output a object file. that is unless i have missunderstood the interface somehow... ah, found it. basicly build the cal3d_wrapper stuff and then add the output object file into linker section under parameters of the project options for the el client. how stupid of me... Edited July 7, 2005 by duran Share this post Link to post Share on other sites
duran Report post Posted July 7, 2005 grr, the linker keeps trowing me errors like this one: [Linker error] undefined reference to `CalAnimation::getCoreAnimation()' related to lights.o. i dont get it, i have cal3d_wrapper compiled and all so wtf is wrong? Share this post Link to post Share on other sites
Zep Report post Posted July 7, 2005 grr, the linker keeps trowing me errors like this one: [Linker error] undefined reference to `CalAnimation::getCoreAnimation()' related to lights.o. i dont get it, i have cal3d_wrapper compiled and all so wtf is wrong? 177533[/snapback] Im having exactly the same issues, And hastleing Wy at a million miles an hour about it lol. Beats the crap outa me, How on earth this thing works in dev-c++ =) I thought it was a library error, So i went and compiled it on its native msvc, All good it compiled fine, Copyed over the libs, Tryed static including them, Tryed dyanamic, All with the same results. Added the wrapper.o to the linker manually, then it errors about multiple functions with the same name, So exported the object, And linked again, Same inital errors with not seeing the functions that are clearly in the wrapper. Grabed another pack of smokes, And worked on it all day today, Now its 2am lol. Share this post Link to post Share on other sites
Learner Report post Posted July 7, 2005 Im having exactly the same issues, And hastleing Wy at a million miles an hour about it lol.Beats the crap outa me, How on earth this thing works in dev-c++ =) I thought it was a library error, So i went and compiled it on its native msvc, All good it compiled fine, Copyed over the libs, Tryed static including them, Tryed dyanamic, All with the same results. Added the wrapper.o to the linker manually, then it errors about multiple functions with the same name, So exported the object, And linked again, Same inital errors with not seeing the functions that are clearly in the wrapper. Grabed another pack of smokes, And worked on it all day today, Now its 2am lol. 177547[/snapback] I don't think its been compiled with dev-cpp yet, and if you could email me the cal3d files you are linking in ... I'm having problems with linking and it looks like it can't find anything in the cal3d library. Share this post Link to post Share on other sites
Zep Report post Posted July 7, 2005 I don't think its been compiled with dev-cpp yet, and if you could email me the cal3d files you are linking in ... I'm having problems with linking and it looks like it can't find anything in the cal3d library. 177550[/snapback] yeah thats what i figured when useing the dev-c++ mscv importer, the debuger showed nothing in the files, Except a couple of defines. Not nearly enough for linking, Ill email you the statics and the dynamics, both msvc and dev-c++ compiles. Share this post Link to post Share on other sites
mikeman Report post Posted July 7, 2005 (edited) Ok guys, I haven't tried to build it with DEV-C yet, I will try it right now. Stay tuned... -EDIT: Great, I'm in worse position that any of you... Mine don't even compile. I did everything from the guides of how to compile with Dev-C and I get those: Compiler: Default compiler Executing  make... make.exe -f "Makefile.win" all gcc.exe -c widgets.c -o widgets.o -I"C:/Dev-Cpp/include"  -I"C:/Program Files/Microsoft Visual Studio/VC98/Include"  -DWINDOWS -Wall -DELC -DWINDOW_CHAT -DNOTEPAD -DSTORAGE  -fmessage-length=0 In file included from C:/Dev-Cpp/include/SDL_rwops.h:35,         from C:/Dev-Cpp/include/SDL.h:37,         from global.h:50,         from widgets.c:1: C:/Dev-Cpp/include/stdio.h:207: error: parse error before "__gnuc_va_list" C:/Dev-Cpp/include/stdio.h:208: error: parse error before "__gnuc_va_list" C:/Dev-Cpp/include/stdio.h:209: error: parse error before "__gnuc_va_list" C:/Dev-Cpp/include/stdio.h:210: error: parse error before "__gnuc_va_list" C:/Dev-Cpp/include/stdio.h:215: error: parse error before "__gnuc_va_list" ... WTF is that? -EDIT2: Nevermind, disregard that, I got it to compile. I'm looking into some linking errors now, I'll post when I got it to build ok. Edited July 7, 2005 by mikeman Share this post Link to post Share on other sites
mikeman Report post Posted July 7, 2005 Ok, I've managed to compile it properly, but with some issues: The "cal3d_wrapper.cpp" and "cal3d_wrapper.h" are part of Cal3D. As in, they come with the lib(when you download it, check the source, you will see them). They are a built-in wrapper for C, but it missed some functions I needed, so I edited them and rebuilt cal3d.dll and cal3d.lib. Then I included cal3d_wrapper.h into the EL program, linked with cal3d.lib and it run ok. That's as far as MSVC6 goes. Now, with Dev-C I tried to build cal3d.dll the same way, but the libcal3d.a I get is a tiny file(6KB, where cal3d.lib with MSVC6 is over 300KB) and it doesn't seem to export any symbols. I used cal3d.lib instead with the Dev-C project, and it linked ok, and the executable was fine. The problem is that I don't know how to compile Cal3D properly, I searched the internet and found some cases exactly like mine, but no answers other than "build a static lib", which is no solution because it's huge(2MB). Share this post Link to post Share on other sites
duran Report post Posted July 7, 2005 (edited) now why on earth do they not ship recompiled libs for windows? how hard can that be? everywhere else they do so. openal, sdl, xml... edit: tryed the bombshell move, as in the static lib, and got nowhere... basicly it adds a error about multiple declarations. Edited July 8, 2005 by duran Share this post Link to post Share on other sites
Entropy Report post Posted July 8, 2005 Managed to make it compile (but not link) under DevC++ To make it compile a single file as C++, go to Project, Files, click ont he file,a nd say: "compile as cpp". Then I copied the whole /cal3d in the includes directory. Then I had to manually edit c++config.h Had a lot of shit defiend in there that was causign the compiler to not find some undeclared functions. Just placed an #ifdef DONT_BOTHER_ME at the beginning, and an endif at the end. Or I could have just emptied the file. Share this post Link to post Share on other sites
m_bee Report post Posted July 8, 2005 Compiled ok for me under linux. I had cal3d already installed, so the only problem that I had when compiling was some weird errors about some classes' methods not being found (easy enough to figure that a version problem was causing it). I was using a very recent build (0.11.0_pre20050518, not for a specific reason...). Downgrading to .10 solved all the problems. Share this post Link to post Share on other sites
Entropy Report post Posted July 8, 2005 Ok, I managed to compile cal3d as a library with DevCpp (the .a is over 2mb so it should be file). Now I get various linker errors. Share this post Link to post Share on other sites
Entropy Report post Posted July 8, 2005 Ok, I had to link with libstdc++ Now have two undefined things, and a redefiend shit (string_old.c F:\Dev-Cpp\lib\libmoldname.a(string_old.o)(.text+0x0) multiple definition of `strcasecmp') Share this post Link to post Share on other sites
Learner Report post Posted July 8, 2005 I managed to compile cal3d as a dll in dev-cpp, then header file platform.h needs tuning to account for the dev-cpp compiler in its decisions. Since I don't have a full clean compile yet, I wont post any fixes. But at link time I'm currently fighting an error with gluProject, so maybe my glu is out of date compared to features being used. Share this post Link to post Share on other sites
Learner Report post Posted July 8, 2005 I managed to compile cal3d as a dll in dev-cpp, then header file platform.h needs tuning to account for the dev-cpp compiler in its decisions. Since I don't have a full clean compile yet, I wont post any fixes. But at link time I'm currently fighting an error with gluProject, so maybe my glu is out of date compared to features being used. 177744[/snapback] Just needed to add -lglu ... now to test Share this post Link to post Share on other sites