[{"data":1,"prerenderedAt":221},["ShallowReactive",2],{"article-thor-conquer":3},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":5,"title":7,"description":8,"date":9,"slug":10,"category":11,"generated":12,"media":13,"source":17,"project_page":18,"body":19,"_type":215,"_id":216,"_source":217,"_file":218,"_stem":219,"_extension":220},"\u002Fthor-conquer","",false,"Thor Conquer","Native dual-screen port of Command &amp; Conquer Red Alert and Tiberian Dawn for the AYN Thor, with a touch command deck on the second screen.","2026-11-02 06:45","thor-conquer","game","ai",[14],{"type":15,"url":16},"video","https:\u002F\u002Fyoutu.be\u002FZMGUqJJKna8","https:\u002F\u002Fwww.reddit.com\u002Fr\u002FAynThor\u002Fcomments\u002F1xl60a0\u002Fnative_red_alert_port_for_the_thor_battlefield_on\u002F","https:\u002F\u002Fgithub.com\u002Fharmssi\u002Fthor-conquer",{"type":20,"children":21,"toc":208},"root",[22,31,37,43,129,135,174,180],{"type":23,"tag":24,"props":25,"children":27},"element","h2",{"id":26},"description",[28],{"type":29,"value":30},"text","Description",{"type":23,"tag":32,"props":33,"children":34},"p",{},[35],{"type":29,"value":36},"Thor Conquer is a native Android (arm64) port of Command & Conquer: Tiberian Dawn and Red Alert built around the AYN Thor's two displays, based on Vanilla Conquer. The top screen shows only the battlefield: the engine renders 960×540 and scales it exactly 2× on the 1080p panel (pixel-perfect, no stretching, no bars), so you see far more of the battlefield at the classic sprite size. The sidebar and the top tab bar are gone; menus, films and the score screen keep their original 640×400 layout and are shown as a centred frame at 2×. The bottom screen is a touch command deck with credits, a power meter, a framed radar, REPAIR \u002F SELL \u002F MENU buttons and two build columns with the in-game cameos, build progress, READY and ON HOLD badges. Deck taps run the same code as clicks on the original sidebar, so nothing is faked, and the deck never steals focus, so the controller stays with the game. If there is no second screen, the classic sidebar is shown on the top screen instead. On the author's Thor (Snapdragon 8 Gen 2) the port runs at 59.8 fps average over 18 minutes with a flat battery temperature of 33 °C and about 28 % of one CPU core — native arm64, no emulator.",{"type":23,"tag":24,"props":38,"children":40},{"id":39},"features",[41],{"type":29,"value":42},"Features",{"type":23,"tag":44,"props":45,"children":46},"ul",{},[47,59,69,79,89,99,109,119],{"type":23,"tag":48,"props":49,"children":50},"li",{},[51,57],{"type":23,"tag":52,"props":53,"children":54},"strong",{},[55],{"type":29,"value":56},"Dual screen:",{"type":29,"value":58}," the deck is an Android Presentation on display 4 (FLAG_NOT_FOCUSABLE, so the controller stays with the game). If there is no second screen, the classic sidebar is shown on the top screen instead.",{"type":23,"tag":48,"props":60,"children":61},{},[62,67],{"type":23,"tag":52,"props":63,"children":64},{},[65],{"type":29,"value":66},"Engine-faithful:",{"type":29,"value":68}," every deck action goes through the engine's normal input path — build clicks run through the original sidebar button code, a radar tap does what a radar click does, and REPAIR and SELL are the sidebar buttons. No game state is changed directly.",{"type":23,"tag":48,"props":70,"children":71},{},[72,77],{"type":23,"tag":52,"props":73,"children":74},{},[75],{"type":29,"value":76},"Build deck:",{"type":29,"value":78}," tap = build or deploy when READY; tap again while building = hold; long-press = hold, then cancel. The progress sweep is drawn over the cameo. The accent color follows the faction: amber for Allies\u002FGDI, red for Soviet\u002FNod.",{"type":23,"tag":48,"props":80,"children":81},{},[82,87],{"type":23,"tag":52,"props":83,"children":84},{},[85],{"type":29,"value":86},"Radar:",{"type":29,"value":88}," the minimap is rendered from the engine's cell colors, with a viewport frame. Tap or drag on it to scroll the map.",{"type":23,"tag":48,"props":90,"children":91},{},[92,97],{"type":23,"tag":52,"props":93,"children":94},{},[95],{"type":29,"value":96},"Top-screen touch:",{"type":29,"value":98}," tap = select \u002F left click, drag = selection box, two-finger drag = scroll, long-press or two-finger tap = right click (deselect \u002F cancel).",{"type":23,"tag":48,"props":100,"children":101},{},[102,107],{"type":23,"tag":52,"props":103,"children":104},{},[105],{"type":29,"value":106},"Controller:",{"type":29,"value":108}," left stick = cursor, right stick = scroll, A = left click, B = right click, Select = Esc (menu), Start = Enter, X\u002FY = G\u002FF, D-pad = 1–4. L1\u002FR1 move a focus ring through the deck's build items, and A builds the focused item while the ring is visible.",{"type":23,"tag":48,"props":110,"children":111},{},[112,117],{"type":23,"tag":52,"props":113,"children":114},{},[115],{"type":29,"value":116},"Content:",{"type":29,"value":118}," Red Alert (Allied, Soviet, Counterstrike, Aftermath) and Tiberian Dawn (GDI, Nod). Covert Operations is not supported yet.",{"type":23,"tag":48,"props":120,"children":121},{},[122,127],{"type":23,"tag":52,"props":123,"children":124},{},[125],{"type":29,"value":126},"Languages:",{"type":29,"value":128}," English (default), Deutsch, Español, Français. The app follows the system language; you can override it in Settings → Language.",{"type":23,"tag":24,"props":130,"children":132},{"id":131},"setup-guide",[133],{"type":29,"value":134},"Setup guide",{"type":23,"tag":44,"props":136,"children":137},{},[138,154,159,164,169],{"type":23,"tag":48,"props":139,"children":140},{},[141,143,152],{"type":29,"value":142},"Download and install the latest release APK (arm64, Android 13+) from the ",{"type":23,"tag":144,"props":145,"children":149},"a",{"href":146,"rel":147},"https:\u002F\u002Fgithub.com\u002Fharmssi\u002Fthor-conquer\u002Freleases\u002Flatest",[148],"nofollow",[150],{"type":29,"value":151},"Releases page",{"type":29,"value":153},".",{"type":23,"tag":48,"props":155,"children":156},{},[157],{"type":29,"value":158},"You need your own copy of the Command & Conquer Remastered Collection (Steam) — no game data is included.",{"type":23,"tag":48,"props":160,"children":161},{},[162],{"type":29,"value":163},"Copy the legacy game files from Data\u002FCNCDATA\u002F into the app's data folder at \u002Fsdcard\u002FAndroid\u002Fdata\u002Fde.harmssi.thorconquer\u002Ffiles\u002F, placing disc-specific files in the redalert\u002F and tiberiandawn\u002F subfolders as described in the README. A flat layout also works, but then only the first campaign or disc is playable.",{"type":23,"tag":48,"props":165,"children":166},{},[167],{"type":29,"value":168},"Minimum files: Red Alert needs REDALERT.MIX + MAIN.MIX; Tiberian Dawn needs CONQUER.MIX, GENERAL.MIX, CCLOCAL.MIX, TEMPERAT.MIX, DESERT.MIX, WINTER.MIX and SOUNDS.MIX. The launcher shows a checklist of what is missing.",{"type":23,"tag":48,"props":170,"children":171},{},[172],{"type":29,"value":173},"Launch the game. The launcher checks the data and lets you override the language in Settings → Language.",{"type":23,"tag":24,"props":175,"children":177},{"id":176},"known-issues",[178],{"type":29,"value":179},"Known issues",{"type":23,"tag":44,"props":181,"children":182},{},[183,188,193,198,203],{"type":23,"tag":48,"props":184,"children":185},{},[186],{"type":29,"value":187},"Multiplayer is untested.",{"type":23,"tag":48,"props":189,"children":190},{},[191],{"type":29,"value":192},"Covert Operations is not supported for Tiberian Dawn.",{"type":23,"tag":48,"props":194,"children":195},{},[196],{"type":29,"value":197},"Saves get automatic names.",{"type":23,"tag":48,"props":199,"children":200},{},[201],{"type":29,"value":202},"The APK is debug-signed.",{"type":23,"tag":48,"props":204,"children":205},{},[206],{"type":29,"value":207},"Game data lives in the app folder, so uninstalling deletes it; updating over the top keeps it.",{"title":5,"searchDepth":209,"depth":209,"links":210},2,[211,212,213,214],{"id":26,"depth":209,"text":30},{"id":39,"depth":209,"text":42},{"id":131,"depth":209,"text":134},{"id":176,"depth":209,"text":179},"markdown","content:thor-conquer:index.md","content","thor-conquer\u002Findex.md","thor-conquer\u002Findex","md",1794296044701]