English subtitling

If you'd like to help add English subtitles to the game:

grab the re4_tweaks build from https://github.com/nipkownix/re4_tweaks/pull/185 & install that onto your copy
grab the ZIP from https://github.com/emoose/re4-research/issues/11#issuecomment-1125859104 and extract that into your install.

With those done, you should now have Spanish subtitles visible when playing in English language - the subtitles should also have an ID number attached to every line too, eg:
r100s03-2 Me preguntaba si reconoce a la chica de la foto
The spanish text there isn't too important, the important parts are the ID number at the start, and the line that's actually being spoken. Note down those two like below & reply to this issue with it:
eg.
r100s03-2 = I was wondering if you might recognize the girl in this photograph?

I'll try and post updated mdt/evd files as more subs are added - unfortunately the game doesn't seem to handle text wrapping for us though, so will probably need to go over them a few times to add newlines & other fixes too.
If you find something weird like a cutscene with no text being shown while other languages display subtitles fine, please let me know about it, can hopefully add new subtitles there instead.

Managed to dump out the subs for all langs (besides chinese, since I don't have charset mapped for it), can probably help us figure out what each subtitle ID is for:
re4_110_mdt-inis.zip
Also noticed there's actually quite a lot of subs where English is missing placeholders entirely (eg. r11cs00.mdt.ini has 16+ subs defined for other languages, but only 3 for english...), for that I've updated my tool so new subs can be added in, once we've fixed up the placeholders we can look into adding the missing ones.
I saw that [unk-0x0009][unk-0xFFFF][unk-0x0008][unk-0x0004] is also used a lot across languages, not really sure what those chars are for though, maybe control codes to color/bold text or something.

Managed to dump out the subs for all langs (besides chinese, since I don't have charset mapped for it), can probably help us figure out what each subtitle ID is for:
re4_110_mdt-inis.zip
Also noticed there's actually quite a lot of subs where English is missing placeholders entirely (eg. r11cs00.mdt.ini has 16+ subs defined for other languages, but only 3 for english...), for that I've updated my tool so new subs can be added in, once we've fixed up the placeholders we can look into adding the missing ones.
I saw that [unk-0x0009][unk-0xFFFF][unk-0x0008][unk-0x0004] is also used a lot across languages, not really sure what those chars are for though, maybe control codes to color/bold text or something.

The prologue cutscene seems to just show "DUMMY" as the text for every subtitle as Leon's talking. Assuming it's able to be replaced in real-time though, I'll put the transcript I found to use.

DUMMY = 1998... I'll never forget it.

DUMMY = It was the year when these grisly murders occured in the Arklay Mountains.

DUMMY = Soon after, the news was out to the whole world revealing that it was the fault of a secret viral experiment conducted by the international pharmaceutical enterprise, Umbrella.

DUMMY = The virus broke out in a nearby mountain community, Raccoon City.

DUMMY = And hit the peaceful little town with a devastating blow crippling its very foundation.

DUMMY = Not taking any chances, the President of the United States ordered a contingency plan - to sterilize Raccoon City.

DUMMY = With the whole affair gone public, the United States government issued an indefinite suspension of business decree to Umbrella.

DUMMY = Soon its stock prices crashed and for all intents and purposes Umbrella was finished.

DUMMY = Six years had passed since that horrendous incident...

I also noticed that there are a lot of parts where a character is talking and the subtitles just don't show? An easy one is at the beginning when Leon says, "Uh, excuse me. Sir?". But it shows just fine when he shows the villager the picture of Ashley.
It's very late where I live so I'm only gonna do the prologue for now. I'll try to have some more done tomorrow.

Huh, didn't expect the placeholders to get shared like that, dang.
I did notice sometimes English subs are missing placeholders entirely though (eg. r11cs00.mdt has 16+ subs defined for other languages, but only 3 for english...), maybe that's why some weren't showing for you too.
Was thinking maybe replacing the existing Eng subs/placeholders with subs from one of the langs that are actually supported could help with things, at least we'd be sure it has the right number of subs that way, maybe running them thru a translator could help us link things up to one of the transcripts as well, hmm...

Ah, perfect! Here's the updated one then:
r120s99-0 = 1998...
r120s99-1 = I'll never forget it.
r120s99-2 = It was the year when these grisly murders occurred in the Arklay Mountains.
r120s99-3 = Soon after, the news was out to the whole world revealing that it was the fault of a secret viral experiment conducted by the international pharmaceutical enterprise, Umbrella.
r120s99-4 = The virus broke out in a near by mountain community, Raccoon City.
r120s99-5 = And hit the peaceful little town with a devastating blow crippling its very foundation.
r120s99-6 = Not taking any chances, the President of the United States ordered a contingency plan
r120s99-7 = to sterilize Raccoon City.
r120s99-8 = With the whole affair gone public, the United States government issued an indefinite suspension of business decree to Umbrella.
r120s99-9 = Soon its stock prices crashed and for all intents and purposes Umbrella was finished.
r120s99-10 = Six years had passed since that horrendous incident...
Here's the cutscene right after the prologue as well:
r120s00-0 = I received special training via a secret organization working under the direct control of the President. (this placeholder is used for one more line until r120s00-1)
r120s00-0 = I was to assume the responsibility of protecting the new President's family.
r120s00-1 = Fuck! Why am I the one who always gets the short end of the stick? (the word, "Coño" is used here, which literally translates to, "cunt/pussy", but in this context I think it would make the most sense that they're using it to say either, "Fuck" or "Damn")
r120s00-2 = Yo, who are you really?
r120s00-3 = Come on and tell us. (only the subtitles are shown here and not the placeholder)
r120s00-4 = You are a long way from home, cowboy. You have my sympathies.
r120s00-5 = Guess that's a locals way of breaking the ice. (this placeholder is used for two more lines until r120s00-6)
r120s00-5 = Anyway, you know what this is all about.
r120s00-5 = My assignment is to search for the President's missing daughter.
r120s00-6 = What, all by yourself?
r120s00-7 = I'm sure you boys didn't just tag along so we could sing Kumbaya together at some Boy Scout bonfire. (this placeholder is used for one more line until r120s00-8)
r120s00-7 = Then again, maybe you did.
r120s00-8 = Oh, you crazy American. (this placeholder is used for two more lines until r120s00-9)
r120s00-8 = It's a direct order from the chief himself.
r120s00-8 = I tell you it's no picnic.
r120s00-9 = I'm counting on you guys.
--
r120s01-0 = It was right before I was to take on my duties of protecting the President's daughter when she was abducted. (this placeholder is used for three more lines until r120s01-1)
r120s01-0 = That's the ultimate reason I'm in this lonely and rural part of Europe.
r120s01-0 = According to our intelligence, there's reliable information of a sighting of a girl that looks very similar to the President's daughter. (this specific subtitle seems to completely disappear and show the next one before Leon even stops talking)
r120s01-0 = Apparently she's being withheld by some unidentified group of people.
r120s01-1 = Who would have thought my first job would've been a rescue mission?
r120s01-2 = Ah, it's freezing. (this placeholder is used for one more line until r120s01-3)
r120s01-2 = So cold all of a sudden.
r120s01-3 = Ah, must be my imagination.
r120s01-4 = Sorry it took so long.
--
r100s40-0 = Just up ahead is the village.
r100s40-1 = I'll go and have a look around.
r100s40-2 = We'll stay and watch the car. (this placeholder is used for one more line until r100s40-3)
r100s40-2 = Don't want to get any parking tickets.
r100s40-3 = Right...parking tickets.
r100s40-4 = Good luck!
r100s40-5 = Jeez, who are these guys?
r100s40-6 = Did you say something?
Sorry that this took so long! I'm hoping that this helps with getting proper English subtitles working though. 😄
I could probably finish the rest within a couple days and send over the results! I'm not sure of all of RE4's cutscenes are all available via the movie browser though?

Some dialogue from the first cutscene of 5-2
r30bs00-0 = Looks like this is it.
r30bs00-1 = It stinks.
r30bs00-2 = Sure does.
r30bs00-3 = No way, Leon!
r30bs00-4 = Way.
r310s00-2 = Are you out of your mind?!
r310s00-3 = I knew you'd be fine if you landed on your butt.
r310s00-4 = You...!
r310s00-5 = What is this?
r310s00-6 = Come on! Let's go!

Village Raid:
r101s21-1 = Who are these people?
r101s21-3 = What are they planning? ("r101s21-2" either doesn't exist or is completely skipped over?)
r101s21-4 = Great. A chainsaw. (I can't seem to audibly tell whether he just says, "Chainsaw" or "A chainsaw")
r101s21-6 = Son of a... ("r101s21-5" either doesn't exist or is completely skipped over?)
Church Bell:
r101s30-4 = Where's everyone going? Bingo?
Rescuing Luis:
r106s00-0 = Ow! A little rough, don't you think?
r106s00-1 = You're not like them?
r106s00-2 = No. You?
r106s00-3 = Okay, I have only one very important question. (this placeholder is used for one more line until r106s00-4)
r106s00-3 = Do you got a smoke?
r106s00-4 = Got gum.
r106s00-5 = Perfect.
r106s00-6 = The big cheese.
r106s00-7 = What?
The Escape:
r104s00-0 = Feeble humans... (this placeholder is used for one more line until r104s00-1)
r104s00-0 = Let us give you our power.
r104s00-1 = Soon, you will become unable to resist this...intoxicating power.
r104s00-2 = Hey! Wake up.
r104s00-3 = Crawl out of one hole, and into another.
r104s00-4 = You wanna tell me what's going on here?
r104s00-5 = Americano, ¿si? Now what brings a bloke like you to this part of the world?
r104s00-6 = Ow! Hey, easy! Whoever you are.
r104s00-7 = Name's Leon. (this placeholder is used for one more line until r104s00-8)
r104s00-7 = Came here looking for this girl. Seen her?
r104s00-8 = What, are you supposed to be a cop or something? Nah, you don't look the type.
r104s00-9 = Maybe...
r104s00-10 = Okay, let me guess... (this placeholder is used for one more line until r104s00-11)
r104s00-10 = She's the President's daughter?
r104s00-11 = That's too good for a guess. Want to start explaining?
r104s00-12 = Psychic powers... (this placeholder is used for two more lines until r104s00-13)
r104s00-12 = Nah, just kidding with you, amigo.
r104s00-12 = I overheard one of the villagers talking something about the President's daughter in the church.
r104s00-13 = And who might you be?
r104s00-14 = Me llamo Luis Sera. I used to be a cop in Madrid. (this placeholder is used for one more line until r104s00-15)
r104s00-14 = Now I'm just a good-for-nothing guy, who happens to be quite the ladies' man.
r104s00-15 = Why'd you quit?
r104s00-16 = Phew. Policia...you put your life on the line, no one really appreciates you enough for it. (this placeholder is used for one more line until r104s00-17)
r104s00-16 = Being a hero isn't what it's cracked up to be anymore.
r104s00-17 = Used to be cop myself. (this placeholder is used for one more line until r104s00-18)
r104s00-17 = Only for a day though.
r104s00-18 = I thought I was bad.
r104s00-19 = Somehow I managed to get myself involved with the incident in Raccoon City, on my first day in the force.
r104s00-20 = That is the incident with the viral outbreak, right? (this placeholder is used for two more lines until r104s00-22)
r104s00-20 = I think I might have seen a sample of the virus in a lab
r104s00-20 = at the department.
r104s00-22 = Do something, cop! ("r104s00-21" either doesn't exist or is completely skipped over?)
r104s00-23 = After you!
If there's a way to completely disable the music so that only character speech is audible that would help a lot with figuring out what most of the characters are saying without being completely drowned out by the music or sound effects.

FYI these resources might be helpful:

https://www.ign.com/articles/2005/12/13/biohazard-4-bonus-disc-game-script-ps2-674283
https://gamefaqs.gamespot.com/gamecube/535840-resident-evil-4/faqs/34828
https://steamcommunity.com/sharedfiles/filedetails/?id=892691319

Thanks for all the adds so far everyone! I'll look into merging them into the mdts soon so we can check out text wrapping etc too.

You seemed to have already made placeholder edits to the first Ganado cutscene (assuming just as a test) so until they're restored I won't know what they are haha. But I can leave the subtitles here:

Hmm, maybe you have the older r100s03.mdt from the https://github.com/nipkownix/re4_tweaks/pull/185 in your install somewhere? That PR does try loading it from a few different folders (maybe even the directory up from your RE4 install too), so it might have found that older one before it found the new spanish2eng ones.
(at least, the mdt I posted seems to be spanish like the other ones, unless I'm looking at the wrong cutscene)

Hmm, maybe you have the older r100s03.mdt from the https://github.com/nipkownix/re4_tweaks/pull/185 in your install somewhere? That PR does try loading it from a few different folders (maybe even the directory up from your RE4 install too), so it might have found that older one before it found the new spanish2eng ones.

I didn't have the "event" folder prior to putting it in my directory from https://github.com/emoose/re4-research/issues/11.
I also downloaded the "r100s03-mod.zip" file from https://github.com/nipkownix/re4_tweaks/pull/185 and nothing changed. Not sure why.
Yeah, just checked and I only have the one "r100s03.mdt" file in my directory and it's the one I got from you.

Introducing El Gigante:
r119s10-0 = Hey, it's that dog!
The President's Daughter:
r117s00-0 = Ashley?
r117s00-1 = Don't come!
r117s00-2 = Hey, take it easy!
r117s00-3 = No! Get away!
r117s00-4 = Calm down. Everything's going to be just fine.
r117s00-4 = My name's Leon.
r117s00-4 = I'm under the President's order to rescue you.
r117s00-5 = What? My father?
r117s00-6 = That's right.
r117s00-6 = And I have to get you out of here. Now come with me.
Lord Saddler Cometh:
r117s10-0 = I'll take the girl.
r117s10-1 = Who are you?
r117s10-2 = If you must know, my name is Osmund Saddler, the master of this fine...religious community.
r117s10-3 = What do you want?
r117s10-4 = To demonstrate to the whole world, our astounding power, of course.
r117s10-4 = No longer will the United States think they can police the world forever.
r117s10-4 = So we kidnapped the President's daughter,
r117s10-4 = in order to give her our power,
r117s10-4 = and then send her back.
r117s10-5 = No...
r117s10-6 = Leon... I think they shot something in my neck.
r117s10-7 = What did you do to her?!
r117s10-8 = We just planted her a little...gift.
r117s10-8 = Oh, there's going to be one hell of a party
r117s10-8 = when she returns home to her loving father.
r117s10-8 = But before that, I thought I might bargain with the President
r117s10-8 = for some...donations.
r117s10-8 = Believe it or not, it takes quite a lot of money to keep this church up and running.
r117s10-9 = Faith and money will lead you nowhere, Saddler.
r117s10-10 = Oh, I believe I forgot to tell you that we gave you the same gift.
r117s10-11 = When I was unconscious.
r117s10-12 = Oh, I truly hope you like our small, but special contributions.
r117s10-12 = When the eggs hatch, you'll become my puppets.
r117s10-12 = Involuntarily, you'll do as I say. I'll have total control over your minds.
r117s10-12 = Don't you think this is revolutionary way to propagate one's faith?
r117s10-13 = Sounds more like an alien invasion if you ask me!
r117s10-15 = You okay?
r117s10-17 = Leon, what's gonna happen to us?
r117s10-18 = Don't worry, we got into this mess, we can get out of it.
Under Siege:
r11cs00-0 = What are we gonna do, Leon?
r11cs00-2 = I hate to say it, but we're sandwiched all right.
r11cs00-2 = Quick, in that cabin!
r11cs00-4 = Small world, eh?
r11cs00-4 = Well, I see that the President's
r11cs00-4 = equipped his daughter with ballistics too.
r11cs00-5 = How rude!
r11cs00-5 = And I don't believe there's any relevance with my figure and my standing!
r11cs00-5 = Who are you?
r11cs00-6 = Ho ho! Excuse me, Your Highness.
r11cs00-6 = Perhaps the young lady might want to introduce herself first before asking someone his name?
r11cs00-8 = Her name's Ashley Graham; the President's daughter.
r11cs00-9 = Is she...? Well, you know...
r11cs00-10 = Don't worry. She's cool.
r11cs00-11 = Eh, never mind.
r11cs00-11 = There's supposed to be some kind of obvious symptom before you turn into one of them anyway.
r11cs00-12 = Look!
r11cs00-13 = Ashley, upstairs!
r11cs00-14 = It's game time.
--
r11cs10-0 = Looks like they're backing off.
r11cs10-1 = So, what do we do now?
r11cs10-2 = The bridge I crossed to get here is out,
r11cs10-2 =  so I guess we have no choice but to keep moving.
r11cs10-3 =  I forgot something.
Leon versus Mendez:
r11fs00-0 = You better stay outside.
r11fs00-0 = Ashley. Go hide!
r11fs02-0 = See you later! (Leon originally says, "¡Hasta luego!" here.)
Escape into the Castle:
r200s00-0 = On the other side of the bridge!
r200s00-4 = Yeah.
r200s00-1 = You take that one.
r200s00-2 = Okay.
r200s00-5 = Ready?
r200s00-3 = Come on!
r200s00-4 = Yeah.
Not sure why the castle ones are jumbled up. I just put them in the order they were shown in lol.

Ah glad you got it sorted.
Looking into merging them now, got something working, but can't seem to find the merchant lines you posted, are the IDs correct?
r140s10-0 = Over here, stranger.
r140s20-0 = Got something that might interest ya.

Maybe r140 was a typo, since there's no r140XXX files here afaik.
Here's the current MDT files anyway, this should have all the lines here besides those merchant ones, and the latest post, will look into updating adding those now.
bio4-110-engsubs-220514a.zip
Can just install that over the spanish2eng pack and it should take effect, tried to make line breaks match up with Spanish vers so hopefully all the subtitle texts should be shown fine, only one I've seen that has issues is
r120s99-3 = Soon after, the news was out to the whole world revealing that it was \nthe fault of a secret viral experiment conducted by the international \npharmaceutical enterprise, Umbrella.
Looks like that needs 3 lines to fit it all, but game only displays 2 lines properly with the third cut off... not sure how to get around that yet.

Maybe r140 was a typo, since there's no r140XXX files here afaik. (E: ah think I found them, r104 instead, pretty close :P)

Oops, I would not have known until you mentioned it haha. Glad you got that figured out.
It looks like "r120s01-0" is also way too big to fully display.

It also looks like that "r11fs00-0" and "r11fs02-0" were accidentally mixed together?

I managed to forget one during the part where Leon and Luis are tied up. Here it is:
r104s01-0 = Now!
I also wanted to make edits to some:
r104s00-16 = Phew. Policia...you put your life on the line, nobody really appreciates you enough for it. ("nobody" was originally "no one")
r105s00-1 = If you become unpleasant to our eyes, (I didn't realize I left the letter "a" in this one before the word, "unpleasant")
Other than that I think the ones that we have currently are perfect! I'll hopefully have Chapters 3-5 along with Separate Ways done tomorrow too. 😄

Ah good finds, just about managed to get that line to fit:

Added the other fixes you mentioned too, and also adjusted a few lines to get them centered a little better
(BTW if you notice any 2-liners that have a big gap on one of the lines let me know, can hopefully adjust those as well)
bio4-110-engsubs-220514c-withsrc.zip

So I initially wanted to change "r11fs02-0" to "See you later!". But since Leon actually says, "¡Hasta luego!" during the cutscene. I think it'd be better if it was changed back to what it was originally.
r11fs02-0 = ¡Hasta luego!
I noticed another typo in a subtitle during the prologue cutscene:
r120s99-2 = It was the year when those grisly murders occurred in the Arklay Mountains. ("those" was originally "these")
Also a question, for Chapters 3 & 5 in the movie browser. Does the last box also show up as, "NO DATA" for you? Just wanna make sure I'm not missing any.

Yeah those are no data for me too, seems others mentioned that's just to fill the empty boxes: https://steamcommunity.com/app/254700/discussions/0/558750717496420835/
I guess we should probably also change Fuck! Why am I the one who always gets the short end of the stick to use Coño for consistency as well, do you know if there's any other Spanish uses here too?

Yeah those are no data for me too, seems others mentioned that's just to fill the empty boxes: https://steamcommunity.com/app/254700/discussions/0/558750717496420835/

Good to know! Just wanted to make sure.

I guess we should probably also change Fuck! Why am I the one who always gets the short end of the stick to use Coño for consistency as well, do you know if there's any other Spanish uses here too?

I believe it's the only Spanish word that's used in this specific cutscene. "Coño" would only replace, "Fuck!" in that subtitle then since, "Why am I the one who always gets the short end of the stick?" is added right after in the dialogue.

Aha found a way around the 3-line problem, that [unk-0x0009][unk-0xFFFF][unk-0x0008][unk-0x0004] code does allow clearing the message, the 0xFFFF part says how many frames until clearing, guess 0xFFFF makes it use a value from inside the EVD, but that can be changed to use a frame count inside the message itself.
There's also a code that might let us change the Y position of the message before showing it too, haven't tested with that yet tho (also looks like there's stuff for changing text color/font/etc as well, need to look into it more)
Here's the latest engsub pack:
bio4-110-engsubs-220514d-withsrc.zip

I don't know if it's possible, but do you think it'd be better to not show the subtitles for that (part of) the cutscene? To me it feels a bit weird to have both the subtitles and the text from the cutscene itself at the same time.

Yeah I was thinking the same too, can probs just clear the strings for them to stop it showing.
(one weird thing is that those subs only show up if you view it thru movie browser though, using new game won't show them for some reason, dunno what's stopping it there)

Here's a pack with them removed: bio4-110-engsubs-220514e-withsrc.zip
(huh, github doesn't let you edit posts & upload new files to them anymore, odd)

Ooo if it's capable of controlling how many lines are shown and the line clearing, I'll take this opportunity to put down the Golden Rules for subtitles (taken from linked video below, more sources in its description), though I assume the parts that can be controlled are the empty frames and how much text is in each subtitle.

Be big.
Use a simple (nice clean sans serif) font.
Contrast against different backgrounds.
Be short.
Only contain a few words at a time. eg. 37-42 characters and only 2 lines are shown on the screen at once. -
Have text break at a natural point in the dialogue.
Stay on screen long  enough, about 0.3 seconds per word according to BBC guidelines.
Have a few frames of empty subtitles between each subtitle (it's a subtle flash that lets the viewer know when new subtitles pop up)
Indicate the speaker.
Cover all dialog.

Netflix guidelines:  https://partnerhelp.netflixstudios.com/hc/en-us/articles/215758617-Timed-Text-Style-Guide-General-Requirements
BBC guidelines: https://bbc.github.io/subtitle-guidelines/
Game Maker's Toolkit video on the topic: https://youtu.be/4NGe4dzlukc

Mostly got chapter 5 subtitled, some reason a few of the movies are crashing though (5-2 and a few others), gonna try reinstalling soon.
BTW I should probably mention, but everyone that contributes will get a credit in the subtitle pack release 😉

I was working on the Chapter 5 subs but I'm glad to see that they're already done! I'll start working on Separate Ways right away.
I made a tiny edit to "r320s01-4".
r320s01-4 = The name's Mike, you looking for firepower, \nyou've come to the right place. ("name's" was originally "names")
I've finished Chapter 3-4.  The eggs have hatched. We don't have much time.
r203s00-12 = What are you talking about?
r203s00-13 = I have to go back and get it.
r203s00-14 = Let me come with you.
r203s00-15 = No, you stay here with Leon.
r203s00-16 = He is better with the ladies. I'm sure.
r203s00-17 = Why are you--
r203s00-18 = It makes me feel better. Let's just leave it at that.
**The Castellan of the Castle **:
r201s00-3 = I was starting to wonder when you might notice us.
r201s00-4 = Who are you?
r201s00-5 = Me llamo Ramon Salazar,
r201s00-5 = the eighth Castellan of this magnificent arcitecture.
r201s00-5 = I have been honored with the prodigous power
r201s00-5 = from the great Lord Saddler.
r201s00-5 = I've been expecting you, my bretherns.
r201s00-6 = No thanks, bro.
r201s00-7 = My, my! We've got a feisty one.
r201s00-7 = If you care for your own well-being, I suggest you surrender yourself
r201s00-7 = and simply...become our hostage.
r201s00-7 = Or, Mr. Scott, you can give us the girl, because you're not worth a penny, I'm afraid.
r201s00-7 = You can die.
r201s00-8 = I'm never turning into one of them! Never!
r201s00-9 = Got that right. We'll find a cure.
Seperated:
r204s00-1 = You all right?
r204s00-2 = I'm fine! Leave me alone!
r204s00-4 = What's going on?!
r204s00-6 = Don't worry, Ashley! I'm coming for ya!
Another Run-in with Salazar:
r209s00-0 = What a pleasant suprise!
r209s00-0 = But I'm afraid it's Ashley we need.
r209s00-0 = Not you, Mr. Kennedy.
r209s00-1 = If you don't need me, then get off my back, old man!
r209s00-2 = Did you say old man, Mr. Kennedy?
r209s00-2 = It might come as a suprise, but I'm only twenty years old.
r209s00-3 = So you're just like all the others. A puppet of the parasites?
r209s00-4 = Surely you don't think I'm the same as those dimunitive Ganados.
r209s00-4 = The parasites, Las Plagas, are slaves to my will.
r209s00-4 = I have absolute control.
r209s00-5 = Well, I really don't give a damn. Rain or shine, you're goin' down.
r209s00-6 = Get rid of our American friend.
An Old Flame:
r20bs00-0 = Put your hands where I can see them.
r20bs00-1 = Sorry, but following a lady's lead just isn't my style.
r20bs00-2 = Put them up now.
r20bs00-3 = Bit of advice - try using knives next time.
r20bs00-17 = Works better for close encounters.
r20bs00-4 = Leon!
r20bs00-5 = Long time no see.
r20bs00-6 = Ada...
r20bs00-7 = So it is true.
r20bs00-8 = True? About what?
r20bs00-9 = You, working with Wesker.
r20bs00-10 = I see you've been doing your homework.
r20bs00-11 = Why, Ada?
r20bs00-12 = What's it to you?
r20bs00-12 = Why are you here? Why'd you show up like this?
r20bs00-15 = See you around.
r20bs00-16 = Ada!
Sera's Death:
r206s00-5 = I got it!
r206s00-9 = Now that I have the sample, you serve me no purpose.
r206s00-11 = My boy Salazar will make sure you follow the same fate.
r206s00-12 = Stay with me, Luis.
r206s00-15 = I am a researcher...hired by Saddler.
r206s00-15 = He found out what I was up to.
r206s00-16 = Don't talk.
r206s00-17 = Here.
r206s00-17 = It should suppress growth of the parasite.
r206s00-17 = The sample...
r206s00-17 = Saddler took it.
r206s00-17 = You have to get it back.
Rescuing Ashley:
r206s10-3 = Talk about near death experience.
r206s10-4 = Ashley get out of there!
r206s20-2 = You did good.
r206s20-3 = I'm sorry if I was...
r206s20-4 = Don't worry about it.
r206s20-6 = Come on, let's move on.
The Spiked Ceiling Trap:
r212s00-1 = I think you've lived long enough.
r212s00-1 = Let's see if you can survive this time.
 More of 'em.
The Trap"
r215s00-2 = Mr. Kennedy...
r215s00-2 = Don't you know when it's time to throw in the towel?
r215s01-0 = Hmm?
r215s01-0 = Where's the satisfying sound of one's impalement?
r215s01-1 = Won't fall for this old trick.
r215s01-2 = Aah!  Kill him!
r215s01-3 = KILL!
r215s01-4 = Quickly! We shall prepare for the ritual!
r215s01-5 = Leon, you're alive!
Marching Orders:
r22bs00-0 = It seems that Salazar is having difficulty taming the American pig.
r22bs00-0 = Salazar had his chance.
r22bs00-0 = Krauser, go get the girl.
r22bs00-0 = Oh, and dispose of this swine while you're at it.
r22bs00-1 = Consider it done.
End of the Road:
r227s00-0 = So nice you could join us, Mr. Scott Kennedy.
r227s00-1 = You again...
r227s00-2 = The sacred rite that's about to begin at this tower shall endow the girl with magnificent power.
r227s00-2 = She will join us, become one of us.
r227s00-3 = This is no ritual. It's terrorism.
r227s00-4 = Isn't that a popular word these days?
r227s00-4 = Not to worry, we've prepared a special ritual for you.
r227s01-0 = Stop!
Showdown:
r228s00-0 = Ah, you just missed her.
r228s00-0 = The ritual is over. She left with my men to an island.
r228s01-0 = I think it's time I payed my due respects towards your impressive and stubborn will.
r228s01-0 = Mr. Kennedy...welcome.
r228s02-0 = Monsters...
r228s02-0 = Guess after this there'll be one less to worry about.
Bumming A Ride:
r22as00-0 = Need a ride, handsome?

Chapter 4:
bio4-110-engsubs-220514g-withsrc.zip
Added:
 r212s00-1 = I think you've lived long enough. [WaitForEvd]Let's see if you can survive this time...

r213s00-1 = Damnit!
r213s00-3 = Great, more of them!

r215s00-2 = Mr Kennedy... [WaitForEvd]Don't you know when it's time to throw in the towel?
r215s01-0 = Hmm? [WaitForEvd]Where's the satisfying sound of ones impalement?
r215s01-1 = Won't fall for this old trick.
r215s01-2 = Ah, how dare you! [WaitForEvd]No more games! Kill him!
r215s01-3 = Kill!
r215s01-4 = Quickly, we shall prepare for the ritual.
r215s01-5 = Leon, you're alive...

r22bs00-0 = It seems that Salazar is having \ndifficulty taming the American pig. [WaitForEvd]Salazar had his chance. [WaitForEvd]Krauser, go get the girl. [WaitForEvd]Oh and, dispose of the swine while you're at it.
r22bs00-1 = Consider it done.

r227s00-0 = So nice you could join us, Mr. Scott Kennedy.
r227s00-1 = You again...
r227s00-2 = The sacred rite that's about to begin at this tower \nshall endow the girl with magnificent power. [WaitForEvd]She will join us... become one of us...
r227s00-3 = This is no ritual, it's terrorism.
r227s00-4 = Isn't that a popular word these days? [WaitForEvd]Not to worry, we've prepared a special ritual for you.
r227s01-0 = Stop!!!

r228s00-0 = Ah, you just missed her. [WaitForEvd]The ritual is over, she left with my men to an island.
# r228s00-1 is unused?
r228s00-1 = What?!
r228s01-0 = I think it's time I paid my due respects \ntowards your impressive and stubborn will. [WaitForEvd]Mr. Kennedy, welcome:
r228s02-0 = Monsters... [WaitForEvd]Guess after this there'll be one less to worry about.

# TODO: game doesn't unmap the file for this once it's done, oh no...
# (cutscene 4-9)
r22as00-0 = Need a ride, handsome?

Looks like it's just Chapter 3 & Seperate Ways remaining, probably gonna have a little break for now, if anyone wants to tackle them feel free!

I included Chapter 3 in https://github.com/emoose/re4-research/issues/11#issuecomment-1126813290. Still working on Separate Ways.

Merged in Chapter 3 & 4 from your post:
bio4-110-engsubs-220514h-withsrc.zip
Also for anyone interested in the mdt files, zatarita just let me know about their post on resi mod forum: https://residentevilmodding.boards.net/thread/15827/mdt-file-specification
A lot of good info there, wish I found it sooner, could have saved a lot of time trying to figure out the encoding etc, ah well :P

Separate Ways:
r600s10-0 = The only reason I've taken on this mission
r600s10-0 = is to get closer to my own objective.
r600s10-0 = No matter what happens, I can't let anyone figure that out.
r600s10-0 = Of course, hiding in the shadows isn't my style.
r600s10-0 = I'll have to reveal myself to him and offer advice once in a while.
r600s03-0 = I see you've managed to arrive at the village on time.
r600s03-1 = Yes,
r600s03-1 = but nobody remembered to roll out my red carpet.
r600s03-2 = The villagers there are all being controlled. They automatically attack any intruders.
r600s03-2 = Ring the church bell. That should quiet them down for a while.
r600s03-3 = Hmph. Sounds like they're good obedient boys and girls.
r600s03-4 = Unfortunately time is not a luxury we have.
r600s03-4 = Gather as much information as you can about the parasites and finish off this little tour.
r600s03-5 = Leon?!
--
r61s00-4 = Where's everyone going? Bingo?
--
r606s00-0 = We have an irregularity.
r606s00-0 = The researcher we planted has been discovered by The Illuminados.
r606s00-1 = You must be talking about that vagrant spaniard.
r606s00-1 = So where is he now?
r606s00-2 = He's held captive in an abandoned house located northeast of the village.
r606s00-2 = Until he recovers the sample we can't let him die.
r606s00-3 = You don't need to remind me.
r606s00-4 = Luis Sera...
r606s00-4 = And I thought I was high maintenance.
--
r606s11-4 = You carry the same blood as us, it seems.
r606s11-5 = Nevertheless, you're an outsider.
r606s11-5 = Just remember...
r606s11-5 = If you become unpleasant to our eyes,
r606s11-5 = you'll face severe consequences.
r606s11-6 = What? Same blood?
--
r609s00-8 = I forgot something. You guys go on ahead.
r609s00-9 = Luis! (this subtitle doesn't show in the original cutscene but it apparently does in Separate Ways?)
r609s00-0 = Hey, Señorita! Got a light?
r609s00-0 = And some smokes to go with it to make my day?
r609s00-1 = Where's the sample?
r609s00-2 = Okay, we skip the foreplay.
r609s00-2 = As a matter of fact, I was just going to get it! Where's the love, baby?
r609s00-3 = Sounds like fun to me. Just hurry up.
r609s00-4 = Okay, lady. Where do you stand on all of this, exactly?
r609s00-4 = What kind of group are you working for?
r609s00-5 = There are some things in the world better off not knowing. This is one of them.
r609s00-5 = Heh. Fine. I can take a hint. I don't care who you are,
r609s00-5 = as long as you get rid of that old man and his religious friends.
--
r60es00-0 = Put your hands where I can see them.
r60es00-1 = Sorry, but following a lady's lead just isn't my style.
r60es00-2 = Put them up now.
r60es00-3 = Bit of advice - try using knives next time.
r60es00-17 = Works better for close encounters.
r60es00-4 = Leon!
r60es00-5 = Long time no see.
r60es00-6 = Ada...
r60es00-7 = So it is true.
r60es00-8 = True? About what?
r60es00-9 = You, working with Wesker.
r60es00-10 = I see you've been doing your homework.
r60es00-11 = Why, Ada?
r60es00-12 = What's it to you?
r60es00-13 = Why are you here? Why'd you show up like this?
r60es00-15 = See you around.
r60es00-16 = Ada!
r60es01-0 = Luis has succeeded in recovering the sample. He's waiting in the castle.
r60es01-0 = Get in contact with him ASAP.
r60es01-1 = Understood.
r60es01-2 = And that U.S. government lapdog, Leon.
r60es01-2 = If you do happen to encounter him. Put him out of commission.
r60es01-2 = We can't let him interfere with our plan.
r60es01-3 = He has no idea what's going on.
r60es01-3 = He's nothing we need to worry about.
r60es01-4 = He's a survivor of Raccoon City.
r60es01-4 = We can do without the extra distraction.
r60es01-4 = Take him out.
r60es01-5 = Leon...
--
r610s00-0 = Leon, I'm sorry,
r610s00-0 = but I can't be seen with you.
--
r206s00-13 = Stay with me, Luis. (this subtitle was apparently unedited but the rest are fine?)
r60cs01-0 = I found Luis.
r60cs01-0 = Unfortunately a bit too late.
r60cs01-1 = Did you retreive the sample?
r60cs01-2 = No. Saddler has it.
r60cs01-2 = There will be another time.
r60cs01-2 = Have you had a chance to eliminate Leon?
r60cs01-4 = Not yet.
r60cs01-5 = If that's the case, then maybe we can capitilize on his little lucky streak.
r60cs01-5 = Take advantage of the distraction he is causing for Saddler and his followers to retrieve the sample.
--
r611s00-0 = Quite a jolly mess he's made, that Leon. But all for the better.
r611s00-0 = Saddler's people have fallen into a panic.
r611s00-0 = That distraction is only a matter of time now.
r611s00-1 = Once he gets Ashley back his job will be finished.
r611s00-1 = He'll no longer be a factor.
r611s00-2 = No, I'm leaving Leon to Krauser.
r611s00-3 = Hurry up and retreive the sample.
r611s00-4 = Maybe you forgot, Wesker.
r611s00-4 = I don't always play by your rules.
--
r617s01-11 = All for Umbrella's sake...
r617s01-12 = Umbrella?
r617s01-13 = Almost let it slip. \nEnough talk.
r617s01-14 = Die, comrade!
--
r618s00-0 = Report: Time is almost up.
r618s00-1 = Krauser's dead.
r618s00-2 = Really?
r618s00-2 = Hmm. Leon doesn't die easily.
r618s00-2 = That's fine, we can use him to clean up Saddler for us.
r618s00-2 = We'll let them fight it out, neither one of them will manage to come out unharmed.
r618s00-3 = Easier said than done.
r618s00-4 = By the way, it's your job to clean up what's left of them when the fight is over.
r618s00-4 = Don't forget who is running the show. Whatever happens we can't let either of them live to see tomorrow.
r618s00-4 = Our goal is to retrieve the sample.
r618s00-4 = Take out anything that might interfere with our plans.
--
r325s00-7 = Sorry, Ada... (added a comma after, "Sorry")
--
r61cs00-0 = Oh, Krauser. I'm sorry.
r61cs00-0 = I jumped the gun and reported you dead to Wesker.
r61cs00-1 = Think of all the paperwork I would have to fill out if you were to show up alive.
--
r61cs10-1 = That's a large thing you have there...
r61cs10-1 = But I don't like when men play rough.
--
r61ds00-0 = Thank you.
r61ds00-0 = This is gonna be hard to explain at customs.
--
r61es00-2 = Better try a new trick, 'cause that ones getting old.
r61es00-3 = You okay?
r61es00-4 = I've been better.
r61es00-7 = What's so funny?
r61es00-8 = Oh I think you know. The American prevailing, is a cliche that only happens in your hollywood movies.
r61es00-10 = Oh Mr. Kennedy, you entertain me. To show my appreciation, I will help you awaken from your world of cliches.
r61es00-5 = Ada, stand back!
--
r61es10-0 = Use this!
--
r61es20-0 = Sorry, Leon. Hand it over.
r61es20-1 = Ada. You do know what this is?
r61es20-3 = Don't worry, I'll take good care of it.
r61es20-7 = Here, catch!
r61es20-8 = Better get a move on. See you around.
That should be all of them! After you're done merging everything I can do some tests to make sure all of the subtitles are displayed properly. 😄

Seems to be a ID typo at r61s00-4 = Where's everyone going? Bingo?, checked r610s00 but the text doesn't seem related to bingo there.

Seems to be a ID typo at r61s00-4 = Where's everyone going? Bingo?, checked r610s00 but the text doesn't seem related to bingo there.

Ah, you're right, my bad. It's "r61fs00-4". Somehow forgot the, "f" haha.

Nice, should have them all merged now, many thanks for all the adds 👍
Latest pack:
bio4-110-engsubs-220515.zip
Haven't tested it ingame yet though, but hopefully they should mostly display fine.
That close encounters line is a bit strange, all the other languages include it in the knives line before it, but as your pic shows -17 does get try getting displayed by the game (but other langs all have -17 empty), guess we'll have to see which one has better timing.
The zip above puts it in -17, here's another ZIP which puts it into the knives line instead:
bio4-110-engsubs-220515-testA.zip

Nice, should have them all merged now, many thanks for all the adds 👍

Of course! 😄
Now that they're all added. I'm gonna watch all of the cutscenes to ensure that everything's perfect. I'll keep this post updated for any problems I find.

r100s40-5 = Jeez, who were these guys? (replaced "are" with "were")

Hm, you sure about that? Most transcripts I can find have it as are, were doesn't really make as much sense as are would neither, haven't tried listening to it myself yet though.

I think the We'll stay and watch that car. should be the car though, since he follows it with don't want to get any parking tickets, don't think he'd care about the truck having parking tickets lol.

I think that dialogue is supposed to come off as a joke though. It seems very audible too if you listen closely, it definitely sounds like that because he ends off the word was a -t sound..

Hm, I don't really hear the -t at the end there, almost sounds like he says tha car to me.
Eh, let's put it to a vote :smile: Anyone that's browsing this right now, which do you hear at https://youtu.be/iz1D1IRxhmY?t=254? https://www.strawpoll.me/46051321

More edits:
r31cs00-3 = What are you gonna do, Krauser? (added comma after, "do")
r332s00-2 = Better try a new trick, 'cause that one's gettin' old. (replaced "getting" with, "gettin'")
Just finished watching all of the cutscenes. Aside from those edits the others from https://github.com/emoose/re4-research/issues/11#issuecomment-1126833914. I think the subtitles are perfect! Once those edits are applied, I think it'll be fully done, for the cutscenes at least lol.

Here's a pack with them applied:
bio4-110-engsubs-220515a.zip
btw did you try testing the testA.zip against the -17 one? (for that close encounters line), I'd guess one of them probably syncs up better with the voice, but not sure which.

btw did you try testing the testA.zip against the -17 one? (for that close encounters line), I'd guess one of them probably syncs up better with the voice, but not sure which. (E: seems the -17 one is synced pretty well, guess we can leave it like that)

Just did, and I'm glad you agree because I was gonna say the same thing haha.
Did you have plans to implement an option whether to enable them or not? (it's still grayed out in the options menu lol) I think it would be a neat addition just in case some players don't want them on.

Think I got something working to enable/disable the subs, latest build at https://github.com/emoose/re4-research/issues/11 should enable the Subtitles option in settings menu, seems it defaults to Off.. maybe should change that default, since a lot of people might just assume RE4 still doesn't have eng subtitles and not even bother trying to enable them, hm...
Er, which chapter is that cutscene under? Don't really know them that well yet lol.

Er, which chapter is that cutscene under? Don't really know them that well yet lol.

It's Chapter 1, should be the thumbnail of Leon unconscious on the bottom right.

Yeah looks like it dips down to 35fps for me, at the exact same spot when Saddler is shown, weird.

Got in-game and found the subtitles from interacting with the cops:
r100s41-0 = Huh? Forget your makeup or something?
r100s43-0 = What's the matter? Did you lose your nerve?
r100s44-0 = Not that way, cowboy.
I looked at the missing subtitles that you sent earlier and it looks like that the exceedingly long one are the Chapter End epilogues from Separate Ways (which I completely forgot about lol) so I'll transcript proper subtitles for those as well.

Yeah looks like it dips down to 35fps for me, at the exact same spot when Saddler is shown, weird.

Interesting. I'm curious if it also does it with a fresh install?

Looks like that 35FPS might be caused by the PenClothMove3 function, if you patch bio4.exe+278260 (1.1.0) to 0xC3 (byte), that should disable that func, and for me at least it stays at stable 60.
Not really sure why that clothmove func would be so demanding though, pretty sure Leon also calls that func, but FPS doesn't get affected...

Just checked Assignment Ada and it indeed has subtitles of its own. I'm willing to bet Separate Ways has some for its epilogues as well. I guess I'll playing through both of them again. 😄

Hm not sure if area jump lets you choose cutscenes, you might be able to rename .evd files around if you know the IDs though, at least I copied r100s40.evd over r120s00.mdt, and with that choosing chapter 1-2 cutscene would skip straight to the bit where they park the car, instead of needing to go thru the whole driving segment etc.
(though it didn't load textures in correctly with this, but at least the voices/subtitles were loaded fine)
Latest pack:
bio4-110-engsubs-220515b.zip

Never mind, the epilogue subtitles seem to be pretty straightforward so I think this will work just fine:
Separate Ways - Chapter End epilogues:
r603s10-0 = Here's what I know so far. Osmund Saddler's cult is known as Los Illuminados. They resurrected some sort of parasitic organism they call, Las Plagas. That's all my organization knows for sure, though Saddler's occult activities seem worthy of investigation.
r603s10-1 = The Salazar family, Castellans for generations possess the ability to control Las Plagas. The organization's hypothesis is that a unique frequency of sonic wave sensed only by the parasite is used to control them. The same principle used in dog whistles.
r603s10-2 = This was inferred through the analysis of a tissue sample we retrieved. The tissue contained an organ presumably used for sensing sound waves. I've seen cult members carrying ceremonial rods, and I wonder if they emit these sounds. Of course, this is purely theoretical.
r603s10-3 = The organization needs samples of the parasite confirm or disprove these theories. That is the main objective of my mission. And the only way to prove my loyalty to the organization. The opening moves in this chess game have been played. There's no turning back now.
r609s10-0 = Among all of the people involved in this. Luis Sera has the least entanglements. He works for no organization preferring to move on his own. I'm the one who told the organization of his importance. I did it because I like him. His history portrays an enthusiasm I once shared.
r609s10-1 = It was a stroke of luck that I happened to intercept his email for help. It seems he can't trust the police, so he sent the email to an old friend from college. He must have thought his friend was still alive. At any rate, that's how I managed to find him.
r609s10-2 = Apparently he's been conducting his own investigation of the cult while doing research on Las Plagas. A brilliant scientist.  Must be why Saddler hired him. Hmph, too bad Sera's snooping has aroused his suspicion.
r609s10-3 = When I told him who I was. He'd practically begged to be taken into custody. He needed protection.  I want out! I want peace and quiet again!" I ordered him to bring me a master Plaga specimen, a sample for evidence.
r609s10-4 = Looks like he's one of the few people whom Saddler actually trusts. Tracking him down and getting my hands on the sample shouldn't be difficult. I doubt the cult will take kindly to his escape though. I'll have to guide this along if I want it to go smoothly.
r60cs10-0 = Jack Krauser has been the subject of extensive study and research by the organization. His skills and personality have been tested both on and off the battlefield. If he weren't the best, he would become a liability that would jeopardize the rest of us.
r60cs10-1 = My conclusion? He's a great soldier. No more, no less. As long as he's well compensated, he shouldn't cause any problems for us. If he does start to get restless, I can take care of him. I've studied his combat style and can deal with that arm of his if necessary.
r60cs10-2 = Krauser answers directly to Wesker and it was Wesker who decided that Krauser should be sent to spy on the cult. He also decided to send me along. I wonder if it was to keep an eye on Krauser.
r60cs10-3 = No doubt, Krauser has already fallen into the temptation of Las Plagas. And the power they represent. This could have dire consequences for the organization. On some level, however, this may be a necessary development. As his role is to disrupt this farce of a play.
r60cs10-4 = That said, the stage and its players will ultimately come crashing down in the end. Bad luck for him. But he'll play the patsy in the end and take the fall for all of us. That's why I need to make sure things keep going exactly as they are.
r617s10-0 = Leon S. Kennedy. Perhaps the most essential part of this mission.  He has what it takes to survive against overwhelming odds. I've seen him do it before. And he's improved since then.
r617s10-1 = Practically a genius. He has smarts and he knows how to use them. On top of that his service as a government agent has toughened him up. I'll work behind the scenes to make him think he's the primary player here. Though it may be naïve of me to think that'll be easy.
r617s10-2 = Considering the involvement of both Saddler and Krauser. The possibility of unforeseen problems is there. But I need him in the supporting role for me to achieve my goals. I'll do whatever it takes to keep him in his place and make this all go smoothly.
I've made a lot of progress so I'm just gonna post this for now. It's not done but it will be soon.

Nice, great work! I'll try getting it merged in now.

It was a combination of both. Mainly to see where the subtitles ended, but everything that's in place for those subtitles now is everything I wrote as I heard.
I also completely forgot that you're able to view all of the reports at the end of each chapter in Separate Ways so this makes it a lot easier than I thought. 😄

Well here's the updated pack:
bio4-110-engsubs-220515c.zip
Not sure if I copied across all the [WaitForEvd] codes properly though... if you notice any text ending early let me know.

You did most of them pretty well. But some still end early. I'm gonna attach my save you can make the necessary edits since you're the one editing the files and it'll probably be a lot easier for you to do that way. The Separate Ways save is slot 19. Just load the save and walk to the left to trigger the end cutscene, press ESC to leave the Chapter End screen, and once you see Ada's device screen, press ESC twice and you should see the screen of all of the reports I put in my prior post.
savegame00.zip
I also made some more edits in https://github.com/emoose/re4-research/issues/11#issuecomment-1126866998 as well.

Here's the pack with the updated edits from https://github.com/emoose/re4-research/issues/11#issuecomment-1126866998:
bio4-110-engsubs-220515d.zip
Will look into the ones ending early soon, hopefully it's nothing to do with the EVD data there.

Went through the Separate Ways cutscenes and managed to get them mostly lined up, couldn't find a way to actually change the timing of when it changes lines, but could change the lines themselves, not perfect since some subs end up disappearing pretty quickly but it's not too bad, should still be usable for most people.
Download:
bio4-110-engsubs-220520.zip

No problem! I just tested all of them and I think we're set!
Do you think we should revise the radio transmission subtitles as well? I noticed that a user made an issue about it a while back here: https://github.com/nipkownix/re4_tweaks/issues/104
They've also provided a full document of the corrections they made too.
https://docs.google.com/document/d/1DiCKex2VYzg69GAkYtY6oOAsRmWxBwJ_QYXUkJpX--A/edit?usp=sharing

They've also provided a full document of the corrections they made too. https://docs.google.com/document/d/1DiCKex2VYzg69GAkYtY6oOAsRmWxBwJ_QYXUkJpX--A/edit?usp=sharing

Oh that's nice! I think they missed this one, it should be Your instead of You're:

Oh that's nice! I think they missed this one, it should be Your instead of You're:

Yeah, that's definitely one of them. Not sure how they managed to miss it since it appears in the video that's linked in the document.

Oh that's nice! I think they missed this one, it should be Your instead of You're:

Yeah, that's definitely one of them. Not sure how they managed to miss it since it appears in the video that's linked in the document.

I know this is a weird request, but can there be like a toggle to keep that typo?

I know this is a weird request, but can there be like a toggle to keep that typo?

Agreed. I think we should fix the rest but keep that one in specific. 😄

Not really sure where the text for those screens is located, my guess was something in SS folder since that usually deals with UI stuff like that, but looking through there didn't find anything.
There's also the kind of file container they're stored in which matters too, if it's not stored in a EVD/BIN file then the side-loading code in https://github.com/nipkownix/re4_tweaks/pull/185 won't really help with it neither, eg. I noticed the stage-related files in St1/St2/etc folders are all in udas files (which seem to be same structure as DAS files on the console versions, but console vers seemed encrypted or something, maybe udas is unencrypted-DAS?)
Those DAS style files are a little annoying since they don't store any filenames inside, just filetypes, tried looking at a few MDT files in the St1 etc folders but couldn't find the radio texts in those neither.
If the texts are stored in DAS then I guess we'd need a way to side-load into there too, but not really sure what best way for that is, could just load from something like replacements\[das filename]\[file index].[extension], I'm not sure if file index actually stays the same between different versions/mods though, maybe HD project & other mods could shift things around.
might be better to take a checksum of the data in the DAS and use that to decide replacement filepath instead (kinda like how emulators like Dolphin let you set replacement textures by naming replacement as the original texture hash), that would also help if two or more UDAS files happen to share the same inner data too, maybe I'm overthinking things though.

UDAS seems a little harder to hook, looks like game is using hardcoded offsets into UDAS file table to get the offset/pointer to each file inside it, doesn't seem too hard to hook it for just the MDT replacements, but wouldn't be able to make a generic side-loader for that without a lot of work..
One weird thing is the code for reading radio calls seems to be expecting exactly 13 MDTs followed by 13 SEQs, which matches what op1.udas has inside, but op2/op3 have different numbers of them, so not really sure how it's handling those yet.
Seems op1 is for r1xx rooms, so op2/op3 should be r2xx/r3xx, any chance anyone here knows a room in r2xx/r3xx that has a radio call?

Think I've got something working for all the op files now, the way they handle it is kinda hacky, eg. some reason one op02 call tries opening MDT no.14, but the op02 UDAS only has 12 files inside (and only 6 of those are actually MDTs...) in that case it seems it's actually trying to read from MDT no.1, looks like they get around that by filling all the unused file slots with duplicates, eg. if udas had 12 files, 13 would then point to MDT no.1, 14 MDT no.2, etc.
(or maybe it's because op1 had 13 MDTs, so 14 would be op02, and (14 + op02 count) would be op03 - not really sure yet, need to find a radio call in r3xx to check)
I've converted the MDTs to INI files, if anyone wants to work on fixing them please do, will try seeing if we can include fixed files with re4_tweaks itself (and hope HD Project too): bio4-110-radioMdts.zip

Finished all of them. Also it seems that op01_03.MDT is never used because I don't remember ever seeing it?
bio4-110-radioMdts.zip

Nice, is that based on the corrections from that google doc too? I did notice one was missing from there:

Can't remember the name?  A senior moment perhaps. -> Can't remember the name**, huh**?  A senior moment perhaps.

or did you maybe update them from something else? I haven't checked if that line above is actually correct, maybe it was wrong or something.

I used the corrections from the Google doc. Weird because I don't remember seeing the one you quoted either? I'll have to look again.

Hmm I saw it in op03_01:

5 = [Code:0x12:0x0][Code:0x6:0x1]Can't remember the name?\nA senior moment perhaps.

a senior moment perhaps? :P
Well I've pushed a new release to https://github.com/nipkownix/re4_tweaks/pull/185#issuecomment-1133779499 with these new texts & a new DLL to load them with, if you find any other issues with the texts/DLL let me know!

Hmm I saw it in op03_01:

Ah, thank you! Not sure how I managed to miss that one. Here's the updated file.
op03_01.MDT.zip

Seems op03 did have the issue I guessed it would, pushed a new build to https://github.com/nipkownix/re4_tweaks/pull/185#issuecomment-1133795899, hopefully now all our texts should be loaded in by the game fine 😄
I'll probably try cleaning up & adding my MDT tool to this repo eventually, there should be a much better one released on the modding forums soon as well, though I think that's mostly GUI based while mine works with command-line/INIs, so both have their own strengths etc.

Oh that's nice! I think they missed this one, it should be Your instead of You're:

Yeah, that's definitely one of them. Not sure how they managed to miss it since it appears in the video that's linked in the document.

I'm only human.

@emoose, any chance you could send your MDT tool to Albert? He found some small corrections he wants to make in the English subs, probably some on other languages too.

@nipkownix sent him an email with it & some info about using it, the only email I have for him is a hotmail.com one though, does that sound correct?

Cool, just sent you an email. Thanks.

@emoose So, I've been testing a bit, and it seems we might be missing some subtitles.
There are some (rare?) in-game events that have subtitles (at least on the Javanese version of the game), such as here:

Right after rescuing Ashley, she spots this cart and says "Leon, shoot those barrels on that wagon!". Japanese has subs for that, but it seems our patch doesn't.
Another issue is what we talked about here. The "main" sfd player seems to use a different subtitle system than the one inside the Movie Browser. This system pulls the subtitle timing data from the .sfd file itself, which means we only have working subtitles in the opening video if we view it though the Movie Browser, or if we use the HD project (since I believe Albert included the subtitle timing data inside both version of the video). I believe a simple fix for this would be to always redirect opening_usa.sfd to opening_pal.sfd, since the only difference between them seems to be the presence of the subtitle timing data.

That might also be the solution to some subtitles not showing during certain cutscenes. Such as Leon's missing, "Uh, excuse me. Sir?" subtitle during the beginning. That's the only subtitle that doesn't show during that entire cutscene. The rest do just fine.
I know there are a few instances where dialogue is present outside of cutscenes (such as @nipkownix's comment above). But do we know if Ashley has any whenever she gets picked up by a Ganado?

There are some (rare?) in-game events that have subtitles (at least on the Japanese version of the game), such as here:

Just noticed another one here:

These might not be so rare after all.

That's shown if you attempt to shoot the officer, right? I wonder why that subtitle exists in Japanese but not with the placeholder Spanish subtitles.

That's shown if you attempt to shoot the officer, right?

Yep, that's the one.
Does that one exist in any other language? Pretty weird to think some languages might have more subtitles than others. Hm.

Does that one exist in any other language? Pretty weird to think some languages might have more subtitles than others. Hm.

Not that I can recall, it's possible that there are exclusive subtitles to the Japanese executable and that's one of them. Kinda odd if that's the case.

Playing through HDP 1.1, found a small issue with one of the early Hunnigan calls (opXX file), not sure if it's been fixed already:

you should get out there

should be

you should get out of there

The call is the one straight after the "where's everyone going, bingo?" cutscene.


blang syntax highlighting

blang support

blang is a new programming language that I made (yes, it's all lower()). Can you add syntax highlighting for it (colors, etc)? I have a mockup made in Google Slides:

I know that the colors are not exact.
But, blang gets updated way more than Windows 10 Dev insider builds. It's also written in Python 3.

You could add it here https://github.com/microsoft/monaco-languages/tree/main/src but I'm not sure if your own language that is not very widespread will be integrated.
If you want syntax highlighting locally in your Monaco instance you can add a custom language using Monarch https://microsoft.github.io/monaco-editor/monarch.html

I recommend to define the language locally on your side. e.g. https://microsoft.github.io/monaco-editor/playground.html#extending-language-services-custom-languages


Updates mkmimo that doesn't sacrifice throughput by default

with the downside of having busy waiting on slower UDFs

@chrismre @HazyResearch/genomics This is the fix for the throughput issue @ThomasPalomares explained in #453


Kapacita - datum_ziskani is date only

2021-01-18 00:00:00 - should be with seconds

Fixed in my PR

Fixed in my PR


fix: make server.stop() return a promise so the tests can wait

Either when something goes wrong during server.stop() or when the next test starts before the server stops, the next tests can fail.

Github ui tricking me: I thought you had removed the callback halfway and cbs were leftover.


ElasticAPM 5.5.2 - Regression on pymongo

Describe the bug:
Using pymongo 2.8 and elasticapm 5.5.2 we have the following error:
File /usr/local/lib/python2.7/site-packages/elasticapm/instrumentation/packages/base.py line 210 in call_if_sampling
return self.call(module, method, wrapped, instance, args, kwargs)
File /usr/local/lib/python2.7/site-packages/elasticapm/instrumentation/packages/pymongo.py line 77 in call
host, port = list(nodes)[0]
File /usr/local/lib/python2.7/site-packages/pymongo/collection.py line 1759 in next args locals
raise TypeError("'Collection' object is not iterable")
The query executed is a: db.collection.update
It seems to me that the problem has been introduced by a bugfix on the 5.5.2 about pymongo https://github.com/elastic/apm-agent-python/commit/50d4651be83ebeb08066f0fa391c956c5c7be83b#diff-71a7ec87c5a7159cf6576c0342bf5ba3
To Reproduce

...
...
...
...

Environment (please complete the following information)

OS: Linux
Python version: 2.7.18
Framework and version [e.g. Django 2.1]: Django 1.11
APM Server version:
Agent version:5.9.2

Additional context
Add any other context about the problem here.

Agent config options

Click to expand
replace this line with your agent config options
remember to mask any sensitive fields like tokens

requirements.txt:

Click to expand
replace this line with your `requirements.txt`

Hey @ca-simone-chiorazzo
We only support pymongo 2.9+. If it used to work with earlier versions, that was coincidental. Can you try to use a newer version of pymongo?

Hi @beniwohli , thanks for the quick response. We gonna try with pymongo 2.9 and we'll let you know the result

@beniwohli It worked. I close the issue. Thanks a lot for the help!


Added additional tests to Sorted Union Bonfire

Based on comments on #1431, I have added the two additional tests which @clintoncampbell proposed.  These test catch two case:  Having exactly 2 arguments and having more than 3 arguments.
I have also added an MDN reference to the Arguments Object, since it will be needed for a general solution.
I've tested the tests against chai.js, but not in the full site context. (I don't have a working local copy).

Hi @SaintPeter I tried running this with @terakilobyte's canonical solution and it didn't pass. Take a look at the error output. If you can get this running locally, it will be much easier. If you think there's a flaw in @terakilobyte code, that is certainly a possibility as well. Please take a look and get back to me. Thank you for your efforts to improve our bonfires!
screenshot: https://www.evernote.com/l/Ans_OP0h_oRP9aCB6ghqWKBmg0vsFZnGZdUB/image.png

TeraKiloByte's solution is not general, based on the problem description.
Here is my general solution:
function unite(arr1, arr2, arr3) {
  args = Array.prototype.slice.call(arguments);

  // Flatten the incoming arrays
  output = args.reduce(function(a, b) {
    return a.concat(b);
  });

  // Remove Dupes
  var i = 0;
  while(i < output.length) {
    var lastIndex = output.lastIndexOf(output[i]);
    if(i === lastIndex) {
      // If there is only once instance of an item,
      // it's index will match itself.  Search the next item.
      i++;
    } else {
      // Remove the last instance of the current item.
      output.splice(lastIndex,1);
    }
  }

  return output;
}

unite([1, 2, 3], [5, 2, 1, 4], [2, 1]);

@benmcmahon100 verified this is good, so I'm merging it. Thanks for your hard work on this!


Export the model's input/output's name/type to a json file?

Hi I would like to know if I can export the model's input/output name/type to a json file or any other txt file type.
For example after I get a model file, with this feature I can quickly get a json file with the model's input/output data.

@JaykingLJK this is not a supported feature. Can you describe the scenario and workflow?

@lutzroeder Hi the workflow is that after opening a model using Netron, I just want to save the model properties shown in the picture as an easy-to-read file type (like json).

@JaykingLJK how would you be using the exported file? For example, would it make sense to write script using the actual framework that was used to produce the model file?

@lutzroeder Hi actually it can be done if I write the script myself. I am just thinking that Netron could be better with more features. :>


OpenTracing is not a solution nor a standard

OpenTracing sounds great on paper, and it helps the developer of software to implement tracing. It doesn't help vendors implement standard tracing technologies on the backend. Each tracer needs different code, which defeats the purpose. Since OpenTracing cannot be used alone it doesn't make sense to include. Zipkin includes both the technology to collect and visualize along with the instrumentation technologies. Hence it makes sense to include.

I don't believe your understanding of OpenTracing is up to date. I'd encourage you to read their documentation for framework developers: http://opentracing.io/documentation/pages/instrumentation/instrumenting-frameworks
More generally, it is rather unlikely that CNCF would leave a CNCF-hosted project off of the CNCF Cloud Native Landscape.
Cc @bensigelman

@jkowall thanks for bringing this up. Given our prior (1:1) chats, etc, I am assuming that you want/expect OpenTracing to be a toolkit for vendors creating black-box tracing systems, much like the AppD APM product. Of course that is simply not what OpenTracing is at the moment. This has always been out in the open, and in fact has been part of the OpenTracing docs for a while now:
http://opentracing.io/documentation/pages/instrumentation/common-use-cases#opentracing-priorities
And in this blog post I tried to lay out a clear description of the problem OpenTracing is trying to solve: https://medium.com/opentracing/towards-turnkey-distributed-tracing-5f4297d1736#.dyvj9uo46
To quote from the above:

If distributed tracing is so valuable, why doesn’t everyone do it already?
Because tracing instrumentation has been broken until now.
...
And there’s the rub: It is not reasonable to ask all OSS services and all OSS packages and all application-specific code to use a single tracing vendor; yet, if they don’t share a mechanism for trace description and propagation, the causal chain is broken and the traces are truncated, often severely. We need a single, standard mechanism to describe the behavior of our systems.

Regarding OpenTracing and CNCF, the alignment from a "mission" standpoint seems clear enough to me... from the OpenTracing/CNCF proposal:

Regarding CNCF’s charter mission, OpenTracing is specifically concerned with making loosely-coupled [micro]services easier to manage. As such, it is strongly aligned with CNCF and its goal to “significantly increase the overall agility and maintainability of applications” by “[making] technology ubiquitous and easily available through reliable interfaces.” Indeed, OpenTracing and CNCF as a whole mutually benefit one another. (It should be noted that, as it is focused on standard instrumentation more than standard encoding formats, OpenTracing today is most relevant at the application layer; it has few specific opinions about — or strong dependencies on — the container layer or orchestration systems more generally, though service discovery and high-quality tracing are symbiotic.)

All of that said, I agree completely that OpenTracing doesn't "do" anything – its success as a project will be determined by the quality and quantity of integrations out in the wild. In my (candid) opinion, we are still in very early days... OpenTracing wasn't even a stable API until a few months ago and 95% of the important integration work is still ahead of us. But the project has good momentum from vendors and OSS projects alike and there is good reason to be optimistic about its ability to reduce integration effort for third-party OSS projects, monitoring vendors, and (microservice) application developers. Indeed we have already seen encouraging things from all three of those core constituencies.
Getting back to your particular concern about utility libs / etc for those building Tracer implementations: there are actually such things in several languages, though I guess you either didn't find them or didn't deem them useful. I am personally supportive of additional work in that area, though frankly there are already a bunch of vendors that were able to build OpenTracing support in a matter of a week or two of IC engineering effort, and there are a few other big-name vendors with (unannounced) plans to announce OpenTracing integrations in 2017... none of the above seemed concerned about the lack of utility libraries, so again it hasn't been a priority.
PS: As for Zipkin, I couldn't agree more about adding it to CNCF. You can see the Zipkin community debate the issue here (and you can read my personal $0.02 on the subject in this comment on that issue).


Any idea how to build Emacs dynamic module?

I'm trying to test a dynamic module with github action, but it fails

strptime-core.c:1:10: fatal error: emacs-module.h: No such file or directory
#include <emacs-module.h>

only emacs-module.h is required to build the Emacs dynamic module, and Emacs 27.1+ builds with dynamic module by default (unless you pass --without-modules), thus the snapshot emacs should have already installed emacs-module.h, but cc couldn't find it, any idea where it is?

Can you point me at the code, or a method to reproduce? This is a little abstract, sorry. nix-emacs-ci enables modules explicitly.

Create a module, e.g.,
// test.c
#include <emacs-module.h>
int plugin_is_GPL_compatible;

And build it on github action with
cc -shared -fpic test.c -o test.so

Here is my attempt which fails

https://github.com/xuchunyang/strptime.el/runs/550540935?check_suite_focus=true#step:4:10

https://github.com/xuchunyang/strptime.el/blob/d56fb734bb60dee52f638f3740e4b32ea89e0e58/.github/workflows/test.yml

Right, thanks. Well, that's a question of which cc you have, and where it looks for headers: nix will have installed Emacs and its headers into the nix store, not any standard location where cc would look. I'd probably just write a little nix derivation to build the module via Nix: it would require the corresponding emacs attribute as a buildInput.
Alternatively, if you're using a system CC, you can probably find the corresponding emacs in the nix store and add its headers directory to the CC command line with -I.

Okay...
So, this method works by installing emacs into the user's nix profile, which means that the emacs headers will be available in ~/.nix-profile/include.
Specifically, you should find that the file ~/.nix-profile/include/emacs-module.h is present.

I tried to run  find / -type f -name emacs-module.h on github action but couldn't find the header file.

this method works by installing emacs into the user's nix profile

Not sure how to do this, I have zero knowledge of nix.

Give it a try with -I$HOME/.nix-profile/include.

Thanks. It works for snapshot, though 26 does not.

Interesting. I'm not sure I quite understand what the bug is. I checked with Emacs 26.3 locally and emacs-module.h was present, but I'm not sure which make install you're talking about - do you mean the one for the module, or for Emacs itself.

Something installs emacs-module.h to $HOME/.nix-profile/include for the snapshot Emacs, I guess that's make install.

Yeah, under the covers it is calling make install (though with Nix it's a bit more complicated!).
I installed Emacs 26.3 using this method (nix-emacs-ci, as used by the setup-emacs action) and that .h file was present, so I'm surprised if you're only seeing that file with the snapshot build.

I installed Emacs 26.3 using this method (nix-emacs-ci, as used by the setup-emacs action) and that .h file was present

Was (and where) the .h file installed? It is not in $HOME/.nix-profile/include, otherwise the github action won't complain that it can't find the .h file.

At least on my machine, installing Emacs 26.3 put the .h file in ~/.nix-profile/include. I'm on a Mac and haven't tested elsewhere.

OK, 26.3 is also good, I re-run my github action and find out both 26.3 and snapshot are successful. I didn't realize 26.3 is OK because github cancels the 26.3 build once it notices another build (that's 26.1) fails.

Ah, that makes sense. I've added a link to your project from the README here, in case it helps other people.


move GPC preferences before we send fidesInitialized event

Closes https://github.com/ethyca/fides/issues/3489
Code Changes

[ ] move GPC preferences before we send fidesInitialized event

Steps to Confirm

[ ] Enable an opt-out notice (opt-in by default)
[ ] Enable GPC signal
[ ] Load a site with fides.js installed
[ ] Observe the console events and see that the initial FidesInitialized event should have the opt-out notice set to false

Pre-Merge Checklist

[ ] All CI Pipelines Succeeded
Documentation:

[ ] documentation complete, PR opened in fidesdocs
[ ] documentation issue created in fidesdocs

[ ] Issue Requirements are Met
[ ] Relevant Follow-Up Issues Created
[x] Update CHANGELOG.md
[ ] For API changes, the Postman collection has been updated

Description Of Changes
Write some things here about the changes and any potential caveats

Actually one thing I just thought of: this means a FidesUpdated could potentially be sent before a FidesInitialized, since the GPC func sends a FidesUpdated. is that okay?


Redshift For Timedout Sessions-Doesn't reconnect on query execute

In DBeaver 21.1.5 (Aug 16 build)
ALTER USER testuser SESSION TIMEOUT 60; -- In reality this is 1 hour, but setting to 60 seconds for quicker test.
After 60 seconds of idle time, when we run the query, we get the below error.

Invalidate/Reconnect works. But is there a way to automatically connect upon a specific type of error, for a better user experience?

Verified


Code review

Code review is all fine, but with a few suggested changes:

The built .gem file contains all of the bundled binaries in vendor/cache. I think that's a mistake. It probably also doesn't need Gemfile / Gemfile.lock. Consider changing way_of_working.gemspec to whitelist the files and directories we want in the .gem, rather than the current blacklisting approach.
.ruby-version is 2.7.7. The end of life for Ruby 2.7 is 2023-03-31. I suggest replacing this with 3.1.3. (The latest, Ruby 3.2.1 is still hard to install on some platforms. Ruby 3.1 is new enough, but straightforward to get working almost anywhere.)
Typo: replace "pervious_version" with "previous_version" x 3 in lib/way_of_working/git/repo_reader.rb
In lib/way_of_working/generators/rake_tasks/init.rb, you define:

        RAILS_LOC = "require_relative \"config/application\"\n"
        BUNDLER_LOC = "require \"bundler/gem_tasks\"\n"

but in some of our applications, we've replaced the boilerplate code
        require_relative "config/application"
        require "bundler/gem_tasks"

with
        require_relative 'config/application'
        require 'bundler/gem_tasks'

to make Rubocop happy. The way_of_working script should work well with either version.

I also can't see how to expand the various devskim and markdownlint errors / warnings in MegaLinter above.


Reflects the never of emojiAnimatedMode.

Currently, setting the environment variable emojiAnimatedMode to "never" does not stop the animation.
I felt that it would be more appropriate to not animate when calling animated() when the emojiAnimatedMode is "never".

Looks good to me, thank you for your contribution


docs(README): split installation part

By the way --save is not necessary now, it's by default.
Priority
Is this PR blocking your next action?
No.
Screenshot
Provide a screenshot, GIF, or video of the change if possible. People like pictures.
Not needed.
What Changed & Why
Explain what changed and why.
Better understand of the doc IMO.

Thanks for this!


hide KMeans from import in clustering module

this avoids my mistake
from sklearn.clustering import KMeans
which as the KMeans from sklearn...

Thx Alex!


[Multi-stage] Optimize group key generation

Use primitive type for single key column generation
For 2 key columns, combine 2 dictionary ids into a long and use long as the key to generate the ids
For multiple key columns, combine dictionary ids into a list and use it as the key to generate the ids
Support BigDecimal column as key

The algorithm is the same as NoDictionaryMultiColumnGroupKeyGenerator

Codecov Report
Attention: 411 lines in your changes are missing coverage. Please review.

Comparison is base (947b47e) 61.72% compared to head (80690c0) 0.00%.
Report is 1 commits behind head on master.

Files
Patch %
Lines

...upby/NoDictionaryMultiColumnGroupKeyGenerator.java
0.00%
94 Missing :warning:

...time/operator/groupby/TwoKeysGroupIdGenerator.java
0.00%
42 Missing :warning:

...me/operator/groupby/MultiKeysGroupIdGenerator.java
0.00%
40 Missing :warning:

...operator/groupby/OneDoubleKeyGroupIdGenerator.java
0.00%
32 Missing :warning:

.../operator/groupby/OneFloatKeyGroupIdGenerator.java
0.00%
31 Missing :warning:

...me/operator/groupby/OneIntKeyGroupIdGenerator.java
0.00%
31 Missing :warning:

...e/operator/groupby/OneLongKeyGroupIdGenerator.java
0.00%
31 Missing :warning:

...ry/runtime/operator/MultistageGroupByExecutor.java
0.00%
30 Missing :warning:

...operator/groupby/OneObjectKeyGroupIdGenerator.java
0.00%
18 Missing :warning:

...time/operator/groupby/GroupIdGeneratorFactory.java
0.00%
10 Missing :warning:

... and 9 more

Additional details and impacted files
@@              Coverage Diff              @@
##             master   #12394       +/-   ##
=============================================
- Coverage     61.72%    0.00%   -61.73%
=============================================
  Files          2428     2360       -68
  Lines        132826   129321     -3505
  Branches      20545    20049      -496
=============================================
- Hits          81993        0    -81993
- Misses        44829   129321    +84492
+ Partials       6004        0     -6004

Flag
Coverage Δ

custom-integration1
?

integration
0.00% <0.00%> (-0.01%)
:arrow_down:

integration1
?

integration2
0.00% <0.00%> (ø)

java-11
?

java-21
0.00% <0.00%> (-61.58%)
:arrow_down:

skip-bytebuffers-false
0.00% <0.00%> (-61.70%)
:arrow_down:

skip-bytebuffers-true
?

temurin
0.00% <0.00%> (-61.73%)
:arrow_down:

unittests
?

unittests1
?

unittests2
?

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Directory traversal through symlink

Archiver is not careful enough when unpacking tar archives that contain symlinks. It will happily write over a symlink it previously created. This could cause directory traversal.
Proof of concept:
$ wget -q https://github.com/jwilk/path-traversal-samples/releases/download/0/symlink.tar -O traversal.tar

$ tar -tvvf traversal.tar
lrwxrwxrwx root/root         0 2018-06-05 16:55 moo -> /tmp/moo
-rw-r--r-- root/root         4 2018-06-05 16:55 moo

$ pwd
/home/jwilk

$ ls /tmp/moo
ls: cannot access '/tmp/moo': No such file or directory

$ archiver open traversal.tar

$ ls /tmp/moo
/tmp/moo

Tested with git master (e4ef56d48eb029648b0e895bb0b6a393ef0829c3).

Thanks for the report - do you want to submit a patch?

No, I don't speak Go. Sorry!


Preview should save content

Currently, pressing the preview button generates a template from the last save. However, that's not clear to the user.
Short term fix:

[ ] Add pop-up when user clicks "preview" asking them if they want to save unsaved changes

Long term solution?

[ ] Pressing 'preview' saves unsaved changes automatically.

@shellicious given that you probably want to prompt users that they have unsaved changes if they navigate away no matter what, we should probably include the short term fix forever, and also have preview run a save event as well.


Add support for RFC 4073

Added module and test for RFC 4073

Codecov Report

Merging #37 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #37   +/-   ##
=======================================
  Coverage   98.99%   98.99%
=======================================
  Files          39       39
  Lines        3589     3589
=======================================
  Hits         3553     3553
  Misses         36       36

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c4e5ade...c8345b1. Read the comment docs.

Thank you!


Fix vulnerable packages where possible

I followed the instructions on snyk which was to relock our lockfile, reinstalling and running snyk wizard.
Before:
Tested 448 dependencies for known issues, found 12 issues, 16 vulnerable paths.
After:
Tested 413 dependencies for known issues, found 2 issues, 4 vulnerable paths.

This has been addressed by dependabot

I was wrong 🤦


[react-redux] MapStateToProps and MapDispatchToProps missing alternate types

React Redux allows MapStateToProps to be:

a function that returns:

an object
a function that itself returns an object

and allows MapDispatchToProps to be:

an object
a function that returns:

an object
a function that itself returns an object

The previous version of the libdef, flow_v0.54.x-v0.61.x/react-redux_v5.x.x.js, included each of these types (with the exception of MapDispatchToProps' function that returns a function that returns an object). In the current version, flow_v0.62.0-/react-redux_v5.x.x.js, both MapStateToProps and MapDispatchToProps include only:

a function that returns:

an object

Was there a reason for the alternate types' omission?
Also, shouldn't props/ownProps be declared optional?

@CadenP Thanks for reporting this! Indeed current ones are missing function return type. The reason is that it was really difficult, if not impossible to get them type check without loosing overall type safety. With nested functions Flow couldn't anymore figure out what's been passed in or returned, so it stopped type checking props passed into component. I might give a second glance at the problem soon, but of course you or anybody else is more than welcome to try to tackle the problem! It should be fairly safe to try out as current tests pretty well tells you if you break some of the intended type safety.
MapDispatchToProps also includes returning object, see the tests: https://github.com/flowtype/flow-typed/pull/1731/files#diff-b712f388a7f58cefed0b71b9595e578fR205

Also, shouldn't props/ownProps be declared optional?

You mean second arguments of mapStateToX functions? you don't have to declare them in your functions, do you?

Hey @villesau thanks for the response, and sorry for the delay of my own. Unfortunately, while I made some changes locally I was not able to figure out how to run the tests, and I don't have time myself to figure it out. If I end up having more time I'll try to proceed further. I did notice that, with my changes, Flow seemed to require me to give a return type for the parent map function, and couldn't infer whether it was an object or a function - perhaps you had that same issue among the ones you observed?
Also unfortunately, I use functions returning functions a number of times, and I now have quite a number of errors in the console regarding missing props, which I am ignoring for the moment. Unfortunate, but I understand that that's how these things work out sometimes.
Yes, you are right in your correction (as if you needed me to tell you 😄) regarding MapDispatchToProps including the object type - I hadn't seen it before since I was just looking at the definition of the type, but I see now the additional connect declarations.
Yes, I meant the second arguments of mapStateToProps functions. You're right, they do appear to be optional in practice, but I'm afraid I don't see how that is possible given the typings. I'm fairly amateur with Flow, though. Is it because null is of type object? Would seem odd, that being the case. Would justify my preference for {} instead of Object, though, again, I'm fairly amateur with Flow and I'm unsure of the nuances between the two, if there even are any.

This is a problem for us.. and its restricting because now we get a type error that is invalid.. which is a bit of a blocker.
I tried a few options (the original | in the MapStateToProps, putting an | in the connect definition, defining multiple connectæs with different MapStateToProps types) and nothing seemed to work.
But I'm new..  so maybe I missed something.
The typings are clever at the moment.. but invalid.. I guess its possible they need to be less clever in order to cope with all the possibilites?
Are there any work-arounds to be able to use the new typings?

This is also a problem for us when we upgrade flow to v0.68.0 from 0.54.0

@gantoine please can you fix the tags on this issue?

I've been able to get this to work with (apparently) no loss in type safety, by doing changing the following in react-redux_v5.x.x.js:
declare type MapStateToProps<SP: Object, RSP: Object> = (state: Object, props: SP) => RSP;
declare type MapStateToPropsFactory<SP, RSP> = () => MapStateToProps<SP, RSP>;
declare type MapStateToPropsUnion<SP, RSP> = MapStateToPropsFactory<SP, RSP> | MapStateToProps<SP, RSP>;

and then setting the type of mapStateToProps in the connect declarations to MapStateToPropsUnion
This works fine, but it requires me to explicitly declare the type of mapStateToProps in my containers, like such
const mapStateToPropsFactory: () => (*, *) => * = () => {
    return (state, props) => {
// (...)
conect(mapStateToPropsFactory)(Component)

OR
const mapStateToProps: (*, *) => * = (state) => (
// (...)
conect(mapStateToProps)(Component)

Would you be open to accepting that change to the library definition, given that it would require declaring the type of mapStateToProps explicitly? From what I saw of test_connect.js, the type of state and props is already declared explicitly, and the existential type is a little more generic, so IMO it's really just a question of whether you're willing to live with some boilerplate.

@villesau @AndrewSouthpaw what do you think? Should we make a Pr? It means less magic for everyone but the definitions will be usable when you use the factory pattern. The factory pattern is used by anyone using reselect or memoization to cache selectors so I believe it’s reasonably common.

Responding on the PR... :)


Support Mamba based models for evaluation tasks

Hi,
Great repo, just love it <3.
I would like to know if there's any plan to support Mamba based model to the current pipeline. Example usage would be -
lm_eval --model hf --model_args pretrained=state-spaces/mamba-130m --tasks wikitext --device cuda:0 --batch_size 16
Thanks

This is already supported via --model mamba_ssm to use the state-spaces/mamba package with compatible models, and one can also use HF-compatible mamba checkpoints using --model hf with recent enough versions of transformers!


Inconsistent "help" pages

Within the CLI, there are several command where the documentation between "gopass [COMMAND] --help" are vastly different than "gopass help [COMMAND]". Most notably with "gopass help mounts".   The documentation should be brought into alignment, or possibly one of these help pathways should be gotten rid of in favor of having only one way to read up on help pages.

Nice find, thanks. Will have a look.

I had a brief look and realised that the help pages are generated by the CLI library we use and thus not that easy to change.
If there are specific improvements you'd like to see feel free to open a PR.


Not an issue but an question

Hi, thank you for this plugin. I am new to homebridge. I do know how to use the plugins, but I am getting stuck on altering them. I am hoping that you can and will help me to controle my environment with homebridge. Here is my situation:
since your plugin voor de blinds kind of resembles wat I need voor a dimmable lightbulb. Sounds strange but here is my situation:
I have created an arduino based device which can control 64 relays bij a HTTP command.
URL format: http://<IP_ADDRESS>/?XpYnnnn
X = Board (A-B-C-D-E-F-G-H)
p = Pin number (0-7)
Y = Action to perform

H = Relay OFF
L = Relay ON
T = Toggle (ON > OFF & OFF > ON)
P = Pulse nnnnn milliseconds uses toggle

I can ONLY controle the light via a external switch: with two touch switches ON/+ and OFF/-
each time a set of two relais is wired to the touch switches.
Kinds regards,
Leon

Have you seen:
https://github.com/benzman81/homebridge-http-webhooks
OR
https://github.com/cflurin/homebridge-mqtt
Seems like these could be better suited to you @Leonoerlemans

Thank you,
I have replaced all my buttons with HomeKit compatible  Lightwave buttons
Kind regards
Leon
Verstuurd vanaf mijn iPhone
Op 6 nov. 2019 om 18:13 heeft dxdc<EMAIL_ADDRESS>het volgende geschreven:

Have you seen:
https://github.com/benzman81/homebridge-http-webhooks
OR
https://github.com/cflurin/homebridge-mqtt
Seems like these could be better suited to you @Leonoerlemanshttps://github.com/Leonoerlemans
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/zwerch/homebridge-blinds/issues/19?email_source=notifications&email_token=AI2QLGLS6I7HW473M6FO22LQSL3JVA5CNFSM4FEGCKQ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEDHJHLA#issuecomment-550409132, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AI2QLGO7QX75J27DNNXZSC3QSL3JVANCNFSM4FEGCKQQ.


Hook for GitLab

Hi,
I was trying to get RTD to play nicely with GitLab and found a little problem in that if the project is marked as private/internal RTD needs authentication details in order to clone it.
So is there any plans to make RTD integrate with GitLab repos a little better? I think there are a lot of people that currently host either internal GitLab servers or projects on GitLab.com that would be very excited about ability to use RTD for their documentation!

Is there any plan to make RTD well integrated with the Gitlab ? Currently we are using Gitlab internally and need to push the docs to the internal RTD server when something update on the Gitlab automatically.

+1

+1

We'd like to be able to support public repos hosted at gitlab. We're focusing on github and bitbucket integrations for now, among many other things. Gitlab is off our radar for the immediate future. We'd be glad to point anyone willing to work on this in the right direction.
@markshao @alexjironkin if these are internal RTD installs, can you not clone via ssh to your internal gitlab installs? If you have the option of ssh pull from gitlab, installing a private key that can auth on the gitlab instance should get you access to your code. The post commit RTD endpoint can then be used to trigger a build.

+1

:+1:

+1

Another +1 for gitlab.com integration!

We need gitlab integration as well. +1

+1 for a clean gitlab integration

We're happy to point anyone that wants to help with this in the right direction. This is low on our priorities at the moment though.
Otherwise, interest is noted, no more reason to add any more noise to this ticket.

@agjohnson would the place to start be adding gitlab to oauth and then work from there?

@takotuesday It depends on the level of integration.
To just accept a webhook and update a project on push, there needs to be an endpoint for github to push to, similar to:
https://github.com/rtfd/readthedocs.org/blob/1511716c9c984e7a53521c0fcc91e50f49e1473c/readthedocs/core/views.py#L197-L274
Ideally, integration would set this up automatically, but this requires oauth support for gitlab in django-allauth. With oauth, we can enable webhooks automatically:
https://github.com/rtfd/readthedocs.org/blob/1511716c9c984e7a53521c0fcc91e50f49e1473c/readthedocs/projects/signals.py
For full integration, we'd need oauth at gitlab, webhook creation, and models in our database to reflect what we get back from gitlab's api:
https://github.com/rtfd/readthedocs.org/blob/1511716c9c984e7a53521c0fcc91e50f49e1473c/readthedocs/oauth/models.py

To everyone who has previously commented on the desire to have GitLab integration with ReadTheDocs, @agjohnson has setup a GitLab Milestone to track all issues related to adding GitLab support.
We would appreciate your help in developing merge requests to close out the issues, and/or reviewing merge requests related to the GitLab milestone.

Hi, I am going to find some time to test this on our Gitlab server and feedback as much as I can. I saw there is #1448, would it be better if I pull down that revision before the merge and test it out, or you would like to merge first?
Also, you may not want this polluting your current development, maybe gilab branch would be good place to merge this code, then others might find it easier to pull the latest Gitlab integration code. Only a thought.

@alexjironkin We won't merge PRs into master until they are ready for production. Feel free to target the PR branch.

We have merged a hook for GitLab. #1442

Should Gitlab appear as an option for importing project together with BitBucket and Github? Otherwise, how do I link to gitlab repo? Do I have to manually import git repo then setup hook on gitlab for this? In that case where should the hook go in RTD project?

No, that integration is not currently active, #1870 was the PR with work to add this, but it has rotted a bit by now.
Yes, manual import and manual set up of a gitlab webhook -- i'm not a user so can't walk you through that process. Docs here would be a good addition.


Add a how-to for running under linux

Contribute from
Noel @noelbundick
https://www.noelbundick.com/2018/01/28/Using-the-Azure-IoT-DevKit-with-Linux/

https://microsoft.github.io/azure-iot-developer-kit/docs/installation/


Removing support for Gocrawl detection

See github issue: https://github.com/WhichBrowser/Parser-PHP/issues/592
This third-party is using a fake user agent and claiming to be google. This repo also labelled it with an id-tag of google this third-party package is not google and will not pass test runner as this repo now detects fake bots and will flag this user agent as fake.

Coverage increased (+0.02%) to 99.97% when pulling 792aac1c71bd04488c6ef7189fa3171125d0d60c on ayumi-cloud:Gocrawl into 880b9fa797401d14b28956442944c3daa70240ff on WhichBrowser:master.