Compare commits
2 Commits
a9af16962c
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 056dd70ab7 | |||
| a605fb2bea |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -30,3 +30,4 @@ Thumbs.db
|
||||
*~
|
||||
3rd/
|
||||
lib/
|
||||
compile_commands.json
|
||||
|
||||
21
README.md
Normal file
21
README.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# DnfProject / Aurora
|
||||
|
||||
本仓库是 `Aurora` 共享库项目,使用 xmake 构建 32 位 Linux 目标。
|
||||
|
||||
## 目录结构
|
||||
|
||||
- `src/core/`:入口、控制器、调度、Hook、主流程。
|
||||
- `src/script/`:Squirrel 绑定、脚本注册、脚本请求相关代码。
|
||||
- `src/net/`:socket、DIO、HTTP/异步网络相关代码。
|
||||
- `src/db/`:MySQL 连接池和数据库封装。
|
||||
- `src/sdk/`:游戏 SDK、结构体、枚举、协议对象。
|
||||
- `src/utils/`:通用工具、编码、IO、BASE64、Singleton。
|
||||
- `third_party/`:随项目保存的第三方头文件或源码。
|
||||
- `3rd/`、`lib/`:本地第三方库和二进制依赖目录,默认不纳入 Git 跟踪。
|
||||
|
||||
## 构建方式
|
||||
|
||||
本机工作区通常是远程目录挂载,实际编译环境在 `192.168.200.110` 上。请使用 SSH 到远端执行 xmake。
|
||||
|
||||
详细命令见 `docs/build-remote.md`。
|
||||
更多清理边界说明见 docs/cleanup-notes.md。
|
||||
@@ -1,326 +0,0 @@
|
||||
[
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/CConnectPool.cpp.o", "src/CConnectPool.cpp"],
|
||||
"file": "src/CConnectPool.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/controller.cpp.o", "src/controller.cpp"],
|
||||
"file": "src/controller.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/df_main.cpp.o", "src/df_main.cpp"],
|
||||
"file": "src/df_main.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/dispatch.cpp.o", "src/dispatch.cpp"],
|
||||
"file": "src/dispatch.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/l_socket.cpp.o", "src/l_socket.cpp"],
|
||||
"file": "src/l_socket.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/l_squirrel.cpp.o", "src/l_squirrel.cpp"],
|
||||
"file": "src/l_squirrel.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/Tool.cpp.o", "src/Tool.cpp"],
|
||||
"file": "src/Tool.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/core/archtraits.cpp.o", "src/asmjit/core/archtraits.cpp"],
|
||||
"file": "src/asmjit/core/archtraits.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/core/assembler.cpp.o", "src/asmjit/core/assembler.cpp"],
|
||||
"file": "src/asmjit/core/assembler.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/core/builder.cpp.o", "src/asmjit/core/builder.cpp"],
|
||||
"file": "src/asmjit/core/builder.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/core/codeholder.cpp.o", "src/asmjit/core/codeholder.cpp"],
|
||||
"file": "src/asmjit/core/codeholder.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/core/codewriter.cpp.o", "src/asmjit/core/codewriter.cpp"],
|
||||
"file": "src/asmjit/core/codewriter.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/core/compiler.cpp.o", "src/asmjit/core/compiler.cpp"],
|
||||
"file": "src/asmjit/core/compiler.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/core/constpool.cpp.o", "src/asmjit/core/constpool.cpp"],
|
||||
"file": "src/asmjit/core/constpool.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/core/cpuinfo.cpp.o", "src/asmjit/core/cpuinfo.cpp"],
|
||||
"file": "src/asmjit/core/cpuinfo.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/core/emithelper.cpp.o", "src/asmjit/core/emithelper.cpp"],
|
||||
"file": "src/asmjit/core/emithelper.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/core/emitter.cpp.o", "src/asmjit/core/emitter.cpp"],
|
||||
"file": "src/asmjit/core/emitter.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/core/emitterutils.cpp.o", "src/asmjit/core/emitterutils.cpp"],
|
||||
"file": "src/asmjit/core/emitterutils.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/core/environment.cpp.o", "src/asmjit/core/environment.cpp"],
|
||||
"file": "src/asmjit/core/environment.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/core/errorhandler.cpp.o", "src/asmjit/core/errorhandler.cpp"],
|
||||
"file": "src/asmjit/core/errorhandler.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/core/formatter.cpp.o", "src/asmjit/core/formatter.cpp"],
|
||||
"file": "src/asmjit/core/formatter.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/core/func.cpp.o", "src/asmjit/core/func.cpp"],
|
||||
"file": "src/asmjit/core/func.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/core/funcargscontext.cpp.o", "src/asmjit/core/funcargscontext.cpp"],
|
||||
"file": "src/asmjit/core/funcargscontext.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/core/globals.cpp.o", "src/asmjit/core/globals.cpp"],
|
||||
"file": "src/asmjit/core/globals.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/core/inst.cpp.o", "src/asmjit/core/inst.cpp"],
|
||||
"file": "src/asmjit/core/inst.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/core/jitallocator.cpp.o", "src/asmjit/core/jitallocator.cpp"],
|
||||
"file": "src/asmjit/core/jitallocator.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/core/jitruntime.cpp.o", "src/asmjit/core/jitruntime.cpp"],
|
||||
"file": "src/asmjit/core/jitruntime.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/core/logger.cpp.o", "src/asmjit/core/logger.cpp"],
|
||||
"file": "src/asmjit/core/logger.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/core/operand.cpp.o", "src/asmjit/core/operand.cpp"],
|
||||
"file": "src/asmjit/core/operand.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/core/osutils.cpp.o", "src/asmjit/core/osutils.cpp"],
|
||||
"file": "src/asmjit/core/osutils.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/core/ralocal.cpp.o", "src/asmjit/core/ralocal.cpp"],
|
||||
"file": "src/asmjit/core/ralocal.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/core/rapass.cpp.o", "src/asmjit/core/rapass.cpp"],
|
||||
"file": "src/asmjit/core/rapass.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/core/rastack.cpp.o", "src/asmjit/core/rastack.cpp"],
|
||||
"file": "src/asmjit/core/rastack.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/core/string.cpp.o", "src/asmjit/core/string.cpp"],
|
||||
"file": "src/asmjit/core/string.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/core/support.cpp.o", "src/asmjit/core/support.cpp"],
|
||||
"file": "src/asmjit/core/support.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/core/target.cpp.o", "src/asmjit/core/target.cpp"],
|
||||
"file": "src/asmjit/core/target.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/core/type.cpp.o", "src/asmjit/core/type.cpp"],
|
||||
"file": "src/asmjit/core/type.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/core/virtmem.cpp.o", "src/asmjit/core/virtmem.cpp"],
|
||||
"file": "src/asmjit/core/virtmem.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/core/zone.cpp.o", "src/asmjit/core/zone.cpp"],
|
||||
"file": "src/asmjit/core/zone.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/core/zonehash.cpp.o", "src/asmjit/core/zonehash.cpp"],
|
||||
"file": "src/asmjit/core/zonehash.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/core/zonelist.cpp.o", "src/asmjit/core/zonelist.cpp"],
|
||||
"file": "src/asmjit/core/zonelist.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/core/zonestack.cpp.o", "src/asmjit/core/zonestack.cpp"],
|
||||
"file": "src/asmjit/core/zonestack.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/core/zonetree.cpp.o", "src/asmjit/core/zonetree.cpp"],
|
||||
"file": "src/asmjit/core/zonetree.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/core/zonevector.cpp.o", "src/asmjit/core/zonevector.cpp"],
|
||||
"file": "src/asmjit/core/zonevector.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/arm/a64assembler.cpp.o", "src/asmjit/arm/a64assembler.cpp"],
|
||||
"file": "src/asmjit/arm/a64assembler.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/arm/a64builder.cpp.o", "src/asmjit/arm/a64builder.cpp"],
|
||||
"file": "src/asmjit/arm/a64builder.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/arm/a64compiler.cpp.o", "src/asmjit/arm/a64compiler.cpp"],
|
||||
"file": "src/asmjit/arm/a64compiler.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/arm/a64emithelper.cpp.o", "src/asmjit/arm/a64emithelper.cpp"],
|
||||
"file": "src/asmjit/arm/a64emithelper.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/arm/a64formatter.cpp.o", "src/asmjit/arm/a64formatter.cpp"],
|
||||
"file": "src/asmjit/arm/a64formatter.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/arm/a64func.cpp.o", "src/asmjit/arm/a64func.cpp"],
|
||||
"file": "src/asmjit/arm/a64func.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/arm/a64instapi.cpp.o", "src/asmjit/arm/a64instapi.cpp"],
|
||||
"file": "src/asmjit/arm/a64instapi.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/arm/a64instdb.cpp.o", "src/asmjit/arm/a64instdb.cpp"],
|
||||
"file": "src/asmjit/arm/a64instdb.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/arm/a64operand.cpp.o", "src/asmjit/arm/a64operand.cpp"],
|
||||
"file": "src/asmjit/arm/a64operand.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/arm/a64rapass.cpp.o", "src/asmjit/arm/a64rapass.cpp"],
|
||||
"file": "src/asmjit/arm/a64rapass.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/arm/armformatter.cpp.o", "src/asmjit/arm/armformatter.cpp"],
|
||||
"file": "src/asmjit/arm/armformatter.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/x86/x86assembler.cpp.o", "src/asmjit/x86/x86assembler.cpp"],
|
||||
"file": "src/asmjit/x86/x86assembler.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/x86/x86builder.cpp.o", "src/asmjit/x86/x86builder.cpp"],
|
||||
"file": "src/asmjit/x86/x86builder.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/x86/x86compiler.cpp.o", "src/asmjit/x86/x86compiler.cpp"],
|
||||
"file": "src/asmjit/x86/x86compiler.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/x86/x86emithelper.cpp.o", "src/asmjit/x86/x86emithelper.cpp"],
|
||||
"file": "src/asmjit/x86/x86emithelper.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/x86/x86formatter.cpp.o", "src/asmjit/x86/x86formatter.cpp"],
|
||||
"file": "src/asmjit/x86/x86formatter.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/x86/x86func.cpp.o", "src/asmjit/x86/x86func.cpp"],
|
||||
"file": "src/asmjit/x86/x86func.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/x86/x86instapi.cpp.o", "src/asmjit/x86/x86instapi.cpp"],
|
||||
"file": "src/asmjit/x86/x86instapi.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/x86/x86instdb.cpp.o", "src/asmjit/x86/x86instdb.cpp"],
|
||||
"file": "src/asmjit/x86/x86instdb.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/x86/x86operand.cpp.o", "src/asmjit/x86/x86operand.cpp"],
|
||||
"file": "src/asmjit/x86/x86operand.cpp"
|
||||
},
|
||||
{
|
||||
"directory": "/home/Project/dps",
|
||||
"arguments": ["/usr/bin/g++", "-c", "-fPIC", "-fvisibility=hidden", "-fvisibility-inlines-hidden", "-O3", "-std=c++11", "-Iinclude", "-Isrc", "-Isrc/sdk", "-I3rd/squirrel/include", "-I3rd/asio/include", "-I3rd/openssl/include", "-I/usr/local/opencc-32bit/include", "-I/usr/local/keystone-32bit/include", "-DASMJIT_STATIC", "-m32", "-static-libgcc", "-static-libstdc++", "-Wno-pointer-arith", "-Wdeprecated-declarations", "-fvisibility=hidden", "-fno-asynchronous-unwind-tables", "-fpic", "-fexceptions", "-Wno-int-to-pointer-cast", "-o", "build/obj/Aurora/linux/i386/release/src/asmjit/x86/x86rapass.cpp.o", "src/asmjit/x86/x86rapass.cpp"],
|
||||
"file": "src/asmjit/x86/x86rapass.cpp"
|
||||
}]
|
||||
41
docs/build-remote.md
Normal file
41
docs/build-remote.md
Normal file
@@ -0,0 +1,41 @@
|
||||
# 远程编译验证
|
||||
|
||||
本机只编辑挂载的远程工作区,实际编译在 CentOS 7 编译机上完成。
|
||||
|
||||
## 远端环境
|
||||
|
||||
- SSH:`root@192.168.200.110`
|
||||
- 项目目录:`/home/Project/dps`
|
||||
- xmake:`/root/.local/bin/xmake`
|
||||
- 构建目标:`Aurora`
|
||||
|
||||
## 常用命令
|
||||
|
||||
配置 debug 构建:
|
||||
|
||||
```bash
|
||||
ssh root@192.168.200.110 "cd /home/Project/dps && /root/.local/bin/xmake f -m debug"
|
||||
```
|
||||
|
||||
编译 Aurora:
|
||||
|
||||
```bash
|
||||
ssh root@192.168.200.110 "cd /home/Project/dps && /root/.local/bin/xmake build Aurora"
|
||||
```
|
||||
|
||||
一次性配置并编译:
|
||||
|
||||
```bash
|
||||
ssh root@192.168.200.110 "cd /home/Project/dps && /root/.local/bin/xmake f -m debug && /root/.local/bin/xmake build Aurora"
|
||||
```
|
||||
|
||||
## 已知环境提示
|
||||
|
||||
SSH 登录时可能出现:
|
||||
|
||||
```text
|
||||
/etc/profile.d/dps-java.sh: line 3: export
|
||||
JAVA_HOME="/java_env/jdk1.8.0_161": No such file or directory
|
||||
```
|
||||
|
||||
这是远端环境脚本的已知噪音。只要 xmake 返回成功并显示 `build ok`,本项目构建验证视为通过。
|
||||
45
docs/cleanup-notes.md
Normal file
45
docs/cleanup-notes.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# 清理说明
|
||||
|
||||
本文件记录项目整理后的依赖边界,避免后续误删构建必需内容。
|
||||
|
||||
## 已验证可清理
|
||||
|
||||
以下内容已删除,并通过远程 `xmake build Aurora` 验证:
|
||||
|
||||
- `compile_commands.json`:生成文件,已加入 `.gitignore`。
|
||||
- `src/CMakeLists.txt`:旧 CMake 入口,当前只维护 `xmake.lua`。
|
||||
- `src/net/httplib.h`:未被源码引用。
|
||||
- `src/core/Hook_1.hpp`:未被源码引用。
|
||||
- `src/core/ffitest.h`:未被源码引用。
|
||||
- `src/sdk/dp2_sdk_c.h`:未被源码引用。
|
||||
- `192.168.200.110/`:空目录,非项目内容。
|
||||
|
||||
## 当前构建必需
|
||||
|
||||
以下路径被 `xmake.lua` 或源码直接依赖,不能直接删除:
|
||||
|
||||
- `3rd/squirrel`:Squirrel 头文件和静态库。
|
||||
- `3rd/asio`:Asio 头文件。
|
||||
- `3rd/openssl`:OpenSSL 头文件和静态库。
|
||||
- `3rd/frida`:Frida 静态库。
|
||||
- `3rd/zlib`:zlib 静态库。
|
||||
- `/usr/local/opencc-32bit`:OpenCC 头文件和静态库。
|
||||
- `/usr/local/keystone-32bit`:Keystone 头文件和静态库。
|
||||
- `/usr/local/libffi-32bit`:libffi 静态库。
|
||||
|
||||
## 暂不物理删除
|
||||
|
||||
以下目录未被 Git 跟踪,可能是历史构建副本或离线备份。本次不删除:
|
||||
|
||||
- `lib/`
|
||||
- `3rd/mysql`
|
||||
- `3rd/opencc`
|
||||
- `3rd/keystone`
|
||||
- `3rd/libffi`
|
||||
|
||||
如果未来要继续瘦身,建议先在远端确认没有手工脚本、部署流程或旧构建流程引用这些目录,再单独清理。
|
||||
## 已确认移除
|
||||
|
||||
- src/db/CConnectPool.cpp 和 src/db/CConnectPool.h:连接池实现已确认无脚本使用。
|
||||
- Sq_CreatCConnectPool 和 Sq_MysqlExecNoRet:对应 Squirrel API 已移除。
|
||||
- 3rd/mysql、lib/mysql:当前源码和 xmake 已无直接引用,仍作为未跟踪历史副本暂不物理删除。
|
||||
@@ -1,90 +0,0 @@
|
||||
#pragma once
|
||||
#ifndef CCONNECT_POOL_H_2021
|
||||
#define CCONNECT_POOL_H_2021
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <queue>
|
||||
#include <set>
|
||||
#include <pthread.h>
|
||||
#include <unistd.h>
|
||||
#include "mysql/mysql.h"
|
||||
|
||||
class CConnectPool
|
||||
{
|
||||
public:
|
||||
struct Connect_Info
|
||||
{
|
||||
int MinConnectCount;
|
||||
int MaxConnectCount;
|
||||
const char *Host;
|
||||
int Port;
|
||||
const char *Account;
|
||||
const char *Passwd;
|
||||
const char* KName;
|
||||
};
|
||||
|
||||
Connect_Info My_Info;
|
||||
|
||||
public:
|
||||
/**
|
||||
* @brief 创建连接池 \n
|
||||
* 在主线程中创建连接池,创建后需要调用FreePool予以释放
|
||||
* 创建失败程序会打印错误信息并终止运行
|
||||
*/
|
||||
static void
|
||||
CreatePool(int MinConnectCount, int MaxConnectCount, const char *Host, int Port, const char *Account, const char *Passwd);
|
||||
|
||||
/**
|
||||
* @brief 释放连接池 \n
|
||||
* 需要在主线程中调用该接口
|
||||
*/
|
||||
static void FreePool();
|
||||
|
||||
/**
|
||||
* @brief 获取连接 \n
|
||||
* 支持多线程,使用完成后需调用PutConnect,归还连接,本函数为阻塞函数,直到有可用连接才调用返回
|
||||
* @return 返回数据库连接
|
||||
* --NULL表示调用失败
|
||||
*/
|
||||
static MYSQL *GetConnect();
|
||||
|
||||
/**
|
||||
* @brief 获取连接 \n
|
||||
* 支持多线程,使用完成后需调用PutConnect,归还连接,本函数调用后立刻返回,若没有空闲连接则返回NULL
|
||||
* @return 返回数据库连接
|
||||
* --NULL表示调用失败
|
||||
* */
|
||||
static MYSQL *TryGetConnect();
|
||||
|
||||
/**
|
||||
* @brief 向连接池归还连接 \n
|
||||
* 支持多线程
|
||||
* @param[in] pConn 需要归还的数据库连接
|
||||
* */
|
||||
static void PutConnect(MYSQL *pConn);
|
||||
|
||||
private:
|
||||
CConnectPool();
|
||||
~CConnectPool();
|
||||
MYSQL *_GetConnect(bool bTry);
|
||||
void _PutConnect(MYSQL *pConn);
|
||||
// 真正创建连接
|
||||
MYSQL *_CreateConnect();
|
||||
|
||||
static CConnectPool *s_pInstance;
|
||||
std::queue<MYSQL *> m_queueFree; // 空闲队列
|
||||
std::set<MYSQL *> m_setBusy; // 繁忙队列
|
||||
pthread_mutex_t m_mutex;
|
||||
pthread_cond_t m_cond;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
使用说明
|
||||
CConnectPool::CreatePool();
|
||||
MYSQL *sql = CConnectPool::GetConnect();
|
||||
CConnectPool::PutConnect(sql);
|
||||
CConnectPool::FreePool();
|
||||
*/
|
||||
@@ -1,717 +0,0 @@
|
||||
#pragma once
|
||||
#include "controller.h"
|
||||
|
||||
typedef int (*fnCUser_CheckMoveTown)(void *CUser, unsigned int a2);
|
||||
typedef int (*fnWongWork_CDungeonClear_getClearedDungeonDiff)(void *thisC, short a2);
|
||||
typedef signed int (*fnCUser_use_stackable)(void *CUser, short a2, void *a3, int a4, int a5);
|
||||
typedef int (*fnWongWork_CItemUpgrade_Separate__DoProcUpgrade)(void *thisC, void *CUser, void *a3, void *a4);
|
||||
typedef int (*fnCUserCharacInfo_incCurCharacUsedFatigue)(void *thisC, unsigned short a2);
|
||||
typedef int (*fnDisPatcher_BuyItem_get_data)(void *a1, void *a2, int a3, void *a4);
|
||||
typedef bool (*fnDispatcher_BuyCeraShopItem_useCountDownCoinInFreeCoinDungeon)(int a1, void *CUser, int a3);
|
||||
typedef int (*fnCParty_get_item)(void *thisC, void *CUser, int a4, bool a5, char a6, int *a7, unsigned char *a8, bool *a9);
|
||||
typedef int (*fnCInventory_insertItemIntoInventory)(void **a1, __int64 a2, int a3, int a4, int a5, int a6, int a7, int a8, int a9, int a10, int a11, int a12, int a13, int a14, int a15, char a16, int a17, unsigned char a18, unsigned char a19);
|
||||
typedef int (*fnCParty__onGetItem)(void *thisC, void *a2, unsigned int a3, int a4);
|
||||
typedef int (*fnCUser_get_unique_id)(void *thisC);
|
||||
typedef int (*fnCHackLog_OverDamage_GetDungeonLimitDamageAndHackType)(void *a1, _DWORD *a2, _DWORD *a3);
|
||||
typedef int (*fnCDungeon_get_index)(void *CDungeon);
|
||||
typedef int (*fnCUserCharacInfo_get_charac_level)(void *thisC);
|
||||
typedef int (*fnCParty_getMonsterTotalExp)(void *thisC, unsigned int a2, char a3, int a4, float a5, float a6, bool a7);
|
||||
typedef char *(*fnCParty_set_clear_reward_exp_parameter)(long double ExpAffectRate, void *thisC, void *a3, int a4, void *a5);
|
||||
typedef int (*fnBingoEvent_sendOneMatchLineReward)(void *thisC, void *a2);
|
||||
typedef int (*fnBingoEvent_sendMaxMatchLineReward)(void *thisC, void *a2);
|
||||
typedef int (*fnCBattle_Field_add_monsters_current_map)(void *a1, int a2, int a3, void *a4, _DWORD *a5, int *a6, _DWORD *a7);
|
||||
typedef int (*fnCDungeon_get_standard_level)(void *thisC);
|
||||
typedef int (*fnCUser_isHumanCertified)(void *CUser);
|
||||
typedef void (*fnDispatcher_ChangeAnotherSkillTree_send)(void *thisC, void *a2, void *a3);
|
||||
typedef void (*fnCUser_AddDailyItem)(void *thisC);
|
||||
typedef int (*fnGameWorld_leave_game_world)(int a1, void *thisC, void *a3);
|
||||
typedef int (*fnCGameManager_user_exit)(int a1, void *mutex, void **a3);
|
||||
typedef void (*fnGameWorld_send_chat_msg)(void *a1, void *a2, char a3, unsigned short a4, int a5, char *dest, size_t n, void *src, size_t a9, int a10);
|
||||
typedef int (*fnGameWorld_IsForbiddenChat)(void *thisC, char *s);
|
||||
typedef void (*fnCUser_quest_action)(void **thisC, int a2, void *a3, int a4, int a5);
|
||||
typedef int (*fnCParty_get_dungeon_clear_state)(void *thisC);
|
||||
typedef int (*fnCParty_SetPlayResult)(void *thisC, void *a2);
|
||||
typedef int (*fnBestClearTime_getBestClearTime)(void *thisC, char a2, int a3);
|
||||
|
||||
SUBHOOK_INIT(CUser_CheckMoveTown, 0x8678526);
|
||||
SUBHOOK_INIT(WongWork_CDungeonClear_getClearedDungeonDiff, 0x85BF96C);
|
||||
SUBHOOK_INIT(CUser_use_stackable, 0x865E0AE);
|
||||
SUBHOOK_INIT(WongWork_CItemUpgrade_Separate__DoProcUpgrade, 0x811E468);
|
||||
SUBHOOK_INIT(CUserCharacInfo_incCurCharacUsedFatigue, 0x8696422);
|
||||
SUBHOOK_INIT(DisPatcher_BuyItem_get_data, 0x81BE658);
|
||||
SUBHOOK_INIT(Dispatcher_BuyCeraShopItem_useCountDownCoinInFreeCoinDungeon, 0x81FE4B8);
|
||||
SUBHOOK_INIT(CParty_get_item, 0x85A3B98);
|
||||
SUBHOOK_INIT(CInventory_insertItemIntoInventory, 0x8502D86);
|
||||
SUBHOOK_INIT(CParty__onGetItem, 0x85B949C);
|
||||
SUBHOOK_INIT(CUser_get_unique_id, 0x80DA37C);
|
||||
SUBHOOK_INIT(CHackLog_OverDamage_GetDungeonLimitDamageAndHackType, 0x8286790);
|
||||
SUBHOOK_INIT(CDungeon_get_index, 0x80FDCF0);
|
||||
SUBHOOK_INIT(CUserCharacInfo_get_charac_level, 0x80DA2B8);
|
||||
SUBHOOK_INIT(CParty_getMonsterTotalExp, 0x85A23DC);
|
||||
SUBHOOK_INIT(CParty_set_clear_reward_exp_parameter, 0x85ADB00);
|
||||
SUBHOOK_INIT(BingoEvent_sendOneMatchLineReward, 0x80CA3D4);
|
||||
SUBHOOK_INIT(BingoEvent_sendMaxMatchLineReward, 0x80CA622);
|
||||
SUBHOOK_INIT(CBattle_Field_add_monsters_current_map, 0x830162E);
|
||||
SUBHOOK_INIT(CDungeon_get_standard_level, 0x80F9810);
|
||||
SUBHOOK_INIT(CUser_isHumanCertified, 0x823021A);
|
||||
SUBHOOK_INIT(Dispatcher_ChangeAnotherSkillTree_send, 0x81D2134);
|
||||
SUBHOOK_INIT(CUser_AddDailyItem, 0x8656CAA);
|
||||
SUBHOOK_INIT(GameWorld_leave_game_world, 0x86C5288);
|
||||
SUBHOOK_INIT(CGameManager_user_exit, 0x82985A8);
|
||||
SUBHOOK_INIT(GameWorld_send_chat_msg, 0x86C975E);
|
||||
SUBHOOK_INIT(GameWorld_IsForbiddenChat, 0x86CD908);
|
||||
SUBHOOK_INIT(CUser_quest_action, 0x866DA8A);
|
||||
SUBHOOK_INIT(CParty_get_dungeon_clear_state, 0x822D89C);
|
||||
SUBHOOK_INIT(CParty_SetPlayResult, 0x85B2412);
|
||||
SUBHOOK_INIT(BestClearTime_getBestClearTime, 0x80C8AC0);
|
||||
|
||||
int _CUser_CheckMoveTown(void *CUser, unsigned int a2)
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(SqMtx);
|
||||
// 执行虚拟机 Main 函数
|
||||
SQInteger Ret = -99;
|
||||
SQInteger top = sq_gettop(v); // saves the stack size before the call
|
||||
sq_pushroottable(v); // pushes the global table
|
||||
sq_pushstring(v, _SC("Cb_CUser_CheckMoveTown"), -1);
|
||||
if (SQ_SUCCEEDED(sq_get(v, -2)))
|
||||
{ // gets the fie123oo' from the global table
|
||||
sq_pushroottable(v); // push the 'this' (in this case is the global table)
|
||||
sq_pushuserpointer(v, CUser);
|
||||
sq_pushinteger(v, a2);
|
||||
sq_call(v, 3, SQTrue, SQTrue); // calls the function
|
||||
sq_getinteger(v, -1, &Ret);
|
||||
}
|
||||
sq_settop(v, top); // restores the original stack size
|
||||
if (Ret == -99)
|
||||
return CUser_CheckMoveTown(CUser, a2);
|
||||
else
|
||||
return Ret;
|
||||
}
|
||||
|
||||
int _WongWork_CDungeonClear_getClearedDungeonDiff(void *thisC, short a2)
|
||||
{
|
||||
int OldRet = WongWork_CDungeonClear_getClearedDungeonDiff(thisC, a2);
|
||||
std::lock_guard<std::recursive_mutex> lock(SqMtx);
|
||||
SQInteger top = sq_gettop(v);
|
||||
SQInteger Ret = -99;
|
||||
sq_pushroottable(v);
|
||||
sq_pushstring(v, _SC("Cb_WongWork_CDungeonClear_getClearedDungeonDiff"), -1);
|
||||
if (SQ_SUCCEEDED(sq_get(v, -2)))
|
||||
{
|
||||
sq_pushroottable(v);
|
||||
sq_pushuserpointer(v, thisC);
|
||||
sq_pushinteger(v, a2);
|
||||
sq_pushinteger(v, OldRet);
|
||||
sq_call(v, 4, SQTrue, SQTrue);
|
||||
sq_getinteger(v, -1, &Ret);
|
||||
}
|
||||
sq_settop(v, top);
|
||||
|
||||
if (Ret == -99)
|
||||
return OldRet;
|
||||
else
|
||||
return Ret;
|
||||
}
|
||||
|
||||
signed int _CUser_use_stackable(void *CUser, short a2, void *a3, int a4, int a5)
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(SqMtx);
|
||||
SQInteger top = sq_gettop(v);
|
||||
sq_pushroottable(v);
|
||||
sq_pushstring(v, _SC("Cb_CUser_use_stackable"), -1);
|
||||
if (SQ_SUCCEEDED(sq_get(v, -2)))
|
||||
{
|
||||
sq_pushroottable(v);
|
||||
sq_pushuserpointer(v, CUser);
|
||||
sq_pushinteger(v, a2);
|
||||
sq_pushuserpointer(v, a3);
|
||||
sq_pushinteger(v, a4);
|
||||
sq_pushinteger(v, a5);
|
||||
sq_call(v, 6, SQFalse, SQTrue);
|
||||
}
|
||||
sq_settop(v, top);
|
||||
return CUser_use_stackable(CUser, a2, a3, a4, a5);
|
||||
}
|
||||
|
||||
int _WongWork_CItemUpgrade_Separate__DoProcUpgrade(void *thisC, void *CUser, void *a3, void *a4)
|
||||
{
|
||||
int OldRet = WongWork_CItemUpgrade_Separate__DoProcUpgrade(thisC, CUser, a3, a4);
|
||||
std::lock_guard<std::recursive_mutex> lock(SqMtx);
|
||||
SQInteger Ret = -99;
|
||||
SQInteger top = sq_gettop(v);
|
||||
sq_pushroottable(v);
|
||||
sq_pushstring(v, _SC("Cb_WongWork_CItemUpgrade_Separate__DoProcUpgrade"), -1);
|
||||
if (SQ_SUCCEEDED(sq_get(v, -2)))
|
||||
{
|
||||
sq_pushroottable(v);
|
||||
sq_pushuserpointer(v, thisC);
|
||||
sq_pushuserpointer(v, CUser);
|
||||
sq_pushinteger(v, OldRet);
|
||||
sq_pushuserpointer(v, a3);
|
||||
sq_pushuserpointer(v, a4);
|
||||
sq_call(v, 6, SQTrue, SQTrue);
|
||||
sq_getinteger(v, -1, &Ret);
|
||||
}
|
||||
sq_settop(v, top);
|
||||
|
||||
if (Ret == -99)
|
||||
return OldRet;
|
||||
else
|
||||
return Ret;
|
||||
}
|
||||
|
||||
int _CUserCharacInfo_incCurCharacUsedFatigue(void *thisC, unsigned short a2)
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(SqMtx);
|
||||
SQInteger top = sq_gettop(v);
|
||||
sq_pushroottable(v);
|
||||
sq_pushstring(v, _SC("Cb_CUserCharacInfo_incCurCharacUsedFatigue"), -1);
|
||||
if (SQ_SUCCEEDED(sq_get(v, -2)))
|
||||
{
|
||||
sq_pushroottable(v);
|
||||
sq_pushuserpointer(v, thisC);
|
||||
sq_pushinteger(v, a2);
|
||||
sq_call(v, 3, SQFalse, SQTrue);
|
||||
}
|
||||
sq_settop(v, top);
|
||||
return CUserCharacInfo_incCurCharacUsedFatigue(thisC, a2);
|
||||
}
|
||||
|
||||
int _DisPatcher_BuyItem_get_data(void *a1, void *a2, int a3, void *a4)
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(SqMtx);
|
||||
SQInteger top = sq_gettop(v);
|
||||
sq_pushroottable(v);
|
||||
sq_pushstring(v, _SC("Cb_DisPatcher_BuyItem_get_data"), -1);
|
||||
if (SQ_SUCCEEDED(sq_get(v, -2)))
|
||||
{
|
||||
sq_pushroottable(v);
|
||||
sq_pushuserpointer(v, a1);
|
||||
sq_pushuserpointer(v, a2);
|
||||
sq_pushinteger(v, a3);
|
||||
sq_pushuserpointer(v, a4);
|
||||
sq_call(v, 5, SQFalse, SQTrue);
|
||||
}
|
||||
sq_settop(v, top);
|
||||
return DisPatcher_BuyItem_get_data(a1, a2, a3, a4);
|
||||
}
|
||||
|
||||
bool _Dispatcher_BuyCeraShopItem_useCountDownCoinInFreeCoinDungeon(int a1, void *CUser, int a3)
|
||||
{
|
||||
int OldRet = Dispatcher_BuyCeraShopItem_useCountDownCoinInFreeCoinDungeon(a1, CUser, a3);
|
||||
std::lock_guard<std::recursive_mutex> lock(SqMtx);
|
||||
SQInteger Ret = -99;
|
||||
SQInteger top = sq_gettop(v);
|
||||
sq_pushroottable(v);
|
||||
sq_pushstring(v, _SC("Cb_Dispatcher_BuyCeraShopItem_useCountDownCoinInFreeCoinDungeon"), -1);
|
||||
if (SQ_SUCCEEDED(sq_get(v, -2)))
|
||||
{
|
||||
sq_pushroottable(v);
|
||||
sq_pushinteger(v, a1);
|
||||
sq_pushuserpointer(v, CUser);
|
||||
sq_pushinteger(v, a3);
|
||||
sq_pushinteger(v, OldRet);
|
||||
sq_call(v, 5, SQTrue, SQTrue);
|
||||
sq_getinteger(v, -1, &Ret);
|
||||
}
|
||||
sq_settop(v, top);
|
||||
|
||||
if (Ret == -99)
|
||||
return OldRet;
|
||||
else
|
||||
return Ret;
|
||||
}
|
||||
|
||||
int _CParty_get_item(void *thisC, void *CUser, int a4, bool a5, char a6, int *a7, unsigned char *a8, bool *a9)
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(SqMtx);
|
||||
SQInteger top = sq_gettop(v);
|
||||
sq_pushroottable(v);
|
||||
sq_pushstring(v, _SC("Cb_CParty_get_item"), -1);
|
||||
if (SQ_SUCCEEDED(sq_get(v, -2)))
|
||||
{
|
||||
sq_pushroottable(v);
|
||||
sq_pushuserpointer(v, thisC);
|
||||
sq_pushuserpointer(v, CUser);
|
||||
sq_pushinteger(v, a4);
|
||||
sq_pushbool(v, a5);
|
||||
sq_pushinteger(v, a6);
|
||||
sq_pushuserpointer(v, a7);
|
||||
sq_pushuserpointer(v, a8);
|
||||
sq_pushuserpointer(v, a9);
|
||||
sq_call(v, 9, SQFalse, SQTrue);
|
||||
}
|
||||
sq_settop(v, top);
|
||||
return CParty_get_item(thisC, CUser, a4, a5, a6, a7, a8, a9);
|
||||
}
|
||||
|
||||
int _CInventory_insertItemIntoInventory(void **a1, __int64 a2, int a3, int a4, int a5, int a6, int a7, int a8, int a9, int a10, int a11, int a12, int a13, int a14, int a15, char a16, int a17, unsigned char a18, unsigned char a19)
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(SqMtx);
|
||||
SQInteger top = sq_gettop(v);
|
||||
sq_pushroottable(v);
|
||||
sq_pushstring(v, _SC("Cb_CInventory_insertItemIntoInventory"), -1);
|
||||
if (SQ_SUCCEEDED(sq_get(v, -2)))
|
||||
{
|
||||
sq_pushroottable(v);
|
||||
sq_pushuserpointer(v, a1);
|
||||
sq_pushinteger(v, a2);
|
||||
sq_pushinteger(v, a3);
|
||||
sq_pushinteger(v, a4);
|
||||
sq_pushinteger(v, a5);
|
||||
sq_pushinteger(v, a6);
|
||||
sq_pushinteger(v, a7);
|
||||
sq_pushinteger(v, a8);
|
||||
sq_pushinteger(v, a9);
|
||||
sq_pushinteger(v, a10);
|
||||
sq_pushinteger(v, a11);
|
||||
sq_pushinteger(v, a12);
|
||||
sq_pushinteger(v, a13);
|
||||
sq_pushinteger(v, a14);
|
||||
sq_pushinteger(v, a15);
|
||||
sq_pushinteger(v, a16);
|
||||
sq_pushinteger(v, a17);
|
||||
sq_pushinteger(v, a18);
|
||||
sq_pushinteger(v, a19);
|
||||
sq_call(v, 20, SQFalse, SQTrue);
|
||||
}
|
||||
sq_settop(v, top);
|
||||
return CInventory_insertItemIntoInventory(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15, a16, a17, a18, a19);
|
||||
}
|
||||
|
||||
int _CParty__onGetItem(void *thisC, void *a2, unsigned int a3, int a4)
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(SqMtx);
|
||||
SQInteger top = sq_gettop(v);
|
||||
sq_pushroottable(v);
|
||||
sq_pushstring(v, _SC("Cb_CParty__onGetItem"), -1);
|
||||
if (SQ_SUCCEEDED(sq_get(v, -2)))
|
||||
{
|
||||
sq_pushroottable(v);
|
||||
sq_pushuserpointer(v, thisC);
|
||||
sq_pushuserpointer(v, a2);
|
||||
sq_pushinteger(v, a3);
|
||||
sq_pushinteger(v, a4);
|
||||
sq_call(v, 5, SQFalse, SQTrue);
|
||||
}
|
||||
sq_settop(v, top);
|
||||
return CParty__onGetItem(thisC, a2, a3, a4);
|
||||
}
|
||||
|
||||
int _CUser_get_unique_id(void *thisC)
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(SqMtx);
|
||||
SQInteger top = sq_gettop(v);
|
||||
sq_pushroottable(v);
|
||||
sq_pushstring(v, _SC("Cb_CUser_get_unique_id"), -1);
|
||||
if (SQ_SUCCEEDED(sq_get(v, -2)))
|
||||
{
|
||||
sq_pushroottable(v);
|
||||
sq_pushuserpointer(v, thisC);
|
||||
sq_call(v, 2, SQFalse, SQTrue);
|
||||
}
|
||||
sq_settop(v, top);
|
||||
return CUser_get_unique_id(thisC);
|
||||
}
|
||||
|
||||
int _CHackLog_OverDamage_GetDungeonLimitDamageAndHackType(void *a1, _DWORD *a2, _DWORD *a3)
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(SqMtx);
|
||||
SQInteger top = sq_gettop(v);
|
||||
sq_pushroottable(v);
|
||||
sq_pushstring(v, _SC("Cb_CHackLog_OverDamage_GetDungeonLimitDamageAndHackType"), -1);
|
||||
if (SQ_SUCCEEDED(sq_get(v, -2)))
|
||||
{
|
||||
sq_pushroottable(v);
|
||||
sq_pushuserpointer(v, a1);
|
||||
sq_pushuserpointer(v, a2);
|
||||
sq_pushuserpointer(v, a3);
|
||||
sq_call(v, 4, SQFalse, SQTrue);
|
||||
}
|
||||
sq_settop(v, top);
|
||||
return CHackLog_OverDamage_GetDungeonLimitDamageAndHackType(a1, a2, a3);
|
||||
}
|
||||
|
||||
int _CDungeon_get_index(void *CDungeon)
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(SqMtx);
|
||||
SQInteger top = sq_gettop(v);
|
||||
sq_pushroottable(v);
|
||||
sq_pushstring(v, _SC("Cb_CDungeon_get_index"), -1);
|
||||
if (SQ_SUCCEEDED(sq_get(v, -2)))
|
||||
{
|
||||
sq_pushroottable(v);
|
||||
sq_pushuserpointer(v, CDungeon);
|
||||
sq_call(v, 2, SQFalse, SQTrue);
|
||||
}
|
||||
sq_settop(v, top);
|
||||
return CDungeon_get_index(CDungeon);
|
||||
}
|
||||
|
||||
int _CUserCharacInfo_get_charac_level(void *thisC)
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(SqMtx);
|
||||
SQInteger top = sq_gettop(v);
|
||||
sq_pushroottable(v);
|
||||
sq_pushstring(v, _SC("Cb_CUserCharacInfo_get_charac_level"), -1);
|
||||
if (SQ_SUCCEEDED(sq_get(v, -2)))
|
||||
{
|
||||
sq_pushroottable(v);
|
||||
sq_pushuserpointer(v, thisC);
|
||||
sq_call(v, 2, SQFalse, SQTrue);
|
||||
}
|
||||
sq_settop(v, top);
|
||||
return CUserCharacInfo_get_charac_level(thisC);
|
||||
}
|
||||
|
||||
int _CParty_getMonsterTotalExp(void *thisC, unsigned int a2, char a3, int a4, float a5, float a6, bool a7)
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(SqMtx);
|
||||
SQInteger top = sq_gettop(v);
|
||||
sq_pushroottable(v);
|
||||
sq_pushstring(v, _SC("Cb_CParty_getMonsterTotalExp"), -1);
|
||||
if (SQ_SUCCEEDED(sq_get(v, -2)))
|
||||
{
|
||||
sq_pushroottable(v);
|
||||
sq_pushuserpointer(v, thisC);
|
||||
sq_pushinteger(v, a2);
|
||||
sq_pushinteger(v, a3);
|
||||
sq_pushinteger(v, a4);
|
||||
sq_pushfloat(v, a5);
|
||||
sq_pushfloat(v, a6);
|
||||
sq_pushbool(v, a7);
|
||||
sq_call(v, 8, SQFalse, SQTrue);
|
||||
}
|
||||
sq_settop(v, top);
|
||||
return CParty_getMonsterTotalExp(thisC, a2, a3, a4, a5, a6, a7);
|
||||
}
|
||||
|
||||
char *_CParty_set_clear_reward_exp_parameter(long double ExpAffectRate, void *thisC, void *a3, int a4, void *a5)
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(SqMtx);
|
||||
SQInteger top = sq_gettop(v);
|
||||
sq_pushroottable(v);
|
||||
sq_pushstring(v, _SC("Cb_CParty_set_clear_reward_exp_parameter"), -1);
|
||||
if (SQ_SUCCEEDED(sq_get(v, -2)))
|
||||
{
|
||||
sq_pushroottable(v);
|
||||
sq_pushinteger(v, ExpAffectRate);
|
||||
sq_pushuserpointer(v, thisC);
|
||||
sq_pushuserpointer(v, a3);
|
||||
sq_pushinteger(v, a4);
|
||||
sq_pushuserpointer(v, a5);
|
||||
sq_call(v, 6, SQFalse, SQTrue);
|
||||
}
|
||||
sq_settop(v, top);
|
||||
return CParty_set_clear_reward_exp_parameter(ExpAffectRate, thisC, a3, a4, a5);
|
||||
}
|
||||
|
||||
int _BingoEvent_sendOneMatchLineReward(void *thisC, void *a2)
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(SqMtx);
|
||||
SQInteger top = sq_gettop(v);
|
||||
sq_pushroottable(v);
|
||||
sq_pushstring(v, _SC("Cb_BingoEvent_sendOneMatchLineReward"), -1);
|
||||
if (SQ_SUCCEEDED(sq_get(v, -2)))
|
||||
{
|
||||
sq_pushroottable(v);
|
||||
sq_pushuserpointer(v, thisC);
|
||||
sq_pushuserpointer(v, a2);
|
||||
sq_call(v, 3, SQFalse, SQTrue);
|
||||
}
|
||||
sq_settop(v, top);
|
||||
return BingoEvent_sendOneMatchLineReward(thisC, a2);
|
||||
}
|
||||
|
||||
int _BingoEvent_sendMaxMatchLineReward(void *thisC, void *a2)
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(SqMtx);
|
||||
SQInteger top = sq_gettop(v);
|
||||
sq_pushroottable(v);
|
||||
sq_pushstring(v, _SC("Cb_BingoEvent_sendMaxMatchLineReward"), -1);
|
||||
if (SQ_SUCCEEDED(sq_get(v, -2)))
|
||||
{
|
||||
sq_pushroottable(v);
|
||||
sq_pushuserpointer(v, thisC);
|
||||
sq_pushuserpointer(v, a2);
|
||||
sq_call(v, 3, SQFalse, SQTrue);
|
||||
}
|
||||
sq_settop(v, top);
|
||||
return BingoEvent_sendMaxMatchLineReward(thisC, a2);
|
||||
}
|
||||
|
||||
int _CBattle_Field_add_monsters_current_map(void *a1, int a2, int a3, void *a4, _DWORD *a5, int *a6, _DWORD *a7)
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(SqMtx);
|
||||
SQInteger top = sq_gettop(v);
|
||||
sq_pushroottable(v);
|
||||
sq_pushstring(v, _SC("Cb_CBattle_Field_add_monsters_current_map"), -1);
|
||||
if (SQ_SUCCEEDED(sq_get(v, -2)))
|
||||
{
|
||||
sq_pushroottable(v);
|
||||
sq_pushuserpointer(v, a1);
|
||||
sq_pushinteger(v, a2);
|
||||
sq_pushinteger(v, a3);
|
||||
sq_pushuserpointer(v, a4);
|
||||
sq_pushuserpointer(v, a5);
|
||||
sq_pushuserpointer(v, a6);
|
||||
sq_pushuserpointer(v, a7);
|
||||
sq_call(v, 8, SQFalse, SQTrue);
|
||||
}
|
||||
sq_settop(v, top);
|
||||
return CBattle_Field_add_monsters_current_map(a1, a2, a3, a4, a5, a6, a7);
|
||||
}
|
||||
|
||||
int _CDungeon_get_standard_level(void *thisC)
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(SqMtx);
|
||||
SQInteger top = sq_gettop(v);
|
||||
sq_pushroottable(v);
|
||||
sq_pushstring(v, _SC("Cb_CDungeon_get_standard_level"), -1);
|
||||
if (SQ_SUCCEEDED(sq_get(v, -2)))
|
||||
{
|
||||
sq_pushroottable(v);
|
||||
sq_pushuserpointer(v, thisC);
|
||||
sq_call(v, 2, SQFalse, SQTrue);
|
||||
}
|
||||
sq_settop(v, top);
|
||||
return CDungeon_get_standard_level(thisC);
|
||||
}
|
||||
|
||||
int _CUser_isHumanCertified(void *CUser)
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(SqMtx);
|
||||
SQInteger top = sq_gettop(v);
|
||||
sq_pushroottable(v);
|
||||
sq_pushstring(v, _SC("Cb_CUser_isHumanCertified"), -1);
|
||||
if (SQ_SUCCEEDED(sq_get(v, -2)))
|
||||
{
|
||||
sq_pushroottable(v);
|
||||
sq_pushuserpointer(v, CUser);
|
||||
sq_call(v, 2, SQFalse, SQTrue);
|
||||
}
|
||||
sq_settop(v, top);
|
||||
return CUser_isHumanCertified(CUser);
|
||||
}
|
||||
|
||||
void _Dispatcher_ChangeAnotherSkillTree_send(void *thisC, void *a2, void *a3)
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(SqMtx);
|
||||
SQInteger top = sq_gettop(v);
|
||||
sq_pushroottable(v);
|
||||
sq_pushstring(v, _SC("Cb_Dispatcher_ChangeAnotherSkillTree_send"), -1);
|
||||
if (SQ_SUCCEEDED(sq_get(v, -2)))
|
||||
{
|
||||
sq_pushroottable(v);
|
||||
sq_pushuserpointer(v, thisC);
|
||||
sq_pushuserpointer(v, a2);
|
||||
sq_pushuserpointer(v, a3);
|
||||
sq_call(v, 4, SQFalse, SQTrue);
|
||||
}
|
||||
sq_settop(v, top);
|
||||
Dispatcher_ChangeAnotherSkillTree_send(thisC, a2, a3);
|
||||
return;
|
||||
}
|
||||
|
||||
void _CUser_AddDailyItem(void *thisC)
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(SqMtx);
|
||||
SQInteger top = sq_gettop(v);
|
||||
sq_pushroottable(v);
|
||||
sq_pushstring(v, _SC("Cb_CUser_AddDailyItem"), -1);
|
||||
if (SQ_SUCCEEDED(sq_get(v, -2)))
|
||||
{
|
||||
sq_pushroottable(v);
|
||||
sq_pushuserpointer(v, thisC);
|
||||
sq_call(v, 2, SQFalse, SQTrue);
|
||||
}
|
||||
sq_settop(v, top);
|
||||
CUser_AddDailyItem(thisC);
|
||||
return;
|
||||
}
|
||||
|
||||
int _GameWorld_leave_game_world(int a1, void *thisC, void *a3)
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(SqMtx);
|
||||
SQInteger top = sq_gettop(v);
|
||||
sq_pushroottable(v);
|
||||
sq_pushstring(v, _SC("Cb_GameWorld_leave_game_world"), -1);
|
||||
if (SQ_SUCCEEDED(sq_get(v, -2)))
|
||||
{
|
||||
sq_pushroottable(v);
|
||||
sq_pushinteger(v, a1);
|
||||
sq_pushuserpointer(v, thisC);
|
||||
sq_pushuserpointer(v, a3);
|
||||
sq_call(v, 4, SQFalse, SQTrue);
|
||||
}
|
||||
sq_settop(v, top);
|
||||
return GameWorld_leave_game_world(a1, thisC, a3);
|
||||
}
|
||||
|
||||
int _CGameManager_user_exit(int a1, void *mutex, void **a3)
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(SqMtx);
|
||||
SQInteger top = sq_gettop(v);
|
||||
sq_pushroottable(v);
|
||||
sq_pushstring(v, _SC("Cb_CGameManager_user_exit"), -1);
|
||||
if (SQ_SUCCEEDED(sq_get(v, -2)))
|
||||
{
|
||||
sq_pushroottable(v);
|
||||
sq_pushinteger(v, a1);
|
||||
sq_pushuserpointer(v, mutex);
|
||||
sq_pushuserpointer(v, a3);
|
||||
sq_call(v, 4, SQFalse, SQTrue);
|
||||
}
|
||||
sq_settop(v, top);
|
||||
return CGameManager_user_exit(a1, mutex, a3);
|
||||
}
|
||||
|
||||
void _GameWorld_send_chat_msg(void *a1, void *a2, char a3, unsigned __int16 a4, int a5, char *dest, size_t n, void *src, size_t a9, int a10)
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(SqMtx);
|
||||
SQInteger top = sq_gettop(v);
|
||||
sq_pushroottable(v);
|
||||
sq_pushstring(v, _SC("Cb_GameWorld_send_chat_msg"), -1);
|
||||
if (SQ_SUCCEEDED(sq_get(v, -2)))
|
||||
{
|
||||
sq_pushroottable(v);
|
||||
sq_pushuserpointer(v, a1);
|
||||
sq_pushuserpointer(v, a2);
|
||||
sq_pushinteger(v, a3);
|
||||
sq_pushinteger(v, a4);
|
||||
sq_pushinteger(v, a5);
|
||||
sq_pushuserpointer(v, dest);
|
||||
sq_pushinteger(v, n);
|
||||
sq_pushuserpointer(v, src);
|
||||
sq_pushinteger(v, a9);
|
||||
sq_pushinteger(v, a10);
|
||||
sq_call(v, 11, SQFalse, SQTrue);
|
||||
}
|
||||
sq_settop(v, top);
|
||||
GameWorld_send_chat_msg(a1, a2, a3, a4, a5, dest, n, src, a9, a10);
|
||||
return;
|
||||
}
|
||||
|
||||
int _GameWorld_IsForbiddenChat(void *thisC, char *s)
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(SqMtx);
|
||||
SQInteger top = sq_gettop(v);
|
||||
sq_pushroottable(v);
|
||||
sq_pushstring(v, _SC("Cb_GameWorld_IsForbiddenChat"), -1);
|
||||
if (SQ_SUCCEEDED(sq_get(v, -2)))
|
||||
{
|
||||
sq_pushroottable(v);
|
||||
sq_pushuserpointer(v, thisC);
|
||||
sq_pushstring(v, s, -1);
|
||||
sq_call(v, 3, SQFalse, SQTrue);
|
||||
}
|
||||
sq_settop(v, top);
|
||||
return GameWorld_IsForbiddenChat(thisC, s);
|
||||
}
|
||||
|
||||
void _CUser_quest_action(void **thisC, int a2, void *a3, int a4, int a5)
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(SqMtx);
|
||||
SQInteger top = sq_gettop(v);
|
||||
sq_pushroottable(v);
|
||||
sq_pushstring(v, _SC("Cb_CUser_quest_action"), -1);
|
||||
if (SQ_SUCCEEDED(sq_get(v, -2)))
|
||||
{
|
||||
sq_pushroottable(v);
|
||||
sq_pushuserpointer(v, thisC);
|
||||
sq_pushinteger(v, a2);
|
||||
sq_pushuserpointer(v, a3);
|
||||
sq_pushinteger(v, a4);
|
||||
sq_pushinteger(v, a5);
|
||||
sq_call(v, 6, SQFalse, SQTrue);
|
||||
}
|
||||
sq_settop(v, top);
|
||||
CUser_quest_action(thisC, a2, a3, a4, a5);
|
||||
return;
|
||||
}
|
||||
|
||||
int _CParty_get_dungeon_clear_state(void *thisC)
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(SqMtx);
|
||||
SQInteger top = sq_gettop(v);
|
||||
sq_pushroottable(v);
|
||||
sq_pushstring(v, _SC("Cb_CParty_get_dungeon_clear_state"), -1);
|
||||
if (SQ_SUCCEEDED(sq_get(v, -2)))
|
||||
{
|
||||
sq_pushroottable(v);
|
||||
sq_pushuserpointer(v, thisC);
|
||||
sq_call(v, 2, SQFalse, SQTrue);
|
||||
}
|
||||
sq_settop(v, top);
|
||||
return CParty_get_dungeon_clear_state(thisC);
|
||||
}
|
||||
|
||||
int _CParty_SetPlayResult(void *thisC, void *a2)
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(SqMtx);
|
||||
SQInteger top = sq_gettop(v);
|
||||
sq_pushroottable(v);
|
||||
sq_pushstring(v, _SC("Cb_CParty_SetPlayResult"), -1);
|
||||
if (SQ_SUCCEEDED(sq_get(v, -2)))
|
||||
{
|
||||
sq_pushroottable(v);
|
||||
sq_pushuserpointer(v, thisC);
|
||||
sq_pushuserpointer(v, a2);
|
||||
sq_call(v, 3, SQFalse, SQTrue);
|
||||
}
|
||||
sq_settop(v, top);
|
||||
return CParty_SetPlayResult(thisC, a2);
|
||||
}
|
||||
|
||||
int _BestClearTime_getBestClearTime(void *thisC, char a2, int a3)
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(SqMtx);
|
||||
SQInteger top = sq_gettop(v);
|
||||
sq_pushroottable(v);
|
||||
sq_pushstring(v, _SC("Cb_BestClearTime_getBestClearTime"), -1);
|
||||
if (SQ_SUCCEEDED(sq_get(v, -2)))
|
||||
{
|
||||
sq_pushroottable(v);
|
||||
sq_pushuserpointer(v, thisC);
|
||||
sq_pushinteger(v, a2);
|
||||
sq_pushinteger(v, a3);
|
||||
sq_call(v, 4, SQFalse, SQTrue);
|
||||
}
|
||||
sq_settop(v, top);
|
||||
return BestClearTime_getBestClearTime(thisC, a2, a3);
|
||||
}
|
||||
|
||||
void OpenHook1()
|
||||
{
|
||||
SUBHOOK_SETUP(CUser_CheckMoveTown);
|
||||
SUBHOOK_SETUP(WongWork_CDungeonClear_getClearedDungeonDiff);
|
||||
SUBHOOK_SETUP(CUser_use_stackable);
|
||||
SUBHOOK_SETUP(WongWork_CItemUpgrade_Separate__DoProcUpgrade);
|
||||
SUBHOOK_SETUP(CUserCharacInfo_incCurCharacUsedFatigue);
|
||||
SUBHOOK_SETUP(DisPatcher_BuyItem_get_data);
|
||||
SUBHOOK_SETUP(Dispatcher_BuyCeraShopItem_useCountDownCoinInFreeCoinDungeon);
|
||||
SUBHOOK_SETUP(CParty_get_item);
|
||||
SUBHOOK_SETUP(CInventory_insertItemIntoInventory);
|
||||
SUBHOOK_SETUP(CParty__onGetItem);
|
||||
// SUBHOOK_SETUP(CUser_get_unique_id);
|
||||
SUBHOOK_SETUP(CHackLog_OverDamage_GetDungeonLimitDamageAndHackType);
|
||||
SUBHOOK_SETUP(CDungeon_get_index);
|
||||
SUBHOOK_SETUP(CUserCharacInfo_get_charac_level);
|
||||
SUBHOOK_SETUP(CParty_getMonsterTotalExp);
|
||||
SUBHOOK_SETUP(CParty_set_clear_reward_exp_parameter);
|
||||
SUBHOOK_SETUP(BingoEvent_sendOneMatchLineReward);
|
||||
SUBHOOK_SETUP(BingoEvent_sendMaxMatchLineReward);
|
||||
SUBHOOK_SETUP(CBattle_Field_add_monsters_current_map);
|
||||
SUBHOOK_SETUP(CDungeon_get_standard_level);
|
||||
SUBHOOK_SETUP(CUser_isHumanCertified);
|
||||
SUBHOOK_SETUP(Dispatcher_ChangeAnotherSkillTree_send);
|
||||
SUBHOOK_SETUP(CUser_AddDailyItem);
|
||||
SUBHOOK_SETUP(GameWorld_leave_game_world);
|
||||
SUBHOOK_SETUP(CGameManager_user_exit);
|
||||
SUBHOOK_SETUP(GameWorld_send_chat_msg);
|
||||
SUBHOOK_SETUP(GameWorld_IsForbiddenChat);
|
||||
SUBHOOK_SETUP(CUser_quest_action);
|
||||
SUBHOOK_SETUP(CParty_get_dungeon_clear_state);
|
||||
SUBHOOK_SETUP(CParty_SetPlayResult);
|
||||
SUBHOOK_SETUP(BestClearTime_getBestClearTime);
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
#pragma once
|
||||
#include <dlfcn.h>
|
||||
|
||||
typedef struct lua_State lua_State;
|
||||
typedef void (*dp2_game_script_t)(void(*ufptr)(lua_State* L, void*), void* udptr);
|
||||
|
||||
// 进入dp的锁, 触发回调, 同时获得lua指针
|
||||
static int dp2_game_script(void(*ufptr)(lua_State* L, void*), void* udptr) {
|
||||
void* fn = dlsym(RTLD_DEFAULT, "__dp2_game_script");
|
||||
if (!fn) {
|
||||
return 1;
|
||||
}
|
||||
dp2_game_script_t func = (dp2_game_script_t)fn;
|
||||
printf("\n函数\n");
|
||||
func(ufptr, udptr);
|
||||
printf("\n调用成功\n");
|
||||
return 0;
|
||||
}
|
||||
@@ -1,169 +0,0 @@
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <fcntl.h>
|
||||
#include <ffi.h>
|
||||
// #include "fficonfig.h"
|
||||
|
||||
#include <float.h>
|
||||
#include <math.h>
|
||||
|
||||
#if defined HAVE_STDINT_H
|
||||
#include <stdint.h>
|
||||
#endif
|
||||
|
||||
#if defined HAVE_INTTYPES_H
|
||||
#include <inttypes.h>
|
||||
#endif
|
||||
|
||||
#define MAX_ARGS 256
|
||||
|
||||
#define CHECK(x) \
|
||||
do \
|
||||
{ \
|
||||
if (!(x)) \
|
||||
{ \
|
||||
printf("Check failed:\n%s\n", #x); \
|
||||
abort(); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#define CHECK_FLOAT_EQ(x, y) \
|
||||
do \
|
||||
{ \
|
||||
if (fabs((x) - (y)) > FLT_EPSILON) \
|
||||
{ \
|
||||
printf("Check failed CHECK_FLOAT_EQ(%s, %s)\n", #x, #y); \
|
||||
abort(); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#define CHECK_DOUBLE_EQ(x, y) \
|
||||
do \
|
||||
{ \
|
||||
if (fabs((x) - (y)) > DBL_EPSILON) \
|
||||
{ \
|
||||
printf("Check failed CHECK_FLOAT_EQ(%s, %s)\n", #x, #y); \
|
||||
abort(); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
/* Define macros so that compilers other than gcc can run the tests. */
|
||||
#undef __UNUSED__
|
||||
#if defined(__GNUC__)
|
||||
#define __UNUSED__ __attribute__((__unused__))
|
||||
#define __STDCALL__ __attribute__((stdcall))
|
||||
#define __THISCALL__ __attribute__((thiscall))
|
||||
#define __FASTCALL__ __attribute__((fastcall))
|
||||
#define __MSABI__ __attribute__((ms_abi))
|
||||
#else
|
||||
#define __UNUSED__
|
||||
#define __STDCALL__ __stdcall
|
||||
#define __THISCALL__ __thiscall
|
||||
#define __FASTCALL__ __fastcall
|
||||
#endif
|
||||
|
||||
#ifndef ABI_NUM
|
||||
#define ABI_NUM FFI_DEFAULT_ABI
|
||||
#define ABI_ATTR
|
||||
#endif
|
||||
|
||||
/* Prefer MAP_ANON(YMOUS) to /dev/zero, since we don't need to keep a
|
||||
file open. */
|
||||
#ifdef HAVE_MMAP_ANON
|
||||
#undef HAVE_MMAP_DEV_ZERO
|
||||
|
||||
#include <sys/mman.h>
|
||||
#ifndef MAP_FAILED
|
||||
#define MAP_FAILED -1
|
||||
#endif
|
||||
#if !defined(MAP_ANONYMOUS) && defined(MAP_ANON)
|
||||
#define MAP_ANONYMOUS MAP_ANON
|
||||
#endif
|
||||
#define USING_MMAP
|
||||
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_MMAP_DEV_ZERO
|
||||
|
||||
#include <sys/mman.h>
|
||||
#ifndef MAP_FAILED
|
||||
#define MAP_FAILED -1
|
||||
#endif
|
||||
#define USING_MMAP
|
||||
|
||||
#endif
|
||||
|
||||
/* msvc kludge. */
|
||||
#if defined(_MSC_VER)
|
||||
#define PRIdLL "I64d"
|
||||
#define PRIuLL "I64u"
|
||||
#else
|
||||
#define PRIdLL "lld"
|
||||
#define PRIuLL "llu"
|
||||
#endif
|
||||
|
||||
/* Tru64 UNIX kludge. */
|
||||
#if defined(__alpha__) && defined(__osf__)
|
||||
/* Tru64 UNIX V4.0 doesn't support %lld/%lld, but long is 64-bit. */
|
||||
#undef PRIdLL
|
||||
#define PRIdLL "ld"
|
||||
#undef PRIuLL
|
||||
#define PRIuLL "lu"
|
||||
#define PRId8 "hd"
|
||||
#define PRIu8 "hu"
|
||||
#define PRId64 "ld"
|
||||
#define PRIu64 "lu"
|
||||
#define PRIuPTR "lu"
|
||||
#endif
|
||||
|
||||
/* PA HP-UX kludge. */
|
||||
#if defined(__hppa__) && defined(__hpux__) && !defined(PRIuPTR)
|
||||
#define PRIuPTR "lu"
|
||||
#endif
|
||||
|
||||
/* IRIX kludge. */
|
||||
#if defined(__sgi)
|
||||
/* IRIX 6.5 <inttypes.h> provides all definitions, but only for C99
|
||||
compilations. */
|
||||
#define PRId8 "hhd"
|
||||
#define PRIu8 "hhu"
|
||||
#if (_MIPS_SZLONG == 32)
|
||||
#define PRId64 "lld"
|
||||
#define PRIu64 "llu"
|
||||
#endif
|
||||
/* This doesn't match <inttypes.h>, which always has "lld" here, but the
|
||||
arguments are uint64_t, int64_t, which are unsigned long, long for
|
||||
64-bit in <sgidefs.h>. */
|
||||
#if (_MIPS_SZLONG == 64)
|
||||
#define PRId64 "ld"
|
||||
#define PRIu64 "lu"
|
||||
#endif
|
||||
/* This doesn't match <inttypes.h>, which has "u" here, but the arguments
|
||||
are uintptr_t, which is always unsigned long. */
|
||||
#define PRIuPTR "lu"
|
||||
#endif
|
||||
|
||||
/* Solaris < 10 kludge. */
|
||||
#if defined(__sun__) && defined(__svr4__) && !defined(PRIuPTR)
|
||||
#if defined(__arch64__) || defined(__x86_64__)
|
||||
#define PRIuPTR "lu"
|
||||
#else
|
||||
#define PRIuPTR "u"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
/* MSVC kludge. */
|
||||
#if defined _MSC_VER
|
||||
#if !defined(__cplusplus) || defined(__STDC_FORMAT_MACROS)
|
||||
#define PRIuPTR "lu"
|
||||
#define PRIu8 "u"
|
||||
#define PRId8 "d"
|
||||
#define PRIu64 "I64u"
|
||||
#define PRId64 "I64d"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifndef PRIuPTR
|
||||
#define PRIuPTR "u"
|
||||
#endif
|
||||
5726
include/httplib.h
5726
include/httplib.h
File diff suppressed because it is too large
Load Diff
@@ -1,170 +0,0 @@
|
||||
#include "CConnectPool.h"
|
||||
#include <iostream>
|
||||
|
||||
#define POOL_SAFE_DELETE(ptr) \
|
||||
if (ptr != NULL) \
|
||||
{ \
|
||||
delete ptr; \
|
||||
ptr = NULL; \
|
||||
}
|
||||
|
||||
CConnectPool *CConnectPool::s_pInstance = NULL;
|
||||
|
||||
CConnectPool::CConnectPool()
|
||||
{
|
||||
pthread_mutex_init(&m_mutex, NULL);
|
||||
pthread_cond_init(&m_cond, NULL);
|
||||
// 初始化连接数
|
||||
// 此处由主线程调用初始化,无需考虑锁问题
|
||||
for (int i = 0; i < My_Info.MaxConnectCount; ++i)
|
||||
{
|
||||
MYSQL *pConn = _CreateConnect();
|
||||
if (NULL == pConn)
|
||||
{
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
m_queueFree.push(pConn);
|
||||
}
|
||||
}
|
||||
|
||||
CConnectPool::~CConnectPool()
|
||||
{
|
||||
pthread_mutex_destroy(&m_mutex);
|
||||
pthread_cond_destroy(&m_cond);
|
||||
MYSQL *pConn = NULL;
|
||||
while (m_queueFree.size() > 0)
|
||||
{
|
||||
pConn = m_queueFree.front();
|
||||
POOL_SAFE_DELETE(pConn);
|
||||
m_queueFree.pop();
|
||||
}
|
||||
std::set<MYSQL *>::iterator it = m_setBusy.begin();
|
||||
while (it != m_setBusy.end())
|
||||
{
|
||||
pConn = *it;
|
||||
POOL_SAFE_DELETE(pConn);
|
||||
// it = m_setBusy.erase(it);
|
||||
it++;
|
||||
}
|
||||
}
|
||||
|
||||
void CConnectPool::CreatePool(int MinConnectCount, int MaxConnectCount, const char *Host, int Port, const char *Account, const char *Passwd)
|
||||
{
|
||||
if (NULL == s_pInstance)
|
||||
{
|
||||
s_pInstance = new CConnectPool;
|
||||
s_pInstance->My_Info.MinConnectCount = MinConnectCount;
|
||||
s_pInstance->My_Info.MaxConnectCount = MaxConnectCount;
|
||||
s_pInstance->My_Info.Host = Host;
|
||||
s_pInstance->My_Info.Port = Port;
|
||||
s_pInstance->My_Info.Account = Account;
|
||||
s_pInstance->My_Info.Passwd = Passwd;
|
||||
s_pInstance->My_Info.KName = "taiwan_cain";
|
||||
}
|
||||
}
|
||||
|
||||
void CConnectPool::FreePool()
|
||||
{
|
||||
if (NULL != s_pInstance)
|
||||
{
|
||||
delete s_pInstance;
|
||||
s_pInstance = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
MYSQL *CConnectPool::GetConnect()
|
||||
{
|
||||
return s_pInstance->_GetConnect(false);
|
||||
}
|
||||
|
||||
MYSQL *CConnectPool::TryGetConnect()
|
||||
{
|
||||
return s_pInstance->_GetConnect(true);
|
||||
}
|
||||
|
||||
void CConnectPool::PutConnect(MYSQL *pConn)
|
||||
{
|
||||
s_pInstance->_PutConnect(pConn);
|
||||
}
|
||||
|
||||
MYSQL *CConnectPool::_CreateConnect()
|
||||
{
|
||||
MYSQL *pConn = new MYSQL;
|
||||
mysql_init(pConn);
|
||||
if (!mysql_real_connect(pConn, My_Info.Host, My_Info.Account, My_Info.Passwd, My_Info.KName, MYSQL_PORT, NULL, CLIENT_FOUND_ROWS))
|
||||
{
|
||||
printf("connect error:%s\n", mysql_error(pConn));
|
||||
delete pConn;
|
||||
pConn = NULL;
|
||||
}
|
||||
return pConn;
|
||||
}
|
||||
|
||||
MYSQL *CConnectPool::_GetConnect(bool bTry)
|
||||
{
|
||||
static bool bCheck;
|
||||
MYSQL *pRet = NULL;
|
||||
pthread_mutex_lock(&m_mutex);
|
||||
// 取出来还要检查一下是否能正常使用
|
||||
bCheck = true;
|
||||
if (m_queueFree.size() > 0)
|
||||
{
|
||||
pRet = m_queueFree.front();
|
||||
m_queueFree.pop();
|
||||
}
|
||||
else
|
||||
{
|
||||
// 连接数不足,继续创建
|
||||
if (m_queueFree.size() + m_setBusy.size() < My_Info.MinConnectCount)
|
||||
{
|
||||
pRet = _CreateConnect();
|
||||
bCheck = false;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!bTry)
|
||||
{
|
||||
// 阻塞等待空闲连接
|
||||
pthread_cond_wait(&m_cond, &m_mutex);
|
||||
// 肯定会有空闲连接的
|
||||
if (m_queueFree.size() > 0)
|
||||
{
|
||||
pRet = m_queueFree.front();
|
||||
m_queueFree.pop();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// 检查连接是否可用
|
||||
if (NULL != pRet && true == bCheck && 0 != mysql_ping(pRet))
|
||||
{
|
||||
mysql_close(pRet);
|
||||
pRet = _CreateConnect();
|
||||
}
|
||||
// 加入busy队列
|
||||
if (NULL != pRet)
|
||||
{
|
||||
m_setBusy.insert(pRet);
|
||||
}
|
||||
pthread_mutex_unlock(&m_mutex);
|
||||
return pRet;
|
||||
}
|
||||
|
||||
void CConnectPool::_PutConnect(MYSQL *pConn)
|
||||
{
|
||||
if (NULL == pConn)
|
||||
return;
|
||||
pthread_mutex_lock(&m_mutex);
|
||||
std::set<MYSQL *>::iterator it = m_setBusy.find(pConn);
|
||||
if (it != m_setBusy.end())
|
||||
{
|
||||
m_setBusy.erase(it);
|
||||
}
|
||||
m_queueFree.push(pConn);
|
||||
if (1 == m_queueFree.size())
|
||||
{
|
||||
// 唤醒等待线程
|
||||
pthread_cond_signal(&m_cond);
|
||||
}
|
||||
pthread_mutex_unlock(&m_mutex);
|
||||
}
|
||||
@@ -1,62 +0,0 @@
|
||||
# ???????????cmake???·Ú
|
||||
CMAKE_MINIMUM_REQUIRED(VERSION 3.0)
|
||||
|
||||
# ????????++11
|
||||
|
||||
set(CMAKE_CXX_STANDARD 11)
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32 -fpic -fexceptions -Wno-int-to-pointer-cast -Wdeprecated-declarations")
|
||||
|
||||
|
||||
add_compile_options(
|
||||
-Wno-pointer-arith
|
||||
-Wdeprecated-declarations
|
||||
-fvisibility=hidden
|
||||
-fno-asynchronous-unwind-tables)
|
||||
|
||||
file(GLOB_RECURSE DIR_ASMJIT_LIB_SRCS
|
||||
"asmjit/core/*.c"
|
||||
"asmjit/core/*.cc"
|
||||
"asmjit/core/*.cpp"
|
||||
"asmjit/core/*.cxx"
|
||||
"asmjit/arm/*.c"
|
||||
"asmjit/arm/*.cc"
|
||||
"asmjit/arm/*.cpp"
|
||||
"asmjit/arm/*.cxx"
|
||||
"asmjit/x86/*.c"
|
||||
"asmjit/x86/*.cc"
|
||||
"asmjit/x86/*.cpp"
|
||||
"asmjit/x86/*.cxx"
|
||||
)
|
||||
|
||||
|
||||
#??????????
|
||||
include_directories(${PROJECT_SOURCE_DIR}/include ${PROJECT_SOURCE_DIR}/include/Squirrel ${PROJECT_SOURCE_DIR}/lib/mysql/include /home/asio/asio-1.28.0/include/ ${PROJECT_SOURCE_DIR}/src/ ${PROJECT_SOURCE_DIR}/src/sdk/ /home/muduo-2.0.2 /home/squirrel-master/squirrel-master/include)
|
||||
add_compile_definitions(ASMJIT_STATIC)
|
||||
|
||||
# ?????????
|
||||
set(LIB_SOURCE
|
||||
"df_main.cpp"
|
||||
"Tool.cpp"
|
||||
"l_squirrel.cpp"
|
||||
"l_socket.cpp"
|
||||
"CConnectPool.cpp"
|
||||
)
|
||||
|
||||
|
||||
# ??????????????shared
|
||||
ADD_LIBRARY(hook_aurora SHARED ${DIR_ASMJIT_LIB_SRCS} ${LIB_SOURCE})
|
||||
|
||||
# ????????????????
|
||||
SET_TARGET_PROPERTIES(hook_aurora PROPERTIES OUTPUT_NAME "Aurora")
|
||||
|
||||
|
||||
target_link_libraries(hook_aurora libstdc++.a -L/home/squirrel-master/squirrel-master/build/lib -lsqstdlib_static -L/home/squirrel-master/squirrel-master/build/lib -lsquirrel_static -L/home/dnf_project/dnf_project/build/lib/mysql/lib libmysqlclient.a -lpthread -L/home/openssl/openssl-3.0.13 libssl.a -L/home/openssl/openssl-3.0.13 libcrypto.a -L/home/dnf_project/dnf_project/build/lib/frida libfrida-gum.a -ldl -pthread -lresolv libffi.a -L/home/opencc/build/src libopencc.a libkeystone.a libz.a)
|
||||
|
||||
# target_link_libraries(hook_aurora /usr/local/lib/libffi.a)
|
||||
# ????????·Ú, ????????????????
|
||||
# VERSION:?????·Ú??SOVERSION:API?·Ú
|
||||
#SET_TARGET_PROPERTIES(hook_aurora PROPERTIES VERSION 0.1.1 SOVERSION 0)
|
||||
|
||||
|
||||
# ?????????????
|
||||
SET(LIBRARY_OUTPUT_PATH /dp_s/lib)
|
||||
@@ -1,5 +1,4 @@
|
||||
|
||||
#include "CConnectPool.h"
|
||||
#include "controller.h"
|
||||
#include "import.h"
|
||||
#include "l_socket.h"
|
||||
@@ -6,7 +6,6 @@
|
||||
#include "sqstdmath.h"
|
||||
#include "sqstdstring.h"
|
||||
#include "sqstdsystem.h"
|
||||
#include "CConnectPool.h"
|
||||
#include "croncpp.h"
|
||||
#include "l_socket.h"
|
||||
#include <openssl/md5.h>
|
||||
@@ -398,36 +397,6 @@ static SQInteger L_GetDataByIdFromPvf(HSQUIRRELVM v)
|
||||
return 1;
|
||||
}
|
||||
|
||||
// 创建数据库连接池
|
||||
static SQInteger L_CreatCConnectPool(HSQUIRRELVM v)
|
||||
{
|
||||
SQInteger MinConnectCount, MaxConnectCount, Port;
|
||||
const SQChar* Host;
|
||||
const SQChar* Account;
|
||||
const SQChar* Passwd;
|
||||
|
||||
sq_getinteger(v, 2, &MinConnectCount);
|
||||
sq_getinteger(v, 3, &MaxConnectCount);
|
||||
sq_getstring(v, 4, &Host);
|
||||
sq_getinteger(v, 5, &Port);
|
||||
sq_getstring(v, 6, &Account);
|
||||
sq_getstring(v, 7, &Passwd);
|
||||
|
||||
// 初始化数据库
|
||||
CConnectPool::CreatePool(MinConnectCount, MaxConnectCount, Host, Port, Account, Passwd);
|
||||
return 0;
|
||||
}
|
||||
// 阻塞线程的数据库操作 无返回值
|
||||
static SQInteger L_MysqlExecNoRet(HSQUIRRELVM v)
|
||||
{
|
||||
const SQChar* Sql;
|
||||
sq_getstring(v, 2, &Sql);
|
||||
|
||||
MYSQL* MysqlObject = CConnectPool::GetConnect();
|
||||
mysql_query(MysqlObject, Sql);
|
||||
CConnectPool::PutConnect(MysqlObject);
|
||||
return 0;
|
||||
}
|
||||
|
||||
struct CreateSocketInfo
|
||||
{
|
||||
@@ -1179,9 +1148,7 @@ static void RegisterGame(HSQUIRRELVM v)
|
||||
// 通过ID从Pvf中查询Data
|
||||
register_World_func(v, L_GetDataByIdFromPvf, _SC("Sq_GetDataByIdFromPvf"));
|
||||
// 创建数据库连接池
|
||||
register_World_func(v, L_CreatCConnectPool, _SC("Sq_CreatCConnectPool"));
|
||||
// 阻塞线程的数据库操作 无返回值
|
||||
register_World_func(v, L_MysqlExecNoRet, _SC("Sq_MysqlExecNoRet"));
|
||||
// 创建Socket连接
|
||||
register_World_func(v, L_CreatSocketConnect, _SC("Sq_CreatSocketConnect"));
|
||||
// 动态调用Call
|
||||
@@ -6,7 +6,6 @@
|
||||
#include "sqstdmath.h"
|
||||
#include "sqstdstring.h"
|
||||
#include "sqstdsystem.h"
|
||||
#include "CConnectPool.h"
|
||||
#include "inline_hook.h"
|
||||
|
||||
#include <iostream>
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user