Skip to content

Commit 9e80408

Browse files
committed
Merge remote-tracking branch 'origin/master' into coal
2 parents c04a9e7 + 2e8998b commit 9e80408

File tree

12 files changed

+187
-155
lines changed

12 files changed

+187
-155
lines changed

Qor/BasicState.cpp

Lines changed: 34 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -16,58 +16,17 @@ BasicState :: BasicState(Qor* engine):
1616
m_pQor(engine),
1717
m_pInput(engine->input()),
1818
m_pRoot(make_shared<Node>()),
19+
m_pRTTRoot(make_shared<Node>()),
1920
m_pPipeline(engine->pipeline()),
20-
m_pResources(engine->resources()),
21-
//m_pCanvas(make_shared<Canvas>(
22-
// engine->window()->size().x, engine->window()->size().y
23-
//)),
24-
m_pMenuGUI(make_shared<MenuGUI>(
25-
engine->session()->profile(0)->controller().get(),
26-
&m_MenuContext,
27-
&m_MainMenu,
28-
m_pPipeline->partitioner(),
29-
engine->window(),
30-
//m_pCanvas.get(),
31-
m_pResources,
32-
"PressStart2P-Regular.ttf",
33-
engine->window()->size().y / 24.0f,
34-
nullptr,
35-
5
36-
))
37-
//m_pMenuGUI(make_shared<MenuGUI>(
38-
// engine->session()->active_profile(0)->controller().get(),
39-
// &m_MenuContext,
40-
// &m_MainMenu,
41-
// m_pPipeline->partitioner(),
42-
// m_pCanvas.get(),
43-
// m_pResources,
44-
// "PRESS START 2P",
45-
// engine->window()->size().y / 30.0f,
46-
// nullptr,
47-
// 7,
48-
// 1.5f,
49-
// Canvas::LEFT,
50-
// 32.0f,
51-
// MenuGUI::F_BOX,
52-
// engine->window()
53-
//))
21+
m_pResources(engine->resources())
5422
{}
5523

5624
void BasicState :: preload()
5725
{
5826
m_pCamera = make_shared<Camera>(m_pQor->resources(), m_pQor->window());
5927
m_pRoot->add(m_pCamera->as_node());
60-
m_pRoot->add(m_pMenuGUI);
61-
//m_pRoot->add(m_pCanvas);
62-
63-
//m_pFont = m_pQor->resources()->cache_as<Font>("PressStart2P-Regular.ttf:30");
64-
//m_pText = make_shared<Text>(m_pFont);
65-
//m_pText->set("Hello World!\nAgain down here!\nHELLO?\nOK\nOK2\nReally long text here ok?");
66-
//auto text2 = make_shared<Text>(m_pFont);
67-
//text2->set("Testing");
68-
//m_pRoot->add(text2);
69-
//m_pText->position(glm::vec3(10.0f, 0.0f, 0.0f));
70-
//m_pRoot->add(m_pText);
28+
m_pRTTCamera = make_shared<Camera>(m_pQor->resources(), m_pQor->window());
29+
m_pRTTRoot->add(m_pRTTCamera->as_node());
7130
}
7231

7332
BasicState :: ~BasicState()
@@ -77,49 +36,51 @@ BasicState :: ~BasicState()
7736

7837
void BasicState :: enter()
7938
{
80-
m_pPipeline->bg_color(Color::green());
39+
float sw = m_pQor->window()->size().x;
40+
float sh = m_pQor->window()->size().y;
41+
42+
//m_pPipeline->bg_color(Color::green());
8143
m_pCamera->ortho();
44+
m_pRTTCamera->ortho();
8245
m_pPipeline->winding(true);
46+
m_pRenderBuffer = std::make_shared<RenderBuffer>(100,100);
47+
48+
auto mat = make_shared<MeshMaterial>("logo.png", m_pQor->resources());
49+
auto mesh = make_shared<Mesh>(
50+
make_shared<MeshGeometry>(Prefab::quad(vec2(0.0f, 0.0f), vec2(sw, sh))),
51+
vector<shared_ptr<IMeshModifier>>{
52+
make_shared<Wrap>(Prefab::quad_wrap(vec2(0.0f,1.0f), vec2(1.0f,0.0f)))
53+
}, mat
54+
);
55+
m_pRTTRoot->add(mesh);
8356

84-
m_MainMenu.options().emplace_back("OPTION 1", []{
85-
});
86-
m_MainMenu.options().emplace_back("OPTION 2", []{
87-
});
88-
m_MainMenu.options().emplace_back("OPTION 3", []{
89-
});
90-
m_MenuContext.clear(&m_MainMenu);
91-
m_pRoot->add(m_pMenuGUI);
92-
93-
//LOG("enter");
94-
//m_pRoot->add(Mesh::line(
95-
// vec3(100.0f, 100.0f, 0.0f), vec3(200.0f, 200.0f, 0.0f),
96-
// m_pResources->cache_as<Texture>("particle.png")
97-
//));
57+
mesh = make_shared<Mesh>(
58+
make_shared<MeshGeometry>(Prefab::quad(vec2(0.0f, 0.0f), vec2(sw, sh))),
59+
vector<shared_ptr<IMeshModifier>>{
60+
make_shared<Wrap>(Prefab::quad_wrap(vec2(0.0f,1.0f), vec2(1.0f,0.0f)))
61+
}, std::make_shared<MeshMaterial>(m_pRenderBuffer->texture())
62+
);
63+
m_pRoot->add(mesh);
9864
}
9965

10066
void BasicState :: logic(Freq::Time t)
10167
{
10268
if(m_pInput->key(SDLK_ESCAPE))
10369
m_pQor->quit();
10470

105-
//float speed = 1000.0f * t.s();
106-
107-
//if(m_pInput->key(SDLK_UP))
108-
// m_pCamera->move(glm::vec3(0.0f, -speed, 0.0f));
109-
//if(m_pInput->key(SDLK_DOWN))
110-
// m_pCamera->move(glm::vec3(0.0f, speed, 0.0f));
111-
112-
//if(m_pInput->key(SDLK_LEFT))
113-
// m_pCamera->move(glm::vec3(-speed, 0.0f, 0.0f));
114-
//if(m_pInput->key(SDLK_RIGHT))
115-
// m_pCamera->move(glm::vec3(speed, 0.0f, 0.0f));
116-
11771
m_pRoot->logic(t);
11872
}
11973

12074
void BasicState :: render() const
12175
{
122-
//m_pPipeline->override_shader(PassType::NORMAL, m_Shader);
76+
float sw = m_pQor->window()->size().x;
77+
float sh = m_pQor->window()->size().y;
78+
79+
m_pRenderBuffer->push();
80+
m_pPipeline->render(m_pRTTRoot.get(), m_pRTTCamera.get());
81+
RenderBuffer::pop();
82+
83+
glViewport(0,0,sw,sh);
12384
m_pPipeline->render(m_pRoot.get(), m_pCamera.get());
12485
}
12586

Qor/BasicState.h

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
#include "Light.h"
1313
#include "Text.h"
1414
#include "Menu.h"
15+
#include "RenderBuffer.h"
1516

1617
class Qor;
1718

@@ -37,23 +38,18 @@ class BasicState:
3738
Cache<Resource, std::string>* m_pResources = nullptr;
3839

3940
std::shared_ptr<Node> m_pRoot;
41+
std::shared_ptr<Node> m_pRTTRoot;
4042
//std::shared_ptr<Node> m_pTemp;
4143
std::shared_ptr<Sprite> m_pSprite;
4244
std::shared_ptr<PlayerInterface2D> m_pPlayer;
4345
std::shared_ptr<TileMap> m_pMap;
4446
std::shared_ptr<Camera> m_pCamera;
47+
std::shared_ptr<Camera> m_pRTTCamera;
4548
std::shared_ptr<Light> m_pLight;
49+
std::shared_ptr<RenderBuffer> m_pRenderBuffer;
4650
//unsigned m_DetailShader = ~0u;
4751

4852
//unsigned m_Shader = ~0u;
49-
50-
//std::shared_ptr<Font> m_pFont;
51-
//std::shared_ptr<Text> m_pText;
52-
53-
//std::shared_ptr<Canvas> m_pCanvas;
54-
MenuContext m_MenuContext;
55-
Menu m_MainMenu;
56-
std::shared_ptr<MenuGUI> m_pMenuGUI;
5753
};
5854

5955
#endif

Qor/Filesystem.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -162,5 +162,17 @@ std::vector<char> file_to_buffer(const std::string& fn)
162162
return data;
163163
}
164164

165+
//need a file to string method
166+
std::string file_to_string(const std::string & fn)
167+
{
168+
ifstream file(fn);
169+
if (!file)
170+
return std::string();
171+
string data(
172+
(istreambuf_iterator<char>(file)),
173+
istreambuf_iterator<char>()
174+
);
175+
return data;
176+
}
165177

166178
} // END OF NAMESPACE

Qor/Filesystem.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ namespace Filesystem
3939
std::vector<std::string> extensions = std::vector<std::string>()
4040
);
4141
std::vector<char> file_to_buffer(const std::string& fn);
42+
std::string file_to_string(const std::string& fn);
4243
}
4344

4445
#endif

Qor/Qor.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,13 @@ namespace fs = boost::filesystem;
3333

3434
Qor* Qor :: s_pQor = nullptr;
3535

36-
Qor :: Qor(const Args& args):
37-
m_Args(args)
36+
Qor :: Qor(const Args& args, std::string appname="qor"):
37+
m_Args(args),
38+
m_App(appname)
3839
{
3940
m_Filename = args.filename();
4041
s_pQor = this;
4142

42-
4343
if(m_Args.has('d', "dedicated")||
4444
m_Args.has('s', "server"))
4545
{
@@ -151,7 +151,7 @@ Qor :: Qor(const Args& args):
151151
// std::placeholders::_1
152152
//));
153153

154-
m_pSession = make_shared<Session>(m_pInput.get());
154+
m_pSession = make_shared<Session>(appname, m_pInput.get());
155155
m_pInterpreter = make_shared<Interpreter>(
156156
"qor",
157157
(void*)this,

Qor/Qor.h

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@ class Qor:
3131
{
3232
public:
3333

34-
Qor(const Args& args);
35-
Qor(int argc, const char** argv):
36-
Qor(Args(argc,argv))
34+
Qor(const Args& args, std::string appname);
35+
Qor(int argc, const char** argv, std::string appname="qor"):
36+
Qor(Args(argc,argv), appname)
3737
{}
3838
virtual ~Qor();
3939

@@ -274,6 +274,7 @@ class Qor:
274274
Freq::Alarm m_FPSAlarm;
275275
unsigned m_FramesLastSecond = 0;
276276
float m_FPS = 0.0f;
277+
std::string m_App;
277278

278279
static Qor* s_pQor;
279280
};

0 commit comments

Comments
 (0)