0.2.8 (beta 3 tagged)

What do you want to see in Armagetron soon? Any new feature ideas? Let's ponder these ground breaking ideas...
Post Reply
Luke-Jr
Dr Z Level
Posts: 2246
Joined: Sun Mar 20, 2005 4:03 pm
Location: IM: [email protected]

0.2.8 (beta 3 tagged)

Post by Luke-Jr »

This thread is for organising version 0.2.8. This post will serve as a summary and be edited according to posts following it, so if something needs to be changed/added/removed, post about it ;)

Completed features:
- Support for shaped arenas (axes and map)
- Resource manager
- Coloured zones: green for win-zone; red for death-zone
- Private messaging -- /msg PLAYER MESSAGE or /team MESSAGE
- PNG screenshots
- Multiple interface support for servers + server ip and port config
- Seperate directory for screenshots (instead of USER_DATA_DIR)
- Remote admin
- Replay capacity of network game (z-man)
- Refactoring of network code (z-man)
- Server bookmarks in browser (nemo, z-man)
- Dynamically determine available display resolutions (Lucifer)
- Centralised resource repository (code support only; Luke-Jr)

Incomplete features:
- New icon
- Mac OS X 10.1 support

(to-be-moved) Other features:
- Configuration rotation -- should this wait for a future version or a special server-only upgrade? (Lucifer?)
- User authentication (Luke-Jr?)

Outstanding bugs:
- "Invisiwalls" (bug ???)
- Jumping (used to be sliding, may not actually be a bug) (bug 1201859 assigned to z-man)
- Going through walls [aka phasing] (bug 1202231 assigned to z-man)
- Lag when there are lots of turns made (for example through double-binding) (bug 1201877 assigned to z-man)
- Bounces replace slides (bug ???)
Last edited by Luke-Jr on Thu Oct 27, 2005 7:32 pm, edited 23 times in total.
Sniperiid
On Lightcycle Grid
Posts: 23
Joined: Thu Mar 17, 2005 6:16 pm
Location: Why should I tell?
Contact:

Post by Sniperiid »

hahaha so cool :P
User avatar
Your_mom
Match Winner
Posts: 653
Joined: Sun Jun 06, 2004 1:45 am

Post by Your_mom »

im not a programmer but featuress i would like included would be

/msg code
colored alive and dead code
nemos favorite server browser addition
and mabey someone could recruit jonathan to right better bots

links
http://guru3.sytes.net/viewtopic.php?t= ... hlight=msg
http://guru3.sytes.net/viewtopic.php?t=1752
http://guru3.sytes.net/viewtopic.php?t= ... =favorites
User avatar
dlh
Formerly That OS X Guy
Posts: 2035
Joined: Fri Jan 02, 2004 12:05 am
Contact:

Post by dlh »

Your_mom wrote:im not a programmer but featuress i would like included would be

/msg code
colored alive and dead code
nemos favorite server browser addition
and mabey someone could recruit jonathan to right better bots

links
http://guru3.sytes.net/viewtopic.php?t= ... hlight=msg
http://guru3.sytes.net/viewtopic.php?t=1752
http://guru3.sytes.net/viewtopic.php?t= ... =favorites
1) I've been working on the favorite browser, '+' (really its the = key, but 'shift' + '=' also works). key will add the server to your favorites (had to make connectionName and port public). I haven't looked at the new server browser code, so maybe z-man coded this already.

2) for the colored "Alive" column in tab score view, there actually should be 1 pixel (or 1 unit, since its not really pixel based) between the Player and Alive column, so it needs a little modification.

3) /msg code: still working on string matching, so it will be unnecessary to look up someones netid.

Edit: School is finishing up, though, so I'm really busy.
User avatar
Jonathan
A Brave Victim
Posts: 3391
Joined: Thu Feb 03, 2005 12:50 am
Location: Not really lurking anymore

Post by Jonathan »

My chatbot isn't smart at all, and I don't know much about AI. My chatbot is a huge improvement over the usual chatbot, but take a look at the source (somewhere near gCycle.cpp:1100). I changed the dir source, replaced the once a sec code (merged some of it back though so enemyInfluence isn't affected by anything other than the slightly different dir) and improved conditions and arithmetic.
ˌɑrməˈɡɛˌtrɑn
Luke-Jr
Dr Z Level
Posts: 2246
Joined: Sun Mar 20, 2005 4:03 pm
Location: IM: [email protected]

Post by Luke-Jr »

Your_mom wrote:im not a programmer but featuress i would like included would be

/msg code
I think nemo was working on this... is there a reason he's not part of the project? how complete is the code for /msg ?
nemostultae wrote:3) /msg code: still working on string matching, so it will be unnecessary to look up someones netid.
Post here when it's done, so it can be considered for 0.2.8 :)
Your_mom wrote:colored alive and dead code
Added to CVS; not a major feature for the list, tho
nemostultae wrote:2) for the colored "Alive" column in tab score view, there actually should be 1 pixel (or 1 unit, since its not really pixel based) between the Player and Alive column, so it needs a little modification.
Seems to work here...
Your_mom wrote:nemos favorite server browser addition
Maybe? I haven't kept up with this; does it do something that increasing the score on a server doesn't?
nemostultae wrote:1) I've been working on the favorite browser, '+' (really its the = key, but 'shift' + '=' also works). key will add the server to your favorites (had to make connectionName and port public). I haven't looked at the new server browser code, so maybe z-man coded this already.
+ is already used for increasing the "score" on a server...
Your_mom wrote:and mabey someone could recruit jonathan to right better bots
He insists his aren't better or something, IIRC.]
User avatar
dlh
Formerly That OS X Guy
Posts: 2035
Joined: Fri Jan 02, 2004 12:05 am
Contact:

Post by dlh »

A little OT: Older clients are still able to play on 2.8.0 servers w/ original map, right?
Luke-Jr
Dr Z Level
Posts: 2246
Joined: Sun Mar 20, 2005 4:03 pm
Location: IM: [email protected]

Post by Luke-Jr »

nemostultae wrote:A little OT: Older clients are still able to play on 2.8.0 servers w/ original map, right?
Right
User avatar
dlh
Formerly That OS X Guy
Posts: 2035
Joined: Fri Jan 02, 2004 12:05 am
Contact:

Post by dlh »

Player authentication and passwords, possibly? The code for passwords is there already, if I remember correctly.
User avatar
Z-Man
God & Project Admin
Posts: 11585
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Post by Z-Man »

As far as I'm concerned, nemo's favorite server menu and my +/- score bias are different enough to have them both integrated. The bias is for "I'd like to play somewhere on the internet, preferably on swampland, but if nobody's around, I'll settle for something else." and the favorites menu is for "I want to play on swampland, and I want it fast.". It'll be natural to move the favorite server addition to the f key, of course.

Nemo: you have not yet posted the code, right? Just do so when it's ready and bump one of the core devs ( and I don't quite know why you're not one of us, either ) to it.
User avatar
dlh
Formerly That OS X Guy
Posts: 2035
Joined: Fri Jan 02, 2004 12:05 am
Contact:

Post by dlh »

I fixed the game not working with VAR_DIR (or USER_DATA_DIR, both should be set to ->) ~/Library/Application Support/Armagetron/. Heres the code.

in src/macosx/SDLMain.mm, line 116

Code: Select all

/* Called when the internal event loop has just started running */
- (void) applicationDidFinishLaunching: (NSNotification *) note
{
    int status;
	/* Create cfg dir if it doesn't exist yet */
	NSFileManager *fileManager = [NSFileManager defaultManager];
	// BOOL isDirectory;
	NSString *path = [[[NSString alloc] initWithCString:VAR_DIR] autorelease];
	path = [path stringByExpandingTildeInPath];
	
	if ([fileManager fileExistsAtPath: path] == NO){
		[fileManager createDirectoryAtPath: path attributes: nil];
	}
	
	// Caused some problems - nemostultae
	// BOOL isExists = [fileManager fileExistsAtPath:path isDirectory:&isDirectory];
	/* if (isExists & !isDirectory){
		NSLog(@"path %@ already exists but not a directory", path);
	}
	else if (!isExists){
		if (![fileManager createDirectoryAtPath:path attributes:nil]){
			NSLog(@"can't make directory %@", path);
		}
	} */

#if SDL_USE_NIB_FILE
    /* Set the main menu to contain the real app name instead of "SDL App" */
    [self fixMenu:[NSApp mainMenu] withAppName:[[NSProcessInfo processInfo] processName]];
#endif

    /* Hand off to main application code */
    status = SDL_main (gArgc, gArgv);

    /* We're done, thank you for playing */
    exit(status);
}
Edit: and config.h in src/macosx needs

Code: Select all

#define VAR_DIR "~/Library/Application Support/Armagetron"
#define USER_DATA_DIR "~/Library/Application Support/Armagetron"
Luke-Jr
Dr Z Level
Posts: 2246
Joined: Sun Mar 20, 2005 4:03 pm
Location: IM: [email protected]

Post by Luke-Jr »

nemostultae wrote:I fixed the game not working with VAR_DIR (or USER_DATA_DIR, both should be set to ->) ~/Library/Application Support/Armagetron/. Heres the code.

in src/macosx/SDLMain.mm, line 116
This looks like just a hack, and not a real solution. Unless I'm reading it wrong, this will break the game on all systems that have never had AA before.
nemostultae wrote:and config.h in src/macosx needs

Code: Select all

#define VAR_DIR "~/Library/Application Support/Armagetron"
#define USER_DATA_DIR "~/Library/Application Support/Armagetron"
Why? var should default to USER_DATA_DIR/var, which is what it should have been from the start.
User avatar
dlh
Formerly That OS X Guy
Posts: 2035
Joined: Fri Jan 02, 2004 12:05 am
Contact:

Post by dlh »

Luke-Jr wrote:This looks like just a hack, and not a real solution. Unless I'm reading it wrong, this will break the game on all systems that have never had AA before.
Why would this break the game? It checks to see if the path exists, if it does not, it creates it. The the code that I commented out was just a longer, more confusing version of what I put in.
Luke-Jr wrote:
nemostultae wrote:and config.h in src/macosx needs

Code: Select all

#define VAR_DIR "~/Library/Application Support/Armagetron"
#define USER_DATA_DIR "~/Library/Application Support/Armagetron"
Why? var should default to USER_DATA_DIR/var, which is what it should have been from the start.
Didn't know VAR_DIR automatically defaulted to that. Its not needed then.

Edit: NSString *path = [[[NSString alloc] initWithCString:VAR_DIR] autorelease]; needs to be NSString *path = [[[NSString alloc] initWithCString:USER_DATA_DIR] autorelease];
Luke-Jr
Dr Z Level
Posts: 2246
Joined: Sun Mar 20, 2005 4:03 pm
Location: IM: [email protected]

Post by Luke-Jr »

nemostultae wrote:
Luke-Jr wrote:This looks like just a hack, and not a real solution. Unless I'm reading it wrong, this will break the game on all systems that have never had AA before.
Why would this break the game? It checks to see if the path exists, if it does not, it creates it. The the code that I commented out was just a longer, more confusing version of what I put in.
Hence the "unless I'm reading it wrong" :)
Didn't notice any code was added... a diff would have made that clearer (hint hint)
nemostultae wrote:
Luke-Jr wrote:
nemostultae wrote:and config.h in src/macosx needs

Code: Select all

#define VAR_DIR "~/Library/Application Support/Armagetron"
#define USER_DATA_DIR "~/Library/Application Support/Armagetron"
Why? var should default to USER_DATA_DIR/var, which is what it should have been from the start.
Didn't know VAR_DIR automatically defaulted to that. Its not needed then.

Edit: NSString *path = [[[NSString alloc] initWithCString:VAR_DIR] autorelease]; needs to be NSString *path = [[[NSString alloc] initWithCString:USER_DATA_DIR] autorelease];
I wonder if I should just rework tDirectories so it created write-directories when they are missing... we have mkdir_recursive now, after all...
User avatar
dlh
Formerly That OS X Guy
Posts: 2035
Joined: Fri Jan 02, 2004 12:05 am
Contact:

Post by dlh »

Luke-Jr wrote:Hence the "unless I'm reading it wrong" :)
Didn't notice any code was added... a diff would have made that clearer (hint hint)
if any one cares, it was the omission of

Code: Select all

path = [path stringByExpandingTildeInPath];
that caused the problem
Post Reply