ZDaemon Forum Index ZDaemon
Client/Server DOOM
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Take part in Zdaemon Development! Get the code HERE!

 
Post new topic   This topic is locked: you cannot edit posts or make replies.    ZDaemon Forum Index -> ZDaemon Development
View previous topic :: View next topic  
Author Message
phenex2
Unstoppable!


Joined: 10 Jan 2008

PostPosted: Sun Jan 20, 2008 3:57 pm    Post subject: Take part in Zdaemon Development! Get the code HERE! Reply with quote

Hello fellow doomers!

This thread is meant for people who would like to help the dev team
by fixing bugs or implementing new features into Zdaemon.

Since the current source is closed we will have to restrict ourselves
to the last public release (1.06).

There is still a subset of bug fixes and new features, which happen to be
independent from the current source (1.08 ) and the ongoing development (1.09),
that can be added to 1.06 and then integrated into the current code
by the dev team. If you are lucky your name will show up in the next changelog Wink

What do you need to get started?
-------------------------
The 1.06 windows binary pack (fmod+zdaemon.wad)

You need this to run your compiled exe so you can
see if your patches actually work :p

-------------------------
The windows source code

This code will compile out of the box in Microsoft Visual C++ 6.0.
Maybe someone can adapt the code to a free compiler or the
'free' Visual C++ 2005 Express Edition. If someone manages to clean up
the code so it will compile in VC6++ and the newer Visual Studios i will reup it.
Danni told me that casting the input parameters for sqrt and fabs should get you
close to compiling code in the newer Visual C++ versions.
I would still recommend Visual C++ 6.0 if you want to get started fast.
If you have trouble finding VC++6 just drop me a line in irc.

-------------------------
old ZDoom code

get all binaries with corresponding source code.

Imagine you want to implement the Zdoom 2.0 texture manager ... you wouldn't want to
write it from scratch, eh? Since Zdaemon is based on ZDoom 1.22 code
you can simply check out features or bugfixes in ZDoom and port them
over to 1.06 if you are lucky.

It is ok to get working code from ZDoom, because ZDoom is distributed
under the Doom License as is ZDaemon.
On the other hand ... don't copy code from any other port, as ZDoom
is the only active Doom port that uses the Doom License.

-------------------------
WinMerge or CSDiff

Visual diff tools are handy if you want to compare old 1.06 code
to more recent ZDoom code or you just want to see changes between code revisions.
This tool can also be used to generate diff files and apply patches to code.

-------------------------

Happy Coding!
Read the next post for instructions on submissions and coding.


Last edited by phenex2 on Fri Oct 24, 2008 7:24 pm; edited 5 times in total
Back to top
View user's profile Send private message
phenex2
Unstoppable!


Joined: 10 Jan 2008

PostPosted: Sun Jan 20, 2008 3:58 pm    Post subject: Reply with quote

Guidelines

What to work on:
If you need ideas for what to do, look into these threads:
1.08 bugs
heretic bugs
development wishlist
old development wishlist
or various other threads that can be found in the 'ZDaemon Development' section.
A link to a current "open bugs/todo" list will follow here sometime.

Filter out what has been already done Razz
1.09 thread
current changelog

If you do actually fix a bug or add a feature, do so only to
a clean source as a base. DO NOT add any patches that are independet from what you
are working on.

Usually when you want to fix a bug or add a new feature you first check
if the problem is already solved in ZDoom. Try running the most recent version
and then try to find the first version that fixes the bug or adds the feature.
You then might want to read the corresponding ZDoom changelog to see if you can get
hints where the fix is located. Look at the diff between the 1.06 source
and the relevant ZDoom source and do your best to get the relevant code ported.
Then simply create a patch file or zip the files you changed and post it!

Also try to supply demo wads along to fixed bugs or new features so its easier
to check if your implementation works and what it actually does.

Good luck!


Last edited by phenex2 on Fri Oct 24, 2008 7:33 pm; edited 3 times in total
Back to top
View user's profile Send private message
Danni
Dominating!


Joined: 25 Oct 2003

PostPosted: Sun Jan 20, 2008 7:31 pm    Post subject: Reply with quote

This is a great idea. We have already had a few people submit patches and put them in.

Also WinMerge is a very useful tool that i use frequently for comparing code with older revisions.

If anyone has any questions about the code, I would be happy to help answer them, I can be found on IRC most of the time.
Back to top
View user's profile Send private message
EarthQuake
Wicked Sick!


Joined: 02 Apr 2004
Location: Athens, Ohio. Dieblieber gonna getcha!

PostPosted: Mon Jan 21, 2008 1:28 am    Post subject: Reply with quote

One thing that people should be aware of is "defining undefined behavior". Usually when a certain condition arises in the game and the game does not know how to handle this condition, the game does not crash or generate errors, but instead performs or returns an "incorrect" result. This is the cause for many bugs in the game that we consider "features". If you catch these types of inconsistencies and modify the results, wads/ports/etc that utilize these "incorrect" behaviors will sometimes yield undesirable results.

My prime example would be the invulnerability bug that is frequently used in rocket jumping maps. In this case, there is no explainable reason for why the game does this. Somewhere in the code, the game does not know how to handle the conditions leading to this bug, resulting in an "incorrect" behavior that we find as useful.

There are many other examples, but this one tops the cake imo.

Please think about what bugs you're "fixing" if you plan to submit anything to the development team.
Back to top
View user's profile Send private message Send e-mail
Ronald
Rontard


Joined: 17 Aug 2005
Location: Netherlands Clan: [QnB]

PostPosted: Mon Jan 21, 2008 9:00 am    Post subject: Reply with quote

Is it allowed to write a hardcoded gamemode?
Back to top
View user's profile Send private message Send e-mail Visit poster's website MSN Messenger
Stealth
Gone with the wind


Joined: 09 Nov 2004

PostPosted: Mon Jan 21, 2008 7:23 pm    Post subject: Reply with quote

Ronald wrote:
Is it allowed to write a hardcoded gamemode?

Do you not mean, 'Are you'?

As if I'm answering that question, there is no reason why you couldn't write a piece of code to implement a new gamemode. Though consider the chances of it being implemented in the first place. What might be a better idea is modularizing gamemode code, and/or implement a 'custom' gamemode, allowing a variety of scripts to run or otherwise, to create a customizeable gamemode. Even that won't happen.

I don't see what you can't already do with ACS and the current gamemodes. Deathball, Onslaught and Kill the Cyberdemon all make use of current gamemodes.

Truthfully, I feel that no more hardcoded gamemodes will be written for ZDaemon, and frankly, 4 (3) is enough. Look at Skulltag, gamemodes have caused it to be inconsistent and buggy. Even InstaGib is an entirely different gamemode, which is just stupid, as it should be considered a 'mutator' - it can be used in CTF or other gamemodes as well. Like more gamemodes, then Skulltag's the silver egg.
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
Danni
Dominating!


Joined: 25 Oct 2003

PostPosted: Mon Jan 21, 2008 7:43 pm    Post subject: Reply with quote

I agree. There are a few things that the ACS fixes in 1.09 will hopefully address that allow game modes to be developed, CTF did help a little with this as it provided me existing score triggers to marry up with some ACS functions and Specials that SkullTag has and ZDoom has placeholders for.

ZDaemon wants to maintain the traditional doom game play as much as possible which is why uncapped FPS, ZDoom style interpolation, many game modes and bug fixes are not part of ZDaemon.

Please don't be offended if you do develop something and it is not included, there are many things i have toyed with and have not added to the engine simply because it didnt fit.
Back to top
View user's profile Send private message
Cybershark
Spamming!


Joined: 05 Jan 2005
Location: off the grid, but still fighting for the users!

PostPosted: Mon Jan 21, 2008 7:56 pm    Post subject: Reply with quote

Danni wrote:
ZDaemon wants to maintain the traditional doom game play as much as possible which is why uncapped FPS, ZDoom style interpolation, many game modes and bug fixes are not part of ZDaemon.

heh right. but see you threw the door open for all kinds of wacky requests the moment you added CTF to ZD. who's to say that those gamemodes would be 'less Doom' than that one? ...unless you take all such suggestions back to iD for vetting that is Laughing

also i'd really like to question where the zoom function fits in to this 'traditional gameplay' Laughing

anyways, great thread Baah. really gives people chance to put their money where their mouths are Smile
Back to top
View user's profile Send private message Visit poster's website
Ronald
Rontard


Joined: 17 Aug 2005
Location: Netherlands Clan: [QnB]

PostPosted: Mon Jan 21, 2008 10:35 pm    Post subject: Reply with quote

Danni wrote:
I agree. There are a few things that the ACS fixes in 1.09 will hopefully address that allow game modes to be developed.


I am sure they will. Smile

Danni wrote:
CTF did help a little with this as it provided me existing score triggers to marry up with some ACS functions and Specials that SkullTag has and ZDoom has placeholders for


What are these going to be? And how will these "triggers" be displayed? Like the scoreboard in CTF? What I am trying to say here is that a scoreboard is the way to "not" confuse people when it comes to new gamemodes. Imagine CTF without a scoreboard. Who could tell which team won? A little more information on this would be very much appreciated.

Danni wrote:
ZDaemon wants to maintain the traditional doom game play as much as possible which is why uncapped FPS, ZDoom style interpolation, many game modes and bug fixes are not part of ZDaemon.


I agree with Cybershark on this. Where is the border between Doom and "not-doom". Doom was meant to be single player (cooperative) and maybe some deathmatch. CTF is Doom to me with a twist. I am looking forward to hear your opinion on this.
Back to top
View user's profile Send private message Send e-mail Visit poster's website MSN Messenger
Kilgore
Air Cavalry


Joined: 17 Jun 2003
Location: Up the river

PostPosted: Mon Jan 21, 2008 11:13 pm    Post subject: Reply with quote

Quote:
Is it allowed to write a hardcoded gamemode?
Isn't this the way TDM and CTF have been implemented? Personally I'm more in favor of a hardcoded rather than an ACS mode.

Quote:
What are these going to be? And how will these "triggers" be displayed? Like the scoreboard in CTF? What I am trying to say here is that a scoreboard is the way to "not" confuse people when it comes to new gamemodes. Imagine CTF without a scoreboard. Who could tell which team won? A little more information on this would be very much appreciated
Yes, it would be appreciated and it will be made available when it's done. There is nothing like that right now, so don't get all excited about stuff that may or may not happen (and we don't even know on which version it might happen). It's far more productive to solve current problems and proceed a step at a time. You won't get any answers about something that's several steps ahead, as no proper analysis has been done, and we shouldn't speculate.
Back to top
View user's profile Send private message Visit poster's website
EarthQuake
Wicked Sick!


Joined: 02 Apr 2004
Location: Athens, Ohio. Dieblieber gonna getcha!

PostPosted: Tue Jan 22, 2008 6:23 am    Post subject: Reply with quote

I actually like Stealth's idea about game modes. We should have generalized game modes with many mutators and options that allow us to define how they are basically played.

CTF mode has been used for a variety of custom game modes where players are involved in taking objects from one place to another. A neat way to expand on this would allow multiple flag things in a single map. VMDX and I played around with this in 1.06 and discovered some really neat things that could be done. However, with the new CTF and team mode standard, things may have changed, so I'll need to test it again.

Some things do not need to be made into mutators, like instagib because wads are capable of doing this very nicely. The only thing that will make this better is allowed stacked dehacked patches, so multiple wads with dehacked can be loaded simultaneously.
Back to top
View user's profile Send private message Send e-mail
Ronald
Rontard


Joined: 17 Aug 2005
Location: Netherlands Clan: [QnB]

PostPosted: Tue Jan 22, 2008 8:37 am    Post subject: Reply with quote

Kilgore wrote:
Yes, it would be appreciated and it will be made available when it's done. There is nothing like that right now, so don't get all excited about stuff that may or may not happen (and we don't even know on which version it might happen). It's far more productive to solve current problems and proceed a step at a time. You won't get any answers about something that's several steps ahead, as no proper analysis has been done, and we shouldn't speculate.


Yeah, ok. I was not trying to rush you or anything. The way Danni said it sounded to me that there already was a system for it in place. So I was just curious how it would work. Smile But we will see as soon as the time is ripe. Smile
Back to top
View user's profile Send private message Send e-mail Visit poster's website MSN Messenger
Hyper_Eye
Dominating!


Joined: 07 Oct 2002
Location: Huntsvegas, Al.

PostPosted: Sun Jan 27, 2008 12:13 am    Post subject: Reply with quote

Instead of going through all the trouble of installing cygwin simply to make patch files you could just download "UnixTools for Win32" which contains diff. This is much quicker and easier then installing an entire Unix layer like cygwin or mingw/msys.

http://unxutils.sourceforge.net/
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
EarthQuake
Wicked Sick!


Joined: 02 Apr 2004
Location: Athens, Ohio. Dieblieber gonna getcha!

PostPosted: Mon Jan 28, 2008 7:16 am    Post subject: Reply with quote

I'm going to sticky this for great justice.

Edit: Cleaned up and locked for epic justice. If you have anything to add or questions to ask, just PM me in IRC to unlock.
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   This topic is locked: you cannot edit posts or make replies.    ZDaemon Forum Index -> ZDaemon Development All times are GMT + 1 Hour
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group