Page 4 of 13

Posted: Mon Apr 09, 2007 1:04 pm
by CuteAlien
Hm, i think those are new in irrlicht1.3. The problem is that they are pure virtual for now. I'm not sure if they are needed for the truetypefonts so you might try just adding those functions in CGUITTFont.h. Just do nothing in the set functions and return 0 in the get functions.

Posted: Mon Apr 09, 2007 3:39 pm
by psyberion
Thanks, I gave that a go and it compiled/linked ok, but on running I get the command window and then an alert:

The procedure entry point _ZN3irr12createDeviceENS_5video13E_DRIVER_TYPEERKNS_4core11dimension2dIiEEjbbbPNS_14IEventReceiverEPKc could not be located in the dynamic link library Irrlicht.dll

I don't know if this is anything to do with the freetype library I built, but all the Irrlicht examples have compiled and executed just fine.

Posted: Tue Aug 07, 2007 8:46 pm
by kendric
If anyone is still reading this... I tried to add this to my project. I am seeing the following 2 things

If i build my own release build of the lib, I get a lot of these linker errors(I am using vstudios.net 7.1)

MSVCRT.lib(MSVCR71.dll) : error LNK2005: _strncpy already defined in LIBCD.lib(strncpy.obj)
MSVCRT.lib(MSVCR71.dll) : error LNK2005: _malloc already defined in LIBCD.lib(dbgheap.obj)
MSVCRT.lib(MSVCR71.dll) : error LNK2005: _realloc already defined in LIBCD.lib(dbgheap.obj)

If i use the lib from the root directory of the zip it compiles but i get a ton of warnings that look like this:

LINK : warning LNK4098: defaultlib 'LIBC' conflicts with use of other libs; use /NODEFAULTLIB:library
freetype219ST.lib(autohint.obj) : warning LNK4099: PDB 'vc60.pdb' was not found with 'C:\Program Files\irrlicht\irrtruetype\freetype219ST.lib' or at 'd:\dev2\c\Zombies\Debug\vc60.pdb'; linking object as if no debug info
freetype219ST.lib(bdf.obj) : warning LNK4099: PDB 'vc60.pdb' was not found with 'C:\Program Files\irrlicht\irrtruetype\freetype219ST.lib' or at 'd:\dev2\c\Zombies\Debug\vc60.pdb'; linking object as if no debug info


I haven't done a lib without a dll before. I just added the lib to my directories list, and I assume i put the lib in the program folder at runtime. However these linker errors.. im not sure what to do with.
Whats the proper way to use this with visual studios?

Posted: Tue Aug 07, 2007 9:12 pm
by kendric
This was evidently caused by me using a multithreaded build of this instead of single threaded...
Gota love c++ ;)

Posted: Tue Aug 07, 2007 9:33 pm
by hybrid
This is not a C++ issue, but part of the M$ DLL hell.

Posted: Wed Aug 08, 2007 2:39 pm
by kendric
Do you know if this is dead? His website has a link to a zip with just the font class, but not all the other stuff. The link he provides is to an older version then some people are talking about(2.2.1? I find no link to that). Using 2.1.9(the one he provides)I get huge memory dumps when I quit if I dont do a drop on the font. If i do a drop it craps out on irrallocator.h which appears to be trying to destruct the glyph array inside his font class. Another odd thing is the destructor of the font does a drop on the driver, and since it didn't create the driver I thought it shouldn't be doing that.

I'm looking for a good font solution other then making tons of my own bitmaps.

Posted: Wed Aug 08, 2007 3:58 pm
by CuteAlien
I have put an updated version of that code on my website (http://www.michaelzeilfelder.de/irrlicht.htm). It does also fix the memory leaks.

I think it still has the problem mentioned a few post above with the missing virtual functions (I still found not time to care about that). Just implement them as empty functions.

Posted: Wed Aug 08, 2007 4:01 pm
by kendric
Thats hilarious. I have my own FontManager class and I bet its very similar. Ill try your code and see if my problems go away.

Your class is almost the exact same as mine too :) GET OUT OF MY MIND!!!

Posted: Wed Aug 08, 2007 4:12 pm
by kendric
By the way, if either you have a second, take a look at a question of mine here:
http://irrlicht.sourceforge.net/phpBB2/ ... 840#126840
It hasn't gotten any nibbles yet ;)

Posted: Wed Aug 08, 2007 4:25 pm
by kendric
Awsome this works great. Thanks a ton!

Posted: Sat Sep 29, 2007 2:14 pm
by a-fung
Halo,

May I know is there anyway to make this work in C#?

Posted: Mon Oct 01, 2007 1:02 pm
by lester
Yes, Irrlicht .NET CP has TTFont feature. Look at this topic for details http://irrlichtnetcp.sourceforge.net/ph ... .php?t=582

license?

Posted: Sun Dec 30, 2007 5:50 am
by dearingj
Is this code available under a specific software license? I'd like to use it in future projects which may be open source.

Posted: Sun Dec 30, 2007 5:19 pm
by CuteAlien
Freetype has it's own license which is very similar to BSD. So you can use it like you want, but you must mention them somewhere in your documentation or credits.

Can't tell about the code from zgock here, I just hope he meant it to be free. My modifications for it are as free as possible - so wtfpl would fit. (http://sam.zoy.org/wtfpl/)

Posted: Fri Jan 25, 2008 2:43 am
by malahaas
Hi, I started trying to use this patch a couple days ago. I have it incorporated in my game (as in it compiles and I can call the draw function). However, when I set the font ("skin->setFont(font)") it seems to set up correctly then when it reaches the drawAll() for the IGUIEnvironment it briefly prints the below 2 lines and terminates.

Code: Select all

	      5 [main] BladeKing 4468 _cygtls::handle_exceptions: Exception: STATUS_ACCESS_VIOLATION
	    403 [main] BladeKing 4468 open_stackdumpfile: Dumping stack trace to BladeKing.exe.stackdump
"BladeKing.exe.stackdump" contains:

Code: Select all

Exception: STATUS_ACCESS_VIOLATION at eip=004170F8
eax=00000000 ebx=0022C6F8 ecx=00000000 edx=103684B8 esi=0022C6F8 edi=00EA6F48
ebp=0022C4F0 esp=0022C4C8 program=C:\dev\eclipse\BladeKing\Debug\BladeKing.exe, pid 5840, thread main
cs=001B ds=0023 es=0023 fs=003B gs=0000 ss=0023
Stack trace:
Frame     Function  Args
0022C4F0  004170F8  (107F0200, 0022C6F8, 00000000, 0022C55C)
0022C510  100BB776  (00EAAD20, 0022C6F8, 770E1B41, 770E1AFF)
0022C540  100F84FF  (053999B0, 0022C6F8, 0022C6C0, 100D9A12)
0022C550  102C6DB3  (05399AB8, 0022C6F8, 00000001, 00000000)
0022C6C0  100D9A12  (05399DC8, 0022C6F8, 00000000, 00F2EA74)
0022C720  1009A07B  (01209948, 0022C8E8, 00000000, 00000000)
0022C750  100BEADE  (00EAAD20, 0022C8E8, 6B688141, 770E1BB8)
0022C770  1010F2DC  (00EA6F48, 0022C8E8, 00000000, 00000000)
0022C920  10112ED0  (000A0744, 00000202, 00000000, 00830097)
0022C94C  770E1A10  (10112B40, 000A0744, 00000202, 00000000)
0022C9C4  770E1AE8  (00000000, 10112B40, 000A0744, 00000202)
0022C9F4  770E2D6E  (FFFF0667, 000A0744, 00000202, 00000000)
0022CA14  770E2D14  (FFFF0667, 000A0744, 00000202, 00000000)
0022CA50  6B68834F  (000A0744, 00000202, 00000000, 00830097)
0022CA7C  770E1A10  (6B688141, 000A0744, 00000202, 00000000)
0022CAF4  770E1AE8  (00000000, 6B688141, 000A0744, 00000202)
End of stack trace (more stack frames may be present)
any thoughts on what I should do? I've tried googling the error and havent found much.

Also, I am not able to use the driver->draw2dImage() method for my font (or at all I think)...I switched to env->addImage() and it works fine, but I was curious why the previous one (the one used by the original CGUITTFONT code) doesnt work for me. Thoughts?

Thanks in advance for any help you can provide.