(svn r1721) -Feature: It is now possible to build multiple road stations (up to 8) on

a single station.
Thanks to: Truelight for the saveload code, Darkvater and Hackykid for
network testing and Tron for proof-reading 1500 lines of diff.
This commit is contained in:
celestar
2005-01-29 19:41:44 +00:00
parent 885fd2b15c
commit 752b3f0dd6
18 changed files with 591 additions and 214 deletions

29
misc.c
View File

@@ -743,6 +743,35 @@ int FindFirstBit(uint32 value)
return i;
}
//!We're writing an own sort algorithm here, as
//!qsort isn't stable
//!Since the number of elements will be low, a
//!simple bubble sort will have to do :)
void bubblesort(void *base, size_t nmemb, size_t size, int(*compar)(const void *, const void *))
{
uint i,k;
void *buffer = malloc(size);
char *start = base;
nmemb--;
for (i = 0; i < nmemb; i++) {
for (k = 0; k < nmemb; k++) {
void *a, *b;
a = start + size * k;
b = start + size * (k + 1);
if (compar(a, b) > 0) {
memcpy(buffer, a, size);
memcpy(a, b, size);
memcpy(b, buffer, size);
}
}
}
free(buffer);
buffer = NULL;
}
static void Save_NAME(void)
{