Skip to content

Commit

Permalink
#370 minor fix
Browse files Browse the repository at this point in the history
  • Loading branch information
XProger committed Nov 14, 2021
1 parent 6cdaaec commit 2c2ded8
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 23 deletions.
4 changes: 3 additions & 1 deletion src/fixed/draw.h
Original file line number Diff line number Diff line change
Expand Up @@ -218,10 +218,10 @@ void drawMesh(int32 meshIndex)
vIntensity = (uint16*)ptr;
ptr += vCount * sizeof(uint16);
}
#endif

if (MAX_VERTICES - gVerticesCount < vCount)
return;
#endif

if (MAX_FACES - gFacesCount < mesh->rCount + mesh->tCount + mesh->crCount + mesh->ctCount)
return;
Expand Down Expand Up @@ -757,8 +757,10 @@ void drawRoom(const Room* room, Camera* camera)
const RoomInfo* info = room->info;
const RoomData& data = room->data;

#ifndef __3DO__
if (MAX_VERTICES - gVerticesCount < info->verticesCount)
return;
#endif

if (MAX_FACES - gFacesCount < info->quadsCount + info->trianglesCount)
return;
Expand Down
44 changes: 22 additions & 22 deletions src/platform/3do/unpackMesh.s
Original file line number Diff line number Diff line change
Expand Up @@ -10,36 +10,36 @@ unpackMesh_asm__FPC10MeshVertexl
vertices RN r0
vptr RN r5
vCount RN r1
cx RN r2
cy RN r3
cz RN r4
cx RN r8
cy RN r9
cz RN r10
last RN lr
n0 RN r6
n1 RN r8
n2 RN r10
n0 RN r3
n1 RN r5
n2 RN r7
res RN r1
DOT3_F16 EQU 0x5000C

stmfd sp!, {r4-r10, lr}
add last, vertices, vCount, lsl #2
add last, last, vCount, lsl #1
mov vptr, vertices ; save vertices ptr
ldr r2, =matrixPtr
ldr r8, [r2] ; &m.e00
add r2, r8, #36 ; &m.e03
ldr r4, =matrixPtr
ldr r7, [r4] ; &m.e00
add r4, r7, #36 ; &m.e03

mov r0, r2
add r1, r8, #24 ; &m.e02
mov r0, r4
add r1, r7, #24 ; &m.e02
swi DOT3_F16
mov cz, r0, asr #10

mov r0, r2
add r1, r8, #12 ; &m.e01
mov r0, r4
add r1, r7, #12 ; &m.e01
swi DOT3_F16
mov cy, r0, asr #10

mov r0, r2
mov r1, r8 ; &m.e00
mov r0, r4
mov r1, r7 ; &m.e00
swi DOT3_F16
mov cx, r0, asr #10

Expand All @@ -49,19 +49,19 @@ DOT3_F16 EQU 0x5000C
loop ldmia vertices!, {n0, n1, n2} ; load two encoded vertices
cmp vertices, last

add r5, cx, n0, asr #16
add r2, cx, n0, asr #16 ; x
mov n0, n0, lsl #16
add r6, cy, n0, asr #16
add r3, cy, n0, asr #16 ; y

add r7, cz, n1, asr #16
add r4, cz, n1, asr #16 ; z
mov n1, n1, lsl #16
add r8, cx, n1, asr #16
add r5, cx, n1, asr #16 ; x

add r9, cy, n2, asr #16
add r6, cy, n2, asr #16 ; y
mov n2, n2, lsl #16
add r10, cz, n2, asr #16
add r7, cz, n2, asr #16 ; z

stmia res!, {r5, r6, r7, r8, r9, r10}
stmia res!, {r2, r3, r4, r5, r6, r7}
blt loop

ldmfd sp!, {r4-r10, pc}
Expand Down

0 comments on commit 2c2ded8

Please sign in to comment.