- 新增 TankiOffline 多模块骨架(app/core/net/ecs/physics/render/resource/state/battle/ui) - core 实现帧边界、nullmap 位流、大端读写、varint、fflate 解压 - GenerateProtocol.py 从 names 表生成 644 个模型、679 条下行、361 条上行 Kotlin codec - 手写 TankState 的 23 字节位打包 codec(真实注册点是 module_87072 的 T5) - app 增加 Node golden 自检:抓包解码后立即回编码逐字节比对 - 实测 plain/railgun-battle 400 帧:399 条记录全部回编码一致
47 lines
1.5 KiB
Kotlin
47 lines
1.5 KiB
Kotlin
// TankiOffline —— 3DTank 客户端 Kotlin 重构工程
|
||
//
|
||
// 模块划分对应 3DTank/docs/KtRebuild_Plan.md §5:
|
||
// app 入口(对应原 module_13431)
|
||
// core 数学/字节工具(原 32088、52943)
|
||
// ecs 实体组件系统(原 61378)
|
||
// physics 物理(原 55088)
|
||
// render WebGL 渲染(原 92980)
|
||
// resource 资源加载(原 36659、71105)
|
||
// net 协议编解码与网络层(S2 的全部 codec 模块)
|
||
// state Redux 状态(原 10032、18334)
|
||
// battle 战斗系统(原 87072)
|
||
// ui 界面(原 82347、21300)
|
||
//
|
||
// web/ 不是 Gradle 模块,只放 index.html / resources.json / 静态资源。
|
||
|
||
pluginManagement {
|
||
repositories {
|
||
maven { url = uri("https://maven.aliyun.com/repository/public") }
|
||
maven { url = uri("https://maven.aliyun.com/repository/gradle-plugin") }
|
||
maven { url = uri("https://repo1.maven.org/maven2") }
|
||
maven { url = uri("https://plugins.gradle.org/m2") }
|
||
}
|
||
}
|
||
|
||
dependencyResolutionManagement {
|
||
repositories {
|
||
maven { url = uri("https://maven.aliyun.com/repository/public") }
|
||
maven { url = uri("https://maven.aliyun.com/repository/gradle-plugin") }
|
||
maven { url = uri("https://repo1.maven.org/maven2") }
|
||
maven { url = uri("https://plugins.gradle.org/m2") }
|
||
}
|
||
}
|
||
|
||
rootProject.name = "TankiOffline"
|
||
|
||
include(":app")
|
||
include(":core")
|
||
include(":ecs")
|
||
include(":physics")
|
||
include(":render")
|
||
include(":resource")
|
||
include(":net")
|
||
include(":state")
|
||
include(":battle")
|
||
include(":ui")
|