supertuxkart / stk-code

The code base of supertuxkart
Other
4.53k stars 1.06k forks source link

Add-on track Imminent Cold Effects: Camera doesn't always follow kart after skipping part of the track #4737

Closed tobbi closed 2 years ago

tobbi commented 2 years ago

Description

In the add-on level, Imminent Cold effects, you can skip part of the track by jumping over a wooden bridge, so to speak.

Steps to reproduce

  1. Install the add-on track imminent cold effects
  2. Jump over the wooden bridge at specific point

Configuration

STK release version: master

STK Source (PPA, distribution package, official binary, etc.): self-compiled

System:

Graphics card: Intel HD Graphics 4000 1536 MB

CPU: 2,3 GHz Intel Core i7

Gamepads/keyboards models if related to the issue:

Additional information

stdout.log:

[info   ] [FileManager]: Data files will be fetched from: '/Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/bin/supertuxkart.app/Contents/Resources/data/'
[info   ] [FileManager]: Data files will be fetched from: '/Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/bin/supertuxkart.app/Contents/Resources/data/../../stk-assets/'
[info   ] [FileManager]: User directory is '/Users/tobiasmarkus/Library/Application Support/SuperTuxKart/config-0.10/'.
[info   ] [FileManager]: Addons files will be stored in '/Users/tobiasmarkus/Library/Application Support/SuperTuxKart/Addons/'.
[info   ] [FileManager]: Screenshots will be stored in '/Users/tobiasmarkus/Library/Application Support/SuperTuxKart/Screenshots/'.
[info   ] [FileManager]: User-defined grand prix will be stored in '/Users/tobiasmarkus/Library/Application Support/SuperTuxKart/grandprix/'.
[info   ] [FileManager]: Asset 0 will be loaded from '/Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/bin/supertuxkart.app/Contents/Resources/data/challenges/'.
[info   ] [FileManager]: Asset 1 will be loaded from '/Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/bin/supertuxkart.app/Contents/Resources/data/gfx/'.
[info   ] [FileManager]: Asset 2 will be loaded from '/Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/bin/supertuxkart.app/Contents/Resources/data/grandprix/'.
[info   ] [FileManager]: Asset 3 will be loaded from '/Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/bin/supertuxkart.app/Contents/Resources/data/gui/icons/'.
[info   ] [FileManager]: Asset 4 will be loaded from '/Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/bin/supertuxkart.app/Contents/Resources/data/gui/screens/'.
[info   ] [FileManager]: Asset 5 will be loaded from '/Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/bin/supertuxkart.app/Contents/Resources/data/gui/dialogs/'.
[info   ] [FileManager]: Asset 6 will be loaded from '/Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/bin/supertuxkart.app/Contents/Resources/data/replay/'.
[info   ] [FileManager]: Asset 7 will be loaded from '/Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/bin/supertuxkart.app/Contents/Resources/data/shaders/'.
[info   ] [FileManager]: Asset 8 will be loaded from '/Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/bin/supertuxkart.app/Contents/Resources/data/skins/'.
[info   ] [FileManager]: Asset 9 will be loaded from '/Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/bin/supertuxkart.app/Contents/Resources/data/ttf/'.
[info   ] [FileManager]: Asset 10 will be loaded from '/Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/bin/supertuxkart.app/Contents/Resources/data/po/'.
[info   ] [FileManager]: Asset 11 will be loaded from '/Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/bin/supertuxkart.app/Contents/Resources/data/../../stk-assets/library/'.
[info   ] [FileManager]: Asset 12 will be loaded from '/Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/bin/supertuxkart.app/Contents/Resources/data/../../stk-assets/models/'.
[info   ] [FileManager]: Asset 13 will be loaded from '/Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/bin/supertuxkart.app/Contents/Resources/data/../../stk-assets/music/'.
[info   ] [FileManager]: Asset 14 will be loaded from '/Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/bin/supertuxkart.app/Contents/Resources/data/../../stk-assets/sfx/'.
[info   ] [FileManager]: Asset 15 will be loaded from '/Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/bin/supertuxkart.app/Contents/Resources/data/../../stk-assets/textures/'.
[info   ] [FileManager]: Asset 16 will be loaded from '/Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/bin/supertuxkart.app/Contents/Resources/data/../../stk-assets/tracks/'.
[verbose  ] translation: Env var LANGUAGE = 'de'.
[verbose  ] translation: Language 'German'.
[info   ] [IrrDriver Logger]: ..:: Antarctica Rendering Engine 2.0 ::..
[info   ] [IrrDriver Logger]: SDL Version 2.0.20
[info   ] [IrrDriver Logger]: Using renderer: OpenGL 4.1
[info   ] [IrrDriver Logger]: NVIDIA GeForce GT 650M OpenGL Engine: NVIDIA Corporation
[info   ] [IrrDriver Logger]: OpenGL driver version is 1.2 or better.
[info   ] [IrrDriver Logger]: GLSL version: 4.1
[info   ] IrrDriver: OpenGL version: 4.1
[info   ] IrrDriver: OpenGL vendor: NVIDIA Corporation
[info   ] IrrDriver: OpenGL renderer: NVIDIA GeForce GT 650M OpenGL Engine
[info   ] IrrDriver: OpenGL version string: 4.1 NVIDIA-12.0.24 355.11.10.50.10.103
[info   ] GLDriver: ARB Texture Storage Present
[info   ] GLDriver: EXT Texture Compression S3TC Present
[info   ] GLDriver: ARB Explicit Attrib Location Present
[info   ] GLDriver: EXT Texture Filter Anisotropic Present
[info   ] GLDriver: Geometry Shaders Present
[info   ] GLDriver: ARB Texture Buffer Object Present
[info   ] GLDriver: ARB Texture Swizzle Present
[info   ] GLDriver: ARB Sampler Objects Present
[info   ] GLDriver: ARB Vertex Type 2_10_10_10_rev Present
[info   ] GLDriver: ARB Instanced Arrays Present
[info   ] SharedGPUObjects: Hardware Skinning enabled, method: TBO, max bones: 1024
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/screenquad.vert
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/motion_blur.frag
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/lightning.frag
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/primitive2dlist.vert
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/transparent.frag
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/texturedquad.vert
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/uniformcolortexturedquad.frag
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/texturedquad.frag
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/coloredquad.vert
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/coloredquad.frag
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/colortexturedquad.vert
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/colortexturedquad.frag
[info   ] irr_driver: GLSL supported.
[info   ] GUI: Loading skin data from file: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/bin/supertuxkart.app/Contents/Resources/data/skins/peach/stkskin.xml
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/sp_pass.vert
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/sp_solid.frag
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/sp_shadow.vert
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/white.frag
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/sp_skinning.vert
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/sp_skinning_shadow.vert
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/sp_normal_map.frag
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/sp_alpha_test.frag
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/sp_shadow_alpha_test.frag
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/sp_decal.frag
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/sp_grass_pass.vert
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/sp_grass.frag
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/sp_grass_shadow.vert
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/sp_unlit.frag
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/sp_transparent.frag
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/sp_ghost.frag
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/sp_dynamic_night_bloom.frag
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/sp_tilling_mitigation.frag
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/sp_vertical_mapping.frag
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/sp_road_blending.frag
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/sp_displace.frag
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/colorize.frag
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/sp_normal_visualizer.vert
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/sp_normal_visualizer.geom
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/sp_normal_visualizer.frag
[info   ] HTTPRequest: Downloading https://online.supertuxkart.net/dl/xml/online_news.xml
[info   ] addons: Downloading updated addons.xml.
[info   ] HTTPRequest: Downloading https://online.supertuxkart.net/dl/xml/online_assets.xml
[info   ] GrandPrixManager: Loading Grand Prix files from /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/bin/supertuxkart.app/Contents/Resources/data/grandprix/
[info   ] GrandPrixManager: Loading Grand Prix files from /Users/tobiasmarkus/Library/Application Support/SuperTuxKart/grandprix/
[warn   ] SPMeshBuffer: kartDirt shader is missing, fallback to solid
[warn   ] SPMeshBuffer: kartDirt shader is missing, fallback to solid
[warn   ] SPMeshBuffer: kartDirt shader is missing, fallback to solid
[warn   ] SPMeshBuffer: kartDirt shader is missing, fallback to solid
[warn   ] SPMeshBuffer: kartDirt shader is missing, fallback to solid
[warn   ] Material: Cannot determine texture full path: glosswheel.png
[warn   ] KartModel: atoka.spm has no striaght frame defined.
[warn   ] Material: Cannot determine texture full path: wut
[verbose  ] RaceManager: Nb of karts=1, ghost karts:0 ai:0 players:1

[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-assets/tracks/overworld/splatting.frag
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/simple_particle.vert
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/simple_particle.frag
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/alphatest_particle.vert
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/alphatest_particle.frag
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/degraded_ibl.frag
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/sunlight.frag
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/pointlight.vert
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/pointlight.frag
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/combine_diffuse_color.frag
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/tonemap.frag
[info   ] Track: Overall scene complexity estimated at 106
[info   ] Script: allchallenges: unlocked_challenges=26, challenges=26
[info   ] Script: allchallenges: unlocked_challenges=26, challenges=26
[info   ] Script: allchallenges: unlocked_challenges=26, challenges=26
[info   ] Script: allchallenges: unlocked_challenges=26, challenges=26
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/importance_sampling_specular.frag
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/pointlightscatter.frag
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/gaussian6v.frag
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/gaussian6h.frag
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/sky.vert
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/sky.frag
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/sp_text_billboard.frag
[info   ] ShaderFilesManager: Compiling shader: /Users/tobiasmarkus/Documents/workspace/supertuxkart/stk-code/data/shaders/passthrough.frag
[info   ] Singleton: Destroyed singleton.
[info   ] Singleton: Destroyed singleton.
[warn   ] LayoutManager: Statically sized widgets took all the place!!
[warn   ] LayoutManager: Statically sized widgets took all the place!!
[warn   ] LayoutManager: Statically sized widgets took all the place!!
[warn   ] LayoutManager: Statically sized widgets took all the place!!
[warn   ] LayoutManager: Statically sized widgets took all the place!!
[warn   ] LayoutManager: Statically sized widgets took all the place!!
[warn   ] LayoutManager: Statically sized widgets took all the place!!
[warn   ] LayoutManager: Statically sized widgets took all the place!!
[warn   ] LayoutManager: Statically sized widgets took all the place!!
[warn   ] LayoutManager: Statically sized widgets took all the place!!
[warn   ] LayoutManager: Statically sized widgets took all the place!!
[warn   ] AbstractTopLevelContainer::addWidgetsRecursively: Widget target-type-spinner of type 1 has no dimensions
[warn   ] AbstractTopLevelContainer::addWidgetsRecursively: Widget target-type-text of type 5 has no dimensions
[warn   ] AbstractTopLevelContainer::addWidgetsRecursively: Widget ai-blue-spinner of type 1 has no dimensions
[warn   ] AbstractTopLevelContainer::addWidgetsRecursively: Widget ai-blue-text of type 5 has no dimensions
[verbose  ] RaceManager: Nb of karts=20, ghost karts:0 ai:19 players:1

[warn   ] Track: Could not load particles 'smoke_1.xml'; cause :
    smoke_1.xml could not be loaded
[warn   ] Track: Could not load particles 'smoke_1.xml'; cause :
    smoke_1.xml could not be loaded
[warn   ] Track: Could not load particles 'smoke_1.xml'; cause :
    smoke_1.xml could not be loaded
[warn   ] Track: Could not load particles 'smoke_1.xml'; cause :
    smoke_1.xml could not be loaded
[warn   ] Track: Could not load particles 'smoke_1.xml'; cause :
    smoke_1.xml could not be loaded
[warn   ] Track: Could not load particles 'smoke_1.xml'; cause :
    smoke_1.xml could not be loaded
[warn   ] Track: Could not load particles 'smoke_1.xml'; cause :
    smoke_1.xml could not be loaded
[warn   ] Track: Could not load particles 'smoke_1.xml'; cause :
    smoke_1.xml could not be loaded
[info   ] Track: Overall scene complexity estimated at 356
[warn   ] physics: Kart at (-138.052750 -3.933500 70.641998) over reset terrain 'stk_karstrock_a.png'
[info   ] Singleton: Destroyed singleton.
[info   ] Singleton: Destroyed singleton.
[warn   ] LayoutManager: Statically sized widgets took all the place!!
[warn   ] LayoutManager: Statically sized widgets took all the place!!
[warn   ] LayoutManager: Statically sized widgets took all the place!!
[info   ] Singleton: Destroyed singleton.
[info   ] Singleton: Destroyed singleton.
[info   ] Singleton: Destroyed singleton.
[info   ] Singleton: Destroyed singleton.
[info   ] Singleton: Destroyed singleton.
[info   ] Singleton: Destroyed singleton.
[info   ] Singleton: Destroyed singleton.
[info   ] Singleton: Destroyed singleton.
[info   ] Singleton: Destroyed singleton.
[info   ] Singleton: Destroyed singleton.
[info   ] Singleton: Destroyed singleton.
[info   ] Singleton: Destroyed singleton.
[info   ] Singleton: Destroyed singleton.
[info   ] Singleton: Destroyed singleton.
[info   ] Singleton: Destroyed singleton.
[info   ] Singleton: Destroyed singleton.
[info   ] Singleton: Destroyed singleton.
[info   ] Singleton: Destroyed singleton.
[info   ] Singleton: Destroyed singleton.
[info   ] Singleton: Destroyed singleton.
[info   ] Singleton: Destroyed singleton.
[info   ] Singleton: Destroyed singleton.
[info   ] Singleton: Destroyed singleton.
[info   ] Singleton: Destroyed singleton.
[info   ] Singleton: Destroyed singleton.

Video of the issue: https://youtu.be/0hF4LFcFMr4

Benau commented 2 years ago

if you have time try :

    // First test: give the terrain effect, if the kart is
    // on top of a surface (i.e. not falling), actually touching
    // something with the wheels, and the material has not the
    // below surface property set.
    if (material && isOnGround() && !material->isBelowSurface() &&
        !getKartAnimation()      && UserConfigParams::m_particles_effects > 1)
    {
        // Make sure camera is reset if on ground, see #2916
        for (unsigned i = 0; i < Camera::getNumCameras(); i++)
        {
            if (material->isDriveReset())
                break;
            Camera *camera = Camera::getCamera(i);
            if (camera->getKart() != this)
                continue;
            if (camera->getMode() == Camera::CM_FALLING)
                camera->setMode(Camera::CM_NORMAL);
        }   // for i in all cameras for this kart

        // Get the appropriate particle data depending on
        // wether the kart is skidding or driving.
        const ParticleKind* pk =
            material->getParticlesWhen(m_skidding->isSkidding()
                                                    ? Material::EMIT_ON_SKID
                                                    : Material::EMIT_ON_DRIVE);
        if(!pk)
        {
            // Disable potentially running particle effects
            m_kart_gfx->setCreationRateAbsolute(KartGFX::KGFX_TERRAIN, 0);
            return;  // no particle effect, return
        }
        m_kart_gfx->updateTerrain(pk);
        return;
    }

around kart.cpp:2037

tobbi commented 2 years ago

Thanks. That seems to have fixed it.