Skip to content

v0.2.0 (developer preview)

Pre-release
Pre-release

Choose a tag to compare

@VCKing101 VCKing101 released this 27 Oct 12:56
· 43 commits to main since this release

A newer version is out: v0.4.0 brings a new Battle BGM Maker program, DLC music sorted under its own game, and steadier frames at 60 fps and above.

Dissidia 012 PC port v0.2.0 (developer preview)

A native PC port of Dissidia 012 Duodecim Final Fantasy (PSP, USA). The game's code is recompiled to native C++
and runs on PortableKit's rebuilt PSP system and Vulkan renderer. It is
not an emulator.

No game data is included. This release is source code and a setup script. The port is built on your own PC
from your own copy of the game: the USA disc ULUS10566 as an .iso.

What's new in v0.2.0

Local split-screen versus. Two players on one PC, each with their own controller and camera.

  • Battle Mode has a new row, Quick Battle (Player vs Player). It needs a second gamepad; without one it says
    "Connect a second controller". Player 1 plays on the keyboard or the first gamepad, player 2 on the second.
  • Player 2 picks on their own controller, from player 1's roster, under a red "Player 2 Select" header. Player 2
    fights with player 1's saved build for that character: level, equipment, abilities, accessories, look and set.
  • The battle setup has no CPU rows. Player 2 shows as the GUEST, at their saved level.
  • In battle the screen is split down the middle, each half from its player's own camera, with their own lock-on
    cursor and command prompts, at 60 fps on both halves. The HUD is laid out as in the original game, with 1P / 2P
    tags over the portraits. Chases stay split; EX Bursts and the victory play full screen.
  • Either player can pause. A controller that disconnects pauses the battle until it comes back.
  • The winner is named at the end, and a versus battle leaves no rewards or records in your save.
  • To turn it off, set game.local_versus=0 in build\port\data\settings.ini (the line appears there after the
    first start). The game is then exactly as before.

Also new: fewer hitches the first time a stage or effect loads. The port now reads the disc image through in the
background from launch, so the game rarely waits on the disk.

Update: if you used git, run git pull, then setup.cmd. If you used the zip, extract this release over your
folder (your build\ folder with your saves stays), then run setup.cmd.

Fixed in v0.1.2

  • Saves now move between the port and PPSSPP, both ways. Before, PPSSPP said "Unable to load data" for a
    save the port wrote, and the port refused a save from PPSSPP as broken. The port wrote the encrypted save file
    slightly differently from a PSP and PPSSPP; it now writes and checks saves their way. Tested both ways against
    PPSSPP 1.20.4.
  • Saves the port already made are fixed automatically. The first time you start v0.1.2, the game loads your
    save and the port rewrites it in the corrected format, with nothing lost. After that it can be copied to PPSSPP.
  • A PPSSPP save the older port refused was left as it was, so it now loads. If the game had already saved over
    it in the port (for example after starting a New Game), copy it again from PPSSPP.
  • To move a save: copy (don't move) the folder ULUS10566GameData00, between build\port\data\ms0\PSP\SAVEDATA
    in the port and PSP\SAVEDATA in PPSSPP's memory stick folder. Keep a backup of both sides.

Thanks to the player who reported it.

Fixed in v0.1.1

  • Setup now builds on Windows set to any language. On Windows set to Chinese, Japanese, Korean and other
    languages, setup stopped with "pk_cmake.cmd failed with exit code 2" (error C2001 in the build log). The
    compiler now always reads the sources as UTF-8. Thanks to the Reddit user who reported it and found the
    workaround.
  • If you already set $env:_CL_ = "/utf-8" to get past it, you no longer need it.

What you get

  • 60 fps, smoothed from the game's 30 fps logic, and a higher internal resolution.
  • Local split-screen versus for two players on one PC (new in v0.2.0).
  • Right-stick camera in battle and on the world map. R3 recentres it.
  • True analog movement on the world map, instead of 8 directions.
  • Battle music mods: add your own tracks (MP3, OGG, FLAC, WAV, or BRSTM with its loop) as new series in a
    two-level music selector on the loading screen. Mods only add to the game; nothing is replaced. The Battle BGM
    Maker
    tool helps you set up a mod and its loop points.
  • Plays from New Game through Story Mode, menus and battles on Windows. It also runs on a Steam Deck through Proton
    (see below).

Install (Windows 10/11, 64-bit)

1. Install these (all free):

  • Visual Studio 2022 Community, or Build Tools 2022, with the
    workload Desktop development with C++
  • Python 3.10 or newer. Tick Add python.exe to PATH.
  • Git for Windows
  • An up-to-date graphics driver (Vulkan: any GPU from about 2016 on)
  • About 5 GB of free disk space

2. Get the port. Either:

  • Recommended (easy updates): in PowerShell, run

    git clone https://github.com/VCKing101/Dissidia012-pc.git
    cd Dissidia012-pc
  • or download Source code (zip) below and extract it to a folder.

3. Run the setup. Double-click setup.cmd in the folder. Or, in PowerShell from the folder, run:

powershell -ExecutionPolicy Bypass -File .\setup.ps1

It checks the tools above and tells you exactly what is missing. It downloads and verifies the build parts, then asks
for your ISO. It decrypts the game's program from the ISO, checks it, and builds the port. The first run takes about
5 to 30 minutes, depending on your PC.

4. Play with the new Dissidia 012 (PC port) shortcut on your desktop or in the Start menu. Esc, or L3 + R3 on a
controller, opens the port's menu, with video, controls and audio settings.

Your saves are in build\port\data\ms0. Mods go in build\port\data\mods. Back up build\port\data before big
changes.

Updating

  • If you used git: run git pull, then run setup.cmd again. It rebuilds only what changed.
  • If you used the zip: extract the new release over your existing folder, so your build\ folder with your saves
    stays. Then run setup.cmd again.

Steam Deck

It runs through Proton as a non-Steam game. You build the package on a Windows PC with setup.ps1 -Deck, then copy
it to the Deck. Step-by-step guide, including over-the-network updates:
docs/port/steam-deck.md. A native
Linux build is planned.

Known issues

  • This is an early preview. Expect occasional graphical glitches in effects. Please report them with a screenshot.
  • Ad hoc multiplayer doesn't work.
  • Local versus on the Steam Deck is untested.
  • Linux (native) and lower-end PCs (8 GB RAM / 4 cores) are untested.
  • Building needs Visual Studio. An installer that doesn't need it is planned.

Help and reporting issues

Troubleshooting: docs/port/setup.md.
Report bugs on the Issues page. Say what you were doing, and add
a screenshot and the log from build\port\logs if you can.


Not affiliated with or endorsed by Square Enix or Sony. You need your own legally obtained copy of the game. The repo
includes the public decryption key for the game's executable, so the port can read your own disc; see
NOTICE.md. Built on PortableKit by TeamGDB (MIT),
with FFmpeg (LGPL), SDL3, glslang and the Vulkan headers.