Commit Graph

57 Commits

Author SHA1 Message Date
Unknown W. Brackets
eacebd4c41 Font: Draw nothing for chars before first glyph.
This matches the logic in sceFontGetCharImageRect(), and improves tests.
Previously, we were drawing the alt character in these cases.
2016-08-27 09:41:01 -07:00
Unknown W. Brackets
e8fb61cf43 Font: Fix clipping when x/y aren't 0.
The final X2/Y2 are relative to the glyph at x,y.
2016-01-23 16:01:25 -08:00
Unknown W. Brackets
b8a2a6647d Font: Turns out this happens a lot. 2016-01-23 15:59:47 -08:00
Unknown W. Brackets
621f86c7f1 Font: Blend after swizzling to 8 bit.
This is much closer, but the values still are slightly off.
2016-01-23 15:42:42 -08:00
Unknown W. Brackets
1860180c2e Font: Implement subpixel rendering. 2016-01-23 15:37:19 -08:00
Unknown W. Brackets
32573ce121 Fix a typo in font loading. 2015-02-01 01:20:28 -08:00
Henrik Rydgard
d6b51d4dfa Reduce some excessive logging 2014-06-09 19:40:05 +02:00
Unknown W. Brackets
d65af7353b Avoid some ChunkFile includes. 2014-03-15 11:32:57 -07:00
lioncash
b9886942a7 Fix some vertical alignments in misc Core source files. 2014-03-03 11:16:53 -05:00
Unknown W. Brackets
131cbc073c Implement sceFontGetShadowInfo(). 2014-03-01 00:18:19 -08:00
Unknown W. Brackets
29d2e81676 Cleanup errors in sceFontGet*ImageRect(). 2014-02-28 23:04:34 -08:00
Unknown W. Brackets
bc3e123b61 Oops, fix negative clip regions.
Since they're summed, need to clamp the left/top side.  And the
bottom/right side is offset by x/y.
2014-02-28 21:25:45 -08:00
Unknown W. Brackets
46370e2860 Implement sceFontGetShadowGlyphImage().
Not sure if any games actually use it, though...
2014-02-28 20:57:18 -08:00
Unknown W. Brackets
ab6b998710 Correct clipping in sceFontGetCharGlyphImage_Clip.
It was not clipping completely, and didn't handle negative clip w/h.
Also, reduce to debug log (seems to work fine now and has been working
fine in most games.)
2014-02-27 00:19:40 -08:00
Unknown W. Brackets
603c1dd614 Improve error codes in sceFontOpen*().
Fixes some unlikely cases of crashes as well.  I think there are leaks
here...
2014-02-22 20:35:58 -08:00
Ced2911
67de460ec6 [Xbox] Endian, missing on swap.h ? 2014-01-26 14:28:42 -08:00
Unknown W. Brackets
916768d938 Kill the "packagedFont" hack, correctly fixed now. 2013-12-10 23:19:25 -08:00
Unknown W. Brackets
952ec82678 Detect bad fonts ascenders and workaround.
Fixes #4765 with the fonts that come with PPSSPP.
2013-12-10 23:14:38 -08:00
Henrik Rydgard
a3caefed18 Buildfix (pgf 64-bit) 2013-11-17 12:55:35 +01:00
Unknown W. Brackets
0bd7d7ad19 Minor correctness: don't zero extend bpp bits. 2013-11-16 23:39:19 -08:00
Unknown W. Brackets
8f6315e375 Support replacement chars in sceFontGetCharInfo(). 2013-11-16 23:32:13 -08:00
Unknown W. Brackets
d955d9b303 Cut down on unnecessary allocs in font loading. 2013-11-16 22:53:05 -08:00
Unknown W. Brackets
769ffbd33b Read in the shadow flags and give them to the game.
Yay, now this struct seems to match the PSP.
2013-11-16 21:08:34 -08:00
Unknown W. Brackets
4505cb4b3a Match ascender/descender values per character.
This makes sense, and matches the ascender/descender for my fonts.

However, it could be wrong for vertical fonts... not sure.
2013-11-16 20:35:50 -08:00
Unknown W. Brackets
bb94f31ec7 Simplify GetGlyph() and getBits() usage a bit. 2013-11-16 20:16:49 -08:00
Unknown W. Brackets
d446659b2a Improve the performance of getBits().
Well, it's not used much, although it's much faster now, heh.
2013-11-16 19:34:45 -08:00
Unknown W. Brackets
e77b8bc5b5 Check for non-indexed glyph advance values.
This change from JPCSP:
http://code.google.com/p/jpcsp/source/detail?r=3350
2013-11-16 18:35:15 -08:00
Unknown W. Brackets
2d7741a433 Return # of glyphs, not charmaps, in font info.
This makes it match the value from the PSP, and seems logical (the charmap
value is hardly useful, and might lead me to overallocate space for the
glyph bitmaps...)
2013-11-16 18:33:10 -08:00
Unknown W. Brackets
68af1ea6f8 Flip the descender in char info.
This makes it close to the value from a PSP (just rounded to 64...)
2013-11-16 18:32:06 -08:00
raven02
98cbd90178 Regression font alignment fix 2013-11-02 20:31:39 +08:00
raven02
92042e6b55 Apply offset by 1px to our provided PSP fonts 2013-10-27 10:02:13 +08:00
adrian17
7e3f35dfe3 Removed redundant includes 2013-09-30 19:05:04 +02:00
Unknown W. Brackets
50e9e45d65 Check version in each DoState() func.
They bail on PointerWrap error or bad version.
2013-09-14 20:23:03 -07:00
Henrik Rydgard
8c88dff5a4 More log categories, use them (and existing ones). Improve log config. 2013-09-07 22:02:55 +02:00
Unknown W. Brackets
65d4601140 Fix compat issue between 64/32 bit savestates. 2013-08-13 21:05:40 -07:00
CPkmn
2a5b20a5a0 Update PGF.h 2013-08-13 05:59:10 -07:00
CPkmn
2428d3f5c5 Update PGF.cpp 2013-08-13 05:56:26 -07:00
CPkmn
4fccf6771f Update PGF.cpp 2013-08-10 05:21:23 -07:00
CPkmn
8547eecd31 Update PGF.cpp 2013-08-09 18:49:01 -07:00
CPkmn
c067c48585 Sanity checks for shadow glyphs
Partially fixes text, huds and videos in Jeanne d'Arc.
These changes shouldn't negatively impact other games since all it does is makes sure shadow glyphs are within the vector sizes.
The text, huds and videos still don't fully display, but that's because of something else.
2013-08-09 17:52:01 -07:00
Unknown W. Brackets
0b5bdeb1d3 Fix some compile failures under big endian. 2013-07-28 21:04:17 -07:00
Unknown W. Brackets
8da6259aff More carefully check defines for endianness. 2013-07-25 22:25:50 -07:00
Henrik Rydgard
1533b588e3 Argh, this really shouldn't be needed but is. 2013-07-26 01:18:40 +02:00
Henrik Rydgard
b3ea250122 typo 2013-07-26 00:57:29 +02:00
Henrik Rydgard
144a5849e2 Uhm, fix the second part of the BIG_ENDIAN #define error... 2013-07-26 00:54:39 +02:00
Henrik Rydgård
9fc57894ab Mac build fix (weird, BIG_ENDIAN really shouldn't be defined) 2013-07-25 19:21:43 +02:00
Unknown W. Brackets
5e87d6e45d Add _le typedefs to font handling stuff. 2013-07-25 08:04:36 -07:00
Unknown W. Brackets
a32cf817ff Fix some minor warnings. 2013-07-07 20:31:04 -07:00
Unknown W. Brackets
3c0ed69fd2 Improve GPU invalidation interface, check fonts.
When a font is rendered, tell the GPU about it, but don't rehash.

This not only improves perf (less hashing) but makes font changes more
immediate (no deferred hashing.)  But only if they use sceFont.
2013-05-05 22:52:01 -07:00
Unknown W. Brackets
95823a776b Don't pass quite so many args to DrawCharacter(). 2013-05-05 21:13:50 -07:00