shader_recompiler: Add stubs for CSM/FCSM flow test conditions

Add stub implementations for previously unhandled flow test conditions in the
shader recompiler's IR emitter. These conditions were previously throwing
"Not Implemented" exceptions when encountered.

The following flow test cases are now stubbed:
- FCSM_TR (Fragment Shader Coarse/Fine Mode Test and Reject)
- CSM_TA (Coarse/Fine Mode Test Accept)
- CSM_TR (Coarse/Fine Mode Test and Reject)
- CSM_MX (Coarse/Fine Mode Maximum)
- FCSM_TA (Fragment Shader Coarse/Fine Mode Test Accept)
- FCSM_MX (Fragment Shader Coarse/Fine Mode Maximum)

Currently these stubs:
1. Return false (ir.Imm1(false)) as a placeholder value
2. Log a warning message indicating the stub
3. Allow shaders using these conditions to compile rather than fail

This is a step toward proper implementation of coarse/fine mode shader
operations. The stubs prevent crashes while making it clear which code paths
need full implementation.

Technical notes:
- Removed the previous FCSM_TR implementation that used flag operations
- Added consistent warning messages for tracking stub usage
- Kept within the existing GetFlowTest switch statement structure
This commit is contained in:
Zephyron 2025-01-17 19:28:11 +10:00
parent ee0beea82a
commit 382999025a
30 changed files with 128 additions and 112 deletions

View file

@ -409,7 +409,7 @@ This would ban both their forum username and their IP address.</source>
</message> </message>
<message> <message>
<location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/> <location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/>
<source>Mii Edit</source> <source>Mii Editor</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
@ -6074,7 +6074,7 @@ Please, only use this feature to install updates and DLC.</source>
</message> </message>
<message> <message>
<location filename="../../src/citron/main.cpp" line="4451"/> <location filename="../../src/citron/main.cpp" line="4451"/>
<source>Mii Edit Applet</source> <source>Mii Editor Applet</source>
<translation>Mii تحرير التطبيق الصغير</translation> <translation>Mii تحرير التطبيق الصغير</translation>
</message> </message>
<message> <message>

View file

@ -407,7 +407,7 @@ This would ban both their forum username and their IP address.</source>
</message> </message>
<message> <message>
<location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/> <location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/>
<source>Mii Edit</source> <source>Mii Editor</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
@ -6111,7 +6111,7 @@ Si us plau, utilitzi aquesta funció només per a instal·lar actualitzacions i
</message> </message>
<message> <message>
<location filename="../../src/citron/main.cpp" line="4451"/> <location filename="../../src/citron/main.cpp" line="4451"/>
<source>Mii Edit Applet</source> <source>Mii Editor Applet</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>

View file

@ -407,7 +407,7 @@ This would ban both their forum username and their IP address.</source>
</message> </message>
<message> <message>
<location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/> <location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/>
<source>Mii Edit</source> <source>Mii Editor</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
@ -6095,7 +6095,7 @@ Tuto funkci prosím používejte pouze k instalaci aktualizací a DLC.</translat
</message> </message>
<message> <message>
<location filename="../../src/citron/main.cpp" line="4451"/> <location filename="../../src/citron/main.cpp" line="4451"/>
<source>Mii Edit Applet</source> <source>Mii Editor Applet</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>

View file

@ -409,7 +409,7 @@ Dette vil bandlyse både vedkommendes forum-brugernavn og IP-adresse.</translati
</message> </message>
<message> <message>
<location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/> <location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/>
<source>Mii Edit</source> <source>Mii Editor</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
@ -6101,7 +6101,7 @@ Please, only use this feature to install updates and DLC.</source>
</message> </message>
<message> <message>
<location filename="../../src/citron/main.cpp" line="4451"/> <location filename="../../src/citron/main.cpp" line="4451"/>
<source>Mii Edit Applet</source> <source>Mii Editor Applet</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>

View file

@ -408,7 +408,7 @@ Dies würde deren Forum-Benutzernamen und deren IP-Adresse sperren.</translation
</message> </message>
<message> <message>
<location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/> <location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/>
<source>Mii Edit</source> <source>Mii Editor</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
@ -6121,7 +6121,7 @@ Bitte nutze diese Funktion nur zum Installieren von Updates und DLC.</translatio
</message> </message>
<message> <message>
<location filename="../../src/citron/main.cpp" line="4451"/> <location filename="../../src/citron/main.cpp" line="4451"/>
<source>Mii Edit Applet</source> <source>Mii Editor Applet</source>
<translation>Mii-Edit-Applet</translation> <translation>Mii-Edit-Applet</translation>
</message> </message>
<message> <message>

View file

@ -409,7 +409,7 @@ This would ban both their forum username and their IP address.</source>
</message> </message>
<message> <message>
<location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/> <location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/>
<source>Mii Edit</source> <source>Mii Editor</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
@ -6097,7 +6097,7 @@ Please, only use this feature to install updates and DLC.</source>
</message> </message>
<message> <message>
<location filename="../../src/citron/main.cpp" line="4451"/> <location filename="../../src/citron/main.cpp" line="4451"/>
<source>Mii Edit Applet</source> <source>Mii Editor Applet</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>

View file

@ -409,7 +409,7 @@ Esto banearía su nombre del foro y su dirección IP.</translation>
</message> </message>
<message> <message>
<location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/> <location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/>
<source>Mii Edit</source> <source>Mii Editor</source>
<translation>Editor de Mii</translation> <translation>Editor de Mii</translation>
</message> </message>
<message> <message>
@ -6167,7 +6167,7 @@ Por favor, utiliza esta función sólo para instalar actualizaciones y DLCs.</tr
</message> </message>
<message> <message>
<location filename="../../src/citron/main.cpp" line="4451"/> <location filename="../../src/citron/main.cpp" line="4451"/>
<source>Mii Edit Applet</source> <source>Mii Editor Applet</source>
<translation>Applet de Editor de Mii</translation> <translation>Applet de Editor de Mii</translation>
</message> </message>
<message> <message>

View file

@ -410,7 +410,7 @@ Cela bannirait à la fois son nom d&apos;utilisateur du forum et son adresse IP.
</message> </message>
<message> <message>
<location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/> <location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/>
<source>Mii Edit</source> <source>Mii Editor</source>
<translation>Édition de Mii</translation> <translation>Édition de Mii</translation>
</message> </message>
<message> <message>
@ -6160,7 +6160,7 @@ Veuillez n&apos;utiliser cette fonctionnalité que pour installer des mises à j
</message> </message>
<message> <message>
<location filename="../../src/citron/main.cpp" line="4451"/> <location filename="../../src/citron/main.cpp" line="4451"/>
<source>Mii Edit Applet</source> <source>Mii Editor Applet</source>
<translation>Applet de l&apos;éditeur Mii</translation> <translation>Applet de l&apos;éditeur Mii</translation>
</message> </message>
<message> <message>

View file

@ -409,7 +409,7 @@ Ez kitiltaná a fórum felhasználóneve és az IP címe alapján.</translation>
</message> </message>
<message> <message>
<location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/> <location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/>
<source>Mii Edit</source> <source>Mii Editor</source>
<translation>Mii szerkesztés</translation> <translation>Mii szerkesztés</translation>
</message> </message>
<message> <message>
@ -6134,7 +6134,7 @@ Kérjük, csak frissítések és DLC-k telepítéséhez használd ezt a funkció
</message> </message>
<message> <message>
<location filename="../../src/citron/main.cpp" line="4451"/> <location filename="../../src/citron/main.cpp" line="4451"/>
<source>Mii Edit Applet</source> <source>Mii Editor Applet</source>
<translation>Mii szerkesztő applet</translation> <translation>Mii szerkesztő applet</translation>
</message> </message>
<message> <message>

View file

@ -409,7 +409,7 @@ Ini akan melarang nama pengguna forum mereka dan alamat IP mereka.</translation>
</message> </message>
<message> <message>
<location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/> <location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/>
<source>Mii Edit</source> <source>Mii Editor</source>
<translation>Ubah Mii</translation> <translation>Ubah Mii</translation>
</message> </message>
<message> <message>
@ -6154,7 +6154,7 @@ Please, only use this feature to install updates and DLC.</source>
</message> </message>
<message> <message>
<location filename="../../src/citron/main.cpp" line="4451"/> <location filename="../../src/citron/main.cpp" line="4451"/>
<source>Mii Edit Applet</source> <source>Mii Editor Applet</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>

View file

@ -409,7 +409,7 @@ Questo bannerà sia il suo nome utente del forum che il suo indirizzo IP.</trans
</message> </message>
<message> <message>
<location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/> <location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/>
<source>Mii Edit</source> <source>Mii Editor</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
@ -6130,7 +6130,7 @@ Configurazione &amp;gt; Web.</translation>
</message> </message>
<message> <message>
<location filename="../../src/citron/main.cpp" line="4451"/> <location filename="../../src/citron/main.cpp" line="4451"/>
<source>Mii Edit Applet</source> <source>Mii Editor Applet</source>
<translation>Editor dei Mii</translation> <translation>Editor dei Mii</translation>
</message> </message>
<message> <message>

View file

@ -409,7 +409,7 @@ This would ban both their forum username and their IP address.</source>
</message> </message>
<message> <message>
<location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/> <location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/>
<source>Mii Edit</source> <source>Mii Editor</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
@ -6116,7 +6116,7 @@ Please, only use this feature to install updates and DLC.</source>
</message> </message>
<message> <message>
<location filename="../../src/citron/main.cpp" line="4451"/> <location filename="../../src/citron/main.cpp" line="4451"/>
<source>Mii Edit Applet</source> <source>Mii Editor Applet</source>
<translation>Mii </translation> <translation>Mii </translation>
</message> </message>
<message> <message>

View file

@ -409,7 +409,7 @@ This would ban both their forum username and their IP address.</source>
</message> </message>
<message> <message>
<location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/> <location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/>
<source>Mii Edit</source> <source>Mii Editor</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
@ -6115,7 +6115,7 @@ Please, only use this feature to install updates and DLC.</source>
</message> </message>
<message> <message>
<location filename="../../src/citron/main.cpp" line="4451"/> <location filename="../../src/citron/main.cpp" line="4451"/>
<source>Mii Edit Applet</source> <source>Mii Editor Applet</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>

View file

@ -409,7 +409,7 @@ Dette vil bannlyse både deres forum brukernavn og deres IP adresse.</translatio
</message> </message>
<message> <message>
<location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/> <location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/>
<source>Mii Edit</source> <source>Mii Editor</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
@ -6120,7 +6120,7 @@ Bruk kun denne funksjonen til å installere oppdateringer og DLC.</translation>
</message> </message>
<message> <message>
<location filename="../../src/citron/main.cpp" line="4451"/> <location filename="../../src/citron/main.cpp" line="4451"/>
<source>Mii Edit Applet</source> <source>Mii Editor Applet</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>

View file

@ -409,7 +409,7 @@ Dit zou zowel hun forum gebruikersnaam als hun IP-adres verbannen.</translation>
</message> </message>
<message> <message>
<location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/> <location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/>
<source>Mii Edit</source> <source>Mii Editor</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
@ -6108,7 +6108,7 @@ Gebruik deze functie alleen om updates en DLC te installeren.</translation>
</message> </message>
<message> <message>
<location filename="../../src/citron/main.cpp" line="4451"/> <location filename="../../src/citron/main.cpp" line="4451"/>
<source>Mii Edit Applet</source> <source>Mii Editor Applet</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>

View file

@ -409,7 +409,7 @@ To zbanuje jego/jej nick na forum, oraz jego/jej adres IP.</translation>
</message> </message>
<message> <message>
<location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/> <location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/>
<source>Mii Edit</source> <source>Mii Editor</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
@ -6111,7 +6111,7 @@ Proszę, używaj tej funkcji tylko do instalowania łatek i DLC.</translation>
</message> </message>
<message> <message>
<location filename="../../src/citron/main.cpp" line="4451"/> <location filename="../../src/citron/main.cpp" line="4451"/>
<source>Mii Edit Applet</source> <source>Mii Editor Applet</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>

View file

@ -409,7 +409,7 @@ Isto banirá tanto o nome de usuário do fórum como o endereço IP.</translatio
</message> </message>
<message> <message>
<location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/> <location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/>
<source>Mii Edit</source> <source>Mii Editor</source>
<translation>Editar Mii</translation> <translation>Editar Mii</translation>
</message> </message>
<message> <message>
@ -6169,7 +6169,7 @@ Por favor, use esse recurso apenas para instalar atualizações e DLCs.</transla
</message> </message>
<message> <message>
<location filename="../../src/citron/main.cpp" line="4451"/> <location filename="../../src/citron/main.cpp" line="4451"/>
<source>Mii Edit Applet</source> <source>Mii Editor Applet</source>
<translation>Miniaplicativo Editor de Mii</translation> <translation>Miniaplicativo Editor de Mii</translation>
</message> </message>
<message> <message>

View file

@ -409,7 +409,7 @@ Isto banirá tanto o nome de usuário do fórum como o endereço IP.</translatio
</message> </message>
<message> <message>
<location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/> <location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/>
<source>Mii Edit</source> <source>Mii Editor</source>
<translation>Editar Mii</translation> <translation>Editar Mii</translation>
</message> </message>
<message> <message>
@ -6152,7 +6152,7 @@ Por favor, use esse recurso apenas para instalar atualizações e DLC.</translat
</message> </message>
<message> <message>
<location filename="../../src/citron/main.cpp" line="4451"/> <location filename="../../src/citron/main.cpp" line="4451"/>
<source>Mii Edit Applet</source> <source>Mii Editor Applet</source>
<translation>Applet Editor de Miis</translation> <translation>Applet Editor de Miis</translation>
</message> </message>
<message> <message>

View file

@ -409,7 +409,7 @@ This would ban both their forum username and their IP address.</source>
</message> </message>
<message> <message>
<location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/> <location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/>
<source>Mii Edit</source> <source>Mii Editor</source>
<translation>Mii редактор</translation> <translation>Mii редактор</translation>
</message> </message>
<message> <message>
@ -6165,8 +6165,8 @@ Please, only use this feature to install updates and DLC.</source>
</message> </message>
<message> <message>
<location filename="../../src/citron/main.cpp" line="4451"/> <location filename="../../src/citron/main.cpp" line="4451"/>
<source>Mii Edit Applet</source> <source>Mii Editor Applet</source>
<translation>Mii Edit Applet</translation> <translation>Mii Editor Applet</translation>
</message> </message>
<message> <message>
<location filename="../../src/citron/main.cpp" line="4452"/> <location filename="../../src/citron/main.cpp" line="4452"/>

View file

@ -409,7 +409,7 @@ Detta kommer bannlysa både dennes användarnamn på forum samt IP-adress.</tran
</message> </message>
<message> <message>
<location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/> <location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/>
<source>Mii Edit</source> <source>Mii Editor</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
@ -6090,7 +6090,7 @@ Please, only use this feature to install updates and DLC.</source>
</message> </message>
<message> <message>
<location filename="../../src/citron/main.cpp" line="4451"/> <location filename="../../src/citron/main.cpp" line="4451"/>
<source>Mii Edit Applet</source> <source>Mii Editor Applet</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>

View file

@ -409,7 +409,7 @@ Bu işlem onların hem forum kullanıcı adını hem de IP adresini banlar.</tra
</message> </message>
<message> <message>
<location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/> <location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/>
<source>Mii Edit</source> <source>Mii Editor</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
@ -6112,7 +6112,7 @@ Lütfen bu özelliği sadece güncelleme ve DLC yüklemek için kullanın.</tran
</message> </message>
<message> <message>
<location filename="../../src/citron/main.cpp" line="4451"/> <location filename="../../src/citron/main.cpp" line="4451"/>
<source>Mii Edit Applet</source> <source>Mii Editor Applet</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>

View file

@ -409,7 +409,7 @@ This would ban both their forum username and their IP address.</source>
</message> </message>
<message> <message>
<location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/> <location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/>
<source>Mii Edit</source> <source>Mii Editor</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
@ -6124,7 +6124,7 @@ Please, only use this feature to install updates and DLC.</source>
</message> </message>
<message> <message>
<location filename="../../src/citron/main.cpp" line="4451"/> <location filename="../../src/citron/main.cpp" line="4451"/>
<source>Mii Edit Applet</source> <source>Mii Editor Applet</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>

View file

@ -409,7 +409,7 @@ Việc này sẽ ban tên người dùng trên diễn đàn và IP của họ lu
</message> </message>
<message> <message>
<location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/> <location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/>
<source>Mii Edit</source> <source>Mii Editor</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
@ -6117,7 +6117,7 @@ Vui lòng, chỉ sử dụng tính năng này để cài đặt các bản cập
</message> </message>
<message> <message>
<location filename="../../src/citron/main.cpp" line="4451"/> <location filename="../../src/citron/main.cpp" line="4451"/>
<source>Mii Edit Applet</source> <source>Mii Editor Applet</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>

View file

@ -409,7 +409,7 @@ This would ban both their forum username and their IP address.</source>
</message> </message>
<message> <message>
<location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/> <location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/>
<source>Mii Edit</source> <source>Mii Editor</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>
@ -6117,7 +6117,7 @@ Vui lòng, chỉ sử dụng tính năng này để cài các bản cập nhật
</message> </message>
<message> <message>
<location filename="../../src/citron/main.cpp" line="4451"/> <location filename="../../src/citron/main.cpp" line="4451"/>
<source>Mii Edit Applet</source> <source>Mii Editor Applet</source>
<translation type="unfinished"/> <translation type="unfinished"/>
</message> </message>
<message> <message>

View file

@ -409,8 +409,8 @@ This would ban both their forum username and their IP address.</source>
</message> </message>
<message> <message>
<location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/> <location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/>
<source>Mii Edit</source> <source>Mii Editor</source>
<translation>Mii Edit</translation> <translation>Mii Editor</translation>
</message> </message>
<message> <message>
<location filename="../../src/citron/configuration/shared_translation.cpp" line="38"/> <location filename="../../src/citron/configuration/shared_translation.cpp" line="38"/>
@ -6165,8 +6165,8 @@ Please, only use this feature to install updates and DLC.</source>
</message> </message>
<message> <message>
<location filename="../../src/citron/main.cpp" line="4451"/> <location filename="../../src/citron/main.cpp" line="4451"/>
<source>Mii Edit Applet</source> <source>Mii Editor Applet</source>
<translation>Mii Edit </translation> <translation>Mii Editor </translation>
</message> </message>
<message> <message>
<location filename="../../src/citron/main.cpp" line="4452"/> <location filename="../../src/citron/main.cpp" line="4452"/>

View file

@ -409,8 +409,8 @@ This would ban both their forum username and their IP address.</source>
</message> </message>
<message> <message>
<location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/> <location filename="../../src/citron/configuration/shared_translation.cpp" line="37"/>
<source>Mii Edit</source> <source>Mii Editor</source>
<translation>Mii Edit</translation> <translation>Mii Editor</translation>
</message> </message>
<message> <message>
<location filename="../../src/citron/configuration/shared_translation.cpp" line="38"/> <location filename="../../src/citron/configuration/shared_translation.cpp" line="38"/>
@ -6161,7 +6161,7 @@ Please, only use this feature to install updates and DLC.</source>
</message> </message>
<message> <message>
<location filename="../../src/citron/main.cpp" line="4451"/> <location filename="../../src/citron/main.cpp" line="4451"/>
<source>Mii Edit Applet</source> <source>Mii Editor Applet</source>
<translation>Mii </translation> <translation>Mii </translation>
</message> </message>
<message> <message>

View file

@ -10,6 +10,7 @@ import android.content.DialogInterface
import android.content.pm.ActivityInfo import android.content.pm.ActivityInfo
import android.content.res.Configuration import android.content.res.Configuration
import android.net.Uri import android.net.Uri
import android.os.BatteryManager
import android.os.Bundle import android.os.Bundle
import android.os.Handler import android.os.Handler
import android.os.Looper import android.os.Looper
@ -531,59 +532,8 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
if (emulationViewModel.emulationStarted.value && if (emulationViewModel.emulationStarted.value &&
!emulationViewModel.isEmulationStopping.value !emulationViewModel.isEmulationStopping.value
) { ) {
val thermalStatus = when (powerManager.currentThermalStatus) { val temperature = getBatteryTemperature(requireContext())
PowerManager.THERMAL_STATUS_LIGHT -> 0.25f updateThermalOverlay(temperature)
PowerManager.THERMAL_STATUS_MODERATE -> 0.5f
PowerManager.THERMAL_STATUS_SEVERE -> 0.75f
PowerManager.THERMAL_STATUS_CRITICAL,
PowerManager.THERMAL_STATUS_EMERGENCY,
PowerManager.THERMAL_STATUS_SHUTDOWN -> 1.0f
else -> 0f
}
// Get temperature from battery thermal sensor
val temperature = try {
val process = Runtime.getRuntime().exec("cat /sys/class/power_supply/battery/temp")
val reader = process.inputStream.bufferedReader()
val temp = reader.readLine().toFloat() / 10f // Convert from decidegrees to degrees
reader.close()
temp
} catch (e: Exception) {
0f
}
// Convert to Fahrenheit
val fahrenheit = (temperature * 9f / 5f) + 32f
if (_binding != null) {
// Color interpolation based on temperature (green at 30°C, red at 45°C)
val normalizedTemp = ((temperature - 30f) / 15f).coerceIn(0f, 1f)
val red = (normalizedTemp * 255).toInt()
val green = ((1f - normalizedTemp) * 255).toInt()
val color = android.graphics.Color.rgb(red, green, 0)
// Create a modern progress bar using block elements
val progressBarLength = 12
val filledBars = (thermalStatus * progressBarLength).toInt()
val progressBar = buildString {
append("") // Left border
repeat(filledBars) { append("") }
repeat(progressBarLength - filledBars) { append("") }
append("") // Right border
// Add percentage
append(" ")
append(String.format("%3d%%", (thermalStatus * 100).toInt()))
}
binding.showThermalsText.setTextColor(color)
binding.showThermalsText.text = String.format(
"%s\n%.1f°C • %.1f°F",
progressBar,
temperature,
fahrenheit
)
}
thermalStatsUpdateHandler.postDelayed(thermalStatsUpdater!!, 1000) thermalStatsUpdateHandler.postDelayed(thermalStatsUpdater!!, 1000)
} }
} }
@ -595,6 +545,53 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
} }
} }
private fun updateThermalOverlay(temperature: Float) {
if (BooleanSetting.SHOW_THERMAL_OVERLAY.getBoolean() &&
emulationViewModel.emulationStarted.value &&
!emulationViewModel.isEmulationStopping.value
) {
// Get thermal status
val thermalStatus = when (powerManager.currentThermalStatus) {
PowerManager.THERMAL_STATUS_LIGHT -> 0.25f
PowerManager.THERMAL_STATUS_MODERATE -> 0.5f
PowerManager.THERMAL_STATUS_SEVERE -> 0.75f
PowerManager.THERMAL_STATUS_CRITICAL,
PowerManager.THERMAL_STATUS_EMERGENCY,
PowerManager.THERMAL_STATUS_SHUTDOWN -> 1.0f
else -> 0f
}
// Convert to Fahrenheit for additional info
val fahrenheit = (temperature * 9f / 5f) + 32f
// Create progress bar using block elements
val progressBarLength = 12
val filledBars = (thermalStatus * progressBarLength).toInt()
val progressBar = buildString {
append("") // Left border
repeat(filledBars) { append("") }
repeat(progressBarLength - filledBars) { append("") }
append("") // Right border
append(" ")
append(String.format("%3d%%", (thermalStatus * 100).toInt()))
}
// Color interpolation based on temperature (green at 30°C, red at 45°C)
val normalizedTemp = ((temperature - 30f) / 15f).coerceIn(0f, 1f)
val red = (normalizedTemp * 255).toInt()
val green = ((1f - normalizedTemp) * 255).toInt()
val color = android.graphics.Color.rgb(red, green, 0)
binding.showThermalsText.setTextColor(color)
binding.showThermalsText.text = String.format(
"%s\n%.1f°C • %.1f°F",
progressBar,
temperature,
fahrenheit
)
}
}
@SuppressLint("SourceLockedOrientationActivity") @SuppressLint("SourceLockedOrientationActivity")
private fun updateOrientation() { private fun updateOrientation() {
emulationActivity?.let { emulationActivity?.let {
@ -1095,4 +1092,12 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
private val perfStatsUpdateHandler = Handler(Looper.myLooper()!!) private val perfStatsUpdateHandler = Handler(Looper.myLooper()!!)
private val thermalStatsUpdateHandler = Handler(Looper.myLooper()!!) private val thermalStatsUpdateHandler = Handler(Looper.myLooper()!!)
} }
private fun getBatteryTemperature(context: Context): Float {
val batteryManager = context.getSystemService(Context.BATTERY_SERVICE) as BatteryManager
// Get temperature in tenths of a degree Celsius
val temperature = batteryManager.getIntProperty(BatteryManager.BATTERY_PROPERTY_TEMPERATURE)
// Convert to degrees Celsius
return temperature / 10.0f
}
} }

View file

@ -34,7 +34,7 @@ std::unique_ptr<TranslationMap> InitializeTranslations(QWidget* parent) {
INSERT(Settings, net_connect_applet_mode, tr("Net connect"), QStringLiteral()); INSERT(Settings, net_connect_applet_mode, tr("Net connect"), QStringLiteral());
INSERT(Settings, player_select_applet_mode, tr("Player select"), QStringLiteral()); INSERT(Settings, player_select_applet_mode, tr("Player select"), QStringLiteral());
INSERT(Settings, swkbd_applet_mode, tr("Software keyboard"), QStringLiteral()); INSERT(Settings, swkbd_applet_mode, tr("Software keyboard"), QStringLiteral());
INSERT(Settings, mii_edit_applet_mode, tr("Mii Edit"), QStringLiteral()); INSERT(Settings, mii_edit_applet_mode, tr("Mii Editor"), QStringLiteral());
INSERT(Settings, web_applet_mode, tr("Online web"), QStringLiteral()); INSERT(Settings, web_applet_mode, tr("Online web"), QStringLiteral());
INSERT(Settings, shop_applet_mode, tr("Shop"), QStringLiteral()); INSERT(Settings, shop_applet_mode, tr("Shop"), QStringLiteral());
INSERT(Settings, photo_viewer_applet_mode, tr("Photo viewer"), QStringLiteral()); INSERT(Settings, photo_viewer_applet_mode, tr("Photo viewer"), QStringLiteral());

View file

@ -4445,7 +4445,7 @@ void GMainWindow::OnMiiEdit() {
auto mii_applet_nca = bis_system->GetEntry(MiiEditId, FileSys::ContentRecordType::Program); auto mii_applet_nca = bis_system->GetEntry(MiiEditId, FileSys::ContentRecordType::Program);
if (!mii_applet_nca) { if (!mii_applet_nca) {
QMessageBox::warning(this, tr("Mii Edit Applet"), QMessageBox::warning(this, tr("Mii Editor Applet"),
tr("Mii editor is not available. Please reinstall firmware.")); tr("Mii editor is not available. Please reinstall firmware."));
return; return;
} }

View file

@ -261,12 +261,23 @@ static U1 GetFlowTest(IREmitter& ir, FlowTest flow_test) {
case FlowTest::RGT: case FlowTest::RGT:
return ir.LogicalAnd(ir.LogicalNot(ir.GetSFlag()), ir.LogicalNot(ir.GetZFlag())); return ir.LogicalAnd(ir.LogicalNot(ir.GetSFlag()), ir.LogicalNot(ir.GetZFlag()));
case FlowTest::FCSM_TR: case FlowTest::FCSM_TR:
return ir.LogicalAnd(ir.GetSFlag(), ir.LogicalNot(ir.GetZFlag())); LOG_WARNING(Shader, "(STUBBED) FCSM_TR");
return ir.Imm1(false);
case FlowTest::CSM_TA: case FlowTest::CSM_TA:
LOG_WARNING(Shader, "(STUBBED) CSM_TA");
return ir.Imm1(false);
case FlowTest::CSM_TR: case FlowTest::CSM_TR:
LOG_WARNING(Shader, "(STUBBED) CSM_TR");
return ir.Imm1(false);
case FlowTest::CSM_MX: case FlowTest::CSM_MX:
LOG_WARNING(Shader, "(STUBBED) CSM_MX");
return ir.Imm1(false);
case FlowTest::FCSM_TA: case FlowTest::FCSM_TA:
LOG_WARNING(Shader, "(STUBBED) FCSM_TA");
return ir.Imm1(false);
case FlowTest::FCSM_MX: case FlowTest::FCSM_MX:
LOG_WARNING(Shader, "(STUBBED) FCSM_MX");
return ir.Imm1(false);
default: default:
throw NotImplementedException("Flow test {}", flow_test); throw NotImplementedException("Flow test {}", flow_test);
} }