CGE Update
Added auto UNICODE, and potential Win8 fixes, also enabled OnUserDestroy(). Should now work with certain versions of code::blocks, though untested by me.
This commit is contained in:
parent
6250c69861
commit
afae5176d6
@ -5,10 +5,10 @@ OneLoneCoder.com - Command Line Game Engine
|
||||
License
|
||||
~~~~~~~
|
||||
One Lone Coder Console Game Engine Copyright (C) 2018 Javidx9
|
||||
|
||||
This program comes with ABSOLUTELY NO WARRANTY.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; See license for details.
|
||||
|
||||
Original works located at:
|
||||
https://www.github.com/onelonecoder
|
||||
https://www.onelonecoder.com
|
||||
@ -26,6 +26,7 @@ that I am not responsible for anything bad that happens as a result of
|
||||
your actions. However this code is protected by GNU GPLv3, see the license in the
|
||||
github repo. This means you must attribute me if you use it. You can view this
|
||||
license here: https://github.com/OneLoneCoder/videos/blob/master/LICENSE
|
||||
|
||||
Cheers!
|
||||
|
||||
Background
|
||||
@ -50,9 +51,9 @@ Beginners Guide: https://youtu.be/u5BhrA8ED0o
|
||||
Shout Outs!
|
||||
~~~~~~~~~~~
|
||||
Thanks to cool people who helped with testing, bug-finding and fixing!
|
||||
YouTube: wowLinh, JavaJack59, idkwid, kingtatgi, huhlig
|
||||
wowLinh, JavaJack59, idkwid, kingtatgi, Return Null, CPP Guy
|
||||
|
||||
Last Updated: 05/03/2018
|
||||
Last Updated: 18/03/2018
|
||||
|
||||
Usage:
|
||||
~~~~~~
|
||||
@ -107,9 +108,13 @@ http://www.twitch.tv/javidx9
|
||||
|
||||
#ifndef UNICODE
|
||||
#error Please enable UNICODE for your compiler! VS: Project Properties -> General -> \
|
||||
Character Set -> Use Unicode. Thanks! - Javidx9
|
||||
Character Set -> Use Unicode. Thanks! For now, I'll try enabling it for you - Javidx9
|
||||
#define UNICODE
|
||||
#define _UNICODE
|
||||
#endif
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
#include <iostream>
|
||||
#include <chrono>
|
||||
#include <vector>
|
||||
@ -119,7 +124,7 @@ Character Set -> Use Unicode. Thanks! - Javidx9
|
||||
#include <condition_variable>
|
||||
using namespace std;
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
|
||||
|
||||
enum COLOUR
|
||||
@ -364,8 +369,18 @@ public:
|
||||
cfi.dwFontSize.Y = fonth;
|
||||
cfi.FontFamily = FF_DONTCARE;
|
||||
cfi.FontWeight = FW_NORMAL;
|
||||
|
||||
DWORD version = GetVersion();
|
||||
DWORD major = (DWORD)(LOBYTE(LOWORD(version)));
|
||||
DWORD minor = (DWORD)(HIBYTE(LOWORD(version)));
|
||||
|
||||
if ((major > 6) || ((major == 6) && (minor >= 2) && (minor < 4)))
|
||||
wcscpy_s(cfi.FaceName, L"Raster"); // Windows 8 :(
|
||||
else
|
||||
wcscpy_s(cfi.FaceName, L"Lucida Console"); // Everything else :P
|
||||
|
||||
//wcscpy_s(cfi.FaceName, L"Liberation Mono");
|
||||
wcscpy_s(cfi.FaceName, L"Consolas");
|
||||
//wcscpy_s(cfi.FaceName, L"Consolas");
|
||||
if (!SetCurrentConsoleFontEx(m_hConsole, false, &cfi))
|
||||
return Error(L"SetCurrentConsoleFontEx");
|
||||
|
||||
@ -392,6 +407,7 @@ public:
|
||||
m_bufScreen = new CHAR_INFO[m_nScreenWidth*m_nScreenHeight];
|
||||
memset(m_bufScreen, 0, sizeof(CHAR_INFO) * m_nScreenWidth * m_nScreenHeight);
|
||||
|
||||
SetConsoleCtrlHandler((PHANDLER_ROUTINE)CloseHandler, TRUE);
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ -547,7 +563,7 @@ public:
|
||||
|
||||
auto drawline = [&](int sx, int ex, int ny)
|
||||
{
|
||||
for (int i = sx; i < ex; i++)
|
||||
for (int i = sx; i <= ex; i++)
|
||||
Draw(i, ny, c, col);
|
||||
};
|
||||
|
||||
@ -886,6 +902,6 @@ protected:
|
||||
static mutex m_muxGame;
|
||||
};
|
||||
|
||||
atomic<bool> olcConsoleGameEngine::m_bAtomActive = false;
|
||||
atomic<bool> olcConsoleGameEngine::m_bAtomActive(false);
|
||||
condition_variable olcConsoleGameEngine::m_cvGameFinished;
|
||||
mutex olcConsoleGameEngine::m_muxGame;
|
Loading…
x
Reference in New Issue
Block a user