EDF Weapon Progress

Some preamble: So you may have heard me ranting on about it, but I've been gradually pegging away at EDF weapons. In the wake of a personal tragedy last week, I went to see my doc and she told me I should take a break and rest, and working on Eternity is my version of rest.

 

Since yesterday I've been making rapid progress, and now have some stuff that I can show off. Below is a clip showcasing EDF weapons, in which I've messed around with the attackstate and upsounds of weapons. Later on I'll make a video sf something that actually looks more like a demo of a weapon, and less like I just kinda threw stuff at the wall and wanted to see what'd stick.

 

TODO:

  • Fix counters
  • Remove temporary hard-coding (partially done, a lot to go)
  • Remove old hard-coding (partially done)
  • Implement deltas
  • Hook weapongivers and their ammo given up to weapons (done, except for ammo given)
  • Add Heretic weapon codepointers (70% done)
  • Allow picking up of new weapons (big end-goal)
  • Implement inheritance
  • Add DECORATE state syntax support
  • Automate generation of weapon trackers
  • Probably other stuff I'm forgetting

 

 

I'll be updating this post semi-frequently. Times are BST (hopefully we'll not see GMT before this is finished).

 

If you have any questions, please ask and I'll be more than happy to answer.

 

2017/04/10, 15:45: I might stream some development in the evening today at https://www.twitch.tv/altazimuth, depending on how long passover drags. I'll update if that's the case. I plan on making weapon tracking work with EDF, instead of the old method.

 

2017/04/11, 01:00: I just finished streaming, forgot to update the thread with that, but the VOD is available. I managed to gut the old tracking system (i.e. an array of bools) and replace it with tracker artefacts that are tied to the weaponinfo: https://github.com/team-eternity/eternity/commit/94aa6e2b8c9d62a9889281be70bf1d413a769e7f

 

2017/04/12, 14:35: IDKFA and IDFA will now give the player weapons of only their class, as opposed to ALL weapons: https://github.com/team-eternity/eternity/commit/152c96735573776bc12403cc7ab00bd3c5dd764c

You still can't switch to those weapons, but I'm hoping to get that done by the end of the day.

 

2017/04/12, 17:45: You should be able to define brand new weapons and cheat them in now.

Edited by Altazimuth
6 people like this

Posted (edited)

Share this post


Link to post

2017/04/12, 22:40: Double posting because major breakthrough: Got Heretic weapons partially working, you can see me select non-melee (melee crashes atm) and it updates the ammo image in the gif below:

Spoiler

V5zDVT0.gif

 

Edited by Altazimuth
1 person likes this

Posted (edited)

Share this post


Link to post
On lundi 10 avril 2017 at 4:46 PM, Altazimuth said:

Since yesterday I've been making rapid progress, and now have some stuff that I can show off. Below is a clip showcasing EDF weapons, in which I've messed around with the attackstate and upsounds of weapons. Later on I'll make a video sf something that actually looks more like a demo of a weapon, and less like I just kinda threw stuff at the wall and wanted to see what'd stick.

This is historic: the first Eternity jokewad! :p

Share this post


Link to post

2017/04/14, 13:45: More gif goodness, just messing around with actual frame defintions, though in the end this'll be done with DECORATE state syntax.

Spoiler

TyyH4Km.gif

 

Edited by Altazimuth
1 person likes this

Posted (edited)

Share this post


Link to post

2017/04/14, 23:50: Yet another doublepost, which coincides with another major breakthrough. Inheritance is semi-working! The colon syntax isn't working for a mysterious reason. Below is a weapon that inherits from the pistol, but turns into a shotgun when shot. This comes after a major overhaul of weaponinfo processing; hopefully DECORATE states should come next.
 

Spoiler

TZe05Fx.gif

 

2017/04/15, 00:25: Colon syntax is working, don't work with pointers past your bed-time, kids.

 

2017/04/15, 13:25: Weapondeltas are now implemented.

 

2017/04/15, 18:15: Another major breakthrough, but I ain't tripleposting; here's DECORATE states:

Spoiler

41m3xJB.gif

 

2017/04/15, 20:05: Managed to define the Heretic gold wand, but the puffs aren't working for some reason. Here's the video of that:

Spoiler

 

 

2017/04/15, 20:20 Figured it out, but need the go-ahead from Quasar.

Spoiler

 

 

2017/04/16, 22:00: Hold states are implemented, and now the shells of every wimpy Heretic weapon is in.

 

Spoiler

 

 

Edited by Altazimuth
2 people like this

Posted (edited)

Share this post


Link to post

Fucking golden. Plan to do Hexen's weapons right afterwards by any chance too, get a head-start on supporting it?

1 person likes this

Share this post


Link to post

Great question, thanks for asking. Whilst I would like to get Hexen weapons in, we'll need to finish off Heretic support, remove hard-coding of actual picking up of items, and make sure all the demo compat stuff is ok, first.

 

What you want to know: I'd personally love to get working on Hexen weapons after the prior mentioned work, but it is something that the team will approach with caution, due to the unstable nature of some of the Hexen codepointers. There's a reason why a_hexen.cpp (the Hexen codepointers file) is #if 0'd out at the moment, and most of the functions filled with // HEXEN_TODO.


EDIT: I misread the question. I might try get in some of the codepointers before all the other stuff is done, but it will need deliberation. Some of them do seem quite useful.

Edited by Altazimuth

Posted (edited)

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now