making tiny not fuck other libs

This commit is contained in:
kin fuyuki 2026-02-20 01:58:44 -03:00
commit 2707a41755
No known key found for this signature in database
GPG key ID: 0E4E8E519FB71401

View file

@ -2,123 +2,107 @@
#ifndef TINYTERM_H #ifndef TINYTERM_H
#define TINYTERM_H #define TINYTERM_H
#include <cstdio> #include <cstdio>
#include <cstring> #include <cstring>
#include <stdarg.h> #include <stdarg.h>
#include <string> #include <string>
namespace tiny { namespace tiny {
struct ErrorLevel { struct ErrorLevel {
int value; int value;
ErrorLevel(int var){ ErrorLevel(int var){
this->value=var;
this->value=var; }
} void setvalue(int var){
void setvalue(int var){ this->value=var;
this->value=var; }
}
}; };
/*
-1: none
0: error
1: success
2: warning
3: message
4: echo
ex (i recommend using on main.cpp):
tiny::ErrorLevel tiny::level={1};
*/
extern tiny::ErrorLevel level; extern tiny::ErrorLevel level;
#define WHITE "\033[0m" /* White */ inline const char* WHITE = "\033[0m";
#define BLACK "\033[30m" /* Black */ inline const char* BLACK = "\033[30m";
#define RED "\033[31m" /* Red */ inline const char* RED = "\033[31m";
#define GREEN "\033[32m" /* Green */ inline const char* GREEN = "\033[32m";
#define YELLOW "\033[33m" /* Yellow */ inline const char* YELLOW = "\033[33m";
#define BLUE "\033[34m" /* Blue */ inline const char* BLUE = "\033[34m";
#define MAGENTA "\033[35m" /* Magenta */ inline const char* MAGENTA = "\033[35m";
#define CYAN "\033[36m" /* Cyan */ inline const char* CYAN = "\033[36m";
#define WHITE "\033[37m" /* White */ inline const char* BGRED = "\033[41m";
#define BGRED "\033[41m" /* Red */ inline const char* BGBLACK = "\033[40m";
#define BOLDBLACK "\033[1m\033[30m" /* Bold Black */ inline const char* BGGREEN = "\033[42m";
#define BOLDRED "\033[1m\033[31m" /* Bold Red */ inline const char* BGYELLOW = "\033[43m";
#define BOLDGREEN "\033[1m\033[32m" /* Bold Green */ inline const char* BGBLUE = "\033[44m";
#define BOLDYELLOW "\033[1m\033[33m" /* Bold Yellow */ inline const char* BGMAGENTA ="\033[45m";
#define BOLDBLUE "\033[1m\033[34m" /* Bold Blue */ inline const char* BGCYAN = "\033[46m";
#define BOLDMAGENTA "\033[1m\033[35m" /* Bold Magenta */ inline const char* BGWHITE = "\033[47m";
#define BOLDCYAN "\033[1m\033[36m" /* Bold Cyan */ inline const char* BOLDBLACK = "\033[1m\033[30m";
#define BOLDWHITE "\033[1m\033[37m" /* Bold White */ inline const char* BOLDRED = "\033[1m\033[31m";
inline const char* BOLDGREEN = "\033[1m\033[32m";
inline const char* BOLDYELLOW = "\033[1m\033[33m";
inline const char* BOLDBLUE = "\033[1m\033[34m";
inline const char* BOLDMAGENTA = "\033[1m\033[35m";
inline const char* BOLDCYAN = "\033[1m\033[36m";
inline const char* BOLDWHITE = "\033[1m\033[37m";
#define ending \ #define ending \
mixer.append(info); mixer.append("\033[0m\n");\ mixer.append(info); mixer.append("\033[0m\n");\
const char * finalinfo=mixer.c_str();\ const char * finalinfo=mixer.c_str();\
va_start (arg, finalinfo);\ va_start (arg, finalinfo);\
vfprintf (stdout, finalinfo, arg);\ vfprintf (stdout, finalinfo, arg);\
va_end (arg); va_end (arg);
inline void echo(char * info,...){ inline void echo(char * info,...){
if (level.value==4) if (level.value==4)
{ {
va_list arg; va_list arg;
std::string mixer=info; std::string mixer=info;
mixer.append("\n"); mixer.append("\n");
const char * finalinfo=mixer.c_str(); const char * finalinfo=mixer.c_str();
va_start (arg, finalinfo); va_start (arg, finalinfo);
vfprintf (stdout, finalinfo, arg); vfprintf (stdout, finalinfo, arg);
va_end (arg);} va_end (arg);}
} }
inline void warning( char * info,...){ inline void warning( char * info,...){
if (level.value>=1) if (level.value>=1)
{ {
va_list arg; va_list arg;
std::string mixer=YELLOW;ending std::string mixer=YELLOW;ending
} }
} }
inline void fatal( char * info,...){ inline void fatal( char * info,...){
va_list arg; va_list arg;
std::string mixer=BOLDWHITE+std::string(BGRED);ending std::string mixer=BOLDWHITE+std::string(BGRED);ending
} }
inline void error( char * info,...){ inline void error( char * info,...){
if (level.value>=0) if (level.value>=0)
{ {
va_list arg; va_list arg;
std::string mixer=BOLDRED;ending std::string mixer=BOLDRED;ending
}} }}
inline void success(char * info , ...){ inline void success(char * info , ...){
if (level.value>=2) if (level.value>=2)
{ {
va_list arg; va_list arg;
std::string mixer=GREEN;ending} std::string mixer=GREEN;ending}
} }
inline void message(char * info , ...){ inline void message(char * info , ...){
if (level.value>=3) if (level.value>=3)
{ {
va_list arg; va_list arg;
std::string mixer=BOLDWHITE;ending} std::string mixer=BOLDWHITE;ending}
} }
inline void startup(char* game,char*version){ inline void startup(char* game,char*version){
int lv=level.value;level.value=6; int lv=level.value;level.value=6;
echo("%s %s",game,version); echo("%s %s",game,version);
warning("be warned that"); warning("be warned that");
error("ERRORS MIGHT OCCUR!!!"); error("ERRORS MIGHT OCCUR!!!");
success("but dont worry"); success("but dont worry");
message("this is not an error"); message("this is not an error");
fatal("I SWEAR"); fatal("I SWEAR");
level.value=lv; level.value=lv;
} }
} }
#endif
#endif