Jump to content
The Dark Mod Forums

grayman

Development Role
  • Posts

    13591
  • Joined

  • Last visited

  • Days Won

    199

Everything posted by grayman

  1. Ok, thanks. I'll try the cvar approach.
  2. Is target_leveltrigger supported? I've used it in map 1 to fire a trigger in map 2, but it doesn't appear to work. Docs say the request to fire the map 2 trigger might be carried in the player's persistent data, but if we're not supporting persistent data yet, this would explain why it fails. I need this for changing maps. Thanks.
  3. I need to detect whether a certain AI has died. Is there a way to trigger a script upon an AI's death, or to query the AI to see if it's alive or dead? I can't find anything in the docs. Thanks.
  4. Perhaps if you switched your view among the x/y, x/z, and y/z views you'll find the bevel. It won't necessarily be oriented the way you want it when you make it, and you might be looking at it from the wrong angle. If that's the case, rotate the bevel until it's properly oriented.
  5. Done. Created issue #2253. Thanks.
  6. Thanks for the pointers. Unfortunately, I couldn't find the answers to my questions. Hopefully someone here will have experience with this stuff.
  7. 1) If I create a camera that points where I'm standing when I trigger it, I don't show up in the camera's view. I have "cinematic" set to "1" on info_player_start. Is this by design? I'm considering a cutscene with the player in it, but it obviously won't work if the camera view doesn't paint me into the shot(s). I assume a mirror will show the player. Is it the AI "Thief" model? If it is, I could use it as a stand-in for the player. 2) If I want an AI in the camera view, I have to mark it "cinematic->1". If I don't, the AI doesn't appear in the camera view. However, an AI not in the camera view is gone when control goes back to the player. So I guess the engine handles "invisible in the camera view" AIs by removing them from the game instead of just doing a hide/show? Bug? Thanks.
  8. I've read the tutorials for adding a func_cameraview to a map (http://www.doom3world.org/phpbb2/viewtopic.php?t=6176), and for creating a NURB spline for it to follow (http://www.doom3world.org/phpbb2/viewtopic.php?t=5123). Everything works fine, except: When I create a spline func_static, the control points are stored as offsets from the origin. The editor shows the blue spline curve in the correct place, beginning at the spline's origin. At runtime, however, the game appears to treat those numbers as absolute numbers, rather than offsets. The camera always starts its journey at (0,0,0) rather than at the spline origin. If I save the map and open it again, the numbers haven't changed in the spline, but the curve is painted as if its origin starts at (0,0,0), which is the first control point number of its spline. The origin of the spline is correctly shown at its original location. I looked at NHAT mission 1, and its camera 1 spline func_static shows the control points as absolute coordinates, not offsets. Its blue line displays properly in the editor. What step am I missing to convert the control point coordinates from offsets to absolutes, so the spline will work correctly? Also, if I create a spline and it displays correctly, dragging it causes DR to treat the control points as offsets. So, if you open NHAT mission 1 and select the first camera spline and drag it, DR treats the absolute coordinates in the spline as offsets, and the blue line shifts WAY off the map. Methinks there's a NURB bug in DR? Or am I missing something in the way you handle these things? Thanks.
  9. Done. http://bugs.angua.at/view.php?id=2246
  10. Thanks for the suggestions. I'll take another look at the situation and see if I can come up with a solution. Maybe a backup conversation if the first one falls apart. Nothing's guaranteed, I guess. I had thought about Fidcal's comment about the player dancing around in front of the actors and being ignored, but I figured a Thief player probably wouldn't consider doing that. I hadn't thought of a cutscene. I might investigate how to do that.
  11. Is there a way to get AI to ignore events around them while in the middle of a conversation? I have an important conversation that has to finish, but if one of the actors senses movement, he says so and the conversation aborts. I don't see a flag in the conversation definition for making a conversation non-interruptible. I was thinking of using a script to temporarily shut down his hearing and sight during the conversation, but I read somewhere that spawnflags in general can't be changed after spawn time. The most natural thing would be for the actors to allow the interruption, then continue on with the conversation. I suspect that would require a code change, though. Any suggestions? Thanks.
  12. If there's a gap in the visportal, you'll probably see a black face that shows the gap. This face flickers in and out depending on your viewing angle.
  13. Are you sure about this? I have visportals whose visportal face is completely bounded by worldspawn brushes (or other visportal faces), but whose sides are not, and they work fine. I thought the only piece of a visportal that was paid attention to was the face textured with the visportal texture.
  14. Place a func_portal so it's touching the visportal. Set the key "portal_dist" to some number, say "500". Then, when you're farther than 500 away, the visportal will be closed. If you're less than that distance the visportal will be open. The docs say the func_portal has to touch the visportal. I've found that a func_portal that isn't touching a visportal, but is near it, will also open and close the visportal. So be careful with func_portals near visportals you don't want opened/closed in this manner.
  15. I'm on team 0. AI "Martin" is on team 2. AI "Lewis" is on team 0. Martin sees me and gives chase. We encounter Lewis and I stop running. Martin catches up and starts whacking me with his sword. Lots of pain and red flashes. Since I owe Lewis money, he gets mad at this, yanks out his sword, and starts pummeling Martin from behind. Martin doesn't respond to Lewis; he just continues to pound me. However, the pain that I would normally be receiving is transferred to Lewis, probably because Lewis is registered with Martin as an attacker. I'm receiving no pain and no red flashes. Martin does NOT turn around to battle Lewis, but continues to flail away at me. Lewis reaches his flee threshold before Martin, and he turns and runs away. (A fair-weather friend, I guess.) Martin continues to whack at me. The pain and red returns, and I die. So the bug here is most likely that Martin did not turn toward Lewis to engage him, though his sword swings are inflicting pain on Lewis. Worthy of a bug report?
  16. Starting with a square allows you to get the word wrap the way you want it. After that's sorted out, resizing the patch lets you have tall or wide text. If you know you want text twice as wide as it is tall, and your backing is 16x128, start with a patch that's 64x64. After you find the right font scale to give you the word wrap you want, stretch the patch out to the backing's width of 128. The font will stretch with the patch. Similar technique for tall text. Suggestion: add a keyword to the func_static sign patch that is a scaling factor for text. That times the gui's font scale would give you the final text scale. Then you can adjust on a per-sign basis, instead of having to duplicate gui files for each font you want at a different font scale. Then you can set the gui files all at fontscale 1, and mappers wouldn't have to tinker with them. Or, just add the key word to the func_static and forget the gui scaling. Default it to 1. Gives the mapper easy control over the text size.
  17. I think I figured out how text is painted on the Entity_Gui patch. 1. The font size is scaled according to the scale in the gui definition. 2. Using this scaled font size, the text is painted on a 64x64 canvas. (64x64 is the size of the Entity_Gui texture.) Word wrap is determined by how many words at this font size will fit on a "line" of 64 units. 3. With the text painted, the canvas is stretched to fit the patch size and horiz and vert scales assigned to the Entity_Gui texture. So, the easiest way to create the proper-size sign with the word-wrap that you want, is to: 1. Create a square patch whose dimensions are the same as the longest dimension in your sign. So for a 16x128 sign, create a 128x128 patch. 2. Give the patch the Entity_Gui texture, with horiz and vert scales of 1.0. Do all the func_static stuff mentioned on the wiki referenced in Fidcal's note above. 3. Set the font scale in your gui file to 1.0. 4. Take a look at the result. The horizontal and vertical sizes of the letters are in proportion (not stretched or shrunk in one dimension or the other). If the words in your text are word-wrapped the way you want, then the patch is done. Adjust the patch's position to fit on whatever the backing is for your sign (board, wall, whatever). If the word-wrap isn't what you want, adjust the font scale in the gui file. DO NOT adjust the patch size. (For example, if you're trying to fit "Belcher Handlers Incorporated Avenue" on one line for a streetsign, adjust the font scale to something less than 1.0.) Once you've found the font scale that wraps the words the way you want, then you're done and you can place the patch on its backing. It's important NOT to fiddle with the patch size because when you do that, the engine just stretches or shrinks the painted text that's already been word-wrapped.
  18. Thanks for this. I'm having a problem groking how this thing formats text. As a result, it takes me a long time fiddling with the patch size and font size to get anything reasonable. If I want a single line of text, I have to make the font size small enough to not cause line wrap. Once I have the text all on one line, I make the patch taller, thinking the text will scale accordingly. But it remains the same size. Then I double the patch width and double the font scale, thinking this will make things better, and it ends up wrapping to 2 lines. So I end up going back and forth between font scale and patch size, trying to spiral in on a reasonable sign. Are there any rules as to how it line-wraps? I'd like to simply make a patch the right size, and adjust the font scaling so the text fits on it. No more than 2 steps. But there seems to be some odd relationship between patch size, line-wrapping, and font scale that I can't figure out. Is there a simple process for making the right-size sign with proper line-wrap that I'm missing? Thanks.
  19. I found some inspiring ideas in the recent Sherlock Holmes movie. The city streets, the prison interiors, the insides of workshops, etc. Very dark and gritty. These are marvelous pictures.
  20. Since I can't figure out how to execute the GUI save/load game commands, and there's no script save/load commands, and there are no save/load entities, I've decided to wait for the official enhancement by the dev team. I've split my map and am continuing on. I'll release after the map-switching enhancements are available. My problem stems from needing to move back and forth between the maps. An item needed to satisfy an objective is in map 1, but you can't retrieve it until you've been to map 2. So the gameplay will be map1->map2->map1->map2. A nice benefit from splitting the map is that, with 2 half-size maps, I'm no longer hitting id's memory alloc problem in dmap, so it's not crashing. Now I just need to restrain myself and not let either map grow too big again.
  21. The fix can wait for other fixes to join it before you release the next rev. I've replaced my sky_portal textures with a roof texture that I don't use elsewhere. When I build a test map, I texture-swap out the roof texture for sky_portal. I have a skybox, but it's self-contained and away from the rest of the map. The problem is not when running the game; it's when using the editor, where skybox position is irrelevant. If you use my test map and you can no longer see room 1's brushes through the sky in room 2 (in DR, not in the game), then the problem's fixed. This has nothing to do with highlighted brushes, btw.
  22. I verified in 1.3.1 that we can now set an objective after dropping a readable. Thanks!
  23. Well, late to the party as usual. I appear to be the oldest in the bunch. I'm retired after 35 years in computer software. I began modding with Doom back in 1994. Just google "Cleimos" and I'll turn up. Worked on that one with my son, who's now in the film industry. Was in TeamTNT for a while (Icarus, etc.), and was one of 4 people who worked on Boom, which was Doom 2 with all the id crap taken out. (Discussions of limits in TDM code brings back fond memories of eliminating every limitation id wrote into Doom 2. I see they haven't outgrown those bad habits.) I've done mapping, modeling, coding, scripting, blah blah blah. I work on iPhone apps occasionally. One out, one in the works, more on the way. And most importantly, I am a cancer survivor. And I'm damn well going to stay one.
  24. I'm getting back and forth between 2 maps just fine. However, I'm stuck on doing the save/load game bit. There are no savegame or loadgame entities. There are no script commands to do this. The only support for this is in the gui feature. I'm experimenting with triggering a func_static that has a gui assigned to it (gui->guis/switch1_exit.gui). According to what I've found, the following should work when the func_static is triggered: guis/switch1_exit.gui contents: windowDef Desktop { rect 0, 0, 640, 640 backcolor 0, 0, 0, 0 onTrigger { set "cmd" "log 'Save Game called.'"; set "cmd" "saveGame test1"; } } But the onTrigger section isn't getting called. At least I'm not getting 'Save Game called.' printed to the console. Any hints? If I can get the save/load game stuff working, then I can move on to the player's inventory and weapons.
×
×
  • Create New...