Total game time display

Post a reply

Smilies
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :geek: :ugeek: :!: :?: :idea: :arrow: :| :mrgreen: :3: :wub: >:( :blergh:
View more smilies

BBCode is OFF
Smilies are ON

Topic review
   

Expand view Topic review: Total game time display

by Graf Zahl » Sun Aug 14, 2005 7:40 am

If the time is altered the computer thinks it's a different time. There's no need to bother with that.

by Phobus » Sun Aug 14, 2005 7:27 am

What if the said Windows program altered the time? There may be problems there (not huge, but problems nonetheless).

by David Ferstat » Fri Aug 12, 2005 5:25 am

Zdoom, like any other Windows program, should be able access the system time, either through Windows, or by talking directly to the motherboard's clock.

Therefore, yes, it it possible to make Zdoom aware of the sytem time. You just have convince someone to code it for you, and convince Randy to incorporate it into the source.

by ace » Thu Aug 11, 2005 8:02 pm

Nash wrote:It sounds ridiculous, but I don't wear watches at home, I don't have a clock in my room, too, and my cell phones are put away from the computer desk.
Well just looking at the time would be one thing, BUT if implemented correctly, one could think that if you could make an ACS script that somehow figures out what time it is via an "IF" statement, it could be possible to make a map in which the light level fades brighter/darker and the sky changes to a different texture to emulate real-time day-to-night-to-day and so on. Oh how cool that would be! :D

When I said before I didn't think it would be possible is, is there really a way to make ZDoom read one's time from their computer?

by Nash » Thu Aug 11, 2005 5:24 pm

I'll have to agree with cutmanmike.

Although very VERY trivial, it would great to see the current time of the day somewhere within the program itself.

It sounds ridiculous, but I don't wear watches at home, I don't have a clock in my room, too, and my cell phones are put away from the computer desk.

I play ZDoom fullscreen and it's a pain Alt + Tabbing in and out of ZDoom all the time because I have crappy hardware.

Sometimes when playing really long and tough maps, it would be nice if I was easily able to check what time is it so I am reminded that there's a real world outside the game. ;P

by Graf Zahl » Thu Aug 11, 2005 4:38 pm

Why shouldn't it be possible to read the system clock? Every operating system has some functions for that.

by ace » Thu Aug 11, 2005 4:30 pm

cutmanmike wrote:Speaking of time, would it be possible to allow the computer clock's time to be visable on the automap somewhere? No I don't have a clock in my room :P
Wow, that would be AWESOME to have! I can imagine making a map with real-time day-to-night skies/brightness levels using that. But I don't think that it possible, is it?

Well it would be cool anyway. :p

by Graf Zahl » Thu Aug 11, 2005 4:10 pm

Enjay wrote:This is something that has bugged me for a long time. I like this suggestion.

Also, I'd like to know my percentage kills etc for an entire hub, not just the last level in it. However, I suspect that would be a lot more complex to do.

Not really. You just have to keep track of it.

Although this is unfinished business is should make it a lot easier: ;)

Code: Select all

//==========================================================================
//
// Intermission stats
//
//==========================================================================

TArray<wbstartstruct_t> hubdata;

void Hub_Leaving(int mode, cluster_info_t * cluster, wbstartstruct_t * wbs)
{
	int i,j;

	if (cluster->flags & CLUSTER_HUB)
	{
		for(i=0;i<hubdata.Size();i++)
		{
			if (hubdata[i].finished_ep==level.levelnum)
			{
				hubdata[i]=*wbs;
				break;
			}
		}
		if (i==hubdata.Size())
		{
			hubdata.Push(*wbs);
		}

		hubdata[i].finished_ep=level.levelnum;
		if (!multiplayer && !deathmatch)
		{
			// The player counters don't work in hubs!
			hubdata[i].plyr[0].skills=level.killed_monsters;
			hubdata[i].plyr[0].sitems=level.found_items;
			hubdata[i].plyr[0].ssecret=level.found_secrets;
		}


		if (mode!=FINISH_SameHub)
		{
			wbs->maxkills=wbs->maxitems=wbs->maxsecret=0;
			for(i=0;i<MAXPLAYERS;i++)
			{
				wbs->plyr[i].sitems=wbs->plyr[i].skills=wbs->plyr[i].ssecret=0;
			}

			for(i=0;i<hubdata.Size();i++)
			{
				wbs->maxkills += hubdata[i].maxkills;
				wbs->maxitems += hubdata[i].maxitems;
				wbs->maxsecret += hubdata[i].maxsecret;
				for(j=0;j<MAXPLAYERS;j++)
				{
					wbs->plyr[j].sitems += hubdata[i].plyr[j].sitems;
					wbs->plyr[j].skills += hubdata[i].plyr[j].skills;
					wbs->plyr[j].ssecret += hubdata[i].plyr[j].ssecret;
				}
			}
			if (cluster->clustername) 
			{
				strncpy(level.level_name, cluster->clustername, 64);
				level.level_name[63]=0;
			}
		}
	}
	if (mode!=FINISH_SameHub) hubdata.Clear();
}
Of course it has to be saved as well - and it requires a cluster name - so that the exit screen displays the hub name.

by Cutmanmike » Thu Aug 11, 2005 4:06 pm

Speaking of time, would it be possible to allow the computer clock's time to be visable on the automap somewhere? No I don't have a clock in my room :P

by Enjay » Thu Aug 11, 2005 3:04 pm

This is something that has bugged me for a long time. I like this suggestion.

Also, I'd like to know my percentage kills etc for an entire hub, not just the last level in it. However, I suspect that would be a lot more complex to do.

by ace » Thu Aug 11, 2005 2:42 pm

Graf Zahl wrote:(or maybe both if you like.)
That's what I meant. Like I said before, it would remember the time for each hub level, but it would also keep track of the total time. :)

by Graf Zahl » Thu Aug 11, 2005 2:08 pm

No. Hubs should count total time not level time (or maybe both if you like.)

by ace » Thu Aug 11, 2005 1:38 pm

Yeah, that would help. And in hubs, it would remember the time you had spent on last visit once you enter again, so for example when you leave a hub level the time in that level was 13:28 and then once entering again it would start at 13:29.

This would be much more organized than the current version.

Total game time display

by Graf Zahl » Thu Aug 11, 2005 1:19 pm

The current time display is a little too limited IMO.

If there is no hub it only shows the time of the current level but not how long the game took overall.

If there are hubs it shows only the total time but not how much was spent in the hub.

If hubs and single levels are mixed the time display is a total mess.

How about separating it into 2 counters, one for the hub/level and one total?
(I don't think it makes sense to show the time for each level in the hub though.)

Top