All Versions
56
Latest Version
Avg Release Cycle
31 days
Latest Release
758 days ago
Changelog History
Page 2
Changelog History
Page 2
-
v0.5.7 Changes
January 15, 2021โ Added
- Key repeat events can now be enabled, via
ContextBuilder::key_repeat
orwindow::set_key_repeat_enabled
. (@sumibi-yakitori in #220
๐ Changed
- ๐ Reading and writing the volume or speed of a
SoundInstance
is now lock-free, reducing the chances of blocking the audio thread.- This also applies to
audio::get_master_volume
andaudio::set_master_volume
.
- This also applies to
Rectangle
is now generic, allowing types other thanf32
to be used for the components.- The type parameter defaults to
f32
, so this should not be a breaking change.
- The type parameter defaults to
- 0๏ธโฃ
Rectangle
now implementsEq
,Default
andHash
, if the component type also implements the corresponding trait. - ๐ The docs for creating a high-DPI
Context
have been improved. - โก๏ธ Updated
glow
to 0.7.
๐ Fixed
- โก๏ธ
SoundInstance
no longer missed updates if you drop it before they're processed by the audio thread.
- Key repeat events can now be enabled, via
-
v0.5.6 Changes
December 20, 2020โ Added
graphics::get_front_face_winding
andgraphics::set_front_face_winding
have been added, allowing the winding order of geometry to be changed.- This is useful if you are working with a library that only outputs clockwise-ordered data (e.g. ImGUI).
- ๐พ
ContextBuilder::screen_saver_enabled
,window::set_screen_saver_enabled
andwindow::is_screen_saver_enabled
have been added, allowing you to control whether the user's screensaver can activate while playing your game. (@sumibi-yakitori in #216)
๐ Changed
- Backface culling has been re-enabled, as the winding order of geometry can now be overridden.
- The game loop now calls
std::thread::sleep
instead ofstd::thread::yield_now
at the end of each iteration.- This provides some basic frame-limiting when running without vsync, and prevents CPU usage skyrocketing on some systems.
-
v0.5.5 Changes
December 03, 2020โ Added
- ๐
Mesh
now supportsDrawParams::color
.- This is implemented via a new shader uniform called
u_diffuse
. If you are using custom shaders, you will need to add this parameter in order forMesh
tinting to work.
- This is implemented via a new shader uniform called
- ๐
-
v0.5.4 Changes
November 27, 2020โ Added
- โ Added initial support for custom 2D meshes.
- โ Added experimental support for high-DPI rendering, on platforms that support it. (@sumibi-yakitori in #212)
๐ Changed
- 0๏ธโฃ Backface culling has been disabled by default, to better support integration with other libraries that output clockwise vertex data (e.g. imGUI).
- This will be brought back as an opt-in setting soon.
- ๐ Lots of cross-links between docs pages have been added, using intra-doc links.
-
v0.5.3 Changes
November 21, 2020๐ Fixed
- ๐ Fixed an issue where vector fonts would not create new cached glyphs for certain subpixel positionings.
-
v0.5.2 Changes
November 01, 2020โ Added
- You can now use
u32
,Color
andTexture
values as shader uniforms. From<Color>
is now implemented forVec4<f32>
.From<Vec4<f32>>
is now implemented forColor
.
๐ Changed
TetraError
'sDisplay
implementation no longer duplicates the source error'sDisplay
text.- The
State
trait now has an optional type parameter for the error type. This allows you to use your own custom error types, or third-party error handling crates likeanyhow
,thiserror
andeyre
.
- You can now use
-
v0.5.1 Changes
October 13, 2020โ Added
- Color now implements
Add
,AddAssign
,Sub
,SubAssign
,Mul
,MulAssign
,Div
andDivAssign.
- For convenience's sake, these are currently implemented as saturating operations, preventing values from going outside the valid range for a color.
- In future versions, this clamping behaviour might be applied to the type as a whole, but this would require breaking changes.
Texture
andCanvas
now have methods for writing pixel data at runtime:set_data
writes to a specified region of the texture.replace_data
is a shortcut method for replacing the entire texture's data at once.
๐ Changed
- โก๏ธ Updated
hashbrown
to 0.8. - โก๏ธ Updated
glow
to 0.6.
- Color now implements
-
v0.5.0 Changes
September 02, 2020โ Added
SoundInstance::state
andSoundInstance::set_state
have been added, which allow you to check the current state of playback and modify it respectively. (@puppetmaster- in #205)- These methods use a new enum called
SoundState
, which represents the possible states that aSoundInstance
can be in.
- These methods use a new enum called
- ๐ฅ Breaking: The position of the mouse relative to the previous motion event can now be obtained via the
delta
field onEvent::MouseMoved
. (@GGalizzi in #206)- As existing code may have been exhastively pattern matching on
Event::MouseMoved
's data, this is technically a breaking change.
- As existing code may have been exhastively pattern matching on
- The window can now be set to
relative_mouse_mode
, which allows the mouse to move outside of the bounds of the window while still reporting motion events. (@GGalizzi in #206) - Various feature flags have been added, allowing you to shrink your dependency tree by removing unused functionality.
๐ Changed
- ๐ฅ Breaking: ICO, TIFF, PNM, DDS/DXT and TGA texture loading is now off by default.
- Feature flags can be used to re-enable them.
- ๐ฅ Breaking:
graphics::set_texture
is now private.- There was no meaningful way to use this function without access to other private functions, so it has been hidden to avoid confusion.
- โก๏ธ Updated
bytemuck
to 1.4. - ๐ฅ Breaking: Updated
vek
to 0.12.- As Vek is exposed via Tetra's API in the form of the
tetra::math
module, this is potentially a breaking change.
- As Vek is exposed via Tetra's API in the form of the
-
v0.4.2 Changes
August 14, 2020โ Added
- A
visible_rect
method has been added toCamera
, which calculates the area of the screen that is currently visible. (@VictorKoenders in #201)
๐ Changed
- ๐ Various improvements have been made to the documentation.
- โก๏ธ
Camera::project
andCamera::unproject
no longer requireCamera::update
to be called to give correct results.- This is for consistency with the new
visible_rect
method.
- This is for consistency with the new
- Textures now use
CLAMP_TO_EDGE
wrapping, to avoid some sampling issues when drawing at non-integer co-ordinates.- In the future, it may be made possible to select other wrapping modes.
- โก๏ธ Updated
bytemuck
to 1.3.
๐ Fixed
- โก๏ธ The matrix created by a
Camera
now correctly reflects the viewport width and height before the firstupdate
.
- A
-
v0.4.1 Changes
August 02, 2020โ Added
- ๐
ContextBuilder
can now be serialized and deserialized via Serde, if theserde_support
feature is enabled. (@puppetmaster- in #195)- Note that the available settings could change between releases of Tetra (semver permitting). If you need a config file schema that will be stable in the long term, consider making your own and then mapping it to Tetra's API, rather than relying on
ContextBuilder
to not change.
- Note that the available settings could change between releases of Tetra (semver permitting). If you need a config file schema that will be stable in the long term, consider making your own and then mapping it to Tetra's API, rather than relying on
๐ Changed
- The
TetraError
andEvent
enums are now marked asnon_exhaustive
.- This is not a breaking change, as exaustive matching was already enforced via a hidden enum variant. This change just makes the code/docs/errors clearer, as well as potentially unlocking some compiler optimizations in the future.
- โก๏ธ Updated
glow
to 0.5.
- ๐