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:
@@ -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"
|
||||
|
||||
1
Track.h
1
Track.h
@@ -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>;
|
||||
|
||||
@@ -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 );
|
||||
|
||||
Reference in New Issue
Block a user