Sonys TRC save data plolicy
帖子地址:https://forums.unrealengine.com/showthread.php?130820-Sonys-TRC-save-data-plolicy
we had several problems with the standard Ps4 save game implementation, so I wanted to tell you what changes we had to make to get through the submission.
In the first must fix bug reported from Sony was:
"Placeholder icon is used for save data icon."
To fix that I had to copy an image file named "save_data.png" (228x128/24) into the sce_sys folder.
In the "PS4SaveGameSystem.cpp" I had to change the line 611 from
FillOutSceSaveDataMount(SCE_SAVE_DATA_MOUNT_MODE_RDWR | SCE_SAVE_DATA_MOUNT_MODE_CREATE, &MountData);
to
FillOutSceSaveDataMount(SCE_SAVE_DATA_MOUNT_MODE_RDWR | SCE_SAVE_DATA_MOUNT_MODE_CREATE | SCE_SAVE_DATA_MOUNT_MODE_COPY_ICON, &MountData);
And line 652 from
MountData.mountMode = SCE_SAVE_DATA_MOUNT_MODE_RDWR | SCE_SAVE_DATA_MOUNT_MODE_CREATE;
to
MountData.mountMode = SCE_SAVE_DATA_MOUNT_MODE_RDWR | SCE_SAVE_DATA_MOUNT_MODE_CREATE | SCE_SAVE_DATA_MOUNT_MODE_COPY_ICON;
The other must fix sony complained about is:
"The application deletes save data without informing the user a deletion will occur.
PREREQUISITE
No save data present for the application.
STEPS TO REPRODUCE
1. Let your app create a save game
2. Set 'Fake Save Data Broken Status' – ‘On’ for all save files.
3. Set 'Fake Free Space(FS)' – ‘On’.
4. Let your app load save data
5. Select OK to the ‘not enough free space’ message.
6. Select OK to the second ‘not enough free space’ message.
7. Select OK to the ‘Corrupted Data’ message.
8. Press the PS button and access save data from the system settings.
BUG DESCRIPTION
Observe that the application deletes the users save data without informing the user deletion will occur."
To fix that one I used DisplayDeleteConfirm() in "PS4SaveGameSystem.cpp" line 648 instead of DeleteSavedGame().
The whole process was made with engine version 4.12.5. but I compared my file to the one of the 4.14 source and there were no changes. So it’s still up to date I guess.
I hope that helps.
To set the save title and details, there's a game delegate which you can assign a function in your code to return that information:
static void ExtendedSaveGameInfoDelegate(const TCHAR* SaveName, const EGameDelegates_SaveGame Key, FString& Value)
{
static const int32 MAX_SAVEGAME_SIZE = 100 * 1024;
switch (Key)
{
case EGameDelegates_SaveGame::MaxSize:
Value = FString::Printf(TEXT("%i"), MAX_SAVEGAME_SIZE);
break;
case EGameDelegates_SaveGame::Title:
Value = TEXT("ShooterGame");
break;
case EGameDelegates_SaveGame::SubTitle:
Value = TEXT("The Shootening");
break;
case EGameDelegates_SaveGame::Detail:
Value = TEXT("ShooterGame User Settings");
break;
default:
break;
}
} class FMyGameModule : public FDefaultGameModuleImpl
{
virtual void StartupModule() override
{
FGameDelegates::Get().GetExtendedSaveGameInfoDelegate() = FExtendedSaveGameInfoDelegate::CreateStatic(ExtendedSaveGameInfoDelegate);
} virtual void ShutdownModule() override
{ }
};
Sonys TRC save data plolicy的更多相关文章
- HTML save data to CSV or excel
/********************************************************************************* * HTML save data ...
- Mobile data
1.Consume REST web services from app 2.De-serialize JSON into an in-memory object collection 3.Save ...
- ExtJS笔记 Ext.data.Model
A Model represents some object that your application manages. For example, one might define a Model ...
- Working with Data » 使用Visual Studio开发ASP.NET Core MVC and Entity Framework Core初学者教程
原文地址:https://docs.asp.net/en/latest/data/ef-mvc/intro.html The Contoso University sample web applica ...
- ios开发:Core Data概述
Core Data 概述 2005年的四月份,Apple 发布了 OS X 10.4,在这个版本中 Core Data 框架发布了.Core Data本身既不是数据库也不是数据库访问框架.相反,Cor ...
- 关于Core Data的一些整理(一)
关于Core Data的一些整理(一) 在Xcode7.2中只有Mast-Debug和Single View中可以勾选Use Core Data 如果勾选了Use Core Data,Xcode会自动 ...
- ThinkPHP5.0更改框架的验证方法对象->validate(true)->save();
我们更希望看到: // 新增对象至数据表 $result = $Teacher->validate(true)->save(); 而不是: // 新增对象至数据表 $result = $T ...
- [Project] Simulate HTTP Post Request to obtain data from Web Page by using Python Scrapy Framework
1. Background Though it's always difficult to give child a perfect name, parent never give up trying ...
- 《python for data analysis》第四章,numpy的基本使用
<利用python进行数据分析>第四章的程序,介绍了numpy的基本使用方法.(第三章为Ipython的基本使用) 科学计算.常用函数.数组处理.线性代数运算.随机模块…… # -*- c ...
随机推荐
- Linux cd命令(4)
可以说在Linux上的一切操作都是从 cd 命令开始的.cd 是change directory的简写,其作用就是更改当前工作目录. 使用cd 对于这个命令的使用,不用多说了.需要注意的两点就是: c ...
- tensorflow学习笔记七----------卷积神经网络
卷积神经网络比神经网络稍微复杂一些,因为其多了一个卷积层(convolutional layer)和池化层(pooling layer). 使用mnist数据集,n个数据,每个数据的像素为28*28* ...
- P2510 [HAOI2008]下落的圆盘
传送门 首先考虑两个圆覆盖的情况,我们可以求出圆心与交点连线 $A$ 的极角 具体就是求出两圆心连线 $B$ 极角加上余弦定理加反余弦求出 $A,B$ 之间夹角 ,然后覆盖了多少就可以得出 但是多个圆 ...
- [UWP]CompositionLinearGradientBrush加BlendEffect,双倍的快乐
原文:[UWP]CompositionLinearGradientBrush加BlendEffect,双倍的快乐 1. 什么是BlendEffect# 上一篇文章介绍了CompositionLinea ...
- FTP连接不上的解决方法
1.注意内网IP和外网IP 2.检查ftp服务是否启动 (面板首页即可看到) 3.检查防火墙20端口 ftp 21端口及被动端口39000 - 40000是否放行 (如是腾讯云/阿里云等还需检查安全组 ...
- 简单的物流项目实战,WPF的MVVM设计模式(四)
接下来写ViewModels 创建运单的ViewModel类 public class CreateExpressWindowViewModel: NotificationObject { priva ...
- 04-A的LU分解
一.矩阵$AB$的逆 $(AB)^{-1}=B^{-1}A^{-1}$,顺序正好相反 二.$A=LU$ 如矩阵: $\left[\begin{array}{ll}{2} & {1} \\ {8 ...
- 将Docker主机数据挂在到容器中
dcoker 提供三种不同的方式将数据从宿主机挂载到容器中:volumes,bind mounts, tmpfs.volumes: Docker管理宿主机文件系统的一部分(/var/lib/docke ...
- 企业微信的corpsecret在哪里?
问题: 查看“企业微信”的官方开发文档,在“获取access_token”部分提到,使用GET请求方法,访问 https://qyapi.weixin.qq.com/cgi-bin/gettoke ...
- 021-制作OpenStack镜像官方文档
可参考官方文档:https://docs.openstack.org/image-guide/ 制作centos7 :https://docs.openstack.org/image-guide/ce ...