generated from sigonasr2/CPlusPlusProjectTemplate
Fix weirdness in web
Co-authored-by: sigonasr2 <sigonasr2@gmail.com>
This commit is contained in:
parent
b96b6bf4d0
commit
b34e4f6bcb
@ -1,3 +1,3 @@
|
|||||||
build.sh:530634457ea9041267c05d4ced95eee1 -
|
build.sh:530634457ea9041267c05d4ced95eee1 -
|
||||||
commit.sh:d03a46e721060c22ccb146e19d27e70a -
|
commit.sh:d03a46e721060c22ccb146e19d27e70a -
|
||||||
web.sh:3dcc2fe7e036359eedd257a864e9a1e1 -
|
web.sh:12471564fd294d236285a94169470b60 -
|
||||||
|
@ -28,7 +28,7 @@ enum CUTSCENE{
|
|||||||
#define ALPHA_SCREEN1 128
|
#define ALPHA_SCREEN1 128
|
||||||
#define ALPHA_SCREEN2 20
|
#define ALPHA_SCREEN2 20
|
||||||
#define FADE_SPD 6
|
#define FADE_SPD 6
|
||||||
#define MOVE_SPD 0.01
|
#define MOVE_SPD 0.4
|
||||||
|
|
||||||
class Object{
|
class Object{
|
||||||
public:
|
public:
|
||||||
@ -65,6 +65,7 @@ public:
|
|||||||
CUTSCENE CURRENT_CUTSCENE=PAN_DOME;
|
CUTSCENE CURRENT_CUTSCENE=PAN_DOME;
|
||||||
int CUTSCENE_TIMER=0;
|
int CUTSCENE_TIMER=0;
|
||||||
bool CUTSCENE_FLAGS[8];
|
bool CUTSCENE_FLAGS[8];
|
||||||
|
bool messageBoxVisible;
|
||||||
|
|
||||||
olc::Decal*DOME_DECAL;
|
olc::Decal*DOME_DECAL;
|
||||||
std::map<std::string,olc::Decal*> BASE_OBJECTS;
|
std::map<std::string,olc::Decal*> BASE_OBJECTS;
|
||||||
@ -135,7 +136,7 @@ public:
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool GetAnyKey() {
|
bool GetAnyKey() override {
|
||||||
switch (GAME_STATE) {
|
switch (GAME_STATE) {
|
||||||
case CUTSCENE_1:{
|
case CUTSCENE_1:{
|
||||||
if (textInd>=STORY_TEXT1.length()) {
|
if (textInd>=STORY_TEXT1.length()) {
|
||||||
@ -143,6 +144,7 @@ public:
|
|||||||
}
|
}
|
||||||
}break;
|
}break;
|
||||||
}
|
}
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool OnUserUpdate(float fElapsedTime) override
|
bool OnUserUpdate(float fElapsedTime) override
|
||||||
@ -153,23 +155,6 @@ public:
|
|||||||
updateGame();
|
updateGame();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (GetKey(olc::F1).bPressed) {
|
|
||||||
}
|
|
||||||
if (!CUTSCENE_ACTIVE) {
|
|
||||||
if (GetKey(olc::D).bHeld||GetKey(olc::RIGHT).bHeld) {
|
|
||||||
PLAYER_COORDS[0]=clamp(PLAYER_COORDS[0]+MOVE_SPD,0.0,(double)MAP_WIDTH);
|
|
||||||
}
|
|
||||||
if (GetKey(olc::A).bHeld||GetKey(olc::LEFT).bHeld) {
|
|
||||||
PLAYER_COORDS[0]=clamp(PLAYER_COORDS[0]-MOVE_SPD,0.0,(double)MAP_WIDTH);
|
|
||||||
}
|
|
||||||
if (GetKey(olc::W).bHeld||GetKey(olc::UP).bHeld) {
|
|
||||||
PLAYER_COORDS[1]=clamp(PLAYER_COORDS[1]-MOVE_SPD,0.0,(double)MAP_HEIGHT);
|
|
||||||
}
|
|
||||||
if (GetKey(olc::S).bHeld||GetKey(olc::DOWN).bHeld) {
|
|
||||||
PLAYER_COORDS[1]=clamp(PLAYER_COORDS[1]+MOVE_SPD,0.0,(double)MAP_HEIGHT);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
drawGame();
|
drawGame();
|
||||||
// called once per frame
|
// called once per frame
|
||||||
return true;
|
return true;
|
||||||
@ -229,6 +214,25 @@ public:
|
|||||||
fadeInCompleted();
|
fadeInCompleted();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (GetKey(olc::F1).bPressed) {
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!CUTSCENE_ACTIVE) {
|
||||||
|
if (GetKey(olc::D).bHeld||GetKey(olc::RIGHT).bHeld) {
|
||||||
|
PLAYER_COORDS[0]=clamp(PLAYER_COORDS[0]+MOVE_SPD,0.0,(double)MAP_WIDTH);
|
||||||
|
}
|
||||||
|
if (GetKey(olc::A).bHeld||GetKey(olc::LEFT).bHeld) {
|
||||||
|
PLAYER_COORDS[0]=clamp(PLAYER_COORDS[0]-MOVE_SPD,0.0,(double)MAP_WIDTH);
|
||||||
|
}
|
||||||
|
if (GetKey(olc::W).bHeld||GetKey(olc::UP).bHeld) {
|
||||||
|
PLAYER_COORDS[1]=clamp(PLAYER_COORDS[1]-MOVE_SPD,0.0,(double)MAP_HEIGHT);
|
||||||
|
}
|
||||||
|
if (GetKey(olc::S).bHeld||GetKey(olc::DOWN).bHeld) {
|
||||||
|
PLAYER_COORDS[1]=clamp(PLAYER_COORDS[1]+MOVE_SPD,0.0,(double)MAP_HEIGHT);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
switch (GAME_STATE) {
|
switch (GAME_STATE) {
|
||||||
case CUTSCENE_1:
|
case CUTSCENE_1:
|
||||||
case CUTSCENE_3:{
|
case CUTSCENE_3:{
|
||||||
@ -294,9 +298,9 @@ public:
|
|||||||
case CUTSCENE_1:{
|
case CUTSCENE_1:{
|
||||||
DrawStringDecal({16,16},CUTSCENE_CONSOLE_TEXT,olc::GREEN,{1,1});
|
DrawStringDecal({16,16},CUTSCENE_CONSOLE_TEXT,olc::GREEN,{1,1});
|
||||||
if (textInd<STORY_TEXT1.length()) {
|
if (textInd<STORY_TEXT1.length()) {
|
||||||
FillRectDecal({16+(cursorX)*8%(WIDTH-32),8+GetTextSize(CUTSCENE_CONSOLE_TEXT).y+((cursorX==28)?8:0)},{4,8},olc::GREEN);
|
FillRectDecal({(float)(16+(cursorX)*8%(WIDTH-32)),(float)(8+GetTextSize(CUTSCENE_CONSOLE_TEXT).y+((cursorX==28)?8:0))},{4,8},olc::GREEN);
|
||||||
} else {
|
} else {
|
||||||
FillRectDecal({16+(cursorX)*8%(WIDTH-32),8+GetTextSize(CUTSCENE_CONSOLE_TEXT).y+((cursorX==28)?8:0)},{4,8},olc::Pixel(0,255,0,(0.5*sin(frameCount*4/60.0)+0.5)*256));
|
FillRectDecal({(float)(16+(cursorX)*8%(WIDTH-32)),(float)(8+GetTextSize(CUTSCENE_CONSOLE_TEXT).y+((cursorX==28)?8:0))},{4,8},olc::Pixel(0,255,0,(0.5*sin(frameCount*4/60.0)+0.5)*256));
|
||||||
}
|
}
|
||||||
GradientFillRectDecal({0,0},{WIDTH/2,HEIGHT/2},{20, 28, 22,ALPHA_SCREEN1},{20, 28, 22,ALPHA_SCREEN1},{20, 28, 22,ALPHA_SCREEN2},{20, 28, 22,ALPHA_SCREEN1});
|
GradientFillRectDecal({0,0},{WIDTH/2,HEIGHT/2},{20, 28, 22,ALPHA_SCREEN1},{20, 28, 22,ALPHA_SCREEN1},{20, 28, 22,ALPHA_SCREEN2},{20, 28, 22,ALPHA_SCREEN1});
|
||||||
GradientFillRectDecal({WIDTH/2,0},{WIDTH/2,HEIGHT/2},{20, 28, 22,ALPHA_SCREEN1},{20, 28, 22,ALPHA_SCREEN2},{20, 28, 22,ALPHA_SCREEN1},{20, 28, 22,ALPHA_SCREEN1});
|
GradientFillRectDecal({WIDTH/2,0},{WIDTH/2,HEIGHT/2},{20, 28, 22,ALPHA_SCREEN1},{20, 28, 22,ALPHA_SCREEN2},{20, 28, 22,ALPHA_SCREEN1},{20, 28, 22,ALPHA_SCREEN1});
|
||||||
@ -310,9 +314,9 @@ public:
|
|||||||
case CUTSCENE_3:{
|
case CUTSCENE_3:{
|
||||||
DrawStringDecal({48,16},CUTSCENE_CONSOLE_TEXT,olc::Pixel(100, 10, 255),{2,2});
|
DrawStringDecal({48,16},CUTSCENE_CONSOLE_TEXT,olc::Pixel(100, 10, 255),{2,2});
|
||||||
if (textInd<STORY_TEXT2.length()) {
|
if (textInd<STORY_TEXT2.length()) {
|
||||||
FillRectDecal({48+(cursorX)*16%(WIDTH-32),GetTextSize(CUTSCENE_CONSOLE_TEXT).y*2+((cursorX==28)?16:0)},{4*2,8*2},olc::Pixel(100, 10, 255));
|
FillRectDecal({(float)(48+(cursorX)*16%(WIDTH-32)),(float)(GetTextSize(CUTSCENE_CONSOLE_TEXT).y*2+((cursorX==28)?16:0))},{4*2,8*2},olc::Pixel(100, 10, 255));
|
||||||
} else {
|
} else {
|
||||||
FillRectDecal({48+(cursorX)*16%(WIDTH-32),GetTextSize(CUTSCENE_CONSOLE_TEXT).y*2+((cursorX==28)?16:0)},{4*2,8*2},olc::Pixel(100, 10, 255,(0.5*sin(frameCount*4/60.0)+0.5)*256));
|
FillRectDecal({(float)(48+(cursorX)*16%(WIDTH-32)),(float)(GetTextSize(CUTSCENE_CONSOLE_TEXT).y*2+((cursorX==28)?16:0))},{4*2,8*2},olc::Pixel(100, 10, 255,(0.5*sin(frameCount*4/60.0)+0.5)*256));
|
||||||
}
|
}
|
||||||
GradientFillRectDecal({0,0},{WIDTH/2,HEIGHT/2},{100, 10, 255,ALPHA_SCREEN1},{100, 10, 255,ALPHA_SCREEN1},{100, 10, 255,ALPHA_SCREEN2},{100, 10, 255,ALPHA_SCREEN1});
|
GradientFillRectDecal({0,0},{WIDTH/2,HEIGHT/2},{100, 10, 255,ALPHA_SCREEN1},{100, 10, 255,ALPHA_SCREEN1},{100, 10, 255,ALPHA_SCREEN2},{100, 10, 255,ALPHA_SCREEN1});
|
||||||
GradientFillRectDecal({WIDTH/2,0},{WIDTH/2,HEIGHT/2},{100, 10, 255,ALPHA_SCREEN1},{100, 10, 255,ALPHA_SCREEN2},{100, 10, 255,ALPHA_SCREEN1},{100, 10, 255,ALPHA_SCREEN1});
|
GradientFillRectDecal({WIDTH/2,0},{WIDTH/2,HEIGHT/2},{100, 10, 255,ALPHA_SCREEN1},{100, 10, 255,ALPHA_SCREEN2},{100, 10, 255,ALPHA_SCREEN1},{100, 10, 255,ALPHA_SCREEN1});
|
||||||
|
BIN
Seasons_of_Loneliness.data
Normal file
BIN
Seasons_of_Loneliness.data
Normal file
Binary file not shown.
After Width: | Height: | Size: 24 KiB |
75
Seasons_of_Loneliness.html
Normal file
75
Seasons_of_Loneliness.html
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
|
||||||
|
<!doctype html>
|
||||||
|
<html lang="en-us">
|
||||||
|
<head>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||||
|
<meta charset="utf-8">
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
||||||
|
<title>Emscripten-Generated Code</title>
|
||||||
|
<style>
|
||||||
|
html,body { width: 100%; height: 100%; }
|
||||||
|
body { font-family: arial; margin: 0; padding: 0; background: #000; }
|
||||||
|
|
||||||
|
.emscripten { padding-right: 0; margin-left: auto; margin-right: auto; display: block; }
|
||||||
|
div.emscripten_border { border: none; }
|
||||||
|
|
||||||
|
/* the canvas *must not* have any border or padding, or mouse coords will be wrong */
|
||||||
|
canvas.emscripten { border: 0px none; background-color: black; }
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<canvas class="emscripten" id="canvas" oncontextmenu="event.preventDefault()" tabindex=-1></canvas>
|
||||||
|
<script type='text/javascript'>
|
||||||
|
var Module = {
|
||||||
|
preRun: [],
|
||||||
|
postRun: [],
|
||||||
|
canvas: (function() {
|
||||||
|
var canvas = document.getElementById('canvas');
|
||||||
|
|
||||||
|
// As a default initial behavior, pop up an alert when webgl context is lost. To make your
|
||||||
|
// application robust, you may want to override this behavior before shipping!
|
||||||
|
// See http://www.khronos.org/registry/webgl/specs/latest/1.0/#5.15.2
|
||||||
|
canvas.addEventListener("webglcontextlost", function(e) { alert('WebGL context lost. You will need to reload the page.'); e.preventDefault(); }, false);
|
||||||
|
|
||||||
|
return canvas;
|
||||||
|
})(),
|
||||||
|
};
|
||||||
|
</script>
|
||||||
|
<script async type="text/javascript" src="Seasons_of_Loneliness.js"></script>
|
||||||
|
<script type="text/javascript">
|
||||||
|
Module.canvas.addEventListener("resize", (e) => {
|
||||||
|
|
||||||
|
var viewWidth = e.detail.width;
|
||||||
|
var viewHeight = e.detail.width / Module._olc_WindowAspectRatio;
|
||||||
|
|
||||||
|
if(viewHeight > e.detail.height)
|
||||||
|
{
|
||||||
|
viewHeight = e.detail.height;
|
||||||
|
viewWidth = e.detail.height * Module._olc_WindowAspectRatio;
|
||||||
|
}
|
||||||
|
|
||||||
|
// update dom attributes
|
||||||
|
Module.canvas.setAttribute("width", viewWidth);
|
||||||
|
Module.canvas.setAttribute("height", viewHeight);
|
||||||
|
|
||||||
|
var top = (e.detail.height - viewHeight) / 2;
|
||||||
|
var left = (e.detail.width - viewWidth) / 2;
|
||||||
|
|
||||||
|
// update styles
|
||||||
|
Module.canvas.style.position = "fixed";
|
||||||
|
Module.canvas.style.top = top.toString() + "px";
|
||||||
|
Module.canvas.style.left = left.toString() + "px";
|
||||||
|
Module.canvas.style.width = "";
|
||||||
|
Module.canvas.style.height = "";
|
||||||
|
|
||||||
|
// trigger PGE update
|
||||||
|
Module._olc_PGE_UpdateWindowSize(viewWidth, viewHeight);
|
||||||
|
|
||||||
|
// ensure canvas has focus
|
||||||
|
Module.canvas.focus();
|
||||||
|
e.preventDefault();
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
</body>
|
||||||
|
</html>
|
1
Seasons_of_Loneliness.js
Normal file
1
Seasons_of_Loneliness.js
Normal file
File diff suppressed because one or more lines are too long
BIN
Seasons_of_Loneliness.wasm
Executable file
BIN
Seasons_of_Loneliness.wasm
Executable file
Binary file not shown.
35
data.h
35
data.h
@ -16,6 +16,41 @@ std::string STORY_TEXT2=R"( SEASONS
|
|||||||
-of-
|
-of-
|
||||||
LONELINESS)";
|
LONELINESS)";
|
||||||
|
|
||||||
|
std::string STORY_DIALOG[]={R"(
|
||||||
|
???
|
||||||
|
RAIN CYCLE COMMENCING)", //0
|
||||||
|
R"(
|
||||||
|
$PLAYER
|
||||||
|
Phew, thank goodness these came up just in time!)", //1
|
||||||
|
R"(
|
||||||
|
CompU-16770
|
||||||
|
RAIN CYCLE ENDING. NEXT RAIN CYCLE DUE IN 17 TERRESTIAL CYCLES.)", //2
|
||||||
|
R"(
|
||||||
|
$PLAYER
|
||||||
|
I wonder how the air is today..)", //3
|
||||||
|
R"(
|
||||||
|
CompU-16770
|
||||||
|
RAIN CYCLE ENDING. NEXT RAIN CYCLE DUE IN 17 TERRESTIAL CYCLES.)",//4
|
||||||
|
R"(
|
||||||
|
$PLAYER
|
||||||
|
Hmm, an actual good day!)",//5
|
||||||
|
R"(
|
||||||
|
$PLAYER
|
||||||
|
The winds must have kicked in early. Better go out and work on R.O.V.E.R..)",//6
|
||||||
|
R"(
|
||||||
|
$PLAYER
|
||||||
|
I almost have the receiving unit repaired, I just need another good vein of silicon and we can finish this.)",//7
|
||||||
|
R"(
|
||||||
|
$PLAYER
|
||||||
|
Hmmm...)",//8
|
||||||
|
R"(
|
||||||
|
$PLAYER
|
||||||
|
So those dust columns only form around large hole deposits. This is usually where volcanic activity subsides, and usually dense rich in minerals!)",//9
|
||||||
|
R"(
|
||||||
|
$PLAYER
|
||||||
|
We'll head there.)",//10
|
||||||
|
};
|
||||||
|
|
||||||
olc::Pixel TILE_COLORS[3]={
|
olc::Pixel TILE_COLORS[3]={
|
||||||
olc::Pixel(112, 88, 64),
|
olc::Pixel(112, 88, 64),
|
||||||
olc::Pixel(60, 97, 49),
|
olc::Pixel(60, 97, 49),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user