macanah
Quake 2 Mapping Club
Posts: 321
|
Post by macanah on Oct 1, 2011 5:17:07 GMT -5
hi knightmare here r some ideas for kmquake2 for your next build maybe http downloading cel shading and does ne 1 now the line on config to start kmquake2 with normal net protocol thanks cya from macanah
btw when i load a map with downlaoding on, it has a long list of console messages saying downloading textures/something/something.jpg and keeps going on and on ,ne help would b aprecciated
|
|
|
Post by bitshifter on Oct 9, 2011 13:03:37 GMT -5
I also have 2 requests:
1) Some versions of Win32 reserve the 4 low-order bits in WM_SYSCOMMAND message. We must mask them off to prevent screen saver bug...
case WM_SYSCOMMAND: switch (wParam & 0xfff0) ...
2) The scrolling credits gets bumpy once the text reaches top of screen. Font should scroll from vid.height to -10 to scroll on/off properly. Although yours alpha blend so changing the if < 0 to if <= 0 does ok.
Edit: Here is my engines scroller for look-see...
void M_Credits_MenuDraw (void) { int i, y;
y = viddef.height - ((cls.realtime - credits_start_time) / 40.0) + (credits_start_line * 10); if (y <= -10) { credits_start_line++; if (!credits[credits_start_line]) { credits_start_line = 0; credits_start_time = cls.realtime; //y = viddef.height; return; } y = 0; }
for (i = credits_start_line; credits[i] && y < (int)viddef.height; y += 10, i++) { int x, j, xstart, bold, stringoffset;
if (y <= -8) continue;
if (credits[i][0] == '+') { bold = 128; stringoffset = 1; } else { bold = 0; stringoffset = 0; }
xstart = (viddef.width - (strlen (credits[i]) * 8) - (stringoffset * 8)) / 2;
for (j = stringoffset; credits[i][j]; j++) { x = xstart + (j * 8); re.DrawChar (x, y, credits[i][j] + bold); } } }
If you want more, just ask...
|
|
|
Post by knightmare on Oct 17, 2011 19:31:11 GMT -5
1. I'll implement http downloading at about the same time as R1Q2 client protocol support, as that's mainly used on R1Q2 servers.
2. Cell shading is one of those optional eye candy things that is a very low priority. No promises there, although it should be easier to implement than in vanilla Q2.
3. As for the WM_SYSCOMMAND bug, shouldn't that mask be:
switch (wParam & 0xfffffff0)
as WPARAM is a 32-bit type.
4. I've completely redone how the credits scroll is done.
|
|
|
Post by bitshifter on Oct 19, 2011 1:46:59 GMT -5
|
|
|
Post by knightmare on Oct 19, 2011 10:23:25 GMT -5
OK. Here's my credits menu /* =============================================================================
CREDITS MENU
============================================================================= */
static menuFramework_s s_credits_menu; static menuTextScroll_s s_credits_textscroll; static menuAction_s s_credits_back_action;
//=======================================================================
static const char *ui_idcredits[] = { #include "menu_credits_id.h" };
static const char *ui_xatrixcredits[] = { #include "menu_credits_xatrix.h" };
static const char *ui_roguecredits[] = { #include "menu_credits_rogue.h" };
//=======================================================================
void Menu_Credits_Init (void) { s_credits_menu.x = 0; s_credits_menu.y = 0; s_credits_menu.nitems = 0; s_credits_menu.hide_statusbar = true; s_credits_menu.isPopup = false; s_credits_menu.keyFunc = UI_DefaultMenuKey; s_credits_menu.canOpenFunc = NULL;
s_credits_textscroll.generic.type = MTYPE_TEXTSCROLL; s_credits_textscroll.generic.x = 0; s_credits_textscroll.generic.y = 0; s_credits_textscroll.generic.textSize = 10; s_credits_textscroll.width = SCREEN_WIDTH; s_credits_textscroll.height = SCREEN_HEIGHT; s_credits_textscroll.lineSize = 12; s_credits_textscroll.time_scale = 0.025f; s_credits_textscroll.fileName = "credits"; if (FS_ModType("xatrix")) // Xatrix s_credits_textscroll.scrollText = ui_xatrixcredits; else if (FS_ModType("rogue")) // Rogue s_credits_textscroll.scrollText = ui_roguecredits; else s_credits_textscroll.scrollText = ui_idcredits; s_credits_textscroll.generic.isHidden = false;
s_credits_back_action.generic.type = MTYPE_ACTION; s_credits_back_action.generic.flags = QMF_LEFT_JUSTIFY; s_credits_back_action.generic.x = MENU_FONT_SIZE*6; s_credits_back_action.generic.y = 460; s_credits_back_action.generic.name = "Back"; s_credits_back_action.generic.callback = UI_BackMenu;
UI_AddMenuItem (&s_credits_menu, (void *) &s_credits_textscroll); UI_AddMenuItem (&s_credits_menu, (void *) &s_credits_back_action); }
void Menu_Credits_f (void) { Menu_Credits_Init (); UI_PushMenu (&s_credits_menu); }
|
|
|
Post by bitshifter on Oct 19, 2011 17:56:48 GMT -5
Hehe, not the menu, but the scroller...
|
|
macanah
Quake 2 Mapping Club
Posts: 321
|
Post by macanah on Mar 13, 2012 11:26:41 GMT -5
hi macanah here hi knightmare just wondering how ur next biuld of kmquake2 is coming along? btw do u know the line in the config file to set it to normal net protocol instead of kmquake2 protocol ? thank u good bye btw quake2world public beta is being released this april 1st quake2world.net/
|
|
macanah
Quake 2 Mapping Club
Posts: 321
|
Post by macanah on Jan 26, 2013 8:59:31 GMT -5
hi knightmare when i join a server with kmquake2 it comes up with this downloading textures/texture name and this goes on for a couple of minutes nehelp would b nice plus is there a line i can put in the config so it starts with normal quake2 protocol
|
|
|
Post by knightmare on Jan 27, 2013 17:20:21 GMT -5
You need to disable downloading, specifically downloading 24-bit textures.
Just add "cl_servertrick 1" to your .cfg file. Also get the latest hotfix, it fixes this cvar preventing you from starting a local game until you change it back to 0.
|
|
|
Post by themuffinman on Feb 13, 2013 16:01:08 GMT -5
Hey knightmare. I've used KMQ2 for quite a while now. It's probably got the best rendering out of all the engine mods out there. The thing is now I went and updated to the new version and lightmaps no longer work. All geometry appears fullbright. Here's a before and after... I checked my settings and it all seemed correct. To be sure I reset all settings and it still didn't fix it. Is there a way to fix this or do I need to roll back to the old version for now? Also: if you're still working on the project could you consider the following 2 suggestions: 1. option to disable Id Software cinematic and demo running on start-up 2. a way to remove all runes from spawning (they're seriously irritating and the cvars controlling them seam to cause the game to crash when setting them to 0) 3. archived join server filter for switching between versions It's a great mod, keep up the good work!
|
|
|
Post by knightmare on Feb 13, 2013 22:06:43 GMT -5
What video card and driver are you using? Is it just on that map or all others (I added a fullbright surface flag)? Is r_fullbright on (it should be cheat protected in deathmatch)? Does it say "...using new texture format" or "...using legacy texture format" in the console on startup? Can you post a console dump (condump) of it starting up and loading that map?
Also, it's not a new version, just some bug fixes and optimizations from the current development build rolled into the old 0.20 code.
1. Edit default.cfg, look for the alias "d1".
2. Put "use_techs 0" in your autoexec.cfg instead of fiddling at runtime. Don't screw around with tech_flags, invalid values might screw stuff up.
I'll include the tech models/sounds with the next hotfix to avoid them being missing. I'll also make use_techs default to 0 and add bounds checking for tech_flags.
3. Be more specific, I don't understand what you mean there.
|
|
|
Post by knightmare on Feb 17, 2013 1:42:13 GMT -5
|
|
|
Post by themuffinman on Mar 3, 2013 13:59:03 GMT -5
Sorry for the delay. Here's the relevent part of the condump:
------ Renderer Initialization ------ OS: Windows XP CPU: Intel Core 1608 MHz w/ MMX SSE3 RAM: 958 MB Initializing OpenGL display ...setting mode 3: 640x480 FS ...attempting fullscreen ...using desktop display depth of 32 ...calling CDS: ok PIXELFORMAT: color(32-bits) Z(32-bit) ... Using stencil buffer GL_VENDOR: S3 Graphics GL_RENDERER: VIA/S3G UniChrome Pro IGP/MMX/SSE GL_VERSION: 1.2 ...allowing CDS ...using new lightmap format ...enabling GL_EXT/SGI_compiled_vertex_array ...enabling GL_EXT_draw_range_elements ...GL_ARB_texture_non_power_of_two not found ...WGL_EXT_swap_control not found ...GL_ARB_vertex_buffer_object not found ...using GL_ARB_multitexture ...GL_MAX_TEXTURE_UNITS_ARB: 2 ...using GL_ARB_texture_env_combine ...using GL_EXT_stencil_wrap ...GL_ATI_separate_stencil not found ...GL_EXT_stencil_two_side not found ...GL_ARB_fragment_program not found ...GL_NV_texture_shader not found ..GL_EXT_texture_filter_anisotropic not found ...GL_SGIS_generate_mipmap not found ...ignoring GL_ARB_texture_compression ...WGL_3DFX_gamma_control not found glGetError() = 0x500 ------------------------------------
Yeah it's a pretty crappy laptop but it ran without problems with the older build. My other computers (Duel Core and i5) still run it without an issue. That hotfix doesn't fix it.
The join server menu has a "client protocol compatibility" setting that really should be saved to config since most people probably either use version 34 or 56 but not both. So my suggestion is to simply set cl_servertrick to the CVAR_ARCHIVE flag. It doesn't seem possible to set it using autoexec or command lines.
|
|
|
Post by knightmare on Mar 3, 2013 23:47:00 GMT -5
That's a f**ked up driver- it claims OpenGL 1.2 support but doesn't support the GL_BGRA/GL_UNSIGNED_INT_8_8_8_8_REV format for lightmaps, which is part of GL 1.2. I've updated the hotfix to add a cvar, r_newlightmapformat, that can be used to disable the new lightmap format stuff. I also made cl_servertrick CVAR_ARCHIVE. So download the updated hotfix: www.markshan.com/knightmare/downloads/kmquake2_020_b3_hotfix5.zipAnd type this in the console: r_newlightmapformat 0 vid_restart If this works for you, I'll add this cvar to the test build of the v3.24 patch, too.
|
|
|
Post by themuffinman on Mar 6, 2013 11:59:41 GMT -5
r_newlightmapformat works perfectly, thanks!
cl_servertrick still seems to be reverting back to 0. Maybe ClientCompatibilityFunc() is the culprit? Anyway it's not a big deal just a minor inconvenience really.
Thanks for the fix!
|
|