CINXE.COM

Battle for Wesnoth - Browse Files at SourceForge.net

<!doctype html> <!-- Server: sfs-consume-8 --> <html class="no-js" lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no" /> <script src="//a.fsdn.com/con/js/min/sf.sandiego-cmp-top.js?1739466433"></script> <script> bizx.cmp.ifConsent({ purposes: 'ads', vendors: 'adshield'}, function () { var s = document.createElement('script'); s.async = true;s.id = "FIXtUCr"; s.setAttribute('data-sdk', 'l/1.1.5'); s.setAttribute('data-cfasync', 'false'); s.src = "https://as.sourceforge.net/loader.min.js"; s.charset = "UTF-8"; s.data="ithc1r8q8e878b8v808e1p8efy81108k3e8iy28y8e808784y8i801m8i8i878y8e387848r8i28y8e878i8g8712z80808y8e8sf12y81108k8s8e1z89"; s.setAttribute('onload', "!async function(){let e='html-load.com';const t=window,r=e=>new Promise((t=>setTimeout(t,e))),o=t.atob,a=t.btoa,n=r=>{const n=o('VGhpcyBwYWdlIGNvdWxkIG5vdCBiZSBsb2FkZWQgcHJvcGVybHkgZHVlIHRvIGluY29ycmVjdCAvIGJhZCBmaWx0ZXJpbmcgcnVsZShzKSBvZiBhZGJsb2NrZXJzIGluIHVzZS4gUGxlYXNlIGRpc2FibGUgYWxsIGFkYmxvY2tlcnMgdG8gY29udGludWUgdXNpbmcgdGhlIHdlYnNpdGUuIChjbGljayBPSyBpZiB5b3UnZCBsaWtlIHRvIGxlYXJuIG1vcmUp');if(confirm(n)){const o=new t.URL('https://report.error-report.com/modal'),n=o.searchParams;n.set('url',a(location.href)),n.set('error',a(r.toString())),n.set('domain',e),location.href=o.href}else location.reload()};try{const l=()=>new Promise((e=>{let r=Math.random().toString(),o=Math.random().toString();t.addEventListener('message',(e=>e.data===r&&t.postMessage(o,'*'))),t.addEventListener('message',(t=>t.data===o&&e())),t.postMessage(r,'*')}));async function s(){try{let e=!1,o=Math.random().toString();if(t.addEventListener('message',(t=>{t.data===o+'_as_res'&&(e=!0)})),t.postMessage(o+'_as_req','*'),await l(),await r(500),e)return!0}catch(e){console.error(e)}return!1}const c=[100,500,1e3];for(let i=0;i<=c.length&&!await s();i++){if(i===c.length-1)throw o('RmFpbGVkIHRvIGxvYWQgd2Vic2l0ZSBwcm9wZXJseSBzaW5jZSA')+e+o('IGlzIHRhaW50ZWQuIFBsZWFzZSBhbGxvdyA')+e;await r(c[i])}}catch(d){console.error(d);try{t.localStorage.setItem(t.location.host+'_fa_'+a('last_bfa_at'),Date.now().toString())}catch(m){}try{setInterval((()=>document.querySelectorAll('link,style').forEach((e=>e.remove()))),100),alert(d);const h=await(await fetch('https://error-report.com/report?type=loader_light&url='+a(location.href)+'&error='+a(d),{method:'POST'})).text();let g=!1;t.addEventListener('message',(e=>{'as_modal_loaded'===e.data&&(g=!0)}));let p=document.createElement('iframe');const v=new t.URL('https://report.error-report.com/modal'),u=v.searchParams;u.set('url',a(location.href)),u.set('eventId',h),u.set('error',a(d)),u.set('domain',e),p.src=v.href,p.setAttribute('style','width:100vw;height:100vh;z-index:2147483647;position:fixed;left:0;top:0;');const I=e=>{'close-error-report'===e.data&&(p.remove(),t.removeEventListener('message',I))};t.addEventListener('message',I),document.body.appendChild(p);const G=()=>{const e=p.getBoundingClientRect();return'none'!==t.getComputedStyle(p).display&&0!==e.width&&0!==e.height},f=setInterval((()=>{if(!document.contains(p))return clearInterval(f);G()||(n(d),clearInterval(f))}),1e3);setTimeout((()=>{g||n(errStr)}),3e3)}catch(w){n(w)}}}();"); s.setAttribute('onerror', "!async function(){const t=window,e=t.atob,r=t.btoa;let o=JSON.parse(e('WyJodG1sLWxvYWQuY29tIiwiZmIuaHRtbC1sb2FkLmNvbSIsImNvbnRlbnQtbG9hZGVyLmNvbSIsImZiLmNvbnRlbnQtbG9hZGVyLmNvbSJd'));const a=o=>{const a=e('VGhpcyBwYWdlIGNvdWxkIG5vdCBiZSBsb2FkZWQgcHJvcGVybHkgZHVlIHRvIGluY29ycmVjdCAvIGJhZCBmaWx0ZXJpbmcgcnVsZShzKSBvZiBhZGJsb2NrZXJzIGluIHVzZS4gUGxlYXNlIGRpc2FibGUgYWxsIGFkYmxvY2tlcnMgdG8gY29udGludWUgdXNpbmcgdGhlIHdlYnNpdGUuIChjbGljayBPSyBpZiB5b3UnZCBsaWtlIHRvIGxlYXJuIG1vcmUp');if(confirm(a)){const e=new t.URL('https://report.error-report.com/modal'),a=e.searchParams;a.set('url',r(location.href)),a.set('error',r(o.toString())),a.set('domain',domain),location.href=e.href}else location.reload()};try{if(void 0===t.as_retry&&(t.as_retry=0),t.as_retry>=o.length)throw e('RmFpbGVkIHRvIGxvYWQgd2Vic2l0ZSBwcm9wZXJseSBzaW5jZSA')+o[0]+e('IGlzIGJsb2NrZWQuIFBsZWFzZSBhbGxvdyA')+o[0];const r=document.getElementById('FIXtUCr'),a=document.createElement('script');for(let t=0;t<r.attributes.length;t++)a.setAttribute(r.attributes[t].name,r.attributes[t].value);const n=new t.URL(r.getAttribute('src'));n.host=o[t.as_retry++],a.setAttribute('src',n.href),r.setAttribute('id',r.getAttribute('id')+'_'),r.parentNode.insertBefore(a,r),r.remove()}catch(e){console.error(e);try{t.localStorage.setItem(t.location.host+'_fa_'+r('last_bfa_at'),Date.now().toString())}catch(t){}try{setInterval((()=>document.querySelectorAll('link,style').forEach((t=>t.remove()))),100),alert(e);const o=await(await fetch('https://error-report.com/report?type=loader_light&url='+r(location.href)+'&error='+r(e),{method:'POST'})).text();let n=!1;t.addEventListener('message',(t=>{'as_modal_loaded'===t.data&&(n=!0)}));let s=document.createElement('iframe');const c=new t.URL('https://report.error-report.com/modal'),l=c.searchParams;l.set('url',r(location.href)),l.set('eventId',o),l.set('error',r(e)),l.set('domain',domain),s.src=c.href,s.setAttribute('style','width: 100vw; height: 100vh; z-index: 2147483647; position: fixed; left: 0; top: 0;');const i=e=>{'close-error-report'===e.data&&(s.remove(),t.removeEventListener('message',i))};t.addEventListener('message',i),document.body.appendChild(s);const d=()=>{const e=s.getBoundingClientRect();return'none'!==t.getComputedStyle(s).display&&0!==e.width&&0!==e.height},m=setInterval((()=>{if(!document.contains(s))return clearInterval(m);d()||(a(e),clearInterval(m))}),1e3);setTimeout((()=>{n||a(errStr,domain)}),3e3)}catch(t){a(t)}}}();"); document.head.appendChild(s); }); </script> <script> /*global unescape, window, SF*/ // Setup our namespace if (!window.SF) { window.SF = {}; } if (!window.net) { window.net = {}; } if (!window.net.sf) { window.net.sf = {}; } SF.Ads = {}; SF.cdn = '//a.fsdn.com/con'; SF.alluracdn = '//a.fsdn.com/allura/cdn/allura/nf'; SF.deploy_time = '1739466433'; SF.sandiego = true; SF.sandiego_chrome = true; SF.variant = 'sf'; SF.fpid = 'b051c377-cdd5-4dfe-9a43-bc07ddd16415'; SF.billboard_route = '/software/product/$slug/'; SF.Breakpoints = { small: 0, medium: 640, leaderboard: 743, billboard: 985, large: 1053, xlarge: 1295, xxlarge: 1366 }; SF.initial_breakpoints_visible = {}; for (var bp in SF.Breakpoints) { if (!SF.Breakpoints.hasOwnProperty(bp)) { continue; } SF.initial_breakpoints_visible[bp] = !window.matchMedia || window.matchMedia('(min-width: ' + SF.Breakpoints[bp] + 'px)').matches; } SF.Ads.viewportWidth = Math.max(document.documentElement.clientWidth, window.innerWidth || 0); SF.Ads.viewportHeight = Math.max(document.documentElement.clientHeight, window.innerHeight || 0); </script><script> SF.Ads.prebidOptions = { showIndicators: false, analytics: false, timeout: 650, timeouts_by_bids: {650: 3, 2000: 1, 3000: 0}, pbjsConfig: { }, }; SF.Ads.prebidUnits = [];if (SF.initial_breakpoints_visible.leaderboard) { var thisUnit = { bids: [{"bidder":"rubicon","params":{"zoneId":"486110","sizes":[2],"position":"atf","accountId":"15680","siteId":"103240"}}, {"bidder":"appnexus","params":{"placementId":9265078}}, {"bidder":"pubmatic","params":{"adSlot":"4741585","publisherId":"162538"}}, ], code: 'div-gpt-ad-1393435113147-0', tag: 'SF_ProjectFiles_728x90_A', mediaTypes: { banner: { sizes: [] } } }; if (SF.Ads.viewportWidth >= 728 && SF.Ads.viewportHeight >= 200){ thisUnit.mediaTypes.banner.sizes = [[728,90]]; } if (SF.Ads.viewportWidth >= 970 && SF.Ads.viewportHeight >= 901){ thisUnit.mediaTypes.banner.sizes = [[728,90]]; } SF.Ads.prebidUnits.push(thisUnit); } if (!SF.initial_breakpoints_visible.leaderboard) { var thisUnit = { bids: [{"bidder":"rubicon","params":{"zoneId":"610848","sizes":[43],"position":"atf","accountId":"15680","siteId":"103240"}}, {"bidder":"appnexus","params":{"placementId":12559081}}, {"bidder":"pubmatic","params":{"adSlot":"4845070","publisherId":"162538"}}, ], code: 'div-gpt-ad-1512154506943-0', tag: 'SF_Mobile_320x50_A', mediaTypes: { banner: { sizes: [[320,50]] } } }; SF.Ads.prebidUnits.push(thisUnit); } if (!SF.initial_breakpoints_visible.large) { var thisUnit = { bids: [{"bidder":"rubicon","params":{"zoneId":"798260","sizes":[43],"accountId":"15680","siteId":"103240"}}, {"bidder":"appnexus","params":{"placementId":12559084}}, {"bidder":"pubmatic","params":{"adSlot":"4845074","publisherId":"162538"}}, ], code: 'div-gpt-ad-1512154653435-0', tag: 'SF_Mobile_Multi_B', mediaTypes: { banner: { sizes: [[300,50],[300,250],[320,50],[320,100]] } } }; SF.Ads.prebidUnits.push(thisUnit); } if (!SF.initial_breakpoints_visible.large) { var thisUnit = { bids: [{"bidder":"rubicon","params":{"zoneId":"798260","sizes":[43],"accountId":"15680","siteId":"103240"}}, {"bidder":"appnexus","params":{"placementId":12559087}}, {"bidder":"pubmatic","params":{"adSlot":"4845075","publisherId":"162538"}}, ], code: 'div-gpt-ad-1512154755912-0', tag: 'SF_Mobile_Multi_C', mediaTypes: { banner: { sizes: [[300,50],[300,250],[320,50],[320,100]] } } }; SF.Ads.prebidUnits.push(thisUnit); } if (SF.initial_breakpoints_visible.large) { var thisUnit = { bids: [{"bidder":"rubicon","params":{"zoneId":"486110","sizes":[15,10],"position":"atf","accountId":"15680","siteId":"103240"}}, {"bidder":"appnexus","params":{"placementId":9265076}}, {"bidder":"pubmatic","params":{"adSlot":"4741583","publisherId":"162538"}}, ], code: 'div-gpt-ad-1392147725721-0', tag: 'SF_ProjectFiles_300x250_A', mediaTypes: { banner: { sizes: [[300,250],[300,600]] } } }; SF.Ads.prebidUnits.push(thisUnit); } if (SF.initial_breakpoints_visible.large) { var thisUnit = { bids: [{"bidder":"rubicon","params":{"zoneId":"486112","sizes":[15],"accountId":"15680","siteId":"103240"}}, {"bidder":"appnexus","params":{"placementId":9265082}}, {"bidder":"pubmatic","params":{"adSlot":"4741584","publisherId":"162538"}}, ], code: 'div-gpt-ad-1392148208789-0', tag: 'SF_ProjectFiles_300x250_B', mediaTypes: { banner: { sizes: [[300,250]] } } }; SF.Ads.prebidUnits.push(thisUnit); } SF.Ads.prebidAdjustments = {"bidder_deflations":{"aardvark":1,"aol":0.98,"appnexus":1.05,"brealtime":0.98,"districtm":1.04,"districtmdmx":1.08,"emxdigital":1,"indexex#hange":0.98,"indexexchange":0.95,"komoona":0.92,"oftmedia":0.9,"onefiftytwo":0.9,"pubmatic":1,"pulsepoint":0.93,"rhythmone":0.85,"rubicon":1.26,"rubiconlite":1,"sharethrough":1.05,"smartadserver":1.05,"sovrn":1.1,"springserve":0.001},"inflation":1,"floor":0.02}; </script> <script id="pbjs_script" data-dom="https://d3tglifpd8whs6.cloudfront.net" src="//a.fsdn.com/con/js/sftheme/vendor/bizx-prebid.js?1739466433"></script> <script> bizx.cmp.ifConsent({ purposes: 'all', vendors: 'prebid'}, function () { if (window.bizxPrebid) { window.bizxPrebid.Ads.initPrebid(window.bizxPrebid.adUnits); } }, function() { // no 'prebid' consent (e.g. region without prebid consent string support) but try GPT directly bizx.cmp.ifConsent({ purposes: 'all', vendors: 'google-ads'}, function () { bizx.cmp.embedScript('https://securepubads.g.doubleclick.net/tag/js/gpt.js'); }); }); </script> <link rel="stylesheet" href="//a.fsdn.com/con/css/lato.css?1739466433"> <link rel="stylesheet" href="//a.fsdn.com/con/css/sandiego.css?1739466433"> <link rel="stylesheet" href="//a.fsdn.com/con/css/disallow.css?1739466433"> <meta name="description" content="A strategy game with a high fantasy theme "> <meta name="keywords" content="Turn Based Strategy, Open Source, Open Source Software, Development, Community, Source Code, Secure, Downloads, Free Software"> <link rel="canonical" href="https://sourceforge.net/projects/wesnoth/files/"> <title>Battle for Wesnoth - Browse Files at SourceForge.net</title> <link rel="icon" sizes="180x180" href="//a.fsdn.com/con/img/sandiego/logo-180x180.png" type="image/png"> <link rel="icon" sizes="any" href="//a.fsdn.com/con/img/sandiego/svg/originals/sf-icon-orange-no_sf.svg" type="image/svg+xml"> <link rel="apple-touch-icon" sizes="180x180" href="//a.fsdn.com/con/img/sandiego/logo-180x180.png"> <link rel="mask-icon" href="//a.fsdn.com/con/img/sandiego/svg/originals/sf-icon-orange-no_sf.svg" color="#FF6600"> <script> /*global unescape, window, console, jQuery, $, net, SF, DD_belatedPNG, bizx */ if (!window.SF) { window.SF = {}; }SF.EU_country_codes = ["VG","GS","LU","BM","SK","DE","CW","AX","IT","GL","HR","MF","PM","GB","SX","LI","IE","WF","NL","AW","GR","FI","PF","KY","TC","SI","PT","GP","BE","IO","CH","IS","PN","AI","GF","BG","GG","SH","MQ","JE","NO","LT","EE","BL","NC","SE","FR","ME","CZ","HU","ES","LV","GI","RE","AT","RO","TF","FK","PL","MS","MT","CY","YT","DK"]; SF.unknown_country_codes = ["","A1","A2","O1"]; </script> <script src="//a.fsdn.com/con/js/min/sf.sandiego-head.js?1739466433"></script> <style>.lf1e577dc6b79cd593f79d4d154386897f0a30a21 { display: none !important; }</style> <script>SF.adblock = true;</script> <script src="//a.fsdn.com/con/js/adpopup.js?1739466433"></script> <script> /*global Foundation */ /*global googletag, bizxPrebid */ SF.Ads.gptExpected(); SF.Ads.usePrebid = true; var gptadslots=[]; var gptadHandlers={}; var gptadRenderers=[]; SF.Ads.slotsById = {}; SF.Ads.idsByPath = {}; googletag.cmd.push(function() { var leaderboard = googletag.sizeMapping() .addSize([970, 901], [[728,90]]) .addSize([728, 200], [[728,90]]) .build(); var leaderboardInContent = googletag.sizeMapping() .addSize([1280, 200], [[728,90]]) .addSize([728, 200], [[728,90]]) .build(); googletag.pubads() .setForceSafeFrame(true) .setTargeting('usingSafeFrame','1') .setSafeFrameConfig({ allowOverlayExpansion: true, allowPushExpansion: true, sandbox: true }); var thisSlot; thisSlot = googletag.defineSlot('/41014381/Sourceforge/SF_ProjectFiles_GEL_A',"fluid",'div-gpt-ad-1715706242161-0') .addService(googletag.pubads()) .setTargeting('oss_tpc',["Games","Turn Based Strategy"]) .setTargeting('shortname',"wesnoth") .setTargeting('dc_ref',"https://sourceforge.net/projects/wesnoth/files/") .setTargeting('sz',"fluid") .setTargeting('page_type',"pg_files"); gptadslots.push(thisSlot); SF.Ads.slotsById['div-gpt-ad-1715706242161-0'] = thisSlot; SF.Ads.idsByPath['/41014381/Sourceforge/SF_ProjectFiles_GEL_A'] = 'div-gpt-ad-1715706242161-0'; thisSlot = googletag.defineSlot('/41014381/Sourceforge/SF_ProjectFiles_GEL_B',"fluid",'div-gpt-ad-1715706307693-0') .addService(googletag.pubads()) .setTargeting('oss_tpc',["Games","Turn Based Strategy"]) .setTargeting('shortname',"wesnoth") .setTargeting('dc_ref',"https://sourceforge.net/projects/wesnoth/files/") .setTargeting('sz',"fluid") .setTargeting('page_type',"pg_files"); gptadslots.push(thisSlot); SF.Ads.slotsById['div-gpt-ad-1715706307693-0'] = thisSlot; SF.Ads.idsByPath['/41014381/Sourceforge/SF_ProjectFiles_GEL_B'] = 'div-gpt-ad-1715706307693-0'; thisSlot = googletag.defineSlot('/41014381/Sourceforge/SF_ProjectFiles_728x90_A', [728, 90],'div-gpt-ad-1393435113147-0') .defineSizeMapping( leaderboard ) .addService(googletag.pubads()) .setTargeting('oss_tpc',["Games","Turn Based Strategy"]) .setTargeting('shortname',"wesnoth") .setTargeting('dc_ref',"https://sourceforge.net/projects/wesnoth/files/") .setTargeting('page_type',"pg_files"); gptadslots.push(thisSlot); SF.Ads.slotsById['div-gpt-ad-1393435113147-0'] = thisSlot; SF.Ads.idsByPath['/41014381/Sourceforge/SF_ProjectFiles_728x90_A'] = 'div-gpt-ad-1393435113147-0'; thisSlot = googletag.defineSlot('/41014381/Sourceforge/SF_Mobile_320x50_A',[320,50],'div-gpt-ad-1512154506943-0') .addService(googletag.pubads()) .setTargeting('oss_tpc',["Games","Turn Based Strategy"]) .setTargeting('shortname',"wesnoth") .setTargeting('dc_ref',"https://sourceforge.net/projects/wesnoth/files/") .setTargeting('sz',"320x50") .setTargeting('page_type',"pg_files"); gptadslots.push(thisSlot); SF.Ads.slotsById['div-gpt-ad-1512154506943-0'] = thisSlot; SF.Ads.idsByPath['/41014381/Sourceforge/SF_Mobile_320x50_A'] = 'div-gpt-ad-1512154506943-0'; thisSlot = googletag.defineSlot('/41014381/Sourceforge/SF_Mobile_Multi_B',[[300,50],[300,250],[320,50],[320,100]],'div-gpt-ad-1512154653435-0') .addService(googletag.pubads()) .setTargeting('oss_tpc',["Games","Turn Based Strategy"]) .setTargeting('shortname',"wesnoth") .setTargeting('dc_ref',"https://sourceforge.net/projects/wesnoth/files/") .setTargeting('sz',"300x50,300x250,320x50,320x100") .setTargeting('page_type',"pg_files"); gptadslots.push(thisSlot); SF.Ads.slotsById['div-gpt-ad-1512154653435-0'] = thisSlot; SF.Ads.idsByPath['/41014381/Sourceforge/SF_Mobile_Multi_B'] = 'div-gpt-ad-1512154653435-0'; thisSlot = googletag.defineSlot('/41014381/Sourceforge/SF_Mobile_Multi_C',[[300,50],[300,250],[320,50],[320,100]],'div-gpt-ad-1512154755912-0') .addService(googletag.pubads()) .setTargeting('oss_tpc',["Games","Turn Based Strategy"]) .setTargeting('shortname',"wesnoth") .setTargeting('dc_ref',"https://sourceforge.net/projects/wesnoth/files/") .setTargeting('sz',"300x50,300x250,320x50,320x100") .setTargeting('page_type',"pg_files"); gptadslots.push(thisSlot); SF.Ads.slotsById['div-gpt-ad-1512154755912-0'] = thisSlot; SF.Ads.idsByPath['/41014381/Sourceforge/SF_Mobile_Multi_C'] = 'div-gpt-ad-1512154755912-0'; thisSlot = googletag.defineSlot('/41014381/Sourceforge/SF_ProjectFiles_300x250_A',[[300,250],[300,600]],'div-gpt-ad-1392147725721-0') .addService(googletag.pubads()) .setTargeting('oss_tpc',["Games","Turn Based Strategy"]) .setTargeting('shortname',"wesnoth") .setTargeting('dc_ref',"https://sourceforge.net/projects/wesnoth/files/") .setTargeting('sz',"300x250,300x600") .setTargeting('page_type',"pg_files"); gptadslots.push(thisSlot); SF.Ads.slotsById['div-gpt-ad-1392147725721-0'] = thisSlot; SF.Ads.idsByPath['/41014381/Sourceforge/SF_ProjectFiles_300x250_A'] = 'div-gpt-ad-1392147725721-0'; thisSlot = googletag.defineSlot('/41014381/Sourceforge/SF_ProjectFiles_300x250_B',[300,250],'div-gpt-ad-1392148208789-0') .addService(googletag.pubads()) .setTargeting('oss_tpc',["Games","Turn Based Strategy"]) .setTargeting('shortname',"wesnoth") .setTargeting('dc_ref',"https://sourceforge.net/projects/wesnoth/files/") .setTargeting('sz',"300x250") .setTargeting('page_type',"pg_files"); gptadslots.push(thisSlot); SF.Ads.slotsById['div-gpt-ad-1392148208789-0'] = thisSlot; SF.Ads.idsByPath['/41014381/Sourceforge/SF_ProjectFiles_300x250_B'] = 'div-gpt-ad-1392148208789-0'; thisSlot = googletag.defineSlot('/7346874/SF-300x250',[300,250],'div-gpt-ad-1392148208795-0') .addService(googletag.pubads()) .setTargeting('oss_tpc',["Games","Turn Based Strategy"]) .setTargeting('shortname',"wesnoth") .setTargeting('dc_ref',"https://sourceforge.net/projects/wesnoth/files/") .setTargeting('sz',"300x250") .setTargeting('page_type',"pg_files"); gptadslots.push(thisSlot); SF.Ads.slotsById['div-gpt-ad-1392148208795-0'] = thisSlot; SF.Ads.idsByPath['/7346874/SF-300x250'] = 'div-gpt-ad-1392148208795-0'; googletag.pubads().enableAsyncRendering(); googletag.pubads().collapseEmptyDivs(); googletag.pubads().enableLazyLoad({fetchMarginPercent: 0,renderMarginPercent: 0,});googletag.pubads().addEventListener('slotOnload', function(event) { SF.Ads.Helpers.getSizeAndSetClass.call(this, event); }); googletag.pubads().addEventListener('slotRenderEnded', function(event) { var unitName = event.slot.getAdUnitPath(); if ( unitName in gptadHandlers ) { for (var i = 0; i < gptadHandlers[unitName].length; i++) { try { SF.Ads.RenderHandlers[gptadHandlers[unitName][i]].call(this, event); } catch (e) { } } } if (event.slot.getResponseInformation()) { SF.Ads.RenderHandlers.decorateSizeDelivered.call(this, event); } else {SF.Ads.RenderHandlers.gotBlank.call(this, event); } if(SF.Ads.scrollFixable) { SF.Ads.scrollFixable.scrollRelocate(); } }); googletag.pubads().addEventListener('slotVisibilityChanged', SF.Ads.visibilityChangedTracker); SF.Ads.setupAdRefresh(); googletag.pubads().addEventListener('impressionViewable', SF.Ads.RenderHandlers.viewabilityInstrumentation); googletag.pubads().addEventListener('slotRenderEnded', SF.Ads.listenerForBlockThis); bizxPrebid.Ads.pushToGoogle(); googletag.enableServices(); if ($.isEmptyObject(SF.Ads.slotsById)) { $('body').addClass("no-ads"); } }); </script> <script> function initPiwik(){ var _paq = window._paq = window._paq || []; _paq.push(['trackPageView', document.title, { dimension1: 'wesnoth', dimension2: 'pg_files', dimension3: SF.devicePixelRatio, }]); _paq.push(['enableLinkTracking']); (function() { var u="//analytics.slashdotmedia.com/"; _paq.push(['setTrackerUrl', u+'sf.php']); _paq.push(['setSiteId', 39]); // only execute if 'measurement' has been granted bizx.cmp.ifConsent({ purposes: ['measurement'], vendors: 'sdm'}, function() { var interval = 6 * 60 * 60 * 1000; // 6 hrs, expressed in ms var vid_date = new Date(localStorage.getItem('vid_date')); if (new Date() - vid_date >= interval) { var data = {firstparty_id: "b051c377-cdd5-4dfe-9a43-bc07ddd16415", do_not_sell: false, is_commercial_page: "False" }; bizx.cmp.ifConsent({ purposes: ['ads'], vendors: 'sdm'}, function() {}, function(){ // no consent (opt-out) data.do_not_sell = true; }, function(){ //finally call api endpoint // push promise to pwik and set it run if pwik is allowed to run based on it's own ifConsent check _paq.push([ function() { data.matomo_id = this.getVisitorId(); data.domain = "sourceforge.net"; $.ajax({ method: 'PUT', url: '/p/sfapi/push_vid', data: JSON.stringify(data) }) .done(function(response){ if(response.result) { localStorage.setItem('vid_date', new Date()); } }) .fail(function(){ // Do nothing on failure }); }]); } ); } }); var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0]; g.type='text/javascript'; g.async=true; g.defer=true; g.src=u+'sf.js'; s.parentNode.insertBefore(g,s); })(); } bizx.cmp.ifConsent({ purposes: ['storage', 'measurement'], vendors: 'sdm' }, initPiwik); </script> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "WebSite", "name": "SourceForge", "url": "https://sourceforge.net/" } </script> </head> <body id="pg_files" class=" user anonymous has-ads sandiego v-sf"> <div id="busy-spinner"></div> <div id="messages"> </div> <div class="off-canvas position-right" id="offCanvas" data-off-canvas> <!-- Menu --> <ul class="header-nav-menulist"> <li class="highlight search"> <form method="get" action="/directory/" class="m-search-form"> <input type="text" placeholder="Search for software or solutions" autocomplete="off" name="q" > <label > <input type="submit" class="bt" value=""> <svg data-name="search" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1216 832q0-185-131.5-316.5t-316.5-131.5-316.5 131.5-131.5 316.5 131.5 316.5 316.5 131.5 316.5-131.5 131.5-316.5zm512 832q0 52-38 90t-90 38q-54 0-90-38l-343-342q-179 124-399 124-143 0-273.5-55.5t-225-150-150-225-55.5-273.5 55.5-273.5 150-225 225-150 273.5-55.5 273.5 55.5 225 150 150 225 55.5 273.5q0 220-124 399l343 343q37 37 37 90z"/></svg> </label> </form> </li> <li class="highlight"><a href="https://sourceforge.net/auth/">Join/Login</a></li> <li><a href="/software/">Business Software</a></li> <li><a href="/directory/">Open Source Software</a></li> <li><a href="/software/vendors/" title="For Vendors">For Vendors</a></li> <li><a href="/blog/" title="Blog">Blog</a></li> <li><a href="/about">About</a></li> <li><a id="header-nav-more" data-toggle="header-nav-more header-nav-more-content" data-toggler=".toggled">More</a></li> <li> <ul id="header-nav-more-content" class="toggled" data-toggler=".toggled"> <li><a href="/articles/">Articles</a></li> <li><a href="/create">Create</a></li> <li><a href="https://sourceforge.net/articles/category/sourceforge-podcast/">SourceForge Podcast</a></li> <li><a href="https://sourceforge.net/p/forge/documentation/Docs%20Home/">Site Documentation</a></li> <li><a href="/user/newsletters">Subscribe to our Newsletter</a></li> <li><a href="/support">Support Request</a></li> </ul> </li> </ul> </div> <div class="off-canvas-content" data-off-canvas-content> <script> SF.linkout_icon = '<svg data-name="sf-linkout-icon" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 300 300" style="enable-background:new 0 0 300 300;" xml:space="preserve"><polygon class="st0" points="243.2,243.2 56.8,243.2 56.8,56.8 123,56.8 123,9 9,9 9,291 291,291 291,179.4 243.2,179 "/><polygon class="st0" points="128.5,213 155,186.5 176,165.5 206.7,196.3 235.5,132.5 248.9,102.6 290.6,9.8 291,9 290.6,9.2 197.4,51.1 169.1,63.8 103.7,93.3 137,126.5 115.9,147.5 89.5,174 "/></svg>'; </script> <section class="sandiego l-header-nav-top show-for-large"> <div class="row"> <a href="/" title="Home" class="sf-logo"> <img src="//a.fsdn.com/con/images/sandiego/sf-logo-full.svg" alt="SourceForge logo" class="sf-logo-full"/> </a> <nav class="links"> <a href="/user/newsletters" title="Subscribe to our newsletter"><span class="newsletter-icon"> <svg data-name="mmSF_11mail" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 42 42" enable-background="new 0 0 42 42" xml:space="preserve"><path fill="#FFFFFF" d="M0,6v30h42V6H0z M24.2,21.2c-0.8,0.8-2.3,2-3.2,2c-0.9,0-2.4-1.2-3.2-2L5.8,9.7h30.3L24.2,21.2z M13.7,21l-9.9,9.4V11.6L13.7,21z M15.7,23L15.7,23c0.5,0.5,2.9,2.9,5.3,2.9c2.4,0,4.8-2.4,5.2-2.8l0.1-0.1l9.8,9.4H5.8L15.7,23z M28.3,21l9.9-9.5v18.9L28.3,21z"/></svg></span></a> <a href="/software/vendors/" title="For Vendors">For Vendors</a> <a href="/support" title="Help">Help</a> <a href="/create/" title="Create">Create</a> <a href="/user/registration" title="Join" >Join</a> <a href="https://sourceforge.net/auth/" title="Login">Login</a> </nav> </div> </section> <div class="l-header-nav sticky sandiego l-header-nav-collapse"> <section class="sandiego l-header-nav-top hide-for-large"> <div class="row"> <a href="/" title="Home" class="sf-logo"> <img src="//a.fsdn.com/con/images/sandiego/sf-logo-full.svg" alt="SourceForge logo" class="sf-logo-full"/> </a> <div class="title-bar-right"> <button type="button" aria-label="Toggle Main Menu" class="menu-icon" data-toggle="offCanvas"></button> </div> </div> </section> <section class="sandiego l-header-nav-bottom"> <nav class="row"> <a href="/" title="Home" class="sf-logo"> <img src="//a.fsdn.com/con/images/sandiego/sf-logo-full.svg" alt="SourceForge logo" class="sf-logo-full"/> </a> <div class="links"> <div class="nav-dropdown"> <a href="/software/">Business Software</a> </div> <div class="nav-dropdown"> <a href="/directory/" title="Browse">Open Source Software</a> </div> <div class="nav-dropdown"> <a href="https://sourceforge.net/articles/category/sourceforge-podcast/">SourceForge Podcast</a> </div> <div class="nav-dropdown"> <a>Resources</a> <ul class="nav-dropdown-menu"> <li><a href="/articles/">Articles</a></li> <li><a href="/software/case-studies/">Case Studies</a></li> <li><a href="/blog/">Blog</a></li> </ul> </div> <div class="dev-menu-when-stuck"> Menu <ul class="dev-menu-dropdown header-nav-menulist"> <li><a href="/support">Help</a></li> <li><a href="/create">Create</a></li> <li><a href="/user/registration/" title="Join" >Join</a></li> <li><a href="https://sourceforge.net/auth/" title="Login">Login</a></li> </ul> </div> <div class="search-toggle-when-stuck"> <a class="search-toggle"> <svg data-name="search" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1216 832q0-185-131.5-316.5t-316.5-131.5-316.5 131.5-131.5 316.5 131.5 316.5 316.5 131.5 316.5-131.5 131.5-316.5zm512 832q0 52-38 90t-90 38q-54 0-90-38l-343-342q-179 124-399 124-143 0-273.5-55.5t-225-150-150-225-55.5-273.5 55.5-273.5 150-225 225-150 273.5-55.5 273.5 55.5 225 150 150 225 55.5 273.5q0 220-124 399l343 343q37 37 37 90z"/></svg> </a> </div> </div> <div class="search"> <form method="get" action="/directory/" class="m-search-form"> <div class="typeahead__container"> <div class="typeahead__field"> <div class="typeahead__query"> <input type="text" placeholder="Search for software or solutions" autocomplete="off" name="q" > </div> <label > <input type="submit" class="bt" value=""> <svg data-name="search" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1216 832q0-185-131.5-316.5t-316.5-131.5-316.5 131.5-131.5 316.5 131.5 316.5 316.5 131.5 316.5-131.5 131.5-316.5zm512 832q0 52-38 90t-90 38q-54 0-90-38l-343-342q-179 124-399 124-143 0-273.5-55.5t-225-150-150-225-55.5-273.5 55.5-273.5 150-225 225-150 273.5-55.5 273.5 55.5 225 150 150 225 55.5 273.5q0 220-124 399l343 343q37 37 37 90z"/></svg> </label> </div> </div> </form> </div> </nav> </section> <div id="banner-sterling" class="sterling"> <div id="SF_ProjectFiles_728x90_A_wrapped" data-id="div-gpt-ad-1393435113147-0" class="draper visibility_rules v_970_billboard v_728_leaderboard "> </div><script> /*global googletag */ if (SF.initial_breakpoints_visible.leaderboard) { (function(){ var el = document.getElementById('SF_ProjectFiles_728x90_A_wrapped'); var newNode = document.createElement('div'); newNode.id = 'div-gpt-ad-1393435113147-0'; el.appendChild(newNode); }()); gptadRenderers['SF_ProjectFiles_728x90_A'] = function(){ // jshint ignore:line if (!SF.adblock) { $('#div-gpt-ad-1393435113147-0').parents('.draper').css("min-height", 90 + 13 + 12); // for height of .lbl-ad and padding } googletag.cmd.push(function() { googletag.display('div-gpt-ad-1393435113147-0'); }); }; gptadRenderers['SF_ProjectFiles_728x90_A'](); // jshint ignore:line } </script> <div id="SF_Mobile_320x50_A_wrapped" data-id="div-gpt-ad-1512154506943-0" class="draper "> </div><script> /*global googletag */ if (!SF.initial_breakpoints_visible.leaderboard) { (function(){ var el = document.getElementById('SF_Mobile_320x50_A_wrapped'); var newNode = document.createElement('div'); newNode.id = 'div-gpt-ad-1512154506943-0'; el.appendChild(newNode); }()); gptadRenderers['SF_Mobile_320x50_A'] = function(){ // jshint ignore:line if (!SF.adblock) { $('#div-gpt-ad-1512154506943-0').parents('.draper').css("min-height", 50 + 13 + 12); // for height of .lbl-ad and padding } googletag.cmd.push(function() { googletag.display('div-gpt-ad-1512154506943-0'); }); }; gptadRenderers['SF_Mobile_320x50_A'](); // jshint ignore:line } </script> </div> </div> <div class="l-two-column-page"> <div class="l-content-column l-has-sidebar"> <svg xmlns="http://www.w3.org/2000/svg" style="display:none"> <defs> <symbol id="folder-o" viewBox="0 0 200.2 149.8"><g><g><path style="fill: #FFF" class="st0" d="M189,145.3c-29.5-0.1-59.4-0.1-88.9-0.1s-59.4,0-88.9,0.1c-4.4,0-5.8-1-6.7-3.1V7.6c1-2.3,2.3-3.1,5-3.1c6.3,0,12.9,0.1,20.9,0.1c6,0,11.9,0,17.9,0h7c2.3,0,3.9,0.7,5.4,2.5c2.1,2.5,4.3,5.1,6.4,7.5c2.7,3.1,5.6,6.4,8.2,9.7C78.4,28,82,29.7,87,29.7c18.4-0.1,37.1-0.1,55.1-0.1c15.4,0,31.3,0,46.9-0.1c4.4,0,5.9,1,6.7,3.1v109.5C194.8,144.2,193.4,145.3,189,145.3L189,145.3z"/><g><path d="M11.9,10.7L11.9,10.7c6.1,0,12.6,0.1,20.4,0.1c5.8,0,11.6,0,17.4,0h6.8c1,0,1.3,0.2,1.9,0.8c2.1,2.5,4.3,5,6.3,7.4c2.7,3.2,5.4,6.1,7.9,9.3c3.8,4.7,8.7,7,14.8,7h0.1c17.8-0.1,36-0.1,53.6-0.1c15,0,30.5,0,45.7-0.1h0.1c1.1,0,1.7,0.1,2,0.2v103.6c-0.4,0.1-1.1,0.2-2.1,0.2c-28.7-0.1-57.9-0.1-86.6-0.1s-57.9,0-86.7,0.1c-1.1,0-1.8-0.1-2.1-0.2V10.7C11.5,10.7,11.7,10.7,11.9,10.7 M11.9,1.9c-4.8,0-7.7,2.2-9.3,6.6c0,44.2,0,88.3,0,132.6c1.8,5.3,5.6,6.7,10.9,6.7c0,0,0,0,0.1,0c28.8-0.1,57.8-0.1,86.6-0.1s57.8,0,86.6,0.1c0,0,0,0,0.1,0c5.3,0,9.1-1.4,10.9-6.7c0-36,0-72.1,0-108.2c-1.8-5.3-5.6-6.6-10.8-6.6h-0.1c-33.1,0.1-66.1,0-99.2,0.1h-0.1c-3.5,0-5.8-1.1-8-3.8C74.8,17,69.8,11.6,65,5.9c-2.2-2.7-5.1-4-8.6-4l0,0c-8.1,0-16.2,0-24.3,0C25.5,2,18.7,1.9,11.9,1.9C12,1.9,12,1.9,11.9,1.9L11.9,1.9z"/><path d="M186.9,149.8L186.9,149.8c-28.9-0.1-58.3-0.1-86.7-0.1s-57.8,0-86.6,0.1h-0.1c-4.3,0-10.4-0.8-12.8-8.1l-0.1-0.3V8.2l0.1-0.3C2.6,2.7,6.4,0,11.9,0H12c2.2,0,4.5,0,6.7,0c4.4,0,9,0,13.5,0h24.3c4.1,0,7.5,1.6,10.1,4.7c2.7,3.2,5.5,6.3,8.2,9.4c2.1,2.4,4.2,4.8,6.3,7.2c1.8,2.3,3.6,3.1,6.5,3.1c16.7,0,33.5,0,49.7,0c16.3,0,33.1,0,49.6,0h0.1c4.3,0,10.3,0.8,12.7,8l0.1,0.3v108.9l-0.1,0.3C197.2,148.9,191.5,149.8,186.9,149.8z M100.2,145.8c28.4,0,57.8,0,86.6,0.1h0.1c5.1,0,7.6-1.4,9-5.1V33.2c-1.3-3.6-3.8-5-8.9-5c-16.7,0-33.5,0-49.7,0c-16.3,0-33.1,0-49.6,0h-0.1c-4.2,0-7-1.4-9.5-4.5c-2-2.3-4.1-4.7-6.2-7.1c-2.7-3.1-5.5-6.3-8.2-9.5c-1.9-2.3-4.1-3.3-7.1-3.3H32.2c-4.5,0.1-9.1,0-13.5,0c-2.2,0-4.5,0-6.7,0h-0.1c-3.7,0-6,1.6-7.3,5v131.9c1.3,3.7,3.9,5.1,9,5.1C42.4,145.8,71.8,145.8,100.2,145.8z M186.7,141c-28.7-0.1-58.1-0.1-86.6-0.1c-28.4,0-57.9,0-86.7,0.1c-1.1,0-2-0.1-2.6-0.3l-1.5-0.4V8.8h2.5c2.9,0,5.8,0,9,0c3.5,0,7.3,0.1,11.4,0.1h24.3c1.6,0,2.4,0.5,3.2,1.3l0.1,0.1c1,1.2,2,2.3,3,3.5c1.1,1.3,2.3,2.6,3.4,3.9c1,1.2,2,2.3,3,3.4c1.7,2,3.3,3.8,5,5.8c3.4,4.2,7.8,6.3,13.3,6.3h0.1c17.8-0.1,36-0.1,53.6-0.1c15,0,30.5,0,45.7-0.1h0.1c1,0,1.8,0.1,2.5,0.3l1.5,0.4v106.7l-1.5,0.4C188.6,140.9,187.8,141,186.7,141z M100.1,137c28.4,0,57.9,0,86.6,0.1c0.1,0,0.1,0,0.2,0V37c0,0-0.1,0-0.1,0c-15.3,0.1-30.8,0.1-45.8,0.1c-17.6,0-35.7,0-53.6,0.1h-0.1c-6.7,0-12.1-2.6-16.3-7.7c-1.6-1.9-3.2-3.8-4.9-5.7c-1-1.1-2-2.3-3-3.5c-1.1-1.3-2.2-2.6-3.3-3.9c-1-1.1-2-2.3-2.9-3.4c-0.1-0.1-0.1-0.1-0.1-0.1c0,0-0.1,0-0.3,0H32.2c-4.1,0-7.9,0-11.4-0.1c-2.6,0-5.1,0-7.6,0v124.5c0.1,0,0.1,0,0.2,0C42.2,137,71.7,137,100.1,137z"/></g></g></g></symbol> <symbol id="info-circle" viewBox="0 0 200.2 200"><circle class="st0" style="fill: #fff" cx="99.8" cy="100" r="89.8"/><g><path style="fill:#000;" class="foo-bar" d="M109,0.6c24.2,2.2,45.1,11.7,62,28.9c22.5,22.9,32.1,50.6,28.4,82.5c-3.1,26.9-15.5,49.4-37,65.8c-32.9,25.1-69,29.1-106.3,11.3c-30-14.3-47.8-39-54.2-71.7c-0.7-3.3-1-6.7-1.5-10.1c-0.5-4.7-0.5-9.6,0-14.8C0.7,90.3,1,88.1,1.3,86c3.4-23,13.5-42.6,30.4-58.5C46,13.8,63,5.3,82.5,1.8C86,1.2,93,0.1,98.6,0.1C104.6,0.1,109,0.6,109,0.6z M183,99.9c-0.2-46.1-37.4-82.9-84-82.4C53.8,18,17.1,55.1,17.7,101c0.6,45.2,37.7,81.9,83.7,81.3C146.6,181.6,182.7,145,183,99.9z"/><path style="fill:#000;" d="M107,75c9.2,0,13.8,5.6,11.4,15.1c-1.7,6.9-4.4,13.6-6.8,20.4c-2.9,8.1-6,16.2-9,24.3c-0.6,1.6-1,3.3-1.2,4.9c-0.1,0.9,0.3,2.2,0.9,2.6c0.6,0.4,2.1,0.4,2.7-0.1c2.5-1.8,4.8-3.8,7-6c2.3-2.3,4.3-4.8,6.6-7.1c0.5-0.5,1.7-1.2,2.4-0.9c0.1,0.1,0.2,0.2,0.3,0.3c0.6,0.7,0.9,1.7,1,2.6c0.1,0.8-0.5,1.8-1,2.5c-7.8,11-17.8,19.3-31,22.9c-3,0.8-6.3,0.7-9.4,0.3c-4.1-0.5-7.4-4.3-7.2-8.4c0.2-4.5,1.1-8.6,2.6-12.8c4.5-12.6,9.4-25.1,14.2-37.6c0.9-2.3,2-4.5,2.6-6.9c0.3-1.2,0.2-3.1-0.5-3.9c-0.5-0.6-2.8-0.3-3.7,0.3c-2.3,1.6-4.3,3.5-6.3,5.4c-2.3,2.4-4.4,5-6.6,7.4c-0.9,1-2.1,2.1-3.6,0.9c-1.5-1.1-1.2-2.6-0.3-3.9c8-11.1,17.5-20.2,31.9-22.3c0.3,0,0.6-0.1,0.9-0.1C105.6,75,106.3,75,107,75z"/><path style="fill:#000;" d="M128.9,54.8c0,9.9-10.3,16.8-19.5,13.1c-5.4-2.2-8.1-8.5-6.3-14.8c2.1-7.3,9.7-11.7,17.1-10C125.6,44.4,128.9,48.8,128.9,54.8z"/></g></symbol> <symbol id="info-circle-active" viewBox="0 0 200.2 200"><g><path d="M109,0.6c24.2,2.2,45.1,11.7,62,28.9c22.5,22.9,32.1,50.6,28.4,82.5c-3.1,26.9-15.5,49.4-37,65.8c-32.9,25.1-69,29.1-106.3,11.3c-30-14.3-47.8-39-54.2-71.7c-0.7-3.3-1-6.7-1.5-10.1c-0.5-4.7-0.5-9.6,0-14.8C0.7,90.3,1,88.1,1.3,86c3.4-23,13.5-42.6,30.4-58.5C46,13.8,63,5.3,82.5,1.8C86,1.2,93,0.1,98.6,0.1C104.6,0.1,109,0.6,109,0.6z"/><path class="st0" d="M107,75c9.2,0,13.8,5.6,11.4,15.1c-1.7,6.9-4.4,13.6-6.8,20.4c-2.9,8.1-6,16.2-9,24.3c-0.6,1.6-1,3.3-1.2,4.9c-0.1,0.9,0.3,2.2,0.9,2.6c0.6,0.4,2.1,0.4,2.7-0.1c2.5-1.8,4.8-3.8,7-6c2.3-2.3,4.3-4.8,6.6-7.1c0.5-0.5,1.7-1.2,2.4-0.9c0.1,0.1,0.2,0.2,0.3,0.3c0.6,0.7,0.9,1.7,1,2.6c0.1,0.8-0.5,1.8-1,2.5c-7.8,11-17.8,19.3-31,22.9c-3,0.8-6.3,0.7-9.4,0.3c-4.1-0.5-7.4-4.3-7.2-8.4c0.2-4.5,1.1-8.6,2.6-12.8c4.5-12.6,9.4-25.1,14.2-37.6c0.9-2.3,2-4.5,2.6-6.9c0.3-1.2,0.2-3.1-0.5-3.9c-0.5-0.6-2.8-0.3-3.7,0.3c-2.3,1.6-4.3,3.5-6.3,5.4c-2.3,2.4-4.4,5-6.6,7.4c-0.9,1-2.1,2.1-3.6,0.9c-1.5-1.1-1.2-2.6-0.3-3.9c8-11.1,17.5-20.2,31.9-22.3c0.3,0,0.6-0.1,0.9-0.1C105.6,75,106.3,75,107,75z"/><path class="st0" d="M128.9,54.8c0,9.9-10.3,16.8-19.5,13.1c-5.4-2.2-8.1-8.5-6.3-14.8c2.1-7.3,9.7-11.7,17.1-10C125.6,44.4,128.9,48.8,128.9,54.8z"/></g></symbol> <symbol id="trash" viewBox="0 0 157 200"><polygon class="st0" style="fill:#FFFFFF;stroke:#000000;stroke-miterlimit:10;" points="26.2,54.2 130.7,54.2 120.7,188.8 36.8,188.8 "/><g><g><path d="M24.4,200c-0.5,0-0.9-0.4-1-0.9L14.7,60.3c0-0.5-0.5-0.9-1-0.9H6.6c-0.5,0-6.6-0.1-6.6-8.9v-7.9c0-0.5,0.4-0.9,0.9-0.9h155.2c0.5,0,0.9,0.4,0.9,0.9v7.9c0,9.2-8.3,8.7-8.8,8.7h-4.9c-0.5,0-0.9,0.4-1,0.9l-8.7,139c0,0.5-0.5,0.9-1,0.9H24.4z M83.1,181.6c0.5,0,0.9-0.4,0.9-0.9l2.5-119.7c0-0.5-0.4-0.9-0.9-0.9H71.3c-0.5,0-0.9,0.4-0.9,0.9l2.5,119.7c0,0.5,0.4,0.9,0.9,0.9H83.1z M40.6,180.6c0,0.5,0.5,0.9,1,0.9h9.3c0.5,0,0.9-0.4,0.9-0.9L49.2,60.9c0-0.5-0.4-0.9-0.9-0.9h-5.6c-10.8,0-8.8,18.1-8.8,15.5L40.6,180.6z M115.5,181.6c0.5,0,0.9-0.4,1-0.9l6.5-108c0-13.4-8.4-12.7-8.9-12.7h-5.3c-0.5,0-0.9,0.4-0.9,0.9l-2.5,119.7c0,0.5,0.4,0.9,0.9,0.9H115.5z"/></g><g><path d="M91.6,0c0.5,0,0.9,0.4,0.9,0.9v11.7c0,0.5,0.4,0.9,0.9,0.9h41.2c0.5,0,8.6,0.5,8.6,7.8v9.2c0,0.5-0.4,0.9-0.9,0.9H14.8c-0.5,0-0.9-0.4-0.9-0.9v-9.2c0-8.2,9.3-7.8,9.8-7.8H63c0.5,0,0.9-0.4,0.9-0.9l0.5-11.7c0-0.5,0.4-0.9,0.9-0.9L91.6,0z"/></g></g></symbol> <symbol id="symlink" viewBox="0 0 12 16"> <g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd"> <g fill="#000000"> <path d="M8.5,1 L1,1 C0.45,1 0,1.45 0,2 L0,14 C0,14.55 0.45,15 1,15 L11,15 C11.55,15 12,14.55 12,14 L12,4.5 L8.5,1 L8.5,1 Z M11,14 L1,14 L1,2 L8,2 L11,5 L11,14 L11,14 Z M6,4.5 L10,7.5 L6,10.5 L6,8.5 C5.02,8.48 4.16,8.72 3.45,9.2 C2.74,9.68 2.26,10.45 2,11.5 C2.02,9.86 2.39,8.62 3.13,7.77 C3.86,6.93 4.82,6.5 6.01,6.5 L6.01,4.5 L6,4.5 Z" ></path> </g> </g></symbol> <symbol id="ban" viewBox="0 0 1792 1792"><path d="M1440 893q0-161-87-295l-754 753q137 89 297 89 111 0 211.5-43.5t173.5-116.5 116-174.5 43-212.5zm-999 299l755-754q-135-91-300-91-148 0-273 73t-198 199-73 274q0 162 89 299zm1223-299q0 157-61 300t-163.5 246-245 164-298.5 61-298.5-61-245-164-163.5-246-61-300 61-299.5 163.5-245.5 245-164 298.5-61 298.5 61 245 164 163.5 245.5 61 299.5z"/></symbol> <symbol id="sort" viewBox="0 0 1792 1792"><path d="M1408 1088q0 26-19 45l-448 448q-19 19-45 19t-45-19l-448-448q-19-19-19-45t19-45 45-19h896q26 0 45 19t19 45zm0-384q0 26-19 45t-45 19h-896q-26 0-45-19t-19-45 19-45l448-448q19-19 45-19t45 19l448 448q19 19 19 45z"/></symbol> <symbol id="sort_up" viewBox="0 0 1792 1792"><path d="M1408 704q0 26-19 45t-45 19h-896q-26 0-45-19t-19-45 19-45l448-448q19-19 45-19t45 19l448 448q19 19 19 45"/></symbol> <symbol id="sort_down" viewBox="0 0 1792 1792"><path d="M1408 1088q0 26-19 45l-448 448q-19 19-45 19t-45-19l-448-448q-19-19-19-45t19-45 45-19h896q26 0 45 19t19 45z"/></symbol> </defs> </svg> <div class="project-body"> <div class="project-body"> <section class="project-masthead"> <div class="backdrop" style="box-sizing: content-box; padding-bottom: 49px"></div> <div class="content"> <nav id="breadcrumbs" class="breadcrumbs rtl"> <ul itemscope itemtype="http://schema.org/BreadcrumbList"> <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"> <a itemprop="item" href="/"><span itemprop="name">Home</span></a> <meta itemprop="position" content="1" /> </li> <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"> <a itemprop="item" href="/directory/"><span itemprop="name">Open Source Software</span></a> <meta itemprop="position" content="2" /> </li> <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"> <a itemprop="item" href="/directory/games/"><span itemprop="name">Games</span></a> <meta itemprop="position" content="3" /> </li><li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"> <a itemprop="item" href="/directory/turn-based-strategy/"><span itemprop="name">Turn Based Strategy</span></a> <meta itemprop="position" content="4" /> </li><li class="project" itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"><a itemprop="item" href="/projects/wesnoth/"><span itemprop="name">Battle for Wesnoth</span></a><meta itemprop="position" content="5" /> </li> <li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem"> <span itemprop="name">Files</span> <meta itemprop="position" content="6" /> </li> </ul> </nav> <div class="overview"> <div class="project-icon " > <img itemprop="image" alt="Battle for Wesnoth" title="Battle for Wesnoth" src="//a.fsdn.com/allura/p/wesnoth/icon?1580491684?&amp;w=90" srcset="//a.fsdn.com/allura/p/wesnoth/icon?1580491684?&amp;w=135 1.5x , //a.fsdn.com/allura/p/wesnoth/icon?1580491684?&amp;w=180 2x"/></div> <div class="title "> <meta itemprop="name" content="Battle for Wesnoth"/> <h1 >Battle for Wesnoth Files </h1> <h2 class="as-h3 summary"> A strategy game with a high fantasy theme </h2> <div class="as-h3 brought-by"> Brought to you by: <a href="/u/davewx7/profile/">davewx7</a>, <a href="/u/ivanovic/profile/">ivanovic</a>, <a href="/u/pentarctagon/profile/">pentarctagon</a>, <a href="/u/shikadiqueen/profile/">shikadiqueen</a>, <a href="/u/vultraz/profile/">vultraz</a> </div> </div> </div> </div> </section> <div id="top_nav"><div id="top_nav_admin"> <ul class="dropdown"> <li > <a href="/projects/wesnoth/" > <span>Summary</span></a> </li> <li class="selected"> <a href="/projects/wesnoth/files/" > <span>Files</span></a> </li> <li > <a href="/projects/wesnoth/reviews/" > <span>Reviews</span></a> </li> <li > <a href="/projects/wesnoth/support" > <span>Support</span></a> </li> <li > <a href="https://github.com/wesnoth/" data-external=true rel=nofollow> <span>GitHub</span></a> </li> </ul> </div></div> <article class="main-content full-bleed"> <section class=""> <div class=""> <noscript> <p>The interactive file manager requires Javascript. Please enable it or use <a href="https://sourceforge.net/p/forge/documentation/Release%20Files%20for%20Download#scp">sftp or scp</a>. <br/>You may still <em>browse</em> the files here.</p> </noscript> <div id="files" class="row"> <div class="download-bar column small-12"> <div class="files-messages"> <ul class="warning"> </ul> </div> </div> <div class="files-toolbar btn-bar column small-12"> <div class="btn-set"> <a class="button green big-text download with-sub-label extra-wide" href="/projects/wesnoth/files/latest/download" title="/wesnoth-1.18/wesnoth-1.18.3/wesnoth-1.18.3-win64.exe: released on 2024-10-28 18:37:57 UTC"> <img src="//a.fsdn.com/con/images/sandiego/sf-icon-black.svg" alt="" class="sf-download-icon" /> <span class="label">Download Latest Version</span> <span class="sub-label">wesnoth-1.18.3-win64.exe (434.4 MB)</span> </a> <a class="button blue" data-open="psp-newsletter-modal">Get Updates</a> <div class="psp_newsletter_subscribe reveal" data-reveal id="psp-newsletter-modal" data-v-offset="0" data-ajax-url="/projects/wesnoth/get_updates?source=Files"> </div> </div> <span class="actions"><a href="/projects/wesnoth/rss?path=/" class="button blue icon-only hollow rss" title="RSS feed for files" rel="nofollow"> <svg data-name="feed" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1408.1818 1408" > <path d="m 384,1216 q 0,80 -56,136 -56,56 -136,56 -80,0 -136,-56 -56,-56 -56,-136 0,-80 56,-136 56,-56 136,-56 80,0 136,56 56,56 56,136 z m 512,123 q 2,28 -17,48 -18,21 -47,21 l -135,0 q -25,0 -43,-16.5 Q 636,1375 634,1350 612,1121 449.5,958.5 287,796 58,774 33,772 16.5,754 0,736 0,711 L 0,576 q 0,-29 21,-47 17,-17 43,-17 l 5,0 q 160,13 306,80.5 146,67.5 259,181.5 114,113 181.5,259 67.5,146 80.5,306 z m 512,2 q 2,27 -18,47 -18,20 -46,20 l -143,0 q -26,0 -44.5,-17.5 Q 1138,1373 1137,1348 1125,1133 1036,939.5 947,746 804.5,603.5 662,461 468.5,372 275,283 60,270 35,269 17.5,250.5 0,232 0,207 L 0,64 Q 0,36 20,18 38,0 64,0 l 3,0 Q 329,13 568.5,120 808,227 994,414 q 187,186 294,425.5 107,239.5 120,501.5 z" /></svg></a></span> </div> <div class="files-breadcrumb column small-12"> Home </div> <table id="files_list"> <col class="name-column"> <col class="date-column"> <col class="size-column"> <col class="downloads-column"> <thead> <tr> <th title="The file or folder's name" id="files_name_h" class="first">Name</th> <th title="The file or folder's last modified date" id="files_date_h" class="opt">Modified</th> <th title="The file size" id="files_size_h" class="opt">Size</th> <th title="The weekly download count" id="files_downloads_h" class="opt" ><span class="hide-for-medium">Info</span><span class="show-for-medium">Downloads / Week</span></th> </tr> </thead> <tbody> <tr title="android" class="folder "> <th scope="row" headers="files_name_h"><a href="/projects/wesnoth/files/android/" title="Click to enter android"><svg class="svgico"><use xlink:href="#folder-o"></use></svg> <span class="name">android</span></a> </th> <td headers="files_date_h" class="opt"><abbr title="2025-02-17 03:59:37 UTC">&lt; 13 hours ago</abbr></td> <td headers="files_size_h" class="opt"></td> <td headers="files_downloads_h" class="opt"> <div class="status folder"><!-- populated by javascript --></div> <div class="stats show-for-medium"><a href="/projects/wesnoth/files/android/stats/timeline" class="folder" title="10 weekly downloads" rel="nofollow"> <span class="count">10</span><svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 18 14" class="fs-stats fs-sparklines folder"> <title>10 weekly downloads</title> <polygon class=graph points="0,14 0.0,14.0 3.0,14.0 6.0,14.0 9.0,14.0 12.0,13.1 15.0,13.3 18.0,13.8 18,14" /> </svg></a></div> </td> </tr> <tr title="wesnoth" class="folder "> <th scope="row" headers="files_name_h"><a href="/projects/wesnoth/files/wesnoth/" title="Click to enter wesnoth"><svg class="svgico"><use xlink:href="#folder-o"></use></svg> <span class="name">wesnoth</span></a> </th> <td headers="files_date_h" class="opt"><abbr title="2025-01-19 18:13:49 UTC">2025-01-19</abbr></td> <td headers="files_size_h" class="opt"></td> <td headers="files_downloads_h" class="opt"> <div class="status folder"><!-- populated by javascript --></div> <div class="stats show-for-medium"><a href="/projects/wesnoth/files/wesnoth/stats/timeline" class="folder" title="265 weekly downloads" rel="nofollow"> <span class="count">265</span><svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 18 14" class="fs-stats fs-sparklines folder"> <title>265 weekly downloads</title> <polygon class=graph points="0,14 0.0,3.3 3.0,6.8 6.0,3.3 9.0,8.8 12.0,5.3 15.0,10.3 18.0,11.2 18,14" /> </svg></a></div> </td> </tr> <tr title="wesnoth-1.18" class="folder "> <th scope="row" headers="files_name_h"><a href="/projects/wesnoth/files/wesnoth-1.18/" title="Click to enter wesnoth-1.18"><svg class="svgico"><use xlink:href="#folder-o"></use></svg> <span class="name">wesnoth-1.18</span></a> </th> <td headers="files_date_h" class="opt"><abbr title="2024-10-28 17:56:56 UTC">2024-10-28</abbr></td> <td headers="files_size_h" class="opt"></td> <td headers="files_downloads_h" class="opt"> <div class="status folder"><!-- populated by javascript --></div> <div class="stats show-for-medium"><a href="/projects/wesnoth/files/wesnoth-1.18/stats/timeline" class="folder" title="434 weekly downloads" rel="nofollow"> <span class="count">434</span><svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 18 14" class="fs-stats fs-sparklines folder"> <title>434 weekly downloads</title> <polygon class=graph points="0,14 0.0,0.9 3.0,6.4 6.0,2.4 9.0,4.2 12.0,1.7 15.0,0.0 18.0,2.4 18,14" /> </svg></a></div> </td> </tr> <tr title="wesnoth-1.16" class="folder "> <th scope="row" headers="files_name_h"><a href="/projects/wesnoth/files/wesnoth-1.16/" title="Click to enter wesnoth-1.16"><svg class="svgico"><use xlink:href="#folder-o"></use></svg> <span class="name">wesnoth-1.16</span></a> </th> <td headers="files_date_h" class="opt"><abbr title="2024-03-18 01:54:29 UTC">2024-03-18</abbr></td> <td headers="files_size_h" class="opt"></td> <td headers="files_downloads_h" class="opt"> <div class="status folder"><!-- populated by javascript --></div> <div class="stats show-for-medium"><a href="/projects/wesnoth/files/wesnoth-1.16/stats/timeline" class="folder" title="73 weekly downloads" rel="nofollow"> <span class="count">73</span><svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 18 14" class="fs-stats fs-sparklines folder"> <title>73 weekly downloads</title> <polygon class=graph points="0,14 0.0,13.1 3.0,13.3 6.0,12.3 9.0,9.9 12.0,11.2 15.0,12.2 18.0,12.5 18,14" /> </svg></a></div> </td> </tr> <tr title="wesnoth-1.14" class="folder "> <th scope="row" headers="files_name_h"><a href="/projects/wesnoth/files/wesnoth-1.14/" title="Click to enter wesnoth-1.14"><svg class="svgico"><use xlink:href="#folder-o"></use></svg> <span class="name">wesnoth-1.14</span></a> </th> <td headers="files_date_h" class="opt"><abbr title="2021-06-20 20:40:27 UTC">2021-06-20</abbr></td> <td headers="files_size_h" class="opt"></td> <td headers="files_downloads_h" class="opt"> <div class="status folder"><!-- populated by javascript --></div> <div class="stats show-for-medium"><a href="/projects/wesnoth/files/wesnoth-1.14/stats/timeline" class="folder" title="103 weekly downloads" rel="nofollow"> <span class="count">103</span><svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 18 14" class="fs-stats fs-sparklines folder"> <title>103 weekly downloads</title> <polygon class=graph points="0,14 0.0,12.0 3.0,10.9 6.0,10.9 9.0,11.8 12.0,11.2 15.0,12.5 18.0,9.8 18,14" /> </svg></a></div> </td> </tr> <tr title="wesnoth-umcplugin" class="folder "> <th scope="row" headers="files_name_h"><a href="/projects/wesnoth/files/wesnoth-umcplugin/" title="Click to enter wesnoth-umcplugin"><svg class="svgico"><use xlink:href="#folder-o"></use></svg> <span class="name">wesnoth-umcplugin</span></a> </th> <td headers="files_date_h" class="opt"><abbr title="2020-07-07 05:17:15 UTC">2020-07-07</abbr></td> <td headers="files_size_h" class="opt"></td> <td headers="files_downloads_h" class="opt"> <div class="status folder"><!-- populated by javascript --></div> <div class="stats show-for-medium"><a href="/projects/wesnoth/files/wesnoth-umcplugin/stats/timeline" class="folder" title="5 weekly downloads" rel="nofollow"> <span class="count">5</span><svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 18 14" class="fs-stats fs-sparklines folder"> <title>5 weekly downloads</title> <polygon class=graph points="0,14 0.0,14.0 3.0,13.4 6.0,13.8 9.0,13.8 12.0,14.0 15.0,14.0 18.0,14.0 18,14" /> </svg></a></div> </td> </tr> <tr title="unofficial" class="folder "> <th scope="row" headers="files_name_h"><a href="/projects/wesnoth/files/unofficial/" title="Click to enter unofficial"><svg class="svgico"><use xlink:href="#folder-o"></use></svg> <span class="name">unofficial</span></a> </th> <td headers="files_date_h" class="opt"><abbr title="2019-01-29 19:30:27 UTC">2019-01-29</abbr></td> <td headers="files_size_h" class="opt"></td> <td headers="files_downloads_h" class="opt"> <div class="status folder"><!-- populated by javascript --></div> <div class="stats show-for-medium"><a href="/projects/wesnoth/files/unofficial/stats/timeline" class="folder" title="9 weekly downloads" rel="nofollow"> <span class="count">9</span><svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 18 14" class="fs-stats fs-sparklines folder"> <title>9 weekly downloads</title> <polygon class=graph points="0,14 0.0,12.9 3.0,13.4 6.0,14.0 9.0,14.0 12.0,14.0 15.0,14.0 18.0,14.0 18,14" /> </svg></a></div> </td> </tr> <tr title="SDK" class="folder "> <th scope="row" headers="files_name_h"><a href="/projects/wesnoth/files/SDK/" title="Click to enter SDK"><svg class="svgico"><use xlink:href="#folder-o"></use></svg> <span class="name">SDK</span></a> </th> <td headers="files_date_h" class="opt"><abbr title="2018-05-31 18:58:51 UTC">2018-05-31</abbr></td> <td headers="files_size_h" class="opt"></td> <td headers="files_downloads_h" class="opt"> <div class="status folder"><!-- populated by javascript --></div> <div class="stats show-for-medium"><a class="no-recent-downloads folder" href="/projects/wesnoth/files/SDK/stats/timeline" title="2,190 downloads (all-time), none recently." rel="nofollow">0</a></div> </td> </tr> <tr title="wesnoth-1.12" class="folder "> <th scope="row" headers="files_name_h"><a href="/projects/wesnoth/files/wesnoth-1.12/" title="Click to enter wesnoth-1.12"><svg class="svgico"><use xlink:href="#folder-o"></use></svg> <span class="name">wesnoth-1.12</span></a> </th> <td headers="files_date_h" class="opt"><abbr title="2016-05-18 01:17:12 UTC">2016-05-18</abbr></td> <td headers="files_size_h" class="opt"></td> <td headers="files_downloads_h" class="opt"> <div class="status folder"><!-- populated by javascript --></div> <div class="stats show-for-medium"><a href="/projects/wesnoth/files/wesnoth-1.12/stats/timeline" class="folder" title="33 weekly downloads" rel="nofollow"> <span class="count">33</span><svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 18 14" class="fs-stats fs-sparklines folder"> <title>33 weekly downloads</title> <polygon class=graph points="0,14 0.0,13.1 3.0,12.9 6.0,12.3 9.0,13.1 12.0,12.9 15.0,13.8 18.0,13.8 18,14" /> </svg></a></div> </td> </tr> <tr title="wesnoth-1.10" class="folder "> <th scope="row" headers="files_name_h"><a href="/projects/wesnoth/files/wesnoth-1.10/" title="Click to enter wesnoth-1.10"><svg class="svgico"><use xlink:href="#folder-o"></use></svg> <span class="name">wesnoth-1.10</span></a> </th> <td headers="files_date_h" class="opt"><abbr title="2013-08-17 14:42:55 UTC">2013-08-17</abbr></td> <td headers="files_size_h" class="opt"></td> <td headers="files_downloads_h" class="opt"> <div class="status folder"><!-- populated by javascript --></div> <div class="stats show-for-medium"><a href="/projects/wesnoth/files/wesnoth-1.10/stats/timeline" class="folder" title="25 weekly downloads" rel="nofollow"> <span class="count">25</span><svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 18 14" class="fs-stats fs-sparklines folder"> <title>25 weekly downloads</title> <polygon class=graph points="0,14 0.0,13.8 3.0,11.4 6.0,13.1 9.0,14.0 12.0,13.3 15.0,13.8 18.0,14.0 18,14" /> </svg></a></div> </td> </tr> <tr title="wesnoth-1.8" class="folder "> <th scope="row" headers="files_name_h"><a href="/projects/wesnoth/files/wesnoth-1.8/" title="Click to enter wesnoth-1.8"><svg class="svgico"><use xlink:href="#folder-o"></use></svg> <span class="name">wesnoth-1.8</span></a> </th> <td headers="files_date_h" class="opt"><abbr title="2011-05-12 11:35:20 UTC">2011-05-12</abbr></td> <td headers="files_size_h" class="opt"></td> <td headers="files_downloads_h" class="opt"> <div class="status folder"><!-- populated by javascript --></div> <div class="stats show-for-medium"><a href="/projects/wesnoth/files/wesnoth-1.8/stats/timeline" class="folder" title="2 weekly downloads" rel="nofollow"> <span class="count">2</span><svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 18 14" class="fs-stats fs-sparklines folder"> <title>2 weekly downloads</title> <polygon class=graph points="0,14 0.0,14.0 3.0,14.0 6.0,13.8 9.0,14.0 12.0,14.0 15.0,13.8 18.0,14.0 18,14" /> </svg></a></div> </td> </tr> <tr title="experimental" class="folder "> <th scope="row" headers="files_name_h"><a href="/projects/wesnoth/files/experimental/" title="Click to enter experimental"><svg class="svgico"><use xlink:href="#folder-o"></use></svg> <span class="name">experimental</span></a> </th> <td headers="files_date_h" class="opt"><abbr title="2010-11-20 13:25:42 UTC">2010-11-20</abbr></td> <td headers="files_size_h" class="opt"></td> <td headers="files_downloads_h" class="opt"> <div class="status folder"><!-- populated by javascript --></div> <div class="stats show-for-medium"><a class="no-recent-downloads folder" href="/projects/wesnoth/files/experimental/stats/timeline" title="374 downloads (all-time), none recently." rel="nofollow">0</a></div> </td> </tr> <tr title="wesnoth-1.6" class="folder "> <th scope="row" headers="files_name_h"><a href="/projects/wesnoth/files/wesnoth-1.6/" title="Click to enter wesnoth-1.6"><svg class="svgico"><use xlink:href="#folder-o"></use></svg> <span class="name">wesnoth-1.6</span></a> </th> <td headers="files_date_h" class="opt"><abbr title="2009-09-06 20:01:50 UTC">2009-09-06</abbr></td> <td headers="files_size_h" class="opt"></td> <td headers="files_downloads_h" class="opt"> <div class="status folder"><!-- populated by javascript --></div> <div class="stats show-for-medium"><a href="/projects/wesnoth/files/wesnoth-1.6/stats/timeline" class="folder" title="3 weekly downloads" rel="nofollow"> <span class="count">3</span><svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 18 14" class="fs-stats fs-sparklines folder"> <title>3 weekly downloads</title> <polygon class=graph points="0,14 0.0,13.8 3.0,13.8 6.0,14.0 9.0,14.0 12.0,14.0 15.0,14.0 18.0,13.8 18,14" /> </svg></a></div> </td> </tr> <tr title="OldFiles" class="folder "> <th scope="row" headers="files_name_h"><a href="/projects/wesnoth/files/OldFiles/" title="Click to enter OldFiles"><svg class="svgico"><use xlink:href="#folder-o"></use></svg> <span class="name">OldFiles</span></a> </th> <td headers="files_date_h" class="opt"><abbr title="2009-05-17 19:02:13 UTC">2009-05-17</abbr></td> <td headers="files_size_h" class="opt"></td> <td headers="files_downloads_h" class="opt"> <div class="status folder"><!-- populated by javascript --></div> <div class="stats show-for-medium"><a class="no-recent-downloads folder" href="/projects/wesnoth/files/OldFiles/stats/timeline" title="23,739 downloads (all-time), none recently." rel="nofollow">0</a></div> </td> </tr> <tr title="wesnoth-1.4" class="folder "> <th scope="row" headers="files_name_h"><a href="/projects/wesnoth/files/wesnoth-1.4/" title="Click to enter wesnoth-1.4"><svg class="svgico"><use xlink:href="#folder-o"></use></svg> <span class="name">wesnoth-1.4</span></a> </th> <td headers="files_date_h" class="opt"><abbr title="2008-12-13 10:53:46 UTC">2008-12-13</abbr></td> <td headers="files_size_h" class="opt"></td> <td headers="files_downloads_h" class="opt"> <div class="status folder"><!-- populated by javascript --></div> <div class="stats show-for-medium"><a href="/projects/wesnoth/files/wesnoth-1.4/stats/timeline" class="folder" title="6 weekly downloads" rel="nofollow"> <span class="count">6</span><svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 18 14" class="fs-stats fs-sparklines folder"> <title>6 weekly downloads</title> <polygon class=graph points="0,14 0.0,14.0 3.0,13.4 6.0,13.4 9.0,14.0 12.0,14.0 15.0,14.0 18.0,14.0 18,14" /> </svg></a></div> </td> </tr> <tr title="wesnoth-1.2" class="folder "> <th scope="row" headers="files_name_h"><a href="/projects/wesnoth/files/wesnoth-1.2/" title="Click to enter wesnoth-1.2"><svg class="svgico"><use xlink:href="#folder-o"></use></svg> <span class="name">wesnoth-1.2</span></a> </th> <td headers="files_date_h" class="opt"><abbr title="2007-12-14 07:37:00 UTC">2007-12-14</abbr></td> <td headers="files_size_h" class="opt"></td> <td headers="files_downloads_h" class="opt"> <div class="status folder"><!-- populated by javascript --></div> <div class="stats show-for-medium"><a href="/projects/wesnoth/files/wesnoth-1.2/stats/timeline" class="folder" title="5 weekly downloads" rel="nofollow"> <span class="count">5</span><svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 18 14" class="fs-stats fs-sparklines folder"> <title>5 weekly downloads</title> <polygon class=graph points="0,14 0.0,14.0 3.0,13.4 6.0,13.8 9.0,13.8 12.0,14.0 15.0,14.0 18.0,14.0 18,14" /> </svg></a></div> </td> </tr> <tr title="gp2x" class="folder "> <th scope="row" headers="files_name_h"><a href="/projects/wesnoth/files/gp2x/" title="Click to enter gp2x"><svg class="svgico"><use xlink:href="#folder-o"></use></svg> <span class="name">gp2x</span></a> </th> <td headers="files_date_h" class="opt"><abbr title="2007-04-27 21:01:34 UTC">2007-04-27</abbr></td> <td headers="files_size_h" class="opt"></td> <td headers="files_downloads_h" class="opt"> <div class="status folder"><!-- populated by javascript --></div> <div class="stats show-for-medium"><a class="no-recent-downloads folder" href="/projects/wesnoth/files/gp2x/stats/timeline" title="3,633 downloads (all-time), none recently." rel="nofollow">0</a></div> </td> </tr> <tr title="wesnoth-1.0" class="folder "> <th scope="row" headers="files_name_h"><a href="/projects/wesnoth/files/wesnoth-1.0/" title="Click to enter wesnoth-1.0"><svg class="svgico"><use xlink:href="#folder-o"></use></svg> <span class="name">wesnoth-1.0</span></a> </th> <td headers="files_date_h" class="opt"><abbr title="2006-06-21 22:33:10 UTC">2006-06-21</abbr></td> <td headers="files_size_h" class="opt"></td> <td headers="files_downloads_h" class="opt"> <div class="status folder"><!-- populated by javascript --></div> <div class="stats show-for-medium"><a href="/projects/wesnoth/files/wesnoth-1.0/stats/timeline" class="folder" title="1 weekly downloads" rel="nofollow"> <span class="count">1</span><svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 18 14" class="fs-stats fs-sparklines folder"> <title>1 weekly downloads</title> <polygon class=graph points="0,14 0.0,13.8 3.0,14.0 6.0,14.0 9.0,14.0 12.0,14.0 15.0,14.0 18.0,14.0 18,14" /> </svg></a></div> </td> </tr> <tr title="trailer" class="folder "> <th scope="row" headers="files_name_h"><a href="/projects/wesnoth/files/trailer/" title="Click to enter trailer"><svg class="svgico"><use xlink:href="#folder-o"></use></svg> <span class="name">trailer</span></a> </th> <td headers="files_date_h" class="opt"><abbr title="2006-04-27 22:19:20 UTC">2006-04-27</abbr></td> <td headers="files_size_h" class="opt"></td> <td headers="files_downloads_h" class="opt"> <div class="status folder"><!-- populated by javascript --></div> <div class="stats show-for-medium"><a class="no-recent-downloads folder" href="/projects/wesnoth/files/trailer/stats/timeline" title="112,572 downloads (all-time), none recently." rel="nofollow">0</a></div> </td> </tr> </tbody> <tfoot> <tr> <td id="totals"><span class="label">Totals: </span>19 Items</td> <td headers="files_date_h" class="opt">&nbsp;</td> <td headers="files_size_h" class="opt"></td> <td headers="files_downloads_h" class="opt " ><a href="/projects/wesnoth/files/stats/timeline" rel="nofollow">974</a></td> </tr> </tfoot> </table> <div id="files-drawer" class="fs-widget fs-drawer consumer"> </div> </div> </div> </section> </article> </div> <script> if (!SF.wireOutboundZoneTrackingComplete) { $(SF.wireOutboundZoneTracking); $('body').append('<iframe src="https://c.sf-syn.com/conversion_outbound_tracker/sf" id="frame-zone-outbound" style="display: none;"></iframe>'); SF.wireOutboundZoneTrackingComplete = true; } </script> <div id="nels" class="small-12 columns nel-block"> <div class="as-header"> <div class="as-h2"> You Might Also Like</div> </div> <div id="SF_ProjectFiles_GEL_A_wrapped" data-id="div-gpt-ad-1715706242161-0" class="draper "> </div><script> /*global googletag */ if (true) { (function(){ var el = document.getElementById('SF_ProjectFiles_GEL_A_wrapped'); var newNode = document.createElement('div'); newNode.id = 'div-gpt-ad-1715706242161-0'; el.appendChild(newNode); }()); gptadRenderers['SF_ProjectFiles_GEL_A'] = function(){ // jshint ignore:line if (!SF.adblock) { $('#div-gpt-ad-1715706242161-0').parents('.draper').css("min-height", 185 + 13 + 12); // for height of .lbl-ad and padding } googletag.cmd.push(function() { googletag.display('div-gpt-ad-1715706242161-0'); }); }; gptadRenderers['SF_ProjectFiles_GEL_A'](); // jshint ignore:line } </script> <div class="nel standard trunc-eligible nel-hidden" data-id="18443" data-cid="14331"> <span id="f92561c7-ac6e-4ab6-a8e2-79696797df54"></span> <script> /* globals bizx */ bizx.cmp.trackingPixel('publisher', ['storage', 'measurement'], '/directory/tp3/?b=74417&amp;c=14331&amp;z=71809&amp;cb=bbfdfb6aa3', "Sage Intacct Cloud Accounting and Financial Management Software", 'f92561c7-ac6e-4ab6-a8e2-79696797df54'); </script> <div class="application-image thumbnail" data-dest="https://sourceforge.net/software/link?oaparams=2__bannerid=74417__zoneid=71809__cb=bbfdfb6aa3__oadest=https%3A%2F%2Fwww.sage.com%2Fen-us%2Fsage-business-cloud%2Fintacct%2F%3Futm_source%3Daffiliate%26utm_medium%3Dleadgensage%26utm_campaign%3DSourceforge-Review-Site%26utm_term%3DSage-Intacct%26utm_content%3DSage-Intacct-Review-Site" data-newtab="true" data-target="_blank" rel="nofollow"> <img class="main-image" src="//a.fsdn.com/con/app/nel_img/18443" alt="Sage Intacct Cloud Accounting and Financial Management Software Icon"> </div> <div class="wrapper"> <div class="heading"> <div class="heading-main"> <span data-dest="https://sourceforge.net/software/link?oaparams=2__bannerid=74417__zoneid=71809__cb=bbfdfb6aa3__oadest=https%3A%2F%2Fwww.sage.com%2Fen-us%2Fsage-business-cloud%2Fintacct%2F%3Futm_source%3Daffiliate%26utm_medium%3Dleadgensage%26utm_campaign%3DSourceforge-Review-Site%26utm_term%3DSage-Intacct%26utm_content%3DSage-Intacct-Review-Site" data-newtab="true" data-target="_blank" rel="nofollow" title="Find out more about Sage Intacct Cloud Accounting and Financial Management Software">Sage Intacct Cloud Accounting and Financial Management Software</span> <p class="teaser">Cloud accounting, payroll, and HR that grows with you</p> </div> </div> <div class="tiles"> <div class="tile"> <div class="description "> <div class="description-inner"> Drive your organization forward with the right solution at the right price. AI-powered continuous accounting and ERP to support your growth now and into the future. </div> </div> </div> </div> </div> <div class="download standard"> <div class="button green wide sfdl sfdl-lite" data-target="_blank" data-newtab="true" data-dest="https://sourceforge.net/software/link?oaparams=2__bannerid=74417__zoneid=71809__cb=bbfdfb6aa3__oadest=https%3A%2F%2Fwww.sage.com%2Fen-us%2Fsage-business-cloud%2Fintacct%2F%3Futm_source%3Daffiliate%26utm_medium%3Dleadgensage%26utm_campaign%3DSourceforge-Review-Site%26utm_term%3DSage-Intacct%26utm_content%3DSage-Intacct-Review-Site" data-zone="71789" data-slug="Sage-Intacct" >Learn More</div> </div> </div> <div class="nel standard trunc-eligible " data-id="18483" data-cid="14377"> <span id="02e19ccc-24c0-4773-aaf6-33cbc22139e7"></span> <script> /* globals bizx */ bizx.cmp.trackingPixel('publisher', ['storage', 'measurement'], '/directory/tp3/?b=74661&amp;c=14377&amp;z=72053&amp;cb=f222de568a', "NeoLoad is a very comprehensive tool if you are looking for a performance test tool for web applications and other applications", '02e19ccc-24c0-4773-aaf6-33cbc22139e7'); </script> <div class="application-image thumbnail" data-dest="https://sourceforge.net/software/link?oaparams=2__bannerid=74661__zoneid=72053__cb=f222de568a__oadest=https%3A%2F%2Fwww.tricentis.com%2Fproducts%2Fperformance-testing-neoload%3Futm_source%3Dsourceforge%26utm_medium%3Dpaidsocial%26utm_campaign%3Dmp_na_global_en_2024-08%26utm_content%3Dsourceforgeneoloadtricentis" data-newtab="true" data-target="_blank" rel="nofollow"> <img class="main-image" src="//a.fsdn.com/con/app/nel_img/18483" alt="NeoLoad is a very comprehensive tool if you are looking for a performance test tool for web applications and other applications Icon"> </div> <div class="wrapper"> <div class="heading"> <div class="heading-main"> <span data-dest="https://sourceforge.net/software/link?oaparams=2__bannerid=74661__zoneid=72053__cb=f222de568a__oadest=https%3A%2F%2Fwww.tricentis.com%2Fproducts%2Fperformance-testing-neoload%3Futm_source%3Dsourceforge%26utm_medium%3Dpaidsocial%26utm_campaign%3Dmp_na_global_en_2024-08%26utm_content%3Dsourceforgeneoloadtricentis" data-newtab="true" data-target="_blank" rel="nofollow" title="Find out more about NeoLoad is a very comprehensive tool if you are looking for a performance test tool for web applications and other applications">NeoLoad is a very comprehensive tool if you are looking for a performance test tool for web applications and other applications</span> <p class="teaser">Continuous performance testing</p> </div> </div> <div class="tiles"> <div class="tile"> <div class="description "> <div class="description-inner"> Your applications are all built differently, but they all need to perform. NeoLoad simplifies and scales performance testing for everything, from APIs and microservices, to end-to-end application testing through innovative protocol and browser-based capabilities. </div> </div> </div> </div> </div> <div class="download standard"> <div class="button green wide sfdl sfdl-lite" data-target="_blank" data-newtab="true" data-dest="https://sourceforge.net/software/link?oaparams=2__bannerid=74661__zoneid=72053__cb=f222de568a__oadest=https%3A%2F%2Fwww.tricentis.com%2Fproducts%2Fperformance-testing-neoload%3Futm_source%3Dsourceforge%26utm_medium%3Dpaidsocial%26utm_campaign%3Dmp_na_global_en_2024-08%26utm_content%3Dsourceforgeneoloadtricentis" data-zone="72033" data-slug="NeoLoad" >Learn More</div> </div> </div> </div> </div> </div> <div class="l-gutter"> </div> <div class="l-side-column"> <div id="files-sidebar" class="scroll-fixable" data-floor-compensate="145"> <div class="sterling"> <div id="SF_ProjectFiles_300x250_A_wrapped" data-id="div-gpt-ad-1392147725721-0" class="draper multisize visibility_rules v_300_large "> </div><script> /*global googletag */ if (SF.initial_breakpoints_visible.large) { (function(){ var el = document.getElementById('SF_ProjectFiles_300x250_A_wrapped'); var newNode = document.createElement('div'); newNode.id = 'div-gpt-ad-1392147725721-0'; el.appendChild(newNode); }()); gptadRenderers['SF_ProjectFiles_300x250_A'] = function(){ // jshint ignore:line if (!SF.adblock) { $('#div-gpt-ad-1392147725721-0').parents('.draper').css("min-height", 250 + 13 + 12); // for height of .lbl-ad and padding } googletag.cmd.push(function() { googletag.display('div-gpt-ad-1392147725721-0'); }); }; gptadRenderers['SF_ProjectFiles_300x250_A'](); // jshint ignore:line } </script> <div id="SF_Mobile_Multi_B_wrapped" data-id="div-gpt-ad-1512154653435-0" class="draper multisize "> </div><script> /*global googletag */ if (!SF.initial_breakpoints_visible.large) { (function(){ var el = document.getElementById('SF_Mobile_Multi_B_wrapped'); var newNode = document.createElement('div'); newNode.id = 'div-gpt-ad-1512154653435-0'; el.appendChild(newNode); }()); gptadRenderers['SF_Mobile_Multi_B'] = function(){ // jshint ignore:line googletag.cmd.push(function() { googletag.display('div-gpt-ad-1512154653435-0'); }); }; gptadRenderers['SF_Mobile_Multi_B'](); // jshint ignore:line } </script> </div> <aside class="m-sidebar-widget m-project-list"> <div class="as-header">Recommended Projects</div> <div class="body"> <ul > <li class="item"> <a href="/projects/freecol/" title="FreeCol"> <div class="project-icon " > <img alt="FreeCol" title="FreeCol" src="//a.fsdn.com/allura/p/freecol/icon?1663924217" loading="lazy"/></div> </a> <div class="pinfo-content recommended"> <a class="project-name" href="/projects/freecol/" title="Learn more about FreeCol ">FreeCol</a> <div class="summary"> Colonize the New World. </div> </div> </li> <li class="item"> <a href="/projects/warzone2100/" title="Warzone 2100"> <div class="project-icon " > <img alt="Warzone 2100" title="Warzone 2100" src="//a.fsdn.com/allura/p/warzone2100/icon?1717990571?&amp;w=48" srcset="//a.fsdn.com/allura/p/warzone2100/icon?1717990571?&amp;w=72 1.5x , //a.fsdn.com/allura/p/warzone2100/icon?1717990571?&amp;w=96 2x" loading="lazy"/></div> </a> <div class="pinfo-content recommended"> <a class="project-name" href="/projects/warzone2100/" title="Learn more about Warzone 2100 ">Warzone 2100</a> <div class="summary"> RTS game with the theme of Strategy by Design </div> </div> </li> <li class="item"> <a href="/projects/championify.mirror/" title="Championify"> <div class="project-icon " > <img alt="Championify" title="Championify" src="//a.fsdn.com/allura/mirror/championify/icon?1659701229?&amp;w=48" srcset="//a.fsdn.com/allura/mirror/championify/icon?1659701229?&amp;w=72 1.5x , //a.fsdn.com/allura/mirror/championify/icon?1659701229?&amp;w=96 2x" loading="lazy"/></div> </a> <div class="pinfo-content recommended"> <a class="project-name" href="/projects/championify.mirror/" title="Learn more about Championify ">Championify</a> <div class="summary"> Gets the critical information you need to succeed in League of Legends </div> </div> </li> <li class="item"> <a href="/projects/freeciv/" title="Freeciv"> <div class="project-icon " > <img alt="Freeciv" title="Freeciv" src="//a.fsdn.com/allura/p/freeciv/icon?1679261668" loading="lazy"/></div> </a> <div class="pinfo-content recommended"> <a class="project-name" href="/projects/freeciv/" title="Learn more about Freeciv ">Freeciv</a> <div class="summary"> Freeciv is a free turn-based multiplayer strategy game, in which each player becomes the leader of a civilization, fighting to obtain the ultimate goal: to become (or subvert) the greatest civilization. </div> </div> </li> </ul> </div> </aside> <div class="sterling"> <div id="SF_ProjectFiles_300x250_B_wrapped" data-id="div-gpt-ad-1392148208789-0" class="draper medrec visibility_rules v_300_large "> </div><script> /*global googletag */ if (SF.initial_breakpoints_visible.large) { (function(){ var el = document.getElementById('SF_ProjectFiles_300x250_B_wrapped'); var newNode = document.createElement('div'); newNode.id = 'div-gpt-ad-1392148208789-0'; el.appendChild(newNode); }()); gptadRenderers['SF_ProjectFiles_300x250_B'] = function(){ // jshint ignore:line if (!SF.adblock) { $('#div-gpt-ad-1392148208789-0').parents('.draper').css("min-height", 250 + 13 + 12); // for height of .lbl-ad and padding } googletag.cmd.push(function() { googletag.display('div-gpt-ad-1392148208789-0'); }); }; gptadRenderers['SF_ProjectFiles_300x250_B'](); // jshint ignore:line } </script> <div id="SF_Mobile_Multi_C_wrapped" data-id="div-gpt-ad-1512154755912-0" class="draper multisize "> </div><script> /*global googletag */ if (!SF.initial_breakpoints_visible.large) { (function(){ var el = document.getElementById('SF_Mobile_Multi_C_wrapped'); var newNode = document.createElement('div'); newNode.id = 'div-gpt-ad-1512154755912-0'; el.appendChild(newNode); }()); gptadRenderers['SF_Mobile_Multi_C'] = function(){ // jshint ignore:line googletag.cmd.push(function() { googletag.display('div-gpt-ad-1512154755912-0'); }); }; gptadRenderers['SF_Mobile_Multi_C'](); // jshint ignore:line } </script> </div> <div class="sterling" id="deals-widget"> </div> </div> <script> if (!SF.adblock && SF.initial_breakpoints_visible.large) { SF.Ads.scrollFixableEnabled = true; } </script> </div> </div> <footer class="sandiego"> <div class="as-row"> <div class="footer-wrapper"> <nav aria-label="Site Links" role="navigation"> <section> <div class="as-h2">SourceForge</div> <ul> <li><a href="/create/" title="Create a Project">Create a Project</a></li> <li><a href="/directory/" title="Open Source Software Directory">Open Source Software</a></li> <li><a href="/software/" title="Business Software Directory">Business Software</a></li> <li><a href="/top" title="Top Open Source Projects">Top Downloaded Projects</a></li> </ul> </section> </nav> <nav aria-label="Company Links" role="navigation"> <section> <div class="as-h2">Company</div> <ul> <li><a href="/about">About</a></li> <li><a href="/about/leadership" title="Open Source Software Directory">Team</a></li> <li class="h-card"> <address> <span class="p-name p-org">SourceForge Headquarters</span><br> <span class="p-street-address">225 Broadway Suite 1600</span><br> <span class="p-locality">San Diego, CA <span class="p-postal-code">92101</span></span><br> <span class="p-tel">+1 (858) 422-6466</span><br> </address> </li> <li id="social"> <span></span> <a href="https://twitter.com/sourceforge" class="twitter" rel="nofollow" target="_blank" title="SourceForge on X"> <svg class="vertical-icon-fix" data-name="twitter" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1684 408q-67 98-162 167 1 14 1 42 0 130-38 259.5t-115.5 248.5-184.5 210.5-258 146-323 54.5q-271 0-496-145 35 4 78 4 225 0 401-138-105-2-188-64.5t-114-159.5q33 5 61 5 43 0 85-11-112-23-185.5-111.5t-73.5-205.5v-4q68 38 146 41-66-44-105-115t-39-154q0-88 44-163 121 149 294.5 238.5t371.5 99.5q-8-38-8-74 0-134 94.5-228.5t228.5-94.5q140 0 236 102 109-21 205-78-37 115-142 178 93-10 186-50z"/></svg></a> <a href="https://fosstodon.org/@sourceforge" rel="me nofollow" target="_blank" title="SourceForge on Mastodon"> <svg class="vertical-icon-fix" data-name="mastodon" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.54 102.54 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5zm-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg></a> <a href="https://www.facebook.com/sourceforgenet/" class="facebook" rel="nofollow" target="_blank" title="SourceForge on Facebook"> <svg data-name="facebook" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1343 12v264h-157q-86 0-116 36t-30 108v189h293l-39 296h-254v759h-306v-759h-255v-296h255v-218q0-186 104-288.5t277-102.5q147 0 228 12z"/></svg></a> <a href="https://www.linkedin.com/company/sourceforge.net" class="linkedin" rel="nofollow" target="_blank" title="SourceForge on LinkedIn"> <svg data-name="linkedin" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M477 625v991h-330v-991h330zm21-306q1 73-50.5 122t-135.5 49h-2q-82 0-132-49t-50-122q0-74 51.5-122.5t134.5-48.5 133 48.5 51 122.5zm1166 729v568h-329v-530q0-105-40.5-164.5t-126.5-59.5q-63 0-105.5 34.5t-63.5 85.5q-11 30-11 81v553h-329q2-399 2-647t-1-296l-1-48h329v144h-2q20-32 41-56t56.5-52 87-43.5 114.5-15.5q171 0 275 113.5t104 332.5z"/></svg></a> <a href="/user/newsletters" rel=nofollow class="newsletter" title="Subscribe to our newsletter"> <svg class="vertical-icon-fix" data-name="mmSF_11mail" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px" viewBox="0 0 42 42" enable-background="new 0 0 42 42" xml:space="preserve"><path fill="#FFFFFF" d="M0,6v30h42V6H0z M24.2,21.2c-0.8,0.8-2.3,2-3.2,2c-0.9,0-2.4-1.2-3.2-2L5.8,9.7h30.3L24.2,21.2z M13.7,21l-9.9,9.4V11.6L13.7,21z M15.7,23L15.7,23c0.5,0.5,2.9,2.9,5.3,2.9c2.4,0,4.8-2.4,5.2-2.8l0.1-0.1l9.8,9.4H5.8L15.7,23z M28.3,21l9.9-9.5v18.9L28.3,21z"/></svg></a> <span></span> </li> </ul> </section> </nav> <nav aria-label="Resources Links" role="navigation"> <section> <div class="as-h2">Resources</div> <ul> <li><a href="/support" title="Support Section">Support</a></li> <li><a href="/p/forge/documentation/Docs%20Home/" title="Site Documentation">Site Documentation</a></li> <li><a href="https://fosstodon.org/@sourceforgestatus" title="Site Status" rel="me nofollow">Site Status</a></li> <li><a href="/reviews" title="Reviews" rel="me nofollow">SourceForge Reviews</a></li> </ul> </section> </nav> <section class="footer-logo"> <a href="/" title="Home" class="sf-logo"> <img src="//a.fsdn.com/con/images/sandiego/sf-logo-full.svg" alt="SourceForge logo" class="sf-logo-full"/> </a> </section> </div> </div> <section class="l-nav-bottom"> <nav class="row"> <div class="columns small-12 large-6 copyright-notice"> &copy; 2025 Slashdot Media. All Rights Reserved. </div> <div class="columns large-6 links links-right"> <a href="https://slashdotmedia.com/terms-of-use" target="_blank" title="Terms" rel="nofollow">Terms</a> <a href="https://slashdotmedia.com/privacy-statement/" target="_blank" title="Privacy" rel="nofollow">Privacy</a> <a href="https://slashdotmedia.com/opt-out-choices" target="_blank" title="Opt Out" rel="nofollow">Opt Out</a> <a href="https://slashdotmedia.com/contact/" target="_blank" title="Advertise" rel="nofollow">Advertise</a> </div> </nav> </section> </footer> </div> <script src="//a.fsdn.com/con/js/min/sf.sandiego-base.js?1739466433"></script> <script> /* global Dropzone */ Dropzone.options.blockthisForm = false; </script> <script src="//a.fsdn.com/con/js/min/sf.sandiego-foundation-base.js?1739466433"></script> <script src="//a.fsdn.com/con/js/min/sf.sandiego-files.js?1739466433"></script> <script> /* global Foundation */ $(document).foundation(); Foundation.Triggers.forceListenersNow(); </script> <script> bizx.cmp.ifConsent({purposes:'all', vendors:'google-ads'}, function () { $('body').removeClass('no-ads-consent'); }, function () { $('body').addClass('no-ads-consent'); }, null, function () { $('body').addClass('no-ads-consent'); }); </script> <noscript><p><img src="https://analytics.slashdotmedia.com/index.php?idsite=39" style="border:0;" alt="" /></p></noscript> <script> function geturl(url, params) { params = Object .keys(params) .map(function(key) { return key + "=" + encodeURIComponent(params[key]); }) .join("&"); return url + "?" + params; } function loadimg(params, dimension_prefix) { params = Object.assign({"idsite":1,"rec":1,"rand":17784,"dimension2":"pg_files","url":"https://sourceforge.net/projects/wesnoth/files/","action_name":"Battle for Wesnoth - Browse Files at SourceForge.net"}, params); for (var key in params) { if (params.hasOwnProperty(key) && key.indexOf('dimension') === 0 && params[key] !== undefined) { params[key] = (dimension_prefix||'') + params[key]; } } params.rand = Math.floor(Math.random() * 100000); bizx.cmp.ifConsent('publisher', ['measurement'], function() { var url = geturl("//sourceforge.net/software/visit", params); if (!('sendBeacon' in navigator) || !navigator.sendBeacon(url)) { var img = document.createElement('img'); img.src = url; img.style = "border:0;position:absolute;top:0;"; img.alt = ""; document.body.appendChild(img); } }); } var $typeaheads = $('.typeahead__container input[name=q]'); $typeaheads.on('typeahead-item-clicked', function(ev, $typeahead, q, item){ var groupIndex = ($typeahead.data('groups') || []).indexOf(item.group); if (groupIndex === 2 || groupIndex === 3) { loadimg({ 'e_c': 'Search | Typeahead | ' + item.group, 'e_a': "Typeahead Click | q=" + q, 'e_n': item.href, }, 'typeahead_on_'); } }); </script> <script type="text/javascript"> bizx.cmp.ifConsent({purposes: 'all', vendors: '6sense'}, async() => { (function(){var s = document.getElementsByTagName("script")[0]; var b = document.createElement("script"); b.type = "text/javascript";b.async = true;b.defer=true;b.id='6senseWebTag'; b.src = "https://j.6sc.co/j/58729049-be80-466a-9abf-b3911430bbd8.js"; s.parentNode.insertBefore(b, s);})(); }); </script> <!-- CCM Tag --> <script> (function () { bizx.cmp.ifConsent({ purposes: 'all', vendors: 'bombora'}, function () { /*global _ml:true, window */ _ml = window._ml || {}; _ml.eid = '771'; _ml.fp = 'b051c377-cdd5-4dfe-9a43-bc07ddd16415'; var s = document.getElementsByTagName('script')[0], cd = new Date(), mltag = document.createElement('script'); mltag.type = 'text/javascript'; mltag.async = true; mltag.defer = true; mltag.src = '//ml314.com/tag.aspx?' + cd.getDate() + cd.getMonth() + cd.getFullYear(); s.parentNode.insertBefore(mltag, s); }); })(); </script> <!-- End CCM Tag --> <!-- Hubspot tracking --> <div id="overlay-blockthis-wrapper" style="display: none;"> <div id="overlay-blockthis"> <div class="as-h2 title">Thanks for helping keep SourceForge clean.</div> <a href="#" id="btn-blockthis-close">X</a> <form class="dropzone small-12" action="/api/instrumentation/gpt" id="blockthisForm" method="POST"> <div class="row small-12"> <div class="column description small-12"> <input type="hidden" name="_visit_cookie" value="b051c377-cdd5-4dfe-9a43-bc07ddd16415"/> <input type='hidden' name='timestamp' value='1739810778'/> <input type='hidden' name='spinner' value='XOkjxh6OhaLHrIaJJjIkcuyRa_QM'/> <p class='lf1e577dc6b79cd593f79d4d154386897f0a30a21'><label for='XPSDCnsOpw4bDmFjCgSHCisKQw4vDnCnDqcKNL8OKwrnDng'>You seem to have CSS turned off. Please don't fill out this field.</label><input id='XPSDCnsOpw4bDmFjCgSHCisKQw4vDnCnDqcKNL8OKwrnDng' name='XPCDCnsOpw4bDmFh7QBMgGSx8KsKwwrQeIMOq' type= 'text'/></p> <p class='lf1e577dc6b79cd593f79d4d154386897f0a30a21'><label for='XPSDCnsOpw4bDmFjCgCHCisKQw4vDnCnDqcKNL8OKwrnDng'>You seem to have CSS turned off. Please don't fill out this field.</label><input id='XPSDCnsOpw4bDmFjCgCHCisKQw4vDnCnDqcKNL8OKwrnDng' name='XPCDCnsOpw4bDmFl7QBMgGSx8KsKwwrQeIMOq' type= 'text'/></p> Briefly describe the problem (required): <input name="XMSzClMO0w4DDkwHDgcKfSMONJ0YiLjl0w7oINQ" type="text" required> </div> </div> <div class="column small-12"> <div class="upload-text">Upload screenshot of ad (required):</div> <div id='upload-it'> <a href="#" id="upload-select-file">Select a file</a>, or drag & drop file here. </div> <div id="upload-it-placeholder"></div> <div class="dropzone-previews" style="display: none"></div> <div class="dz-message" style="display: none"></div> <div id="dropzone-preview-template" style="display: none"> <div class="dz-preview dz-file-preview"> <img data-dz-thumbnail src="data:image/gif;base64,R0lGODlhAQABAAD/ACwAAAAAAQABAAACADs=" alt=""/> <div class="dz-success-mark"><span>✔</span></div> <div class="dz-error-mark"><span>✘</span></div> <div class="dz-error-message"><span data-dz-errormessage></span></div> </div> </div> </div> <div class="column small-12"> <u>Screenshot instructions:</u> <a data-external target=_blank href="http://windows.microsoft.com/en-us/windows/take-screen-capture-print-screen#take-screen-capture-print-screen=windows-8">Windows</a> </div> <div class="row small-12"> <div class="column large-5 small-6"> <p> <u>Click URL instructions:</u><br> Right-click on the ad, choose "Copy Link", then paste here &rarr;<br> (This may not be possible with some types of ads) </p> <a class="more-info" href="https://sourceforge.net/p/forge/documentation/Report%20a%20problem%20with%20Ad%20content/" target="_blank">More information about our ad policies</a> </div> <div class="column large-7 small-6"> <p>Ad destination/click URL: <input name="XMyvCncOuw4DDijfDhMKZTWjDosK:C0wbw5Fsw7bCkw" type="url" required> </p> <textarea id="gpt-info" name="XPizCkMOzw4Jrw4PCg2lxAsK8wrrCgsKMw7_DucKzTlQ"></textarea> <input class="button" type="submit" id="btn-blockthis-submit" value="Submit Report"> </div> </div> </form> </div> </div> <script> bizx.cmp.ifConsent('', ['all'], function () { bizx.cmp.embedScript('//ads.pro-market.net/ads/scripts/site-143572.js'); }); </script><script> bizx.cmp.ifConsent('', ['all'], function () { try{(function(){ var cb = new Date().getTime(); var s = document.createElement("script"); s.defer = true; s.src = "//tag.crsspxl.com/s1.js?d=2396&cb="+cb; var s0 = document.getElementsByTagName('script')[0]; s0.parentNode.insertBefore(s, s0); })();}catch(e){} }); </script> <script type="text/javascript"> bizx.cmp.ifConsent({ purposes: ['storage', 'measurement'], vendors: 'google-analytics'}, function () { /* jshint ignore:start */ (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); /* jshint ignore:end */ window.dataLayer = window.dataLayer || []; function gtag(){ window.dataLayer.push(arguments); } window.gtag = window.gtag || gtag; bizx.cmp.embedScript("https://www.googletagmanager.com/gtag/js"); gtag('js', new Date()); gtag('set', { 'page_location': 'https://sourceforge.net/projects/wesnoth/files/', }); }); </script> <script> /*global ga, gtag */ SF.devicePixelRatio = Math.round(window.getDevicePixelRatio()*10)/10; bizx.cmp.ifConsent({ purposes: ['storage', 'measurement'], vendors: 'google-analytics'}, function () { gtag('config', 'G-1H226E4E4L', { send_page_view: false, 'SF_Project_Shortname': 'wesnoth', 'SF_Page_Type': 'pg_files', user_properties: { 'SF_Logged_in': 'Logged Out', }, 'SF_Ads_Disabled': 'No', 'SF_Prebid_Load_Method': 'sync', 'devicePixelRatio': SF.devicePixelRatio, }); gtag('event', 'page_view', { send_to: 'G-1H226E4E4L' }); }); </script> <script type="text/x-handlebars-template" id="file-drawer-template"> <div class="drawer-container"> <form class="bp" action="{{files_url}}{{full_path}} method="put" id="file_properties_content"> <table id="drawer_row"> <col class="name-column"> <col class="date-column"> <col class="size-column"> <col class="downloads-column"> <tbody> <tr title="{{name}}"> <td> {{#if authorized }} <input type="text" class="title" name="name" value="{{name}}"> {{else}} <a href="{{file_title_url this}}" class="name">{{name}}</a> {{/if}} </td> <td class="files-date"></td> <td class="files-size"></td> <td class="files-downloads"></td> </tr> {{#if authorized}} <tr> <td colspan="4" id="name_message" class="invalid hide"></td> </tr> {{#if d_type}} <tr> <td colspan="4" class="cell-stage"> <input type="checkbox" name="stage" id="stage" value="1" {{checked this.staged}} class="{{stage_onclick this}}" /> <label for="stage" title="Only release technicians will see this folder in the file browser." class="{{stage_onclick this}}">{{stage_message this staging_days}}</label> <span title="Only release technicians will see this folder in the file browser."> <svg class="svgico" data-name="question-circle" viewBox="0 0 1792 1792" xmlns="http://www.w3.org/2000/svg"><path d="M1024 1376v-192q0-14-9-23t-23-9h-192q-14 0-23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23-9t9-23zm256-672q0-88-55.5-163t-138.5-116-170-41q-243 0-371 213-15 24 8 42l132 100q7 6 19 6 16 0 25-12 53-68 86-92 34-24 86-24 48 0 85.5 26t37.5 59q0 38-20 61t-68 45q-63 28-115.5 86.5t-52.5 125.5v36q0 14 9 23t23 9h192q14 0 23-9t9-23q0-19 21.5-49.5t54.5-49.5q32-18 49-28.5t46-35 44.5-48 28-60.5 12.5-81zm384 192q0 209-103 385.5t-279.5 279.5-385.5 103-385.5-103-279.5-279.5-103-385.5 103-385.5 279.5-279.5 385.5-103 385.5 103 279.5 279.5 103 385.5z"/></svg></span> {{stage_date this}} </td> </tr> {{/if}} {{/if}} </tbody> </table> <div id="file-details"> <div id="file-meta" class="hide-for-medium"> <div> <span>Modified:</span> <pre class="selectable">{{safeString date}}</pre> </div> {{#if f_type}} <div > <span>Size:</span> <pre class="selectable">{{size}}</pre> </div> {{/if}} </div> {{#if f_type}} <div id="file-info"> {{stage_date this}} <div class="label"> <span>SHA1:</span> </div> <div class="value"><pre class="selectable">{{sha1}}</pre></div> <div class="label"> <span>MD5:</span> </div> <div class="value"><pre class="selectable">{{md5}}</pre></div> {{#if authorized}} <div class="label"> <span>Download URL:</span> </div> <div class="value"> {{#if not_downloadable}} <pre class="selectable" title="This file will be ready for download shortly.">This file will be ready for download shortly.</pre> {{else}} <pre class="selectable" title="{{download_url}}">{{download_url}}</pre> {{/if}} </div> <div class="default"> <div class="label"> <span>Default Download For:</span> </div> <div class="value"> <ul> {{#each platforms}} {{> platform}} {{/each}} {{#if authorized}} <li><a href="#select_all" class="btn-select-all" title="Select all">Select all</a></li> {{/if}} </ul> </div> </div> <div class="label stay-inline"> <label for="exclude_reports">Exclude Stats:</label> </div> <div class="value stay-inline"> <span class="checkbox"><input type="checkbox" id="exclude_reports" name="exclude_reports" value="1" {{should_exclude_reports exclude_reports}}></span> </div> {{/if}} {{#if legacy_release_notes}} <div class="value no-label"> <span><a href="{{legacy_release_notes}}">Release Notes</a></span> </div> {{/if}} </div> <div id="download-info"> <div class="label"> <span>Total Downloads:</span> </div> <div class="value"> <span>{{download_display downloads}}</span> </div> {{#if authorized}} <div class="label"> <span>Mirror Status:</span> </div> <div class="value"> <span id="mirror_count">Loading ...</span> </div> {{/if}} </div> {{/if}} {{#if authorized}} <hr /> <p class="btn-set"> <a href="#" id="cancel" class="btn cancel button blue extra-wide hollow">Cancel</a><input type="submit" value="Save" class="button blue extra-wide"></p> {{/if}} </div> </form> </div> </script> <script type="text/x-handlebars-template" id="platform-partial"> <li> <label> {{#if authorized}} <input type="checkbox" name="default" value="{{value}}" {{_checked}}> <span title="{{title}}" class="platform-icon {{value}}">{{title}}</span> {{/if}} {{#unless authorized}} {{#unless skip}} <span title="{{title}}" class="platform-icon {{value}}">{{title}}</span> {{/unless}} {{/unless}} </label> </li> </script> <script> net.sf.files = {"android":{"name":"android","path":"","download_url":"https://sourceforge.net/projects/wesnoth/files/android/download","url":"/projects/wesnoth/files/android/","full_path":"android","type":"d","link":"","downloads":23,"sha1":"","md5":"","default":"","download_label":"","exclude_reports":false,"downloadable":false,"legacy_release_notes":null,"staged":false,"stage":0,"staging_days":3,"files_url":"/projects/wesnoth/files/","explicitly_staged":false,"authorized":null},"wesnoth":{"name":"wesnoth","path":"","download_url":"https://sourceforge.net/projects/wesnoth/files/wesnoth/download","url":"/projects/wesnoth/files/wesnoth/","full_path":"wesnoth","type":"d","link":"","downloads":2223397,"sha1":"","md5":"","default":"","download_label":"","exclude_reports":false,"downloadable":false,"legacy_release_notes":null,"staged":false,"stage":0,"staging_days":3,"files_url":"/projects/wesnoth/files/","explicitly_staged":false,"authorized":null},"wesnoth-1.18":{"name":"wesnoth-1.18","path":"","download_url":"https://sourceforge.net/projects/wesnoth/files/wesnoth-1.18/download","url":"/projects/wesnoth/files/wesnoth-1.18/","full_path":"wesnoth-1.18","type":"d","link":"","downloads":23659,"sha1":"","md5":"","default":"","download_label":"","exclude_reports":false,"downloadable":false,"legacy_release_notes":null,"staged":false,"stage":0,"staging_days":3,"files_url":"/projects/wesnoth/files/","explicitly_staged":false,"authorized":null},"wesnoth-1.16":{"name":"wesnoth-1.16","path":"","download_url":"https://sourceforge.net/projects/wesnoth/files/wesnoth-1.16/download","url":"/projects/wesnoth/files/wesnoth-1.16/","full_path":"wesnoth-1.16","type":"d","link":"","downloads":168421,"sha1":"","md5":"","default":"","download_label":"","exclude_reports":false,"downloadable":false,"legacy_release_notes":null,"staged":false,"stage":0,"staging_days":3,"files_url":"/projects/wesnoth/files/","explicitly_staged":false,"authorized":null},"wesnoth-1.14":{"name":"wesnoth-1.14","path":"","download_url":"https://sourceforge.net/projects/wesnoth/files/wesnoth-1.14/download","url":"/projects/wesnoth/files/wesnoth-1.14/","full_path":"wesnoth-1.14","type":"d","link":"","downloads":370414,"sha1":"","md5":"","default":"","download_label":"","exclude_reports":false,"downloadable":false,"legacy_release_notes":null,"staged":false,"stage":0,"staging_days":3,"files_url":"/projects/wesnoth/files/","explicitly_staged":false,"authorized":null},"wesnoth-umcplugin":{"name":"wesnoth-umcplugin","path":"","download_url":"https://sourceforge.net/projects/wesnoth/files/wesnoth-umcplugin/download","url":"/projects/wesnoth/files/wesnoth-umcplugin/","full_path":"wesnoth-umcplugin","type":"d","link":"","downloads":17963,"sha1":"","md5":"","default":"","download_label":"","exclude_reports":false,"downloadable":false,"legacy_release_notes":null,"staged":false,"stage":0,"staging_days":3,"files_url":"/projects/wesnoth/files/","explicitly_staged":false,"authorized":null},"unofficial":{"name":"unofficial","path":"","download_url":"https://sourceforge.net/projects/wesnoth/files/unofficial/download","url":"/projects/wesnoth/files/unofficial/","full_path":"unofficial","type":"d","link":"","downloads":5982,"sha1":"","md5":"","default":"","download_label":"","exclude_reports":false,"downloadable":false,"legacy_release_notes":null,"staged":false,"stage":0,"staging_days":3,"files_url":"/projects/wesnoth/files/","explicitly_staged":false,"authorized":null},"SDK":{"name":"SDK","path":"","download_url":"https://sourceforge.net/projects/wesnoth/files/SDK/download","url":"/projects/wesnoth/files/SDK/","full_path":"SDK","type":"d","link":"","downloads":2190,"sha1":"","md5":"","default":"","download_label":"","exclude_reports":false,"downloadable":false,"legacy_release_notes":null,"staged":false,"stage":0,"staging_days":3,"files_url":"/projects/wesnoth/files/","explicitly_staged":false,"authorized":null},"wesnoth-1.12":{"name":"wesnoth-1.12","path":"","download_url":"https://sourceforge.net/projects/wesnoth/files/wesnoth-1.12/download","url":"/projects/wesnoth/files/wesnoth-1.12/","full_path":"wesnoth-1.12","type":"d","link":"","downloads":748376,"sha1":"","md5":"","default":"","download_label":"","exclude_reports":false,"downloadable":false,"legacy_release_notes":null,"staged":false,"stage":0,"staging_days":3,"files_url":"/projects/wesnoth/files/","explicitly_staged":false,"authorized":null},"wesnoth-1.10":{"name":"wesnoth-1.10","path":"","download_url":"https://sourceforge.net/projects/wesnoth/files/wesnoth-1.10/download","url":"/projects/wesnoth/files/wesnoth-1.10/","full_path":"wesnoth-1.10","type":"d","link":"","downloads":1010463,"sha1":"","md5":"","default":"","download_label":"","exclude_reports":false,"downloadable":false,"legacy_release_notes":null,"staged":false,"stage":0,"staging_days":3,"files_url":"/projects/wesnoth/files/","explicitly_staged":false,"authorized":null},"wesnoth-1.8":{"name":"wesnoth-1.8","path":"","download_url":"https://sourceforge.net/projects/wesnoth/files/wesnoth-1.8/download","url":"/projects/wesnoth/files/wesnoth-1.8/","full_path":"wesnoth-1.8","type":"d","link":"","downloads":944649,"sha1":"","md5":"","default":"","download_label":"","exclude_reports":false,"downloadable":false,"legacy_release_notes":null,"staged":false,"stage":0,"staging_days":3,"files_url":"/projects/wesnoth/files/","explicitly_staged":false,"authorized":null},"experimental":{"name":"experimental","path":"","download_url":"https://sourceforge.net/projects/wesnoth/files/experimental/download","url":"/projects/wesnoth/files/experimental/","full_path":"experimental","type":"d","link":"","downloads":374,"sha1":"","md5":"","default":"","download_label":"","exclude_reports":false,"downloadable":false,"legacy_release_notes":null,"staged":false,"stage":0,"staging_days":3,"files_url":"/projects/wesnoth/files/","explicitly_staged":false,"authorized":null},"wesnoth-1.6":{"name":"wesnoth-1.6","path":"","download_url":"https://sourceforge.net/projects/wesnoth/files/wesnoth-1.6/download","url":"/projects/wesnoth/files/wesnoth-1.6/","full_path":"wesnoth-1.6","type":"d","link":"","downloads":508463,"sha1":"","md5":"","default":"","download_label":"","exclude_reports":false,"downloadable":false,"legacy_release_notes":null,"staged":false,"stage":0,"staging_days":3,"files_url":"/projects/wesnoth/files/","explicitly_staged":false,"authorized":null},"OldFiles":{"name":"OldFiles","path":"","download_url":"https://sourceforge.net/projects/wesnoth/files/OldFiles/download","url":"/projects/wesnoth/files/OldFiles/","full_path":"OldFiles","type":"d","link":"","downloads":23739,"sha1":"","md5":"","default":"","download_label":"","exclude_reports":false,"downloadable":false,"legacy_release_notes":null,"staged":false,"stage":0,"staging_days":3,"files_url":"/projects/wesnoth/files/","explicitly_staged":false,"authorized":null},"wesnoth-1.4":{"name":"wesnoth-1.4","path":"","download_url":"https://sourceforge.net/projects/wesnoth/files/wesnoth-1.4/download","url":"/projects/wesnoth/files/wesnoth-1.4/","full_path":"wesnoth-1.4","type":"d","link":"","downloads":796086,"sha1":"","md5":"","default":"","download_label":"","exclude_reports":false,"downloadable":false,"legacy_release_notes":null,"staged":false,"stage":0,"staging_days":3,"files_url":"/projects/wesnoth/files/","explicitly_staged":false,"authorized":null},"wesnoth-1.2":{"name":"wesnoth-1.2","path":"","download_url":"https://sourceforge.net/projects/wesnoth/files/wesnoth-1.2/download","url":"/projects/wesnoth/files/wesnoth-1.2/","full_path":"wesnoth-1.2","type":"d","link":"","downloads":914431,"sha1":"","md5":"","default":"","download_label":"","exclude_reports":false,"downloadable":false,"legacy_release_notes":null,"staged":false,"stage":0,"staging_days":3,"files_url":"/projects/wesnoth/files/","explicitly_staged":false,"authorized":null},"gp2x":{"name":"gp2x","path":"","download_url":"https://sourceforge.net/projects/wesnoth/files/gp2x/download","url":"/projects/wesnoth/files/gp2x/","full_path":"gp2x","type":"d","link":"","downloads":3633,"sha1":"","md5":"","default":"","download_label":"","exclude_reports":false,"downloadable":false,"legacy_release_notes":null,"staged":false,"stage":0,"staging_days":3,"files_url":"/projects/wesnoth/files/","explicitly_staged":false,"authorized":null},"wesnoth-1.0":{"name":"wesnoth-1.0","path":"","download_url":"https://sourceforge.net/projects/wesnoth/files/wesnoth-1.0/download","url":"/projects/wesnoth/files/wesnoth-1.0/","full_path":"wesnoth-1.0","type":"d","link":"","downloads":437529,"sha1":"","md5":"","default":"","download_label":"","exclude_reports":false,"downloadable":false,"legacy_release_notes":null,"staged":false,"stage":0,"staging_days":3,"files_url":"/projects/wesnoth/files/","explicitly_staged":false,"authorized":null},"trailer":{"name":"trailer","path":"","download_url":"https://sourceforge.net/projects/wesnoth/files/trailer/download","url":"/projects/wesnoth/files/trailer/","full_path":"trailer","type":"d","link":"","downloads":112572,"sha1":"","md5":"","default":"","download_label":"","exclude_reports":false,"downloadable":false,"legacy_release_notes":null,"staged":false,"stage":0,"staging_days":3,"files_url":"/projects/wesnoth/files/","explicitly_staged":false,"authorized":null}}; net.sf.staging_days = 3; $(function ($) { $('#files').files(); var tsConfig = { //sortForce: [[0, 0]], headers: { 0: { sorter: 'name' }, 1: { sorter: 'abbrdate' }, 2: { sorter: 'filesize' }, 3: { sorter: 'download_count'} }, textExtraction: function (node) { return node.innerHTML; } }; if ($('#files_list tbody tr').length) { $('#files_list').tablesorter(tsConfig).on("sortEnd", SF.tablesorter_svg_update); $('#files_list tr th#parent_folder').unbind(); $('#files_list thead tr th').not('.typesort').not('#parent_folder').addClass('usersortable').closest('tr').find('div').append('<svg class="svgico icon-sort"><use xlink:href="#sort"></use></svg>'); } }); </script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10