by admin

Unity Patch release 4.6.8p1 is live

August 31, 2015 in News, Programming by admin

unityLogovia unity3d.com:
Improvements:

  • Asset Store: Added progress bar while decrypting downloaded Asset Store packages.

Fixes

  • (676381) – AI: Fixed crash when navmesh polygon count exceeds internal maximum.
  • (661775) – AI: Fixed occasional crash on selecting a NavMeshAgent in editor while Navigation window is open.
  • (715965) – iOS/IL2CPP: Fixed assert on socket error.
  • (none) – Android: Fixed an issue where textures didn’t load properly on Tegra devices.
  • (721346) – Android: Fixed status bar not shown and touch offset when status bar was not hidden.
  • (704016) – Editor: Made sure blendShapes normals were not imported if None was set in Import Setting.
  • (689461) – iOS/IL2CPP: Added support for access default parameter values via reflection.
  • (717904) – iOS/IL2CPP: Now allow a cast of T[] to IList (where BaseT is a base class of T) to work correctly.
  • (714759) – iOS/IL2CPP: Allow WebRequest to work with IPv6 addresses.
  • (705898) – iOS/IL2CPP: Corrected a code generation error with the JsonFX library with the error message: “not implemented on non-abstract class”.
  • (719084) – iOS/IL2CPP: Corrected an error in the negation of a float converted from an unsigned integer.
  • (712553) – iOS/IL2CPP: Fixed error when using 64-bit Interlocked operations on 32-bit devices.
  • (716138) – iOS/IL2CPP: Fixed pinning of structures with ExplicitLayout.
  • (721435) – iOS/IL2CPP: Fixed reading pointers with multiple levels of indirection.
  • (718696) – iOS/IL2CPP: Fixed unsafe pointer to struct assignment.
  • (700792) – iOS/IL2CPP: Implemented the correct rounding behavior (banker’s rounding) for the Math.Round method.
  • (none) – iOS: Fixed crash while building iOS project on El Capitan.
  • (none) – UI: Fixed API breaking change where GetMousePointerEventData required a parameter.
  • (717935) – Windows Store Apps: Fixed audio on Windows 10.

For download, follow this link.

by admin

Unreal Engine 4.9 released!

August 31, 2015 in News, Programming by admin

NEW_U_LOGO_BVia www.unrealengine.com:

This release brings hundreds of updates for Unreal Engine 4, including 129 improvements submitted by the community of Unreal Engine developers on GitHub!

Some of the major features include:

 

  • Enhanced support for mobole devices
  • Dynamic character shadows for mobile
  • Dynamic point lights for mobile
  • Decals on mobile
  • Major VR updates
    • Steam VR (HTC VIVE)
    • Gear VR updated to mobile SDK 0.6.0
  • VR Motion controller support
  • Experimental DirectX 12 support
  • Full screen particle Collision with mesh distance fields
  • Hierarchical LOD fast preview and clustering
    • Fast HLOD preview
    • Custom LOD clustering (HLOD volumes)
  •  “Arch vis” character controls
  • Widget depth ordering
  • Area shadows (for stationary lights)
  • Ambient occlusion material mask
  • Mesh distance field materials
  • Improved distance field ambient occlusion
  • Content browser advanced search
  • Collection improvements
    • Nested collections
    • Dynamic collections
    • Quick asset management
    • Improved robustness
    • Improved status reporting
    • Improved asset tooltips
  • Plugin creation wizard
  • Enhanced curve editor
  • Multiple return nodes in blueprints
  • Construct custom objects in blueprints
  • Blueprint class defaults
  • Level blueprint communication
  • Optimized math expression
  • Blueprint asset IDs
  • Montage element timing interface
  • Non-linear animation blending
  • Bone-driven animation controllers
  • Animation transition rules
    • Better handling of animation asset overrides
    • Referencing the most relevant animation player
    • Custom blend graph improvements
  • Animation curve evaluation change
  • Animation asset metadata support
  • Sound quality levels
  • Custom audio attenuation curves
  • Actor tick intervals
  • Actor encroachment detection
  • Post process blending
  • Runtime asset cache
  • Volume decals (experimental only!)
  • UE4 documentation tags, version and skill level
  • New and updated UE4 documentation
  • Asynchronous real-time audio decompression
  • shared resources  for feature packs and templates
  • Improved HTML5 (easy setup, Amazon S3 support, networking)

For more details about these major features and a more detailed release notes, please follow this link.

by admin

Cocos2d-x 3.8 rc0 is released!

August 31, 2015 in Android, C++, News, Programming by admin

cocos2dx-logovia cocos2d-x forums:

Very excited to announce the v3.8 RC0 version

Highlights and API changes of v3.8

As promised, Cocos2d-x v3.8 have greatly improved the stability and API friendliness. On one side, we continue to improve 3D capacity by providing 3D physics collider, skybox background brush and key frame event callback in Animate3D. On another side, we have refined several core modules, including UI system, AudioEngine, FileUtils, Bindings Generator, etc.

Here is some highlighted improvements:

  1. 3D Module
    • Added 3D physics collider
    • Supported setting camera background brushes with color/depth/skybox
    • Added key frame event Callback in Animate3D
    • Added light map support in Terrain
  2. UI System
    • Reimplemented and enhanced EditBox on Android
    • Added ScrollViewBar for displaying a scroll bar at the side of ScrollView (JSB/Lua ready)
    • Added RadioButton widget (JSB/Lua ready)
    • Added HANYI FullType font support
  3. AudioEngine
    • AudioEngine supported audio preloading
    • Bound new AudioEngine in JSB
  4. FileUtils
    • Added a set of file writing APIs: writeStringToFile, writeDataToFile, writeValueMapToFile, writeValueVectorToFile
  5. Others
    • Improved Bindings Generator tool
    • Merged JSB test project into cocos2d test project
    • framework: Support generate prebuilt libs of engine with debug mode
    • console: Supported new portrait projects from templates

Follow this link for more informations

by admin

Raspberry PI hang instruction

August 31, 2015 in Code Snippets, Programming, Raspberry PI, Security by admin

raspberry-NASSource from here

While writing my own assembler for ARM, I realized that an instruction fuzzer can spot some funky results on real CPUs. Undefined behaviour is a known topic for some ancient CPUs like z80, where many undefined instructions have been analyzed and exploited in order to achieve some performance tricks for the demoscene.

But undefined behaviour on modern SOCs and CPUs is not really a known topic for several reasons. First one is that there are several manufacturers and models for every single architecture, and in addition, the microcode is not documented and distributed in encrypted form, so understand what an instruction really does is hard.

This is also a problem for compilers and handwritten assembly optimizations which tend to require several fall-back implementations depending on the CPU model because the same instruction performs different on different chips.

As long as ARM is a fixed-length instruction length (except for Thumb2, which is quite easy to handle), it makes fuzzing those instructions easier than say x86. By understanding how instructions are composed you can quickly reduce the amount of instructions to fuzz.

And this is how I found 4 bytes that hang the RPI CPU; this undefined instruction doesn’t requires special privileges, so any user can execute it and brick the board. Requiring a hardware reset to bring it back to life.

A tiny ELF can be cooked with rabin2:

$ rabin2 -a arm -b32 -C elf:fedeffe7 killrpi

Radare2 allows us to quickly check that instruction with different disassemblers.

$ for a in arm arm.gnu arm.winedbg ; do rasm2 -a $a -b 32 -d fedeffe7 ; done 
    trap ; 
    <UNDEFINED> 0xe7ffdefe 
    ldrbt sp,

This doesn’t seems to show us anything useful, so let’s go deeper with the documentation:

So we can now decompose the bits of that instruction in order to understand what it is supposed to be doing:

BYTES: E7 FF DE FE 

E    7     F    F  D  E F    E 
1110 011 1 1111 [imm12] 1111 [imm4] 

So, acording to this documentation, that instruction is decoded as UDF, which is a variety of instructions that are undefined by definition and are used by debuggers to set breakpoints.

But, why only that specific construction hangs the board? Digging a bit in Google looks like this sequence is used by the Angel Debugger, which is a hardware debugger that is attached to the board using the JTAG connector and that specific core seems to enforce that exception to wait for reply.

The only way to bring it back to live is by unplugging and plugging back the power.

This bug only affects all the models of the first Raspberry PI. The RPI2 is not affected, as well as other ARM devices (phones and tablets) I tried… but maybe, other instructions provoke similar behavior 🙂

Follow the original link for more information.

C++ Internals :: STL vector, Part I

August 5, 2015 in C++, Programming, Uncategorized by Adrian Marius

c++Today is a great day to disembowel something. How’s about a well-known std::vector? You think there is nothing more you can learn about it? Believe me, you’re wrong.

In this series of three articles we are going to check:

what is std::vector and how it works (suppress a yawn)
vector’s growth factor
VC++ Debug’s “aux object”
new C++11’s methods
miscellaneous things

 

std::vector is the most famous sequence container in C++ world that encapsulates dynamic size arrays. Other sequence containers you might be aware of arestd::forward_list (since C++11), std::list, std::deque and std::array(since C++11). But the scope of this article is std::vector. So, let’s get started.

The items in std::vector are stored contiguously in memory:

Skip to toolbar