* More powerful Uri class, adds unit test for Uri class. Refactores some code in SocketIO & Websocket.
* Adds missing header file stdint.h
* Exports Uri class
* Uri belongs to network group
* Updates the location of group comment
* Removes an unused include.
* Updates Uri comment.
If the delta time dt passed to cocos2d::Timer::update(float) is longer than the
interval of the timer, then the timer will be triggered several times even if
the selector is unscheduled during the call.
This commit adds a flag in cocos2d::Timer stop the update loop if the selector
has been unscheduled.
* Some fixes for search paths:
1. Adds ‘_originalSearchPaths’ variable, ’getSearchPaths’ returns the original values set by ‘setSearchPaths’ or ‘addSearchPath’.
2. Adds a getter function ‘getDefaultResourceRootPath’.
3. ‘setDefaultResourceRootPath’ should also update search paths and remove file path cache internally.
4. ‘setSearchPaths’ supports to pass self (_originalSearchPath), could be used in ‘setDefaultResourceRootPath’ to update the final ’_searchPathArray’ for searching full path.
5. ‘addSearchPath’ fix, the default resource root path should be the last element in ‘_searchPathArray’.
* Checks whether the parameter ‘searchResolutionOrder’ passed in is the same as ‘_searchResolutionsOrderArray’.
* Don’t break the compatibility, add a new method called ‘FileUtils::getOriginalSearchPaths’.
* 17357: Better encapsulate the definition of mouse buttons
Move definition of buttons from a list of #define's to an enum class and
make appropriate updates for successful compilation.
* 17357: Better encapsulate the definition of mouse buttons
Updates from code review:
* Removed changes to automatically generated files
* Removed std::ostream& convenience operator
* 17357: Fix mouse tests
* [WebSocket] Adds support for getting url and server selected protocol
* Adds const keyword for getter methods, and make LOGE also works in release mode.
* fix tizen compile issue
* enable websocket test on tizen
* change application id of tizen projects
* improve cpp-tests websockets
* update template app id of tizen
* fix tizen cpp-tests in release mode
* update 3rd deps version
* bump external version to 123
* libwebsockets & curl are dynamic libraries now, modify project configuration for win32.
Updates WebSocketTest.cpp to test wss connection.
* Corrects some logic in WebSocket.cpp. Adds wss test case. WebSocketTest suggests developers to use `WebSocket::closeAsync` method which will not block current thread.
* mutex unlock fix in WebSocket.cpp. Reverts TEST URL.
* Allows self-assign cert.
* Each ws connection will create a virutal host now. Supports self-signed cert and update test case to suggest developer use ‘closeAsync’.
* Updates deps to 123.
* fixed#16871: Material second shader texture will be lost when removeUnusedTextures is invoked.
* issue #16871: Adds test case for issue #16871.
* issue #16871: Checks whether current texture is the same as which is passed in. And more comments for release stuffs.
* Removes unused nullptr check of _value.tex.texture
CC_SAFE_RETAIN will check it.
And some indention fixes.
* 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.
* Adds Spine binary-file format support
fixes issue #10438
* ignore SkeletonBinary.c from linter
* add another file to the exclude list
* lua manual fixes for spine
* SkeletonBinary.c and not .cpp
* missing files for win8.1
* don't compile it as crt
* new updates from spine
* fix: staggered hex maps returns correct tile
order was fixed in the array that contains the GIDs.
fixes Github issue #16512
* fix: add fix validation code for issue #16512
* fix: Label updateColor() and underline color work as expected
fixes Github issue #15214 correctly. underline uses _displayColor
and not _textColorF. _textColorF is only for the text.
This also emulates the SystemFont underline behavior
fixes Github issue #16471
* docs: added more internal doc for issue_16471
* Warning fixes in AudioDecoder.cpp
* AudioPauseResumeAfterPlay test case should start in onEnter.
And add a loop to pause & resume many times.
* AudioMixerController::initTrack should not setState for track. Otherwise, it may trigger Track state mess-up.
fixes Github issue #15214 correctly. underline uses _displayColor
and not _textColorF. _textColorF is only for the text.
This also emulates the SystemFont underline behavior
fixes Github issue #16471
* new actions ResizeBy and ResizeTo
* FDP-5580-ResizeBy and ResizeTo fix and Test cpp : added a scale exemple in the test cpp to compare with our new resize + fix
* FDP-5580: actions ResizeBy and ResizeTo : changed some functions visibility
* fix: TriangleCommands with custom uniforms can be batched
TriangleCommands with custom uniforms can be batched together.
This improves the performance when using custom uniforms without
adding any penalties when not using them
Github issue #16224
* better tests
* Upgrades to Spine v3.4
Github issue #16115
* compiles and works on windows
tested on:
* win32
* win10
* win8.1
* include-linter: don't test spine files
we need them unmodified
* spine bindings fixes
also, doesn't use goblins-ffd. instead it uses goblins.
goblins-ffd is no longer present in spine v3.4
* [audio] Fixes some issues while stop/uncache right after play/preload on OSX/iOS platform.
* Better state control in AudioCache.
* Adds State enum class which contains INITIAL, LOADING, READY, FAILED states.
* AudioPlayer::destroy should check AudioCache::_isAudioLoaded flag, otherwise, app will freeze in cpp-tests/NewAudioEngineTest/6:Test invalid audio file.
* Should check whether state is INITIAL in the destructor of AudioCache.
* Adds test case for switching play state frequently.
* Skips invoking reading data callback if cache's state is INITIAL.
* Variables initialization for AudioCache class and fixes protential missing delete AL buffers.