iLiR Posted October 9, 2012 Share Posted October 9, 2012 (edited) Is there any method (opcode or memory address) that allows you to play movies or short videos on a model in gta sa (Example: play videos in the billboards in Los Santos)? I'm not talking about texture (UV) animation, I mean playing real movies in the game. Edited October 9, 2012 by ilir Link to comment Share on other sites More sharing options...
Bad.boy! Posted October 9, 2012 Share Posted October 9, 2012 Playing Videos via SCM Link to comment Share on other sites More sharing options...
iLiR Posted October 9, 2012 Author Share Posted October 9, 2012 Hey thanks for the link... does this work inside the game? Like playing videos on a specific object, not like intro movie? Link to comment Share on other sites More sharing options...
Bad.boy! Posted October 9, 2012 Share Posted October 9, 2012 You can't render a video on an object (by cleo). Link to comment Share on other sites More sharing options...
Michael-Knight1 Posted October 9, 2012 Share Posted October 9, 2012 Hey thanks for the link... does this work inside the game? Like playing videos on a specific object, not like intro movie? you can't to playing videos on a specific object but you can to Make live screen . http://gtag.gtagaming.com/forums/index.php?showtopic=549 Link to comment Share on other sites More sharing options...
Deji Posted October 9, 2012 Share Posted October 9, 2012 It's something I've been wanting to try out some day (when I get a chance) by extending the Jumbotrons, which use RenderWare's multirendering technology. It sets the camera, renders what can be seen by the camera (in a much lesser quality and accuracy), stores the buffer, restores the camera and then uses the stored buffer to draw using culling (which is something which one would probably wanna skip when modding it). So it's not too hard to tweak it to show another part of the world (though the performance hit while multirendering in the open world is a concern), but overwriting the buffer with video data would be harder. I bookmarked this function in IDA: 0x7230A0 ?rasterCullReflectionBuffer I'm assuming it's in charge of storing the raster displayed on the big screen. And a raster is something which we could update with video data. The question is what the performance hit will be. The current jumbotrons hack causes a noticable FPS drop when in range already. It's probably an engine fault, it being pretty damn old now and all, doing stuff like this would be pushing the limits. My plan would be to create a converter for your bog-standard video files to raw data which can be set to the raster much quicker than it could if you were to do all the converting at runtime and see how it goes. It might actually be faster than the jumbotrons if we skip the multirendering process. This is all theory, though. Something I've not had a chance to think of putting into practise since I was working on VJ, which I will be again soon. EDIT: @Michael-Knight1: Do you read past replies or do you just post in whatever topics are at the top of the forum? Link to comment Share on other sites More sharing options...
iLiR Posted October 10, 2012 Author Share Posted October 10, 2012 That MA you wrote seems like it's rendering a screen using cull line (Like you explained in your great Jumbotrons tutorial So the only thing when can replace with video data is the raster. If we would do that, the fps should be much bigger than the multirendering process. But the real question is, can we replace the raster with a video data? Or can we tweak them using an opcode? Link to comment Share on other sites More sharing options...
Deji Posted October 10, 2012 Share Posted October 10, 2012 The raster contains a pixel field, meaning we could rewrite every stored pixel with video data. This would have to be done every frame using the next frame of the video's pixel data. I'm not too familiar with video formats, though, and there are many optimisations in most video formats which would need decoding, which is what makes it a possible FPS-eater. The cull can be skipped, it's not vital. Culling just tells the game where it will render certain things. With the jumbotrons it was required to see the screen once it had been moved, once the culling was altered, though, the game would start rendering the screen by generating the raster using the camera. Link to comment Share on other sites More sharing options...
iLiR Posted October 10, 2012 Author Share Posted October 10, 2012 ...meaning we could rewrite every stored pixel with video data... Yeah, but how? Or at least any idea in which way? Link to comment Share on other sites More sharing options...
Deji Posted October 11, 2012 Share Posted October 11, 2012 00000000 RwRaster struc; (sizeof=0x34)00000000 parent dd ? ; offset00000004 cpPixels dd ?00000008 palette dd ?0000000C width dd ?00000010 height dd ?00000014 depth dd ?00000018 stride dd ?0000001C nOffsetX dw ?0000001E nOffsetY dw ?00000020 cType db ?00000021 cFlags db ?00000022 privateFlags db ?00000023 cFormat db ?00000024 originalPixels dd ?00000028 originalWidth dd ?0000002C originalHeight dd ?00000030 oriiginalStride dd ?00000034 RwRaster ends Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now