Page 1 of 14

Deus Ex: Nihilum [Post-Release Issues] [SPOILERS]

Posted: Mon Feb 18, 2013 2:20 pm
by FastGamerr
[EDIT: The initial posts before May 28th concern the final editing needs, everything after that is mostly about release-related stuff)

Heya! As you may have read, my final major modding endeavour Deus Ex: Nihilum is a few crucial steps away from a release. These crucial steps include filling up missing voice acting, beta testing and...

... still trying to fix a few instances of non-threatening but highly irritating coding.

IMPORTANT ISSUE 1 [FIXED]
You may be familiar with the TriggerTrigger trigger from the MoreTriggers pack of triggers. I've used this one extensively in the mod (in the form of TRIGGER_Frob) to have the player use items that will add data into the Notesmenu (in other words, accessing a datacube via computer OR multitooling an electronic panel that will trigger a datacube).

Sadly, doing this seems to leave a trace of the datacube window on the screen that won't go away unless you save the game and reload it again. Alternatively, the datacube window might appear but you have to access the computer/item again to make it disappear. In one instance, it seems that doing this will also crash the game (but reloading the game right after should be fine).

Any easy way to fix this?


IMPORTANT ISSUE 2 [SOUND ISSUE FIXED, MUSIC ISSUE BYPASSED]
Despite copying the appropriate soundvolume related code from Deus Ex's own MissionScripts where it works correctly, in DXN this happens: You view a cutscene, let it be the intro or the endings. In the next level, the volume sounds are extremely low and only going to the Sound menu (to hear the ever-so-delightful "I SPILL MY DRINK") will restore them to normal - also revealing that the volume bars have remained unchanged all this time.

Also, DXN uses the same version of DXOgg as TNM does and I've noticed that during the cutscenes and regular conversations, the music volume doesn't seem to be temporarily lowered in the same way as in DX.

Any ideas? Here's code from the intro and the endings (with the spoilers and code that involved nothing related to the volume settings removed).


TECHNICALLY IMPORTANT ISSUE 3 [BYPASSED]
In one instance of the mod, you can get 100 credits from an NPC if you have a certain item (VialCrack) in your inventory. In other words, one copy of the item is removed from your inventory and you get 100 credits in return. However, if you have over 10 copies of the said item, the inventory screen won't decrease the item count any longer after it has reached 10, so you can turn this into an "infinite" money bug at that point.

Spoiler: having money after that level won't really make any difference at all gameplay-wise, so you can technically exploit it all you want, but still, is there a way to prevent this without reverse engineering the inventory code (and thus creating hundreds of other problems)?


NOT REALLY THAT IMPORTANT BUT STILL WORTH MENTIONING ISSUE 4 [SOLVED]
I can give an NPC a weapon (say WeaponAssaultGun) and a sufficient amount of ammo (say 22 of Ammo762mm). However, when I access the NPC's inventory in game (whether after killing or knocking them out), I only get 2 ammo - even if they hadn't shot a thing. Ideas?


-----

AT any rate, while none of these issues are that game-breaking, for one it'd be nice if they still could be fixed and on the other hand, it'd even look a bit better for me if I at least took some kind of effort in trying to fix them. >_> At any rate, if they can't be fixed the mod will be released anyway.

(Naturally, I hope the beta testers won't discover anything worse, and there are some instances of the game crashing due to odd NumLocked/Cache errors but if these errors won't dramatically increase in the wake of the final testing phase, I'm just going to mention them in the readme)

Cheers, fellas!

Re: DX: Nihilum Final Editing Needs [Possible spoilers]

Posted: Tue Feb 19, 2013 11:40 am
by DDL
Ammo gain from carcasses is handled in deusexcarcass frob(). You never actually pick up any ammo from carcasses, that gets destroyed as soon as you search them. If they were carrying a gun that you also have, you get 1-4 rounds of ammo for that gun, and the gun is destroyed.

So just recode deusexcarcass (or make custom carcasses).

For datacubes, isn't there an addnotetrigger that basically does exactly this without daisychaining via datacubes? Or did I write that and not include it in moretriggers? Hrmm, it's not a moretriggers subclass, so I guess not.

Well, here's the code. I'm not entirely sure how well tested it is, mind.

Code: Select all

Class AddBasicNoteTrigger extends Trigger;

var() name					NoteTag;
var() string				NoteText; 

		


function Trigger(Actor Other, Pawn Instigator)
{
	local DeusExNote Note;
	local DeusExPlayer aReader;

	Super.Trigger(Other, Instigator);

	aReader = DeusExPlayer(GetPlayerPawn());

	if (aReader != None && Notetag != '')
	{
		// Make sure note doesn't already exist
		note = aReader.GetNote(NoteTag);

		if (note == None)
            {
                note = aReader.AddNote(NoteText,, True);
                note.SetTextTag(NoteTag);
            }

	}
}


function Touch(Actor Other)
{
	local DeusExNote Note;
	local DeusExPlayer aReader;


	Super.Touch(Other);

	if (IsRelevant(Other))
	{
		aReader = DeusExPlayer(GetPlayerPawn());

		if (aReader != None && Notetag != '')
		{
			// Make sure note doesn't already exist
			note = aReader.GetNote(NoteTag);

			if (note == None)
            		{
                		note = aReader.AddNote(NoteText,, True);
                		note.SetTextTag(NoteTag);
            		}

		}

		
	}
}




defaultproperties
{
     bTriggerOnceOnly=True
}

And for your inventory transfer for money thing, how are you doing it? Looped conversation entries?

Re: DX: Nihilum Final Editing Needs [Possible spoilers]

Posted: Tue Feb 19, 2013 11:59 am
by G-Flex
Regarding cinematic conversations and sound levels, I forget which classes are involved in messing with the volume and resetting it afterwards (possibly ConWindowActive or CinematicWindow or whatever they're called), but I would suggest looking into that to see why the correct values may not be getting restored.

Re: DX: Nihilum Final Editing Needs [Possible spoilers]

Posted: Tue Feb 19, 2013 1:20 pm
by FastGamerr
So does the text I want come to the noteText part? If so, what's the noteTag for?

Hypothetically, would changing the carcass and conversation code require recompiling DeusEx.u?

As for the conversation, there's one conversation that always checks if you have Zyme in the beginning and then jumps to the part where you can give it to the NPC if you've talked to it before.

Re: DX: Nihilum Final Editing Needs [Possible spoilers]

Posted: Tue Feb 19, 2013 5:04 pm
by DDL
NoteTag is a unique identifier so that you don't add the same text twice. NoteText is as you say, the text to add.

Re: DX: Nihilum Final Editing Needs [Possible spoilers]

Posted: Tue Feb 19, 2013 6:48 pm
by G-Flex
FastGamerr wrote:Hypothetically, would changing the carcass and conversation code require recompiling DeusEx.u?
ScriptedPawns have their carcass class as a member variable, so you could always just use your own carcass classes and avoid recompiling DeusEx.u, although that would require using your own ScriptedPawn classes.

EDIT: Hypothetically, you could add a function call to your mission scripts (in Timer())to constantly check for pawns that have a standard DeusEx carcass class, and changing their carcass class on the fly, but that would be pretty awful.

Re: DX: Nihilum Final Editing Needs [Possible spoilers]

Posted: Tue Feb 19, 2013 7:02 pm
by FastGamerr
Yeah, sounds like more trouble than it's really worth. Technically the Zyme item issue's not gonna be that big of a deal either. I also decided that clicking on an encrypted datacube again after viewing it isn't that big of a hassle anyhow.

Of course, due to using materials from the Duke Nukem 3D HRP project, DXN is going to be released under a GNU license so anyone who wants to make the code better post-release is free to do so :]

And as for the conversations, well, nothing in any of the Con*.uc files seemed to even refer to changing the volume. Not to mention I reused DX's MissionScript files for the cutscene levels so if those volume changes worked there, well, I guess I expected them to work in DXN as well >_>

Any more ideas on the volume issue that wouldn't require DeusEx.u recompiling?

Re: DX: Nihilum Final Editing Needs [Possible spoilers]

Posted: Tue Feb 19, 2013 7:09 pm
by G-Flex
Sorry, yeah, the volume settings are in the MissionScript files.

My guess is that something you've done is also messing with the player's volume settings, although I haven't a clue what.

Re: DX: Nihilum Final Editing Needs [Possible spoilers]

Posted: Tue Feb 19, 2013 10:10 pm
by FastGamerr
Hmm, apparently I had copy-pasted the soundvolume values wrong in the first place after all! Now the sound volume is lowered during the cutscenes and restored right after (at least, according to my tests)... but just going with changing 'SoundVolume' and 'savedSoundVolume' into 'MusicVolume' and 'savedMusicVolume' respectively didn't even let the code to compile properly. And something tells me it wouldn't affect DXOgg either.

So I guess it's not that big of a deal as you can just read the subtitles but that of course means that your monitor should be capable of showing them up properly in the first place.. I guess this thread got finished a lot quicker than I thought. There are some issues related to the HUD but I'll see if the coder for UB (blueneptune) can take a crack at those at some point.

Many thanks to all of you! :]

Re: DX: Nihilum Final Editing Needs [Possible spoilers]

Posted: Sat Feb 23, 2013 3:14 pm
by FastGamerr
Actually, one quick question: Can the whole LAM climbing issue be fixed without recompiling DeusEx.u?

Re: DX: Nihilum Final Editing Needs [Possible spoilers]

Posted: Sat Feb 23, 2013 3:50 pm
by G-Flex
Probably not in any manner that's all that good. The best you could probably do is have your mission scripts search for planted grenades in its timer function and mess with their collision properties from there.

Re: DX: Nihilum Final Editing Needs [Possible spoilers]

Posted: Sat Feb 23, 2013 5:25 pm
by FastGamerr
Hmm, probably not worth the trouble. I think I'll leave a surprise or two for anyone who's going to use that trick. Thanks for the help :]

Re: DX: Nihilum Final Editing Needs [Possible spoilers]

Posted: Mon Mar 25, 2013 12:57 am
by atrey65789
Hi FastGamerr... Atrey here, (Brenden), For datacubes, I think an easy way of using them, is by using one I made, I made it to where instead of needing a text package, You can add text via default properties, and no matter how much text you put into it, the Window around it will adjust to it..

Would this work?

Re: DX: Nihilum Final Editing Needs [Possible spoilers]

Posted: Mon Mar 25, 2013 5:39 am
by FastGamerr
Yeah, that's pretty much what the AddNote trigger seems to do. Thanks anyway. :]

Re: DX: Nihilum Final Editing Needs [Possible spoilers]

Posted: Mon Mar 25, 2013 1:44 pm
by atrey65789
FastGamerr wrote:Yeah, that's pretty much what the AddNote trigger seems to do. Thanks anyway. :]
Which reminds me, I saw on your moddb page that you needed music tracks.... do you still need someone to make them?