Commit Graph

9836 Commits

Author SHA1 Message Date
Lasse Öörni
1741073835 Merge remote-tracking branch 'iainmerrick/fontfix' 2017-06-09 22:14:05 +03:00
Iain Merrick
457976366b Fix rounding error that can lead to clipped glyphs (closes #1978)
The key thing is to to trust the metrics in slot->bitmap, which
are always correctly rounded up to integral values, rather than
also looking at the fixed-point values in slot->metrics and
rounding them manually.

Previously, CanLoadAllGlyphs was pre-flighting the texture atlas
allocation without rendering the glyphs. However, slot->bitmap
isn't populated until the glyph is rendered. I've therefore
removed CanLoadAllGlyphs entirely, and tweaked the preflight
process so that it calls LoadCharGlyph directly.

This should be slightly faster, as we don't have to load the
glyphs twice. It also reduces the total code size a bit, and
guarantees that the "preflight" is always consistent.

The new preflight behavior is *slightly* different, in that it
will expand the first texture atlas up to its maximum size (but
won't move on to a second atlas). Previously, if CanLoadAllGlyphs
failed, we would render only as far as char code 255 (probably
leaving some of the initial texture atlas free).
2017-06-09 13:46:04 -05:00
Iain Merrick
39930c9ab4 Fix bug in FontFaceFreeType::CanLoadAllGlyphs that can make text vanish
Closes #1976

FontFaceFreeType checks at runtime whether the whole font can be loaded
into a single texture, by preflighting all the necessary texture atlas
placements in CanLoadAllGlyphs.

However, this preflight operation was slightly different from the real
texture atlas generation, so sometimes CanLoadAllGlyphs was incorrectly
returning true. The LoadCharGlyph would then switch to a new texture
atlas (via SetupNextTexture). This would usually make Text elements
vanish, as the rendered glyphs were in the wrong texture.

We fix this bug with two changes:
- Make CanLoadAllGlyphs process the same char codes in the same order
- Make CanLoadAllGlyphs skip zero-size glyphs (as LoadCharGlyph does)

We also log an error if SetupNextTexture is called unexpectedly, to
help catch future occurrences.
2017-06-08 11:25:50 -05:00
Lasse Öörni
14bb9f98be Remember custom depth stencil surface if defined during renderpath, and use it also for any debug rendering. Closes #1975. 2017-06-08 18:22:17 +03:00
Lasse Öörni
63f3c10054 Add contributor. 2017-06-07 18:32:05 +03:00
Lasse Öörni
fb6492a948 Reposition the window also in borderless mode if it's sized as large as the monitor bounds. 2017-06-07 18:30:51 +03:00
Pengfei Li
d9d98cd35b restore the commits in Sample.inl 2017-06-07 18:30:49 +03:00
Pengfei Li
353fc4d7b3 Consider the initial position for the borderless window 2017-06-07 18:30:47 +03:00
Yao Wei Tjong 姚伟忠
3a6f3e5543 Avoid hard-coding of shell script / batch file names.
Fix #1974.
2017-06-06 22:42:43 +08:00
Lasse Öörni
12a26358dd Merge pull request #1972 from henu/static_vertexbuffer_updateoffsets
Static VertexBuffer::UpdateOffsets()
2017-06-06 10:52:58 +03:00
Henrik Heino
6ff0a0b53a Static VertexBuffer::UpdateOffsets() 2017-06-06 01:02:51 +03:00
Yao Wei Tjong 姚伟忠
460a3a38c0 Update migration note. 2017-06-05 23:08:12 +08:00
Yao Wei Tjong 姚伟忠
a6301ac772 Documentation update for the tvOS build process. 2017-06-05 23:04:09 +08:00
Yao Wei Tjong 姚伟忠
c7a0149dc9 Another sweep for tvOS conditional code branch. 2017-06-05 23:04:09 +08:00
Yao Wei Tjong 姚伟忠
75b8420a31 Initial work for porting Urho3D to AppleTV platform. 2017-06-05 23:04:09 +08:00
Lasse Öörni
392155397b Add / remove the vehicle Action when RaycastVehicle component is enabled or disabled. Closes #1954. Minor code reformatting in 46_RaycastVehicleDemo.as. 2017-06-03 23:22:29 +03:00
urho3d-travis-ci
5c7ee10f5f Travis CI: API documentation update at 2017-06-02 23:52:55 UTC.
[ci package]

Commit: d2ac2067c6

Message: Merge pull request #1966 from eugeneko/master

Re-factored PhysicsWorld2D::ContactInfo. Removed NodeEndContact2D::P_…
2017-06-02 23:52:55 +00:00
Eugene Kozlov
d2ac2067c6 Merge pull request #1966 from eugeneko/master
Re-factored PhysicsWorld2D::ContactInfo. Removed NodeEndContact2D::P_…
2017-06-03 01:46:38 +03:00
Lasse Öörni
3f99b1e630 Minor code formatting. 2017-06-03 01:31:26 +03:00
Lasse Öörni
b5e664d4c3 Merge remote-tracking branch 'ricab/master' 2017-06-03 00:39:04 +03:00
Lasse Öörni
3b799b7712 Avoid duplication of code for the float-to-raw-unsigned-bits conversion. 2017-06-03 00:28:04 +03:00
Eugene Kozlov
792c4900a8 Remove P_CONTACT parameter from 2D physics events. Rename P_CONTACTPOINTS to P_CONTACTS. 2017-06-02 22:48:04 +03:00
Yao Wei Tjong 姚伟忠
7ec6f94e06 Disable DCE for main module permanently. 2017-06-02 23:58:38 +08:00
Lasse Öörni
e4fe4f04bb Add contributor. Prefer union-based float to raw bits conversion. 2017-06-02 18:42:34 +03:00
Eugene Kozlov
9b1fc0715f Re-factored PhysicsWorld2D::ContactInfo. Removed NodeEndContact2D::P_CONTACT and PhysicsEndContact2D::P_CONTACT event parameters. Fixed #1958. Fixed #1965. 2017-06-01 21:59:45 +03:00
CG-SS
07e2c6fcca Update Vector3.h 2017-05-29 17:53:49 -03:00
CG-SS
75db281fcc Hash code calculation for Vector3
Added ToHash() for Vector3, using FloatToRawIntBits from MathDefs.h
2017-05-29 17:36:56 -03:00
CG-SS
98a8097de6 Update MathDefs.h 2017-05-29 17:23:39 -03:00
CG-SS
59e0939c75 Adding FloatToRawIntBits
The FloatToRawIntBits function is used to calculate float hashes.
2017-05-29 17:22:56 -03:00
Ricardo Abreu
5fbbec8b7a Fix RigidBody2D failure to apply transforms that would return it to original position and rotation; fixes #1960 2017-05-28 00:45:00 +01:00
Yao Wei Tjong 姚伟忠
84c8be164b For CI - fix generic ARM CI build.
[skip appveyor] [ci only: ARM, OSX]
2017-05-25 00:03:47 +08:00
Lasse Öörni
07dfd7b720 Fix copypaste error in SpriteSheet2D load code. Closes #1951. 2017-05-24 00:01:58 +03:00
Lasse Öörni
ba9444ee72 Code convention edits. 2017-05-21 21:46:01 +03:00
Sergey Lapin
2fd97bd798 Fixed memleak by running Init multiple times (ApplyAttributes/Editor thing) 2017-05-21 21:46:01 +03:00
Sergey Lapin
d6ed2104a1 Remove vehicle from Bullet action list
...on component removal
Closes #1949
2017-05-21 21:46:01 +03:00
Yao Wei Tjong 姚伟忠
e30de5eb5b Temporarily disable the DCE on main module to make it runnable. 2017-05-21 20:21:27 +08:00
Yao Wei Tjong 姚伟忠
3d39061627 Simplify the build option for sharing pak-loader script and data. 2017-05-21 20:21:27 +08:00
Yao Wei Tjong 姚伟忠
c935c7dc3f Glue main module and side module(s) together in final output. 2017-05-21 20:21:27 +08:00
Lasse Öörni
364521c1ee Do not transform root bone with model's root node in AssetImporter, only with nodes in between (if any). Possible fix to #1944. 2017-05-20 15:39:23 +03:00
Yao Wei Tjong 姚伟忠
df475cc7ce Drop RapidJSON documentation. 2017-05-20 08:31:08 +08:00
Yao Wei Tjong 姚伟忠
0f640eb4d2 Update Doxygen configuration file.
[ci only: master] [skip appveyor]
2017-05-19 23:40:39 +08:00
Yao Wei Tjong
46342d1b17 For CI - fix Android CI packaging build.
[ci package] [skip appveyor] [ci only: Android]
2017-05-19 21:04:15 +08:00
urho3d-travis-ci
110ac2fe84 Travis CI: API documentation update at 2017-05-18 15:07:05 UTC.
[ci package]

Commit: 363f68d36e

Message: When the search path is required, search it as rooted and not-rooted.
2017-05-18 15:07:05 +00:00
Yao Wei Tjong 姚伟忠
363f68d36e When the search path is required, search it as rooted and not-rooted. 2017-05-18 22:40:17 +08:00
Yao Wei Tjong 姚伟忠
b9947eee3a For CI - Upgrade CMake (3.8.1) and compiler toolchain to support C++11. 2017-05-18 22:40:17 +08:00
Eugene Kozlov
ef304f6bca Fix Node::GetSignedWorldScale. Related to #1926. 2017-05-17 23:38:27 +03:00
Eugene Kozlov
c93d95854d Add helper getters for Matrix3, Matrix3x4, Matrix4. Minor style and typo fixes. 2017-05-17 23:38:23 +03:00
Eugene Kozlov
268c4523cb Merge pull request #1939 from eugeneko/master
Add support of arbitrary data in Sound, Animation and Texture resources.
2017-05-17 21:14:37 +03:00
Lasse Öörni
77170d68ad Avoid calling strlen unnecessarily within AngelScript's ParseToken. May have effect on #1946. 2017-05-17 10:52:55 +03:00
Eugene Kozlov
34adb450f0 Remove trailing spaces. 2017-05-17 00:46:05 +03:00