A9VG电玩部落论坛

 找回密码
 注册
搜索
查看: 6698|回复: 21

说一下自编译OPL源码的几处修改方法

[复制链接]

精华
2
帖子
15689
威望
16 点
积分
16857 点
种子
7 点
注册时间
2008-4-5
最后登录
2024-8-1
 楼主| 发表于 2014-11-5 23:03  ·  辽宁 | 显示全部楼层 |阅读模式
本帖最后由 shenqifx 于 2014-11-13 14:27 编辑

1.打开VMC,GSM和金手指支持的方法:
用记事本打开源码根目录下的 MakeFile 文件,将VMC =0  GSM=0 CHEAT=0 三行中的0改为1保存.

2.去除IGR后硬盘断电:
记事本打开源码 ee_core\src\padhook.c 文件,将过程 Go_Browser 的内容改为:

  1. static inline void Go_Browser(void)
  2. {
  3.         // Shutdown Dev9 hardware
  4.         //if (HDDSpindown)
  5.         //        Shutdown_Dev9();

  6.         // Exit to PS2Browser
  7.         Exit(0);
  8. }
复制代码
3.Hdd模式封面由usb设备读取:
记事本打开源码 src\hddsupport.c 文件,将过程 hddGetImage 的内容改为:

  1. static int hddGetImage(char* folder, int isRelative, char* value, char* suffix, GSTEXTURE* resultTex, short psm) {
  2.         char path[256];
  3.         if (isRelative)
  4.                 //sprintf(path, "%s%s/%s_%s", hddPrefix, folder, value, suffix);
  5.                 sprintf(path, "%s%s/%s_%s", "mass:", folder, value, suffix);
  6.         else
  7.                 sprintf(path, "%s%s_%s", folder, value, suffix);
  8.         return texDiscoverLoad(resultTex, path, -1, psm);
  9. }
复制代码
4.汉化OPL:
首先将汉字TTF字库改名为 FreeSans_basic_latin.ttf 后复制到源码 thirdparty 目录下覆盖原文件
注:尽量使用小尺寸汉字库,过大的汉字库可能会造成opl启动崩溃
然后记事本打开源码 src\fntsys.c 文件,将 #define ATLAS_MAX 4 行中的4改为1,将 #define GLYPH_CACHE_PAGE_SIZE 256 行中的256改成512或640 (扩充缓存的字模数,越大占用更多的内存,过小则会出现丢字问题),最后将#define ATLAS_WIDTH 128,#define ATLAS_HEIGHT 128 这两行中的128改为512
再用记事本打开 src\lang.c 文件,对 static char *internalEnglish[LANG_STR_COUNT] = { 行下面两端有双引号的英文行进行翻译汉化,一直到};这行结束,!!!最后一定要保存为UTF8文件格式!!!(下面提供一份汉化好这部分内容)

  1. static char *internalEnglish[LANG_STR_COUNT] = {
  2.         "中文 (内置)",
  3.         "               WELCOME TO OPEN PS2 LOADER. MAIN CODE BASED ON SOURCE CODE OF HD PROJECT <[url]http://psx-scene.com[/url]> ADAPTATION TO USB ADVANCE FORMAT AND INITIAL GUI BY IFCARO <[url]http://ps2dev.ifcaro.net[/url]> MOST OF LOADER CORE IS MADE BY JIMMIKAELKAEL. ALL THE GUI IMPROVEMENTS ARE MADE BY VOLCA. THANKS FOR USING OUR PROGRAM ^^",
  4.         "Open PS2 Loader %s",
  5.         "保存",
  6.         "返回",
  7.         "网络配置",
  8.         "<未指定>",
  9.         "正在保存设置...",
  10.         "写入设置出错!",
  11.         "退出",
  12.         "设置",
  13.         "USB 游戏",
  14.         "HDD 游戏",
  15.         "ETH 游戏",
  16.         "应用",
  17.         "主题",
  18.         "语言",
  19.         "启动网络出错: %d",
  20.         "无法连接到SMB服务端: %d",
  21.         "无法登陆到SMB服务端: %d",
  22.         "无法打开共享目录: %d",
  23.         "打开",
  24.         "关闭",
  25.         "确定",
  26.         "游戏设置",
  27.         "恢复默认",
  28.         "删除Key",
  29.         "列表滚动速度",
  30.         "慢",
  31.         "中",
  32.         "快",
  33.         "默认菜单",
  34.         "从光盘加载",
  35.         "请稍候",
  36.         "加载游戏ID出错",
  37.         "列表自动排序",
  38.         "加载语言文件出错",
  39.         "关闭调试跳色",
  40.         "没有连接手柄, 等待中...",
  41.         "显示游戏封面",
  42.         "宽屏幕",
  43.         "关闭主机电源",
  44.         "正在读取配置",
  45.         "正在保存配置",
  46.         "启动设备",
  47.         "USB 设备启动模式",
  48.         "HDD 设备启动模式",
  49.         "ETH 设备启动模式",
  50.         "应用程序启动模式",
  51.         "自动",
  52.         "手动",
  53.         "启动网灌服务",
  54.         "网灌服务启动中...",
  55.         "网灌服务运行中... 按[O]停止",
  56.         "按[X]退出网灌服务",
  57.         "网灌服务停止中...",
  58.         "IGR路径",
  59.         "背景色彩",
  60.         "文字色彩",
  61.         "IP",
  62.         "掩码",
  63.         "网关",
  64.         "端口",
  65.         "共享名",
  66.         "用户名",
  67.         "密码",
  68.         "<未设置>",
  69.         "应用",
  70.         "是否确定删除该项目?",
  71.         "更名",
  72.         "删除",
  73.         "启动",
  74.         "显示设置",
  75.         "允许对游戏删除和更名",
  76.         "USB游戏碎片检测",
  77.         "保存最后运行的游戏位置",
  78.         "启用GSM",
  79.         "游戏存在文件碎片",
  80.         "无法运行该游戏",
  81.         "测试",
  82.         "留空将对应GUEST账户",
  83.         "不使用",
  84.         "只读取有效数据",
  85.         "解除Syscalls破解",
  86.         "忽略PSS视频",
  87.         "DVD-DL无效化",
  88.         "IGR无效化",
  89.         "不使用",
  90.         "隐藏dev9模块",
  91.         "交换IGR按钮",
  92.         "变更容量",
  93.         "创建",
  94.         "修改",
  95.         "终止",
  96.         "重设",
  97.         "默认设置",
  98.         "虚拟记忆卡设置",
  99.         "名称",
  100.         "容量",
  101.         "状态",
  102.         "处理进程",
  103.         "VMC文件已存在",
  104.         "VMC文件容量不正确",
  105.         "需要创建VMC文件",
  106.         "虚拟记忆卡错误 %s, 将使用真实记忆卡 (slot %d) ?",
  107.         "列表自动刷新",
  108.         "关于",
  109.         "代码",
  110.         "USB延迟启动",
  111.         "USB路径前缀",
  112.         "留空将会返回到记忆卡管理",
  113.         "休眠时间(s), 0为关闭休眠",
  114.         "硬盘自动休眠",
  115.         "视频模式",
  116.         "对话框色彩",
  117.         "已选择色彩",
  118.         "关闭说明页面",
  119.         "说明",
  120.         "指定启动文件",
  121.         "选择色彩",
  122.         "重新连接",
  123.         "留空将列表所有共享名",
  124.         "ETH路径前缀",
  125.         "退格",
  126.         "空格",
  127.         "回车",
  128.         "模式",
  129.         "虚拟记忆卡1",
  130.         "虚拟记忆卡2",
  131.         "Game ID",
  132.         "DMA模式",
  133.         "视频同步",
  134.         "模式 1",
  135.         "模式 2",
  136.         "模式 3",
  137.         "模式 4",
  138.         "模式 5",
  139.         "模式 6",
  140.         "模式 7",
  141.         "模式 8",
  142.         "模式 9",
  143.         "回调时间",
  144.         "CDVD函数调用延迟 (0 为默认值)",
  145.         "网卡接口速度模式",
  146.         "100Mbit 全双工",
  147.         "100Mbit 半双工",
  148.         "10Mbit 全双工",
  149.         "10Mbit 半双工",
  150.         "GSM配置",
  151.         "允许GSM",
  152.         "允许GSM替换视频模式",
  153.         "已选择视频模式",
  154.         "强制替换视频模式",
  155.         "横向调整",
  156.         "设置横向画面偏移像素值",
  157.         "纵向调整",
  158.         "设置纵向画面偏移像素值",
  159.         "跳过视频",
  160.         "跳过全屏视频播放",
  161.         "允许PS2RD金手指",
  162.         "金手指设置",
  163.         "允许金手指",
  164.         "启用金手指",
  165.         "金手指启用模式",
  166.         "自动选择或指定游戏",
  167.         "自动选择",
  168.         "指定游戏",
  169. };
复制代码
最后用记事本打开 src\system.c 将 USBA_crc32 过程修改为以下内容

  1. unsigned int USBA_crc32(char *string) {
  2.         return 0;
  3. }
复制代码
汉化完成

5.IGR键位互换
记事本打开 ee_core\include\padhook.h 文件,将 #define IGR_COMBO_START_SELECT 0xF6 和 #define IGR_COMBO_R3_L3        0xF9 这两行中的 0xf6 和 0xf9 互换即可,如果想屏蔽掉 start+select的组合可以将0xf6改成 0xfefe


最后请大家在修改源码时最好不要改动OPL开发者,源码出处等这类信息,请尊重源码的开发者(如果非要改动的话自己在家用用就行了,就不要发到网络共享了).

精华
0
帖子
2656
威望
0 点
积分
5017 点
种子
1583 点
注册时间
2005-4-26
最后登录
2024-12-22
发表于 2014-11-5 23:12  ·  上海 | 显示全部楼层
感谢,收藏备用。

精华
0
帖子
4271
威望
0 点
积分
5054 点
种子
17 点
注册时间
2005-4-7
最后登录
2024-12-21
发表于 2014-11-6 01:22  ·  辽宁 | 显示全部楼层
修改键位要怎么弄

以后shenqifx就不会更新了吗

精华
0
帖子
1260
威望
0 点
积分
1384 点
种子
21 点
注册时间
2014-6-30
最后登录
2024-12-1
发表于 2014-11-6 08:41  ·  广东 | 显示全部楼层
必须顶起,感谢毛利老大

精华
0
帖子
2032
威望
0 点
积分
2282 点
种子
87 点
注册时间
2008-5-13
最后登录
2024-12-22
发表于 2014-11-6 08:59  ·  湖南 | 显示全部楼层

必须顶起,感谢毛利老大https://bbs.a9vg.com/static/image/smiley/qier/peso62.gif

虽然看不懂,等有空再消化

精华
2
帖子
15689
威望
16 点
积分
16857 点
种子
7 点
注册时间
2008-4-5
最后登录
2024-8-1
 楼主| 发表于 2014-11-6 11:29  ·  辽宁 | 显示全部楼层
lin521 发表于 2014-11-6 01:22
修改键位要怎么弄

以后shenqifx就不会更新了吗

家里电脑系统换了win8后运行msys有些问题,等有空再研究了

精华
0
帖子
2505
威望
0 点
积分
3613 点
种子
673 点
注册时间
2007-1-25
最后登录
2024-12-22
发表于 2014-11-6 11:43  ·  湖北 | 显示全部楼层
可以自行汉化了?

精华
0
帖子
37437
威望
0 点
积分
43485 点
种子
1685 点
注册时间
2010-9-9
最后登录
2024-12-22
发表于 2014-11-6 16:22  ·  湖北 | 显示全部楼层
小声说:有一个现成的修改版就好了o(∩_∩)o

精华
0
帖子
5014
威望
0 点
积分
5244 点
种子
585 点
注册时间
2009-1-25
最后登录
2024-12-22
发表于 2014-11-6 20:27  ·  广西 | 显示全部楼层
能更新一个igr硬盘不断电的版本吗?

精华
0
帖子
131
威望
0 点
积分
131 点
种子
12 点
注册时间
2011-2-21
最后登录
2024-6-17
发表于 2014-11-7 03:35  ·  北京 | 显示全部楼层
本帖最后由 mariotaotao 于 2014-11-7 03:46 编辑

感謝謝樓主分享教程,請教下我是使用網友提供的帶自動更新編譯脚本的mini鏡像有辦法修改源碼嗎?還是需要用其他方法編譯opl了?
另求一下您空間opl編譯相關的文件,“PS2自制软件编译环境”這個失效了,謝謝
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|A9VG电玩部落 川公网安备 51019002005286号

GMT+8, 2024-12-23 00:22 , Processed in 0.206218 second(s), 19 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

返回顶部