You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+87-71Lines changed: 87 additions & 71 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,59 +21,61 @@
21
21
22
22
**This is another more radical fork of *Cocos2d-x-4.0*, it has Full Support OpenAL for all platforms, single texture multi GPU texture handler, C++ 17/20 and more! (see 'Highlighted Features' for more info).**
* Focuses on native game dev (easy to use, fast deployment, intuitive)
34
-
* Bugfixes ASAP
32
+
33
+
- C++ 17/20
34
+
- Focuses on native game dev (easy to use, fast deployment, intuitive)
35
+
- Bugfixes ASAP
35
36
36
37
### Thirdparty
37
38
38
-
* All thirdparty prebuilt libs are built from https://github.com/axmolengine/buildware via github actions automatically.
39
+
- All thirdparty prebuilt libs are built from <https://github.com/axmolengine/buildware> via github actions automatically.
39
40
40
41
### Highlighted Features
41
-
* Add apple M1, android x64 support, contributed by @pietpukkel
42
-
* Improve windows workflow, support linking with engine prebuilt libs, read [windows workflow guide](https://github.com/axmolengine/axmol/issues/564)
43
-
* Windows video player support (based on microsoft media foundation)
44
-
* Windows x64 build support
45
-
* Reimplement HttpClient based on yasio for concorrent http requests processing.
* Extensions license overview for easier publishing of your commercial apps based on axmol framework.
51
-
* Spine-3.8 support
52
-
*```FairyGUI``` support
53
-
* DragonBones support
54
-
* Live2D support
55
-
***ImGui integrated, easy to write game embedded tools, very easy to use, read [ImGui](extensions/ImGui/README.md) for more info**
56
-
* Refactor AudioEngine, OpenAL for all platforms
57
-
*[OpenAL Soft](https://github.com/kcat/openal-soft), pass -DAX_USE_ALSOFT=ON to cmake to force enabling it
58
-
*[OpenAL.framework](https://opensource.apple.com/tarballs/OpenAL), if no ```AX_USE_ALSOFT``` option specified, cmake script will choose it on osx/ios/tvos, even though it was marked as deprecated, but still available.
59
-
* Refactor UserDefault with [mio](https://github.com/mandreyel/mio)
60
-
* Modularize all optional extensions, move from engine core folder to an extensions folder
61
-
* Implement all .wav formats supported by ```OpenAL Soft```, such as MS-ADPCM, ADPCM, ...
62
-
* Use a modern GL loader ```Glad```
63
-
* Google [angle](https://github.com/google/angle) renderer backend support
64
-
* C++ 17/20
65
-
* IOS/TVOS SDK 9.0 as minimal deployment
66
-
* Use fast pugixml
67
-
* Use [curl](https://github.com/curl/curl) for transferring data with URL syntax
68
-
* Use SAX parser for all plist files
69
-
* ASTC 4x4/6x6/8x8 support (if hardware decoding is not supported, then software decoding is used)
70
-
* ETC2 RGB/RGBA support (if hardware decoding is not supported, then software decoding is used)
71
-
* Supported 2D physics engines (see also [APPENDIX.md](APPENDIX.md)):
72
-
* Box2D
73
-
* Box2D-optimized
74
-
* Chipmunk2D
75
-
* Supported 3D physics engines:
76
-
* Bullet Physics SDK
42
+
43
+
- Add apple M1, android x64 support, contributed by @pietpukkel
44
+
- Improve windows workflow, support linking with engine prebuilt libs, read [windows workflow guide](https://github.com/axmolengine/axmol/issues/564)
45
+
- Windows video player support (based on microsoft media foundation)
46
+
- Windows x64 build support
47
+
- Reimplement HttpClient based on yasio for concorrent http requests processing.
- Extensions license overview for easier publishing of your commercial apps based on axmol framework.
53
+
- Spine-3.8 support
54
+
-```FairyGUI``` support
55
+
- DragonBones support
56
+
- Live2D support
57
+
-**ImGui integrated, easy to write game embedded tools, very easy to use, read [ImGui](extensions/ImGui/README.md) for more info**
58
+
- Refactor AudioEngine, OpenAL for all platforms
59
+
-[OpenAL Soft](https://github.com/kcat/openal-soft), pass -DAX_USE_ALSOFT=ON to cmake to force enabling it
60
+
-[OpenAL.framework](https://opensource.apple.com/tarballs/OpenAL), if no ```AX_USE_ALSOFT``` option specified, cmake script will choose it on osx/ios/tvos, even though it was marked as deprecated, but still available.
61
+
- Refactor UserDefault with [mio](https://github.com/mandreyel/mio)
62
+
- Modularize all optional extensions, move from engine core folder to an extensions folder
63
+
- Implement all .wav formats supported by ```OpenAL Soft```, such as MS-ADPCM, ADPCM, ...
64
+
- Use a modern GL loader ```Glad```
65
+
- Google [angle](https://github.com/google/angle) renderer backend support
66
+
- C++ 17/20
67
+
- IOS/TVOS SDK 9.0 as minimal deployment
68
+
- Use fast pugixml
69
+
- Use [curl](https://github.com/curl/curl) for transferring data with URL syntax
70
+
- Use SAX parser for all plist files
71
+
- ASTC 4x4/6x6/8x8 support (if hardware decoding is not supported, then software decoding is used)
72
+
- ETC2 RGB/RGBA support (if hardware decoding is not supported, then software decoding is used)
73
+
- Supported 2D physics engines (see also [APPENDIX.md](APPENDIX.md)):
74
+
- Box2D
75
+
- Box2D-optimized
76
+
- Chipmunk2D
77
+
- Supported 3D physics engines:
78
+
- Bullet Physics SDK
77
79
78
80
[Read Full changes since cocos2d-x-4.0](CHANGELOG)
79
81
@@ -82,13 +84,16 @@ Open [APPENDIX.md](APPENDIX.md) for additional information and see [Milestones](
82
84
### Quick Start
83
85
84
86
#### Common Requirement [Python](https://www.python.org/downloads/)
85
-
* Python-2.7.17+, Python-3.7+
87
+
88
+
- Python-2.7.17+, Python-3.7+
86
89
87
90
#### Prerequisites
91
+
88
92
1. Enter `axmol` root directory
89
93
2. Run `python setup.py`, restart the console after it has finished for environment variables to take effect
90
94
91
95
#### Creating A New Project
96
+
92
97
Using a console window, the command to generate a new project is as follows:
93
98
94
99
```axmol new -p YOUR.UNIQUE.ID -d PROJECT_PATH -l [cpp|lua]```
2. Install Visual Studio 2019/2022 (it's recommended that you only use these versions)
104
110
3. Create a new project as shown [here](#creating-a-new-project)
105
111
4. In a console window, navigate into the root directory of the project you created in the previous step
106
112
5. Generate the relevant Visual Studio project using the cmake command:
107
113
108
114
```cmake -S SOURCE_DIR -B BUILD_DIR -G VISUAL_STUDIO_VERSION_STRING -A [Win32|x64]```
109
-
115
+
110
116
For example, say `SOURCE_DIR` is the current path `"."`, and `BUILD_DIR` (out-of-source build directory) is named `"build"`:
111
117
112
118
a) C++ 20:
@@ -118,19 +124,20 @@ Examples:
118
124
```cmake -S . -B build -G "Visual Studio 17 2022" -A Win32```
119
125
- for 64 bit Visual Studio 2022:
120
126
```cmake -S . -B build -G "Visual Studio 17 2022" -A x64```
121
-
127
+
122
128
b) C++17
123
-
- add `-DCXX_STD=17` for C++17 on your command line like:
124
-
cmake -S . -B build `-DCXX_STD=17` -G "Visual Studio 17 2022" -A x64
125
-
129
+
- add `-DCMAKE_CXX_STANDARD=17` for C++17 on your command line like:
130
+
cmake -S . -B build `-DCMAKE_CXX_STANDARD=17` -G "Visual Studio 17 2022" -A x64
131
+
126
132
6. Use Visual Studio to open the newly created solution file. For example, `./build/ProjectName.sln`
127
133
128
-
##### Creating the Visual Studio solution for all axmol test projects:
134
+
##### Creating the Visual Studio solution for all axmol test projects
135
+
129
136
1. Open a console window (Command Prompt, Window Terminal or Powershell)
130
137
2. Navigate into the folder where axmol is installed. For example:
131
-
138
+
132
139
```cd axmol```
133
-
140
+
134
141
3. Run one of the following commands to create the Visual Studio solution for all axmol test projects in a folder named `build`:
135
142
136
143
a) C++ 20:
@@ -142,36 +149,40 @@ Examples:
142
149
```cmake -S . -B build -G "Visual Studio 17 2022" -A Win32```
143
150
- for 64 bit Visual Studio 2022:
144
151
```cmake -S . -B build -G "Visual Studio 17 2022" -A x64```
145
-
152
+
146
153
b) C++17
147
-
- add `-DCXX_STD=17` for C++17 on your command line like:
148
-
cmake -S . -B build `-DCXX_STD=17` -G "Visual Studio 17 2022" -A x64
154
+
- add `-DCMAKE_CXX_STANDARD=17` for C++17 on your command line like:
155
+
cmake -S . -B build `-DCMAKE_CXX_STANDARD=17` -G "Visual Studio 17 2022" -A x64
149
156
150
157
4. You may either open the solution (".\build\axmol.sln") in Visual Studio and build any of the test projects via the IDE, or alternatively, build a project on the command line as follows (e.g. cpp-tests):
#### Improve 'Visual Studio' workflow, support linking with engine prebuilt libs
161
+
154
162
See [windows workflow guide](https://github.com/axmolengine/axmol/issues/564)
155
163
156
164
#### Android
157
165
158
166
##### With Android Studio
167
+
159
168
1. Install Android Studio 2021.1.1+
160
169
2. When starting Android Studio for the first time, it will guide you to install the SDK and other tools, so ensure that you do install them.
161
170
3. Start Android and choose [Open an existing Android Studio Project] and select your project. For example, the existing cpp-test project located in ```axmol\tests\cpp-tests\proj.android```
162
171
4. Start Android Studio and Open [Tools][SDKManager], then switch to ```SDK Tools```, check the ```Show Package Details```, choose the following tools and click the button ```Apply``` to install them:
163
-
* Android SDK Platform 33
164
-
* Android Gradle Plugin (AGP) 7.2.2
165
-
* Android SDK Build-Tools 30.0.3 match with AGP, refer to: https://developer.android.com/studio/releases/gradle-plugin
166
-
* Gradle 7.4.2
167
-
* NDK r23c+
168
-
* CMake 3.22.1+
172
+
- Android SDK Platform 33
173
+
- Android Gradle Plugin (AGP) 7.2.2
174
+
- Android SDK Build-Tools 30.0.3 match with AGP, refer to: <https://developer.android.com/studio/releases/gradle-plugin>
175
+
- Gradle 7.4.2
176
+
- NDK r23c+
177
+
- CMake 3.22.1+
169
178
5. Wait for ```Gradle sync``` finish.
170
-
6. Note: If you use non-sdk provided CMake edition, you will need to download ```ninja``` from https://github.com/ninja-build/ninja/releases, and copy ```ninja.exe``` to cmake's bin directory
179
+
6. Note: If you use non-sdk provided CMake edition, you will need to download ```ninja``` from <https://github.com/ninja-build/ninja/releases>, and copy ```ninja.exe``` to cmake's bin directory
171
180
172
181
##### Without Android Studio
173
-
1. Download command-tools from https://developer.android.com/studio#command-tools
182
+
183
+
1. Download command-tools from <https://developer.android.com/studio#command-tools>
174
184
2. Install Android devtools (for example in windows)
185
+
175
186
```bat
176
187
# unzip command-tools at D:\dev\adt\
177
188
# Install android devtools
@@ -185,10 +196,11 @@ See [windows workflow guide](https://github.com/axmolengine/axmol/issues/564)
185
196
```
186
197
187
198
#### iOS, tvOS and macOS
199
+
188
200
1. Ensure xcode12+ & [cmake3.21+](https://github.com/Kitware/CMake/releases) are installed, install cmake command line support: ```sudo "/Applications/CMake.app/Contents/bin/cmake-gui" --install```
189
201
2. Create a new project as shown [here](#creating-a-new-project)
190
202
3. In a console window, navigate into the root directory of the project you created in the previous step
0 commit comments