07th-mod / umineko-question

94 stars 9 forks source link

CG and CG Sprite thread #38

Open ReitoKanzaki opened 8 years ago

ReitoKanzaki commented 8 years ago

While working on adding in and restoring the CGs in Episode 1, I came across an issue where there exists different CGs and CG sprites for the same scene.

http://imgur.com/a/cE7Ku

For the most part, I have been leaving the Steam CGs alone for now and have not done any editing to them since most of them depict different scenes.

I can replace the scene with the more dynamic and higher resolution PS3 CG sprites or I can leave the more detailed Steam CG in. A third option is I can do a custom composite that uses the background layer of the PS3 CG with the Steam CG blended in. It looks like ass for now, but that's because I literally thought of it as I was typing the first sentence of this paragraph and threw it in at the last minute.

I could even do a combination of the PS3 sprites at the start (since they start a few lines earlier) and have them fade into the Alt Composite image when it comes up.

Let me know what you think.

DoctorDiablo commented 8 years ago

I think the best option would be to display one image at the start of the scene, then switch to the other at a good point in the middle of the scene. That way the reader gets to see both images.

ReitoKanzaki commented 8 years ago

Hey guys. I thought I'd give you an update on my progress. I haven't been able to devote a lot of time to this project in the past week and a half. Halloween was upon us and I like to go all out with my costume. And we are shorthanded at my real job, but we finally got a new associate.

I managed to complete all of the CGs for Episode 1. I was even able to implement the CG pan of Maria in the bloodstained parlor. I did come across something interesting that could potentially save disc space and code length.

There are several functions to display the endings and credits. I wanted to swap the end scroll for higher resolution PNGs and translated credits. The current script uses over 5500 lines of code and uses the blit function of ONScripter. For some reason, I don't understand why they couldn't use a fucking for loop, even though they use just that for other scrolls! Anyways, I swapped out the current scroll function for a for loop that uses a moving background sprite (lsp -> msp -> print 1 -> csp). What was once 5550 lines of code was reduced to 8.

I will get to work on Episode 2 starting tomorrow. Again, sorry it's taking me a bit longer.

drojf commented 8 years ago

ah lol yea I saw that too...I can only think that they did it for performance reasons (on the old engine, that is) since the programmers seemed to know what they were doing. Or maybe the programmer wasn't in that day so the non-programmers tried to do it...

I still haven't looked over the sprites that you submitted in the main sprite thread. to be honest I'm kinda losing enthusiasm on this project, have been working on other things. But if you need help on a script thing feel free to ask.

Don't worry about time, I'm just happy anyone is working on this at all. I don't think the CGs would have been done as nobody had even started on it (afaik) until you got here.

Can you post the code for the for loop in here? I'm wondering what it ended up looking like.

ReitoKanzaki commented 8 years ago
mov $witchh4,"bmp\background\efe\end_1a.png"  ;originally .jpg
setLangString $witchh4, ""

lsp bgsp,$witchh4,0,0,255
for %Free1 = 1 to 7682
    resettimer
    msp bgsp,0,-1,0
    waittimer 17   ;17msec, could be longer. originally 45msec
    print 1
    next
csp bgsp

    ;btndef $witchh4                   ;スクロール画像を読みこむ
      ;blt 0,0,640,480,0,0,640,480 ;高速描画処理 座標0
      bg end_1b,0                 ;最後の背景を裏側に表示
      waittimer 40                ;

;gosub *ep1_scroll                   ;スクロール実行本体

resettimer
drojf commented 8 years ago

hmmm....won't the scroll end early if you reduce the waittimer? I thought the credits matched the music so they ended exactly when the music finished playing? (unless it scrolled 3px at a time before)

ReitoKanzaki commented 8 years ago

Yes, but not exactly. The credits end before the music (250000msec vs. 280000msec). I wanted it shorter so I could test it and not have to wait as long. Due to the increase in dimensions. Originally the delays are 45msec. But that was based on the old dimensions with 5520 frames. I had to do some conversions. It "should" be 32-34msec delays with 7682 frames.

ReitoKanzaki commented 8 years ago

Hello again, everyone! I hope everyone had a good weekend.

I decided to upload what I have so far. I managed to finish Episode 1 and Episode 2. All of the CGs have been added in with the exception of several CG sprites. These were either too difficult to add in, were unnecessary, or just didn't look good. A lot of the functions to display sprites and CGs were altered to accommodate the player's choice of different art styles. Had we simply nixed the old art, this would be a hell of a lot simpler. Even the code to display standing images is changed to check for %is_old_sprites and %hide_new_sprites. I tried my best to abide by this so that users can still swap between both sprites. There are some potentially game breaking issues that I found. While set_oldnew_bg is active, it is displayed above portions of the right-click menu. Also, switching art styles while a CG or CG sprite is active causes it to revert to previous screen states. In the case of Shannon's CG battle sprites, it may swap back to basic standing images. Poor design? Yeah. I wouldn't try to save the game while these new CGs and sprites are on. Might be best to actually use saveoff while these are happening and then turn saveon at some point.

Several backgrounds were changed to fix lighting issues. The chapel and school festival were the main culprits. I also changed the script to no longer use the old MVip_1e background. The PS3 version simply uses MVip_1cR in those cases. Several backgrounds also had a full screen bloodstain effect added in. It might have been possible to do an overlay, but I felt this was easier at the time.

I did my best to translate the scrolling NicoNicoDouga text for TsuruPettan. When I went to implement it, I ran into an issue where the spaces were not showing up. Don't know if anyone can assist with that or not. Not a big deal since it scrolls so fast nobody can read them anyway. Of note, I did experience some issues with the TsuruPettan sequence. It would randomly alpha blend the background, fail to load the text sprites, or just simply crash the program entirely. Again, this was random because each time something different would happen. I suspect it has something to do with the global variables, but I only changed the backgrounds and text in the text sprites; I didn't change the code.

The ending scrolls and credit scrolls are remade using high resolution PS3 assets. I even changed the insert song in Episode 2's credits to reflect TsuruPettan as opposed to SuiSui SWEETS. Though, if we can't get TsuruPettan working correctly, we might want to just change it to SuiSui SWEETS and comment out the lyrics.

Anyways, MangaGamer(?) commented out a lot of lines. They even removed an effect sequence at the end of Episode 2 when Rosa falls down the stairs. I put it back in since there was no reason to remove it in the first place.

I tested as much as I could as I went along. There may be some things that slipped by. Below is the file with the new images. Please allow it to overwrite all images. effects.7z Let me know what you guys think. I hope to have Episode 3 done this week. I think it's going to be a monster given the length and shear number or CGs I'm seeing for it.

(Images are still uploading even after I finished writing this. I'll edit the link in the morning. I'm about to pass out.)

EDIT: Link is working.

ReitoKanzaki commented 7 years ago

Hey guys. I'm putting the finishing touches on Episode 3, but I need some other opinions really quick. There is a CG in Episode 3 (\big\bmp\background\cg\ep3_6.png) that was never referenced in the original game script. I was thinking of putting it in here:

;bg M_door1,0
set_oldnew_bg cg_ep3_6,M_door1,0
ld r,$BEA_IiwakeA3,0
print 26

langjp「…………無粋なるは魔女の所以か。@若き二人に恋を語らせる気もなしとは…。@……くっくくくくくくくくくく…!!」\
langen:dwave 0, bea_3e2006:^"......So, boorishness is the witch's way of doing things after all...^@:dwave 0, bea_3e2007:^  To think that she doesn't even intend to let those two young ones speak together of their love......^@:dwave 0, bea_3e2008:^...*cackle*cackle*cackle*cackle*...!!"^\
clr_oldnew_bg

My only qualm is that isn't that the magic circle to allow her to get into the room as opposed to sealing it?

ItaloKnox commented 7 years ago

I need to catch up with everything that happened after I went back to Higurashi, but anyway, is there a reason to use these CGs? They're not from the PS3 game, and the art style doesn't even match. If that's for the voices-only patch, then ok.

About the CG itself, I don't really remember what happened in that scene in particular, but the magic circle is the Pentacle of the Sun. In this case, you are correct. The Pentacle allows you to roam freely. Now, where you should put it... that I have no clue at all.

ReitoKanzaki commented 7 years ago

I'm using both CG sets. I realize the art style is different, but we discussed earlier that this would allow players to see both art styles.

The scene is where Beatrice revives Kanon and he guides Jessica to the parlor. She then locks the door with magic.

Since it shows the opposite of what she did, I'll go ahead and comment this out.

jwgrlrrajn commented 7 years ago

I would prefer an option to leave the Steam CG's out. I honestly hate the art style they used.

ReitoKanzaki commented 7 years ago

sigh I'll see what I can do. It may have to wait until I'm done with Episode 4.

DoctorDiablo commented 7 years ago

These non-PS3 CGs are already included as part of the base steam version. We can always comment them out if nobody likes them, but I think we can sort that out after @ReitoKanzaki finishes adding all the PS3 assets.

jwgrlrrajn commented 7 years ago

I'm fine with waiting until the initial CG patch is finished, just as long as the option comes eventually.

ReitoKanzaki commented 7 years ago

Just finished Episode 3. Uploading the images. Will submit pull request and link in the morning.

As far as the pachinko vs. PS3 CGs go, I'm thinking of actually finishing MangaGamer's idea and expanding on it. Currently, CGs are forced on if the new sprites are on. Looking at the code, it appears they intended to have an option in the menu to enable CGs using a global variable. I could implement a check in the set_oldnew_bg function to ascertain if it should show PS3 or pachinko CGs. This way, players can select if they want to see PS3 only, pachinko only, or PS3+pachinko. Again, will probably wait until after Episode 4 is done and I'll do that at the same time as I attempt the menu.

Maelstrom1 commented 7 years ago

Just curious, can I get the files with the CGs implemented before ep 4 is finished?

Also, thank you so much for doing this.

ItaloKnox commented 7 years ago

Just clone or download the source and you're all set. I'm only going to push a new update after we're done with this.

Maelstrom1 commented 7 years ago

Dang, that was fast. Just found the file, so it's all good

ItaloKnox commented 7 years ago

I'm posting from a neural network, it's all fine. It's all good.

If you find anything wrong or need some help, just open an issue. 👍

Maelstrom1 commented 7 years ago

Oh, were the CGs included in the previous graphics releases, or is all I need the .utf file?

ItaloKnox commented 7 years ago

I don't think so, I guess you'll need to download this. The CGs should go on BMP\background\cg\.

It's been a long while since I uploaded the graphics resources, so you're going to need to download the big ass file while we're not done with the scripts. After that I'm going to just manually update the patch.

Maelstrom1 commented 7 years ago

I'm getting a 404 error from that link

ItaloKnox commented 7 years ago

Looks fine here. Try copying the link and pasting it. Or... try here.

drojf commented 7 years ago

Yea it works fine for me too, not sure what's wrong...

Maelstrom1 commented 7 years ago

Maybe because I'm not a contributor? edit: 2nd link gives 404 as well

ItaloKnox commented 7 years ago

I don't think so, the repo is not private.

drojf commented 7 years ago

ah the post is still in Draft status, i think it makes the files private as well

ReitoKanzaki commented 7 years ago

https://mega.nz/#!gw0RUIAC!VdOiOfVDh0A2Y7bg0qYa2Kvbph4Pmx3xekqN1iiTbO8

ItaloKnox commented 7 years ago

Ok, I'm dumb. Can't believe I left this unfixed for months.

Maelstrom1 commented 7 years ago

Thanks guys

jwgrlrrajn commented 7 years ago

The Legend of the Golden Witch title cards are missing at least one PS3 background at the end. It switches back to the blurry photograph version near the very end of the sequence.

readUmineko commented 7 years ago

some of Gaap's, Gohda's, Krauss's, Kanon's sprites haven't been changed to the PS3 ones yet

ReitoKanzaki commented 7 years ago

Ah, I figured there would be an issue with those title cards. I'll take a look at the function when I get home.

The sprites have already been corrected in previous threads. At some point I'll zip up all the corrected images and upload them. I'm still going through Episode 4's CGs, BGs, sprites, and effects and adding/correcting/improving them. There is a ton of them thanks to George vs. Gaap and Jessica vs. Ronove. I anticipate I'll be done sometime before Thanksgiving.

Magoron commented 7 years ago

I've also found an issue with two of the Episode 2 CGs: g0203_a and g0203_b, the ones of Shannon's corpse in Natsuhi's room. For me, there is just a black background where the CGs should be. I've tried looking at the code (I have absolutely no coding experience), but to me, it looks like the lines that activate these CGs have the same format as the ones that trigger Jessica's CGs earlier in the episode, so nothing looked obvious as the cause. I tried deleting some of the lines and fiddling with it, but it didn't seem to change anything.

Also, on a possibly unrelated note, the family tree pictures of Nanjo and Kumasawa after Rosa, Battler, Maria and Genji discover their corpses in Episode 2 have the pachinko portraits rather than the PS3 portraits. I'm not sure if you want me to make a separate issue for this so I'm throwing it in here.

ReitoKanzaki commented 7 years ago

I was about to release a patch when I got home today. I'll double check to see if this is an issue for me as well. It could be just an incorrect alias.

Does this occur in all instances of the CG appearing?

ReitoKanzaki commented 7 years ago

I am finished! Well, there is still some work to be done if people really want to and maybe if I get some more free time. But now we have a version of Umineko for the PC that is pretty much close to the PS3 version. Thank you to all that helped me find my silly errors. This was my first modding project and I am glad to have been a part of it.

I have submitted a pull request that has all the final commits to the script. I have also uploaded a final Uminkeo_Graphics_Patch.7z that contains ALL of the graphics files necessary for a fresh install.

Thanks for sticking with me. Now excuse me while I go immerse myself in Final Fantasy XV for the next week.

ReitoKanzaki commented 7 years ago

Umineko_Graphics_Patch.7z is uploaded. Enjoy.

DoctorDiablo commented 7 years ago

Nice work @ReitoKanzaki. I'll give this a proper play through soon to iron out any outstanding issues, but FF15 might be monopolizing my time too...

Looks like your graphics file has all the graphics including the base files from steam. We should be able to put together a package with just the updated files to reduce the download size.

ItaloKnox commented 7 years ago

Now should be a good moment to put the graphics file on gitlab. We recently started using this method on Higurashi and it seems to be good enough to new users. Smaller fixes can still be provided through smaller patches, though.

I usually do this stuff in a remote server without a graphical interface, so it's kinda impossible for me to check which files to remove. If someone can take a look and see if the Steam assets can be easily removed, I can just set it up without a reupload.

ReitoKanzaki commented 7 years ago

I was unsure which files should be sent over or not. I modified a lot of system files and effects files in both \big\, \en\, and \bmp. And my noob ass forgot to mark which ones I modified.

But yes, I did not intend for this to be so large.

DoctorDiablo commented 7 years ago

I tried to trim down unneeded files in the graphics patch, but it ended up being a huge hassle for little reward so I gave up on it. I reduced 5.5 gigs of images uncompressed down to 5.1, but it made a really inconsequential difference after compressing. Plus, it would be easier to maintain if we keep all the images in one place, there's some potential for weird behavior because we'd be loading some images from the arc.nsa and others from these directories, and the fact that the changes were so spread out that I could easily have deleted a wrong file. Just didn't seem worth the trouble.

A 3 gig download is big but not unreasonable, so I think we can just go with it as-is.

DoctorDiablo commented 7 years ago

Just finished a playthrough of all 4 episodes. The CGs are working great, no issues there. I found some other issues related to backgrounds and UI stuff, and I just committed an update to 0.utf to fix those. There are also some image files that need to be updated. @ReitoKanzaki can you update your huge graphics archive to add a few images that I fixed? The files are here: http://www.mediafire.com/file/bepghbtdoqq55i1/small_graphics_fix.rar

ReitoKanzaki commented 7 years ago

I'll take a look when I get home.

Maelstrom1 commented 7 years ago

Are the CGs patched into the full patch release yet?

edit: And somehow the patch made all the pause screen sprites the crappy steam sprites for some reason. Forgot to mention that.

ItaloKnox commented 7 years ago

Oops, not yet. I'm in the middle of some serious issues and somehow forgot to update the patch. I'm going to start organizing everything to have it updated and released in the next following days. Though you can already grab the full release following this thread. The next release should only put the graphics into a single package and push the new version.

Maelstrom1 commented 7 years ago

Soon?

ItaloKnox commented 7 years ago

Very soon. Thanks for reminding me, Overwatch's winter event caught me. Just have to run a couple of things before having the final version out. Should be done in a couple minutes.

Maelstrom1 commented 7 years ago

Huzzah!

ItaloKnox commented 7 years ago

It's finally released. The voice/graphics patch should probably be bigger than the other posted in this thread, but there's a good reason for that. Since I'm pushing the source through git (we use that on Higurashi and seems to work pretty well), the compression is a lot lower than manually compressing it every time we update the patch.

In other news, thanks everyone for the hard work put in this project. We still have some stuff to fix, and I probably forgot to add something to the release notes, so give me a heads-up if you find anything wrong. I'll try to squish the remaining bugs sometime soon, I'm travelling for the holidays but I should be back early january. If you have writing access to the repository, you can just go ahead and fix it for me. Would help me a lot.

jwgrlrrajn commented 7 years ago

Quick question, I notice the old shattering glass image is still being used instead of the PS3 version. Is there no way to replace that?