# CEMU detailed changelog for 1.3.1 # Release date: 2016-02-03 General: Added support for fullscreen mode Added support for launching games via command line parameter. Fixed a crash that could occur when unplugging a controller. coreinit: Implemented more API functions. coreinit: Added limited support for TLS (specifically __tls_get_addr) coreinit: Changed behavior of OSExitThread and OSRunThread to match real implementation more closely zlib: Added zlib.rpl API for crc32(), inflateReset2(), compress() and uncompress() nn_aoc: Added ListTitle API for checking addon content (for now we always return 0 titles) FS: Improved large parts of the existing FS code, fixing a few bugs and getting rid of some limitations on the way. Previously the filesystem code was not very well organized, for 1.3.1 we have now established a layered architecture: FS (coreinit API) -> FSA (coreinit driver) -> FSC (cemu fs abstraction layer) -> Virtual device code (This is the low-level code for raw file operations. Examples: WUD/FST handler, Windows File API) The advantage of this new layered design is that we can implement FS and FSA code almost 1:1 as on the real console for maximum accuracy. FS: Cemu can now run .rpx files and at the same time also mount the /content/ directory making it possible to run extracted/dumped games. FS: Implemented support for iteration of save directories. This fixes an issue where save files where not being properly detected. FS: All FSRead* and FSWrite* functions now correctly return the amount of members successfully transferred. (previously returned raw amount of bytes instead) GX2: Added support for GX2Context API and state shadowing. GX2: Added support for 1D textures. GX2: Improved support for using 2D slices of cubemaps, array and 3d textures as render targets. GX2: Fixed a bug that occurred when decoding certain textures. (Known as 'creepy eyes bug') GX2: Fixed a bug in shader SUB_INT instruction. GX2: Implemented CPU-side data copy for GX2CopySurface GX2: Improved code to handle pixel shader imports making it more robust when semantic mapping is not setup correctly. Also now properly detects and handles the usage of gl_FragCoord inside the pixel shader. GX2: Fixed code that handles GX2_PRIMITIVE_RECTS when only 3 vertices are supplied. GX2: gl_FragCoord origin is now correctly set to upper_left instead of bottom_left. GX2: Implemented API GX2InitDepthStencilControlReg, GX2InitScissorReg, GX2SetScissorReg, GX2InitViewportReg, GX2SetViewportReg