00001
00002
00003
00004
00005
00006 #ifndef RC_MISC_H
00007 #define RC_MISC_H
00008
00010 #define PAD4(a) ((((a) - 1) & (~0x3)) + 0x4)
00011
00013 u32 nextPow2(
00014 u32 i
00015 );
00016
00018 u32 calculateStringHash(
00019 const char *str
00020 );
00021
00022 #ifdef RC_MEMORY_DEBUG
00023
00024 #define duplicateString(str) duplicateStringDebug((str), __FILE__, __FUNCTION__, __LINE__)
00025
00026 #define duplicateStringN(str, n) duplicateStringNDebug((str), (n), __FILE__, __FUNCTION__, __LINE__)
00027
00029 char *duplicateStringDebug(
00030 const char *str,
00031 const char *file,
00032 const char *func,
00033 i32 line
00034 );
00035
00040 char *duplicateStringNDebug(
00041 const char *str,
00042 u32 n,
00043 const char *file,
00044 const char *func,
00045 i32 line
00046 );
00047
00048 #else
00049
00051 char *duplicateString(
00052 const char *str
00053 );
00054
00059 char *duplicateStringN(
00060 const char *str,
00061 u32 n
00062 );
00063
00064 #endif
00065
00067 bool parseFloat(
00068 f32 *num,
00069 char *str
00070 );
00071
00073 bool parseInt(
00074 i32 *num,
00075 char *str
00076 );
00077
00079 bool parseFloats(
00080 u32 n,
00081 f32 *num,
00082 char **str
00083 );
00084
00086 bool parseInts(
00087 u32 n,
00088 i32 *num,
00089 char **str
00090 );
00091
00092 #endif
00093
00094