6741cf65425ce

6741cf6543ea6
2 Guests are here.
 

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

6741cf65447fbDeu sex

6741cf6544873
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

6741cf6544db3RoSoDude

6741cf6544e12
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.

6741cf654504aDeu sex

6741cf65450a2
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

6741cf6545151RoSoDude

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

6741cf6545423sarge945

6741cf6545477
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 »

6741cf654560esarge945

6741cf654566e
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.

6741cf654578fsarge945

6741cf65457df
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

6741cf654592csarge945

6741cf654597c
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 »

6741cf6545abfDeu sex

6741cf6545b10
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 »

6741cf6545c45sarge945

6741cf6545c9f
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.

6741cf6545e81voodoo47

6741cf6545ed9
https://thief.fandom.com/wiki/DromEd/Properties/Renderer/Mesh_Textures

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

6741cf6545fe1sarge945

6741cf6546095
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.

6741cf65463d8ZylonBane

6741cf6546463
[fucking huge image]
Please refrain from inlining multi-megabyte PNGs.

6741cf6546510sarge945

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

6741cf654720fsarge945

6741cf6547274
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

6741cf65475f2Deu sex

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

6741cf6547a46Deu sex

6741cf6547ab6
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.

6741cf6547b7esarge945

6741cf6547bd6
Strange, that shouldn't be happening.

I will look into it.

6741cf6547c9fsarge945

6741cf6547cf2
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 »

6741cf6547e01sarge945

6741cf6547e50
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?

6741cf6547fd4voodoo47

6741cf654802f
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.

6741cf65481fbsarge945

6741cf6548247
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 »

6741cf65482fcZylonBane

6741cf654834c
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.

6741cf6548408sarge945

6741cf654845a
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:

The deck number where you shall meet Dr. Janice Polito:
2 Guests are here.
It's as if the digital age has never occurred.
Contact SMF 2.0.19 | SMF © 2016, Simple Machines | Terms and Policies
FEEP
6741cf654b56a