Re: Changing PT 3D Interface
Hehe, well it's all my code as I've written it myself, so I don't mind sharing abit just to share some knowledge.
Why would you work on PT's sound engine though? It's all direct calls to the DirectSound interface for sounds in PT and it only allows standard WAV files to be played.
Re: Changing PT 3D Interface
as I said, I am no pro in C++, I read you named "DXGraphicEngine" then I just thought, I could name it DXSoundEngine too in my DLL :lol:
I would work on PT sound system because WAV are crappy, too large and ridiculous quality of sound indeed. I already succeed changing some routines to load a different type of sound file, but there's a lot more to do :):
Re: Changing PT 3D Interface
Getting rid of GDI was what I wanted to do, and I believe it's why Vormav sees FPS increase when turning off the HUD.
I actually did a client where I replaced all the BMP references to TGA ones, which helped a bit, and that simple bit of info explains why.
My idea was to replace it with GDI+ rather than Direct3D primitives though. :D: Either way should be good, but I think GDI+ manages to keep font smoothing while still being faster.
I considered using the old "bitmap font texture" (which still lurks in PT, but isn't really used) but that alone would remove all colour text... working routines to colourize the font before each rendering seemed counter productive.
Re: Changing PT 3D Interface
Quote:
Originally Posted by
bobsobol
[...]Vormav sees FPS increase when turning off the HUD[...]
I would change that sentence to "Vormav sees HUGE increase when turning off the HUD", on win7 its nearly 2x more, with 100 mobs its close to 3x.
:)
This article might help speed up PT:
http://realmike.org/blog/articles/fa...or-directdraw/
Re: Changing PT 3D Interface
god, is it so hard to find a guide teaching how to use bitmap fonts properly and simply? lol
Re: Changing PT 3D Interface
Font rendering is a pretty core technology. It can be optimised in many ways, to achieve different results.
One major problem with the example Vormav suggests is the limited character set, and lack of ability to support heavily ligatured scripts like Arabic or Hindi. (Just as examples)
True Type fonts have been specially optimised for such scripts, but Post-Script and OpenType can achieve it too, and renders slightly nicer at high resolution (designed for print resolutions, 200 - 2400 DPI not the usual 96 DPI of a screen) with more computation to achieve that end result. It wouldn't be useful for rendering in a Word Processor or general GUI dialogue, because they don't have a DirectX surface to blit to, only a device context. If every window had a surface associated with it's DC, you would run out of handles in your GPU very quickly. This is why DWM converts the entire display into a single GPU accelerated surface, and simulates GDI APIs onto that surface, and internal structures.The thing is, we know we do have an accelerated surface to blit on to, and that DirectX is already associated with it... so GDI is already probably a bad design choice. Then you add the compositioning of DWM in Vista or Win7 and you are rendering one surface to another and simulating GDI APIs in-between, and you can see that we are now definitely using a design which is bad in almost every respect.
One of the nicest (aesthetic) rendering systems I know of is the one used by AGG which allows for quarter-pixel positioning of any glyph, or point within it's structure. It isn't targeted at any bitmap or surface type, so you could write it to map to DCs or DirectX surfaces or anything else. (SDL or X or such) You can't do that with a bitmap font, even if you implement alpha level transparency for anti-aliasing. You would have to cache 16 versions of each character! But when rendering TrueType fonts (either with Windows APIs or the FreeType library) the author still recommends you cache the vectors, and possibly the spacing information for faster rendering. :wink:
It's a complex subject... and you want a simple guide? :lol: Surely there is a simple guide to writing a 32-bit GUI based Multi-tasking, multi-processor OS... No? Hmm... :wink:
Re: Changing PT 3D Interface
Well bobsobol I'm a bit sad that I don't hear any news on your translation DLL :(
We could help you build bitmaps data from all official servers
BR, KR, JP, EN (missing something?) and text database.
So on start we would get 4 official languages in "language select menu" :)
+ your DLL is best place to change "fonts".
For Arabic or Thai fonts we can use this:
Microsoft Typography - Visual OpenType Layout Tool (VOLT)
But I don't think this would be important at stage we are now.