diff --git a/PKGBUILD b/PKGBUILD index 4e73483..5bb049e 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -1,6 +1,6 @@ pkgname=stc-git _gitname=stc -pkgver=0.1.2 +pkgver=0.1.3 pkgrel=1 pkgdesc="Easily download collections and mods from steam." url="https://github.com/DRAGONTOS/stc" diff --git a/assets/ids.txt b/assets/ids.txt new file mode 100644 index 0000000..731293a --- /dev/null +++ b/assets/ids.txt @@ -0,0 +1,10 @@ ++workshop_download_item 244850 2710575211 \ ++workshop_download_item 244850 2742890728 \ ++workshop_download_item 244850 2779162581 \ ++workshop_download_item 244850 2949388346 \ ++workshop_download_item 244850 2821153519 \ ++workshop_download_item 244850 3171146773 \ ++workshop_download_item 244850 3318269325 \ ++workshop_download_item 244850 3342484040 \ ++workshop_download_item 244850 2657577202 \ ++quit diff --git a/assets/sources.html b/assets/sources.html new file mode 100644 index 0000000..c40a9ec --- /dev/null +++ b/assets/sources.html @@ -0,0 +1,1034 @@ +<!DOCTYPE html> +<html class=" responsive" lang="en"> +<head> + <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> + <meta name="viewport" content="width=device-width,initial-scale=1"> + <meta name="theme-color" content="#171a21"> + <title>Steam Workshop::Anchor Determinari Arsenal</title> + <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon"> + + + + <link href="https://community.cloudflare.steamstatic.com/public/shared/css/motiva_sans.css?v=GfSjbGKcNYaQ&l=english&_cdn=cloudflare" rel="stylesheet" type="text/css" > +<link href="https://community.cloudflare.steamstatic.com/public/shared/css/buttons.css?v=tuNiaSwXwcYT&l=english&_cdn=cloudflare" rel="stylesheet" type="text/css" > +<link href="https://community.cloudflare.steamstatic.com/public/shared/css/shared_global.css?v=6fYWPh0ZHePc&l=english&_cdn=cloudflare" rel="stylesheet" type="text/css" > +<link href="https://community.cloudflare.steamstatic.com/public/css/globalv2.css?v=pwVcIAtHNXwg&l=english&_cdn=cloudflare" rel="stylesheet" type="text/css" > +<link href="https://community.cloudflare.steamstatic.com/public/shared/css/apphub.css?v=-wwZ7_rN6rgU&l=english&_cdn=cloudflare" rel="stylesheet" type="text/css" > +<link href="https://community.cloudflare.steamstatic.com/public/css/skin_1/forums.css?v=5ZLbPH9xh0TE&l=english&_cdn=cloudflare" rel="stylesheet" type="text/css" > +<link href="https://community.cloudflare.steamstatic.com/public/css/skin_1/workshop.css?v=kwHBggge_XJr&l=english&_cdn=cloudflare" rel="stylesheet" type="text/css" > +<link href="https://community.cloudflare.steamstatic.com/public/css/skin_1/workshop_itemdetails.css?v=RQjZ2mXnrxqS&l=english&_cdn=cloudflare" rel="stylesheet" type="text/css" > +<link href="https://community.cloudflare.steamstatic.com/public/shared/css/shared_responsive.css?v=eghn9DNyCY67&l=english&_cdn=cloudflare" rel="stylesheet" type="text/css" > +<link href="https://community.cloudflare.steamstatic.com/public/shared/css/apphub_images.css?v=_0CllnFpmuY6&l=english&_cdn=cloudflare" rel="stylesheet" type="text/css" > +<link href="https://community.cloudflare.steamstatic.com/public/css/skin_1/header.css?v=vh4BMeDcNiCU&l=english&_cdn=cloudflare" rel="stylesheet" type="text/css" > +<script type="text/javascript"> + var __PrototypePreserve=[]; + __PrototypePreserve[0] = Array.from; + __PrototypePreserve[1] = Array.prototype.filter; + __PrototypePreserve[2] = Array.prototype.flatMap; + __PrototypePreserve[3] = Array.prototype.find; + __PrototypePreserve[4] = Array.prototype.some; + __PrototypePreserve[5] = Function.prototype.bind; + __PrototypePreserve[6] = HTMLElement.prototype.scrollTo; +</script> +<script type="text/javascript" src="https://community.cloudflare.steamstatic.com/public/javascript/prototype-1.7.js?v=.55t44gwuwgvw&_cdn=cloudflare" ></script> +<script type="text/javascript"> + Array.from = __PrototypePreserve[0] || Array.from; + Array.prototype.filter = __PrototypePreserve[1] || Array.prototype.filter; + Array.prototype.flatMap = __PrototypePreserve[2] || Array.prototype.flatMap; + Array.prototype.find = __PrototypePreserve[3] || Array.prototype.find; + Array.prototype.some = __PrototypePreserve[4] || Array.prototype.some; + Function.prototype.bind = __PrototypePreserve[5] || Function.prototype.bind; + HTMLElement.prototype.scrollTo = __PrototypePreserve[6] || HTMLElement.prototype.scrollTo; +</script> +<script type="text/javascript">VALVE_PUBLIC_PATH = "https:\/\/community.cloudflare.steamstatic.com\/public\/";</script><script type="text/javascript" src="https://community.cloudflare.steamstatic.com/public/javascript/scriptaculous/_combined.js?v=OeNIgrpEF8tL&l=english&_cdn=cloudflare&load=effects,controls,slider,dragdrop" ></script> +<script type="text/javascript" src="https://community.cloudflare.steamstatic.com/public/javascript/global.js?v=bOP7RorZq4_W&l=english&_cdn=cloudflare" ></script> +<script type="text/javascript" src="https://community.cloudflare.steamstatic.com/public/javascript/jquery-1.11.1.min.js?v=.isFTSRckeNhC&_cdn=cloudflare" ></script> +<script type="text/javascript" src="https://community.cloudflare.steamstatic.com/public/shared/javascript/tooltip.js?v=.zYHOpI1L3Rt0&_cdn=cloudflare" ></script> +<script type="text/javascript" src="https://community.cloudflare.steamstatic.com/public/shared/javascript/shared_global.js?v=wJD9maDpDcVL&l=english&_cdn=cloudflare" ></script> +<script type="text/javascript" src="https://community.cloudflare.steamstatic.com/public/shared/javascript/auth_refresh.js?v=WgUxSlKTb3W1&l=english&_cdn=cloudflare" ></script> +<script type="text/javascript">Object.seal && [ Object, Array, String, Number ].map( function( builtin ) { Object.seal( builtin.prototype ); } );</script><script type="text/javascript">$J = jQuery.noConflict(); +if ( typeof JSON != 'object' || !JSON.stringify || !JSON.parse ) { document.write( "<scr" + "ipt type=\"text\/javascript\" src=\"https:\/\/community.cloudflare.steamstatic.com\/public\/javascript\/json2.js?v=pmScf4470EZP&l=english&_cdn=cloudflare\" ><\/script>\n" ); }; +</script> + <script type="text/javascript"> + document.addEventListener('DOMContentLoaded', function(event) { + SetupTooltips( { tooltipCSSClass: 'community_tooltip'} ); + }); + </script><script type="text/javascript" src="https://community.cloudflare.steamstatic.com/public/javascript/modalv2.js?v=dfMhuy-Lrpyo&l=english&_cdn=cloudflare" ></script> +<script type="text/javascript" src="https://community.cloudflare.steamstatic.com/public/javascript/workshop_functions.js?v=NcJcKhT9Z3Dy&l=english&_cdn=cloudflare" ></script> +<script type="text/javascript" src="https://community.cloudflare.steamstatic.com/public/javascript/sharedfiles_functions_logged_out.js?v=.haFgIE0aMxHR&_cdn=cloudflare" ></script> +<script type="text/javascript" src="https://community.cloudflare.steamstatic.com/public/javascript/applications/community/localization/loyaltyrewards_manifest.js?v=H8DiZuDDXyS_&l=english&_cdn=cloudflare" ></script> +<script type="text/javascript" src="https://community.cloudflare.steamstatic.com/public/shared/javascript/shared_responsive_adapter.js?v=pSvIAKtunfWg&l=english&_cdn=cloudflare" ></script> + + <meta name="twitter:card" content="summary_large_image"> + <meta name="Description" content="Steam Workshop: Space Engineers. == Welcome to the Anchor Determinari arsenal! == + +-Here, you'll find the current vehicles, utilities, and other such machinations utilized by the Anchor Determinari. + +-Please note that this dis"> + + <meta name="twitter:site" content="@steam" /> + + <meta property="og:title" content="Steam Workshop::Anchor Determinari Arsenal"> + <meta property="twitter:title" content="Steam Workshop::Anchor Determinari Arsenal"> + <meta property="og:type" content="website"> + <meta property="fb:app_id" content="105386699540688"> + <meta property="og:description" content="Steam Workshop: Space Engineers. == Welcome to the Anchor Determinari arsenal! == + +-Here, you'll find the current vehicles, utilities, and other such machinations utilized by the Anchor Determinari. + +-Please note that this dis"> + <meta property="twitter:description" content="Steam Workshop: Space Engineers. == Welcome to the Anchor Determinari arsenal! == + +-Here, you'll find the current vehicles, utilities, and other such machinations utilized by the Anchor Determinari. + +-Please note that this dis"> + + + <link rel="image_src" href="https://steamuserimages-a.akamaihd.net/ugc/2495647722475176215/72AE0D909BE225F3B1FE6225449571D4B940CB82/?imw=5000&imh=5000&ima=fit&impolicy=Letterbox&imcolor=%23000000&letterbox=false"> + <meta property="og:image" content="https://steamuserimages-a.akamaihd.net/ugc/2495647722475176215/72AE0D909BE225F3B1FE6225449571D4B940CB82/?imw=5000&imh=5000&ima=fit&impolicy=Letterbox&imcolor=%23000000&letterbox=false"> + <meta name="twitter:image" content="https://steamuserimages-a.akamaihd.net/ugc/2495647722475176215/72AE0D909BE225F3B1FE6225449571D4B940CB82/?imw=5000&imh=5000&ima=fit&impolicy=Letterbox&imcolor=%23000000&letterbox=false" /> + + + + + + </head> +<body class="apphub_blue responsive_page "> + + +<div class="responsive_page_frame with_header"> + <div role="navigation" class="responsive_page_menu_ctn mainmenu" aria-label="Mobile Menu"> + <div class="responsive_page_menu" id="responsive_page_menu"> + <div class="mainmenu_contents"> + <div class="mainmenu_contents_items"> + <a class="menuitem" href="https://steamcommunity.com/login/home/?goto=sharedfiles%2Ffiledetails%2F%3Fid%3D3342403375"> + Login </a> + <a class="menuitem supernav" href="https://store.steampowered.com/" data-tooltip-type="selector" data-tooltip-content=".submenu_Store"> + Store </a> + <div class="submenu_Store" style="display: none;" data-submenuid="Store"> + <a class="submenuitem" href="https://store.steampowered.com/"> + Home </a> + <a class="submenuitem" href="https://store.steampowered.com/explore/"> + Discovery Queue </a> + <a class="submenuitem" href="https://steamcommunity.com/my/wishlist/"> + Wishlist </a> + <a class="submenuitem" href="https://store.steampowered.com/points/shop/"> + Points Shop </a> + <a class="submenuitem" href="https://store.steampowered.com/news/"> + News </a> + <a class="submenuitem" href="https://store.steampowered.com/stats/"> + Stats </a> + </div> + <a class="menuitem supernav supernav_active" href="https://steamcommunity.com/" data-tooltip-type="selector" data-tooltip-content=".submenu_Community"> + Community </a> + <div class="submenu_Community" style="display: none;" data-submenuid="Community"> + <a class="submenuitem" href="https://steamcommunity.com/"> + Home </a> + <a class="submenuitem" href="https://steamcommunity.com/discussions/"> + Discussions </a> + <a class="submenuitem" href="https://steamcommunity.com/workshop/"> + Workshop </a> + <a class="submenuitem" href="https://steamcommunity.com/market/"> + Market </a> + <a class="submenuitem" href="https://steamcommunity.com/?subsection=broadcasts"> + Broadcasts </a> + </div> + <a class="menuitem " href="https://store.steampowered.com/about/"> + About </a> + <a class="menuitem " href="https://help.steampowered.com/en/"> + Support </a> + + <div class="minor_menu_items"> + <div class="menuitem change_language_action"> + Change language </div> + <a class="menuitem" href="https://store.steampowered.com/mobile" target="_blank" rel="noreferrer">Get the Steam Mobile App</a> + <div class="menuitem" onclick="Responsive_RequestDesktopView();"> + View desktop website </div> + </div> + </div> + <div class="mainmenu_footer_spacer "></div> + <div class="mainmenu_footer"> + <div class="mainmenu_footer_logo"><img src="https://community.cloudflare.steamstatic.com/public/shared/images/responsive/logo_valve_footer.png"></div> + © Valve Corporation. All rights reserved. All trademarks are property of their respective owners in the US and other countries. <span class="mainmenu_valve_links"> + <a href="https://store.steampowered.com/privacy_agreement/" target="_blank">Privacy Policy</a> + | <a href="http://www.valvesoftware.com/legal.htm" target="_blank">Legal</a> + | <a href="https://store.steampowered.com/subscriber_agreement/" target="_blank">Steam Subscriber Agreement</a> + | <a href="https://store.steampowered.com/steam_refunds/" target="_blank">Refunds</a> + </span> + </div> + </div> + </div> + </div> + + <div class="responsive_local_menu_tab"></div> + + <div class="responsive_page_menu_ctn localmenu"> + <div class="responsive_page_menu" id="responsive_page_local_menu" data-panel="{"onOptionsActionDescription":"#filter_toggle","onOptionsButton":"Responsive_ToggleLocalMenu()","onCancelButton":"Responsive_ToggleLocalMenu()"}"> + <div class="localmenu_content" data-panel="{"maintainY":true,"bFocusRingRoot":true,"flow-children":"column"}"> + </div> + </div> + </div> + + + + <div class="responsive_header"> + <div class="responsive_header_content"> + <div id="responsive_menu_logo"> + <img src="https://community.cloudflare.steamstatic.com/public/shared/images/responsive/header_menu_hamburger.png" height="100%"> + </div> + <div class="responsive_header_logo"> + <a href="https://store.steampowered.com/"> + <img src="https://community.cloudflare.steamstatic.com/public/shared/images/responsive/header_logo.png" height="36" border="0" alt="STEAM"> + </a> + </div> + </div> + </div> + + <div class="responsive_page_content_overlay"> + + </div> + + <div class="responsive_fixonscroll_ctn nonresponsive_hidden "> + </div> + + <div class="responsive_page_content"> + + <div role="banner" id="global_header" data-panel="{"flow-children":"row"}"> + <div class="content"> + <div class="logo"> + <span id="logo_holder"> + <a href="https://store.steampowered.com/" aria-label="Link to the Steam Homepage"> + <img src="https://community.cloudflare.steamstatic.com/public/shared/images/header/logo_steam.svg?t=962016" width="176" height="44" alt="Link to the Steam Homepage"> + </a> + </span> + </div> + + <div role="navigation" class="supernav_container" aria-label="Global Menu"> + <a class="menuitem supernav" href="https://store.steampowered.com/" data-tooltip-type="selector" data-tooltip-content=".submenu_Store"> + STORE </a> + <div class="submenu_Store" style="display: none;" data-submenuid="Store"> + <a class="submenuitem" href="https://store.steampowered.com/"> + Home </a> + <a class="submenuitem" href="https://store.steampowered.com/explore/"> + Discovery Queue </a> + <a class="submenuitem" href="https://steamcommunity.com/my/wishlist/"> + Wishlist </a> + <a class="submenuitem" href="https://store.steampowered.com/points/shop/"> + Points Shop </a> + <a class="submenuitem" href="https://store.steampowered.com/news/"> + News </a> + <a class="submenuitem" href="https://store.steampowered.com/stats/"> + Stats </a> + </div> + <a class="menuitem supernav supernav_active" href="https://steamcommunity.com/" data-tooltip-type="selector" data-tooltip-content=".submenu_Community"> + COMMUNITY </a> + <div class="submenu_Community" style="display: none;" data-submenuid="Community"> + <a class="submenuitem" href="https://steamcommunity.com/"> + Home </a> + <a class="submenuitem" href="https://steamcommunity.com/discussions/"> + Discussions </a> + <a class="submenuitem" href="https://steamcommunity.com/workshop/"> + Workshop </a> + <a class="submenuitem" href="https://steamcommunity.com/market/"> + Market </a> + <a class="submenuitem" href="https://steamcommunity.com/?subsection=broadcasts"> + Broadcasts </a> + </div> + <a class="menuitem " href="https://store.steampowered.com/about/"> + About </a> + <a class="menuitem " href="https://help.steampowered.com/en/"> + SUPPORT </a> + </div> + <script type="text/javascript"> + jQuery(function($) { + $('#global_header .supernav').v_tooltip({'location':'bottom', 'destroyWhenDone': false, 'tooltipClass': 'supernav_content', 'offsetY':-6, 'offsetX': 1, 'horizontalSnap': 4, 'tooltipParent': '#global_header .supernav_container', 'correctForScreenSize': false}); + }); + </script> + + <div id="global_actions"> + <div role="navigation" id="global_action_menu" aria-label="Account Menu"> + <a class="header_installsteam_btn header_installsteam_btn_green" href="https://store.steampowered.com/about/"> + <div class="header_installsteam_btn_content"> + Install Steam </div> + </a> + + + <a class="global_action_link" href="https://steamcommunity.com/login/home/?goto=sharedfiles%2Ffiledetails%2F%3Fid%3D3342403375">login</a> + | + <span class="pulldown global_action_link" id="language_pulldown" onclick="ShowMenu( this, 'language_dropdown', 'right' );">language</span> + <div class="popup_block_new" id="language_dropdown" style="display: none;"> + <div class="popup_body popup_menu"> + <a class="popup_menu_item tight" href="?l=schinese&id=3342403375" onclick="ChangeLanguage( 'schinese' ); return false;">简体中文 (Simplified Chinese)</a> + <a class="popup_menu_item tight" href="?l=tchinese&id=3342403375" onclick="ChangeLanguage( 'tchinese' ); return false;">繁體中文 (Traditional Chinese)</a> + <a class="popup_menu_item tight" href="?l=japanese&id=3342403375" onclick="ChangeLanguage( 'japanese' ); return false;">日本語 (Japanese)</a> + <a class="popup_menu_item tight" href="?l=koreana&id=3342403375" onclick="ChangeLanguage( 'koreana' ); return false;">한국어 (Korean)</a> + <a class="popup_menu_item tight" href="?l=thai&id=3342403375" onclick="ChangeLanguage( 'thai' ); return false;">ไทย (Thai)</a> + <a class="popup_menu_item tight" href="?l=bulgarian&id=3342403375" onclick="ChangeLanguage( 'bulgarian' ); return false;">Български (Bulgarian)</a> + <a class="popup_menu_item tight" href="?l=czech&id=3342403375" onclick="ChangeLanguage( 'czech' ); return false;">Čeština (Czech)</a> + <a class="popup_menu_item tight" href="?l=danish&id=3342403375" onclick="ChangeLanguage( 'danish' ); return false;">Dansk (Danish)</a> + <a class="popup_menu_item tight" href="?l=german&id=3342403375" onclick="ChangeLanguage( 'german' ); return false;">Deutsch (German)</a> + <a class="popup_menu_item tight" href="?l=spanish&id=3342403375" onclick="ChangeLanguage( 'spanish' ); return false;">Español - España (Spanish - Spain)</a> + <a class="popup_menu_item tight" href="?l=latam&id=3342403375" onclick="ChangeLanguage( 'latam' ); return false;">Español - Latinoamérica (Spanish - Latin America)</a> + <a class="popup_menu_item tight" href="?l=greek&id=3342403375" onclick="ChangeLanguage( 'greek' ); return false;">Ελληνικά (Greek)</a> + <a class="popup_menu_item tight" href="?l=french&id=3342403375" onclick="ChangeLanguage( 'french' ); return false;">Français (French)</a> + <a class="popup_menu_item tight" href="?l=italian&id=3342403375" onclick="ChangeLanguage( 'italian' ); return false;">Italiano (Italian)</a> + <a class="popup_menu_item tight" href="?l=indonesian&id=3342403375" onclick="ChangeLanguage( 'indonesian' ); return false;">Bahasa Indonesia (Indonesian)</a> + <a class="popup_menu_item tight" href="?l=hungarian&id=3342403375" onclick="ChangeLanguage( 'hungarian' ); return false;">Magyar (Hungarian)</a> + <a class="popup_menu_item tight" href="?l=dutch&id=3342403375" onclick="ChangeLanguage( 'dutch' ); return false;">Nederlands (Dutch)</a> + <a class="popup_menu_item tight" href="?l=norwegian&id=3342403375" onclick="ChangeLanguage( 'norwegian' ); return false;">Norsk (Norwegian)</a> + <a class="popup_menu_item tight" href="?l=polish&id=3342403375" onclick="ChangeLanguage( 'polish' ); return false;">Polski (Polish)</a> + <a class="popup_menu_item tight" href="?l=portuguese&id=3342403375" onclick="ChangeLanguage( 'portuguese' ); return false;">Português (Portuguese - Portugal)</a> + <a class="popup_menu_item tight" href="?l=brazilian&id=3342403375" onclick="ChangeLanguage( 'brazilian' ); return false;">Português - Brasil (Portuguese - Brazil)</a> + <a class="popup_menu_item tight" href="?l=romanian&id=3342403375" onclick="ChangeLanguage( 'romanian' ); return false;">Română (Romanian)</a> + <a class="popup_menu_item tight" href="?l=russian&id=3342403375" onclick="ChangeLanguage( 'russian' ); return false;">Русский (Russian)</a> + <a class="popup_menu_item tight" href="?l=finnish&id=3342403375" onclick="ChangeLanguage( 'finnish' ); return false;">Suomi (Finnish)</a> + <a class="popup_menu_item tight" href="?l=swedish&id=3342403375" onclick="ChangeLanguage( 'swedish' ); return false;">Svenska (Swedish)</a> + <a class="popup_menu_item tight" href="?l=turkish&id=3342403375" onclick="ChangeLanguage( 'turkish' ); return false;">Türkçe (Turkish)</a> + <a class="popup_menu_item tight" href="?l=vietnamese&id=3342403375" onclick="ChangeLanguage( 'vietnamese' ); return false;">Tiếng Việt (Vietnamese)</a> + <a class="popup_menu_item tight" href="?l=ukrainian&id=3342403375" onclick="ChangeLanguage( 'ukrainian' ); return false;">Українська (Ukrainian)</a> + <a class="popup_menu_item tight" href="https://www.valvesoftware.com/en/contact?contact-person=Translation%20Team%20Feedback" target="_blank">Report a translation problem</a> + </div> + </div> + </div> + </div> + </div> +</div> +<script type="text/javascript"> + g_sessionID = "35972ee3514df8cb2612f7f7"; + g_steamID = false; + g_strLanguage = "english"; + g_SNR = '2_100100_100101_100105'; + g_bAllowAppImpressions = false; + g_ContentDescriptorPreferences = [1,3,4]; + + $J( function() { InitCookiePreferencesPopup() } ); + + + // We always want to have the timezone cookie set for PHP to use + setTimezoneCookies(); + + $J( function() { + + InitMiniprofileHovers(( 'https%3A%2F%2Fsteamcommunity.com' )); + InitEmoticonHovers(); + ApplyAdultContentPreferences(); + }); + + $J( function() { InitEconomyHovers( "https:\/\/community.cloudflare.steamstatic.com\/public\/css\/skin_1\/economy.css?v=Hib2Mv7hYJ4z&l=english&_cdn=cloudflare", "https:\/\/community.cloudflare.steamstatic.com\/public\/javascript\/economy_common.js?v=tsXdRVB0yEaR&l=english&_cdn=cloudflare", "https:\/\/community.cloudflare.steamstatic.com\/public\/javascript\/economy.js?v=7F-CkHa-o5A1&l=english&_cdn=cloudflare" );});</script> +<div id="application_config" style="display: none;" data-config="{"EUNIVERSE":1,"WEB_UNIVERSE":"public","LANGUAGE":"english","COUNTRY":"NL","MEDIA_CDN_COMMUNITY_URL":"https:\/\/cdn.cloudflare.steamstatic.com\/steamcommunity\/public\/","MEDIA_CDN_URL":"https:\/\/cdn.cloudflare.steamstatic.com\/","VIDEO_CDN_URL":"https:\/\/video.cloudflare.steamstatic.com\/","COMMUNITY_CDN_URL":"https:\/\/community.cloudflare.steamstatic.com\/","COMMUNITY_CDN_ASSET_URL":"https:\/\/cdn.cloudflare.steamstatic.com\/steamcommunity\/public\/assets\/","STORE_CDN_URL":"https:\/\/store.cloudflare.steamstatic.com\/","PUBLIC_SHARED_URL":"https:\/\/community.cloudflare.steamstatic.com\/public\/shared\/","COMMUNITY_BASE_URL":"https:\/\/steamcommunity.com\/","CHAT_BASE_URL":"https:\/\/steamcommunity.com\/","STORE_BASE_URL":"https:\/\/store.steampowered.com\/","STORE_CHECKOUT_BASE_URL":"https:\/\/checkout.steampowered.com\/","IMG_URL":"https:\/\/community.cloudflare.steamstatic.com\/public\/images\/","STEAMTV_BASE_URL":"https:\/\/steam.tv\/","HELP_BASE_URL":"https:\/\/help.steampowered.com\/","PARTNER_BASE_URL":"https:\/\/partner.steamgames.com\/","STATS_BASE_URL":"https:\/\/partner.steampowered.com\/","INTERNAL_STATS_BASE_URL":"https:\/\/steamstats.valve.org\/","IN_CLIENT":false,"USE_POPUPS":false,"STORE_ICON_BASE_URL":"https:\/\/shared.cloudflare.steamstatic.com\/store_item_assets\/steam\/apps\/","WEBAPI_BASE_URL":"https:\/\/api.steampowered.com\/","TOKEN_URL":"https:\/\/steamcommunity.com\/chat\/clientjstoken","BUILD_TIMESTAMP":1728074769,"PAGE_TIMESTAMP":1728248726,"IN_TENFOOT":false,"IN_GAMEPADUI":false,"IN_CHROMEOS":false,"IN_MOBILE_WEBVIEW":false,"PLATFORM":"unknown","BASE_URL_STORE_CDN_ASSETS":"https:\/\/cdn.cloudflare.steamstatic.com\/store\/","EREALM":1,"LOGIN_BASE_URL":"https:\/\/login.steampowered.com\/","AVATAR_BASE_URL":"https:\/\/avatars.cloudflare.steamstatic.com\/","FROM_WEB":true,"WEBSITE_ID":"Community","BASE_URL_SHARED_CDN":"https:\/\/shared.cloudflare.steamstatic.com\/","CLAN_CDN_ASSET_URL":"https:\/\/clan.cloudflare.steamstatic.com\/","SNR":"2_100100_100101_100105"}" data-userinfo="[]" data-community="[]" data-loyaltystore="{"webapi_token":""}" data-steam_notifications="null"></div><link href="https://community.cloudflare.steamstatic.com/public/css/applications/community/main.css?v=-Z5Fwx9hM62D&l=english&_cdn=cloudflare" rel="stylesheet" type="text/css" > +<script type="text/javascript" src="https://community.cloudflare.steamstatic.com/public/javascript/applications/community/manifest.js?v=AeTz4k_yg0o5&l=english&_cdn=cloudflare" ></script> +<script type="text/javascript" src="https://community.cloudflare.steamstatic.com/public/javascript/applications/community/libraries~b28b7af69.js?v=KwNbKLgEHlA9&l=english&_cdn=cloudflare" ></script> +<script type="text/javascript" src="https://community.cloudflare.steamstatic.com/public/javascript/applications/community/main.js?v=10oP_O2RCRyb&l=english&_cdn=cloudflare" ></script> + <div id="application_root"></div> + + <div role="main" class="responsive_page_template_content" id="responsive_page_template_content" data-panel="{"autoFocus":true}" > + + + <script type="text/javascript"> + var publishedfileid = '3342403375'; + var searchText = ""; + + + function onModalHidden() + { + // stop any videos + if ( typeof ytplayer != 'undefined' && ytplayer ) + { + ytplayer.stopVideo(); + } + } + + Event.observe(document, 'dom:loaded', function() { + if (searchText) + HighlightSearchText(searchText, $('highlightContent')); + } ); + </script> + + + +<div class="apphub_HomeHeaderContent"> + + + <script lang="js"> + const g_bIsAppHubModerator = 0; + </script> + + + + <div class="apphub_HeaderTop workshop"> + <div class="apphub_OtherSiteInfo responsive_hidden"> + <div class="apphub_WorkshopPistonHolder"> + <div class="apphub_WorkshopPiston"></div> + </div> + + <a style="position: relative; z-index: 1;" class="btnv6_blue_hoverfade btn_medium" href="https://store.steampowered.com/app/244850?snr=2_100100_100101_100105_apphubheader" data-appid="244850"> + <span>Store Page</span> + </a> + </div> + <div class="apphub_AppDetails"> + <div class="apphub_AppIcon"><img src="https://cdn.cloudflare.steamstatic.com/steamcommunity/public/images/apps/244850/f9856a90000d88e9a89441a7381fe9877e91eaca.jpg"><div class="overlay"></div></div> + <div class="apphub_AppName ellipsis">Space Engineers</div> + </div> + <div style="clear: both"></div> + + + <div data-panel="{"maintainX":true,"bFocusRingRoot":true,"flow-children":"row"}" class="apphub_sectionTabs responsive_hidden"> + + <a href="https://steamcommunity.com/app/244850" class="apphub_sectionTab "><span>All</span></a> + + <a href="https://steamcommunity.com/app/244850/discussions/" class="apphub_sectionTab "><span>Discussions</span></a> + + <a href="https://steamcommunity.com/app/244850/screenshots/" class="apphub_sectionTab "><span>Screenshots</span></a> + + <a href="https://steamcommunity.com/app/244850/images/" class="apphub_sectionTab "><span>Artwork</span></a> + + <a href="https://steamcommunity.com/app/244850/broadcasts/" class="apphub_sectionTab "><span>Broadcasts</span></a> + + <a href="https://steamcommunity.com/app/244850/videos/" class="apphub_sectionTab "><span>Videos</span></a> + + <a href="https://steamcommunity.com/app/244850/workshop/" class="apphub_sectionTab active "><span>Workshop</span></a> + + <a href="https://steamcommunity.com/app/244850/allnews/" class="apphub_sectionTab "><span>News</span></a> + + <a href="https://steamcommunity.com/app/244850/guides/" class="apphub_sectionTab "><span>Guides</span></a> + + <a href="https://steamcommunity.com/app/244850/reviews/" class="apphub_sectionTab "><span>Reviews</span></a> + <div style="clear: left"></div> + </div> + + <div class="nonresponsive_hidden responsive_tab_ctn sharedfiles_responsive_tab"> + <div class="responsive_tab_control"> + <div class="responsive_tab_control_inner"> + <select class="responsive_tab_select" id="responsive_tab_select6702fb962bc01"> + <option value="https://steamcommunity.com/app/244850" > + All </option> + <option value="https://steamcommunity.com/app/244850/discussions/" > + Discussions </option> + <option value="https://steamcommunity.com/app/244850/screenshots/" > + Screenshots </option> + <option value="https://steamcommunity.com/app/244850/images/" > + Artwork </option> + <option value="https://steamcommunity.com/app/244850/broadcasts/" > + Broadcasts </option> + <option value="https://steamcommunity.com/app/244850/videos/" > + Videos </option> + <option value="https://steamcommunity.com/app/244850/workshop/" selected> + Workshop </option> + <option value="https://steamcommunity.com/app/244850/allnews/" > + News </option> + <option value="https://steamcommunity.com/app/244850/guides/" > + Guides </option> + <option value="https://steamcommunity.com/app/244850/reviews/" > + Reviews </option> + </select> + </div> + </div> + </div> + </div> + <div class="responsive_tab_baseline nonresponsive_hidden"></div> + <div class="apphub_sectionTabsHR responsive_hidden"></div> + + + <!-- these elements are used to populate the local menu on responsive pages --> + <div style="display: none;"> + <div class="responsive_local_menu apphub_responsive_menu"> + <h3 class="ellipsis apphub_responsive_menu_title">Space Engineers</h3> + <div class="apphub_ResponsiveMenuCtn"> + <a style="position: relative; z-index: 1;" class="btnv6_blue_hoverfade btn_medium" href="https://store.steampowered.com/app/244850"> + <span>Store Page</span> + </a> + </div> + </div> + </div> + <!-- end responsive menu --> + + +</div> + + <div class="apphub_HeaderBottomBG_ctn"> + <div class="apphub_HeaderBottomBG_blur"></div><div class="apphub_HeaderBottomBG" ></div> + </div> + <div class="breadcrumbs"> + <a data-panel="{"noFocusRing":true}" href="https://steamcommunity.com/app/244850">Space Engineers</a><span class="breadcrumb_separator">> </span> + <a data-panel="{"noFocusRing":true}" href="https://steamcommunity.com/app/244850/workshop/">Workshop</a> + <span class="breadcrumb_separator">> </span><a data-panel="{"noFocusRing":true}" href="https://steamcommunity.com/workshop/browse/?section=collections&appid=244850">Collections</a> + <span class="breadcrumb_separator">> </span><a data-panel="{"noFocusRing":true}" href="https://steamcommunity.com/profiles/76561198131415471/myworkshopfiles/?section=collections&appid=244850">SiderealPlague's Workshop</a> + </div> + + +<!-- top content --> +<!-- /top content --> +<!-- main body --> +<div id="ig_bottom" class="smallheader nobg"> + + <div class="collectionNotifications"> + <div class="bannedNotification" id="bannedNotification" style="display: none" > + This item has been removed from the community because it violates Steam Community & Content Guidelines. It is only visible to you. If you believe your item has been removed by mistake, please contact <a href="https://help.steampowered.com/en/wizard/HelpWithSteamIssue/?issueid=415" target="_blank" rel="" >Steam Support</a>. </div> + <div class="incompatibleNotification" id="incompatibleNotification" style="display: none" > + This item is incompatible with Space Engineers. Please see the <a href="http://steamcommunity.com/sharedfiles/filedetails/?id=188881143">instructions page</a> for reasons why this item might not work within Space Engineers. </div> + + + + + + + + + </div> + <div id="mainContentsCollectionTop"> + + <div data-panel="{"maintainX":true,"bFocusRingRoot":true,"flow-children":"row"}" class="sectionTabs item responsive_hidden"> + <a href="https://steamcommunity.com/sharedfiles/filedetails/?id=3342403375" class="sectionTab active description"><span>Description</span></a> + <a href="https://steamcommunity.com/sharedfiles/filedetails/discussions/3342403375" class="sectionTab discussions"><span>Discussions<span class="tabCount">0</span></span></a> + <a href="https://steamcommunity.com/sharedfiles/filedetails/comments/3342403375" class="sectionTab comments"><span>Comments<span class="tabCount">0</span></span></a> + </div> + + <div class="nonresponsive_hidden responsive_tab_ctn sharedfiles_responsive_tab"> + <div class="responsive_tab_control"> + <select class="responsive_tab_select" id="responsive_tab_select6702fb962bc85"> + <option value="https://steamcommunity.com/sharedfiles/filedetails/?id=3342403375" selected> + Description </option> + <option value="https://steamcommunity.com/sharedfiles/filedetails/discussions/3342403375" > + Discussions </option> + <option value="https://steamcommunity.com/sharedfiles/filedetails/comments/3342403375" > + Comments </option> + </select> + </div> + </div> + + <div id="tabs_baseline" class="responsive_tab_baseline "></div> + + <div style="clear: left"></div> + <div class="collectionTop"> + + <div class="collectionBackgroundImageContainer"> + <img class="collectionBackgroundImage" id="CollectionBackgroundImage" src="https://steamuserimages-a.akamaihd.net/ugc/2495647722475164562/73DF6E4BC9D7C5616CC1DD57A300E80B4B4AA42F/?imw=5000&imh=5000&ima=fit&impolicy=Letterbox&imcolor=%23000000&letterbox=false"> + </div> + <div class="collectionHeader"> + <div class="collectionHeaderContent"> + <div class="workshopItemDetailsHeader"> + <div id="detailsHeaderRight"> + <!-- top level info --> + <div class="ratingSection"> + <div class="fileRatingDetails"><img src="https://community.cloudflare.steamstatic.com/public/images/sharedfiles/not-yet_large.png?v=2" /></div> + Not enough ratings </div> + </div> + <div class="workshopItemTitle">Anchor Determinari Arsenal</div> + <div style="clear:both"></div> + </div> </div> + </div> + <div class="collectionTopContents"> + </div> + </div> + </div> + + <div id="mainContentsCollection"> + + <div class="collectionControls"> + <div class="workshopItemControls" id="ItemControls"> + <div class="workshopItemRatings"> + <div class="review_award_ctn"> + </div> + </div> + <div class="workshopItemControlCtn"> + <span data-panel="{"focusable":true,"clickOnActivate":true}" onclick="VoteUp(3342403375);" id="VoteUpBtn" class="general_btn voteUp "> </span> + <span data-panel="{"focusable":true,"clickOnActivate":true}" onclick="VoteDown(3342403375);" id="VoteDownBtn" class="general_btn voteDown "> </span> + </div> + + <span data-panel="{"focusable":true,"clickOnActivate":true}" onClick="PublishedFileAward( '3342403375', 2 )" class="general_btn"><span><img src="https://community.cloudflare.steamstatic.com/public/shared/images//award_icon.svg" class="reward_btn_icon">Award</span></span> + + + <div class="workshopItemControlCtn"> + <span data-panel="{"focusable":true,"clickOnActivate":true}" onclick="FavoriteItem();" id="FavoriteItemBtn" class="general_btn favorite tooltip " data-tooltip-text="Easily find this item again later"> + <div class="favoriteText"> + <div id="FavoriteItemOptionAdd" class="favoriteOption addfavorite selected">Favorite</div> + <div id="FavoriteItemOptionFavorited" class="favoriteOption favorited ">Favorited</div> + <div class="favoriteOption removefavorite">Unfavorite</div> + </div> + </span> + + + <span data-panel="{"focusable":true,"clickOnActivate":true}" onclick="ShowSharePublishedFilePopup( '3342403375', '244850' );" id="ShareItemBtn" class="general_btn share tooltip" data-tooltip-text="Share this item on Steam or your favorite social network">Share</span> + </div> + + <div class="workshopItemControlCtn"> + <span data-panel="{"focusable":true,"clickOnActivate":true}" onclick="ShowAddToCollection( '3342403375', '244850' );" id="AddToCollectionBtn" class="general_btn share tooltip" data-tooltip-text="Add to one of your collections"> + <span>Add to Collection</span> + </span> + </div> + + + <div class="vertical_divider"></div> + + <div class="workshopItemControlCtn"> + <span data-panel="{"focusable":true,"clickOnActivate":true}" onclick="ReportItem();" id="ReportItemBtn" class="general_btn report tooltip " data-tooltip-text="Report this item for violating the Steam Online Conduct Rules"></span> + </div> + + + <div id="action_wait" style="display: none;"><img src="https://community.cloudflare.steamstatic.com/public/images/login/throbber.gif"></div> + </div> + + + <div id="JustFavorited" class="just_added_to_list" style="display: none"> + <div class="just_added_favorite_icon"></div> + <div class="just_added_text">This item has been added to your <a href="https://steamcommunity.com/my/myworkshopfiles/?section=collections&browsefilter=myfavorites">Favorites</a>.</div> + <div class="close_notification"><span data-panel="{"focusable":true,"clickOnActivate":true}" onclick="CloseNotification( 'JustFavorited' );" class="close"><img src="https://community.cloudflare.steamstatic.com/public/images/sharedfiles/ico_dialogue_close.png"></span></div> + <div style="clear:both"></div> + </div> </div> + + + <div id="sharedfiles_content_ctn"> + <!-- right side contents --> + <div id="rightContents" class="sidebar responsive_local_menu"> + + <!-- created by --> + <div class="panel"> + <div class="rightSectionHolder"> + <div class="rightSectionTopTitle">A collection of 9 items created by</div> + <div class="rightDetailsBlock"> + <div class="creatorsBlock"> + <div data-panel="{"flow-children":"column"}" class="friendBlock persona online" data-miniprofile="171149743" > + <a class="friendBlockLinkOverlay" href="https://steamcommunity.com/profiles/76561198131415471"></a> + <div class="playerAvatar online"> + <img src="https://avatars.cloudflare.steamstatic.com/db21f7333ef999a92912276709f76b7d23e3a9bc_medium.jpg"> + </div> + <div class="friendBlockContent"> + SiderealPlague<br> + <span class="friendSmallText"> + Online + </span> + </div> + </div> + </div> + </div> + </div> + + + </div> + + + <!-- which app --> + <div class="panel"> + <div class="rightSectionHolder"> + <div class="rightDetailsBlock"> + <div class="detailsStatsContainerLeft"> + <div class="detailsStatLeft">59</div> + <div class="detailsStatLeft">1</div> + <div class="detailsStatLeft">2</div> + </div> + <div class="detailsStatsContainerRight"> + <div class="detailsStatRight">Unique Visitors</div> + <div class="detailsStatRight">Current Favorites</div> + <div class="detailsStatRight">Total Unique Favorites</div> + </div> + <div style="clear:left"></div> + </div> + </div> + + <div class="rightDetailsBlock"> + <div data-panel="{"type":"PanelGroup"}" class="workshopTags"><span class="workshopTagsTitle">Type: </span><a href="https://steamcommunity.com/workshop/browse/?appid=244850&browsesort=toprated&requiredtags%5B%5D=Blueprint">Blueprint</a></div><div data-panel="{"type":"PanelGroup"}" class="workshopTags"><span class="workshopTagsTitle">Mod category: </span><a href="https://steamcommunity.com/workshop/browse/?appid=244850&browsesort=toprated&requiredtags%5B%5D=Exploration">Exploration</a>, <a href="https://steamcommunity.com/workshop/browse/?appid=244850&browsesort=toprated&requiredtags%5B%5D=Respawn+Ship">Respawn Ship</a>, <a href="https://steamcommunity.com/workshop/browse/?appid=244850&browsesort=toprated&requiredtags%5B%5D=Production">Production</a>, <a href="https://steamcommunity.com/workshop/browse/?appid=244850&browsesort=toprated&requiredtags%5B%5D=Experimental">Experimental</a>, <a href="https://steamcommunity.com/workshop/browse/?appid=244850&browsesort=toprated&requiredtags%5B%5D=Other">Other</a></div> </div> + + <div class="rightSectionDivider"></div> + <div class="rightSectionHolder"> + <div class="rightDetailsBlock"> + <div class="detailsStatsContainerLeft"> + <div class="detailsStatLeft">Posted </div> + <div class="detailsStatLeft">Updated </div> + </div> + <div class="detailsStatsContainerRight"> + <div class="detailsStatRight">3 Oct @ 11:19am</div> + <div class="detailsStatRight">5 Oct @ 6:18pm</div> + </div> + <div style="clear:left"></div> + </div> + </div> + </div> + + <!-- favorited by --> + + </div> + + <div id="profileBlock" class="clearfix collection"> + + + + + <div class="workshopItemDetails first detailBox" > + <div class="workshopItemDescriptionTitle">Description</div> + <div class="workshopItemDescriptionForCollection"> + <div class="workshopItemDescription" id="highlightContent">== Welcome to the Anchor Determinari arsenal! ==<br><br>-Here, you'll find the current vehicles, utilities, and other such machinations utilized by the Anchor Determinari. <br><br>-Please note that this display features everything except for the projects under development by our R&D Division. As testing concludes, more models will be added for your enjoyment.</div> + </div> + </div> + + <div class="detailBox"> + <div class="workshopItemDescriptionTitle"> + Items <span class="childCount">(9)</span> + </div> + + + <div class="collectionChildren"> + <div class="subscribeCollection"> + <a class="general_btn subscribe" onclick="SubscribeCollection( '3342403375', '244850' );"> + <div class="subscribeIcon"></div> + <span class="subscribeText">Subscribe to all</span> + </a> + <span class="general_btn subscribe" onclick="UnsubscribeCollection( '3342403375' )"> + <div class="unsubscribeIcon"></div> + <span>Unsubscribe from all</span> + </span> + <span class="general_btn subscribe" onclick="SaveCollectionToCollection( '244850', '3342403375' )"> + <div class="duplicateCollectionIcon"></div> + <span>Save to Collection</span> + </span> + <div style="clear: right"></div> + </div> + <div data-panel="{"type":"PanelGroup"}" id="sharedfile_2710575211" class="collectionItem"> + <div class="workshopItem"> + <a href="https://steamcommunity.com/sharedfiles/filedetails/?id=2710575211"><div class="workshopItemPreviewHolder "><img class="workshopItemPreviewImage" src="https://steamuserimages-a.akamaihd.net/ugc/1829024458719909272/08E3106614F912ECC358095D601F3A2A8B852B2C/?imw=200&imh=200&ima=fit&impolicy=Letterbox&imcolor=%23000000&letterbox=true"></div></a> + </div> + <div class="collectionItemDetails"> + <a href="https://steamcommunity.com/sharedfiles/filedetails/?id=2710575211"><div class="workshopItemTitle">G-1 Sprite [Civillian Class]</div></a> + <div class="workshopItemAuthor"> + Created by <span class="workshopItemAuthorName"><a href="https://steamcommunity.com/profiles/76561198131415471/myworkshopfiles?appid=244850">SiderealPlague</a></span> + </div> + <img class="fileRating " src="https://community.cloudflare.steamstatic.com/public/images/sharedfiles/not-yet.png?v=2" /> + <div class="workshopItemShortDesc">This ship runs on primarily hydrogen engines with an extra 4 atmospheric engines for when you need to deal with that pesky gravity. It uses a cruise control program for easy fuel saving and is 100% vanilla other than DLC. It's also made out of neutral colo...</div> + </div> + + <div class="subscriptionControls" > + <span class="action_wait" id="action_wait_2710575211" style="display: none;"><img src="https://community.cloudflare.steamstatic.com/public/images/login/throbber.gif"></span> + <a onclick="SubscribeCollectionItem( '2710575211', '244850' );" id="SubscribeItemBtn2710575211" class="general_btn subscribe "> + <div class="subscribeIcon"></div> + </a> + </div> + </div> + <script> + SharedFileBindMouseHover( "sharedfile_2710575211", false, {"id":"2710575211","title":"G-1 Sprite [Civillian Class]","description":"This ship runs on primarily hydrogen engines with an extra 4 atmospheric engines for when you need to deal with that pesky gravity. It uses a cruise control program for easy fuel saving and is 100% vanilla other than DLC. It's also made out of neutral colo...","user_subscribed":false,"user_favorited":false,"played":false,"appid":244850} ); + </script> + <div data-panel="{"type":"PanelGroup"}" id="sharedfile_2742890728" class="collectionItem"> + <div class="workshopItem"> + <a href="https://steamcommunity.com/sharedfiles/filedetails/?id=2742890728"><div class="workshopItemPreviewHolder "><img class="workshopItemPreviewImage" src="https://steamuserimages-a.akamaihd.net/ugc/1826775175676237659/449277A282667BED8D942DF54C050E49B8183E5A/?imw=200&imh=200&ima=fit&impolicy=Letterbox&imcolor=%23000000&letterbox=true"></div></a> + </div> + <div class="collectionItemDetails"> + <a href="https://steamcommunity.com/sharedfiles/filedetails/?id=2742890728"><div class="workshopItemTitle">G-1c Sprite [Military Class]</div></a> + <div class="workshopItemAuthor"> + Created by <span class="workshopItemAuthorName"><a href="https://steamcommunity.com/profiles/76561198131415471/myworkshopfiles?appid=244850">SiderealPlague</a></span> + </div> + <img class="fileRating " src="https://community.cloudflare.steamstatic.com/public/images/sharedfiles/not-yet.png?v=2" /> + <div class="workshopItemShortDesc">The G-1c Sprite is back and with a few upgrades from The Anchor. -----Passive----- This ship runs on primarily hydrogen engines with an extra 4 atmospheric thruster for when you need to deal with that pesky gravity. It uses a cruise control program for eas...</div> + </div> + + <div class="subscriptionControls" > + <span class="action_wait" id="action_wait_2742890728" style="display: none;"><img src="https://community.cloudflare.steamstatic.com/public/images/login/throbber.gif"></span> + <a onclick="SubscribeCollectionItem( '2742890728', '244850' );" id="SubscribeItemBtn2742890728" class="general_btn subscribe "> + <div class="subscribeIcon"></div> + </a> + </div> + </div> + <script> + SharedFileBindMouseHover( "sharedfile_2742890728", false, {"id":"2742890728","title":"G-1c Sprite [Military Class]","description":"The G-1c Sprite is back and with a few upgrades from The Anchor. -----Passive----- This ship runs on primarily hydrogen engines with an extra 4 atmospheric thruster for when you need to deal with that pesky gravity. It uses a cruise control program for eas...","user_subscribed":false,"user_favorited":false,"played":false,"appid":244850} ); + </script> + <div data-panel="{"type":"PanelGroup"}" id="sharedfile_2779162581" class="collectionItem"> + <div class="workshopItem"> + <a href="https://steamcommunity.com/sharedfiles/filedetails/?id=2779162581"><div class="workshopItemPreviewHolder "><img class="workshopItemPreviewImage" src="https://steamuserimages-a.akamaihd.net/ugc/1833533696869044142/0F625FAE0D3C17D10E1B4C0498FF282922F6C2B0/?imw=200&imh=200&ima=fit&impolicy=Letterbox&imcolor=%23000000&letterbox=true"></div></a> + </div> + <div class="collectionItemDetails"> + <a href="https://steamcommunity.com/sharedfiles/filedetails/?id=2779162581"><div class="workshopItemTitle">G-2d Sprite [Civillian Class]</div></a> + <div class="workshopItemAuthor"> + Created by <span class="workshopItemAuthorName"><a href="https://steamcommunity.com/profiles/76561198131415471/myworkshopfiles?appid=244850">SiderealPlague</a></span> + </div> + <img class="fileRating " src="https://community.cloudflare.steamstatic.com/public/images/sharedfiles/not-yet.png?v=2" /> + <div class="workshopItemShortDesc">Are you sick and tired of the monotony of everyday life, waiting for something to fix everything for you? Well too bad because this is a steam workshop item! In this new edition of the Sprite ship we've decided to modify the thruster modules and made it fi...</div> + </div> + + <div class="subscriptionControls" > + <span class="action_wait" id="action_wait_2779162581" style="display: none;"><img src="https://community.cloudflare.steamstatic.com/public/images/login/throbber.gif"></span> + <a onclick="SubscribeCollectionItem( '2779162581', '244850' );" id="SubscribeItemBtn2779162581" class="general_btn subscribe "> + <div class="subscribeIcon"></div> + </a> + </div> + </div> + <script> + SharedFileBindMouseHover( "sharedfile_2779162581", false, {"id":"2779162581","title":"G-2d Sprite [Civillian Class]","description":"Are you sick and tired of the monotony of everyday life, waiting for something to fix everything for you? Well too bad because this is a steam workshop item! In this new edition of the Sprite ship we've decided to modify the thruster modules and made it fi...","user_subscribed":false,"user_favorited":false,"played":false,"appid":244850} ); + </script> + <div data-panel="{"type":"PanelGroup"}" id="sharedfile_2949388346" class="collectionItem"> + <div class="workshopItem"> + <a href="https://steamcommunity.com/sharedfiles/filedetails/?id=2949388346"><div class="workshopItemPreviewHolder "><img class="workshopItemPreviewImage" src="https://steamuserimages-a.akamaihd.net/ugc/2041858790612177420/2B28A787379257FE06F78657B734BCE6444A956D/?imw=200&imh=200&ima=fit&impolicy=Letterbox&imcolor=%23000000&letterbox=true"></div></a> + </div> + <div class="collectionItemDetails"> + <a href="https://steamcommunity.com/sharedfiles/filedetails/?id=2949388346"><div class="workshopItemTitle">G-3c Sprite [Military Class]</div></a> + <div class="workshopItemAuthor"> + Created by <span class="workshopItemAuthorName"><a href="https://steamcommunity.com/profiles/76561198131415471/myworkshopfiles?appid=244850">SiderealPlague</a></span> + </div> + <img class="fileRating " src="https://community.cloudflare.steamstatic.com/public/images/sharedfiles/not-yet.png?v=2" /> + <div class="workshopItemShortDesc">The Anchor R&D crew have been hard at work with this one, as the final entry to the Sprite-class family of ships, I'd like to introduce the Military Class G-3c Sprite. The G-3c Sprite is a versatile and agile fighter designed for atmospheric combat. Equipp...</div> + </div> + + <div class="subscriptionControls" > + <span class="action_wait" id="action_wait_2949388346" style="display: none;"><img src="https://community.cloudflare.steamstatic.com/public/images/login/throbber.gif"></span> + <a onclick="SubscribeCollectionItem( '2949388346', '244850' );" id="SubscribeItemBtn2949388346" class="general_btn subscribe "> + <div class="subscribeIcon"></div> + </a> + </div> + </div> + <script> + SharedFileBindMouseHover( "sharedfile_2949388346", false, {"id":"2949388346","title":"G-3c Sprite [Military Class]","description":"The Anchor R&D crew have been hard at work with this one, as the final entry to the Sprite-class family of ships, I'd like to introduce the Military Class G-3c Sprite. The G-3c Sprite is a versatile and agile fighter designed for atmospheric combat. Equipp...","user_subscribed":false,"user_favorited":false,"played":false,"appid":244850} ); + </script> + <div data-panel="{"type":"PanelGroup"}" id="sharedfile_2821153519" class="collectionItem"> + <div class="workshopItem"> + <a href="https://steamcommunity.com/sharedfiles/filedetails/?id=2821153519"><div class="workshopItemPreviewHolder "><img class="workshopItemPreviewImage" src="https://steamuserimages-a.akamaihd.net/ugc/1853808663582969921/579F506090399BBC01C2761E6BB9914879F5FE62/?imw=200&imh=200&ima=fit&impolicy=Letterbox&imcolor=%23000000&letterbox=true"></div></a> + </div> + <div class="collectionItemDetails"> + <a href="https://steamcommunity.com/sharedfiles/filedetails/?id=2821153519"><div class="workshopItemTitle">G-3f Osmium</div></a> + <div class="workshopItemAuthor"> + Created by <span class="workshopItemAuthorName"><a href="https://steamcommunity.com/profiles/76561198131415471/myworkshopfiles?appid=244850">SiderealPlague</a></span> + </div> + <img class="fileRating " src="https://community.cloudflare.steamstatic.com/public/images/sharedfiles/not-yet.png?v=2" /> + <div class="workshopItemShortDesc">"Hey! Where ya goin'?!" With this glorified combat taxi, you can go anywhere (within a reasonable atmosphere of course). After many iterations I'm finally tired of working on the same ship. The G-3f Osmium is an atmospheric transport unit capable of carryi...</div> + </div> + + <div class="subscriptionControls" > + <span class="action_wait" id="action_wait_2821153519" style="display: none;"><img src="https://community.cloudflare.steamstatic.com/public/images/login/throbber.gif"></span> + <a onclick="SubscribeCollectionItem( '2821153519', '244850' );" id="SubscribeItemBtn2821153519" class="general_btn subscribe "> + <div class="subscribeIcon"></div> + </a> + </div> + </div> + <script> + SharedFileBindMouseHover( "sharedfile_2821153519", false, {"id":"2821153519","title":"G-3f Osmium","description":""Hey! Where ya goin'?!" With this glorified combat taxi, you can go anywhere (within a reasonable atmosphere of course). After many iterations I'm finally tired of working on the same ship. The G-3f Osmium is an atmospheric transport unit capable of carryi...","user_subscribed":false,"user_favorited":false,"played":false,"appid":244850} ); + </script> + <div data-panel="{"type":"PanelGroup"}" id="sharedfile_3171146773" class="collectionItem"> + <div class="workshopItem"> + <a href="https://steamcommunity.com/sharedfiles/filedetails/?id=3171146773"><div class="workshopItemPreviewHolder "><img class="workshopItemPreviewImage" src="https://steamuserimages-a.akamaihd.net/ugc/2444962572762092154/59C5DDECDBD5A9B1CC736C492F8C685634E740B8/?imw=200&imh=200&ima=fit&impolicy=Letterbox&imcolor=%23000000&letterbox=true"></div></a> + </div> + <div class="collectionItemDetails"> + <a href="https://steamcommunity.com/sharedfiles/filedetails/?id=3171146773"><div class="workshopItemTitle">G-4h Liberty-Class Frigate</div></a> + <div class="workshopItemAuthor"> + Created by <span class="workshopItemAuthorName"><a href="https://steamcommunity.com/profiles/76561198131415471/myworkshopfiles?appid=244850">SiderealPlague</a></span> + </div> + <img class="fileRating " src="https://community.cloudflare.steamstatic.com/public/images/sharedfiles/not-yet.png?v=2" /> + <div class="workshopItemShortDesc">The Anchor's R&D crew didn't go lightly with this one and pulled out all the stops and designed the heavyweight G-4h Liberty Class Frigate. With the Anchor's decision to move their operations upwards and outwards into space, there's been an increased need ...</div> + </div> + + <div class="subscriptionControls" > + <span class="action_wait" id="action_wait_3171146773" style="display: none;"><img src="https://community.cloudflare.steamstatic.com/public/images/login/throbber.gif"></span> + <a onclick="SubscribeCollectionItem( '3171146773', '244850' );" id="SubscribeItemBtn3171146773" class="general_btn subscribe "> + <div class="subscribeIcon"></div> + </a> + </div> + </div> + <script> + SharedFileBindMouseHover( "sharedfile_3171146773", false, {"id":"3171146773","title":"G-4h Liberty-Class Frigate","description":"The Anchor's R&D crew didn't go lightly with this one and pulled out all the stops and designed the heavyweight G-4h Liberty Class Frigate. With the Anchor's decision to move their operations upwards and outwards into space, there's been an increased need ...","user_subscribed":false,"user_favorited":false,"played":false,"appid":244850} ); + </script> + <div data-panel="{"type":"PanelGroup"}" id="sharedfile_3318269325" class="collectionItem"> + <div class="workshopItem"> + <a href="https://steamcommunity.com/sharedfiles/filedetails/?id=3318269325"><div class="workshopItemPreviewHolder "><img class="workshopItemPreviewImage" src="https://steamuserimages-a.akamaihd.net/ugc/5926261458422184941/2BC5F6D875F01D37A1A8F93D5060CD42F465FDA1/?imw=200&imh=200&ima=fit&impolicy=Letterbox&imcolor=%23000000&letterbox=true"></div></a> + </div> + <div class="collectionItemDetails"> + <a href="https://steamcommunity.com/sharedfiles/filedetails/?id=3318269325"><div class="workshopItemTitle">Quill 4x4 Recon ATV</div></a> + <div class="workshopItemAuthor"> + Created by <span class="workshopItemAuthorName"><a href="https://steamcommunity.com/profiles/76561198131415471/myworkshopfiles?appid=244850">SiderealPlague</a></span> + </div> + <img class="fileRating " src="https://community.cloudflare.steamstatic.com/public/images/sharedfiles/not-yet.png?v=2" /> + <div class="workshopItemShortDesc">Compact, cost-effective, and a entertaining to tear to pieces—what more could you ask for?...</div> + </div> + + <div class="subscriptionControls" > + <span class="action_wait" id="action_wait_3318269325" style="display: none;"><img src="https://community.cloudflare.steamstatic.com/public/images/login/throbber.gif"></span> + <a onclick="SubscribeCollectionItem( '3318269325', '244850' );" id="SubscribeItemBtn3318269325" class="general_btn subscribe "> + <div class="subscribeIcon"></div> + </a> + </div> + </div> + <script> + SharedFileBindMouseHover( "sharedfile_3318269325", false, {"id":"3318269325","title":"Quill 4x4 Recon ATV","description":"Compact, cost-effective, and a entertaining to tear to pieces\u2014what more could you ask for?","user_subscribed":false,"user_favorited":false,"played":false,"appid":244850} ); + </script> + <div data-panel="{"type":"PanelGroup"}" id="sharedfile_3342484040" class="collectionItem"> + <div class="workshopItem"> + <a href="https://steamcommunity.com/sharedfiles/filedetails/?id=3342484040"><div class="workshopItemPreviewHolder "><img class="workshopItemPreviewImage" src="https://steamuserimages-a.akamaihd.net/ugc/2495647722475858632/B4D3C90DD1F7AE65BE8D765D244C0C245F451CAB/?imw=200&imh=200&ima=fit&impolicy=Letterbox&imcolor=%23000000&letterbox=true"></div></a> + </div> + <div class="collectionItemDetails"> + <a href="https://steamcommunity.com/sharedfiles/filedetails/?id=3342484040"><div class="workshopItemTitle">Jump Drive Assistance Ring</div></a> + <div class="workshopItemAuthor"> + Created by <span class="workshopItemAuthorName"><a href="https://steamcommunity.com/profiles/76561198131415471/myworkshopfiles?appid=244850">SiderealPlague</a></span> + </div> + <img class="fileRating " src="https://community.cloudflare.steamstatic.com/public/images/sharedfiles/not-yet.png?v=2" /> + <div class="workshopItemShortDesc">Need to make a long trip but lack the proper jump drives? A stop at a JDAR unit can solve that! The JDAR (Jump Drive Assistance Ring) features a dual jump drive system, enabling nearly any vehicle that fits within it to achieve unparalleled jump distances....</div> + </div> + + <div class="subscriptionControls" > + <span class="action_wait" id="action_wait_3342484040" style="display: none;"><img src="https://community.cloudflare.steamstatic.com/public/images/login/throbber.gif"></span> + <a onclick="SubscribeCollectionItem( '3342484040', '244850' );" id="SubscribeItemBtn3342484040" class="general_btn subscribe "> + <div class="subscribeIcon"></div> + </a> + </div> + </div> + <script> + SharedFileBindMouseHover( "sharedfile_3342484040", false, {"id":"3342484040","title":"Jump Drive Assistance Ring","description":"Need to make a long trip but lack the proper jump drives? A stop at a JDAR unit can solve that! The JDAR (Jump Drive Assistance Ring) features a dual jump drive system, enabling nearly any vehicle that fits within it to achieve unparalleled jump distances....","user_subscribed":false,"user_favorited":false,"played":false,"appid":244850} ); + </script> + <div data-panel="{"type":"PanelGroup"}" id="sharedfile_2657577202" class="collectionItem"> + <div class="workshopItem"> + <a href="https://steamcommunity.com/sharedfiles/filedetails/?id=2657577202"><div class="workshopItemPreviewHolder "><img class="workshopItemPreviewImage" src="https://steamuserimages-a.akamaihd.net/ugc/1831271655368786262/DFF6016FF20D085F4914CB20A5006D4E876F38F3/?imw=200&imh=200&ima=fit&impolicy=Letterbox&imcolor=%23000000&letterbox=true"></div></a> + </div> + <div class="collectionItemDetails"> + <a href="https://steamcommunity.com/sharedfiles/filedetails/?id=2657577202"><div class="workshopItemTitle">Multi-Tool</div></a> + <div class="workshopItemAuthor"> + Created by <span class="workshopItemAuthorName"><a href="https://steamcommunity.com/profiles/76561198131415471/myworkshopfiles?appid=244850">SiderealPlague</a></span> + </div> + <img class="fileRating " src="https://community.cloudflare.steamstatic.com/public/images/sharedfiles/not-yet.png?v=2" /> + <div class="workshopItemShortDesc">So here we got a good ol' shippy ship... Yup, it's got grinders and welders that switch between each other quite nicely. Lots of cargo space so it's a good scrapping ship to take apart the remains of defeated enemies or even failed tests of your own making...</div> + </div> + + <div class="subscriptionControls" > + <span class="action_wait" id="action_wait_2657577202" style="display: none;"><img src="https://community.cloudflare.steamstatic.com/public/images/login/throbber.gif"></span> + <a onclick="SubscribeCollectionItem( '2657577202', '244850' );" id="SubscribeItemBtn2657577202" class="general_btn subscribe "> + <div class="subscribeIcon"></div> + </a> + </div> + </div> + <script> + SharedFileBindMouseHover( "sharedfile_2657577202", false, {"id":"2657577202","title":"Multi-Tool","description":"So here we got a good ol' shippy ship... Yup, it's got grinders and welders that switch between each other quite nicely. Lots of cargo space so it's a good scrapping ship to take apart the remains of defeated enemies or even failed tests of your own making...","user_subscribed":false,"user_favorited":false,"played":false,"appid":244850} ); + </script> + </div> + </div> + + + <div style="clear: left"></div> + + </div> + + </div> + + </div> + +<br clear="all" /> +<br /> + +</div> + +<div id="previewImageEnlarged" class="modal_frame_image" style="display:none;"> + <div class="modal_box_preview_image"> + <div class="modal_close_image"><a onclick="hideModal( 'previewImageEnlarged' );"><img src="https://community.cloudflare.steamstatic.com/public/images/x9x9.gif" width="9" height="9" border="0" alt="Close" /></a></div> + <div><img id="enlargedImage" src="https://community.cloudflare.steamstatic.com/public/images/trans.gif"></div> + </div> +</div> + +<div id="ShareOnSteamDialog" style="display: none"> + <div id="ShareOnSteamDialogContents"></div> +</div> + +<div id="SharePopup" style="display: none"> + <div class="share_ctn"> + <a class="share_controls_steam" onclick="ShareOnSteam();"> + <span>Share to your Steam activity feed</span> + </a> + <div class="share_controls_other"> + <div class="shareItemLink"><a class="btn_grey_black btn_medium" id="SharePopupLink_Facebook" href="" title="Share on Facebook"><span><img src="https://community.cloudflare.steamstatic.com/public/images//social/facebook_large.png"></span></a></div> + <div class="shareItemLink"><a class="btn_grey_black btn_medium" id="SharePopupLink_Twitter" href="" title="Share on Twitter"><span><img src="https://community.cloudflare.steamstatic.com/public/images//social/twitter_large.png"></span></a></div> + <div class="shareItemLink"><a class="btn_grey_black btn_medium" id="SharePopupLink_Reddit" href="" title="Share on Reddit"><span><img src="https://community.cloudflare.steamstatic.com/public/images//social/reddit_large.png"></span></a></div> + </div> + <div style="clear: left"></div> + </div> + <div class="share_controls_divider"></div> + <div class="share_controls_page_link"> + <form onsubmit="return false;"> + Link: <input type="input" id="SharePopupInput" value="" readonly="readonly" > + </form> + </div> +</div> <div id="NotLoggedInWarning" class="modal_frame" style="display: none"> + <div class="modal_box"> + <div class="modal_box_ctn"> + <div class="notLoggedInText">You need to sign in or create an account to do that.</div> + <div class="notLoggedInButtons"> + <a class="btn_green_white_innerfade btn_medium" href="https://steamcommunity.com/login/home/?goto=sharedfiles%2Ffiledetails%2F%3Fid%3D3342403375%26insideModal%3D0%26requirelogin%3D1"><span>Sign In</span></a> + <a class="btn_green_white_innerfade btn_medium" href="https://store.steampowered.com/join"><span>Create an Account</span></a> + <a class="btn_grey_black btn_medium" onclick="hideModal( 'NotLoggedInWarning' )"><span>Cancel</span></a> + <div style="clear: left"></div> + </div> + </div> + </div> + </div> + +<div id="PromptModal" class="modal_frame_tags" style="display:none;"> + <div class="modal_top_band"> + <div class="modal_close"><a onclick="hideModal( 'PromptModal' )"><img src="https://community.cloudflare.steamstatic.com/public/images/x9x9.gif" width="9" height="9" border="0" alt="Close" /></a></div> + </div> + <div class="modal_box"> + <div class="updateKVTagsForm" id="PromptModalFormDiv"> + <script> + function UpdateKVTagsSingle() + { + $('PromptModalForm').submit(); + } + </script> + <form class="smallForm" method="POST" name="KVTagsUpdateFormSingle" id="PromptModalForm" action="https://steamcommunity.com/workshop/updatekvtags/" > + <input type="hidden" name="id" value="3342403375" /> + <input type="hidden" name="sessionid" value="35972ee3514df8cb2612f7f7" /> + + <div class="box"> + <div class="itemBulletArrow"></div> + <div class="title" id="PromptTitle"></div> + <p class="description" id="PromptDescription"></p> + <input type="text" class="titleField" name="value" id="PromptValue"> + </div> + + + <a class="btn_green_white_innerfade btn_medium button" href="javascript:UpdateKVTagsSingle();"><span>Update</span></a> + + <div style="clear:both"></div> + </form> + </div> + </div> +</div> +<div class="hover" id="workshop_item_hover" style="position:absolute; display: none; left: 0px; top: 0px;" onmouseout="HideWorkshopItemHover( this, event, $('global_hover') )"> + <div class="shadow_ul"></div><div class="shadow_top"></div><div class="shadow_ur"></div><div class="shadow_left"></div><div class="shadow_right"></div><div class="shadow_bl"></div><div class="shadow_bottom"></div><div class="shadow_br"></div> <div class="hover_box shadow_content"> + <div class="content" id="global_hover_content"></div> + <div id="hover_user_action_history" class="hover_user_action_history" style="display: none"> + <div id="hover_subscribed" class="hover_user_action subscribed" style="display: none">Subscribed</div> + <div id="hover_favorited" class="hover_user_action favorited" style="display: none">Favorited</div> + <div id="hover_played" class="hover_user_action played" style="display: none">Played</div> + </div> + <div id="hover_subscriptions" style="display: none"> + <div class="contentNoTopPadding"> + </div> + </div> + </div> + <div class="hover_arrow_left" id="hover_arrow_left"> + <div class="hover_arrow_inner"></div> + </div> + <div class="hover_arrow_right" id="hover_arrow_right"> + <div class="hover_arrow_inner"></div> + </div> +</div> + </div> <!-- responsive_page_legacy_content --> + + <script> + RecordAppImpression( 244850, '2_100100_100101_100105' ); + </script> + <div id="footer_spacer" class=""></div> + <div id="footer_responsive_optin_spacer"></div> + <div id="footer"> + <div class="footer_content"> + <span id="footerLogo"><img src="https://community.cloudflare.steamstatic.com/public/images/skin_1/footerLogo_valve.png?v=1" width="96" height="26" border="0" alt="Valve Logo" /></span> + <span id="footerText"> + © Valve Corporation. All rights reserved. All trademarks are property of their respective owners in the US and other countries.<br/>Some geospatial data on this website is provided by <a href="https://steamcommunity.com/linkfilter/?u=http%3A%2F%2Fwww.geonames.org" target="_blank" rel=" noopener">geonames.org</a>. <br> + <span class="valve_links"> + <a href="http://store.steampowered.com/privacy_agreement/" target="_blank">Privacy Policy</a> + | <a href="https://store.steampowered.com/legal/" target="_blank">Legal</a> + | <a href="http://store.steampowered.com/subscriber_agreement/" target="_blank">Steam Subscriber Agreement</a> + | <a href="http://store.steampowered.com/account/cookiepreferences/" target="_blank">Cookies</a> + </span> + </span> + </div> + <div class="responsive_optin_link"> + <div class="btn_medium btnv6_grey_black" onclick="Responsive_RequestMobileView()"> + <span>View mobile website</span> + </div> + </div> + </div> + + </div> <!-- responsive_page_content --> + +</div> <!-- responsive_page_frame --> +</body> +</html> \ No newline at end of file diff --git a/ids.txt b/ids.txt deleted file mode 100755 index 70cdf4c..0000000 --- a/ids.txt +++ /dev/null @@ -1,35 +0,0 @@ -+workshop_download_item 294100 2275310562 \ -+workshop_download_item 294100 2662457442 \ -+workshop_download_item 294100 2873235836 \ -+workshop_download_item 294100 2068281501 \ -+workshop_download_item 294100 2893572291 \ -+workshop_download_item 294100 2748834409 \ -+workshop_download_item 294100 2777098392 \ -+workshop_download_item 294100 1635901197 \ -+workshop_download_item 294100 2816938779 \ -+workshop_download_item 294100 3302079637 \ -+workshop_download_item 294100 2877292196 \ -+workshop_download_item 294100 2944488802 \ -+workshop_download_item 294100 3228047321 \ -+workshop_download_item 294100 2475965842 \ -+workshop_download_item 294100 3302328100 \ -+workshop_download_item 294100 2610120706 \ -+workshop_download_item 294100 2917732219 \ -+workshop_download_item 294100 2865361569 \ -+workshop_download_item 294100 3061095040 \ -+workshop_download_item 294100 2989238251 \ -+workshop_download_item 294100 2888638004 \ -+workshop_download_item 294100 2850840457 \ -+workshop_download_item 294100 3272822831 \ -+workshop_download_item 294100 2016436324 \ -+workshop_download_item 294100 3276562906 \ -+workshop_download_item 294100 1677616980 \ -+workshop_download_item 294100 2937674636 \ -+workshop_download_item 294100 1446523594 \ -+workshop_download_item 294100 1508850027 \ -+workshop_download_item 294100 1569605867 \ -+workshop_download_item 294100 3266720501 \ -+workshop_download_item 294100 1678847247 \ -+workshop_download_item 294100 2775017012 \ -+workshop_download_item 294100 2853407446 \ -+quit diff --git a/props.json b/props.json index 7681263..b7a6d98 100644 --- a/props.json +++ b/props.json @@ -1,3 +1,3 @@ { - "version": "0.1.2" + "version": "0.1.3" } diff --git a/src/getHttp.cpp b/src/getHttp.cpp index 2d6a774..067f0d5 100644 --- a/src/getHttp.cpp +++ b/src/getHttp.cpp @@ -4,27 +4,27 @@ size_t appendCurlOutputToString(void *ptr, size_t size, size_t nmemb, std::string *woof) { // append the output from curl to a string - woof->append(static_cast<char *>(ptr), size*nmemb); - return size*nmemb; + woof->append(static_cast<char *>(ptr), size * nmemb); + return size * nmemb; } -void writeHtmlFile(std::string* woof, std::string *outputfile) { +void writeHtmlFile(std::string *woof, std::string *outputfile) { // check for nullptrs - if (!woof || !outputfile){ + if (!woof || !outputfile) { throw("string is null\n"); - } + } // open file and write to it std::ofstream meow{*outputfile}; meow << *woof; } void getHttp(std::string url, std::string *outputfile) { - //initialize curl object and curlcode + // initialize curl object and curlcode CURL *meow = curl_easy_init(); CURLcode res; std::string woof; // check for nullptr and if nullptr throw an exception - if (!outputfile){ + if (!outputfile) { curl_easy_cleanup(meow); throw("outputfile is null\n"); } @@ -34,7 +34,7 @@ void getHttp(std::string url, std::string *outputfile) { curl_easy_setopt(meow, CURLOPT_WRITEDATA, &woof); // perform the request res = curl_easy_perform(meow); - if (res != CURLE_OK){ + if (res != CURLE_OK) { throw("failed to perform the request\n"); } writeHtmlFile(&woof, outputfile); diff --git a/src/main.cpp b/src/main.cpp index cdc2100..23103eb 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,3 +1,5 @@ +#include "includes/getHttp.h" +#include "regex" #include <cctype> #include <cpptoml.h> #include <cstdio> @@ -5,14 +7,12 @@ #include <cstring> #include <filesystem> #include <fstream> -#include "includes/getHttp.h" #include <ios> #include <iostream> #include <ostream> -#include "regex" #include <string> -std::string woof(std::ifstream& meow){ +std::string woof(std::ifstream &meow) { std::ostringstream nya; nya << meow.rdbuf(); return nya.str(); @@ -24,14 +24,10 @@ LISTING COMMANDS: -m: Install a specific mod. )#"; -// strings are kinda broken -const std::string invalidvalue = "Invalid value in config: \n"; -const std::string invalidconfig = "Not a valid config: \n"; - int main(int argc, char **argv, char **envp) { // need some cleaning in the future ata - const char* userHome = getenv("HOME"); + const char *userHome = getenv("HOME"); std::string userCache = std::string(userHome) + "/.cache/"; std::string cacheid = std::string(userCache) + "ids.txt"; std::string cachesc = std::string(userCache) + "sources.html"; @@ -47,11 +43,11 @@ int main(int argc, char **argv, char **envp) { // Removes cache if (std::filesystem::exists(cacheid) && std::filesystem::is_directory(cacheid)) { - int status = remove(std::string {cacheid}.c_str()); - int status2 = remove(std::string {cachesc}.c_str()); + int status = remove(std::string{cacheid}.c_str()); + int status2 = remove(std::string{cachesc}.c_str()); } else { - int status = remove(std::string {cacheid}.c_str()); - int status2 = remove(std::string {cachesc}.c_str()); + int status = remove(std::string{cacheid}.c_str()); + int status2 = remove(std::string{cachesc}.c_str()); } std::vector<std::string> ARGS{argv, argv + argc}; @@ -68,104 +64,102 @@ int main(int argc, char **argv, char **envp) { for (int i = 1; i < argc; ++i) { std::string arg = argv[i]; if (arg.find('-') == 0) { - //collectionid - if (ARGS[i] == "-c") { - if (argc < 3 || argv[2][0] == '-') { - std::cerr << USAGE.c_str(); - return 1; - } - - if (argc == 6 || argc == 7) { - - collectionid = ARGS[1+1]; - user = ARGS[1+2]; - pass = ARGS[1+3]; - gameid = ARGS[1+4]; - - if (argc == 7) { - dir = ARGS[1+5]; - } - - try { - getHttp(std::string {"https://steamcommunity.com/sharedfiles/filedetails/?id=" + collectionid}, &cachesc); - } - catch(std::string& meow) { - std::cout << meow; - return 1; - } - - std::cout << "success1\n"; - break; - } - - if (argc == 4 || argc == 5) { - - collectionid = ARGS[1+1]; - gameid = ARGS[1+2]; - - if (argc == 5) { - dir = ARGS[1+3]; - } - - try { - getHttp(std::string {"https://steamcommunity.com/sharedfiles/filedetails/?id=" + collectionid}, &cachesc); - } - catch(std::string& meow) { - std::cout << meow; - return 1; - } - - std::cout << "success\n"; - break; - } else { - std::cerr << USAGE; - return 1; - } + // collectionid + if (ARGS[i] == "-c") { + if (argc < 3 || argv[2][0] == '-') { + std::cerr << USAGE.c_str(); + return 1; } - // modid - if (ARGS[i] == "-m") { - if (argc < 3 || argv[2][0] == '-') { - std::cerr << USAGE.c_str(); - return 1; + if (argc == 6 || argc == 7) { + + collectionid = ARGS[1 + 1]; + user = ARGS[1 + 2]; + pass = ARGS[1 + 3]; + gameid = ARGS[1 + 4]; + + if (argc == 7) { + dir = ARGS[1 + 5]; } - if (argc == 6 || argc == 7) { - - modid = ARGS[1+1]; - user = ARGS[1+2]; - pass = ARGS[1+3]; - gameid = ARGS[1+4]; - - if (argc == 7) { - dir = ARGS[1+5]; - } - - std::cout << "success1\n"; - break; + try { + getHttp(std::string{"https://steamcommunity.com/sharedfiles/filedetails/?id=" + collectionid}, &cachesc); + } catch (std::string &meow) { + std::cout << meow; + return 1; } - if (argc == 4 || argc == 5) { + std::cout << "success1\n"; + break; + } + + if (argc == 4 || argc == 5) { + + collectionid = ARGS[1 + 1]; + gameid = ARGS[1 + 2]; - modid = ARGS[1+1]; - gameid = ARGS[1+2]; - if (argc == 5) { - dir = ARGS[1+3]; + dir = ARGS[1 + 3]; + } + + try { + getHttp(std::string{"https://steamcommunity.com/sharedfiles/filedetails/?id=" + collectionid}, &cachesc); + } catch (std::string &meow) { + std::cout << meow; + return 1; } std::cout << "success\n"; break; - } else { - std::cerr << USAGE; - return 1; - } } else { - std::cerr << USAGE; - return 1; + std::cerr << USAGE; + return 1; } } - } + + // modid + if (ARGS[i] == "-m") { + if (argc < 3 || argv[2][0] == '-') { + std::cerr << USAGE.c_str(); + return 1; + } + + if (argc == 6 || argc == 7) { + + modid = ARGS[1 + 1]; + user = ARGS[1 + 2]; + pass = ARGS[1 + 3]; + gameid = ARGS[1 + 4]; + + if (argc == 7) { + dir = ARGS[1 + 5]; + } + + std::cout << "success1\n"; + break; + } + + if (argc == 4 || argc == 5) { + + modid = ARGS[1 + 1]; + gameid = ARGS[1 + 2]; + + if (argc == 5) { + dir = ARGS[1 + 3]; + } + + std::cout << "success\n"; + break; + } else { + std::cerr << USAGE; + return 1; + } + } else { + std::cerr << USAGE; + return 1; + } + } + } // regex and stuff (collectionid) if (!collectionid.empty()) { @@ -178,8 +172,8 @@ int main(int argc, char **argv, char **envp) { std::ofstream outputFile(outputFilePath, std::ios::app); if (!inputFile.is_open() && !outputFile.is_open()) { - std::cerr << "Unable to open file"; - return 1; + std::cerr << "Unable to open file"; + return 1; } std::regex grepRegex(R"(<div class="workshopItemPreviewHolder ")"); @@ -188,27 +182,28 @@ int main(int argc, char **argv, char **envp) { // Process each line while (std::getline(inputFile, line)) { - //grep-like behavior (only process lines containing the pattern with two spaces) - if (std::regex_search(line, grepRegex)) { + // grep-like behavior (only process lines containing the pattern with two + // spaces) + if (std::regex_search(line, grepRegex)) { - //sed 's/"><div class=.*//' - std::size_t divPos = line.find("\"><div class="); - if (divPos != std::string::npos) { - line = line.substr(0, divPos); // Trim everything after '"><div class=' - } - - //sed 's/.*id=//' - std::size_t idPos = line.find("id="); - if (idPos != std::string::npos) { - line = line.substr(idPos + 3); // Trim everything before 'id=' and keep the ID - } - - line = "+workshop_download_item " + gameid + " " + line; - - line += " \\"; - - outputFile << line << std::endl; + // sed 's/"><div class=.*//' + std::size_t divPos = line.find("\"><div class="); + if (divPos != std::string::npos) { + line = line.substr(0, divPos); // Trim everything after '"><div class=' } + + // sed 's/.*id=//' + std::size_t idPos = line.find("id="); + if (idPos != std::string::npos) { + line = line.substr(idPos + 3); // Trim everything before 'id=' and keep the ID + } + + line = "+workshop_download_item " + gameid + " " + line; + + line += " \\"; + + outputFile << line << std::endl; + } } // Step 6: Write "+quit" at the end of the output file @@ -218,17 +213,17 @@ int main(int argc, char **argv, char **envp) { inputFile.close(); outputFile.close(); - // (modid) + // (modid) } else if (!modid.empty()) { std::string wpd = " +workshop_download_item " + gameid + " " + modid /*+ R"( \)"*/; - - // main command - system(std::string {"sh ~/Steam/steamcmd.sh +force_install_dir " + dir + " +login " + user + pass + wpd + " +quit"}.c_str()); + // main command + system(std::string{"sh ~/Steam/steamcmd.sh +force_install_dir " + dir + " +login " + user + pass + wpd + " +quit"}.c_str()); return 1; } // main command std::ifstream ids{cacheid}; - system(std::string {"sh ~/Steam/steamcmd.sh +force_install_dir " + dir + " +login " + user + pass + R"( \ )" + woof(ids)}.c_str()); + system(std::string{"sh ~/Steam/steamcmd.sh +force_install_dir " + dir + " +login " + user + pass + R"( \ )" + woof(ids)}.c_str()); + return 1; }