Batch 4-b: verify combat on the port route
The fake server spawns a stray dog outside the village's BANPK safe disc and answers CG_TARGET/CG_ATTACK with GC_TARGET/GC_DAMAGE_INFO/GC_DEAD. port.login_flow and python_game_render_test hold the left button on it (MBF_SMART -> __OnPressActor) until it dies. Adds the host/test helper PythonBoot::Evaluate / Metin2PythonHost.evaluate. python_3d_surface: emission is now multiplied by the texture, like D3D's emissive-then-MODULATE, which removes the grey click-glow quad and the grey wash on characters. Damage numbers wait on CPythonSystem (4-g). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
6ea0fa9889
commit
85e176bdd5
@@ -286,6 +286,12 @@ func _material(draw: Dictionary) -> StandardMaterial3D:
|
||||
material.emission_enabled = lit and draw["material_emissive"] != Color(0, 0, 0, 0)
|
||||
if material.emission_enabled:
|
||||
material.emission = draw["material_emissive"]
|
||||
# D3D adds the emissive term to the lit vertex colour, and D3DTOP_MODULATE then multiplies that by the
|
||||
# texture; Godot adds emission after the texture, so a black additive glow (click_glow_select copy.jpg)
|
||||
# came out as a grey quad.
|
||||
if material.albedo_texture:
|
||||
material.emission_texture = material.albedo_texture
|
||||
material.emission_operator = BaseMaterial3D.EMISSION_OP_MULTIPLY
|
||||
material.shading_mode = BaseMaterial3D.SHADING_MODE_PER_VERTEX if lit \
|
||||
else BaseMaterial3D.SHADING_MODE_UNSHADED
|
||||
material.specular_mode = BaseMaterial3D.SPECULAR_DISABLED
|
||||
|
||||
Reference in New Issue
Block a user