summaryrefslogtreecommitdiff
path: root/libphysics/test/perf.c
blob: 67999be93dc58dc9f92654cf3787ef2eb74e27a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#include <stdio.h>
#include <stdlib.h>
#include <physics.h>
#include <assert.h>

#define SBODY 2048
#define FLOAT_RAND (2 * (rand() / (float)RAND_MAX) - 1)

int
main()
{
	for(int i = 0; i < SBODY; i++) {
		BodyID b = phxnew(BTYPE_AABB);
		assert(b != -1);

		phxsetpos(b, rand() % 800, rand() % 600);
		phxsetsize(b, 5.0, 5.0);
		phxapplyaccel(b, (float[]){ 50000 * FLOAT_RAND, 50000 * FLOAT_RAND });
	}

	phxsetmap(8, 8, (int[]) {
		0, 0, 0, 0, 0, 0, 0, 0,
		0, 1, 0, 0, 0, 1, 0, 0,
		0, 1, 1, 0, 0, 1, 1, 0,
		0, 1, 1, 0, 0, 1, 1, 0,
		0, 0, 0, 0, 0, 0, 0, 0,
		0, 1, 1, 0, 0, 1, 1, 0,
		0, 1, 1, 0, 0, 1, 1, 0,
		0, 0, 1, 0, 0, 0, 1, 0,
	});

	phxtick(10.0);

	return 0;
}