You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
75 lines
2.1 KiB
75 lines
2.1 KiB
var v, i, f, size, type, alignment, tileCount, bufferSize, result;
|
|
v = 0
|
|
if global.ingame
|
|
{
|
|
for (i = 0; i < array_height_2d(global.dmap); i++)
|
|
{
|
|
f = 0
|
|
while (f < array_length_2d(global.dmap, i))
|
|
{
|
|
if (global.dmapPrev[i, f] != global.dmap[i, f])
|
|
{
|
|
mapChanged = 1
|
|
break
|
|
}
|
|
else
|
|
{
|
|
f++
|
|
continue
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if mapChanged
|
|
{
|
|
buffer_delete(buffer)
|
|
size = 1024
|
|
type = buffer_grow
|
|
alignment = 1
|
|
buffer = buffer_create(size, type, alignment)
|
|
buffer_seek(buffer, buffer_seek_start, 0)
|
|
buffer_write(buffer, buffer_u8, 9)
|
|
tileCount = 0
|
|
for (i = 0; i < array_height_2d(global.dmap); i++)
|
|
{
|
|
for (f = 0; f < array_length_2d(global.dmap, i); f++)
|
|
{
|
|
if (global.dmapPrev[i, f] != global.dmap[i, f])
|
|
{
|
|
buffer_write(buffer, buffer_u8, i)
|
|
buffer_write(buffer, buffer_u8, f)
|
|
buffer_write(buffer, buffer_u8, global.dmap[i, f])
|
|
tileCount++
|
|
}
|
|
}
|
|
}
|
|
buffer_write(buffer, buffer_u16, tileCount)
|
|
buffer_write(buffer, buffer_u8, global.clientID)
|
|
bufferSize = buffer_tell(buffer)
|
|
buffer_seek(buffer, buffer_seek_start, 0)
|
|
buffer_write(buffer, buffer_s32, bufferSize)
|
|
buffer_write(buffer, buffer_u8, 9)
|
|
buffer_write(buffer, buffer_u16, tileCount)
|
|
for (i = 0; i < array_height_2d(global.dmap); i++)
|
|
{
|
|
for (f = 0; f < array_length_2d(global.dmap, i); f++)
|
|
{
|
|
if (global.dmapPrev[i, f] != global.dmap[i, f])
|
|
{
|
|
buffer_write(buffer, buffer_u8, i)
|
|
buffer_write(buffer, buffer_u8, f)
|
|
buffer_write(buffer, buffer_u8, global.dmap[i, f])
|
|
}
|
|
}
|
|
}
|
|
buffer_write(buffer, buffer_u8, global.clientID)
|
|
result = network_send_packet(socket, buffer, buffer_tell(buffer))
|
|
}
|
|
if (!mapChanged)
|
|
alarm[6] = 10
|
|
if mapChanged
|
|
{
|
|
mapChanged = 0
|
|
alarm[6] = 75
|
|
}
|