{ "info": { "author": "maxmillion18", "author_email": "icantpostmyemailhere@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 2 - Pre-Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3 :: Only", "Topic :: Software Development :: Code Generators" ], "description": "frhdtools\n=========\n\nA Python library for working with Free Rider HD Tracks.\n\n|pip stable| |type sdist| |license MIT|\n\nIntroduction\n------------\n\nFree Rider HD is an online HTML5 + JS game where users can draw bike\ntracks, upload them to a community of players, and ride them. (`Go try\nit out!`_)\n\nWhen drawing a track, you can import track code from a file or from your\nclipboard. This library (as of now) allows you to generate that code.\n\nInstall\n-------\n\nFire up a terminal and run:\n\n``pip install frhdtools``\n\nYou should be good to go.\n\nUsage\n-----\n\nExample 1: Straight Line\n~~~~~~~~~~~~~~~~~~~~~~~~\n\nWhen you start, you\u2019ll want to import frhdtools:\n\n.. code:: python\n\n import frhdtools\n\nNext, you should create a Track class. This will hold all of your\ntrack\u2019s objects and code.\n\n.. code:: python\n\n my_track = frhdtools.Track.Track()\n\nNow that you\u2019ve done that, you can add a line:\n\n.. code:: python\n\n my_track.insLine(-40,50,100,50,'p')\n\nThis line goes from (-40,50) to (100,50). What is the \u2018p\u2019, you ask? That\ncorresponds to the type of line. In this case, it means a physics line.\nMore on types of lines later.\n\nNow, lets generate our code:\n\n.. code:: python\n\n print(my_track.genCode())\n\n| This will generate the code stored in ``my_track`` and print it to\n stdout.\n| In my case, the code was this:\n\n.. code:: python\n\n -18 1i 34 1i,###\n\nDon\u2019t worry what the code means just yet. First let\u2019s plug it into FRHD\nto see if it works.\n\nIn the Track Editor, click \u201cImport\u201d at the top of the editor:\n\n.. figure:: https://raw.githubusercontent.com/maxmillion18/frhdtools/master/images/example1/frhdimport.png\n :alt: Click Import at the top of the screen.\n\n\nThen paste in your generated code at the window that pops up.\n\nAfter it loads your file, the track should look **exactly** like this:\n\n.. figure:: https://raw.githubusercontent.com/maxmillion18/frhdtools/master//images/example1/frhdexample1.png\n :alt: The imported track.\n\nWondering about the helmet? It\u2019s just swag.\n\nCongratulations! You\u2019ve just finished you first line segment. It will\nget easier, I promise. :wink:\n\nExample 2: Scenery Line\n~~~~~~~~~~~~~~~~~~~~~~~\n\nRemember how I mentioned that there were different types of lines? Well\nhere\u2019s what they are.\n\nIn the last example we used a physics line. The rider can interact and ride on those.\n\nIn this example you\u2019ll make a **scenery line**. A scenery line is a line\nthat the rider cannot ride on. It is purely just for scenery. Also,\nscenery lines are gray instead of black.\n\nIt\u2019s really easy to make a scenery line. Instead of using the code from\nlast time:\n\n.. code:: python\n\n import frhdtools\n my_track = frhdtools.Track.Track()\n my_track.insLine(-40,50,100,50,'p')\n print(my_track.genCode())\n\nWe change the \u2018p\u2019 to an \u2018s\u2019 in my\\_track.insLine:\n\n.. code:: python\n\n import frhdtools\n my_track = frhdtools.Track.Track()\n my_track.insLine(-40,50,100,50,'s')\n print(my_track.genCode())\n\n(FYI: The code should be ``#-18 1i 34 1i,##``)\n\nNow, when you plug the code into FRHD, you will get this:\n\n.. figure:: https://raw.githubusercontent.com/maxmillion18/frhdtools/master/images/example2/frhdexample2.png\n :alt: A scenery line.\n\nNote: the rider will fall through the line as it does not have physics.\nThis is normal.\n\nNow you have made a scenery line. Great!\n\nExample 3: Boost\n~~~~~~~~~~~~~~~~\n\nIn this example, you will learn how to make a boost powerup.\n\nTo start, let's take our code from the first example:\n\n.. code:: python\n\n import frhdtools\n my_track = frhdtools.Track.Track()\n my_track.insLine(-40,50,100,50,'p')\n print(my_track.genCode())\n\nand add my_track.insBoost(90,-10,90)\n\n.. code:: python\n\n import frhdtools\n my_track = frhdtools.Track.Track()\n my_track.insLine(-40,50,100,50,'p')\n my_track.insBoost(90,10,90)\n print(my_track.genCode())\n\nThis will spawn a boost powerup at (90,10). It will be rotated 90 degrees.\n\n** By the way, the code should look like this: ``-18 1i 34 1i,##B 2q a 2q,#``\n\nPlug that into FRHD, and you're left with this:\n\n.. figure:: https://raw.githubusercontent.com/maxmillion18/frhdtools/master/images/example3/boost.gif\n :alt: A boost powerup.\n\nExample 4: Bomb\n~~~~~~~~~~~~~~~\n\nIn this example, you'll learn how to spawn a bomb powerup. Bombs explode when you touch them.\n\nSo, to get started we'll take our code from our first example and add my_track.insBomb():\n\n.. code:: python\n\n import frhdtools\n my_track = frhdtools.Track.Track()\n my_track.insLine(-40,50,100,50,'p')\n my_track.insBomb(90,10)\n print(my_track.genCode())\n\nThat code makes a bomb at (90,10), which are the same coordinates from the last example.\n\nGo ahead and put that into FRHD:\n\n.. figure:: https://raw.githubusercontent.com/maxmillion18/frhdtools/master/images/example4/bomb.gif\n :alt: A Bomb.\n\nExample 5: Gravity\n~~~~~~~~~~~~~~~~~~\n\nIn this example, you'll put a gravity powerup into a track.\n\nGravity powerups are pretty cool because they can switch gravity. Wow.\n\nYou know the drill. Let's take the code from Example 1 and this time add my_track.insGravity():\n\n.. code:: python\n\n import frhdtools\n my_track = frhdtools.Track.Track()\n my_track.insLine(-40,50,100,50,'p')\n my_track.insGravity(90,10,90)\n print(my_track.genCode())\n\nNow, when you put that into FRHD, you'll see something cool:\n\n.. figure:: https://raw.githubusercontent.com/maxmillion18/frhdtools/master/images/example5/gravity.gif\n :alt: Gravity!\n\nHonestly, I think that this is one of the coolest features in FRHD; I really apprieciate that the developers took time to put it there.\n\n.. _Go try it out!: https://www.freeriderhd.com\n\n.. |pip stable| image:: https://img.shields.io/badge/pip-stable-green.svg\n.. |type sdist| image:: https://img.shields.io/badge/type-sdist-blue.svg\n.. |license MIT| image:: https://img.shields.io/badge/license-MIT-blue.svg", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/maxmillion18/frhdtools", "keywords": "development freeriderhd freerider code track tracks", "license": "MIT License", "maintainer": null, "maintainer_email": null, "name": "frhdtools", "package_url": "https://pypi.org/project/frhdtools/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/frhdtools/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/maxmillion18/frhdtools" }, "release_url": "https://pypi.org/project/frhdtools/0.0.4.1/", "requires_dist": null, "requires_python": null, "summary": "Library to work with Free Rider HD Tracks", "version": "0.0.4.1" }, "last_serial": 1716368, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "11119910c7f4f9c55c22cd06b670aee7", "sha256": "2163a644717cfefb0da1f2df960617b3a119952b79287ffb189b512a7020cc47" }, "downloads": -1, "filename": "frhdtools-0.0.1.tar.gz", "has_sig": false, "md5_digest": "11119910c7f4f9c55c22cd06b670aee7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2298, "upload_time": "2015-09-05T14:08:56", "url": "https://files.pythonhosted.org/packages/8d/b1/b6201f323084d6dc40a834e85d2c3973734054a42ef411fc0ccf4999effc/frhdtools-0.0.1.tar.gz" } ], "0.0.3": [ { "comment_text": "", "digests": { "md5": "0962eeea748d6a4939eb7fd8cf4944e8", "sha256": "74f87febbfe03033a542c69866a56707efd81321494b53bc71ddb7380acc4bd2" }, "downloads": -1, "filename": "frhdtools-0.0.3.tar.gz", "has_sig": false, "md5_digest": "0962eeea748d6a4939eb7fd8cf4944e8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2575, "upload_time": "2015-09-06T10:51:47", "url": "https://files.pythonhosted.org/packages/2a/1e/479011770d0411b734322d03a24f7806b1b4edd4a9207a46b70fb5bc0218/frhdtools-0.0.3.tar.gz" } ], "0.0.3.1": [ { "comment_text": "", "digests": { "md5": "04fa1267478110e177b3c4ac6e7a749b", "sha256": "40ad853d779a4f81e48d1dd7decc25704bf0e725c1a6dbd1e3c7a471596a4f1f" }, "downloads": -1, "filename": "frhdtools-0.0.3.1.tar.gz", "has_sig": false, "md5_digest": "04fa1267478110e177b3c4ac6e7a749b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 2557, "upload_time": "2015-09-06T11:02:07", "url": "https://files.pythonhosted.org/packages/2c/54/199f208d935c7f481740ec8e5bc6cc6a7d0d39ea7ba4717bc92d69922993/frhdtools-0.0.3.1.tar.gz" } ], "0.0.3.2": [ { "comment_text": "", "digests": { "md5": "39515dabe6665116bdb43719fff15a18", "sha256": "6bf05b602c70934817cec1a6a3f1e5d963165e2206ee5c84edb7377eb62b3fa9" }, "downloads": -1, "filename": "frhdtools-0.0.3.2.tar.gz", "has_sig": false, "md5_digest": "39515dabe6665116bdb43719fff15a18", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4016, "upload_time": "2015-09-06T13:21:35", "url": "https://files.pythonhosted.org/packages/30/af/8229ab979761dc6c30f4a3df42ed4f11ab0dabfefc8812be636de20f625a/frhdtools-0.0.3.2.tar.gz" } ], "0.0.3.3": [ { "comment_text": "", "digests": { "md5": "2361557289bed55bbc97019316c9f877", "sha256": "0c6905166fbc1adda05ea4f351dc842c6eb1e3c939b43e26c0b749413e5206d2" }, "downloads": -1, "filename": "frhdtools-0.0.3.3.tar.gz", "has_sig": false, "md5_digest": "2361557289bed55bbc97019316c9f877", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4438, "upload_time": "2015-09-06T13:27:59", "url": "https://files.pythonhosted.org/packages/1b/c6/c362d4786cd554081dd8439e1be972bd5fe18878c35c8e218de70e6fda24/frhdtools-0.0.3.3.tar.gz" } ], "0.0.3.4": [ { "comment_text": "", "digests": { "md5": "557b2307fd8d1006e300a4cba6d30172", "sha256": "b8dd752c69119f38d43a04514ffe1ff6ac6125b4a4ea5c79e5fb5a14d58c5a22" }, "downloads": -1, "filename": "frhdtools-0.0.3.4.tar.gz", "has_sig": false, "md5_digest": "557b2307fd8d1006e300a4cba6d30172", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4646, "upload_time": "2015-09-06T14:00:20", "url": "https://files.pythonhosted.org/packages/65/d9/f18fca24cf0013e9a48f76869182782759f6ea62773b5cc590b0298a7819/frhdtools-0.0.3.4.tar.gz" } ], "0.0.3.4b": [ { "comment_text": "", "digests": { "md5": "a8999a3c3d4cc4c71e00c6b19d06b842", "sha256": "c415e1c4fb09b80b7abc791a5e6d2d7936fda63d33eefb0125df1a81e4bfe32f" }, "downloads": -1, "filename": "frhdtools-0.0.3.4b.tar.gz", "has_sig": false, "md5_digest": "a8999a3c3d4cc4c71e00c6b19d06b842", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4668, "upload_time": "2015-09-06T14:01:29", "url": "https://files.pythonhosted.org/packages/56/19/a4aa80cd60d14851315b346a3692aec5480eb9027373803bee483b8128bc/frhdtools-0.0.3.4b.tar.gz" } ], "0.0.3.5": [ { "comment_text": "", "digests": { "md5": "8d5ba6e457520e15f1cabb026c36e6dc", "sha256": "beaae2c690094f21c649e27ceb6015ea532272e4317cacd487fe6ed83997452d" }, "downloads": -1, "filename": "frhdtools-0.0.3.5.tar.gz", "has_sig": false, "md5_digest": "8d5ba6e457520e15f1cabb026c36e6dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4707, "upload_time": "2015-09-06T14:37:13", "url": "https://files.pythonhosted.org/packages/c7/3c/604f3e050118a36c7a9363d71032d04ba6d28f8a12a02a9f649891f416d2/frhdtools-0.0.3.5.tar.gz" } ], "0.0.3.6": [ { "comment_text": "", "digests": { "md5": "12d6d8c764ba12019e4f0e09bd97ce95", "sha256": "d28f9c5e0273d8befaaa2c21402ffc3ca9f55ec344d885f7f774507c85b070a3" }, "downloads": -1, "filename": "frhdtools-0.0.3.6.tar.gz", "has_sig": false, "md5_digest": "12d6d8c764ba12019e4f0e09bd97ce95", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4695, "upload_time": "2015-09-06T17:13:48", "url": "https://files.pythonhosted.org/packages/c2/4d/76e6759f6c89a070da6afda9b6bfe551ff3d604eacf864d066091118e2e2/frhdtools-0.0.3.6.tar.gz" } ], "0.0.4.0": [ { "comment_text": "", "digests": { "md5": "e3c28854e1409a34bd0a2504a7a6aa62", "sha256": "f7c4121b808deff230ec2f90646b7ee59921f50471635d2989053adca54f363b" }, "downloads": -1, "filename": "frhdtools-0.0.4.0.tar.gz", "has_sig": false, "md5_digest": "e3c28854e1409a34bd0a2504a7a6aa62", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4907, "upload_time": "2015-09-09T19:42:35", "url": "https://files.pythonhosted.org/packages/3f/34/aa4d99a93605e8c7db25600f3d00ba72752f805169391dfba3f2ec9b4b25/frhdtools-0.0.4.0.tar.gz" } ], "0.0.4.1": [ { "comment_text": "", "digests": { "md5": "f574f6e7ea588f2d5e9cc2b16297cc2d", "sha256": "741cd900df1b09fda4246d36b96f8d80e1060d4a73fc1ca409e6a0ac577c7ae9" }, "downloads": -1, "filename": "frhdtools-0.0.4.1.tar.gz", "has_sig": false, "md5_digest": "f574f6e7ea588f2d5e9cc2b16297cc2d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5418, "upload_time": "2015-09-09T23:14:12", "url": "https://files.pythonhosted.org/packages/ac/8b/026dd40093d1b67f15e30bff9bf8ed64d133c38cee996ba702cf941b6259/frhdtools-0.0.4.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "f574f6e7ea588f2d5e9cc2b16297cc2d", "sha256": "741cd900df1b09fda4246d36b96f8d80e1060d4a73fc1ca409e6a0ac577c7ae9" }, "downloads": -1, "filename": "frhdtools-0.0.4.1.tar.gz", "has_sig": false, "md5_digest": "f574f6e7ea588f2d5e9cc2b16297cc2d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5418, "upload_time": "2015-09-09T23:14:12", "url": "https://files.pythonhosted.org/packages/ac/8b/026dd40093d1b67f15e30bff9bf8ed64d133c38cee996ba702cf941b6259/frhdtools-0.0.4.1.tar.gz" } ] }