This port based on fork of sdl2 branch, from the original OpenXcom repo: (link to the original, other info: website, original readme). Without the efforts put in by SupSuper and OpenXcom dev team, none of this would've been possible.
- Controller support, thanks to Northfear and his PS Vita port for point of start
- Touchscreen, switch keyboard support
- Modified software rendering functions from sdl1, which don't supported in devkitPRO
- Modified build files and scripts, to bring fluid devkit toolchain integration
- Docked and handheld recognition, screen resolution changes on game's start
I used most comfortable layout (IMHO, can be remapped through game's controls menu):
- Left stick: mouse move
- Right stick: map scrolling
- A: mouse left button
- B: mouse right button
- X: inventory
- Y: map
- L1/R1: switch soldiers
- L2/R2: quick save/load
- L3: ctrl mode
- R3: center on selected soldier
- Minus: game menu (pause)
- Plus: end turn
- Dpad up/down: floor view up/down
- Dpad left/right: use weapon in left/right hand
- Go to releases page, and grab latest .nro executable
- Obtain legal copy of XCOM: UFO Defense and/or XCOM: TFTD, for steam, files in:
UFO: "Steam\SteamApps\common\XCom UFO Defense\XCOM"
TFTD: "Steam\SteamApps\common\X-COM Terror from the Deep\TFD"
- Use "bin" folder from this repo, rename it to "openxcom" and place somewhere on SD
- Place openxcom.nro file to the root of this folder
- Look up UFO/README.txt and TFTD/README.txt in this folder, and place data accordingly
- Launch game in NON-applet mode to avoid memory insufficiency
- OPTIONAL: if you want to create forwarder DO NOT USE video capture - it causes CPU Boost bug after closing app
OpenXcom has three directory locations that it searches for user and game files:
| Folder type | Folder contents | Folder default location |
|---|---|---|
| user | mods, savegames, screenshots | /switch/openxcom/userdir |
| config | game configuration | /config/openxcom |
| data | UFO and TFTD data files, standard mods, common resources | /switch/openxcom |
Those, who want improve something, or just compile by their own, should follow next steps:
- Setup switch homebrew enviroment, more info: link
- Download switch-sdl2, switch-sdl2_gfx, switch-sdl2_image, switch-sdl2_mixer, switch-sdl2_ttf
- Tricky part: compile yaml-cpp with devkitPRO, place includes/lib to $DEVKITPRO paths
- For cmake:
cd OpenXcom-switch
mkdir build && cd build
cmake .. -DSWITCH=ON -DCMAKE_TOOLCHAIN_FILE=$DEVKITPRO/cmake/Switch.cmake -DCMAKE_BUILD_TYPE=Release/Debug/None
make
- Also, you can use scripts/build-switch for automated compile process