Release X-COM: UFO Defense


What software was used to perform the binary translation?  Such software would be useful for translating other games.
 
A quick and stupid question.

When playing the PC DOS version I can select a soldier then right-click on a section of ground and they TURN/pivot that way instead of simply going there.

How do I get a soldier in this version on a Pandora to pivot?  Is there a special hidden shift for the stylus to result in a right click?

Thank you!
 
What software was used to perform the binary translation?  Such software would be useful for translating other games.
Mostly my own, udis86 library was used to help decoding x86 instructions. IDA was also used, but not in the translation, but to help me find some information about the original executable and to read the executable comfortably.
As for usefulness for translating other games - not really.

A quick and stupid question.

When playing the PC DOS version I can select a soldier then right-click on a section of ground and they TURN/pivot that way instead of simply going there.

How do I get a soldier in this version on a Pandora to pivot?  Is there a special hidden shift for the stylus to result in a right click?

Thank you!
If you're using right-handed touchscreen controls then:in Geoscape: L+Touchscreen = mouse movement + right mouse click

in Battlescape: L+Touchscreen doubleclick = mouse movement + right mouse click

in both: B = right mouse click [configurable]

All controls are described in the README - read it for more information.
 
I played a lot of this lately, mostly because I can right-click with the stylus, but I must admit that OpenXCom gives a more solid experience... I don't like very much to see the desktop every time the games goes from Planet view to Mission view.

Anyway, I found some bugs that happened a lot of times:

- During missions sometimes suddenly appeared the mission ending screen with wrong statistics, I recognized that some of these where of previous missions. This happened randomly at the end of a turn, even if there were still aliens on the map.
- After an alien assault on one of my bases, that I was able to defend, I lost an interceptor that was in the hangar... it just disappeared... wasn't even listed in the statistic screen as a loss... actually I'm not sure if this is an actual "feature", but I don't remember having ever lost something after a defended assault.
 
Last edited:
I played a lot of this lately, mostly because I can right-click with the stylus, but I must admit that OpenXCom gives a more solid experience... I don't like very much to see the desktop every time the games goes from Planet view to Mission view.
Planet view and Mission view are two separate executables, when switching between them, one quits and the other one starts - that's why you see the desktop.

- During missions sometimes suddenly appeared the mission ending screen with wrong statistics, I recognized that some of these where of previous missions. This happened randomly at the end of a turn, even if there were still aliens on the map.
When that happens, it means the mission executable crashed. In this case you see the result of previous mission. If you have a save game that can reproduce the crash, I could take a look at the cause.
 
Planet view and Mission view are two separate executables, when switching between them, one quits and the other one starts - that's why you see the desktop.
Maybe there could be a way to "hide" the desktop with a black background ? Something that starts before the game and stays there until it is terminated ?

When that happens, it means the mission executable crashed. In this case you see the result of previous mission. If you have a save game that can reproduce the crash, I could take a look at the cause.

Thanks, I'll have a look, but I don't save ofted during missions, my troops must raise like Spartans :-D
Anyway I'm pretty sure it always happened during alien turn, or at the start of my turn but before I was able to do anything.

EDIT:
Oh, another strange thing I noted, the right click with the stylus (pressing left shoulder) works but I have to double-click... is this intended or maybe there's something wrong in my configuration ? (I remember that I manually modified it many years ago... maybe I'll try to delete it to see what changes)
 
Last edited:
I found a way to show a static black background :cool:

Here the things I added to the "Ufo.sh"
Code:
.
.
.
# ===============================================
# WORKAROUND FOR BLACK BACKGROUND
# ===============================================
        export blackpid=none
        if [ ! "$(which ristretto)" == "" ]
        then
            ristretto -f -s --name=xcom1black &
            export blackpid=$!
            sleep 2
        fi
# ===============================================

        if [ -n "$INTRO_PLAY" ]
        then
            ./SR-Intro --config-file=$UFO_CFG --game-dir=$GAME
        fi

        ./SR-Geoscape "0" --config-file=$UFO_CFG --game-dir=$GAME
        RESULT=$?
        sync

        while [ $RESULT -ge 2 ]
        do
            ./SR-Tactical "1" --config-file=$UFO_CFG --game-dir=$GAME
            sync
            ./SR-Geoscape "1" --config-file=$UFO_CFG --game-dir=$GAME
            RESULT=$?
            sync
        done

# ===============================================
# WORKAROUND FOR BLACK BACKGROUND
# ===============================================
        if [ ! $blackpid == none ]
        then
           kill $blackpid
        fi
# ===============================================

        exit 0
.
.
.

It just run "ristretto" before the game, and kill it at the end.

"ristretto" should be present by default in all the Pandoras, in fullscreen it shows just a black background, but it could also be used to show an actual image... maybe x-com related :cool:

EDIT:
optimized the code
EDIT2:
added sleep because with the "no touchscreen" configuration the intro was starting before ristretto
 
Last edited:
Oh, another strange thing I noted, the right click with the stylus (pressing left shoulder) works but I have to double-click... is this intended or maybe there's something wrong in my configuration ? (I remember that I manually modified it many years ago... maybe I'll try to delete it to see what changes)
That's intentional. Here's an excerpt from the readme which explains it:
Code:
RIGHT-HANDED TOUCHSCREEN CONTROLS: 
 
Geoscape: 
 
Touchscreen: mouse movement + left mouse click 
L+Touchscreen: mouse movement + right mouse click 
DPAD: rotate globe 
 
Battlescape: 
 
Touchscreen: mouse movement + left mouse click (on release of touchscreen) 
L+Touchscreen: mouse movement 
L+Touchscreen doubleclick: mouse movement + right mouse click 
DPAD: scroll view
[/spolier]
 
Oh, right... the manual :oops:

On one mission happened a crash, and I had the save before that, but I tried to reload different times that save without being able to reproduce... at every load the aliens acted differently... I'll have to at least identify a pattern first...

By the way, I appreciate a lot your efforts to make these games available on many platforms, with improvements and all. Thank you <3
 
I released a new version of X-COM: UFO Defense (1.5.1).

Download:
repo

Versions for other platforms and the source code are available on GitHub.

Changes:
v1.5.1 (2023-12-10)
* minor bug fixes

v1.5.0
* General MIDI playback using ALSA sequencer
* General MIDI playback using libADLMIDI (using OPL3 emulator)
* added support for playing MT-32 music using ALSA sequencer
* missing MT-32 intro music is played using General MIDI music remapped to MT-32
* fixed Caps Lock handling
* fixed keyboard handling for ASCII characters
* combined Geoscape, Battlescape and Intro executables into one executable
 
Back
Top