Update web compile script and clean up Star.cpp includes

Co-authored-by: sigonasr2 <sigonasr2@gmail.com>
master
sigonasr2, Sig, Sigo 2 years ago
parent 58a89798d7
commit c502c354ed
  1. 2
      C++/scripts/md5
  2. 15
      C++/scripts/web.sh
  3. BIN
      C++ProjectTemplate.data
  4. 2
      C++ProjectTemplate.js
  5. BIN
      C++ProjectTemplate.wasm
  6. 3
      Star.cpp
  7. 5
      gameDefines.h
  8. 2
      pixelGameEngine.cpp
  9. 64
      pixelGameEngine.h
  10. BIN
      pixelGameEngine_wasm.o

@ -4,4 +4,4 @@ debug.sh:849488515cab075948653c15eec4177b -
lines.sh:3b907786f7fc9204025993016c9080de -
release.sh:0ab321c3fa2f1a1b2f03b1aec3bce816 -
temp:d41d8cd98f00b204e9800998ecf8427e -
web.sh:e317e1d492d00517a0ac0e460239daa0 -
web.sh:ce7a991e69dd9745f057d06430e51a9e -

@ -27,4 +27,19 @@ if [[ "$1" == "headless" || "$2" == "headless" ]]; then
emrun --no_browser ${PROJECT_NAME}.html
else
emrun --serve_after_close ${PROJECT_NAME}.html
fi
if [ $? -eq 127 ]
then
echo "Failed to find Emscripten. Running install script."
PWD=$(pwd)
cd ..
git clone https://github.com/emscripten-core/emsdk.git
cd emsdk
git pull
./emsdk install latest
./emsdk activate latest
source ./emsdk_env.sh
cd $PWD
echo "Emscripten has been installed. Try running the command again."
fi

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

File diff suppressed because one or more lines are too long

Binary file not shown.

@ -1,5 +1,4 @@
#include "pixelGameEngine.h"
#include "Meteos.h"
#include "gameDefines.h"
extern Meteos*game;

@ -1,4 +1,7 @@
#ifndef GAME_DEFINES
#define GAME_DEFINES
#include "pixelGameEngine.h"
#include "Meteos.h"
#include "BlockClump.h"
#include "Block.h"
#include "Block.h"
#endif

@ -1,3 +1,3 @@
#define OLC_PGE_HEADLESS
//#define OLC_PGE_HEADLESS
#define OLC_PGE_APPLICATION
#include "pixelGameEngine.h"

@ -3,7 +3,7 @@
olcPixelGameEngine.h
+-------------------------------------------------------------+
| OneLoneCoder Pixel Game Engine v2.21 |
| OneLoneCoder Pixel Game Engine v2.23 |
| "What do you need? Pixels... Lots of Pixels..." - javidx9 |
+-------------------------------------------------------------+
@ -197,7 +197,7 @@
Author
~~~~~~
David Barr, aka javidx9, OneLoneCoder 2018, 2019, 2020, 2021, 2022
David Barr, aka javidx9, (c) OneLoneCoder 2018, 2019, 2020, 2021, 2022
*/
#pragma endregion
@ -315,6 +315,11 @@
+FillTexturedTriangle() - Software rasterizes a textured, coloured, triangle
+FillTexturedPolygon() - Hijacks DecalStructure for configuration
+olc::vf2d arguments for Sprite::Sample() functions
SIG Updates:
The following additions are included in Sig's version of the PGE header (this is a sig version)
+GetAnyKey() - Returns when a key is activated
+GetAnyKeyPress() - Returns when a key is pressed down (and if a keyboard key, which key it was)
!! Apple Platforms will not see these updates immediately - Sorry, I dont have a mac to test... !!
!! Volunteers willing to help appreciated, though PRs are manually integrated with credit !!
@ -394,7 +399,7 @@ int main()
#include <cstring>
#pragma endregion
#define PGE_VER 221
#define PGE_VER 223
// O------------------------------------------------------------------------------O
// | COMPILER CONFIGURATION ODDITIES |
@ -682,7 +687,7 @@ namespace olc
v2d_generic min(const v2d_generic& v) const { return v2d_generic(std::min(x, v.x), std::min(y, v.y)); }
v2d_generic cart() { return { std::cos(y) * x, std::sin(y) * x }; }
v2d_generic polar() { return { mag(), std::atan2(y, x) }; }
v2d_generic clamp(const v2d_generic& v1, const v2d_generic& v2) const { return this->max(v1)->min(v2); }
v2d_generic clamp(const v2d_generic& v1, const v2d_generic& v2) const { return this->max(v1).min(v2); }
v2d_generic lerp(const v2d_generic& v1, const double t) { return this->operator*(T(1.0 - t)) + (v1 * T(t)); }
T dot(const v2d_generic& rhs) const { return this->x * rhs.x + this->y * rhs.y; }
T cross(const v2d_generic& rhs) const { return this->x * rhs.y - this->y * rhs.x; }
@ -971,6 +976,8 @@ namespace olc
virtual bool OnUserUpdate(float fElapsedTime);
// Called once on application termination, so you can be one clean coder
virtual bool OnUserDestroy();
virtual void GetAnyKey();
virtual void GetAnyKeyPress(olc::Key pressedKey);
// Called when a text entry is confirmed with "enter" key
virtual void OnTextEntryComplete(const std::string& sText);
@ -1357,8 +1364,9 @@ namespace olc
#endif
#if defined(OLC_PLATFORM_X11)
namespace X11
{#include <GL/glx.h>}
namespace X11 {
#include <GL/glx.h>
}
#define CALLSTYLE
#endif
@ -3674,6 +3682,9 @@ namespace olc
bool PixelGameEngine::OnUserDestroy()
{ return true; }
void PixelGameEngine::GetAnyKey(){};
void PixelGameEngine::GetAnyKeyPress(olc::Key pressedKey){};
void PixelGameEngine::OnTextEntryComplete(const std::string& sText) { UNUSED(sText); }
bool PixelGameEngine::OnConsoleCommand(const std::string& sCommand) { UNUSED(sCommand); return false; }
@ -3831,8 +3842,10 @@ namespace olc
platform->HandleSystemEvent();
// Compare hardware input states from previous frame
auto ScanHardware = [&](HWButton* pKeys, bool* pStateOld, bool* pStateNew, uint32_t nKeyCount)
auto ScanHardware = [&](HWButton* pKeys, bool* pStateOld, bool* pStateNew, uint32_t nKeyCount,bool keyboard=true)
{
bool pressed=false;
int key;
for (uint32_t i = 0; i < nKeyCount; i++)
{
pKeys[i].bPressed = false;
@ -3841,6 +3854,8 @@ namespace olc
{
if (pStateNew[i])
{
pressed=true;
key=i;
pKeys[i].bPressed = !pKeys[i].bHeld;
pKeys[i].bHeld = true;
}
@ -3849,13 +3864,18 @@ namespace olc
pKeys[i].bReleased = true;
pKeys[i].bHeld = false;
}
GetAnyKey();
}
pStateOld[i] = pStateNew[i];
}
if (pressed) {
if (keyboard) {GetAnyKeyPress((olc::Key)key);}
else {GetAnyKeyPress(olc::Key::NONE);}
}
};
ScanHardware(pKeyboardState, pKeyOldState, pKeyNewState, 256);
ScanHardware(pMouseState, pMouseOldState, pMouseNewState, nMouseButtons);
ScanHardware(pMouseState, pMouseOldState, pMouseNewState, nMouseButtons, false);
// Cache mouse coordinates so they remain consistent during frame
vMousePos = vMousePosCache;
@ -4594,17 +4614,17 @@ namespace olc
// #include <OpenGL/glu.h>
//#endif
//#if defined(OLC_PLATFORM_EMSCRIPTEN)
// #include <EGL/egl.h>
// #include <GLES2/gl2.h>
// #define GL_GLEXT_PROTOTYPES
// #include <GLES2/gl2ext.h>
// #include <emscripten/emscripten.h>
// #define CALLSTYLE
// typedef EGLBoolean(locSwapInterval_t)(EGLDisplay display, EGLint interval);
// #define GL_CLAMP GL_CLAMP_TO_EDGE
// #define OGL_LOAD(t, n) n;
//#endif
#if defined(OLC_PLATFORM_EMSCRIPTEN)
#include <EGL/egl.h>
#include <GLES2/gl2.h>
#define GL_GLEXT_PROTOTYPES
#include <GLES2/gl2ext.h>
#include <emscripten/emscripten.h>
#define CALLSTYLE
typedef EGLBoolean(locSwapInterval_t)(EGLDisplay display, EGLint interval);
#define GL_CLAMP GL_CLAMP_TO_EDGE
#define OGL_LOAD(t, n) n;
#endif
namespace olc
{
@ -5574,7 +5594,7 @@ namespace olc
vFiles.push_back(std::string(buffer));
delete[] buffer;
#else
vFiles.push_back(std::string(dbuffer));
vFiles.push_back(std::string(dfbuffer));
#endif
}
@ -6318,8 +6338,8 @@ namespace olc
let isFullscreen = (document.fullscreenElement != null);
// get the width of the containing element
let width = (isFullscreen || !Module.olc_AssumeDefaultShells) ? window.innerWidth : Module.canvas.parentNode.clientWidth;
let height = (isFullscreen || !Module.olc_AssumeDefaultShells) ? window.innerHeight : Module.canvas.parentNode.clientHeight;
let width = (isFullscreen) ? window.innerWidth : Module.canvas.parentNode.clientWidth;
let height = (isFullscreen) ? window.innerHeight : Module.canvas.parentNode.clientHeight;
// calculate the expected viewport size
let viewWidth = width;

Binary file not shown.
Loading…
Cancel
Save