Skip to content
Emscripten port of ioquake3
C C++ Makefile HTML GLSL Assembly Other
Branch: master
Clone or download
This branch is 3 commits ahead, 710 commits behind ioquake:master.

Latest commit

Latest commit 721a624 May 2, 2015

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
code Initial emscripten port Apr 30, 2015
misc Moved the systemd to /misc/linux Aug 28, 2014
ui Properly fill in occurances of "foobar" in GPL file headers, patch by… Jun 6, 2011
.gitignore Add misc/msvc12/ to support Microsoft Visual Studio 2012 Express Edition Apr 1, 2014
.travis.yml Make travis do all the builds again Dec 28, 2014
BUGS Lets actually make sure the people that don't read anything but this … Jan 11, 2006
COPYING.txt remove svn:executable property Aug 28, 2005
ChangeLog REFACTOR [a vs an] Jun 18, 2012
Makefile Initial emscripten port Apr 30, 2015
NOTTODO This is moved as well. Jun 30, 2008
README.md Added demo link May 2, 2015
TODO Remove TODO, point to the internet so I don't waste ci's. Jun 30, 2008
id-readme.txt * Removed advertising clause from BSD license as per mailing list dis… Jan 18, 2006
jenkins-ci-build.sh Only run scan-build on one of the clang builds Aug 28, 2014
make-macosx-app.sh Fix checking if MP dylibs exist in make-macosx-app.sh Dec 8, 2013
make-macosx-ub.sh Remove 5 unused variables from make-macosx scripts Aug 4, 2013
make-macosx.sh Remove 5 unused variables from make-macosx scripts Aug 4, 2013
md4-readme.txt Fix typo Jun 21, 2010
opengl2-readme.txt OpenGL2: Add support for parallax occlusion mapping. Nov 11, 2014
travis-ci-build.sh Try to fix Travis CI MinGW builds May 19, 2014
voip-readme.txt - Apply parts of Ben Millwood's target bitfield patch (#3787) Jul 27, 2011

README.md

ioq3.js

ioq3.js is a simple port of ioquake3 to the web using Emscripten. It was heavily inspired by inolen's quakejs, but aims to be simpler and up-to-date with the latest Emscripten features.

Demo

You can play the demo version here.

Building

make PLATFORM=js EMSCRIPTEN=/path/to/emscripten

Binaries will be placed in build/release-js-js.

Adding data

Data is preloaded using Emscripten's virtual filesystem. So, if you want to play, you have the provide the official (or demo) PK3's. Here's how it would work for retail Q3:

python /path/to/emscripten/tools/file_packager.py emscripten_data.data --preload baseq3 > emscripten_data.js

And add this to the build/release-js-js/ioquake3.html file:

<script async type="text/javascript" src="emscripten_data.js"></script>

Running

  • Run python -m SimpleHTTPServer 8888 in build/release-js-js
  • Load localhost:8888/ioquake3.html in your browser

Todo

  • Networking
  • Drop LEGACY_GL_EMULATION
You can’t perform that action at this time.