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

A refuge for those migrating from the fallen DXEditing.com and a place for general discussion relating to Deus Ex editing (coding, mapping, etc).
Post Reply
User avatar
FastGamerr
MJ12
Posts: 312
Joined: Sat Jul 10, 2010 10:06 am
Location: Finland
Contact:

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

Post 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!
Last edited by FastGamerr on Mon Jun 10, 2013 7:52 pm, edited 5 times in total.
DDL
Traditional Evil Scientist
Traditional Evil Scientist
Posts: 3791
Joined: Mon Oct 17, 2005 10:03 am

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

Post 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?
G-Flex
Silhouette
Posts: 621
Joined: Mon Jul 11, 2011 10:16 pm

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

Post 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.
User avatar
FastGamerr
MJ12
Posts: 312
Joined: Sat Jul 10, 2010 10:06 am
Location: Finland
Contact:

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

Post 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.
DDL
Traditional Evil Scientist
Traditional Evil Scientist
Posts: 3791
Joined: Mon Oct 17, 2005 10:03 am

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

Post 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.
G-Flex
Silhouette
Posts: 621
Joined: Mon Jul 11, 2011 10:16 pm

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

Post 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.
User avatar
FastGamerr
MJ12
Posts: 312
Joined: Sat Jul 10, 2010 10:06 am
Location: Finland
Contact:

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

Post 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?
G-Flex
Silhouette
Posts: 621
Joined: Mon Jul 11, 2011 10:16 pm

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

Post 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.
User avatar
FastGamerr
MJ12
Posts: 312
Joined: Sat Jul 10, 2010 10:06 am
Location: Finland
Contact:

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

Post 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! :]
User avatar
FastGamerr
MJ12
Posts: 312
Joined: Sat Jul 10, 2010 10:06 am
Location: Finland
Contact:

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

Post by FastGamerr »

Actually, one quick question: Can the whole LAM climbing issue be fixed without recompiling DeusEx.u?
G-Flex
Silhouette
Posts: 621
Joined: Mon Jul 11, 2011 10:16 pm

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

Post 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.
User avatar
FastGamerr
MJ12
Posts: 312
Joined: Sat Jul 10, 2010 10:06 am
Location: Finland
Contact:

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

Post 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 :]
atrey65789
Thug
Posts: 49
Joined: Tue Jun 26, 2012 3:32 am

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

Post 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?
User avatar
FastGamerr
MJ12
Posts: 312
Joined: Sat Jul 10, 2010 10:06 am
Location: Finland
Contact:

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

Post by FastGamerr »

Yeah, that's pretty much what the AddNote trigger seems to do. Thanks anyway. :]
atrey65789
Thug
Posts: 49
Joined: Tue Jun 26, 2012 3:32 am

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

Post 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?
Post Reply