mirror of https://github.com/OpenTTD/OpenTTD
(svn r624) Merge r377 to trunk:
Remove the memmove special case for MSVC According to the MSDN it was just plain wrong and memmove was directly used in some places anywayrelease/0.4.5
parent
01e88bb61d
commit
57c472e093
|
@ -398,7 +398,7 @@ void NetworkProcessCommands()
|
||||||
assert(_future_seed[0].frame >= _frame_counter);
|
assert(_future_seed[0].frame >= _frame_counter);
|
||||||
if (_future_seed[0].frame != _frame_counter) break;
|
if (_future_seed[0].frame != _frame_counter) break;
|
||||||
if (_future_seed[0].seed[0] != _sync_seed_1 ||_future_seed[0].seed[1] != _sync_seed_2) NetworkHandleDeSync();
|
if (_future_seed[0].seed[0] != _sync_seed_1 ||_future_seed[0].seed[1] != _sync_seed_2) NetworkHandleDeSync();
|
||||||
memcpy_overlapping(_future_seed, _future_seed + 1, --_num_future_seed * sizeof(FutureSeeds));
|
memmove(_future_seed, _future_seed + 1, --_num_future_seed * sizeof(FutureSeeds));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -524,7 +524,7 @@ static void CompactSpriteCache()
|
||||||
_sprite_ptr[i] -= size;
|
_sprite_ptr[i] -= size;
|
||||||
|
|
||||||
// Move the memory
|
// Move the memory
|
||||||
memcpy_overlapping(s+S_HDRSIZE, s+S_HDRSIZE+size, sizeb - S_HDRSIZE );
|
memmove(s + S_HDRSIZE, s + S_HDRSIZE + size, sizeb - S_HDRSIZE);
|
||||||
|
|
||||||
// What we just did had the effect of swapping the allocated block with the free block, so we need to update
|
// What we just did had the effect of swapping the allocated block with the free block, so we need to update
|
||||||
// the block pointers. First update the allocated one. It is in use.
|
// the block pointers. First update the allocated one. It is in use.
|
||||||
|
|
6
stdafx.h
6
stdafx.h
|
@ -95,12 +95,6 @@ typedef unsigned int uint32;
|
||||||
typedef unsigned int uint;
|
typedef unsigned int uint;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(_MSC_VER)
|
|
||||||
#define memcpy_overlapping memcpy
|
|
||||||
#else
|
|
||||||
#define memcpy_overlapping memmove
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifndef __BEOS__
|
#ifndef __BEOS__
|
||||||
typedef signed char int8;
|
typedef signed char int8;
|
||||||
typedef signed short int16;
|
typedef signed short int16;
|
||||||
|
|
10
strings.c
10
strings.c
|
@ -182,14 +182,14 @@ void InjectDparam(int amount)
|
||||||
int32 GetParamInt32()
|
int32 GetParamInt32()
|
||||||
{
|
{
|
||||||
int32 result = GET_DPARAM32(0);
|
int32 result = GET_DPARAM32(0);
|
||||||
memcpy_overlapping(&_decode_parameters[0], &_decode_parameters[1], sizeof(uint32) * (lengthof(_decode_parameters)-1));
|
memmove(&_decode_parameters[0], &_decode_parameters[1], sizeof(uint32) * (lengthof(_decode_parameters)-1));
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int64 GetParamInt64()
|
static int64 GetParamInt64()
|
||||||
{
|
{
|
||||||
int64 result = GET_DPARAM32(0) + ((uint64)GET_DPARAM32(1) << 32);
|
int64 result = GET_DPARAM32(0) + ((uint64)GET_DPARAM32(1) << 32);
|
||||||
memcpy_overlapping(&_decode_parameters[0], &_decode_parameters[2], sizeof(uint32) * (lengthof(_decode_parameters)-2));
|
memmove(&_decode_parameters[0], &_decode_parameters[2], sizeof(uint32) * (lengthof(_decode_parameters)-2));
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -197,21 +197,21 @@ static int64 GetParamInt64()
|
||||||
int GetParamInt16()
|
int GetParamInt16()
|
||||||
{
|
{
|
||||||
int result = (int16)GET_DPARAM16(0);
|
int result = (int16)GET_DPARAM16(0);
|
||||||
memcpy_overlapping(&_decode_parameters[0], &_decode_parameters[1], sizeof(uint32) * (lengthof(_decode_parameters)-1));
|
memmove(&_decode_parameters[0], &_decode_parameters[1], sizeof(uint32) * (lengthof(_decode_parameters)-1));
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
int GetParamInt8()
|
int GetParamInt8()
|
||||||
{
|
{
|
||||||
int result = (int8)GET_DPARAM8(0);
|
int result = (int8)GET_DPARAM8(0);
|
||||||
memcpy_overlapping(&_decode_parameters[0], &_decode_parameters[1], sizeof(uint32) * (lengthof(_decode_parameters)-1));
|
memmove(&_decode_parameters[0], &_decode_parameters[1], sizeof(uint32) * (lengthof(_decode_parameters)-1));
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
int GetParamUint16()
|
int GetParamUint16()
|
||||||
{
|
{
|
||||||
int result = GET_DPARAM16(0);
|
int result = GET_DPARAM16(0);
|
||||||
memcpy_overlapping(&_decode_parameters[0], &_decode_parameters[1], sizeof(uint32) * (lengthof(_decode_parameters)-1));
|
memmove(&_decode_parameters[0], &_decode_parameters[1], sizeof(uint32) * (lengthof(_decode_parameters)-1));
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -126,7 +126,7 @@ void DeleteAnimatedTile(uint tile)
|
||||||
for(ti=_animated_tile_list; ti!=endof(_animated_tile_list); ti++) {
|
for(ti=_animated_tile_list; ti!=endof(_animated_tile_list); ti++) {
|
||||||
if ( (TileIndex)tile == *ti) {
|
if ( (TileIndex)tile == *ti) {
|
||||||
/* remove the hole */
|
/* remove the hole */
|
||||||
memcpy_overlapping(ti, ti+1, endof(_animated_tile_list) - 1 - ti);
|
memmove(ti, ti+1, endof(_animated_tile_list) - 1 - ti);
|
||||||
/* and clear last item */
|
/* and clear last item */
|
||||||
endof(_animated_tile_list)[-1] = 0;
|
endof(_animated_tile_list)[-1] = 0;
|
||||||
MarkTileDirtyByTile(tile);
|
MarkTileDirtyByTile(tile);
|
||||||
|
|
Loading…
Reference in New Issue