mirror of
https://github.com/open-goal/jak-project
synced 2026-07-04 21:35:47 -04:00
@@ -2028,6 +2028,26 @@ void SetFormFormElement::push_to_stack(const Env& env, FormPool& pool, FormStack
|
||||
fmt::print("invalid bf set: {}\n", src_as_bf_set->to_string(env));
|
||||
}
|
||||
|
||||
const std::pair<FixedOperatorKind, FixedOperatorKind> in_place_ops[] = {
|
||||
{FixedOperatorKind::ADDITION, FixedOperatorKind::ADDITION_IN_PLACE},
|
||||
{FixedOperatorKind::ADDITION_PTR, FixedOperatorKind::ADDITION_PTR_IN_PLACE}};
|
||||
|
||||
auto src_as_generic = m_src->try_as_element<GenericElement>();
|
||||
if (src_as_generic) {
|
||||
for (auto& op_pair : in_place_ops) {
|
||||
if (src_as_generic->op().is_fixed(op_pair.first)) {
|
||||
auto dst_form = m_dst->to_form(env);
|
||||
auto add_form_0 = src_as_generic->elts().at(0)->to_form(env);
|
||||
|
||||
if (dst_form == add_form_0) {
|
||||
src_as_generic->op() = GenericOperator::make_fixed(op_pair.second);
|
||||
stack.push_form_element(src_as_generic, true);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stack.push_form_element(this, true);
|
||||
}
|
||||
|
||||
|
||||
@@ -368,6 +368,97 @@ Form* strip_truthy(Form* in) {
|
||||
return in;
|
||||
}
|
||||
|
||||
FormElement* rewrite_set_vector(LetElement* in, const Env& env, FormPool& pool) {
|
||||
if (in->entries().size() != 1) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
auto in_vec = env.get_variable_name(in->entries().at(0).dest);
|
||||
|
||||
auto& body_elts = in->body()->elts();
|
||||
if (body_elts.size() != 4) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
std::vector<Form*> sources;
|
||||
for (int i = 0; i < 4; i++) {
|
||||
auto elt_as_form_form = dynamic_cast<SetFormFormElement*>(body_elts.at(i));
|
||||
if (!elt_as_form_form) {
|
||||
return nullptr;
|
||||
}
|
||||
auto dst = elt_as_form_form->dst();
|
||||
sources.push_back(elt_as_form_form->src());
|
||||
Matcher dst_matcher = Matcher::deref(Matcher::any_reg(0), false,
|
||||
{DerefTokenMatcher::string(std::string(1, "xyzw"[i]))});
|
||||
auto mr = match(dst_matcher, dst);
|
||||
if (!mr.matched) {
|
||||
return nullptr;
|
||||
}
|
||||
if (in_vec != env.get_variable_name(*mr.maps.regs.at(0))) {
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
std::vector<Form*> args;
|
||||
args.push_back(in->entries().at(0).src);
|
||||
for (auto& src : sources) {
|
||||
args.push_back(src);
|
||||
}
|
||||
|
||||
auto op = GenericOperator::make_function(
|
||||
pool.alloc_single_element_form<ConstantTokenElement>(nullptr, "set-vector!"));
|
||||
return pool.alloc_element<GenericElement>(op, args);
|
||||
}
|
||||
|
||||
FormElement* rewrite_set_vector_2(LetElement* in, const Env& env, FormPool& pool) {
|
||||
if (in->entries().size() != 1) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
auto in_vec = env.get_variable_name(in->entries().at(0).dest);
|
||||
auto src_as_deref = in->entries().at(0).src->try_as_element<DerefElement>();
|
||||
if (!src_as_deref) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
auto& body_elts = in->body()->elts();
|
||||
if (body_elts.size() != 4) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
std::vector<Form*> sources;
|
||||
for (int i = 0; i < 4; i++) {
|
||||
auto elt_as_form_form = dynamic_cast<SetFormFormElement*>(body_elts.at(i));
|
||||
if (!elt_as_form_form) {
|
||||
return nullptr;
|
||||
}
|
||||
auto dst = elt_as_form_form->dst();
|
||||
sources.push_back(elt_as_form_form->src());
|
||||
Matcher dst_matcher = Matcher::deref(
|
||||
Matcher::any_reg(0), false,
|
||||
{DerefTokenMatcher::integer(0), DerefTokenMatcher::string(std::string(1, "xyzw"[i]))});
|
||||
auto mr = match(dst_matcher, dst);
|
||||
if (!mr.matched) {
|
||||
return nullptr;
|
||||
}
|
||||
if (in_vec != env.get_variable_name(*mr.maps.regs.at(0))) {
|
||||
return nullptr;
|
||||
}
|
||||
}
|
||||
|
||||
src_as_deref->tokens().push_back(DerefToken::make_int_constant(0));
|
||||
|
||||
std::vector<Form*> args;
|
||||
args.push_back(in->entries().at(0).src);
|
||||
for (auto& src : sources) {
|
||||
args.push_back(src);
|
||||
}
|
||||
|
||||
auto op = GenericOperator::make_function(
|
||||
pool.alloc_single_element_form<ConstantTokenElement>(nullptr, "set-vector!"));
|
||||
return pool.alloc_element<GenericElement>(op, args);
|
||||
}
|
||||
|
||||
ShortCircuitElement* get_or(Form* in) {
|
||||
// strip off truthy
|
||||
in = strip_truthy(in);
|
||||
@@ -564,6 +655,16 @@ FormElement* rewrite_let(LetElement* in, const Env& env, FormPool& pool) {
|
||||
return as_case_with_else;
|
||||
}
|
||||
|
||||
auto as_set_vector = rewrite_set_vector(in, env, pool);
|
||||
if (as_set_vector) {
|
||||
return as_set_vector;
|
||||
}
|
||||
|
||||
auto as_set_vector2 = rewrite_set_vector_2(in, env, pool);
|
||||
if (as_set_vector2) {
|
||||
return as_set_vector2;
|
||||
}
|
||||
|
||||
// nothing matched.
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
@@ -15,12 +15,7 @@
|
||||
(set! (-> v1-0 direction z) 0.612)
|
||||
(set! (-> v1-0 direction w) 0.0)
|
||||
)
|
||||
(let ((v1-1 (-> arg0 dir0 color)))
|
||||
(set! (-> v1-1 x) 0.8)
|
||||
(set! (-> v1-1 y) 0.775)
|
||||
(set! (-> v1-1 z) 0.7)
|
||||
(set! (-> v1-1 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> arg0 dir0 color) 0.8 0.775 0.7 1.0)
|
||||
(set! (-> arg0 dir0 levels x) arg2)
|
||||
(let ((v1-2 (-> arg0 dir1)))
|
||||
(set! (-> v1-2 direction x) 0.612)
|
||||
@@ -28,12 +23,7 @@
|
||||
(set! (-> v1-2 direction z) -0.612)
|
||||
(set! (-> v1-2 direction w) 0.0)
|
||||
)
|
||||
(let ((v1-3 (-> arg0 dir1 color)))
|
||||
(set! (-> v1-3 x) 0.8)
|
||||
(set! (-> v1-3 y) 0.775)
|
||||
(set! (-> v1-3 z) 0.7)
|
||||
(set! (-> v1-3 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> arg0 dir1 color) 0.8 0.775 0.7 1.0)
|
||||
(set! (-> arg0 dir1 levels x) arg3)
|
||||
(vector-matrix*!
|
||||
(the-as vector (-> arg0 dir0))
|
||||
@@ -52,12 +42,7 @@
|
||||
(set! (-> v1-4 direction z) 0.0)
|
||||
(set! (-> v1-4 direction w) 0.0)
|
||||
)
|
||||
(let ((v1-5 (-> arg0 dir2 color)))
|
||||
(set! (-> v1-5 x) 0.8)
|
||||
(set! (-> v1-5 y) 0.775)
|
||||
(set! (-> v1-5 z) 0.7)
|
||||
(set! (-> v1-5 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> arg0 dir2 color) 0.8 0.775 0.7 1.0)
|
||||
(let ((f0-26 arg4))
|
||||
(set! (-> arg0 dir2 levels x) f0-26)
|
||||
f0-26
|
||||
@@ -76,12 +61,7 @@
|
||||
(set! (-> v1-0 direction z) 0.0)
|
||||
(set! (-> v1-0 direction w) 0.0)
|
||||
)
|
||||
(let ((v1-1 (-> s5-0 dir2 color)))
|
||||
(set! (-> v1-1 x) 0.75)
|
||||
(set! (-> v1-1 y) 0.375)
|
||||
(set! (-> v1-1 z) 0.0)
|
||||
(set! (-> v1-1 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> s5-0 dir2 color) 0.75 0.375 0.0 1.0)
|
||||
)
|
||||
(make-light-kit (-> arg0 light-group 3) 53703.11 0.9 0.9 0.5)
|
||||
(make-light-kit (-> arg0 light-group 4) 54613.332 0.9 0.9 0.4)
|
||||
@@ -96,18 +76,8 @@
|
||||
(defun make-misty-light-kit ((arg0 mood-context))
|
||||
(let ((gp-0 (-> arg0 light-group 1)))
|
||||
(make-light-kit gp-0 24576.0 1.0 0.4 1.0)
|
||||
(let ((v1-0 (-> gp-0 dir0 color)))
|
||||
(set! (-> v1-0 x) 0.75)
|
||||
(set! (-> v1-0 y) 0.3)
|
||||
(set! (-> v1-0 z) 0.0)
|
||||
(set! (-> v1-0 w) 1.0)
|
||||
)
|
||||
(let ((v0-1 (-> gp-0 dir2 color)))
|
||||
(set! (-> v0-1 x) 0.75)
|
||||
(set! (-> v0-1 y) 0.3)
|
||||
(set! (-> v0-1 z) 0.0)
|
||||
(set! (-> v0-1 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> gp-0 dir0 color) 0.75 0.3 0.0 1.0)
|
||||
(set-vector! (-> gp-0 dir2 color) 0.75 0.3 0.0 1.0)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
@@ -122,12 +92,7 @@
|
||||
(set! (-> a0-1 direction z) 0.0)
|
||||
(set! (-> a0-1 direction w) 1.0)
|
||||
)
|
||||
(let ((a0-2 (-> v1-0 dir0 color)))
|
||||
(set! (-> a0-2 x) 0.375)
|
||||
(set! (-> a0-2 y) 0.25)
|
||||
(set! (-> a0-2 z) 0.25)
|
||||
(set! (-> a0-2 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> v1-0 dir0 color) 0.375 0.25 0.25 1.0)
|
||||
(set! (-> v1-0 dir0 levels x) 1.0)
|
||||
(let ((a0-3 (-> v1-0 dir1)))
|
||||
(set! (-> a0-3 direction x) -0.6119)
|
||||
@@ -135,12 +100,7 @@
|
||||
(set! (-> a0-3 direction z) -0.6119)
|
||||
(set! (-> a0-3 direction w) 1.0)
|
||||
)
|
||||
(let ((a0-4 (-> v1-0 dir1 color)))
|
||||
(set! (-> a0-4 x) 0.25)
|
||||
(set! (-> a0-4 y) 0.75)
|
||||
(set! (-> a0-4 z) 1.0)
|
||||
(set! (-> a0-4 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> v1-0 dir1 color) 0.25 0.75 1.0 1.0)
|
||||
(set! (-> v1-0 dir1 levels x) 0.666)
|
||||
(let ((a0-5 (-> v1-0 dir2)))
|
||||
(set! (-> a0-5 direction x) 0.9961)
|
||||
@@ -148,12 +108,7 @@
|
||||
(set! (-> a0-5 direction z) -0.0871)
|
||||
(set! (-> a0-5 direction w) 1.0)
|
||||
)
|
||||
(let ((a0-6 (-> v1-0 dir2 color)))
|
||||
(set! (-> a0-6 x) 0.0)
|
||||
(set! (-> a0-6 y) 0.25)
|
||||
(set! (-> a0-6 z) 1.0)
|
||||
(set! (-> a0-6 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> v1-0 dir2 color) 0.0 0.25 1.0 1.0)
|
||||
(set! (-> v1-0 dir2 levels x) 1.0)
|
||||
)
|
||||
(let ((v1-2 (-> arg0 light-group 2)))
|
||||
@@ -163,12 +118,7 @@
|
||||
(set! (-> a0-7 direction z) 0.836)
|
||||
(set! (-> a0-7 direction w) 1.0)
|
||||
)
|
||||
(let ((a0-8 (-> v1-2 dir0 color)))
|
||||
(set! (-> a0-8 x) 0.8)
|
||||
(set! (-> a0-8 y) 0.8)
|
||||
(set! (-> a0-8 z) 0.8)
|
||||
(set! (-> a0-8 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> v1-2 dir0 color) 0.8 0.8 0.8 1.0)
|
||||
(set! (-> v1-2 dir0 levels x) 0.7)
|
||||
(let ((a0-9 (-> v1-2 dir1)))
|
||||
(set! (-> a0-9 direction x) -0.2959)
|
||||
@@ -176,31 +126,16 @@
|
||||
(set! (-> a0-9 direction z) -0.8133)
|
||||
(set! (-> a0-9 direction w) 1.0)
|
||||
)
|
||||
(let ((a0-10 (-> v1-2 dir1 color)))
|
||||
(set! (-> a0-10 x) 0.8)
|
||||
(set! (-> a0-10 y) 0.8)
|
||||
(set! (-> a0-10 z) 0.8)
|
||||
(set! (-> a0-10 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> v1-2 dir1 color) 0.8 0.8 0.8 1.0)
|
||||
(set! (-> v1-2 dir1 levels x) 0.7)
|
||||
)
|
||||
(let ((s5-0 (-> arg0 light-group 3)))
|
||||
(make-light-kit s5-0 5461.3335 1.0 0.8 0.2)
|
||||
(let ((v1-4 (-> s5-0 dir0 color)))
|
||||
(set! (-> v1-4 x) 0.675)
|
||||
(set! (-> v1-4 y) 0.45)
|
||||
(set! (-> v1-4 z) 0.15)
|
||||
(set! (-> v1-4 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> s5-0 dir0 color) 0.675 0.45 0.15 1.0)
|
||||
)
|
||||
(let ((s5-1 (-> arg0 light-group 4)))
|
||||
(make-light-kit s5-1 57344.0 1.0 0.8 0.2)
|
||||
(let ((v1-5 (-> s5-1 dir0 color)))
|
||||
(set! (-> v1-5 x) 0.675)
|
||||
(set! (-> v1-5 y) 0.45)
|
||||
(set! (-> v1-5 z) 0.15)
|
||||
(set! (-> v1-5 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> s5-1 dir0 color) 0.675 0.45 0.15 1.0)
|
||||
)
|
||||
(let ((v1-6 (-> arg0 light-group 5)))
|
||||
(let ((a0-13 (-> v1-6 dir0)))
|
||||
@@ -209,28 +144,13 @@
|
||||
(set! (-> a0-13 direction z) 0.0)
|
||||
(set! (-> a0-13 direction w) 0.0)
|
||||
)
|
||||
(let ((a0-14 (-> v1-6 dir0 color)))
|
||||
(set! (-> a0-14 x) 2.0)
|
||||
(set! (-> a0-14 y) 1.0)
|
||||
(set! (-> a0-14 z) 0.0)
|
||||
(set! (-> a0-14 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> v1-6 dir0 color) 2.0 1.0 0.0 1.0)
|
||||
(set! (-> v1-6 dir1 levels x) 0.0)
|
||||
(set! (-> v1-6 dir2 levels x) 0.0)
|
||||
)
|
||||
(let ((v1-8 (-> arg0 light-group 6)))
|
||||
(let ((a0-15 (-> v1-8 dir0 color)))
|
||||
(set! (-> a0-15 x) 1.0)
|
||||
(set! (-> a0-15 y) 0.5)
|
||||
(set! (-> a0-15 z) 0.0)
|
||||
(set! (-> a0-15 w) 1.0)
|
||||
)
|
||||
(let ((a0-16 (-> v1-8 dir1 color)))
|
||||
(set! (-> a0-16 x) 0.6)
|
||||
(set! (-> a0-16 y) 0.58125)
|
||||
(set! (-> a0-16 z) 0.525)
|
||||
(set! (-> a0-16 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> v1-8 dir0 color) 1.0 0.5 0.0 1.0)
|
||||
(set-vector! (-> v1-8 dir1 color) 0.6 0.58125 0.525 1.0)
|
||||
(set! (-> v1-8 dir1 levels x) 0.0)
|
||||
(set! (-> v1-8 dir2 levels x) 0.0)
|
||||
)
|
||||
@@ -248,12 +168,7 @@
|
||||
(set! (-> v1-0 direction z) 0.0)
|
||||
(set! (-> v1-0 direction w) 1.0)
|
||||
)
|
||||
(let ((v1-1 (-> s5-0 dir0 color)))
|
||||
(set! (-> v1-1 x) 1.0)
|
||||
(set! (-> v1-1 y) 0.9)
|
||||
(set! (-> v1-1 z) 0.0)
|
||||
(set! (-> v1-1 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> s5-0 dir0 color) 1.0 0.9 0.0 1.0)
|
||||
)
|
||||
(let ((s5-1 (-> arg0 light-group 2)))
|
||||
(make-light-kit s5-1 0.0 1.0 0.0 0.0)
|
||||
@@ -263,12 +178,7 @@
|
||||
(set! (-> v1-2 direction z) 0.0)
|
||||
(set! (-> v1-2 direction w) 1.0)
|
||||
)
|
||||
(let ((v1-3 (-> s5-1 dir0 color)))
|
||||
(set! (-> v1-3 x) 1.0)
|
||||
(set! (-> v1-3 y) 0.9)
|
||||
(set! (-> v1-3 z) 0.0)
|
||||
(set! (-> v1-3 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> s5-1 dir0 color) 1.0 0.9 0.0 1.0)
|
||||
)
|
||||
(let ((s5-2 (-> arg0 light-group 3)))
|
||||
(make-light-kit s5-2 0.0 1.0 0.0 0.0)
|
||||
@@ -278,12 +188,7 @@
|
||||
(set! (-> v1-4 direction z) 0.0)
|
||||
(set! (-> v1-4 direction w) 1.0)
|
||||
)
|
||||
(let ((v1-5 (-> s5-2 dir0 color)))
|
||||
(set! (-> v1-5 x) 1.0)
|
||||
(set! (-> v1-5 y) 0.9)
|
||||
(set! (-> v1-5 z) 0.0)
|
||||
(set! (-> v1-5 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> s5-2 dir0 color) 1.0 0.9 0.0 1.0)
|
||||
)
|
||||
(let ((s5-3 (-> arg0 light-group 4)))
|
||||
(make-light-kit s5-3 0.0 1.0 0.0 0.0)
|
||||
@@ -293,12 +198,7 @@
|
||||
(set! (-> v1-6 direction z) 0.0)
|
||||
(set! (-> v1-6 direction w) 1.0)
|
||||
)
|
||||
(let ((v1-7 (-> s5-3 dir0 color)))
|
||||
(set! (-> v1-7 x) 1.0)
|
||||
(set! (-> v1-7 y) 0.9)
|
||||
(set! (-> v1-7 z) 0.0)
|
||||
(set! (-> v1-7 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> s5-3 dir0 color) 1.0 0.9 0.0 1.0)
|
||||
)
|
||||
(let ((s5-4 (-> arg0 light-group 5)))
|
||||
(make-light-kit s5-4 0.0 1.0 0.0 0.0)
|
||||
@@ -308,12 +208,7 @@
|
||||
(set! (-> v1-8 direction z) 0.0)
|
||||
(set! (-> v1-8 direction w) 1.0)
|
||||
)
|
||||
(let ((v1-9 (-> s5-4 dir0 color)))
|
||||
(set! (-> v1-9 x) 1.0)
|
||||
(set! (-> v1-9 y) 0.9)
|
||||
(set! (-> v1-9 z) 0.0)
|
||||
(set! (-> v1-9 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> s5-4 dir0 color) 1.0 0.9 0.0 1.0)
|
||||
)
|
||||
(let ((gp-1 (-> arg0 light-group 6)))
|
||||
(make-light-kit gp-1 0.0 1.0 0.0 0.0)
|
||||
@@ -323,12 +218,7 @@
|
||||
(set! (-> v1-10 direction z) 0.0)
|
||||
(set! (-> v1-10 direction w) 1.0)
|
||||
)
|
||||
(let ((v0-6 (-> gp-1 dir0 color)))
|
||||
(set! (-> v0-6 x) 1.0)
|
||||
(set! (-> v0-6 y) 0.9)
|
||||
(set! (-> v0-6 z) 0.0)
|
||||
(set! (-> v0-6 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> gp-1 dir0 color) 1.0 0.9 0.0 1.0)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
@@ -343,12 +233,7 @@
|
||||
(set! (-> a1-0 direction z) 0.2929)
|
||||
(set! (-> a1-0 direction w) 1.0)
|
||||
)
|
||||
(let ((a1-1 (-> v1-0 dir0 color)))
|
||||
(set! (-> a1-1 x) 0.5)
|
||||
(set! (-> a1-1 y) 1.0)
|
||||
(set! (-> a1-1 z) 1.0)
|
||||
(set! (-> a1-1 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> v1-0 dir0 color) 0.5 1.0 1.0 1.0)
|
||||
(set! (-> v1-0 dir0 levels x) 1.0)
|
||||
(let ((a1-2 (-> v1-0 dir2)))
|
||||
(set! (-> a1-2 direction x) 0.0)
|
||||
@@ -356,12 +241,7 @@
|
||||
(set! (-> a1-2 direction z) 0.0)
|
||||
(set! (-> a1-2 direction w) 1.0)
|
||||
)
|
||||
(let ((v1-1 (-> v1-0 dir2 color)))
|
||||
(set! (-> v1-1 x) 0.625)
|
||||
(set! (-> v1-1 y) 0.375)
|
||||
(set! (-> v1-1 z) 0.1)
|
||||
(set! (-> v1-1 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> v1-0 dir2 color) 0.625 0.375 0.1 1.0)
|
||||
)
|
||||
(let ((v1-2 (-> arg0 light-group 2)))
|
||||
(let ((a0-1 (-> v1-2 dir0)))
|
||||
@@ -370,12 +250,7 @@
|
||||
(set! (-> a0-1 direction z) 0.2929)
|
||||
(set! (-> a0-1 direction w) 1.0)
|
||||
)
|
||||
(let ((a0-2 (-> v1-2 dir0 color)))
|
||||
(set! (-> a0-2 x) 0.25)
|
||||
(set! (-> a0-2 y) 0.5)
|
||||
(set! (-> a0-2 z) 0.5)
|
||||
(set! (-> a0-2 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> v1-2 dir0 color) 0.25 0.5 0.5 1.0)
|
||||
(set! (-> v1-2 dir0 levels x) 1.0)
|
||||
(let ((a0-3 (-> v1-2 dir2)))
|
||||
(set! (-> a0-3 direction x) 0.0)
|
||||
@@ -383,12 +258,7 @@
|
||||
(set! (-> a0-3 direction z) 0.0)
|
||||
(set! (-> a0-3 direction w) 1.0)
|
||||
)
|
||||
(let ((v0-0 (-> v1-2 dir2 color)))
|
||||
(set! (-> v0-0 x) 0.625)
|
||||
(set! (-> v0-0 y) 0.375)
|
||||
(set! (-> v0-0 z) 0.1)
|
||||
(set! (-> v0-0 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> v1-2 dir2 color) 0.625 0.375 0.1 1.0)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
|
||||
+134
-133
@@ -12,150 +12,151 @@
|
||||
(defmethod TODO-RENAME-9 align-control ((obj align-control))
|
||||
(local-vars (a0-9 symbol) (s7-0 none) (ra-0 int))
|
||||
(with-pp
|
||||
(let ((s5-0 (-> obj process skel active-channels)))
|
||||
(dotimes (s4-0 s5-0)
|
||||
(let* ((a0-3 (-> obj process skel channel s4-0))
|
||||
(v1-5 (-> a0-3 frame-group))
|
||||
(a0-4 (-> a0-3 command))
|
||||
(a1-0 'stack)
|
||||
(a2-0 (= a0-4 a1-0))
|
||||
(let ((s5-0 (-> obj process skel active-channels)))
|
||||
(dotimes (s4-0 s5-0)
|
||||
(let* ((a0-3 (-> obj process skel channel s4-0))
|
||||
(v1-5 (-> a0-3 frame-group))
|
||||
(a0-4 (-> a0-3 command))
|
||||
(a1-0 'stack)
|
||||
(a2-0 (= a0-4 a1-0))
|
||||
)
|
||||
(cond
|
||||
((or a2-0 (begin
|
||||
(set! a1-0 'stack1)
|
||||
(= a0-4 a1-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(else
|
||||
; TODO - support decompiling the return-from-thread
|
||||
; TODO - properly decompile the `go`to
|
||||
; (when (!= (-> v1-5 type) art-joint-anim)
|
||||
; (let
|
||||
; ((t9-0 (the-as (function object object object object) enter-state))
|
||||
; (a0-7 "align joint-anim")
|
||||
; )
|
||||
; (set! (-> pp next-state) process-drawable-art-error)
|
||||
; (t9-0 a0-7 (the-as none a1-0) a2-0)
|
||||
; )
|
||||
; (.lw ra-0 return-from-thread s7-0)
|
||||
; (.jr ra-0)
|
||||
; (nop!)
|
||||
; 0
|
||||
; )
|
||||
0
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let* ((a0-8 (-> obj process skel root-channel 0))
|
||||
(v1-16 (-> a0-8 frame-group))
|
||||
(f0-0 (-> a0-8 frame-num))
|
||||
)
|
||||
(= (-> a0-8 num-func) num-func-loop!)
|
||||
(cond
|
||||
((or a2-0 (begin
|
||||
(set! a1-0 'stack1)
|
||||
(= a0-4 a1-0)
|
||||
)
|
||||
((or (not v1-16) (!= (-> obj frame-group) v1-16))
|
||||
(set! a0-9 #t)
|
||||
)
|
||||
((= (-> a0-8 num-func) num-func-loop!)
|
||||
(set! a0-9 (< (* (-> a0-8 param 0) (- f0-0 (-> obj frame-num))) 0.0))
|
||||
)
|
||||
(else
|
||||
(set! a0-9 (= f0-0 0.0))
|
||||
)
|
||||
)
|
||||
(else
|
||||
; TODO - support decompiling the return-from-thread
|
||||
; TODO - properly decompile the `go`to
|
||||
; (when (!= (-> v1-5 type) art-joint-anim)
|
||||
; (let
|
||||
; ((t9-0 (the-as (function object object object object) enter-state))
|
||||
; (a0-7 "align joint-anim")
|
||||
; )
|
||||
; (set! (-> pp next-state) process-drawable-art-error)
|
||||
; (t9-0 a0-7 (the-as none a1-0) a2-0)
|
||||
; )
|
||||
; (.lw ra-0 return-from-thread s7-0)
|
||||
; (.jr ra-0)
|
||||
; (nop!)
|
||||
; 0
|
||||
; )
|
||||
0
|
||||
(if a0-9
|
||||
(set! (-> obj flags) (logior (-> obj flags) 1))
|
||||
(set! (-> obj flags) (logand -2 (the-as int (-> obj flags))))
|
||||
)
|
||||
(set! (-> obj frame-group) v1-16)
|
||||
(set! (-> obj frame-num) f0-0)
|
||||
)
|
||||
(mem-copy!
|
||||
(the-as pointer (-> obj transform 1))
|
||||
(the-as pointer (-> obj transform))
|
||||
48
|
||||
)
|
||||
(quaternion-copy!
|
||||
(the-as quaternion (-> obj transform 1 rot))
|
||||
(-> obj align quat)
|
||||
)
|
||||
(set! (-> obj transform 1 scale quad) (-> obj align scale quad))
|
||||
(let* ((a2-5 (-> obj matrix 1))
|
||||
(a3-0 (-> obj matrix))
|
||||
(v1-19 (-> a3-0 0 vector 0 quad))
|
||||
(a0-18 (-> a3-0 0 vector 1 quad))
|
||||
(a1-12 (-> a3-0 0 vector 2 quad))
|
||||
(a3-1 (-> a3-0 0 vector 3 quad))
|
||||
)
|
||||
(set! (-> a2-5 vector 0 quad) v1-19)
|
||||
(set! (-> a2-5 vector 1 quad) a0-18)
|
||||
(set! (-> a2-5 vector 2 quad) a1-12)
|
||||
(set! (-> a2-5 vector 3 quad) a3-1)
|
||||
)
|
||||
(let ((s5-1 (-> obj process node-list data 1)))
|
||||
(cspace<-matrix-no-push-joint! s5-1 (the-as matrix (-> obj process skel)))
|
||||
(let* ((v1-23 (-> obj matrix))
|
||||
(a3-2 (-> s5-1 bone transform))
|
||||
(a0-21 (-> a3-2 vector 0 quad))
|
||||
(a1-14 (-> a3-2 vector 1 quad))
|
||||
(a2-6 (-> a3-2 vector 2 quad))
|
||||
(a3-3 (-> a3-2 vector 3 quad))
|
||||
)
|
||||
(set! (-> v1-23 0 vector 0 quad) a0-21)
|
||||
(set! (-> v1-23 0 vector 1 quad) a1-14)
|
||||
(set! (-> v1-23 0 vector 2 quad) a2-6)
|
||||
(set! (-> v1-23 0 vector 3 quad) a3-3)
|
||||
)
|
||||
(vector*!
|
||||
(the-as vector (-> obj transform))
|
||||
(-> s5-1 bone position)
|
||||
(-> obj process root scale)
|
||||
)
|
||||
)
|
||||
(vector-!
|
||||
(the-as vector (-> obj delta))
|
||||
(the-as vector (-> obj transform))
|
||||
(the-as vector (-> obj transform 1))
|
||||
)
|
||||
(set-vector!
|
||||
(-> obj align scale)
|
||||
(vector-length (the-as vector (-> obj matrix)))
|
||||
(vector-length (-> obj matrix 0 vector 1))
|
||||
(vector-length (-> obj matrix 0 vector 2))
|
||||
1.0
|
||||
)
|
||||
(vector-!
|
||||
(-> obj delta scale)
|
||||
(-> obj align scale)
|
||||
(-> obj transform 1 scale)
|
||||
)
|
||||
(let
|
||||
((a2-8
|
||||
(matrix-inv-scale! (new 'stack-no-clear 'matrix) (-> obj align scale))
|
||||
)
|
||||
)
|
||||
(quaternion-normalize!
|
||||
(matrix->quaternion
|
||||
(-> obj align quat)
|
||||
(matrix*! a2-8 (the-as matrix (-> obj matrix)) a2-8)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let* ((a0-8 (-> obj process skel root-channel 0))
|
||||
(v1-16 (-> a0-8 frame-group))
|
||||
(f0-0 (-> a0-8 frame-num))
|
||||
)
|
||||
(= (-> a0-8 num-func) num-func-loop!)
|
||||
(cond
|
||||
((or (not v1-16) (!= (-> obj frame-group) v1-16))
|
||||
(set! a0-9 #t)
|
||||
)
|
||||
((= (-> a0-8 num-func) num-func-loop!)
|
||||
(set! a0-9 (< (* (-> a0-8 param 0) (- f0-0 (-> obj frame-num))) 0.0))
|
||||
)
|
||||
(else
|
||||
(set! a0-9 (= f0-0 0.0))
|
||||
)
|
||||
)
|
||||
(if a0-9
|
||||
(set! (-> obj flags) (logior (-> obj flags) 1))
|
||||
(set! (-> obj flags) (logand -2 (the-as int (-> obj flags))))
|
||||
)
|
||||
(set! (-> obj frame-group) v1-16)
|
||||
(set! (-> obj frame-num) f0-0)
|
||||
)
|
||||
(mem-copy!
|
||||
(the-as pointer (-> obj transform 1))
|
||||
(the-as pointer (-> obj transform))
|
||||
48
|
||||
)
|
||||
(quaternion-copy!
|
||||
(the-as quaternion (-> obj transform 1 rot))
|
||||
(-> obj align quat)
|
||||
)
|
||||
(set! (-> obj transform 1 scale quad) (-> obj align scale quad))
|
||||
(let* ((a2-5 (-> obj matrix 1))
|
||||
(a3-0 (-> obj matrix))
|
||||
(v1-19 (-> a3-0 0 vector 0 quad))
|
||||
(a0-18 (-> a3-0 0 vector 1 quad))
|
||||
(a1-12 (-> a3-0 0 vector 2 quad))
|
||||
(a3-1 (-> a3-0 0 vector 3 quad))
|
||||
)
|
||||
(set! (-> a2-5 vector 0 quad) v1-19)
|
||||
(set! (-> a2-5 vector 1 quad) a0-18)
|
||||
(set! (-> a2-5 vector 2 quad) a1-12)
|
||||
(set! (-> a2-5 vector 3 quad) a3-1)
|
||||
)
|
||||
(let ((s5-1 (-> obj process node-list data 1)))
|
||||
(cspace<-matrix-no-push-joint! s5-1 (the-as matrix (-> obj process skel)))
|
||||
(let* ((v1-23 (-> obj matrix))
|
||||
(a3-2 (-> s5-1 bone transform))
|
||||
(a0-21 (-> a3-2 vector 0 quad))
|
||||
(a1-14 (-> a3-2 vector 1 quad))
|
||||
(a2-6 (-> a3-2 vector 2 quad))
|
||||
(a3-3 (-> a3-2 vector 3 quad))
|
||||
(let
|
||||
((a1-24
|
||||
(quaternion-inverse!
|
||||
(new 'stack-no-clear 'quaternion)
|
||||
(the-as quaternion (-> obj transform 1 rot))
|
||||
)
|
||||
(set! (-> v1-23 0 vector 0 quad) a0-21)
|
||||
(set! (-> v1-23 0 vector 1 quad) a1-14)
|
||||
(set! (-> v1-23 0 vector 2 quad) a2-6)
|
||||
(set! (-> v1-23 0 vector 3 quad) a3-3)
|
||||
)
|
||||
(vector*!
|
||||
(the-as vector (-> obj transform))
|
||||
(-> s5-1 bone position)
|
||||
(-> obj process root scale)
|
||||
)
|
||||
)
|
||||
(vector-!
|
||||
(the-as vector (-> obj delta))
|
||||
(the-as vector (-> obj transform))
|
||||
(the-as vector (-> obj transform 1))
|
||||
)
|
||||
(let ((s5-2 (-> obj align scale)))
|
||||
(set! (-> s5-2 x) (vector-length (the-as vector (-> obj matrix))))
|
||||
(set! (-> s5-2 y) (vector-length (-> obj matrix 0 vector 1)))
|
||||
(set! (-> s5-2 z) (vector-length (-> obj matrix 0 vector 2)))
|
||||
(set! (-> s5-2 w) 1.0)
|
||||
)
|
||||
(vector-!
|
||||
(-> obj delta scale)
|
||||
(-> obj align scale)
|
||||
(-> obj transform 1 scale)
|
||||
)
|
||||
(let
|
||||
((a2-8
|
||||
(matrix-inv-scale! (new 'stack-no-clear 'matrix) (-> obj align scale))
|
||||
)
|
||||
)
|
||||
(quaternion-normalize!
|
||||
(matrix->quaternion
|
||||
(-> obj align quat)
|
||||
(matrix*! a2-8 (the-as matrix (-> obj matrix)) a2-8)
|
||||
)
|
||||
)
|
||||
)
|
||||
(let
|
||||
((a1-24
|
||||
(quaternion-inverse!
|
||||
(new 'stack-no-clear 'quaternion)
|
||||
(the-as quaternion (-> obj transform 1 rot))
|
||||
)
|
||||
)
|
||||
(quaternion-normalize!
|
||||
(quaternion*! (-> obj delta quat) a1-24 (-> obj align quat))
|
||||
)
|
||||
)
|
||||
)
|
||||
(quaternion-normalize!
|
||||
(quaternion*! (-> obj delta quat) a1-24 (-> obj align quat))
|
||||
)
|
||||
(-> obj delta)
|
||||
)
|
||||
(-> obj delta)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 12 of type align-control
|
||||
|
||||
@@ -23,12 +23,7 @@
|
||||
(f30-0 1.0)
|
||||
(s4-0 0)
|
||||
)
|
||||
(let ((v1-0 s5-0))
|
||||
(set! (-> v1-0 x) 0.0)
|
||||
(set! (-> v1-0 y) 0.0)
|
||||
(set! (-> v1-0 z) 0.0)
|
||||
(set! (-> v1-0 w) 1.0)
|
||||
)
|
||||
(set-vector! s5-0 0.0 0.0 0.0 1.0)
|
||||
(dotimes (s3-0 10)
|
||||
(let ((f28-0 (* f30-0 (sin (* 3276.8 (the float s3-0)))))
|
||||
(f26-0 (* f30-0 (sin (* 3276.8 (the float (+ s3-0 1))))))
|
||||
|
||||
@@ -917,18 +917,8 @@
|
||||
(s5-0 (new-stack-vector0))
|
||||
(gp-0 (new-stack-vector0))
|
||||
)
|
||||
(let ((v1-3 s4-0))
|
||||
(set! (-> v1-3 x) 0.0)
|
||||
(set! (-> v1-3 y) 0.0)
|
||||
(set! (-> v1-3 z) 0.0)
|
||||
(set! (-> v1-3 w) 1.0)
|
||||
)
|
||||
(let ((v1-4 a1-2))
|
||||
(set! (-> v1-4 x) 100.0)
|
||||
(set! (-> v1-4 y) 0.0)
|
||||
(set! (-> v1-4 z) 0.0)
|
||||
(set! (-> v1-4 w) 10000.0)
|
||||
)
|
||||
(set-vector! s4-0 0.0 0.0 0.0 1.0)
|
||||
(set-vector! a1-2 100.0 0.0 0.0 10000.0)
|
||||
(let ((a2-1 (circle-circle-xz-intersect s4-0 a1-2 s5-0 gp-0)))
|
||||
(format #t "res = ~d~%" a2-1)
|
||||
)
|
||||
|
||||
@@ -94,54 +94,14 @@
|
||||
|
||||
(defmethod new mood-context ((allocation symbol) (type-to-make type))
|
||||
(let ((v0-0 (object-new allocation type-to-make (the-as int (-> type-to-make size)))))
|
||||
(let ((v1-2 (-> v0-0 times)))
|
||||
(set! (-> v1-2 0 x) 1.0)
|
||||
(set! (-> v1-2 0 y) 1.0)
|
||||
(set! (-> v1-2 0 z) 1.0)
|
||||
(set! (-> v1-2 0 w) 0.0)
|
||||
)
|
||||
(let ((v1-3 (-> v0-0 times 1)))
|
||||
(set! (-> v1-3 x) 1.0)
|
||||
(set! (-> v1-3 y) 1.0)
|
||||
(set! (-> v1-3 z) 1.0)
|
||||
(set! (-> v1-3 w) 0.0)
|
||||
)
|
||||
(let ((v1-4 (-> v0-0 times 2)))
|
||||
(set! (-> v1-4 x) 1.0)
|
||||
(set! (-> v1-4 y) 1.0)
|
||||
(set! (-> v1-4 z) 1.0)
|
||||
(set! (-> v1-4 w) 0.0)
|
||||
)
|
||||
(let ((v1-5 (-> v0-0 times 3)))
|
||||
(set! (-> v1-5 x) 1.0)
|
||||
(set! (-> v1-5 y) 1.0)
|
||||
(set! (-> v1-5 z) 1.0)
|
||||
(set! (-> v1-5 w) 0.0)
|
||||
)
|
||||
(let ((v1-6 (-> v0-0 times 4)))
|
||||
(set! (-> v1-6 x) 1.0)
|
||||
(set! (-> v1-6 y) 1.0)
|
||||
(set! (-> v1-6 z) 1.0)
|
||||
(set! (-> v1-6 w) 0.0)
|
||||
)
|
||||
(let ((v1-7 (-> v0-0 times 5)))
|
||||
(set! (-> v1-7 x) 1.0)
|
||||
(set! (-> v1-7 y) 1.0)
|
||||
(set! (-> v1-7 z) 1.0)
|
||||
(set! (-> v1-7 w) 0.0)
|
||||
)
|
||||
(let ((v1-8 (-> v0-0 times 6)))
|
||||
(set! (-> v1-8 x) 1.0)
|
||||
(set! (-> v1-8 y) 1.0)
|
||||
(set! (-> v1-8 z) 1.0)
|
||||
(set! (-> v1-8 w) 0.0)
|
||||
)
|
||||
(let ((v1-9 (-> v0-0 times 7)))
|
||||
(set! (-> v1-9 x) 1.0)
|
||||
(set! (-> v1-9 y) 1.0)
|
||||
(set! (-> v1-9 z) 1.0)
|
||||
(set! (-> v1-9 w) 0.0)
|
||||
)
|
||||
(set-vector! (-> v0-0 times 0) 1.0 1.0 1.0 0.0)
|
||||
(set-vector! (-> v0-0 times 1) 1.0 1.0 1.0 0.0)
|
||||
(set-vector! (-> v0-0 times 2) 1.0 1.0 1.0 0.0)
|
||||
(set-vector! (-> v0-0 times 3) 1.0 1.0 1.0 0.0)
|
||||
(set-vector! (-> v0-0 times 4) 1.0 1.0 1.0 0.0)
|
||||
(set-vector! (-> v0-0 times 5) 1.0 1.0 1.0 0.0)
|
||||
(set-vector! (-> v0-0 times 6) 1.0 1.0 1.0 0.0)
|
||||
(set-vector! (-> v0-0 times 7) 1.0 1.0 1.0 0.0)
|
||||
v0-0
|
||||
)
|
||||
)
|
||||
|
||||
@@ -247,18 +247,11 @@
|
||||
"Set dst to be ([src 1.0] * mat).xyz. Doesn't touch the w of dst.
|
||||
dst and vec can be the same memory"
|
||||
(let ((temp-vec3 (new-stack-vector0)))
|
||||
;; create a temporary vec with [x, y, z, 1.0]
|
||||
(let ((v1-0 temp-vec3))
|
||||
(set! (-> v1-0 data 0) (-> vec data 0))
|
||||
(set! (-> v1-0 data 1) (-> vec data 1))
|
||||
(set! (-> v1-0 data 2) (-> vec data 2))
|
||||
(set! (-> v1-0 data 3) 1.0)
|
||||
)
|
||||
(set-vector! temp-vec3 (-> vec x) (-> vec y) (-> vec z) 1.0)
|
||||
(vector-matrix*! temp-vec3 temp-vec3 mat)
|
||||
;; only write back x,y,z
|
||||
(set! (-> dst data 0) (-> temp-vec3 data 0))
|
||||
(set! (-> dst data 1) (-> temp-vec3 data 1))
|
||||
(set! (-> dst data 2) (-> temp-vec3 data 2))
|
||||
(set! (-> dst x) (-> temp-vec3 x))
|
||||
(set! (-> dst y) (-> temp-vec3 y))
|
||||
(set! (-> dst z) (-> temp-vec3 z))
|
||||
)
|
||||
dst
|
||||
)
|
||||
@@ -267,16 +260,11 @@
|
||||
"Set dst to vec rotated by the rotation in the homogeneous transform mat.
|
||||
mat should not have a scale/shear (the upper 3x3 should be a pure rotation)."
|
||||
(let ((temp-vec3 (new-stack-vector0)))
|
||||
(let ((v1-0 temp-vec3))
|
||||
(set! (-> v1-0 data 0) (-> vec data 0))
|
||||
(set! (-> v1-0 data 1) (-> vec data 1))
|
||||
(set! (-> v1-0 data 2) (-> vec data 2))
|
||||
(set! (-> v1-0 data 3) 1.0)
|
||||
)
|
||||
(set-vector! temp-vec3 (-> vec x) (-> vec y) (-> vec z) 1.0)
|
||||
(vector-rotate*! temp-vec3 temp-vec3 mat)
|
||||
(set! (-> dst data 0) (-> temp-vec3 data 0))
|
||||
(set! (-> dst data 1) (-> temp-vec3 data 1))
|
||||
(set! (-> dst data 2) (-> temp-vec3 data 2))
|
||||
(set! (-> dst x) (-> temp-vec3 x))
|
||||
(set! (-> dst y) (-> temp-vec3 y))
|
||||
(set! (-> dst z) (-> temp-vec3 z))
|
||||
)
|
||||
dst
|
||||
)
|
||||
@@ -787,12 +775,13 @@
|
||||
|
||||
;; the vector-sincos! lets us take the sine and cosine of 4 floats at a time.
|
||||
;; it uses vector operations and reuses the taylor series coefficients to do this quickly
|
||||
(let ((v1-0 sincos-input))
|
||||
(set! (-> v1-0 data 0) (-> rots-deg data 0))
|
||||
(set! (-> v1-0 data 1) (- (-> rots-deg data 1) (-> rots-deg data 2)))
|
||||
(set! (-> v1-0 data 2) (-> rots-deg data 2))
|
||||
(set! (-> v1-0 data 3) 1.0)
|
||||
)
|
||||
(set-vector!
|
||||
sincos-input
|
||||
(-> rots-deg x)
|
||||
(- (-> rots-deg y) (-> rots-deg z))
|
||||
(-> rots-deg z)
|
||||
1.0
|
||||
)
|
||||
(vector-sincos! sin-vec cos-vec sincos-input)
|
||||
(let ((cos-y (-> cos-vec data 1))
|
||||
(sin-y (-> sin-vec data 1))
|
||||
|
||||
@@ -1033,16 +1033,11 @@
|
||||
(let ((gp-0 (new 'stack-no-clear 'matrix))
|
||||
(s5-0 (new 'stack-no-clear 'vector))
|
||||
)
|
||||
(quaternion->matrix gp-0 arg0)
|
||||
(let ((v1-1 s5-0))
|
||||
(set! (-> v1-1 data 0) 0.0)
|
||||
(set! (-> v1-1 data 1) 0.0)
|
||||
(set! (-> v1-1 data 2) 1.0)
|
||||
(set! (-> v1-1 data 3) 1.0)
|
||||
(quaternion->matrix gp-0 arg0)
|
||||
(set-vector! s5-0 0.0 0.0 1.0 1.0)
|
||||
(vector-matrix*! s5-0 s5-0 gp-0)
|
||||
(vector-y-angle s5-0)
|
||||
)
|
||||
(vector-matrix*! s5-0 s5-0 gp-0)
|
||||
(vector-y-angle s5-0)
|
||||
)
|
||||
)
|
||||
|
||||
(defun-debug quaternion-validate ((arg0 quaternion))
|
||||
|
||||
@@ -1270,11 +1270,11 @@
|
||||
(defun rand-vu-sphere-point! ((arg0 vector) (arg1 float))
|
||||
"Get a random point on the sphere at the origin with radius arg1.
|
||||
The point is on the surface of the sphere."
|
||||
(let ((s4-0 arg0))
|
||||
(set! (-> s4-0 data 0) (rand-vu-float-range -1.0 1.0))
|
||||
(set! (-> s4-0 data 1) (rand-vu-float-range -1.0 1.0))
|
||||
(set! (-> s4-0 data 2) (rand-vu-float-range -1.0 1.0))
|
||||
(set! (-> s4-0 data 3) 1.0)
|
||||
)
|
||||
(set-vector! arg0
|
||||
(rand-vu-float-range -1.0 1.0)
|
||||
(rand-vu-float-range -1.0 1.0)
|
||||
(rand-vu-float-range -1.0 1.0)
|
||||
1.0
|
||||
)
|
||||
(vector-normalize! arg0 (rand-vu-float-range 0.0 arg1))
|
||||
)
|
||||
|
||||
@@ -7,11 +7,12 @@
|
||||
|
||||
(define *sp-frame-time* (new 'global 'vector))
|
||||
|
||||
(let ((v1-1 *sp-frame-time*))
|
||||
(set! (-> v1-1 x) 0.00000000000000000000000000000000000001175495)
|
||||
(set! (-> v1-1 y) 5.0)
|
||||
(set! (-> v1-1 z) 1.0)
|
||||
(set! (-> v1-1 w) 1.0)
|
||||
(set-vector!
|
||||
*sp-frame-time*
|
||||
0.00000000000000000000000000000000000001175495
|
||||
5.0
|
||||
1.0
|
||||
1.0
|
||||
)
|
||||
|
||||
(define *sp-60-hz* #t)
|
||||
|
||||
@@ -82,12 +82,7 @@
|
||||
(set! (-> obj joint) (-> (-> proc node-list) data joint-idx))
|
||||
(set-mode! obj mode)
|
||||
;; set defaults.
|
||||
(let ((twist-max (-> obj twist-max)))
|
||||
(set! (-> twist-max x) 8192.0)
|
||||
(set! (-> twist-max y) 11832.889)
|
||||
(set! (-> twist-max z) 0.0)
|
||||
(set! (-> twist-max w) 1.0)
|
||||
)
|
||||
(set-vector! (-> obj twist-max) 8192.0 11832.889 0.0 1.0)
|
||||
(set! (-> obj up) (the-as uint 1))
|
||||
(set! (-> obj nose) (the-as uint 2))
|
||||
(set! (-> obj ear) (the-as uint 0))
|
||||
@@ -140,12 +135,7 @@
|
||||
(set! (-> joint param2) #f)
|
||||
(vector-reset! (-> obj trans))
|
||||
(quaternion-identity! (-> obj quat))
|
||||
(let ((v1-2 (-> obj scale)))
|
||||
(set! (-> v1-2 x) 1.0)
|
||||
(set! (-> v1-2 y) 1.0)
|
||||
(set! (-> v1-2 z) 1.0)
|
||||
(set! (-> v1-2 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> obj scale) 1.0 1.0 1.0 1.0)
|
||||
(set! (-> obj max-dist) (the-as float #f))
|
||||
)
|
||||
(((joint-mod-handler-mode joint-set*))
|
||||
@@ -154,12 +144,7 @@
|
||||
(set! (-> joint param2) #f)
|
||||
(vector-reset! (-> obj trans))
|
||||
(quaternion-identity! (-> obj quat))
|
||||
(let ((v1-4 (-> obj scale)))
|
||||
(set! (-> v1-4 x) 1.0)
|
||||
(set! (-> v1-4 y) 1.0)
|
||||
(set! (-> v1-4 z) 1.0)
|
||||
(set! (-> v1-4 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> obj scale) 1.0 1.0 1.0 1.0)
|
||||
(set! (-> obj max-dist) (the-as float #f))
|
||||
)
|
||||
)
|
||||
@@ -676,14 +661,9 @@
|
||||
)
|
||||
(vector*! (-> arg1 scale) (-> arg1 scale) (-> s5-0 scale))
|
||||
(cspace<-parented-transformq-joint! arg0 arg1)
|
||||
(when (-> s5-0 max-dist)
|
||||
(let ((v1-4 (-> arg0 bone scale)))
|
||||
(set! (-> v1-4 x) 1.0)
|
||||
(set! (-> v1-4 y) 1.0)
|
||||
(set! (-> v1-4 z) 1.0)
|
||||
(set! (-> v1-4 w) 1.0)
|
||||
(if (-> s5-0 max-dist)
|
||||
(set-vector! (-> arg0 bone scale) 1.0 1.0 1.0 1.0)
|
||||
)
|
||||
)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
@@ -757,12 +737,7 @@
|
||||
(set! (-> v0-0 wheel-radius) arg2)
|
||||
(set! (-> v0-0 wheel-axis) arg3)
|
||||
(set! (-> v0-0 angle) 0.0)
|
||||
(let ((v1-2 (-> v0-0 last-position)))
|
||||
(set! (-> v1-2 x) 0.0)
|
||||
(set! (-> v1-2 y) 0.0)
|
||||
(set! (-> v1-2 z) 0.0)
|
||||
(set! (-> v1-2 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> v0-0 last-position) 0.0 0.0 0.0 1.0)
|
||||
(let ((v1-5 (-> (-> arg0 node-list) data arg1)))
|
||||
(set! (-> v1-5 param0) joint-mod-wheel-callback)
|
||||
(set! (-> v1-5 param1) v0-0)
|
||||
|
||||
@@ -197,3 +197,12 @@
|
||||
)
|
||||
)
|
||||
|
||||
(defmacro set-vector! (v xv yv zv wv)
|
||||
"Set all fields in a vector"
|
||||
(with-gensyms (vec)
|
||||
`(let ((vec ,v))
|
||||
(set! (-> vec x) ,xv)
|
||||
(set! (-> vec y) ,yv)
|
||||
(set! (-> vec z) ,zv)
|
||||
(set! (-> vec w) ,wv)))
|
||||
)
|
||||
@@ -13,12 +13,7 @@
|
||||
(set! (-> v1-0 direction z) 0.612)
|
||||
(set! (-> v1-0 direction w) 0.0)
|
||||
)
|
||||
(let ((v1-1 (-> arg0 dir0 color)))
|
||||
(set! (-> v1-1 x) 0.8)
|
||||
(set! (-> v1-1 y) 0.775)
|
||||
(set! (-> v1-1 z) 0.7)
|
||||
(set! (-> v1-1 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> arg0 dir0 color) 0.8 0.775 0.7 1.0)
|
||||
(set! (-> arg0 dir0 levels x) arg2)
|
||||
(let ((v1-2 (-> arg0 dir1)))
|
||||
(set! (-> v1-2 direction x) 0.612)
|
||||
@@ -26,12 +21,7 @@
|
||||
(set! (-> v1-2 direction z) -0.612)
|
||||
(set! (-> v1-2 direction w) 0.0)
|
||||
)
|
||||
(let ((v1-3 (-> arg0 dir1 color)))
|
||||
(set! (-> v1-3 x) 0.8)
|
||||
(set! (-> v1-3 y) 0.775)
|
||||
(set! (-> v1-3 z) 0.7)
|
||||
(set! (-> v1-3 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> arg0 dir1 color) 0.8 0.775 0.7 1.0)
|
||||
(set! (-> arg0 dir1 levels x) arg3)
|
||||
(vector-matrix*!
|
||||
(the-as vector (-> arg0 dir0))
|
||||
@@ -50,12 +40,7 @@
|
||||
(set! (-> v1-4 direction z) 0.0)
|
||||
(set! (-> v1-4 direction w) 0.0)
|
||||
)
|
||||
(let ((v1-5 (-> arg0 dir2 color)))
|
||||
(set! (-> v1-5 x) 0.8)
|
||||
(set! (-> v1-5 y) 0.775)
|
||||
(set! (-> v1-5 z) 0.7)
|
||||
(set! (-> v1-5 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> arg0 dir2 color) 0.8 0.775 0.7 1.0)
|
||||
(let ((f0-26 arg4))
|
||||
(set! (-> arg0 dir2 levels x) f0-26)
|
||||
f0-26
|
||||
@@ -74,12 +59,7 @@
|
||||
(set! (-> v1-0 direction z) 0.0)
|
||||
(set! (-> v1-0 direction w) 0.0)
|
||||
)
|
||||
(let ((v1-1 (-> s5-0 dir2 color)))
|
||||
(set! (-> v1-1 x) 0.75)
|
||||
(set! (-> v1-1 y) 0.375)
|
||||
(set! (-> v1-1 z) 0.0)
|
||||
(set! (-> v1-1 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> s5-0 dir2 color) 0.75 0.375 0.0 1.0)
|
||||
)
|
||||
(make-light-kit (-> arg0 light-group 3) 53703.11 0.9 0.9 0.5)
|
||||
(make-light-kit (-> arg0 light-group 4) 54613.332 0.9 0.9 0.4)
|
||||
@@ -94,18 +74,8 @@
|
||||
(defun make-misty-light-kit ((arg0 mood-context))
|
||||
(let ((gp-0 (-> arg0 light-group 1)))
|
||||
(make-light-kit gp-0 24576.0 1.0 0.4 1.0)
|
||||
(let ((v1-0 (-> gp-0 dir0 color)))
|
||||
(set! (-> v1-0 x) 0.75)
|
||||
(set! (-> v1-0 y) 0.3)
|
||||
(set! (-> v1-0 z) 0.0)
|
||||
(set! (-> v1-0 w) 1.0)
|
||||
)
|
||||
(let ((v0-1 (-> gp-0 dir2 color)))
|
||||
(set! (-> v0-1 x) 0.75)
|
||||
(set! (-> v0-1 y) 0.3)
|
||||
(set! (-> v0-1 z) 0.0)
|
||||
(set! (-> v0-1 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> gp-0 dir0 color) 0.75 0.3 0.0 1.0)
|
||||
(set-vector! (-> gp-0 dir2 color) 0.75 0.3 0.0 1.0)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
@@ -120,12 +90,7 @@
|
||||
(set! (-> a0-1 direction z) 0.0)
|
||||
(set! (-> a0-1 direction w) 1.0)
|
||||
)
|
||||
(let ((a0-2 (-> v1-0 dir0 color)))
|
||||
(set! (-> a0-2 x) 0.375)
|
||||
(set! (-> a0-2 y) 0.25)
|
||||
(set! (-> a0-2 z) 0.25)
|
||||
(set! (-> a0-2 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> v1-0 dir0 color) 0.375 0.25 0.25 1.0)
|
||||
(set! (-> v1-0 dir0 levels x) 1.0)
|
||||
(let ((a0-3 (-> v1-0 dir1)))
|
||||
(set! (-> a0-3 direction x) -0.6119)
|
||||
@@ -133,12 +98,7 @@
|
||||
(set! (-> a0-3 direction z) -0.6119)
|
||||
(set! (-> a0-3 direction w) 1.0)
|
||||
)
|
||||
(let ((a0-4 (-> v1-0 dir1 color)))
|
||||
(set! (-> a0-4 x) 0.25)
|
||||
(set! (-> a0-4 y) 0.75)
|
||||
(set! (-> a0-4 z) 1.0)
|
||||
(set! (-> a0-4 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> v1-0 dir1 color) 0.25 0.75 1.0 1.0)
|
||||
(set! (-> v1-0 dir1 levels x) 0.666)
|
||||
(let ((a0-5 (-> v1-0 dir2)))
|
||||
(set! (-> a0-5 direction x) 0.9961)
|
||||
@@ -146,12 +106,7 @@
|
||||
(set! (-> a0-5 direction z) -0.0871)
|
||||
(set! (-> a0-5 direction w) 1.0)
|
||||
)
|
||||
(let ((a0-6 (-> v1-0 dir2 color)))
|
||||
(set! (-> a0-6 x) 0.0)
|
||||
(set! (-> a0-6 y) 0.25)
|
||||
(set! (-> a0-6 z) 1.0)
|
||||
(set! (-> a0-6 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> v1-0 dir2 color) 0.0 0.25 1.0 1.0)
|
||||
(set! (-> v1-0 dir2 levels x) 1.0)
|
||||
)
|
||||
(let ((v1-2 (-> arg0 light-group 2)))
|
||||
@@ -161,12 +116,7 @@
|
||||
(set! (-> a0-7 direction z) 0.836)
|
||||
(set! (-> a0-7 direction w) 1.0)
|
||||
)
|
||||
(let ((a0-8 (-> v1-2 dir0 color)))
|
||||
(set! (-> a0-8 x) 0.8)
|
||||
(set! (-> a0-8 y) 0.8)
|
||||
(set! (-> a0-8 z) 0.8)
|
||||
(set! (-> a0-8 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> v1-2 dir0 color) 0.8 0.8 0.8 1.0)
|
||||
(set! (-> v1-2 dir0 levels x) 0.7)
|
||||
(let ((a0-9 (-> v1-2 dir1)))
|
||||
(set! (-> a0-9 direction x) -0.2959)
|
||||
@@ -174,31 +124,16 @@
|
||||
(set! (-> a0-9 direction z) -0.8133)
|
||||
(set! (-> a0-9 direction w) 1.0)
|
||||
)
|
||||
(let ((a0-10 (-> v1-2 dir1 color)))
|
||||
(set! (-> a0-10 x) 0.8)
|
||||
(set! (-> a0-10 y) 0.8)
|
||||
(set! (-> a0-10 z) 0.8)
|
||||
(set! (-> a0-10 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> v1-2 dir1 color) 0.8 0.8 0.8 1.0)
|
||||
(set! (-> v1-2 dir1 levels x) 0.7)
|
||||
)
|
||||
(let ((s5-0 (-> arg0 light-group 3)))
|
||||
(make-light-kit s5-0 5461.3335 1.0 0.8 0.2)
|
||||
(let ((v1-4 (-> s5-0 dir0 color)))
|
||||
(set! (-> v1-4 x) 0.675)
|
||||
(set! (-> v1-4 y) 0.45)
|
||||
(set! (-> v1-4 z) 0.15)
|
||||
(set! (-> v1-4 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> s5-0 dir0 color) 0.675 0.45 0.15 1.0)
|
||||
)
|
||||
(let ((s5-1 (-> arg0 light-group 4)))
|
||||
(make-light-kit s5-1 57344.0 1.0 0.8 0.2)
|
||||
(let ((v1-5 (-> s5-1 dir0 color)))
|
||||
(set! (-> v1-5 x) 0.675)
|
||||
(set! (-> v1-5 y) 0.45)
|
||||
(set! (-> v1-5 z) 0.15)
|
||||
(set! (-> v1-5 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> s5-1 dir0 color) 0.675 0.45 0.15 1.0)
|
||||
)
|
||||
(let ((v1-6 (-> arg0 light-group 5)))
|
||||
(let ((a0-13 (-> v1-6 dir0)))
|
||||
@@ -207,28 +142,13 @@
|
||||
(set! (-> a0-13 direction z) 0.0)
|
||||
(set! (-> a0-13 direction w) 0.0)
|
||||
)
|
||||
(let ((a0-14 (-> v1-6 dir0 color)))
|
||||
(set! (-> a0-14 x) 2.0)
|
||||
(set! (-> a0-14 y) 1.0)
|
||||
(set! (-> a0-14 z) 0.0)
|
||||
(set! (-> a0-14 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> v1-6 dir0 color) 2.0 1.0 0.0 1.0)
|
||||
(set! (-> v1-6 dir1 levels x) 0.0)
|
||||
(set! (-> v1-6 dir2 levels x) 0.0)
|
||||
)
|
||||
(let ((v1-8 (-> arg0 light-group 6)))
|
||||
(let ((a0-15 (-> v1-8 dir0 color)))
|
||||
(set! (-> a0-15 x) 1.0)
|
||||
(set! (-> a0-15 y) 0.5)
|
||||
(set! (-> a0-15 z) 0.0)
|
||||
(set! (-> a0-15 w) 1.0)
|
||||
)
|
||||
(let ((a0-16 (-> v1-8 dir1 color)))
|
||||
(set! (-> a0-16 x) 0.6)
|
||||
(set! (-> a0-16 y) 0.58125)
|
||||
(set! (-> a0-16 z) 0.525)
|
||||
(set! (-> a0-16 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> v1-8 dir0 color) 1.0 0.5 0.0 1.0)
|
||||
(set-vector! (-> v1-8 dir1 color) 0.6 0.58125 0.525 1.0)
|
||||
(set! (-> v1-8 dir1 levels x) 0.0)
|
||||
(set! (-> v1-8 dir2 levels x) 0.0)
|
||||
)
|
||||
@@ -246,12 +166,7 @@
|
||||
(set! (-> v1-0 direction z) 0.0)
|
||||
(set! (-> v1-0 direction w) 1.0)
|
||||
)
|
||||
(let ((v1-1 (-> s5-0 dir0 color)))
|
||||
(set! (-> v1-1 x) 1.0)
|
||||
(set! (-> v1-1 y) 0.9)
|
||||
(set! (-> v1-1 z) 0.0)
|
||||
(set! (-> v1-1 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> s5-0 dir0 color) 1.0 0.9 0.0 1.0)
|
||||
)
|
||||
(let ((s5-1 (-> arg0 light-group 2)))
|
||||
(make-light-kit s5-1 0.0 1.0 0.0 0.0)
|
||||
@@ -261,12 +176,7 @@
|
||||
(set! (-> v1-2 direction z) 0.0)
|
||||
(set! (-> v1-2 direction w) 1.0)
|
||||
)
|
||||
(let ((v1-3 (-> s5-1 dir0 color)))
|
||||
(set! (-> v1-3 x) 1.0)
|
||||
(set! (-> v1-3 y) 0.9)
|
||||
(set! (-> v1-3 z) 0.0)
|
||||
(set! (-> v1-3 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> s5-1 dir0 color) 1.0 0.9 0.0 1.0)
|
||||
)
|
||||
(let ((s5-2 (-> arg0 light-group 3)))
|
||||
(make-light-kit s5-2 0.0 1.0 0.0 0.0)
|
||||
@@ -276,12 +186,7 @@
|
||||
(set! (-> v1-4 direction z) 0.0)
|
||||
(set! (-> v1-4 direction w) 1.0)
|
||||
)
|
||||
(let ((v1-5 (-> s5-2 dir0 color)))
|
||||
(set! (-> v1-5 x) 1.0)
|
||||
(set! (-> v1-5 y) 0.9)
|
||||
(set! (-> v1-5 z) 0.0)
|
||||
(set! (-> v1-5 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> s5-2 dir0 color) 1.0 0.9 0.0 1.0)
|
||||
)
|
||||
(let ((s5-3 (-> arg0 light-group 4)))
|
||||
(make-light-kit s5-3 0.0 1.0 0.0 0.0)
|
||||
@@ -291,12 +196,7 @@
|
||||
(set! (-> v1-6 direction z) 0.0)
|
||||
(set! (-> v1-6 direction w) 1.0)
|
||||
)
|
||||
(let ((v1-7 (-> s5-3 dir0 color)))
|
||||
(set! (-> v1-7 x) 1.0)
|
||||
(set! (-> v1-7 y) 0.9)
|
||||
(set! (-> v1-7 z) 0.0)
|
||||
(set! (-> v1-7 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> s5-3 dir0 color) 1.0 0.9 0.0 1.0)
|
||||
)
|
||||
(let ((s5-4 (-> arg0 light-group 5)))
|
||||
(make-light-kit s5-4 0.0 1.0 0.0 0.0)
|
||||
@@ -306,12 +206,7 @@
|
||||
(set! (-> v1-8 direction z) 0.0)
|
||||
(set! (-> v1-8 direction w) 1.0)
|
||||
)
|
||||
(let ((v1-9 (-> s5-4 dir0 color)))
|
||||
(set! (-> v1-9 x) 1.0)
|
||||
(set! (-> v1-9 y) 0.9)
|
||||
(set! (-> v1-9 z) 0.0)
|
||||
(set! (-> v1-9 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> s5-4 dir0 color) 1.0 0.9 0.0 1.0)
|
||||
)
|
||||
(let ((gp-1 (-> arg0 light-group 6)))
|
||||
(make-light-kit gp-1 0.0 1.0 0.0 0.0)
|
||||
@@ -321,12 +216,7 @@
|
||||
(set! (-> v1-10 direction z) 0.0)
|
||||
(set! (-> v1-10 direction w) 1.0)
|
||||
)
|
||||
(let ((v0-6 (-> gp-1 dir0 color)))
|
||||
(set! (-> v0-6 x) 1.0)
|
||||
(set! (-> v0-6 y) 0.9)
|
||||
(set! (-> v0-6 z) 0.0)
|
||||
(set! (-> v0-6 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> gp-1 dir0 color) 1.0 0.9 0.0 1.0)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
@@ -341,12 +231,7 @@
|
||||
(set! (-> a1-0 direction z) 0.2929)
|
||||
(set! (-> a1-0 direction w) 1.0)
|
||||
)
|
||||
(let ((a1-1 (-> v1-0 dir0 color)))
|
||||
(set! (-> a1-1 x) 0.5)
|
||||
(set! (-> a1-1 y) 1.0)
|
||||
(set! (-> a1-1 z) 1.0)
|
||||
(set! (-> a1-1 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> v1-0 dir0 color) 0.5 1.0 1.0 1.0)
|
||||
(set! (-> v1-0 dir0 levels x) 1.0)
|
||||
(let ((a1-2 (-> v1-0 dir2)))
|
||||
(set! (-> a1-2 direction x) 0.0)
|
||||
@@ -354,12 +239,7 @@
|
||||
(set! (-> a1-2 direction z) 0.0)
|
||||
(set! (-> a1-2 direction w) 1.0)
|
||||
)
|
||||
(let ((v1-1 (-> v1-0 dir2 color)))
|
||||
(set! (-> v1-1 x) 0.625)
|
||||
(set! (-> v1-1 y) 0.375)
|
||||
(set! (-> v1-1 z) 0.1)
|
||||
(set! (-> v1-1 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> v1-0 dir2 color) 0.625 0.375 0.1 1.0)
|
||||
)
|
||||
(let ((v1-2 (-> arg0 light-group 2)))
|
||||
(let ((a0-1 (-> v1-2 dir0)))
|
||||
@@ -368,12 +248,7 @@
|
||||
(set! (-> a0-1 direction z) 0.2929)
|
||||
(set! (-> a0-1 direction w) 1.0)
|
||||
)
|
||||
(let ((a0-2 (-> v1-2 dir0 color)))
|
||||
(set! (-> a0-2 x) 0.25)
|
||||
(set! (-> a0-2 y) 0.5)
|
||||
(set! (-> a0-2 z) 0.5)
|
||||
(set! (-> a0-2 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> v1-2 dir0 color) 0.25 0.5 0.5 1.0)
|
||||
(set! (-> v1-2 dir0 levels x) 1.0)
|
||||
(let ((a0-3 (-> v1-2 dir2)))
|
||||
(set! (-> a0-3 direction x) 0.0)
|
||||
@@ -381,12 +256,7 @@
|
||||
(set! (-> a0-3 direction z) 0.0)
|
||||
(set! (-> a0-3 direction w) 1.0)
|
||||
)
|
||||
(let ((v0-0 (-> v1-2 dir2 color)))
|
||||
(set! (-> v0-0 x) 0.625)
|
||||
(set! (-> v0-0 y) 0.375)
|
||||
(set! (-> v0-0 z) 0.1)
|
||||
(set! (-> v0-0 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> v1-2 dir2 color) 0.625 0.375 0.1 1.0)
|
||||
)
|
||||
(none)
|
||||
)
|
||||
|
||||
@@ -112,11 +112,12 @@
|
||||
(the-as vector (-> obj transform))
|
||||
(the-as vector (-> obj transform 1))
|
||||
)
|
||||
(let ((s5-2 (-> obj align scale)))
|
||||
(set! (-> s5-2 x) (vector-length (the-as vector (-> obj matrix))))
|
||||
(set! (-> s5-2 y) (vector-length (-> obj matrix 0 vector 1)))
|
||||
(set! (-> s5-2 z) (vector-length (-> obj matrix 0 vector 2)))
|
||||
(set! (-> s5-2 w) 1.0)
|
||||
(set-vector!
|
||||
(-> obj align scale)
|
||||
(vector-length (the-as vector (-> obj matrix)))
|
||||
(vector-length (-> obj matrix 0 vector 1))
|
||||
(vector-length (-> obj matrix 0 vector 2))
|
||||
1.0
|
||||
)
|
||||
(vector-!
|
||||
(-> obj delta scale)
|
||||
|
||||
@@ -276,7 +276,7 @@
|
||||
(f0-5 (* (-> obj max-partial) (fabs f1-2)))
|
||||
)
|
||||
(let ((f1-3 (* f1-2 (* (-> obj accel) (-> *display* time-adjust-ratio)))))
|
||||
(set! (-> obj vel) (+ (-> obj vel) f1-3))
|
||||
(+! (-> obj vel) f1-3)
|
||||
)
|
||||
(let ((f1-6 (fabs (-> obj vel)))
|
||||
(f0-6 (fmin f0-5 (-> obj max-vel)))
|
||||
@@ -287,7 +287,7 @@
|
||||
)
|
||||
)
|
||||
(let ((f0-10 (* (-> obj vel) (-> *display* time-adjust-ratio))))
|
||||
(set! (-> obj value) (+ (-> obj value) f0-10))
|
||||
(+! (-> obj value) f0-10)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
|
||||
@@ -241,23 +241,20 @@
|
||||
(set! (-> sprite-row-0 vector 0 z) 0.0)
|
||||
(set! (-> sprite-row-0 vector 0 w) 0.0)
|
||||
)
|
||||
(let ((sprite-row-1 (-> math-cam sprite-2d vector 1)))
|
||||
(set! (-> sprite-row-1 x) 0.0)
|
||||
(set! (-> sprite-row-1 y) (- (* (/ persp-yy persp-xx) persp-x)))
|
||||
(set! (-> sprite-row-1 z) 0.0)
|
||||
(set! (-> sprite-row-1 w) 0.0)
|
||||
(set-vector!
|
||||
(-> math-cam sprite-2d vector 1)
|
||||
0.0
|
||||
(- (* (/ persp-yy persp-xx) persp-x))
|
||||
0.0
|
||||
0.0
|
||||
)
|
||||
(let ((sprite-row-2 (-> math-cam sprite-2d vector 2)))
|
||||
(set! (-> sprite-row-2 x) 0.0)
|
||||
(set! (-> sprite-row-2 y) 0.0)
|
||||
(set! (-> sprite-row-2 z) (- persp-x))
|
||||
(set! (-> sprite-row-2 w) 0.0)
|
||||
)
|
||||
(let ((sprite-row-3 (-> math-cam sprite-2d vector 3)))
|
||||
(set! (-> sprite-row-3 x) 0.0)
|
||||
(set! (-> sprite-row-3 y) 0.0)
|
||||
(set! (-> sprite-row-3 z) (* 500000000.0 persp-x))
|
||||
(set! (-> sprite-row-3 w) (* (* 60.0 persp-x) (-> math-cam pfog0)))
|
||||
(set-vector! (-> math-cam sprite-2d vector 2) 0.0 0.0 (- persp-x) 0.0)
|
||||
(set-vector!
|
||||
(-> math-cam sprite-2d vector 3)
|
||||
0.0
|
||||
0.0
|
||||
(* 500000000.0 persp-x)
|
||||
(* (* 60.0 persp-x) (-> math-cam pfog0))
|
||||
)
|
||||
)
|
||||
(set! (-> math-cam sprite-2d-hvdf quad) (-> math-cam hvdf-off quad))
|
||||
@@ -624,12 +621,7 @@
|
||||
(let ((s2-0 (new 'stack 'vector4s-3)))
|
||||
(matrix*! s5-0 arg0 (-> *math-camera* camera-temp))
|
||||
(matrix-3x3-inverse-transpose! gp-0 arg0)
|
||||
(let ((v1-3 s3-0))
|
||||
(set! (-> v1-3 x) 0.4)
|
||||
(set! (-> v1-3 y) 0.4)
|
||||
(set! (-> v1-3 z) 0.4)
|
||||
(set! (-> v1-3 w) 1.0)
|
||||
)
|
||||
(set-vector! s3-0 0.4 0.4 0.4 1.0)
|
||||
(let ((v1-4 (-> s4-0 data)))
|
||||
(set! (-> v1-4 0) 1.0)
|
||||
(set! (-> v1-4 1) 1.0)
|
||||
|
||||
@@ -77,39 +77,21 @@
|
||||
(s4-0 (-> obj mesh))
|
||||
)
|
||||
(set! (-> arg0 data s5-0 name) (symbol->string 'collide-fragment))
|
||||
(set! (-> arg0 data s5-0 count) (+ (-> arg0 data s5-0 count) 1))
|
||||
(+! (-> arg0 data s5-0 count) 1)
|
||||
(let ((v1-11 (+ (asize-of obj) (asize-of s4-0))))
|
||||
(set! (-> arg0 data s5-0 used) (+ (-> arg0 data s5-0 used) v1-11))
|
||||
(set!
|
||||
(-> arg0 data s5-0 total)
|
||||
(+ (-> arg0 data s5-0 total) (logand -16 (+ v1-11 15)))
|
||||
)
|
||||
(+! (-> arg0 data s5-0 used) v1-11)
|
||||
(+! (-> arg0 data s5-0 total) (logand -16 (+ v1-11 15)))
|
||||
)
|
||||
(set! (-> arg0 data (+ s5-0 1) name) "collision-poly")
|
||||
(set!
|
||||
(-> arg0 data (+ s5-0 1) count)
|
||||
(+ (-> arg0 data (+ s5-0 1) count) (the-as int (-> s4-0 poly-count)))
|
||||
)
|
||||
(+! (-> arg0 data (+ s5-0 1) count) (the-as int (-> s4-0 poly-count)))
|
||||
(let ((v1-22 (+ (-> s4-0 strip-data-len) (-> s4-0 poly-count))))
|
||||
(set!
|
||||
(-> arg0 data (+ s5-0 1) used)
|
||||
(+ (-> arg0 data (+ s5-0 1) used) (the-as int v1-22))
|
||||
)
|
||||
(set!
|
||||
(-> arg0 data (+ s5-0 1) total)
|
||||
(+ (-> arg0 data (+ s5-0 1) total) (the-as int v1-22))
|
||||
)
|
||||
(+! (-> arg0 data (+ s5-0 1) used) (the-as int v1-22))
|
||||
(+! (-> arg0 data (+ s5-0 1) total) (the-as int v1-22))
|
||||
)
|
||||
(set! (-> arg0 data (+ s5-0 2) name) "collision-vertex")
|
||||
(set!
|
||||
(-> arg0 data (+ s5-0 2) count)
|
||||
(+ (-> arg0 data (+ s5-0 2) count) (the-as int (-> s4-0 vertex-count)))
|
||||
)
|
||||
(+! (-> arg0 data (+ s5-0 2) count) (the-as int (-> s4-0 vertex-count)))
|
||||
(let ((v1-31 (* (-> s4-0 vertex-data-qwc) 16)))
|
||||
(set!
|
||||
(-> arg0 data (+ s5-0 2) used)
|
||||
(+ (-> arg0 data (+ s5-0 2) used) (the-as int v1-31))
|
||||
)
|
||||
(+! (-> arg0 data (+ s5-0 2) used) (the-as int v1-31))
|
||||
(let ((v0-2 (+ (-> arg0 data (+ s5-0 2) total) (the-as int v1-31))))
|
||||
(set! (-> arg0 data (+ s5-0 2) total) v0-2)
|
||||
(the-as collide-fragment v0-2)
|
||||
@@ -195,13 +177,10 @@
|
||||
)
|
||||
(set! (-> arg0 length) (max 1 (-> arg0 length)))
|
||||
(set! (-> arg0 data 0 name) (symbol->string 'drawable-group))
|
||||
(set! (-> arg0 data 0 count) (+ (-> arg0 data 0 count) 1))
|
||||
(+! (-> arg0 data 0 count) 1)
|
||||
(let ((v1-7 32))
|
||||
(set! (-> arg0 data 0 used) (+ (-> arg0 data 0 used) v1-7))
|
||||
(set!
|
||||
(-> arg0 data 0 total)
|
||||
(+ (-> arg0 data 0 total) (logand -16 (+ v1-7 15)))
|
||||
)
|
||||
(+! (-> arg0 data 0 used) v1-7)
|
||||
(+! (-> arg0 data 0 total) (logand -16 (+ v1-7 15)))
|
||||
)
|
||||
(dotimes (s3-0 (-> obj length))
|
||||
(mem-usage (-> obj data s3-0) arg0 arg1)
|
||||
|
||||
@@ -898,7 +898,7 @@
|
||||
)
|
||||
(else
|
||||
(set! (-> obj tag (-> obj length)) s4-1)
|
||||
(set! (-> obj length) (+ (-> obj length) 1))
|
||||
(+! (-> obj length) 1)
|
||||
(sort! obj)
|
||||
)
|
||||
)
|
||||
@@ -1040,19 +1040,10 @@
|
||||
)
|
||||
(set! (-> block length) (max (-> block length) (+ mem-use-id 1)))
|
||||
(set! (-> block data mem-use-id name) mem-use-name)
|
||||
(set!
|
||||
(-> block data mem-use-id count)
|
||||
(+ (-> block data mem-use-id count) 1)
|
||||
)
|
||||
(+! (-> block data mem-use-id count) 1)
|
||||
(let ((obj-size (asize-of obj)))
|
||||
(set!
|
||||
(-> block data mem-use-id used)
|
||||
(+ (-> block data mem-use-id used) obj-size)
|
||||
)
|
||||
(set!
|
||||
(-> block data mem-use-id total)
|
||||
(+ (-> block data mem-use-id total) (logand -16 (+ obj-size 15)))
|
||||
)
|
||||
(+! (-> block data mem-use-id used) obj-size)
|
||||
(+! (-> block data mem-use-id total) (logand -16 (+ obj-size 15)))
|
||||
)
|
||||
(dotimes (tag-idx (-> obj length))
|
||||
(when (zero? (-> obj tag tag-idx inlined?))
|
||||
@@ -1077,19 +1068,10 @@
|
||||
((string)
|
||||
(set! (-> block length) (max (-> block length) (+ mem-use-id 1)))
|
||||
(set! (-> block data mem-use-id name) mem-use-name)
|
||||
(set!
|
||||
(-> block data mem-use-id count)
|
||||
(+ (-> block data mem-use-id count) 1)
|
||||
)
|
||||
(+! (-> block data mem-use-id count) 1)
|
||||
(let ((v1-47 (asize-of tag-data)))
|
||||
(set!
|
||||
(-> block data mem-use-id used)
|
||||
(+ (-> block data mem-use-id used) v1-47)
|
||||
)
|
||||
(set!
|
||||
(-> block data mem-use-id total)
|
||||
(+ (-> block data mem-use-id total) (logand -16 (+ v1-47 15)))
|
||||
)
|
||||
(+! (-> block data mem-use-id used) v1-47)
|
||||
(+! (-> block data mem-use-id total) (logand -16 (+ v1-47 15)))
|
||||
)
|
||||
)
|
||||
((nav-mesh collide-mesh)
|
||||
@@ -1098,19 +1080,10 @@
|
||||
((array)
|
||||
(set! (-> block length) (max (-> block length) (+ mem-use-id 1)))
|
||||
(set! (-> block data mem-use-id name) mem-use-name)
|
||||
(set!
|
||||
(-> block data mem-use-id count)
|
||||
(+ (-> block data mem-use-id count) 1)
|
||||
)
|
||||
(+! (-> block data mem-use-id count) 1)
|
||||
(let ((v1-63 (asize-of (the-as (array object) tag-data))))
|
||||
(set!
|
||||
(-> block data mem-use-id used)
|
||||
(+ (-> block data mem-use-id used) v1-63)
|
||||
)
|
||||
(set!
|
||||
(-> block data mem-use-id total)
|
||||
(+ (-> block data mem-use-id total) (logand -16 (+ v1-63 15)))
|
||||
)
|
||||
(+! (-> block data mem-use-id used) v1-63)
|
||||
(+! (-> block data mem-use-id total) (logand -16 (+ v1-63 15)))
|
||||
)
|
||||
(set! sv-16 0)
|
||||
(while (< sv-16 (-> (the-as array tag-data) length))
|
||||
@@ -1123,19 +1096,10 @@
|
||||
(else
|
||||
(set! (-> block length) (max (-> block length) (+ mem-use-id 1)))
|
||||
(set! (-> block data mem-use-id name) mem-use-name)
|
||||
(set!
|
||||
(-> block data mem-use-id count)
|
||||
(+ (-> block data mem-use-id count) 1)
|
||||
)
|
||||
(+! (-> block data mem-use-id count) 1)
|
||||
(let ((v1-88 (asize-of tag-data)))
|
||||
(set!
|
||||
(-> block data mem-use-id used)
|
||||
(+ (-> block data mem-use-id used) v1-88)
|
||||
)
|
||||
(set!
|
||||
(-> block data mem-use-id total)
|
||||
(+ (-> block data mem-use-id total) (logand -16 (+ v1-88 15)))
|
||||
)
|
||||
(+! (-> block data mem-use-id used) v1-88)
|
||||
(+! (-> block data mem-use-id total) (logand -16 (+ v1-88 15)))
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -26,12 +26,7 @@
|
||||
(f30-0 1.0)
|
||||
(s4-0 0)
|
||||
)
|
||||
(let ((v1-0 s5-0))
|
||||
(set! (-> v1-0 x) 0.0)
|
||||
(set! (-> v1-0 y) 0.0)
|
||||
(set! (-> v1-0 z) 0.0)
|
||||
(set! (-> v1-0 w) 1.0)
|
||||
)
|
||||
(set-vector! s5-0 0.0 0.0 0.0 1.0)
|
||||
(dotimes (s3-0 10)
|
||||
(let ((f28-0 (* f30-0 (sin (* 3276.8 (the float s3-0)))))
|
||||
(f26-0 (* f30-0 (sin (* 3276.8 (the float (+ s3-0 1))))))
|
||||
|
||||
@@ -1090,17 +1090,11 @@
|
||||
)
|
||||
(set! (-> v1-2 color) (cond
|
||||
((> (-> arg0 hilite-timer) 0)
|
||||
(set!
|
||||
(-> arg0 hilite-timer)
|
||||
(+ (-> arg0 hilite-timer) -1)
|
||||
)
|
||||
(+! (-> arg0 hilite-timer) -1)
|
||||
10
|
||||
)
|
||||
((< (-> arg0 hilite-timer) 0)
|
||||
(set!
|
||||
(-> arg0 hilite-timer)
|
||||
(+ (-> arg0 hilite-timer) 1)
|
||||
)
|
||||
(+! (-> arg0 hilite-timer) 1)
|
||||
14
|
||||
)
|
||||
((nonzero? arg3)
|
||||
@@ -1200,7 +1194,7 @@
|
||||
debug-menu-item-render
|
||||
((arg0 debug-menu-item) (arg1 int) (arg2 int) (arg3 int) (arg4 symbol))
|
||||
(when (> (-> arg0 refresh-delay) 0)
|
||||
(set! (-> arg0 refresh-ctr) (+ (-> arg0 refresh-ctr) -1))
|
||||
(+! (-> arg0 refresh-ctr) -1)
|
||||
(when (<= (-> arg0 refresh-ctr) 0)
|
||||
(set! (-> arg0 refresh-ctr) (-> arg0 refresh-delay))
|
||||
(debug-menu-item-send-msg arg0 3)
|
||||
@@ -1506,7 +1500,7 @@
|
||||
(defun debug-menu-context-close-submenu ((arg0 debug-menu-context))
|
||||
(debug-menu-context-send-msg arg0 2 3)
|
||||
(if (< 1 (-> arg0 sel-length))
|
||||
(set! (-> arg0 sel-length) (+ (-> arg0 sel-length) -1))
|
||||
(+! (-> arg0 sel-length) -1)
|
||||
)
|
||||
arg0
|
||||
)
|
||||
@@ -1672,7 +1666,7 @@
|
||||
(cond
|
||||
((<= (-> arg0 inc-delay-ctr) 0)
|
||||
(if (> (-> arg0 inc-delay) 0)
|
||||
(set! (-> arg0 inc-delay) (+ (-> arg0 inc-delay) -1))
|
||||
(+! (-> arg0 inc-delay) -1)
|
||||
)
|
||||
(when (zero? (-> arg0 inc-delay))
|
||||
(cond
|
||||
@@ -1695,7 +1689,7 @@
|
||||
)
|
||||
)
|
||||
(else
|
||||
(set! (-> arg0 step-delay-ctr) (+ (-> arg0 step-delay-ctr) -1))
|
||||
(+! (-> arg0 step-delay-ctr) -1)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -1770,7 +1764,7 @@
|
||||
)
|
||||
)
|
||||
(else
|
||||
(set! (-> arg0 inc-delay-ctr) (+ (-> arg0 inc-delay-ctr) -1))
|
||||
(+! (-> arg0 inc-delay-ctr) -1)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -126,9 +126,9 @@
|
||||
perf-stat
|
||||
((obj perf-stat) (arg0 uint) (arg1 uint) (arg2 uint))
|
||||
(when (nonzero? (-> obj ctrl))
|
||||
(set! (-> obj to-vu0-waits) (+ (-> obj to-vu0-waits) arg0))
|
||||
(set! (-> obj to-spr-waits) (+ (-> obj to-spr-waits) arg1))
|
||||
(set! (-> obj from-spr-waits) (+ (-> obj from-spr-waits) arg2))
|
||||
(+! (-> obj to-vu0-waits) arg0)
|
||||
(+! (-> obj to-spr-waits) arg1)
|
||||
(+! (-> obj from-spr-waits) arg2)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
|
||||
@@ -425,7 +425,7 @@
|
||||
)
|
||||
(set! (-> con prev1) (-> proc connection-list))
|
||||
(set! (-> proc connection-list next1) con)
|
||||
(set! (-> obj length) (+ (-> obj length) 1))
|
||||
(+! (-> obj length) 1)
|
||||
con
|
||||
)
|
||||
)
|
||||
@@ -444,7 +444,7 @@
|
||||
(set! (-> obj next0 prev0) obj)
|
||||
(set! (-> obj prev0) (-> v1-1 dead-list))
|
||||
(set! (-> v1-1 dead-list next0) obj)
|
||||
(set! (-> v1-1 length) (+ (-> v1-1 length) -1))
|
||||
(+! (-> v1-1 length) -1)
|
||||
)
|
||||
obj
|
||||
)
|
||||
|
||||
@@ -406,7 +406,7 @@
|
||||
(= (-> gp-1 num-attempts-before-playing) 1)
|
||||
(< (the-as int a0-24) 30)
|
||||
)
|
||||
(set! (-> gp-1 start-time) (+ (-> gp-1 start-time) a0-24))
|
||||
(+! (-> gp-1 start-time) a0-24)
|
||||
)
|
||||
(cond
|
||||
((and
|
||||
|
||||
@@ -1001,18 +1001,8 @@
|
||||
(s5-0 (new-stack-vector0))
|
||||
(gp-0 (new-stack-vector0))
|
||||
)
|
||||
(let ((v1-3 s4-0))
|
||||
(set! (-> v1-3 x) 0.0)
|
||||
(set! (-> v1-3 y) 0.0)
|
||||
(set! (-> v1-3 z) 0.0)
|
||||
(set! (-> v1-3 w) 1.0)
|
||||
)
|
||||
(let ((v1-4 a1-2))
|
||||
(set! (-> v1-4 x) 100.0)
|
||||
(set! (-> v1-4 y) 0.0)
|
||||
(set! (-> v1-4 z) 0.0)
|
||||
(set! (-> v1-4 w) 10000.0)
|
||||
)
|
||||
(set-vector! s4-0 0.0 0.0 0.0 1.0)
|
||||
(set-vector! a1-2 100.0 0.0 0.0 10000.0)
|
||||
(let ((a2-1 (circle-circle-xz-intersect s4-0 a1-2 s5-0 gp-0)))
|
||||
(format #t "res = ~d~%" a2-1)
|
||||
)
|
||||
|
||||
@@ -128,10 +128,7 @@
|
||||
(set! (-> a0-8 num-planes) (the-as int (-> s2-0 elt-count)))
|
||||
(set! (-> a0-8 plane) (the-as uint v1-12))
|
||||
)
|
||||
(set!
|
||||
(-> (the-as vol-control gp-0) pos-vol-count)
|
||||
(+ (-> (the-as vol-control gp-0) pos-vol-count) 1)
|
||||
)
|
||||
(+! (-> (the-as vol-control gp-0) pos-vol-count) 1)
|
||||
(+! s3-0 1)
|
||||
(set! s2-0 (-> s5-1 tag s3-0))
|
||||
)
|
||||
@@ -168,10 +165,7 @@
|
||||
(set! (-> a0-19 num-planes) (the-as int (-> s2-1 elt-count)))
|
||||
(set! (-> a0-19 plane) (the-as uint v1-31))
|
||||
)
|
||||
(set!
|
||||
(-> (the-as vol-control gp-0) neg-vol-count)
|
||||
(+ (-> (the-as vol-control gp-0) neg-vol-count) 1)
|
||||
)
|
||||
(+! (-> (the-as vol-control gp-0) neg-vol-count) 1)
|
||||
(+! s3-1 1)
|
||||
(set! s2-1 (-> s5-2 tag s3-1))
|
||||
)
|
||||
|
||||
@@ -281,7 +281,7 @@
|
||||
(defmethod add-frame profile-bar ((obj profile-bar) (name symbol) (color rgba))
|
||||
(when *debug-segment*
|
||||
(let ((new-frame (-> obj data (-> obj profile-frame-count))))
|
||||
(set! (-> obj profile-frame-count) (+ (-> obj profile-frame-count) 1))
|
||||
(+! (-> obj profile-frame-count) 1)
|
||||
(set! (-> new-frame name) name)
|
||||
(set!
|
||||
(-> new-frame time-stamp)
|
||||
@@ -306,7 +306,7 @@
|
||||
profile-bar
|
||||
((obj profile-bar) (name symbol) (color rgba))
|
||||
(let ((new-frame (-> obj data (-> obj profile-frame-count))))
|
||||
(set! (-> obj profile-frame-count) (+ (-> obj profile-frame-count) 1))
|
||||
(+! (-> obj profile-frame-count) 1)
|
||||
(set! (-> new-frame name) name)
|
||||
(set! (-> new-frame time-stamp) (the-as uint *ticks-per-frame*))
|
||||
(set! (-> new-frame color) color)
|
||||
|
||||
@@ -944,7 +944,7 @@
|
||||
)
|
||||
)
|
||||
(set! (-> (&-> packet args (-> packet reg-count)) 0) (the-as uint reg-val))
|
||||
(set! (-> packet reg-count) (+ (-> packet reg-count) 1))
|
||||
(+! (-> packet reg-count) 1)
|
||||
(none)
|
||||
)
|
||||
|
||||
|
||||
@@ -49,47 +49,12 @@
|
||||
|
||||
;; definition for function vu-lights-default!
|
||||
(defun vu-lights-default! ((arg0 vu-lights))
|
||||
(let ((v1-0 (-> arg0 ambient)))
|
||||
(set! (-> v1-0 x) 0.3)
|
||||
(set! (-> v1-0 y) 0.3)
|
||||
(set! (-> v1-0 z) 0.3)
|
||||
(set! (-> v1-0 w) 1.0)
|
||||
)
|
||||
(let ((v1-1 (-> arg0 color)))
|
||||
(set! (-> v1-1 0 x) 1.0)
|
||||
(set! (-> v1-1 0 y) 1.0)
|
||||
(set! (-> v1-1 0 z) 1.0)
|
||||
(set! (-> v1-1 0 w) 1.0)
|
||||
)
|
||||
(let ((v1-2 (-> arg0 color 1)))
|
||||
(set! (-> v1-2 x) 0.2)
|
||||
(set! (-> v1-2 y) 0.2)
|
||||
(set! (-> v1-2 z) 0.2)
|
||||
(set! (-> v1-2 w) 1.0)
|
||||
)
|
||||
(let ((v1-3 (-> arg0 color 2)))
|
||||
(set! (-> v1-3 x) 0.0)
|
||||
(set! (-> v1-3 y) 0.0)
|
||||
(set! (-> v1-3 z) 0.0)
|
||||
(set! (-> v1-3 w) 1.0)
|
||||
)
|
||||
(let ((v1-4 (-> arg0 direction)))
|
||||
(set! (-> v1-4 0 x) 1.0)
|
||||
(set! (-> v1-4 0 y) 0.0)
|
||||
(set! (-> v1-4 0 z) 0.0)
|
||||
(set! (-> v1-4 0 w) 1.0)
|
||||
)
|
||||
(let ((v1-5 (-> arg0 direction 1)))
|
||||
(set! (-> v1-5 x) 0.0)
|
||||
(set! (-> v1-5 y) 1.0)
|
||||
(set! (-> v1-5 z) 0.0)
|
||||
(set! (-> v1-5 w) 1.0)
|
||||
)
|
||||
(let ((v1-6 (-> arg0 direction 2)))
|
||||
(set! (-> v1-6 x) 0.0)
|
||||
(set! (-> v1-6 y) 0.0)
|
||||
(set! (-> v1-6 z) 1.0)
|
||||
(set! (-> v1-6 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> arg0 ambient) 0.3 0.3 0.3 1.0)
|
||||
(set-vector! (-> arg0 color 0) 1.0 1.0 1.0 1.0)
|
||||
(set-vector! (-> arg0 color 1) 0.2 0.2 0.2 1.0)
|
||||
(set-vector! (-> arg0 color 2) 0.0 0.0 0.0 1.0)
|
||||
(set-vector! (-> arg0 direction 0) 1.0 0.0 0.0 1.0)
|
||||
(set-vector! (-> arg0 direction 1) 0.0 1.0 0.0 1.0)
|
||||
(set-vector! (-> arg0 direction 2) 0.0 0.0 1.0 1.0)
|
||||
arg0
|
||||
)
|
||||
|
||||
@@ -205,54 +205,14 @@
|
||||
(object-new allocation type-to-make (the-as int (-> type-to-make size)))
|
||||
)
|
||||
)
|
||||
(let ((v1-2 (-> v0-0 times)))
|
||||
(set! (-> v1-2 0 x) 1.0)
|
||||
(set! (-> v1-2 0 y) 1.0)
|
||||
(set! (-> v1-2 0 z) 1.0)
|
||||
(set! (-> v1-2 0 w) 0.0)
|
||||
)
|
||||
(let ((v1-3 (-> v0-0 times 1)))
|
||||
(set! (-> v1-3 x) 1.0)
|
||||
(set! (-> v1-3 y) 1.0)
|
||||
(set! (-> v1-3 z) 1.0)
|
||||
(set! (-> v1-3 w) 0.0)
|
||||
)
|
||||
(let ((v1-4 (-> v0-0 times 2)))
|
||||
(set! (-> v1-4 x) 1.0)
|
||||
(set! (-> v1-4 y) 1.0)
|
||||
(set! (-> v1-4 z) 1.0)
|
||||
(set! (-> v1-4 w) 0.0)
|
||||
)
|
||||
(let ((v1-5 (-> v0-0 times 3)))
|
||||
(set! (-> v1-5 x) 1.0)
|
||||
(set! (-> v1-5 y) 1.0)
|
||||
(set! (-> v1-5 z) 1.0)
|
||||
(set! (-> v1-5 w) 0.0)
|
||||
)
|
||||
(let ((v1-6 (-> v0-0 times 4)))
|
||||
(set! (-> v1-6 x) 1.0)
|
||||
(set! (-> v1-6 y) 1.0)
|
||||
(set! (-> v1-6 z) 1.0)
|
||||
(set! (-> v1-6 w) 0.0)
|
||||
)
|
||||
(let ((v1-7 (-> v0-0 times 5)))
|
||||
(set! (-> v1-7 x) 1.0)
|
||||
(set! (-> v1-7 y) 1.0)
|
||||
(set! (-> v1-7 z) 1.0)
|
||||
(set! (-> v1-7 w) 0.0)
|
||||
)
|
||||
(let ((v1-8 (-> v0-0 times 6)))
|
||||
(set! (-> v1-8 x) 1.0)
|
||||
(set! (-> v1-8 y) 1.0)
|
||||
(set! (-> v1-8 z) 1.0)
|
||||
(set! (-> v1-8 w) 0.0)
|
||||
)
|
||||
(let ((v1-9 (-> v0-0 times 7)))
|
||||
(set! (-> v1-9 x) 1.0)
|
||||
(set! (-> v1-9 y) 1.0)
|
||||
(set! (-> v1-9 z) 1.0)
|
||||
(set! (-> v1-9 w) 0.0)
|
||||
)
|
||||
(set-vector! (-> v0-0 times 0) 1.0 1.0 1.0 0.0)
|
||||
(set-vector! (-> v0-0 times 1) 1.0 1.0 1.0 0.0)
|
||||
(set-vector! (-> v0-0 times 2) 1.0 1.0 1.0 0.0)
|
||||
(set-vector! (-> v0-0 times 3) 1.0 1.0 1.0 0.0)
|
||||
(set-vector! (-> v0-0 times 4) 1.0 1.0 1.0 0.0)
|
||||
(set-vector! (-> v0-0 times 5) 1.0 1.0 1.0 0.0)
|
||||
(set-vector! (-> v0-0 times 6) 1.0 1.0 1.0 0.0)
|
||||
(set-vector! (-> v0-0 times 7) 1.0 1.0 1.0 0.0)
|
||||
v0-0
|
||||
)
|
||||
)
|
||||
|
||||
@@ -57,7 +57,7 @@
|
||||
(when (zero? a3-0)
|
||||
(set! (-> a2-1 v1-1 effect) arg1)
|
||||
(set! (-> a2-1 v1-1 waveform) arg0)
|
||||
(set! (-> *ripple-globals* count) (+ (-> *ripple-globals* count) 1))
|
||||
(+! (-> *ripple-globals* count) 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -76,7 +76,7 @@
|
||||
(when (!= f0-1 0.0)
|
||||
(dotimes (v1-4 (-> arg0 count))
|
||||
(let ((a1-4 (-> arg0 wave v1-4)))
|
||||
(set! (-> a1-4 offs) (+ (-> a1-4 offs) (* f0-1 (-> a1-4 delta))))
|
||||
(+! (-> a1-4 offs) (* f0-1 (-> a1-4 delta)))
|
||||
(set! (-> a1-4 offs) (the float (logand (the int (-> a1-4 offs)) #xffff)))
|
||||
)
|
||||
)
|
||||
|
||||
@@ -660,7 +660,7 @@
|
||||
(set! (-> v1-1 vector 2 quad) t2-4)
|
||||
(set! (-> v1-1 vector 3 quad) t3-1)
|
||||
)
|
||||
(set! (-> arg0 base) (&+ (-> arg0 base) 64))
|
||||
(&+! (-> arg0 base) 64)
|
||||
(let* ((v1-4 arg0)
|
||||
(t0-4 (the-as object (-> v1-4 base)))
|
||||
)
|
||||
@@ -787,7 +787,3 @@
|
||||
)
|
||||
arg0
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -5,11 +5,12 @@
|
||||
(define *sp-frame-time* (new 'global 'vector))
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(let ((v1-1 *sp-frame-time*))
|
||||
(set! (-> v1-1 x) 0.00000000000000000000000000000000000001175495)
|
||||
(set! (-> v1-1 y) 5.0)
|
||||
(set! (-> v1-1 z) 1.0)
|
||||
(set! (-> v1-1 w) 1.0)
|
||||
(set-vector!
|
||||
*sp-frame-time*
|
||||
0.00000000000000000000000000000000000001175495
|
||||
5.0
|
||||
1.0
|
||||
1.0
|
||||
)
|
||||
|
||||
;; definition for symbol *sp-60-hz*, type symbol
|
||||
|
||||
@@ -33,18 +33,15 @@
|
||||
((obj texture-page) (arg0 memory-usage-block) (arg1 int))
|
||||
(set! (-> arg0 length) (max 80 (-> arg0 length)))
|
||||
(set! (-> arg0 data 79 name) "texture")
|
||||
(set! (-> arg0 data 79 count) (+ (-> arg0 data 79 count) (-> obj length)))
|
||||
(+! (-> arg0 data 79 count) (-> obj length))
|
||||
(let ((v1-7 (- (asize-of obj) (the-as int (* (-> obj size) 4)))))
|
||||
(dotimes (a0-6 (-> obj length))
|
||||
(if (-> obj data a0-6)
|
||||
(+! v1-7 64)
|
||||
)
|
||||
)
|
||||
(set! (-> arg0 data 79 used) (+ (-> arg0 data 79 used) v1-7))
|
||||
(set!
|
||||
(-> arg0 data 79 total)
|
||||
(+ (-> arg0 data 79 total) (logand -16 (+ v1-7 15)))
|
||||
)
|
||||
(+! (-> arg0 data 79 used) v1-7)
|
||||
(+! (-> arg0 data 79 total) (logand -16 (+ v1-7 15)))
|
||||
)
|
||||
obj
|
||||
)
|
||||
@@ -693,7 +690,7 @@
|
||||
texture-pool
|
||||
((obj texture-pool) (word-count int))
|
||||
(let ((v0-0 (-> obj cur)))
|
||||
(set! (-> obj cur) (+ (-> obj cur) word-count))
|
||||
(+! (-> obj cur) word-count)
|
||||
v0-0
|
||||
)
|
||||
)
|
||||
@@ -1701,17 +1698,14 @@
|
||||
(when tfrag-page
|
||||
(set! (-> level upload-size 0) 0)
|
||||
(if (< distance 81920.0)
|
||||
(set!
|
||||
(+!
|
||||
(-> level upload-size 0)
|
||||
(+
|
||||
(-> level upload-size 0)
|
||||
(upload-vram-pages
|
||||
obj
|
||||
(-> obj segment-near)
|
||||
tfrag-page
|
||||
2
|
||||
(the-as bucket-id tfrag-bucket)
|
||||
)
|
||||
(upload-vram-pages
|
||||
obj
|
||||
(-> obj segment-near)
|
||||
tfrag-page
|
||||
2
|
||||
(the-as bucket-id tfrag-bucket)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -1719,32 +1713,26 @@
|
||||
((= distance 4095996000.0)
|
||||
)
|
||||
((< 102400.0 distance)
|
||||
(set!
|
||||
(+!
|
||||
(-> level upload-size 0)
|
||||
(+
|
||||
(-> level upload-size 0)
|
||||
(upload-vram-pages
|
||||
obj
|
||||
(-> obj segment-common)
|
||||
tfrag-page
|
||||
0
|
||||
(the-as bucket-id tfrag-bucket)
|
||||
)
|
||||
(upload-vram-pages
|
||||
obj
|
||||
(-> obj segment-common)
|
||||
tfrag-page
|
||||
0
|
||||
(the-as bucket-id tfrag-bucket)
|
||||
)
|
||||
)
|
||||
)
|
||||
(else
|
||||
(set!
|
||||
(+!
|
||||
(-> level upload-size 0)
|
||||
(+
|
||||
(-> level upload-size 0)
|
||||
(upload-vram-pages
|
||||
obj
|
||||
(-> obj segment-common)
|
||||
tfrag-page
|
||||
-2
|
||||
(the-as bucket-id tfrag-bucket)
|
||||
)
|
||||
(upload-vram-pages
|
||||
obj
|
||||
(-> obj segment-common)
|
||||
tfrag-page
|
||||
-2
|
||||
(the-as bucket-id tfrag-bucket)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -2911,10 +2899,7 @@
|
||||
(-> v1-2 loaded-texture-page (-> v1-2 loaded-texture-page-count))
|
||||
obj
|
||||
)
|
||||
(set!
|
||||
(-> v1-2 loaded-texture-page-count)
|
||||
(+ (-> v1-2 loaded-texture-page-count) 1)
|
||||
)
|
||||
(+! (-> v1-2 loaded-texture-page-count) 1)
|
||||
)
|
||||
)
|
||||
(set! (-> obj segment 1 dest) (-> obj segment 0 size))
|
||||
|
||||
@@ -57,13 +57,10 @@
|
||||
((obj prototype-array-tie) (arg0 memory-usage-block) (arg1 int))
|
||||
(set! (-> arg0 length) (max 1 (-> arg0 length)))
|
||||
(set! (-> arg0 data 0 name) (symbol->string 'drawable-group))
|
||||
(set! (-> arg0 data 0 count) (+ (-> arg0 data 0 count) 1))
|
||||
(+! (-> arg0 data 0 count) 1)
|
||||
(let ((v1-8 (asize-of obj)))
|
||||
(set! (-> arg0 data 0 used) (+ (-> arg0 data 0 used) v1-8))
|
||||
(set!
|
||||
(-> arg0 data 0 total)
|
||||
(+ (-> arg0 data 0 total) (logand -16 (+ v1-8 15)))
|
||||
)
|
||||
(+! (-> arg0 data 0 used) v1-8)
|
||||
(+! (-> arg0 data 0 total) (logand -16 (+ v1-8 15)))
|
||||
)
|
||||
(dotimes (s3-0 (-> obj length))
|
||||
(mem-usage (-> obj array-data s3-0) arg0 arg1)
|
||||
@@ -85,25 +82,19 @@
|
||||
)
|
||||
(set! (-> arg0 length) (max 81 (-> arg0 length)))
|
||||
(set! (-> arg0 data 80 name) "string")
|
||||
(set! (-> arg0 data 80 count) (+ (-> arg0 data 80 count) 1))
|
||||
(+! (-> arg0 data 80 count) 1)
|
||||
(let
|
||||
((v1-13 ((method-of-type string asize-of) (the-as string (-> obj name)))))
|
||||
(set! (-> arg0 data 80 used) (+ (-> arg0 data 80 used) v1-13))
|
||||
(set!
|
||||
(-> arg0 data 80 total)
|
||||
(+ (-> arg0 data 80 total) (logand -16 (+ v1-13 15)))
|
||||
)
|
||||
(+! (-> arg0 data 80 used) v1-13)
|
||||
(+! (-> arg0 data 80 total) (logand -16 (+ v1-13 15)))
|
||||
)
|
||||
(when (nonzero? (-> obj tie-colors))
|
||||
(set! (-> arg0 length) (max 17 (-> arg0 length)))
|
||||
(set! (-> arg0 data 16 name) "tie-pal")
|
||||
(set! (-> arg0 data 16 count) (+ (-> arg0 data 16 count) 1))
|
||||
(+! (-> arg0 data 16 count) 1)
|
||||
(let ((v1-25 (asize-of (-> obj tie-colors))))
|
||||
(set! (-> arg0 data 16 used) (+ (-> arg0 data 16 used) v1-25))
|
||||
(set!
|
||||
(-> arg0 data 16 total)
|
||||
(+ (-> arg0 data 16 total) (logand -16 (+ v1-25 15)))
|
||||
)
|
||||
(+! (-> arg0 data 16 used) v1-25)
|
||||
(+! (-> arg0 data 16 total) (logand -16 (+ v1-25 15)))
|
||||
)
|
||||
)
|
||||
(if (nonzero? (-> obj collide-frag))
|
||||
@@ -119,13 +110,10 @@
|
||||
((obj prototype-inline-array-shrub) (arg0 memory-usage-block) (arg1 int))
|
||||
(set! (-> arg0 length) (max 1 (-> arg0 length)))
|
||||
(set! (-> arg0 data 0 name) (symbol->string 'drawable-group))
|
||||
(set! (-> arg0 data 0 count) (+ (-> arg0 data 0 count) 1))
|
||||
(+! (-> arg0 data 0 count) 1)
|
||||
(let ((v1-8 (asize-of obj)))
|
||||
(set! (-> arg0 data 0 used) (+ (-> arg0 data 0 used) v1-8))
|
||||
(set!
|
||||
(-> arg0 data 0 total)
|
||||
(+ (-> arg0 data 0 total) (logand -16 (+ v1-8 15)))
|
||||
)
|
||||
(+! (-> arg0 data 0 used) v1-8)
|
||||
(+! (-> arg0 data 0 total) (logand -16 (+ v1-8 15)))
|
||||
)
|
||||
(dotimes (s3-0 (-> obj length))
|
||||
(mem-usage (-> obj data s3-0) arg0 arg1)
|
||||
@@ -140,13 +128,10 @@
|
||||
((obj prototype-bucket-shrub) (arg0 memory-usage-block) (arg1 int))
|
||||
(set! (-> arg0 length) (max 25 (-> arg0 length)))
|
||||
(set! (-> arg0 data 24 name) "prototype-bucket-shrub")
|
||||
(set! (-> arg0 data 24 count) (+ (-> arg0 data 24 count) 1))
|
||||
(+! (-> arg0 data 24 count) 1)
|
||||
(let ((v1-5 112))
|
||||
(set! (-> arg0 data 24 used) (+ (-> arg0 data 24 used) v1-5))
|
||||
(set!
|
||||
(-> arg0 data 24 total)
|
||||
(+ (-> arg0 data 24 total) (logand -16 (+ v1-5 15)))
|
||||
)
|
||||
(+! (-> arg0 data 24 used) v1-5)
|
||||
(+! (-> arg0 data 24 total) (logand -16 (+ v1-5 15)))
|
||||
)
|
||||
(dotimes (s3-0 4)
|
||||
(let ((a0-5 (-> obj geometry s3-0)))
|
||||
@@ -157,14 +142,11 @@
|
||||
)
|
||||
(set! (-> arg0 length) (max 81 (-> arg0 length)))
|
||||
(set! (-> arg0 data 80 name) "string")
|
||||
(set! (-> arg0 data 80 count) (+ (-> arg0 data 80 count) 1))
|
||||
(+! (-> arg0 data 80 count) 1)
|
||||
(let
|
||||
((v1-22 ((method-of-type string asize-of) (the-as string (-> obj name)))))
|
||||
(set! (-> arg0 data 80 used) (+ (-> arg0 data 80 used) v1-22))
|
||||
(set!
|
||||
(-> arg0 data 80 total)
|
||||
(+ (-> arg0 data 80 total) (logand -16 (+ v1-22 15)))
|
||||
)
|
||||
(+! (-> arg0 data 80 used) v1-22)
|
||||
(+! (-> arg0 data 80 total) (logand -16 (+ v1-22 15)))
|
||||
)
|
||||
obj
|
||||
)
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
(set! (-> arg0 wind-normal x) (cos f30-1))
|
||||
(set! (-> arg0 wind-normal z) (sin f30-1))
|
||||
)
|
||||
(set! (-> arg0 wind-time) (+ (-> arg0 wind-time) 1))
|
||||
(+! (-> arg0 wind-time) 1)
|
||||
(let* ((s4-0 (logand (-> arg0 wind-time) 63))
|
||||
(f0-4 (rand-vu-float-range 0.0 100.0))
|
||||
(v1-5 (/ (-> arg0 wind-time) (the-as uint 120)))
|
||||
|
||||
@@ -222,12 +222,7 @@
|
||||
;; Used lq/sq
|
||||
(defun vector3s-matrix*! ((dst vector3s) (vec vector3s) (mat matrix))
|
||||
(let ((temp-vec3 (new-stack-vector0)))
|
||||
(let ((v1-0 temp-vec3))
|
||||
(set! (-> v1-0 x) (-> vec x))
|
||||
(set! (-> v1-0 y) (-> vec y))
|
||||
(set! (-> v1-0 z) (-> vec z))
|
||||
(set! (-> v1-0 w) 1.0)
|
||||
)
|
||||
(set-vector! temp-vec3 (-> vec x) (-> vec y) (-> vec z) 1.0)
|
||||
(vector-matrix*! temp-vec3 temp-vec3 mat)
|
||||
(set! (-> dst x) (-> temp-vec3 x))
|
||||
(set! (-> dst y) (-> temp-vec3 y))
|
||||
@@ -240,12 +235,7 @@
|
||||
;; Used lq/sq
|
||||
(defun vector3s-rotate*! ((dst vector3s) (vec vector3s) (mat matrix))
|
||||
(let ((temp-vec3 (new-stack-vector0)))
|
||||
(let ((v1-0 temp-vec3))
|
||||
(set! (-> v1-0 x) (-> vec x))
|
||||
(set! (-> v1-0 y) (-> vec y))
|
||||
(set! (-> v1-0 z) (-> vec z))
|
||||
(set! (-> v1-0 w) 1.0)
|
||||
)
|
||||
(set-vector! temp-vec3 (-> vec x) (-> vec y) (-> vec z) 1.0)
|
||||
(vector-rotate*! temp-vec3 temp-vec3 mat)
|
||||
(set! (-> dst x) (-> temp-vec3 x))
|
||||
(set! (-> dst y) (-> temp-vec3 y))
|
||||
@@ -733,11 +723,12 @@
|
||||
(sin-vec (new 'stack-no-clear 'vector))
|
||||
(cos-vec (new 'stack-no-clear 'vector))
|
||||
)
|
||||
(let ((v1-0 sincos-input))
|
||||
(set! (-> v1-0 x) (-> rots-deg x))
|
||||
(set! (-> v1-0 y) (- (-> rots-deg y) (-> rots-deg z)))
|
||||
(set! (-> v1-0 z) (-> rots-deg z))
|
||||
(set! (-> v1-0 w) 1.0)
|
||||
(set-vector!
|
||||
sincos-input
|
||||
(-> rots-deg x)
|
||||
(- (-> rots-deg y) (-> rots-deg z))
|
||||
(-> rots-deg z)
|
||||
1.0
|
||||
)
|
||||
(vector-sincos! sin-vec cos-vec sincos-input)
|
||||
(let ((cos-y (-> cos-vec y))
|
||||
|
||||
@@ -1090,12 +1090,7 @@
|
||||
(s5-0 (new 'stack-no-clear 'vector))
|
||||
)
|
||||
(quaternion->matrix gp-0 arg0)
|
||||
(let ((v1-1 s5-0))
|
||||
(set! (-> v1-1 x) 0.0)
|
||||
(set! (-> v1-1 y) 0.0)
|
||||
(set! (-> v1-1 z) 1.0)
|
||||
(set! (-> v1-1 w) 1.0)
|
||||
)
|
||||
(set-vector! s5-0 0.0 0.0 1.0 1.0)
|
||||
(vector-matrix*! s5-0 s5-0 gp-0)
|
||||
(vector-y-angle s5-0)
|
||||
)
|
||||
|
||||
@@ -319,13 +319,13 @@
|
||||
)
|
||||
(cond
|
||||
((>= max-step step-len)
|
||||
(set! (-> vec x) (+ (-> vec x) x-step))
|
||||
(set! (-> vec z) (+ (-> vec z) z-step))
|
||||
(+! (-> vec x) x-step)
|
||||
(+! (-> vec z) z-step)
|
||||
)
|
||||
(else
|
||||
(let ((f2-6 (/ max-step step-len)))
|
||||
(set! (-> vec x) (+ (-> vec x) (* f2-6 x-step)))
|
||||
(set! (-> vec z) (+ (-> vec z) (* f2-6 z-step)))
|
||||
(+! (-> vec x) (* f2-6 x-step))
|
||||
(+! (-> vec z) (* f2-6 z-step))
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -349,13 +349,13 @@
|
||||
)
|
||||
(cond
|
||||
((>= max-step step-len)
|
||||
(set! (-> vec y) (+ (-> vec y) y-step))
|
||||
(set! (-> vec z) (+ (-> vec z) z-step))
|
||||
(+! (-> vec y) y-step)
|
||||
(+! (-> vec z) z-step)
|
||||
)
|
||||
(else
|
||||
(let ((step-scale (/ max-step step-len)))
|
||||
(set! (-> vec y) (+ (-> vec y) (* step-scale y-step)))
|
||||
(set! (-> vec z) (+ (-> vec z) (* step-scale z-step)))
|
||||
(+! (-> vec y) (* step-scale y-step))
|
||||
(+! (-> vec z) (* step-scale z-step))
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -385,15 +385,15 @@
|
||||
)
|
||||
(cond
|
||||
((>= max-step step-len)
|
||||
(set! (-> vec x) (+ (-> vec x) x-step))
|
||||
(set! (-> vec y) (+ (-> vec y) y-step))
|
||||
(set! (-> vec z) (+ (-> vec z) z-step))
|
||||
(+! (-> vec x) x-step)
|
||||
(+! (-> vec y) y-step)
|
||||
(+! (-> vec z) z-step)
|
||||
)
|
||||
(else
|
||||
(let ((step-scale (/ max-step step-len)))
|
||||
(set! (-> vec x) (+ (-> vec x) (* step-scale x-step)))
|
||||
(set! (-> vec y) (+ (-> vec y) (* step-scale y-step)))
|
||||
(set! (-> vec z) (+ (-> vec z) (* step-scale z-step)))
|
||||
(+! (-> vec x) (* step-scale x-step))
|
||||
(+! (-> vec y) (* step-scale y-step))
|
||||
(+! (-> vec z) (* step-scale z-step))
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -1185,11 +1185,12 @@
|
||||
|
||||
;; definition for function rand-vu-sphere-point!
|
||||
(defun rand-vu-sphere-point! ((arg0 vector) (arg1 float))
|
||||
(let ((s4-0 arg0))
|
||||
(set! (-> s4-0 x) (rand-vu-float-range -1.0 1.0))
|
||||
(set! (-> s4-0 y) (rand-vu-float-range -1.0 1.0))
|
||||
(set! (-> s4-0 z) (rand-vu-float-range -1.0 1.0))
|
||||
(set! (-> s4-0 w) 1.0)
|
||||
(set-vector!
|
||||
arg0
|
||||
(rand-vu-float-range -1.0 1.0)
|
||||
(rand-vu-float-range -1.0 1.0)
|
||||
(rand-vu-float-range -1.0 1.0)
|
||||
1.0
|
||||
)
|
||||
(vector-normalize! arg0 (rand-vu-float-range 0.0 arg1))
|
||||
)
|
||||
|
||||
@@ -5,10 +5,10 @@
|
||||
;; Used lq/sq
|
||||
(defmethod TODO-RENAME-9 trajectory ((obj trajectory) (arg0 float) (arg1 vector))
|
||||
(set! (-> arg1 quad) (-> obj initial-position quad))
|
||||
(set! (-> arg1 x) (+ (-> arg1 x) (* arg0 (-> obj initial-velocity x))))
|
||||
(set! (-> arg1 y) (+ (-> arg1 y) (* arg0 (-> obj initial-velocity y))))
|
||||
(set! (-> arg1 z) (+ (-> arg1 z) (* arg0 (-> obj initial-velocity z))))
|
||||
(set! (-> arg1 y) (+ (-> arg1 y) (* (* (* 0.5 arg0) arg0) (-> obj gravity))))
|
||||
(+! (-> arg1 x) (* arg0 (-> obj initial-velocity x)))
|
||||
(+! (-> arg1 y) (* arg0 (-> obj initial-velocity y)))
|
||||
(+! (-> arg1 z) (* arg0 (-> obj initial-velocity z)))
|
||||
(+! (-> arg1 y) (* (* (* 0.5 arg0) arg0) (-> obj gravity)))
|
||||
arg1
|
||||
)
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
trajectory
|
||||
((obj trajectory) (arg0 float) (arg1 vector))
|
||||
(set! (-> arg1 quad) (-> obj initial-velocity quad))
|
||||
(set! (-> arg1 y) (+ (-> arg1 y) (* arg0 (-> obj gravity))))
|
||||
(+! (-> arg1 y) (* arg0 (-> obj gravity)))
|
||||
arg1
|
||||
)
|
||||
|
||||
|
||||
@@ -223,7 +223,7 @@
|
||||
(set! v1-0 (-> obj current))
|
||||
)
|
||||
(let ((v0-2 (&+ (-> v1-0 base) (* (-> v1-0 elt-used) (-> v1-0 elt-size)))))
|
||||
(set! (-> v1-0 elt-used) (+ (-> v1-0 elt-used) 1))
|
||||
(+! (-> v1-0 elt-used) 1)
|
||||
v0-2
|
||||
)
|
||||
)
|
||||
@@ -232,7 +232,7 @@
|
||||
;; definition for method 11 of type rpc-buffer-pair
|
||||
(defmethod decrement-elt-used rpc-buffer-pair ((obj rpc-buffer-pair))
|
||||
(if (> (-> obj current elt-used) 0)
|
||||
(set! (-> obj current elt-used) (+ (-> obj current elt-used) -1))
|
||||
(+! (-> obj current elt-used) -1)
|
||||
)
|
||||
0
|
||||
)
|
||||
|
||||
@@ -100,12 +100,9 @@
|
||||
(set! (-> arg0 begin-level) 0)
|
||||
0
|
||||
(.mfc0 a1-0 Count)
|
||||
(set!
|
||||
(+!
|
||||
(-> arg0 prev-time-elapsed)
|
||||
(+
|
||||
(-> arg0 prev-time-elapsed)
|
||||
(the-as uint (- a1-0 (the-as int (-> arg0 start-time))))
|
||||
)
|
||||
(the-as uint (- a1-0 (the-as int (-> arg0 start-time))))
|
||||
)
|
||||
)
|
||||
(the-as uint 0)
|
||||
@@ -120,7 +117,7 @@
|
||||
(.mfc0 v1-3 Count)
|
||||
(set! (-> arg0 start-time) (the-as uint v1-3))
|
||||
)
|
||||
(set! (-> arg0 begin-level) (+ (-> arg0 begin-level) 1))
|
||||
(+! (-> arg0 begin-level) 1)
|
||||
0
|
||||
)
|
||||
|
||||
@@ -129,16 +126,13 @@
|
||||
;; WARN: Unsupported inline assembly instruction kind - [mfc0 a1, Count]
|
||||
(defun stopwatch-end ((arg0 stopwatch))
|
||||
(local-vars (a1-0 int))
|
||||
(set! (-> arg0 begin-level) (+ (-> arg0 begin-level) -1))
|
||||
(+! (-> arg0 begin-level) -1)
|
||||
(when (zero? (-> arg0 begin-level))
|
||||
0
|
||||
(.mfc0 a1-0 Count)
|
||||
(set!
|
||||
(+!
|
||||
(-> arg0 prev-time-elapsed)
|
||||
(+
|
||||
(-> arg0 prev-time-elapsed)
|
||||
(the-as uint (- a1-0 (the-as int (-> arg0 start-time))))
|
||||
)
|
||||
(the-as uint (- a1-0 (the-as int (-> arg0 start-time))))
|
||||
)
|
||||
)
|
||||
(the-as uint 0)
|
||||
|
||||
@@ -89,12 +89,7 @@
|
||||
(set! (-> obj process) proc)
|
||||
(set! (-> obj joint) (-> proc node-list data joint-idx))
|
||||
(set-mode! obj mode)
|
||||
(let ((twist-max (-> obj twist-max)))
|
||||
(set! (-> twist-max x) 8192.0)
|
||||
(set! (-> twist-max y) 11832.889)
|
||||
(set! (-> twist-max z) 0.0)
|
||||
(set! (-> twist-max w) 1.0)
|
||||
)
|
||||
(set-vector! (-> obj twist-max) 8192.0 11832.889 0.0 1.0)
|
||||
(set! (-> obj up) (the-as uint 1))
|
||||
(set! (-> obj nose) (the-as uint 2))
|
||||
(set! (-> obj ear) (the-as uint 0))
|
||||
@@ -150,12 +145,7 @@
|
||||
(set! (-> joint param2) #f)
|
||||
(vector-reset! (-> obj trans))
|
||||
(quaternion-identity! (-> obj quat))
|
||||
(let ((v1-2 (-> obj scale)))
|
||||
(set! (-> v1-2 x) 1.0)
|
||||
(set! (-> v1-2 y) 1.0)
|
||||
(set! (-> v1-2 z) 1.0)
|
||||
(set! (-> v1-2 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> obj scale) 1.0 1.0 1.0 1.0)
|
||||
(set! (-> obj max-dist) (the-as meters #f))
|
||||
)
|
||||
(((joint-mod-handler-mode joint-set*))
|
||||
@@ -164,12 +154,7 @@
|
||||
(set! (-> joint param2) #f)
|
||||
(vector-reset! (-> obj trans))
|
||||
(quaternion-identity! (-> obj quat))
|
||||
(let ((v1-4 (-> obj scale)))
|
||||
(set! (-> v1-4 x) 1.0)
|
||||
(set! (-> v1-4 y) 1.0)
|
||||
(set! (-> v1-4 z) 1.0)
|
||||
(set! (-> v1-4 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> obj scale) 1.0 1.0 1.0 1.0)
|
||||
(set! (-> obj max-dist) (the-as meters #f))
|
||||
)
|
||||
)
|
||||
@@ -724,13 +709,8 @@
|
||||
)
|
||||
(vector*! (-> arg1 scale) (-> arg1 scale) (-> s5-0 scale))
|
||||
(cspace<-parented-transformq-joint! arg0 arg1)
|
||||
(when (-> s5-0 max-dist)
|
||||
(let ((v1-4 (-> arg0 bone scale)))
|
||||
(set! (-> v1-4 x) 1.0)
|
||||
(set! (-> v1-4 y) 1.0)
|
||||
(set! (-> v1-4 z) 1.0)
|
||||
(set! (-> v1-4 w) 1.0)
|
||||
)
|
||||
(if (-> s5-0 max-dist)
|
||||
(set-vector! (-> arg0 bone scale) 1.0 1.0 1.0 1.0)
|
||||
)
|
||||
)
|
||||
0
|
||||
@@ -797,7 +777,7 @@
|
||||
(f2-1 (* 6.28318 (-> s4-0 wheel-radius)))
|
||||
(f0-4 (* (* f1-0 (/ 1.0 f2-1)) f0-3))
|
||||
)
|
||||
(set! (-> s4-0 angle) (+ (-> s4-0 angle) f0-4))
|
||||
(+! (-> s4-0 angle) f0-4)
|
||||
)
|
||||
)
|
||||
(quaternion-vector-angle!
|
||||
@@ -830,12 +810,7 @@
|
||||
(set! (-> v0-0 wheel-radius) arg2)
|
||||
(set! (-> v0-0 wheel-axis) arg3)
|
||||
(set! (-> v0-0 angle) 0.0)
|
||||
(let ((v1-2 (-> v0-0 last-position)))
|
||||
(set! (-> v1-2 x) 0.0)
|
||||
(set! (-> v1-2 y) 0.0)
|
||||
(set! (-> v1-2 z) 0.0)
|
||||
(set! (-> v1-2 w) 1.0)
|
||||
)
|
||||
(set-vector! (-> v0-0 last-position) 0.0 0.0 0.0 1.0)
|
||||
(let ((v1-5 (-> arg0 node-list data arg1)))
|
||||
(set! (-> v1-5 param0) joint-mod-wheel-callback)
|
||||
(set! (-> v1-5 param1) v0-0)
|
||||
|
||||
@@ -140,12 +140,9 @@
|
||||
(print-game-text s3-0 gp-0 #f (the int f30-1) 22)
|
||||
)
|
||||
)
|
||||
(set!
|
||||
(+!
|
||||
(-> gp-0 origin y)
|
||||
(+
|
||||
(-> gp-0 origin y)
|
||||
(the float (-> *title-credits-spacing* (+ s5-1 s4-1)))
|
||||
)
|
||||
(the float (-> *title-credits-spacing* (+ s5-1 s4-1)))
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -206,7 +203,7 @@
|
||||
(set! v1-13 25)
|
||||
)
|
||||
)
|
||||
(set! (-> s5-0 origin y) (+ (-> s5-0 origin y) (the float v1-13)))
|
||||
(+! (-> s5-0 origin y) (the float v1-13))
|
||||
(+! gp-0 1)
|
||||
)
|
||||
#f
|
||||
|
||||
@@ -400,17 +400,14 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! (-> obj vel) (+ (-> obj vel) f0-3))
|
||||
(+! (-> obj vel) f0-3)
|
||||
)
|
||||
(set!
|
||||
(-> obj vel)
|
||||
(fmin (-> obj max-vel) (fmax (- (-> obj max-vel)) (-> obj vel)))
|
||||
)
|
||||
(set! (-> obj vel) (* (-> obj vel) (-> obj damping)))
|
||||
(set!
|
||||
(-> obj value)
|
||||
(+ (-> obj value) (* (-> obj vel) (-> *display* time-adjust-ratio)))
|
||||
)
|
||||
(+! (-> obj value) (* (-> obj vel) (-> *display* time-adjust-ratio)))
|
||||
(-> obj value)
|
||||
)
|
||||
|
||||
|
||||
@@ -1058,7 +1058,7 @@
|
||||
(shrink-heap obj s3-0)
|
||||
(relocate s3-0 (- s2-0))
|
||||
(set! (-> obj first-gap) (find-gap obj s4-1))
|
||||
(set! (-> obj compact-count) (+ (-> obj compact-count) 1))
|
||||
(+! (-> obj compact-count) 1)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -1484,12 +1484,7 @@ TEST_F(FormRegressionTest, VectorNewInlineProp) {
|
||||
std::string expected =
|
||||
"(begin\n"
|
||||
" (let ((s5-0 (new-stack-vector0)))\n"
|
||||
" (let ((v1-0 s5-0))\n"
|
||||
" (set! (-> v1-0 x) (-> arg1 x))\n"
|
||||
" (set! (-> v1-0 y) (-> arg1 y))\n"
|
||||
" (set! (-> v1-0 z) (-> arg1 z))\n"
|
||||
" (set! (-> v1-0 w) 0.0)\n"
|
||||
" )\n"
|
||||
" (set-vector! s5-0 (-> arg1 x) (-> arg1 y) (-> arg1 z) 0.0)\n"
|
||||
" (vector-matrix*! s5-0 s5-0 arg2)\n"
|
||||
" (set! (-> arg0 x) (-> s5-0 x))\n"
|
||||
" (set! (-> arg0 y) (-> s5-0 y))\n"
|
||||
|
||||
@@ -2613,7 +2613,7 @@ TEST_F(FormRegressionTest, ExprMethod16DeadPoolHeap) {
|
||||
" (shrink-heap arg0 s3-0)\n"
|
||||
" (relocate s3-0 (- s2-0))\n"
|
||||
" (set! (-> arg0 first-gap) (find-gap arg0 s4-1))\n"
|
||||
" (set! (-> arg0 compact-count) (+ (-> arg0 compact-count) 1))\n"
|
||||
" (+! (-> arg0 compact-count) 1)\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
" )\n"
|
||||
|
||||
Reference in New Issue
Block a user