im so shitttyyyy

This commit is contained in:
ZakatTeamI2P 2026-05-15 23:56:06 +04:00
parent cc506bf087
commit c2af9b3ff9
17 changed files with 138 additions and 73 deletions

View file

@ -117,7 +117,9 @@ DEF_AUD_PROP_I(SFX_Volume)
RB_METHOD(audioReset){
RB_UNUSED_PARAM;
printf("[audioReset] Reseting audio\n");
#ifdef DEBUG
printf("[audioReset] Reseting audio\n");
#endif
shState->audio().reset();
return Qnil;

View file

@ -122,8 +122,10 @@ static void mriBindingInit(){
SunshineBindingInit();
steamBindingInit();
chromaBindingInit();
printf("[mriBindingInit] Done\n");
printf("[mriBindingInit] RGSS version: %i\n", rgssVer);
#ifdef DEBUG
printf("[mriBindingInit] Done\n");
printf("[mriBindingInit] RGSS version: %i\n", rgssVer);
#endif
if (rgssVer >= 3){
_rb_define_module_function(rb_mKernel, "rgss_main", mriRgssMain);
_rb_define_module_function(rb_mKernel, "rgss_stop", mriRgssStop);
@ -151,13 +153,15 @@ static void mriBindingInit(){
/* Load global constants */
rb_gv_set("MKXP", Qtrue);
VALUE debug = rb_bool_new(shState->config().editor.debug);
if (rgssVer == 1)
rb_gv_set("DEBUG", debug);
else if (rgssVer >= 2)
rb_gv_set("TEST", debug);
#ifdef DEBUG
VALUE debug = rb_bool_new(shState->config().editor.debug);
if (rgssVer == 1)
rb_gv_set("DEBUG", debug);
else if (rgssVer >= 2)
rb_gv_set("TEST", debug);
rb_gv_set("BTEST", rb_bool_new(shState->config().editor.battleTest));
rb_gv_set("BTEST", rb_bool_new(shState->config().editor.battleTest));
#endif
}
static void showMsg(const std::string &msg){
@ -248,7 +252,9 @@ static VALUE rgssMainRescue(VALUE arg, VALUE exc){
}
static void processReset(){
printf("[processReset] reset!\n");
#ifdef DEBUG
printf("[processReset] reset!\n");
#endif
shState->graphics().reset();
shState->audio().reset();
@ -273,7 +279,9 @@ RB_METHOD(mriRgssMain){
break;
if (rb_obj_class(exc) == getRbData()->exc[Reset]){
printf("[mriRgssMain] Reset\n");
#ifdef DEBUG
printf("[mriRgssMain] Reset\n");
#endif
processReset();
}else{
rb_exc_raise(exc);
@ -285,7 +293,9 @@ RB_METHOD(mriRgssMain){
RB_METHOD(mriRgssStop){
RB_UNUSED_PARAM;
printf("[mriRgssStop] Stop\n");
#ifdef DEBUG
printf("[mriRgssStop] Stop\n");
#endif
while (true)
shState->graphics().update();
@ -396,12 +406,18 @@ static void runRMXPScripts(BacktraceData &btData){
}
/* Set the debug flag */
rb_gv_set("$debug", conf.debugMode ? Qtrue : Qfalse);
#ifdef DEBUG
rb_gv_set("$debug", conf.debugMode ? Qtrue : Qfalse);
#else
rb_gv_set("$debug", Qfalse);
#endif
rb_gv_set("$RGSS_SCRIPTS", scriptArray);
long scriptCount = RARRAY_LEN(scriptArray);
printf("[runRMXPScripts] Scripts count: %ld\n", scriptCount);
#ifdef DEBUG
printf("[runRMXPScripts] Scripts count: %ld\n", scriptCount);
#endif
std::string decodeBuffer;
decodeBuffer.resize(0x1000);
@ -413,8 +429,11 @@ static void runRMXPScripts(BacktraceData &btData){
VALUE scriptName = rb_ary_entry(script, 1);
VALUE scriptString = rb_ary_entry(script, 2);
//printf("[runRMXPScripts] Script Name: %s\n", RSTRING_PTR(scriptName));
#ifdef DEBUG
printf("[runRMXPScripts] Script Name: %s\n", RSTRING_PTR(scriptName));
#endif
int result = Z_OK;
unsigned long bufferLen;
@ -575,14 +594,17 @@ static void mriBindingExecute(){
BacktraceData btData;
mriBindingInit();
printf("[mriBindingExecute] run RMXP Scripts\n");
#ifdef DEBUG
printf("[mriBindingExecute] run RMXP Scripts\n");
#endif
runRMXPScripts(btData);
VALUE exc = rb_errinfo();
if (!NIL_P(exc) && !rb_obj_is_kind_of(exc, rb_eSystemExit))
showExc(exc, btData);
printf("[mirBindingExecure] Ruby cleanup\n");
#ifdef DEBUG
printf("[mirBindingExecure] Ruby cleanup\n");
#endif
ruby_cleanup(0);
shState->rtData().rqTermAck.set();
@ -597,7 +619,9 @@ static void mriBindingTerminate(){
}
static void mriBindingReset(){
printf("[mriBindingReset] Binding reset...\n");
#ifdef DEBUG
printf("[mriBindingReset] Binding reset...\n");
#endif
rb_raise(getRbData()->exc[Reset], " ");
}

View file

@ -68,8 +68,8 @@ RB_METHOD(chromaPlayAnimation) {
rb_get_args(argc, argv, "zb", &animfile, &loop RB_ARG_END);
if (INIT_SUCCESS) {
Debug() << "[chromaPlayAnimation] Opening animation:" << animfile;
lastAnimId = _openAnimation(animfile);
Debug() << "[chromaPlayAnimation] Opening animation:" << animfile;
Debug() << "[chromaPlayAnimation] ID:" << lastAnimId;
_playAnimation(lastAnimId);
}

View file

@ -87,6 +87,7 @@ RB_METHOD(disposableIsDisposed){
template<class C>
static void disposableBindingInit(VALUE klass){
printf("[disposableBindingInit] Initialing disposable binding\n");
_rb_define_method(klass, "dispose", disposableDispose<C>);
_rb_define_method(klass, "disposed?", disposableIsDisposed<C>);

View file

@ -31,17 +31,23 @@
void fileIntFreeInstance(void *inst){
SDL_IOStream *ops = static_cast<SDL_IOStream*>(inst);
printf("[fileIntFreeInstance] Closing ops\n");
#ifdef DEBUG
printf("[fileIntFreeInstance] Closing ops\n");
#endif
SDL_CloseIO(ops);
}
DEF_TYPE_CUSTOMFREE(FileInt, fileIntFreeInstance);
VALUE fileIntForPath(const char *path, bool rubyExc){
printf("[fileIntForPath] %s!\n", path);
#ifdef DEBUG
printf("[fileIntForPath] %s!\n", path);
#endif
SDL_IOStream* ops = nullptr;
ops = SDL_IOFromFile(path, "r");
if (!ops){
printf("[fileIntForPath] Failed to open file: %s\n", path);
#ifdef DEBUG
printf("[fileIntForPath] Failed to open file: %s\n", path);
#endif
if (rubyExc) {
rb_raise(rb_eIOError, "Cannot open file: %s", path);
}
@ -65,7 +71,9 @@ RB_METHOD(fileIntRead){
}
if (length == 0){
printf("[fileIntRead] zero length\n");
#ifdef DEBUG
printf("[fileIntRead] zero length\n");
#endif
return Qnil;
}
@ -79,11 +87,14 @@ RB_METHOD(fileIntRead){
RB_NA_METHOD(fileIntClose){
SDL_IOStream *ops = getPrivateData<SDL_IOStream>(self);
if (!ops){
printf("[fileIntClose] Already closed or null\n");
#ifdef DEBUG
printf("[fileIntClose] Already closed or null\n");
#endif
return Qnil;
}
printf("[fileIntClose] Closing ops\n");
#ifdef DEBUG
printf("[fileIntClose] Closing ops\n");
#endif
SDL_CloseIO(ops);
setPrivateData(self, nullptr);
@ -108,15 +119,18 @@ VALUE load_protect(VALUE marsh_and_port) {
}
VALUE kernelLoadDataInt(const char *filename, bool rubyExc){
printf("[kernelLoadDataInt] Filename: %s\n", filename);
#ifdef DEBUG
printf("[kernelLoadDataInt] Filename: %s\n", filename);
#endif
VALUE port = fileIntForPath(filename, rubyExc);
if (NIL_P(port)) return Qnil;
VALUE marsh = rb_const_get(rb_cObject, rb_intern("Marshal"));
VALUE args[2] = { marsh, port };
int state = 0;
VALUE result = rb_protect(load_protect, (VALUE)args, &state);
printf("[kernelLoadDataInt] State %d\n", state);
#ifdef DEBUG
printf("[kernelLoadDataInt] State %d\n", state);
#endif
rb_funcallv(port, rb_intern("close"), 0, NULL);
@ -139,7 +153,9 @@ RB_METHOD(kernelLoadData){
RB_UNUSED_PARAM;
const char *filename;
rb_get_args(argc, argv, "z", &filename);
printf("[kernelLoadData] filename: %s\n", filename);
#ifdef DEBUG
printf("[kernelLoadData] filename: %s\n", filename);
#endif
return kernelLoadDataInt(filename, true);
}
@ -150,14 +166,18 @@ RB_METHOD(kernelSaveData){
VALUE filename;
rb_get_args(argc, argv, "oS", &obj, &filename);
printf("[kernelSaveData] Filename: %s\n", rb_str_to_str(filename));
#ifdef DEBUG
printf("[kernelSaveData] Filename: %s\n", rb_str_to_str(filename));
#endif
VALUE file = rb_file_open_str(filename, "wb");
VALUE marsh = rb_const_get(rb_cObject, rb_intern("Marshal"));
VALUE v[] = { obj, file };
rb_funcall2(marsh, rb_intern("dump"), ARRAY_SIZE(v), v);
printf("[kernelSaveData] Closing file %s\n", rb_str_to_str(filename));
#ifdef DEBUG
printf("[kernelSaveData] Closing file %s\n", rb_str_to_str(filename));
#endif
rb_io_close(file);
return Qnil;

View file

@ -62,6 +62,7 @@ RB_METHOD(flashableUpdate){
template<class C>
static void flashableBindingInit(VALUE klass){
printf("[flashableBindingInit] Initializing Flashable binding\n");
_rb_define_method(klass, "flash", flashableFlash<C>);
_rb_define_method(klass, "update", flashableUpdate<C>);
}

View file

@ -76,7 +76,9 @@ int server_thread(void *data){
active = true;
if (message_len > 0){
if (write(out_pipe, (char*)message_buffer, message_len) == -1){
Debug() << "[journal-binding>server_thread()]Failure writing to journal's pipe!";
#ifdef DEBUG
Debug() << "[journal-binding>server_thread()]Failure writing to journal's pipe!";
#endif
}
}
SDL_UnlockMutex(mutex);
@ -85,8 +87,7 @@ int server_thread(void *data){
#endif
}
RB_METHOD(journalSet)
{
RB_METHOD(journalSet){
RB_UNUSED_PARAM;
const char *name;
rb_get_args(argc, argv, "z", &name RB_ARG_END);
@ -144,8 +145,7 @@ RB_METHOD(journalSet)
return Qnil;
}
RB_METHOD(journalSetLang)
{
RB_METHOD(journalSetLang){
RB_UNUSED_PARAM;
const char *lang;
rb_get_args(argc, argv, "z", &lang RB_ARG_END);
@ -154,8 +154,7 @@ RB_METHOD(journalSetLang)
return Qnil;
}
RB_METHOD(journalActive)
{
RB_METHOD(journalActive){
RB_UNUSED_PARAM;
return active ? Qtrue : Qfalse;
}

View file

@ -74,8 +74,8 @@ RB_METHOD(sceneElementSetVisible){
}
template<class C>
void
sceneElementBindingInit(VALUE klass){
void sceneElementBindingInit(VALUE klass){
printf("[sceneElementBindingInit] Initialing SceneElement binding\n");
_rb_define_method(klass, "z", sceneElementGetZ<C>);
_rb_define_method(klass, "z=", sceneElementSetZ<C>);
_rb_define_method(klass, "visible", sceneElementGetVisible<C>);

View file

@ -41,8 +41,8 @@ serializableDump(int, VALUE *, VALUE self){
}
template<class C>
void
serializableBindingInit(VALUE klass){
void serializableBindingInit(VALUE klass){
printf("[serializableBindingInit] Initialing Binding binding\n");
_rb_define_method(klass, "_dump", serializableDump<C>);
}

View file

@ -34,7 +34,9 @@ void SunshineBindingInit(){
rb_const_set(module, rb_intern("SDLVersion_major"), INT2NUM(SDL_MAJOR_VERSION));
rb_const_set(module, rb_intern("SDLVersion_minor"), INT2NUM(SDL_MINOR_VERSION));
rb_const_set(module, rb_intern("SDLVersion_micro"), INT2NUM(SDL_MICRO_VERSION));
printf("[SunshineBindingInit] SDL version: %i.%i.%i\n", SDL_MAJOR_VERSION, SDL_MINOR_VERSION, SDL_MICRO_VERSION);
#ifdef DEBUG
printf("[SunshineBindingInit] SDL version: %i.%i.%i\n", SDL_MAJOR_VERSION, SDL_MINOR_VERSION, SDL_MICRO_VERSION);
#endif
//если методы доступны то просто не перезаписываем их
if (!rb_respond_to(rb_cObject, rb_intern("class"))) {
rb_define_method(rb_cObject, "class", rb_obj_class, 0);

View file

@ -86,6 +86,7 @@ static C *viewportElementInitialize(int argc, VALUE *argv, VALUE self){
template<class C>
void viewportElementBindingInit(VALUE klass){
printf("[viewportElementBindingInit] Initialing Viewport Element binding\n");
sceneElementBindingInit<C>(klass);
_rb_define_method(klass, "viewport", viewportElementGetViewport<C>);

View file

@ -63,16 +63,22 @@
void desktopEnvironmentInit(){
printf("[desktopEnvironmentInit] desktopEnvironmentInit()\n");
if (desktop != "uninitialized") {
#ifdef DEBUG
printf("[desktopEnvironmentInit] Running on standalone Window Manager?Trying identify configuration...\n");
#endif
// If Nitrogen wallpaper manager and feh is aviable we can just use nitrogen --restore command and feh --bg-scale:P
if (FILE *file = fopen("/usr/bin/nitrogen", "r")){
IsNitrogen = true;
printf("[desktopEnvironmentInit] Nitrogen wallpaper manager detected!I will try to use it...\n");
#ifdef DEBUG
printf("[desktopEnvironmentInit] Nitrogen wallpaper manager detected!I will try to use it...\n");
#endif
fclose(file);
}else{ fclose(file); }
if (FILE *file = fopen("/usr/bin/feh", "r")) {
IsFeh = true;
printf("[desktopEnvironmentInit] Feh detected!I will try to use it...\n");
#ifdef DEBUG
printf("[desktopEnvironmentInit] Feh detected!I will try to use it...\n");
#endif
fclose(file);
} else{ fclose(file); }
if(!IsNitrogen && !IsFeh){
@ -192,7 +198,9 @@ RB_METHOD(wallpaperSet){
std::string path;
#ifdef _WIN32
path = shState->config().gameFolder + "\\Wallpaper\\" + name + ".bmp";
Debug() << "[wallpaperSet] Setting wallpaper to " << path;
#ifdef DEBUG
Debug() << "[wallpaperSet] Setting wallpaper to " << path;
#endif
// Crapify the slashes
size_t index = 0;
for (;;) {
@ -266,8 +274,9 @@ end:
nameFix.replace(nameFix.end()-3, nameFix.end(), "unix");
}
path = "/Wallpaper/" + nameFix + ".png";
Debug() << "[wallpaperSet] Setting wallpaper to " << path;
#ifdef DEBUG
Debug() << "[wallpaperSet] Setting wallpaper to " << path;
#endif
#ifdef __APPLE__
if (!isCached) {
@ -363,9 +372,11 @@ end:
"\"]);" <<
"}" <<
"'";
Debug() << "[wallpaperSet] Wallpaper command:" << command.str();
int result = system(command.str().c_str());
Debug() << "[wallpaperSet ] Result:" << result;
#ifdef DEBUG
Debug() << "[wallpaperSet] Wallpaper command:" << command.str();
Debug() << "[wallpaperSet ] Result:" << result;
#endif
} else if (IsFeh == true) {
//path
printf("[wallpaperSet] Trying set wallpapers via feh\n");
@ -492,14 +503,18 @@ RB_METHOD(wallpaperReset){
"}" <<
"}" <<
"'";
Debug() << "[wallpaperReset] Reset wallpaper command:" << command.str();
int result = system(command.str().c_str());
Debug() << "[wallpaperReset] Reset result:" << result;
#ifdef DEBUG
Debug() << "[wallpaperReset] Reset wallpaper command:" << command.str();
Debug() << "[wallpaperReset] Reset result:" << result;
#endif
} else if (IsNitrogen == true){
system("nitrogen --restore");
} else {
if (remove(fallbackPath.c_str()) != 0) {
Debug() << "[wallpaperReset] Failed to delete:" << fallbackPath;
#ifdef DEBUG
Debug() << "[wallpaperReset] Failed to delete:" << fallbackPath;
#endif
}
}
#endif
@ -508,6 +523,7 @@ RB_METHOD(wallpaperReset){
}
void wallpaperBindingInit(){
printf("[wallpaperBindingInit] Initialing Wallpaper binding\n");
VALUE module = rb_define_module("Wallpaper");
// Functions

View file

@ -27,7 +27,9 @@
DEF_TYPE(Window);
RB_METHOD(windowInitialize){
printf("[windowInitialize] Creating window\n");
#ifdef DEBUG
printf("[windowInitialize] Creating window\n");
#endif
Window *w = viewportElementInitialize<Window>(argc, argv, self);
setPrivateData(self, w);

View file

@ -73,7 +73,7 @@ class Scene_Title
@menu.bitmap.draw_text(MENU_X, MENU_Y + 50, 150, 24, tr("Exit"))
#Debug info like in minecraft Forge :P
@menu.bitmap.draw_text(5, 5, 150, 20, tr("Ruby #{RUBY_VERSION}"))
@menu.bitmap.draw_text(5, 25, 150, 20, tr("SDL#{SDLVer}"))
@menu.bitmap.draw_text(5, 25, 150, 20, tr("SDL #{SDLVer}"))
if $game_switches[160] && $game_switches[152]
@menu.bitmap.draw_text(MENU_X, MENU_Y + 75, 150, 24, tr("..."))
end
@ -138,7 +138,7 @@ class Scene_Title
@menu.bitmap.draw_text(MENU_X, MENU_Y + 25, 150, 24, tr("Settings"))
@menu.bitmap.draw_text(MENU_X, MENU_Y + 50, 150, 24, tr("Exit"))
@menu.bitmap.draw_text(5, 5, 150, 20, tr("Ruby #{RUBY_VERSION}"))
@menu.bitmap.draw_text(5, 25, 150, 20, tr("SDL#{SDLVer}"))
@menu.bitmap.draw_text(5, 25, 150, 20, tr("SDL #{SDLVer}"))
if $game_switches[160] && $game_switches[152]
@menu.bitmap.draw_text(MENU_X, MENU_Y + 75, 150, 24, tr("..."))
end

View file

@ -117,7 +117,8 @@ int rgssThreadFun(void *userdata){
bool vsync = conf.vsync || conf.syncToRefreshrate;
SDL_GL_SetSwapInterval(vsync ? 1 : 0);
SDL_SetHint(SDL_HINT_RENDER_VSYNC, vsync ? 1 : 0);
if (vsync)
SDL_SetHint(SDL_HINT_RENDER_VSYNC, "1");
#ifndef NDEBUG
GLDebugLogger dLogger;
@ -222,7 +223,9 @@ int main(int argc, char *argv[]){
SDL_SetHint(SDL_HINT_APP_NAME, "Oneshot: Sunshine");
SDL_SetHint(SDL_HINT_AUDIO_DEVICE_STREAM_NAME, "Oneshot: sunshine");
SDL_SetHint(SDL_HINT_AUDIO_DEVICE_STREAM_ROLE, "Game");
SDL_SetHint(SDL_HINT_VIDEO_X11_ENABLE_XSYNC_EXT, "1");
#if defined(__linux__) && SDL_VERSION_ATLEAST(3, 4, 10)
SDL_SetHint(SDL_HINT_VIDEO_X11_ENABLE_XSYNC_EXT, "1");
#endif
//X11 work on *BSD,Solaris too!
#if defined(__linux__) || defined(BSD) || defined(__sun)
SDL_SetHint(SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR, "0");

View file

@ -812,16 +812,14 @@ struct TilemapPrivate {
void prepareZLayerBatches(){
ZLayer *const *zlayers = elem.zlayers;
for (size_t i = 0; i < elem.activeLayers; ++i)
{
for (size_t i = 0; i < elem.activeLayers; ++i){
ZLayer *batchHead = zlayers[i];
batchHead->batchedFlag = false;
GLsizei vboBatchCount = batchHead->vboCount;
IntruListLink<SceneElement> *iter = &batchHead->link;
for (i = i+1; i < elem.activeLayers; ++i)
{
for (i = i+1; i < elem.activeLayers; ++i){
iter = iter->next;
ZLayer *layer = zlayers[i];
@ -844,8 +842,7 @@ struct TilemapPrivate {
const Vec2i combOrigin = origin + elem.sceneGeo.orig;
const Vec2i mvpPos = getTilePos(combOrigin);
if (mvpPos != viewpPos)
{
if (mvpPos != viewpPos){
viewpPos = mvpPos;
buffersDirty = true;
updateFlashMapViewport();

View file

@ -120,8 +120,7 @@ struct QuadChunk {
: vert(0), count(0)
{}
void setAlpha(float value)
{
void setAlpha(float value){
for (int i = 0; i < count*4; ++i)
vert[i].color.w = value;
}
@ -614,8 +613,7 @@ struct WindowPrivate {
void updateControls(){
bool updateArray = false;
if (active && cursorVert.vert)
{
if (active && cursorVert.vert){
float alpha = cursorAniAlpha[cursorAniAlphaIdx] / 255.0f;
cursorVert.setAlpha(alpha);
@ -623,8 +621,7 @@ struct WindowPrivate {
updateArray = true;
}
if (pause && pauseAniVert.vert)
{
if (pause && pauseAniVert.vert){
float alpha = pauseAniAlpha[pauseAniAlphaIdx] / 255.0f;
FloatRect frameRect = pauseAniSrc[pauseAniQuad[pauseAniQuadIdx]];