some small fixes
This commit is contained in:
parent
84920e46d6
commit
8a61d6e674
12
DGL.C
12
DGL.C
|
@ -58,9 +58,13 @@ void dgl_set_error(DGL_ERROR error) {
|
|||
_last_error = error;
|
||||
}
|
||||
|
||||
void dgl_init(void) {
|
||||
atexit(mouse_shutdown);
|
||||
atexit(keyboard_shutdown);
|
||||
atexit(video_shutdown);
|
||||
void _dgl_atexit(void) {
|
||||
mouse_shutdown();
|
||||
keyboard_shutdown();
|
||||
video_shutdown();
|
||||
}
|
||||
|
||||
void dgl_init(void) {
|
||||
atexit(_dgl_atexit);
|
||||
}
|
||||
|
||||
|
|
|
@ -61,7 +61,9 @@ static float symmetrical_round(float value) {
|
|||
}
|
||||
|
||||
static boolean close_enough(float a, float b, float tolerance) {
|
||||
return fabs((a - b) / ((b == 0.0f) ? 1.0f : b)) < tolerance;
|
||||
//return fabs((a - b) / ((b == 0.0f) ? 1.0f : b)) < tolerance;
|
||||
// TODO: this is not the best way
|
||||
return fabs(a - b) <= tolerance;
|
||||
}
|
||||
|
||||
static boolean power_of_2(int n) {
|
||||
|
|
1
MAKEFILE
1
MAKEFILE
|
@ -47,6 +47,7 @@ clean : .SYMBOLIC
|
|||
del *.obj
|
||||
del *.err
|
||||
del $(target_name).exe
|
||||
del $(target_name).lib
|
||||
del $(target_name).lnk
|
||||
del $(target_name).lbc
|
||||
|
||||
|
|
12
TEST/FIXED.C
12
TEST/FIXED.C
|
@ -6,13 +6,14 @@
|
|||
void test_fixed(void) {
|
||||
fixed a, b, c;
|
||||
float af, bf, cf, f;
|
||||
float aaf, bbf, ccf;
|
||||
int i;
|
||||
|
||||
a = FTOFIX(PI);
|
||||
f = FIXTOF(a);
|
||||
ASSERT(FFIX_EQU(PI, f));
|
||||
|
||||
a = FTOFIX(-0.37f);
|
||||
a = FTOFIX(-0.38f);
|
||||
f = FIXTOF(a);
|
||||
ASSERT(FFIX_EQU(-0.38f, f));
|
||||
|
||||
|
@ -57,13 +58,16 @@ void test_fixed(void) {
|
|||
f = DEG_TO_RAD(i + 1);
|
||||
a = fix_sin(FTOFIX(f));
|
||||
af = sin(f);
|
||||
aaf = FIXTOF(a);
|
||||
b = fix_cos(FTOFIX(f));
|
||||
bf = cos(f);
|
||||
bbf = FIXTOF(b);
|
||||
c = fix_tan(FTOFIX(f));
|
||||
cf = tan(f);
|
||||
ASSERT(FFIX_EQU(FIXTOF(a), af));
|
||||
ASSERT(FFIX_EQU(FIXTOF(b), bf));
|
||||
ASSERT(FFIX_EQU(FIXTOF(c), cf));
|
||||
ccf = FIXTOF(c);
|
||||
ASSERT(FFIX_EQU(aaf, af));
|
||||
ASSERT(FFIX_EQU(bbf, bf));
|
||||
ASSERT(FFIX_EQU(ccf, cf));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -6,12 +6,11 @@
|
|||
#include "dgl.h"
|
||||
|
||||
#define F_EQU(a, b) (close_enough((a), (b), TOLERANCE))
|
||||
#define FFIX_EQU(a, b) (close_enough((a), (b), 0.01f))
|
||||
#define FFIX_EQU(a, b) (close_enough((a), (b), 0.05f)) // wow !
|
||||
|
||||
extern void _breakpoint();
|
||||
#pragma aux _breakpoint = "int 0x03";
|
||||
|
||||
|
||||
#define ASSERT(x) \
|
||||
do { \
|
||||
if (!(x)) { \
|
||||
|
|
|
@ -69,7 +69,6 @@ int main(void) {
|
|||
|
||||
surface_free(backbuffer);
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue