jak3: subtitle3, vag-player (#3758)

This commit is contained in:
Hat Kid
2024-11-12 02:45:16 +01:00
committed by GitHub
parent b55a918902
commit af5cb9b1cb
48 changed files with 12292 additions and 126 deletions
+1 -1
View File
@@ -8306,7 +8306,7 @@
(define-extern *font-default-matrix* matrix)
(define-extern *font-work* font-work)
(define-extern font-set-tex0 (function (pointer gs-tex0) texture int int int none))
(define-extern set-font-color (function font-color int rgba rgba rgba int))
(define-extern set-font-color (function font-color rgba rgba rgba rgba int))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; decomp-h ;;
+1 -1
View File
@@ -73,7 +73,7 @@
"write_hex_near_instructions": false,
// to write out "scripts", which are currently just all the linked lists found. mostly a jak 2/3 thing
"write_scripts": true,
"write_scripts": false,
// hex dump of code/data files.
"hexdump_code": false,
+234 -1
View File
@@ -316,7 +316,240 @@
"str_texture_file_names": ["STR/PRMINIMA.STR"],
// some objects are part of STR files (streaming data).
"str_file_names": [],
"str_file_names": [
"STR/ARF1INTR.STR",
"STR/ARF1RES.STR",
"STR/ARF2INTR.STR",
"STR/ARF2RES.STR",
"STR/ARF3INTR.STR",
"STR/ARF3RES.STR",
"STR/AROUTRO.STR",
"STR/ART1INTR.STR",
"STR/CAGSHIEL.STR",
"STR/CATRES.STR",
"STR/CAWRRES.STR",
"STR/CIATIDES.STR",
"STR/CIATOUT.STR",
"STR/CIBBINTR.STR",
"STR/CIBBRES.STR",
"STR/CIBTINTR.STR",
"STR/CIDGRES.STR",
"STR/CIFCEINT.STR",
"STR/CIGC1RES.STR",
"STR/CIGC2INT.STR",
"STR/CIGC2RES.STR",
"STR/CIGCINTR.STR",
"STR/CIGDPUNC.STR",
"STR/CIGTCINT.STR",
"STR/CIHVRES.STR",
"STR/CIPAIB.STR",
"STR/CIPAINTR.STR",
"STR/CIPARES.STR",
"STR/CIPFINTR.STR",
"STR/CIPGINTR.STR",
"STR/CIPGRES.STR",
"STR/CIPHINTR.STR",
"STR/CIPHRES.STR",
"STR/CISFINTR.STR",
"STR/COETEMPL.STR",
"STR/COEXIT.STR",
"STR/DAD06.STR",
"STR/DAD07.STR",
"STR/DAD10.STR",
"STR/DAD12.STR",
"STR/DAD13.STR",
"STR/DAD14.STR",
"STR/DAD16.STR",
"STR/DAD17.STR",
"STR/DAD18.STR",
"STR/DAD20.STR",
"STR/DAD21.STR",
"STR/DAD24.STR",
"STR/DAD31.STR",
"STR/DAD35.STR",
"STR/DAD38.STR",
"STR/DAD57.STR",
"STR/DAD58.STR",
"STR/DAD61.STR",
"STR/DAMOLE.STR",
"STR/DEAR1INT.STR",
"STR/DEAR1RES.STR",
"STR/DEAR2INT.STR",
"STR/DEATIN.STR",
"STR/DEATOUT.STR",
"STR/DEBBINTR.STR",
"STR/DECLINTR.STR",
"STR/DECRINTR.STR",
"STR/DECWIN.STR",
"STR/DEFBIA.STR",
"STR/DEFBINTR.STR",
"STR/DEFBRB.STR",
"STR/DEFBRES.STR",
"STR/DEGRES.STR",
"STR/DEHINTRO.STR",
"STR/DEHRES.STR",
"STR/DEJGOTA.STR",
"STR/DEJGOTB.STR",
"STR/DEJGOTC.STR",
"STR/DEJMINTR.STR",
"STR/DELC2.STR",
"STR/DELC3.STR",
"STR/DELCATCH.STR",
"STR/DEODRB.STR",
"STR/DEODRES.STR",
"STR/DERINTRO.STR",
"STR/DERRA.STR",
// "STR/DESCREEN.STR",
"STR/DPBTURRE.STR",
"STR/FABINTRO.STR",
"STR/FABRES.STR",
"STR/FAI1INTR.STR",
"STR/FAI2INTR.STR",
"STR/FAI3INTR.STR",
"STR/FAI4INTR.STR",
"STR/FASBIB.STR",
"STR/FASBINTR.STR",
"STR/FASBRES.STR",
"STR/FORB.STR",
"STR/FORCRES.STR",
"STR/FOTOMRES.STR",
"STR/FOTOWER.STR",
"STR/GRMANIMS.STR",
"STR/INDROP.STR",
"STR/INFFHQ.STR",
"STR/INLOST.STR",
"STR/INPALACE.STR",
"STR/INRESCUE.STR",
"STR/INTIRED.STR",
"STR/INTRAINI.STR",
"STR/JAA1.STR",
"STR/JAA2.STR",
"STR/JAA3.STR",
"STR/JAA4.STR",
"STR/JAA5.STR",
"STR/JAA6.STR",
"STR/JAA7.STR",
"STR/JABOARD.STR",
"STR/JACARRY.STR",
"STR/JAD1.STR",
"STR/JAD2.STR",
"STR/JAD3.STR",
"STR/JAD4.STR",
"STR/JAD5.STR",
"STR/JADARK.STR",
"STR/JADON.STR",
"STR/JADUMMY.STR",
"STR/JAEBOARD.STR",
"STR/JAEDARK.STR",
"STR/JAEGC.STR",
"STR/JAEGNORM.STR",
"STR/JAEGOLD.STR",
"STR/JAELIGHT.STR",
"STR/JAENORMA.STR",
// "STR/JAEXTERN.STR",
"STR/JAFLDAX.STR",
"STR/JAFLUT.STR",
"STR/JAGUN.STR",
"STR/JAICE.STR",
"STR/JAINDAX.STR",
"STR/JAKANGA.STR",
"STR/JALADDER.STR",
"STR/JALIGHT.STR",
"STR/JAMECH.STR",
"STR/JAPEGASU.STR",
"STR/JAPGLIDE.STR",
"STR/JAPGUN.STR",
"STR/JAPHCAR.STR",
"STR/JAPIDAX.STR",
"STR/JAPILOT.STR",
"STR/JAPOLE.STR",
"STR/JAPWCAR.STR",
"STR/JARACER.STR",
"STR/JASWIM.STR",
"STR/JATENTAC.STR",
"STR/JATUBE.STR",
"STR/JATURRET.STR",
"STR/KRWB1.STR",
"STR/KRWB2.STR",
"STR/KRWB3.STR",
"STR/MIBINTRO.STR",
"STR/MIBRES.STR",
"STR/MIERES.STR",
"STR/MIGEXIT.STR",
"STR/MITINTRO.STR",
"STR/MITRES.STR",
"STR/MU2ANIMS.STR",
"STR/MU3ANIMS.STR",
"STR/MU4ANIMS.STR",
"STR/MUANIMS.STR",
"STR/NEDBARRI.STR",
"STR/NEEINTRO.STR",
"STR/NEHINTRO.STR",
"STR/NEHRES.STR",
"STR/NSB1BREA.STR",
"STR/NSB2BREA.STR",
"STR/PARAINTR.STR",
"STR/PARARA.STR",
"STR/PARARES.STR",
"STR/PARPINTR.STR",
"STR/PEFLY.STR",
"STR/POAINTRO.STR",
"STR/PRDSERES.STR",
"STR/PRDSLOSE.STR",
"STR/PRDSRES.STR",
"STR/PRHA.STR",
"STR/PRHB.STR",
"STR/PRHC.STR",
"STR/PRHFINAL.STR",
// "STR/PRMINIMA.STR",
"STR/PRTRES.STR",
"STR/RATA1INT.STR",
"STR/RATA2INT.STR",
// "STR/SCBOOK.STR",
"STR/SEEINTRO.STR",
"STR/SEGENTRA.STR",
"STR/SEHKENTR.STR",
"STR/SEHKRES.STR",
"STR/SEKENTRA.STR",
"STR/SEKEXIT.STR",
"STR/SEKMINTR.STR",
"STR/SEMEXIT.STR",
"STR/SEMHINTR.STR",
"STR/SEPEXIT.STR",
"STR/SESGRUNT.STR",
"STR/SEWATERS.STR",
"STR/TECINTRO.STR",
"STR/TECRES.STR",
"STR/TEDINTRO.STR",
"STR/TEDRES.STR",
"STR/TEEANIMS.STR",
"STR/TEELAANI.STR",
"STR/TEELODS.STR",
"STR/TEJGLGLI.STR",
"STR/TEOINTRO.STR",
"STR/TEORES.STR",
"STR/TETINTRO.STR",
"STR/TETRA.STR",
"STR/TETRB.STR",
"STR/TEWDESER.STR",
"STR/TODINTRO.STR",
"STR/TODRB.STR",
"STR/TODRES.STR",
"STR/VODRES.STR",
"STR/VOI1INTR.STR",
"STR/VOI1RES.STR",
"STR/VOI2INTR.STR",
"STR/VOI2RES.STR",
"STR/WACINTRO.STR",
"STR/WADRES.STR",
"STR/WAGINTRO.STR",
"STR/WAGRES.STR",
"STR/WALRINTR.STR",
"STR/WALRRES.STR",
"STR/WAPGINTR.STR",
"STR/WAPGRES.STR"
// "STR/WOMAP.STR"
],
// streaming "art" that should be added to GAME.FR3.
"str_art_file_names": ["STR/JAEXTERN.STR"],
@@ -2141,5 +2141,8 @@
"a2-1": ["a2-1", "uint"],
"a3-0": ["a3-0", "uint"]
}
},
"set-font-color": {
"args": ["idx", "clr0", "clr1", "clr2", "clr3"]
}
}
+1 -1
View File
@@ -166,7 +166,7 @@ FullName extract_name(const std::string& file_info_name) {
name.name = name.name.substr(0, name.name.length() - 6);
int chunk_id = 0;
int place = 0;
for (int i = 2; i-- > 0;) {
for (int i = 3; i-- > 0;) {
char c = name.name.back();
if (c >= '0' && c <= '9') {
int val = (c - '0');
+6 -6
View File
@@ -454,7 +454,7 @@ std::string write_spool_subtitles(
bool has_spools = false;
for (auto& [spool_name, subs] : data) {
result += " \"" + spool_name + "\": {\n";
result += " \"scene\": true,\n";
// result += " \"scene\": true,\n";
result += " \"lines\": [\n";
bool has_subs = false;
for (auto& sub : subs) {
@@ -463,20 +463,20 @@ std::string write_spool_subtitles(
continue;
}
result += " {\n";
result += " \"end\": " + float_to_string(sub.end_frame) + ",\n";
result += " \"frame_end\": " + float_to_string(sub.end_frame) + ",\n";
result += " \"frame_start\": " + float_to_string(sub.start_frame) + ",\n";
if (dump_text) {
result += " \"merge\": false,\n";
} else {
result += " \"merge\": true,\n";
}
result += " \"offscreen\": false,\n";
result += " \"speaker\": \"none\",\n";
result += " \"start\": " + float_to_string(sub.start_frame) + ",\n";
if (dump_text) {
result += " \"text\": \"" + msg.text + "\"\n";
result += " \"text\": \"" + msg.text + "\",\n";
} else {
result += " \"text\": \"\"\n";
// result += " \"text\": \"\",\n";
}
result += " \"speaker\": \"none\"\n";
result += " },\n";
has_subs = true;
}