当前位置: 首页 > news >正文

Orx 1.2正式发布

经历了长达两个月的多次延期,历经iarwain的1984次更新,发布前的多次通宵奋斗,Orx 1.2终于正式发布了。。。。。。。。。。

作者的发布宣言在这里:http://orx-project.org/component/content/article/1-orx/65-orx-v12-has-been-released

新版本的下载地址在这里:http://sourceforge.net/projects/orx/files/orx/orx%20-%201.2%20%281984%29/

说实话,因为Orx目前没有好的工程文件管理系统,而又需要同时支持如此多的平台,iarwain光是为各个平台打包都花费了较长的时间。真希望有精通CMake的人能够帮他一把。将整个过程实现自动化。

新版本的Orx已经支持了目前所有的流行平台,添加了custom font和unicode支持,已经可以很好的显示中文及各类工具生成美化过的英文,iarwain为unicode的显示还自己写了一个字体工具,并且以zlib这样一个非常自由的协议发布。Have Fun!

贴一段Orx的新的Notes:

Orx - Portable Game Engine (Version 1.2)

=============================================================================

Email iarwain [at] orx-project.org to contact the author; or better, check
orx's homepage at http://orx-project.org for the most up-to-date contact information.

This engine is licensed under the zlib license, see the LICENSE file for details.


Intro
-----

Orx is a 2D-oriented, data-driven, portable game engine focused primarily on extreme ease of use.

This is the final release for orx v1.2. If you find any bugs,
please report them at http://forum.orx-project.org, on the "Bug report - Feature request" board,
or via orx's SourceForge page/tracker.

The current features of orx engine are:
- hardware-accelerated rendering that provides: translation, anisotropic scale, rotation,
transparency (alpha blending), different blending modes, coloring, tiling and mirroring
- automatic differential scrolling and depth scaling upon request
- animation engine (including a chaining graph & custom animation events for synchronization)
- fragment (pixel) shader support
- collision handling and rigid body physics
- generic input system that abstracts keyboard, mouse, joystick, touch and accelerometer inputs
- powerful config system that makes orx data-driven and provides an easy to use load/save system
- powerful localization module
- camera/viewport scheme allowing multiple views displayed with camera translation, zoom and rotation
- visual FXs based on curve combinations
- spawners (provides an easy way to create particles or projectiles)
- 3D positioning using "scene nodes"
- custom bitmap font support
- music and spatialized sound support
- clock system that provides time consistency and allows time stretching + high precision timers
- event manager
- unicode support with UTF-8 encoding
- plugin system
- screenshot capture tool (supports bmp, png, jpg, tga and dds)

See ./doc/html directory for the doxygen documentation of orx's API.

You can find details about the tutorials (as well as community-made ones) and the data-driven side of orx
(ie. how to use the config system) on orx's wiki at: http://wiki.orx-project.org

The English version is the most complete one, Chinese and Spanish translations are being written by community members.


Supported Platforms
-------------------

The engine compiles and is tested for:
- Linux (x86/x86-64 with codelite)
- Win32 (msvs2005, msvs2008, msvs2010 and mingw32 with code::blocks or codelite)
- MacOS X (ppc/x86 with xcode), version 10.5+ for GLFW plugins (default version) and 10.4+ for SFML ones (no joystick support).
- iPhone/iPod Touch/iPad (simulator & device with xcode)

The GP2X target is in debug stage and is not currently actively developed/maintained.


Versions
--------

Those are not revision versions but link/run versions.
Orx library can be compiled as a static or a dynamic library.
In addition to these modes, orx can be compiled as an embedded version or not.

Orx's core is basically platform-independent. All the platform/OS-dependent features
are implemented via plugins. These plugins can be loaded at runtime (hotplug) or
they can be embedded at linktime.

If you use the non-embedded versions, you'll have to specify which plugins to use.
This is more flexible but also requires additional files (the plugins themselves).
The embedded version will store everything in orx's library, meaning you won't be able
to choose which plugin to use at runtime, but will also be more compact. This will
also make orx run considerably faster.

From the download page you'll find precompiled binaries for Win32, Linux (x86) and MacOS X (ppc/x86)
using the dynamic embedded versions only.
If you want to use the non-embedded versions (to use with your own plugins)
or the static ones, you'll need to compile orx yourself from the source.
Everything compiles out-of-the-box for the hardware platforms cited above.

The embedded versions currently use:
- GLFW-based (+SOIL) plugins for display, joystick, keyboard and mouse for all non-iPhone platforms
- OpenAL-based (+libsndfile/stb_vorbis) plugins for sound
- Box2D-based plugin for physics
- homemade plugin for 2D rendering

- OpenGL/OpenAL-based plugins for display and sound on iPhone
- Touch/MultiTouch-based plugin for mouse on iPhone
- Accelerometer-based plugin for joystick on iPhone


Packages
--------

You can download all the packages from sourceforge (http://orx.sf.net).
Here is a list with a small description for each package.

- orx-doc-1.2.zip: orx's API doxygen documentation + PDF version of the English wiki (detailed tutorials and config system)

- orx-src-1.2.zip: orx's source code including build projects for
. code::blocks (Win32 only, non-embedded versions)
. codelite (Win32 and Linux, all versions)
. msvs2005, msvs2008 & msvs2010 (Win32 Visual Studio, all versions)
. xcode (2.4+, for MacOS X, non-static versions, for iPhone/iPod Touch, static embedded versions)
NB: You'll need orx-extern-1.2.zip (orx plugins' external dependencies) if you intend to compile orx yourself.

- orx-extern-1.2.zip: orx's external dependencies. You will only *NEED* these if you
use orx-src-1.2.zip and you plan on compiling orx yourself. They are not neeeded otherwise.
The external libraries are usually modified versions of the original ones.
VERY IMPORTANT: If you want to compile orx yourself, you'll need these versions and not the official ones.
Warning for slow connections: this package is ~67MB.

- orx-tools-1.2.zip: orx's additional set of tools (Win32, Linux and MacOS X) containing:
. orxCrypt : command line tool to encrypt/decrypt/merge multiple config files
. orxFontGen: command line tool based on FreeType2 for generating custom bitmap fonts (.tga texture & .ini config file) from TrueType fonts

- orx-dev-linux-1.2.tar.bz2: orx's dynamic embedded precompiled binaries for Linux (x86), release and debug.
- orx-dev-mac-1.2.zip : orx's dynamic embedded precompiled binaries for MacOS X (ppc/x86), release and debug.
- orx-dev-mingw-1.2.zip : orx's dynamic embedded precompiled binaries for Win32 (mingw), release and debug.
- orx-dev-msvs2005-1.2.zip : orx's dynamic embedded precompiled binaries for Win32 (Visual Studio 2005), release and debug.
- orx-dev-msvs2008-1.2.zip : orx's dynamic embedded precompiled binaries for Win32 (Visual Studio 2008), release and debug.
- orx-dev-msvs2010-1.2.zip : orx's dynamic embedded precompiled binaries for Win32 (Visual Studio 2010), release and debug.

- orx-full-iphone-1.2.zip : orx's static embedded precompiled binaries for iPhone/iPod Touch/iPad, release/debug, simulator/device + doc + source + XCode project file.

- orx-tutorial-linux-1.2.tar.bz2: orx's precompiled tutorial for Linux (x86), release only.
- orx-tutorial-mac-1.2.zip : orx's precompiled tutorial for MacOS X (ppc/x86), release only.
- orx-tutorial-mingw-1.2.zip : orx's precompiled tutorial for Win32 (mingw), release only.
- orx-tutorial-msvs2005-1.2.zip : orx's precompiled tutorial for Win32 (Visual Studio 2005), release only.
- orx-tutorial-msvs2008-1.2.zip : orx's precompiled tutorial for Win32 (Visual Studio 2008), release only.
- orx-tutorial-msvs2010-1.2.zip : orx's precompiled tutorial for Win32 (Visual Studio 2010), release only.

All the *-dev-* packages above include:
. orx release/debug libraries used for linking
. runtime release/debug orx libraries, launchers and config en/de-crypting tool
. external runtime librairies needed on some platforms
. headers to include at compile time
. Template files exposing wich properties can be accessed using the config system (for user reference only, not needed by orx)

All the *-tutorial-* packages above include:
. heavily commented source code for 11 basic and advanced tutorials
. precompiled binaries (orx link library, orx runtime library and launcher, external runtime library)
. headers to include at compile time
. Template files exposing wich properties can be accessed using the config system (for user reference only, not needed by orx)
. project files (xcode (MacOS X), codelite (Win32 mingw & Linux x86), msvs2005 & msvs2008)

NB: Most of the binaries have been packed using UPX (http://upx.sf.net) for the sake of bandwidth.
You can unpack them (upx -d) if you feel like it, but it shouldn't affect their execution anyway.


Compiling
---------

The easiest way to learn how to compile your project using orx for a given platform
is to look at the tutorial build project files. If you want to use another version
(tutorials use the dynamic embedded versions of orx), please look at
orx's launcher (main executable) build project file.

The debug version is far slower than the release one, but will output all the warning
and error messages useful for debugging.

Here's a quick list of the available compile preprocessor flags:
- __orxDEBUG__ : used to compile and link against the debug versions of orx library
(liborxd.a / orxd.lib / liborxd.dylib), if not specified it refers to
the release versions (liborx.a / orx.lib / liborx.dylib).
NB: If you want to link against the debug versions of orx library, you need
to specify it to your compiler!

- __orxSTATIC__ : used to compile and link against the static versions of orx library.
NB: If you want to link against the static versions of orx library, you need
to specify it to your compiler!

- __orxEMBEDDED__ : used to compile the embedded versions of orx library.
NB: this flag is *ONLY* needed when compiling orx library, not when linking
against it.

- __orxFREEBASIC__: used to compile and link the freebasic version of orx, still WIP.


There are other preprocessor flags used when compiling the orx library,
but those should be easy enough to decipher.
However, you might want to specify them manually for cross-compiling or
use them so that your code will behave differently depending on the architecture
for which you're compiling. Here's a quick list of these flags:
- __orxPPC__ : orx is being compiled for a PowerPC architecture
- __orxX86_64__ : orx is being compiled for a x86-64 architecture
- __orxLITTLE_ENDIAN : orx is being compiled for a little endian architecture
- __orxBIG_ENDIAN : orx is being compiled for a big endian architecture
- __orxGCC__ : orx is being compiled with gcc
- __orxMSVC__ : orx is being compiled with visual studio C/C++
- __orxWINDOWS__ : orx is being compiled for Win32
- __orxLINUX__ : orx is being compiled for Linux (x86)
- __orxMAC__ : orx is being compiled for MacOS X (ppc/x86)
- __orxIPHONE__ : orx is being compiled for iPhone/iPod Touch
- __orxWII__ : orx is being compiled for Wii
- __orxGP2X__ : orx is being compiled for GP2X (gcc-arm)
- __orxCPP__ : orx is being compiled with a C++ compiler
- __orxOBJC__ : orx is being compiled with an Objective-C compiler
- __orxFREEBASIC__ : orx is being compiled for FreeBasic
- __orxPLUGIN__ : a plugin for orx is being compiled
- __orxEXTERN__ : code using orx's library is being compiled


Comments
--------

If you have any questions, comments, ideas or reviews, feel free to post them
on orx's forum (http://forum.orx-project.org) or send them directly by mail to iarwain [at] orx-project.org

Enjoy!

相关文章:

  • 【HTML+CSS+JavaScript】网页实战开发笔记之一——HTML的头部信息里你不知道的事...
  • 百度推手机操作系统靠谱吗?--手机操作系统+移动广告分发平台
  • 基于NicheStack协议栈的网络例程分析及客户端程序设计
  • Java开源的FTP Server——Apache FtpServer
  • 【C++算法与数据结构学习笔记------单链表实现多项式】
  • 新书《路由器配置与管理完全手册——H3C篇》目录抢鲜暴光
  • cmd控制台下的编码方式
  • 用 Linux 分享网际网路连线 (Internet Connection Sharing)
  • [原]浅谈几种服务器端模型——反应堆的设计
  • OGC标准介绍 17
  • 函数的复写
  • 在对比数字中看中国大陆的发展潜力
  • Repeater控件绑定SqlDataReader数据源
  • 关闭触控器和机器滴音
  • java正则表达式应用
  • (三)从jvm层面了解线程的启动和停止
  • CoolViewPager:即刻刷新,自定义边缘效果颜色,双向自动循环,内置垂直切换效果,想要的都在这里...
  • HTML5新特性总结
  • iBatis和MyBatis在使用ResultMap对应关系时的区别
  • JavaScript中的对象个人分享
  • js数组之filter
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • Odoo domain写法及运用
  • Python连接Oracle
  • python学习笔记-类对象的信息
  • Spring技术内幕笔记(2):Spring MVC 与 Web
  • swift基础之_对象 实例方法 对象方法。
  • Webpack入门之遇到的那些坑,系列示例Demo
  • 排序算法之--选择排序
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 为物联网而生:高性能时间序列数据库HiTSDB商业化首发!
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • postgresql行列转换函数
  • 完善智慧办公建设,小熊U租获京东数千万元A+轮融资 ...
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • #我与Java虚拟机的故事#连载11: JVM学习之路
  • %3cscript放入php,跟bWAPP学WEB安全(PHP代码)--XSS跨站脚本攻击
  • ()、[]、{}、(())、[[]]命令替换
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (算法)前K大的和
  • (已更新)关于Visual Studio 2019安装时VS installer无法下载文件,进度条为0,显示网络有问题的解决办法
  • (原创) cocos2dx使用Curl连接网络(客户端)
  • (转)jQuery 基础
  • (转)Linq学习笔记
  • (转)程序员疫苗:代码注入
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程
  • .NET 8.0 中有哪些新的变化?
  • .NET Core 成都线下面基会拉开序幕
  • .net 重复调用webservice_Java RMI 远程调用详解,优劣势说明
  • .NET/C# 如何获取当前进程的 CPU 和内存占用?如何获取全局 CPU 和内存占用?