diff options
Diffstat (limited to 'sdk/rwsdk/include/d3d8/rpdbgerr.c')
-rw-r--r-- | sdk/rwsdk/include/d3d8/rpdbgerr.c | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/sdk/rwsdk/include/d3d8/rpdbgerr.c b/sdk/rwsdk/include/d3d8/rpdbgerr.c new file mode 100644 index 00000000..70bc941d --- /dev/null +++ b/sdk/rwsdk/include/d3d8/rpdbgerr.c @@ -0,0 +1,90 @@ +/* + * Debug handling + * + **************************************************************************** + * + * This file is a product of Criterion Software Ltd. + * + * This file is provided as is with no warranties of any kind and is + * provided without any obligation on Criterion Software Ltd. or + * Canon Inc. to assist in its use or modification. + * + * Criterion Software Ltd. will not, under any + * circumstances, be liable for any lost revenue or other damages arising + * from the use of this file. + * + * Copyright (c) 1998 Criterion Software Ltd. + * All Rights Reserved. + * + * RenderWare is a trademark of Canon Inc. + * + ****************************************************************************/ + +/**************************************************************************** + Includes + */ + + +#include <stdlib.h> +#include <string.h> + +#include <rwcore.h> +#include <rpdbgerr.h> + +static const char rcsid[] __RWUNUSED__ = "@@(#)$Id: rpdbgerr.c,v 1.2 2004/08/31 17:40:34 gtristram Exp $"; + +#ifdef RWDEBUG + +/**************************************************************************** + Defines + */ + + /**************************************************************************** + Local (static) Globals + */ + +/* The strings used in the debug error reporting are derived from the + * .def files + */ + +#define RWECODE(a,b) RWSTRING(b), + +static const RwChar *rw_err_str[] = +{ +#include "rperror.def" + RWSTRING("Last Error") +}; + +#undef RWECODE +#define RWECODE(a,b) RWSTRING(#a), + +static const RwChar *rw_err_cstr[] = +{ +#include "rperror.def" + RWSTRING("E_RW_LAST") +}; + +#undef RWECODE + +static RwChar dberr[512]; + +RwChar * +rwPLUGIN_ERRFUNC(RwInt32 code,...) +{ + va_list ap; + +#if (0) + RWFUNCTION(RWSTRING("rwPLUGIN_ERRFUNC")); +#endif /* (0) */ + + va_start(ap, code); + + rwstrcpy(dberr, rw_err_cstr[code]); + rwstrcat(dberr, RWSTRING(" : ")); + rwvsprintf(&dberr[rwstrlen(dberr)], rw_err_str[code], ap); + va_end(ap); + return dberr; +} + +#endif /* RWDEBUG */ + |