mirror of
https://github.com/open-goal/jak-project
synced 2026-07-08 22:45:00 -04:00
subtitles for 3 more levels (#1340)
* rework "all actors" option a bit * update mistycannon * `vi1`, `mis`, `fin` subtitles * two pov-camera ones i missed!
This commit is contained in:
@@ -23784,10 +23784,10 @@
|
||||
|
||||
;; - Functions
|
||||
|
||||
(define-extern mistycannon-prebind-function (function mistycannon int mistycannon none))
|
||||
(define-extern mistycannon-prebind-function (function pointer int mistycannon none))
|
||||
(define-extern mistycannon-postbind-function (function mistycannon none))
|
||||
(define-extern angle-tracker-init-range! (function angle-tracker float float float none))
|
||||
(define-extern mistycannon-pick-random-target-point (function float :behavior mistycannon))
|
||||
(define-extern mistycannon-pick-random-target-point (function none :behavior mistycannon))
|
||||
(define-extern angle-tracker-seek! (function angle-tracker float symbol))
|
||||
(define-extern mistycannon-do-aim (function vector vector none :behavior mistycannon)) ;; can return a #f is postbindinfo-ok is false
|
||||
(define-extern mistycannon-find-trajectory (function trajectory-params none :behavior mistycannon))
|
||||
|
||||
@@ -206,7 +206,42 @@
|
||||
("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..."))
|
||||
("EXP-AM01" :hint 0 (0 "JAK'S UNCLE" "I NEED TO SET OFF ON MY JOURNEY SOON. I NEED PRECURSOR ORBS!"))
|
||||
("EXP-AM02" :hint 0 (0 "JAK'S UNCLE" "LET'S SEE, NOW WHERE SHALL I GO FIRST? EH..."))
|
||||
("EXP-AM03" :hint 0 (0 "JAK'S UNCLE" "OH I DO MISS THE OPEN ROAD."))
|
||||
("EXP-AM04" :hint 0 (0 "JAK'S UNCLE" "SO MANY PLACES TO SEE, AND SO LITTLE TIME."))
|
||||
("EXP-AM05" :hint 0 (0 "JAK'S UNCLE" "WELL IN MY DAY, YOU COULD WALK THE LANDS WITHOUT BEING ASSAULTED BY MONSTERS!"))
|
||||
("EXP-LO02" :hint 0 (0 "JAK'S UNCLE" "I NEED MORE PRECURSOR ORBS."))
|
||||
("FAR-AM01" :hint 0 (0 "FARMER" "(SNORES) HERE, BESSIE... HERE, BESSIE BESSIE... THAT'S A GOOD GIRL..."))
|
||||
("FAR-AM02" :hint 0 (0 "FARMER" "GOTTA BRING IN THE CROPS 'FORE THE JUNE BUGS..."))
|
||||
("FAR-AM2A" :hint 0 (0 "FARMER" "GOTTA BRING IN THE CROPS 'FORE THE JUNE BUGS GET..."))
|
||||
("FAR-LO01" :hint 0 (0 "FARMER" "(SNORES)"))
|
||||
("FAR-LO1A" :hint 0 (0 "FARMER" "(SNORES)"))
|
||||
|
||||
("sksp0010" :hint #x231 (0 "DAXTER" "HEY! LET'S GO CHECK OUT OL' FISH BREATH'S SPEED-BOAT AT THE DOCK!"))
|
||||
("sksp0013" :hint #x232
|
||||
(0 "DAXTER" "DID YOU SEE THE SIZE OF THE BITE THAT LURKER SHARK TOOK OUT OF THE FISHERMAN'S BOAT?")
|
||||
(315)
|
||||
(337 "DAXTER" "WE BEST STAY WAY CLEAR OF THEM! I DON'T THINK WE CAN TACKLE A CREATURE THAT DAG NASTY.")
|
||||
)
|
||||
("sksp0015" :hint #x234
|
||||
(0 "DAXTER" "THIS MUST BE A PRECURSOR ORACLE LIKE THE SAGE ALWAYS GOES ON ABOUT.")
|
||||
(228 "DAXTER" "I HOPE THEY WEREN'T AS UGLY IN PERSON!")
|
||||
)
|
||||
("sksp0017" :hint #x235 (0 "DAXTER" "WHOA! CHECK OUT THAT FUNKY SCULPTURE SITTIN' ON THE ROCKS OVER THERE!"))
|
||||
("sksp0043" :hint #x24e
|
||||
(0 "DAXTER" "MAYBE WE SHOULD GO ROOT OUT THE FISHERMAN.")
|
||||
(106 "DAXTER" "I HEARD HE WAS IN THE JUNGLE FISHING BY THE LOWER RIVER!")
|
||||
)
|
||||
("asstvb04" :hint #x2b1
|
||||
(0 "KEIRA" "GOOD, YOU'VE COLLECTED ENOUGH POWER CELLS TO FUEL MY HEAT SHIELD!")
|
||||
(235 "KEIRA" "MEET ME BY THE ENTRANCE TO THE FIRE CANYON BY CLIMBING THE CLIFF BEHIND THE FARMER'S HOUSE.")
|
||||
(559 "KEIRA" "BRING THE POWER CELLS, AND HURRY! MY FATHER SAYS HE'S SEEN MORE LURKERS AROUND!")
|
||||
)
|
||||
("asstvb08" :hint #x2b2
|
||||
(0 "KEIRA" "HURRY UP WITH THOSE POWER CELLS. I'M WAITING AT THE HEAD OF FIRE CANYON")
|
||||
(260 "KEIRA" "AT THE TOP OF THE CLIFF BEHIND THE FARMER'S HOUSE!")
|
||||
)
|
||||
|
||||
("sage-introduction-misty-cannon"
|
||||
(24 "SAGE" "OH, IT'S THE CONQUERING HEROES.")
|
||||
@@ -222,12 +257,123 @@
|
||||
(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)
|
||||
(1171)
|
||||
(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.")
|
||||
)
|
||||
|
||||
("sage-reminder-1-misty-cannon"
|
||||
(24 "SAGE" "THE BOMBARDMENT IS GETTING WORSE!")
|
||||
(86 :offscreen "SAGE" "FIND THE FISHERMAN IN THE JUNGLE, GET PERMISSION TO USE HIS BOAT")
|
||||
(215 :offscreen "SAGE" "AND GET OVER TO MISTY ISLAND TO STOP THE CANNON.")
|
||||
(317)
|
||||
(320 "SAGE" "AND YOU DAXTER, YOU NEED TO GET MOPPING. THIS PLACE IS A MESS!")
|
||||
)
|
||||
|
||||
("sage-reminder-1-ecorocks"
|
||||
(28 "SAGE" "SOME \"BRAVE ADVENTURERS\" YOU TWO ARE.")
|
||||
(132 "SAGE" "BACK ALREADY AND WITHOUT CLEARING MY BLOCKED ECO HARVESTERS!")
|
||||
(244)
|
||||
(252 :offscreen "SAGE" "THEY'RE ON THE FAR SIDE OF THE BEACH, BOYS.")
|
||||
(365)
|
||||
(366 :offscreen "SAGE" "NOW...")
|
||||
(412 :offscreen "SAGE" "GET MOVING!")
|
||||
)
|
||||
|
||||
("sage-reminder-1-generic"
|
||||
(54 "SAGE" "WHAT ARE YOU TWO DOING HERE? YOU HAVE POWER CELLS TO COLLECT!")
|
||||
(178)
|
||||
(181 "SAGE" "LEAVE ME ALONE... UNTIL YOU HAVE THEM!")
|
||||
)
|
||||
|
||||
("sage-reminder-2-generic"
|
||||
(27 "SAGE" "YOU TWO JUST DON'T UNDERSTAND THE GRAVITY OF THE SITUATION.")
|
||||
(137 "SAGE" "THIS IS ABOUT MORE THAN A SINGLE BOY GONE FUZZY. THIS IS ABOUT LIFE AS WE KNOW IT.")
|
||||
(320)
|
||||
(323 "SAGE" "NOW, GET OUT THERE AND FULFILL YOUR DESTINY.")
|
||||
(455)
|
||||
)
|
||||
|
||||
("assistant-introduction-blue-eco-switch"
|
||||
(23 "DAXTER" "HEY BABY. WHAT DO YOU SAY YOU AND I GO CRUISIN' ON THIS A-GRAV ZOOMER?")
|
||||
(175)
|
||||
(193 "KEIRA" "RULE NUMBER ONE: I DON'T DATE ANIMALS.")
|
||||
(308)
|
||||
(312 "DAXTER" "OH YOU DON'T KNOW WHAT YOU'RE MISSING, HE HEH.")
|
||||
(430)
|
||||
(505 "KEIRA" "LISTEN, IF YOU NEED SOMETHING TO KEEP YOU BUSY, MY FATHER ALWAYS TALKED")
|
||||
(635 "KEIRA" "ABOUT AN ANCIENT PRECURSOR PIPELINE HIDDEN DEEP UNDERGROUND.")
|
||||
(739)
|
||||
(742 :offscreen "KEIRA" "SOME OF THESE PIPES END IN VENTS FROM WHICH ECO FLOWS FREELY,")
|
||||
(842 :offscreen "KEIRA" "AND SOME HAVE BEEN CAPPED OFF SO THAT THE ECO IS SEALED BACK.")
|
||||
(945)
|
||||
(954 "KEIRA" "THERE MUST BE A WAY TO TURN THE CAPPED VENTS ON.")
|
||||
(1052 :offscreen "KEIRA" "I TRACED PART OF THE PIPELINE BACK TO THE FORBIDDEN TEMPLE.")
|
||||
(1138 "KEIRA" "MAYBE YOU SHOULD LOOK THERE FOR SOME TYPE OF SWITCH.")
|
||||
(1246)
|
||||
)
|
||||
|
||||
("assistant-reminder-1-blue-eco-switch"
|
||||
(23 "KEIRA" "I'M SURE IF YOU LOOKED INSIDE THE PRECURSOR FORBIDDEN TEMPLE")
|
||||
(143 "KEIRA" "YOU'LL FIND A WAY TO TURN ON THAT CAPPED BLUE ECO VENT ON SENTINEL BEACH.")
|
||||
(295)
|
||||
)
|
||||
|
||||
("farmer-introduction"
|
||||
(1 "FARMER" "GOTTA MILK THOSE YAKOWS, GOTTA MILK THOSE YAKOWS...")
|
||||
(113 "FARMER" "OH! IT'S YOU... JUST RESTIN' MY TRIED BONES. I'VE BEEN TRYING TO GET THOSE ORNERY YAKOWS")
|
||||
(317 "FARMER" "BACK INTO THE PEN ALL DAY! SOME STRANGE CREATURES TRIED TO STEAL 'EM EARLIER.")
|
||||
(454)
|
||||
(456 "FARMER" "YOU THINK YOU CAN HELP AN OLD MAN TRY TO GET 'EM BACK INTO THE CORRAL?")
|
||||
)
|
||||
|
||||
("farmer-reminder-1"
|
||||
(0 "FARMER" "HEY! MY YAKOWS ARE STILL ON THE LOOSE! EH, COULD YOU BRING 'EM BACK FOR ME ALREADY?")
|
||||
)
|
||||
|
||||
("farmer-reminder-2"
|
||||
(0 "FARMER" "THOSE DARN YAKOWS ARE STILL ROAMIN' FREE.")
|
||||
(85 "FARMER" "AIN'T YOU GONNA CHASE 'EM INTO THE CORRAL ALREADY?")
|
||||
)
|
||||
|
||||
("farmer-resolution"
|
||||
(0 "FARMER" "AH, WELL DONE MY BOY. YOU ACTUALLY GOT THOSE FLEABAGS PACK INTO THE PEN.")
|
||||
(134 "FARMER" "NOW I CAN SLEEP IN PEACE. TAKE THIS POWER CELL FOR YOUR TROUBLE.")
|
||||
(340)
|
||||
)
|
||||
|
||||
("explorer-introduction"
|
||||
(23 "JAK'S UNCLE" "WELL, HELLO THERE MY DEAR BOY. YOU'VE CAUGHT AT A MOST INOPPORTUNE MOMENT.")
|
||||
(197 "JAK'S UNCLE" "I WAS TO SET OFF ON MY JOURNEYS YESTERDAY")
|
||||
(288 "JAK'S UNCLE" "BUT I SEEM TO BE A SPOT SHORT ON THE OLD PRECURSOR ORBS.")
|
||||
(426)
|
||||
(430 "JAK'S UNCLE" "I WOULD'VE PLEDGED MY WORD THAT I HAD 90 OF THEM,")
|
||||
(538 "JAK'S UNCLE" "BUT I GATHER THAT YOUR YOUNG FRIEND, YOU KNOW, THE LITTLE ANNOYING MISERABLY UGLY ONE")
|
||||
(716 "JAK'S UNCLE" "MIGHT HAVE JUST PILFERED THEM AS A SORT OF A SPOT OF FUN.")
|
||||
(829)
|
||||
(865 "JAK'S UNCLE" "ANYWAY, WOULD YOU BE KIND ENOUGH TO LOAN YOUR DEAR OLD UNCLE 90 PRECURSOR ORBS")
|
||||
(1043 "JAK'S UNCLE" "SO HE CAN GET UNDERWAY? I WOULD OFFER YOU A POWER CELL IN RETURN.")
|
||||
)
|
||||
|
||||
("explorer-reminder-1"
|
||||
(25 "JAK'S UNCLE" "WHAT? YOU DON'T HAVE THE FULL STASH? HARUMPH!")
|
||||
(148 "JAK'S UNCLE" "WELL, ANY LESS THAN 90 PRECURSOR ORBS")
|
||||
(251 "JAK'S UNCLE" "AND I SHAN'T HAVE A CHANCE TO GET UNDERWAY, DEAR BOY.")
|
||||
(387)
|
||||
)
|
||||
|
||||
("explorer-reminder-2"
|
||||
(33 "JAK'S UNCLE" "OH SEE HERE, THE DEAL IS FOR 90 PRECURSOR ORBS FOR A POWER CELL.")
|
||||
(187 "JAK'S UNCLE" "A DOWNRIGHT EVEN TRADE.")
|
||||
)
|
||||
|
||||
("explorer-resolution"
|
||||
(28 "JAK'S UNCLE" "I SEE YOU TWO ARE BACK TO MAKE THE TRADE. GOOD, GOOD, JOLLY GOOD!")
|
||||
(179 "JAK'S UNCLE" "EH, YOU HAVE THE UH, PRECURSOR ORBS THAT WE AGREED ON?")
|
||||
(310)
|
||||
(324 "JAK'S UNCLE" "I HOPE YOU PUT THIS HARD-EARNED POWER CELL TO GOOD USE. CHEERIO, TA TA, BYE BYE!")
|
||||
)
|
||||
|
||||
|
||||
;; -----------------
|
||||
@@ -246,9 +392,16 @@
|
||||
|
||||
|
||||
("sksp0031" :hint #x23a (0 "DAXTER" "OOH! LET'S USE THE CANNON TO BLOW THINGS UP!"))
|
||||
("sksp0064" :hint #x245 (0 "DAXTER" "WATCH YOUR BACK! YOU REMEMBER WHAT HAPPENED THE LAST TIME WE WERE HERE."))
|
||||
("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!"))
|
||||
("sksp0062" :hint #x27e (0 "DAXTER" "LET'S PLOW INTO THOSE BALLOON LURKERS AND SHRED 'EM!"))
|
||||
("sksp0063" :hint #x27f
|
||||
(0 "DAXTER" "I SAID \"SHRED THE LURKERS,\" JAK. NOT THE MINES!")
|
||||
(332)
|
||||
(344 "DAXTER" "RULE NUMBER ONE: ALWAYS AVOID THE MINES!")
|
||||
)
|
||||
("sagevb02" :hint #x28a
|
||||
(6 "SAGE" "I HAVE TO ADMIT, I'M IMPRESSED. YOU TWO DIDN'T SCREW UP!")
|
||||
(385)
|
||||
@@ -258,6 +411,11 @@
|
||||
(880 "SAGE" "WIPE THAT RIDICULOUS GRIN OFF YOUR FACE, DAXTER! THE TWO OF YOU HAVE PLENTY TO DO.")
|
||||
(1191 "SAGE" "GET ON WITH IT!")
|
||||
)
|
||||
("asstvb03" :hint #x28b
|
||||
(0 "KEIRA" "GOOD! YOU STOPPED ALL THE MINE-DROPPING LURKERS!")
|
||||
(190 "KEIRA" "THEY'VE BEEN THREATENING THE WATERS AROUND OUR VILLAGE FOR WEEKS.")
|
||||
(391 "KEIRA" "BRING YOUR ZOOMER BACK TO THE TRANS-PAD AND I'LL TELEPORT IT BACK.")
|
||||
)
|
||||
("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!"))
|
||||
@@ -409,6 +567,111 @@
|
||||
("sksp0378" :hint #x813 (0 "DAXTER" "THE DOOR'S OPEN, LET'S GET GOING!"))
|
||||
|
||||
|
||||
;; -----------------
|
||||
;; finalboss
|
||||
|
||||
|
||||
("GOL-AM01" :hint 0 (0 "GOL" "YOU JUST WON'T GIVE UP, WILL YOU?"))
|
||||
("GOL-AM02" :hint 0 (0 "GOL" "SOON, THE DARK ECO WILL BE OURS!"))
|
||||
("GOL-AM03" :hint 0 (0 "GOL" "FINISH THEM!"))
|
||||
("GOL-AM04" :hint 0 (0 "GOL" "FIRE!"))
|
||||
("GOL-AM05" :hint 0 (0 "GOL" "BLAST THEM!"))
|
||||
("GOL-AM06" :hint 0 (0 "GOL" "WHAT? THEM AGAIN!"))
|
||||
("GOL-AM07" :hint 0 (0 "GOL" "IT'S TOO LATE!"))
|
||||
("GOL-AM08" :hint 0 (0 "GOL" "YOU ARE MINE!"))
|
||||
("GOL-AM09" :hint 0 (0 "GOL" "I HAVE YOU NOW!"))
|
||||
("GOL-AM10" :hint 0 (0 "GOL" "AH HA HA HA HA!"))
|
||||
("GOL-AM11" :hint 0 (0 "GOL" "NO MERCY!"))
|
||||
("GOL-AM12" :hint 0 (0 "GOL" "TAKE THAT!"))
|
||||
("GOL-AM13" :hint 0 (0 "GOL" "NICE TRY!"))
|
||||
("GOL-AM14" :hint 0 (0 "GOL" "STAND STILL!"))
|
||||
("GOL-AM15" :hint 0 (0 "GOL" "PATHETIC!"))
|
||||
("GOL-AM16" :hint 0 (0 "GOL" "NOOO!"))
|
||||
("GOL-AM17" :hint 0 (0 "GOL" "AHHH!"))
|
||||
("GOL-AM18" :hint 0 (0 "GOL" "WE'LL OPEN THE SILO ALL THE WAY AND DESTROY YOU TWO!"))
|
||||
("GOL-AM19" :hint 0 (0 "GOL" "LIGHT ECO! IT DOES EXIST!"))
|
||||
("GOL-AM20" :hint 0 (0 "GOL" "WE'RE NOT GONNA TAKE IT!"))
|
||||
("MAI-AM01" :hint 0 (0 "MAIA" "FINISH THEM BOTH OFF ONCE AND FOR ALL!"))
|
||||
("MAI-AM02" :hint 0 (0 "MAIA" "TAKE THEM OUT!"))
|
||||
("MAI-AM03" :hint 0 (0 "MAIA" "HA HA HA!"))
|
||||
("MAI-AM04" :hint 0 (0 "MAIA" "ECO WON'T PROTECT YOU NOW!"))
|
||||
("MAI-AM05" :hint 0 (0 "MAIA" "DO SOMETHING!"))
|
||||
("MAI-AM06" :hint 0 (0 "MAIA" "AGH!"))
|
||||
("MAI-AM07" :hint 0 (0 "MAIA" "NOOOOO!"))
|
||||
("MAI-AM08" :hint 0 (0 "MAIA" "WE'LL OPEN THE SILO ALL THE WAY AND DESTROY YOU TWO!"))
|
||||
("MAI-AM09" :hint 0 (0 "MAIA" "THEY MUST NOT BE ALLOWED TO GET IT!"))
|
||||
|
||||
("finalbosscam-white-eco"
|
||||
(163 :offscreen "GOL" "LIGHT ECO! IT DOES EXIST!")
|
||||
(268 :offscreen "MAIA" "THEY MUST NOT BE ALLOWED TO GET IT!")
|
||||
)
|
||||
|
||||
("green-sagecage-daxter-sacrifice"
|
||||
(0 "DAXTER" "LIGHT ECO! THAT COULD BE THE STUFF TO CHANGE ME BACK!")
|
||||
(114)
|
||||
(123 "DAXTER" "OR... IT MIGHT STOP THAT ROBOT.")
|
||||
(235)
|
||||
(274 "DAXTER" "STAY FUZZY, SAVE THE WORLD... CHOICES...")
|
||||
(404)
|
||||
(437 "DAXTER" "OKAY FINE WE'LL SAVE THE WORLD, BUT DO IT QUICKLY BEFORE I CHANGE MY MIND!")
|
||||
(634)
|
||||
)
|
||||
|
||||
("green-sagecage-outro-beat-boss-a"
|
||||
(165 :offscreen "MAIA" "DO SOMETHING!")
|
||||
(216)
|
||||
(596 :offscreen "GOL" "NOOO!")
|
||||
)
|
||||
|
||||
("green-sagecage-outro-beat-boss-b"
|
||||
(522 "SAGE" "WELL IT LOOKS LIKE I MAY HAVE BEEN TOO HARD ON YOU BOYS.")
|
||||
(640 "SAGE" "YOU DO HAVE WHAT IT TAKES TO BE HEROES!")
|
||||
(745)
|
||||
(751 "KEIRA" "BUT, DAXTER, NOW WE CAN'T CHANGE YOU BACK.")
|
||||
(845)
|
||||
(847 "DAXTER" "DON'T WORRY ABOUT ME, BABY. YOU KNOW WHAT THEY SAY: BIG THINGS COME IN SMALL PACKAGES.")
|
||||
(1096)
|
||||
(1100 "BLUE SAGE" "JAK, YOU HAVE AN INCREDIBLE TALENT FOR CHANNELING ECO!")
|
||||
(1219)
|
||||
(1222 "BLUE SAGE" "SAMOS, YOU MAY HAVE BEEN RIGHT ABOUT THIS ONE AFTER ALL!")
|
||||
(1321)
|
||||
(1323 "RED SAGE" "AND KEIRA, WITHOUT YOUR HELP AND INGENUITY NONE OF THIS WOULD HAVE BEEN POSSIBLE.")
|
||||
(1515 "RED SAGE" "HM-HM-HM. PERHAPS WE FOUND ANOTHER SAGE NOW THAT GOL AND MAIA ARE LOST...")
|
||||
(1728)
|
||||
(1731 "SAGE" "YES, GOL AND MAIA... THE DARK ECO PROBABLY DESTROYED THEM.")
|
||||
(1916 :offscreen "SAGE" "EH, PROBABLY...")
|
||||
(1999)
|
||||
(2003 "DAXTER" "AH WHO CARES? BRING 'EM ON WE CAN TAKE 'EM AGAIN, RIGHT JAK?")
|
||||
(2168)
|
||||
(2172 "DAXTER" "I SAID, RIGHT, JAK?")
|
||||
(2256)
|
||||
(2302 "DAXTER" "WHOA! PUT IT ON ICE, BIG GUY!")
|
||||
)
|
||||
|
||||
("green-sagecage-outro-beat-boss-need-cells"
|
||||
(151 "SAGE" "HOLY YAKOW! WHAT COULD THAT BE?")
|
||||
(247 "KEIRA" "WOW, IT'S AN ANCIENT PRECURSOR DOOR!")
|
||||
(342 :offscreen "KEIRA" "IT LOOKS LIKE IT WILL ONLY OPEN IF WE FILL ALL 100 HOLES WITH POWER CELLS!")
|
||||
(485 "DAXTER" "OH BOY... HERE WE GO AGAIN!")
|
||||
)
|
||||
|
||||
("green-sagecage-outro-beat-boss-enough-cells"
|
||||
(151 "SAGE" "HOLY YAKOW! WHAT COULD THAT BE?")
|
||||
(247 "KEIRA" "WOW, IT'S AN ANCIENT PRECURSOR DOOR!")
|
||||
(342 :offscreen "KEIRA" "IT LOOKS LIKE IT WILL ONLY OPEN IF WE FILL ALL 100 HOLES WITH POWER CELLS!")
|
||||
(485 "DAXTER" "UH, WE'RE HEROES, REMEMBER? WE HAVE 100 POWER CELLS!")
|
||||
)
|
||||
|
||||
("green-sagecage-outro-big-finish"
|
||||
(322 "DAXTER" "WOW! WHAT IS IT?")
|
||||
(425)
|
||||
(428 "KEIRA" "IT'S SO BEAUTIFUL...")
|
||||
(516)
|
||||
(519 "SAGE" "BY THE PRECURSORS...")
|
||||
(602)
|
||||
)
|
||||
|
||||
|
||||
;; -----------------
|
||||
;; training
|
||||
|
||||
|
||||
@@ -167,9 +167,7 @@
|
||||
(when (nonzero? s4-0)
|
||||
(dotimes (s3-0 (-> s4-0 length))
|
||||
(let ((s2-0 (-> s4-0 data s3-0 actor)))
|
||||
(if (and (type-type? (-> s2-0 type) entity-actor)
|
||||
(= (-> s2-0 etype) arg0)
|
||||
)
|
||||
(if (and (type-type? (-> s2-0 type) entity-actor) (= (-> s2-0 etype) arg0))
|
||||
(return s2-0)
|
||||
)
|
||||
)
|
||||
@@ -232,11 +230,10 @@
|
||||
(let* ((t1-3 (-> a3-5 data t0-4 actor))
|
||||
(t2-1 (-> t1-3 extra trans))
|
||||
)
|
||||
(if (and
|
||||
(= (the float (the int (-> t2-1 x))) arg0)
|
||||
(= (the float (the int (-> t2-1 y))) arg1)
|
||||
(= (the float (the int (-> t2-1 z))) arg2)
|
||||
)
|
||||
(if (and (= (the float (the int (-> t2-1 x))) arg0)
|
||||
(= (the float (the int (-> t2-1 y))) arg1)
|
||||
(= (the float (the int (-> t2-1 z))) arg2)
|
||||
)
|
||||
(return t1-3)
|
||||
)
|
||||
)
|
||||
@@ -347,10 +344,9 @@
|
||||
The second is a d, if we draw (only if we are process-drawable)
|
||||
The third is the LOD of the drawing. (also only for process-drawable)"
|
||||
(let* ((s5-0 arg0)
|
||||
(proc-draw (the-as process-drawable
|
||||
(if (and (nonzero? s5-0) (type-type? (-> s5-0 type) process-drawable))
|
||||
s5-0
|
||||
)
|
||||
(proc-draw (the-as process-drawable (if (and (nonzero? s5-0) (type-type? (-> s5-0 type) process-drawable))
|
||||
(the-as process-drawable s5-0)
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -458,8 +454,8 @@
|
||||
)
|
||||
(if (-> obj extra process)
|
||||
(* (- (-> obj extra process allocated-length)
|
||||
(&- (-> obj extra process heap-top) (the-as uint (-> obj extra process heap-cur)))
|
||||
)
|
||||
(&- (-> obj extra process heap-top) (the-as uint (-> obj extra process heap-cur)))
|
||||
)
|
||||
8
|
||||
)
|
||||
""
|
||||
@@ -922,10 +918,10 @@
|
||||
)
|
||||
((or (= arg0 'full) (-> s0-0 extra process))
|
||||
(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)
|
||||
)
|
||||
)
|
||||
(the-as uint #x8080ff80)
|
||||
(the-as uint #x800000ff)
|
||||
)
|
||||
)
|
||||
)
|
||||
(set! sv-192 add-debug-text-3d)
|
||||
(set! sv-208 #t)
|
||||
@@ -1023,10 +1019,10 @@
|
||||
)
|
||||
(when s3-2
|
||||
(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)
|
||||
)
|
||||
)
|
||||
(the-as uint #x8080ff80)
|
||||
(the-as uint #x800000ff)
|
||||
)
|
||||
)
|
||||
)
|
||||
(add-debug-text-3d
|
||||
#t
|
||||
@@ -1063,12 +1059,11 @@
|
||||
(dummy-9 (-> (the-as process-drawable s5-2) vol))
|
||||
)
|
||||
)
|
||||
(if (and
|
||||
(the-as process-drawable s5-2)
|
||||
(type-type? (-> (the-as process-drawable s5-2) type) process-drawable)
|
||||
(nonzero? (-> (the-as process-drawable s5-2) draw))
|
||||
*display-actor-vis*
|
||||
)
|
||||
(if (and (the-as process-drawable s5-2)
|
||||
(type-type? (-> (the-as process-drawable s5-2) type) process-drawable)
|
||||
(nonzero? (-> (the-as process-drawable s5-2) draw))
|
||||
*display-actor-vis*
|
||||
)
|
||||
(add-debug-sphere
|
||||
#t
|
||||
(bucket-id debug)
|
||||
@@ -1083,7 +1078,7 @@
|
||||
)
|
||||
)
|
||||
(when (and *display-actor-vis* *display-actor-anim*)
|
||||
(let ((s5-3 (entity-by-name (the-as string *display-actor-anim*))))
|
||||
(let ((s5-3 (entity-by-name *display-actor-anim*)))
|
||||
(when s5-3
|
||||
(let ((v0-35 (res-lump-data s5-3 'visvol pointer))
|
||||
(a1-31 (-> s5-3 extra vis-id))
|
||||
@@ -1106,10 +1101,9 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(if (and
|
||||
(or *display-nav-marks* *display-path-marks* *display-vol-marks*)
|
||||
(not (or *display-actor-anim* *display-process-anim*))
|
||||
)
|
||||
(if (and (or *display-nav-marks* *display-path-marks* *display-vol-marks*)
|
||||
(not (or *display-actor-anim* *display-process-anim*))
|
||||
)
|
||||
(iterate-process-tree
|
||||
*active-pool*
|
||||
(the-as (function object object) (lambda ((arg0 process-drawable))
|
||||
@@ -1171,17 +1165,16 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
(when (or
|
||||
*display-ambient-hint-marks*
|
||||
*display-ambient-sound-marks*
|
||||
*display-ambient-poi-marks*
|
||||
*display-ambient-light-marks*
|
||||
*display-ambient-dark-marks*
|
||||
*display-ambient-weather-off-marks*
|
||||
*display-ambient-ocean-off-marks*
|
||||
*display-ambient-ocean-near-off-marks*
|
||||
*display-ambient-music-marks*
|
||||
)
|
||||
(when (or *display-ambient-hint-marks*
|
||||
*display-ambient-sound-marks*
|
||||
*display-ambient-poi-marks*
|
||||
*display-ambient-light-marks*
|
||||
*display-ambient-dark-marks*
|
||||
*display-ambient-weather-off-marks*
|
||||
*display-ambient-ocean-off-marks*
|
||||
*display-ambient-ocean-near-off-marks*
|
||||
*display-ambient-music-marks*
|
||||
)
|
||||
(dotimes (s5-5 (-> obj length))
|
||||
(let ((v1-214 (-> obj level s5-5)))
|
||||
(when (= (-> v1-214 status) 'active)
|
||||
@@ -1254,21 +1247,6 @@
|
||||
`(or ,@(apply (lambda (x) `(begin (define-extern ,x type) (type-type? (-> obj etype) ,x))) types))
|
||||
)
|
||||
|
||||
(defmacro heap-size-hack (info entity-type)
|
||||
; `(cond
|
||||
; ((type-type? ,entity-type collectable)
|
||||
; #x1000
|
||||
; )
|
||||
; (else
|
||||
`(if ,info
|
||||
(-> ,info heap-size)
|
||||
#x4000
|
||||
)
|
||||
; )
|
||||
; )
|
||||
; #x8000
|
||||
)
|
||||
|
||||
(defmethod birth! entity-actor ((obj entity-actor))
|
||||
"Create a process for this entity and start it."
|
||||
|
||||
@@ -1288,7 +1266,10 @@
|
||||
|
||||
(let* ((entity-type (-> obj etype))
|
||||
(info (entity-info-lookup entity-type))
|
||||
(entity-process (get-process *default-dead-pool* entity-type (heap-size-hack info entity-type) ;; hack, modified this.
|
||||
(entity-process (get-process *default-dead-pool* entity-type (if info
|
||||
(-> info heap-size)
|
||||
#x4000
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
@@ -1306,7 +1287,6 @@
|
||||
(init-entity entity-process obj)
|
||||
)
|
||||
(else
|
||||
(birth-log "could not birth ~A because there was an issue.~%" obj)
|
||||
(when (not (birth-viewer entity-process obj))
|
||||
(format 0 "ERROR: no proper process type named ~A exists in the code, could not start ~A~%" entity-type obj)
|
||||
(logior! (-> obj extra perm status) (entity-perm-status bit-0))
|
||||
@@ -1372,12 +1352,10 @@
|
||||
;; NOTE: we don't actually birth the actors. It is too slow.
|
||||
;; so it gets spread over multiple frames later.
|
||||
(when (nonzero? (-> obj actors))
|
||||
;;(birth-log "add-to-level! for ~D actors for ~A~%" (-> obj actors length) obj)
|
||||
(dotimes (birth-idx (-> obj actors length))
|
||||
(let* ((idx-to-birth (-> obj actor-birth-order birth-idx))
|
||||
(actor-to-birth (-> obj actors data (logand idx-to-birth #xffff) actor))
|
||||
)
|
||||
;;(birth-log "now adding to level: ~D ~D ~A~%" birth-idx idx-to-birth actor-to-birth)
|
||||
(add-to-level! actor-to-birth *level* (-> obj level) (the-as actor-id (-> actor-to-birth aid)))
|
||||
)
|
||||
)
|
||||
@@ -1423,7 +1401,6 @@
|
||||
(let ((cams (-> obj cameras)))
|
||||
(when (nonzero? cams)
|
||||
(dotimes (s3-1 (-> cams length))
|
||||
;;(birth-log "birth cam: ~A~%" (-> cams s3-1))
|
||||
(birth! (-> cams s3-1))
|
||||
)
|
||||
)
|
||||
@@ -1471,11 +1448,10 @@
|
||||
)
|
||||
((= (-> s2-0 type) part-tracker)
|
||||
(let ((v1-28 (the-as part-tracker s2-0)))
|
||||
(if (and
|
||||
(nonzero? (-> v1-28 part))
|
||||
(>= (the-as int (-> v1-28 part group)) (the-as int s4-2))
|
||||
(< (the-as int (-> v1-28 part group)) (the-as int s3-1))
|
||||
)
|
||||
(if (and (nonzero? (-> v1-28 part))
|
||||
(>= (the-as int (-> v1-28 part group)) (the-as int s4-2))
|
||||
(< (the-as int (-> v1-28 part group)) (the-as int s3-1))
|
||||
)
|
||||
(deactivate s2-0)
|
||||
)
|
||||
)
|
||||
@@ -1489,11 +1465,10 @@
|
||||
)
|
||||
(when v1-34
|
||||
(cond
|
||||
((and
|
||||
(nonzero? (-> (the-as process-drawable v1-34) part))
|
||||
(>= (the-as int (-> (the-as process-drawable v1-34) part group)) (the-as int s4-2))
|
||||
(< (the-as int (-> (the-as process-drawable v1-34) part group)) (the-as int s3-1))
|
||||
)
|
||||
((and (nonzero? (-> (the-as process-drawable v1-34) part))
|
||||
(>= (the-as int (-> (the-as process-drawable v1-34) part group)) (the-as int s4-2))
|
||||
(< (the-as int (-> (the-as process-drawable v1-34) part group)) (the-as int s3-1))
|
||||
)
|
||||
(format
|
||||
#t
|
||||
"NOTICE: rogue null level entity (using part ~A) ~A~% still alive~%"
|
||||
@@ -1502,11 +1477,10 @@
|
||||
)
|
||||
(deactivate s2-0)
|
||||
)
|
||||
((and
|
||||
(nonzero? (-> (the-as process-drawable v1-34) draw))
|
||||
(>= (the-as int (-> (the-as process-drawable v1-34) draw art-group)) (the-as int s4-2))
|
||||
(< (the-as int (-> (the-as process-drawable v1-34) draw art-group)) (the-as int s3-1))
|
||||
)
|
||||
((and (nonzero? (-> (the-as process-drawable v1-34) draw))
|
||||
(>= (the-as int (-> (the-as process-drawable v1-34) draw art-group)) (the-as int s4-2))
|
||||
(< (the-as int (-> (the-as process-drawable v1-34) draw art-group)) (the-as int s3-1))
|
||||
)
|
||||
(format
|
||||
#t
|
||||
"NOTICE: rogue null level entity (using art ~A) ~A~% still alive~%"
|
||||
@@ -1540,13 +1514,12 @@
|
||||
(logclear! (-> obj status) arg1)
|
||||
)
|
||||
((nonzero? (-> obj task))
|
||||
(logclear! (-> obj status) (logior
|
||||
(if (logtest? (-> obj status) (entity-perm-status bit-4))
|
||||
524
|
||||
0
|
||||
)
|
||||
515
|
||||
)
|
||||
(logclear! (-> obj status) (logior (if (logtest? (-> obj status) (entity-perm-status bit-4))
|
||||
524
|
||||
0
|
||||
)
|
||||
515
|
||||
)
|
||||
)
|
||||
)
|
||||
(else
|
||||
@@ -1644,23 +1617,20 @@
|
||||
)
|
||||
|
||||
(defmethod run-logic? process-drawable ((obj process-drawable))
|
||||
(or
|
||||
(zero? (logand (-> obj mask) (process-mask actor-pause)))
|
||||
(or
|
||||
(>= (+ (-> *ACTOR-bank* pause-dist) (-> obj root pause-adjust-distance))
|
||||
(vector-vector-distance (-> obj root trans) (math-camera-pos))
|
||||
(or (zero? (logand (-> obj mask) (process-mask actor-pause)))
|
||||
(or (>= (+ (-> *ACTOR-bank* pause-dist) (-> obj root pause-adjust-distance))
|
||||
(vector-vector-distance (-> obj root trans) (math-camera-pos))
|
||||
)
|
||||
(and (nonzero? (-> obj skel)) (!= (-> obj skel root-channel 0) (-> obj skel channel)))
|
||||
(and (nonzero? (-> obj draw)) (logtest? (-> obj draw status) (draw-status no-skeleton-update)))
|
||||
)
|
||||
(and (nonzero? (-> obj skel)) (!= (-> obj skel root-channel 0) (-> obj skel channel)))
|
||||
(and (nonzero? (-> obj draw)) (logtest? (-> obj draw status) (draw-status no-skeleton-update)))
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
(defmethod birth? entity-links ((obj entity-links) (arg0 vector))
|
||||
(and
|
||||
(zero? (logand (-> obj perm status) (entity-perm-status bit-0 dead)))
|
||||
(< (vector-vector-distance (-> obj trans) arg0) (-> *ACTOR-bank* birth-dist))
|
||||
)
|
||||
(and (zero? (logand (-> obj perm status) (entity-perm-status bit-0 dead)))
|
||||
(< (vector-vector-distance (-> obj trans) arg0) (-> *ACTOR-bank* birth-dist))
|
||||
)
|
||||
)
|
||||
|
||||
(defmethod actors-update level-group ((obj level-group))
|
||||
@@ -1681,13 +1651,7 @@
|
||||
)
|
||||
(when (not (paused?))
|
||||
(let ((s5-1 (-> *display* frames (-> *display* last-screen) frame run-time)))
|
||||
(let ((f0-5
|
||||
(fmax
|
||||
327680.0
|
||||
(fmin (+ 327680.0 (* 204.8 (the float (- 7000 (the-as int s5-1))))) (-> *ACTOR-bank* birth-dist))
|
||||
)
|
||||
)
|
||||
)
|
||||
(let ((f0-5 (fmax 327680.0 (fmin (+ 327680.0 (* 204.8 (the float (- 7000 s5-1)))) (-> *ACTOR-bank* birth-dist)))))
|
||||
(seek! (-> *ACTOR-bank* pause-dist) f0-5 (* 81920.0 (-> *display* seconds-per-frame)))
|
||||
)
|
||||
(seekl! (-> *ACTOR-bank* birth-max) (the int (lerp-scale 25.0 1.0 (the float s5-1) 2000.0 7000.0)) 10)
|
||||
@@ -1756,7 +1720,9 @@
|
||||
)
|
||||
)
|
||||
)
|
||||
((= (-> s4-2 display?) 'actor)
|
||||
((#if PC_PORT
|
||||
(or (= (-> s4-2 display?) 'actor) (with-pc (-> *pc-settings* force-actors?)))
|
||||
(= (-> s4-2 display?) 'actor))
|
||||
(let* ((s4-4 (-> s4-2 entity))
|
||||
(s3-3 (-> s4-4 length))
|
||||
)
|
||||
@@ -1789,10 +1755,9 @@
|
||||
(dotimes (s2-3 s3-4)
|
||||
(let ((s1-1 (-> s4-5 data s2-3)))
|
||||
(cond
|
||||
((and
|
||||
(< (vector-vector-distance (-> s1-1 trans) sv-16) (-> *ACTOR-bank* birth-dist))
|
||||
(zero? (logand (-> s1-1 perm status) (entity-perm-status bit-9 bit-10)))
|
||||
)
|
||||
((and (< (vector-vector-distance (-> s1-1 trans) sv-16) (-> *ACTOR-bank* birth-dist))
|
||||
(zero? (logand (-> s1-1 perm status) (entity-perm-status bit-9 bit-10)))
|
||||
)
|
||||
(when (not (or (-> s1-1 process) (logtest? (-> s1-1 perm status) (entity-perm-status bit-0 dead))))
|
||||
(birth! (-> s1-1 entity))
|
||||
(set! sv-24 (+ sv-24 1))
|
||||
@@ -1820,10 +1785,9 @@
|
||||
(dotimes (s1-2 s2-4)
|
||||
(set! sv-32 (-> s3-5 data s1-2))
|
||||
(cond
|
||||
((and
|
||||
(is-object-visible? s4-2 (-> sv-32 vis-id))
|
||||
(zero? (logand (-> sv-32 perm status) (entity-perm-status bit-9 bit-10)))
|
||||
)
|
||||
((and (is-object-visible? s4-2 (-> sv-32 vis-id))
|
||||
(zero? (logand (-> sv-32 perm status) (entity-perm-status bit-9 bit-10)))
|
||||
)
|
||||
(when (not (or (-> sv-32 process) (logtest? (-> sv-32 perm status) (entity-perm-status bit-0 dead)) s0-1))
|
||||
(birth! (-> sv-32 entity))
|
||||
(set! sv-24 (+ sv-24 1))
|
||||
|
||||
@@ -1047,10 +1047,7 @@
|
||||
"Is arg0 visible? Note that this will return #f if the visibility data is not loaded."
|
||||
|
||||
;; note : pc port added option to show every actor regardless
|
||||
(#when PC_PORT
|
||||
(cond
|
||||
((actor-force-visible? *pc-settings*) #t)
|
||||
(else
|
||||
(with-pc (if (-> *pc-settings* force-actors?) (return #t)))
|
||||
|
||||
;; check the vis bits!
|
||||
(let* (;; lwu v1, 388(a0)
|
||||
@@ -1072,10 +1069,6 @@
|
||||
;; movz v0, s7, v1 if (csw >= 0) result = false
|
||||
;;(format 0 "vis check ~D ~X ~X ~A~%" arg0 vis-byte check-sign-word (>= check-sign-word 0))
|
||||
(< check-sign-word 0)
|
||||
)
|
||||
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
|
||||
|
||||
@@ -154,7 +154,7 @@
|
||||
(define *options-remap* (new 'static 'boxed-array :type (array game-option) :length 0 :allocated-length (#if (not PC_PORT) 35 50)))
|
||||
|
||||
;; TODO probably an enum.
|
||||
;; maps "levels" to the appropriate offset in *level-task-data*
|
||||
;; maps level-info indices to the appropriate offset in *level-task-data*
|
||||
(define *level-task-data-remap*
|
||||
(new 'static 'boxed-array :type int32 :length 23 :allocated-length 23
|
||||
0
|
||||
|
||||
@@ -1190,10 +1190,8 @@
|
||||
(set! (-> self at-point z) (+ (-> self center-point z) (* f30-0 (sin f28-1))))
|
||||
)
|
||||
(set! (-> self at-point w) 1.0)
|
||||
(let ((f0-11 (rand-vu-float-range 2730.6667 12743.111)))
|
||||
(set! (-> self target-theta) f0-11)
|
||||
f0-11
|
||||
)
|
||||
(set! (-> self target-theta) (rand-vu-float-range 2730.6667 12743.111))
|
||||
(none)
|
||||
)
|
||||
|
||||
(defmethod rotate! mistycannon ((obj mistycannon) (arg0 float))
|
||||
@@ -1290,9 +1288,9 @@
|
||||
:longest-edge (meters 4)
|
||||
)
|
||||
|
||||
(defun mistycannon-prebind-function ((arg0 mistycannon) (arg1 int) (arg2 mistycannon))
|
||||
(defun mistycannon-prebind-function ((arg0 pointer) (arg1 int) (arg2 mistycannon))
|
||||
(let ((t9-0 quaternion-axis-angle!)
|
||||
(a0-1 (&-> arg0 link))
|
||||
(a0-1 (&+ arg0 144))
|
||||
(a1-1 0.0)
|
||||
(a2-1 1.0)
|
||||
(a3-0 0.0)
|
||||
@@ -1307,7 +1305,7 @@
|
||||
)
|
||||
)
|
||||
(let ((t9-1 quaternion-axis-angle!)
|
||||
(a0-2 (&-> arg0 tilt min))
|
||||
(a0-2 (&+ arg0 192))
|
||||
(a1-2 -1.0)
|
||||
(a2-2 0.0)
|
||||
(a3-1 0.0)
|
||||
@@ -1334,10 +1332,10 @@
|
||||
(the float (sar (shl (the int (+ (-> v1-19 min) (-> v1-19 value))) 48) 48))
|
||||
)
|
||||
)
|
||||
(quaternion-axis-angle! (the-as quaternion (&-> arg0 stack 324)) -1.0 0.0 0.0 (-> arg2 front-wheel))
|
||||
(quaternion-axis-angle! (the-as quaternion (&-> arg0 stack 276)) 1.0 0.0 0.0 (-> arg2 front-wheel))
|
||||
(quaternion-axis-angle! (the-as quaternion (&-> arg0 goggles y)) -1.0 0.0 0.0 (-> arg2 rear-wheel))
|
||||
(quaternion-axis-angle! (the-as quaternion (&-> arg0 at-point y)) 1.0 0.0 0.0 (-> arg2 rear-wheel))
|
||||
(quaternion-axis-angle! (the-as quaternion (&+ arg0 432)) -1.0 0.0 0.0 (-> arg2 front-wheel))
|
||||
(quaternion-axis-angle! (the-as quaternion (&+ arg0 384)) 1.0 0.0 0.0 (-> arg2 front-wheel))
|
||||
(quaternion-axis-angle! (the-as quaternion (&+ arg0 288)) -1.0 0.0 0.0 (-> arg2 rear-wheel))
|
||||
(quaternion-axis-angle! (the-as quaternion (&+ arg0 336)) 1.0 0.0 0.0 (-> arg2 rear-wheel))
|
||||
0
|
||||
(none)
|
||||
)
|
||||
@@ -1891,9 +1889,7 @@
|
||||
(initialize-skeleton obj *mistycannon-sg* '())
|
||||
(logior! (-> obj skel status) (janim-status inited))
|
||||
(update-transforms! (-> obj root-override))
|
||||
(set! (-> obj skel prebind-function)
|
||||
(the-as (function pointer int process-drawable none) mistycannon-prebind-function)
|
||||
)
|
||||
(set! (-> obj skel prebind-function) mistycannon-prebind-function)
|
||||
(set! (-> obj skel postbind-function) mistycannon-postbind-function)
|
||||
(set! (-> obj fact-info-override)
|
||||
(new 'process 'fact-info-enemy obj (pickup-type eco-pill-random) (-> *FACT-bank* default-pill-inc))
|
||||
|
||||
@@ -261,7 +261,7 @@
|
||||
(lod-force-actor int8) ;; merc lod tier override
|
||||
|
||||
;; misc settings
|
||||
(force-actors? symbol) ;; see actor-force-visible?
|
||||
(force-actors? symbol) ;; skips vis check for actor entity
|
||||
(music-fade? symbol) ;; if off, music has no fade in
|
||||
(use-vis? symbol) ;; if off, don't use vis trees. this MUST be off for custom (non-cropping) aspect ratios.
|
||||
(skip-movies? symbol) ;; if on, enable cutscene skipping
|
||||
@@ -308,7 +308,6 @@
|
||||
(set-aspect-ratio! (_type_ float) none)
|
||||
(read-from-file (_type_ string) symbol)
|
||||
(write-to-file (_type_ string) symbol)
|
||||
(actor-force-visible? (_type_) symbol)
|
||||
(update-cheats (_type_) int)
|
||||
(commit-to-file (_type_) none)
|
||||
(load-settings (_type_) int)
|
||||
@@ -486,12 +485,6 @@
|
||||
(set! (-> obj secrets watch-12hr?) #f)
|
||||
(none))
|
||||
|
||||
(defmethod actor-force-visible? pc-settings ((obj pc-settings))
|
||||
"return #t if actors should be visible regardless of vis."
|
||||
(declare (inline))
|
||||
(and (not (-> obj use-vis?)) (-> obj force-actors?))
|
||||
)
|
||||
|
||||
(defmacro with-pc (&rest body)
|
||||
"encapsulates the code around PC-specific checks"
|
||||
`(#when PC_PORT (when (and *pc-settings*)
|
||||
|
||||
@@ -195,7 +195,7 @@
|
||||
)
|
||||
)
|
||||
(cond
|
||||
((actor-force-visible? obj)
|
||||
((-> obj force-actors?)
|
||||
;; kinda overkill.
|
||||
(set! (-> *ACTOR-bank* birth-dist) (meters 10000))
|
||||
(set! (-> *ACTOR-bank* pause-dist) (meters 10000))
|
||||
|
||||
+11
-14
@@ -1286,6 +1286,7 @@
|
||||
)
|
||||
|
||||
;; definition for function mistycannon-pick-random-target-point
|
||||
;; INFO: Return type mismatch float vs none.
|
||||
(defbehavior mistycannon-pick-random-target-point mistycannon ()
|
||||
(let ((f30-0 (* (sqrtf (rand-vu)) (-> self center-point w)))
|
||||
(f28-1 (* 65536.0 (rand-vu)))
|
||||
@@ -1295,10 +1296,8 @@
|
||||
(set! (-> self at-point z) (+ (-> self center-point z) (* f30-0 (sin f28-1))))
|
||||
)
|
||||
(set! (-> self at-point w) 1.0)
|
||||
(let ((f0-11 (rand-vu-float-range 2730.6667 12743.111)))
|
||||
(set! (-> self target-theta) f0-11)
|
||||
f0-11
|
||||
)
|
||||
(set! (-> self target-theta) (rand-vu-float-range 2730.6667 12743.111))
|
||||
(none)
|
||||
)
|
||||
|
||||
;; definition for method 20 of type mistycannon
|
||||
@@ -1406,9 +1405,9 @@
|
||||
|
||||
;; definition for function mistycannon-prebind-function
|
||||
;; INFO: Return type mismatch int vs none.
|
||||
(defun mistycannon-prebind-function ((arg0 mistycannon) (arg1 int) (arg2 mistycannon))
|
||||
(defun mistycannon-prebind-function ((arg0 pointer) (arg1 int) (arg2 mistycannon))
|
||||
(let ((t9-0 quaternion-axis-angle!)
|
||||
(a0-1 (&-> arg0 link))
|
||||
(a0-1 (&+ arg0 144))
|
||||
(a1-1 0.0)
|
||||
(a2-1 1.0)
|
||||
(a3-0 0.0)
|
||||
@@ -1423,7 +1422,7 @@
|
||||
)
|
||||
)
|
||||
(let ((t9-1 quaternion-axis-angle!)
|
||||
(a0-2 (&-> arg0 tilt min))
|
||||
(a0-2 (&+ arg0 192))
|
||||
(a1-2 -1.0)
|
||||
(a2-2 0.0)
|
||||
(a3-1 0.0)
|
||||
@@ -1450,10 +1449,10 @@
|
||||
(the float (sar (shl (the int (+ (-> v1-19 min) (-> v1-19 value))) 48) 48))
|
||||
)
|
||||
)
|
||||
(quaternion-axis-angle! (the-as quaternion (&-> arg0 stack 324)) -1.0 0.0 0.0 (-> arg2 front-wheel))
|
||||
(quaternion-axis-angle! (the-as quaternion (&-> arg0 stack 276)) 1.0 0.0 0.0 (-> arg2 front-wheel))
|
||||
(quaternion-axis-angle! (the-as quaternion (&-> arg0 goggles y)) -1.0 0.0 0.0 (-> arg2 rear-wheel))
|
||||
(quaternion-axis-angle! (the-as quaternion (&-> arg0 at-point y)) 1.0 0.0 0.0 (-> arg2 rear-wheel))
|
||||
(quaternion-axis-angle! (the-as quaternion (&+ arg0 432)) -1.0 0.0 0.0 (-> arg2 front-wheel))
|
||||
(quaternion-axis-angle! (the-as quaternion (&+ arg0 384)) 1.0 0.0 0.0 (-> arg2 front-wheel))
|
||||
(quaternion-axis-angle! (the-as quaternion (&+ arg0 288)) -1.0 0.0 0.0 (-> arg2 rear-wheel))
|
||||
(quaternion-axis-angle! (the-as quaternion (&+ arg0 336)) 1.0 0.0 0.0 (-> arg2 rear-wheel))
|
||||
0
|
||||
(none)
|
||||
)
|
||||
@@ -2046,9 +2045,7 @@
|
||||
(initialize-skeleton obj *mistycannon-sg* '())
|
||||
(logior! (-> obj skel status) (janim-status inited))
|
||||
(update-transforms! (-> obj root-override))
|
||||
(set! (-> obj skel prebind-function)
|
||||
(the-as (function pointer int process-drawable none) mistycannon-prebind-function)
|
||||
)
|
||||
(set! (-> obj skel prebind-function) mistycannon-prebind-function)
|
||||
(set! (-> obj skel postbind-function) mistycannon-postbind-function)
|
||||
(set! (-> obj fact-info-override)
|
||||
(new 'process 'fact-info-enemy obj (pickup-type eco-pill-random) (-> *FACT-bank* default-pill-inc))
|
||||
|
||||
Reference in New Issue
Block a user