mirror of
https://github.com/Ed94/pikuma_ps1.git
synced 2026-06-01 18:41:13 -07:00
7/7 Fixed-Point math
This commit is contained in:
@@ -33,6 +33,9 @@ typedef def_struct(Rect_S4) { S4 x; S4 y; S4 width; S4 height; };
|
||||
|
||||
typedef def_struct(M3_S2) { A3A3_S2 m; A3_S4 t; };
|
||||
|
||||
typedef def_farray(V2_S2, 3);
|
||||
typedef def_farray(V2_S2, 4);
|
||||
|
||||
#define v2s2(x,y) (V2_S2){x,y}
|
||||
#define v3s2(x,y,z) (V3_S2){x,y,z,0}
|
||||
#define v3s4(x,y,z) (V3_S4){x,y,z,0}
|
||||
@@ -45,6 +48,16 @@ FI_ void add_a3s4(A3_S4_R out_a, A3_S4 b) {
|
||||
(out_a[0])[2] += b[2];
|
||||
}
|
||||
|
||||
FI_ void add_a3s4_fp(A3_S4_R out_a, A3_S4 b) {
|
||||
(out_a[0])[0] += b[0] >> 1;
|
||||
(out_a[0])[1] += b[1] >> 1;
|
||||
(out_a[0])[2] += b[2] >> 1;
|
||||
}
|
||||
|
||||
FI_ void add_v3s4(V3_S4_R out_a, V3_S4 b) {
|
||||
add_a3s4(pcast(A3_S4_R, out_a), pcast(A3_S4, b));
|
||||
}
|
||||
|
||||
FI_ void add_v3s4_fp(V3_S4_R out_a, V3_S4 b) {
|
||||
add_a3s4_fp(pcast(A3_S4_R, out_a), pcast(A3_S4, b));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user