port 2V2-d.1: ActorInstance/InstanceBase closure creates the main character
Port the ActorInstance*/InstanceBase* siblings plus GameUtil, FlyTarget, PhysicsObject, GameEventManager, WeaponTrace, MapUtil and lineintersect_utils verbatim and drop their pending stand-ins; CGameEventManager and CPythonSystem join PythonBoot in CPythonApplication member order. Root cause of the intermittent Loading-phase header 7: TPlayerSkill::tNextRead is time_t, 32-bit in 40250 (_USE_32BIT_TIME_T) but 64-bit on LP64, so SKILL_LEVEL (76) was read as 2551 bytes instead of 1531. Packet.h now uses LONG with a static_assert, and the fake server sends SKILL_LEVEL in Loading. The fake server's CHARACTER_ADD now uses CHAR_TYPE_PC; port.login_flow asserts the main instance exists with race 0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
996d793f0c
commit
5266b00c6e
@@ -0,0 +1,86 @@
|
||||
{
|
||||
"reference": "GameLib/GameUtil.cpp",
|
||||
"reference_sha256": "eecad7e875d9d2c85dce3ecd2d99b92d55759c7d43dd76d7525b0a36036553e2",
|
||||
"priority": "P4",
|
||||
"contracts": [],
|
||||
"functions": {
|
||||
"DetectCollisionDynamicZCylinderVSDynamicZCylinder": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/GameLib/GameUtil.cpp:DetectCollisionDynamicZCylinderVSDynamicZCylinder"
|
||||
]
|
||||
},
|
||||
"DetectCollisionDynamicSphereVSDynamicSphere": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/GameLib/GameUtil.cpp:DetectCollisionDynamicSphereVSDynamicSphere"
|
||||
]
|
||||
},
|
||||
"IsCWAcuteAngle": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/GameLib/GameUtil.cpp:IsCWAcuteAngle"
|
||||
]
|
||||
},
|
||||
"IsCCWAcuteAngle": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/GameLib/GameUtil.cpp:IsCCWAcuteAngle"
|
||||
]
|
||||
},
|
||||
"IsCWRotation": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/GameLib/GameUtil.cpp:IsCWRotation"
|
||||
]
|
||||
},
|
||||
"IsCCWRotation": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/GameLib/GameUtil.cpp:IsCCWRotation"
|
||||
]
|
||||
},
|
||||
"GetInterpolatedRotation": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/GameLib/GameUtil.cpp:GetInterpolatedRotation"
|
||||
]
|
||||
},
|
||||
"GetDegreeFromPosition": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/GameLib/GameUtil.cpp:GetDegreeFromPosition"
|
||||
]
|
||||
},
|
||||
"GetDegreeFromPosition2": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/GameLib/GameUtil.cpp:GetDegreeFromPosition2"
|
||||
]
|
||||
},
|
||||
"GetDegreeDifference": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/GameLib/GameUtil.cpp:GetDegreeDifference"
|
||||
]
|
||||
},
|
||||
"GetRotatingDirection": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/GameLib/GameUtil.cpp:GetRotatingDirection"
|
||||
]
|
||||
},
|
||||
"CameraRotationToCharacterRotation": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/GameLib/GameUtil.cpp:CameraRotationToCharacterRotation"
|
||||
]
|
||||
},
|
||||
"CharacterRotationToCameraRotation": {
|
||||
"status": "PORTED",
|
||||
"impl": [
|
||||
"extension/src/port/GameLib/GameUtil.cpp:CharacterRotationToCameraRotation"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user