mirror of
https://github.com/ddnet/ddnet.git
synced 2024-11-10 10:08:18 +00:00
Merge #6086
6086: Make sure components are reset and envelopes are updated when skipping in demo, fix demo name not being shown in demo player r=def- a=Robyt3 Followup for #6060. Before: ![screenshot_2022-12-04_12-31-35](https://user-images.githubusercontent.com/23437060/205488272-67ea3bd4-fac3-445d-bfb0-46a3f8f5a0fa.png) After: ![screenshot_2022-12-04_12-35-44](https://user-images.githubusercontent.com/23437060/205488275-a3dafc41-0ff0-45ac-8fb9-97b2369355eb.png) ## Checklist - [X] Tested the change ingame - [X] Provided screenshots if it is a visual change - [ ] Tested in combination with possibly related configuration options - [ ] Written a unit test (especially base/) or added coverage to integration test - [ ] Considered possible null pointers and out of bounds array indexing - [ ] Changed no physics that affect existing maps - [ ] Tested the change with [ASan+UBSan or valgrind's memcheck](https://github.com/ddnet/ddnet/#using-addresssanitizer--undefinedbehavioursanitizer-or-valgrinds-memcheck) (optional) Co-authored-by: Robert Müller <robytemueller@gmail.com>
This commit is contained in:
commit
8d5d0cbe83
|
@ -337,10 +337,6 @@ void CMenus::RenderDemoPlayer(CUIRect MainView)
|
||||||
ButtonBar.HSplitTop(Margins, 0, &ButtonBar);
|
ButtonBar.HSplitTop(Margins, 0, &ButtonBar);
|
||||||
ButtonBar.HSplitBottom(NameBarHeight, &ButtonBar, &NameBar);
|
ButtonBar.HSplitBottom(NameBarHeight, &ButtonBar, &NameBar);
|
||||||
NameBar.HSplitTop(4.0f, 0, &NameBar);
|
NameBar.HSplitTop(4.0f, 0, &NameBar);
|
||||||
SpeedBar.HSplitBottom(NameBarHeight, &SpeedBar, &NameBar);
|
|
||||||
ButtonBar.HSplitTop(0.0f, 0, &SpeedBar);
|
|
||||||
SpeedBar.VSplitLeft(123.0f, 0, &SpeedBar);
|
|
||||||
SpeedBar.VSplitLeft(133.0f, &SpeedBar, 0);
|
|
||||||
|
|
||||||
// do seekbar
|
// do seekbar
|
||||||
{
|
{
|
||||||
|
@ -484,7 +480,7 @@ void CMenus::RenderDemoPlayer(CUIRect MainView)
|
||||||
if(DoButton_FontIcon(&s_ResetButton, "\xEF\x81\x8D", false, &Button, IGraphics::CORNER_ALL))
|
if(DoButton_FontIcon(&s_ResetButton, "\xEF\x81\x8D", false, &Button, IGraphics::CORNER_ALL))
|
||||||
{
|
{
|
||||||
DemoPlayer()->Pause();
|
DemoPlayer()->Pause();
|
||||||
DemoPlayer()->SeekPercent(0.0f);
|
PositionToSeek = 0.0f;
|
||||||
}
|
}
|
||||||
GameClient()->m_Tooltips.DoToolTip(&s_ResetButton, &Button, Localize("Stop the current demo"));
|
GameClient()->m_Tooltips.DoToolTip(&s_ResetButton, &Button, Localize("Stop the current demo"));
|
||||||
|
|
||||||
|
@ -521,13 +517,12 @@ void CMenus::RenderDemoPlayer(CUIRect MainView)
|
||||||
GameClient()->m_Tooltips.DoToolTip(&s_FastForwardButton, &Button, Localize("Speed up the demo"));
|
GameClient()->m_Tooltips.DoToolTip(&s_FastForwardButton, &Button, Localize("Speed up the demo"));
|
||||||
|
|
||||||
// speed meter
|
// speed meter
|
||||||
ButtonBar.VSplitLeft(Margins * 3, 0, &ButtonBar);
|
ButtonBar.VSplitLeft(Margins * 12, &SpeedBar, &ButtonBar);
|
||||||
char aBuffer[64];
|
char aBuffer[64];
|
||||||
str_format(aBuffer, sizeof(aBuffer), "×%g", pInfo->m_Speed);
|
str_format(aBuffer, sizeof(aBuffer), "×%g", pInfo->m_Speed);
|
||||||
UI()->DoLabel(&SpeedBar, aBuffer, Button.h * 0.7f, TEXTALIGN_CENTER);
|
UI()->DoLabel(&SpeedBar, aBuffer, Button.h * 0.7f, TEXTALIGN_CENTER);
|
||||||
|
|
||||||
// slice begin button
|
// slice begin button
|
||||||
ButtonBar.VSplitLeft(Margins * 7, 0, &ButtonBar);
|
|
||||||
ButtonBar.VSplitLeft(ButtonbarHeight, &Button, &ButtonBar);
|
ButtonBar.VSplitLeft(ButtonbarHeight, &Button, &ButtonBar);
|
||||||
static CButtonContainer s_SliceBeginButton;
|
static CButtonContainer s_SliceBeginButton;
|
||||||
if(DoButton_FontIcon(&s_SliceBeginButton, "\xEF\x8B\xB5", 0, &Button, IGraphics::CORNER_ALL))
|
if(DoButton_FontIcon(&s_SliceBeginButton, "\xEF\x8B\xB5", 0, &Button, IGraphics::CORNER_ALL))
|
||||||
|
@ -575,10 +570,10 @@ void CMenus::RenderDemoPlayer(CUIRect MainView)
|
||||||
{
|
{
|
||||||
if((pInfo->m_aTimelineMarkers[i] - pInfo->m_FirstTick) < CurrentTick && absolute(((pInfo->m_aTimelineMarkers[i] - pInfo->m_FirstTick) - CurrentTick)) > Threshold)
|
if((pInfo->m_aTimelineMarkers[i] - pInfo->m_FirstTick) < CurrentTick && absolute(((pInfo->m_aTimelineMarkers[i] - pInfo->m_FirstTick) - CurrentTick)) > Threshold)
|
||||||
{
|
{
|
||||||
DemoPlayer()->SeekPercent((float)(pInfo->m_aTimelineMarkers[i] - pInfo->m_FirstTick) / TotalTicks);
|
PositionToSeek = (float)(pInfo->m_aTimelineMarkers[i] - pInfo->m_FirstTick) / TotalTicks;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
DemoPlayer()->SeekPercent(0.0f);
|
PositionToSeek = 0.0f;
|
||||||
}
|
}
|
||||||
GameClient()->m_Tooltips.DoToolTip(&s_OneMarkerBackButton, &Button, Localize("Go back one marker"));
|
GameClient()->m_Tooltips.DoToolTip(&s_OneMarkerBackButton, &Button, Localize("Go back one marker"));
|
||||||
|
|
||||||
|
@ -591,10 +586,10 @@ void CMenus::RenderDemoPlayer(CUIRect MainView)
|
||||||
{
|
{
|
||||||
if((pInfo->m_aTimelineMarkers[i] - pInfo->m_FirstTick) > CurrentTick && absolute(((pInfo->m_aTimelineMarkers[i] - pInfo->m_FirstTick) - CurrentTick)) > Threshold)
|
if((pInfo->m_aTimelineMarkers[i] - pInfo->m_FirstTick) > CurrentTick && absolute(((pInfo->m_aTimelineMarkers[i] - pInfo->m_FirstTick) - CurrentTick)) > Threshold)
|
||||||
{
|
{
|
||||||
DemoPlayer()->SeekPercent((float)(pInfo->m_aTimelineMarkers[i] - pInfo->m_FirstTick) / TotalTicks);
|
PositionToSeek = (float)(pInfo->m_aTimelineMarkers[i] - pInfo->m_FirstTick) / TotalTicks;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
DemoPlayer()->SeekPercent(1.0f);
|
PositionToSeek = 1.0f;
|
||||||
}
|
}
|
||||||
GameClient()->m_Tooltips.DoToolTip(&s_OneMarkerForwardButton, &Button, Localize("Go forward one marker"));
|
GameClient()->m_Tooltips.DoToolTip(&s_OneMarkerForwardButton, &Button, Localize("Go forward one marker"));
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue