本帖最后由 hotcofe 于 2023-2-24 14:57 编辑
之前分享了GBA官方模拟器屏幕显示补丁,受到了很多坛友的支持,也有部分坛友提出了需要全屏补丁的请求,经过这两天与朋友一起对之前补丁内容内的LUA进行反编译及调整后,这个全屏显示补丁也算顺利修改完成,显示效果还不错,并没有造成太大的画面变形,现特别放出给需要的坛友。另外,有坛友提出的自行调节尺寸的教程我也在该帖内一并放出,有需要调整尺寸的坛友可自行查看,不需要的坛友直接回复下载补丁包即可。
显示效果如下:
使用说明:
解压数据包,将里面的ROMFS文件覆盖至原位置即可,若正在使用我之前提供的补丁包,记得按之前原帖内的替换教程进行替换。
尺寸调整教程:
尺寸调整需要涉及的文件为两个,displayresolutionmanager.lua以及sysmain.scn,相应路径如下:
displayresolutionmanager.lua:romfs\bootapp\resources\scripts\system
sysmain.scn:romfs\bootapp\resources\scenes\sys
lua文件已经过反编译,可同scn文件一样通过记事本打开,如需要自行调节尺寸,请按照以下方式一步步进行。
STEP1:调节缩放比率
打开displayresolutionmanager.lua后找到如下代码:
- function DisplayResolutionManager.getEmulatorScalingRatio(A0_12)
- return 1.341337890625 / A0_12:getUIScalingRatio()
- end
复制代码
对“return”命令后的数值进行调整,调整位置请从小数点后两位开始,调整完后自行打开模拟器查看效果,该值也用来定义左右画面边距,正常情况下,如果只追求缩放比例,调整该文件即可;
STEP2:调整画面大小及位置
打开sysmain.scn文件后找到如下代码:
- "id": "ba32dedf7bd90e8bf5dcf0145130b23e",
- "name": "EmulatorOutput",
- "transform": [1, 0, 0, 0, 1, 40],
- "enabled": true,
- "zIndex": 0,
- "visible": true,
- "color": [1, 1, 1, 1],
- "category": 0,
- "components": [
- {
- "type": "TextureComponent",
- "textureId": "",
- "blendMode": 0,
- "color": [1, 1, 1, 1],
- "enabled": true,
- "horizontalWrapMode": 3,
- "id": "ebca17224681addfb2a06475b7e5918a",
- "magFilterMode": 1,
- "material": "0821b398-a5b5-48a3-9588-ec4db45f2961",
- "materialUniformValues":
- {},
- "minFilterMode": 1,
- "scriptType": "TextureComponent",
- "properties":
- {},
- "verticalWrapMode": 3,
- "viewDepth": 0,
- "visible": true,
- "layer": 0,
- "size": [875, 683],
- "pivot": [0.5, 0.415],
- "uvOffset": [0, 0],
- "uvRepeat": [1, 1.20]
- },
复制代码
首先找到“uvrepeat”命令后的Y坐标值进行修改,数值大小为画面高度的调节,数值越大,画面越扁;
其次,在确定完画面高度后可修改“pivot”后的Y坐标数值,该数值为显示位置的上下移动,可自行调节。
调整总结:
1. 调整LUA文件数值,确认缩放比例;
2. 调整SCN文件内相关坐标数值,保证画面完整和精确性,调整不当可能会造成画面缺失。
注意:
1. 若追求像素的细微调节,建议将scn文件内的调整数值定义在小数点后三位;
2. 调整前注意文件备份,以免造成相应问题;
3. 该过程需要一定的耐心,请保持良好的心态。
|