# ========================================================================================
# compat.ini for PPSSPP
# ========================================================================================
#
# This file is not meant to be user-editable, although is kept as a separate ini
# file instead of compiled into the code for debugging purposes.
#
# The uses cases are strict:
#   * Enable fixes for things we can't reasonably emulate without completely ruining
#     performance for other games, such as the screen copies in Dangan Ronpa
#   * Disabling accuracy features like 16-bit depth rounding, when we can't seem to
#     implement them at all in a 100% compatible way
#   * Emergency game-specific compatibility fixes before releases, such as the GTA
#     music problem where every attempted fix has reduced compatibility with other games
#   * Enable "unsafe" performance optimizations that some games can tolerate and
#     others cannot. We do not currently have any of those.
#
# This functionality should NOT be used for any of the following:
#   * Cheats
#   * Fun hacks, like enlarged heads or whatever
#   * Fixing general compatibility issues. First try to find a general solution. Try hard.
#
# Game IDs can be looked up at GameFAQs, for example:
# http://www.gamefaqs.com/psp/925776-grand-theft-auto-liberty-city-stories/data
# Sometimes the information may be incomplete though.
#
# ========================================================================================
# Issue numbers refer to issues on https://github.com/hrydgard/ppsspp/issues
# ========================================================================================

[VertexDepthRounding]
# Phantasy Star Portable needs depth rounding to 16-bit precision for text to show up.
# It's enough to do it at the vertex granularity.  #3777
ULJM05309 = true
ULUS10410 = true
ULES01218 = true
ULJM08023 = true
ULES01218 = true
# Phantasy Star Portable 2 JP (missing text)
ULJM05493 = true
NPJH50043 = true
ULJM08030 = true
# Puyo Puyo Fever 2   #3663 (layering)
ULJM05058 = true
# NBA 2K13  #6603 (menu glitches)
ULAS42332 = true 
ULJS00551 = true
NPJH50713 = true
ULJS00596 = true
ULES01578 = true
# Power Stone Collection  #6257 (map arrow)
ULES00496 = true
ULUS10171 = true
ULJM05178 = true
# Taiko no Tatsujin Portable DX    #7920  (missing text)
ULJS00383 = true 
NPJH50426 = true 
ULAS42282 = true
# PhotoKano  #7920  (missing text)
ULJS00378 = true
NPJH50579 = true
ULJS19069 = true
NPJH50579 = true

[PixelDepthRounding]
# Heroes Phantasia requires pixel depth rounding.  #6485 (flickering overlaid sprites)
NPJH50558 = true
ULJS00456 = true
ULJS00454 = true
# Heroes Phantasia Limited Edition Disc requires pixel depth rounding.
ULJS00455 = true
# Phantasy Star games flickering
# Phantasy Star Portable 1
ULJM05309 = true
ULUS10410 = true
ULES01218 = true
ULJM08023 = true
ULES01218 = true
# Phantasy Star Portable 2 JP
ULJM05493 = true
NPJH50043 = true
ULJM08030 = true
# Phantasy Star Portable 1 Demo
NPUH90023 = true
ULJM91014 = true
NPJH90002 = true
# Phantasy Star Portable 2 JP Demo
ULJM91018 = true
NPJH90062 = true

[DepthRangeHack]
# Phantasy Star Portable 2 and Infinity both use viewport depth outside [0, 1].
# This gets clamped in our current implementation, but attempts to fix it run into
# Other bugs, so we've restored this hack for now.
ULJM05493 = true
NPJH50043 = true
ULJM08030 = true
ULES01439 = true
ULUS10529 = true
ULJM91018 = true  # Infinity demo disc?
NPJH90157 = true  # Infinity demo
ULJM05732 = true
NPJH50332 = true
