Jump to content

eezstreet

Members
  • Posts

    5,207
  • Joined

  • Last visited

Profile Information

  • Gender
    Male
  • Location
    Vero Beach, FL
  • Interests
    Bass, programming.
  • Modding Interests
    Coder
    Scripter
    General Modding
  • Operating System
    Windows

Contact Methods

  • Email
    eezstreet@jkhub.org
  • Steam
    eezstreet

Recent Profile Visitors

11,841 profile views

eezstreet's Achievements

  1. Background Originally, roq.exe was a tool developed by id software for the Quake 3 engine (now known as the id Tech 3 engine) to develop videos in their proprietary ROQ format. This format essentially links together a stream of TGA images and audio, which is loaded by the renderer. Raven Software developed a new form of roq.exe (roq2) which is a lot more advanced, and has some new features. It's also capable of outputting ROQs in specific dimensions, whereas the original roq.exe was constrained to a specific output dimension. In JKA and JK2, you can render movies and videos from IBI scripts or ingame using a videoMap shader keyword. This can be quite handy. Basic Usage roq.exe is essentially a command-line application that takes a parameter file. In the documentation, it seems to mention that .param is required, yet it appears to work just fine with any other file type. The parameter file lists all the files which are used for the frames, the audio, and some other miscellaneous stuff. How to make an ROQ The process is quite simple, as @@DT85 has outlined here. First, you'll need to put your frames somewhere where roq.exe can find them. Your path cannot contain spaces. I usually put mine in something like E:\video-editing. (Please see note at bottom for supported image formats) You'll need to create your .param file. I've detailed the .param file a bit further below. You'll now need to create a .bat which runs roq.exe. Something like this is appropriate: roq.exe Your_Param_Here.param pause The program will then build an ROQ based on the parameters in your .param file. This may take a while! The finished ROQ will show up in the same directory as roq.exe. If you want the program to not output as many lines, simply add a -q at the end. Or, you can output ROQ frames once the program has finished the file by doing -d <directory to store frames> Details on the .param file The basic syntax of the .param file follows: INPUT_DIR C:\Where_To_Find_The_Frames FILENAME _your_roq_here.roq SOUND _your_audio_here.wav INPUT*.tga [000-100] END_INPUT Some notes: INPUT_DIR cannot have any spaces, as I mentioned before. It tells the program where to find your frames. FILENAME is the output name of the file. SOUND is what audio file to use. It must be in the same directory as roq.exe! (alternatively, you could use an absolute path, I think, but again, no spaces) This field is entirely optional. See the notes below about audio format. INPUT/END_INPUT specifies how to process input. So for instance, I used "*.tga [000-100]". This specifies that the frames will be called 000.tga, 001.tga, etc all the way up to 100.tga. You could also do something like "screenshot*.jpg [000=100]" and it'll use screenshot000.jpg all the way up to screenshot100.jpg. Please see note at the bottom for supported image formats. Some extra fields that you could add to your param file: SCALE_DOWN - If this line is added to the file, the input will be scaled down. Usage: SCALE_DOWN FULLSEARCH - Use this for ROQs which will appear as a fullscreen video. It will scale up video without losing quality. I think this is spelled wrong. Usage: FULLSEARCH SCALEABLE - The ROQ will scale up to higher resolutions ingame by resampling the ROQ. Should probably be using this in tandem with FULLSEARCH Usage: SCALEABLE NO_ALPHA - If this line is added to the file, the alpha channel in the images will be ignored entirely. Usage: NO_ALPHA TIMECODE - Only use this line for certain MPEG files that aren't being displayed at the correct resolution. Usage: TIMECODE HAS_SOUND - Has no actual effect at all. START_PALETTE - Specifies the name of the palette file to use for start. (I'm not actually sure what these are used for.) The program will search for these in <your path>/LocalLibrary/vdxPalettes Usage: START_PALETTE <palette file name> END_PALETTE - Specifies the name of the palette file to use for end (see above notes on START_PALETTE) Usage: END_PALETTE <palette file name> FIXED_PALETTE - Uses this fixed palette for the whole video. (See above notes on START_PALETTE) Usage: FIXED_PALETTE <palette file name> SCREENSHOT - This line is a hint to the ROQ compiler that we're using screenshots instead of MPEG. Usage: SCREENSHOT KEY_COLOR - Specifies the key color of the video. Using this correctly can help prevent color artifacts in heavily compressed ROQs. Usage: KEY_COLOR <R> <G> <B> JUST_DELTA - Has no effect whatsoever. Usage: JUST_DELTA CODEBOOK - Makes codebook vector tables. Usage: CODEBOOK FIRSTFRAMESIZE - Sets the frame size of the first frame. Note that this is only one number, not two. Usage: FIRSTFRAMESIZE <size> NORMALFRAMESIZE - Sets the frame size that the ROQ is normally displayed at. Note that this is only one number, not two. Usage: NORMALFRAMESIZE <size> STILLFRAMEQUALITY - Has something to do with JPEG quality, I'm not certain on this yet. Usage: STILLFRAMEQUALITY <quality> FADEDOWNSTARTFRAME - Specifies the start frame to do a fade down effect. ROQ.exe will fade the video out, starting at this frame. Usage: FADEDOWNSTARTFRAME <framenum> FADEDOWNDURATION - Specifies how many frames it takes to do a fade down effect. Usage: FADEDOWNDURATION <frames> FADEUPSTARTFRAME - Similar to FADEDOWNSTARTFRAME, but has the opposite (a fade in effect). This specifies which frame to start this effect on. Usage: FADEUPSTARTFRAME <framenum> FADEUPDURATION - Specifies how many frames it takes to do a fade up effect. Usage: FADEUPDURATION <frames> MPEGCROPWIDTH - Crops the MPEG file (if used). Usage: MPEGCROPWIDTH <width> MPEGCROPHEIGHT - Crops the MPEG file (if used). Usage: MPEGCROPHEIGHT <height> MPEGCROPXORIGIN - Crops the MPEG file (if used). Usage: MPEGCROPXORIGIN <x origin> MPEGCROPYORIGIN - Crops the MPEG file (if used). Usage: MPEGCROPYORIGIN <y origin> FPS - Frames per second. (CAUTION: I'm currently not sure if this means that it simply duplicates/drops frames in order to maintain FPS, or if it actually changes the rendering FPS ingame for the ROQ...proceed with caution) Usage: FPS <fps> Supported Image Formats roq.exe uses an image library designed for supercomputers with a huge selection of supported formats. As far as I can tell, the following formats are probably supported: .jpg, .bmp, .tiff, .tga, .gif, .pcx, .ico, .pic, .pict, .hdf, .pix, .cur, .eps, .epi, .epsi, .epsf, .icon, .cursor, .pr, .iff, .vff, .suniff, .tanc, .miff, .x (NOT directx), .avs, ... (tons of other obscure formats) I haven't tested all of these. .png is NOT supported however Supported Audio Formats Credits DT85 for help with ROQ stuff jedis for putting code up on Github for roq2, this was a big help MaceCrusherMadunusus for the note on audio San Diego Supercomputer Center, their docs helped me figure out which image formats were supported
  2. At some point in development of JA, there was to be an NPC known as the Cultist Destroyer. It would instantly go into a rage mode and try to suicide bomb next to the player. While I haven't talked to Raven about why this NPC was removed, I can only speculate that it had something to do with cultural reasons (suicide bombing was oft-reported in the news during 2003's Iraq War) However, the .npc file and code is still intact, meaning this NPC was cut very late into development. There is also a cultist_commando npc which never appeared, and fully works (it has dual wielding blasters! awesome!) Anyway, enough talk. You can spawn this NPC using an npc_spawner entity with npc_type "cultist_destroyer". The NPC will go into a rage, disappear and you will die instantaneously. But there's no effect? Easy fix. The effects for the NPC didn't ship with the game but we can add them back in. For this you'll want to create a new PK3. In this, add an effects folder. Inside of that, a folder called force. Inside of this folder you will need an EFX named destruction_exp.efx. If you have no experience in creating an EFX file, that's okay, you can reuse an existing EFX like the rocket launcher explosion effect or one of the env/explosion ones. I don't know the splash radius on their explosion as it isn't explicitly stated in the code. Your mileage may vary.
  3. Fixed the screenshots being broken links, and replaced them with ones that conceal some of my personal info and point out the information better. I've also updated the "Most Common Errors" section as it wasn't up to my standards.
×
×
  • Create New...