From 5b30a8cbeb5ee0036a1b9d7b515abae03a9e1a83 Mon Sep 17 00:00:00 2001 From: Gregg Tavares <github@greggman.com> Date: Mon, 1 Jun 2015 15:51:56 +0900 Subject: [PATCH] update docs --- README.md | 4 +- docs/changelist.html | 225 +++++++++++++++++++++++++++++++++++++++++++ docs/changelist.md | 70 ++++++++++++++ docs/commands.html | 27 +++++- docs/commands.md | 41 +++++++- docs/network.html | 8 +- docs/network.md | 8 +- todo.md | 6 ++ 8 files changed, 374 insertions(+), 15 deletions(-) create mode 100644 docs/changelist.html create mode 100644 docs/changelist.md diff --git a/README.md b/README.md index 116dc246..028daad5 100644 --- a/README.md +++ b/README.md @@ -6,12 +6,14 @@ HappyFunTimes * [Home Page](http://greggman.github.io/HappyFunTimes/) * [Developer Mailing List](https://groups.google.com/d/forum/hft-dev) * [Blog](http://blog.happyfuntimes.net) +* [Facebook Group](https://www.facebook.com/groups/timesfunhappy/) * [Making Games](docs/makinggames.md) -* [Making Games in Unity3D](docs/unitydocs.md) +* [Making Games in Unity3D](docs/unity/) * [Inspiring Ideas for Games](docs/ideas.md) * [Dev Tips](docs/tips.md) * [API Docs](http://greggman.github.io/HappyFunTimes/docs/hft/) * [API Versions](docs/api-versions.md) +* [Changelist](docs/changelist.md) * [Example Descriptions](docs/examples.md) * [Setting Up for a Museum or Installation](docs/network.md) * [Notes](#notes) diff --git a/docs/changelist.html b/docs/changelist.html new file mode 100644 index 00000000..2b35d589 --- /dev/null +++ b/docs/changelist.html @@ -0,0 +1,225 @@ +<!DOCTYPE html> +<!-- this file is auto-generated from docs/changelist.md. Do not edited directly --> +<!-- +Copyright 2012, Gregg Tavares. +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Gregg Tavares. nor the names of his +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +--> +<html> +<head> +<meta charset="utf-8"> +<meta name="viewport" content="width=device-width, target-densitydpi=160dpi, initial-scale=1.0, user-scalable=yes"> +<meta property="og:title" content="" /> +<meta property="og:type" content="website" /> +<meta property="og:image" content="http://docs.happyfuntimes.net/docs/images/happyfuntimes.jpg" /> +<meta property="og:description" content="" /> +<meta property="og:url" content="http://docs.happyfuntimes.net/docs/changelist.html" /> + +<meta name="twitter:card" content="summary_large_image" /> +<meta name="twitter:site" content="@greggman" /> +<meta name="twitter:creator" content="@greggman" /> +<meta name="twitter:domain" content="docs.happyfuntimes.net" /> +<meta name="twitter:title" content="" /> +<meta name="twitter:url" content="http://docs.happyfuntimes.net/docs/changelist.html" /> +<meta name="twitter:description" content="" /> +<meta name="twitter:image:src" content="http://docs.happyfuntimes.net/docs/images/happyfuntimes.jpg" /> + +<title></title> +<link href="/public/hft-icon.png" rel="shortcut icon" type="image/png"> +<link rel="stylesheet" href="/docs/css/base.css" type="text/css" /> +<link rel="stylesheet" href="/docs/css/lesson.css" type="text/css" /> +</head> +<body> +<div class="header"> + <h1><a href="/docs">HappyFunTimes Docs</a></h1> +</div> + + +<div class="container"> + <div class="lesson-title"> + <h1></h1> + </div> + <div class="row"> + <div class="col-sm-8 lesson-main"> + <h1 id="changelist">Changelist</h1> +<ul> +<li><p>0.0.30</p> +<ul> +<li><p>added <code>--no-check-for-app</code></p> +</li> +<li><p>added <code>hft/0.x.x/scripts/runtime/live-settings.js</code> so HFT can deliver live setttings easily.</p> +<p>a little worried there's too many ways to deliver options. As in code is not organized. +To games data comes in index.html through a template. Maybe that should change to +<code>/game/<gameid>/scripts/runtime/live-game-settings.js</code>? One difference is we allow +minifying on game but minifying is at runtime so that doesn't seem like it would matter.</p> +</li> +<li><p>added changelist.md</p> +</li> +</ul> +</li> +</ul> +<ul> +<li><p>0.0.29</p> +<ul> +<li><p>fixed touch pad code.</p> +<p>Issue was it was possible for button to get stuck down because we don't always +get pointerup events. Also didn't handle pointerout then sliding back on to button.</p> +</li> +<li><p>added <code>GameClient.log</code> and <code>GameClient.error</code></p> +<p>allows the controller to send debug messages that make it to game.</p> +</li> +<li><p>added way for game to supply files for controller.</p> +<p>This allows games to participate in HappyFunTimes without being registered. +So for example <a href="http://greggman.github.io/hft-gamepad-api/">http://greggman.github.io/hft-gamepad-api/</a></p> +</li> +</ul> +</li> +<li><p>0.0.28</p> +<ul> +<li><p>CommonUI now handles orientation.</p> +<p>Pass orientation to <code>CommonUI.setupStandardControllerUI</code> and if it can +force the orientation it will. If it can't it will add the appropriate +HTML/CSS so a message appears to turn the phone in the wrong orientation.</p> +</li> +<li><p>Added app suppport.</p> +<p>HFT tries to redirect to native mobile app.</p> +</li> +<li><p><code>NetPlayer.name</code>, <code>NetPlayer.busy</code> and <code>NetPlayer.hft_namechange</code> and <code>NetPlayer.hft_busy</code> events.</p> +</li> +<li><p>added code to disablecontext menus.</p> +<p>Wondering if I should just always do this.</p> +</li> +</ul> +</li> +<li><p>0.0.27</p> +<ul> +<li><p>make hft-publish optionally use HFT_PUBLISH_USER for user:pass</p> +</li> +<li><p>send headers so hopefully browser never caches.</p> +</li> +<li><p>switch to node 0.12</p> +</li> +<li><p>made "Install" message pop to front</p> +</li> +</ul> +</li> +<li><p>0.0.26</p> +<ul> +<li><p>Add session ids. See <code>Netplayer.sessionId</code></p> +</li> +<li><p>switch docs to use handlebars</p> +</li> +<li><p>add docs.happyfuntimes.net</p> +</li> +</ul> +</li> +</ul> + + <hr/> + <div> + <div>Questions? <a href="http://stackoverflow.com/questions/tagged/happyfuntimes">Ask on stackoverflow</a>.</div> + <div>Issue/Bug? <a href="http://github.com/greggman/happyfuntimes/issues">Create an issue on github</a>.</div> + + <div id="disqus_thread"></div> + <script type="text/javascript"> + /* * * CONFIGURATION VARIABLES: EDIT BEFORE PASTING INTO YOUR WEBPAGE * * */ + var disqus_shortname = 'happyfuntimes'; // required: replace example with your forum shortname + var disqus_identifier = ''; + var disqus_title = ''; + + /* * * DON'T EDIT BELOW THIS LINE * * */ + (function() { + if (window.location.hostname.indexOf("happyfuntimes") < 0) { + return; + } + var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true; + dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js'; + (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq); + })(); + </script> + <noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript> + <a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a> + </div> + </div> + <div class="col-sm-3 col-sm-offset-1 lesson-sidebar"> + <ul> + <li>Setup + <ul> + <li><a href="osx.html">OSX</a></li> + <li><a href="windows.html">Windows</a></li> + <li><a href="linux.html">Linux</a></li> + </ul> + </li> + <li>Making Games + <ul> + <li><a href="makinggames.html">Making games in HTML5</a></li> + <li><a href="unity">Making games in Unity3D</a></li> + <li><a href="ideas.html">Ideas</a></li> + <li><a href="tips.html">Tips</a></li> + <li><a href="examples.html">Examples</a></li> + <li><a href="api-versions.html">API Versions</a></li> + <li><a href="commands.html">hft command</a></li> + </ul> + </li> + <li>Special Stuff + <ul> + <li><a href="network.html">Museums & Installations</a></li> + <li><a href="migration.html">Migrating from older APIs</a></li> + </ul> + </li> + <li>Contributing + <ul> + <li><a href="contributing.html">Contributing</a></li> + <li><a href="future.html">Future Features</a></li> + </ul> + </li> +</ul> + + </div> + </div> +</div> +</body> +<script src="/docs/3rdparty/jquery-1.11.2.min.js"></script> +<script src="/docs/3rdparty/prettify.js"></script> +<script src="/docs/js/lesson.js"></script> +<script> + (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ + (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), + m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) + })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); + + ga('create', 'UA-51764205-4', 'auto'); + ga('send', 'pageview'); + +</script> + + +</html> + + + diff --git a/docs/changelist.md b/docs/changelist.md new file mode 100644 index 00000000..6cccdbd0 --- /dev/null +++ b/docs/changelist.md @@ -0,0 +1,70 @@ +Changelist +========== + +* 0.0.30 + + * added `--no-check-for-app` + + * added `hft/0.x.x/scripts/runtime/live-settings.js` so HFT can deliver live setttings easily. + + a little worried there's too many ways to deliver options. As in code is not organized. + To games data comes in index.html through a template. Maybe that should change to + `/game/<gameid>/scripts/runtime/live-game-settings.js`? One difference is we allow + minifying on game but minifying is at runtime so that doesn't seem like it would matter. + + * added changelist.md + + +* 0.0.29 + + * fixed touch pad code. + + Issue was it was possible for button to get stuck down because we don't always + get pointerup events. Also didn't handle pointerout then sliding back on to button. + + * added `GameClient.log` and `GameClient.error` + + allows the controller to send debug messages that make it to game. + + * added way for game to supply files for controller. + + This allows games to participate in HappyFunTimes without being registered. + So for example http://greggman.github.io/hft-gamepad-api/ + +* 0.0.28 + + * CommonUI now handles orientation. + + Pass orientation to `CommonUI.setupStandardControllerUI` and if it can + force the orientation it will. If it can't it will add the appropriate + HTML/CSS so a message appears to turn the phone in the wrong orientation. + + * Added app suppport. + + HFT tries to redirect to native mobile app. + + * `NetPlayer.name`, `NetPlayer.busy` and `NetPlayer.hft_namechange` and `NetPlayer.hft_busy` events. + + * added code to disablecontext menus. + + Wondering if I should just always do this. + +* 0.0.27 + + * make hft-publish optionally use HFT_PUBLISH_USER for user:pass + + * send headers so hopefully browser never caches. + + * switch to node 0.12 + + * made "Install" message pop to front + +* 0.0.26 + + * Add session ids. See `Netplayer.sessionId` + + * switch docs to use handlebars + + * add docs.happyfuntimes.net + + diff --git a/docs/commands.html b/docs/commands.html index 259e8773..f8af7245 100644 --- a/docs/commands.html +++ b/docs/commands.html @@ -129,7 +129,32 @@ <h3 id="-hft-remove-"><code>hft remove</code></h3> <p>This is the opposite of <code>hft add</code>. It removes the game in the current folder from happyFunTimes. No files are deleted.</p> <h3 id="-hft-start-"><code>hft start</code></h3> -<p>starts happyFunTimes`</p> +<p>starts happyFunTimes.</p> +<p><code>--app-mode</code></p> +<p>launches the browser to <code>http://localhost:18679/games.html</code>. This is the same way HappyFunTimes +is started when you launch by clicking the HappyFunTimes program icon.</p> +<p><code>--system-name=<somename></code></p> +<p>If you're at a gamejam or some other place where there are multiple happyfuntimes +games running on the same network, then when users connect to happyfuntimes.net they'll +be given a list of game to join. The list will say the name of the computer followed +by the name of the game. By default happyfuntimes user the name of your computer. You +can set a specific name with this option.</p> +<p><code>--no-ask-name</code></p> +<p>If you're running a single game in <a href="network.html">installation mode</a> and you don't need users to enter +a name this option will skip asking the user for a name</p> +<p><code>--no-menu</code></p> +<p>If you're running in <a href="network.html">installation mode</a> and you don't need users to be able to change their +name this option turns off the gear icon on the controller</p> +<p><code>--kiosk</code></p> +<p>Normally controllers start at <code>http://localhost:18679</code>. There the controller waits for +a game to start. If multiple games are running users are given a list to choose from. +If you're running in an <a href="network.html">installation</a> where there's only 1 game you can have controller +go directly to the game with this option.</p> +<p><code>--no-check-for-app</code></p> +<p>Controllers normally try to launch the native mobile app. This check takes 3 seconds. +Use this switch to skip that check.</p> +<p><code>--dns</code></p> +<p>Tells happyfuntimes to implement a DNS server. This is for <a href="network.html">installation mode</a>.</p> <h3 id="-hft-uninstall-gameid-"><code>hft uninstall gameId</code></h3> <p>Un-installs a game from happyfuntimes. <strong>WARNING!!! this DELETES FILES!!!</strong></p> diff --git a/docs/commands.md b/docs/commands.md index acd03e0a..11cb5aa3 100644 --- a/docs/commands.md +++ b/docs/commands.md @@ -87,7 +87,46 @@ happyFunTimes. No files are deleted. ### `hft start` -starts happyFunTimes` +starts happyFunTimes. + +`--app-mode` + +launches the browser to `http://localhost:18679/games.html`. This is the same way HappyFunTimes +is started when you launch by clicking the HappyFunTimes program icon. + +`--system-name=<somename>` + +If you're at a gamejam or some other place where there are multiple happyfuntimes +games running on the same network, then when users connect to happyfuntimes.net they'll +be given a list of game to join. The list will say the name of the computer followed +by the name of the game. By default happyfuntimes user the name of your computer. You +can set a specific name with this option. + +`--no-ask-name` + +If you're running a single game in [installation mode](network.md) and you don't need users to enter +a name this option will skip asking the user for a name + +`--no-menu` + +If you're running in [installation mode](network.md) and you don't need users to be able to change their +name this option turns off the gear icon on the controller + +`--kiosk` + +Normally controllers start at `http://localhost:18679`. There the controller waits for +a game to start. If multiple games are running users are given a list to choose from. +If you're running in an [installation](network.md) where there's only 1 game you can have controller +go directly to the game with this option. + +`--no-check-for-app` + +Controllers normally try to launch the native mobile app. This check takes 3 seconds. +Use this switch to skip that check. + +`--dns` + +Tells happyfuntimes to implement a DNS server. This is for [installation mode](network.md). ### `hft uninstall gameId` diff --git a/docs/network.html b/docs/network.html index eebbf7b3..fe4124ab 100644 --- a/docs/network.html +++ b/docs/network.html @@ -177,13 +177,9 @@ <h2 id="starting-happyfuntimes-in-installation-mode">Starting HappyFunTimes in i automatcally come up with a page that says "Start". If it's an Android device open the browser and go to <code>hft.com</code> or any <code>http://</code> url.</p> <p>If you're planning on running one game on your installation you might want to use -these one or more of these options to start</p> +these one or more of these <a href="commands.html#hft-start">options</a> to start</p> <pre><code>hft start --dns --no-ask-name --no-menu --kiosk -</code></pre><p><code>--no-menu</code> removes the gear icon on the contollers. <code>--no-ask-name</code> says to skip -asking the user for a name. If your game doesn't need names or if you're getting -the name some other way then this will skip the enter-name screen. Finally <code>--kiosk</code> -says to send players directly to the currently running game. Normally users go -to the <code>/index.html</code> where they wait for a game to be selected.</p> +</code></pre><p><a href="commands.html#hft-start">See the start command for details</a>.</p> <h2 id="setting-up-an-airport-extreme">Setting Up an Airport Extreme</h2> <p>Unlike every other router in existence the Airport Extreme requires custom software to configure it. If you're on Windows or Linux you'll need to diff --git a/docs/network.md b/docs/network.md index 0a59d846..61aad66d 100644 --- a/docs/network.md +++ b/docs/network.md @@ -154,15 +154,11 @@ automatcally come up with a page that says "Start". If it's an Android device open the browser and go to `hft.com` or any `http://` url. If you're planning on running one game on your installation you might want to use -these one or more of these options to start +these one or more of these [options](commands.md#hft-start) to start hft start --dns --no-ask-name --no-menu --kiosk -`--no-menu` removes the gear icon on the contollers. `--no-ask-name` says to skip -asking the user for a name. If your game doesn't need names or if you're getting -the name some other way then this will skip the enter-name screen. Finally `--kiosk` -says to send players directly to the currently running game. Normally users go -to the `/index.html` where they wait for a game to be selected. +[See the start command for details](commands.md#hft-start). Setting Up an Airport Extreme ----------------------------- diff --git a/todo.md b/todo.md index 81d8507e..bcd2b471 100644 --- a/todo.md +++ b/todo.md @@ -1,6 +1,12 @@ To Do ===== +* make LR +* make LR + 1 +* make LR + 2 +* make touch +* make orientation +* make accel * fix controller that incorrectly asked for orientation * need a way for game to send binary files (how about a .zip) for controller so you can have image files and sounds. That sounds