{"action":"created","issue":{"url":"https://api.github.com/repos/bitfighter/bitfighter/issues/6","labels_url":"https://api.github.com/repos/bitfighter/bitfighter/issues/6/labels{/name}","comments_url":"https://api.github.com/repos/bitfighter/bitfighter/issues/6/comments","events_url":"https://api.github.com/repos/bitfighter/bitfighter/issues/6/events","html_url":"https://github.com/bitfighter/bitfighter/issues/6","id":102499943,"number":6,"title":"Replace leveldir system with playlist system","user":{"login":"raptor","id":6452412,"avatar_url":"https://avatars.githubusercontent.com/u/6452412?v=3","gravatar_id":"","url":"https://api.github.com/users/raptor","html_url":"https://github.com/raptor","followers_url":"https://api.github.com/users/raptor/followers","following_url":"https://api.github.com/users/raptor/following{/other_user}","gists_url":"https://api.github.com/users/raptor/gists{/gist_id}","starred_url":"https://api.github.com/users/raptor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/raptor/subscriptions","organizations_url":"https://api.github.com/users/raptor/orgs","repos_url":"https://api.github.com/users/raptor/repos","events_url":"https://api.github.com/users/raptor/events{/privacy}","received_events_url":"https://api.github.com/users/raptor/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/bitfighter/bitfighter/labels/020","name":"020","color":"FFFFFF"},{"url":"https://api.github.com/repos/bitfighter/bitfighter/labels/enhancement","name":"enhancement","color":"84b6eb"},{"url":"https://api.github.com/repos/bitfighter/bitfighter/labels/imported","name":"imported","color":"FFFFFF"},{"url":"https://api.github.com/repos/bitfighter/bitfighter/labels/Priority-Low","name":"Priority-Low","color":"FFFFFF"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-08-22T03:30:42Z","updated_at":"2015-08-22T03:31:05Z","closed_at":null,"body":"_From [watusim...@bitfighter.org](https://code.google.com/u/105427273526970468779/) on September 02, 2011 04:21:18_\n\nThe current logic behind specifying levels is a mess.  Currently, groups of levels are organized by placing them in various folders, then specifying them via the leveldir parameter and related INI options.  I think a better system might be to place all levels in a single folder (or folder with subfolders), which will be specified via the simpler logic we use to specify, say, the SFX folder.  To specify a list of levels to play, you will generate a text playlist file, with the names of one level per line, and then you can spcify the playlist at startup.  All files would either be a naked filename (ctf1.level), or a relative folder and filename (favorites/ctf1.level).  For bonus points, we could permit wildcards, at least in some situations (favorites/*).  We could also permit absolute filenames (c:\\mylevels\\ctf1.level).\r\n\r\nWhen you \"delete\" a level, it would simply be removed from the current playlist (replacing the current system of listing \"deleted\" levels in the INI file).  It should also be possible to switch playlists with a /playlist command (requiring admin privs), which would replace the /leveldir command now being tested (and to be checked in shortly).\r\n\r\nIf no playlist file were specified, all levels in the leveldir folder would be played.\r\n\r\nFinally, we could use our current data transmission feature to allow sending and receiving of playlists for remote administration purposes.\n\n_Original issue: http://code.google.com/p/bitfighter/issues/detail?id=120_"},"comment":{"url":"https://api.github.com/repos/bitfighter/bitfighter/issues/comments/133631313","html_url":"https://github.com/bitfighter/bitfighter/issues/6#issuecomment-133631313","issue_url":"https://api.github.com/repos/bitfighter/bitfighter/issues/6","id":133631313,"user":{"login":"raptor","id":6452412,"avatar_url":"https://avatars.githubusercontent.com/u/6452412?v=3","gravatar_id":"","url":"https://api.github.com/users/raptor","html_url":"https://github.com/raptor","followers_url":"https://api.github.com/users/raptor/followers","following_url":"https://api.github.com/users/raptor/following{/other_user}","gists_url":"https://api.github.com/users/raptor/gists{/gist_id}","starred_url":"https://api.github.com/users/raptor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/raptor/subscriptions","organizations_url":"https://api.github.com/users/raptor/orgs","repos_url":"https://api.github.com/users/raptor/repos","events_url":"https://api.github.com/users/raptor/events{/privacy}","received_events_url":"https://api.github.com/users/raptor/received_events","type":"User","site_admin":false},"created_at":"2015-08-22T03:31:05Z","updated_at":"2015-08-22T03:31:05Z","body":"_From [bkcon...@gmail.com](https://code.google.com/u/112584966209893525339/) on August 01, 2013 11:05:14_\n\n**Labels:** -019  \n"}}