Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

PristonTale+

Custom Title Activated
Loyal Member
Joined
May 26, 2007
Messages
5,545
Reaction score
1,315
Blur != Smooth.

Actually, you're better typing text way too big, and using the various "downsample" techniques in your art package to resize (actually, down-sample) the text. This also gives an idea of some of the options available in anti-aliasing. Linear, Bi-Linear, Tri-Linear, Cubic, Spline, Bell, Lanczos etc. Edge-Directed resize is usually better for text, and cartoon style images, but amazingly, they don't often come up in the standard tools provided by packages like Photoshop.

Anti-Aliasing is actually pretty complex stuff, and Apple and Microsoft have some advanced and protected IP in achieving good results with it on text glyphs. (ATI and nVidia have some patented AA tech for rendering 3D graphics without "jaggies" too) Some they share the IP on ("Clear Type" hinting) and some which are unique to each. Adobe have some unique IP techniques too! Microsofts ClearType smoothing is very crisp at low resolutions, but is accused of being too sharp, and causing deformation at medium size characters. Apples is highly accurate at all sizes, but often accused of being a little "fuzzy". When you switch directly from Windows to a Mac OS machine next to it, it certainly feels like text has very soft edges. Then again, if you take the same web page viewed on a Mac and switch to the Windows monitor, that sharpness feels like it's cutting into your eyes and the deformation to characters is clear, and often unpleasant.

Of Course, Linux, and many of the Open Source font renderers used on either Mac or Windows cannot use any proprietary IP technologies, so you get something of a middle ground. Not as crisp as Doze, not as soft as Max but little or no deformation from "hinting", which leads to accurate, if less defined glyph shapes. (ie. it makes you want that super-high resolution OLED display even more... which is why most Android devices have massive DPI screens ^_^)

The minimum pixel dimensions for readable unaccented Latin text with a pure 2 colour bitmap font is 7 x 4. (we used to have to make those for word processors and such on 8-bit computers) But in printing terms, anything below 9 point at 150dpi is considered unreadable. So on a 96dpi Windows display, (Windows default) that's about 24 pixels high for any vector based font.

Since icon text is typically only 9 or 10 pixels high at most, bitmap fonts are embedded in TrueType fonts, and often kick in and disable Anti-Aliasing at low point sizes, ("smooth type" Anti-Aliasing) or ClearType hinting technologies are used to make the fuzz clear enough to read. ^_^

It's not just about anti-alias or do not anti-alias, it's about how much of which type of anti-aliasing suits your typeface, and your own eye. Different Linux distributions cannot agree on the right type or amount of smoothing, so even without IP I doubt Apple, Microsoft and Adobe could either. There is no hope for agreement between us on this forum. Just accept it's a personal preference. Maybe give players a choice to fit their preference too?
 
Custom Title Activated
Loyal Member
Joined
Jan 28, 2009
Messages
1,320
Reaction score
616
Yes bob, Blur != Smooth. I don't know where you got idea that blur == smooth :>

Sometimes AA fonts look good and sometimes they don't. When I look at SunnyZ'z 2 pictures I see letters like 'e' that when AA + subpixel render look like it's collapsing on itself and its hard to read but at same I see letter 'V' that is less jaggy.
BMP fonts are still faster and best way to save some FPS, not only for PT :D
 
Junior Spellweaver
Joined
May 30, 2009
Messages
190
Reaction score
61
has no way to make a new system screenshot in c + +? was watching on google and have quite a lot about it
But unfortunately I do not understand this language
 
Custom Title Activated
Loyal Member
Joined
May 26, 2007
Messages
5,545
Reaction score
1,315
how to use it??? Must injection DLL into game ??? :)....
Sorry Z, missed this post. It will inject it's self if it's placed in your game folder.

@bocadecao: Many ways, most of them pretty easy, still PrtScr works out of the box.
 
Junior Spellweaver
Joined
May 30, 2009
Messages
190
Reaction score
61
I understand, but if you think, for example in a "BC", the person will not be taking print screen, leaving the game etc.
the best I think is the same screenshot
primarily to restore etc.
 
Custom Title Activated
Loyal Member
Joined
May 26, 2007
Messages
5,545
Reaction score
1,315
That's easy too. Just don't use this modification.

The original screen capture saves the GDI rendering to a file (and is often used in speed hack cheats because of how slow it is) but this achieves increased frame-rate by avoiding GDI rendering entirely. The two are not compatible at all.

However, Fraps, DXtory and Taksi (FOSS, ) will all still work. (unless I'm mistaken) Try using similar techniques to those, or try some of these:-
 
Junior Spellweaver
Joined
May 30, 2009
Messages
190
Reaction score
61
Hmm
But one thing I do not quite understand
Leaving the screenshot active from that time that it was taken back to the SS drop fps?
 
Custom Title Activated
Loyal Member
Joined
May 26, 2007
Messages
5,545
Reaction score
1,315
Hmm
But one thing I do not quite understand
Leaving the screenshot active from that time that it was taken back to the SS drop fps?
I don't believe that this disables screenshots. I believe that the screenshot functionality can find "no screen to shoot" once this is in place.

Here's what normally happens. PT renders some DirectX stuffs in 3D on a DirectX buffer, then it tries to draw GDI text on it, and Windows goes "Woa there! There's no GDI window here to draw on!" So to work around this "bug" in PT, Windows allocates an actual GDI DC to associate with the DC handle DirectX is attached to, and copies, bit by bit, every pixel in the DirectX buffer, down onto a GDI window (Device Context) before drawing GDI fonts one pixel at a time onto that. (each pixel taking modern graphics cards as long as it would normally take to render an entire scene in Hi-Def) Then PT tries to render some more DirectX stuff on the screen and Windows goes "WTF!? I thought you wanted GDI!?" and Blits everything in main RAM on the GDI DC back into GFX RAM before rendering some hardware accelerated overlays. (usually the HUD and stuff) Then PT decides it needs to use GDI to write the chat window and tool tips and Windows say "Dude! FFS! Will you make your mind up!" and transfers the accelerated DirectX buffer back into main system RAM for GDI to do it's pixel by pixel rendering of more text onto it. Then PT decides it's time to render the 3D portrait of your target onto that GDI DC with DirectX... at this point both Windows and your PCI-E bus are ready to commit suicide but, recognising that they are only slaves to your every whim they dutifully blit the DC back into GFX RAM and render the portrait. "Okay" says PT, "Now I should really render the name of this target in GDI....
Vormav - PristonTale+ - RaGEZONE Forums

With this patch in place, everything remains in GFX RAM, and runs on DirectX.

Now, here's what normally happens when you try to take a screenshot in PT. The screenshot routine reads through the DC image converting it into either a BMP (which it almost is already) or a JPG.

Okay... but we shifted all rendering to DirectX right? So what's in the DC? Err.... probably nothing? So what's the screenshot routine going to do?... well, it may make a file full of black, or full of 0 pixels or... Nothing? Something like that, I would expect. Why? What do you get? ^_^
 
Custom Title Activated
Loyal Member
Joined
Jan 28, 2009
Messages
1,320
Reaction score
616
Oh Geez! I will add SS than and hope it will not drop FPS like PT does. But PT is "special" so you never know ;)
Still I think apps bob mentioned are better, simply because they can also record video.

As young people says those days:
"Brace yourself" update is coming:

- translation project
- screen shoot
 
Junior Spellweaver
Joined
May 30, 2009
Messages
190
Reaction score
61
woow , it would be very useful to me
and for everyone who uses your mod :D

a question:
how can I use it with game pack
I know I've talked about it in this topic but do not know much about assembly and do not even know where to start ...

already tried adding the dsound.dll by olly did not work. :S
 
Custom Title Activated
Loyal Member
Joined
Jan 28, 2009
Messages
1,320
Reaction score
616
a question:
how can I use it with game pack
I know I've talked about it in this topic but do not know much about assembly and do not even know where to start ...

already tried adding the dsound.dll by olly did not work. :S

Method used to inject this code to packed game.exe is OS specific (proxy dll) I don't recommend it. Don't pack your client is the answer. However I also mentioned I can send those proxy dlls to anyone that PM me. Blessed those who can read until the end :)


Anyways... UPDATE ...v4

- some minor fixes here and there

- Screen Shoot <L CTRL> + <END> will save .bmp file in %PT ROOT%\Capture folder, format: YYYY-MM-DD-HH-MM-SS
e.g. 2013-08-11-15-00-17.bmp

- translation project (read more in #2 post), you can translate almost anything including parts of inventory


EXAMPLE:

pic (1)
"*" got translated to "×"
Korean: Login, Register, Exit buttons got translated to English Buttons

pic (2)
.sin file got translated

pic (3)
skill name, description and attributes got translated

pic (4)
skill master menu got translated

pic (5)
weapon attributes got transalted

Vormav - PristonTale+ - RaGEZONE Forums









EXAMPLE FILE FOR kPT VERSION 1.98.9:

http://forum.ragezone.com/attachment.php?attachmentid=135750&d=1376238874

USE IT ONLY WITH THIS VERSION!!
 

Attachments

You must be registered for see attachments list
Junior Spellweaver
Joined
May 30, 2009
Messages
190
Reaction score
61
Ohh very nice :D
Does it have any way to make the text appear screenshot?

Example:
EmpirePT - SubServer - Nick
Server time: 2013-08-11-15-00-17

@ other thing, would not do something like this in game.ini?

[screenshot]
save=\Capture\

in order to change the location where saved
 
Last edited:
Custom Title Activated
Loyal Member
Joined
May 26, 2007
Messages
5,545
Reaction score
1,315
The location is easily changed in the code, if not as part of the translation.

But overlaying extra text is both unwanted and non-trivial... unless you add that text to the screen before taking the shot, but adding it afterward in a paint package would be better.
 
Junior Spellweaver
Joined
May 30, 2009
Messages
190
Reaction score
61
The location is easily changed in the code, if not as part of the translation.

But overlaying extra text is both unwanted and non-trivial... unless you add that text to the screen before taking the shot, but adding it afterward in a paint package would be better.

So I changed the code but is giving "exe" to take SS
 
Custom Title Activated
Loyal Member
Joined
May 26, 2007
Messages
5,545
Reaction score
1,315
is giving "exe"
Is no help at all. That's a users way of saying "it crashed". This is a forum for developers. Where is the debug log? What did you find in the code?
 
Junior Spellweaver
Joined
May 30, 2009
Messages
190
Reaction score
61
Is no help at all. That's a users way of saying "it crashed". This is a forum for developers. Where is the debug log? What did you find in the code?

has no log
what I did was open the game with the added dll, I searched for "\ Capture"
To find the reference (PUSH OFFSET) I switched to a new push this offset with the ASCII "\ save \ Screenshot \"
 
Custom Title Activated
Loyal Member
Joined
Jan 28, 2009
Messages
1,320
Reaction score
616
Your string is in new section or you squeezed it somewhere?
At what part olly crash? ASM code would help here.
Is it normal that your folders have spaces in names "\(space)save(space)\(space)Screenshot(space)\"?
 
Junior Spellweaver
Joined
May 30, 2009
Messages
190
Reaction score
61
Ok

Before:
5970CE33 68 04277159 PUSH a.59712704 ; ASCII "\Capture\"

After:
5970CE33 68 A4287159 PUSH a.597128A4 ; ASCII "\save\ScreenShots\"

597128A4
597128A4 5C 73 61 76 65 5C 53 63 72 65 65 6E 53 68 6F 74 \save\ScreenShot
597128B4 73 5C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 s\..............

@ I tried opening the game by olly and worked regular
Now saving and opening the DLL without olly does not work ...
 
Custom Title Activated
Loyal Member
Joined
Jan 28, 2009
Messages
1,320
Reaction score
616
Edit it with hex editor. I have feeling you are doing something wrong.

- add new section with CFF Explorer and hex your string "\save\ScreenShots\"
- hex edit string that pushing old address

change:
68 04 27 01 10 8D 84 24 80 00 00 00 68 04 01 00

to
68 00 C0 01 10 8D 84 24 80 00 00 00 68 04 01 00

1001C000 is my new address to new string in new section.
68 is opcode for push and after that you have address in little endian for your string.
Your "save" folder need to exist! ScreenShots don't have to.
 
Back
Top