mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-11-26 22:31:05 +00:00
Add a new (failing) test case.
This one demonstrates the need for more information in the bsp tree (surface polygons). When the box collides with a corner where one side is flat and the other angled, but there's a partition plane cutting the two, the box can instead collide with the angled side before it hits the corner.
This commit is contained in:
parent
7a1faee460
commit
2f23cfa4d0
1 changed files with 30 additions and 0 deletions
|
@ -232,6 +232,33 @@ hull_t hull_covered_step = {
|
||||||
{0, 0, 0},
|
{0, 0, 0},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// 0
|
||||||
|
// eee|eee
|
||||||
|
// eee+--- 1
|
||||||
|
// ee/0,0s
|
||||||
|
// 2 ssss
|
||||||
|
mclipnode_t clipnodes_ramp[] = {
|
||||||
|
{ 0, { 1, 2}},
|
||||||
|
{ 1, {CONTENTS_EMPTY, CONTENTS_SOLID}},
|
||||||
|
{ 2, {CONTENTS_EMPTY, CONTENTS_SOLID}},
|
||||||
|
};
|
||||||
|
|
||||||
|
mplane_t planes_ramp[] = {
|
||||||
|
{{ 1, 0, 0}, 0, 0, 0},
|
||||||
|
{{ 0, 0, 1}, 0, 2, 0},
|
||||||
|
{{-0.6, 0, 0.8}, 0, 4, 0},
|
||||||
|
};
|
||||||
|
|
||||||
|
hull_t hull_ramp = {
|
||||||
|
clipnodes_ramp,
|
||||||
|
planes_ramp,
|
||||||
|
0,
|
||||||
|
2,
|
||||||
|
{0, 0, 0},
|
||||||
|
{0, 0, 0},
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
vec3_t extents;
|
vec3_t extents;
|
||||||
} box_t;
|
} box_t;
|
||||||
|
@ -324,6 +351,9 @@ test_t tests[] = {
|
||||||
{ 0, 0, 64}, {0, 0, 0}, { 0.375, 0, 0, 1, 0}},
|
{ 0, 0, 64}, {0, 0, 0}, { 0.375, 0, 0, 1, 0}},
|
||||||
{"Box, Step 3", &box, &hull_step3,
|
{"Box, Step 3", &box, &hull_step3,
|
||||||
{ 0, 0, 64}, {0, 0, 0}, { 0.375, 0, 0, 1, 0}},
|
{ 0, 0, 64}, {0, 0, 0}, { 0.375, 0, 0, 1, 0}},
|
||||||
|
|
||||||
|
{"Box, Ramp", &box, &hull_ramp,
|
||||||
|
{ 0, 0, 16}, {0, 0, 0}, { 0.5, 0, 0, 1, 0}},
|
||||||
};
|
};
|
||||||
#define num_tests (sizeof (tests) / sizeof (tests[0]))
|
#define num_tests (sizeof (tests) / sizeof (tests[0]))
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue