Newbie Modder

Advanced OpenGL source port fork from ZDoom, picking up where ZDoomGL left off.
[Home] [Download] [Git builds (Win)] [Git builds (Mac)] [Wiki] [Repo] [Bugs&Suggestions]

Moderator: Graf Zahl

Planky
Posts: 25
Joined: Sun Sep 04, 2005 8:41

Post by Planky »

Legacy 2.0 has been making steady progress for the past year. Alot of work has gone in to making it more compatible with other ports. Smite even added highres sprite support for you. You seem quite able to ignore whats been done, just so you can hold on to your moaning :p
Good news. DeiMWolf appears to work in GZDooM, even with no converting!
Luckily DeiMWolf isn't too Legacy specific, so most of your mods should work. With all the maps I create for legacy (despite never finishing/releasing them), I make sure I don't use anything that would prevent it working in gzdoom.
The changing of the viewheight even works via scripting, although it does not work though the console. How strange.
That is strange, because the only way you can change the viewheight with FS is by using runcommand (viewheight is a console command, not an fs function), which, as Graf stated, isn't in gzdoom.

I would suggest using gzdooms dynamic lights, much better than Legacy's coronae (nor would I want gzdoom to have them)
User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Post by Graf Zahl »

Boingo the Clown wrote: <<EDIT: Good news. DeiMWolf appears to work in GZDooM, even with no converting! The changing of the viewheight even works via scripting, although it does not work though the console. How strange.
Not strange. I added some code to support commonly used Legacy console commands to the FS parser but these are not real console commands. FS cannot access the console directly - mostly for security reasons.
Treasure items do not appear. I expected this however, since these were all created with nonstandard hack editing for Legacy. I am certain I can get back using the DECORATE lump.
I have seen that you used some frame indices larger than the maximum in Doom. By default you can't access them indeed and the only method to do so is not guaranteed to be future-proof due to ZDoom so I won't explain it.

Food (stimpack) does not appear. That was a surprise.

Hyperdrive dogs: Somebody has been feeding these puppies way too much sugar.
What exactly did you do here? If I knew more maybe I could help?
User avatar
Boingo the Clown
Posts: 102
Joined: Sat Dec 03, 2005 17:40
Location: North of New York, West of Montreal, East of Toronto, and South of Hell
Contact:

Post by Boingo the Clown »

Graf Zahl wrote:I have seen that you used some frame indices larger than the maximum in Doom. By default you can't access them indeed and the only method to do so is not guaranteed to be future-proof due to ZDoom so I won't explain it.
That is the nonstandard hack editing I was talking about. After asking the Legacy team to expand the thing table and frame table for over three and a half years, I discovered that I could hack into Legacy's Heretic tables by editing my hack patches by hand, allowing me to use Heretic's things, frames, and code pointers. Hence, this became the way I started getting around Legacy's sprite and frame table limitations. The Ultimate Chex Quest makes extensive use of my Heretic hacking. All of the things that do not appear are from Legacy's Heretic tables. That is why I said I was not surprised.
Boingo wrote:Food (stimpack) does not appear. That was a surprise.
It's not a surprise anymore. I now remember what I did.

DeiMWolf was originally supposed to be an Easter egg hidden inside DeiM (hence the name), which has been on hold for the last 2 1/2 years while waiting for Legacy 2.0 to come out (!). Since the stimpack is used in DeiM, I could not replace it with food, so I used the Heretic crystal vial for the food instead. Like all of the Heretic things, it does not appear.

Since DeiMWolf is no longer part of DeiM, all I have to do is switch back to using the stimpack.

Graf Zahl wrote:
Boingo wrote:Hyperdrive dogs: Somebody has been feeding these puppies way too much sugar.
What exactly did you do here? If I knew more maybe I could help?
Don't worry. It is not a major problem. The dogs were sped up in Legacy to make them match the speed of the original dogs in Wolfenstein 3D. The dogs' hyperspeed is simply caused by diffeneces in timing between Legacy and GZDooM. All I have to do is tinker with the hacks until I get the dogs back to their intended speed.

I have already converted most of the large flats over to textures, as advised in the other thread. Things are going well.
User avatar
Boingo the Clown
Posts: 102
Joined: Sat Dec 03, 2005 17:40
Location: North of New York, West of Montreal, East of Toronto, and South of Hell
Contact:

Post by Boingo the Clown »

I just tried high res sprites, and I can only say ...

SUH--WEEEEEEEEEEEEET!!!!!

After six years of waiting for the Legacy team to get around to implenting them, I must say that seeing them at long last is like food to a starving man.

You've got a happy camper here now!

I do have a problem though.

In order to get my pickups to work (treasure), the ZDooM Wiki says,
NOTE 2: Power-ups made from DECORATE must have a special or you won't even be able to pick it up! If you don't want it to do anything except the ability to pick it up, give it the HealThing special with a 0 as the parameter!
but I can not find any information on how to do this. I know it probably has something to do with ACS script, but that's it. I have never used ACS either.

Can somebody please give me the information I need to take care of this?
User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Post by Graf Zahl »

The ZDoom Wiki still describes the old-style powerups. GZDoom implements everything from the unofficial build which includes real powerups that don't have this restriction.

There is currently no real documentation on the ZDoom Wiki but if you click on the inventory items on this list ( http://www.zdoom.org/wiki/index.php?tit ... class_list ) you will see a default implementation you can copy and use in GZDoom.

If you need something specific please describe what you need and I'll make it for you.
User avatar
Boingo the Clown
Posts: 102
Joined: Sat Dec 03, 2005 17:40
Location: North of New York, West of Montreal, East of Toronto, and South of Hell
Contact:

Post by Boingo the Clown »

Still no luck.

Details coming shortly.
AFADoomer
Posts: 43
Joined: Fri Sep 02, 2005 3:23

Post by AFADoomer »

This is a partial DECORATE from my Wolf3D TC that you may find useful... All pickup items from the original game are included (except for weapons and ammo). They all work as in the original, provided the sprites are there (except that there's no max number of lives implemented properly yet).

The keys are hacky, and just use the original Doom keys.

My treasure pieces run scripts to add to the score, and the life runs a script to add to the score, life counter, and ammo.


[spoiler]

Code: Select all

//Pickups in Wolfenstein 3D

ACTOR DogFood : Health 21029
{
	+AUTOACTIVATE
	Inventory.Amount 4
	Inventory.MaxAmount 100
	Inventory.PickupSound "pickups/food"
	Inventory.PickupMessage "Dog Food"
	States
	{
	Spawn:
		HLTH C -1
		Loop
	}
}

ACTOR YellowKey : Inventory 21043
{
	+AUTOACTIVATE
	Inventory.Amount 1
	Inventory.PickupSound "pickups/key"
	Inventory.PickupMessage "Yellow Key"
	States
	{
	Spawn:
		KEYS A -1
		Loop
	Pickup:
		KEYS A 0 A_GiveInventory("YellowCard", 1)
	}
}

ACTOR BlueKey : Inventory 21044
{
	+AUTOACTIVATE
	Inventory.Amount 1
	Inventory.PickupSound "pickups/key"
	Inventory.PickupMessage "Blue Key"
	States
	{
	Spawn:
		KEYS B -1
		Loop
	Pickup:
		KEYS B 0 A_GiveInventory("BlueCard", 1)
	}
}

ACTOR PlateofFood : Health 21047
{
	+AUTOACTIVATE
	Inventory.Amount 10
	Inventory.MaxAmount 100
	Inventory.PickupSound "pickups/food"
	Inventory.PickupMessage "Plate of Food"
	States
	{
	Spawn:
		HLTH D -1
		Loop
	}
}

ACTOR FirstAidKit : Health 21048
{
	+AUTOACTIVATE
	Inventory.Amount 25
	Inventory.MaxAmount 100
	Inventory.PickupSound "pickups/medkit"
	Inventory.PickupMessage "First-Aid Kit"
	States
	{
	Spawn:
		HLTH E -1
		Loop
	}
}

ACTOR Cross : Inventory 21052
{
	+COUNTITEM
	+AUTOACTIVATE
	Inventory.DefMaxAmount
	Inventory.PickupSound "pickups/cross"
	Inventory.PickupMessage "Cross"
	States
	{
	Spawn:
		TREA A -1
		Loop
	Pickup:
		TREA A 0 ACS_ExecuteAlways(700, 0, 100)
		Stop
	}
}

ACTOR Chalice : Inventory 21053
{
	+COUNTITEM
	+AUTOACTIVATE
	Inventory.DefMaxAmount
	Inventory.PickupSound "pickups/cup"
	Inventory.PickupMessage "Chalice"
	States
	{
	Spawn:
		TREA C -1
		Loop
	Pickup:
		TREA C 0 ACS_ExecuteAlways(700, 0, 500)
		Stop
	}
}

ACTOR Chest : Inventory 21054
{
	+COUNTITEM
	+AUTOACTIVATE
	Inventory.DefMaxAmount
	Inventory.PickupSound "pickups/chest"
	Inventory.PickupMessage "Chest"
	States
	{
	Spawn:
		TREA D -1
		Loop
	Pickup:
		TREA D 0 ACS_ExecuteAlways(700, 0, 500)
		Stop
	}
}

ACTOR Crown : Inventory 21055
{
	+COUNTITEM
	+AUTOACTIVATE
	Inventory.DefMaxAmount
	Inventory.PickupSound "pickups/crown"
	Inventory.PickupMessage "Crown"
	States
	{
	Spawn:
		TREA B -1
		Loop
	Pickup:
		TREA B 0 ACS_ExecuteAlways(700, 0, 5000)
		Stop
	}
}

ACTOR Life : Inventory 21056
{
	+COUNTITEM
	+AUTOACTIVATE
	Inventory.Amount 1
	Inventory.DefMaxAmount
	Inventory.PickupSound "pickups/life"
	Inventory.PickupMessage "Extra Life"
	States
	{
	Spawn:
		LIFE A -1
		Loop
	Pickup:
		LIFE A 0 ACS_ExecuteAlways(902, 0, 0)
		Fail
	}
}

ACTOR BoneswithBlood : Health 21057
{
	+AUTOACTIVATE
	Inventory.Amount 1
	Inventory.MaxAmount 10
	Inventory.PickupSound "slurpie"
	Inventory.PickupMessage "Bloody Bones"
	States
	{
	Spawn:
		HLTH B -1
		Loop
	}
}

ACTOR PoolofBlood : Health 21061
{
	+AUTOACTIVATE
	Inventory.Amount 1
	Inventory.MaxAmount 10
	Inventory.PickupSound "slurpie"
	Inventory.PickupMessage "Pool of Blood"
	States
	{
	Spawn:
		HLTH A -1
		Loop
	}
}
[/spoiler]

[edit] to add spoiler tags...[/edit]
User avatar
Enjay
Developer
Developer
Posts: 4748
Joined: Tue Aug 30, 2005 23:19
Location: Scotland
Contact:

Post by Enjay »

Boingo the Clown wrote:I discovered that I could hack into Legacy's Heretic tables by editing my hack patches by hand, allowing me to use Heretic's things, frames, and code pointers. Hence, this became the way I started getting around Legacy's sprite and frame table limitations.
That's not too different in principle to the non-future proof method for GZDoom that Graf mentioned. Basically you compile an unofficial version of the DEHSUPP lump from GZdoom.pk3 to expand the table to include Heretic (etc) entries. That then gives you access to them via a dehacked lump.

However, as Graf said, it's not future proof because any change in the dehsupp lump distributed with Zdoom/GZdoom means that newer versions will stop recognising your modified lump. It's happened already. Quite a few mods were made based on an expanded dehsupp lump compiled by Grubber. However, a very minor change to the official one rendered them all useless. DECORATE is the way to go. Of course, DECORATE wasn't as flexible as it is now when the dehsupp idea first surfaced, which was why it was embraced so readily.
User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Post by Graf Zahl »

Enjay wrote: However, a very minor change to the official one rendered them all useless.

Changes to the DEHSUPP lump are irrelevant. What happened here was that 2 puff types from Heretic's Dragon Claw were merged together to get rid of some awful code. Too bad that the DEHSUPP lump referenced everything and not just the items that might have been useful.
User avatar
Enjay
Developer
Developer
Posts: 4748
Joined: Tue Aug 30, 2005 23:19
Location: Scotland
Contact:

Post by Enjay »

Ah, OK. So if the dehsupp lump has an item that Zdoom doesn't know about (or no longer knows about in this case) that's what breaks it?
User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Post by Graf Zahl »

Indeed.
User avatar
Boingo the Clown
Posts: 102
Joined: Sat Dec 03, 2005 17:40
Location: North of New York, West of Montreal, East of Toronto, and South of Hell
Contact:

Post by Boingo the Clown »

Many thanks AFADooMer. I will try copying the text you have provided, and tinker with it, and see what happens.

...................................................

I have certainly been having fun with converting several of the scenery objects over to high res, with some gorgeous results for some of them.

What I am really looking forward to is doing the NAZIs and guard dogs in a higher resolution. Even with DeiM metrics, I found that it is almost impossible to normal proportioned human at normal DooM resolution. Simply doubling the resolution would make all the difference in the world.

Obviously, it would probably be in the best interest of the project to go no higher than double resolution for characters, since this would bloat the wad to an unacceptable siz in a hurry.

Question: What is the maximum height for a sprite graphic in GZDooM? Wintex will not let me add ones taller than 200 pixels tall. Is that just a limit for Wintex, or one that is true in GZDooM as well?

Also ... How does one add dynamic lights, and is it possible to attach them to certain objects? (i.e. Fixing it so that every ceiling light will cast a light.)
NecroMage
Posts: 58
Joined: Sun Sep 11, 2005 20:31
Location: nj
Contact:

Post by NecroMage »

Boingo the Clown wrote:Question: What is the maximum height for a sprite graphic in GZDooM? Wintex will not let me add ones taller than 200 pixels tall. Is that just a limit for Wintex, or one that is true in GZDooM as well?
I can probably answer this one. Wintex is know for setting limits and I do believe this is one of those cases. As far as I know gzdoom should have no problems with a sprite any size untill you run out of memory.
User avatar
wildweasel
DRD Team Admin (Inactive)
Posts: 2132
Joined: Wed Jun 29, 2005 22:00
Location: the Admincave!
Contact:

Post by wildweasel »

I personally have gotten sprites up to 480 pixels tall to work in GZDoom (scaled down), but I used XWE to import them.
User avatar
Graf Zahl
GZDoom Developer
GZDoom Developer
Posts: 7148
Joined: Wed Jul 20, 2005 9:48
Location: Germany
Contact:

Post by Graf Zahl »

Sprites can be as high as the hardware allows. For most modern card that means 4096 pixel.
But if you are concerned about high resolution better use PNGs with a custom palette. Even the highest resolution sprites will suffer from color reduction when converted to the Doom palette.
Locked

Return to “GZDoom”