M src/Edge.asm +9 -18
@@ 65,6 65,15 @@ NoSwap:
ld a,e
sub l
jr c,Left
+Right:
+ ld (ix + Edge.super.render),Edge_Render & 0FFH
+ ld (ix + Edge.super.render + 1),Edge_Render >> 8
+ jr Continue
+Left:
+ neg
+ ld (ix + Edge.super.render),Edge_RenderLeft & 0FFH
+ ld (ix + Edge.super.render + 1),Edge_RenderLeft >> 8
+Continue:
ld e,a
call Math_Divide8x8
ld (ix + Edge.stepx),a
@@ 73,24 82,6 @@ NoSwap:
srl c
sbc a,c
ld (ix + Edge.error),a
- ld (ix + Edge.super.render),Edge_Render & 0FFH
- ld (ix + Edge.super.render + 1),Edge_Render >> 8
- pop iy
- ld e,h
- call Rasterizer_Add_IY
- ret
-Left:
- neg
- ld e,a
- call Math_Divide8x8
- ld (ix + Edge.stepx),a
- ld (ix + Edge.dx),b
- xor a
- srl c
- sbc a,c
- ld (ix + Edge.error),a
- ld (ix + Edge.super.render),Edge_RenderLeft & 0FFH
- ld (ix + Edge.super.render + 1),Edge_RenderLeft >> 8
pop iy
ld e,h
call Rasterizer_Add_IY
M src/FaceEdge.asm +9 -18
@@ 65,6 65,15 @@ NoSwap:
ld a,e
sub l
jr c,Left
+Right:
+ ld (ix + FaceEdge.super.render),FaceEdge_Render & 0FFH
+ ld (ix + FaceEdge.super.render + 1),FaceEdge_Render >> 8
+ jr Continue
+Left:
+ neg
+ ld (ix + FaceEdge.super.render),FaceEdge_RenderLeft & 0FFH
+ ld (ix + FaceEdge.super.render + 1),FaceEdge_RenderLeft >> 8
+Continue:
ld e,a
call Math_Divide8x8
ld (ix + FaceEdge.stepx),a
@@ 73,24 82,6 @@ NoSwap:
srl c
sbc a,c
ld (ix + FaceEdge.error),a
- ld (ix + FaceEdge.super.render),FaceEdge_Render & 0FFH
- ld (ix + FaceEdge.super.render + 1),FaceEdge_Render >> 8
- pop iy
- ld e,h
- call Rasterizer_Add_IY
- ret
-Left:
- neg
- ld e,a
- call Math_Divide8x8
- ld (ix + FaceEdge.stepx),a
- ld (ix + FaceEdge.dx),b
- xor a
- srl c
- sbc a,c
- ld (ix + FaceEdge.error),a
- ld (ix + FaceEdge.super.render),FaceEdge_RenderLeft & 0FFH
- ld (ix + FaceEdge.super.render + 1),FaceEdge_RenderLeft >> 8
pop iy
ld e,h
call Rasterizer_Add_IY