mirror of
https://github.com/open-goal/jak-project
synced 2026-09-06 19:21:00 -04:00
ambient & hint subtitles and subtitles for citadel + training (#1337)
* hint & ambient subtitle support + `training` & `village1` subs * update refs * Update game_subtitle_en.gs * Update game_subtitle_en.gs * update source * more subtitles * Update game_subtitle_en.gs * Update game_subtitle_en.gs * tests * typo.
This commit is contained in:
@@ -1039,13 +1039,16 @@
|
||||
(misty-daxter-hit-lurkers-not-mines #x27f)
|
||||
|
||||
(sidekick-speech-hint-crate-darkeco1 #x281)
|
||||
|
||||
(sidekick-speech-crate-steel-break1 #x283)
|
||||
(sidekick-speech-hint-crate-iron #x284)
|
||||
(sidekick-speech-hint-crate-steel #x285)
|
||||
|
||||
(beach-collectors-unblocked #x288)
|
||||
(jungleb-eco-vents-opened #x289)
|
||||
(misty-stopped-lurkers-at-silo #x28a)
|
||||
(misty-stopped-balloon-lurkers #x28b)
|
||||
(jungleb-eco-vents-opened #x289)
|
||||
|
||||
(sidekick-speech-crate-steel-break2 #x28e)
|
||||
(sidekick-speech-hint-crate-darkeco2 #x28f)
|
||||
|
||||
@@ -1064,13 +1067,10 @@
|
||||
|
||||
(misty-teetertotter-bonk-dax-tutorial #x2a4)
|
||||
(sidekick-hint-misty-get-red-eco #x2a5)
|
||||
|
||||
(red-eco-tutorial #x2a6)
|
||||
|
||||
(daxter-blue-eco-plat-tutorial #x2a7)
|
||||
|
||||
(fish? #x2a9)
|
||||
|
||||
(misty-bone-bridge-hint #x2aa)
|
||||
|
||||
(beach-grottopole-increment #x2af)
|
||||
@@ -10549,7 +10549,6 @@
|
||||
|
||||
;; - Types
|
||||
|
||||
;; NOTE - root can also be a collide-shape
|
||||
(declare-type joint-mod basic)
|
||||
(deftype manipy (process-drawable)
|
||||
((new-trans-hook (function none) :offset-assert 176) ;; TODO - no idea on these types
|
||||
@@ -10622,9 +10621,9 @@
|
||||
(grab-target handle :offset 120)
|
||||
(grab-event symbol :offset-assert 128)
|
||||
(release-event symbol :offset-assert 132)
|
||||
(old-global-mask uint32 :offset-assert 136)
|
||||
(old-self-mask uint32 :offset-assert 140)
|
||||
(old-parent-mask uint32 :offset-assert 144)
|
||||
(old-global-mask process-mask :offset-assert 136)
|
||||
(old-self-mask process-mask :offset-assert 140)
|
||||
(old-parent-mask process-mask :offset-assert 144)
|
||||
(look-at-target handle :offset-assert 152)
|
||||
(pov-target handle :offset-assert 160)
|
||||
(work-process handle :offset-assert 168)
|
||||
@@ -10634,7 +10633,7 @@
|
||||
(userdata basic :offset-assert 196)
|
||||
(message basic :offset-assert 200)
|
||||
(border-value basic :offset-assert 204)
|
||||
(mask-to-clear uint32 :offset-assert 208)
|
||||
(mask-to-clear process-mask :offset-assert 208)
|
||||
(script pair :offset-assert 212)
|
||||
(script-line pair :offset-assert 216)
|
||||
(script-func (function none) :offset-assert 220) ;; TODO - unconfirmed, see generic-obs::lambda::33
|
||||
@@ -10704,16 +10703,16 @@
|
||||
|
||||
(deftype othercam (process)
|
||||
((hand handle :offset-assert 112)
|
||||
(old-global-mask uint32 :offset-assert 120)
|
||||
(mask-to-clear uint32 :offset-assert 124)
|
||||
(old-global-mask process-mask :offset-assert 120)
|
||||
(mask-to-clear process-mask :offset-assert 124)
|
||||
(cam-joint-index int32 :offset-assert 128)
|
||||
(old-pos vector :inline :offset-assert 144)
|
||||
(old-mat-z vector :inline :offset-assert 160)
|
||||
(had-valid-frame basic :offset-assert 176)
|
||||
(border-value basic :offset-assert 180)
|
||||
(die? symbol :offset-assert 184)
|
||||
(die? symbol :offset-assert 184)
|
||||
(survive-anim-end? symbol :offset-assert 188)
|
||||
(spooling? symbol :offset-assert 192)
|
||||
(spooling? symbol :offset-assert 192)
|
||||
)
|
||||
:heap-base #x60
|
||||
:method-count-assert 14
|
||||
@@ -10757,7 +10756,7 @@
|
||||
(notify-handle handle :offset-assert 192)
|
||||
(anim-name string :offset-assert 200)
|
||||
(command-list pair :offset-assert 204)
|
||||
(mask-to-clear uint32 :offset-assert 208)
|
||||
(mask-to-clear process-mask :offset-assert 208)
|
||||
(music-volume-movie float :offset-assert 212)
|
||||
(sfx-volume-movie float :offset-assert 216)
|
||||
)
|
||||
|
||||
@@ -4,22 +4,26 @@
|
||||
;; intro
|
||||
|
||||
("sage-intro-sequence-a"
|
||||
(24 "SAGE" "I HAVE SPENT MY LIFE SEARCHING FOR THE ANSWERS THAT MY FATHER, AND MY FATHER'S FATHERS FAILED TO FIND.")
|
||||
(260 "SAGE" "WHO WERE THE PRECURSORS? WHY DID THEY CREATE THE VAST MONOLITHS THAT LITHER OUR PLANET?")
|
||||
(454 "SAGE" "HOW DID THEY HARNESS ECO, THE LIFE ENERGY OF THE WORLD? WHAT WAS THEIR PURPOSE? AND WHY DID THEY VANISH?")
|
||||
(24 :offscreen "SAGE" "I HAVE SPENT MY LIFE SEARCHING FOR THE ANSWERS THAT MY FATHER, AND MY FATHER'S FATHERS FAILED TO FIND.")
|
||||
(260 :offscreen "SAGE" "WHO WERE THE PRECURSORS? WHY DID THEY CREATE THE VAST MONOLITHS THAT LITHER OUR PLANET?")
|
||||
(454 :offscreen "SAGE" "HOW DID THEY HARNESS ECO, THE LIFE ENERGY OF THE WORLD?")
|
||||
(581 :offscreen "SAGE" "WHAT WAS THEIR PURPOSE? AND WHY DID THEY VANISH?")
|
||||
(708)
|
||||
(720 "SAGE" "I HAVE ASKED THE PLANTS, BUT THEY DO NOT REMEMBER.")
|
||||
(818 "SAGE" "THE PLANTS HAVE ASKED THE ROCKS, BUT THE ROCKS DO NOT RECALL.")
|
||||
(957 "SAGE" "EVEN THE ROCKS DO NOT RECALL...")
|
||||
(720 :offscreen "SAGE" "I HAVE ASKED THE PLANTS, BUT THEY DO NOT REMEMBER.")
|
||||
(818 :offscreen "SAGE" "THE PLANTS HAVE ASKED THE ROCKS, BUT THE ROCKS DO NOT RECALL.")
|
||||
(955 :offscreen "SAGE" "EVEN THE ROCKS DO NOT RECALL...")
|
||||
(1064)
|
||||
(1090 "SAGE" "EVERY BONE IN MY BODY TELLS ME THAT THE ANSWERS REST ON THE SHOULDERS OF A YOUNG BOY")
|
||||
(1297 "SAGE" "OBLIVIOUS TO HIS DESTINY, UNINTERESTED IN THE SEARCH FOR TRUTH, AND REJECTING OF MY GUIDANCE!")
|
||||
(1545 "SAGE" "AND WHY WOULD HE WANT TO LISTEN TO OLD SAMOS THE SAGE ANYWAY?")
|
||||
(1689 "SAGE" "I'M ONLY THE MASTER OF GREEN ECO, ONE OF THE WISEST MEN ON THE PLANET!")
|
||||
(1090 :offscreen "SAGE" "EVERY BONE IN MY BODY TELLS ME THAT THE ANSWERS REST ON THE SHOULDERS OF A YOUNG BOY")
|
||||
(1297 :offscreen "SAGE" "OBLIVIOUS TO HIS DESTINY, UNINTERESTED IN THE SEARCH FOR TRUTH, AND REJECTING OF MY GUIDANCE!")
|
||||
(1536)
|
||||
(1545 :offscreen "SAGE" "AND WHY WOULD HE WANT TO LISTEN TO OLD SAMOS THE SAGE ANYWAY?")
|
||||
(1680)
|
||||
(1686 :offscreen "SAGE" "I'M ONLY THE MASTER OF GREEN ECO, ONE OF THE WISEST MEN ON THE PLANET!")
|
||||
(1875)
|
||||
(1958 "SAGE" "SO IT SEEMS THE ANSWER BEGINS NOT WITH CAREFUL RESEARCH, OR SENSIBLE THINKING.")
|
||||
(2145 "SAGE" "NAY! AS WITH MANY OF FATE'S MYSTERIES")
|
||||
(2281 "SAGE" "IT BEGINS WITH BUT A SMALL ACT OF DISOBEDIENCE.")
|
||||
(1958 :offscreen "SAGE" "SO IT SEEMS THE ANSWER BEGINS NOT WITH CAREFUL RESEARCH, OR SENSIBLE THINKING.")
|
||||
(2141)
|
||||
(2145 :offscreen "SAGE" "NAY! AS WITH MANY OF FATE'S MYSTERIES")
|
||||
(2281 :offscreen "SAGE" "IT BEGINS WITH BUT A SMALL ACT OF DISOBEDIENCE.")
|
||||
(2440 "DAXTER" "HEY! UH, JAK? OL' GREEN STUFF TOLD US NOT TO COME HERE!")
|
||||
)
|
||||
|
||||
@@ -48,9 +52,9 @@
|
||||
(1331 "DAXTER" "JAK, I THINK WE'RE IN TROUBLE!")
|
||||
(1386)
|
||||
(1857 "DAXTER" "MAN, THAT STUNG.")
|
||||
(1919)
|
||||
(1941 "DAXTER" "I TOLD YOU WE SHOULDN'T 'A' COME HERE, AND YOU LISTENED?")
|
||||
(2034)
|
||||
(1913)
|
||||
(1941 "DAXTER" "I TOLD YOU WE SHOULDN'T HAVE COME HERE, AND YOU LISTENED?")
|
||||
(2028)
|
||||
(2057 "DAXTER" "WHAAAT?")
|
||||
(2101)
|
||||
(2189 "DAXTER" "WAAAAAAAAHHHHHHHH!!")
|
||||
@@ -63,17 +67,18 @@
|
||||
(137 "SAGE" "WHAT IN GREEN TARNATION DO YOU TWO WANT?")
|
||||
(220 "DAXTER" "WE- WE- WE WAS- THEY WAS- I'M- I WAS-")
|
||||
(283 "SAGE" "DON'T TELL ME! INSTEAD OF HEEDING MY WISDOM, THE TWO OF YOU WENT MUCKING AROUND")
|
||||
(446 "SAGE" "IN THE ONLY PLACE THAT I TOLD YOU NOT TO GO: MISTY ISLAND!")
|
||||
(440 "SAGE" "IN THE ONLY PLACE THAT I TOLD YOU NOT TO GO: MISTY ISLAND!")
|
||||
(550 "DAXTER" "THAT'S RIGHT! AND THEN-")
|
||||
(579 "SAGE" "AND, DAXTER, YOU'VE FINALLY TOOK A MUCH-NEEDED BATH, BUT IN A BATHTUB FILLED WITH DARK ECO.")
|
||||
(579 "SAGE" "AND, DAXTER, YOU FINALLY TOOK A MUCH-NEEDED BATH, BUT IN A BATHTUB FILLED WITH DARK ECO.")
|
||||
(793 "DAXTER" "LOOK, OLD MAN, ARE YOU GONNA KEEP YAPPIN', OR YOU GONNA HELP ME OUTTA THIS MESS!?")
|
||||
(920 "SAGE" "I'M GONNA KEEP YAPPIN'! BECAUSE IN MY PROFESSIONAL OPINION, THE CHANGE IS AN IMPROVEMENT.")
|
||||
(1079 "SAGE" "AND BESIDES... I COULDN'T HELP YOU IF I WANTED TO.")
|
||||
(1186 "DAXTER" "WHAT!?")
|
||||
(1221 "SAGE" "THERE'S ONLY ONE PERSON WHO HAS STUDIED DARK ECO LONG ENOUGH")
|
||||
(1220 "SAGE" "THERE'S ONLY ONE PERSON WHO HAS STUDIED DARK ECO LONG ENOUGH")
|
||||
(1329 "SAGE" "TO HAVE A CHANCE AT RETURNING YOU TO YOUR PREVIOUS FORM:")
|
||||
(1431 "SAGE" "GOL ACHERON, THE SAGE.")
|
||||
(1496 "SAGE" "BUT HE LIVES FAR TO THE NORTH. FAR, FAR TO NORTH. NOBODY HAS SPOKEN TO HIM IN AGES.")
|
||||
(1493)
|
||||
(1496 :offscreen "SAGE" "BUT HE LIVES FAR TO THE NORTH. FAR, FAR TO NORTH. NOBODY HAS SPOKEN TO HIM IN AGES.")
|
||||
(1718 "SAGE" "I WOULD TELEPORT YOU THERE, BUT I CAN'T DO THAT EITHER.")
|
||||
(1831 "SAGE" "NONE OF THE THREE SAGES THAT MAINTAIN THE OTHER TELEPORTER GATES")
|
||||
(1934 "SAGE" "HAVE SEEN FIT TO TURN THEIR ENDS ON FOR QUITE A WHILE!")
|
||||
@@ -81,20 +86,23 @@
|
||||
|
||||
("sage-intro-sequence-d2"
|
||||
(3 "SAGE" "THE ONLY OTHER WAY NORTH IS BY FOOT THROUGH THE FIRE CANYON")
|
||||
(114 "SAGE" "BUT ITS VOLCANIC SOIL IS HOT ENOUGH TO MELT PRECURSOR METAL.")
|
||||
(114 :offscreen "SAGE" "BUT ITS VOLCANIC SOIL IS HOT ENOUGH TO MELT PRECURSOR METAL.")
|
||||
(224 "SAGE" "YOU CAN'T JUST WALK THROUGH IT.")
|
||||
(270 "KEIRA" "BUT YOU COULD FLY OVER IT, IF YOU HAD A ZOOMER EQUIPPED WITH A HEAT SHIELD.")
|
||||
(393)
|
||||
(396 "KEIRA" "I JUST HAPPEN TO BE WORKING ON SUCH A THING AT THIS VERY MOMENT.")
|
||||
(512)
|
||||
(515 "KEIRA" "ALL I WOULD NEED IS TWENTY POWER CELLS TO GIVE IT ENOUGH ENERGY")
|
||||
(605 "KEIRA" "TO WITHSTAND THE CANYON'S HEAT. ISN'T THAT RIGHT, DADDY?")
|
||||
(697)
|
||||
(696)
|
||||
(699 "SAGE" "YES, KEIRA, THAT MIGHT WORK. BUT WHERE ARE A BOY")
|
||||
(826 "SAGE" "AND A HALF!")
|
||||
(826 :offscreen "SAGE" "AND A HALF!")
|
||||
(857 "SAGE" "GOING TO GET TWENTY POWER CELLS?")
|
||||
(911 "KEIRA" "FROM THE VILLAGERS! MOST OF THEM HAVE A POWER CELL OR TWO STASHED AWAY SOMEWHERE.")
|
||||
(1050 "KEIRA" "AND EVEN IF THEY AREN'T WILLING TO JUST GIVE THEM AWAY")
|
||||
(910 "KEIRA" "FROM THE VILLAGERS! MOST OF THEM HAVE A POWER CELL OR TWO STASHED AWAY SOMEWHERE.")
|
||||
(1050 :offscreen "KEIRA" "AND EVEN IF THEY AREN'T WILLING TO JUST GIVE THEM AWAY")
|
||||
(1133 "KEIRA" "GREASING THEIR PALMS WITH A FEW PRECURSOR ORBS SHOULD DO THE TRICK.")
|
||||
(1249 "KEIRA" "AND I BET THERE ARE EVEN MORE OF THEM OUT IN THE WILDS JUST WAITING FOR SOME")
|
||||
(1243)
|
||||
(1246 :offscreen "KEIRA" "AND I BET THERE ARE EVEN MORE OF THEM OUT IN THE WILDS JUST WAITING FOR SOME")
|
||||
(1364 "KEIRA" "BRAVE ADVENTURER TO FIND.")
|
||||
(1435 "DAXTER" "WELL WE'VE GOT THE BRAVE ADVENTURER, AT LEAST.")
|
||||
(1529)
|
||||
@@ -104,12 +112,123 @@
|
||||
(1689 "SAGE" "BEFORE YOU DO ANYTHING ELSE, YOU BETTER GO THROUGH THE WARP GATE AND GET")
|
||||
(1810 "SAGE" "SOME PRACTICE ON GEYSER ROCK.")
|
||||
(1872)
|
||||
(1878 "DAXTER" "EHH, WE WON'T FIND ANY MORE OF THAT DARK-OO AND ECO STUFF, WILL WE?")
|
||||
(1878 "DAXTER" "UH, WE WON'T FIND ANY MORE OF THAT DARK GOOEY ECO STUFF, WILL WE?")
|
||||
(1993 "DAXTER" "'CAUSE I'D HATE TO FALL IN AGAIN AND TURN INTO YOU!")
|
||||
(2069)
|
||||
(2072 "SAGE" "GET IN THERE! BEFORE I TURN YOU BOTH INTO FERNS!")
|
||||
(2192)
|
||||
(2189)
|
||||
)
|
||||
|
||||
("sage-intro-sequence-e"
|
||||
(200 "SAGE" "GOOD TRAINING, BOYS, BUT THAT'S NOTHING COMPARED TO THE CHALLENGES THAT LIE AHEAD.")
|
||||
(359 "DAXTER" "AH, THEY'RE NO PROBLEM. WE GOT THE MOVES, EH JAK?")
|
||||
(496 "DAXTER" "WE'D LOVE TO STAY AND CHAT, BIG GREEN, BUT WE'RE UH... ITCHING TO GET ON WITH OUR ADVENTURES.")
|
||||
(660 "SAGE" "FINE, FINE, \"ADVENTURE\" AWAY THEN.")
|
||||
(787 "SAGE" "AND WHILE YOU'RE OUT \"ADVENTURING,\" WHY DON'T YOU MAKE YOURSELF USEFUL?")
|
||||
(940)
|
||||
(952 :offscreen "SAGE" "MY DARN GREEN ECO COLLECTORS ARE CLOGGED UP AGAIN.")
|
||||
(1043)
|
||||
(1046 :offscreen "SAGE" "HEAD OUT TO THE FAR SIDE OF THE BEACH AND CLEAR THEM OUT WHY DON'T YOU.")
|
||||
(1160)
|
||||
(1169 :offscreen "SAGE" "FOLLOW THE LAMPS, THEY'LL TAKE YOU RIGHT THERE.")
|
||||
(1310)
|
||||
(1313 :offscreen "SAGE" "NOW, ALL OF YOU...")
|
||||
(1415)
|
||||
(1439 :offscreen "SAGE" "GET OUT OF HERE!")
|
||||
)
|
||||
|
||||
|
||||
;; -----------------
|
||||
;; sidekick
|
||||
|
||||
|
||||
("sksp0014" :hint #x233
|
||||
(0 "DAXTER" "WE SCROUNGED ENOUGH ORBS TO TRADE FOR A POWER CELL.")
|
||||
(215 "DAXTER" "LET'S GET BACK AND MAKE THE SWITCH ALREADY!")
|
||||
)
|
||||
("sksp0009" :hint #x251
|
||||
(0 "DAXTER" "WHAT A WEIRD-LOOKING THING! I'LL BET WE CAN GET THIS OPEN")
|
||||
(207 "DAXTER" "IF YOU'RE POWERED UP WITH THAT ZAPPY BLUE ECO STUFF.")
|
||||
)
|
||||
("sksp0035" :hint #x25c
|
||||
(0 "DAXTER" "YEAH, SO WE GOT A PRECURSOR LAUNCHER HERE")
|
||||
(117 "DAXTER" "BUT YOU AREN'T POWERED UP WITH THE BLUE STUFF. SO IT AIN'T GONNA HELP US!")
|
||||
)
|
||||
("sksp0001" :hint #x280 (0 "DAXTER" "HEY! THAT SWEET-LOOKING BABE KEIRA WAS RIGHT! THERE ARE TRANS-PADS OUT HERE."))
|
||||
("sksp0002" :hint #x281 (0 "DAXTER" "TRUST ME, THOSE DARK ECO BOXES ARE BAD NEWS!"))
|
||||
("sksp0003" :hint #x282
|
||||
(0 "DAXTER" "I BET IF WE FOUND ALL OF THOSE SICKLY CUTE SCOUT FLIES ON EACH LEVEL")
|
||||
(215 "DAXTER" "AT LEAST ONE WILL HAVE A POWER CELL!")
|
||||
)
|
||||
("sksp0004" :hint #x283 (0 "DAXTER" "ALL RIGHT, TREASURE!"))
|
||||
("sksp0005" :hint #x284
|
||||
(0 "DAXTER" "THESE WOOD AND METAL BOXES DON'T LOOK THAT TOUGH!")
|
||||
(166 "DAXTER" "I'LL BET THEY'LL BREAK IF YOU JUMP DIVE ONTO THEM.")
|
||||
)
|
||||
("sksp0006" :hint #x285
|
||||
(0 "DAXTER" "THOSE ALL-METAL BOXES ARE THICKER THAN A YAKOW SKULL!")
|
||||
(188 "DAXTER" "BUT THERE MUST BE SOMETHING THAT CAN BUST 'EM OPEN.")
|
||||
)
|
||||
("sksp0007" :hint #x286 (0 "DAXTER" "TWO WORDS: POWER CELLS. WE NEED TO FIND 'EM AND WE AREN'T LOOKIN' SO GOOD RIGHT NOW."))
|
||||
("sksp0008" :hint #x287 (0 "DAXTER" "WE NEED ORBS. ORBS, JAK! HOW ARE EVER GONNA BUY POWER CELLS IF WE DON'T COLLECT ORBS!"))
|
||||
("sksp009a" :hint 0 (0 "DAXTER" "HA HA! WE SHOWED HIM A THING OR TWO."))
|
||||
("sksp009b" :hint #x28e (0 "DAXTER" "ALL RIGHT, MORE ORBS!"))
|
||||
("sksp009c" :hint #x28f (0 "DAXTER" "DO ME A FAVOR AND KEEP AWAY FROM THOSE DARK ECO BOXES!"))
|
||||
("sksp009d" :hint #x290 (0 "DAXTER" "YEAH-HA-HA-HA!"))
|
||||
("sksp009e" :hint #x291 (0 "DAXTER" "WA-HOO!"))
|
||||
("sksp009f" :hint #x292 (0 "DAXTER" "GET SOME, GET SOME! HA HA HA!"))
|
||||
("sksp009g" :hint #x293 (0 "DAXTER" "RIGHT BEHIND YA, JAK!"))
|
||||
("sksp009i" :hint #x294 (0 "DAXTER" "DID WE FIND ALL THE SCOUT FLIES IN THIS AREA?"))
|
||||
("sksp009j" :hint #x295 (0 "DAXTER" "HEY! IT LOOKS LIKE SCOUT FLIES ARE ALWAYS IN RED BOXES."))
|
||||
("sksp009k" :hint #x296 (0 "DAXTER" "ALRIGHT! YOU FOUND ALL THE SCOUT FLIES IN THIS AREA!"))
|
||||
("sksp0071" :hint #x2a5 (0 "DAXTER" "GET THE RED ECO!"))
|
||||
("sksp0072" :hint #x2a6 (0 "DAXTER" "RED ECO MAKES YOUR ATTACKS STRONGER."))
|
||||
("sksp0073" :hint #x2a7 (0 "DAXTER" "WE NEED BLUE ECO TO CHARGE THIS PLATFORM UP!"))
|
||||
|
||||
("sksp0145" :hint #x359 (0 "DAXTER" "WOW! YOU CAN SHOOT FIRE BALLS WHEN YOU'RE POWERED UP WITH YELLOW ECO."))
|
||||
|
||||
|
||||
|
||||
;; -----------------
|
||||
;; village1
|
||||
|
||||
|
||||
("SAGELP03" :hint 0 (0 "SAGE" "THESE TWO COULDN'T UNBLOCK THEIR EARS..."))
|
||||
("SAGELP04" :hint 0
|
||||
(0 "SAGE" "HE'LL JUST NEVER BE LIKE HIS UNCLE...")
|
||||
(221 "SAGE" "I DON'T CARE WHAT THE OTHERS SAY.")
|
||||
)
|
||||
("SAGELP05" :hint 0 (0 "SAGE" "HELLO, BLUE SAGE? HELLO? WHERE IN THE BLUE BLAZES COULD HE BE..."))
|
||||
("SAGELP06" :hint 0 (0 "SAGE" "MY, MY, MY..."))
|
||||
("SAGELP11" :hint 0 (0 "SAGE" "ANYONE? ANYONE AT ALL? COME IN?"))
|
||||
("ASSTLP01" :hint 0 (0 "KEIRA" "HMM..."))
|
||||
("ASSTLP02" :hint 0 (0 "KEIRA" "GOTTA GET THIS HEAT SHIELD WORKING..."))
|
||||
("ASSTLP03" :hint 0 (0 "KEIRA" "WE NEED POWER CELLS TO FUEL THE HEAT SHIELD..."))
|
||||
("ASSTLP04" :hint 0 (0 "KEIRA" "WHERE'S MY SPANNER?"))
|
||||
("ASSTLP05" :hint 0 (0 "KEIRA" "FIRE CANYON IS SO HOT..."))
|
||||
|
||||
|
||||
("sage-introduction-misty-cannon"
|
||||
(24 "SAGE" "OH, IT'S THE CONQUERING HEROES.")
|
||||
(136 "SAGE" "GOOD, I WANTED TO TALK WITH YOU TWO ABOUT SOMETHING SERIOUS.")
|
||||
(258)
|
||||
(261 :offscreen "SAGE" "THERE APPEARS TO BE QUITE A BIT OF LURKER ACTIVITY ON MISTY ISLAND.")
|
||||
(387)
|
||||
(393 :offscreen "SAGE" "I CAN SEE THEM BOMBARDING THE PRECURSOR SILO FROM MY LOOKOUT TOWER.")
|
||||
(525)
|
||||
(528 "SAGE" "IF THE LURKERS OPEN IT UP AND RELEASE THE DARK ECO, WE COULD ALL END UP")
|
||||
(663 "SAGE" "RUNNING AROUND LOOKING AS RIDICULOUS AS THIS ANNOYING LITTLE SPECIMEN.")
|
||||
(788)
|
||||
(807 "SAGE" "JAK, IT'S TIME FOR YOU TO PROVE YOUR WORTH.")
|
||||
(906 "SAGE" "GET THE FISHERMAN TO LET YOU TAKE HIS BOAT BACK TO MISTY ISLAND")
|
||||
(1018 "SAGE" "GET TO THE TOP OF THE PRECURSOR SILO AND TAKE OUT THAT CANNON.")
|
||||
(1071)
|
||||
(1177 "DAXTER" "AND... WHAT ABOUT ME?")
|
||||
(1232)
|
||||
(1235 "SAGE" "YOU? WHY DON'T YOU MOP MY FLOORS? THEY SEEM TO HAVE LOST THEIR SHINE LATELY.")
|
||||
)
|
||||
|
||||
|
||||
|
||||
;; -----------------
|
||||
;; oracle
|
||||
@@ -121,11 +240,34 @@
|
||||
("oracle-right-eye-3" (0 "ORACLE" "YOU HAVE OBTAINED ANOTHER POWER CELL."))
|
||||
("oracle-left-eye-3" (0 "ORACLE" "FOR YOUR EFFORT, A POWER CELL IS THE REWARD."))
|
||||
|
||||
|
||||
;; -----------------
|
||||
;; misty
|
||||
|
||||
|
||||
("sksp0031" :hint #x23a (0 "DAXTER" "OOH! LET'S USE THE CANNON TO BLOW THINGS UP!"))
|
||||
("sksp0067" :hint #x249 (0 "DAXTER" "DON'T FALL INTO THE MIST BELOW US! 'CAUSE I DON'T THINK WE'LL MAKE IT BACK."))
|
||||
("sksp0059" :hint #x26e (0 "DAXTER" "THIS PLACE GIVES ME THE WILLIES! LET'S KEEP YOU OUT OF THE OOZE, OKAY?"))
|
||||
("sksp0056" :hint #x27b (0 "DAXTER" "HEY! I SEE THE SCULPTOR'S MUSE!"))
|
||||
("sagevb02" :hint #x28a
|
||||
(6 "SAGE" "I HAVE TO ADMIT, I'M IMPRESSED. YOU TWO DIDN'T SCREW UP!")
|
||||
(385)
|
||||
(399 "SAGE" "NOW THAT THE LURKERS CAN'T OPEN THAT SILO, THEY CAN'T FLOOD THE WORLD WITH DARK ECO")
|
||||
(720 "SAGE" "AND CAUSE UNTOLD DESTRUCTION.")
|
||||
(863)
|
||||
(880 "SAGE" "WIPE THAT RIDICULOUS GRIN OFF YOUR FACE, DAXTER! THE TWO OF YOU HAVE PLENTY TO DO.")
|
||||
(1191 "SAGE" "GET ON WITH IT!")
|
||||
)
|
||||
("sksp0069" :hint #x2a3 (0 "DAXTER" "IT'S AN AMBUSH, JAK! IT'S AN AMBUSH!"))
|
||||
("sksp0070" :hint #x2a4 (0 "DAXTER" "JUMP, THEN DIVE ONTO THE TEETER-TOTTER."))
|
||||
("sksp0435" :hint #x2aa (0 "DAXTER" "KNOCK OVER THOSE BONES!"))
|
||||
|
||||
|
||||
;; -----------------
|
||||
;; swamp
|
||||
|
||||
("billy-introduction"
|
||||
(6 "BILLY" "HOWDY, FRIENDS! ENJOYIN' MY BEAUTIFUL SWAMP? I OWN THESE HERE PARTS. EVERYTHING THAT DOESN'T SINK INTO THE MUD, THAT IS! (LAUGHS)")
|
||||
(6 "BILLY" "HOWDY, FRIENDS! ENJOYIN' MY BEAUTIFUL SWAMP? I OWN THESE HERE PARTS. EVERYTHING THAT DOESN'T SINK INTO THE MUD, THAT IS! HA HA HA...")
|
||||
(349)
|
||||
(369 "DAXTER" "JUDGING BY THE SMELL, I'D WAGER YOUR BATHTUB SANK IN THE MUD LONG AGO.")
|
||||
(497)
|
||||
@@ -160,29 +302,41 @@
|
||||
;; -----------------
|
||||
;; citadel
|
||||
|
||||
|
||||
("green-sagecage-introduction"
|
||||
(130 "SAGE" "IT'S ABOUT TIME YOU TWO DECIDED TO SHOW UP!")
|
||||
(207 "DAXTER" "NICE TO SEE YOU TOO! DO THEY HAVE YOU MOPPING THE FLOORS NOW?")
|
||||
(343 "SAGE" "THERE'S NO TIME FOR JOKES, DAXTER. GOL AND MAIA KIDNAPPED US TO SAP OUR ENERGIES TO POWER THEIR ABOMINABLE MACHINE.")
|
||||
(574 :offscreen "SAGE" "IT APPEARS THEY HAVE COMBINED THE FUNCTIONAL REMAINS OF A PRECURSOR ROBOT WITH SCAVENGED ARTIFACTS FROM ACROSS THE LAND.")
|
||||
(800 :offscreen "SAGE" "THEN THEY ADDED A FEW DIABOLICAL ADDITIONS OF THEIR OWN, CREATING THE ONE THING CAPABLE OF OPENING THE DARK ECO SILOS.")
|
||||
(343 "SAGE" "THERE'S NO TIME FOR JOKES, DAXTER. GOL AND MAIA KIDNAPPED US")
|
||||
(477 "SAGE" "TO SAP OUR ENERGIES TO POWER THEIR ABOMINABLE MACHINE.")
|
||||
(574)
|
||||
(577 :offscreen "SAGE" "IT APPEARS THEY HAVE COMBINED THE FUNCTIONAL REMAINS OF A PRECURSOR ROBOT")
|
||||
(710 :offscreen "SAGE" "WITH SCAVENGED ARTIFACTS FROM ACROSS THE LAND.")
|
||||
(800)
|
||||
(803 :offscreen "SAGE" "THEN THEY ADDED A FEW DIABOLICAL ADDITIONS OF THEIR OWN,")
|
||||
(921 :offscreen "SAGE" "CREATING THE ONE THING CAPABLE OF OPENING THE DARK ECO SILOS.")
|
||||
(1060 "SAGE" "IF YOU CAN FREE THE FOUR OF US, WE CAN USE OUR COMBINED POWERS")
|
||||
(1180 "SAGE" "TO BREAK THE FORCE SHIELD SURROUNDING THE ROBOT, BEFORE THEY USE IT TO DESTROY THE WORLD.")
|
||||
)
|
||||
|
||||
("redsage-resolution"
|
||||
(60 "RED SAGE" "(CHUCKLES) YOU'VE FINALLY COME TO RESCUE ME.")
|
||||
(190 "RED SAGE" "DO YOU KNOW HOW LONG I'VE BEEN IN HERE? WHAT TOOK YOU SO LONG, YOU KNOW? (CHUCKLES) WHAT ARE YOUR NAMES?")
|
||||
(429 "DAXTER" "I'M DAXTER! HE'S JAK, HE'S WITH ME.")
|
||||
(58 "RED SAGE" "(CHUCKLES) YOU'VE FINALLY COME TO RESCUE ME.")
|
||||
(190 "RED SAGE" "DO YOU KNOW HOW LONG I'VE BEEN IN HERE? WHAT TOOK YOU SO LONG? AND UH... (CHUCKLES)")
|
||||
(381 "RED SAGE" "WHAT ARE YOUR NAMES?")
|
||||
(429)
|
||||
(432 "DAXTER" "I'M DAXTER! HE'S JAK, HE'S WITH ME.")
|
||||
(540 :offscreen "RED SAGE" "GOOD JOB, DAXTER. YOU'RE A REAL HERO.")
|
||||
(670)
|
||||
(700 "RED SAGE" "YOU'VE GOT TO STOP GOL FROM LAUNCHING THE ROBOT. I'LL USE MY ECO POWER TO HELP OPEN THE SHIELD DOOR.")
|
||||
(674)
|
||||
(700 "RED SAGE" "YOU'VE GOT TO STOP GOL FROM LAUNCHING THE ROBOT.")
|
||||
(837 "RED SAGE" "I'LL USE MY ECO POWER TO HELP OPEN THE SHIELD DOOR.")
|
||||
)
|
||||
|
||||
("bluesage-resolution"
|
||||
(60 "BLUE SAGE" "GOOD WORK, FELLOWS! OLD SAMOS WAS RIGHT ABOUT YOU!")
|
||||
(165 "BLUE SAGE" "GREAT PILES OF PRECURSOR METAL! THAT INSIDIOUS MECHANICAL CREATION MUST NOT BE ALLOWED TO WREAK ITS TERRIBLE HAVOC!")
|
||||
(420 "BLUE SAGE" "I WILL TRY TO ACTUATE THE SHIELD DOOR BY ELLICITING A CONDUIT OF ENERGY BETWEEN MYSELF AND THE VAST PORTAL BELOW!")
|
||||
(63 "BLUE SAGE" "GOOD WORK, FELLOWS! OLD SAMOS WAS RIGHT ABOUT YOU!")
|
||||
(162)
|
||||
(165 "BLUE SAGE" "GREAT PILES OF PRECURSOR METAL!")
|
||||
(253 "BLUE SAGE" "THAT INSIDIOUS MECHANICAL CREATION MUST NOT BE ALLOWED TO WREAK ITS TERRIBLE HAVOC!")
|
||||
(420 "BLUE SAGE" "I WILL TRY TO ACTUATE THE SHIELD DOOR BY ELLICITING A CONDUIT OF ENERGY")
|
||||
(563 "BLUE SAGE" "BETWEEN MYSELF AND THE VAST PORTAL BELOW!")
|
||||
(666 "DAXTER" "UH... YEAH. YOU DO THAT. WE'LL UH... JUST GO FIND MORE HELP.")
|
||||
(873)
|
||||
(891 :offscreen "DAXTER" "WEIRDO!")
|
||||
@@ -190,33 +344,153 @@
|
||||
)
|
||||
|
||||
("yellowsage-resolution"
|
||||
(50 "YELLOW SAGE" "WHO WOULDA THOUGHT I'D LIVE TO SEE THE DAY WHEN I NEEDED TO BE RESCUED BY A BOY AND HIS MUSKRAT!")
|
||||
(57 "YELLOW SAGE" "WHO WOULDA THOUGHT I'D LIVE TO SEE THE DAY")
|
||||
(137 "YELLOW SAGE" "WHEN I NEEDED TO BE RESCUED BY A BOY AND HIS MUSKRAT!")
|
||||
(271 "YELLOW SAGE" "(SIGHS) I'M GONNA GIVE GOL AND MAIA A LITTLE PAYBACK FOR THIS EMBARRASSMENT!")
|
||||
(471)
|
||||
(480 "YELLOW SAGE" "THEN WE'LL SEE ABOUT COOKING UP SOME MUSKRAT STEW...")
|
||||
(606)
|
||||
(605)
|
||||
)
|
||||
|
||||
("green-sagecage-resolution"
|
||||
(30 "SAGE" "GOOD WORK, BOYS! YOU'RE REAL HEROES NOW. I'LL COMBINE MY GREEN ECO POWER WITH THE OTHER THREE SAGES")
|
||||
(284 "SAGE" "AND TOGETHER WE'LL OPEN THE SHIELD DOOR SURROUNDING THE PRECURSOR ROBOT.")
|
||||
(405 "DAXTER" "YEAH YEAH THAT SOUNDS LIKE A GOOD START. AND THEN AFTER YOU GUYS OPEN THAT SHIELD, WHAT ARE YOU GONNA DO ABOUT THE ROBOT?")
|
||||
(576 "SAGE" "NOTHING, DAXTER. WE HAVE TO KEEP THE SHIELD OPEN, IT'S UP TO YOU TWO TO FIGURE OUT HOW TO DESTROY THE ROBOT.")
|
||||
(823 "DAXTER" "OH, GREAT. I GET TO HELP THE GUY THAT TURNED ME INTO A FURBALL DESTROY THE ONLY PERSON WHO CAN TURN ME BACK!")
|
||||
(35 "SAGE" "GOOD WORK, BOYS! YOU'RE REAL HEROES NOW.")
|
||||
(158 "SAGE" "I'LL COMBINE MY GREEN ECO POWER WITH THE OTHER THREE SAGES")
|
||||
(280 "SAGE" "AND TOGETHER WE'LL OPEN THE SHIELD DOOR SURROUNDING THE PRECURSOR ROBOT.")
|
||||
(405 "DAXTER" "YEAH YEAH THAT SOUNDS LIKE A GOOD START.")
|
||||
(457 "DAXTER" "AND THEN AFTER YOU GUYS OPEN THAT SHIELD, WHAT ARE YOU GONNA DO ABOUT THE ROBOT?")
|
||||
(576 "SAGE" "NOTHING, DAXTER. WE HAVE TO KEEP THE SHIELD OPEN.")
|
||||
(704 "SAGE" "IT'S UP TO YOU TWO TO FIGURE OUT HOW TO DESTROY THE ROBOT.")
|
||||
(823 "DAXTER" "OH, GREAT. I GET TO HELP THE GUY THAT TURNED ME INTO A FURBALL")
|
||||
(983 "DAXTER" "DESTROY THE ONLY PERSON WHO CAN TURN ME BACK!")
|
||||
(1111)
|
||||
(1156 "SAGE" "FIRST, SAVE THE WORLD! THEN WE'LL TRY TO CONVINCE GOL TO HELP DAXTER.")
|
||||
(1161 "SAGE" "FIRST, SAVE THE WORLD! THEN WE'LL TRY TO CONVINCE GOL TO HELP DAXTER.")
|
||||
)
|
||||
|
||||
("green-sagecage-outro-preboss"
|
||||
(50 "GOL" "YOU'RE TOO LATE, SAMOS. ONCE I POSSESS LIMITLESS DARK ECO, I WILL HAVE THE KEY TO CREATION ITSELF!")
|
||||
(56 "GOL" "YOU'RE TOO LATE, SAMOS.")
|
||||
(125 "GOL" "ONCE I POSSESS LIMITLESS DARK ECO, I WILL HAVE THE KEY TO CREATION ITSELF!")
|
||||
(335 "SAGE" "THIS IS MADNESS! RELEASING THAT MUCH DARK ECO WILL DESTROY EVERYTHING WE KNOW!")
|
||||
(485 "SAGE" "JUST LOOK WHAT IT'S DONE TO YOU!")
|
||||
(504 "SAGE" "JUST LOOK WHAT IT'S DONE TO YOU!")
|
||||
(578)
|
||||
(581 "MAIA" "IT HAS GIVEN US A BEAUTY BEYOND ANYTHING YOU COULD UNDERSTAND.")
|
||||
(693)
|
||||
(696 "DAXTER" "BEAUTY? HAVE YOU TWO LOOKED IN A MIRROR LATELY?")
|
||||
(825)
|
||||
(828 "MAIA" "JUST WAIT UNTIL WE OPEN THE SILOS, LITTLE ONE. YOU THINK SHORT AND FUZZY IS BAD?")
|
||||
(1017 "GOL" "AND TO THINK, YOU TWO TRAVELLED ALL THIS WAY FOR MY HELP.")
|
||||
(1030 "GOL" "AND TO THINK, YOU TWO TRAVELLED ALL THIS WAY FOR MY HELP.")
|
||||
(1180 "GOL" "FOOLS! ENJOY YOUR FRONT ROW SEATS TO THE RECREATION OF THE WORLD!")
|
||||
(1382)
|
||||
(1391)
|
||||
(1605 "SAGE" "JAK! TAKE THE ELEVATOR UP AND STOP THAT ROBOT!")
|
||||
)
|
||||
|
||||
("BLU-AM01" :hint 0 (0 "BLUE SAGE" "A LITTLE BIT OF HELP WOULD BE GOOD!"))
|
||||
("BLU-AM02" :hint 0 (0 "BLUE SAGE" "OH, THIS IS A FINE MESS."))
|
||||
("BLU-AM03" :hint 0 (0 "BLUE SAGE" "HMM, QUITE AN ENIGMA WE'RE FACING."))
|
||||
("RED-AM01" :hint 0 (0 "RED SAGE" "IS ANYBODY THERE?"))
|
||||
("RED-AM02" :hint 0 (0 "RED SAGE" "WELL..."))
|
||||
("RED-AM03" :hint 0 (0 "RED SAGE" "WHAT KEPT YOU?"))
|
||||
("YEL-AM01" :hint 0 (0 "RED SAGE" "TIME IS RUNNIN' OUT!"))
|
||||
("YEL-AM02" :hint 0 (0 "RED SAGE" "HEY! GET ME OUTTA HERE!"))
|
||||
("YEL-AM03" :hint 0 (0 "RED SAGE" "WHEN I GET OUTTA HERE, SOME SHOOTIN'S GONNA START!"))
|
||||
|
||||
("sksp0381" :hint #x806 (0 "DAXTER" "BREAK THE GENERATOR TO FREE THE SAGE!"))
|
||||
("sksp0382" :hint #x807 (0 "DAXTER" "JUST HANG ON TO THE EDGE!"))
|
||||
("sksp0383" :hint #x808 (0 "DAXTER" "WE GOT COMPANY, JAK. LOOOTS OF LURKERS!"))
|
||||
("sksp0384" :hint #x809 (0 "DAXTER" "DESTROY THOSE GENERATORS!"))
|
||||
("sksp0385" :hint #x80a (0 "DAXTER" "PUSH THE BUTTON!"))
|
||||
("sksp0386" :hint #x80b (0 "DAXTER" "THAT ROBOT DOESN'T SCARE ME!"))
|
||||
("sksp0387" :hint #x80c (0 "DAXTER" "LET'S GO CLIMB UP THOSE PLATFORMS!"))
|
||||
("sksp0388" :hint #x80d (0 "DAXTER" "DON'T MISS THE NEXT LAUNCHER!"))
|
||||
("sksp0389" :hint #x80e (0 "DAXTER" "WATCH IT!"))
|
||||
("sksp0390" :hint #x80f (0 "DAXTER" "WE HAVE TO RESCUE ALL THE SAGES!"))
|
||||
("sksp0391" :hint #x810 (0 "DAXTER" "DO YOU THINK GOL WILL STILL CHANGE ME BACK?"))
|
||||
("sksp0392" :hint #x811 (0 "DAXTER" "SO THIS IS GOL AND MAIA'S CITADEL. NICE AND COZY."))
|
||||
("sksp0393" :hint #x812 (0 "DAXTER" "LAND ON THE NEXT LAUNCHER!"))
|
||||
("sksp0378" :hint #x813 (0 "DAXTER" "THE DOOR'S OPEN, LET'S GET GOING!"))
|
||||
|
||||
|
||||
;; -----------------
|
||||
;; training
|
||||
|
||||
|
||||
("asstvb40" :hint #x900
|
||||
(0 "KEIRA" "THIS DEVICE IS A COMMUNICATOR. WITH IT, MY FATHER AND I")
|
||||
(181 "KEIRA" "CAN GIVE YOU ADVICE AT ANY TIME DURING YOUR QUEST.")
|
||||
)
|
||||
("asstvb41" :hint #x901
|
||||
(0 "KEIRA" "THESE FLOATING EGG-SHAPED THINGS ARE PRECURSOR ORBS.")
|
||||
(176)
|
||||
(180 "KEIRA" "COLLECT ENOUGH OF THEM, AND SOME OF THE VILLAGERS WILL GIVE YOU")
|
||||
(315 "KEIRA" "A POWER CELL IN EXCHANGE.")
|
||||
)
|
||||
("asstvb42" :hint #x902
|
||||
(0 "KEIRA" "THIS IS A POWER CELL, THE MOST IMPORTANT PRECURSOR ARTIFACT YOU CAN FIND!")
|
||||
(327)
|
||||
(333 "KEIRA" "YOU NEED TO COLLECT 20 OF THESE SO I CAN POWER THE HEAT SHIELD")
|
||||
(507 "KEIRA" "FOR YOUR A-GRAV ZOOMER.")
|
||||
)
|
||||
("asstvb44" :hint #x903
|
||||
(0 "KEIRA" "HEY, YOU FOUND ONE OF MY SCOUT FLIES!")
|
||||
(160 "KEIRA" "I SENT 7 OF THEM TO EACH AREA TO LOOK FOR POWER CELLS")
|
||||
(343 "KEIRA" "BUT THE LURKERS MUST HAVE CAPTURED THEM ALL!")
|
||||
)
|
||||
("asstvb45" :hint #x904
|
||||
(0 "KEIRA" "WOW! THAT LAST SCOUT FLY HAD A POWER CELL!")
|
||||
(219 "KEIRA" "I'LL BET IF YOU COLLECT ALL 7 IN EACH AREA YOU CAN FIND EVEN MORE POWER CELLS.")
|
||||
)
|
||||
("asstvb46" :hint #x905
|
||||
(0 "KEIRA" "BE CAREFUL IN THE OCEAN, THE WATERS ARE CHOCK-FULL OF LURKER SHARKS")
|
||||
(258 "KEIRA" "AND I'VE NEVER SEEN ANYONE DEFEAT ONE.")
|
||||
(419)
|
||||
(426 "KEIRA" "STAY CLEAR OF THEM IF YOU KNOW WHAT'S GOOD FOR YOU!")
|
||||
)
|
||||
("asstvb47" :hint #x906 (0 "KEIRA" "REMEMBER, THAT'S A POWER CELL. YOU NEED TO COLLECT AS MANY OF THOSE AS YOU CAN."))
|
||||
("asstvb48" :hint #x907
|
||||
(0 "KEIRA" "THAT'S A BLUE ECO VENT! MORE CONCENTRATED THAN THE FLOATING CLUSTERS,")
|
||||
(253 "KEIRA" "THIS VENT WILL GIVE YOU A FULL CHARGE OF BLUE ECO,")
|
||||
(419 "KEIRA" "LETTING YOU USE IT FOR THE MAXIMUM TIME.")
|
||||
)
|
||||
("sagevb21" :hint #x908
|
||||
(3 "SAGE" "THOSE LITTLE GREEN BALLS OF ENERGY ON THE GROUND ARE A TYPE OF ECO.")
|
||||
(280 "SAGE" "PICK UP 50 SMALL GREEN ECOES, OR ONE BIG GREEN ONE TO INCREASE YOUR HEALTH.")
|
||||
)
|
||||
("sagevb22" :hint #x909
|
||||
(0 "SAGE" "THAT'S BLUE ECO, WHICH CONTAINS THE ENERGY OF MOTION.")
|
||||
(291 "SAGE" "BLUE ECO ALLOWS YOU TO RUN FAST, BREAK BOXES, AND EVEN ACTIVATE SOME PRECURSOR")
|
||||
(640 "SAGE" "ARTIFACTS WHEN YOU GET NEAR THEM.")
|
||||
)
|
||||
("sagevb23" :hint #x90a (0 "SAGE" "NOTICE HOW EACH BLUE ECO CLUSTER YOU PICK UP INCREASES THE TIME YOU CAN USE ITS POWER."))
|
||||
("sagevb24" :hint #x90b
|
||||
(3 "SAGE" "THIS IS A PRECURSOR DOOR. IT CAN ONLY BE OPENED BY APPROACHING THE DOOR")
|
||||
(357 "SAGE" "WHILE CHANNELING BLUE ECO THROUGH YOUR BODY.")
|
||||
)
|
||||
("sagevb25" :hint #x90c
|
||||
(3 "SAGE" "GOOD WORK, THE BLUE ECO CAUSED THE DOOR TO OPEN. WITH BLUE ECO, YOU CAN BREATHE")
|
||||
(365 "SAGE" "ENERGY INTO ALL KINDS OF PRECURSOR ARTIFACTS THAT HAVE LAIN DORMANT FOR YEARS.")
|
||||
)
|
||||
("sagevb26" :hint #x90d (0 "SAGE" "USE YOUR GOGGLES TO VIEW YOUR PROGRESS DURING THE ADVENTURE."))
|
||||
("sagevb27" :hint #x90e (1 "SAGE" "YOU CAN JUMP ONCE, THEN JUMP AGAIN IN THE AIR TO REACH EVEN HIGHER LEDGES."))
|
||||
("sagevb28" :hint #x90f (0 "SAGE" "WHEN YOU'RE SURROUNDED BY ENEMIES, USE YOUR SPIN KICK."))
|
||||
("sagevb29" :hint #x910 (0 "SAGE" "THAT'S NOT A SPIN KICK! TRY AGAIN."))
|
||||
("sagevb30" :hint #x911 (0 "SAGE" "COME ON, JAK! DO A SPIN KICK."))
|
||||
("sagevb31" :hint #x912 (0 "SAGE" "GOOD WORK. USE THE SPIN KICK WHEN YOU WANT A GOOD ALL-ROUND ATTACK."))
|
||||
("sagevb32" :hint #x913 (0 "SAGE" "FOR A STRAIGHT LINE, MOVING ATTACK, USE YOUR FIST TO PUNCH."))
|
||||
("sagevb33" :hint #x914 (0 "SAGE" "THAT'S NOT A PUNCH ATTACK! LET'S SEE YOU PUNCH ALREADY."))
|
||||
("sagevb34" :hint #x915 (0 "SAGE" "JAK! USE A PUNCH."))
|
||||
("sagevb35" :hint #x916 (0 "SAGE" "GREAT JOB. USE THE PUNCH TO CLOSE DISTANCE QUICKLY IN A TOUGH SPOT."))
|
||||
("sagevb36" :hint #x917
|
||||
(0 "SAGE" "SOMETIMES YOU'LL WANT TO HIT THINGS WITH A GREATER FORCE.")
|
||||
(218 "SAGE" "TO BREAK ONE OF THESE BOXES, YOU SHOULD JUMP IN THE AIR")
|
||||
(420 "SAGE" "AND THEN DIVE DOWN ONTO IT, HANDS FIRST.")
|
||||
)
|
||||
("sagevb37" :hint #x918 (0 "SAGE" "WHEN YOU GET SOME CONFIDENCE, TRY USING SOME OF YOUR MOVES IN COMBINATIONS."))
|
||||
("sagevb38" :hint #x919
|
||||
(0 "SAGE" "YOU CAN'T COME BACK THROUGH THE WARP GATE UNTIL YOU FIND")
|
||||
(168 "SAGE" "ALL 4 POWER CELLS ON THIS ISLAND.")
|
||||
)
|
||||
("sagevb39" :hint #x91a
|
||||
(0 "SAGE" "GREAT! YOU FOUND ALL OF THE POWER CELLS ON THE ISLAND.")
|
||||
(269 "SAGE" "COME BACK TO THE WARP GATE SO I CAN BRING YOU BACK TO THE LAB. HURRY UP!")
|
||||
)
|
||||
|
||||
|
||||
|
||||
@@ -217,7 +217,6 @@
|
||||
"goal_src/engine/level/level-info.gc"
|
||||
"goal_src/engine/level/level.gc"
|
||||
"goal_src/engine/ui/text.gc"
|
||||
"goal_src/pc/subtitle.gc" ;; added
|
||||
"goal_src/engine/collide/collide-probe.gc"
|
||||
"goal_src/engine/collide/collide-frag.gc"
|
||||
"goal_src/engine/collide/collide-mesh.gc"
|
||||
@@ -303,6 +302,7 @@
|
||||
"goal_src/engine/debug/viewer.gc"
|
||||
"goal_src/engine/debug/part-tester.gc"
|
||||
"goal_src/engine/debug/default-menu.gc"
|
||||
"goal_src/pc/subtitle.gc" ;; added
|
||||
"goal_src/levels/common/texture-upload.gc"
|
||||
"goal_src/levels/common/rigid-body-h.gc"
|
||||
"goal_src/levels/common/water-anim.gc"
|
||||
|
||||
@@ -209,7 +209,6 @@
|
||||
("level-info.o" "level-info")
|
||||
("level.o" "level")
|
||||
("text.o" "text")
|
||||
("subtitle.o" "subtitle") ;; added
|
||||
("collide-probe.o" "collide-probe")
|
||||
("collide-frag.o" "collide-frag")
|
||||
("collide-mesh.o" "collide-mesh")
|
||||
@@ -296,5 +295,6 @@
|
||||
("viewer.o" "viewer")
|
||||
("part-tester.o" "part-tester")
|
||||
("default-menu.o" "default-menu")
|
||||
("subtitle.o" "subtitle") ;; added
|
||||
)
|
||||
|
||||
|
||||
@@ -205,7 +205,6 @@
|
||||
("level-info.o" "level-info")
|
||||
("level.o" "level")
|
||||
("text.o" "text")
|
||||
("subtitle.o" "subtitle") ;; added
|
||||
("collide-probe.o" "collide-probe")
|
||||
("collide-frag.o" "collide-frag")
|
||||
("collide-mesh.o" "collide-mesh")
|
||||
@@ -292,6 +291,7 @@
|
||||
("viewer.o" "viewer")
|
||||
("part-tester.o" "part-tester")
|
||||
("default-menu.o" "default-menu")
|
||||
("subtitle.o" "subtitle") ;; added
|
||||
("dir-tpages.go" "dir-tpages")
|
||||
("tpage-463.go" "tpage-463")
|
||||
("tpage-2.go" "tpage-2")
|
||||
|
||||
@@ -308,6 +308,7 @@
|
||||
(none)
|
||||
)
|
||||
|
||||
(#when PC_PORT (define *level-hint-spool-name* (the string #f)))
|
||||
(defbehavior level-hint-init-by-other level-hint ((arg0 game-text-id) (arg1 string) (arg2 entity))
|
||||
(mark-text-as-seen *game-info* arg0)
|
||||
(set! (-> self text-id-to-display) arg0)
|
||||
@@ -489,6 +490,7 @@
|
||||
)
|
||||
:exit
|
||||
(behavior ()
|
||||
(#when PC_PORT (set! *level-hint-spool-name* (the string #f)))
|
||||
(if (nonzero? (-> self sound-id))
|
||||
(sound-stop (-> self sound-id))
|
||||
)
|
||||
@@ -503,6 +505,7 @@
|
||||
)
|
||||
:code
|
||||
(behavior ((arg0 string))
|
||||
(#when PC_PORT (set! *level-hint-spool-name* arg0))
|
||||
(when (and (-> *setting-control* current play-hints) (< 0.0 (-> *setting-control* current dialog-volume)))
|
||||
(case (-> self mode)
|
||||
(('voicebox)
|
||||
|
||||
@@ -22,15 +22,15 @@
|
||||
;; for example, the introduction to orbs in geyser, or the camera that shows you where the steps to fire canyon
|
||||
;; are.
|
||||
(deftype pov-camera (process-drawable)
|
||||
((cspace-array cspace-array :offset 112)
|
||||
(flags pov-camera-flag :offset-assert 176)
|
||||
(debounce-start-time time-frame :offset-assert 184)
|
||||
(notify-handle handle :offset-assert 192)
|
||||
(anim-name string :offset-assert 200)
|
||||
(command-list pair :offset-assert 204)
|
||||
(mask-to-clear uint32 :offset-assert 208)
|
||||
(music-volume-movie float :offset-assert 212)
|
||||
(sfx-volume-movie float :offset-assert 216)
|
||||
((cspace-array cspace-array :offset 112)
|
||||
(flags pov-camera-flag :offset-assert 176)
|
||||
(debounce-start-time time-frame :offset-assert 184)
|
||||
(notify-handle handle :offset-assert 192)
|
||||
(anim-name string :offset-assert 200)
|
||||
(command-list pair :offset-assert 204)
|
||||
(mask-to-clear process-mask :offset-assert 208)
|
||||
(music-volume-movie float :offset-assert 212)
|
||||
(sfx-volume-movie float :offset-assert 216)
|
||||
)
|
||||
:heap-base #x70
|
||||
:method-count-assert 30
|
||||
|
||||
@@ -293,14 +293,14 @@
|
||||
((= (-> arg2 type) spool-anim)
|
||||
)
|
||||
)
|
||||
(set! (-> self mask-to-clear) (the-as uint #x4a0800))
|
||||
(set! (-> self mask-to-clear) (process-mask movie enemy platform projectile))
|
||||
(set! (-> self event-hook) (lambda :behavior pov-camera
|
||||
((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
|
||||
(let ((v1-0 arg2))
|
||||
(the-as object (cond
|
||||
((= v1-0 'mask)
|
||||
(let ((v0-0 (the-as number (-> arg3 param 0))))
|
||||
(set! (-> self mask-to-clear) (the-as uint v0-0))
|
||||
(set! (-> self mask-to-clear) (the-as process-mask v0-0))
|
||||
v0-0
|
||||
)
|
||||
)
|
||||
|
||||
@@ -112,9 +112,9 @@
|
||||
(grab-target handle :offset 120)
|
||||
(grab-event symbol :offset-assert 128)
|
||||
(release-event symbol :offset-assert 132)
|
||||
(old-global-mask uint32 :offset-assert 136)
|
||||
(old-self-mask uint32 :offset-assert 140)
|
||||
(old-parent-mask uint32 :offset-assert 144)
|
||||
(old-global-mask process-mask :offset-assert 136)
|
||||
(old-self-mask process-mask :offset-assert 140)
|
||||
(old-parent-mask process-mask :offset-assert 144)
|
||||
(look-at-target handle :offset-assert 152)
|
||||
(pov-target handle :offset-assert 160)
|
||||
(work-process handle :offset-assert 168)
|
||||
@@ -124,7 +124,7 @@
|
||||
(userdata basic :offset-assert 196)
|
||||
(message basic :offset-assert 200)
|
||||
(border-value basic :offset-assert 204)
|
||||
(mask-to-clear uint32 :offset-assert 208)
|
||||
(mask-to-clear process-mask :offset-assert 208)
|
||||
(script pair :offset-assert 212)
|
||||
(script-line pair :offset-assert 216)
|
||||
(script-func (function none) :offset-assert 220)
|
||||
@@ -199,17 +199,17 @@
|
||||
|
||||
;; control the camera from something else (an animation)
|
||||
(deftype othercam (process)
|
||||
((hand handle :offset-assert 112)
|
||||
(old-global-mask uint32 :offset-assert 120)
|
||||
(mask-to-clear uint32 :offset-assert 124)
|
||||
(cam-joint-index int32 :offset-assert 128)
|
||||
(old-pos vector :inline :offset-assert 144)
|
||||
(old-mat-z vector :inline :offset-assert 160)
|
||||
(had-valid-frame basic :offset-assert 176)
|
||||
(border-value basic :offset-assert 180)
|
||||
(die? symbol :offset-assert 184)
|
||||
(survive-anim-end? symbol :offset-assert 188)
|
||||
(spooling? symbol :offset-assert 192)
|
||||
((hand handle :offset-assert 112)
|
||||
(old-global-mask process-mask :offset-assert 120)
|
||||
(mask-to-clear process-mask :offset-assert 124)
|
||||
(cam-joint-index int32 :offset-assert 128)
|
||||
(old-pos vector :inline :offset-assert 144)
|
||||
(old-mat-z vector :inline :offset-assert 160)
|
||||
(had-valid-frame basic :offset-assert 176)
|
||||
(border-value basic :offset-assert 180)
|
||||
(die? symbol :offset-assert 184)
|
||||
(survive-anim-end? symbol :offset-assert 188)
|
||||
(spooling? symbol :offset-assert 192)
|
||||
)
|
||||
:heap-base #x60
|
||||
:method-count-assert 14
|
||||
|
||||
@@ -1144,7 +1144,7 @@
|
||||
)
|
||||
((= v1-0 'mask)
|
||||
(set! v0-0 (-> arg3 param 0))
|
||||
(set! (-> self mask-to-clear) v0-0)
|
||||
(set! (-> self mask-to-clear) (the-as process-mask v0-0))
|
||||
v0-0
|
||||
)
|
||||
((= v1-0 'border)
|
||||
@@ -1203,7 +1203,7 @@
|
||||
(defbehavior camera-tracker-init camera-tracker ((arg0 object))
|
||||
(stack-size-set! (-> self main-thread) 512)
|
||||
(logclear! (-> self mask) (process-mask actor-pause movie enemy platform projectile))
|
||||
(set! (-> self mask-to-clear) (the-as uint #x4a0800))
|
||||
(set! (-> self mask-to-clear) (process-mask movie enemy platform projectile))
|
||||
(set! (-> self grab-target) (the-as handle #f))
|
||||
(set! (-> self grab-event) 'grab)
|
||||
(set! (-> self release-event) 'end-mode)
|
||||
|
||||
@@ -1304,7 +1304,7 @@
|
||||
)
|
||||
(('mask)
|
||||
(set! v0-0 (-> arg3 param 0))
|
||||
(set! (-> self mask-to-clear) (the-as uint v0-0))
|
||||
(set! (-> self mask-to-clear) (the-as process-mask v0-0))
|
||||
v0-0
|
||||
)
|
||||
)
|
||||
@@ -1424,7 +1424,7 @@
|
||||
(set! (-> self border-value) #f)
|
||||
(set! (-> self die?) #f)
|
||||
(set! (-> self survive-anim-end?) arg2)
|
||||
(set! (-> self mask-to-clear) (the-as uint #x4a0800))
|
||||
(set! (-> self mask-to-clear) (process-mask movie enemy platform projectile))
|
||||
(set! (-> self event-hook) (-> othercam-running event))
|
||||
(go othercam-running)
|
||||
0
|
||||
@@ -1434,7 +1434,10 @@
|
||||
(defmethod draw-npc-shadow process-taskable ((obj process-taskable))
|
||||
(let ((gp-0 (-> obj draw shadow-ctrl)))
|
||||
(cond
|
||||
((and (-> obj draw shadow) (zero? (-> obj draw cur-lod)) (logtest? (-> obj draw status) (draw-status was-drawn)))
|
||||
((and (-> obj draw shadow)
|
||||
(zero? (-> obj draw cur-lod))
|
||||
(logtest? (-> obj draw status) (draw-status was-drawn))
|
||||
)
|
||||
(collide-to-find-planes gp-0 (-> obj draw origin) -4096.0 4096.0 32768.0)
|
||||
(update-direction-from-time-of-day gp-0)
|
||||
)
|
||||
|
||||
@@ -191,13 +191,16 @@
|
||||
(misty-daxter-hit-lurkers-not-mines #x27f)
|
||||
|
||||
(sidekick-speech-hint-crate-darkeco1 #x281)
|
||||
|
||||
(sidekick-speech-crate-steel-break1 #x283)
|
||||
(sidekick-speech-hint-crate-iron #x284)
|
||||
(sidekick-speech-hint-crate-steel #x285)
|
||||
|
||||
(beach-collectors-unblocked #x288)
|
||||
(jungleb-eco-vents-opened #x289)
|
||||
(misty-stopped-lurkers-at-silo #x28a)
|
||||
(misty-stopped-balloon-lurkers #x28b)
|
||||
(jungleb-eco-vents-opened #x289)
|
||||
|
||||
(sidekick-speech-crate-steel-break2 #x28e)
|
||||
(sidekick-speech-hint-crate-darkeco2 #x28f)
|
||||
|
||||
@@ -216,13 +219,10 @@
|
||||
|
||||
(misty-teetertotter-bonk-dax-tutorial #x2a4)
|
||||
(sidekick-hint-misty-get-red-eco #x2a5)
|
||||
|
||||
(red-eco-tutorial #x2a6)
|
||||
|
||||
(daxter-blue-eco-plat-tutorial #x2a7)
|
||||
|
||||
(fish? #x2a9)
|
||||
|
||||
(misty-bone-bridge-hint #x2aa)
|
||||
|
||||
(beach-grottopole-increment #x2af)
|
||||
|
||||
+1
-1
@@ -1920,7 +1920,7 @@
|
||||
;; Custom or Modified Code
|
||||
(goal-src "pc/pckernel-h.gc" "dma-disasm")
|
||||
(goal-src "pc/pckernel.gc" "settings")
|
||||
(goal-src "pc/subtitle.gc" "text")
|
||||
(goal-src "pc/subtitle.gc" "text" "pckernel" "hint-control" "loader-h" "gsound" "ambient")
|
||||
(goal-src "pc/progress-pc.gc" "progress" "pckernel")
|
||||
|
||||
|
||||
|
||||
+106
-42
@@ -5,8 +5,8 @@
|
||||
|
||||
Code for subtitles for the PC port. A PC actor pool is provided, and the subtitle process lives there.
|
||||
It automatically detects the currently playing cutscene and plays the subtitles for it on channel 0.
|
||||
Channel 1 and 2 are reserved for ambient sounds, which cannot be auto-detected, so the ambient-control needs to
|
||||
notify the subtitle process manually (TODO: verify this!)
|
||||
The other two channels are for hints, first checked automatically by name, then by text ID.
|
||||
There is a hack in ambient.gc to store the name of the last ambient hint vag played to aid in this.
|
||||
|
||||
Similarly to the generic text file, only one subtitles text file is loaded at once, stored in a specific
|
||||
heap.
|
||||
@@ -23,6 +23,7 @@
|
||||
|
||||
(defconstant PC_SUBTITLE_FILE_SIZE (* 64 1024)) ;; 64K heap for subtitles. adjust later if necessary.
|
||||
(defconstant PC_SUBTITLE_FILE_NAME "subtit")
|
||||
(defconstant PC_SUBTITLE_STR_ADJUST 17)
|
||||
(defglobalconstant PC_SUBTITLE_DEBUG #f)
|
||||
|
||||
|
||||
@@ -39,7 +40,7 @@
|
||||
;; enum for the subtitle channels, no more than 2 bytes!
|
||||
(defenum pc-subtitle-channel
|
||||
:type int16
|
||||
(invalid -1) (movie 0) (ambient 1) (hint 2))
|
||||
(invalid -1) (movie 0) (hint 1) (hint-named 2))
|
||||
(defconstant SUBTITLE_CHANNEL_COUNT 3)
|
||||
|
||||
(defenum pc-subtitle-flags
|
||||
@@ -71,10 +72,10 @@
|
||||
|
||||
;; now we store a way to identify and lookup the subtitles.
|
||||
|
||||
;; the game-text-id if this is for a hint
|
||||
(id game-text-id :offset 8)
|
||||
;; the name of the spool-anim
|
||||
(name string :offset 8)
|
||||
;; the game-text-id if this is for a hint
|
||||
(id game-text-id :offset 12)
|
||||
;; the 8-character name for an ambient or hint
|
||||
(hash uint64 :offset 8)
|
||||
|
||||
@@ -94,6 +95,7 @@
|
||||
|
||||
(:methods
|
||||
(get-scene-by-name (_type_ pc-subtitle-channel string) subtitle-text)
|
||||
(get-scene-by-text-id (_type_ pc-subtitle-channel game-text-id) subtitle-text)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -122,9 +124,9 @@
|
||||
(define *SUBTITLE-bank*
|
||||
(new 'static 'subtitle-bank
|
||||
:scale 0.49
|
||||
:width 0.85
|
||||
:height 0.8
|
||||
:lines 3.0
|
||||
:width 0.87
|
||||
:height 0.82
|
||||
:lines 2.0
|
||||
))
|
||||
|
||||
;; the subtitle process! it lives on the PC actor pool and awaits for incoming subtitle messages, or a movie
|
||||
@@ -135,6 +137,7 @@
|
||||
|
||||
( spool-name string)
|
||||
(old-spool-name string)
|
||||
(text-id game-text-id)
|
||||
(cur-channel pc-subtitle-channel)
|
||||
|
||||
(want-subtitle subtitle-keyframe) ;; the subtitle we want to display
|
||||
@@ -174,6 +177,10 @@
|
||||
(defmethod get-scene-by-name subtitle-text-info ((obj subtitle-text-info) (kind pc-subtitle-channel) (name string))
|
||||
"get a subtitle scene info with the corresponding name. #f = none found"
|
||||
|
||||
;; invalid kind so return invalid scene.
|
||||
(if (or (not name) (= kind (pc-subtitle-channel invalid)))
|
||||
(return (the subtitle-text #f)))
|
||||
|
||||
(dotimes (i (-> obj length))
|
||||
;; name and kind matches, return that!
|
||||
(when (and (= kind (-> obj data i kind)) (string= (-> obj data i name) name))
|
||||
@@ -183,6 +190,22 @@
|
||||
|
||||
(the subtitle-text #f))
|
||||
|
||||
(defmethod get-scene-by-text-id subtitle-text-info ((obj subtitle-text-info) (kind pc-subtitle-channel) (id game-text-id))
|
||||
"get a subtitle scene info with the corresponding name. #f = none found"
|
||||
|
||||
;; invalid kind so return invalid scene.
|
||||
(if (= kind (pc-subtitle-channel invalid))
|
||||
(return (the subtitle-text #f)))
|
||||
|
||||
(dotimes (i (-> obj length))
|
||||
;; name and kind matches, return that!
|
||||
(when (and (= kind (-> obj data i kind)) (= (-> obj data i id) id))
|
||||
(return (-> obj data i))
|
||||
)
|
||||
)
|
||||
|
||||
(the subtitle-text #f))
|
||||
|
||||
(defun load-subtitle-text-info ((txt-name string) (curr-text symbol) (heap kheap))
|
||||
"load a subtitles text file onto a heap.
|
||||
txt-name = language-agnostic file name
|
||||
@@ -505,9 +528,13 @@
|
||||
"can a subtitle be displayed right now?"
|
||||
(and (-> *pc-settings* subtitles?) ;; subtitles enabled
|
||||
(or *debug-segment* (= *master-mode* 'game)) ;; current mode is game, OR we are just debugging
|
||||
(not *progress-process*) ;; no progress open
|
||||
)
|
||||
)
|
||||
|
||||
(defun subtitle-str-adjust ((pos int))
|
||||
(if (< pos 0) -1 (/ pos PC_SUBTITLE_STR_ADJUST)))
|
||||
|
||||
|
||||
(defstate subtitle-process (subtitle)
|
||||
|
||||
@@ -535,49 +562,85 @@
|
||||
(set! (-> self cur-channel) (pc-subtitle-channel invalid))
|
||||
|
||||
;; check what kind of subtitles are running
|
||||
(when (and (movie?) (-> *art-control* spool-lock) (-> *art-control* active-stream))
|
||||
;; there's a cutscene happening and an active spool with a valid owner.
|
||||
(set! (-> self spool-name) (-> *art-control* active-stream))
|
||||
(set! (-> self cur-channel) (pc-subtitle-channel movie))
|
||||
(with-proc ((handle->process (-> *art-control* spool-lock)))
|
||||
(format *stdcon* "movie spool detected~%current spool frame is ~D~%" (the int (ja-aframe-num 0)))
|
||||
)
|
||||
(cond
|
||||
((and (movie?) (-> *art-control* spool-lock) (-> *art-control* active-stream))
|
||||
;; there's a cutscene happening and an active spool with a valid owner.
|
||||
(set! (-> self spool-name) (-> *art-control* active-stream))
|
||||
(set! (-> self cur-channel) (pc-subtitle-channel movie))
|
||||
(with-proc ((handle->process (-> *art-control* spool-lock)))
|
||||
(format *stdcon* "movie spool detected:~%~3L~A~0L~%current spool frame is ~3L~D~0L~%"
|
||||
(-> *art-control* active-stream) (the int (ja-aframe-num 0)))
|
||||
)
|
||||
)
|
||||
(*hint-semaphore*
|
||||
;; there's a hint playing
|
||||
(set! (-> self spool-name) (-> *hint-semaphore* 0 sound-to-play))
|
||||
(unless (-> self spool-name)
|
||||
(set! (-> self spool-name) *level-hint-spool-name*))
|
||||
(set! (-> self text-id) (-> *hint-semaphore* 0 text-id-to-display))
|
||||
(set! (-> self cur-channel) (if (-> self spool-name)
|
||||
(pc-subtitle-channel hint-named)
|
||||
(pc-subtitle-channel hint)))
|
||||
(format *stdcon* "hint detected!~%~3L~A~0L/~3L#x~X~0L~%current str pos is ~D (~3L~D~0L)~%"
|
||||
(-> self spool-name) (-> self text-id)
|
||||
(current-str-pos (-> *hint-semaphore* 0 sound-id))
|
||||
(subtitle-str-adjust (current-str-pos (-> *hint-semaphore* 0 sound-id))))
|
||||
)
|
||||
)
|
||||
|
||||
;; do subtitles
|
||||
(case (-> self cur-channel)
|
||||
(((pc-subtitle-channel movie))
|
||||
;; cutscenes, check if user toggled subtitles
|
||||
(if (and (= 'game *master-mode*) (cpad-pressed? 0 square))
|
||||
(not! (-> *pc-settings* subtitles?)))
|
||||
|
||||
(when (subtitle?)
|
||||
;; subtitles on! get a subtitle info that matches our current cutscene, and find at what point we're in.
|
||||
(let ((scene (get-scene-by-name *subtitle-text* (-> self cur-channel) (-> self spool-name))))
|
||||
(when scene
|
||||
;; got a scene! get closest subtitle now.
|
||||
(let ((pos 0)
|
||||
(keyframe (the subtitle-keyframe #f)))
|
||||
;; get frame num
|
||||
(with-proc ((handle->process (-> *art-control* spool-lock)))
|
||||
(set! pos (the int (ja-aframe-num 0)))
|
||||
)
|
||||
;; find closest keyframe
|
||||
(dotimes (i (-> scene length))
|
||||
(when (>= pos (-> scene keyframes i frame))
|
||||
(set! keyframe (-> scene keyframes i)))
|
||||
)
|
||||
;; and save it!
|
||||
(set! (-> self want-subtitle) keyframe)
|
||||
)
|
||||
|
||||
;; get a subtitle info that matches our current status
|
||||
(let ((keyframe (the subtitle-keyframe #f)))
|
||||
(case (-> self cur-channel)
|
||||
(((pc-subtitle-channel movie))
|
||||
;; cutscenes. get our cutscene.
|
||||
(awhen (get-scene-by-name *subtitle-text* (-> self cur-channel) (-> self spool-name))
|
||||
|
||||
;; find out position in the scene.
|
||||
(let ((pos 0))
|
||||
;; get frame num
|
||||
(with-proc ((handle->process (-> *art-control* spool-lock)))
|
||||
(set! pos (the int (ja-aframe-num 0)))
|
||||
)
|
||||
;; find closest keyframe
|
||||
(dotimes (i (-> it length))
|
||||
(when (>= pos (-> it keyframes i frame))
|
||||
(set! keyframe (-> it keyframes i)))
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; keep this for later
|
||||
(set! (-> self old-spool-name) (-> self spool-name))
|
||||
)
|
||||
(((pc-subtitle-channel hint) (pc-subtitle-channel hint-named))
|
||||
;; hint! find it. or else.
|
||||
(awhen (if (= (-> self cur-channel) (pc-subtitle-channel hint-named))
|
||||
(get-scene-by-name *subtitle-text* (-> self cur-channel) (-> self spool-name))
|
||||
(get-scene-by-text-id *subtitle-text* (-> self cur-channel) (-> self text-id))
|
||||
)
|
||||
|
||||
(let ((pos (subtitle-str-adjust (current-str-pos (-> *hint-semaphore* 0 sound-id)))))
|
||||
;; find closest keyframe
|
||||
(dotimes (i (-> it length))
|
||||
(when (>= pos (-> it keyframes i frame))
|
||||
(set! keyframe (-> it keyframes i)))
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
;; save whatever subtitle we got.
|
||||
(set! (-> self want-subtitle) keyframe))
|
||||
|
||||
;; during a cutscene, check if user toggled subtitles
|
||||
(if (and (= (pc-subtitle-channel movie) (-> self cur-channel))
|
||||
(= 'game *master-mode*)
|
||||
(-> self want-subtitle)
|
||||
(cpad-pressed? 0 square))
|
||||
(not! (-> *pc-settings* subtitles?)))
|
||||
|
||||
(when *debug-segment*
|
||||
(when (and (cpad-hold? 0 l3) (cpad-pressed? 0 start))
|
||||
@@ -598,8 +661,9 @@
|
||||
(set-height! (-> self font) (the int (* (-> *SUBTITLE-bank* lines) 11)))
|
||||
(set-scale! (-> self font) (-> *SUBTITLE-bank* scale))
|
||||
|
||||
(when (-> self want-subtitle)
|
||||
(when (and (-> self want-subtitle) (subtitle?))
|
||||
;; we got a valid subtitle! render it.
|
||||
(hide-bottom-hud)
|
||||
(print-game-subtitle (subtitle-format self (-> self want-subtitle)) (-> self font) #f 128 22)
|
||||
(#when PC_SUBTITLE_DEBUG
|
||||
(draw-debug-text-box (-> self font))
|
||||
|
||||
@@ -237,12 +237,36 @@ void parse_subtitle(const goos::Object& data, GameTextVersion text_ver, GameSubt
|
||||
});
|
||||
}
|
||||
|
||||
else if (head.is_string()) {
|
||||
else if (head.is_string() || head.is_int()) {
|
||||
if (banks.size() == 0) {
|
||||
throw std::runtime_error("At least one language must be set before defining entries.");
|
||||
throw std::runtime_error("At least one language must be set before defining scenes.");
|
||||
}
|
||||
GameSubtitleSceneInfo scene(head.as_string()->data);
|
||||
for_each_in_list(cdr(obj), [&](const goos::Object& entry) {
|
||||
auto kind = SubtitleSceneKind::Movie;
|
||||
int id = 0;
|
||||
auto entries = cdr(obj);
|
||||
if (head.is_int()) {
|
||||
kind = SubtitleSceneKind::Hint;
|
||||
} else if (car(entries).is_symbol()) {
|
||||
const auto& parm = car(entries).as_symbol()->name;
|
||||
if (parm == ":hint") {
|
||||
entries = cdr(entries);
|
||||
id = car(entries).as_int();
|
||||
kind = SubtitleSceneKind::HintNamed;
|
||||
} else {
|
||||
throw std::runtime_error("Unknown parameter for subtitle scene");
|
||||
}
|
||||
entries = cdr(entries);
|
||||
}
|
||||
|
||||
GameSubtitleSceneInfo scene(kind);
|
||||
if (kind == SubtitleSceneKind::Movie || kind == SubtitleSceneKind::HintNamed) {
|
||||
scene.set_name(head.as_string()->data);
|
||||
} else if (kind == SubtitleSceneKind::Hint) {
|
||||
id = head.as_int();
|
||||
}
|
||||
scene.set_id(id);
|
||||
|
||||
for_each_in_list(entries, [&](const goos::Object& entry) {
|
||||
if (entry.is_pair()) {
|
||||
// expected formats:
|
||||
// (time <args>)
|
||||
@@ -271,8 +295,12 @@ void parse_subtitle(const goos::Object& data, GameTextVersion text_ver, GameSubt
|
||||
throw std::runtime_error(
|
||||
"Invalid object in subtitle entry, expecting actual line string after speaker");
|
||||
} else if (arg.is_symbol()) {
|
||||
if (arg.as_symbol()->name == ":offscreen") {
|
||||
if (scene.kind() == SubtitleSceneKind::Movie &&
|
||||
arg.as_symbol()->name == ":offscreen") {
|
||||
offscreen = true;
|
||||
} else {
|
||||
throw std::runtime_error(
|
||||
fmt::format("Unknown parameter {} in subtitle", arg.as_symbol()->name));
|
||||
}
|
||||
}
|
||||
});
|
||||
@@ -287,7 +315,6 @@ void parse_subtitle(const goos::Object& data, GameTextVersion text_ver, GameSubt
|
||||
if (!bank->scene_exists(scene.name())) {
|
||||
bank->add_scene(scene);
|
||||
} else {
|
||||
// this should copy the data, so it's safe to delete the new one afterwards.
|
||||
auto& old_scene = bank->scene_by_name(scene.name());
|
||||
old_scene.from_other_scene(scene);
|
||||
}
|
||||
@@ -320,15 +347,19 @@ void compile_subtitle(GameSubtitleDB& db) {
|
||||
std::queue<int> array_link_sources;
|
||||
// now add all the scene infos
|
||||
for (auto& [name, scene] : bank->scenes()) {
|
||||
gen.add_word(0 |
|
||||
gen.add_word((u16)scene.kind() |
|
||||
(scene.lines().size() << 16)); // kind (lower 16 bits), length (upper 16 bits)
|
||||
|
||||
array_link_sources.push(gen.words());
|
||||
gen.add_word(0); // keyframes (linked later)
|
||||
|
||||
gen.add_ref_to_string_in_pool(scene.name()); // name
|
||||
|
||||
gen.add_word(0); // pad (string is 4 bytes but we have 8)
|
||||
if (scene.kind() == SubtitleSceneKind::Movie ||
|
||||
scene.kind() == SubtitleSceneKind::HintNamed) {
|
||||
gen.add_ref_to_string_in_pool(scene.name()); // name
|
||||
} else if (scene.kind() == SubtitleSceneKind::Hint) {
|
||||
gen.add_word(0); // nothing
|
||||
}
|
||||
gen.add_word(scene.id());
|
||||
}
|
||||
// now add all the scene *data!* (keyframes)
|
||||
for (auto& [name, scene] : bank->scenes()) {
|
||||
|
||||
@@ -66,11 +66,9 @@ class GameTextDB {
|
||||
* The subtitle scene info (accessed through the scene name) contains all lines and their timestamps
|
||||
* and other settings.
|
||||
*/
|
||||
enum class SubtitleSceneKind { Invalid = -1, Movie = 0, Hint = 1, HintNamed = 2 };
|
||||
class GameSubtitleSceneInfo {
|
||||
public:
|
||||
GameSubtitleSceneInfo() {}
|
||||
GameSubtitleSceneInfo(std::string name) : m_name(name) {}
|
||||
|
||||
struct SubtitleLine {
|
||||
SubtitleLine(int frame, std::string line, std::string speaker, bool offscreen)
|
||||
: frame(frame), line(line), speaker(speaker), offscreen(offscreen) {}
|
||||
@@ -81,12 +79,22 @@ class GameSubtitleSceneInfo {
|
||||
bool offscreen;
|
||||
};
|
||||
|
||||
GameSubtitleSceneInfo() {}
|
||||
GameSubtitleSceneInfo(SubtitleSceneKind kind) : m_kind(kind) {}
|
||||
|
||||
const std::string& name() const { return m_name; }
|
||||
const std::vector<SubtitleLine>& lines() const { return m_lines; }
|
||||
int id() const { return m_id; }
|
||||
SubtitleSceneKind kind() const { return m_kind; }
|
||||
|
||||
void clear_lines() { m_lines.clear(); }
|
||||
void set_name(const std::string& new_name) { m_name = new_name; }
|
||||
void set_id(int new_id) { m_id = new_id; }
|
||||
void from_other_scene(GameSubtitleSceneInfo& scene) {
|
||||
m_name = scene.name();
|
||||
m_lines = scene.lines();
|
||||
m_kind = scene.kind();
|
||||
m_id = scene.id();
|
||||
}
|
||||
|
||||
void add_line(int frame, std::string line, std::string speaker, bool offscreen) {
|
||||
@@ -95,7 +103,9 @@ class GameSubtitleSceneInfo {
|
||||
|
||||
private:
|
||||
std::string m_name;
|
||||
int m_id;
|
||||
std::vector<SubtitleLine> m_lines;
|
||||
SubtitleSceneKind m_kind;
|
||||
};
|
||||
|
||||
/*!
|
||||
|
||||
+5
-5
@@ -695,7 +695,7 @@
|
||||
*temp-string*
|
||||
(add-debug-text-3d
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
*temp-string*
|
||||
(-> arg0 bsphere)
|
||||
(font-color orange-red)
|
||||
@@ -1183,7 +1183,7 @@
|
||||
(when *display-ambient-sound-marks*
|
||||
(add-debug-text-3d
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(symbol->string (res-lump-struct obj 'effect-name symbol :time 0.0))
|
||||
gp-0
|
||||
(font-color white)
|
||||
@@ -1211,7 +1211,7 @@
|
||||
(when (and (nonzero? a1-7) *common-text*)
|
||||
(add-debug-text-3d
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(lookup-text! *common-text* (the-as game-text-id a1-7) #f)
|
||||
gp-0
|
||||
(font-color white)
|
||||
@@ -1277,7 +1277,7 @@
|
||||
)
|
||||
(add-debug-text-3d
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(res-lump-struct obj 'name string)
|
||||
gp-0
|
||||
(font-color white)
|
||||
@@ -1285,7 +1285,7 @@
|
||||
)
|
||||
(add-debug-text-3d
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(symbol->string s5-0)
|
||||
gp-0
|
||||
(font-color white)
|
||||
|
||||
+1
-1
@@ -263,7 +263,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
gp-0
|
||||
(the-as (pointer dma-tag) a3-4)
|
||||
)
|
||||
|
||||
+1
-1
@@ -1392,7 +1392,7 @@
|
||||
(let ((t1-0 #x40000080))
|
||||
(add-debug-flat-triangle
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(the-as vector (-> gp-0 0))
|
||||
(-> gp-0 0 vertex 1)
|
||||
(-> gp-0 0 vertex 2)
|
||||
|
||||
+1
-1
@@ -299,7 +299,7 @@
|
||||
(when *display-level-spheres*
|
||||
(add-debug-sphere
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> s5-1 info bsphere)
|
||||
(-> s5-1 info bsphere w)
|
||||
(new 'static 'rgba :r #xff :a #x80)
|
||||
|
||||
+1
-1
@@ -9,7 +9,7 @@
|
||||
(notify-handle handle :offset-assert 192)
|
||||
(anim-name string :offset-assert 200)
|
||||
(command-list pair :offset-assert 204)
|
||||
(mask-to-clear uint32 :offset-assert 208)
|
||||
(mask-to-clear process-mask :offset-assert 208)
|
||||
(music-volume-movie float :offset-assert 212)
|
||||
(sfx-volume-movie float :offset-assert 216)
|
||||
)
|
||||
|
||||
+2
-2
@@ -304,14 +304,14 @@
|
||||
((= (-> arg2 type) spool-anim)
|
||||
)
|
||||
)
|
||||
(set! (-> self mask-to-clear) (the-as uint #x4a0800))
|
||||
(set! (-> self mask-to-clear) (process-mask movie enemy platform projectile))
|
||||
(set! (-> self event-hook) (lambda :behavior pov-camera
|
||||
((arg0 process) (arg1 int) (arg2 symbol) (arg3 event-message-block))
|
||||
(let ((v1-0 arg2))
|
||||
(the-as object (cond
|
||||
((= v1-0 'mask)
|
||||
(let ((v0-0 (the-as number (-> arg3 param 0))))
|
||||
(set! (-> self mask-to-clear) (the-as uint v0-0))
|
||||
(set! (-> self mask-to-clear) (the-as process-mask v0-0))
|
||||
v0-0
|
||||
)
|
||||
)
|
||||
|
||||
+1
-5
@@ -72,7 +72,7 @@
|
||||
(.svf (&-> a2-1 quad) vf1)
|
||||
(.svf (&-> a3-0 quad) vf2)
|
||||
(.svf (&-> t0-0 quad) vf3)
|
||||
(add-debug-flat-triangle #t (bucket-id debug-draw1) a2-1 a3-0 t0-0 t1-0)
|
||||
(add-debug-flat-triangle #t (bucket-id debug-no-zbuf) a2-1 a3-0 t0-0 t1-0)
|
||||
)
|
||||
)
|
||||
(set! s5-0 (-> (the-as (inline-array collide-mesh-tri) s5-0) 1))
|
||||
@@ -445,7 +445,3 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+1
-5
@@ -212,11 +212,7 @@
|
||||
(nop!)
|
||||
(let ((a2-0 (new-stack-vector0)))
|
||||
(.svf (&-> a2-0 quad) vf9)
|
||||
(add-debug-sphere #t (bucket-id debug-draw0) a2-0 a3-0 (new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80))
|
||||
(add-debug-sphere #t (bucket-id debug) a2-0 a3-0 (new 'static 'rgba :r #x80 :g #x80 :b #x80 :a #x80))
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+19
-19
@@ -242,7 +242,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
s5-3
|
||||
(the-as (pointer dma-tag) a3-6)
|
||||
)
|
||||
@@ -371,7 +371,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
s5-6
|
||||
(the-as (pointer dma-tag) a3-12)
|
||||
)
|
||||
@@ -1081,7 +1081,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
gp-0
|
||||
(the-as (pointer dma-tag) a3-2)
|
||||
)
|
||||
@@ -1178,7 +1178,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
s4-0
|
||||
(the-as (pointer dma-tag) a3-2)
|
||||
)
|
||||
@@ -1253,7 +1253,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
s5-2
|
||||
(the-as (pointer dma-tag) a3-4)
|
||||
)
|
||||
@@ -1307,7 +1307,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
s4-0
|
||||
(the-as (pointer dma-tag) a3-2)
|
||||
)
|
||||
@@ -1426,7 +1426,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
s5-1
|
||||
(the-as (pointer dma-tag) a3-4)
|
||||
)
|
||||
@@ -1484,7 +1484,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
s4-0
|
||||
(the-as (pointer dma-tag) a3-2)
|
||||
)
|
||||
@@ -1598,7 +1598,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
s5-1
|
||||
(the-as (pointer dma-tag) a3-4)
|
||||
)
|
||||
@@ -1784,7 +1784,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
s1-0
|
||||
(the-as (pointer dma-tag) a3-4)
|
||||
)
|
||||
@@ -1835,7 +1835,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
s1-1
|
||||
(the-as (pointer dma-tag) a3-8)
|
||||
)
|
||||
@@ -1929,7 +1929,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
(the-as pointer s4-1)
|
||||
(the-as (pointer dma-tag) a3-15)
|
||||
)
|
||||
@@ -2226,7 +2226,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
gp-2
|
||||
(the-as (pointer dma-tag) a3-17)
|
||||
)
|
||||
@@ -2257,7 +2257,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
gp-3
|
||||
(the-as (pointer dma-tag) a3-21)
|
||||
)
|
||||
@@ -2317,7 +2317,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
gp-1
|
||||
(the-as (pointer dma-tag) a3-1)
|
||||
)
|
||||
@@ -2359,7 +2359,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
gp-3
|
||||
(the-as (pointer dma-tag) a3-3)
|
||||
)
|
||||
@@ -2402,7 +2402,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
gp-4
|
||||
(the-as (pointer dma-tag) a3-5)
|
||||
)
|
||||
@@ -2433,7 +2433,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
gp-5
|
||||
(the-as (pointer dma-tag) a3-7)
|
||||
)
|
||||
@@ -2499,7 +2499,7 @@
|
||||
(debug-print-channels (-> self skel) (the-as symbol *stdcon*))
|
||||
(add-debug-x
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> self root trans)
|
||||
(new 'static 'rgba :r #xff :g #xff :b #xff :a #x80)
|
||||
)
|
||||
|
||||
+2
-2
@@ -1276,7 +1276,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
s4-0
|
||||
(the-as (pointer dma-tag) a3-1)
|
||||
)
|
||||
@@ -1410,7 +1410,7 @@
|
||||
(if (!= (+ s5-1 1) (-> arg0 h-first))
|
||||
(add-debug-line
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> arg0 points s5-1)
|
||||
(-> arg0 points (+ s5-1 1))
|
||||
(new 'static 'rgba :r #x80 :g #xc0 :b #x80 :a #x80)
|
||||
|
||||
+6
-6
@@ -877,7 +877,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
s4-0
|
||||
(the-as (pointer dma-tag) a3-1)
|
||||
)
|
||||
@@ -927,7 +927,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
s5-0
|
||||
(the-as (pointer dma-tag) a3-1)
|
||||
)
|
||||
@@ -978,7 +978,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
s5-0
|
||||
(the-as (pointer dma-tag) a3-1)
|
||||
)
|
||||
@@ -1048,7 +1048,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
s4-0
|
||||
(the-as (pointer dma-tag) a3-1)
|
||||
)
|
||||
@@ -1119,7 +1119,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
s1-0
|
||||
(the-as (pointer dma-tag) a3-2)
|
||||
)
|
||||
@@ -1157,7 +1157,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
sv-32
|
||||
(the-as (pointer dma-tag) a3-3)
|
||||
)
|
||||
|
||||
+1
-1
@@ -59,7 +59,7 @@
|
||||
)
|
||||
(add-debug-x
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> self root trans)
|
||||
(the-as rgba (new 'static 'rgba :r #xff :g #xff :b #xff :a #x80))
|
||||
)
|
||||
|
||||
+11
-9
@@ -157,12 +157,19 @@
|
||||
(when (sphere-cull (-> arg0 bsphere))
|
||||
(add-debug-sphere
|
||||
#t
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
(-> arg0 bsphere)
|
||||
(-> arg0 bsphere w)
|
||||
(new 'static 'rgba :r #x80 :a #x80)
|
||||
)
|
||||
(add-debug-text-3d #t (bucket-id debug-draw1) arg1 (-> arg0 bsphere) (font-color white) (the-as vector2h #f))
|
||||
(add-debug-text-3d
|
||||
#t
|
||||
(bucket-id debug-no-zbuf)
|
||||
arg1
|
||||
(-> arg0 bsphere)
|
||||
(font-color white)
|
||||
(the-as vector2h #f)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -708,12 +715,7 @@
|
||||
)
|
||||
)
|
||||
(if *display-lights*
|
||||
(add-debug-lights
|
||||
#t
|
||||
(bucket-id debug-draw0)
|
||||
(the-as (inline-array light) (-> s3-0 light-group))
|
||||
(-> arg1 origin)
|
||||
)
|
||||
(add-debug-lights #t (bucket-id debug) (the-as (inline-array light) (-> s3-0 light-group)) (-> arg1 origin))
|
||||
)
|
||||
(let ((at-0 *math-camera*))
|
||||
(.lvf vf16 (&-> at-0 plane 0 quad))
|
||||
@@ -1533,7 +1535,7 @@
|
||||
(set! (-> new-frame bucket-group) (dma-buffer-add-buckets (-> new-frame calc-buf) 69))
|
||||
)
|
||||
(debug-init-buffer
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(new 'static 'gs-zbuf :zbp #x1c0 :psm (gs-psm ct24) :zmsk #x1)
|
||||
(new 'static 'gs-test :zte #x1 :ztst (gs-ztest always))
|
||||
)
|
||||
|
||||
+1
-1
@@ -381,7 +381,7 @@
|
||||
(defun draw-joint-spheres ((arg0 process-drawable))
|
||||
(dotimes (s5-0 (-> arg0 node-list length))
|
||||
(let ((a2-0 (vector<-cspace! (new-stack-vector0) (-> arg0 node-list data s5-0))))
|
||||
(add-debug-sphere #t (bucket-id debug-draw0) a2-0 819.2 (new 'static 'rgba :g #xff :a #x40))
|
||||
(add-debug-sphere #t (bucket-id debug) a2-0 819.2 (new 'static 'rgba :g #xff :a #x40))
|
||||
)
|
||||
)
|
||||
#f
|
||||
|
||||
+20
-20
@@ -841,7 +841,7 @@
|
||||
(let ((s1-1 (the-as process-drawable (-> s0-0 extra process))))
|
||||
(add-debug-x
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> s1-1 root trans)
|
||||
(new 'static 'rgba :r #x80 :g #xff :b #x80 :a #x80)
|
||||
)
|
||||
@@ -857,7 +857,7 @@
|
||||
)
|
||||
(add-debug-text-3d
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(symbol->string (-> s1-1 state name))
|
||||
(-> s1-1 root trans)
|
||||
(font-color white)
|
||||
@@ -889,7 +889,7 @@
|
||||
(if (and (the-as structure v0-10) (= (-> v0-10 type) symbol))
|
||||
(add-debug-text-3d
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(symbol->string v0-10)
|
||||
(-> s1-1 root trans)
|
||||
(font-color white)
|
||||
@@ -900,11 +900,11 @@
|
||||
)
|
||||
)
|
||||
((or (= arg0 'full) (-> s0-0 extra process))
|
||||
(add-debug-x #t (bucket-id debug-draw1) s1-0 (the-as rgba (if (-> s0-0 extra process)
|
||||
(the-as uint #x8080ff80)
|
||||
(the-as uint #x800000ff)
|
||||
)
|
||||
)
|
||||
(add-debug-x #t (bucket-id debug-no-zbuf) s1-0 (the-as rgba (if (-> s0-0 extra process)
|
||||
(the-as uint #x8080ff80)
|
||||
(the-as uint #x800000ff)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! sv-192 add-debug-text-3d)
|
||||
(set! sv-208 #t)
|
||||
@@ -961,13 +961,13 @@
|
||||
(when (and (type-type? (-> s0-3 type) process-drawable) (nonzero? (-> (the-as process-drawable s0-3) draw)))
|
||||
(add-debug-x
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> (the-as process-drawable s0-3) root trans)
|
||||
(new 'static 'rgba :r #xff :g #xff :b #xff :a #x80)
|
||||
)
|
||||
(add-debug-sphere
|
||||
#t
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
(vector+!
|
||||
(new 'stack-no-clear 'vector)
|
||||
(-> (the-as process-drawable s0-3) draw origin)
|
||||
@@ -1001,15 +1001,15 @@
|
||||
(s4-2 (-> (the-as process-drawable s5-2) root trans))
|
||||
)
|
||||
(when s3-2
|
||||
(add-debug-x #t (bucket-id debug-draw1) s4-2 (the-as rgba (if (-> s3-2 extra process)
|
||||
(the-as uint #x8080ff80)
|
||||
(the-as uint #x800000ff)
|
||||
)
|
||||
)
|
||||
(add-debug-x #t (bucket-id debug-no-zbuf) s4-2 (the-as rgba (if (-> s3-2 extra process)
|
||||
(the-as uint #x8080ff80)
|
||||
(the-as uint #x800000ff)
|
||||
)
|
||||
)
|
||||
)
|
||||
(add-debug-text-3d
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(res-lump-struct s3-2 'name string)
|
||||
s4-2
|
||||
(the-as font-color (if (logtest? (-> s3-2 extra perm status) (entity-perm-status bit-0 bit-1))
|
||||
@@ -1021,7 +1021,7 @@
|
||||
)
|
||||
(add-debug-text-3d
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(symbol->string (-> (the-as process-drawable s5-2) state name))
|
||||
s4-2
|
||||
(font-color white)
|
||||
@@ -1049,7 +1049,7 @@
|
||||
)
|
||||
(add-debug-sphere
|
||||
#t
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
(vector+!
|
||||
(new 'stack-no-clear 'vector)
|
||||
(-> (the-as process-drawable s5-2) draw origin)
|
||||
@@ -1069,7 +1069,7 @@
|
||||
(if v0-35
|
||||
(add-debug-box
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(the-as vector (&+ v0-35 0))
|
||||
(the-as vector (&+ v0-35 16))
|
||||
(the-as rgba (if (is-object-visible? (-> s5-3 extra level) a1-31)
|
||||
@@ -1165,7 +1165,7 @@
|
||||
(countdown (s2-4 (-> s3-4 length))
|
||||
(add-debug-box
|
||||
#t
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
(the-as vector (-> s3-4 data s2-4))
|
||||
(the-as vector (+ (the-as uint (-> s3-4 data 0 max)) (* s2-4 32)))
|
||||
(the-as rgba (if (zero? (-> s4-4 index))
|
||||
|
||||
+5
-5
@@ -11,8 +11,8 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(add-debug-text-sphere #t (bucket-id debug-draw1) (-> obj trans) 819.2 (symbol->string (-> obj name)) s5-0)
|
||||
(add-debug-vector #t (bucket-id debug-draw1) (-> obj trans) (-> obj normal) (meters 2.0) s5-0)
|
||||
(add-debug-text-sphere #t (bucket-id debug-no-zbuf) (-> obj trans) 819.2 (symbol->string (-> obj name)) s5-0)
|
||||
(add-debug-vector #t (bucket-id debug-no-zbuf) (-> obj trans) (-> obj normal) (meters 2.0) s5-0)
|
||||
)
|
||||
0
|
||||
(none)
|
||||
@@ -734,10 +734,10 @@
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
;; Used lq/sq
|
||||
(defmethod debug-draw! continue-point ((obj continue-point))
|
||||
(add-debug-x #t (bucket-id debug-draw1) (-> obj trans) (new 'static 'rgba :r #xff :a #x80))
|
||||
(add-debug-x #t (bucket-id debug-no-zbuf) (-> obj trans) (new 'static 'rgba :r #xff :a #x80))
|
||||
(add-debug-text-3d
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> obj name)
|
||||
(-> obj trans)
|
||||
(font-color white)
|
||||
@@ -746,7 +746,7 @@
|
||||
(let ((a3-2 (vector-z-quaternion! (new-stack-vector0) (-> obj quat))))
|
||||
(add-debug-vector
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> obj trans)
|
||||
a3-2
|
||||
(meters 2.0)
|
||||
|
||||
+15
-15
@@ -134,9 +134,9 @@
|
||||
(grab-target handle :offset 120)
|
||||
(grab-event symbol :offset-assert 128)
|
||||
(release-event symbol :offset-assert 132)
|
||||
(old-global-mask uint32 :offset-assert 136)
|
||||
(old-self-mask uint32 :offset-assert 140)
|
||||
(old-parent-mask uint32 :offset-assert 144)
|
||||
(old-global-mask process-mask :offset-assert 136)
|
||||
(old-self-mask process-mask :offset-assert 140)
|
||||
(old-parent-mask process-mask :offset-assert 144)
|
||||
(look-at-target handle :offset-assert 152)
|
||||
(pov-target handle :offset-assert 160)
|
||||
(work-process handle :offset-assert 168)
|
||||
@@ -146,7 +146,7 @@
|
||||
(userdata basic :offset-assert 196)
|
||||
(message basic :offset-assert 200)
|
||||
(border-value basic :offset-assert 204)
|
||||
(mask-to-clear uint32 :offset-assert 208)
|
||||
(mask-to-clear process-mask :offset-assert 208)
|
||||
(script pair :offset-assert 212)
|
||||
(script-line pair :offset-assert 216)
|
||||
(script-func (function none) :offset-assert 220)
|
||||
@@ -288,17 +288,17 @@
|
||||
|
||||
;; definition of type othercam
|
||||
(deftype othercam (process)
|
||||
((hand handle :offset-assert 112)
|
||||
(old-global-mask uint32 :offset-assert 120)
|
||||
(mask-to-clear uint32 :offset-assert 124)
|
||||
(cam-joint-index int32 :offset-assert 128)
|
||||
(old-pos vector :inline :offset-assert 144)
|
||||
(old-mat-z vector :inline :offset-assert 160)
|
||||
(had-valid-frame basic :offset-assert 176)
|
||||
(border-value basic :offset-assert 180)
|
||||
(die? symbol :offset-assert 184)
|
||||
(survive-anim-end? symbol :offset-assert 188)
|
||||
(spooling? symbol :offset-assert 192)
|
||||
((hand handle :offset-assert 112)
|
||||
(old-global-mask process-mask :offset-assert 120)
|
||||
(mask-to-clear process-mask :offset-assert 124)
|
||||
(cam-joint-index int32 :offset-assert 128)
|
||||
(old-pos vector :inline :offset-assert 144)
|
||||
(old-mat-z vector :inline :offset-assert 160)
|
||||
(had-valid-frame basic :offset-assert 176)
|
||||
(border-value basic :offset-assert 180)
|
||||
(die? symbol :offset-assert 184)
|
||||
(survive-anim-end? symbol :offset-assert 188)
|
||||
(spooling? symbol :offset-assert 192)
|
||||
)
|
||||
:heap-base #x60
|
||||
:method-count-assert 14
|
||||
|
||||
+2
-2
@@ -1223,7 +1223,7 @@
|
||||
)
|
||||
((= v1-0 'mask)
|
||||
(set! v0-0 (-> arg3 param 0))
|
||||
(set! (-> self mask-to-clear) v0-0)
|
||||
(set! (-> self mask-to-clear) (the-as process-mask v0-0))
|
||||
v0-0
|
||||
)
|
||||
((= v1-0 'border)
|
||||
@@ -1283,7 +1283,7 @@
|
||||
(defbehavior camera-tracker-init camera-tracker ((arg0 object))
|
||||
(stack-size-set! (-> self main-thread) 512)
|
||||
(logclear! (-> self mask) (process-mask actor-pause movie enemy platform projectile))
|
||||
(set! (-> self mask-to-clear) (the-as uint #x4a0800))
|
||||
(set! (-> self mask-to-clear) (process-mask movie enemy platform projectile))
|
||||
(set! (-> self grab-target) (the-as handle #f))
|
||||
(set! (-> self grab-event) 'grab)
|
||||
(set! (-> self release-event) 'end-mode)
|
||||
|
||||
+6
-6
@@ -25,7 +25,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
gp-0
|
||||
(the-as (pointer dma-tag) a3-2)
|
||||
)
|
||||
@@ -62,7 +62,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
sprite-dma-data
|
||||
(the-as (pointer dma-tag) a3-1)
|
||||
)
|
||||
@@ -265,7 +265,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
gp-0
|
||||
(the-as (pointer dma-tag) a3-1)
|
||||
)
|
||||
@@ -878,7 +878,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
dma-start
|
||||
(the-as (pointer dma-tag) a3-9)
|
||||
)
|
||||
@@ -1271,7 +1271,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
s4-3
|
||||
(the-as (pointer dma-tag) a3-6)
|
||||
)
|
||||
@@ -1320,7 +1320,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
s4-4
|
||||
(the-as (pointer dma-tag) a3-9)
|
||||
)
|
||||
|
||||
+4
-4
@@ -88,7 +88,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
s5-0
|
||||
(the-as (pointer dma-tag) a3-4)
|
||||
)
|
||||
@@ -117,7 +117,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
s5-1
|
||||
(the-as (pointer dma-tag) a3-7)
|
||||
)
|
||||
@@ -1356,7 +1356,7 @@
|
||||
)
|
||||
(('mask)
|
||||
(set! v0-0 (-> arg3 param 0))
|
||||
(set! (-> self mask-to-clear) (the-as uint v0-0))
|
||||
(set! (-> self mask-to-clear) (the-as process-mask v0-0))
|
||||
v0-0
|
||||
)
|
||||
)
|
||||
@@ -1478,7 +1478,7 @@
|
||||
(set! (-> self border-value) #f)
|
||||
(set! (-> self die?) #f)
|
||||
(set! (-> self survive-anim-end?) arg2)
|
||||
(set! (-> self mask-to-clear) (the-as uint #x4a0800))
|
||||
(set! (-> self mask-to-clear) (process-mask movie enemy platform projectile))
|
||||
(set! (-> self event-hook) (-> othercam-running event))
|
||||
(go othercam-running)
|
||||
0
|
||||
|
||||
+1
-1
@@ -191,7 +191,7 @@
|
||||
(dotimes (s3-0 (/ (-> obj point-count) 2))
|
||||
(add-debug-line
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(the-as vector s4-0)
|
||||
(the-as vector (&-> s4-0 4))
|
||||
(the-as rgba s5-0)
|
||||
|
||||
+1
-1
@@ -144,7 +144,7 @@
|
||||
)
|
||||
(set! (-> s5-0 w) 0.0)
|
||||
(vector+! s5-0 s5-0 (-> arg0 root trans))
|
||||
(add-debug-sphere #t (bucket-id debug-draw0) s5-0 2048.0 (new 'static 'rgba :r #xff :g #xff :a #x80))
|
||||
(add-debug-sphere #t (bucket-id debug) s5-0 2048.0 (new 'static 'rgba :r #xff :g #xff :a #x80))
|
||||
)
|
||||
(none)
|
||||
)
|
||||
|
||||
+1
-1
@@ -11,7 +11,7 @@
|
||||
(dotimes (s3-0 (/ (-> s4-0 length) 2))
|
||||
(add-debug-line
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> s4-0 data (* s3-0 2))
|
||||
(-> s4-0 data (+ (* s3-0 2) 1))
|
||||
(new 'static 'rgba :r #xff :g #xff :b #xff :a #x80)
|
||||
|
||||
+3
-3
@@ -418,7 +418,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
gp-0
|
||||
(the-as (pointer dma-tag) a3-2)
|
||||
)
|
||||
@@ -494,10 +494,10 @@
|
||||
(let ((s2-0 (new 'stack-no-clear 'vector)))
|
||||
(set! (-> s2-0 quad) (-> s5-0 data (-> gp-0 vertex) quad))
|
||||
(set! (-> s2-0 y) (-> s5-0 top-plane))
|
||||
(add-debug-sphere #t (bucket-id debug-draw1) s2-0 8192.0 (new 'static 'rgba :a #x80))
|
||||
(add-debug-sphere #t (bucket-id debug-no-zbuf) s2-0 8192.0 (new 'static 'rgba :a #x80))
|
||||
(when (zero? (logand (-> s5-0 flags) (load-boundary-flags closed)))
|
||||
(set! (-> s2-0 y) (-> s5-0 bot-plane))
|
||||
(add-debug-sphere #t (bucket-id debug-draw1) s2-0 8192.0 (new 'static 'rgba :a #x80))
|
||||
(add-debug-sphere #t (bucket-id debug-no-zbuf) s2-0 8192.0 (new 'static 'rgba :a #x80))
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
+17
-17
@@ -236,7 +236,7 @@
|
||||
)
|
||||
(add-debug-line
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(vector+! gp-0 s5-0 (the-as vector (-> s2-0 (-> arg0 vertex 0))))
|
||||
(vector+! s4-0 s5-0 (the-as vector (-> s2-0 (-> arg0 vertex 1))))
|
||||
arg1
|
||||
@@ -245,7 +245,7 @@
|
||||
)
|
||||
(add-debug-line
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(vector+! gp-0 s5-0 (the-as vector (-> s2-0 (-> arg0 vertex 1))))
|
||||
(vector+! s4-0 s5-0 (the-as vector (-> s2-0 (-> arg0 vertex 2))))
|
||||
arg1
|
||||
@@ -254,7 +254,7 @@
|
||||
)
|
||||
(add-debug-line
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(vector+! gp-0 s5-0 (the-as vector (-> s2-0 (-> arg0 vertex 2))))
|
||||
(vector+! s4-0 s5-0 (the-as vector (-> s2-0 (-> arg0 vertex 0))))
|
||||
arg1
|
||||
@@ -1748,18 +1748,18 @@
|
||||
(set! (-> s5-0 debug-time) (the-as uint (-> *display* actual-frame-counter)))
|
||||
(add-debug-sphere
|
||||
(logtest? (-> obj flags) (nav-control-flags navcf1))
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
(-> s5-0 bounds)
|
||||
(-> s5-0 bounds w)
|
||||
(new 'static 'rgba :r #xff :g #xff :a #x20)
|
||||
)
|
||||
(add-debug-vector #t (bucket-id debug-draw1) (-> s5-0 origin) *x-vector* (meters 1.0) *color-red*)
|
||||
(add-debug-vector #t (bucket-id debug-draw1) (-> s5-0 origin) *z-vector* (meters 1.0) *color-blue*)
|
||||
(add-debug-vector #t (bucket-id debug-no-zbuf) (-> s5-0 origin) *x-vector* (meters 1.0) *color-red*)
|
||||
(add-debug-vector #t (bucket-id debug-no-zbuf) (-> s5-0 origin) *z-vector* (meters 1.0) *color-blue*)
|
||||
(when (logtest? (-> obj flags) (nav-control-flags navcf2))
|
||||
(dotimes (s3-0 (-> s5-0 vertex-count))
|
||||
(add-debug-x
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(vector+! s4-0 (-> s5-0 origin) (the-as vector (-> s5-0 vertex s3-0)))
|
||||
*color-green*
|
||||
)
|
||||
@@ -1795,9 +1795,9 @@
|
||||
(set! (-> s0-0 x) (- (-> a0-15 x) (-> v1-20 x)))
|
||||
(set! (-> s0-0 y) (+ (-> a0-15 y) (-> v1-20 y)))
|
||||
(set! (-> s0-0 z) (+ (-> a0-15 z) (-> v1-20 z)))
|
||||
(add-debug-line #t (bucket-id debug-draw1) sv-192 s2-0 (the-as rgba sv-208) #f (the-as rgba -1))
|
||||
(add-debug-line #t (bucket-id debug-draw1) s2-0 s1-0 (the-as rgba sv-208) #f (the-as rgba -1))
|
||||
(add-debug-line #t (bucket-id debug-draw1) s1-0 s0-0 (the-as rgba sv-208) #f (the-as rgba -1))
|
||||
(add-debug-line #t (bucket-id debug-no-zbuf) sv-192 s2-0 (the-as rgba sv-208) #f (the-as rgba -1))
|
||||
(add-debug-line #t (bucket-id debug-no-zbuf) s2-0 s1-0 (the-as rgba sv-208) #f (the-as rgba -1))
|
||||
(add-debug-line #t (bucket-id debug-no-zbuf) s1-0 s0-0 (the-as rgba sv-208) #f (the-as rgba -1))
|
||||
(let ((t9-7 add-debug-line)
|
||||
(a0-19 #t)
|
||||
(a1-13 68)
|
||||
@@ -1873,7 +1873,7 @@
|
||||
(when (logtest? (-> obj flags) (nav-control-flags navcf7))
|
||||
(dotimes (s3-3 (the-as int (-> s5-0 static-sphere-count)))
|
||||
(let ((s2-2 (-> s5-0 static-sphere s3-3)))
|
||||
(add-debug-sphere #t (bucket-id debug-draw0) (the-as vector s2-2) (-> s2-2 trans w) *color-blue*)
|
||||
(add-debug-sphere #t (bucket-id debug) (the-as vector s2-2) (-> s2-2 trans w) *color-blue*)
|
||||
(let ((s1-2 add-debug-text-3d)
|
||||
(s0-2 #t)
|
||||
)
|
||||
@@ -1911,7 +1911,7 @@
|
||||
)
|
||||
(add-debug-line
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(vector+! a2-22 v1-80 (the-as vector (-> obj portal 0)))
|
||||
(vector+! a3-13 v1-80 (the-as vector (-> obj portal 1)))
|
||||
(new 'static 'rgba :r #xff :g #x80 :b #x40 :a #x80)
|
||||
@@ -1922,7 +1922,7 @@
|
||||
)
|
||||
(add-debug-vector
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> obj shape trans)
|
||||
(-> obj travel)
|
||||
(meters 0.00024414062)
|
||||
@@ -1930,7 +1930,7 @@
|
||||
)
|
||||
(add-debug-vector
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(vector+! (new 'stack-no-clear 'vector) (-> obj shape trans) (new 'static 'vector :y 4096.0 :w 1.0))
|
||||
(-> obj old-travel)
|
||||
(meters 0.00024414062)
|
||||
@@ -1938,7 +1938,7 @@
|
||||
)
|
||||
(add-debug-x
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(vector+! (new 'stack-no-clear 'vector) (-> obj shape trans) (-> obj travel))
|
||||
(new 'static 'rgba :r #xff :g #xff :b #xff :a #x80)
|
||||
)
|
||||
@@ -1946,7 +1946,7 @@
|
||||
(when (logtest? (-> obj flags) (nav-control-flags navcf7))
|
||||
(add-debug-sphere
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(the-as vector (-> obj shape root-prim prim-core))
|
||||
(-> obj shape nav-radius)
|
||||
(new 'static 'rgba :g #xff :b #xff :a #x20)
|
||||
@@ -1956,7 +1956,7 @@
|
||||
(vector+! s4-0 (-> s5-0 origin) (the-as vector (&-> v1-95 x)))
|
||||
(add-debug-sphere
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
s4-0
|
||||
(- (-> v1-95 w) (-> obj shape nav-radius))
|
||||
(new 'static 'rgba :g #xff :b #xff :a #x20)
|
||||
|
||||
+4
-4
@@ -31,7 +31,7 @@
|
||||
(if (and (logtest? (-> obj flags) (path-control-flag draw-line)) (< s5-1 (+ (-> obj curve num-cverts) -1)))
|
||||
(add-debug-line
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
s4-1
|
||||
(-> obj cverts (+ s5-1 1))
|
||||
(new 'static 'rgba :r #xff :g #x80 :a #x80)
|
||||
@@ -40,7 +40,7 @@
|
||||
)
|
||||
)
|
||||
(if (logtest? (-> obj flags) (path-control-flag draw-point))
|
||||
(add-debug-x #t (bucket-id debug-draw1) s4-1 (new 'static 'rgba :r #xff :a #x80))
|
||||
(add-debug-x #t (bucket-id debug-no-zbuf) s4-1 (new 'static 'rgba :r #xff :a #x80))
|
||||
)
|
||||
(when (logtest? (-> obj flags) (path-control-flag draw-text))
|
||||
(let ((s3-1 add-debug-text-3d)
|
||||
@@ -308,7 +308,7 @@
|
||||
(if (and (logtest? (-> obj flags) (path-control-flag draw-line)) (> (-> obj curve num-cverts) 0))
|
||||
(add-debug-curve2
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(the-as curve (&-> obj cverts))
|
||||
(new 'static 'rgba :r #xff :g #x80 :a #x80)
|
||||
#f
|
||||
@@ -317,7 +317,7 @@
|
||||
(dotimes (s5-1 (-> obj curve num-cverts))
|
||||
(let ((s4-1 (-> obj cverts s5-1)))
|
||||
(if (logtest? (-> obj flags) (path-control-flag draw-point))
|
||||
(add-debug-x #t (bucket-id debug-draw1) s4-1 (new 'static 'rgba :r #xff :a #x80))
|
||||
(add-debug-x #t (bucket-id debug-no-zbuf) s4-1 (new 'static 'rgba :r #xff :a #x80))
|
||||
)
|
||||
(when (logtest? (-> obj flags) (path-control-flag draw-text))
|
||||
(let ((s3-1 add-debug-text-3d)
|
||||
|
||||
+1
-1
@@ -99,7 +99,7 @@
|
||||
)
|
||||
(add-debug-line
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
prev-pos
|
||||
pos
|
||||
(new 'static 'rgba :r #xff :a #x80)
|
||||
|
||||
+1
-7
@@ -1025,13 +1025,7 @@
|
||||
(let ((gp-1 (vector+! (new 'stack-no-clear 'vector) arg0 (the-as vector (-> v1-0 bounds)))))
|
||||
(set! (-> gp-1 w) f0-0)
|
||||
(if (and *display-actor-vis* (or (not *display-actor-anim*) (name= *display-actor-anim* (-> obj proc name))))
|
||||
(add-debug-sphere
|
||||
*display-actor-vis*
|
||||
(bucket-id debug-draw0)
|
||||
gp-1
|
||||
(-> gp-1 w)
|
||||
(new 'static 'rgba :g #xff :a #x80)
|
||||
)
|
||||
(add-debug-sphere *display-actor-vis* (bucket-id debug) gp-1 (-> gp-1 w) (new 'static 'rgba :g #xff :a #x80))
|
||||
)
|
||||
(sphere-in-view-frustum? (the-as sphere gp-1))
|
||||
)
|
||||
|
||||
+3
-3
@@ -66,7 +66,7 @@
|
||||
;; definition (debug) for function joint-mod-debug-draw
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defun-debug joint-mod-debug-draw ((mod joint-mod))
|
||||
(add-debug-matrix #t (bucket-id debug-draw1) (-> mod joint bone transform))
|
||||
(add-debug-matrix #t (bucket-id debug-no-zbuf) (-> mod joint bone transform))
|
||||
0
|
||||
(none)
|
||||
)
|
||||
@@ -381,7 +381,7 @@
|
||||
(if (and (= (-> gp-0 process type) target) (!= (-> gp-0 blend) 0.0))
|
||||
(add-debug-text-sphere
|
||||
*display-target-marks*
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> gp-0 target)
|
||||
819.2
|
||||
"look"
|
||||
@@ -486,7 +486,7 @@
|
||||
(if (and (= (-> gp-0 process type) target) (!= (-> gp-0 blend) 0.0))
|
||||
(add-debug-text-sphere
|
||||
*display-target-marks*
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> gp-0 target)
|
||||
819.2
|
||||
"look"
|
||||
|
||||
+22
-22
@@ -93,7 +93,7 @@
|
||||
(let ((s2-0 (-> arg0 history-data (logand (+ (-> arg0 unknown-halfword00) s4-0) 127))))
|
||||
(add-debug-line
|
||||
(logtest? s5-0 2)
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> v1-19 trans)
|
||||
(-> s2-0 trans)
|
||||
(the-as rgba (+ #xffff00 (shl s4-0 24)))
|
||||
@@ -102,7 +102,7 @@
|
||||
)
|
||||
(add-debug-vector
|
||||
(logtest? s5-0 4)
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> s2-0 trans)
|
||||
(-> s2-0 transv)
|
||||
(meters 0.000024414063)
|
||||
@@ -111,7 +111,7 @@
|
||||
(when (zero? (logand (-> s2-0 status) 256))
|
||||
(add-debug-line
|
||||
(logtest? s5-0 1)
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> s1-0 intersect)
|
||||
(-> s2-0 intersect)
|
||||
(the-as rgba (+ #xffffff (shl s4-0 24)))
|
||||
@@ -124,7 +124,7 @@
|
||||
)
|
||||
(add-debug-vector
|
||||
(logtest? s5-0 32)
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> s2-0 intersect)
|
||||
(-> s2-0 surface-normal)
|
||||
(meters 1.0)
|
||||
@@ -132,7 +132,7 @@
|
||||
)
|
||||
(add-debug-vector
|
||||
(logtest? s5-0 16)
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> s2-0 intersect)
|
||||
(-> s2-0 local-normal)
|
||||
(meters 1.0)
|
||||
@@ -141,7 +141,7 @@
|
||||
)
|
||||
(add-debug-vector
|
||||
(logtest? s5-0 8)
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> s2-0 trans)
|
||||
(-> s2-0 transv-out)
|
||||
(meters 0.000024414063)
|
||||
@@ -651,7 +651,7 @@
|
||||
(vector+! gp-1 gp-1 (-> self control trans))
|
||||
(add-debug-text-sphere
|
||||
*display-target-marks*
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
gp-1
|
||||
819.2
|
||||
"target"
|
||||
@@ -829,7 +829,7 @@
|
||||
(vector+! gp-1 gp-1 (-> self control trans))
|
||||
(add-debug-text-sphere
|
||||
*display-target-marks*
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
gp-1
|
||||
819.2
|
||||
"ltransv"
|
||||
@@ -840,7 +840,7 @@
|
||||
(vector+! gp-1 gp-1 (-> self control trans))
|
||||
(add-debug-text-sphere
|
||||
*display-target-marks*
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
gp-1
|
||||
819.2
|
||||
"btransv"
|
||||
@@ -961,7 +961,7 @@
|
||||
)
|
||||
(add-debug-vector
|
||||
*display-target-marks*
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> self control trans)
|
||||
gp-0
|
||||
(meters 2.0)
|
||||
@@ -969,7 +969,7 @@
|
||||
)
|
||||
(add-debug-vector
|
||||
*display-target-marks*
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> self control trans)
|
||||
s5-0
|
||||
(meters 2.0)
|
||||
@@ -978,7 +978,7 @@
|
||||
)
|
||||
(add-debug-vector
|
||||
*display-target-marks*
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> self control trans)
|
||||
(-> self control unknown-matrix01 vector 2)
|
||||
(meters 2.0)
|
||||
@@ -1232,7 +1232,7 @@
|
||||
)
|
||||
(add-debug-vector
|
||||
*display-target-marks*
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> self control trans)
|
||||
(-> self control ground-poly-normal)
|
||||
(meters 2.0)
|
||||
@@ -1240,7 +1240,7 @@
|
||||
)
|
||||
(add-debug-vector
|
||||
*display-target-marks*
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> self control trans)
|
||||
(-> self control local-normal)
|
||||
(meters 2.0)
|
||||
@@ -1248,7 +1248,7 @@
|
||||
)
|
||||
(add-debug-vector
|
||||
*display-target-marks*
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> self control trans)
|
||||
(-> self control unknown-dynamics00 gravity-normal)
|
||||
(meters 2.5)
|
||||
@@ -1256,7 +1256,7 @@
|
||||
)
|
||||
(add-debug-vector
|
||||
*display-target-marks*
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> self control trans)
|
||||
(-> self control dynam gravity-normal)
|
||||
(meters 3.0)
|
||||
@@ -1387,7 +1387,7 @@
|
||||
(when *display-edge-collision-marks*
|
||||
(add-debug-vector
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> (the-as swingpole s4-0) root trans)
|
||||
(the-as vector (&-> s4-0 stack 16))
|
||||
(meters 3.0)
|
||||
@@ -1395,21 +1395,21 @@
|
||||
)
|
||||
(add-debug-sphere
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> (the-as swingpole s4-0) root trans)
|
||||
(-> (the-as swingpole s4-0) range)
|
||||
(new 'static 'rgba :r #xff :g #xff :a #x80)
|
||||
)
|
||||
(add-debug-sphere
|
||||
#t
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
(-> self control unknown-vector90)
|
||||
819.2
|
||||
(new 'static 'rgba :r #xff :a #x80)
|
||||
)
|
||||
(add-debug-sphere #t (bucket-id debug-draw1) s3-0 819.2 (new 'static 'rgba :g #xff :a #x80))
|
||||
(add-debug-sphere #t (bucket-id debug-draw1) s2-0 819.2 (new 'static 'rgba :g #xff :b #x40 :a #x80))
|
||||
(add-debug-sphere #t (bucket-id debug-draw1) s5-0 819.2 (new 'static 'rgba :b #xff :a #x80))
|
||||
(add-debug-sphere #t (bucket-id debug-no-zbuf) s3-0 819.2 (new 'static 'rgba :g #xff :a #x80))
|
||||
(add-debug-sphere #t (bucket-id debug-no-zbuf) s2-0 819.2 (new 'static 'rgba :g #xff :b #x40 :a #x80))
|
||||
(add-debug-sphere #t (bucket-id debug-no-zbuf) s5-0 819.2 (new 'static 'rgba :b #xff :a #x80))
|
||||
)
|
||||
)
|
||||
(let ((s4-2 (vector-! (new-stack-vector0) s5-0 (-> self control unknown-vector90))))
|
||||
|
||||
+3
-3
@@ -173,21 +173,21 @@
|
||||
(debug-print-channels (-> self skel) (the-as symbol *stdcon*))
|
||||
(add-debug-sphere
|
||||
*display-sidekick-stats*
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> self parent-override 0 control unknown-cspace10 parent bone transform vector 3)
|
||||
409.6
|
||||
(new 'static 'rgba :g #xff :a #x80)
|
||||
)
|
||||
(add-debug-sphere
|
||||
*display-sidekick-stats*
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> self node-list data 3 bone transform vector 3)
|
||||
409.6
|
||||
(new 'static 'rgba :r #xff :g #xff :a #x80)
|
||||
)
|
||||
(add-debug-sphere
|
||||
*display-sidekick-stats*
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> self draw origin)
|
||||
409.6
|
||||
(new 'static 'rgba :r #xff :g #x80 :a #x80)
|
||||
|
||||
+4
-4
@@ -1299,7 +1299,7 @@
|
||||
((logtest? (-> gp-0 state-flags) 1024)
|
||||
(add-debug-sphere
|
||||
*display-camera-marks*
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> gp-0 alt-cam-pos)
|
||||
819.2
|
||||
(new 'static 'rgba :r #xff :a #x80)
|
||||
@@ -1309,7 +1309,7 @@
|
||||
((logtest? #x20000 (-> gp-0 state-flags))
|
||||
(add-debug-sphere
|
||||
*display-camera-marks*
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> gp-0 alt-cam-pos)
|
||||
819.2
|
||||
(new 'static 'rgba :r #xff :a #x80)
|
||||
@@ -1322,7 +1322,7 @@
|
||||
(set! (-> (the-as vector s5-0) y) (fmax (-> (the-as vector s5-0) y) (-> gp-0 alt-cam-pos y)))
|
||||
(add-debug-sphere
|
||||
*display-camera-marks*
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(the-as vector s5-0)
|
||||
819.2
|
||||
(new 'static 'rgba :r #xff :a #x80)
|
||||
@@ -1333,7 +1333,7 @@
|
||||
(else
|
||||
(add-debug-sphere
|
||||
*display-camera-marks*
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(the-as vector (&-> (-> gp-0 control) unknown-qword00))
|
||||
819.2
|
||||
(new 'static 'rgba :r #xff :a #x80)
|
||||
|
||||
+5
-5
@@ -181,7 +181,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
gp-0
|
||||
(the-as (pointer dma-tag) a3-7)
|
||||
)
|
||||
@@ -619,7 +619,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
s4-1
|
||||
(the-as (pointer dma-tag) a3-12)
|
||||
)
|
||||
@@ -864,7 +864,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
gp-0
|
||||
(the-as (pointer dma-tag) a3-7)
|
||||
)
|
||||
@@ -1307,7 +1307,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
gp-0
|
||||
(the-as (pointer dma-tag) a3-7)
|
||||
)
|
||||
@@ -1619,7 +1619,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
gp-0
|
||||
(the-as (pointer dma-tag) a3-7)
|
||||
)
|
||||
|
||||
+2
-2
@@ -2045,7 +2045,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
s4-0
|
||||
(the-as (pointer dma-tag) a3-4)
|
||||
)
|
||||
@@ -2154,7 +2154,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
s4-4
|
||||
(the-as (pointer dma-tag) a3-9)
|
||||
)
|
||||
|
||||
+4
-4
@@ -2624,7 +2624,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
gp-0
|
||||
(the-as (pointer dma-tag) a3-4)
|
||||
)
|
||||
@@ -2646,7 +2646,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
gp-1
|
||||
(the-as (pointer dma-tag) a3-6)
|
||||
)
|
||||
@@ -2668,7 +2668,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
gp-2
|
||||
(the-as (pointer dma-tag) a3-8)
|
||||
)
|
||||
@@ -2690,7 +2690,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
gp-3
|
||||
(the-as (pointer dma-tag) a3-10)
|
||||
)
|
||||
|
||||
+5
-5
@@ -243,16 +243,16 @@
|
||||
(set-vector! s5-0 128 128 128 128)
|
||||
(add-debug-line2d
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(the-as vector (-> gp-0 vector))
|
||||
(-> gp-0 vector 1)
|
||||
(the-as vector s5-0)
|
||||
)
|
||||
(add-debug-line2d #t (bucket-id debug-draw1) (-> gp-0 vector 1) (-> gp-0 vector 2) (the-as vector s5-0))
|
||||
(add-debug-line2d #t (bucket-id debug-draw1) (-> gp-0 vector 2) (-> gp-0 vector 3) (the-as vector s5-0))
|
||||
(add-debug-line2d #t (bucket-id debug-no-zbuf) (-> gp-0 vector 1) (-> gp-0 vector 2) (the-as vector s5-0))
|
||||
(add-debug-line2d #t (bucket-id debug-no-zbuf) (-> gp-0 vector 2) (-> gp-0 vector 3) (the-as vector s5-0))
|
||||
(add-debug-line2d
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> gp-0 vector 3)
|
||||
(the-as vector (-> gp-0 vector))
|
||||
(the-as vector s5-0)
|
||||
@@ -522,7 +522,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
s2-1
|
||||
(the-as (pointer dma-tag) a3-3)
|
||||
)
|
||||
|
||||
+1
-1
@@ -934,7 +934,7 @@
|
||||
)
|
||||
(countdown (s3-0 (-> obj tuning num-spring-points))
|
||||
(vector-matrix*! s4-0 (-> s5-0 local-pos) gp-0)
|
||||
(add-debug-sphere #t (bucket-id debug-draw0) s4-0 2048.0 (new 'static 'rgba :r #xff :g #xff :b #xff :a #x40))
|
||||
(add-debug-sphere #t (bucket-id debug) s4-0 2048.0 (new 'static 'rgba :r #xff :g #xff :b #xff :a #x40))
|
||||
(&+! s5-0 48)
|
||||
)
|
||||
)
|
||||
|
||||
+1
-1
@@ -1554,7 +1554,7 @@
|
||||
)
|
||||
(dma-bucket-insert-tag
|
||||
(-> *display* frames (-> *display* on-screen) frame bucket-group)
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
gp-0
|
||||
(the-as (pointer dma-tag) a3-1)
|
||||
)
|
||||
|
||||
+1
-1
@@ -1936,7 +1936,7 @@
|
||||
(if (nonzero? gp-0)
|
||||
(debug-percent-bar
|
||||
#t
|
||||
(bucket-id debug-draw0)
|
||||
(bucket-id debug)
|
||||
192
|
||||
160
|
||||
(* 0.0033333334 (the float gp-0))
|
||||
|
||||
+1
-1
@@ -322,7 +322,7 @@
|
||||
)
|
||||
(add-debug-vector
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
s4-1
|
||||
s3-0
|
||||
(meters 0.00024414062)
|
||||
|
||||
+5
-5
@@ -203,7 +203,7 @@
|
||||
(let ((f30-4 (* (deg-diff f30-3 0.0) (-> self racer slide-grip-mult))))
|
||||
(add-debug-vector
|
||||
*display-target-marks*
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> self control trans)
|
||||
(-> self control transv)
|
||||
(meters 0.000061035156)
|
||||
@@ -230,7 +230,7 @@
|
||||
(vector-float*! gp-1 gp-1 0.5)
|
||||
(add-debug-vector
|
||||
*display-target-marks*
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> self control trans)
|
||||
gp-1
|
||||
(meters 0.00024414062)
|
||||
@@ -239,7 +239,7 @@
|
||||
(vector+! gp-1 gp-1 (-> self control trans))
|
||||
(add-debug-text-sphere
|
||||
*display-target-marks*
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
gp-1
|
||||
819.2
|
||||
"ltransv"
|
||||
@@ -250,7 +250,7 @@
|
||||
(vector+! gp-1 gp-1 (-> self control trans))
|
||||
(add-debug-text-sphere
|
||||
*display-target-marks*
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
gp-1
|
||||
819.2
|
||||
"nose"
|
||||
@@ -374,7 +374,7 @@
|
||||
(+! (-> a2-1 y) (-> self racer cushion-bob))
|
||||
(add-debug-sphere
|
||||
*display-target-marks*
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
a2-1
|
||||
819.2
|
||||
(new 'static 'rgba :r #xff :b #xff :a #x80)
|
||||
|
||||
+6
-6
@@ -212,7 +212,7 @@
|
||||
(vector-flatten! s4-1 s4-1 (-> self control local-normal))
|
||||
(add-debug-vector
|
||||
*display-target-marks*
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> self control trans)
|
||||
s4-1
|
||||
(meters 0.00024414062)
|
||||
@@ -280,7 +280,7 @@
|
||||
(vector-flatten! s3-1 s3-1 (-> self control local-normal))
|
||||
(add-debug-vector
|
||||
*display-target-marks*
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> self control trans)
|
||||
s3-1
|
||||
(meters 2.0)
|
||||
@@ -293,7 +293,7 @@
|
||||
(vector-flatten! s4-2 s4-2 (-> self control local-normal))
|
||||
(add-debug-vector
|
||||
*display-target-marks*
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> self control trans)
|
||||
s4-2
|
||||
(meters 2.0)
|
||||
@@ -330,7 +330,7 @@
|
||||
(vector-float*! gp-1 gp-1 0.5)
|
||||
(add-debug-vector
|
||||
*display-target-marks*
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> self control trans)
|
||||
gp-1
|
||||
(meters 0.00024414062)
|
||||
@@ -339,7 +339,7 @@
|
||||
(vector+! gp-1 gp-1 (-> self control trans))
|
||||
(add-debug-text-sphere
|
||||
*display-target-marks*
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
gp-1
|
||||
819.2
|
||||
"ltransv"
|
||||
@@ -350,7 +350,7 @@
|
||||
(vector+! gp-1 gp-1 (-> self control trans))
|
||||
(add-debug-text-sphere
|
||||
*display-target-marks*
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
gp-1
|
||||
819.2
|
||||
"nose"
|
||||
|
||||
+1
-1
@@ -761,7 +761,7 @@
|
||||
(let* ((a0-0 (-> self spawn-joint-array gp-0))
|
||||
(a2-0 (-> self node-list data a0-0 bone transform))
|
||||
)
|
||||
(add-debug-matrix #t (bucket-id debug-draw1) a2-0)
|
||||
(add-debug-matrix #t (bucket-id debug-no-zbuf) a2-0)
|
||||
)
|
||||
)
|
||||
#f
|
||||
|
||||
+6
-6
@@ -138,7 +138,7 @@
|
||||
(set! (-> s3-0 w) 1.0)
|
||||
(add-debug-line
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
s4-0
|
||||
s3-0
|
||||
(new 'static 'rgba :r #xff :g #xff :a #x80)
|
||||
@@ -147,7 +147,7 @@
|
||||
)
|
||||
(add-debug-vector
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
s4-0
|
||||
s5-0
|
||||
(meters 0.00024414062)
|
||||
@@ -509,14 +509,14 @@
|
||||
(debug-draw (-> obj path))
|
||||
(add-debug-sphere
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> obj dest-circle)
|
||||
(-> obj dest-circle w)
|
||||
(new 'static 'rgba :g #xff :a #x80)
|
||||
)
|
||||
(add-debug-x
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(-> obj target-point)
|
||||
(new 'static 'rgba :r #xff :g #xff :b #xff :a #x80)
|
||||
)
|
||||
@@ -955,14 +955,14 @@
|
||||
(dummy-16 (-> self controller))
|
||||
(add-debug-sphere
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(the-as vector (-> self boat-path))
|
||||
614400.0
|
||||
(new 'static 'rgba :b #xff :a #x80)
|
||||
)
|
||||
(add-debug-sphere
|
||||
#t
|
||||
(bucket-id debug-draw1)
|
||||
(bucket-id debug-no-zbuf)
|
||||
(the-as vector (&-> self stack 848))
|
||||
409600.0
|
||||
(new 'static 'rgba :b #xff :a #x80)
|
||||
|
||||
Reference in New Issue
Block a user