mirror of
https://github.com/open-goal/jak-project
synced 2026-08-18 21:57:54 -04:00
Merge branch 'master' of https://github.com/water111/jak-project into w/dma-for-font
This commit is contained in:
@@ -22959,21 +22959,21 @@
|
||||
|
||||
;; - Types
|
||||
|
||||
; (deftype ticky (structure)
|
||||
; ((delay-til-ramp uint64 :offset-assert 0)
|
||||
; (delay-til-timeout uint64 :offset-assert 8)
|
||||
; (starting-time uint64 :offset-assert 16)
|
||||
; (last-tick-time uint64 :offset-assert 24)
|
||||
; )
|
||||
; :method-count-assert 12
|
||||
; :size-assert #x20
|
||||
; :flag-assert #xc00000020
|
||||
; (:methods
|
||||
; (dummy-9 () none 9)
|
||||
; (dummy-10 () none 10)
|
||||
; (dummy-11 () none 11)
|
||||
; )
|
||||
; )
|
||||
(deftype ticky (structure)
|
||||
((delay-til-ramp uint64 :offset-assert 0)
|
||||
(delay-til-timeout uint64 :offset-assert 8)
|
||||
(starting-time uint64 :offset-assert 16)
|
||||
(last-tick-time uint64 :offset-assert 24)
|
||||
)
|
||||
:method-count-assert 12
|
||||
:size-assert #x20
|
||||
:flag-assert #xc00000020
|
||||
(:methods
|
||||
(sleep (_type_ uint) none 9)
|
||||
(reached-delay? (_type_ uint) symbol 10)
|
||||
(completed? (_type_) symbol 11)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
;; ----------------------
|
||||
@@ -23290,25 +23290,25 @@
|
||||
|
||||
;; - Types
|
||||
|
||||
; (deftype wobbler (basic)
|
||||
; ((posx float :offset-assert 4)
|
||||
; (posy float :offset-assert 8)
|
||||
; (velx float :offset-assert 12)
|
||||
; (vely float :offset-assert 16)
|
||||
; (spring float :offset-assert 20)
|
||||
; (damping float :offset-assert 24)
|
||||
; (height float :offset-assert 28)
|
||||
; )
|
||||
; :method-count-assert 13
|
||||
; :size-assert #x20
|
||||
; :flag-assert #xd00000020
|
||||
; (:methods
|
||||
; (dummy-9 () none 9)
|
||||
; (dummy-10 () none 10)
|
||||
; (dummy-11 () none 11)
|
||||
; (dummy-12 () none 12)
|
||||
; )
|
||||
; )
|
||||
(deftype wobbler (basic)
|
||||
((posx float :offset-assert 4)
|
||||
(posy float :offset-assert 8)
|
||||
(velx float :offset-assert 12)
|
||||
(vely float :offset-assert 16)
|
||||
(spring float :offset-assert 20)
|
||||
(damping float :offset-assert 24)
|
||||
(height float :offset-assert 28)
|
||||
)
|
||||
:method-count-assert 13
|
||||
:size-assert #x20
|
||||
:flag-assert #xd00000020
|
||||
(:methods
|
||||
(reset! (_type_ float float float) none 9)
|
||||
(inc-xy-vel! (_type_ float float) none 10)
|
||||
(move! (_type_) none 11)
|
||||
(TODO-RENAME-12 (_type_ quaternion) none 12)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
;; ----------------------
|
||||
|
||||
@@ -1292,7 +1292,7 @@
|
||||
["L37", "uint64", true],
|
||||
["L38", "uint64", true]
|
||||
],
|
||||
|
||||
|
||||
"anim-tester": [
|
||||
["L615", "_auto_", true],
|
||||
["L592", "_auto_", true],
|
||||
@@ -1302,20 +1302,22 @@
|
||||
["L86", "_lambda_", true],
|
||||
["L652", "float", true]
|
||||
],
|
||||
|
||||
|
||||
"default-menu": [
|
||||
["L519", "pair", true],
|
||||
["L1550", "pair", true],
|
||||
["L1552", "pair", true]
|
||||
],
|
||||
|
||||
|
||||
"generic-vu1": [
|
||||
["L12", "gif-tag64", true],
|
||||
["L15", "gif-tag64", true],
|
||||
["L14", "gif-tag-regs", true]
|
||||
],
|
||||
|
||||
"main-collide": [["L5", "rgba", true]],
|
||||
"main-collide": [
|
||||
["L5", "rgba", true]
|
||||
],
|
||||
|
||||
"camera": [
|
||||
["L257", "(inline-array qword)", true, 1],
|
||||
@@ -1439,6 +1441,15 @@
|
||||
["L7", "float", true]
|
||||
],
|
||||
|
||||
"ticky": [
|
||||
["L7", "float", true],
|
||||
["L8", "float", true],
|
||||
["L10", "uint64", true]
|
||||
],
|
||||
|
||||
"wobbler": [
|
||||
["L6", "float", true]
|
||||
],
|
||||
"title-obs": [["L499", "float", true]],
|
||||
|
||||
"drawable": [
|
||||
@@ -1446,7 +1457,6 @@
|
||||
["L191", "uint64", true],
|
||||
["L186", "uint64", true]
|
||||
],
|
||||
|
||||
// please do not add things after this entry! git is dumb.
|
||||
"object-file-that-doesnt-actually-exist-and-i-just-put-this-here-to-prevent-merge-conflicts-with-this-file": []
|
||||
}
|
||||
|
||||
@@ -840,7 +840,11 @@
|
||||
"(method 20 collide-cache)": [
|
||||
[16, "vector"]
|
||||
],
|
||||
"(anon-function 0 title-obs)": [
|
||||
|
||||
"(method 12 wobbler)": [
|
||||
[16, "vector"]
|
||||
],
|
||||
"(anon-function 0 title-obs)": [
|
||||
[16, "font-context"]
|
||||
],
|
||||
|
||||
@@ -851,6 +855,6 @@
|
||||
"draw-string-xy": [
|
||||
[16, "font-context"]
|
||||
],
|
||||
|
||||
|
||||
"placeholder-do-not-add-below!": []
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"fileProgress": {
|
||||
"src_files_total": 514,
|
||||
"src_files_finished": 54,
|
||||
"src_files_started": 176,
|
||||
"src_files_started": 177,
|
||||
"data_files_total": 584,
|
||||
"data_files_started": 4
|
||||
}
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/jak-project/favicon.png"><title>OpenGOAL Tooling</title><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.min.css"><link href="/jak-project/css/about.bf16c6ab.css" rel="prefetch"><link href="/jak-project/js/about.10e9478b.js" rel="prefetch"><link href="/jak-project/css/chunk-vendors.b018c88a.css" rel="preload" as="style"><link href="/jak-project/js/app.2ac786b5.js" rel="preload" as="script"><link href="/jak-project/js/chunk-vendors.874e560a.js" rel="preload" as="script"><link href="/jak-project/css/chunk-vendors.b018c88a.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but docs-and-tooling doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="/jak-project/js/chunk-vendors.874e560a.js"></script><script src="/jak-project/js/app.2ac786b5.js"></script></body></html>
|
||||
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="icon" href="/jak-project/favicon.png"><title>OpenGOAL Tooling</title><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.min.css"><link href="/jak-project/css/about.bf16c6ab.css" rel="prefetch"><link href="/jak-project/js/about.035bad88.js" rel="prefetch"><link href="/jak-project/css/chunk-vendors.b018c88a.css" rel="preload" as="style"><link href="/jak-project/js/app.caccaa88.js" rel="preload" as="script"><link href="/jak-project/js/chunk-vendors.874e560a.js" rel="preload" as="script"><link href="/jak-project/css/chunk-vendors.b018c88a.css" rel="stylesheet"></head><body><noscript><strong>We're sorry but docs-and-tooling doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><script src="/jak-project/js/chunk-vendors.874e560a.js"></script><script src="/jak-project/js/app.caccaa88.js"></script></body></html>
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,2 +1,2 @@
|
||||
(function(e){function t(t){for(var n,o,i=t[0],c=t[1],l=t[2],s=0,p=[];s<i.length;s++)o=i[s],Object.prototype.hasOwnProperty.call(a,o)&&a[o]&&p.push(a[o][0]),a[o]=0;for(n in c)Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n]);f&&f(t);while(p.length)p.shift()();return u.push.apply(u,l||[]),r()}function r(){for(var e,t=0;t<u.length;t++){for(var r=u[t],n=!0,o=1;o<r.length;o++){var i=r[o];0!==a[i]&&(n=!1)}n&&(u.splice(t--,1),e=c(c.s=r[0]))}return e}var n={},o={app:0},a={app:0},u=[];function i(e){return c.p+"js/"+({about:"about"}[e]||e)+"."+{about:"10e9478b"}[e]+".js"}function c(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,c),r.l=!0,r.exports}c.e=function(e){var t=[],r={about:1};o[e]?t.push(o[e]):0!==o[e]&&r[e]&&t.push(o[e]=new Promise((function(t,r){for(var n="css/"+({about:"about"}[e]||e)+"."+{about:"bf16c6ab"}[e]+".css",a=c.p+n,u=document.getElementsByTagName("link"),i=0;i<u.length;i++){var l=u[i],s=l.getAttribute("data-href")||l.getAttribute("href");if("stylesheet"===l.rel&&(s===n||s===a))return t()}var p=document.getElementsByTagName("style");for(i=0;i<p.length;i++){l=p[i],s=l.getAttribute("data-href");if(s===n||s===a)return t()}var f=document.createElement("link");f.rel="stylesheet",f.type="text/css",f.onload=t,f.onerror=function(t){var n=t&&t.target&&t.target.src||a,u=new Error("Loading CSS chunk "+e+" failed.\n("+n+")");u.code="CSS_CHUNK_LOAD_FAILED",u.request=n,delete o[e],f.parentNode.removeChild(f),r(u)},f.href=a;var d=document.getElementsByTagName("head")[0];d.appendChild(f)})).then((function(){o[e]=0})));var n=a[e];if(0!==n)if(n)t.push(n[2]);else{var u=new Promise((function(t,r){n=a[e]=[t,r]}));t.push(n[2]=u);var l,s=document.createElement("script");s.charset="utf-8",s.timeout=120,c.nc&&s.setAttribute("nonce",c.nc),s.src=i(e);var p=new Error;l=function(t){s.onerror=s.onload=null,clearTimeout(f);var r=a[e];if(0!==r){if(r){var n=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;p.message="Loading chunk "+e+" failed.\n("+n+": "+o+")",p.name="ChunkLoadError",p.type=n,p.request=o,r[1](p)}a[e]=void 0}};var f=setTimeout((function(){l({type:"timeout",target:s})}),12e4);s.onerror=s.onload=l,document.head.appendChild(s)}return Promise.all(t)},c.m=e,c.c=n,c.d=function(e,t,r){c.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},c.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.t=function(e,t){if(1&t&&(e=c(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(c.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)c.d(r,n,function(t){return e[t]}.bind(null,n));return r},c.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return c.d(t,"a",t),t},c.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},c.p="/jak-project/",c.oe=function(e){throw console.error(e),e};var l=window["webpackJsonp"]=window["webpackJsonp"]||[],s=l.push.bind(l);l.push=t,l=l.slice();for(var p=0;p<l.length;p++)t(l[p]);var f=s;u.push([0,"chunk-vendors"]),r()})({0:function(e,t,r){e.exports=r("56d7")},"56d7":function(e,t,r){"use strict";r.r(t);r("e260"),r("e6cf"),r("cca6"),r("a79d");var n=r("2b0e"),o=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("v-app",[r("v-main",[r("router-view")],1)],1)},a=[],u={name:"App",components:{},data:function(){return{}}},i=u,c=r("2877"),l=r("6544"),s=r.n(l),p=r("7496"),f=r("f6c4"),d=Object(c["a"])(i,o,a,!1,null,null,null),h=d.exports;s()(d,{VApp:p["a"],VMain:f["a"]});var b=r("f309");n["a"].use(b["a"]);var m=new b["a"]({theme:{dark:!0}}),v=(r("d3b7"),r("3ca3"),r("ddb0"),r("8c4f"));n["a"].use(v["a"]);var g=[{path:"/",name:"Home",component:function(){return r.e("about").then(r.bind(null,"bb51"))}}],y=new v["a"]({mode:"history",base:"/jak-project/",routes:g}),w=y;n["a"].config.productionTip=!1,new n["a"]({vuetify:m,router:w,render:function(e){return e(h)}}).$mount("#app")}});
|
||||
//# sourceMappingURL=app.2ac786b5.js.map
|
||||
(function(e){function t(t){for(var n,o,i=t[0],c=t[1],l=t[2],s=0,p=[];s<i.length;s++)o=i[s],Object.prototype.hasOwnProperty.call(a,o)&&a[o]&&p.push(a[o][0]),a[o]=0;for(n in c)Object.prototype.hasOwnProperty.call(c,n)&&(e[n]=c[n]);f&&f(t);while(p.length)p.shift()();return u.push.apply(u,l||[]),r()}function r(){for(var e,t=0;t<u.length;t++){for(var r=u[t],n=!0,o=1;o<r.length;o++){var i=r[o];0!==a[i]&&(n=!1)}n&&(u.splice(t--,1),e=c(c.s=r[0]))}return e}var n={},o={app:0},a={app:0},u=[];function i(e){return c.p+"js/"+({about:"about"}[e]||e)+"."+{about:"035bad88"}[e]+".js"}function c(t){if(n[t])return n[t].exports;var r=n[t]={i:t,l:!1,exports:{}};return e[t].call(r.exports,r,r.exports,c),r.l=!0,r.exports}c.e=function(e){var t=[],r={about:1};o[e]?t.push(o[e]):0!==o[e]&&r[e]&&t.push(o[e]=new Promise((function(t,r){for(var n="css/"+({about:"about"}[e]||e)+"."+{about:"bf16c6ab"}[e]+".css",a=c.p+n,u=document.getElementsByTagName("link"),i=0;i<u.length;i++){var l=u[i],s=l.getAttribute("data-href")||l.getAttribute("href");if("stylesheet"===l.rel&&(s===n||s===a))return t()}var p=document.getElementsByTagName("style");for(i=0;i<p.length;i++){l=p[i],s=l.getAttribute("data-href");if(s===n||s===a)return t()}var f=document.createElement("link");f.rel="stylesheet",f.type="text/css",f.onload=t,f.onerror=function(t){var n=t&&t.target&&t.target.src||a,u=new Error("Loading CSS chunk "+e+" failed.\n("+n+")");u.code="CSS_CHUNK_LOAD_FAILED",u.request=n,delete o[e],f.parentNode.removeChild(f),r(u)},f.href=a;var d=document.getElementsByTagName("head")[0];d.appendChild(f)})).then((function(){o[e]=0})));var n=a[e];if(0!==n)if(n)t.push(n[2]);else{var u=new Promise((function(t,r){n=a[e]=[t,r]}));t.push(n[2]=u);var l,s=document.createElement("script");s.charset="utf-8",s.timeout=120,c.nc&&s.setAttribute("nonce",c.nc),s.src=i(e);var p=new Error;l=function(t){s.onerror=s.onload=null,clearTimeout(f);var r=a[e];if(0!==r){if(r){var n=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;p.message="Loading chunk "+e+" failed.\n("+n+": "+o+")",p.name="ChunkLoadError",p.type=n,p.request=o,r[1](p)}a[e]=void 0}};var f=setTimeout((function(){l({type:"timeout",target:s})}),12e4);s.onerror=s.onload=l,document.head.appendChild(s)}return Promise.all(t)},c.m=e,c.c=n,c.d=function(e,t,r){c.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},c.r=function(e){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},c.t=function(e,t){if(1&t&&(e=c(e)),8&t)return e;if(4&t&&"object"===typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(c.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var n in e)c.d(r,n,function(t){return e[t]}.bind(null,n));return r},c.n=function(e){var t=e&&e.__esModule?function(){return e["default"]}:function(){return e};return c.d(t,"a",t),t},c.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},c.p="/jak-project/",c.oe=function(e){throw console.error(e),e};var l=window["webpackJsonp"]=window["webpackJsonp"]||[],s=l.push.bind(l);l.push=t,l=l.slice();for(var p=0;p<l.length;p++)t(l[p]);var f=s;u.push([0,"chunk-vendors"]),r()})({0:function(e,t,r){e.exports=r("56d7")},"56d7":function(e,t,r){"use strict";r.r(t);r("e260"),r("e6cf"),r("cca6"),r("a79d");var n=r("2b0e"),o=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("v-app",[r("v-main",[r("router-view")],1)],1)},a=[],u={name:"App",components:{},data:function(){return{}}},i=u,c=r("2877"),l=r("6544"),s=r.n(l),p=r("7496"),f=r("f6c4"),d=Object(c["a"])(i,o,a,!1,null,null,null),h=d.exports;s()(d,{VApp:p["a"],VMain:f["a"]});var b=r("f309");n["a"].use(b["a"]);var m=new b["a"]({theme:{dark:!0}}),v=(r("d3b7"),r("3ca3"),r("ddb0"),r("8c4f"));n["a"].use(v["a"]);var g=[{path:"/",name:"Home",component:function(){return r.e("about").then(r.bind(null,"bb51"))}}],y=new v["a"]({mode:"history",base:"/jak-project/",routes:g}),w=y;n["a"].config.productionTip=!1,new n["a"]({vuetify:m,router:w,render:function(e){return e(h)}}).$mount("#app")}});
|
||||
//# sourceMappingURL=app.caccaa88.js.map
|
||||
File diff suppressed because one or more lines are too long
@@ -5,3 +5,85 @@
|
||||
;; name in dgo: wobbler
|
||||
;; dgos: BEA, L1
|
||||
|
||||
;; definition of type wobbler
|
||||
(deftype wobbler (basic)
|
||||
((posx float :offset-assert 4)
|
||||
(posy float :offset-assert 8)
|
||||
(velx float :offset-assert 12)
|
||||
(vely float :offset-assert 16)
|
||||
(spring float :offset-assert 20)
|
||||
(damping float :offset-assert 24)
|
||||
(height float :offset-assert 28)
|
||||
)
|
||||
:method-count-assert 13
|
||||
:size-assert #x20
|
||||
:flag-assert #xd00000020
|
||||
(:methods
|
||||
(reset! (_type_ float float float) none 9)
|
||||
(inc-xy-vel! (_type_ float float) none 10)
|
||||
(move! (_type_) none 11)
|
||||
(TODO-RENAME-12 (_type_ quaternion) none 12)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 9 of type wobbler
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod reset! wobbler ((obj wobbler) (arg0 float) (arg1 float) (arg2 float))
|
||||
(set! (-> obj posx) 0.0)
|
||||
(set! (-> obj posy) 0.0)
|
||||
(set! (-> obj velx) 0.0)
|
||||
(set! (-> obj vely) 0.0)
|
||||
(set! (-> obj spring) arg0)
|
||||
(set! (-> obj damping) arg1)
|
||||
(set! (-> obj height) arg2)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 10 of type wobbler
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod inc-xy-vel! wobbler ((obj wobbler) (arg0 float) (arg1 float))
|
||||
(+! (-> obj velx) arg0)
|
||||
(+! (-> obj vely) arg1)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 11 of type wobbler
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod move! wobbler ((obj wobbler))
|
||||
(+! (-> obj posx) (* (-> obj velx) (-> *display* seconds-per-frame)))
|
||||
(+! (-> obj posy) (* (-> obj vely) (-> *display* seconds-per-frame)))
|
||||
(set! (-> obj velx) (* (-> obj velx) (-> obj damping)))
|
||||
(set! (-> obj vely) (* (-> obj vely) (-> obj damping)))
|
||||
(+! (-> obj velx) (* (* -1.0 (-> obj posx)) (-> obj spring)))
|
||||
(+! (-> obj vely) (* (* -1.0 (-> obj posy)) (-> obj spring)))
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 12 of type wobbler
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod TODO-RENAME-12 wobbler ((obj wobbler) (arg0 quaternion))
|
||||
(let ((s5-0 (new 'stack-no-clear 'vector)))
|
||||
(set! (-> s5-0 x) (-> obj posy))
|
||||
(set! (-> s5-0 y) 0.0)
|
||||
(set! (-> s5-0 z) (- (-> obj posx)))
|
||||
(vector-normalize! s5-0 1.0)
|
||||
(let*
|
||||
((f0-8
|
||||
(/
|
||||
(sqrtf
|
||||
(+ (* (-> obj posx) (-> obj posx)) (* (-> obj posy) (-> obj posy)))
|
||||
)
|
||||
(-> obj height)
|
||||
)
|
||||
)
|
||||
(f0-9 (atan f0-8 1.0))
|
||||
)
|
||||
(quaternion-vector-angle! arg0 s5-0 f0-9)
|
||||
)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
@@ -5,3 +5,86 @@
|
||||
;; name in dgo: ticky
|
||||
;; dgos: GAME, COMMON, L1
|
||||
|
||||
;; definition of type ticky
|
||||
(deftype ticky (structure)
|
||||
((delay-til-ramp uint64 :offset-assert 0)
|
||||
(delay-til-timeout uint64 :offset-assert 8)
|
||||
(starting-time uint64 :offset-assert 16)
|
||||
(last-tick-time uint64 :offset-assert 24)
|
||||
)
|
||||
:method-count-assert 12
|
||||
:size-assert #x20
|
||||
:flag-assert #xc00000020
|
||||
(:methods
|
||||
(sleep (_type_ uint) none 9)
|
||||
(reached-delay? (_type_ uint) symbol 10)
|
||||
(completed? (_type_) symbol 11)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 9 of type ticky
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod sleep ticky ((obj ticky) (arg0 uint))
|
||||
(set! (-> obj starting-time) (-> *display* base-frame-counter))
|
||||
(set! (-> obj delay-til-timeout) arg0)
|
||||
(set! (-> obj delay-til-ramp) (max 0 (the-as int (+ arg0 -1200))))
|
||||
(set! (-> obj last-tick-time) (the-as uint 0))
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 11 of type ticky
|
||||
(defmethod completed? ticky ((obj ticky))
|
||||
(let ((gp-0 #f))
|
||||
(let ((v1-2 (- (-> *display* base-frame-counter) (-> obj starting-time))))
|
||||
(cond
|
||||
((>= (the-as int v1-2) (the-as int (-> obj delay-til-timeout)))
|
||||
(set! gp-0 #t)
|
||||
)
|
||||
(else
|
||||
(let*
|
||||
((f0-1
|
||||
(fmin
|
||||
1.0
|
||||
(/
|
||||
(the float (max 0 (the-as int (- v1-2 (-> obj delay-til-ramp)))))
|
||||
(the float (- (-> obj delay-til-timeout) (-> obj delay-til-ramp)))
|
||||
)
|
||||
)
|
||||
)
|
||||
(v1-7 (the int (lerp 105.0 41.0 f0-1)))
|
||||
)
|
||||
(when
|
||||
(>=
|
||||
(the-as
|
||||
int
|
||||
(- (-> *display* base-frame-counter) (-> obj last-tick-time))
|
||||
)
|
||||
v1-7
|
||||
)
|
||||
(set! (-> obj last-tick-time) (-> *display* base-frame-counter))
|
||||
(sound-play-by-name
|
||||
(static-sound-name "stopwatch")
|
||||
(new-sound-id)
|
||||
1024
|
||||
0
|
||||
0
|
||||
(the-as uint 1)
|
||||
(the-as vector #t)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
gp-0
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 10 of type ticky
|
||||
(defmethod reached-delay? ticky ((obj ticky) (arg0 uint))
|
||||
(>=
|
||||
(the-as int (- (-> *display* base-frame-counter) (-> obj starting-time)))
|
||||
(the-as int arg0)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -0,0 +1,102 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition of type wobbler
|
||||
(deftype wobbler (basic)
|
||||
((posx float :offset-assert 4)
|
||||
(posy float :offset-assert 8)
|
||||
(velx float :offset-assert 12)
|
||||
(vely float :offset-assert 16)
|
||||
(spring float :offset-assert 20)
|
||||
(damping float :offset-assert 24)
|
||||
(height float :offset-assert 28)
|
||||
)
|
||||
:method-count-assert 13
|
||||
:size-assert #x20
|
||||
:flag-assert #xd00000020
|
||||
(:methods
|
||||
(reset! (_type_ float float float) none 9)
|
||||
(inc-xy-vel! (_type_ float float) none 10)
|
||||
(move! (_type_) none 11)
|
||||
(TODO-RENAME-12 (_type_ quaternion) none 12)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type wobbler
|
||||
(defmethod inspect wobbler ((obj wobbler))
|
||||
(format #t "[~8x] ~A~%" obj (-> obj type))
|
||||
(format #t "~Tposx: ~f~%" (-> obj posx))
|
||||
(format #t "~Tposy: ~f~%" (-> obj posy))
|
||||
(format #t "~Tvelx: ~f~%" (-> obj velx))
|
||||
(format #t "~Tvely: ~f~%" (-> obj vely))
|
||||
(format #t "~Tspring: ~f~%" (-> obj spring))
|
||||
(format #t "~Tdamping: ~f~%" (-> obj damping))
|
||||
(format #t "~Theight: ~f~%" (-> obj height))
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 9 of type wobbler
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod reset! wobbler ((obj wobbler) (arg0 float) (arg1 float) (arg2 float))
|
||||
(set! (-> obj posx) 0.0)
|
||||
(set! (-> obj posy) 0.0)
|
||||
(set! (-> obj velx) 0.0)
|
||||
(set! (-> obj vely) 0.0)
|
||||
(set! (-> obj spring) arg0)
|
||||
(set! (-> obj damping) arg1)
|
||||
(set! (-> obj height) arg2)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 10 of type wobbler
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod inc-xy-vel! wobbler ((obj wobbler) (arg0 float) (arg1 float))
|
||||
(+! (-> obj velx) arg0)
|
||||
(+! (-> obj vely) arg1)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 11 of type wobbler
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod move! wobbler ((obj wobbler))
|
||||
(+! (-> obj posx) (* (-> obj velx) (-> *display* seconds-per-frame)))
|
||||
(+! (-> obj posy) (* (-> obj vely) (-> *display* seconds-per-frame)))
|
||||
(set! (-> obj velx) (* (-> obj velx) (-> obj damping)))
|
||||
(set! (-> obj vely) (* (-> obj vely) (-> obj damping)))
|
||||
(+! (-> obj velx) (* (* -1.0 (-> obj posx)) (-> obj spring)))
|
||||
(+! (-> obj vely) (* (* -1.0 (-> obj posy)) (-> obj spring)))
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 12 of type wobbler
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod TODO-RENAME-12 wobbler ((obj wobbler) (arg0 quaternion))
|
||||
(let ((s5-0 (new 'stack-no-clear 'vector)))
|
||||
(set! (-> s5-0 x) (-> obj posy))
|
||||
(set! (-> s5-0 y) 0.0)
|
||||
(set! (-> s5-0 z) (- (-> obj posx)))
|
||||
(vector-normalize! s5-0 1.0)
|
||||
(let*
|
||||
((f0-8
|
||||
(/
|
||||
(sqrtf
|
||||
(+ (* (-> obj posx) (-> obj posx)) (* (-> obj posy) (-> obj posy)))
|
||||
)
|
||||
(-> obj height)
|
||||
)
|
||||
)
|
||||
(f0-9 (atan f0-8 1.0))
|
||||
)
|
||||
(quaternion-vector-angle! arg0 s5-0 f0-9)
|
||||
)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,100 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition of type ticky
|
||||
(deftype ticky (structure)
|
||||
((delay-til-ramp uint64 :offset-assert 0)
|
||||
(delay-til-timeout uint64 :offset-assert 8)
|
||||
(starting-time uint64 :offset-assert 16)
|
||||
(last-tick-time uint64 :offset-assert 24)
|
||||
)
|
||||
:method-count-assert 12
|
||||
:size-assert #x20
|
||||
:flag-assert #xc00000020
|
||||
(:methods
|
||||
(sleep (_type_ uint) none 9)
|
||||
(reached-delay? (_type_ uint) symbol 10)
|
||||
(completed? (_type_) symbol 11)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type ticky
|
||||
(defmethod inspect ticky ((obj ticky))
|
||||
(format #t "[~8x] ~A~%" obj 'ticky)
|
||||
(format #t "~Tdelay-til-ramp: ~D~%" (-> obj delay-til-ramp))
|
||||
(format #t "~Tdelay-til-timeout: ~D~%" (-> obj delay-til-timeout))
|
||||
(format #t "~Tstarting-time: ~D~%" (-> obj starting-time))
|
||||
(format #t "~Tlast-tick-time: ~D~%" (-> obj last-tick-time))
|
||||
obj
|
||||
)
|
||||
|
||||
;; definition for method 9 of type ticky
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defmethod sleep ticky ((obj ticky) (arg0 uint))
|
||||
(set! (-> obj starting-time) (-> *display* base-frame-counter))
|
||||
(set! (-> obj delay-til-timeout) arg0)
|
||||
(set! (-> obj delay-til-ramp) (max 0 (the-as int (+ arg0 -1200))))
|
||||
(set! (-> obj last-tick-time) (the-as uint 0))
|
||||
0
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 11 of type ticky
|
||||
(defmethod completed? ticky ((obj ticky))
|
||||
(let ((gp-0 #f))
|
||||
(let ((v1-2 (- (-> *display* base-frame-counter) (-> obj starting-time))))
|
||||
(cond
|
||||
((>= (the-as int v1-2) (the-as int (-> obj delay-til-timeout)))
|
||||
(set! gp-0 #t)
|
||||
)
|
||||
(else
|
||||
(let*
|
||||
((f0-1
|
||||
(fmin
|
||||
1.0
|
||||
(/
|
||||
(the float (max 0 (the-as int (- v1-2 (-> obj delay-til-ramp)))))
|
||||
(the float (- (-> obj delay-til-timeout) (-> obj delay-til-ramp)))
|
||||
)
|
||||
)
|
||||
)
|
||||
(v1-7 (the int (lerp 105.0 41.0 f0-1)))
|
||||
)
|
||||
(when
|
||||
(>=
|
||||
(the-as
|
||||
int
|
||||
(- (-> *display* base-frame-counter) (-> obj last-tick-time))
|
||||
)
|
||||
v1-7
|
||||
)
|
||||
(set! (-> obj last-tick-time) (-> *display* base-frame-counter))
|
||||
(sound-play-by-name
|
||||
(static-sound-name "stopwatch")
|
||||
(new-sound-id)
|
||||
1024
|
||||
0
|
||||
0
|
||||
(the-as uint 1)
|
||||
(the-as vector #t)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
gp-0
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 10 of type ticky
|
||||
(defmethod reached-delay? ticky ((obj ticky) (arg0 uint))
|
||||
(>=
|
||||
(the-as int (- (-> *display* base-frame-counter) (-> obj starting-time)))
|
||||
(the-as int arg0)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user