Page 237 of 571

Re: Hideous Destructor [last update dated June 29, 2015]

Posted: Mon Jun 29, 2015 6:35 pm
by Silentdarkness12
I seem to be having a lot of trouble getting this pistol to not crash the game now.....also, for some reason I can't comprehend, it doesn't get put into the pistol slot correctly, either. Vaecrius, mind if I PM you about this? Starting to think it could be related to the HDWeapon hierarchy, or one of your ACS scripts.

Re: Hideous Destructor [last update dated June 29, 2015]

Posted: Mon Jun 29, 2015 8:39 pm
by Matt
LG: If the ceiling is sky or higher than 256, the pistol report is considered to have dissipated and too soft to alert anyone. Otherwise, there's a slight chance of alerting like a normal weapon.

SD: I generally prefer if people post here, unless it's about a submod or something they'd rather keep under wraps, or if there's some ongoing unrelated discussion and it's very likely your question just gets buried, then go ahead and PM.

Re: Hideous Destructor [last update dated June 29, 2015]

Posted: Mon Jun 29, 2015 9:21 pm
by Big C

Re: Hideous Destructor [last update dated June 29, 2015]

Posted: Mon Jun 29, 2015 9:34 pm
by TheMightyHeracross
That would depend on how high you can already climb here. I have a limit set so that the pulling up only works within a certain distance- not any specific height, but the players need to be within 128 units.

Re: Hideous Destructor [last update dated June 29, 2015]

Posted: Tue Jun 30, 2015 6:17 am
by Silentdarkness12
@TheMightyHeracross Shweet work, Heracross. I can definitely make good use of these. Thanks a bunch. : D

@Vaecrius Not sure if what i'm talking about would qualify as a submod. I'll just post it here, then.

I'm working on an addon to bring the silenced pistol to Hideous Destructor, but it's not quite working. I can't figure out why, and judging by the looks of it, it's nothing blatantly obvious. The weapon won't assign itself to the pistol slot, somehow the old pistol is still there, even though it's replaced, and I redefined the playerpawn actors to spawn with the pistol with silencer functionality. If I force myself to get the silenced pistol and try to attatch the silencer, GZDoom CTDs with a generic Windows crash message. If I have the silencer to attatch, the equip animation runs, but then it crashes. If I don't have the silencer, then it just crashes.

I don't know why the pistol slot isn't working like it's supposed to. The weapon slot is defined as 2 in both gameinfo and the pistol's DECORATE file. Maybe Vaecrius hard-coded some slots via ACS?

As for the crash, i'm at a total loss here. My only guess is some sort of infinite loop regarding the ready state checking for the EquippedSilencer flag.
HDSILENTPISTOL.pk3
WIP
(23.77 KiB) Downloaded 20 times
The key to attatch/detatch the silencer is the alternate reload key.

Re: Hideous Destructor [last update dated June 29, 2015]

Posted: Tue Jun 30, 2015 7:22 am
by Fort of Hard Knox
Big C wrote:Morcilette has released possibly the first-ever dedicated map for Hideous Destructor!
Damn, he beat me to it. This is good news though, and it makes me geek at the possibility of a Hideous Destructor full episode project.

Re: Hideous Destructor [last update dated June 29, 2015]

Posted: Tue Jun 30, 2015 7:43 am
by Silentdarkness12
I've already had just that exact idea in mind, Slydir. All I need to do is convince myself that my mapping skills aren't total shit enough to do more work on it.

Re: Hideous Destructor [last update dated June 29, 2015]

Posted: Tue Jun 30, 2015 1:16 pm
by RUNSABER
I wouldn't mind contributing a map or two to a Hideous project or working on the same map with multiple authors ala ZDCP! Although I like designing tech bases, something with realism, monster placement with metagame in mind, would be a huge change from what I normally do!

Re: Hideous Destructor [last update dated June 29, 2015]

Posted: Tue Jun 30, 2015 6:29 pm
by Silentdarkness12
A general rule for Hideous Destructor: Avoid, avoid, AVOID oldschool wads. There are some that might work well enough in HD, but many old Doom wads presume that you'll be zipping and zooming all over the place. Not the case in HD.

Newschool wads are a far better place to look. Although it may be best to avoid the popular megawads, which eventually just resort to high enemy counts.

Re: Hideous Destructor [last update dated June 29, 2015]

Posted: Tue Jun 30, 2015 7:54 pm
by Matt
Off the top of my head, here's what needs to be done to create a new weapon in HD:

1. Define the weapon in DECORATE.
2. Go into the ACS and define crosshair, encumbrance, inertia.
3. Spend forever ironing out wrinkles and picking out bugs.

Skipping step 2 would result in aberrant behaviour but would not crash.

So...

Code: Select all

TNT1 A 0 A_ChangeFlag("NOALERT",1)
This won't work. Weapon flags simply cannot be changed dynamically. It is also useless because all weapons in HD are set to noalert and the alert is somewhere else (for the pistol it is in the bullet).

Code: Select all

Ready:
	    TNT1 A 0 A_JumpIfInventory("EquippedSilencer",1,"ReadySilenced",AAPTR_DEFAULT)
		TNT1 A 0 A_JumpIfInventory("HDAltReloading",1,"AltReload",AAPTR_DEFAULT)
...
		AltReload:
		TNT1 A 0 A_JumpIfInventory("EquippedSilencer",1,"RemoveSilencer",AAPTR_DEFAULT)
		TNT1 A 0 A_JumpIfInventory("GotSilencer",1,"AddSilencer",AAPTR_DEFAULT)
		TNT1 A 0 A_Jump(256,"Ready")
There's your problem. You hit alt reload, goes to alt reload state, don't have either "EquippedSilencer" or "GotSilencer", you go back to the ready state which then checks for alt reloading again, causing an infinite loop.

Add a [TNT1 A 0 A_TakeInventory("HDAltReloading",999)] in there before the jump and that should take care of at least that crash.


EDIT: Also, to get this to work, you'll need to add a new bullet actor with the noisemaker lines deleted:
Spoiler:
(Might want to reduce the speed (actually the mass property) as well as the damage (in the A_SetUserVar(user_damage...) for balance purposes. Might.)

Re: Hideous Destructor [last update dated June 29, 2015]

Posted: Tue Jun 30, 2015 8:19 pm
by Silentdarkness12
And judging by the looks of it, i'd need to modify SBARINFO as well. Also, the default HD pistol is still given to the player. I've already redefined the player classes, and put a ClearPlayerClasses and the required AddPlayerClass lines into KEYCONF, and redefined the Loadout actors and starting items where neccessary.

Update: But only on Doomed Guy?......Any particular reason for that?....

Thanks for the memo regarding NOALERT, will keep that in mind.

Okay, the crash is fixed, but now something rather weird. The altreload plain doesn't work now.....

Also, I already have a bullet actor with no noisemaker lines.

Code: Select all

Ready:
	TNT1 A 0 A_TakeInventory("HDAltReloading",999)
	    TNT1 A 0 A_JumpIfInventory("EquippedSilencer",1,"ReadySilenced",AAPTR_DEFAULT)
		TNT1 A 0 A_JumpIfInventory("HDAltReloading",1,"AltReload",AAPTR_DEFAULT)
		TNT1 A 0 A_GiveInventory("HDAltReloader",1,AAPTR_DEFAULT)
		TNT1 A 0 A_JumpIfInventory("Reloading",1,"Reload")
		TNT1 A 0 A_JumpIfInventory("HDPistolMag",1,4)
		TNT1 A 0 A_SetCrosshair(21)
		PISG A 0 A_TakeInventory("IsWeaponReady",999)
		PISG C 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
		goto MagCheck
		PISG A 0 A_GiveInventory("IsWeaponReady",1)
		PISG A 0 A_GiveInventory("IsWeaponPistol",1)
		PISG A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
		goto MagCheck
		ReadySilenced:
		TNT1 A 0 A_TakeInventory("HDAltReloading",999)
			TNT1 A 0 A_JumpIfInventory("HDAltReloading",1,"AltReload",AAPTR_DEFAULT)
		TNT1 A 0 A_GiveInventory("HDAltReloader",1,AAPTR_DEFAULT)
			TNT1 A 0 A_JumpIfInventory("Reloading",1,"Reload")
		TNT1 A 0 A_JumpIfInventory("HDPistolMag",1,4)
		TNT1 A 0 A_SetCrosshair(21)
		SPIL A 0 A_TakeInventory("IsWeaponReady",999)
		SPIL C 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
		goto MagCheckSilenced
		SPIL A 0 A_GiveInventory("IsWeaponReady",1)
		SPIL A 0 A_GiveInventory("IsWeaponPistol",1)
		SPIL A 1 A_WeaponReady(WRF_ALLOWRELOAD|WRF_ALLOWZOOM)
		goto MagCheckSilenced
	MagCheck:
	    TNT1 A 0 A_JumpIfInventory("EquippedSilencer",1,"MagCheckSilenced",AAPTR_DEFAULT)
		PISG A 0 A_GiveInventory("NotShot",1)
		PISG A 0 A_JumpIfInventory("HDPistolMags",1,2)
		TNT1 A 0 A_TakeInventory("HDSecondPistolLoaded",999)
		goto MagCheck2
		PISG A 0 A_JumpIfInventory("HDSecondPistol",1,1)
		goto MagCheck2
		PISG A 0 A_JumpIfInventory("HDSecondPistolLoaded",1,"MagCheck2")
		PISG A 0 A_JumpIfInventory("NotShot",90,"FillSecond")
	MagCheck2:
	    TNT1 A 0 A_JumpIfInventory("EquippedSilencer",1,"MagCheck2Silenced",AAPTR_DEFAULT)
		PISG A 0 A_JumpIfInventory("HDPistolMags",0,"Ready")
		PISG A 0 A_JumpIfInventory("NotShot",210,"FillMag")
		goto Ready
		MagCheckSilenced:
		SPIL A 0 A_GiveInventory("NotShot",1)
		SPIL A 0 A_JumpIfInventory("HDPistolMags",1,2)
		TNT1 A 0 A_TakeInventory("HDSecondPistolLoaded",999)
		goto MagCheck2Silenced
		SPIL A 0 A_JumpIfInventory("HDSecondPistol",1,1)
		goto MagCheck2Silenced
		SPIL A 0 A_JumpIfInventory("HDSecondPistolLoaded",1,"MagCheck2")
		SPIL A 0 A_JumpIfInventory("NotShot",90,"FillSecond")
		MagCheck2Silenced:
		 TNT1 A 0 A_JumpIfInventory("EquippedSilencer",1,"MagCheck2Silenced",AAPTR_DEFAULT)
		PISG A 0 A_JumpIfInventory("HDPistolMags",0,"Ready")
		PISG A 0 A_JumpIfInventory("NotShot",210,"FillMag")
		goto Ready
MOAR EDIT: Also, giving myself the EquippedSilencer inventory flag causes it to crash yet again....

Re: Hideous Destructor [last update dated June 29, 2015]

Posted: Tue Jun 30, 2015 9:15 pm
by Big C
Query: Weren't friendly NPC Riflemen/SWATs/Rocketeers supposed to noclip through walls if they couldn't make their way to you normally? Because they don't seem to do so anymore and it's making testing Morcilette's RECON map a bit more difficult than I was expecting.

Re: Hideous Destructor [last update dated June 29, 2015]

Posted: Wed Jul 01, 2015 12:45 am
by Matt

Code: Select all

TNT1 A 0 A_TakeInventory("HDAltReloading",999)
TNT1 A 0 A_JumpIfInventory("HDAltReloading",1,"AltReload",AAPTR_DEFAULT)
SD, I strongly recommend that you take a look at the code for the ZM66 grenade rifle or one of the other weapons that already has an alt reload to see how it works.

@Big C: The problem is that the warp over to you when they completely lose line of sight with you, then reactivate when the spot they've warped to also loses LOS with you. In a big open area like that that just doesn't happen. :(

Re: Hideous Destructor [last update dated June 29, 2015]

Posted: Wed Jul 01, 2015 1:00 am
by Big C
Vaecrius wrote:

Code: Select all

TNT1 A 0 A_TakeInventory("HDAltReloading",999)
TNT1 A 0 A_JumpIfInventory("HDAltReloading",1,"AltReload",AAPTR_DEFAULT)
SD, I strongly recommend that you take a look at the code for the ZM66 grenade rifle or one of the other weapons that already has an alt reload to see how it works.

@Big C: The problem is that the warp over to you when they completely lose line of sight with you, then reactivate when the spot they've warped to also loses LOS with you. In a big open area like that that just doesn't happen. :(
I just tested with Riflemen in D2M12, D2M4 and D2M10, and they NEVER teleported to me EVER. I'm not sure if I'm doing something to break them or what, but I swear they're not following me---they keep walking into walls near the start of the level where I console-spawned them. I distinctly remember in a prior version they could follow me prettymuch all over D2M12.

Re: Hideous Destructor [last update dated June 29, 2015]

Posted: Wed Jul 01, 2015 2:00 am
by Matt
Are you sure hd_nobots is on? The walking into walls makes me think you're looking at the zcajun bots...