* refine EditBox add support for pressed and disabled image
* add test case
* fix compile error
* fix compatibility
* fix compile warning
* fix test cases
* remove CC_DEPRECATED_ATTRIBUTE mark
Out of range occurred in some condition
when using `Label` with its `getLetter()` member function.
`Label::recordPlaceholderInfo()` member function is called for
new line (\n) letter in `Label::multilineTextWrap()`,
but the function doesn't set `_lettersInfo[letterIndex].lineIndex`.
But `lineIndex` is used in `Label::updateLabelLetters()`
even if letter is new line.
This change checks `letterInfo.valid` to avoid
accessing `_linesOffsetX[letterInfo.lineIndex]`
for invalid (i.e. `NewLine`) letter.
* use atomic_bool type for _isRotateThreadExited
* add test case for issues 18597
* fix test case error
* add data race comments, fix lock usage error
* add comments for audioplayer
* fix typo in comments
* revert wrong changes
* update test case, keep reproduce
* add alSourceUnqueueBuffers before stop
* improve UnqueueBuffers
* detail test case to show side effect
* remove unused comments
* add comments for AudioPlayer change
* correct a audio log level
* change log level from W to VV
* update time step, add play state check
* remove record time of UnqueueBuffers
* [UIRichText.cpp] Allow user to select if they want to trim trailing spaces for a RichElementText. Also fixed crash if estimatedIdx is less than 0 in certain conditions.
[UIRichText.h] New flag added for enabling trailing space trimming.
[CCLabelTextFormatter.cpp] Only trim trailing whitespace if lines are being split. This will trim all whitespace up to the next non-whitespace token in a line.
* Fix for oversized sprites that need to be offset by X and Y to be aligned correctly in the UIRichText
* Revert "Fix for oversized sprites that need to be offset by X and Y to be aligned correctly in the UIRichText"
This reverts commit fc5492e878a982ff748488bf1de4ffa88a3d4755.
* [UIRichText] Reverted changes made for trimming since they are no longer required. The changes made to CCLabelTextFormatter.cpp fixed all the current issues.
* Added test cases from #18869
* Removed the forced trailing space clipping since it is not required here, and causing side-effects.
* Removed comment that no longer applies to that section of code
* ARCH_DIR only useful for search linux prebuilt libs
* add iOS app target ONLY_ACTIVE_ARCH property
* set Xcode property for application, include all depend target
* fix bugs-editbox-win32 crash
* improve EditBox-align test case
* typo error
* update cocos-console submodule
* VS RelWithDebInfo build use release folder external libs
* update edit box H alignment case
* improve label no-break-space test case
* fix label test cases bug
* add GetterSetter define for the placeHolder of TextField
* fix event condition bugs on ParticleTest.lua
* CMake build improvements
* android cmake support
* Enable proguard for cocos2d
* examples & test cmake support
* add android build type param to gradle.properties file
* less warnings
* update all android configs to recomended settings
* fix network cmake error
* fix js-tests cmake error
* android build config, add cmake
* android build config, add cmake
* add lua share lib
* android lua cmake build fix
* fix
* luajit test
* run fail, still
* fix js-warning
* correct lua main include
* lua test project cmake support android
* try to add lua-template cmake support
* lua template fix
* js_tests support cmake on android
* js-tests improve
* cmake support js-template
* test to realise prebuild
* cmake improve, no feature
* improve templates cmake
* refactor cmake struct
* correct cpp-tests cmake
* cpp-templates cmake improve
* typo fix
* cmake struct refator
* change default option
* adapt new project struct
* uniform cmake test style
* add_dependencies to support make -j
* little struct improve
* little fix
* adapt cmake bin dir
* little improve about cmake version
* change build all tests condition
* add source_group for Xcode
* add mark source files
* add more mark source code
* add template project to test
* add macos info.plist template
* add pak macos for all project
* lua test icon fix
* not consider lua project for now
* modify pak method
* add another ios toolchain
* add ios system library
* update ios toolchain, and reduce ios compile errors
* reduce error
* make ios engine lib compile pass
* cpp-empty-test ios bundle
* cpp-tests ios support
* js-tests ios support
* templates project support ios
* fix the way of lua-tests package
* try to fix lua-template on macOS
* comment lua-template sim file
* improve display on xcode
* update cmake readme
* check android compile again
* fix android compile error
* fix linux cmake res error
* update deps version, for cmake
* fix lua_template linux compile error
* close android cmake support for now
* review template android share library name
* change PROP_BUILD_TOOLS_VERSION version to 27.0.1
* change android compile version
* make `PROP_APP_PLATFORM` back, add comments for android native build
* Revert "make `PROP_APP_PLATFORM` back, add comments for android native build"
This reverts commit 272ddc19886891b9502cde070753a870c0fdb588.
* Copyright use python script updated. might be fix by manual later
* Revert "Copyright use python script updated. might be fix by manual later"
This reverts commit 49e99418e4da1fd02afda448ddeb16210f5e8c71.
* re modify copyright, consider utf-8-sig encoding
* another situation, add Copyright before "Permission is hereby granted"
* Revert "another situation, add Copyright before "Permission is hereby granted""
This reverts commit ee82591d32353c7ce2e146fe51ef447433b47571.
* another situation, add Copyright before Permission is hereby granted
* change "Copyright (c) 2016-2016 Chukong Technologies Inc." to " Copyright (c) 2016 Chukong Technologies Inc."
* script modify copyright, consider is cocos copyright or not
* change "Copyright (c) 2017 Chukong Technologies Inc." to "Copyright (c) 2016 Chukong Technologies Inc."
* manual fix, not fix audio related
* change "2016-2016" to "2016"
* Added support for BMFont in TextField
* Added cursor support for BMFont in TextFieldTTF
Made BMFont detection case insensitive and a bit more fool proof
* Added TextField::createWithBMFont, so that the font size is determined internally.
* Revert "Added TextField::createWithBMFont, so that the font size is determined internally."
This reverts commit 46b4e72ba44979b012ffa52bb78ea0a8493f7869.
* fix BMFont Cursor scale
* remove error add subproject
* ScrollView API to stop overall scroll
* ScrollView API to stop overall scroll
* ScrollView API to stop overall scroll
Cancel current touch handling after stopScroll() is called
* New test for scrolling stop in UIScrollView
* New test for scrolling stop in UIScrollView
* allow setting and getting of pageview indicator opacity. fix some documentation comments
* don't draw the indicator the selected indicator is currently overlapping
* add a tweaked opacity to one of the test cases
* remove unused variable
* convert tabs to whitespace
* change constexpr to static const
* horizontal alignment support in RichText
* split lambda into separate function
* tweak shadow test's content size so horizontal aligment doesn't give the illusion of behaving incorrectly
* fix alignment when the last char of a line is whitespace
* fix errors from merge
* fix bug in setting of size of image elements. scaling was applied effectively twice.
* removed debugging code. whoops
* Added three new methods for UiWebView. SetOpacityWebView(float), getOpacityWebView(), setBackgroundTransparent() in IOS
* Implemented methods for UiWebView. SetOpacityWebView(float), getOpacityWebView(). They only work using android sdk +11.
* New methods not implemented for Tizen.
* Added new button for testing the opacity in the cocos2d-x test application.
* Added setBackgroundTransparent to android, and his UI-Test.
* Added setBackgroundTransparent to android, and his UI-Test.
* Added keyword const to the getters.
* Android sdk reflection. +11sdk for chaging the opacity.
* Reflection used for the webview.setLayerType, webview.setAlpha, webview.getAlpha
* Unified exceptions.
* LayerRadialGradient works on mac and iOS
* fix radius
* finish LayerRadialGradient and add test case
* use local coordinate in shader
* adjust function attributes
* implement getCenter()
* add some comments
* fix reschedule issue
* correct code formatting
* Fix isScheduled
* improve a bit performance of executing functions in cocos thread
* added test to verify reschedule issue
* re-init timer in schedule if timer exists and alive
* fix editbox textChanged event called after fragment loaded
* fix editbox duplicatd text when change text in textChanged callback
* revert changes of placeholder modification
* remove APP_SHORT_COMMANDS setting (#17722)
some developers report it will cause error on Windows though i can not reproduce it. It is strange, the setting is used to resolve command length limitation on Windows.
* Particle font size should be a const value (#17676)
* Particle font size should be a const value
* Minor fix: CCStencilStateManager.hpp -> CCStencilStateManager.h in xcode project.
* JSB SocketIO.connect supports to pass a CA cert file (#17736)
* JSB SocketIO.connect supports to pass a CA cert file
* The second parameter of SocketIO.connect function is probably a `option` object. JSB just ignores it.
* [lua-tests] Check the validity of label instance before setString.
fixed http://punchbox.info:3000/issues/26233
* Minor fix: Adds missing test case in NewAudioEngineTest.
* Should not use fread to read file from assets, uses FileUtils::getDataFromFile instead.
* Client socket should not be closed immediatelly after ::send. Otherwise, sever may will receive “Connection reset by peer - Errno 104” error on some platforms. It could be 100% reproduced on Android.
* Moves the implementation of AudioEngine::AudioInfo to cpp file.
* fixed#17591: [ios, mac, win32] Audio could not be played in the callback of AudioEngine::setFinishedCallback
* fixed#17591: Adds test case.
* delete unnneded test case on windows
* delete unneeded test cases
* avoid parameter length limit when building android on windows
* adjust project setting to delete unneeded test cases
* remove unneeded test cases for windows10
* remove unneeded test cases for tizen
* remove unnedded test case for android
* 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