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
@@ -302,15 +302,84 @@ typedef enum _D3DTEXTURESTAGESTATETYPE
|
||||
D3DTSS_FORCE_DWORD = 0x7fffffff,
|
||||
} D3DTEXTURESTAGESTATETYPE;
|
||||
|
||||
// D3D8 texture-stage arguments and operations used by the character renderer.
|
||||
// D3D8 texture-stage arguments (d3d8types.h D3DTA_*).
|
||||
enum : DWORD {
|
||||
D3DTA_DIFFUSE = 0,
|
||||
D3DTA_CURRENT = 1,
|
||||
D3DTA_TEXTURE = 2,
|
||||
D3DTA_SELECTMASK = 0x0000000f,
|
||||
D3DTA_DIFFUSE = 0x00000000,
|
||||
D3DTA_CURRENT = 0x00000001,
|
||||
D3DTA_TEXTURE = 0x00000002,
|
||||
D3DTA_TFACTOR = 0x00000003,
|
||||
D3DTA_SPECULAR = 0x00000004,
|
||||
D3DTA_TEMP = 0x00000005,
|
||||
D3DTA_COMPLEMENT = 0x00000010,
|
||||
D3DTA_ALPHAREPLICATE = 0x00000020,
|
||||
};
|
||||
|
||||
typedef enum _D3DTEXTUREOP {
|
||||
D3DTOP_DISABLE = 1,
|
||||
D3DTOP_SELECTARG1 = 2,
|
||||
D3DTOP_SELECTARG2 = 3,
|
||||
D3DTOP_MODULATE = 4,
|
||||
};
|
||||
D3DTOP_MODULATE2X = 5,
|
||||
D3DTOP_MODULATE4X = 6,
|
||||
D3DTOP_ADD = 7,
|
||||
D3DTOP_ADDSIGNED = 8,
|
||||
D3DTOP_ADDSIGNED2X = 9,
|
||||
D3DTOP_SUBTRACT = 10,
|
||||
D3DTOP_ADDSMOOTH = 11,
|
||||
D3DTOP_BLENDDIFFUSEALPHA = 12,
|
||||
D3DTOP_BLENDTEXTUREALPHA = 13,
|
||||
D3DTOP_BLENDFACTORALPHA = 14,
|
||||
D3DTOP_BLENDTEXTUREALPHAPM = 15,
|
||||
D3DTOP_BLENDCURRENTALPHA = 16,
|
||||
D3DTOP_PREMODULATE = 17,
|
||||
D3DTOP_MODULATEALPHA_ADDCOLOR = 18,
|
||||
D3DTOP_MODULATECOLOR_ADDALPHA = 19,
|
||||
D3DTOP_MODULATEINVALPHA_ADDCOLOR = 20,
|
||||
D3DTOP_MODULATEINVCOLOR_ADDALPHA = 21,
|
||||
D3DTOP_BUMPENVMAP = 22,
|
||||
D3DTOP_BUMPENVMAPLUMINANCE = 23,
|
||||
D3DTOP_DOTPRODUCT3 = 24,
|
||||
D3DTOP_MULTIPLYADD = 25,
|
||||
D3DTOP_LERP = 26,
|
||||
D3DTOP_FORCE_DWORD = 0x7fffffff,
|
||||
} D3DTEXTUREOP;
|
||||
|
||||
typedef enum _D3DCMPFUNC {
|
||||
D3DCMP_NEVER = 1,
|
||||
D3DCMP_LESS = 2,
|
||||
D3DCMP_EQUAL = 3,
|
||||
D3DCMP_LESSEQUAL = 4,
|
||||
D3DCMP_GREATER = 5,
|
||||
D3DCMP_NOTEQUAL = 6,
|
||||
D3DCMP_GREATEREQUAL = 7,
|
||||
D3DCMP_ALWAYS = 8,
|
||||
D3DCMP_FORCE_DWORD = 0x7fffffff,
|
||||
} D3DCMPFUNC;
|
||||
|
||||
typedef enum _D3DBLEND {
|
||||
D3DBLEND_ZERO = 1,
|
||||
D3DBLEND_ONE = 2,
|
||||
D3DBLEND_SRCCOLOR = 3,
|
||||
D3DBLEND_INVSRCCOLOR = 4,
|
||||
D3DBLEND_SRCALPHA = 5,
|
||||
D3DBLEND_INVSRCALPHA = 6,
|
||||
D3DBLEND_DESTALPHA = 7,
|
||||
D3DBLEND_INVDESTALPHA = 8,
|
||||
D3DBLEND_DESTCOLOR = 9,
|
||||
D3DBLEND_INVDESTCOLOR = 10,
|
||||
D3DBLEND_SRCALPHASAT = 11,
|
||||
D3DBLEND_BOTHSRCALPHA = 12,
|
||||
D3DBLEND_BOTHINVSRCALPHA = 13,
|
||||
D3DBLEND_FORCE_DWORD = 0x7fffffff,
|
||||
} D3DBLEND;
|
||||
|
||||
typedef enum _D3DCULL {
|
||||
D3DCULL_NONE = 1,
|
||||
D3DCULL_CW = 2,
|
||||
D3DCULL_CCW = 3,
|
||||
D3DCULL_FORCE_DWORD = 0x7fffffff,
|
||||
} D3DCULL;
|
||||
|
||||
#define D3DTS_WORLDMATRIX(index) (D3DTRANSFORMSTATETYPE)(index + 256)
|
||||
#define D3DTS_WORLD D3DTS_WORLDMATRIX(0)
|
||||
|
||||
Reference in New Issue
Block a user