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
User avatar
Jonathan
A Brave Victim
Posts: 3391
Joined: Thu Feb 03, 2005 12:50 am
Location: Not really lurking anymore

Post by Jonathan »

The option was added because finish was very slow for me, and removing the call had no ill side effects for me. Explanation of the settings:
Finish: Calls glFinish before telling SDL to swap the buffers. Should work, but may be slow.
Flush: Calls glFlush before telling SDL to swap. Should work, but apparently sometimes it causes trouble.
Fastest: Does nothing. Works fine for me (note that OS X SDL uses NSOpenGLContext, which means a call to glFlush), but may not work at all.
User avatar
Z-Man
God & Project Admin
Posts: 11587
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Post by Z-Man »

Tank: What's your graphics card as known by AA? (The GL_ settings in user.cfg?) I'll add a filter to set the correct swap mode for it (or better, perhaps I'll only activate Flush on NVidia and ATI cards where we know it works).

TnA: and changing the swap mode helped you, too? You have an Intel GPU, right?
User avatar
Tank Program
Forum & Project Admin, PhD
Posts: 6711
Joined: Thu Dec 18, 2003 7:03 pm

Post by Tank Program »

Here's what it says...

Code: Select all

               GL_EXTENSIONS GL_ARB_multitexture GL_EXT_texture_env_add GL_EXT_compiled_vertex_array GL_S3_s3tc GL_ARB_depth_texture GL_ARB_fragment_program GL_ARB_fragment_program_shadow GL_ARB_fragment_shader GL_ARB_multisample GL_ARB_occlusion_query GL_ARB_point_parameters GL_ARB_point_sprite GL_ARB_shader_objects GL_ARB_shading_language_100 GL_ARB_shadow GL_ARB_shadow_ambient GL_ARB_texture_border_clamp GL_ARB_texture_compression GL_ARB_texture_cube_map GL_ARB_texture_env_add GL_ARB_texture_env_combine GL_ARB_texture_env_crossbar GL_ARB_texture_env_dot3 GL_ARB_texture_mirrored_repeat GL_ARB_transpose_matrix GL_ARB_vertex_blend GL_ARB_vertex_buffer_object GL_ARB_vertex_program GL_ARB_vertex_shader GL_ARB_window_pos GL_ATI_draw_buffers GL_ATI_element_array GL_ATI_envmap_bumpmap GL_ATI_fragment_shader GL_ATI_map_object_buffer GL_ATI_separate_stencil GL_ATI_texture_env_combine3 GL_ATI_texture_float GL_ATI_texture_mirror_once GL_ATI_vertex_array_object GL_ATI_vertex_attrib_array_object GL_ATI_vertex_streams GL_ATIX_texture_env_combine3 GL_ATIX_texture_env_route GL_ATIX_vertex_shader_output_point_size GL_EXT_abgr GL_EXT_bgra GL_EXT_blend_color GL_EXT_blend_func_separate GL_EXT_blend_minmax GL_EXT_blend_subtract GL_EXT_clip_volume_hint GL_EXT_draw_range_elements GL_EXT_fog_coord GL_EXT_multi_draw_arrays GL_EXT_packed_pixels GL_EXT_point_parameters GL_EXT_rescale_normal GL_EXT_secondary_color GL_EXT_separate_specular_color GL_EXT_shadow_funcs GL_EXT_stencil_wrap GL_EXT_texgen_reflection GL_EXT_texture3D GL_EXT_texture_compression_s3tc GL_EXT_texture_cube_map GL_EXT_texture_edge_clamp GL_EXT_texture_env_combine GL_EXT_texture_env_dot3 GL_EXT_texture_filter_anisotropic GL_EXT_texture_lod_bias GL_EXT_texture_mirror_clamp GL_EXT_texture_object GL_EXT_texture_rectangle GL_EXT_vertex_array GL_EXT_vertex_shader GL_HP_occlusion_test GL_NV_blend_square GL_NV_occlusion_query GL_NV_texgen_reflection GL_SGI_color_matrix GL_SGIS_generate_mipmap GL_SGIS_texture_border_clamp GL_SGIS_texture_edge_clamp GL_SGIS_texture_lod GL_SUN_multi_draw_arrays 
                 GL_RENDERER RADEON 9800 Pro Generic
                   GL_VENDOR ATI Technologies Inc.
                  GL_VERSION 1.3.5140 (X4.3.0-8.14.13)
It's an ATI card... Not sure what that has to do with it, only it runs really wacky then...

Edit: Doesn't happen on one of the other systems with a nVidia card...
Image
User avatar
TiTnAsS
Match Winner
Posts: 655
Joined: Sun Jan 23, 2005 2:44 am
Location: Reppin the Bay Area!

Post by TiTnAsS »

z-man wrote:Tank: What's your graphics card as known by AA? (The GL_ settings in user.cfg?) I'll add a filter to set the correct swap mode for it (or better, perhaps I'll only activate Flush on NVidia and ATI cards where we know it works).

TnA: and changing the swap mode helped you, too? You have an Intel GPU, right?
hehe the oposite, i changed it to swap to see the difference, then relaized i wanted flush....

All my comp is intel crap, thats all i know, i don't tend to research intel crap cuz i know its crap :)
Damn, it sure has been a while!
User avatar
Z-Man
God & Project Admin
Posts: 11587
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Post by Z-Man »

TiTnAsS wrote:hehe the oposite, i changed it to swap to see the difference, then relaized i wanted flush....
Umm, swap does not exist... There's nothing, flush and finish. finish is how it was in previous versions. So, which ones work for you and which don't? Please double check, this is important.

Jonathan: I dimly remember you had an ATI board, too, is this correct? If so, we'll have to add an OS dependant switch.

Tank: Is this on Windows or Linux?
User avatar
TiTnAsS
Match Winner
Posts: 655
Joined: Sun Jan 23, 2005 2:44 am
Location: Reppin the Bay Area!

Post by TiTnAsS »

Hehe typo...

Fastest was the one that din't work well.. flush fixed it.
Damn, it sure has been a while!
User avatar
Jonathan
A Brave Victim
Posts: 3391
Joined: Thu Feb 03, 2005 12:50 am
Location: Not really lurking anymore

Post by Jonathan »

z-man wrote:Jonathan: I dimly remember you had an ATI board, too, is this correct? If so, we'll have to add an OS dependant switch.
A Mobility Radeon 9600.
User avatar
Lucifer
Project Developer
Posts: 8640
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

Code: Select all

RPM build errors:
    Installed (but unpackaged) file(s) found:
   /usr/share/games/armagetronad/desktop/armagetronad.desktop
   /usr/share/games/armagetronad/desktop/icons/large/armagetronad.png
   /usr/share/games/armagetronad/desktop/icons/medium/armagetronad.png
   /usr/share/games/armagetronad/desktop/icons/small/armagetronad.png
Um, those files are supposed to be somewhere else. I'm just going to hack the rpm to put them somewhere else for now, but it should be fixed pretty soon (I don't really have time to hit it right now, I can build the rpm because while it's building I can study).
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden
User avatar
Z-Man
God & Project Admin
Posts: 11587
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Post by Z-Man »

Lucifer wrote:Um, those files are supposed to be somewhere else.
Ultimately, yes. But it has to be the job of the sysinstall script to put/link them there; at least, the generic build process needs to work that way. The location is too different from distribution to distribution to determine it at build time.
If you want to override that, use the --disable-desktop switch of configure. It will still install the files into share/games/armagetronad, but the sysinstall script won't do anything with them. It then can be the job of the specfile to put them where they belong (the autopackage works that way, it probably has better algorithms to find out where to put stuff than sysinstall).

Edit:Tank, TnA, Jonathan:
Thanks, guys. I'll whitelist all NVIDIA, ATI on Mac and all Intel for glFlush, everyone else will get glFinish.
User avatar
Lucifer
Project Developer
Posts: 8640
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

Ok. Then I probably did it right by just renaming those files in the spec file. :)

Another interesting thing. The --extraconfig commandline switch seems to have disappeared. So, without re-adding it, I went and did some hacking in the rcd scripts so I could run two servers on my machine.

I added in rcd_server two more lines, one that makes BINFILE2 and one that makes BINFILE3, both of them using copies of serverstarter where the copies have a couple of switches added to the armagetronad-dedicated invocation appropriate for the two servers.

Then I added in rcd_startstop, in the start case, a call to BINFILE2 and a call to BINFILE3. I just copied the one line just like it was.

I removed all calls to BINFILE.

Now I get 3 servers that start and run reliably, but none of them are the servers I *want* to have running. ANd then I have two that start, then stop. Then restart, then stop. Then restart, then stop.

side note: I built the Mandriva packages again and stuck 'em up on sourceforge.
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden
User avatar
Tank Program
Forum & Project Admin, PhD
Posts: 6711
Joined: Thu Dec 18, 2003 7:03 pm

Post by Tank Program »

I'm on Linux... Gentoo...
Image
User avatar
Z-Man
God & Project Admin
Posts: 11587
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Post by Z-Man »

Lucifer wrote:Ok. Then I probably did it right by just renaming those files in the spec file. :)
Yes, for the mandriva specialized RPM, that is a correct solution.
Lucifer wrote:Another interesting thing. The --extraconfig commandline switch seems to have disappeared.
Sorry, my bad. I refactored it so it fits in tConfiguration.cpp, but forgot to add the activating line. It's corrected now.

About running multiple servers with different configuration: perhaps we can use additional parameters to the start/stop scripts; they'd be passed to the executable and used to identify the processes. So you'd do

Code: Select all

/etc/init.d/armagetronad-dedicated start
/etc/init.d/armagetronad-dedicated start --extraconfig settings_custom_otherpeople.cfg
to start two servers and

Code: Select all

/etc/init.d/armagetronad-dedicated stop
/etc/init.d/armagetronad-dedicated stop --extraconfig settings_custom_otherpeople.cfg
you could then write a /etc/init.d/armagetronad-all script that just does

Code: Select all

/etc/init.d/armagetronad-dedicated $1
/etc/init.d/armagetronad-dedicated $1 --extraconfig settings_custom_otherpeople.cfg
and make that known to the system so it gets autostarted at boot time.

And the system needs to better react on bad configuration; starting a disfunctional server should just fail.
User avatar
Lucifer
Project Developer
Posts: 8640
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

Heh, none if this exactly explains why my servers aren't starting right now. :)

I'm getting three servers that I made while testing, and have no config files left anywhere among them. One of those three is a copy of one of the others, so there's one caled "WoTNA" and two called "Breakfast in Hell", all three of which are running default servers (I only changed SERVER_NAME, figuring that verified it worked). And all three are running without quitting.

Then, the two servers I actually intend to run and have setup the system for (theoretically, of course) are starting and stopping, with the serverstarter script doing its piece where its restarting the new server when the old server crashes. If I login to one of these servers, it will stay running while I'm there, otherwise it keeps shutting down.

As for multiple servers, I had hoped I could hack the init script to support it before release, but that doesn't appear to be happening. :) If we were willing to depend on python I could hack together a replacement for serverstarter pretty easily. Anyway, what I wanted to do was make a file with the same format as the other config files, and it would look like this:

servername configfile

It would read each line, populating a dictionary with the key as servername and the value as configfile. Then iterate through each item of the array running serverstarter and passing it --extra-config configfile. In this manner, we'd have it loading all the same default settings, and then additionally the server-specific settings. Maybe it would also give it a --vardir or whatever for specific files.

Maybe I should just go ahead and write a python script to do it. :) Would only take a minute. ;)
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden
User avatar
Z-Man
God & Project Admin
Posts: 11587
Joined: Sun Jan 23, 2005 6:01 pm
Location: Cologne
Contact:

Post by Z-Man »

So, umm, do I need to do anything to make you happy here ? :)
User avatar
Lucifer
Project Developer
Posts: 8640
Joined: Sun Aug 15, 2004 3:32 pm
Location: Republic of Texas
Contact:

Post by Lucifer »

z-man wrote:So, umm, do I need to do anything to make you happy here ? :)
Um, tell me what's wrong? ;)

I suspect it's fallout from my old server installation, to be honest. Lemme make sure that monster is slain before I start nagging seriously for help. Unless you happen to be able to divine what's wrong just by reading my posts. If you're as stumped as I am, then you should probably do nothing until I've beat on it some more myself.

Or, if you'd like to build in the sort of multiple server support I mentioned, if you happen to have time to do it, that is (I have to start studying for another test next week, so I may not have much time to screw with it), then that would probably help a lot. I'm pretty weak at shell scripting, but if the basic code was there and worked on at least one computer in the world, I could troubleshoot it and fix it in my specific installation. More than that, and, well, there's a reason I use Python for shell scripting ;)
Image

Be the devil's own, Lucifer's my name.
- Iron Maiden
Post Reply