Compare commits

...

3 Commits

Author SHA1 Message Date
ea9b4bd3ba Update README.md 2024-06-25 18:40:47 +03:00
4cfa336786 Added offsets for 3.60-REX 2020-11-01 17:47:19 +03:00
a2e0b4095f fix horrible indentation 2020-09-29 19:26:31 +03:00
2 changed files with 47 additions and 44 deletions

View File

@ -1,33 +1,33 @@
# What does it do? # What does it do?
Just like in PS4, it takes a screenshot whenever you unlock a trophy. Just like in PS4, it takes a screenshot whenever you unlock a trophy.
Best used with reScreeny: https://forum.devchroma.nl/index.php/topic,51.0.html Best used with reScreeny: https://forum.devchroma.nl/index.php/topic,51.0.html
# How do I install it? # How do I install it?
Get it from here: https://github.com/FMudanyali/TrophyShot/releases Get it from here: https://git.homd.xyz/FMudanyali/TrophyShot/releases
In config.txt inside tai folder, In config.txt inside tai folder,
TrophyShot.suprx goes under *main TrophyShot.suprx goes under *main
like this: like this:
``` ```
*main *main
ur0:tai/TrophyShot.suprx ur0:tai/TrophyShot.suprx
``` ```
After modifying the config, reboot. After modifying the config, reboot.
# Credits # Credits
- FMudanyali of Team CBPS - SceScreenShot implementation, first 4 iterations, taught teakhanirons how to use snprintf - FMudanyali of Team CBPS - SceScreenShot implementation, first 4 iterations, taught teakhanirons how to use snprintf
- **Graphene of Team CBPS** - SceShellUtil reverse engineering and ShellUtil clipboard trick, stabilization by module seperation and platinum testing - **Graphene of Team CBPS** - SceShellUtil reverse engineering and ShellUtil clipboard trick, stabilization by module seperation and platinum testing
- Princess of Sleeping of Team CBPS - SceShell reverse engineering guidance - Princess of Sleeping of Team CBPS - SceShell reverse engineering guidance
- teakhanirons of Team CBPS - SceScreenShot and additional SceShell reverse engineering - teakhanirons of Team CBPS - SceScreenShot and additional SceShell reverse engineering
- dots-tb of Team CBPS - Additional reverse engineering guidance, cool guy in general - dots-tb of Team CBPS - Additional reverse engineering guidance, cool guy in general
- Silica of Team CBPS - Prevented a disaster, twice - Silica of Team CBPS - Prevented a disaster, twice
- Pina of Team CBPS - Was there - Pina of Team CBPS - Was there
- yasen of Team CBPS - Morale support - yasen of Team CBPS - Morale support
- cuevavirus of Team CBPS - DolceSDK maintainance - cuevavirus of Team CBPS - DolceSDK maintainance
- Nkekev of Team CBPS - Requested this plugin a long time ago - Nkekev of Team CBPS - Requested this plugin a long time ago
- and Team CBPS. - and Team CBPS.

25
main.c
View File

@ -52,7 +52,7 @@ int sub_81229FAC_patched(int arg1, int arg2){
default: default:
break; break;
} }
return ret; return ret;
} }
void _start() __attribute__((weak, alias("module_start"))); void _start() __attribute__((weak, alias("module_start")));
@ -63,7 +63,7 @@ int module_start(SceSize args, void *argp) {
} }
sceIoClose(fd); sceIoClose(fd);
tai_module_info_t tai_info; tai_module_info_t tai_info;
int offset_shellshot, offset_dialog; int offset_shellshot, offset_dialog;
tai_info.size = sizeof(tai_module_info_t); tai_info.size = sizeof(tai_module_info_t);
int ret = taiGetModuleInfo("SceShell", &tai_info); int ret = taiGetModuleInfo("SceShell", &tai_info);
@ -76,17 +76,20 @@ int module_start(SceSize args, void *argp) {
break; break;
case 0x6CB01295: // 3.60 PDEL case 0x6CB01295: // 3.60 PDEL
case 0xEAB89D5C: // 3.60 PTEL case 0xEAB89D5C: // 3.60 PTEL
offset_shellshot = 0x142d5c;
offset_dialog = 0x2223e0;
break;
case 0x5549BF1F: // 3.65 retail case 0x5549BF1F: // 3.65 retail
offset_shellshot = 0x14a980; offset_shellshot = 0x14a980;
offset_dialog = 0x22a048; offset_dialog = 0x22a048;
break; break;
case 0x34B4D82E: // 3.67 retail case 0x34B4D82E: // 3.67 retail
case 0x12DAC0F3: // 3.68 retail case 0x12DAC0F3: // 3.68 retail
case 0x0703C828: // 3.69 retail case 0x0703C828: // 3.69 retail
case 0x2053B5A5: // 3.70 retail case 0x2053B5A5: // 3.70 retail
case 0xF476E785: // 3.71 retail case 0xF476E785: // 3.71 retail
case 0x939FFBE9: // 3.72 retail case 0x939FFBE9: // 3.72 retail
case 0x734D476A: // 3.73 retail case 0x734D476A: // 3.73 retail
case 0xE6A02F2B: // 3.65 PDEL case 0xE6A02F2B: // 3.65 PDEL
case 0x587F9CED: // 3.65 PTEL case 0x587F9CED: // 3.65 PTEL
offset_shellshot = 0x142db4; offset_shellshot = 0x142db4;
@ -103,7 +106,7 @@ int module_start(SceSize args, void *argp) {
&shellShot &shellShot
); );
//function found by Graphene //function found by Graphene
hook[0] = taiHookFunctionOffset( hook[0] = taiHookFunctionOffset(
&shell_hook, &shell_hook,
tai_info.modid, tai_info.modid,
0, 0,
@ -112,7 +115,7 @@ int module_start(SceSize args, void *argp) {
sub_81229FAC_patched sub_81229FAC_patched
); );
printf("INFO sub_81229FAC_patched: 0x%x\n", hook[0]); printf("INFO sub_81229FAC_patched: 0x%x\n", hook[0]);
return SCE_KERNEL_START_SUCCESS; return SCE_KERNEL_START_SUCCESS;
} }