• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

Return-To-The-Roots / s25client / 15686629494

16 Jun 2025 04:38PM UTC coverage: 50.442% (-0.03%) from 50.467%
15686629494

Pull #1534

github

web-flow
Merge 0307ea36d into 67a057674
Pull Request #1534: Portrait support

58 of 162 new or added lines in 17 files covered. (35.8%)

23 existing lines in 5 files now uncovered.

22502 of 44610 relevant lines covered (50.44%)

33921.51 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

87.27
/libs/s25main/network/GameMessage.cpp
1
// Copyright (C) 2005 - 2021 Settlers Freaks (sf-team at siedler25.org)
2
//
3
// SPDX-License-Identifier: GPL-2.0-or-later
4

5
#include "GameMessage.h"
6
#include "GameMessage_GameCommand.h"
7
#include "GameMessages.h"
8
#include "commonDefines.h"
9

10
bool GameMessage::run(MessageInterface* callback, unsigned senderPlayerID)
×
11
{
12
    this->senderPlayerID = senderPlayerID;
×
13
    return Run(checkedCast<GameMessageInterface*>(callback));
×
14
}
15

16
Message* GameMessage::create_game(unsigned short id)
37✔
17
{
18
    Message* msg = nullptr;
37✔
19

20
    switch(id)
37✔
21
    {
22
        default: return create_base(id);
×
23

24
        case NMS_PING: msg = new GameMessage_Ping(); break;
1✔
25
        case NMS_PONG: msg = new GameMessage_Pong(); break;
1✔
26
        case NMS_SERVER_TYPE: msg = new GameMessage_Server_Type(); break;
1✔
27
        case NMS_SERVER_TYPEOK: msg = new GameMessage_Server_TypeOK(); break;
1✔
28
        case NMS_SERVER_PASSWORD: msg = new GameMessage_Server_Password(); break;
1✔
29
        case NMS_SERVER_NAME: msg = new GameMessage_Server_Name(); break;
1✔
30
        case NMS_SERVER_START: msg = new GameMessage_Server_Start(); break;
1✔
31
        case NMS_CHAT: msg = new GameMessage_Chat(); break;
1✔
32
        case NMS_SERVER_ASYNC: msg = new GameMessage_Server_Async(); break;
1✔
33
        case NMS_COUNTDOWN: msg = new GameMessage_Countdown(); break;
1✔
34
        case NMS_CANCEL_COUNTDOWN: msg = new GameMessage_CancelCountdown(); break;
1✔
35
        case NMS_PLAYER_ID: msg = new GameMessage_Player_Id(); break;
1✔
36
        case NMS_PLAYER_NAME: msg = new GameMessage_Player_Name(); break;
1✔
NEW
37
        case NMS_PLAYER_PORTRAIT: msg = new GameMessage_Player_Portrait(); break;
×
38
        case NMS_PLAYER_LIST: msg = new GameMessage_Player_List(); break;
1✔
39
        case NMS_PLAYER_STATE: msg = new GameMessage_Player_State(); break;
1✔
40
        case NMS_PLAYER_NATION: msg = new GameMessage_Player_Nation(); break;
1✔
41
        case NMS_PLAYER_TEAM: msg = new GameMessage_Player_Team(); break;
1✔
42
        case NMS_PLAYER_COLOR: msg = new GameMessage_Player_Color(); break;
1✔
43
        case NMS_PLAYER_KICKED: msg = new GameMessage_Player_Kicked(); break;
1✔
44
        case NMS_PLAYER_PING: msg = new GameMessage_Player_Ping(); break;
1✔
45
        case NMS_PLAYER_NEW: msg = new GameMessage_Player_New(); break;
1✔
46
        case NMS_PLAYER_READY: msg = new GameMessage_Player_Ready(); break;
1✔
47
        case NMS_PLAYER_SWAP: msg = new GameMessage_Player_Swap(); break;
1✔
48
        case NMS_PLAYER_SWAP_CONFIRM: msg = new GameMessage_Player_SwapConfirm(); break;
1✔
49
        case NMS_MAP_INFO: msg = new GameMessage_Map_Info(); break;
1✔
50
        case NMS_MAP_REQUEST: msg = new GameMessage_MapRequest(); break;
1✔
51
        case NMS_MAP_DATA: msg = new GameMessage_Map_Data(); break;
1✔
52
        case NMS_MAP_CHECKSUM: msg = new GameMessage_Map_Checksum(); break;
1✔
53
        case NMS_MAP_CHECKSUMOK: msg = new GameMessage_Map_ChecksumOK(); break;
1✔
54
        case NMS_SERVER_NWF_DONE: msg = new GameMessage_Server_NWFDone(); break;
1✔
55
        case NMS_GAMECOMMANDS: msg = new GameMessage_GameCommand(); break;
×
56
        case NMS_PAUSE: msg = new GameMessage_Pause(); break;
1✔
57
        case NMS_SKIP_TO_GF: msg = new GameMessage_SkipToGF(); break;
1✔
58
        case NMS_SERVER_SPEED: msg = new GameMessage_Speed(); break;
1✔
59
        case NMS_GGS_CHANGE: msg = new GameMessage_GGSChange(); break;
1✔
60
        case NMS_REMOVE_LUA: msg = new GameMessage_RemoveLua(); break;
×
61
        case NMS_GET_ASYNC_LOG: msg = new GameMessage_GetAsyncLog(); break;
1✔
62
        case NMS_ASYNC_LOG: msg = new GameMessage_AsyncLog(); break;
2✔
63
    }
64

65
    return msg;
37✔
66
}
67

68
void GameMessageWithPlayer::Serialize(Serializer& ser) const
14✔
69
{
70
    Message::Serialize(ser);
14✔
71
    ser.PushUnsignedChar(player);
14✔
72
}
14✔
73

74
void GameMessageWithPlayer::Deserialize(Serializer& ser)
14✔
75
{
76
    Message::Deserialize(ser);
14✔
77
    player = ser.PopUnsignedChar();
14✔
78
}
14✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc