67429a5f64db1

67429a5f66ef7
6 Guests are here.
 

Topic: SS2 Coloured Laser Rapiers All-in-One
Page: « 1 2 [3] 4 »
Read 20223 times  

67429a5f67663Deu sex

67429a5f676d1
Very cool! Love that you implemented the things! I just increased SelfLitRad to 30 and reduced min and max brightness to 200 and 230 to suit my convenience, and just kept the red, purple, and green additional rapiers to 1 in the randomized chance, others at 0, very cool to have such flexibility.

https://i.ibb.co/r7B4qMQ/ss2-2022-07-19-20-06-21.jpg

the rapier gets randomized inside your inventory at level transition or reload though, and sometimes it's a little messed up, like here at Deck 4 with a red rapier and blue light

https://i.ibb.co/hXC59SB/ss2-2022-07-19-19-59-10.jpg

I'm using the latest RSD beta 12 hotfix, rapier assassins, and of course the coloured laser rapier mod

67429a5f67b42RoSoDude

67429a5f67b9e
Deu sexHmm, that rapier position on the assassin is off. Is it always like that? And how did you get different rapier colors for the assassin?

I'd like to make rapier colors compatible with the upcoming rapier assassin minimod for Scary Monsters, but I'm not sure precisely how to do it at the moment.

67429a5f67da5Deu sex

67429a5f67df8
RoSoDude
The rapier position is good only when it is the neutral rapier, the one from the model that is not actually a rapier if you see what I mean,
scary monsters is loaded above assassins rapier, above RSD beta 12 hotfixed, above Coloured Laser Rapiers

67429a5f67e8fRoSoDude

67429a5f67ee3
Okay, I figured. They do indeed use a different model, borrowed from Secmod.
Acknowledged by 2 members: sarge945, Deu sex

67429a5f68151sarge945

67429a5f681a5
This makes sense, I actually am using copies of the models (in order to change the texture paths)

Also, I will fix the level transition issue. It seems like it's resetting some values on level load, so I will set the values on load (without rerolling a new colour)

Sorry you're having issues :(
« Last Edit: 20. July 2022, 05:53:41 by sarge945 »

67429a5f682e8sarge945

67429a5f68337
Okay, I believe I have fixed both issues.

The rapier should no longer randomise inside your inventory at all, or on level load etc.

Assassins now use the correct rapier model. Unfortunately, they generate a new rapier each time they attack - it's just part of that mod and I can't change it. This means on every attack, their rapier will reroll a different colour.

This may be desired, but if not, there's a new option in the squirrel script file to force assassins to use a specific colour always.

I have attached a new version to the original release post. I really should start using that as a common post for new releases since this is now an "official" mod with actual users, not just an engineering project.

67429a5f68452sarge945

67429a5f684a1
I introduced an extremely stupid bug in v1.01 that prevented the "changing colour in your inventory" on level change/reload bug from being fixed, and actually made it WORSE.

For the 2 people that downloaded v1.01, please download v1.02. That was my bad, sorry.

Fun Fact: GetData/SetData and friends don't work for inventory items at all, so my usual thing of "set parameters, check them later" doesn't work at all. So I just did everything on create rather than OnScriptBegind (didn't even know about OnCreate) and it all worked like magic.
« Last Edit: 20. July 2022, 05:42:59 by sarge945 »
Acknowledged by: Deu sex

67429a5f685d9sarge945

67429a5f6862f
So there's a property in Renderer->Mesh Textures, which from what it looks like in the editor, apparently allows replacing a texture in a mesh with another one?

This would be extremely useful for this mod because currently it's shipping a bunch of copies of the rapier model in order to effectively replace the texture paths within the model files.

@voodoo47 or @ZylonBane have either of you used this property or know of any similar ones? Has it ever worked? I tried putting in all sorts of inputs but never got anything useful out of it.
« Last Edit: 20. July 2022, 09:58:07 by sarge945 »

67429a5f68769Deu sex

67429a5f687b9
Works very well now thanks! Doesn't randomize in inventory, keeps the right color, and rapier position on the model is accurate now



The fact that it randomizes on assassins rapiers is not an issue as far as I'm concerned, they'll die before they even get the chance to draw two swords anyways hehehe.

This shapes really good as it is, any chance something can be done with the heat particles?
« Last Edit: 21. July 2022, 08:31:35 by Deu sex »

67429a5f688d2sarge945

67429a5f68924
What is up with your assassin models? The textures on them look completely broken?

I haven't really looked at heat disks, I feel like it might be a little too much effort for an effect that's not likely to look good, but I might have another look at it soon.

For now though, unless voodoo or ZB come up with a really good answer to my question above that lets me completely change how this mod works (for the better), then I basically consider this done for the most part. I might look into heat particles, but I have some other mods I need to get properly tested and released (like my Keypad mod)

Then again, RSD has been done for almost a year now, and that mod's still going.

67429a5f68a61voodoo47

67429a5f68aaf
https://thief.fandom.com/wiki/DromEd/Properties/Renderer/Mesh_Textures

so probably not usable for weapons. that assassin texture looks like outdated Secmod.

67429a5f68b7dsarge945

67429a5f68bc9
Thanks for the info. Yeah I tried putting in texture paths, had no luck, so maybe it's for AI's, or maybe not implemented in the SS2 version of the engine, I don't know.

It's a shame actually. If this sort of feature was properly in the engine, it would allow the creation of pretty compatible skin type mods (like having 2-3 hybrid skins chosen randomly), but ah well.

67429a5f68e4cZylonBane

67429a5f68ea0
[fucking huge image]
Please refrain from inlining multi-megabyte PNGs.

67429a5f68f44sarge945

67429a5f68f92
System Shock 2 is such a highly detailed, photorealistic gaming experience we need huge images to really soak in all the minute details

67429a5f694b0sarge945

67429a5f6950a
I finally figured out Squirrel script messaging, so I have added a system to allow objects to force linked rapiers to use a certain colour. This is used by the assassins - they roll a colour themselves, and pass it on to all rapiers they create (including their loot when they die).

The message system in Dark is easy to use, powerful, flexible and consistent. It has also allowed me to make my code significantly simpler, as the assassin can handle themselves and then tell the rapier what to do. I guess, contrary to popular belief, there are SOME free lunches in Dark.

Since the messaging system is all relatively new to me, I have decided to play it safe. I have uploaded a BETA version for now. Once more people have tested it, it should be good to release as a full version.

Deu sexI'd like to make rapier colors compatible with the upcoming rapier assassin minimod for Scary Monsters, but I'm not sure precisely how to do it at the moment.
Fugetaboutit!

It's already done. Just remember that you need to ship Obj/Txt16/bluegrad.gif from secmod as part of the assassin rapier addon for scary monsters, as it's missing in your beta version. If people decide to use your rapiers addon without this mod, the assassin rapiers will have the jorge textures and be purple-ish rather than bright blue as originally intended. Alternatively, this mod ships an altered version of the model that uses a PCX texture instead, so it has the right colour pallette to represent the original rapier colour EXACTLY, so the assassin rapier looks exactly like the regular one. Feel free to include it in your mod too if you wish (in which case you will also need BLUEORIG.PCX).
« Last Edit: 21. July 2022, 14:34:52 by sarge945 »
Acknowledged by: Deu sex

67429a5f696afDeu sex

67429a5f69706
ZylonBane
damn I forgot to convert it to jpg first, going to do that asap
-> done

67429a5f69a97Deu sex

67429a5f69aeb
sarge945
Woops, I just started a new run to try RSD's new version, and with your mod, sadly rapiers placed on the maps still have the default properties (tested with the first one you find at Deck 1 near the reactor), changing level makes the min and max brightness good again, but self lit rad stays default/minimal.
It was also a blue one, not sure if I was very unlucky or if something doesn't work here as well.
Note that I'm not using the beta version you just referred to, but the version just before, the one that fixed randomization in inventory at level transition/reload and such.

67429a5f69b86sarge945

67429a5f69bd3
Strange, that shouldn't be happening.

I will look into it.

67429a5f69ca3sarge945

67429a5f69d97
Okay, I have fixed all the in-game Laser Rapiers in Vanilla and SCP. I will do Secmod versions of the DML when I get around to it.

This has been tested and it works, but not thoroughly. I haven't completed the game or anything with it.
« Last Edit: 23. July 2022, 17:42:01 by sarge945 »

67429a5f69efbsarge945

67429a5f69f6a
I might need some DML help for this one, @voodoo47 or someone.

So basically, I have this fixed for vanilla/scp, using DML files for each mission.

I also want to fix it for Secmod, but....well obviously there's a problem because I am already using DMLs for the mission files, and they are specifically fingerprinted against secmod (because for example Secmod removes the laser rapier in eng1).

How would I make DMLs for the Secmod maps and still have the ones for the regular maps? Do I just create alternate versions of the .mis dmls in the dbmods folder?

67429a5f6a0c3voodoo47

67429a5f6a11d
kind of depends, if the Secmod maps are close enough to SCP, then you can just add handling for Secmod exclusive objects and as long as SCP does not have the object, nothing bad will happen, the console will throw an error obj not found but that's it. Repairman does this, working for both vanilla and SCP.

or you can create alternate dml set just for Secmod, a separate download but the safest and cleanest way of doing this.

and it is also possible to keep everything in one single package - you will have to check the TFix fmdml folder and use that setup if you don't want to maintain separate packages - basically, Dark can load a dml with a completely custom name from one specific folder (which can contain loads of dmls), and only actually apply it when a matching fingerprint is found).

also, limited access to the internet for the next week, so only can help with stuff stored directly in my memory.

67429a5f6a34csarge945

67429a5f6a3a8
Well I found a far more disgusting solution that works. It's the dirtiest hack I could think of, but as long as it works I am happy to use it.

Tell me what you think of this. Let me know if it's likely to blow up in my face.

The problem with using "OnScriptBegin" is that it re-rolls on every map change. I cannot simply prevent it running by using SetData/GetData because, for some strange reason, GetData and SetData don't seem to work for held weapons or inventory items, so the rapier was changing colours between maps. I originally fixed this by changing it to use OnCreate instead, which only runs once. The problem with using "OnCreate" is that it doesn't affect already existing rapiers in the maps, meaning I had to do a bunch of DML edits and replace rapiers via script, which meant compatibility concerns (needing to do manual DMLs for SCP, Secmod etc) as well as being incompatible with mods like SS2-RSD which dynamically remove, swap and replace items via scripts, which would not affect the newly placed rapiers as they have different object IDs, and depending on various factors would swap before other mods could change their properties.

I instead used a horrible hack to fix both problems. I am using OnBeginScript again, which means it does affect pre-placed rapiers in the maps, but as part of OnBeginScript, I forcibly set my own Script Slot to "", effectively removing the script. This prevents OnScriptBegin from running again on map changes and game reloads.

I gave it a quick test and will upload, but will not be removing the old BETA version because I am not entirely happy with this solution, even if it works. I feel it is inherently fragile and could have implications elsewhere.
« Last Edit: 24. July 2022, 03:55:26 by sarge945 »

67429a5f6a485ZylonBane

67429a5f6a4d9
If you want to store persistent state on an object that doesn't rely on script data, you can just use an inapplicable object property.

67429a5f6a5b4sarge945

67429a5f6a610
Fair enough, got any recommendations?

I eventually went with Door Close Sound.

I try to avoid using object properties because I am not yet experienced enough with the editor to know what will have various implications I don't know about.
« Last Edit: 24. July 2022, 05:05:01 by sarge945 »

Your name:
This box must be left blank:

System Shock takes place on a space station named ...:
6 Guests are here.
All of the information shared by you is useful for me and You did such a great job.
Contact SMF 2.0.19 | SMF © 2016, Simple Machines | Terms and Policies
FEEP
67429a5f6b798