0.2.8 (beta 3 tagged)
- Jonathan
- A Brave Victim
- Posts: 3391
- Joined: Thu Feb 03, 2005 12:50 am
- Location: Not really lurking anymore
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.
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.
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?
TnA: and changing the swap mode helped you, too? You have an Intel GPU, right?
- Tank Program
- Forum & Project Admin, PhD
- Posts: 6711
- Joined: Thu Dec 18, 2003 7:03 pm
Here's what it says...
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...
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)
Edit: Doesn't happen on one of the other systems with a nVidia card...
hehe the oposite, i changed it to swap to see the difference, then relaized i wanted flush....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?
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!
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.TiTnAsS wrote:hehe the oposite, i changed it to swap to see the difference, then relaized i wanted flush....
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?
- Lucifer
- Project Developer
- Posts: 8640
- Joined: Sun Aug 15, 2004 3:32 pm
- Location: Republic of Texas
- Contact:
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
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.Lucifer wrote:Um, those files are supposed to be somewhere else.
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.
- Lucifer
- Project Developer
- Posts: 8640
- Joined: Sun Aug 15, 2004 3:32 pm
- Location: Republic of Texas
- Contact:
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.
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.
- Tank Program
- Forum & Project Admin, PhD
- Posts: 6711
- Joined: Thu Dec 18, 2003 7:03 pm
Yes, for the mandriva specialized RPM, that is a correct solution.Lucifer wrote:Ok. Then I probably did it right by just renaming those files in the spec file.
Sorry, my bad. I refactored it so it fits in tConfiguration.cpp, but forgot to add the activating line. It's corrected now.Lucifer wrote:Another interesting thing. The --extraconfig commandline switch seems to have disappeared.
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
Code: Select all
/etc/init.d/armagetronad-dedicated stop
/etc/init.d/armagetronad-dedicated stop --extraconfig settings_custom_otherpeople.cfg
Code: Select all
/etc/init.d/armagetronad-dedicated $1
/etc/init.d/armagetronad-dedicated $1 --extraconfig settings_custom_otherpeople.cfg
And the system needs to better react on bad configuration; starting a disfunctional server should just fail.
- Lucifer
- Project Developer
- Posts: 8640
- Joined: Sun Aug 15, 2004 3:32 pm
- Location: Republic of Texas
- Contact:
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.
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.
- Lucifer
- Project Developer
- Posts: 8640
- Joined: Sun Aug 15, 2004 3:32 pm
- Location: Republic of Texas
- Contact:
Um, tell me what's wrong?z-man wrote:So, umm, do I need to do anything to make you happy here ?
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