| Разработка и ромхакинг > Ромхакинг и программирование |
| Извлечение мультимедиа (звук, видео, музыка) данных из игр CD/DVD приставок |
| << < (83/97) > >> |
| Dwayde:
SILENT_Pavel, , отлично все извлекается :). Единственное, не понимаю как инвертировать палитру. |
| SILENT_Pavel:
переводишь xnview на английский язык открываешь текстуру с неправильной палитрой image -> remove alpha channel image -> swap -> RGB > BGR да потеряется альфа канал и это может испортить текстуру. чтобы не испортить альфа канал читай альтернативный мануал по ссылке выше, там это через гимп решается |
| Dwayde:
SILENT_Pavel, , тут почему-то в обоих случаях текстура выдергивается черно-белой и с увеличенной резкостью. При всех, приведенных выше, операциях остается такой-же. P.S. довольно странным остается факт , что Фотошоп ее видит как черный квадрат, а Гимп не распознает вообще (причем оба имеют плагин DDS). |
| paul_met:
Dwayde, товарищ, давайте-ка вы будите миниатюры использовать в своих постах. А то пару-тройку полноразмерных картинок занимают всю страницу. Причём далеко не вся их площадь содержит полезную информацию. |
| Dwayde:
paul_met, , да, хорошо. Извиняюсь. |
| ALTERHARD:
Из L.A. Rush на PS2 кто-то вытаскивал музло? |
| SILENT_Pavel:
ALTERHARD, с пс2 и псп версий есть описание в списке mauzer. Отдельно еще тут составляли но в принципе инфы маузера хватит. http://ru.nos-res.wikia.com/wiki/L.A._Rush_(PS2) |
| ALTERHARD:
SILENT_Pavel, в методе описанном по ссылке возникают трудности не доходя и до первого этапа, т.к. при монтировании образа нет возможности его открыть Качал этот |
| SILENT_Pavel:
--- Цитата: ALTERHARD ---при монтировании образа --- Конец цитаты --- Монтировать не нужно, используй это: http://ru.nos-res.wikia.com/wiki/Apache а каталог маузера тут: http://www.emu-land.net/forum/index.php?topic=1710.msg1128244#msg1128244 |
| ALTERHARD:
SILENT_Pavel, странно, но не могу в хексе найти искомую комбинацию цифр. Каталог скачал, но ничего в нём не понял, зачем он :neznayu: Я так-то не далёкий в этом. |
| Nickita:
Интересно, а модель персонажа можно вытащить? Есть у меня диск, но винда показывает его как медиа двд, а через программу выдает файлы, но... Расширений нет. И не предвидится. Диск какой-то левый, из подвала, но уж больно хочется модельку вытащить. Диск от XBOX 360. |
| SILENT_Pavel:
ALTERHARD, по ссылке файл маузера: --- Цитата ---L.A. Rush (PS2) MIDWAY Cube Media Player ------------------------------------ DEV\DATA_1.BIN - music(ADPCM) frequency: 22050 interleave: 16384 Channels: 2 offset: 714829840 - 1050934720 --- Конец цитаты --- скачиваешь эту прогу - вбиваешь эти параметры - вытаскиваешь звуки и музыку Nickita, на х360 не выходила L.A. Rush, если это другая игра - то очевидно пиши имя игры. х360 диски нельзя прочитать на пк без х360 дисковода, но можно распотрошить на файлы скаченный образ через Xbox_Image_Browse_v2.9.0.350 |
| ALTERHARD:
--- Цитата: SILENT_Pavel от 30 Июль 2015, 22:19:50 ---ALTERHARD, по ссылке файл маузера:скачиваешь эту прогу - вбиваешь эти параметры - вытаскиваешь звуки и музыку --- Конец цитаты --- И где там его искать, мм? Список файлов Параметры вбил, музыка играет, но идёт одним сэтом, а не по треково, + большинство треков играют в одном канале (правом). |
| SILENT_Pavel:
--- Цитата: ALTERHARD ---И где там его искать --- Конец цитаты --- зачем ты его распаковал? открывай его под виндой как следует http://www.emu-land.net/forum/index.php/topic,1710.msg1128232.html#msg1128232 |
| ALTERHARD:
--- Цитата: SILENT_Pavel от 30 Июль 2015, 23:17:24 --- зачем ты его распаковал? открывай его под виндой как следует http://www.emu-land.net/forum/index.php/topic,1710.msg1128232.html#msg1128232 --- Конец цитаты --- Не знаю. Чёт прочёл про то что его можно открыть 7zip'ом, так и посчитал сделать. :D Тем не менее, вопрос до конца не решён. |
| SILENT_Pavel:
--- Цитата: ALTERHARD ---вопрос до конца не решён --- Конец цитаты --- в каталог есть еще и псп версия, попробуй вытащить с неё может там норм. или нет |
| ALTERHARD:
SILENT_Pavel, уф... там что-то совсем мудрено. Плагины, кодеки нужны дополнительные, а их не просто найти и инструктаж не догоняю. Подожду кого кто разъяснить за ПС2 версию. |
| Golk:
--- Цитата: SILENT_Pavel от 07 Июнь 2015, 04:03:59 ---Да и достаточно просто. Прямо сейчас наверное не смогу написать полный туториал, но суть набросаю. Нужен обычный 3D Ripper DX, в нём надо нажать галочку "всегда выдирать текстуры постоянно", затем запустить pcsx2 например последнюю стабильную версию, выбрать плагин директ х9 и выключить все фильтры в его опциях. Запустить эмуль через риппер и в папке риппера будут появляться 2д текстуры с неправильной палитрой. Инвертируешь палитру через Xnview, удаляешь альфа канал и получаешь текстуру. иногда текстура выходит не целиком Альтернативный способ: http://www.swordofmoonlight.com/bbs/index.php?topic=712.0 файл из темы отдельно прикладываю к сообщению. --- оффтоп. раз затронули тему риппинга текстур. вдруг кому-то очень нужно будет выдрать текстуры из эмуляторов, где опен гл плагин, а не директХ (например PPSSPP). Для этого дела существует: https://github.com/dtrebilco/glintercept но ему нужна особая конфигурация файла gliConfig.ini, выкладываю мой вариант (кто знает как лучше поправьте его): --- Код: ---////////////////////////////////////////////////////////////// // // GLI - openGL Intercept Configuration file // ////////////////////////////////////////////////////////////// // // (Note: all options are case sensetitive) // ////////////////////////////////////////////////////////////// //ProfileName = "Basic Logging"; //ProfileDescription = "Does Basic Logging"; ////////////////////////////////////////////////////////////// // // Log Options: // ////////////////////////////////////////////////////////////// // // LogEnabled - Enable function call logging // // LogFlush - If true, will flush the logger after each OpenGL call is made. // This is useful to catch a OpenGL call that crashes the // application. This only applies to text file logging. // // LogPath - Path to store the logged files. If not specified, files // will be stored relative to the GLI OpenGL dll. // // LogFileName - The name of the file to log to (without extension) // // AdditionalRenderCalls - Names of additional OpenGL functions that are to be treated as render calls. // (extra frame and state info can be dumped at render calls) // // LogMaxNumFrames - The maximum number of frames that will be logged. // This is useful for retrieving startup information from a // application or limiting the file size on apps that make // a lot of OpenGL calls (Note: This also affects per-frame logging) // // LogFormat - The format of the log. If equal to "XML" (without quotes) // will log in the XML format. Else, the plain text format is used. // // XMLFormat::XSLFile - When the log format is XML, this option specifies the XSL file // to be used (if any). A XSL file usually formats the XML into a // readable HTML format. // // XMLFormat::BaseDir - The base (or source) directory where the XSL file can be found. // ////////////////////////////////////////////////////////////// FunctionLog { LogEnabled = True; LogFlush = False; //LogPath = "c:\temp\"; LogFileName = "gliInterceptLog" //AdditionalRenderCalls = ("glClear"); //LogMaxNumFrames = 200; //LogFormat = XML; XMLFormat { XSLFile = gliIntercept_DHTML2.xsl; BaseDir = "C:\Program Files\GLIntercept_1_3_0\XSL"; } } ////////////////////////////////////////////////////////////// // // LogPerFrame Options: // ////////////////////////////////////////////////////////////// // // Enabled - Enable logging per frame. If this is true, instead of // logging all OpenGL calls, the below frame start keys will // enable the loggers at the start of a frame. The loggers // will be disabled when the keys are pressed again and the next // frame is reached (see OneFrameOnly for other options). // // Output of logging is saved to a directory called // Frame_XXXX where XXXX is the frame number that logging // started. // // FrameStartKeys - The keys used to enable/disable logging. Valid values can be any // combination of 0-9,a-z,f1-f12,ctrl,shift,tab,lwin,rwin, // print,up,down,left,right,add,sub,insert,delete etc. // // OneFrameOnly - If enabled, will only log only one frame per key-press. // Loggers will be disabled at the end of the next frame. // ////////////////////////////////////////////////////////////// LogPerFrame { Enabled = False; FrameStartKeys = (ctrl,shift,f); OneFrameOnly = True; } ////////////////////////////////////////////////////////////// // // Input Files: // ////////////////////////////////////////////////////////////// // // GLFunctionDefines - The file to retrieve the OpenGL function defines from. // (The text header files that contain the parameters of OpenGL functions to be logged) // // GLSystemLib - The full path to the "real" OpenGL system library. This will be assigned automatically // so usually does not have to be defined. // ////////////////////////////////////////////////////////////// InputFiles { GLFunctionDefines = "C:\Program Files\GLIntercept_1_3_0\GLFunctions\gliIncludes.h" //GLSystemLib = "c:\windows\system32\opengl32.dll" } ////////////////////////////////////////////////////////////// // // Error Checking: // ////////////////////////////////////////////////////////////// // // GLErrorChecking - A OpenGL glGetError() is made after all appropiate OpenGL calls. // If an error is detected, the error code is logged to the current text/XML log next // to the function that caused the error. // (OpenGL Error context is still saved so application invoked glGetError() calls are safe) // // ThreadChecking - While GLIntercept is not currently thread-safe, (ie. So you cannot have multiple render // contexts active at the same time) enabling this option will perform basic thread checking. // (Will currently check OpenGL calls to see if they are made on the thread with the // active render context) // // BreakOnError - (used with above) Issue programmer debug breakpoint on an error. // Note that glIntercept alters the stack, so to get a valid call stack when debugging // you will need to step through some assembly (F10 on VC6) until the stack is restored. // // LogOnError - (used with above) Log all OpenGL errors to the GLIntercept error log (gliLog.txt). // // ExtendedErrorLog - (used with above) Report all available data about the function the produced the error. // (ie. Full resolved parameters that were passed to the function are reported.) // (Enabling this option will cause a severe slowdown even when no errors are produced. Only // enable when debugging specific errors) // // DebuggerErrorLog - Mirror the contents of the error log (gliLog.txt) file to the debuggers' window. // ////////////////////////////////////////////////////////////// ErrorChecking { GLErrorChecking = True; ThreadChecking = False; BreakOnError = False; LogOnError = True; ExtendedErrorLog = False; DebuggerErrorLog = True; } ////////////////////////////////////////////////////////////// // // Image logging: // ////////////////////////////////////////////////////////////// // // LogEnabled - Enabled the image logger. OpenGL textures are saved to the directory // "Images" under the main log path. Only the texture types specified in // SaveGLTypes are saved. // // RenderCallStateLog - If enabled, each render call issued will list the currently bound // textures for all texture stages. (works with text and XML logging) // // SaveFormats - The image formats to save the textures in. Current valid formats are // PNG,JPG and TGA. Note that more than one format can be specified. // (ie. (PNG,TGA) will save all textures twice, once in PNG format, once // in TGA format) // // Note on image formats: // TGA - Is pixel precise and is the fastest save format but is also the biggest. // TGA's are also not supported by web browsers (if you use XML with XSL to view the logs). // PNG - Is pixel precise and is slower to save but is smaller than TGA. // PNG's are brower compatable. // JPG - Is a format that does not save alpha and saves colors in a lossy format. // It is the smallest format and is slower to save than TGA's. // JPG's are brower compatable. // // FlipXAxis - The saving of textures is upside-down by default. Using this option will // flip the image before saving. // // TileCubeMaps - Cube map textures are saved as six individual images. Enabling this option enables // the six image to be tiled together (flattened cube shaped) and saved as one image. // // SaveGLTypes - The types of OpenGL textures to save. Valid options are 1D,2D,3D and CUBE. // Note: NVRect textures use the 2D option. // // SavePbufferTex - This option enables/disables the saving of textures that are bound from a p-buffer. // Note: P-Buffer textures are saved each time a p-buffer is bound to the texture. // (ie. no checks are performed to see if the p-buffer has changed) // // ImageIcon->Enabled - This enables saving a icon version of all images saved. (useful in XML browser viewing) // // ImageIcon->SaveFormat - The format of the save icon images (TGA,PNG or JPG) // // ImageIcon->Size - The size of the icons to save // ////////////////////////////////////////////////////////////// ImageLog { LogEnabled = True; RenderCallStateLog = True; SaveFormats = TGA; FlipXAxis = False; TileCubeMaps= True; SaveGLTypes = 2D; SavePbufferTex = False; ImageIcon { Enabled=False; SaveFormat = TGA; Size = 40; } } ////////////////////////////////////////////////////////////// // // Shader logging // ////////////////////////////////////////////////////////////// // // LogEnabled - Enabled the shader logger. OpenGL shaders/programs are saved to the directory // "Shaders" under the main log path. Supported types included ARB/NV vertex/fragment // programs and vertex/fragment GLSL shaders/programs. ATI specific vertex/fragment // shaders are not supported. // // RenderCallStateLog - If enabled, each render call issued will list the currently bound // shaders (vertex and fragment). (works with text and XML logging) // // AttachLogState - If enabled, attitional information such as compile/link state and additional // driver information may be attached to each shader/program. // (Currently only GLSL support). Note that enabling this option may force // shaders to complete compiling immediately. // // ValidatePreRender - If the above AttachLogState is enabled, this option will perform a validation of // the shader before each render and append it to the log. Enabling this option will // cause the shader to be re-saved at each render call. // (GLSL only feature via glValidateProgram) // // UniformLogPreRender - If the above AttachLogState is enabled, this option will dump all uniforms that // are active in the shader before each render. Enabling this option will // cause the shader to be re-saved at each render call. (GLSL only feature) // ////////////////////////////////////////////////////////////// ShaderLog { LogEnabled = True; RenderCallStateLog = True; AttachLogState = True; ValidatePreRender = False; UniformLogPreRender = False; //Future formatting options } ////////////////////////////////////////////////////////////// // // Display List logging // ////////////////////////////////////////////////////////////// // // LogEnabled - Enabled the display list logger. OpenGL display lists are saved to the directory // "DisplayLists" under the main log path. If a program has a lot of big glBegin/glEnd // sections in display lists, (ie 1000's of glVertex calls) the application may seem // un-responsive on startup as all these calls are processed on the list creation. // ////////////////////////////////////////////////////////////// DisplayListLog { LogEnabled = True; } ////////////////////////////////////////////////////////////// // // Frame(Buffer) logging // ////////////////////////////////////////////////////////////// // // LogEnabled - Enabled the frame(buffer) logger. When enabled, each render call can // save the pre/post/diff frame buffer (color or depth) to view the changes // that the render call made. Frame buffer saves are written to a directory // "Frames" under the main log path. // // SaveFormat - The image format to save the frame buffer in. Current options are TGA,PNG, and JPG. // (see ImageLog::SaveFormats for a decription of the formats) // // FrameIcon->Enabled - This enables saving a icon version of all images saved. (useful in XML browser viewing) // // FrameIcon->SaveFormat - The format of the save icon images (TGA,PNG or JPG) // // FrameIcon->Size - The size of the icons to save // // FrameMovie->Enabled - This enables a movie of the "post" and "diff" frame buffers to be saved. If multiple, buffers // are saved, they are tiled together. (This is useful to quicky inspect how a frame is composed) // The resulting movie is called FrameMovie.avi in the frame buffer directory. // // FrameMovie->Size - The width height of the saved frame buffers. (ie. (640,480)) The resulting movie will be // larger if multiple buffers are saved at once as they are tiled together. // // FrameMovie->FrameRate - The frame rate of the saved movie. // // FrameMovie->Compression - The list of compression codecs used to save the movie (usually 4 letters). // The first valid codec is used. Special codecs are: // "menu" - will display a menu for the user to select a codec. // "none" - will use no compression. // // ColorBufferLog - The color frame buffer save options. Options can include any combination of // (pre,post,diff). // pre - The frame's color buffer is saved before the render call // // post - The frame's color buffer is saved after the render call // // diff - The difference between the pre and post buffer saves is written. // (green represents pixels with no differnce. If the image is red, // no image differences were detected) // // DepthBufferLog - The depth frame buffer save options. Options are the same as in ColorBufferLog. // (Note: Depth-buffer saving can be very slow) // // StencilBufferLog - The stencil frame buffer save options. Options are the same as in ColorBufferLog. // (Note: Stencil-buffer saving can be very slow) // // StencilColors - When saving the stencil buffer, it can be useful to save the buffer with color codes. // (ie stencil value 1 = red) This array supplies index color pairs for each stencil // value up to 255. The indices must be in order and the colors are in the format // AABBGGRR. If an index is missing, it will take the value of the index as the color. // (ie. stencil index 128 = (255, 128,128,128) = greyscale values) // ////////////////////////////////////////////////////////////// FrameLog { LogEnabled = False; SaveFormat = JPG; FrameIcon { Enabled = True; SaveFormat = JPG; Size = 40; } FrameMovie { Enabled = False; Size = (640,480); FrameRate = 15; Compression = ("mpg4","divx","none"); } ColorBufferLog = (pre,post,diff); //DepthBufferLog = (pre,post,diff); //StencilBufferLog = (pre,post,diff); StencilColors = (0,0xFF000000, //Black 1,0xFFFF0000, //Blue 2,0xFFFFFF00, //Light Blue 3,0xFF0000FF, //Red 4,0xFF00FFFF, //Yellow 5,0xFFFF00FF, //Purple 6,0xFF80FFFF, //Bright Yellow 7,0xFFFFFFFF); //White (Note green is not used as that is the "diff" color) } ////////////////////////////////////////////////////////////// // // Function time logging // ////////////////////////////////////////////////////////////// // // NOTE: It is important to not mis-use the results of this logger. OpenGL is a very pipelined // API and you can not optimize your code based on how long is spent in each function call. // This logger is only intended for advanced users to determine where pipeline stalls "MAY" // have occured and determine speeds of operations such as glReadPixels etc. // // LogEnabled - Enabled the timer log. When enabled, the time taken inside each OpenGL // function is added to the main log. (if enabled). The logging reports // in microseconds (millionth of a second). Only take these results as // approximate figures as GLIntercept will add a small amout of overhead. // (More overhead may be indicated in the functions wglGetProcAddress, // all wgl*(context) functions, glBegin,glEnd,glGetError) // // If you are using this logger to determine where pipeline stalls occur, // ensure to disable ALL other loggers (image/shader/frame etc) as these // loggers may cause pipline stalls. Also disable parameter logging by // not defining "GLFunctionDefines" and use flat text logging to get the // fastest logging possible. (and hence the most accurate results) // // LogCutoff - The number of microseconds below which the time value is not reported. // ////////////////////////////////////////////////////////////// TimerLog { LogEnabled = False; LogCutoff = 20; } ////////////////////////////////////////////////////////////// // // Plugins // ////////////////////////////////////////////////////////////// // // BaseDir - The base directory where the plugins can be found // // Plugins - Listing of all plugins to load (and the locations // to load from) Under each plugin, plugin specific options // can be specified. // // ////////////////////////////////////////////////////////////// PluginData { BaseDir = "C:\Program Files\GLIntercept_1_3_0\Plugins"; Plugins { // // Name of plugin | Plugin load location // { Plugin specific options. (See the plugins' config.ini file for options) } // OpenGLFreeCamera = ("GLFreeCam/GLFreeCam.dll") // { // CameraMoveSpeed = 10.0; // } } } --- Конец кода --- --- Конец цитаты --- Спасибо за мануалы. А можно ли заставить texmod работать в ppsspp? В посл.версиях есть же режим d3d9, но он не хочет работать мб тоже нужен какой-то особенный конфиг? |
| SILENT_Pavel:
--- Цитата: Golk ---В посл.версиях есть же режим d3d9 --- Конец цитаты --- Рекомендую скачать версию по старее или перключить новую в режиме опен гл и использовать указанный в моём посте конфиг для glintercept. ppsspp должна работать в опен гл так обычно принято. Вообще с опен гл более стабильно получается вытащить текстуры, чем с директа, потому что при некоторых настроек эмулей основанных на директе - риппер вынимает испорченные текстуры из-за фильтров и апскейлов эмуля, а опен гл всегда норм. Нужен пека более менее мощный, на другом этот процесс в glintercept может зависнуть вместе с шиндой. |
| Golk:
SILENT_Pavel, Я понимаю, что для игры/экспорта ресурсов лучше использовать опенгл, но мне еще интересен способ импорта текстур ретекстур игры и вроде бы texmod это умеет |
| Навигация |
| Главная страница сообщений |
| Следующая страница |
| Предыдущая страница |