Project

General

Profile

Bug #1474 » 0028-Fix-assignment-of-unowned-tiles.patch

S3_2 - Marko Lindqvist, 06/02/2025 04:22 PM

View differences:

client/editor.c
/* utility */
#include "bitvector.h"
#include "capability.h"
#include "fcintl.h"
#include "log.h"
#include "support.h"
......
if (ptile->extras_owner != NULL) {
packet->eowner = player_number(ptile->extras_owner);
} else {
packet->eowner = MAP_TILE_OWNER_NULL;
packet->eowner
= has_capability("ownernull16", client.conn.capability)
? MAP_TILE_OWNER_NULL : MAX_UINT8;
}
if (ptile->label == NULL) {
common/map.h
int map_signed_latitude(const struct tile *ptile);
/* Used for network transmission; do not change. */
#define MAP_TILE_OWNER_NULL MAX_UINT8
#define MAP_TILE_OWNER_NULL MAX_UINT16
#define MAP_DEFAULT_HUTS 15
#define MAP_MIN_HUTS 0
fc_version
# - No new mandatory capabilities can be added to the release branch; doing
# so would break network capability of supposedly "compatible" releases.
#
NETWORK_CAPSTRING="+Freeciv-3.2-network"
NETWORK_CAPSTRING="+Freeciv-3.2-network ownernull16"
FREECIV_DISTRIBUTOR=""
if test "x$FREECIV_LABEL_FORCE" != "x" ; then
server/edithand.c
/* utility */
#include "bitvector.h"
#include "capability.h"
#include "fcintl.h"
#include "log.h"
#include "shared.h"
......
return;
}
if (eowner != MAP_TILE_OWNER_NULL) {
if (eowner != MAP_TILE_OWNER_NULL
&& (eowner != MAX_UINT8
|| has_capability("ownernull16", pc->capability))) {
plr_eowner = player_by_number(eowner);
} else {
plr_eowner = NULL;
......
return;
}
if (packet->eowner != MAP_TILE_OWNER_NULL) {
if (packet->eowner != MAP_TILE_OWNER_NULL
&& (packet->eowner != MAX_UINT8
|| has_capability("ownernull16", pc->capability))) {
eowner = player_by_number(packet->eowner);
} else {
eowner = NULL;
(5-5/5)