Comments (6)
This would definitely help in supporting emscripten/wasm too. What's your ETA on this?
from libtcod.
I thought Emscripten could compile C++. If anything currently prevents an emscripten/wasm build then feel free to create an issue for it.
Some of the refactoring is hard to do since a lot of the rendering functions depend on each other, so those all have to be done at once before I can test and upload it.
No real ETA, but I'm trying to get as much as I can done before the February 7DRL. This might be done before the end of January, but there will still be a lot of compiled C++ code left over after this task is done.
from libtcod.
Emscripten can compile C++ but itβs a bit of a mess when there are external libraries and C++14 involved.
Some standard libraries like zlib and SDL2 have already been ported but others like GLAD and probably others would need to be ported manually.
The best would be to reduce the number of external dependencies to the bare minimum.
On top of that, a port to pure C would be nice for people like me that usually avoid C++
from libtcod.
GLAD is for the desktop builds, and it keeps the function names standard so that I can switch between OpenGL and OpenGLES easier. I just need to add the preprocessor code that actually does that.
from libtcod.
It's done, all the major components compile and run without the C++ sources. Right now it's only python-tcod which is setup to compile without C++.
I want to test Emscripten but I've been unable to setup the tool-chain so far. I expect it to fail, and that I'll need to switch the headers to use GLES. That kind of thing will be tracked in issue #41 if I make more progress.
from libtcod.
Nice! ;)
from libtcod.
Related Issues (20)
- Error when configuring project with CMake -> Fatal: path 'versions/baseline.json' exists on disk, but not in <commit> HOT 3
- Missing stdc++fs library for older g++'es HOT 3
- Bitmap font question HOT 1
- Libtcod parser regression: expects identifiers then crashes when given a type.
- Generic ndarray types.
- Update Sphinx docs to cover the API. HOT 3
- Add the roguelike.h renderer HOT 3
- Printing API needs a rework. HOT 10
- Problem with a 64 by 64 pixel font HOT 4
- `TCODImage` is not default constructable.
- How to use libtcod from vcpkg in 64bit MSVC project? HOT 2
- Create a libtcod Discord community channel HOT 4
- Use CMake FetchContent instead of vcpkg HOT 8
- Libtcod blanks the first glyph of tilesets without warning.
- How to access screen from ITCODSDLRenderer::render HOT 2
- Vcpkg should be updated HOT 5
- Confusing names of [l|m|r]button_pressed TCOD_mouse_t properties HOT 2
- Split libtcod into multiple libraries.
- #include Header is incorrect in docs/guides/getting-started.md for the example main.cpp file. HOT 2
- Allow disabling CMake install targets HOT 5
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
π Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. πππ
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google β€οΈ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libtcod.