Jump to content


  • Posts

  • Joined

  • Last visited

1 Follower

Profile Information

  • Modding Interests
    General Modding
    Jack of all Trades
  • Gaming Specialty
  • Operating System
    Windows 10

Contact Methods

  • Discord

Recent Profile Visitors

2,560 profile views

mjt's Achievements

  1. mjt


    Can turrets like on the lambda shuttle be used on non VH_FIGHTER class?
  2. Forwarding you this from Discord by @Raz0r :
  3. bsp sekai was supposed as a suggested tool to convert quake live bsp files to regular q3 bsps which then can be properly decompiled with the method NumberWan mentioned. It was just a reply to the comment above, not the initial question. Just left it here incase 5m1le71ger sees it by chance.
  4. @DarthDrako MP Movement • Not identical to MP but close. Allows for bunny hopping and less "slide" effect when moving. g_bunnyhopping 1. Also in the menu. Could that already be enough? I suppose it's not the same but maybe it is - give it a try and report back your findings
  5. Remember the random mission generator from SoF2? You'll find parts of that still in the code in JKA I think, but it's not in a usable state. For all I know neither GTK Radiant nor NetRadiant Custom provide any phython hooks. Your best bet for that would probably be blender, combined with q3map2, the io_map_export plugin - that way you can do level geometry instancing from assets, and export it all to brushwork for collisions and use .fbx as a modelformat for your actual drawsurfaces - could set up things in python or geometry nodes to procedurally assemble the assets to a level then. I'm looking to do the same for a remake of a KotoR level right now. I'll leave you a few links wrt level generation / modification that I frequently use for this: https://github.com/c-d-a/io_export_qmap / https://github.com/andyp123/blender_vhacd / https://github.com/kmammou/v-hacd https://github.com/SomaZ/Blender_BSP_Importer/tree/FAKK_EF2_Support (Has a more up to date WIP build floating around Discord) https://garux.github.io/NRC/ / https://github.com/Garux/netradiant-custom/releases Entities like trigger_* target_scriptrunner, NPCs, NPC_Spawner / NPC_Vehicle and all the func_entities (bare func_group), potentially the normal point based entities like target_ as well, can have a spawnscript / usescript setup on the entity in Radiant - this script runs on spawn/use on the entitiy itself (exception being target_scriptrunner which can run it on the entity that triggered it) From that scope you have access to the parm1 to parm16 fields of the entity and can control it with all the ICARUS commands supported by this entity. Some commands however will not execute without an affect block directing them. In that case you should check out here: https://jediacademy.fandom.com/wiki/Icarus_Scripting:_basics#script_targetname You can use this script_targetname / targetname stuff to affect other entities and run scripts on them from another script. I am not sure if defined variables in scripts are inherited down anything that is started from its scope or if it's accessible from two different running scripts. Something to test eventually.
  6. All commands are send off immediately one after the other - wait commands make the script wait. So if you instruct a brush to move for 2 seconds, and have a 5 sec wait command after it, the brush starts moving as soon as the wait starts counting. So the wait arrives at 2s when the brush reaches final position, leaving you off with 3 more seconds of wait till the next brush movement is send off with another wait. Try to figure out what actually is executed at which point and scope. For example if you define tasks in an affect scope that include waits, the scope in the affect block will regard them, but any command executed after the affect block on the same level of hierarchy will just immediately fire off, as soon as the affect block before has been sent off as instructions. If you need for the script to wait, you'll either have to carefully time everything using wait commands in the correct scopes, or you use if blocks and parms / variables to check for completion or check out the signal / waitsignal mechanic. On a sidenote, if you want to move entities in a linear fashion with ICARUS, instead of smoothed out / accellerated / decellerated - you have to give them a key/value combination on the enitiy in Radiant/BSP: linear 1 This is not sth you can set with ICARUS, it has to be compiled into the map / changed via entity modding / patching. To understand when wait does actually wait: //(BHVD) affect ( "some_mover_entity", /*@AFFECT_TYPE*/ FLUSH ) { task ( "DEFAULT" ) { move ( < 0.000 0.000 128.000 >, < 0.000 0.000 45.000 >, 4000.000 ); } dowait ( "DEFAULT" ); sound ( /*@CHANNELS*/ CHAN_AUTO, "sound/movers/sec_panel_pass.wav" ); } The sound will play as soon as the mover starts moving - the task does not include a wait command and will report as completed to the "dowait" as soon as the move command is send off and the brush starts moving. If you wanted the task to take as long as the brush moves, you must include a wait inside the task: //(BHVD) rem ( "comment" ); affect ( "some_mover_entity", /*@AFFECT_TYPE*/ FLUSH ) { task ( "DEFAULT" ) { move ( < 0.000 0.000 128.000 >, < 0.000 0.000 45.000 >, 4000.000 ); wait ( 4000.000 ); } dowait ( "DEFAULT" ); sound ( /*@CHANNELS*/ CHAN_AUTO, "sound/movers/sec_panel_pass.wav" ); } On the other example - the one about tasks and loops - this really looks like a mistake to me. I think what they intended to convey was to define a task that uses parms exclusively outside the loop once, and call it inside the loop as dowait or do instruction. Using parms / variables can help you write better universal scripts that can be reused on many entites throughout a level. But for basic stuff it's not really relevant too much. What are you cooking up though?
  7. https://github.com/zturtleman/bsp-sekai might do the trick...
  8. Well you can check out the saboteur NPC and assign a different model to it, see if the stealth still works on it - from there on out you could make any kind of NPC as long as the class is what makes it cloak...
  9. He looks like from one of the more happier dreams! Stunning work again. Love it!
  10. I've no idea how to separate out q3map2 from NRC folder structure - I just switched to using a batch script for the exe in the NRC directory, instructing it to scan my maps folder for last modified .map and then run its stuff on it. I can curate a list of known changes if you give me some time. Most notable changes are under the hood though performance wise and with regards to how for example meta surfaces are generated. In general NRC q3map2 switched to ASSIMP as a model loader - instead of picomodel and thus now supports a wide variety of model formats. Most notably .fbx with vertex RGBA - with this method you can also bypass some of the brushwork based surface count limitations that q3map2 usually throws. Recent q3map2 from NRC also has some updates to the q3map_skylight command, enabling it to sample colors directly from the skyparms ( 6 skybox images ) and cast hemispheric ambient light. The best documentation of what WORKS though is when opening the help in Radiant and looking at the offline / fixed documentation. I'll get back with a more comprehensive list later.
  11. Looking at how some games came along with bink as video format - it seems that some of the idtech4 source ports for doom3 / quake4 have implemented ffmpeg into the engine to support different video formats and more high resolution content. In principle you'd have to find someone willing to do the same here. Or find a different solution. I think .roq won't hold any of the upsampled data. It's just too limited.
  12. Most notable differences are in the toolkits provided - the gizmos / modifiers are a bit more advanced - the workflow differs in some areas quite substantially and coming from GTK, you'll have to relearn or reconfigure some shortcuts. If you want a tour through the tool - I can help you set things up and show you around. The q3map2 supplied alongside is vastly more modern than the one from GTK - it includes a bunch of custom fixes and enhancements documented on either github or the help documents supplied alongside. If you want to take a look: https://garux.github.io/NRC/
  13. How's the result coming along? Also - how do you intend to increase the quality beyond the maximum .roq resolution supported by the game?
  14. Excellent improvement! The water looks amazing! I am so thrilled to see the actual shader setup later! I like how you hid at least some of the hard POM breaks on the trunks with some grass! This begs the question of mixing decal normal maps onto the normal map below - how do different blended textures with normal maps behave? Does it calculate POM on both and just blend them afterwards? The ball still needs to be NPCified - so it can be force pushed and choked What kind of surface type is the terrain right now? When compiling I mean - it should list what drawsurface end up as which surface type. I am just asking since there is also a surfacesprite that is planar and could be used for little POM rocks to also put on there. Not sure this specific one works in the version of rend2 you currently use. Someone on jkCommunity discord was makign some fixes for the sprites and weathersystem last I checked.
  15. I'm not sure adding more "details" will be worth it since it already exceeds anything out there on that front - but I'm already very impressed at the quick pace this is progressing at. Did you ever find a good way to setup underwaterfog with blending depthbased color falloff from scattering in the water? In CostaDelsol, after it's initial release we experimented with a depth based falloff projected from 0 0 0 world origin with tcGen vector during runtime - the scale had to be adapted to the color falloff below the waterlevel to scale properly. Working with fogs will introduce you to marvellous journey of setting up correct sort oder both in .shader file, as well as in the shader it self using "sort" Do you have some sort of actual reflection now using rend2? If still not, you can also use tcGen environment at least for SP when using fake reflections. There's a transform that allows for the projection to be 1:1 with infinite parallax bound to the player camera.
  • Create New...