summaryrefslogtreecommitdiff
path: root/includes/misc.h
diff options
context:
space:
mode:
authorFelix Wallin <nibbler.v1@gmail.com>2010-09-27 10:53:05 (GMT)
committer Felix Wallin <nibbler.v1@gmail.com>2010-09-27 10:53:05 (GMT)
commit58d710b22484b8c7cc9dadefd305f3506d3ff139 (patch)
treef2df82d6ed13d220db8f8087039b3dd42ecec395 /includes/misc.h
parent2d5558491fa864f340668df05a7869ca820ddef1 (diff)
downloadpowder-58d710b22484b8c7cc9dadefd305f3506d3ff139.zip
powder-58d710b22484b8c7cc9dadefd305f3506d3ff139.tar.gz
layout change
Diffstat (limited to 'includes/misc.h')
-rw-r--r--includes/misc.h72
1 files changed, 72 insertions, 0 deletions
diff --git a/includes/misc.h b/includes/misc.h
new file mode 100644
index 0000000..1394687
--- /dev/null
+++ b/includes/misc.h
@@ -0,0 +1,72 @@
+#ifndef UTILS_H
+#define UTILS_H
+#include <stdio.h>
+#include <stdlib.h>
+
+#ifdef WIN32
+#define x86_cpuid(func,af,bf,cf,df) \
+ do {\
+ __asm mov eax, func\
+ __asm cpuid\
+ __asm mov af, eax\
+ __asm mov bf, ebx\
+ __asm mov cf, ecx\
+ __asm mov df, edx\
+ } while(0)
+#else
+#define x86_cpuid(func,af,bf,cf,df) \
+__asm__ __volatile ("cpuid":\
+ "=a" (af), "=b" (bf), "=c" (cf), "=d" (df) : "a" (func));
+#endif
+
+static char hex[] = "0123456789ABCDEF";
+//Signum function
+#ifdef WIN32
+extern _inline int isign(float i);
+#else
+extern inline int isign(float i);
+#endif
+
+#ifdef WIN32
+extern _inline unsigned clamp_flt(float f, float min, float max);
+#else
+extern inline unsigned clamp_flt(float f, float min, float max);
+#endif
+
+#ifdef WIN32
+extern _inline float restrict_flt(float f, float min, float max);
+#else
+extern inline float restrict_flt(float f, float min, float max);
+#endif
+
+char *mystrdup(char *s);
+
+struct strlist
+{
+ char *str;
+ struct strlist *next;
+};
+
+void strlist_add(struct strlist **list, char *str);
+
+int strlist_find(struct strlist **list, char *str);
+
+void strlist_free(struct strlist **list);
+
+void save_presets(int do_update);
+
+void load_presets(void);
+
+void save_string(FILE *f, char *str);
+
+int load_string(FILE *f, char *str, int max);
+
+void strcaturl(char *dst, char *src);
+
+void strappend(char *dst, char *src);
+
+void *file_load(char *fn, int *size);
+
+int cpu_check(void);
+
+#endif \ No newline at end of file