mirror of
https://github.com/open-goal/jak-project
synced 2026-07-11 07:25:37 -04:00
decomp3: geometry, vector, timer-h, ocean table files and game-task related enums (#3329)
This commit is contained in:
@@ -2113,7 +2113,7 @@ std::optional<std::string> find_best_field_in_structure(const TypeSystem& ts,
|
||||
}
|
||||
for (size_t i = start_field; i < (size_t)end_field; ++i) {
|
||||
const auto& field = st->fields().at(i);
|
||||
auto type = ts.lookup_type(field.type());
|
||||
auto type = ts.lookup_type_allow_partial_def(field.type());
|
||||
if (field.is_dynamic() || field.offset() > offset || field.user_placed() != want_fixed) {
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -347,6 +347,7 @@ FormElement* rewrite_as_send_event(LetElement* in,
|
||||
Matcher::any_reg(1));
|
||||
break;
|
||||
case GameVersion::Jak2:
|
||||
case GameVersion::Jak3:
|
||||
// in jak 2, the event message block holds a ppointer instead.
|
||||
set_from_matcher = Matcher::set(
|
||||
Matcher::deref(Matcher::reg(block_var_reg), false, {DerefTokenMatcher::string("from")}),
|
||||
|
||||
+2574
-402
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"gkernel": [
|
||||
"gkernel": [
|
||||
[17, "(function process symbol)"],
|
||||
[24, "(function process symbol)"],
|
||||
[26, "(function process symbol)"],
|
||||
|
||||
@@ -2,5 +2,37 @@
|
||||
"math": [
|
||||
["L108", "(pointer float)", 32],
|
||||
["L109", "(pointer float)", 32]
|
||||
],
|
||||
"ocean-trans-tables": [
|
||||
["L1", "(inline-array vector)", 4],
|
||||
["L2", "(pointer float)", 160],
|
||||
["L3", "(pointer float)", 100],
|
||||
["L4", "(pointer float)", 72],
|
||||
["L5", "(pointer float)", 72],
|
||||
["L6", "(pointer float)", 72],
|
||||
["L7", "(pointer float)", 72],
|
||||
["L8", "(pointer float)", 44],
|
||||
["L9", "(pointer float)", 44],
|
||||
["L10", "(pointer float)", 44],
|
||||
["L11", "(pointer float)", 44],
|
||||
["L12", "(pointer float)", 40],
|
||||
["L13", "(pointer float)", 40],
|
||||
["L14", "(pointer float)", 40],
|
||||
["L15", "(pointer float)", 40],
|
||||
["L16", "(pointer float)", 28],
|
||||
["L17", "(pointer float)", 28],
|
||||
["L18", "(pointer float)", 28],
|
||||
["L19", "(pointer float)", 28]
|
||||
],
|
||||
"ocean-frames": [["L1", "(pointer uint32)", 16384]],
|
||||
"task-control-h": [
|
||||
["L1042", "uint64", true],
|
||||
["L1047", "uint64", true],
|
||||
["L1048", "uint64", true],
|
||||
["L1045", "uint64", true],
|
||||
["L1049", "uint64", true],
|
||||
["L1043", "uint64", true],
|
||||
["L1046", "uint64", true],
|
||||
["L1044", "uint64", true]
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,4 +1,13 @@
|
||||
{
|
||||
"quaternion-smooth-seek!": [[16, "quaternion"]],
|
||||
"eul->matrix": [[16, "vector"]]
|
||||
"eul->matrix": [[16, "vector"]],
|
||||
"segment-segment-find-intersection-xz": [[16, "vector"]],
|
||||
"vector-line-xz-distance-point!": [[16, "matrix"]],
|
||||
"vector-segment-xz-distance-point!": [[16, "matrix"]],
|
||||
"nearest-dist2-between-moving-points": [[16, ["inline-array", "vector", 2]]],
|
||||
"vector-circle-tangent-new": [
|
||||
[32, "vector"],
|
||||
[48, "vector"]
|
||||
],
|
||||
"rotate-vector-to-vector": [[16, "quaternion"]]
|
||||
}
|
||||
|
||||
@@ -47,10 +47,6 @@
|
||||
[13, "a0", "pointer"],
|
||||
[25, "v1", "pointer"]
|
||||
],
|
||||
"(method 14 dead-pool)": [
|
||||
[[24, 25], "v1", "(pointer process)"],
|
||||
[[30, 39], "s4", "(pointer process)"]
|
||||
],
|
||||
"method-state": [[12, "a2", "state"]],
|
||||
"(method 0 protect-frame)": [
|
||||
[0, "a0", "int"],
|
||||
@@ -86,5 +82,44 @@
|
||||
[18, "f0", "float"],
|
||||
[18, "f1", "float"],
|
||||
[[23, 32], "f0", "float"]
|
||||
],
|
||||
"generate-rand-vector-on-sphere": [
|
||||
[12, "v1", "float"],
|
||||
[28, "v1", "float"]
|
||||
],
|
||||
"vector-segment-distance-point!": [[[21, 30], "f1", "float"]],
|
||||
"vector4-array-add!": [
|
||||
[11, "s5", "(inline-array vector4)"],
|
||||
[12, "s4", "(inline-array vector4)"],
|
||||
[13, "gp", "(inline-array vector4)"]
|
||||
],
|
||||
"vector4-array-sub!": [
|
||||
[11, "s5", "(inline-array vector4)"],
|
||||
[12, "s4", "(inline-array vector4)"],
|
||||
[13, "gp", "(inline-array vector4)"]
|
||||
],
|
||||
"vector4-array-mul!": [
|
||||
[11, "s5", "(inline-array vector4)"],
|
||||
[12, "s4", "(inline-array vector4)"],
|
||||
[13, "gp", "(inline-array vector4)"]
|
||||
],
|
||||
"vector4-array-scale!": [
|
||||
[11, "s5", "(inline-array vector4)"],
|
||||
[12, "gp", "(inline-array vector4)"]
|
||||
],
|
||||
"vector4-array-madd!": [
|
||||
[13, "s5", "(inline-array vector4)"],
|
||||
[14, "s4", "(inline-array vector4)"],
|
||||
[15, "gp", "(inline-array vector4)"]
|
||||
],
|
||||
"vector4-array-msub!": [
|
||||
[13, "s5", "(inline-array vector4)"],
|
||||
[14, "s4", "(inline-array vector4)"],
|
||||
[15, "gp", "(inline-array vector4)"]
|
||||
],
|
||||
"vector4-array-lerp!": [
|
||||
[13, "s5", "(inline-array vector4)"],
|
||||
[14, "s4", "(inline-array vector4)"],
|
||||
[15, "gp", "(inline-array vector4)"]
|
||||
]
|
||||
}
|
||||
|
||||
@@ -170,9 +170,6 @@
|
||||
"(method 0 process-tree)": {
|
||||
"args": ["allocation", "type-to-make", "name"]
|
||||
},
|
||||
"(method 0 process)": {
|
||||
"args": ["allocation", "type-to-make", "name"]
|
||||
},
|
||||
"(method 9 process-tree)": {
|
||||
"args": ["this", "active-tree", "name", "stack-pointer"]
|
||||
},
|
||||
@@ -333,7 +330,6 @@
|
||||
"change-to-last-brother": {
|
||||
"args": ["proc"]
|
||||
},
|
||||
|
||||
"matrix-transpose!": {
|
||||
"args": ["dst", "src"]
|
||||
},
|
||||
@@ -414,5 +410,11 @@
|
||||
},
|
||||
"string>=?": {
|
||||
"args": ["a", "b"]
|
||||
},
|
||||
"game-task->string": {
|
||||
"args": ["task"],
|
||||
"vars": {
|
||||
"v1-0": "val"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -967,6 +967,12 @@ const std::unordered_map<
|
||||
{"speeches", ArrayFieldDecompMeta(TypeSpec("bot-speech-info"), 16)},
|
||||
{"dirs", ArrayFieldDecompMeta(TypeSpec("vector"), 16)},
|
||||
{"speech-tunings", ArrayFieldDecompMeta(TypeSpec("bot-speech-tuning"), 16)}}},
|
||||
}},
|
||||
{GameVersion::Jak3,
|
||||
{
|
||||
{"ocean-near-indices",
|
||||
{{"data", ArrayFieldDecompMeta(TypeSpec("ocean-near-index"), 32)}}},
|
||||
{"ocean-mid-masks", {{"data", ArrayFieldDecompMeta(TypeSpec("ocean-mid-mask"), 8)}}},
|
||||
}}};
|
||||
|
||||
goos::Object decompile_structure(const TypeSpec& type,
|
||||
|
||||
@@ -5,5 +5,959 @@
|
||||
;; name in dgo: game-task-h
|
||||
;; dgos: GAME
|
||||
|
||||
;; +++game-task
|
||||
(defenum game-task
|
||||
:type uint8
|
||||
:bitfield #f
|
||||
(unknown -1)
|
||||
(none 0)
|
||||
(complete 1)
|
||||
(dummy0 2)
|
||||
(eco-blue-button 3)
|
||||
(eco-yellow-button 4)
|
||||
(eco-red-button 5)
|
||||
(city-start 6)
|
||||
(desert-interceptors 7)
|
||||
(desert-vehicle-training-1 8)
|
||||
(desert-vehicle-training-2 9)
|
||||
(arena-training-1 10)
|
||||
(arena-fight-1 11)
|
||||
(wascity-chase 12)
|
||||
(wascity-pre-game 13)
|
||||
(desert-turtle-training 14)
|
||||
(desert-course-race 15)
|
||||
(desert-artifact-race-1 16)
|
||||
(wascity-leaper-race 17)
|
||||
(desert-hover 18)
|
||||
(arena-fight-2 19)
|
||||
(desert-catch-lizards 20)
|
||||
(desert-rescue 21)
|
||||
(wascity-gungame 22)
|
||||
(arena-fight-3 23)
|
||||
(nest-eggs 24)
|
||||
(temple-climb 25)
|
||||
(desert-glide 26)
|
||||
(volcano-darkeco 27)
|
||||
(temple-oracle 28)
|
||||
(desert-oasis-defense 29)
|
||||
(temple-tests 30)
|
||||
(comb-travel 31)
|
||||
(mine-explore 32)
|
||||
(mine-blow 33)
|
||||
(mine-boss 34)
|
||||
(sewer-met-hum 35)
|
||||
(city-vehicle-training 36)
|
||||
(city-port-fight 37)
|
||||
(city-port-attack 38)
|
||||
(city-gun-course-1 39)
|
||||
(city-sniper-fight 40)
|
||||
(sewer-kg-met 41)
|
||||
(city-destroy-darkeco 42)
|
||||
(forest-kill-plants 43)
|
||||
(city-destroy-grid 44)
|
||||
(city-hijack-vehicle 45)
|
||||
(city-port-assault 46)
|
||||
(city-gun-course-2 47)
|
||||
(city-blow-barricade 48)
|
||||
(city-protect-hq 49)
|
||||
(sewer-hum-kg 50)
|
||||
(city-power-game 51)
|
||||
(desert-artifact-race-2 52)
|
||||
(nest-hunt 53)
|
||||
(desert-beast-battle 54)
|
||||
(desert-jump-mission 55)
|
||||
(desert-chase-marauders 56)
|
||||
(forest-ring-chase 57)
|
||||
(factory-sky-battle 58)
|
||||
(factory-assault 59)
|
||||
(factory-boss 60)
|
||||
(temple-defend 61)
|
||||
(wascity-defend 62)
|
||||
(forest-turn-on-machine 63)
|
||||
(precursor-tour 64)
|
||||
(city-blow-tower 65)
|
||||
(tower-destroy 66)
|
||||
(palace-ruins-patrol 67)
|
||||
(palace-ruins-attack 68)
|
||||
(comb-wild-ride 69)
|
||||
(precursor-destroy-ship 70)
|
||||
(desert-final-boss 71)
|
||||
(city-win 72)
|
||||
(desert-bbush-get-to-1 73)
|
||||
(desert-bbush-get-to-2 74)
|
||||
(desert-bbush-get-to-3 75)
|
||||
(desert-bbush-get-to-4 76)
|
||||
(desert-bbush-get-to-5 77)
|
||||
(desert-bbush-get-to-6 78)
|
||||
(desert-bbush-get-to-7 79)
|
||||
(desert-bbush-get-to-8 80)
|
||||
(desert-bbush-get-to-9 81)
|
||||
(desert-bbush-get-to-11 82)
|
||||
(desert-bbush-get-to-12 83)
|
||||
(desert-bbush-get-to-14 84)
|
||||
(desert-bbush-get-to-16 85)
|
||||
(desert-bbush-get-to-17 86)
|
||||
(wascity-bbush-get-to-18 87)
|
||||
(desert-bbush-get-to-19 88)
|
||||
(wascity-bbush-get-to-20 89)
|
||||
(wascity-bbush-get-to-21 90)
|
||||
(wascity-bbush-get-to-22 91)
|
||||
(wascity-bbush-get-to-23 92)
|
||||
(wascity-bbush-get-to-24 93)
|
||||
(wascity-bbush-get-to-25 94)
|
||||
(city-bbush-get-to-26 95)
|
||||
(city-bbush-get-to-27 96)
|
||||
(city-bbush-get-to-28 97)
|
||||
(city-bbush-get-to-29 98)
|
||||
(city-bbush-get-to-30 99)
|
||||
(city-bbush-get-to-31 100)
|
||||
(city-bbush-get-to-32 101)
|
||||
(city-bbush-get-to-33 102)
|
||||
(city-bbush-get-to-34 103)
|
||||
(city-bbush-get-to-35 104)
|
||||
(city-bbush-get-to-36 105)
|
||||
(city-bbush-get-to-37 106)
|
||||
(city-bbush-get-to-38 107)
|
||||
(city-bbush-get-to-39 108)
|
||||
(city-bbush-get-to-40 109)
|
||||
(city-bbush-get-to-41 110)
|
||||
(city-bbush-get-to-42 111)
|
||||
(city-bbush-get-to-43 112)
|
||||
(city-bbush-get-to-44 113)
|
||||
(desert-bbush-ring-1 114)
|
||||
(desert-bbush-ring-2 115)
|
||||
(wascity-bbush-ring-3 116)
|
||||
(wascity-bbush-ring-4 117)
|
||||
(city-bbush-ring-5 118)
|
||||
(city-bbush-ring-6 119)
|
||||
(desert-bbush-egg-spider-1 120)
|
||||
(desert-bbush-spirit-chase-1 121)
|
||||
(wascity-bbush-spirit-chase-2 122)
|
||||
(city-bbush-spirit-chase-3 123)
|
||||
(desert-bbush-timer-chase-1 124)
|
||||
(wascity-bbush-timer-chase-2 125)
|
||||
(desert-bbush-air-time 126)
|
||||
(desert-bbush-total-air-time 127)
|
||||
(desert-bbush-jump-distance 128)
|
||||
(desert-bbush-total-jump-distance 129)
|
||||
(desert-bbush-roll-count 130)
|
||||
(desert-bbush-time-trial-1 131)
|
||||
(desert-bbush-rally 132)
|
||||
(city-bbush-port-attack 133)
|
||||
(desert-rescue-bbush 134)
|
||||
(city-gun-course-play-for-fun 135)
|
||||
(city-jetboard-bbush 136)
|
||||
(desert-bbush-destroy-interceptors 137)
|
||||
(max 138)
|
||||
)
|
||||
;; ---game-task
|
||||
|
||||
;; +++game-task-node
|
||||
(defenum game-task-node
|
||||
:type uint16
|
||||
(none)
|
||||
(city-start-start)
|
||||
(city-start-introduction)
|
||||
(city-start-resolution)
|
||||
(desert-interceptors-attack)
|
||||
(desert-vehicle-training-1-introduction)
|
||||
(desert-vehicle-training-2-introduction)
|
||||
(arena-training-1-introduction)
|
||||
(arena-training-1-collect)
|
||||
(arena-training-1-resolution)
|
||||
(arena-fight-1-introduction)
|
||||
(arena-fight-1-fight)
|
||||
(arena-fight-1-throne)
|
||||
(arena-fight-1-resolution)
|
||||
(wascity-chase-introduction)
|
||||
(wascity-chase-resolution)
|
||||
(wascity-pre-game-introduction)
|
||||
(wascity-pre-game-wait)
|
||||
(wascity-pre-game-resolution)
|
||||
(wascity-pre-game-post-game)
|
||||
(wascity-pre-game-bronze)
|
||||
(wascity-pre-game-silver)
|
||||
(wascity-pre-game-gold)
|
||||
(desert-turtle-training-introduction)
|
||||
(desert-turtle-training-restrict-to-turtle)
|
||||
(desert-turtle-training-in-desert)
|
||||
(desert-turtle-training-resolution)
|
||||
(desert-course-race-introduction)
|
||||
(desert-course-race-restrict-to-turtle)
|
||||
(desert-course-race-post-intro)
|
||||
(desert-course-race-race)
|
||||
(desert-course-race-win)
|
||||
(desert-course-race-resolution)
|
||||
(desert-artifact-race-1-introduction)
|
||||
(desert-artifact-race-1-post-intro)
|
||||
(desert-artifact-race-1-race)
|
||||
(desert-artifact-race-1-resolution)
|
||||
(wascity-leaper-race-introduction)
|
||||
(wascity-leaper-race-resolution)
|
||||
(desert-hover-introduction)
|
||||
(desert-hover-resolution)
|
||||
(arena-fight-2-introduction)
|
||||
(arena-fight-2-gun-training)
|
||||
(arena-fight-2-fight)
|
||||
(arena-fight-2-resolution)
|
||||
(desert-catch-lizards-introduction)
|
||||
(desert-catch-lizards-restrict-to-snake)
|
||||
(desert-catch-lizards-get-to-corral)
|
||||
(desert-catch-lizards-resolution)
|
||||
(desert-rescue-introduction)
|
||||
(desert-rescue-get-vehicle)
|
||||
(desert-rescue-post-intro)
|
||||
(desert-rescue-rescue)
|
||||
(desert-rescue-dead-wlander-movie)
|
||||
(desert-rescue-satellite-fight)
|
||||
(desert-rescue-resolution)
|
||||
(desert-rescue-hold-doors)
|
||||
(wascity-gungame-introduction)
|
||||
(wascity-gungame-resolution)
|
||||
(wascity-gungame-play-for-fun)
|
||||
(wascity-gungame-bronze)
|
||||
(wascity-gungame-silver)
|
||||
(wascity-gungame-gold)
|
||||
(arena-fight-3-introduction)
|
||||
(arena-fight-3-training)
|
||||
(arena-fight-3-fight)
|
||||
(arena-fight-3-resolution)
|
||||
(nest-eggs-introduction)
|
||||
(nest-eggs-get-to-scorpion)
|
||||
(nest-eggs-wall)
|
||||
(nest-eggs-tunnel)
|
||||
(nest-eggs-resolution)
|
||||
(nest-eggs-gas)
|
||||
(temple-climb-introduction)
|
||||
(temple-climb-resolution)
|
||||
(desert-glide-introduction)
|
||||
(desert-glide-templetop)
|
||||
(desert-glide-resolution)
|
||||
(volcano-darkeco-introduction)
|
||||
(volcano-darkeco-catch-flut)
|
||||
(volcano-darkeco-indax-1-introduction)
|
||||
(volcano-darkeco-indax-1)
|
||||
(volcano-darkeco-indax-2-introduction)
|
||||
(volcano-darkeco-indax-2)
|
||||
(volcano-darkeco-resolution)
|
||||
(temple-oracle-introduction)
|
||||
(temple-oracle-stairs)
|
||||
(temple-oracle-watchers-complete)
|
||||
(temple-oracle-pre-pole-room)
|
||||
(temple-oracle-pole-room)
|
||||
(temple-oracle-pole-half)
|
||||
(temple-oracle-door-1)
|
||||
(temple-oracle-meeting)
|
||||
(temple-oracle-powerup)
|
||||
(temple-oracle-resolution)
|
||||
(desert-oasis-defense-introduction)
|
||||
(desert-oasis-defense-meeting)
|
||||
(desert-oasis-defense-battle)
|
||||
(desert-oasis-defense-resolution)
|
||||
(temple-tests-introduction)
|
||||
(temple-tests-hover-training)
|
||||
(temple-tests-oracle-door-crossed)
|
||||
(temple-tests-oracle)
|
||||
(temple-tests-training)
|
||||
(temple-tests-door-1)
|
||||
(temple-tests-door-2)
|
||||
(temple-tests-door-3)
|
||||
(temple-tests-resolution)
|
||||
(comb-travel-introduction)
|
||||
(comb-travel-resolution)
|
||||
(comb-travel-training)
|
||||
(mine-explore-introduction)
|
||||
(mine-explore-elevator)
|
||||
(mine-explore-armor)
|
||||
(mine-explore-resolution)
|
||||
(mine-blow-introduction)
|
||||
(mine-blow-elevator)
|
||||
(mine-blow-resolution)
|
||||
(mine-boss-introduction)
|
||||
(mine-boss-resolution)
|
||||
(sewer-met-hum-introduction)
|
||||
(sewer-met-hum-resolution)
|
||||
(city-vehicle-training-hover-zone-1)
|
||||
(city-vehicle-training-hover-zone-2)
|
||||
(city-port-fight-introduction)
|
||||
(city-port-fight-resolution)
|
||||
(city-port-attack-introduction)
|
||||
(city-port-attack-get-on)
|
||||
(city-port-attack-mission)
|
||||
(city-port-attack-resolution)
|
||||
(city-gun-course-1-introduction)
|
||||
(city-gun-course-1-post-intro)
|
||||
(city-gun-course-1-resolution)
|
||||
(city-gun-course-1-tess)
|
||||
(city-gun-course-1-bronze)
|
||||
(city-gun-course-1-silver)
|
||||
(city-gun-course-1-gold)
|
||||
(city-sniper-fight-introduction)
|
||||
(city-sniper-fight-resolution)
|
||||
(sewer-kg-met-introduction)
|
||||
(sewer-kg-met-button0-pressed)
|
||||
(sewer-kg-met-button1-pressed)
|
||||
(sewer-kg-met-resolution)
|
||||
(city-destroy-darkeco-introduction)
|
||||
(city-destroy-darkeco-orbs)
|
||||
(city-destroy-darkeco-dark-punch)
|
||||
(city-destroy-darkeco-resolution)
|
||||
(forest-kill-plants-introduction)
|
||||
(forest-kill-plants-pillars)
|
||||
(forest-kill-plants-armor)
|
||||
(forest-kill-plants-resolution)
|
||||
(city-destroy-grid-introduction)
|
||||
(city-destroy-grid-resolution)
|
||||
(city-hijack-vehicle-introduction)
|
||||
(city-hijack-vehicle-infiltrate)
|
||||
(city-hijack-vehicle-escape)
|
||||
(city-hijack-vehicle-resolution)
|
||||
(city-port-assault-introduction)
|
||||
(city-port-assault-force-load-borrows)
|
||||
(city-port-assault-resolution)
|
||||
(city-gun-course-2-introduction)
|
||||
(city-gun-course-2-post-intro)
|
||||
(city-gun-course-2-resolution)
|
||||
(city-gun-course-2-bronze)
|
||||
(city-gun-course-2-silver)
|
||||
(city-gun-course-2-gold)
|
||||
(city-blow-barricade-introduction)
|
||||
(city-blow-barricade-resolution)
|
||||
(city-protect-hq-introduction)
|
||||
(city-protect-hq-resolution)
|
||||
(sewer-hum-kg-introduction)
|
||||
(sewer-hum-kg-switch-off)
|
||||
(sewer-hum-kg-resolution)
|
||||
(city-power-game-introduction)
|
||||
(city-power-game-wait)
|
||||
(city-power-game-resolution)
|
||||
(city-power-game-post-game)
|
||||
(city-power-game-bronze)
|
||||
(city-power-game-silver)
|
||||
(city-power-game-gold)
|
||||
(desert-artifact-race-2-introduction)
|
||||
(desert-artifact-race-2-post-intro)
|
||||
(desert-artifact-race-2-race)
|
||||
(desert-artifact-race-2-resolution)
|
||||
(nest-hunt-introduction)
|
||||
(nest-hunt-sig)
|
||||
(nest-hunt-fight)
|
||||
(nest-hunt-get-crystal)
|
||||
(nest-hunt-resolution)
|
||||
(desert-beast-battle-introduction)
|
||||
(desert-beast-battle-kill-last-beast)
|
||||
(desert-beast-battle-resolution)
|
||||
(desert-jump-mission-introduction)
|
||||
(desert-jump-mission-post-intro)
|
||||
(desert-jump-mission-protect-doors)
|
||||
(desert-jump-mission-resolution)
|
||||
(desert-chase-marauders-introduction)
|
||||
(desert-chase-marauders-get-to-stronghold)
|
||||
(desert-chase-marauders-ambush)
|
||||
(desert-chase-marauders-chase)
|
||||
(desert-chase-marauders-resolution)
|
||||
(forest-ring-chase-introduction)
|
||||
(forest-ring-chase-statues)
|
||||
(forest-ring-chase-statue-1)
|
||||
(forest-ring-chase-statue-2)
|
||||
(forest-ring-chase-statue-3)
|
||||
(forest-ring-chase-statue-4)
|
||||
(forest-ring-chase-statue-5)
|
||||
(forest-ring-chase-resolution)
|
||||
(factory-sky-battle-introduction)
|
||||
(factory-sky-battle-hanger)
|
||||
(factory-sky-battle-wave1)
|
||||
(factory-sky-battle-wave2)
|
||||
(factory-sky-battle-tower1)
|
||||
(factory-sky-battle-tower2)
|
||||
(factory-sky-battle-tower3)
|
||||
(factory-sky-battle-tower4)
|
||||
(factory-sky-battle-resolution)
|
||||
(factory-assault-introduction)
|
||||
(factory-assault-indax-1-introduction)
|
||||
(factory-assault-indax-1)
|
||||
(factory-assault-indax-2-introduction)
|
||||
(factory-assault-indax-2)
|
||||
(factory-assault-indax-3-introduction)
|
||||
(factory-assault-indax-3)
|
||||
(factory-assault-indax-4-introduction)
|
||||
(factory-assault-indax-4)
|
||||
(factory-assault-get-vehicle)
|
||||
(factory-assault-broke-ultimate-fence)
|
||||
(factory-assault-resolution)
|
||||
(factory-boss-introduction)
|
||||
(factory-boss-resolution)
|
||||
(temple-defend-introduction)
|
||||
(temple-defend-talk-box)
|
||||
(temple-defend-door-1)
|
||||
(temple-defend-door-2)
|
||||
(temple-defend-door-3)
|
||||
(temple-defend-door-4)
|
||||
(temple-defend-oracle)
|
||||
(temple-defend-training)
|
||||
(temple-defend-resolution)
|
||||
(wascity-defend-introduction)
|
||||
(wascity-defend-get-to)
|
||||
(wascity-defend-resolution)
|
||||
(forest-turn-on-machine-introduction)
|
||||
(forest-turn-on-machine-spawners)
|
||||
(forest-turn-on-machine-resolution)
|
||||
(precursor-tour-introduction)
|
||||
(precursor-tour-generator-trigger)
|
||||
(precursor-tour-resolution)
|
||||
(city-blow-tower-introduction)
|
||||
(city-blow-tower-phase-1)
|
||||
(city-blow-tower-resolution)
|
||||
(tower-destroy-introduction)
|
||||
(tower-destroy-climb)
|
||||
(tower-destroy-resolution)
|
||||
(palace-ruins-patrol-introduction)
|
||||
(palace-ruins-patrol-stadium)
|
||||
(palace-ruins-patrol-resolution)
|
||||
(palace-ruins-attack-introduction)
|
||||
(palace-ruins-attack-resolution)
|
||||
(comb-wild-ride-introduction)
|
||||
(comb-wild-ride-resolution)
|
||||
(precursor-destroy-ship-introduction)
|
||||
(precursor-destroy-ship-escape)
|
||||
(precursor-destroy-ship-escape-continue)
|
||||
(precursor-destroy-ship-resolution)
|
||||
(desert-final-boss-introduction)
|
||||
(desert-final-boss-walker)
|
||||
(desert-final-boss-climb)
|
||||
(desert-final-boss-resolution)
|
||||
(city-win-introduction)
|
||||
(city-win-resolution)
|
||||
(desert-bbush-get-to-1-introduction)
|
||||
(desert-bbush-get-to-1-resolution)
|
||||
(desert-bbush-get-to-2-introduction)
|
||||
(desert-bbush-get-to-2-resolution)
|
||||
(desert-bbush-get-to-3-introduction)
|
||||
(desert-bbush-get-to-3-resolution)
|
||||
(desert-bbush-get-to-4-introduction)
|
||||
(desert-bbush-get-to-4-resolution)
|
||||
(desert-bbush-get-to-5-introduction)
|
||||
(desert-bbush-get-to-5-resolution)
|
||||
(desert-bbush-get-to-6-introduction)
|
||||
(desert-bbush-get-to-6-resolution)
|
||||
(desert-bbush-get-to-7-introduction)
|
||||
(desert-bbush-get-to-7-resolution)
|
||||
(desert-bbush-get-to-8-introduction)
|
||||
(desert-bbush-get-to-8-resolution)
|
||||
(desert-bbush-get-to-9-introduction)
|
||||
(desert-bbush-get-to-9-resolution)
|
||||
(desert-bbush-get-to-11-introduction)
|
||||
(desert-bbush-get-to-11-resolution)
|
||||
(desert-bbush-get-to-12-introduction)
|
||||
(desert-bbush-get-to-12-resolution)
|
||||
(desert-bbush-get-to-14-introduction)
|
||||
(desert-bbush-get-to-14-resolution)
|
||||
(desert-bbush-get-to-16-introduction)
|
||||
(desert-bbush-get-to-16-resolution)
|
||||
(desert-bbush-get-to-17-introduction)
|
||||
(desert-bbush-get-to-17-resolution)
|
||||
(wascity-bbush-get-to-18-introduction)
|
||||
(wascity-bbush-get-to-18-resolution)
|
||||
(wascity-bbush-get-to-19-introduction)
|
||||
(wascity-bbush-get-to-19-resolution)
|
||||
(wascity-bbush-get-to-20-introduction)
|
||||
(wascity-bbush-get-to-20-resolution)
|
||||
(wascity-bbush-get-to-21-introduction)
|
||||
(wascity-bbush-get-to-21-resolution)
|
||||
(wascity-bbush-get-to-22-introduction)
|
||||
(wascity-bbush-get-to-22-resolution)
|
||||
(wascity-bbush-get-to-23-introduction)
|
||||
(wascity-bbush-get-to-23-resolution)
|
||||
(wascity-bbush-get-to-24-introduction)
|
||||
(wascity-bbush-get-to-24-resolution)
|
||||
(wascity-bbush-get-to-25-introduction)
|
||||
(wascity-bbush-get-to-25-resolution)
|
||||
(city-bbush-get-to-26-introduction)
|
||||
(city-bbush-get-to-26-resolution)
|
||||
(city-bbush-get-to-27-introduction)
|
||||
(city-bbush-get-to-27-resolution)
|
||||
(city-bbush-get-to-28-introduction)
|
||||
(city-bbush-get-to-28-resolution)
|
||||
(city-bbush-get-to-29-introduction)
|
||||
(city-bbush-get-to-29-resolution)
|
||||
(city-bbush-get-to-30-introduction)
|
||||
(city-bbush-get-to-30-resolution)
|
||||
(city-bbush-get-to-31-introduction)
|
||||
(city-bbush-get-to-31-resolution)
|
||||
(city-bbush-get-to-32-introduction)
|
||||
(city-bbush-get-to-32-resolution)
|
||||
(city-bbush-get-to-33-introduction)
|
||||
(city-bbush-get-to-33-resolution)
|
||||
(city-bbush-get-to-34-introduction)
|
||||
(city-bbush-get-to-34-resolution)
|
||||
(city-bbush-get-to-35-introduction)
|
||||
(city-bbush-get-to-35-resolution)
|
||||
(city-bbush-get-to-36-introduction)
|
||||
(city-bbush-get-to-36-resolution)
|
||||
(city-bbush-get-to-37-introduction)
|
||||
(city-bbush-get-to-37-resolution)
|
||||
(city-bbush-get-to-38-introduction)
|
||||
(city-bbush-get-to-38-resolution)
|
||||
(city-bbush-get-to-39-introduction)
|
||||
(city-bbush-get-to-39-resolution)
|
||||
(city-bbush-get-to-40-introduction)
|
||||
(city-bbush-get-to-40-resolution)
|
||||
(city-bbush-get-to-41-introduction)
|
||||
(city-bbush-get-to-41-resolution)
|
||||
(city-bbush-get-to-42-introduction)
|
||||
(city-bbush-get-to-42-resolution)
|
||||
(city-bbush-get-to-43-introduction)
|
||||
(city-bbush-get-to-43-resolution)
|
||||
(city-bbush-get-to-44-introduction)
|
||||
(city-bbush-get-to-44-resolution)
|
||||
(desert-bbush-ring-1-introduction)
|
||||
(desert-bbush-ring-1-resolution)
|
||||
(desert-bbush-ring-2-introduction)
|
||||
(desert-bbush-ring-2-resolution)
|
||||
(wascity-bbush-ring-3-introduction)
|
||||
(wascity-bbush-ring-3-resolution)
|
||||
(wascity-bbush-ring-4-introduction)
|
||||
(wascity-bbush-ring-4-resolution)
|
||||
(city-bbush-ring-5-introduction)
|
||||
(city-bbush-ring-5-resolution)
|
||||
(city-bbush-ring-6-introduction)
|
||||
(city-bbush-ring-6-resolution)
|
||||
(desert-bbush-egg-spider-1-introduction)
|
||||
(desert-bbush-egg-spider-1-resolution)
|
||||
(desert-bbush-spirit-chase-1-introduction)
|
||||
(desert-bbush-spirit-chase-1-resolution)
|
||||
(wascity-bbush-spirit-chase-2-introduction)
|
||||
(wascity-bbush-spirit-chase-2-resolution)
|
||||
(city-bbush-spirit-chase-3-introduction)
|
||||
(city-bbush-spirit-chase-3-resolution)
|
||||
(desert-bbush-timer-chase-1-introduction)
|
||||
(desert-bbush-timer-chase-1-resolution)
|
||||
(wascity-bbush-timer-chase-2-introduction)
|
||||
(wascity-bbush-timer-chase-2-resolution)
|
||||
(desert-bbush-air-time-introduction)
|
||||
(desert-bbush-air-time-resolution)
|
||||
(desert-bbush-total-air-time-introduction)
|
||||
(desert-bbush-total-air-time-resolution)
|
||||
(desert-bbush-jump-distance-introduction)
|
||||
(desert-bbush-jump-distance-resolution)
|
||||
(desert-bbush-total-jump-distance-introduction)
|
||||
(desert-bbush-total-jump-distance-resolution)
|
||||
(desert-bbush-roll-count-introduction)
|
||||
(desert-bbush-roll-count-resolution)
|
||||
(desert-bbush-time-trial-1-introduction)
|
||||
(desert-bbush-time-trial-1-resolution)
|
||||
(desert-bbush-rally-introduction)
|
||||
(desert-bbush-rally-resolution)
|
||||
(city-bbush-port-attack-introduction)
|
||||
(city-bbush-port-attack-port-attack-load)
|
||||
(city-bbush-port-attack-resolution)
|
||||
(desert-rescue-bbush-introduction)
|
||||
(desert-rescue-bbush-resolution)
|
||||
(city-gun-course-play-for-fun-introduction)
|
||||
(city-gun-course-play-for-fun-resolution)
|
||||
(city-gun-course-play-for-fun-bronze-rnc-1)
|
||||
(city-gun-course-play-for-fun-silver-rnc-1)
|
||||
(city-gun-course-play-for-fun-gold-rnc-1)
|
||||
(city-gun-course-play-for-fun-bronze-rnc-2)
|
||||
(city-gun-course-play-for-fun-silver-rnc-2)
|
||||
(city-gun-course-play-for-fun-gold-rnc-2)
|
||||
(city-jetboard-bbush-introduction)
|
||||
(city-jetboard-bbush-resolution)
|
||||
(desert-bbush-destroy-interceptors-introduction)
|
||||
(desert-bbush-destroy-interceptors-resolution)
|
||||
)
|
||||
;; ---game-task-node
|
||||
|
||||
;; +++game-task-action
|
||||
(defenum game-task-action
|
||||
:bitfield #f
|
||||
:type uint8
|
||||
(hide 0)
|
||||
(idle 1)
|
||||
(say 2)
|
||||
(talk 3)
|
||||
(show 4)
|
||||
(trade 5)
|
||||
(play 6)
|
||||
(menu 7)
|
||||
)
|
||||
;; ---game-task-action
|
||||
|
||||
|
||||
;; +++game-task-actor
|
||||
(defenum game-task-actor
|
||||
:type uint8
|
||||
(none 0)
|
||||
(minimap 1)
|
||||
(oracle-oracle 2)
|
||||
(daxter 3)
|
||||
(damus-arena 4)
|
||||
(damus-waspal 5)
|
||||
(damus-desert 6)
|
||||
(damus-wasdoors 7)
|
||||
(damus-wascity 8)
|
||||
(damus-ruins 9)
|
||||
(kleever-arena 10)
|
||||
(kleever-wasdoors 11)
|
||||
(kleever-pen 12)
|
||||
(seem-wascity 13)
|
||||
(seem-temple 14)
|
||||
(ashelin-oasis 15)
|
||||
(ashelin-talkbox 16)
|
||||
(ashelin-freehq 17)
|
||||
(veger-cave 18)
|
||||
(veger-ruins 19)
|
||||
(torn-hiphog 20)
|
||||
(torn-hiptable 21)
|
||||
(torn-hipbar 22)
|
||||
(torn-hipbooth 23)
|
||||
(torn-freehq 24)
|
||||
(tess-gungame 25)
|
||||
(samos-talkbox 26)
|
||||
(sig-talkbox 27)
|
||||
(sig-wasdoors 28)
|
||||
(sig-nest 29)
|
||||
(pecker-onintent 30)
|
||||
(onin-onintent 31)
|
||||
(onin-talkbox 32)
|
||||
(keira-garage 33)
|
||||
(was-pre-game-wascityb 34)
|
||||
(kleever-wascityb 35)
|
||||
(seem-wascitya 36)
|
||||
(gun-gungame 37)
|
||||
(vin-vinroom 38)
|
||||
(power-game-vinroom 39)
|
||||
(jinx-hiphog 40)
|
||||
(samos-genb 41)
|
||||
(wascity-turret 42)
|
||||
(seem-leaper 44)
|
||||
(monk-wascity 43)
|
||||
(wascity-leaper 45)
|
||||
(was-pre-game-deserte 46)
|
||||
(onin-freehq 48)
|
||||
(samos-freehq 47)
|
||||
(keira-freehq 49)
|
||||
(keira-genb 50)
|
||||
(monk-mummy 51)
|
||||
(pecker 52)
|
||||
(samos-onintent 53)
|
||||
(unused-slot-8 54)
|
||||
(unused-slot-9 55)
|
||||
(unused-slot-10 56)
|
||||
(unused-slot-11 57)
|
||||
(unused-slot-12 58)
|
||||
(unused-slot-13 59)
|
||||
(unused-slot-14 60)
|
||||
(unused-slot-15 61)
|
||||
(unused-slot-16 62)
|
||||
(unused-slot-17 63)
|
||||
(unused-slot-18 64)
|
||||
(unused-slot-19 65)
|
||||
(unused-slot-20 66)
|
||||
(unused-slot-21 67)
|
||||
(unused-slot-22 68)
|
||||
(unused-slot-23 69)
|
||||
(unused-slot-24 70)
|
||||
(unused-slot-25 71)
|
||||
(unused-slot-26 72)
|
||||
(unused-slot-27 73)
|
||||
(unused-slot-28 74)
|
||||
(unused-slot-29 75)
|
||||
(unused-slot-30 76)
|
||||
(unused-slot-31 77)
|
||||
(burning-bush-slumb 78)
|
||||
(burning-bush-gena 79)
|
||||
(burning-bush-genc 80)
|
||||
(burning-bush-marka 81)
|
||||
(burning-bush-sluma 82)
|
||||
(burning-bush-slumb-2 83)
|
||||
(burning-bush-slumc 84)
|
||||
(burning-bush-farma 85)
|
||||
(burning-bush-farmb 86)
|
||||
(burning-bush-markb 87)
|
||||
(burning-bush-markb-2 88)
|
||||
(burning-bush-gena-2 89)
|
||||
(burning-bush-genb 90)
|
||||
(burning-bush-genc-2 91)
|
||||
(burning-bush-inda 92)
|
||||
(burning-bush-indb 93)
|
||||
(burning-bush-port 94)
|
||||
(burning-bush-port-2 95)
|
||||
(burning-bush-port-3 96)
|
||||
(burning-bush-pal 97)
|
||||
(burning-bush-stadium 98)
|
||||
(burning-bush-pal-2 99)
|
||||
(burning-bush-genb-2 100)
|
||||
(burning-bush-arena 101)
|
||||
(burning-bush-desd 102)
|
||||
(burning-bush-desc 103)
|
||||
(burning-bush-desa 104)
|
||||
(burning-bush-desg 105)
|
||||
(burning-bush-desh 106)
|
||||
(burning-bush-desc-2 107)
|
||||
(burning-bush-dese 108)
|
||||
(burning-bush-desb 109)
|
||||
(burning-bush-desa-2 110)
|
||||
(burning-bush-desc-3 111)
|
||||
(burning-bush-desg-2 112)
|
||||
(burning-bush-desd-2 113)
|
||||
(burning-bush-desg-3 114)
|
||||
(burning-bush-dese-2 115)
|
||||
(burning-bush-dese-3 116)
|
||||
(burning-bush-desd-3 117)
|
||||
(burning-bush-desb-2 118)
|
||||
(burning-bush-wasa-1 119)
|
||||
(burning-bush-wasa-2 120)
|
||||
(burning-bush-wasa-3 121)
|
||||
(burning-bush-wasa-4 122)
|
||||
(burning-bush-wasb-1 123)
|
||||
(burning-bush-wasb-2 124)
|
||||
(burning-bush-wasb-3 125)
|
||||
(burning-bush-wasb-4 126)
|
||||
(burning-bush-desg-4 127)
|
||||
(burning-bush-wasb-5 128)
|
||||
(burning-bush-wasb-6 129)
|
||||
(burning-bush-desa-3 130)
|
||||
(burning-bush-sluma-1 131)
|
||||
(burning-bush-genb-1 132)
|
||||
(burning-bush-slumb-1 133)
|
||||
(burning-bush-wasa-5 134)
|
||||
(burning-bush-desd-4 135)
|
||||
(burning-bush-slumb-3 136)
|
||||
(burning-bush-desc-4 137)
|
||||
(burning-bush-inda-1 138)
|
||||
(burning-bush-dese-4 139)
|
||||
(burning-bush-desc-5 140)
|
||||
(burning-bush-desb-3 141)
|
||||
(burning-bush-wasa-6 142)
|
||||
(burning-bush-wasb-7 143)
|
||||
(burning-bush-indb-1 144)
|
||||
(burning-bush-desf 145)
|
||||
(burning-bush-port-1 146)
|
||||
(burning-bush-genb-3 147)
|
||||
(burning-bush-genb-4 148)
|
||||
(burning-bush-genb-5 149)
|
||||
(burning-bush-slumb-4 150)
|
||||
(burning-bush-slumc-1 151)
|
||||
(burning-bush-dese-5 152)
|
||||
(burning-bush-port-4 153)
|
||||
(burning-bush-slumc-2 154)
|
||||
(burning-bush-sluma-2 155)
|
||||
(burning-bush-sluma-3 156)
|
||||
(burning-bush-indb-2 157)
|
||||
(burning-bush-indb-3 158)
|
||||
(burning-bush-inda-2 159)
|
||||
(burning-bush-inda-3 160)
|
||||
(burning-bush-inda-4 161)
|
||||
(burning-bush-port-5 162)
|
||||
(burning-bush-port-6 163)
|
||||
(burning-bush-port-7 164)
|
||||
(burning-bush-port-8 165)
|
||||
(burning-bush-desd-5 166)
|
||||
(burning-bush-inda-5 167)
|
||||
(burning-bush-desb-4 168)
|
||||
)
|
||||
;; ---game-task-actor
|
||||
|
||||
|
||||
;; +++game-task-node-command
|
||||
(defenum game-task-node-command
|
||||
:type uint8
|
||||
(none 0)
|
||||
(add-sidekick 1)
|
||||
(sub-sidekick 2)
|
||||
(add-board 3)
|
||||
(sub-board 4)
|
||||
(add-gun-red-1 5)
|
||||
(add-gun-red-2 6)
|
||||
(add-gun-red-3 7)
|
||||
(add-gun-red-ammo-1 8)
|
||||
(add-gun-red-ammo-2 9)
|
||||
(add-gun-yellow-1 10)
|
||||
(add-gun-yellow-2 11)
|
||||
(add-gun-yellow-3 12)
|
||||
(add-gun-yellow-ammo-1 13)
|
||||
(add-gun-yellow-ammo-2 14)
|
||||
(add-gun-blue-1 15)
|
||||
(add-gun-blue-2 16)
|
||||
(add-gun-blue-3 17)
|
||||
(add-gun-blue-ammo-1 18)
|
||||
(add-gun-blue-ammo-2 19)
|
||||
(add-gun-dark-1 20)
|
||||
(add-gun-dark-2 21)
|
||||
(add-gun-dark-3 22)
|
||||
(add-gun-dark-ammo-1 23)
|
||||
(add-gun-dark-ammo-2 24)
|
||||
(add-pass-front-gate 25)
|
||||
(add-pass-port-mh 26)
|
||||
(add-pass-port-inda 27)
|
||||
(add-pass-inda-indb 28)
|
||||
(add-pass-indb-sluma 29)
|
||||
(add-pass-slumb-genb 30)
|
||||
(add-darkeco 31)
|
||||
(add-darkjak 32)
|
||||
(add-darkjak-smack 33)
|
||||
(add-darkjak-bomb0 34)
|
||||
(add-darkjak-bomb1 35)
|
||||
(add-darkjak-tracking 36)
|
||||
(add-darkjak-invinc 37)
|
||||
(add-lighteco 38)
|
||||
(add-lightjak 39)
|
||||
(add-lightjak-regen 40)
|
||||
(add-lightjak-freeze 41)
|
||||
(add-lightjak-shield 42)
|
||||
(add-lightjak-swoop 43)
|
||||
(add-board-training 44)
|
||||
(add-board-launch 45)
|
||||
(add-board-trail 46)
|
||||
(add-board-zap 47)
|
||||
(sub-board-trail 48)
|
||||
(add-artifact-invis 49)
|
||||
(add-armor-0 50)
|
||||
(add-armor-1 51)
|
||||
(add-armor-2 52)
|
||||
(add-armor-3 53)
|
||||
(add-amulet-1 54)
|
||||
(add-amulet-2 55)
|
||||
(add-amulet-3 56)
|
||||
(add-light-eco-crystal 57)
|
||||
(add-dark-eco-crystal 58)
|
||||
(add-seal 59)
|
||||
(add-cypher-gliph 60)
|
||||
(add-star-map 61)
|
||||
(add-vehicle-toad 62)
|
||||
(add-vehicle-snake 63)
|
||||
(add-vehicle-scorpion 64)
|
||||
(add-vehicle-turtle 65)
|
||||
(add-vehicle-rhino 66)
|
||||
(add-av-cube 67)
|
||||
(add-av-reflector 68)
|
||||
(add-av-prism 69)
|
||||
(add-av-generator 70)
|
||||
(add-av-map 71)
|
||||
(add-jakc 72)
|
||||
)
|
||||
;; ---game-task-node-command
|
||||
|
||||
|
||||
;; +++game-task-node-flag
|
||||
(defenum game-task-node-flag
|
||||
:type uint32 ;; guess
|
||||
:bitfield #t
|
||||
(closed 0)
|
||||
(data 1)
|
||||
(auto-close 2)
|
||||
(disk-close 3)
|
||||
(kiosk-close 4)
|
||||
(close-task 5)
|
||||
(utility-node 6)
|
||||
(abs-task-mask 7)
|
||||
(set-task-mask 8)
|
||||
(clear-task-mask 9)
|
||||
(save-on-life 10)
|
||||
(save-on-try 11)
|
||||
(reset-on-try 12)
|
||||
(no-restart 13)
|
||||
(exclusive 14)
|
||||
(intro-wait 15)
|
||||
(city-wait 16)
|
||||
(no-hud-wait 17)
|
||||
(no-percent 18)
|
||||
(act1 19)
|
||||
(act2 20)
|
||||
(act3 21)
|
||||
(bbush 22)
|
||||
)
|
||||
;; ---game-task-node-flag
|
||||
|
||||
|
||||
;; +++game-task-flags
|
||||
(defenum game-task-flags
|
||||
:bitfield #t
|
||||
:type uint8
|
||||
(gatflag-00)
|
||||
(gatflag-01)
|
||||
(gatflag-02)
|
||||
)
|
||||
;; ---game-task-flags
|
||||
|
||||
|
||||
;; +++game-task-icon
|
||||
(defenum game-task-icon
|
||||
:type uint8
|
||||
(gaticon-00)
|
||||
(gaticon-01)
|
||||
(gaticon-02)
|
||||
(gaticon-03)
|
||||
(gaticon-04)
|
||||
(gaticon-05)
|
||||
(gaticon-06)
|
||||
(gaticon-07)
|
||||
(gaticon-08)
|
||||
(gaticon-09)
|
||||
(gaticon-10)
|
||||
(gaticon-11)
|
||||
(gaticon-12)
|
||||
(gaticon-13)
|
||||
(gaticon-14)
|
||||
(gaticon-15)
|
||||
(gaticon-16)
|
||||
(gaticon-17)
|
||||
(gaticon-18)
|
||||
(gaticon-19)
|
||||
(gaticon-20)
|
||||
(gaticon-21)
|
||||
(gaticon-22)
|
||||
(gaticon-23)
|
||||
(gaticon-24)
|
||||
(gaticon-25)
|
||||
(gaticon-26)
|
||||
(gaticon-27)
|
||||
(gaticon-28)
|
||||
(gaticon-29)
|
||||
(gaticon-30)
|
||||
(gaticon-31)
|
||||
(gaticon-32)
|
||||
(gaticon-33)
|
||||
(gaticon-34)
|
||||
(gaticon-35)
|
||||
(gaticon-36)
|
||||
(gaticon-37)
|
||||
(gaticon-38)
|
||||
(gaticon-39)
|
||||
(gaticon-40)
|
||||
(gaticon-41)
|
||||
(gaticon-42)
|
||||
(gaticon-43)
|
||||
(gaticon-44)
|
||||
(gaticon-45)
|
||||
(gaticon-46)
|
||||
(gaticon-47)
|
||||
(gaticon-48)
|
||||
(gaticon-49)
|
||||
(gaticon-50)
|
||||
(gaticon-51)
|
||||
(gaticon-52)
|
||||
(gaticon-53)
|
||||
(gaticon-54)
|
||||
(gaticon-55)
|
||||
(gaticon-56)
|
||||
(gaticon-57)
|
||||
(gaticon-58)
|
||||
(gaticon-59)
|
||||
(gaticon-60)
|
||||
(gaticon-61)
|
||||
(gaticon-62)
|
||||
(gaticon-63)
|
||||
(gaticon-64)
|
||||
(gaticon-65)
|
||||
(gaticon-66)
|
||||
(gaticon-67)
|
||||
(gaticon-68)
|
||||
(gaticon-69)
|
||||
)
|
||||
;; ---game-task-icon
|
||||
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -7,3 +7,125 @@
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(deftype ocean-spheres (structure)
|
||||
((spheres sphere 36 :inline :offset-assert 0) ;; guessed by decompiler
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x240
|
||||
:flag-assert #x900000240
|
||||
)
|
||||
|
||||
(deftype ocean-colors (structure)
|
||||
((colors rgba 2548 :offset-assert 0) ;; guessed by decompiler
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x27d0
|
||||
:flag-assert #x9000027d0
|
||||
)
|
||||
|
||||
(deftype ocean-colors-float (structure)
|
||||
((colors vector 2548 :inline :offset-assert 0) ;; guessed by decompiler
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x9f40
|
||||
:flag-assert #x900009f40
|
||||
)
|
||||
|
||||
(deftype ocean-mid-mask (structure)
|
||||
((mask uint8 8 :offset-assert 0) ;; guessed by decompiler
|
||||
(dword uint64 :offset 0)
|
||||
)
|
||||
:pack-me
|
||||
:method-count-assert 9
|
||||
:size-assert #x8
|
||||
:flag-assert #x900000008
|
||||
)
|
||||
|
||||
(deftype ocean-mid-indices (basic)
|
||||
((data uint16 36 :offset-assert 4) ;; guessed by decompiler
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x4c
|
||||
:flag-assert #x90000004c
|
||||
)
|
||||
|
||||
(deftype ocean-mid-masks (basic)
|
||||
((data (inline-array ocean-mid-mask) :offset-assert 4) ;; guessed by decompiler
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x8
|
||||
:flag-assert #x900000008
|
||||
)
|
||||
|
||||
(deftype ocean-trans-mask (structure)
|
||||
((mask uint8 4 :offset-assert 0) ;; guessed by decompiler
|
||||
(word int32 :offset 0)
|
||||
)
|
||||
:pack-me
|
||||
:method-count-assert 9
|
||||
:size-assert #x4
|
||||
:flag-assert #x900000004
|
||||
)
|
||||
|
||||
(deftype ocean-trans-index (structure)
|
||||
((parent int16 :offset-assert 0)
|
||||
(child int16 :offset-assert 2)
|
||||
)
|
||||
:pack-me
|
||||
:method-count-assert 9
|
||||
:size-assert #x4
|
||||
:flag-assert #x900000004
|
||||
)
|
||||
|
||||
(deftype ocean-trans-indices (basic)
|
||||
((data ocean-trans-index 2304 :inline :offset-assert 4)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x2404
|
||||
:flag-assert #x900002404
|
||||
)
|
||||
|
||||
(deftype ocean-near-index (structure)
|
||||
((data uint16 16 :offset-assert 0) ;; guessed by decompiler
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x20
|
||||
:flag-assert #x900000020
|
||||
)
|
||||
|
||||
(deftype ocean-near-indices (basic)
|
||||
((data (inline-array ocean-near-index) :offset-assert 4) ;; guessed by decompiler
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x8
|
||||
:flag-assert #x900000008
|
||||
)
|
||||
|
||||
(deftype ocean-near-colors (structure)
|
||||
((color0 vector :inline :offset-assert 0)
|
||||
(color1 vector :inline :offset-assert 16)
|
||||
(color2 vector :inline :offset-assert 32)
|
||||
(color3 vector :inline :offset-assert 48)
|
||||
)
|
||||
:method-count-assert 9
|
||||
:size-assert #x40
|
||||
:flag-assert #x900000040
|
||||
)
|
||||
|
||||
(deftype ocean-map (structure)
|
||||
((start-corner vector :inline :offset-assert 0)
|
||||
(far-color vector :inline :offset-assert 16)
|
||||
(ocean-colors ocean-colors :offset-assert 32)
|
||||
(ocean-mid-indices ocean-mid-indices :offset-assert 36) ;; guessed by decompiler
|
||||
(ocean-trans-indices ocean-trans-indices :offset-assert 40) ;; guessed by decompiler
|
||||
(ocean-near-indices ocean-near-indices :offset-assert 44) ;; guessed by decompiler
|
||||
(ocean-mid-masks ocean-mid-masks :offset-assert 48) ;; guessed by decompiler
|
||||
)
|
||||
:method-count-assert 11
|
||||
:size-assert #x34
|
||||
:flag-assert #xb00000034
|
||||
(:methods
|
||||
(set-height! (_type_ float) none) ;; 9
|
||||
(get-base-height (_type_) float) ;; 10
|
||||
)
|
||||
)
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -414,7 +414,11 @@
|
||||
)
|
||||
|
||||
(deftype rgba (uint32)
|
||||
()
|
||||
((r uint8 :offset 0 :size 8)
|
||||
(g uint8 :offset 8 :size 8)
|
||||
(b uint8 :offset 16 :size 8)
|
||||
(a uint8 :offset 24 :size 8)
|
||||
)
|
||||
)
|
||||
|
||||
(defmacro static-rgba (r g b a)
|
||||
|
||||
@@ -8,11 +8,16 @@
|
||||
(define-extern vector-identity! (function vector vector))
|
||||
(define-extern vector-cross! (function vector vector vector vector))
|
||||
(define-extern vector-float*! (function vector vector float vector))
|
||||
(define-extern vector+float*! (function vector vector vector float vector))
|
||||
(define-extern vector-negate! (function vector vector vector))
|
||||
(define-extern vector-normalize! (function vector float vector))
|
||||
(define-extern vector-normalize-copy! (function vector vector float vector))
|
||||
(define-extern vector-normalize-ret-len! (function vector float float))
|
||||
(define-extern vector-xz-normalize! (function vector float vector))
|
||||
(define-extern vector-get-unique! (function vector vector vector))
|
||||
(define-extern vector-get-closest-perpendicular! (function vector vector vector vector))
|
||||
(define-extern vector-vector-distance (function vector vector float))
|
||||
(define-extern vector-vector-distance-squared (function vector vector float))
|
||||
(define-extern vector-length (function vector float))
|
||||
(define-extern vector-length-squared (function vector float))
|
||||
(define-extern vector-xz-length (function vector float))
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -5,5 +5,112 @@
|
||||
;; name in dgo: timer-h
|
||||
;; dgos: GAME
|
||||
|
||||
#|@file
|
||||
There are two sources for timing:
|
||||
- EE TIMER1, used for the frame profiler. There are 9765 counts of this per frame. It gets reset in drawable.
|
||||
- The "stopwatch" system, used for reading the CPU clock cycle counter, at 300 MHz (32-bit)
|
||||
|#
|
||||
|
||||
;; The Emotion Engine has 4 hardware timers, timer1 is used as the
|
||||
(defconstant TIMER0_BANK (the timer-bank #x10000000)) ;; has HOLD register!
|
||||
(defconstant TIMER1_BANK (the timer-bank #x10000800)) ;; has HOLD register!
|
||||
(defconstant TIMER2_BANK (the timer-bank #x10001000)) ;; does NOT have HOLD register!
|
||||
(defconstant TIMER3_BANK (the timer-bank #x10001800)) ;; does NOT have HOLD register!
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; PC Port Timer
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(defmacro get-cpu-clock ()
|
||||
"Read the 300 MHz clock."
|
||||
;; __read-ee-timer is a 300 MHz timer from the C Kernel.
|
||||
;; it's a real timer.
|
||||
`(the uint (logand #xffffffff (__read-ee-timer)))
|
||||
)
|
||||
|
||||
(defmacro get-bus-clock/256 ()
|
||||
"Read the 150 MHz / 256 clock."
|
||||
;; 300 MHz / (2^9)
|
||||
`(the uint (logand #xffffffff (shr (__read-ee-timer) 9)))
|
||||
)
|
||||
|
||||
(#when PC_PORT
|
||||
;; the bus clock can be reset, which just stores the current count here.
|
||||
(define *timer-reset-value* (the uint 0))
|
||||
)
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Timer HW
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(defenum timer-clock-selection
|
||||
:type uint8
|
||||
(busclk 0)
|
||||
(busclk/16 1)
|
||||
(busclk/256 2)
|
||||
(hblank 3)
|
||||
)
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(deftype timer-mode (uint32)
|
||||
"This matches the Tn_MODE register structure of the ps2 EE timers.
|
||||
Only the lower 32 bits of these registers are usable, and the upper 16 hardwired to zero."
|
||||
((clks timer-clock-selection :offset 0 :size 2)
|
||||
(gate uint8 :offset 2 :size 1)
|
||||
(gats uint8 :offset 3 :size 1)
|
||||
(gatm uint8 :offset 4 :size 2)
|
||||
(zret uint8 :offset 6 :size 1)
|
||||
(cue uint8 :offset 7 :size 1)
|
||||
(cmpe uint8 :offset 8 :size 1)
|
||||
(ovfe uint8 :offset 9 :size 1)
|
||||
(equf uint8 :offset 10 :size 1)
|
||||
(ovff uint8 :offset 11 :size 1)
|
||||
)
|
||||
)
|
||||
|
||||
(deftype timer-bank (structure)
|
||||
"This matches an EE timer (without a HOLD register, timers 2 and 3).
|
||||
Each register is 128-bits wide, but only the lower 32-bits are usable, and the upper
|
||||
16-bits of that are hardwired to zero."
|
||||
((count uint32)
|
||||
(mode timer-mode :offset 16)
|
||||
(comp uint32 :offset 32)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
(deftype timer-hold-bank (timer-bank)
|
||||
"This matches an EE timer (with a HOLD register, timers 0 and 1)."
|
||||
((hold uint32 :offset 48)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
(deftype stopwatch (basic)
|
||||
"Stopwatches are used to measure CPU clock cycles.
|
||||
They don't use the timer above, but instead the Count COP0 register,
|
||||
which counts CPU clock cycles directly."
|
||||
((prev-time-elapsed time-frame)
|
||||
(start-time time-frame)
|
||||
(begin-level int32)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
;; Confusing! What IS this measuring exactly? Hmm...
|
||||
;; this is set by default for NTSC, it will later be changed if PAL.
|
||||
(define *ticks-per-frame* (/ 2500000 256)) ;; 2 500 000 / 256 = 9765
|
||||
|
||||
(defun timer-init ((arg0 timer-bank) (arg1 timer-mode))
|
||||
"Initiate a timer, start counting at a rate of 1 every 256 bus clocks (BUSCLK: ~147.456MHz)."
|
||||
(set! (-> arg0 mode) arg1)
|
||||
(set! (-> arg0 count) (the-as uint 0))
|
||||
0
|
||||
)
|
||||
|
||||
;; og:preserve-this
|
||||
;; needs PS2 TIMER porting
|
||||
(#unless PC_PORT
|
||||
(timer-init (the-as timer-bank TIMER1_BANK) (new 'static 'timer-mode :clks (timer-clock-selection busclk/16) :cue 1))
|
||||
)
|
||||
|
||||
@@ -5,5 +5,73 @@
|
||||
;; name in dgo: vif-h
|
||||
;; dgos: GAME
|
||||
|
||||
#|@file
|
||||
Types related to VIF: the PS2's Vector Interface.
|
||||
Each of VU0 and VU1 has a VIF which is used to sent/receive data.
|
||||
The VIFs are controlled by registers and fed data using DMA.
|
||||
The VIF registers defined here are used extremely rarely, usually they are sent DMA
|
||||
(during gameplay, everything is synchronized by DMA, so code generally does not know when
|
||||
it is safe to mess with VIF registers.)
|
||||
|#
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
(deftype vif-stat (uint32)
|
||||
((vps uint8 :offset 0 :size 2)
|
||||
(vew uint8 :offset 2 :size 1)
|
||||
(mrk uint8 :offset 6 :size 1)
|
||||
(vss uint8 :offset 8 :size 1)
|
||||
(vfs uint8 :offset 9 :size 1)
|
||||
(vis uint8 :offset 10 :size 1)
|
||||
(int uint8 :offset 11 :size 1)
|
||||
(er0 uint8 :offset 12 :size 1)
|
||||
(er1 uint8 :offset 13 :size 1)
|
||||
(fqc uint8 :offset 24 :size 4)
|
||||
)
|
||||
)
|
||||
|
||||
(deftype vif-fbrst (uint32)
|
||||
((rst uint8 :offset 0 :size 1)
|
||||
(fbk uint8 :offset 1 :size 1)
|
||||
(stp uint8 :offset 2 :size 1)
|
||||
(stc uint8 :offset 3 :size 1)
|
||||
)
|
||||
)
|
||||
|
||||
(deftype vif-err (uint32)
|
||||
((mii uint8 :offset 0 :size 1)
|
||||
(me0 uint8 :offset 1 :size 1)
|
||||
(me1 uint8 :offset 2 :size 1)
|
||||
)
|
||||
)
|
||||
|
||||
(deftype vif-bank (structure)
|
||||
((stat uint32)
|
||||
(fbrst uint32 :offset 16)
|
||||
(err vif-err :offset 32)
|
||||
(mark uint32 :offset 48)
|
||||
(cycle uint32 :offset 64)
|
||||
(mode uint32 :offset 80)
|
||||
(num uint32 :offset 96)
|
||||
(mask uint32 :offset 112)
|
||||
(code uint32 :offset 128)
|
||||
(itops uint32 :offset 144)
|
||||
(base uint32 :offset 160)
|
||||
(offset uint32 :offset 176)
|
||||
(tops uint32 :offset 192)
|
||||
(itop uint32 :offset 208)
|
||||
(top uint32 :offset 224)
|
||||
(r0 uint32 :offset 256)
|
||||
(r1 uint32 :offset 272)
|
||||
(r2 uint32 :offset 288)
|
||||
(r3 uint32 :offset 304)
|
||||
(c0 uint32 :offset 320)
|
||||
(c1 uint32 :offset 336)
|
||||
(c2 uint32 :offset 352)
|
||||
(c3 uint32 :offset 368)
|
||||
)
|
||||
)
|
||||
|
||||
;; PS2 VIF map. There are no VIFs in OpenGOAL.
|
||||
(defconstant VIF0_BANK (the vif-bank #x10003800))
|
||||
(defconstant VIF1_BANK (the vif-bank #x10003c00))
|
||||
|
||||
@@ -5,5 +5,914 @@
|
||||
;; name in dgo: text-h
|
||||
;; dgos: GAME
|
||||
|
||||
;; +++text-id
|
||||
(defenum text-id
|
||||
:type uint32
|
||||
(null #x0)
|
||||
(text-0001 #x0001)
|
||||
(text-0002 #x0002)
|
||||
(text-0003 #x0003)
|
||||
(text-0004 #x0004)
|
||||
(text-0005 #x0005)
|
||||
(text-0006 #x0006)
|
||||
(text-0007 #x0007)
|
||||
(text-0008 #x0008)
|
||||
(text-0009 #x0009)
|
||||
(text-000a #x000a)
|
||||
(text-000b #x000b)
|
||||
(text-000c #x000c)
|
||||
(text-000d #x000d)
|
||||
(text-000e #x000e)
|
||||
(text-000f #x000f)
|
||||
(text-0010 #x0010)
|
||||
(text-0011 #x0011)
|
||||
(text-0012 #x0012)
|
||||
(text-0013 #x0013)
|
||||
(text-0014 #x0014)
|
||||
(text-0015 #x0015)
|
||||
(text-0016 #x0016)
|
||||
(text-0017 #x0017)
|
||||
(text-0018 #x0018)
|
||||
(text-0019 #x0019)
|
||||
(text-001a #x001a)
|
||||
(text-001b #x001b)
|
||||
(text-001c #x001c)
|
||||
(text-001d #x001d)
|
||||
(text-001e #x001e)
|
||||
(text-001f #x001f)
|
||||
(text-0020 #x0020)
|
||||
(text-0021 #x0021)
|
||||
(text-0022 #x0022)
|
||||
(text-0023 #x0023)
|
||||
(text-0024 #x0024)
|
||||
(text-0025 #x0025)
|
||||
(text-0026 #x0026)
|
||||
(text-0027 #x0027)
|
||||
(text-0028 #x0028)
|
||||
(text-0029 #x0029)
|
||||
(text-002a #x002a)
|
||||
(text-002b #x002b)
|
||||
(text-002c #x002c)
|
||||
(text-002d #x002d)
|
||||
(text-002e #x002e)
|
||||
(text-002f #x002f)
|
||||
(text-0030 #x0030)
|
||||
(text-0031 #x0031)
|
||||
(text-0032 #x0032)
|
||||
(text-0033 #x0033)
|
||||
(text-0034 #x0034)
|
||||
(text-0035 #x0035)
|
||||
(text-0036 #x0036)
|
||||
(text-0037 #x0037)
|
||||
(text-0038 #x0038)
|
||||
(text-0039 #x0039)
|
||||
(text-003a #x003a)
|
||||
(text-003b #x003b)
|
||||
(text-003c #x003c)
|
||||
(text-003d #x003d)
|
||||
(text-003e #x003e)
|
||||
(text-003f #x003f)
|
||||
(text-0040 #x0040)
|
||||
(text-0041 #x0041)
|
||||
(text-0042 #x0042)
|
||||
(text-0043 #x0043)
|
||||
(text-0044 #x0044)
|
||||
(text-0049 #x0049)
|
||||
(text-004a #x004a)
|
||||
(text-004b #x004b)
|
||||
(text-004c #x004c)
|
||||
(text-004d #x004d)
|
||||
(text-0052 #x0052)
|
||||
(text-0053 #x0053)
|
||||
(text-0054 #x0054)
|
||||
(text-0055 #x0055)
|
||||
(text-0056 #x0056)
|
||||
(text-0057 #x0057)
|
||||
(text-0058 #x0058)
|
||||
(text-0059 #x0059)
|
||||
(text-005a #x005a)
|
||||
(text-005b #x005b)
|
||||
(text-005c #x005c)
|
||||
(text-005d #x005d)
|
||||
(text-005e #x005e)
|
||||
(text-005f #x005f)
|
||||
(text-0060 #x0060)
|
||||
(text-0061 #x0061)
|
||||
(text-0062 #x0062)
|
||||
(text-0063 #x0063)
|
||||
(text-0065 #x0065)
|
||||
(text-0066 #x0066)
|
||||
(text-0067 #x0067)
|
||||
(text-0068 #x0068)
|
||||
(text-0069 #x0069)
|
||||
(text-006a #x006a)
|
||||
(text-006b #x006b)
|
||||
(text-006c #x006c)
|
||||
(text-006d #x006d)
|
||||
(text-006e #x006e)
|
||||
(text-006f #x006f)
|
||||
(text-0072 #x0072)
|
||||
(text-0073 #x0073)
|
||||
(text-0074 #x0074)
|
||||
(text-0075 #x0075)
|
||||
(text-0076 #x0076)
|
||||
(text-0077 #x0077)
|
||||
(text-0078 #x0078)
|
||||
(text-0079 #x0079)
|
||||
(text-007a #x007a)
|
||||
(text-007b #x007b)
|
||||
(text-007c #x007c)
|
||||
(text-007d #x007d)
|
||||
(text-007e #x007e)
|
||||
(text-007f #x007f)
|
||||
(text-0080 #x0080)
|
||||
(text-0081 #x0081)
|
||||
(text-0082 #x0082)
|
||||
(text-0083 #x0083)
|
||||
(text-0084 #x0084)
|
||||
(text-0085 #x0085)
|
||||
(text-0086 #x0086)
|
||||
(text-0087 #x0087)
|
||||
(text-0088 #x0088)
|
||||
(text-0089 #x0089)
|
||||
(text-008a #x008a)
|
||||
(text-008b #x008b)
|
||||
(text-008c #x008c)
|
||||
(text-008d #x008d)
|
||||
(text-008e #x008e)
|
||||
(text-008f #x008f)
|
||||
(text-0090 #x0090)
|
||||
(text-0091 #x0091)
|
||||
(text-0092 #x0092)
|
||||
(text-0093 #x0093)
|
||||
(text-0094 #x0094)
|
||||
(text-0095 #x0095)
|
||||
(text-0096 #x0096)
|
||||
(text-0097 #x0097)
|
||||
(text-0098 #x0098)
|
||||
(text-0099 #x0099)
|
||||
(text-009a #x009a)
|
||||
(text-009b #x009b)
|
||||
(text-009c #x009c)
|
||||
(text-009d #x009d)
|
||||
(text-009e #x009e)
|
||||
(text-009f #x009f)
|
||||
(text-00a0 #x00a0)
|
||||
(text-00a1 #x00a1)
|
||||
(text-00a2 #x00a2)
|
||||
(text-00a3 #x00a3)
|
||||
(text-00a4 #x00a4)
|
||||
(text-00a5 #x00a5)
|
||||
(text-00a6 #x00a6)
|
||||
(text-00a7 #x00a7)
|
||||
(text-00a8 #x00a8)
|
||||
(text-00a9 #x00a9)
|
||||
(text-00aa #x00aa)
|
||||
(text-00ab #x00ab)
|
||||
(text-00ac #x00ac)
|
||||
(text-00ad #x00ad)
|
||||
(text-00ae #x00ae)
|
||||
(text-00af #x00af)
|
||||
(text-00b0 #x00b0)
|
||||
(text-00b1 #x00b1)
|
||||
(text-00b2 #x00b2)
|
||||
(text-00b3 #x00b3)
|
||||
(text-00b4 #x00b4)
|
||||
(text-00b5 #x00b5)
|
||||
(text-00b6 #x00b6)
|
||||
(text-012c #x012c)
|
||||
(text-012d #x012d)
|
||||
(text-012e #x012e)
|
||||
(text-012f #x012f)
|
||||
(text-0130 #x0130)
|
||||
(text-0131 #x0131)
|
||||
(text-0132 #x0132)
|
||||
(text-0134 #x0134)
|
||||
(text-0135 #x0135)
|
||||
(text-0136 #x0136)
|
||||
(text-0137 #x0137)
|
||||
(text-0138 #x0138)
|
||||
(text-0139 #x0139)
|
||||
(text-013a #x013a)
|
||||
(text-013b #x013b)
|
||||
(text-013c #x013c)
|
||||
(text-013d #x013d)
|
||||
(text-013e #x013e)
|
||||
(text-013f #x013f)
|
||||
(text-0140 #x0140)
|
||||
(text-0141 #x0141)
|
||||
(text-0142 #x0142)
|
||||
(text-0143 #x0143)
|
||||
(text-0144 #x0144)
|
||||
(text-0145 #x0145)
|
||||
(text-0147 #x0147)
|
||||
(text-0155 #x0155)
|
||||
(text-0156 #x0156)
|
||||
(text-0157 #x0157)
|
||||
(text-0158 #x0158)
|
||||
(text-01b8 #x01b8)
|
||||
(text-0207 #x0207)
|
||||
(text-0208 #x0208)
|
||||
(text-0209 #x0209)
|
||||
(text-020a #x020a)
|
||||
(text-020b #x020b)
|
||||
(text-020c #x020c)
|
||||
(text-020d #x020d)
|
||||
(text-020e #x020e)
|
||||
(text-03bf #x03bf)
|
||||
(text-03c0 #x03c0)
|
||||
(text-03c1 #x03c1)
|
||||
(text-03c2 #x03c2)
|
||||
(text-03c3 #x03c3)
|
||||
(text-03c4 #x03c4)
|
||||
(text-03c5 #x03c5)
|
||||
(text-03c6 #x03c6)
|
||||
(text-03c7 #x03c7)
|
||||
(text-03c8 #x03c8)
|
||||
(text-03c9 #x03c9)
|
||||
(text-03d1 #x03d1)
|
||||
(text-0408 #x0408)
|
||||
(text-0409 #x0409)
|
||||
(text-040a #x040a)
|
||||
(text-040b #x040b)
|
||||
(text-040c #x040c)
|
||||
(text-040d #x040d)
|
||||
(text-040e #x040e)
|
||||
(text-0443 #x0443)
|
||||
(text-0444 #x0444)
|
||||
(text-0445 #x0445)
|
||||
(text-0446 #x0446)
|
||||
(text-0447 #x0447)
|
||||
(text-0448 #x0448)
|
||||
(text-0449 #x0449)
|
||||
(text-044b #x044b)
|
||||
(text-044c #x044c)
|
||||
(text-044d #x044d)
|
||||
(text-044e #x044e)
|
||||
(text-044f #x044f)
|
||||
(text-0450 #x0450)
|
||||
(text-0451 #x0451)
|
||||
(text-0452 #x0452)
|
||||
(text-0453 #x0453)
|
||||
(text-0454 #x0454)
|
||||
(text-0456 #x0456)
|
||||
(text-0457 #x0457)
|
||||
(text-0458 #x0458)
|
||||
(text-0459 #x0459)
|
||||
(text-045a #x045a)
|
||||
(text-045b #x045b)
|
||||
(text-045c #x045c)
|
||||
(text-045d #x045d)
|
||||
(text-045e #x045e)
|
||||
(text-045f #x045f)
|
||||
(text-0460 #x0460)
|
||||
(text-0461 #x0461)
|
||||
(text-0462 #x0462)
|
||||
(text-0463 #x0463)
|
||||
(text-0464 #x0464)
|
||||
(text-0465 #x0465)
|
||||
(text-0466 #x0466)
|
||||
(text-0467 #x0467)
|
||||
(text-0468 #x0468)
|
||||
(text-0469 #x0469)
|
||||
(text-046a #x046a)
|
||||
(text-046b #x046b)
|
||||
(text-053d #x053d)
|
||||
(text-053e #x053e)
|
||||
(text-0546 #x0546)
|
||||
(text-0547 #x0547)
|
||||
(text-0548 #x0548)
|
||||
(text-0549 #x0549)
|
||||
(text-054a #x054a)
|
||||
(text-054b #x054b)
|
||||
(text-054c #x054c)
|
||||
(text-054d #x054d)
|
||||
(text-054e #x054e)
|
||||
(text-054f #x054f)
|
||||
(text-0550 #x0550)
|
||||
(text-0551 #x0551)
|
||||
(text-0552 #x0552)
|
||||
(text-0553 #x0553)
|
||||
(text-0554 #x0554)
|
||||
(text-0555 #x0555)
|
||||
(text-0556 #x0556)
|
||||
(text-0557 #x0557)
|
||||
(text-0558 #x0558)
|
||||
(text-0559 #x0559)
|
||||
(text-055a #x055a)
|
||||
(text-055b #x055b)
|
||||
(text-055c #x055c)
|
||||
(text-055d #x055d)
|
||||
(text-055e #x055e)
|
||||
(text-055f #x055f)
|
||||
(text-0562 #x0562)
|
||||
(text-0563 #x0563)
|
||||
(text-0564 #x0564)
|
||||
(text-0565 #x0565)
|
||||
(text-0566 #x0566)
|
||||
(text-0567 #x0567)
|
||||
(text-0568 #x0568)
|
||||
(text-0569 #x0569)
|
||||
(text-056a #x056a)
|
||||
(text-056b #x056b)
|
||||
(text-056c #x056c)
|
||||
(text-056d #x056d)
|
||||
(text-056e #x056e)
|
||||
(text-056f #x056f)
|
||||
(text-0570 #x0570)
|
||||
(text-0571 #x0571)
|
||||
(text-0572 #x0572)
|
||||
(text-0573 #x0573)
|
||||
(text-0574 #x0574)
|
||||
(text-0575 #x0575)
|
||||
(text-0576 #x0576)
|
||||
(text-0577 #x0577)
|
||||
(text-0578 #x0578)
|
||||
(text-0579 #x0579)
|
||||
(text-057a #x057a)
|
||||
(text-057b #x057b)
|
||||
(text-057c #x057c)
|
||||
(text-057d #x057d)
|
||||
(text-057e #x057e)
|
||||
(text-057f #x057f)
|
||||
(text-0580 #x0580)
|
||||
(text-0581 #x0581)
|
||||
(text-0582 #x0582)
|
||||
(text-0583 #x0583)
|
||||
(text-0584 #x0584)
|
||||
(text-0585 #x0585)
|
||||
(text-0586 #x0586)
|
||||
(text-0587 #x0587)
|
||||
(text-0588 #x0588)
|
||||
(text-0589 #x0589)
|
||||
(text-058a #x058a)
|
||||
(text-058b #x058b)
|
||||
(text-058c #x058c)
|
||||
(text-058d #x058d)
|
||||
(text-058e #x058e)
|
||||
(text-058f #x058f)
|
||||
(text-0590 #x0590)
|
||||
(text-0591 #x0591)
|
||||
(text-0592 #x0592)
|
||||
(text-0593 #x0593)
|
||||
(text-0594 #x0594)
|
||||
(text-0595 #x0595)
|
||||
(text-0596 #x0596)
|
||||
(text-0597 #x0597)
|
||||
(text-0598 #x0598)
|
||||
(text-0599 #x0599)
|
||||
(text-059a #x059a)
|
||||
(text-059b #x059b)
|
||||
(text-059c #x059c)
|
||||
(text-059d #x059d)
|
||||
(text-059e #x059e)
|
||||
(text-059f #x059f)
|
||||
(text-05a0 #x05a0)
|
||||
(text-05a1 #x05a1)
|
||||
(text-05a3 #x05a3)
|
||||
(text-05a4 #x05a4)
|
||||
(text-05a6 #x05a6)
|
||||
(text-05a7 #x05a7)
|
||||
(text-05a8 #x05a8)
|
||||
(text-05a9 #x05a9)
|
||||
(text-05aa #x05aa)
|
||||
(text-05ab #x05ab)
|
||||
(text-05ac #x05ac)
|
||||
(text-05ad #x05ad)
|
||||
(text-05ae #x05ae)
|
||||
(text-05af #x05af)
|
||||
(text-05b0 #x05b0)
|
||||
(text-05b1 #x05b1)
|
||||
(text-05b2 #x05b2)
|
||||
(text-05b3 #x05b3)
|
||||
(text-05b4 #x05b4)
|
||||
(text-05b5 #x05b5)
|
||||
(text-05b6 #x05b6)
|
||||
(text-05b7 #x05b7)
|
||||
(text-05b8 #x05b8)
|
||||
(text-05b9 #x05b9)
|
||||
(text-05ba #x05ba)
|
||||
(text-05bb #x05bb)
|
||||
(text-05bc #x05bc)
|
||||
(text-05bd #x05bd)
|
||||
(text-05be #x05be)
|
||||
(text-05bf #x05bf)
|
||||
(text-05c0 #x05c0)
|
||||
(text-05c1 #x05c1)
|
||||
(text-05c2 #x05c2)
|
||||
(text-05c3 #x05c3)
|
||||
(text-05c4 #x05c4)
|
||||
(text-05c5 #x05c5)
|
||||
(text-05c6 #x05c6)
|
||||
(text-05c7 #x05c7)
|
||||
(text-05c8 #x05c8)
|
||||
(text-05c9 #x05c9)
|
||||
(text-05ca #x05ca)
|
||||
(text-05cb #x05cb)
|
||||
(text-05cc #x05cc)
|
||||
(text-05cd #x05cd)
|
||||
(text-05ce #x05ce)
|
||||
(text-05cf #x05cf)
|
||||
(text-05d0 #x05d0)
|
||||
(text-05d1 #x05d1)
|
||||
(text-05d2 #x05d2)
|
||||
(text-05d3 #x05d3)
|
||||
(text-05d4 #x05d4)
|
||||
(text-05d5 #x05d5)
|
||||
(text-05d6 #x05d6)
|
||||
(text-05d7 #x05d7)
|
||||
(text-05d8 #x05d8)
|
||||
(text-05d9 #x05d9)
|
||||
(text-05da #x05da)
|
||||
(text-05db #x05db)
|
||||
(text-05dc #x05dc)
|
||||
(text-05dd #x05dd)
|
||||
(text-05de #x05de)
|
||||
(text-05df #x05df)
|
||||
(text-05e0 #x05e0)
|
||||
(text-05e1 #x05e1)
|
||||
(text-05e2 #x05e2)
|
||||
(text-05e3 #x05e3)
|
||||
(text-05e4 #x05e4)
|
||||
(text-05e5 #x05e5)
|
||||
(text-05e6 #x05e6)
|
||||
(text-05e7 #x05e7)
|
||||
(text-05e8 #x05e8)
|
||||
(text-05e9 #x05e9)
|
||||
(text-05ea #x05ea)
|
||||
(text-05eb #x05eb)
|
||||
(text-05ec #x05ec)
|
||||
(text-05ed #x05ed)
|
||||
(text-05ee #x05ee)
|
||||
(text-05f0 #x05f0)
|
||||
(text-05f1 #x05f1)
|
||||
(text-05f2 #x05f2)
|
||||
(text-05f3 #x05f3)
|
||||
(text-05f5 #x05f5)
|
||||
(text-05f6 #x05f6)
|
||||
(text-05f7 #x05f7)
|
||||
(text-05f8 #x05f8)
|
||||
(text-05f9 #x05f9)
|
||||
(text-05fa #x05fa)
|
||||
(text-05fb #x05fb)
|
||||
(text-05fc #x05fc)
|
||||
(text-05fd #x05fd)
|
||||
(text-05fe #x05fe)
|
||||
(text-05ff #x05ff)
|
||||
(text-0600 #x0600)
|
||||
(text-0601 #x0601)
|
||||
(text-0602 #x0602)
|
||||
(text-0603 #x0603)
|
||||
(text-0604 #x0604)
|
||||
(text-0605 #x0605)
|
||||
(text-0606 #x0606)
|
||||
(text-0607 #x0607)
|
||||
(text-0608 #x0608)
|
||||
(text-0609 #x0609)
|
||||
(text-060a #x060a)
|
||||
(text-060b #x060b)
|
||||
(text-060c #x060c)
|
||||
(text-060d #x060d)
|
||||
(text-060e #x060e)
|
||||
(text-060f #x060f)
|
||||
(text-0610 #x0610)
|
||||
(text-0611 #x0611)
|
||||
(text-0612 #x0612)
|
||||
(text-0613 #x0613)
|
||||
(text-0614 #x0614)
|
||||
(text-0615 #x0615)
|
||||
(text-0616 #x0616)
|
||||
(text-0617 #x0617)
|
||||
(text-0618 #x0618)
|
||||
(text-0619 #x0619)
|
||||
(text-061a #x061a)
|
||||
(text-061b #x061b)
|
||||
(text-061c #x061c)
|
||||
(text-061d #x061d)
|
||||
(text-061e #x061e)
|
||||
(text-061f #x061f)
|
||||
(text-0620 #x0620)
|
||||
(text-0621 #x0621)
|
||||
(text-0622 #x0622)
|
||||
(text-0623 #x0623)
|
||||
(text-0624 #x0624)
|
||||
(text-0625 #x0625)
|
||||
(text-0626 #x0626)
|
||||
(text-0627 #x0627)
|
||||
(text-0628 #x0628)
|
||||
(text-0629 #x0629)
|
||||
(text-062a #x062a)
|
||||
(text-062b #x062b)
|
||||
(text-062c #x062c)
|
||||
(text-062d #x062d)
|
||||
(text-062e #x062e)
|
||||
(text-0630 #x0630)
|
||||
(text-0631 #x0631)
|
||||
(text-0632 #x0632)
|
||||
(text-0633 #x0633)
|
||||
(text-0634 #x0634)
|
||||
(text-0635 #x0635)
|
||||
(text-0636 #x0636)
|
||||
(text-0637 #x0637)
|
||||
(text-0638 #x0638)
|
||||
(text-0639 #x0639)
|
||||
(text-063a #x063a)
|
||||
(text-063b #x063b)
|
||||
(text-063d #x063d)
|
||||
(text-063e #x063e)
|
||||
(text-063f #x063f)
|
||||
(text-0640 #x0640)
|
||||
(text-0641 #x0641)
|
||||
(text-0642 #x0642)
|
||||
(text-0643 #x0643)
|
||||
(text-0644 #x0644)
|
||||
(text-0645 #x0645)
|
||||
(text-0646 #x0646)
|
||||
(text-0647 #x0647)
|
||||
(text-0648 #x0648)
|
||||
(text-0649 #x0649)
|
||||
(text-064a #x064a)
|
||||
(text-064b #x064b)
|
||||
(text-064c #x064c)
|
||||
(text-064d #x064d)
|
||||
(text-064e #x064e)
|
||||
(text-064f #x064f)
|
||||
(text-0650 #x0650)
|
||||
(text-0651 #x0651)
|
||||
(text-0652 #x0652)
|
||||
(text-0653 #x0653)
|
||||
(text-0654 #x0654)
|
||||
(text-0655 #x0655)
|
||||
(text-0656 #x0656)
|
||||
(text-0657 #x0657)
|
||||
(text-0658 #x0658)
|
||||
(text-0659 #x0659)
|
||||
(text-065a #x065a)
|
||||
(text-065b #x065b)
|
||||
(text-065c #x065c)
|
||||
(text-065d #x065d)
|
||||
(text-065e #x065e)
|
||||
(text-065f #x065f)
|
||||
(text-0660 #x0660)
|
||||
(text-0661 #x0661)
|
||||
(text-0662 #x0662)
|
||||
(text-0663 #x0663)
|
||||
(text-0664 #x0664)
|
||||
(text-0665 #x0665)
|
||||
(text-0666 #x0666)
|
||||
(text-0667 #x0667)
|
||||
(text-0668 #x0668)
|
||||
(text-0669 #x0669)
|
||||
(text-066a #x066a)
|
||||
(text-066b #x066b)
|
||||
(text-066c #x066c)
|
||||
(text-066d #x066d)
|
||||
(text-066e #x066e)
|
||||
(text-066f #x066f)
|
||||
(text-0670 #x0670)
|
||||
(text-0671 #x0671)
|
||||
(text-0672 #x0672)
|
||||
(text-0673 #x0673)
|
||||
(text-0674 #x0674)
|
||||
(text-0675 #x0675)
|
||||
(text-0676 #x0676)
|
||||
(text-0677 #x0677)
|
||||
(text-0678 #x0678)
|
||||
(text-0679 #x0679)
|
||||
(text-067a #x067a)
|
||||
(text-067b #x067b)
|
||||
(text-067c #x067c)
|
||||
(text-067d #x067d)
|
||||
(text-067e #x067e)
|
||||
(text-067f #x067f)
|
||||
(text-0680 #x0680)
|
||||
(text-0681 #x0681)
|
||||
(text-0682 #x0682)
|
||||
(text-0683 #x0683)
|
||||
(text-0684 #x0684)
|
||||
(text-0685 #x0685)
|
||||
(text-0686 #x0686)
|
||||
(text-0687 #x0687)
|
||||
(text-0688 #x0688)
|
||||
(text-0689 #x0689)
|
||||
(text-068a #x068a)
|
||||
(text-068b #x068b)
|
||||
(text-068c #x068c)
|
||||
(text-068d #x068d)
|
||||
(text-068e #x068e)
|
||||
(text-068f #x068f)
|
||||
(text-0690 #x0690)
|
||||
(text-0691 #x0691)
|
||||
(text-0692 #x0692)
|
||||
(text-0693 #x0693)
|
||||
(text-0694 #x0694)
|
||||
(text-0695 #x0695)
|
||||
(text-0696 #x0696)
|
||||
(text-0697 #x0697)
|
||||
(text-0698 #x0698)
|
||||
(text-0699 #x0699)
|
||||
(text-069a #x069a)
|
||||
(text-069b #x069b)
|
||||
(text-069c #x069c)
|
||||
(text-069d #x069d)
|
||||
(text-069e #x069e)
|
||||
(text-069f #x069f)
|
||||
(text-06a0 #x06a0)
|
||||
(text-06a1 #x06a1)
|
||||
(text-06a2 #x06a2)
|
||||
(text-06a3 #x06a3)
|
||||
(text-06a4 #x06a4)
|
||||
(text-06a5 #x06a5)
|
||||
(text-06a6 #x06a6)
|
||||
(text-06a7 #x06a7)
|
||||
(text-06a8 #x06a8)
|
||||
(text-06a9 #x06a9)
|
||||
(text-06aa #x06aa)
|
||||
(text-06ab #x06ab)
|
||||
(text-06ac #x06ac)
|
||||
(text-06ad #x06ad)
|
||||
(text-06ae #x06ae)
|
||||
(text-06af #x06af)
|
||||
(text-06b0 #x06b0)
|
||||
(text-06b1 #x06b1)
|
||||
(text-06b2 #x06b2)
|
||||
(text-06b3 #x06b3)
|
||||
(text-06b4 #x06b4)
|
||||
(text-06b5 #x06b5)
|
||||
(text-06b6 #x06b6)
|
||||
(text-06b7 #x06b7)
|
||||
(text-06b8 #x06b8)
|
||||
(text-06b9 #x06b9)
|
||||
(text-06ba #x06ba)
|
||||
(text-06bb #x06bb)
|
||||
(text-06bc #x06bc)
|
||||
(text-06bd #x06bd)
|
||||
(text-06be #x06be)
|
||||
(text-06bf #x06bf)
|
||||
(text-06c0 #x06c0)
|
||||
(text-06c1 #x06c1)
|
||||
(text-06c2 #x06c2)
|
||||
(text-06c3 #x06c3)
|
||||
(text-06c4 #x06c4)
|
||||
(text-06c5 #x06c5)
|
||||
(text-06c6 #x06c6)
|
||||
(text-06c7 #x06c7)
|
||||
(text-06c8 #x06c8)
|
||||
(text-06c9 #x06c9)
|
||||
(text-06ca #x06ca)
|
||||
(text-06de #x06de)
|
||||
(text-06df #x06df)
|
||||
(text-06e0 #x06e0)
|
||||
(text-06e1 #x06e1)
|
||||
(text-06e2 #x06e2)
|
||||
(text-06e3 #x06e3)
|
||||
(text-06e4 #x06e4)
|
||||
(text-06e5 #x06e5)
|
||||
(text-06e6 #x06e6)
|
||||
(text-06e7 #x06e7)
|
||||
(text-06e8 #x06e8)
|
||||
(text-06e9 #x06e9)
|
||||
(text-06ea #x06ea)
|
||||
(text-06eb #x06eb)
|
||||
(text-06ec #x06ec)
|
||||
(text-06ed #x06ed)
|
||||
(text-06ee #x06ee)
|
||||
(text-06ef #x06ef)
|
||||
(text-06f0 #x06f0)
|
||||
(text-06f1 #x06f1)
|
||||
(text-06f2 #x06f2)
|
||||
(text-06f3 #x06f3)
|
||||
(text-06f4 #x06f4)
|
||||
(text-06f5 #x06f5)
|
||||
(text-06f6 #x06f6)
|
||||
(text-06f7 #x06f7)
|
||||
(text-06f8 #x06f8)
|
||||
(text-06f9 #x06f9)
|
||||
(text-06fa #x06fa)
|
||||
(text-06fb #x06fb)
|
||||
(text-06fc #x06fc)
|
||||
(text-06fd #x06fd)
|
||||
(text-06fe #x06fe)
|
||||
(text-06ff #x06ff)
|
||||
(text-0700 #x0700)
|
||||
(text-0701 #x0701)
|
||||
(text-0702 #x0702)
|
||||
(text-0703 #x0703)
|
||||
(text-0704 #x0704)
|
||||
(text-0705 #x0705)
|
||||
(text-0706 #x0706)
|
||||
(text-0707 #x0707)
|
||||
(text-0708 #x0708)
|
||||
(text-0709 #x0709)
|
||||
(text-070a #x070a)
|
||||
(text-070b #x070b)
|
||||
(text-070c #x070c)
|
||||
(text-070d #x070d)
|
||||
(text-070e #x070e)
|
||||
(text-070f #x070f)
|
||||
(text-0775 #x0775)
|
||||
(text-0776 #x0776)
|
||||
(text-0778 #x0778)
|
||||
(text-0779 #x0779)
|
||||
(text-077a #x077a)
|
||||
(text-077b #x077b)
|
||||
(text-077c #x077c)
|
||||
(text-078d #x078d)
|
||||
(text-07b3 #x07b3)
|
||||
(text-07b4 #x07b4)
|
||||
(text-07b5 #x07b5)
|
||||
(text-07b8 #x07b8)
|
||||
(text-07b9 #x07b9)
|
||||
(text-07ba #x07ba)
|
||||
(text-07bb #x07bb)
|
||||
(text-07bc #x07bc)
|
||||
(text-07bd #x07bd)
|
||||
(text-07be #x07be)
|
||||
(text-07bf #x07bf)
|
||||
(text-07c0 #x07c0)
|
||||
(text-07c1 #x07c1)
|
||||
(text-07c2 #x07c2)
|
||||
(text-07c3 #x07c3)
|
||||
(text-07c4 #x07c4)
|
||||
(text-07c7 #x07c7)
|
||||
(text-07c8 #x07c8)
|
||||
(text-07cb #x07cb)
|
||||
(text-07cc #x07cc)
|
||||
(text-07cd #x07cd)
|
||||
(text-07ce #x07ce)
|
||||
(text-07cf #x07cf)
|
||||
(text-07d0 #x07d0)
|
||||
(text-07d1 #x07d1)
|
||||
(text-07d2 #x07d2)
|
||||
(text-07d3 #x07d3)
|
||||
(text-07d4 #x07d4)
|
||||
(text-07d5 #x07d5)
|
||||
(text-07d6 #x07d6)
|
||||
(text-07d7 #x07d7)
|
||||
(text-07d8 #x07d8)
|
||||
(text-07d9 #x07d9)
|
||||
(text-07da #x07da)
|
||||
(text-07db #x07db)
|
||||
(text-07dc #x07dc)
|
||||
(text-07dd #x07dd)
|
||||
(text-07de #x07de)
|
||||
(text-07df #x07df)
|
||||
(text-07e0 #x07e0)
|
||||
(text-07e1 #x07e1)
|
||||
(text-07e2 #x07e2)
|
||||
(text-07e3 #x07e3)
|
||||
(text-07e4 #x07e4)
|
||||
(text-07e5 #x07e5)
|
||||
(text-07e6 #x07e6)
|
||||
(text-07e7 #x07e7)
|
||||
(text-07e8 #x07e8)
|
||||
(text-07e9 #x07e9)
|
||||
(text-07ea #x07ea)
|
||||
(text-07f6 #x07f6)
|
||||
(text-07f7 #x07f7)
|
||||
(text-07f8 #x07f8)
|
||||
(text-07f9 #x07f9)
|
||||
(text-07fa #x07fa)
|
||||
(text-07fb #x07fb)
|
||||
(text-07fc #x07fc)
|
||||
(text-07fd #x07fd)
|
||||
(text-07fe #x07fe)
|
||||
(text-07ff #x07ff)
|
||||
(text-0800 #x0800)
|
||||
(text-0801 #x0801)
|
||||
(text-0802 #x0802)
|
||||
(text-0803 #x0803)
|
||||
(text-0804 #x0804)
|
||||
(text-0805 #x0805)
|
||||
(text-0806 #x0806)
|
||||
(text-0807 #x0807)
|
||||
(text-0808 #x0808)
|
||||
(text-0809 #x0809)
|
||||
(text-080a #x080a)
|
||||
(text-080b #x080b)
|
||||
(text-080c #x080c)
|
||||
(text-080d #x080d)
|
||||
(text-0816 #x0816)
|
||||
(text-0817 #x0817)
|
||||
(text-0818 #x0818)
|
||||
(text-0819 #x0819)
|
||||
(text-081a #x081a)
|
||||
(text-081b #x081b)
|
||||
(text-081c #x081c)
|
||||
(text-081d #x081d)
|
||||
(text-081e #x081e)
|
||||
(text-081f #x081f)
|
||||
(text-0820 #x0820)
|
||||
(text-0821 #x0821)
|
||||
(text-0822 #x0822)
|
||||
(text-0823 #x0823)
|
||||
(text-0824 #x0824)
|
||||
(text-0825 #x0825)
|
||||
(text-0826 #x0826)
|
||||
(text-0827 #x0827)
|
||||
(text-0828 #x0828)
|
||||
(text-0829 #x0829)
|
||||
(text-082a #x082a)
|
||||
(text-082b #x082b)
|
||||
(text-082c #x082c)
|
||||
(text-082d #x082d)
|
||||
(text-082e #x082e)
|
||||
(text-082f #x082f)
|
||||
(text-0830 #x0830)
|
||||
(text-0831 #x0831)
|
||||
(text-0832 #x0832)
|
||||
(text-0833 #x0833)
|
||||
(text-0834 #x0834)
|
||||
(text-0835 #x0835)
|
||||
(text-0836 #x0836)
|
||||
(text-0837 #x0837)
|
||||
(text-0838 #x0838)
|
||||
(text-0839 #x0839)
|
||||
(text-083a #x083a)
|
||||
(text-083b #x083b)
|
||||
(text-083c #x083c)
|
||||
(text-083d #x083d)
|
||||
(text-083e #x083e)
|
||||
(text-083f #x083f)
|
||||
(text-0840 #x0840)
|
||||
(text-0841 #x0841)
|
||||
(text-0842 #x0842)
|
||||
(text-0843 #x0843)
|
||||
(text-0844 #x0844)
|
||||
(text-0845 #x0845)
|
||||
(text-0846 #x0846)
|
||||
(text-0847 #x0847)
|
||||
(text-0848 #x0848)
|
||||
(text-0849 #x0849)
|
||||
(text-084a #x084a)
|
||||
(text-084b #x084b)
|
||||
(text-084c #x084c)
|
||||
(text-084d #x084d)
|
||||
(text-084e #x084e)
|
||||
(text-084f #x084f)
|
||||
(text-0850 #x0850)
|
||||
(text-0851 #x0851)
|
||||
(text-0852 #x0852)
|
||||
(text-0853 #x0853)
|
||||
(text-0856 #x0856)
|
||||
(text-0857 #x0857)
|
||||
(text-0858 #x0858)
|
||||
(text-085a #x085a)
|
||||
(text-085f #x085f)
|
||||
(text-0860 #x0860)
|
||||
(text-0861 #x0861)
|
||||
(text-0862 #x0862)
|
||||
(text-0863 #x0863)
|
||||
(text-0864 #x0864)
|
||||
(text-0866 #x0866)
|
||||
(text-0867 #x0867)
|
||||
(text-0868 #x0868)
|
||||
(text-0869 #x0869)
|
||||
(text-086a #x086a)
|
||||
(text-086c #x086c)
|
||||
(text-086d #x086d)
|
||||
(text-086e #x086e)
|
||||
(text-086f #x086f)
|
||||
(text-0870 #x0870)
|
||||
(text-0871 #x0871)
|
||||
(text-0872 #x0872)
|
||||
(text-0873 #x0873)
|
||||
(text-0874 #x0874)
|
||||
(text-0875 #x0875)
|
||||
(text-0876 #x0876)
|
||||
(text-0877 #x0877)
|
||||
(text-0878 #x0878)
|
||||
(text-0879 #x0879)
|
||||
(text-087a #x087a)
|
||||
(text-087b #x087b)
|
||||
(text-087c #x087c)
|
||||
(text-087d #x087d)
|
||||
(text-087e #x087e)
|
||||
(text-087f #x087f)
|
||||
(text-0880 #x0880)
|
||||
(text-0883 #x0883)
|
||||
(text-0884 #x0884)
|
||||
(text-0885 #x0885)
|
||||
(text-0886 #x0886)
|
||||
(text-0887 #x0887)
|
||||
(text-0888 #x0888)
|
||||
(text-088a #x088a)
|
||||
(text-088b #x088b)
|
||||
(text-088c #x088c)
|
||||
(text-088d #x088d)
|
||||
(text-088e #x088e)
|
||||
(text-088f #x088f)
|
||||
(text-0891 #x0891)
|
||||
(text-0892 #x0892)
|
||||
(text-0893 #x0893)
|
||||
(text-0894 #x0894)
|
||||
(text-0895 #x0895)
|
||||
(text-0896 #x0896)
|
||||
(text-0897 #x0897)
|
||||
(text-0898 #x0898)
|
||||
(text-0899 #x0899)
|
||||
)
|
||||
;; ---text-id
|
||||
|
||||
;; DECOMP BEGINS
|
||||
|
||||
|
||||
+18
@@ -45,6 +45,14 @@
|
||||
|
||||
(defconstant PP (with-pp pp))
|
||||
|
||||
(defmacro current-time ()
|
||||
`(-> PP clock frame-counter)
|
||||
)
|
||||
|
||||
(defmacro seconds-per-frame ()
|
||||
`(-> PP clock seconds-per-frame)
|
||||
)
|
||||
|
||||
(defmacro make-u128 (upper lower)
|
||||
`(rlet ((result :class i128)
|
||||
(upper-xmm :class i128)
|
||||
@@ -279,3 +287,13 @@
|
||||
|
||||
(defmacro .sync.l ()
|
||||
`(none))
|
||||
|
||||
(defmacro seek! (place target rate)
|
||||
"Macro to use seek in-place. place is the base, and where the result is stored."
|
||||
`(set! ,place (seek ,place ,target ,rate))
|
||||
)
|
||||
|
||||
(defmacro seekl! (place target rate)
|
||||
"Macro to use seekl in-place. place is the base, and where the result is stored."
|
||||
`(set! ,place (seekl ,place ,target ,rate))
|
||||
)
|
||||
+6
@@ -0,0 +1,6 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
|
||||
|
||||
|
||||
+1811
File diff suppressed because it is too large
Load Diff
+2054
File diff suppressed because it is too large
Load Diff
+16395
File diff suppressed because it is too large
Load Diff
+5517
File diff suppressed because it is too large
Load Diff
+1102
File diff suppressed because it is too large
Load Diff
+9
-1
@@ -279,7 +279,11 @@
|
||||
|
||||
;; definition of type rgba
|
||||
(deftype rgba (uint32)
|
||||
()
|
||||
((r uint8 :offset 0 :size 8)
|
||||
(g uint8 :offset 8 :size 8)
|
||||
(b uint8 :offset 16 :size 8)
|
||||
(a uint8 :offset 24 :size 8)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition of type xyzw
|
||||
@@ -765,3 +769,7 @@
|
||||
- f'(arg3) = f'(arg4) = 0"
|
||||
(+ arg0 (* (- arg1 arg0) (smooth-step (/ (- arg2 arg3) (- arg4 arg3)))))
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+1759
File diff suppressed because it is too large
Load Diff
+115
@@ -0,0 +1,115 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition of type timer-mode
|
||||
(deftype timer-mode (uint32)
|
||||
"This matches the Tn_MODE register structure of the ps2 EE timers.
|
||||
Only the lower 32 bits of these registers are usable, and the upper 16 hardwired to zero."
|
||||
((clks timer-clock-selection :offset 0 :size 2)
|
||||
(gate uint8 :offset 2 :size 1)
|
||||
(gats uint8 :offset 3 :size 1)
|
||||
(gatm uint8 :offset 4 :size 2)
|
||||
(zret uint8 :offset 6 :size 1)
|
||||
(cue uint8 :offset 7 :size 1)
|
||||
(cmpe uint8 :offset 8 :size 1)
|
||||
(ovfe uint8 :offset 9 :size 1)
|
||||
(equf uint8 :offset 10 :size 1)
|
||||
(ovff uint8 :offset 11 :size 1)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition of type timer-bank
|
||||
(deftype timer-bank (structure)
|
||||
"This matches an EE timer (without a HOLD register, timers 2 and 3).
|
||||
Each register is 128-bits wide, but only the lower 32-bits are usable, and the upper
|
||||
16-bits of that are hardwired to zero."
|
||||
((count uint32)
|
||||
(mode timer-mode :offset 16)
|
||||
(comp uint32 :offset 32)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type timer-bank
|
||||
(defmethod inspect ((this timer-bank))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-4)
|
||||
)
|
||||
(format #t "[~8x] ~A~%" this 'timer-bank)
|
||||
(format #t "~1Tcount: #x~X~%" (-> this count))
|
||||
(format #t "~1Tmode: #x~X~%" (-> this mode))
|
||||
(format #t "~1Tcomp: #x~X~%" (-> this comp))
|
||||
(label cfg-4)
|
||||
this
|
||||
)
|
||||
|
||||
;; definition of type timer-hold-bank
|
||||
(deftype timer-hold-bank (timer-bank)
|
||||
"This matches an EE timer (with a HOLD register, timers 0 and 1)."
|
||||
((hold uint32 :offset 48)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type timer-hold-bank
|
||||
(defmethod inspect ((this timer-hold-bank))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-4)
|
||||
)
|
||||
(format #t "[~8x] ~A~%" this 'timer-hold-bank)
|
||||
(format #t "~1Tcount: #x~X~%" (-> this count))
|
||||
(format #t "~1Tmode: #x~X~%" (-> this mode))
|
||||
(format #t "~1Tcomp: #x~X~%" (-> this comp))
|
||||
(format #t "~1Thold: #x~X~%" (-> this hold))
|
||||
(label cfg-4)
|
||||
this
|
||||
)
|
||||
|
||||
;; definition of type stopwatch
|
||||
(deftype stopwatch (basic)
|
||||
"Stopwatches are used to measure CPU clock cycles.
|
||||
They don't use the timer above, but instead the Count COP0 register,
|
||||
which counts CPU clock cycles directly."
|
||||
((prev-time-elapsed time-frame)
|
||||
(start-time time-frame)
|
||||
(begin-level int32)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type stopwatch
|
||||
(defmethod inspect ((this stopwatch))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-4)
|
||||
)
|
||||
(format #t "[~8x] ~A~%" this (-> this type))
|
||||
(format #t "~1Tprev-time-elapsed: ~D~%" (-> this prev-time-elapsed))
|
||||
(format #t "~1Tstart-time: ~D~%" (-> this start-time))
|
||||
(format #t "~1Tbegin-level: ~D~%" (-> this begin-level))
|
||||
(label cfg-4)
|
||||
this
|
||||
)
|
||||
|
||||
;; definition for symbol *ticks-per-frame*, type int
|
||||
(define *ticks-per-frame* 9765)
|
||||
|
||||
;; definition for function timer-init
|
||||
(defun timer-init ((arg0 timer-bank) (arg1 timer-mode))
|
||||
"Initiate a timer, start counting at a rate of 1 every 256 bus clocks (BUSCLK: ~147.456MHz)."
|
||||
(set! (-> arg0 mode) arg1)
|
||||
(set! (-> arg0 count) (the-as uint 0))
|
||||
0
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
(timer-init
|
||||
(the-as timer-bank #x10000800)
|
||||
(new 'static 'timer-mode :clks (timer-clock-selection busclk/256) :cue #x1)
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
0
|
||||
|
||||
|
||||
|
||||
|
||||
+124
@@ -0,0 +1,124 @@
|
||||
;;-*-Lisp-*-
|
||||
(in-package goal)
|
||||
|
||||
;; definition of type vif-stat
|
||||
(deftype vif-stat (uint32)
|
||||
((vps uint8 :offset 0 :size 2)
|
||||
(vew uint8 :offset 2 :size 1)
|
||||
(mrk uint8 :offset 6 :size 1)
|
||||
(vss uint8 :offset 8 :size 1)
|
||||
(vfs uint8 :offset 9 :size 1)
|
||||
(vis uint8 :offset 10 :size 1)
|
||||
(int uint8 :offset 11 :size 1)
|
||||
(er0 uint8 :offset 12 :size 1)
|
||||
(er1 uint8 :offset 13 :size 1)
|
||||
(fqc uint8 :offset 24 :size 4)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type vif-stat
|
||||
(defmethod inspect ((this vif-stat))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-4)
|
||||
)
|
||||
(format #t "[~8x] ~A~%" this 'vif-stat)
|
||||
(format #t "~1Tvps: ~D~%" (-> this vps))
|
||||
(format #t "~1Tvew: ~D~%" (-> this vew))
|
||||
(format #t "~1Tmrk: ~D~%" (-> this mrk))
|
||||
(format #t "~1Tvss: ~D~%" (-> this vss))
|
||||
(format #t "~1Tvfs: ~D~%" (-> this vfs))
|
||||
(format #t "~1Tvis: ~D~%" (-> this vis))
|
||||
(format #t "~1Tint: ~D~%" (-> this int))
|
||||
(format #t "~1Ter0: ~D~%" (-> this er0))
|
||||
(format #t "~1Ter1: ~D~%" (-> this er1))
|
||||
(format #t "~1Tfqc: ~D~%" (-> this fqc))
|
||||
(label cfg-4)
|
||||
this
|
||||
)
|
||||
|
||||
;; definition of type vif-fbrst
|
||||
(deftype vif-fbrst (uint32)
|
||||
((rst uint8 :offset 0 :size 1)
|
||||
(fbk uint8 :offset 1 :size 1)
|
||||
(stp uint8 :offset 2 :size 1)
|
||||
(stc uint8 :offset 3 :size 1)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition of type vif-err
|
||||
(deftype vif-err (uint32)
|
||||
((mii uint8 :offset 0 :size 1)
|
||||
(me0 uint8 :offset 1 :size 1)
|
||||
(me1 uint8 :offset 2 :size 1)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition of type vif-bank
|
||||
(deftype vif-bank (structure)
|
||||
((stat uint32)
|
||||
(fbrst uint32 :offset 16)
|
||||
(err vif-err :offset 32)
|
||||
(mark uint32 :offset 48)
|
||||
(cycle uint32 :offset 64)
|
||||
(mode uint32 :offset 80)
|
||||
(num uint32 :offset 96)
|
||||
(mask uint32 :offset 112)
|
||||
(code uint32 :offset 128)
|
||||
(itops uint32 :offset 144)
|
||||
(base uint32 :offset 160)
|
||||
(offset uint32 :offset 176)
|
||||
(tops uint32 :offset 192)
|
||||
(itop uint32 :offset 208)
|
||||
(top uint32 :offset 224)
|
||||
(r0 uint32 :offset 256)
|
||||
(r1 uint32 :offset 272)
|
||||
(r2 uint32 :offset 288)
|
||||
(r3 uint32 :offset 304)
|
||||
(c0 uint32 :offset 320)
|
||||
(c1 uint32 :offset 336)
|
||||
(c2 uint32 :offset 352)
|
||||
(c3 uint32 :offset 368)
|
||||
)
|
||||
)
|
||||
|
||||
;; definition for method 3 of type vif-bank
|
||||
(defmethod inspect ((this vif-bank))
|
||||
(when (not this)
|
||||
(set! this this)
|
||||
(goto cfg-4)
|
||||
)
|
||||
(format #t "[~8x] ~A~%" this 'vif-bank)
|
||||
(format #t "~1Tstat: #x~X~%" (-> this stat))
|
||||
(format #t "~1Tfbrst: #x~X~%" (-> this fbrst))
|
||||
(format #t "~1Terr: #x~X~%" (-> this err))
|
||||
(format #t "~1Tmark: #x~X~%" (-> this mark))
|
||||
(format #t "~1Tcycle: #x~X~%" (-> this cycle))
|
||||
(format #t "~1Tmode: #x~X~%" (-> this mode))
|
||||
(format #t "~1Tnum: #x~X~%" (-> this num))
|
||||
(format #t "~1Tmask: #x~X~%" (-> this mask))
|
||||
(format #t "~1Tcode: #x~X~%" (-> this code))
|
||||
(format #t "~1Titops: #x~X~%" (-> this itops))
|
||||
(format #t "~1Tbase: #x~X~%" (-> this base))
|
||||
(format #t "~1Toffset: #x~X~%" (-> this offset))
|
||||
(format #t "~1Ttops: #x~X~%" (-> this tops))
|
||||
(format #t "~1Titop: #x~X~%" (-> this itop))
|
||||
(format #t "~1Ttop: #x~X~%" (-> this top))
|
||||
(format #t "~1Tr0: #x~X~%" (-> this r0))
|
||||
(format #t "~1Tr1: #x~X~%" (-> this r1))
|
||||
(format #t "~1Tr2: #x~X~%" (-> this r2))
|
||||
(format #t "~1Tr3: #x~X~%" (-> this r3))
|
||||
(format #t "~1Tc0: #x~X~%" (-> this c0))
|
||||
(format #t "~1Tc1: #x~X~%" (-> this c1))
|
||||
(format #t "~1Tc2: #x~X~%" (-> this c2))
|
||||
(format #t "~1Tc3: #x~X~%" (-> this c3))
|
||||
(label cfg-4)
|
||||
this
|
||||
)
|
||||
|
||||
;; failed to figure out what this is:
|
||||
0
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -30,7 +30,12 @@
|
||||
// matrix
|
||||
"matrix-axis-sin-cos-vu!",
|
||||
"matrix-axis-sin-cos!",
|
||||
"matrix-3x3-normalize!"
|
||||
"matrix-3x3-normalize!",
|
||||
// geometry
|
||||
"closest-pt-in-triangle",
|
||||
"circle-circle-xz-intersect",
|
||||
"calculate-basis-functions-vector!",
|
||||
"curve-evaluate!"
|
||||
],
|
||||
|
||||
"skip_compile_states": {}
|
||||
|
||||
Reference in New Issue
Block a user