Jump to content

redsaurus

Members
  • Posts

    352
  • Joined

  • Last visited

Everything posted by redsaurus

  1. Why is it so important that playing games competitively at a high level should not be thought of as a sport?
  2. There's already the "Report" button if you really don't like something.
  3. Using tusken rifle and force destruction (placeholder destruction effects for now):
  4. Here's an updated progress/todo thing, remind me if I've forgotten stuff. Done sabercolorRGB field for .npc and .sab files, so they can still have roughly the correct colour in basefixed eweb model not working after map changenoghri stick and tusken rifle player usableremove saber twirl on ignition with g_noIgniteTwirl set to 1can holster saber on left side with "lhip" value in .sab fileadded menus for most of the cvars I've addedRGB sliders in player menusadded stasis, destruction and insanity as force powers. pretty overpowered thoughtrueview!allow the second saber to be a custom saber WIP / todo - some may be for further in the future: saber crystals - have done black sabers and unstable blades so far but haven't finished up the mechanics entirely. idea as in JK:E discussions: you'll be able to pick some crystals up in secret areas that allow you to have special sabers when building saber #2, like the darksaber and unstable bladesfix SFX saber end being past the blade endragdoll mode with head swaps is a little brokenswap non-head partsnew force powers (blinding, deadly sight, repulse ?)minor tag_holsterorigin changes
  5. Updated code to latest OpenJK and did a little bit towards new force powers - pretty much just a case of adding empty powers so far.
  6. Wytchking made all of those models. I'm not quite sure what you mean by frankenstein?
  7. Is the picture actually meant to be of the new character or is it just dune (fan)art?
  8. Yes, they're just the alpha brushes you use for terrain blending.
  9. I started trying to write more about blendFuncs but it wasn't particularly coherent, but here's something that *might* do what you want. Untested, tcmod scroll values will need adjusting. textures/boothand/foggy_lamp { qer_editorimage textures/boothand/fog qer_trans 0.5 surfaceparm noimpact surfaceparm nomarks surfaceparm nonsolid surfaceparm nonopaque surfaceparm trans q3map_nolightmap { map textures/boothand/fog alphaGen vertex tcMod scroll 5 5 blendFunc GL_SRC_ALPHA GL_ONE } } textures/boothand/fog would just be some kind of foggy image (no alpha channel!). to get the alpha stuff working properly you could use alphamod volume brushes to force the vertex alpha (as used by alphaGen vertex) to 1 by the lamp and 0 away from it.
  10. Hmm ok, so maybe something along the lines of this then: 5. sounds & music 6. rofs & camera stuff 7. custom voices & animations
  11. Been working on another small map to do some more cutscene stuff and the rof guide - any other things I should particularly cover?
  12. you don't want the wait(string) you have after do("MinuteTime") - it should be a number there! maybe move the task declaration out of the loop too? that way it'd look more like: affect ( "hourhand", /*@AFFECT_TYPE*/ FLUSH ) { task ( "HourTime" ) { rotate ( < 360.000 0.000 0.000 >, 1440000.000 ); wait ( 1440000.000 ); } loop ( -1 ) { do ( "HourTime" ); } } affect ( "minutehand", /*@AFFECT_TYPE*/ FLUSH ) { task ( "MinuteTime" ) { rotate ( < 360.000 0.000 0.000 >, 60000.000 ); wait ( 60000.000 ); } loop ( -1 ) { do ( "MinuteTime" ); } }
  13. I think do is wrong: affect ( "HourHand", /*@AFFECT_TYPE*/ FLUSH ) { loop ( -1 ) { task ( "HourTime" ) { rotate ( < 360.000 0.000 0.000 >, 1440000.000 ); } do ( "HourTime" ); } } because it would expand as: rotate ( < 360.000 0.000 0.000 >, 1440000.000 ); rotate ( < 360.000 0.000 0.000 >, 1440000.000 ); rotate ( < 360.000 0.000 0.000 >, 1440000.000 ); rotate ( < 360.000 0.000 0.000 >, 1440000.000 ); .... i.e. infinitely many rotates on every frame :| when you actually want to dowait so that it expands as rotate ( < 360.000 0.000 0.000 >, 1440000.000 ); wait ( 1440000.000 ); rotate ( < 360.000 0.000 0.000 >, 1440000.000 ); wait ( 1440000.000 ); .... I have no idea if icarus scripting works reasonably well over such large times, and it might also see 360 degrees as the same as 0? func_rotating would be more sensible, but is having a clock nobody will ever see move really worth it anyway?
  14. If you have the do inside the task block it'll never actually be called. should probably be a dowait too, otherwise you have an infinite loop.
  15. can't you just use the alarm again then?
  16. is affect ( "alarm", /*@AFFECT_TYPE*/ FLUSH ) { set ( /*@SET_TYPES*/ "SET_INACTIVE", "true" ); } any good?
  17. volrange 240 250 means that the volume will be chosen randomly between 240 and 250 - full volume is 255. You probably want to set the radius to something larger - if it isn't given, it defaults to 250.
  18. Thanks to @@Ramikad for mentioning the objective stuff, @@IrocJeff for already doing a guide for the intro text and @@DT85 for the information on the intro crawl using the last frame of the roq. Sorry there aren't really any pictures this time :| PART 4: A LONG TIME AGO I decided to add some of the things that make a level seem more polished, like the intro text crawl and customised credits. I didn't add these before because they involve making files that have to be loaded after the base versions, and so a pk3 is required rather than just using loose files. Once a level is replacing base files, it should probably be distributed as a mod that uses a mod folder. First, I roughly followed lassev's forced SP playermodel tutorial at http://www.student.oulu.fi/~lvaarisk/tutorials/forcedplamodelv2.htm so that the map would be started from the new game menu and set the playermomdel correctly - you should read it! I made copies of ui/newgame_first.menu and ui/newgame.menu from assets1.pk3, and edited them along the lines of the tutorial. I opened them up in a text editor, scrolled to the bottom, and for each file replaced the action block for nextbutton: action { play "sound/interface/button1.wav" close all open characterMenu } with this: action { play "sound/interface/button1.wav" close all setcvar sex "m" setcvar snd "jedi" setcvar g_char_model "jedi" setcvar g_char_skin_head "model_master" setcvar g_char_skin_torso "model_master" setcvar g_char_skin_legs "model_master" setcvar g_char_color_red "255" setcvar g_char_color_green "255" setcvar g_char_color_blue "255" setcvar g_saber "stinger" setcvar g_saber2 "" setcvar g_saber_color "orange" exec "map map1" } This meant that the player's model would be set to jedi/master upon starting the game, the hilt set to stinger, and the saber colour to orange. Next, I decided to add the proper Star Wars intro text crawl to the level. I located menu/video/tc_english.tga in assets1.pk3 - this is the file that is used for the text crawl. To replace it, I created my own 512x2048 tga image with the text crawl I'd written. From http://www.theforce.net/fanfilms/postproduction/crawl/opening.asp it appears that the fonts used in the films (if not base Jedi Academy) are Franklin Gothic Medium Condensed for the "episode name" and Franklin Gothic Demi for the text (with slightly further condensed width). The main body of text should fill the entire 512px width of the image, and the text of the crawl is normally left justified. I made sure that the text was white with a transparent background, and saved the file. If you want to properly support other languages, there are also tc_french, tc_german and tc_spanish files. In order to get it to actually show up in game, I needed to make a slight change to one of the scripts. I opened up map1/intro.icarus, added a single line: set ( /*@SET_TYPES*/ "SET_VIDEO_PLAY", "jk0101_sw" ); and compiled the script. This line means that the script will play the video file at video/jk0101_sw.roq. Other roq videos can of course be played with the same command, but video/jk0101_sw.roq is special - once the roq has played, the last frame of the video remains on the screen and is used as the background for the text crawl. I created a pk3 file containing my new ui/newgame_first.menu, ui/newgame.menu and menu/video/tc_english.tga, making sure that I had kept the right folder structure, put it in my base folder and tested that the intro crawl worked. When the map was loading, it was still missing briefing text, so I decided to fix this. I located strings/English/briefings.str (if you wish to support other languages find their briefings.str too) in assets0.pk3. As I'd be needing them later, I also made a copy of strings/English/credits.str and strings/English/objectives.str. I opened briefings.str in a text editor. When the game loads a map, it looks for the REFERENCE in briefings.str corresponding to the name of the map, so I needed to add entries with REFERENCE MAP1 and MAP2. That meant adding some extra lines just before ENDMARKER: REFERENCE MAP1 LANG_ENGLISH "There have been reports of dark side activity in the vicinity of a remote tomb on Korriban. Find a way into the tomb and investigate." REFERENCE MAP2 LANG_ENGLISH "Put a stop to the dark side activity in the tomb." In fact, I decided just to get rid of all of the briefings that weren't related to the maps, since my changes already broke base stuff, so my briefings.str only contained: VERSION "1" REFERENCE MAP1 LANG_ENGLISH "There have been reports of dark side activity in the vicinity of a remote tomb on Korriban. Find a way into the tomb and investigate." REFERENCE MAP2 LANG_ENGLISH "Put a stop to the dark side activity in the tomb." ENDMARKER I saved strings/English/briefings.str, added it to my new pk3 file (with the correct folder structure) and checked that it worked. Next I decided that the map needed objectives. It's not possible to create new objectives unless you make (very minor) changes to the game code, and I wanted to keep base compatibility for now, so that meant overwriting some of the existing ones. (But it's really not that difficult to add objectives to OpenJK and then distribute a modified version of OpenJK with your level.) I opened up the objectives.str file, and edited the objectives with REFERENCE starting with HOTH2_. I only needed 3 objectives, but if any more are needed I can just edit those starting with HOTH3_ and so on. REFERENCE HOTH2_OBJ1 LANG_ENGLISH "Find a way into the tomb." REFERENCE HOTH2_OBJ2 LANG_ENGLISH "Enter the tomb." REFERENCE HOTH2_OBJ3 LANG_ENGLISH "Defeat the cultist." I saved the file, but in order for the objectives to actually show up I'd need to make some changes to the scripts. I opened up intro.icarus and added a line near the start: set ( /*@SET_TYPES*/ "SET_VIDEO_PLAY", "jk0101_sw" ); set ( /*@SET_TYPES*/ "SET_OBJECTIVE_SHOW", /*@OBJECTIVES*/ "HOTH2_OBJ1" ); affect ( "player", /*@AFFECT_TYPE*/ FLUSH ) ... I saved and compiled the script. SET_OBJECTIVE_SHOW here adds the objective HOTH2_OBJ1 to the player's datapad, so "Find a way into the tomb." is displayed with an open circle next to it. This objective should be completed when the doors are opened, so I edited bigdoors.icarus so that it read: affect ( "bigdoorr", FLUSH ) { rotate ( < 0 -75 0 >, 2500 ); } affect ( "bigdoorl", FLUSH ) { rotate ( < 0 75 0 >, 2500 ); } affect ( "dummydoor", FLUSH ) { remove ( "self" ); } set ( /*@SET_TYPES*/ "SET_OBJECTIVE_SUCCEEDED", /*@OBJECTIVES*/ "HOTH2_OBJ1" ); set ( /*@SET_TYPES*/ "SET_OBJECTIVE_SHOW", /*@OBJECTIVES*/ "HOTH2_OBJ2" ); This meant that the first objective would be shown as completed (displayed with a filled circle next to it) and then "Enter the tomb." would be displayed as a new objective. I finally opened up intro2.icarus, and added set ( /*@SET_TYPES*/ "SET_OBJECTIVE_SHOW", /*@OBJECTIVES*/ "HOTH2_OBJ3" ); to the start, saved, and compiled the script. It might have been sensible to also set the objective as completed once the cultist was dead, but since the credits would roll after only 1 second I didn't think this mattered too much. I added my edited strings/English/objectives.str to my new pk3 and tested that the objectives were working properly. The last thing to add was proper custom credits. Before editing credits.str, I needed to properly set up the credits camera, which I hadn't done before. I opened up map2.map and added a new ref_tag entity targeted at an info_null. This would give the origin and angles of the credits camera. Since I was using scripts/kor2/theClosingCredits.ibi to run the credits, this meant that I had to set the targetname of the ref_tag entity to closingcreditscam for it to work correctly. I did a fresh compile of the map and went back to the fun of string editing. For the usual stars background, I could have made a little lit box textured with textures/common/stars and put my ref_tag inside that. I was "reminded" of this by an old scripting tutorial map file I found somewhere on my hard disk, I'm not too sure where the file came from or who made it though I opened up credits.str in a text editor - it looks like this: // Note to translators: // If a sentence is the same in your language then please change it to "#same" // // eg: // LANG_ENGLISH "HALT" // LANG_GERMAN "#same" // // (This is so we can tell which strings have been signed-off as ok to be the same words for QA // and because we do not store duplicate strings, which will then get exported again next time // as being untranslated.) // VERSION "1" CONFIG "W:\bin\stringed.cfg" FILENOTES "all the credits" REFERENCE RAVEN LANG_ENGLISH "(#CARD)\nProject leads;Steve Raffel;Jon Zuk\nSenior Producer - Activision;Graham Fuchs\nProducer - LucasArts;Brett Tosti\nLead Programmer;James Monroe\nProgrammers;Keith Fuller;Michael Chang Gummelt;Bob Love;Christopher Reed;Aurelio Reis\nMultiplayer Programmer;Rich Whitehouse\nTech Programmers;Ste Cork;Gil Gribb\nLead Designer;Christopher Foster\nLevel Designers;Robert Bettenberg;Ford Dye;Scott McNutt;Justin Negrete;Stu Wiegert\nMultiplayer Designer;Mike Majernik\nLead Artist;Les Dorscheid\nArtists;Nick Choles;Joe Koberstein;Isaac B. Owens;Paul Richards;Todd Rueping;Derek Smith;Jason Smith;Andrew Trabbold\nLead Animator;Jarrod Showers\nAnimators;Richard Lico;Nick Maggiore\nSound Design;Julian Kwasneski;Kevin Schilder\nMusic Editing;Clint Bajakian\nAssociate Producers - Activision;Brelan Duff;Sam Nouriani\nAssociate Producer - LucasArts;Dan Pettit\n(#TITLE)\nCAST\n(#DOTENTRY)\nJaden Korr (Male);Phil Tanzini\nJaden Korr (Female);Jennifer Hale\nRosh Penin;Jason Marsden\nKyle Katarn, Saboteur 1;Jeff Bennett\nLuke Skywalker;Bob Bergen\nTavion;Kath Soucie\nAlora, Jedi Female;Grey DeLisle\nBoba Fett, Cultist 3, Stormtrooper 1, Rodian;Tom Kane\nWedge Antilles;Chris Cox\nChewbacca;Himself\nWeequay, Imperial Worker;Roger L. Jackson\nDasariah and Vil Kothos, Marka Ragnos;Peter Lurie\nLannik Racto, Rebel 1, Stormtrooper Officer;Nick Jamison\nProtocol Droid, Cultist 1, Hazardtrooper 1;Larry Cedar\nGran, Trandoshan;Jess Harnell\nRax Joris, Rockettrooper Officer, Stormtrooper 2, Merchant 1;Gregg Berger\nJedi 2, Reborn 3, Rockettrooper Officer, Noghri;Dee Baker\nJedi 1, Rockettrooper 1, Imperial Officer 2, Prisoner 2;Cam Clarke\nReborn 1, Cultist 2, Imperial Officer 1;Alastair Duncan\nVoice Director;Kris Zimmerman\n(#TITLE)\nRaven Software\n(#DOTENTRY)\nRaven Studio Head;Brian Raffel\nAdditional Art;Gina Garren;Matt Vainio\nAdditional Programming;Jeff Dischler;Dan Vondrak\nAdditional Multiplayer Programmers;Bryan Dube;Rick Johnson;Nathan McKenzie\nScript;Michael Chang Gummelt;Jon Zuk\nDirector of Product Development;Michael Crowns\nProject Administrator;Kenn Hoekstra\nAdministrative Assistant;Kate Steinmetz\nDuel, FFA, and CTF maps by Threewave Software;Michael 'Casey' Goodhead;Dan Gold;Dan Pitts\nPre-rendered Cinematics by Creat Studios;Natasha Kholiavko;Daniel Prousline;Avenir Sniatkov\nGTK Radiant Thanks;TTimo \nQ3Map2 Thanks;Randy 'ydnar' Reddig\nLinux Programming Thanks;Jim Drews\n(#TITLE)\nLucasArts\n(#DOTENTRY)\nAssistant Producer;Heather Logas\nLead Tester;Chane Hollander\nScript Editor;Michael Stemmle\nCompatibility Supervisor;Lynn Taylor\nCompatibility Technicians;Dan Martinez;GW Childs;Jim Davison;John Von Eichorn;John Carsey\nMultiplayer Compatibility Technician;Darryl Cobb\nMarketing;Marcella Churchill\nMarketing Coordinator;Logan Parr\nPublic Relations Director;Tom Sarris\nPublic Relations Manager;Heather Twist-Phillips\nPublic Relations Associate;Alexis Mervin\nContent Supervisor;Justin Lambros\nManager of International Production;Darren Hedges\nInternational Associate Producer;Bryan Davis\nManual Writer;Geoff Keighley\nManual and Package Design;Pyro Brand Development\nManual Editor;Brett Rector\nInternet Manager;Jim Passalacqua\nCreative Services Manager;Patty Hill\nInternational Public Relations Coordinator;Kathy Apostoli\nDirector of Sales;Meredith Cahill\nChannel Marketing Manager;Tim Moore\nChannel Marketing Specialist;Katy Walden\nSales Coordinator;Mike Maguire\nSales Analyst;Greg Robles\nDirector of Sales Operations;Jason Horstman\nProduct Support Supervisor;Jay Geraci\nHint Line Supervisor;Tabitha Tosti\nQA Supervisor;Chip Hinnenberg\nQuality Services Manager;Paul Purdy\nSpecial Thanks;Geoff Jones;Kevin Schmitt;Haden Blackman;Cory Allemeier;Dave Levison;Simon Jeffery;Randy Breen;Mary Bihr;Malcolm Johnson;Camela Martin;R.J. Berg;Seth J. Steinberg;Mark Barbolak;Matthey Fillbrandt;C.B. Studios\n(#TITLE)\nActivision, Inc.\n(#DOTENTRY)\nProduction Coordinators;Aaron Gray;Steve Holmes;Kekoa Lee-Creel\nProduction Tester;Danny Taylor\nSenior Executive Producer;Laird M. Malamed\nVice President,North American Studios;Mark Lamia\nExec. Vice President;Larry Goldberg\n(#TITLE)\nMarketing\n(#DOTENTRY)\nGeneral Manager - LucasArts Europe;Sarah Ewing\nSenior Brand Manager;Keely Brenner\nHead of European Communications;Tim Ponting\nPR Manager;Suzanne Panter\n(#TITLE)\nQuality Assurance/Customer Support\n(#DOTENTRY)\nProject Lead;Thom Denick\nSenior Project Lead;Matt McClure\nQA Manager;Marilena Rixford\nFloor Lead;Matt Nelson\nNight Crew Floor Lead;Joshua Feinman\nThird Shift Floor Lead;Bruce Campbell\nSingle Player Sprinter;Jason Newitt;Shane Sasaki\nMultiplayer Co-Coordinator;George Ngo;John Lagerholm\n(#TITLE)\nSupporting Leads\n(#DOTENTRY)\nProject Lead, Localizations;Paul Colbert\nSenior Project Lead, Localizations;Anthony Hatch Korotko\nCode Release Group;Jeff Sedivy\nNetwork Lab;Chris Keim\nCompatibility;Neil Barizo\n(#TITLE)\nCustomer Support Leads \n(#DOTENTRY)\nPhone Support;Gary Bolduc\nEmail Support;Michael Hill\nInformation and Escalation Support;Rob Lim\n(#TITLE)\nManagers\n(#DOTENTRY)\nManager, QA Night Crew;Adam Hartsfield\nManager, QA Third Shift;Jason Levine\nManager, Code Release Group;Tim Vanlaw\nManager, Customer Support;Bob McPherson\nManager, Resource Admin.;Nadine Theuzillot\n(#TITLE)\nTesters\n(#DOTENTRY)\nTest Team;Avery Bennet;Mike Castillo-Walsh;Heath Cecere;Nathaniel Chapman;Mike Cook;Jim Corbin;Henry Garcia;Jeremiah Jones;Justin Kaehler;Chris Morey;Kirk McNesby;Max Porter;Chris Puente;Jason Oertell;Jason Ralya;Walter Williams\nTest Team, Localizations;Wes Bunn; Samira Chaquorzahi;Allen Chiu;John Harvey;Baro Jung;Patrick Ortiz;Jesse Shannon;Hadar Silverman;Dennis Tong;Owen Waring;Brian Wilson;Danny Yanez\n(#TITLE)\nQA SPECIAL THANKS\n(#LINE)\nGreg Deutsch\nMichael Hand\nJim Summers\nJason Wong\nJoe Favazza\nEd Clune\nJason Potter\nGlenn Vistante\nJohn Rosser\nJason Levine\nIndra Gunawan\nMarco Scataglini\nCoach\nMike Beck\nWillie Bolton\nJennifer Vitiello\nMike Rixford\nAshley Walling\n (#TITLE)\nStar Wars music composed by John Williams. \n(#LINE)\n© Warner-Tamerlane Publishing & Bantha Music.\nAll rights administered by Warner-Tamerlane Publishing Corp.\nAll rights reserved. Used by permission.\n(#TITLE)\nADD'L SPECIAL THANKS:\n(#LINE)\nId Software\nATI\nnVidia\nCreative Labs\nLogitech\nDell\n(#TITLE)\nVERY SPECIAL THANKS:\n(#LINE)\nGeorge Lucas\n" ENDMARKER I needed to edit the text associated with the REFERENCE RAVEN. There are two different phases of the credits - first, there are the "cards" starting from (#CARD). Next, there are the scrolling credits starting from the first (#TITLE). The different cards in the first stage of credits are separated by "\n". Looking closely at an individual card: Project leads;Steve Raffel;Jon Zuk\n Text is separated by ";" and the end of the card is signalled by "\n". The first piece of text is the title, shown in capitals. The other pieces of text associated with the card are the names. Looking more closely at the scrolling part of the credits, the section titles appear after "(#TITLE)\n", like "CAST" or "LUCASARTS", and are shown in capitals. "(#DOTENTRY)\n" signifies the start of the actual list of people. The entries - basically the titles of the roles - are separated by "\n". For example, Jaden Korr (Male);Phil Tanzini\n means that the Phil Tanzini is credited under Jaden Korr (Male). The first piece of text is the role title, the remaining pieces of text separated by ";" give the names credited for that role. So Test Team;Avery Bennet;Mike Castillo-Walsh;Heath Cecere;Nathaniel Chapman;Mike Cook;Jim Corbin;Henry Garcia;Jeremiah Jones;Justin Kaehler;Chris Morey;Kirk McNesby;Max Porter;Chris Puente;Jason Oertell;Jason Ralya;Walter Williams\n means that a load of people are credited as being part of the Test Team. Here's an unnecessary picture that shows how different people can be credited for one role: I made some silly changes to check that everything worked as expected, but I didn't absolutely need to do the credits right now, so I might come back later to make real changes and do the final credits. That's basically it for this time, a rof guide is coming up in the reasonably near future but suggestions and feedback are always welcome. Note: If you want your map to show the fullscreen A long time ago... thing as its levelshot, you'll either need to call the first map yavin1 or make some very minor changes to the code and distribute your modded version of SP.
  19. pt 4 will be up in the fairly near future
  20. yeah, I was going to look at this kind of stuff next - I think your problem is just that you need to put it in a pk3, otherwise the default one is loaded
×
×
  • Create New...