mirror of
https://github.com/ZDoom/Raze.git
synced 2025-05-30 17:01:03 +00:00
- backend update from GZDoom.
This commit is contained in:
parent
30b81c0920
commit
eb8fae761e
25 changed files with 416 additions and 94 deletions
|
@ -263,39 +263,77 @@ static int ExecScriptFunc(VMFrameStack *stack, VMReturn *ret, int numret)
|
|||
GETADDR(PB,RC,X_READ_NIL);
|
||||
reg.a[a] = *(void **)ptr;
|
||||
NEXTOP;
|
||||
OP(LV2):
|
||||
OP(LV2) :
|
||||
ASSERTF(a + 1); ASSERTA(B); ASSERTKD(C);
|
||||
GETADDR(PB, KC, X_READ_NIL);
|
||||
{
|
||||
auto v = (double*)ptr;
|
||||
reg.f[a] = v[0];
|
||||
reg.f[a + 1] = v[1];
|
||||
}
|
||||
NEXTOP;
|
||||
OP(LV2_R) :
|
||||
ASSERTF(a + 1); ASSERTA(B); ASSERTD(C);
|
||||
GETADDR(PB, RC, X_READ_NIL);
|
||||
{
|
||||
auto v = (double*)ptr;
|
||||
reg.f[a] = v[0];
|
||||
reg.f[a + 1] = v[1];
|
||||
}
|
||||
NEXTOP;
|
||||
OP(LV3) :
|
||||
ASSERTF(a + 2); ASSERTA(B); ASSERTKD(C);
|
||||
GETADDR(PB, KC, X_READ_NIL);
|
||||
{
|
||||
auto v = (double*)ptr;
|
||||
reg.f[a] = v[0];
|
||||
reg.f[a + 1] = v[1];
|
||||
reg.f[a + 2] = v[2];
|
||||
}
|
||||
NEXTOP;
|
||||
OP(LV3_R) :
|
||||
ASSERTF(a + 2); ASSERTA(B); ASSERTD(C);
|
||||
GETADDR(PB, RC, X_READ_NIL);
|
||||
{
|
||||
auto v = (double*)ptr;
|
||||
reg.f[a] = v[0];
|
||||
reg.f[a + 1] = v[1];
|
||||
reg.f[a + 2] = v[2];
|
||||
}
|
||||
NEXTOP;
|
||||
OP(LFV2):
|
||||
ASSERTF(a+1); ASSERTA(B); ASSERTKD(C);
|
||||
GETADDR(PB,KC,X_READ_NIL);
|
||||
{
|
||||
auto v = (double *)ptr;
|
||||
auto v = (float *)ptr;
|
||||
reg.f[a] = v[0];
|
||||
reg.f[a+1] = v[1];
|
||||
}
|
||||
NEXTOP;
|
||||
OP(LV2_R):
|
||||
OP(LFV2_R):
|
||||
ASSERTF(a+1); ASSERTA(B); ASSERTD(C);
|
||||
GETADDR(PB,RC,X_READ_NIL);
|
||||
{
|
||||
auto v = (double *)ptr;
|
||||
auto v = (float *)ptr;
|
||||
reg.f[a] = v[0];
|
||||
reg.f[a+1] = v[1];
|
||||
}
|
||||
NEXTOP;
|
||||
OP(LV3):
|
||||
OP(LFV3):
|
||||
ASSERTF(a+2); ASSERTA(B); ASSERTKD(C);
|
||||
GETADDR(PB,KC,X_READ_NIL);
|
||||
{
|
||||
auto v = (double *)ptr;
|
||||
auto v = (float *)ptr;
|
||||
reg.f[a] = v[0];
|
||||
reg.f[a+1] = v[1];
|
||||
reg.f[a+2] = v[2];
|
||||
}
|
||||
NEXTOP;
|
||||
OP(LV3_R):
|
||||
OP(LFV3_R):
|
||||
ASSERTF(a+2); ASSERTA(B); ASSERTD(C);
|
||||
GETADDR(PB,RC,X_READ_NIL);
|
||||
{
|
||||
auto v = (double *)ptr;
|
||||
auto v = (float *)ptr;
|
||||
reg.f[a] = v[0];
|
||||
reg.f[a+1] = v[1];
|
||||
reg.f[a+2] = v[2];
|
||||
|
@ -430,6 +468,44 @@ static int ExecScriptFunc(VMFrameStack *stack, VMReturn *ret, int numret)
|
|||
v[2] = reg.f[B+2];
|
||||
}
|
||||
NEXTOP;
|
||||
OP(SFV2):
|
||||
ASSERTA(a); ASSERTF(B+1); ASSERTKD(C);
|
||||
GETADDR(PA,KC,X_WRITE_NIL);
|
||||
{
|
||||
auto v = (float *)ptr;
|
||||
v[0] = (float)reg.f[B];
|
||||
v[1] = (float)reg.f[B+1];
|
||||
}
|
||||
NEXTOP;
|
||||
OP(SFV2_R):
|
||||
ASSERTA(a); ASSERTF(B+1); ASSERTD(C);
|
||||
GETADDR(PA,RC,X_WRITE_NIL);
|
||||
{
|
||||
auto v = (float *)ptr;
|
||||
v[0] = (float)reg.f[B];
|
||||
v[1] = (float)reg.f[B+1];
|
||||
}
|
||||
NEXTOP;
|
||||
OP(SFV3):
|
||||
ASSERTA(a); ASSERTF(B+2); ASSERTKD(C);
|
||||
GETADDR(PA,KC,X_WRITE_NIL);
|
||||
{
|
||||
auto v = (float *)ptr;
|
||||
v[0] = (float)reg.f[B];
|
||||
v[1] = (float)reg.f[B+1];
|
||||
v[2] = (float)reg.f[B+2];
|
||||
}
|
||||
NEXTOP;
|
||||
OP(SFV3_R):
|
||||
ASSERTA(a); ASSERTF(B+2); ASSERTD(C);
|
||||
GETADDR(PA,RC,X_WRITE_NIL);
|
||||
{
|
||||
auto v = (float *)ptr;
|
||||
v[0] = (float)reg.f[B];
|
||||
v[1] = (float)reg.f[B+1];
|
||||
v[2] = (float)reg.f[B+2];
|
||||
}
|
||||
NEXTOP;
|
||||
OP(SBIT):
|
||||
ASSERTA(a); ASSERTD(B);
|
||||
GETADDR(PA,0,X_WRITE_NIL);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue