mirror of
https://github.com/ddnet/ddnet.git
synced 2024-11-14 03:58:18 +00:00
Merge #5231
5231: Fix windows crash r=def- a=C0D3D3V Fixes #5226 I tested it in a Windows VM. `@sjrc6` is it correct that `TempCore` is this way zero initialized, can you check that maybe in the debugger? I do not want to change the behaviour, even tho the core is read in two lines later with `TempCore.ReadCharacter(pCharacter);` ## Checklist - [x] Tested the change ingame - [ ] Provided screenshots if it is a visual change - [ ] Tested in combination with possibly related configuration options - [ ] Written a unit test if it works standalone, system.c especially - [x] Considered possible null pointers and out of bounds array indexing - [x] 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: c0d3d3v <c0d3d3v@mag-keinen-spam.de>
This commit is contained in:
commit
3b81157013
|
@ -1098,10 +1098,8 @@ void CGameClient::OnNewSnapshot()
|
||||||
{
|
{
|
||||||
auto &&Evolve = [this](CNetObj_Character *pCharacter, int Tick) {
|
auto &&Evolve = [this](CNetObj_Character *pCharacter, int Tick) {
|
||||||
CWorldCore TempWorld;
|
CWorldCore TempWorld;
|
||||||
CCharacterCore TempCore;
|
CCharacterCore TempCore = CCharacterCore();
|
||||||
CTeamsCore TempTeams;
|
CTeamsCore TempTeams = CTeamsCore();
|
||||||
mem_zero(&TempCore, sizeof(TempCore));
|
|
||||||
mem_zero(&TempTeams, sizeof(TempTeams));
|
|
||||||
TempCore.Init(&TempWorld, Collision(), &TempTeams);
|
TempCore.Init(&TempWorld, Collision(), &TempTeams);
|
||||||
TempCore.ReadCharacter(pCharacter);
|
TempCore.ReadCharacter(pCharacter);
|
||||||
|
|
||||||
|
|
|
@ -550,7 +550,7 @@ void CCharacterCore::ReadCharacterCore(const CNetObj_CharacterCore *pObjCore)
|
||||||
m_HookPos.y = pObjCore->m_HookY;
|
m_HookPos.y = pObjCore->m_HookY;
|
||||||
m_HookDir.x = pObjCore->m_HookDx / 256.0f;
|
m_HookDir.x = pObjCore->m_HookDx / 256.0f;
|
||||||
m_HookDir.y = pObjCore->m_HookDy / 256.0f;
|
m_HookDir.y = pObjCore->m_HookDy / 256.0f;
|
||||||
m_HookedPlayer = pObjCore->m_HookedPlayer;
|
SetHookedPlayer(pObjCore->m_HookedPlayer);
|
||||||
m_Jumped = pObjCore->m_Jumped;
|
m_Jumped = pObjCore->m_Jumped;
|
||||||
m_Direction = pObjCore->m_Direction;
|
m_Direction = pObjCore->m_Direction;
|
||||||
m_Angle = pObjCore->m_Angle;
|
m_Angle = pObjCore->m_Angle;
|
||||||
|
|
Loading…
Reference in a new issue