Duke4.net Forums: [RELEASE] Cosmetic Duke version 1.5 is up! [MERGED THREAD] - Duke4.net Forums

Jump to content

  • 2 Pages +
  • 1
  • 2
  • You cannot start a new topic
  • This topic is locked

[RELEASE] Cosmetic Duke version 1.5 is up! [MERGED THREAD]

#1

The aim of this mod is to enhance DN3D visuals, audio quality, add QoL changes and fix some bugs. Mods like Duke Plus or Nuclear Showdown, while great, interfere with mentioned balance in a significant way and HRP style packs (adding high resolution textures etc. to old games) never resonated with me - I always preferred the graphics quality closer to the original. This is the reason I made Cosmetic Duke.

Primary resources / inspirations:
HQ Sound Effects by Per Kristian Risvik
Duke Nukem 3D PSX Sound Effects by Marphy Black
Nuclear Showdown by Jblade35
Widescreen status bar by Fox
Duke Nukem 3D Megaton Edition
Duke Nukem 3D World Tour

Primary helpers:
Trooper Dan
Jblade35
Mblackwell
Hendricks266

Sounds were taken from the following games:
Duke Nukem 3D World Tour, Duke Nukem Forever, Duke Nukem: Manhattan Project, No One Lives Forever 1 and 2, Fallout 3 and 4, Half-Life 2, Max Payne 1 and 2, Painkiller, Unreal, Unreal Tournament 2004, Wolfenstein: The Old Blood, Call of Duty, Doom 3, System Shock 2, Soldier of Fortune

Version 1.5 changes

I'd like to thank Trooper Dan for the huge help provided during the development of this version!

Spoiler


Addon changes:

Spoiler



Links:

Cosmetic Duke
http://www.mediafire...c8/CosmDuke.zip

Cosmetic Duke: Caribbean
http://www.mediafire...e_Caribbean.zip

Cosmetic Duke: Nuclear Winter
http://www.mediafire...uke_NWinter.zip


BDP The Gate, Secrets of the Acropolis, 25th Century Duke and Murder: the EDF Conspiracy compatible with Cosmetic Duke:

The Gate / BDP
http://www.mediafire...BDPCosmDuke.zip

Secrets of the Acropolis
http://www.mediafire...OTACosmDuke.zip

25th Century Duke
http://www.mediafire...5thCosmDuke.zip

Murder: The EDF Conspiracy
http://www.mediafire...EDFCosmDuke.zip


IMPORTANT!: BDP: The Gate and Secrets of the Acropolis are no longer supported outside of NightFright's EDUKE32 ADDON PACK!! Use NightFright's EDUKE32 ADDON PACK versions of the TCs!!

It took too much time to keep the other versions updated, especially as I am adding new TCs to be supported by Cosmetic Duke.



Screenshots:

Spoiler


Have fun!

This post has been edited by December Man: 23 May 2017 - 05:19 PM

9

User is offline   Sanek 

#2

Tested it on E4L2 (Duke Burger).
Overall, it's a nice little mod, which makes the old stuff feel different, but the majority of sounds is very odd to my ears, and I guess that player needs much more time to get used to it than usual. The thing I like the most is that music comes on every time when I've found the secret (just like in Manhattan Project!).
0

User is offline   FistMarine 

#3

edit

This post has been edited by FistMarine: 11 December 2016 - 06:19 AM

0

User is offline   Danukem 

  • Duke Plus Developer

#4

I admit I have not tried this yet but it sounds very good. As long as it stays disciplined (i.e. not like DukePlus *cough *cough) and is only cosmetic with no HD, then it will remain a valuable add-on which could also be the basis of a bigger mod. I think there is also plenty more that could be added to it while staying cosmetic.

There's a few things I have done in other mods which I would be happy to contribute. For example, improving the appearance of projectiles (using only the original art), making frozen enemies look like they are encased in ice rather than just blue (again, only original art), and giving ducking pigcops and liztroops correct hitboxes. I know there are many other fixes and some other cosmetic enhancements out there which would fit our mod and you could add-in.

If you continue to develop this it could become a must-have add-on for anyone who wants to play vanilla Duke without the HRP. I would advise being cautious with sounds replacements, though. They are a big part of the "soul" of the game and if you change them too much it's going to feel wrong.
0

#5

View PostFistMarine, on 06 February 2016 - 03:17 AM, said:

Cosmetic Doom


Heh, that's my mod too :)

View PostTrooper Dan, on 06 February 2016 - 08:25 AM, said:

I admit I have not tried this yet but it sounds very good. As long as it stays disciplined (i.e. not like DukePlus *cough *cough) and is only cosmetic with no HD, then it will remain a valuable add-on which could also be the basis of a bigger mod. I think there is also plenty more that could be added to it while staying cosmetic.

There's a few things I have done in other mods which I would be happy to contribute. For example, improving the appearance of projectiles (using only the original art), making frozen enemies look like they are encased in ice rather than just blue (again, only original art), and giving ducking pigcops and liztroops correct hitboxes. I know there are many other fixes and some other cosmetic enhancements out there which would fit our mod and you could add-in.


I personally am rather talentless when it comes to graphics, that's why most of my changes are SFX. However, if you are eager to contribute in the matters you mentioned, I would welcome you with open arms :dukeaffirmative:

View PostTrooper Dan, on 06 February 2016 - 08:25 AM, said:

If you continue to develop this it could become a must-have add-on for anyone who wants to play vanilla Duke without the HRP. I would advise being cautious with sounds replacements, though. They are a big part of the "soul" of the game and if you change them too much it's going to feel wrong.


I understand that, that's why I try to limit the replacement sounds to pick ups. All the others are either HQ versions of the old sounds or SFX which sound very similar. My ultimate goal would be to somehow find all the original HQ files of the sounds. I try to contact PerKristian, who found some of the sounds, however he does not respond to my e-mail.
0

User is offline   FistMarine 

#6

edit

This post has been edited by FistMarine: 11 December 2016 - 06:19 AM

0

#7

View PostFistMarine, on 07 February 2016 - 12:13 AM, said:

EDIT: What do you think of the ideas I mentioned above?


I don't think I'll be adding new lines - I only wanted to replace low quality lines with HQ lines. Though I'm not saying no.
0

#8

It would be a nice aesthetics update reimplement some beta frames discarded in the final game http://hendricks266....d3dbeta_art.php

This post has been edited by Fantinaikos: 13 February 2016 - 02:46 PM

-1

User is offline   Hendricks266 

  • Weaponized Autism

  #9

Like what exactly? You'll need a better reason than "beta is betta".
0

#10

View PostHendricks266, on 13 February 2016 - 02:23 PM, said:

Like what exactly? You'll need a better reason than "beta is betta".


I was referring to some frame of animations that you posted on your site. For ex the more fluid death animations are cool.


I never say "final game sucks" why you making this up :dukeaffirmative:

This post has been edited by Fantinaikos: 13 February 2016 - 02:42 PM

0

User is offline   Hendricks266 

  • Weaponized Autism

  #11

The death animations have the same number of frames. They just lack blood.
0

#12

View PostHendricks266, on 13 February 2016 - 02:38 PM, said:

The death animations have the same number of frames. They just lack blood.


Indeed. However, there is a possibility that they can be used for different causes of death, although we here go into more in the context of realism than of aesthetics.
0

#13

Bumping since 1.1 is up.
0

#14

Bumping since 1.2 is up.
0

#15

Bumping since 1.3 is up.
0

#16

Bumping since 1.4 is up.
3

User is offline   Danukem 

  • Duke Plus Developer

#17

I finally got around to trying this with 1.4 release. I like it! I am starting on a mini-project, which is putting together a bundle of modifications which can be used as a base when I make mods in the future. The idea is to have a base that already has some noncontroversial cosmetic improvements and bug fixes/improvements, so that I don't have to keep doing stuff from scratch.

So, naturally I am interested in your mod because it could form a large part of that base package.

There's a few things I am going to note/suggest right away. Take a look at this screen:

Posted Image

Your add-on inventory display covers part of the hud when the screen size is the largest that shows the hud. Also, I really don't like having the spent shell casings billow smoke. Shell casings do not do that, and it looks wrong. There is some smoke that comes from the ejection port on the gun itself, but it does not continue to come out of the casings. Take a look at this video for reference:



Another thing not pictured in the screens is the jibs. I think it's good that you have chunks staying on the ground, although I didn't check as to whether they eventually disappear. They should either be linked to the deletion queue system, or they should just be actors that delete on their own after a while. Cosmetically, though, I have an issue because when the chunks hit the ground, a bunch of JIBS6 shoot upwards, and imo it looks bad. Maybe your intention was to make a splash, but imo it's not necessary and just looks cheesy.

Overall I'm really enjoying this and look forward to seeing and/or helping with future improvements. Most of the features I really like, and I'm not listing them simply because it's too much to list.
1

#18

I endorse this fully
0

#19

View PostTrooper Dan, on 23 April 2017 - 02:12 PM, said:

Your add-on inventory display covers part of the hud when the screen size is the largest that shows the hud.


Derp. This was to enhance the classic mini hud, but I forgot about the new eDuke32 mini hud. Dunno, if it's possible to make it classic only (is there a Userdef for it?). At worst I'll just remove the HQ items and leave the Pistol mag counter.

View PostTrooper Dan, on 23 April 2017 - 02:12 PM, said:

Also, I really don't like having the spent shell casings billow smoke. Shell casings do not do that, and it looks wrong. There is some smoke that comes from the ejection port on the gun itself, but it does not continue to come out of the casings.


The only thing I'd change is the smoke sprite, but couldn't find a better one, at least as of yet. I know it isn't realistic, but I like it.

View PostTrooper Dan, on 23 April 2017 - 02:12 PM, said:

Another thing not pictured in the screens is the jibs. I think it's good that you have chunks staying on the ground, although I didn't check as to whether they eventually disappear. They should either be linked to the deletion queue system, or they should just be actors that delete on their own after a while.


They all have insertspriteq set.

View PostTrooper Dan, on 23 April 2017 - 02:12 PM, said:

Cosmetically, though, I have an issue because when the chunks hit the ground, a bunch of JIBS6 shoot upwards, and imo it looks bad. Maybe your intention was to make a splash, but imo it's not necessary and just looks cheesy.


I know it looks over the top and cheesy but, again, I like it. I wanted to emulate Blood, since it had a very similar thing happen - jibs hitting the floor and having large chunks of blood fly around.

View PostTrooper Dan, on 23 April 2017 - 02:12 PM, said:

Overall I'm really enjoying this and look forward to seeing and/or helping with future improvements. Most of the features I really like, and I'm not listing them simply because it's too much to list.


Thank you very much. If you check the coding, most of it is slapped together rather clumsily (and could be optimized - I might do it at some point), since I'm almost purely self-taught by just looking at the coding in some of the mods. I have plenty of ideas, but no idea as how to code them e.g. a simple thing such as changing the Tripbomb laser to an animated one (like in Duke 64 mod) or a decal left on walls / floors after an explosion (like in Weapons of Mass Destruction). I find the code, but utterly fail to make it work in Cosmetic Duke. The only game I can mod in a significant way is Doom, since the programming language there is so incredibly simple anyone could do it.
0

User is offline   Danukem 

  • Duke Plus Developer

#20

View PostDecember Man, on 24 April 2017 - 02:07 PM, said:

Derp. This was to enhance the classic mini hud, but I forgot about the new eDuke32 mini hud. Dunno, if it's possible to make it classic only (is there a Userdef for it?). At worst I'll just remove the HQ items and leave the Pistol mag counter.


Couldn't you just move the HQ items to a different position on the screen when the EDuke32 mini hud is on?


View PostDecember Man, on 24 April 2017 - 02:07 PM, said:

The only thing I'd change is the smoke sprite, but couldn't find a better one, at least as of yet. I know it isn't realistic, but I like it.


Heh, that sounds like something I would say.


View PostDecember Man, on 24 April 2017 - 02:07 PM, said:

I know it looks over the top and cheesy but, again, I like it. I wanted to emulate Blood, since it had a very similar thing happen - jibs hitting the floor and having large chunks of blood fly around.


I get it, but it could look better. Maybe if I get some time, I could come up with something.

View PostDecember Man, on 24 April 2017 - 02:07 PM, said:

a simple thing such as changing the Tripbomb laser to an animated one (like in Duke 64 mod)


That shouldn't require any coding. You could replace the laser line sprite with a different sprite that has animation on it (the animation parameters can be set either in an .art file if the new tiles are included that way, or in a content definition line if the new tiles are included as PNG images).

View PostDecember Man, on 24 April 2017 - 02:07 PM, said:

or a decal left on walls / floors after an explosion (like in Weapons of Mass Destruction). I find the code, but utterly fail to make it work in Cosmetic Duke. The only game I can mod in a significant way is Doom, since the programming language there is so incredibly simple anyone could do it.


There are folks around here (myself included) happy to help with stuff like that.
0

#21

View PostTrooper Dan, on 24 April 2017 - 06:34 PM, said:

That shouldn't require any coding. You could replace the laser line sprite with a different sprite that has animation on it (the animation parameters can be set either in an .art file if the new tiles are included that way, or in a content definition line if the new tiles are included as PNG images).


I tried to do it, but somehow I miss something and it doesn't work. I define the new laser in cosmdefs.con, then add the pngs to the def file with animtilerange and it doesn't work.
0

User is offline   Danukem 

  • Duke Plus Developer

#22

View PostDecember Man, on 25 April 2017 - 01:23 PM, said:

I tried to do it, but somehow I miss something and it doesn't work. I define the new laser in cosmdefs.con, then add the pngs to the def file with animtilerange and it doesn't work.


If you are doing everything right, I can only assume that the game is doing some hardcoded shit which bypasses the animation system when displaying the laser line. It might be possible to force the animation in EVENT_ANIMATESPRITES by adding the laser line sprites to the tsprite array and then manually cycling their tdispicnum tsprpicnum.

It doesn't look like you included the tile replacements in what you released, otherwise I would have tried that just now.

This post has been edited by Trooper Dan: 26 April 2017 - 12:34 AM
Reason for edit: mistake

0

#23

View PostTrooper Dan, on 25 April 2017 - 09:34 PM, said:

If you are doing everything right, I can only assume that the game is doing some hardcoded shit which bypasses the animation system when displaying the laser line. It might be possible to force the animation in EVENT_ANIMATESPRITES by adding the laser line sprites to the tsprite array and then manually cycling their tdispicnum tsprpicnum.

It doesn't look like you included the tile replacements in what you released, otherwise I would have tried that just now.


Here are the PNGs I wanted to use:

http://www.mediafire...p/laserline.zip

<edit>
Also, for anyone curious, I re-uploaded BDP The Gate with a hotfix for a sound issue.

This post has been edited by December Man: 26 April 2017 - 02:41 PM

0

User is offline   Danukem 

  • Duke Plus Developer

#24

Ok, I got it working. Here's what you need:

tilefromtexture 7078 { file "art/7078.png" }
tilefromtexture 7079 { file "art/7079.png" }
tilefromtexture 7080 { file "art/7080.png" }



In EVENT_GAME or EVENT_SPAWN, you will need this:

	ifactor LASERLINE
		seta[].mdflags 16


Also these vars:

gamevar countvar 0 2
gamevar LASERTILE 0 0


Note that any per-actor var would do in the place of countvar, but I noticed you have tons of vars with names like TEMP2 which are per-actor. I don't like using "temp" vars for per-actor stuff -- a temp var should be global or per-player so that it doesn't use as much memory; it doesn't need to have a copy saved for every sprite in the game unless you are using it that way, and if you are then you should rename them imo.

Here's the last code:

onevent EVENT_ANIMATESPRITES

gettspr[].tsprowner TEMP
ife sprite[TEMP].picnum LASERLINE
{
	getp[].player_par TEMP2
	ifn TEMP2 countvar
	{
		set countvar TEMP2
		add LASERTILE 1
		ife LASERTILE 7081 set LASERTILE 7078
	}
	settspr[].tsprpicnum LASERTILE
}

endevent


I tested it and it works.
1

#25

View PostTrooper Dan, on 27 April 2017 - 10:02 AM, said:

Ok, I got it working. Here's what you need:

tilefromtexture 7078 { file "art/7078.png" }
tilefromtexture 7079 { file "art/7079.png" }
tilefromtexture 7080 { file "art/7080.png" }



In EVENT_GAME or EVENT_SPAWN, you will need this:

	ifactor LASERLINE
		seta[].mdflags 16


Also these vars:

gamevar countvar 0 2
gamevar LASERTILE 0 0


Note that any per-actor var would do in the place of countvar, but I noticed you have tons of vars with names like TEMP2 which are per-actor. I don't like using "temp" vars for per-actor stuff -- a temp var should be global or per-player so that it doesn't use as much memory; it doesn't need to have a copy saved for every sprite in the game unless you are using it that way, and if you are then you should rename them imo.

Here's the last code:

onevent EVENT_ANIMATESPRITES

gettspr[].tsprowner TEMP
ife sprite[TEMP].picnum LASERLINE
{
	getp[].player_par TEMP2
	ifn TEMP2 countvar
	{
		set countvar TEMP2
		add LASERTILE 1
		ife LASERTILE 7081 set LASERTILE 7078
	}
	settspr[].tsprpicnum LASERTILE
}

endevent


I tested it and it works.



I copy pasted everything and then checked if I had screwed up somewhere, but something is wrong. Instead of the laser, it displays all of the sprites in the game - it scrolls through them at lightning speed. Dunno, I probably missed something.
0

User is offline   Danukem 

  • Duke Plus Developer

#26

View PostDecember Man, on 27 April 2017 - 02:49 PM, said:

I copy pasted everything and then checked if I had screwed up somewhere, but something is wrong. Instead of the laser, it displays all of the sprites in the game - it scrolls through them at lightning speed. Dunno, I probably missed something.


Sorry, my mistake. LASERTILE should be initialized to the first of the laser tiles, not 0. So the var declaration should look like this:

gamevar LASERTILE 7078 0
1

#27

Yes, now it works! Thank you so much!

<edit>
It seems the laser cuts off too soon. The original started a small distance away from the tripbomb and ended a small distance away from the opposite wall. Here it starts directly at the tripbomb, but ends too soon and then starts again (there is a gap in the laser). When placed in a narrow corridor, the laser just cuts off halfway through. Can this be remedied?

This post has been edited by December Man: 28 April 2017 - 02:40 AM

0

User is offline   Danukem 

  • Duke Plus Developer

#28

Make sure that your replacement tiles have the exact dimensions of the original laser, and have exactly the same offsets. You can add offsets via the tilefromtexture command, if needed.
1

#29

Yep, it was the xoffset! Thanks much!
0

#30

View PostTrooper Dan, on 27 April 2017 - 10:02 AM, said:


Note that any per-actor var would do in the place of countvar, but I noticed you have tons of vars with names like TEMP2 which are per-actor. I don't like using "temp" vars for per-actor stuff -- a temp var should be global or per-player so that it doesn't use as much memory; it doesn't need to have a copy saved for every sprite in the game unless you are using it that way, and if you are then you should rename them imo.


Ok, so which TEMP variables should I rename? A lot of them are attached to footstep sounds and HUD elements. What is the maximum number of TEMP variables a mod should have?
0

Share this topic:


  • 2 Pages +
  • 1
  • 2
  • You cannot start a new topic
  • This topic is locked


All copyrights and trademarks not owned by Voidpoint, LLC are the sole property of their respective owners. Play Ion Fury! ;) © Voidpoint, LLC

Enter your sign in name and password


Sign in options