Compare commits
22 Commits
integer_sc
...
master
Author | SHA1 | Date |
---|---|---|
Amaryllis Kulla | 2e82b87972 | |
Amaryllis Kulla | dff2a12022 | |
Amaryllis Kulla | 9c6d727152 | |
Amaryllis Kulla | ab24f0fc74 | |
Amaryllis Kulla | 8bdbef1137 | |
Amaryllis Kulla | 985cf1ad4b | |
Amaryllis Kulla | a651639524 | |
Amaryllis Kulla | 1c2dc115b8 | |
Amaryllis Kulla | 3c6bc765c6 | |
Amaryllis Kulla | d71919c2c3 | |
Amaryllis Kulla | e156421b3b | |
Amaryllis Kulla | 5d38b1f813 | |
Amaryllis Kulla | 8fa94c0390 | |
Amaryllis Kulla | 1856e677a3 | |
Amaryllis Kulla | a92adee7f8 | |
Amaryllis Kulla | d09fec941b | |
Amaryllis Kulla | 94009441be | |
Amaryllis Kulla | e32aa71f4b | |
Amaryllis Kulla | e2bbcde85d | |
Amaryllis Kulla | 9cadb91ed1 | |
Amaryllis Kulla | f6db7be538 | |
Amaryllis Kulla | ca71e6ecb7 |
12
README.md
12
README.md
|
@ -1,16 +1,16 @@
|
||||||
# mkxp
|
# mkxp
|
||||||
|
|
||||||
Read: [Future of mkxp](https://gist.github.com/Ancurio/fc568571eaf7dd62c550dc3a08c0d08f)
|
Discord community: https://discord.gg/A8xHE8P
|
||||||
Official discord community: https://discord.gg/A8xHE8P
|
Matrix space: https://matrix.to/#/#mkxp:mapleshrine.eu
|
||||||
|
Further links: https://mapleshrine.eu
|
||||||
|
|
||||||
mkxp is a project that seeks to provide a fully open source implementation of the Ruby Game Scripting System (RGSS) interface used in the popular game creation software "RPG Maker XP", "RPG Maker VX" and "RPG Maker VX Ace" (trademark by Enterbrain, Inc.), with focus on Linux. The goal is to be able to run games created with the above software natively without changing a single file.
|
mkxp is a project that seeks to provide a fully open source implementation of the Ruby Game Scripting System (RGSS) interface used in the popular game creation software "RPG Maker XP", "RPG Maker VX" and "RPG Maker VX Ace" (trademark by Enterbrain, Inc.), with focus on Linux. The goal is to be able to run games created with the above software natively without changing a single file.
|
||||||
|
|
||||||
It is licensed under the GNU General Public License v2+.
|
It is licensed under the GNU General Public License v2+.
|
||||||
|
|
||||||
## Prebuilt binaries
|
## Prebuilt binaries
|
||||||
[**Linux (32bit/64bit)**](http://ancurio.bplaced.net/mkxp/generic/)
|
[**Linux / Windows**](https://www.mapleshrine.eu/releases/)
|
||||||
[**OSX**](https://app.box.com/mkxpmacbuilds) by Ali
|
[**OSX**](https://app.box.com/mkxpmacbuilds) by Ali
|
||||||
[**Windows (mingw-w64 32bit)**](http://ancurio.bplaced.net/mkxp/mingw32/)
|
|
||||||
|
|
||||||
## Should I use mkxp
|
## Should I use mkxp
|
||||||
mkxp primarily targets technically versed users that are comfortable with Ruby / RGSS, and ideally know how to compile the project themselves. The reason for this is that for most games, due to Win32-API usage, mkxp is simply not a plug-and-play solution, but a building block with which a fully cross-platform version can be created in time.
|
mkxp primarily targets technically versed users that are comfortable with Ruby / RGSS, and ideally know how to compile the project themselves. The reason for this is that for most games, due to Win32-API usage, mkxp is simply not a plug-and-play solution, but a building block with which a fully cross-platform version can be created in time.
|
||||||
|
@ -89,7 +89,7 @@ To run mkxp, you should have a graphics card capable of at least **OpenGL (ES) 2
|
||||||
|
|
||||||
## Dependency kit
|
## Dependency kit
|
||||||
|
|
||||||
To facilitate hacking, I have assembled a package containing all dependencies to compile mkxp on a bare-bones Ubuntu 12.04 64bit installation. Compatibility with other distributions has not been tested. You can download it [here](https://www.dropbox.com/s/mtp44ur367m2zts/mkxp-depkit.tar.xz). Read the "README" for instructions.
|
To facilitate hacking, I have assembled a package containing all dependencies to compile mkxp on a bare-bones Ubuntu 12.04 64bit installation. Compatibility with other distributions has not been tested. You can download it [here](https://mapleshrine.eu/depkits/linux64.tar.xz). Read the "README" for instructions.
|
||||||
|
|
||||||
## Configuration
|
## Configuration
|
||||||
|
|
||||||
|
@ -105,7 +105,7 @@ Example: `./mkxp --gameFolder="my game" --vsync=true --fixedFramerate=60`
|
||||||
|
|
||||||
mkxp doesn't come with a soundfont by default, so you will have to supply it yourself (set its path in the config). Playback has been tested and should work reasonably well with all RTP assets.
|
mkxp doesn't come with a soundfont by default, so you will have to supply it yourself (set its path in the config). Playback has been tested and should work reasonably well with all RTP assets.
|
||||||
|
|
||||||
You can use this public domain soundfont: [GMGSx.sf2](https://www.dropbox.com/s/qxdvoxxcexsvn43/GMGSx.sf2?dl=0)
|
You can use this public domain soundfont: [GMGSx.sf2](https://mapleshrine.eu/unsorted/GMGSx.sf2)
|
||||||
|
|
||||||
## Fonts
|
## Fonts
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
@ -433,6 +433,40 @@ RB_METHOD(bitmapInitializeCopy)
|
||||||
return self;
|
return self;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RB_METHOD(bitmapWriteToPng)
|
||||||
|
{
|
||||||
|
Bitmap *b = getPrivateData<Bitmap>(self);
|
||||||
|
const char *filename;
|
||||||
|
|
||||||
|
rb_get_args(argc, argv, "z", &filename RB_ARG_END);
|
||||||
|
|
||||||
|
b->writeToPng(filename);
|
||||||
|
|
||||||
|
return self;
|
||||||
|
}
|
||||||
|
|
||||||
|
RB_METHOD(bitmapVFlip)
|
||||||
|
{
|
||||||
|
RB_UNUSED_PARAM;
|
||||||
|
|
||||||
|
Bitmap *b = getPrivateData<Bitmap>(self);
|
||||||
|
|
||||||
|
b->vFlip();
|
||||||
|
|
||||||
|
return Qnil;
|
||||||
|
}
|
||||||
|
|
||||||
|
RB_METHOD(bitmapHFlip)
|
||||||
|
{
|
||||||
|
RB_UNUSED_PARAM;
|
||||||
|
|
||||||
|
Bitmap *b = getPrivateData<Bitmap>(self);
|
||||||
|
|
||||||
|
b->hFlip();
|
||||||
|
|
||||||
|
return Qnil;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
bitmapBindingInit()
|
bitmapBindingInit()
|
||||||
|
@ -466,5 +500,9 @@ bitmapBindingInit()
|
||||||
_rb_define_method(klass, "radial_blur", bitmapRadialBlur);
|
_rb_define_method(klass, "radial_blur", bitmapRadialBlur);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_rb_define_method(klass, "write_to_png", bitmapWriteToPng);
|
||||||
|
_rb_define_method(klass, "v_flip", bitmapVFlip);
|
||||||
|
_rb_define_method(klass, "h_flip", bitmapHFlip);
|
||||||
|
|
||||||
INIT_PROP_BIND(Bitmap, Font, "font");
|
INIT_PROP_BIND(Bitmap, Font, "font");
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
@ -20,6 +20,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "graphics.h"
|
#include "graphics.h"
|
||||||
|
#include "eventthread.h"
|
||||||
#include "sharedstate.h"
|
#include "sharedstate.h"
|
||||||
#include "binding-util.h"
|
#include "binding-util.h"
|
||||||
#include "binding-types.h"
|
#include "binding-types.h"
|
||||||
|
@ -195,6 +196,19 @@ RB_METHOD(graphicsPlayMovie)
|
||||||
return Qnil;
|
return Qnil;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RB_METHOD(graphicsResizeWindow)
|
||||||
|
{
|
||||||
|
RB_UNUSED_PARAM;
|
||||||
|
|
||||||
|
int width, height;
|
||||||
|
bool recenter = false;
|
||||||
|
rb_get_args(argc, argv, "ii|b", &width, &height, &recenter RB_ARG_END);
|
||||||
|
|
||||||
|
shState->eThread().requestWindowResize(width, height, recenter);
|
||||||
|
|
||||||
|
return Qnil;
|
||||||
|
}
|
||||||
|
|
||||||
DEF_GRA_PROP_I(FrameRate)
|
DEF_GRA_PROP_I(FrameRate)
|
||||||
DEF_GRA_PROP_I(FrameCount)
|
DEF_GRA_PROP_I(FrameCount)
|
||||||
DEF_GRA_PROP_I(Brightness)
|
DEF_GRA_PROP_I(Brightness)
|
||||||
|
@ -252,4 +266,6 @@ void graphicsBindingInit()
|
||||||
|
|
||||||
INIT_GRA_PROP_BIND( Fullscreen, "fullscreen" );
|
INIT_GRA_PROP_BIND( Fullscreen, "fullscreen" );
|
||||||
INIT_GRA_PROP_BIND( ShowCursor, "show_cursor" );
|
INIT_GRA_PROP_BIND( ShowCursor, "show_cursor" );
|
||||||
|
|
||||||
|
_rb_define_module_function(module, "resize_window", graphicsResizeWindow);
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
@ -115,6 +115,13 @@ RB_METHOD(inputMouseY)
|
||||||
return rb_fix_new(shState->input().mouseY());
|
return rb_fix_new(shState->input().mouseY());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
RB_METHOD(inputScrollV)
|
||||||
|
{
|
||||||
|
RB_UNUSED_PARAM;
|
||||||
|
|
||||||
|
return rb_fix_new(shState->input().scrollV());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
|
@ -149,7 +156,9 @@ static buttonCodes[] =
|
||||||
|
|
||||||
{ "MOUSELEFT", Input::MouseLeft },
|
{ "MOUSELEFT", Input::MouseLeft },
|
||||||
{ "MOUSEMIDDLE", Input::MouseMiddle },
|
{ "MOUSEMIDDLE", Input::MouseMiddle },
|
||||||
{ "MOUSERIGHT", Input::MouseRight }
|
{ "MOUSERIGHT", Input::MouseRight },
|
||||||
|
{ "MOUSEX1", Input::MouseX1 },
|
||||||
|
{ "MOUSEX2", Input::MouseX2 }
|
||||||
};
|
};
|
||||||
|
|
||||||
static elementsN(buttonCodes);
|
static elementsN(buttonCodes);
|
||||||
|
@ -168,6 +177,7 @@ inputBindingInit()
|
||||||
|
|
||||||
_rb_define_module_function(module, "mouse_x", inputMouseX);
|
_rb_define_module_function(module, "mouse_x", inputMouseX);
|
||||||
_rb_define_module_function(module, "mouse_y", inputMouseY);
|
_rb_define_module_function(module, "mouse_y", inputMouseY);
|
||||||
|
_rb_define_module_function(module, "scroll_v", inputScrollV);
|
||||||
|
|
||||||
if (rgssVer >= 3)
|
if (rgssVer >= 3)
|
||||||
{
|
{
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2014 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -0,0 +1,64 @@
|
||||||
|
SDL = {
|
||||||
|
:UNKNOWN => 0x00,
|
||||||
|
:A => 0x04, :B => 0x05, :C => 0x06, :D => 0x07,
|
||||||
|
:E => 0x08, :F => 0x09, :G => 0x0A, :H => 0x0B,
|
||||||
|
:I => 0x0C, :J => 0x0D, :K => 0x0E, :L => 0x0F,
|
||||||
|
:M => 0x10, :N => 0x11, :O => 0x12, :P => 0x13,
|
||||||
|
:Q => 0x14, :R => 0x15, :S => 0x16, :T => 0x17,
|
||||||
|
:U => 0x18, :V => 0x19, :W => 0x1A, :X => 0x1B,
|
||||||
|
:Y => 0x1C, :Z => 0x1D, :N1 => 0x1E, :N2 => 0x1F,
|
||||||
|
:N3 => 0x20, :N4 => 0x21, :N5 => 0x22, :N6 => 0x23,
|
||||||
|
:N7 => 0x24, :N8 => 0x25, :N9 => 0x26, :N0 => 0x27,
|
||||||
|
:RETURN => 0x28, :ESCAPE => 0x29, :BACKSPACE => 0x2A, :TAB => 0x2B,
|
||||||
|
:SPACE => 0x2C, :MINUS => 0x2D, :EQUALS => 0x2E, :LEFTBRACKET => 0x2F,
|
||||||
|
:RIGHTBRACKET => 0x30, :BACKSLASH => 0x31, :NONUSHASH => 0x32, :SEMICOLON => 0x33,
|
||||||
|
:APOSTROPHE => 0x34, :GRAVE => 0x35, :COMMA => 0x36, :PERIOD => 0x37,
|
||||||
|
:SLASH => 0x38, :CAPSLOCK => 0x39, :F1 => 0x3A, :F2 => 0x3B,
|
||||||
|
:F3 => 0x3C, :F4 => 0x3D, :F5 => 0x3E, :F6 => 0x3F,
|
||||||
|
:F7 => 0x40, :F8 => 0x41, :F9 => 0x42, :F10 => 0x43,
|
||||||
|
:F11 => 0x44, :F12 => 0x45, :PRINTSCREEN => 0x46, :SCROLLLOCK => 0x47,
|
||||||
|
:PAUSE => 0x48, :INSERT => 0x49, :HOME => 0x4A, :PAGEUP => 0x4B,
|
||||||
|
:DELETE => 0x4C, :END => 0x4D, :PAGEDOWN => 0x4E, :RIGHT => 0x4F,
|
||||||
|
:LEFT => 0x50, :DOWN => 0x51, :UP => 0x52, :NUMLOCKCLEAR => 0x53,
|
||||||
|
:KP_DIVIDE => 0x54, :KP_MULTIPLY => 0x55, :KP_MINUS => 0x56, :KP_PLUS => 0x57,
|
||||||
|
:KP_ENTER => 0x58, :KP_1 => 0x59, :KP_2 => 0x5A, :KP_3 => 0x5B,
|
||||||
|
:KP_4 => 0x5C, :KP_5 => 0x5D, :KP_6 => 0x5E, :KP_7 => 0x5F,
|
||||||
|
:KP_8 => 0x60, :KP_9 => 0x61, :KP_0 => 0x62, :KP_PERIOD => 0x63,
|
||||||
|
:NONUSBACKSLASH => 0x64, :APPLICATION => 0x65, :POWER => 0x66, :KP_EQUALS => 0x67,
|
||||||
|
:F13 => 0x68, :F14 => 0x69, :F15 => 0x6A, :F16 => 0x6B,
|
||||||
|
:F17 => 0x6C, :F18 => 0x6D, :F19 => 0x6E, :F20 => 0x6F,
|
||||||
|
:F21 => 0x70, :F22 => 0x71, :F23 => 0x72, :F24 => 0x73,
|
||||||
|
:EXECUTE => 0x74, :HELP => 0x75, :MENU => 0x76, :SELECT => 0x77,
|
||||||
|
:STOP => 0x78, :AGAIN => 0x79, :UNDO => 0x7A, :CUT => 0x7B,
|
||||||
|
:COPY => 0x7C, :PASTE => 0x7D, :FIND => 0x7E, :MUTE => 0x7F,
|
||||||
|
:VOLUMEUP => 0x80, :VOLUMEDOWN => 0x81, :LOCKINGCAPSLOCK => 0x82, :LOCKINGNUMLOCK => 0x83,
|
||||||
|
:LOCKINGSCROLLLOCK => 0x84, :KP_COMMA => 0x85, :KP_EQUALSAS400 => 0x86, :INTERNATIONAL1 => 0x87,
|
||||||
|
:INTERNATIONAL2 => 0x88, :INTERNATIONAL3 => 0x89, :INTERNATIONAL4 => 0x8A, :INTERNATIONAL5 => 0x8B,
|
||||||
|
:INTERNATIONAL6 => 0x8C, :INTERNATIONAL7 => 0x8D, :INTERNATIONAL8 => 0x8E, :INTERNATIONAL9 => 0x8F,
|
||||||
|
:LANG1 => 0x90, :LANG2 => 0x91, :LANG3 => 0x92, :LANG4 => 0x93,
|
||||||
|
:LANG5 => 0x94, :LANG6 => 0x95, :LANG7 => 0x96, :LANG8 => 0x97,
|
||||||
|
:LANG9 => 0x98, :ALTERASE => 0x99, :SYSREQ => 0x9A, :CANCEL => 0x9B,
|
||||||
|
:CLEAR => 0x9C, :PRIOR => 0x9D, :RETURN2 => 0x9E, :SEPARATOR => 0x9F,
|
||||||
|
:OUT => 0xA0, :OPER => 0xA1, :CLEARAGAIN => 0xA2, :CRSEL => 0xA3,
|
||||||
|
:EXSEL => 0xA4, :KP_00 => 0xB0, :KP_000 => 0xB1, :THOUSANDSSEPARATOR => 0xB2,
|
||||||
|
:DECIMALSEPARATOR => 0xB3, :CURRENCYUNIT => 0xB4, :CURRENCYSUBUNIT => 0xB5, :KP_LEFTPAREN => 0xB6,
|
||||||
|
:KP_RIGHTPAREN => 0xB7, :KP_LEFTBRACE => 0xB8, :KP_RIGHTBRACE => 0xB9, :KP_TAB => 0xBA,
|
||||||
|
:KP_BACKSPACE => 0xBB, :KP_A => 0xBC, :KP_B => 0xBD, :KP_C => 0xBE,
|
||||||
|
:KP_D => 0xBF, :KP_E => 0xC0, :KP_F => 0xC1, :KP_XOR => 0xC2,
|
||||||
|
:KP_POWER => 0xC3, :KP_PERCENT => 0xC4, :KP_LESS => 0xC5, :KP_GREATER => 0xC6,
|
||||||
|
:KP_AMPERSAND => 0xC7, :KP_DBLAMPERSAND => 0xC8, :KP_VERTICALBAR => 0xC9, :KP_DBLVERTICALBAR => 0xCA,
|
||||||
|
:KP_COLON => 0xCB, :KP_HASH => 0xCC, :KP_SPACE => 0xCD, :KP_AT => 0xCE,
|
||||||
|
:KP_EXCLAM => 0xCF, :KP_MEMSTORE => 0xD0, :KP_MEMRECALL => 0xD1, :KP_MEMCLEAR => 0xD2,
|
||||||
|
:KP_MEMADD => 0xD3, :KP_MEMSUBTRACT => 0xD4, :KP_MEMMULTIPLY => 0xD5, :KP_MEMDIVIDE => 0xD6,
|
||||||
|
:KP_PLUSMINUS => 0xD7, :KP_CLEAR => 0xD8, :KP_CLEARENTRY => 0xD9, :KP_BINARY => 0xDA,
|
||||||
|
:KP_OCTAL => 0xDB, :KP_DECIMAL => 0xDC, :KP_HEXADECIMAL => 0xDD, :LCTRL => 0xE0,
|
||||||
|
:LSHIFT => 0xE1, :LALT => 0xE2, :LGUI => 0xE3, :RCTRL => 0xE4,
|
||||||
|
:RSHIFT => 0xE5, :RALT => 0xE6, :RGUI => 0xE7, :MODE => 0x101,
|
||||||
|
:AUDIONEXT => 0x102, :AUDIOPREV => 0x103, :AUDIOSTOP => 0x104, :AUDIOPLAY => 0x105,
|
||||||
|
:AUDIOMUTE => 0x106, :MEDIASELECT => 0x107, :WWW => 0x108, :MAIL => 0x109,
|
||||||
|
:CALCULATOR => 0x10A, :COMPUTER => 0x10B, :AC_SEARCH => 0x10C, :AC_HOME => 0x10D,
|
||||||
|
:AC_BACK => 0x10E, :AC_FORWARD => 0x10F, :AC_STOP => 0x110, :AC_REFRESH => 0x111,
|
||||||
|
:AC_BOOKMARKS => 0x112, :BRIGHTNESSDOWN => 0x113, :BRIGHTNESSUP => 0x114, :DISPLAYSWITCH => 0x115,
|
||||||
|
:KBDILLUMTOGGLE => 0x116, :KBDILLUMDOWN => 0x117, :KBDILLUMUP => 0x118, :EJECT => 0x119,
|
||||||
|
:SLEEP => 0x11A, :APP1 => 0x11B, :APP2 => 0x11C,
|
||||||
|
}
|
|
@ -0,0 +1,48 @@
|
||||||
|
# mkxp extenions for Dancing Dragon Games / Symphony of War
|
||||||
|
|
||||||
|
## Graphics.resize_window(width, height, recenter)
|
||||||
|
width: Integer
|
||||||
|
height: Integer
|
||||||
|
recenter: Boolean, false by default
|
||||||
|
returns: nil
|
||||||
|
|
||||||
|
Resizes the game window to width x height. If `recenter` is **true**, also center the window on the current screen.
|
||||||
|
|
||||||
|
## Bitmap.write_to_png(filename)
|
||||||
|
filename: String
|
||||||
|
returns: self
|
||||||
|
|
||||||
|
Writes the contents of the bitmap to `filename`, in PNG format.
|
||||||
|
|
||||||
|
## Bitmap.v_flip() / .h_flip()
|
||||||
|
returns: nil
|
||||||
|
|
||||||
|
Flips the bitmap image vertically / horizontally.
|
||||||
|
|
||||||
|
## Input.scroll_v()
|
||||||
|
returns: Integer
|
||||||
|
|
||||||
|
Returns the cumulative amount of scroll events (negative if down, positive if up) inbetween the current and last `Input.update` call.
|
||||||
|
|
||||||
|
## Input::MOUSEX1 / ::MOUSEX2
|
||||||
|
|
||||||
|
These two constants representing two extra mouse buttons can be passed to the familiar #press?/#trigger?/#repeat? functions.
|
||||||
|
|
||||||
|
## MKXP.data_directory()
|
||||||
|
returns: String
|
||||||
|
|
||||||
|
Provides a PC-user-dependant, game-specific path to a writable directory, intended for save states, configuration and similar.
|
||||||
|
In `mkxp.conf`, both `dataPathOrg` and `dataPathApp` keys need to be set, otherwise it returns a generic directory shared by all mkxp games. It is recommended (though not required) to not put any spaces in the config strings.
|
||||||
|
Real life example:
|
||||||
|
```
|
||||||
|
dataPathOrg=dancingdragon
|
||||||
|
dataPathApp=skyborn
|
||||||
|
```
|
||||||
|
|
||||||
|
## MKXP.mouse_in_window()
|
||||||
|
returns: Boolean
|
||||||
|
|
||||||
|
Returns true if the mouse cursor is currently within the game window, false otherwise.
|
||||||
|
|
||||||
|
## Arbitrary key states
|
||||||
|
Use `MKXP.raw_key_states` to get the current byte array of keystates, then call `#getbyte(scancode)` with `scancode` being one of the constants defined in `SDL_scancode_map.rb`. **0** means the key is released, **1** that it is pressed.
|
|
@ -0,0 +1,100 @@
|
||||||
|
SOURCES=(
|
||||||
|
src/main.cpp
|
||||||
|
src/audio.cpp
|
||||||
|
src/bitmap.cpp
|
||||||
|
src/eventthread.cpp
|
||||||
|
src/filesystem.cpp
|
||||||
|
src/font.cpp
|
||||||
|
src/iniconfig.cpp
|
||||||
|
src/input.cpp
|
||||||
|
src/plane.cpp
|
||||||
|
src/scene.cpp
|
||||||
|
src/sprite.cpp
|
||||||
|
src/table.cpp
|
||||||
|
src/tilequad.cpp
|
||||||
|
src/viewport.cpp
|
||||||
|
src/window.cpp
|
||||||
|
src/texpool.cpp
|
||||||
|
src/shader.cpp
|
||||||
|
src/glstate.cpp
|
||||||
|
src/tilemap.cpp
|
||||||
|
src/autotiles.cpp
|
||||||
|
src/graphics.cpp
|
||||||
|
src/gl-debug.cpp
|
||||||
|
src/etc.cpp
|
||||||
|
src/config.cpp
|
||||||
|
src/settingsmenu.cpp
|
||||||
|
src/keybindings.cpp
|
||||||
|
src/tileatlas.cpp
|
||||||
|
src/sharedstate.cpp
|
||||||
|
src/gl-fun.cpp
|
||||||
|
src/gl-meta.cpp
|
||||||
|
src/vertex.cpp
|
||||||
|
src/soundemitter.cpp
|
||||||
|
src/sdlsoundsource.cpp
|
||||||
|
src/alstream.cpp
|
||||||
|
src/audiostream.cpp
|
||||||
|
src/rgssad.cpp
|
||||||
|
src/bundledfont.cpp
|
||||||
|
src/vorbissource.cpp
|
||||||
|
src/windowvx.cpp
|
||||||
|
src/tilemapvx.cpp
|
||||||
|
src/tileatlasvx.cpp
|
||||||
|
src/autotilesvx.cpp
|
||||||
|
src/midisource.cpp
|
||||||
|
src/fluid-fun.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
SOURCES_C=(
|
||||||
|
steamshim/steamshim_child.c
|
||||||
|
)
|
||||||
|
|
||||||
|
MRI_SOURCES=(
|
||||||
|
binding-mri/binding-mri.cpp
|
||||||
|
binding-mri/binding-util.cpp
|
||||||
|
binding-mri/table-binding.cpp
|
||||||
|
binding-mri/etc-binding.cpp
|
||||||
|
binding-mri/bitmap-binding.cpp
|
||||||
|
binding-mri/font-binding.cpp
|
||||||
|
binding-mri/graphics-binding.cpp
|
||||||
|
binding-mri/input-binding.cpp
|
||||||
|
binding-mri/sprite-binding.cpp
|
||||||
|
binding-mri/viewport-binding.cpp
|
||||||
|
binding-mri/plane-binding.cpp
|
||||||
|
binding-mri/window-binding.cpp
|
||||||
|
binding-mri/tilemap-binding.cpp
|
||||||
|
binding-mri/audio-binding.cpp
|
||||||
|
binding-mri/module_rpg.cpp
|
||||||
|
binding-mri/filesystem-binding.cpp
|
||||||
|
binding-mri/windowvx-binding.cpp
|
||||||
|
binding-mri/tilemapvx-binding.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
EMBED=(
|
||||||
|
shader/common.h
|
||||||
|
shader/transSimple.frag
|
||||||
|
shader/trans.frag
|
||||||
|
shader/hue.frag
|
||||||
|
shader/sprite.frag
|
||||||
|
shader/plane.frag
|
||||||
|
shader/gray.frag
|
||||||
|
shader/bitmapBlit.frag
|
||||||
|
shader/flatColor.frag
|
||||||
|
shader/simple.frag
|
||||||
|
shader/simpleColor.frag
|
||||||
|
shader/simpleAlpha.frag
|
||||||
|
shader/simpleAlphaUni.frag
|
||||||
|
shader/flashMap.frag
|
||||||
|
shader/minimal.vert
|
||||||
|
shader/simple.vert
|
||||||
|
shader/simpleColor.vert
|
||||||
|
shader/sprite.vert
|
||||||
|
shader/tilemap.vert
|
||||||
|
shader/blur.frag
|
||||||
|
shader/blurH.vert
|
||||||
|
shader/blurV.vert
|
||||||
|
shader/simpleMatrix.vert
|
||||||
|
shader/tilemapvx.vert
|
||||||
|
assets/liberation.ttf
|
||||||
|
assets/icon.png
|
||||||
|
)
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2014 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2014 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2014 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2014 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2014 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
@ -245,6 +245,48 @@ struct BitmapPrivate
|
||||||
|
|
||||||
self->modified();
|
self->modified();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void downloadToSurface()
|
||||||
|
{
|
||||||
|
if (!surface)
|
||||||
|
allocSurface();
|
||||||
|
|
||||||
|
FBO::bind(gl.fbo);
|
||||||
|
|
||||||
|
glState.viewport.pushSet(IntRect(0, 0, gl.width, gl.height));
|
||||||
|
|
||||||
|
::gl.ReadPixels(0, 0, gl.width, gl.height, GL_RGBA, GL_UNSIGNED_BYTE, surface->pixels);
|
||||||
|
|
||||||
|
glState.viewport.pop();
|
||||||
|
}
|
||||||
|
|
||||||
|
void flip(const IntRect &srcRect)
|
||||||
|
{
|
||||||
|
TEXFBO newTex = shState->texPool().request(gl.width, gl.height);
|
||||||
|
|
||||||
|
SimpleShader &shader = shState->shaders().simple;
|
||||||
|
shader.bind();
|
||||||
|
shader.setTexOffsetX(0);
|
||||||
|
bindTexture(shader);
|
||||||
|
|
||||||
|
Quad &quad = shState->gpQuad();
|
||||||
|
quad.setTexPosRect(srcRect, IntRect(0, 0, gl.width, gl.height));
|
||||||
|
quad.setColor(Vec4(1, 1, 1, 1));
|
||||||
|
|
||||||
|
glState.blend.pushSet(false);
|
||||||
|
pushSetViewport(shader);
|
||||||
|
|
||||||
|
FBO::bind(newTex.fbo);
|
||||||
|
blitQuad(quad);
|
||||||
|
|
||||||
|
popViewport();
|
||||||
|
glState.blend.pop();
|
||||||
|
|
||||||
|
shState->texPool().release(gl);
|
||||||
|
gl = newTex;
|
||||||
|
|
||||||
|
onModified();
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
struct BitmapOpenHandler : FileSystem::OpenHandler
|
struct BitmapOpenHandler : FileSystem::OpenHandler
|
||||||
|
@ -901,17 +943,7 @@ Color Bitmap::getPixel(int x, int y) const
|
||||||
return Vec4();
|
return Vec4();
|
||||||
|
|
||||||
if (!p->surface)
|
if (!p->surface)
|
||||||
{
|
p->downloadToSurface();
|
||||||
p->allocSurface();
|
|
||||||
|
|
||||||
FBO::bind(p->gl.fbo);
|
|
||||||
|
|
||||||
glState.viewport.pushSet(IntRect(0, 0, width(), height()));
|
|
||||||
|
|
||||||
gl.ReadPixels(0, 0, width(), height(), GL_RGBA, GL_UNSIGNED_BYTE, p->surface->pixels);
|
|
||||||
|
|
||||||
glState.viewport.pop();
|
|
||||||
}
|
|
||||||
|
|
||||||
uint32_t pixel = getPixelAt(p->surface, p->format, x, y);
|
uint32_t pixel = getPixelAt(p->surface, p->format, x, y);
|
||||||
|
|
||||||
|
@ -1400,6 +1432,28 @@ void Bitmap::setInitFont(Font *value)
|
||||||
p->font = value;
|
p->font = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void Bitmap::writeToPng(const char *filename)
|
||||||
|
{
|
||||||
|
p->downloadToSurface();
|
||||||
|
IMG_SavePNG(p->surface, filename);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Bitmap::vFlip()
|
||||||
|
{
|
||||||
|
guardDisposed();
|
||||||
|
GUARD_MEGA;
|
||||||
|
|
||||||
|
p->flip(IntRect(0, p->gl.height, p->gl.width, -p->gl.height));
|
||||||
|
}
|
||||||
|
|
||||||
|
void Bitmap::hFlip()
|
||||||
|
{
|
||||||
|
guardDisposed();
|
||||||
|
GUARD_MEGA;
|
||||||
|
|
||||||
|
p->flip(IntRect(p->gl.width, 0, -p->gl.width, p->gl.height));
|
||||||
|
}
|
||||||
|
|
||||||
TEXFBO &Bitmap::getGLTypes()
|
TEXFBO &Bitmap::getGLTypes()
|
||||||
{
|
{
|
||||||
return p->gl;
|
return p->gl;
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
@ -105,6 +105,12 @@ public:
|
||||||
* use at construction */
|
* use at construction */
|
||||||
void setInitFont(Font *value);
|
void setInitFont(Font *value);
|
||||||
|
|
||||||
|
/* extensions */
|
||||||
|
void writeToPng(const char *filename);
|
||||||
|
|
||||||
|
void vFlip();
|
||||||
|
void hFlip();
|
||||||
|
|
||||||
/* <internal> */
|
/* <internal> */
|
||||||
TEXFBO &getGLTypes();
|
TEXFBO &getGLTypes();
|
||||||
SDL_Surface *megaSurface() const;
|
SDL_Surface *megaSurface() const;
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
@ -73,6 +73,7 @@ uint8_t EventThread::keyStates[];
|
||||||
EventThread::JoyState EventThread::joyState;
|
EventThread::JoyState EventThread::joyState;
|
||||||
EventThread::MouseState EventThread::mouseState;
|
EventThread::MouseState EventThread::mouseState;
|
||||||
EventThread::TouchState EventThread::touchState;
|
EventThread::TouchState EventThread::touchState;
|
||||||
|
SDL_atomic_t EventThread::verticalScrollDistance;
|
||||||
|
|
||||||
/* User event codes */
|
/* User event codes */
|
||||||
enum
|
enum
|
||||||
|
@ -100,6 +101,36 @@ bool EventThread::allocUserEvents()
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void writeResizeRequest(SDL_WindowEvent &event, int w, int h, bool recenter)
|
||||||
|
{
|
||||||
|
event.data1 = w;
|
||||||
|
event.data2 = h;
|
||||||
|
event.padding3 = recenter ? 1 : 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void handleResizeRequest(SDL_Window *win, SDL_WindowEvent &event)
|
||||||
|
{
|
||||||
|
int newWidth = event.data1;
|
||||||
|
int newHeight = event.data2;
|
||||||
|
bool recenter = event.padding3 == 1;
|
||||||
|
|
||||||
|
if (recenter)
|
||||||
|
{
|
||||||
|
int display = SDL_GetWindowDisplayIndex(win);
|
||||||
|
if (display >= 0)
|
||||||
|
{
|
||||||
|
SDL_DisplayMode dm;
|
||||||
|
SDL_GetDesktopDisplayMode(display, &dm);
|
||||||
|
int newX = (dm.w - newWidth) / 2;
|
||||||
|
int newY = (dm.h - newHeight) / 2;
|
||||||
|
|
||||||
|
SDL_SetWindowPosition(win, newX, newY);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
SDL_SetWindowSize(win, newWidth, newHeight);
|
||||||
|
}
|
||||||
|
|
||||||
EventThread::EventThread()
|
EventThread::EventThread()
|
||||||
: fullscreen(false),
|
: fullscreen(false),
|
||||||
showCursor(false)
|
showCursor(false)
|
||||||
|
@ -184,6 +215,9 @@ void EventThread::process(RGSSThreadData &rtData)
|
||||||
{
|
{
|
||||||
case SDL_MOUSEBUTTONDOWN :
|
case SDL_MOUSEBUTTONDOWN :
|
||||||
case SDL_MOUSEBUTTONUP :
|
case SDL_MOUSEBUTTONUP :
|
||||||
|
if (event.button.button == 8 || event.button.button == 9)
|
||||||
|
event.button.button -= (8 - SDL_BUTTON_X1);
|
||||||
|
|
||||||
case SDL_MOUSEMOTION :
|
case SDL_MOUSEMOTION :
|
||||||
if (event.button.which == SDL_TOUCH_MOUSEID)
|
if (event.button.which == SDL_TOUCH_MOUSEID)
|
||||||
continue;
|
continue;
|
||||||
|
@ -380,6 +414,11 @@ void EventThread::process(RGSSThreadData &rtData)
|
||||||
updateCursorState(cursorInWindow, gameScreen);
|
updateCursorState(cursorInWindow, gameScreen);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case SDL_MOUSEWHEEL :
|
||||||
|
/* Only consider vertical scrolling for now */
|
||||||
|
SDL_AtomicAdd(&verticalScrollDistance, event.wheel.y);
|
||||||
|
break;
|
||||||
|
|
||||||
case SDL_FINGERDOWN :
|
case SDL_FINGERDOWN :
|
||||||
i = event.tfinger.fingerId;
|
i = event.tfinger.fingerId;
|
||||||
touchState.fingers[i].down = true;
|
touchState.fingers[i].down = true;
|
||||||
|
@ -404,7 +443,7 @@ void EventThread::process(RGSSThreadData &rtData)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case REQUEST_WINRESIZE :
|
case REQUEST_WINRESIZE :
|
||||||
SDL_SetWindowSize(win, event.window.data1, event.window.data2);
|
handleResizeRequest(win, event.window);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case REQUEST_MESSAGEBOX :
|
case REQUEST_MESSAGEBOX :
|
||||||
|
@ -575,12 +614,11 @@ void EventThread::requestFullscreenMode(bool mode)
|
||||||
SDL_PushEvent(&event);
|
SDL_PushEvent(&event);
|
||||||
}
|
}
|
||||||
|
|
||||||
void EventThread::requestWindowResize(int width, int height)
|
void EventThread::requestWindowResize(int width, int height, bool recenter)
|
||||||
{
|
{
|
||||||
SDL_Event event;
|
SDL_Event event;
|
||||||
event.type = usrIdStart + REQUEST_WINRESIZE;
|
event.type = usrIdStart + REQUEST_WINRESIZE;
|
||||||
event.window.data1 = width;
|
writeResizeRequest(event.window, width, height, recenter);
|
||||||
event.window.data2 = height;
|
|
||||||
SDL_PushEvent(&event);
|
SDL_PushEvent(&event);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
@ -31,6 +31,7 @@
|
||||||
#include <SDL_joystick.h>
|
#include <SDL_joystick.h>
|
||||||
#include <SDL_mouse.h>
|
#include <SDL_mouse.h>
|
||||||
#include <SDL_mutex.h>
|
#include <SDL_mutex.h>
|
||||||
|
#include <SDL_atomic.h>
|
||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
@ -76,6 +77,7 @@ public:
|
||||||
static JoyState joyState;
|
static JoyState joyState;
|
||||||
static MouseState mouseState;
|
static MouseState mouseState;
|
||||||
static TouchState touchState;
|
static TouchState touchState;
|
||||||
|
static SDL_atomic_t verticalScrollDistance;
|
||||||
|
|
||||||
static bool allocUserEvents();
|
static bool allocUserEvents();
|
||||||
|
|
||||||
|
@ -86,7 +88,7 @@ public:
|
||||||
|
|
||||||
/* Called from RGSS thread */
|
/* Called from RGSS thread */
|
||||||
void requestFullscreenMode(bool mode);
|
void requestFullscreenMode(bool mode);
|
||||||
void requestWindowResize(int width, int height);
|
void requestWindowResize(int width, int height, bool recenter = false);
|
||||||
void requestShowCursor(bool mode);
|
void requestShowCursor(bool mode);
|
||||||
|
|
||||||
void requestTerminate();
|
void requestTerminate();
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2014 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2014 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2014 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2014 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
@ -119,7 +119,7 @@ GLState::GLState(const Config &conf)
|
||||||
blendMode.init(BlendNormal);
|
blendMode.init(BlendNormal);
|
||||||
blend.init(true);
|
blend.init(true);
|
||||||
scissorTest.init(false);
|
scissorTest.init(false);
|
||||||
scissorBox.init(IntRect(0, 0, 640, 480));
|
scissorBox.init(IntRect());
|
||||||
program.init(0);
|
program.init(0);
|
||||||
|
|
||||||
if (conf.maxTextureSize > 0)
|
if (conf.maxTextureSize > 0)
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
@ -152,6 +152,7 @@ public:
|
||||||
pp.startRender();
|
pp.startRender();
|
||||||
|
|
||||||
glState.viewport.set(IntRect(0, 0, w, h));
|
glState.viewport.set(IntRect(0, 0, w, h));
|
||||||
|
glState.scissorBox.pushSet(IntRect(0, 0, w, h));
|
||||||
|
|
||||||
FBO::clear();
|
FBO::clear();
|
||||||
|
|
||||||
|
@ -166,6 +167,8 @@ public:
|
||||||
|
|
||||||
brightnessQuad.draw();
|
brightnessQuad.draw();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
glState.scissorBox.pop();
|
||||||
}
|
}
|
||||||
|
|
||||||
void requestViewportRender(const Vec4 &c, const Vec4 &f, const Vec4 &t)
|
void requestViewportRender(const Vec4 &c, const Vec4 &f, const Vec4 &t)
|
||||||
|
@ -555,7 +558,6 @@ struct GraphicsPrivate
|
||||||
scOffset.y = (winSize.y - scRes.y * integerScaleFactor.y) / 2;
|
scOffset.y = (winSize.y - scRes.y * integerScaleFactor.y) / 2;
|
||||||
|
|
||||||
scSize = Vec2i(scRes.x * integerScaleFactor.x, scRes.y * integerScaleFactor.y);
|
scSize = Vec2i(scRes.x * integerScaleFactor.x, scRes.y * integerScaleFactor.y);
|
||||||
Debug() << scOffset.x << scOffset.y << winSize.x << winSize.y << integerScaleFactor.x << integerScaleFactor.y;
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -578,8 +580,6 @@ struct GraphicsPrivate
|
||||||
while (base * scale <= target)
|
while (base * scale <= target)
|
||||||
scale += 1;
|
scale += 1;
|
||||||
|
|
||||||
Debug() << base << target << scale - 1;
|
|
||||||
|
|
||||||
return scale - 1;
|
return scale - 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1066,8 +1066,8 @@ int Graphics::height() const
|
||||||
|
|
||||||
void Graphics::resizeScreen(int width, int height)
|
void Graphics::resizeScreen(int width, int height)
|
||||||
{
|
{
|
||||||
width = clamp(width, 1, 640);
|
width = std::max(1, width);
|
||||||
height = clamp(height, 1, 480);
|
height = std::max(1, height);
|
||||||
|
|
||||||
Vec2i size(width, height);
|
Vec2i size(width, height);
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
@ -28,12 +28,13 @@
|
||||||
|
|
||||||
#include <SDL_scancode.h>
|
#include <SDL_scancode.h>
|
||||||
#include <SDL_mouse.h>
|
#include <SDL_mouse.h>
|
||||||
|
#include <SDL_atomic.h>
|
||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
|
||||||
#define BUTTON_CODE_COUNT 24
|
#define BUTTON_CODE_COUNT 26
|
||||||
|
|
||||||
struct ButtonState
|
struct ButtonState
|
||||||
{
|
{
|
||||||
|
@ -236,7 +237,7 @@ static const int mapToIndex[] =
|
||||||
0,
|
0,
|
||||||
16, 17, 18, 19, 20,
|
16, 17, 18, 19, 20,
|
||||||
0, 0, 0, 0, 0, 0, 0, 0,
|
0, 0, 0, 0, 0, 0, 0, 0,
|
||||||
21, 22, 23
|
21, 22, 23, 24, 25
|
||||||
};
|
};
|
||||||
|
|
||||||
static elementsN(mapToIndex);
|
static elementsN(mapToIndex);
|
||||||
|
@ -287,6 +288,9 @@ struct InputPrivate
|
||||||
Input::ButtonCode repeating;
|
Input::ButtonCode repeating;
|
||||||
unsigned int repeatCount;
|
unsigned int repeatCount;
|
||||||
|
|
||||||
|
/* Cumulative vertical scroll distance since last update call */
|
||||||
|
int vScrollDistance;
|
||||||
|
|
||||||
struct
|
struct
|
||||||
{
|
{
|
||||||
int active;
|
int active;
|
||||||
|
@ -322,6 +326,8 @@ struct InputPrivate
|
||||||
dir4Data.previous = Input::None;
|
dir4Data.previous = Input::None;
|
||||||
|
|
||||||
dir8Data.active = 0;
|
dir8Data.active = 0;
|
||||||
|
|
||||||
|
vScrollDistance = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
inline ButtonState &getStateCheck(int code)
|
inline ButtonState &getStateCheck(int code)
|
||||||
|
@ -459,12 +465,14 @@ struct InputPrivate
|
||||||
|
|
||||||
void initMsBindings()
|
void initMsBindings()
|
||||||
{
|
{
|
||||||
msBindings.resize(3);
|
msBindings.resize(5);
|
||||||
|
|
||||||
size_t i = 0;
|
size_t i = 0;
|
||||||
msBindings[i++] = MsBinding(SDL_BUTTON_LEFT, Input::MouseLeft);
|
msBindings[i++] = MsBinding(SDL_BUTTON_LEFT, Input::MouseLeft);
|
||||||
msBindings[i++] = MsBinding(SDL_BUTTON_MIDDLE, Input::MouseMiddle);
|
msBindings[i++] = MsBinding(SDL_BUTTON_MIDDLE, Input::MouseMiddle);
|
||||||
msBindings[i++] = MsBinding(SDL_BUTTON_RIGHT, Input::MouseRight);
|
msBindings[i++] = MsBinding(SDL_BUTTON_RIGHT, Input::MouseRight);
|
||||||
|
msBindings[i++] = MsBinding(SDL_BUTTON_X1, Input::MouseX1);
|
||||||
|
msBindings[i++] = MsBinding(SDL_BUTTON_X2, Input::MouseX2);
|
||||||
}
|
}
|
||||||
|
|
||||||
void pollBindings(Input::ButtonCode &repeatCand)
|
void pollBindings(Input::ButtonCode &repeatCand)
|
||||||
|
@ -640,6 +648,9 @@ void Input::update()
|
||||||
}
|
}
|
||||||
|
|
||||||
p->repeating = None;
|
p->repeating = None;
|
||||||
|
|
||||||
|
/* Fetch new cumulative scroll distance and reset counter */
|
||||||
|
p->vScrollDistance = SDL_AtomicSet(&EventThread::verticalScrollDistance, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Input::isPressed(int button)
|
bool Input::isPressed(int button)
|
||||||
|
@ -681,6 +692,11 @@ int Input::mouseY()
|
||||||
return (EventThread::mouseState.y - rtData.screenOffset.y) * rtData.sizeResoRatio.y;
|
return (EventThread::mouseState.y - rtData.screenOffset.y) * rtData.sizeResoRatio.y;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int Input::scrollV()
|
||||||
|
{
|
||||||
|
return p->vScrollDistance;
|
||||||
|
}
|
||||||
|
|
||||||
Input::~Input()
|
Input::~Input()
|
||||||
{
|
{
|
||||||
delete p;
|
delete p;
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
@ -43,7 +43,8 @@ public:
|
||||||
F5 = 25, F6 = 26, F7 = 27, F8 = 28, F9 = 29,
|
F5 = 25, F6 = 26, F7 = 27, F8 = 28, F9 = 29,
|
||||||
|
|
||||||
/* Non-standard extensions */
|
/* Non-standard extensions */
|
||||||
MouseLeft = 38, MouseMiddle = 39, MouseRight = 40
|
MouseLeft = 38, MouseMiddle = 39, MouseRight = 40,
|
||||||
|
MouseX1 = 41, MouseX2 = 42
|
||||||
};
|
};
|
||||||
|
|
||||||
void update();
|
void update();
|
||||||
|
@ -58,6 +59,7 @@ public:
|
||||||
/* Non-standard extensions */
|
/* Non-standard extensions */
|
||||||
int mouseX();
|
int mouseX();
|
||||||
int mouseY();
|
int mouseY();
|
||||||
|
int scrollV();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Input(const RGSSThreadData &rtData);
|
Input(const RGSSThreadData &rtData);
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
**
|
**
|
||||||
** This file is part of mkxp.
|
** This file is part of mkxp.
|
||||||
**
|
**
|
||||||
** Copyright (C) 2021 Amaryllis Kulla <amaryllis.kulla@protonmail.com>
|
** Copyright (C) 2013 - 2021 Amaryllis Kulla <ancurio@mapleshrine.eu>
|
||||||
**
|
**
|
||||||
** mkxp is free software: you can redistribute it and/or modify
|
** mkxp is free software: you can redistribute it and/or modify
|
||||||
** it under the terms of the GNU General Public License as published by
|
** it under the terms of the GNU General Public License as published by
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue