- Joined
- Jan 28, 2009
- Messages
- 1,320
- Reaction score
- 616
PristonTale+
is a MOD created mostly to speed up older PT versions.
Newest version: R5.1
R5: PristonTalePlus_r5.7z
Change log:
- ---------
- in game menu for language/encoding/transliteration settings
- keyboard/mouse hook changed to SetWindowsHookEx
- new libiconv.dll compiled with --enable-extra-encodings option
- miscellaneous fixes
*download R5 than replace game.dll with one from R5.1:
R5.1: game_dll_v5_1.7z
- added compatibility with ePT, bPT for translating skills descriptions
- fixed mouse click on menu
-----------
R4: PristonTalePlus_r4.7z
Change log:
- ---------
- translation project
- ability to take screen shoot
- minor fixes
-----------
R3: PristonTalePlus_r3.7z
Change log:
- ---------
- compatibility with bPT & ePT clients, possibly others too
- fixed client area size
-----------
R2: PristonTalePlus_r2.7z
Change log:
- ---------
- fixed blurred text
- another huge speed up by preventing some GDI functions from running (side effect: you can't take SS because GDI can't lock surface any more, I will add better and faster SS code in the future but for now press "Print Screen" and past it in (ctrl+v) graphical app like Paint if you really need SS)
- new option in game.ini "transliteration"
- description fixes, missingLetter renamed to missingGlyph
- minor code fixes and speed up
-----------
R1: PristonTalePlus_r1.7z
Change log:
- ---------
Requirements:
PT client with DirectDrawCreate ( not DirectDrawCreateEx ) in import table.
Installation:
- Unpack ( recommended
- Unpack font_gulim12_lat_kor_single.7z or font_gulim12_lat_kor_multi.7z to PT main folder
Your choice here depends on your graphic card, most people should unpack font_gulim12_lat_kor_single.7z, file with single bmp font texture ( 2048 x 2048 ), any newer GPU support "Maximum Texture Size" way bigger than that. Use "
Short cuts:
- <L ALT> + <ENTER> ( hold left alt and press enter ) switch between borderless fullscreen windowed and windowed mode, you can do it any time it does not affect game play or lag.
You can still ALT + TAB out of borderless fullscreen windowed without any problem.
It does not work when PT was started in real full screen mode.
- <L CTRL> + <END> ( hold left ctrl and press end ) save screen shoot in %PristonTale ROOT%\Capture folder, format YYYY-MM-DD-HH-MM-SS
e.g. 2013-08-11-15-00-17.bmp
- <L ALT> + <BACKSPACE> ( hold left alt and press backspace ) popup settings menu
Configuration:
game.ini in main PT folder let you configure additional options.
# PristonTale+
# config file
[font]
//// never change this value unless you know what you are doing ( 0.01 is a fix for missing pixels )
//// you can use it to scale font, e.g. 5.01 will make font bigger while -5.01 will make font smaller
# scale letter on X-axis
# (+) bigger
# (-) smaller
# default: 0.01
scaleX=0.01
//// same as above but for Y-axis
# scale letter on Y-axis
# (+) bigger
# (-) smaller
# default: 0.01
scaleY=0.01
//// increase or decrease space between letters, e.g. 3.5 will give you bigger gaps while -3.5 will give you smaller gaps between letters
# space between letters
# (+) more space between letters
# (-) less space between letters
# default: 0.0
spacingAmount=0.0
//// if character is missing in your font file it will be replaced by other character, other popular choice would be 63 ( ? ) question mark
# replace missing character with UNICODE character
# decimal value from 0 to 255
# default: 32 (Space)
missingLetter=32
///// make font more or less opaque, useful if you are planning to dim colors or blend it text
# alpha values from 0 to 255
# 0 is transparent and 255 is fully visible
# default: 255 (fully visible)
alpha=255
[lang]
//// if your client is not translated kPT then chose Korean code page to convert to UTF-16BE
//// to type your own language special characters chose corresponding code page
//// e.g. Polish use CP1250 ( it should be ISO-8859-2 but it's not )
//// of course you need to have those special characters in bmp font
//// table of language <-> code page is in 2nd post
# supported encodings:
#
# default: CP949 (Korean)
fromcode=CP949
//// available since R2
//// leave it alone, unless its messing your strings
# deal with characters that cannot be represented
# 0 = NONE
# 1 = IGNORE
# 2 = TRANSLIT
# default: 1 (IGNORE)
transliteration=1
//// available since R4
# set translation to OFF/ON or LOG
# 0 = OFF
# 1 = ON
# 2 = LOG
# default: 0 (OFF)
translation=0
//// available since R4
# amount of logged information
# 0 = LOG ALL
# 1 = don't log same address
# 2 = 1+ don't log address smaller than 0x00401000
# default: 2 (minimum logging)
logLVL=2
//// available since R4
# translation file name located in
# %PristonTale ROOT%\translation\
# default: NONE (no file)
languageFile=en-US
TODO:
Your ideas? What you would like to see in this MOD?
How to create custom font:
- Download and install
- Start program
- Options > Font settings [F]
---- Font graphics ----
Font: chose your font, e.g. kPT uses Gulim but you can use anything you like
Add font file: ignore
Charset: ( ) Unicode ( ) OEM [ ]
Chose Unicode if you are planning to mix languages, else chose OEM and select charset you are interested in
Size (px): size in pixels, e.g. default kPT font Gulim 12 is more or less ~equal to Arial 16 so you will have to experiment here
[ ] Mach char height: optional, e.g. size of 'a' will be equal to size of 'A'
[ ] Bold: check it if you are creating bold font
[ ] Italic: check it if you are creating italic font
[ ] Output invalid char glyph: you can uncheck it, we are checking for invalid letters and replacing them with game.ini option "missingLetter="
[ ] Do not include kerning pairs: you should check that. I removed kerning code from dll, text looks bad when kerning is applied. I'm not planning to add kerning again unless there will be good reason to do so
---- Rasterization ----
[ ] Render from TrueType outline: look bad on small fonts, optional but not recommended
[ ] TrueType hinting: same as above
[ ] Font smoothing: same as above
[ ] Super sampling: uncheck it, not implemented in PT
---- Effects ----
Outline thickness [ ]: set it to 0
- Options > Export options [T]
---- Layout ----
Padding [ ] [ ] [ ] [ ]: optional, recommended value = 0 for all
Spacing [ ] [ ]: set both to 1, never set it to less than 1, text will overlap if you do so.
[ ] Equalize the cell heights: optional
[ ] Force offsets to zero: check it, highly recommended ( but still depends on font ), it will make better spacing between letters
---- Texture -----
Width [ ]: use power of ^2 sizes, chose size that can contain whole font but not bigger than your GPU cap, e.g. whole Arial 16 can be placed on single 1024 x 1024 image, Gulim 12 ( all Latin and Korean characters ) on 2048 x 2048, if you can't have it on one image than chose 256 or less
Height [ ]: chose same value
Bit depth ( ): chose 32, 8 bit is not supported
[ ] Pack chars in multiple channels: don't check it, leave it unchecked
Chnl Value Invert
A: glyph [ ]
R: one [ ]
G: one [ ]
B: one [ ]
Presets: "White text with alpha", pre-set that change values above, alpha on white color, all invers should be uncheck
---- File format ----
Font descriptor ( ) Text ( ) XML ( ) Binary
Chose "Text" or "Binary", I recommend choosing "Text" format only because you can easily edit it and fix things that are not right.
Textures: chose "tga – Targa"
Compression: optional, "Run-length encoded" or "None"
- Options > Visualize [V] to see how many images your font is taking
- Once you are ready to save your font go to Options > Save bitmap font as [CTRL]+
In main PT folder you should have folder called "font" inside that font there is hierarchy:
- default
+ regular
+ italic
+ bold_italic
+ bold
Save your regular font in regular folder ( with name regular.fnt ), do same things for other fonts, check [ ] Bold, [ ] Italic or both in "Font settings" before you save other fonts.
kPT uses only regular and bold fonts but you can change that by using ollydbg,
find code for CreatFontA:
Set italic to TRUE ( PUSH 1 ), in above scenario after our modification bold italic font will be used because Weight is greater than 400. Manipulate data do get results you like.
If you are planning to edit your .tga file with photoshop or other apps that produce invalid/upside-down/left-side-right file than after you are done editing open .tga file with
is a MOD created mostly to speed up older PT versions.
Newest version: R5.1
R5: PristonTalePlus_r5.7z
Change log:
- ---------
- in game menu for language/encoding/transliteration settings
- keyboard/mouse hook changed to SetWindowsHookEx
- new libiconv.dll compiled with --enable-extra-encodings option
- miscellaneous fixes
*download R5 than replace game.dll with one from R5.1:
R5.1: game_dll_v5_1.7z
- added compatibility with ePT, bPT for translating skills descriptions
- fixed mouse click on menu
-----------
R4: PristonTalePlus_r4.7z
Change log:
- ---------
- translation project
- ability to take screen shoot
- minor fixes
-----------
R3: PristonTalePlus_r3.7z
Change log:
- ---------
- compatibility with bPT & ePT clients, possibly others too
- fixed client area size
-----------
R2: PristonTalePlus_r2.7z
Change log:
- ---------
- fixed blurred text
- another huge speed up by preventing some GDI functions from running (side effect: you can't take SS because GDI can't lock surface any more, I will add better and faster SS code in the future but for now press "Print Screen" and past it in (ctrl+v) graphical app like Paint if you really need SS)
- new option in game.ini "transliteration"
- description fixes, missingLetter renamed to missingGlyph
- minor code fixes and speed up
-----------
R1: PristonTalePlus_r1.7z
Change log:
- ---------
Requirements:
PT client with DirectDrawCreate ( not DirectDrawCreateEx ) in import table.
Installation:
- Unpack ( recommended
You must be registered to see links
) PristonTalePlus_r5.7z to PT main folder ( the one with game.exe duh! )- Unpack font_gulim12_lat_kor_single.7z or font_gulim12_lat_kor_multi.7z to PT main folder
Your choice here depends on your graphic card, most people should unpack font_gulim12_lat_kor_single.7z, file with single bmp font texture ( 2048 x 2048 ), any newer GPU support "Maximum Texture Size" way bigger than that. Use "
You must be registered to see links
" to check your limit. Single texture = less draw calls = better speed ( code that handle font on multiple textures will be rewritten in the future but one texture will always be faster ).Short cuts:
- <L ALT> + <ENTER> ( hold left alt and press enter ) switch between borderless fullscreen windowed and windowed mode, you can do it any time it does not affect game play or lag.
You can still ALT + TAB out of borderless fullscreen windowed without any problem.
It does not work when PT was started in real full screen mode.
- <L CTRL> + <END> ( hold left ctrl and press end ) save screen shoot in %PristonTale ROOT%\Capture folder, format YYYY-MM-DD-HH-MM-SS
e.g. 2013-08-11-15-00-17.bmp
- <L ALT> + <BACKSPACE> ( hold left alt and press backspace ) popup settings menu
Configuration:
game.ini in main PT folder let you configure additional options.
# PristonTale+
# config file
[font]
//// never change this value unless you know what you are doing ( 0.01 is a fix for missing pixels )
//// you can use it to scale font, e.g. 5.01 will make font bigger while -5.01 will make font smaller
# scale letter on X-axis
# (+) bigger
# (-) smaller
# default: 0.01
scaleX=0.01
//// same as above but for Y-axis
# scale letter on Y-axis
# (+) bigger
# (-) smaller
# default: 0.01
scaleY=0.01
//// increase or decrease space between letters, e.g. 3.5 will give you bigger gaps while -3.5 will give you smaller gaps between letters
# space between letters
# (+) more space between letters
# (-) less space between letters
# default: 0.0
spacingAmount=0.0
//// if character is missing in your font file it will be replaced by other character, other popular choice would be 63 ( ? ) question mark
# replace missing character with UNICODE character
# decimal value from 0 to 255
# default: 32 (Space)
missingLetter=32
///// make font more or less opaque, useful if you are planning to dim colors or blend it text
# alpha values from 0 to 255
# 0 is transparent and 255 is fully visible
# default: 255 (fully visible)
alpha=255
[lang]
//// if your client is not translated kPT then chose Korean code page to convert to UTF-16BE
//// to type your own language special characters chose corresponding code page
//// e.g. Polish use CP1250 ( it should be ISO-8859-2 but it's not )
//// of course you need to have those special characters in bmp font
//// table of language <-> code page is in 2nd post
# supported encodings:
#
You must be registered to see links
# default: CP949 (Korean)
fromcode=CP949
//// available since R2
//// leave it alone, unless its messing your strings
# deal with characters that cannot be represented
# 0 = NONE
# 1 = IGNORE
# 2 = TRANSLIT
# default: 1 (IGNORE)
transliteration=1
//// available since R4
# set translation to OFF/ON or LOG
# 0 = OFF
# 1 = ON
# 2 = LOG
# default: 0 (OFF)
translation=0
//// available since R4
# amount of logged information
# 0 = LOG ALL
# 1 = don't log same address
# 2 = 1+ don't log address smaller than 0x00401000
# default: 2 (minimum logging)
logLVL=2
//// available since R4
# translation file name located in
# %PristonTale ROOT%\translation\
# default: NONE (no file)
languageFile=en-US
TODO:
Your ideas? What you would like to see in this MOD?
How to create custom font:
- Download and install
You must be registered to see links
- Start program
- Options > Font settings [F]
---- Font graphics ----
Font: chose your font, e.g. kPT uses Gulim but you can use anything you like
Add font file: ignore
Charset: ( ) Unicode ( ) OEM [ ]
Chose Unicode if you are planning to mix languages, else chose OEM and select charset you are interested in
Size (px): size in pixels, e.g. default kPT font Gulim 12 is more or less ~equal to Arial 16 so you will have to experiment here
[ ] Mach char height: optional, e.g. size of 'a' will be equal to size of 'A'
[ ] Bold: check it if you are creating bold font
[ ] Italic: check it if you are creating italic font
[ ] Output invalid char glyph: you can uncheck it, we are checking for invalid letters and replacing them with game.ini option "missingLetter="
[ ] Do not include kerning pairs: you should check that. I removed kerning code from dll, text looks bad when kerning is applied. I'm not planning to add kerning again unless there will be good reason to do so
---- Rasterization ----
[ ] Render from TrueType outline: look bad on small fonts, optional but not recommended
[ ] TrueType hinting: same as above
[ ] Font smoothing: same as above
[ ] Super sampling: uncheck it, not implemented in PT
---- Effects ----
Outline thickness [ ]: set it to 0
- Options > Export options [T]
---- Layout ----
Padding [ ] [ ] [ ] [ ]: optional, recommended value = 0 for all
Spacing [ ] [ ]: set both to 1, never set it to less than 1, text will overlap if you do so.
[ ] Equalize the cell heights: optional
[ ] Force offsets to zero: check it, highly recommended ( but still depends on font ), it will make better spacing between letters
---- Texture -----
Width [ ]: use power of ^2 sizes, chose size that can contain whole font but not bigger than your GPU cap, e.g. whole Arial 16 can be placed on single 1024 x 1024 image, Gulim 12 ( all Latin and Korean characters ) on 2048 x 2048, if you can't have it on one image than chose 256 or less
Height [ ]: chose same value
Bit depth ( ): chose 32, 8 bit is not supported
[ ] Pack chars in multiple channels: don't check it, leave it unchecked
Chnl Value Invert
A: glyph [ ]
R: one [ ]
G: one [ ]
B: one [ ]
Presets: "White text with alpha", pre-set that change values above, alpha on white color, all invers should be uncheck
---- File format ----
Font descriptor ( ) Text ( ) XML ( ) Binary
Chose "Text" or "Binary", I recommend choosing "Text" format only because you can easily edit it and fix things that are not right.
Textures: chose "tga – Targa"
Compression: optional, "Run-length encoded" or "None"
- Options > Visualize [V] to see how many images your font is taking
- Once you are ready to save your font go to Options > Save bitmap font as [CTRL]+
In main PT folder you should have folder called "font" inside that font there is hierarchy:
- default
+ regular
+ italic
+ bold_italic
+ bold
Save your regular font in regular folder ( with name regular.fnt ), do same things for other fonts, check [ ] Bold, [ ] Italic or both in "Font settings" before you save other fonts.
kPT uses only regular and bold fonts but you can change that by using ollydbg,
find code for CreatFontA:
Code:
PUSH 005D46EC ; /FaceName = "±¼¸²Ã¼"
PUSH 0 ; |PitchAndFamily = DEFAULT_PITCH|FF_DONTCARE
PUSH 0 ; |Quality = DEFAULT_QUALITY
PUSH 0 ; |ClipPrecision = CLIP_DEFAULT_PRECIS
PUSH 0 ; |OutputPrecision = OUT_DEFAULT_PRECIS
PUSH 81 ; |CharSet = 129.
PUSH 0 ; |StrikeOut = FALSE
PUSH 0 ; |Underline = FALSE
PUSH 0 [B]; |Italic = FALSE[/B]
PUSH 3E8 [B]; |Weight = 1000.[/B]
PUSH 0 ; |Orientation = 0
PUSH 0 ; |Escapement = 0
PUSH 0 ; |Width = 0
PUSH 0C ; |Height = C (12.)
CALL DWORD PTR DS:[<&GDI32.CreateFontA>] ; \CreateFontA
Set italic to TRUE ( PUSH 1 ), in above scenario after our modification bold italic font will be used because Weight is greater than 400. Manipulate data do get results you like.
If you are planning to edit your .tga file with photoshop or other apps that produce invalid/upside-down/left-side-right file than after you are done editing open .tga file with
You must be registered to see links
and save it as 32 bit .tga: 24 bit colour + 8 bit alpha ( RLE is optional ).Attachments
You must be registered for see attachments list
Last edited: