16
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-07-18 03:09:18 +02:00

switch trackbed value export, erased vehicles sound fix

This commit is contained in:
tmj-fstate
2018-10-14 15:55:55 +02:00
parent 81c92383be
commit 4474117878
3 changed files with 17 additions and 0 deletions

View File

@@ -2156,6 +2156,15 @@ TTrack::export_as_text_( std::ostream &Output ) const {
if( fVerticalRadius != 0.f ) {
Output << "vradius " << fVerticalRadius << ' ';
}
if( ( eType == tt_Switch )
&& ( SwitchExtension->m_material3 != null_handle ) ) {
auto texturefile { GfxRenderer.Material( m_material2 ).name };
if( texturefile.find( szTexturePath ) == 0 ) {
// don't include 'textures/' in the path
texturefile.erase( 0, std::string{ szTexturePath }.size() );
}
Output << "trackbed " << texturefile << ' ';
}
// footer
Output
<< "endtrack"

View File

@@ -167,6 +167,7 @@ private:
float fTexSlope = 0.9f;
glm::dvec3 m_origin;
// TODO: store material names as strings, for lossless serialization and export
material_handle m_material1 = 0; // tekstura szyn albo nawierzchni
material_handle m_material2 = 0; // tekstura automatycznej podsypki albo pobocza
using geometryhandle_sequence = std::vector<gfx::geometry_handle>;

View File

@@ -476,6 +476,13 @@ sound_source::stop( bool const Skipend ) {
void
sound_source::update( audio::openal_source &Source ) {
if( ( m_owner != nullptr )
&& ( false == m_owner->bEnabled ) ) {
// terminate the sound if the owner is gone
// TBD, TODO: replace with a listener pattern to receive vehicle removal and cab change events and such?
m_stop = true;
}
if( sound( sound_id::main ).buffer != null_handle ) {
// basic variant: single main sound, with optional bookends
update_basic( Source );