* Allow to unbind asynchronous texture loading callback with a custom key.
In order to unbind the callback passed to
`cocos2d::TextureCache::addImageAsync(path, callback)`, one has to
call `cocos2d::TextureCache::unbindImageAsync(path)`. In the cases
where the loading of the same texture is requested from several sources
simultaneously, then none of the source can unbind its own callback
unambiguously.
This commit adds an overload of the `addImageAsync` function taking an extra
argument identifying the callback, thus allowing to unbind it unambiguously
in cases where the loading of path is requested by several sources
simultaneously.
* Add a test case for TextureCache::addImageAsync with a custom key.
* Refactors WebSocket:
1. Supports wss protocol
2. Uses only one libwebsockets context, multiple wsi instances to avoid multi-thread issues
3. Uses lws_create_vhost to create multiple virtual host, different protocols works
* Adds openssl include path to xcode project configuration.
* mac doesn’t depend on curl
* ca file path should be full path.
* More bug fixes like which in https://github.com/cocos2d/cocos2d-x/pull/6986
* Remove curl dependence for mac
* Updates Andorid.mk
* [win32] Adds wss support for win32, and updates openssl, libcurl, libwebsockets libraries.
* Updates external/config.json to 118.
* [win32] Updates cocos/2d/libcocos2d.vcxproj to fix compilation error while building in release mode.
* Linux support websocket ssl connection.
* Updates external/config.json
* Updates install-deps-linux.sh
* Adds dependence of binutils, print ld version
* Updates travis scripts.
* Updates travis scripts.
* Updates travis script, don’t output log while extracting.
* update before-install.sh
* updates before-install.sh
* updates before-install.sh
* don’t output log for installing software.
* Updates config.json to 120.
* fixes issue #17119
and sanitizes the code a little bit
* more fixes
* fixes issue #17116
* restore xcode "none" sign profile
* code is cleaner
add more documentation in CCSprite.h
* missing assets
* anchor point works with batchnodes again
* [mac, ios] Adds AudioDecoder::readFixedFrames. And uses readFixedFrames to simply code.
* [mac, ios] ‘ExtAudioFileRead’ may return 0 frame while it doesn’t reach the end of very short audio file.
* [mac, ios] Adds test case for small file test.
* [mac, ios] Adds small audio file.
* [mac, ios] Macro ‘BREAK_IF’ logic fix.
* [mac, ios] Returns false of AudioDecoder::open if total frames is 0.
* Fixing issue where Scheduler::unscheduleAll() would not unschedule functions scheduled with Scheduler::performFunctionInCocosThread.
* Removing clear of _functionsToPerform from unscheduleAll, based on code review feedback. Adding a function removeAllFunctionsToBePerfomedInCocosThread, which will remove all pending functions scheduled with performFunctionOnCocosThread.
* Adding test case for Scheduler::removeAllFunctionsToBePerformedInCocosThread
* Adding proper cleanup code to Scheduler test for SchedulerRemoveAllFunctionsToBePerformedInCocosThread
* fixed#16938: Audio could not be played entirely on iOS/macOS. And refactored some code of decoding.
* Adds license header, removes unused macros.
* issue #16938: Corrects remaining frame count calculation.
* Updates include path.
* Adds comments for AudioDecoder class.
* Adds const for getter functions in AudioDecoder.
* issue #16938: Adds test case.
* Updates license years.
* Deletes trailing white spaces.
* Use resolved file name (through dictionary lookup) in font atlas creation, to prevent creating multiple atlases for the same file.
Add font tests with and without font name replacement (through dictionary lookup).
* Fix cpp-tests xcode and cmake project
* Additional fix for cmake project
* Added -Wno-unused-parameter and removed all uses of the CC_UNUSED_PARAM macro
* Commented unused parameter names in .cpp files which previously used CC_UNUSED_PARAM
* Reverted -Wno-unused-param flag.
Moved deprecated touch methods definitions to .cpp file.
Commented more unused parameter names.
* Fixed some errors and warnings caused by the previous commit.
* Commented remaining unused parameter names in .cpp files.
* Fixed unused parameter warnings in headers.
* Fixed some more unused parameter warnings.
* Fixed some more unused parameters warnings.
* Fixed mistake in previous commit, missing ComAudioReader:: in method. Other warnings.
* Fixed build errors.
* Added missing file to CMakeLists
* fixed#16735: [native] The behavior of (setRotation + setSkewX) is wrong.
Since I removed some logic, this patch may also improve a little bit performance.
* Adds test case for issue #16735
* Adds slice9 support for Sprite.
how to use it:
// points coords
sprite->setCenterRect(Rect(x,y,w,h));
// normalized coords
sprite->setCenterRectNormalized(Rect(x,y,w,h));
starts scale9sprite in sprite
more slice 9 changes
sprite 9 slice works?
kind of works
correct anchor point
slice 9 works, at least with non-rotated atlases
streched works ok
better Y invert code.
cleaner, compatible with the previous code
yay, scaling workings...
need a better api now
sets scale correctly
yay! works as expected!
more fixes and tests
better test for box
setContentSize() changes size in non-9-slice mode sprites as well
setCenterRect() -> setCenterRectNormalized()
yet another test
adds setPositionNormalized()
adds setCenterRect() tests
remove devel team from xcode
tests: add one more tests
fun test!
improved test
yet another test for slice 9
* fixes anchorPoint issues
* adds documentation
* fix: using top-left coordinate for setRect
* sprite: fixes related to scale9 and tiled
* Sprite: slice 9 fixes
works Ok with rotated frames
uses `setCapInsets` instead of `setCenterRect` to be more familiar
with `UIScale9Sprite`
* fixes js and lua bindings for Autopolygon
* Remove undrawn quads from the skybox mesh
CCSkybox had been implemented using a combination of two
inconsistent techniques. The rendering was being achieved via use of
the vertex shader's inherent support for cubemaps. That technique requires
only a single screen-covering quad, but the implemtation defined a cube.
Defining a cube mesh would be appropriate if one were simply mapping the
cubemap's 6 textures to faces, but is unnecessary if using the shader's
cubemap feature.
Not only was the use of a cube mesh unnecessary, but the particular way
the cube was defined and used meant that only one face would ever
contribute to the rendering. One of the other faces would always be culled
and the other four would be viewed edge on, mapping the the infinitesimally
thin lines defining the edges of the screen.
This commit simply removes the never-rendered faces, and adds comments
explaining the technique.
* Within test code, remove setScale calls applied to skyboxes.
A Skybox is defined in such a way that it's position, rotation and
scaling has no effect on it's rendering, so setScale has no effect.
The calls are removed from test code to avoid confusing anyone using
it as a template for their own programs.
* Make the Skybox correctly account for the camera's fov
The Skybox does not use the model/view and projection matricies. Instead
a single quad that maps exactly to the screen is rendered and the camera's
world matrix is passed into a shader that renders using cubemap lookups.
The way that works hardwires the fov to 90deg in both the horizontal and
vertical. That shows up particularly badly when the camera is pointed
directly downwards and rotated: the image deforms as it rotates.
This commit corrects the problem by using scaling factors from the
camera's projection matrix to prescale the matrix passed into the shader.