幻の上帝吧 关注:328贴子:3,165
  • 18回复贴,共1

YSLib PreAlpha 5

只看楼主收藏回复

1楼挖坑度娘。
暂时放置play。过几天0.5发布了再说。


IP属地:北京1楼2014-05-27 14:21回复
    下载地址: http://pan.baidu.com/s/1mgjxaY0


    IP属地:北京3楼2014-05-30 01:29
    收起回复
      > YSLib PreAlpha 更新说明
      ====
      2014-05-30(PreAlpha 5)
      更改输出目录结构:目标文件和源代码分离。
      添加 MinGW.org 支持(不用于发布)。
      添加非正式的 Android 支持( YBase 外未完成)。
      更新 Doxygen 文档忽略列表,启用短文件名设置以避免含有制表符的文件名导致生成失败。
      [YBase]
      添加 Microsoft Visual Studio C++ 2013 支持。
      [YFramework]
      添加 MIME 类型和扩展名映射。
      修整光栅化接口和实现,修复未显示右下边界线段和矩形右下角的点。
      限制部件渲染区域保证绘制区域被渲染一次而正确显示。
      调整消息宏命名风格。
      添加基于界面无效化的简单逐帧动画支持。
      添加多页面图像读取支持(基于 FreeImage 独立实现)。
      添加 MRU 缓存并应用于字形缓存的实现。
      在包含中使用模块标识宏代替文件名的直接使用。
      添加 MinGW.org 运行时支持。
      按钮和单选框增加悬停控件状态并修改对应状态的外观。
      单选框禁用时渲染为灰色外观。
      添加视觉样式支持。
      添加图像缓冲区转换和保存为文件。
      未启用或隐藏的部件不响应键盘焦点。
      添加级联焦点缓冲(通过多级容器和部件的焦点确定键盘焦点)。
      添加本机按键编码分类和相关操作;支持更多虚拟按键。
      添加 TextBox 和 TabControl 控件。
      增强日志输出接口。
      [MinGW32]
      修复终止时栈溢出。
      本机窗口增加消息映射。
      [YReader]
      更改部分按键。
      添加界面风格设置。
      更改项目目录结构。
      添加界面动画、文本框和标签页测试。
      阅读器设置界面使用标签页。
      ====
      2013-10-12(build 449)
      build 449 起使用 2-Clause BSD 许可证风格的条款进行基本授权。
      [Config]
      外部依赖库移至 "/3rdparty" ,其中 FreeType 需要在头文件中显式依赖。(需要对显式依赖项指定搜索包含路径 "/3rdparty/include" 。)
      [YBase]
      增加容器适配器和序列容器适配器模板。
      增加路径类模板 ystdex::path 。
      [YFramework]
      用户 Shell 可以设置延时;
      使用 MinGW 的 ::dirent 和 ::opendir 等。
      BufferedRenderer 支持更换缓冲区。
      一些命名调整,便于配合标准库使用( Swap → swap )以及和 YBase 保持一致性( Clone → clone )。
      调整 YCLib 文件系统接口。
      重新设计 Path 类(使用ystdex::path)。
      清理 YSLib 文件系统接口。
      [MinGW] COM通用代码(需要自行增加链接库)。
      修复非 255 阶灰度字符位图(包括矢量字体的内嵌位图)渲染错误。
      增加图像读取支持(使用 FreeImage 实现)。
      不使用 FreeType Cache Subsystem 重新实现字体缓存(减少大小并提高加载效率)。
      支持渲染粗体和斜体字形位图。
      TouchEventArgs 重命名为 CursorEventArgs 。
      TouchMove 事件合并至 TouchHeld 事件。原逻辑固定。
      支持新的 UI 事件 CursorOver 和 CursorWheel (在 DS 无法自动产生但可以由用户程序触发)。
      [MinGW] 修复 GUI 响应坐标转换。
      按键绑定自动生成复合事件,不需要单独绑定 KeyPress 到 Click 。
      滚动条和列表框控件支持滚轮事件。
      增加 DS 屏幕切换功能。
      [MinGW] 允许设置顶层窗口透明性或使用 Alpha 位图。
      增加简单的动态界面加载。
      增加像素格式模板。
      扩展 Alpha 组合算法为模板。
      增加用于部件调整大小的边框(支持宿主窗口)。
      修复圆光栅化算法实现。
      增加填充圆绘制。
      事件处理器支持省略末尾部分参数的可调用类型。
      NPLA1 配置增加读写多个未命名节点项。
      [YReader]
      更改界面:缩减背景,增大文件选择区域。
      ====


      IP属地:北京4楼2014-05-30 01:31
      收起回复
        F:\Programing\NDS\YSTest\build\DS\YSTest\debug>cd /d F:\Programing\NDS\YSTest
        F:\Programing\NDS\YSTest>cloc-1.56.exe . -3 --exclude-dir=.git,.hg,_UpgradeRepor
        t_Files,doc,Data,3rdparty,YFramework/alternative --exclude-ext=a,o,lib,ob
        j,dll,exe,arm7,arm9,elf,nds,d,def,filters,log,opensdf,sdf,sln,users,vcxproj,cbp,
        layout,css,htm,html,js,xml,xslt,txt
        973 text files.
        933 unique files.
        3808 files ignored.
        http://cloc.sourceforge.net v 1.56 T=8.0 s (38.4 files/s, 10534.6 lines/s)
        -------------------------------------------------------------------------------
        Language files blank comment code scale 3rd gen. equiv
        -------------------------------------------------------------------------------
        C++ 119 5464 4141 27748 x 1.51 = 41899.48
        C/C++ Header 171 6489 17351 20820 x 1.00 = 20820.00
        make 8 397 541 1149 x 2.50 = 2872.50
        Bourne Shell 9 47 20 110 x 3.81 = 419.10
        -------------------------------------------------------------------------------
        SUM: 307 12397 22053 49827 x 1.32 = 66011.08
        -------------------------------------------------------------------------------


        IP属地:北京5楼2014-05-30 01:56
        收起回复
          渣渣。


          来自手机贴吧6楼2014-05-30 06:10
          收起回复
            不明觉厉
            —— 人智卓,傻多果


            IP属地:广东来自WindowsPhone客户端7楼2014-05-31 07:03
            回复
              嘛,各种bug...


              IP属地:北京8楼2014-06-07 19:17
              回复
                近期已完成坑货总结 $since b500 :
                [YFramework]
                初步支持NPLA1自定义动作(用于构建派生实现)。
                [Android]能显示界面。
                [Win32]实现了宿主输入(IME) 支持。
                [MinGW32]验证了 mingw-builds 的 rev3 不会 segfault 。
                [YReader]
                修复若干关于配置和书签读写的 bug 。
                填坑计划:
                [All]
                升级FreeImage并修改代码。
                [YFramework]
                NPL界面支持按字面顺序加入部件节点。
                文本框:修正制表符输入和按 Shift 输入。
                [Android]实现输入映射。
                [Android]DS模拟适配层:实现界面位置调整和缩放。
                [Android]验证文件访问。
                [Win32]对文本框提供光标跟随。
                [MinGW32]验证 clang-3.5 。
                [MinGW32]等 g++-4.9.1 并重新编译最新的 FreeImage 和 FreeType 。
                [YReader]
                避免切换输入法时按 Ctrl 键弹出菜单中断文本焦点。


                IP属地:北京本楼含有高级字体10楼2014-06-23 17:01
                回复
                  http://www.boost.org/doc/libs/1_56_0/libs/iterator/doc/indirect_iterator.html
                  原来又发明了和boost差不多的轮子。。。(我煋了六年以上)。。
                  连名字都类似(ystdex::indirect_input_iterator)。。。


                  IP属地:北京12楼2014-09-01 17:34
                  回复
                    5年来总进度首次超过计划预定,留念……
                    虽然工期核算水分很多。。。


                    IP属地:北京13楼2014-10-16 10:29
                    回复
                      [2014Q4]YSLib self hosting test
                      总之继续招白鼠,知道的都知道了,别的废话不多说……
                      1.
                      项目地址:http://tieba.baidu.com/p/3069607390
                      需要准备hg或git clone仓库,或者自行下载压缩包(这部分应该都懂,不懂就算了)。
                      以下路径以clone下来的仓库为基准。
                      2.
                      环境配置:见Readme.zh-CN.txt和doc/Dependencies.txt。
                      简单来说,支持Windows下的MSYS2 + i686-mingw-w64-g++ + binutils-git(见下文)。
                      其它环境见下文说明。
                      3.
                      测试内容:在上述受支持的环境内使用bash运行Tools/Scripts/install-sysroot.sh观察输出。(可以加上time之类看时间。)
                      注意以下内容。
                      3.1
                      建议的命令行操作步骤:
                      bash
                      SHBuild_BuildOpt=-xj,2 Tools/Scripts/install-sysroot.sh
                      #然后等待……
                      #注意,没有指定SHBuild_BuildOpt时默认值-xj,8,最多会吃掉9个CPU核心并行编译,小心物理内存不够用。
                      3.2
                      预期结果:一坨库(除了SHBuild自己暂时没有其它例子)。
                      使用tree.com sysroot:
                      ├—.shbuild
                      │ └—SHBuild
                      └—usr
                      ├—bin
                      ├—include
                      │ ├—CHRLib
                      │ ├—config
                      │ ├—Helper
                      │ ├—internal
                      │ │ └—services
                      │ ├—libdefect
                      │ ├—NPL
                      │ ├—YCLib
                      │ ├—YSLib
                      │ │ ├—Adaptor
                      │ │ ├—Core
                      │ │ ├—Service
                      │ │ └—UI
                      │ ├—ystdex
                      │ └—ytest
                      └—lib
                      注意可能建立符号链接。使用cmd下的dir /s:
                      2014-10-27 09:19 <SYMLINK> YBase.dll.a [F:\Programing\YSLib\sysroot\usr\bin\YBase.dll]
                      2014-10-27 09:19 <SYMLINK> YFramework.dll.a [F:\Programing\YSLib\sysroot\usr\bin\YFramework.dll]
                      也可以使用Link Shell Extension等查看。
                      4.
                      其它:
                      4.1
                      脚本中使用的配置:
                      : ${SHBuild_BuildOpt:="-xj,8"}
                      : ${SHBuild_LogOpt:="-xlogfl,192"}
                      : ${SHBuild_Opt:="${SHBuild_LogOpt} ${SHBuild_BuildOpt}"}
                      因此预先直接export可以不使用这些默认值。
                      关于配置的含义和用法,当构建完成时使用不带参数的Tools/SHBuild/SHBuild查看。
                      4.2
                      编译器至少需要G++ 4.8或以上版本。
                      所以估计这个坑:https://gcc.gnu.org/bugzilla/show_bug.cgi?id=46905不会踩到……
                      实际上只需要G++和bash以及binutils。(cmd是可选的……不过建立符号链接用到了cmd。注意可能需要管理员权限。)
                      默认假定使用G++ 4.9以上,以及支持LTO插件的gnu-ar。MSYS2的mingw32的binutils-git包支持LTO插件。
                      如果没有支持LTO插件的gnu-ar,对于G++ 4.9起需要"CXXFLAGS=$CXXFLAGS -ffat-lto-objets"或"CXXFLAGS=$CXXFLAGS -fno-lto",因为4.9开始默认关闭fat LTO object,如果没有LTO插件支持开启LTO后会链接失败;然后使用export AR=ar。
                      已经测试32位的mingw-w64-g++。没有测试过mingw.org的g++和x64的,但是理论上应该支持。
                      Clang++嘛。。。编译应该没问题,其它不挂不科学了……


                      IP属地:北京14楼2014-10-27 17:45
                      回复
                        真dt……
                        https://sourceware.org/bugzilla/show_bug.cgi?id=17859
                        不过这个时间点上还有人和我搞一样的东西么。
                        @SunnyCase 要不你直接上去勾搭吧,看上去比我专业的样子。。。


                        IP属地:北京15楼2015-03-14 00:10
                        收起回复