Re: [hlcoders] Works in debug mode, does not it release mode.
-- [ Picked text/plain from multipart/alternative ] Hey, I'm not an easy job :P On 3/31/06, Alfred Reynolds <[EMAIL PROTECTED]> wrote: > > Its definitely sciving. > > - Alfred > > Matt Judge wrote: > > Alfred Reynolds wrote: > > > >> I have added a new page to the wiki with some VGUI2 programming best > >> practices to follow: > >> > http://developer.valvesoftware.com/wiki/VGUI2_Programming_Best_Practices > >> > >> - Alfred > >> > >> Alfred Reynolds wrote: > >> > >> > > Does this burst of free time creativity mean that voice_speex and the > > updated SDK are going to be released soon? > > > > Or, are you sciving and doing the easy jobs? :p > > > > ___ > > To unsubscribe, edit your list preferences, or view the list > > archives, please visit: > > http://list.valvesoftware.com/mailman/listinfo/hlcoders > > ___ > To unsubscribe, edit your list preferences, or view the list archives, > please visit: > http://list.valvesoftware.com/mailman/listinfo/hlcoders > > -- - Benjamin Davison -- ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
RE: [hlcoders] Works in debug mode, does not it release mode.
Its definitely sciving. - Alfred Matt Judge wrote: > Alfred Reynolds wrote: > >> I have added a new page to the wiki with some VGUI2 programming best >> practices to follow: >> http://developer.valvesoftware.com/wiki/VGUI2_Programming_Best_Practices >> >> - Alfred >> >> Alfred Reynolds wrote: >> >> > Does this burst of free time creativity mean that voice_speex and the > updated SDK are going to be released soon? > > Or, are you sciving and doing the easy jobs? :p > > ___ > To unsubscribe, edit your list preferences, or view the list > archives, please visit: > http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
Re: [hlcoders] Works in debug mode, does not it release mode.
Alfred Reynolds wrote: I have added a new page to the wiki with some VGUI2 programming best practices to follow: http://developer.valvesoftware.com/wiki/VGUI2_Programming_Best_Practices - Alfred Alfred Reynolds wrote: Does this burst of free time creativity mean that voice_speex and the updated SDK are going to be released soon? Or, are you sciving and doing the easy jobs? :p ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
Re: [hlcoders] Works in debug mode, does not it release mode.
-- [ Picked text/plain from multipart/alternative ] Well I should be flattered that I inspired a best use guide :P Am I really that bad :P Well I'm taking what's being written and I've nearlly finished a second version :) On 3/30/06, Alfred Reynolds <[EMAIL PROTECTED]> wrote: > > I have added a new page to the wiki with some VGUI2 programming best > practices to follow: > http://developer.valvesoftware.com/wiki/VGUI2_Programming_Best_Practices > > - Alfred > > Alfred Reynolds wrote: > >>> OnThink() would work as well. You can use the ::OnTick() function by > > making the ivgui()->AddTickSignal( GetVPanel() ) to subscribe your > > panel > > to tick events. The AddTickSignal() lets you optionally choose the > > tick > > interval (rather than just once per frame) which can be a useful > > feature. > > > > Just make the label large enough to contain any text it could > > potentially display rather than dynamically resizing it (or use the > >>> SizeToContents() function if you really need to resize it). > > > > - Alfred > > > > Benjamin Davison wrote: > >> -- > >> [ Picked text/plain from multipart/alternative ] > >> Thanks for the tip, but I implemented your sizeof(); suggestion :) It > >> ain't crashing anymore, but it's not displaying text weirdly enough. > >> Debug is still working :E > >> > >> Well anyway I'll be rewriting it anyway :D I'm thinking of how I am > >> gonna do that. Do you think using an ::OnThink() function like most > >> hud elements use would be the best way? Possibly in the OnThink(); > >> Check if pRules->foo has changed. If it has call a function to > >> change the size and text of the label? > >> > >> And ::OnTick() There are only a couple of examples around the SDK > >> and I was trying to find the base function and I came across this in > >> vgui_BasePanel.cpp and found this: > >> > >> void CBasePanel::OnTick( void ) > >> { > >> // Nothing > >> } > >> > >> How is this function called within the engine? And what is it good > >> for? > >> > >> On 3/30/06, Alfred Reynolds <[EMAIL PROTECTED]> wrote: > >>> > >>> Debug mode has a lot more padding between memory allocations > >>> typically. This call: vgui::localize()->ConvertANSIToUnicode( > >>> sString, unicode, 1024) > >>> > >>> Would cause a random piece of memory 512 bytes beyond the end of > >>> "unicode" to be zero to 0 (null terminating the unicode string). In > >>> debug you were probably zeroing unused memory so it had no impact, > >>> in release you were smashing the stack or the like causing a crash. > >>> Moral is, use sizeof() when passing in buffer length > >>> parameters, never hard code them :) > >>> > >>> - Alfred > >>> > >>> Benjamin Davison wrote: > -- > [ Picked text/plain from multipart/alternative ] > Thanks Jay, I'll take those pointers away(rim shot) when I rewrite > it in accordance with Alfred's suggestions. > > Still confusing that it worked in debug mode but displayed nothing > in release mode. > > On 3/30/06, Jay Stelly <[EMAIL PROTECTED]> wrote: > > > > Actually looking at the code you're using, you probably should > > just skip string_t entirely (since the unicode conversion takes a > > char * anyway): > > > > const char *pString = ""; > > > > then replace sString with pString... > > > > Jay > > > > > >> -Original Message- > >> From: [EMAIL PROTECTED] > >> [mailto:[EMAIL PROTECTED] On Behalf Of Jay > >> Stelly Sent: Thursday, March 30, 2006 11:02 AM > >> To: hlcoders@list.valvesoftware.com > >> Subject: RE: [hlcoders] Works in debug mode, does not it release > >> mode. > >> > >> Unless someone has defined a valid assignment or conversion > >> path for this that I don't normally use you have to do this > >> to your constant > >> strings: > >> > >>> sString = MAKE_STRING("Find the case!"); > >> > >> at least that's why MAKE_STRING exists in the first place. > >> > >> It's not surprising that ConvertANSIToUnicode() would crash > >> if these assignments were producing an invalid pointer. > >> > >> Jay > >> > >> > >>> -Original Message- > >>> From: [EMAIL PROTECTED] > >>> [mailto:[EMAIL PROTECTED] On Behalf Of > >>> Benjamin Davison Sent: Thursday, March 30, 2006 10:50 AM > >>> To: hlcoders@list.valvesoftware.com > >>> Subject: [hlcoders] Works in debug mode, does not it release > >>> mode. > >>> > >>> -- > >>> [ Picked text/plain from multipart/alternative ] Very weird > >>> indeed, I'm working on some VGUI code and for some reason it > >>> works in debug mode with the IDE attatched and fails to work in > >>> release mode, and for the life of me I am stumped for a > >>> soloution. Here is some code to see if you guys have run into > >>> this problem. > >>> > >>> void CBBHudTaskList::Paint( void ) > >>> { > >>> // getting a
RE: [hlcoders] Works in debug mode, does not it release mode.
I have added a new page to the wiki with some VGUI2 programming best practices to follow: http://developer.valvesoftware.com/wiki/VGUI2_Programming_Best_Practices - Alfred Alfred Reynolds wrote: >>> OnThink() would work as well. You can use the ::OnTick() function by > making the ivgui()->AddTickSignal( GetVPanel() ) to subscribe your > panel > to tick events. The AddTickSignal() lets you optionally choose the > tick > interval (rather than just once per frame) which can be a useful > feature. > > Just make the label large enough to contain any text it could > potentially display rather than dynamically resizing it (or use the >>> SizeToContents() function if you really need to resize it). > > - Alfred > > Benjamin Davison wrote: >> -- >> [ Picked text/plain from multipart/alternative ] >> Thanks for the tip, but I implemented your sizeof(); suggestion :) It >> ain't crashing anymore, but it's not displaying text weirdly enough. >> Debug is still working :E >> >> Well anyway I'll be rewriting it anyway :D I'm thinking of how I am >> gonna do that. Do you think using an ::OnThink() function like most >> hud elements use would be the best way? Possibly in the OnThink(); >> Check if pRules->foo has changed. If it has call a function to >> change the size and text of the label? >> >> And ::OnTick() There are only a couple of examples around the SDK >> and I was trying to find the base function and I came across this in >> vgui_BasePanel.cpp and found this: >> >> void CBasePanel::OnTick( void ) >> { >> // Nothing >> } >> >> How is this function called within the engine? And what is it good >> for? >> >> On 3/30/06, Alfred Reynolds <[EMAIL PROTECTED]> wrote: >>> >>> Debug mode has a lot more padding between memory allocations >>> typically. This call: vgui::localize()->ConvertANSIToUnicode( >>> sString, unicode, 1024) >>> >>> Would cause a random piece of memory 512 bytes beyond the end of >>> "unicode" to be zero to 0 (null terminating the unicode string). In >>> debug you were probably zeroing unused memory so it had no impact, >>> in release you were smashing the stack or the like causing a crash. >>> Moral is, use sizeof() when passing in buffer length >>> parameters, never hard code them :) >>> >>> - Alfred >>> >>> Benjamin Davison wrote: -- [ Picked text/plain from multipart/alternative ] Thanks Jay, I'll take those pointers away(rim shot) when I rewrite it in accordance with Alfred's suggestions. Still confusing that it worked in debug mode but displayed nothing in release mode. On 3/30/06, Jay Stelly <[EMAIL PROTECTED]> wrote: > > Actually looking at the code you're using, you probably should > just skip string_t entirely (since the unicode conversion takes a > char * anyway): > > const char *pString = ""; > > then replace sString with pString... > > Jay > > >> -Original Message- >> From: [EMAIL PROTECTED] >> [mailto:[EMAIL PROTECTED] On Behalf Of Jay >> Stelly Sent: Thursday, March 30, 2006 11:02 AM >> To: hlcoders@list.valvesoftware.com >> Subject: RE: [hlcoders] Works in debug mode, does not it release >> mode. >> >> Unless someone has defined a valid assignment or conversion >> path for this that I don't normally use you have to do this >> to your constant >> strings: >> >>> sString = MAKE_STRING("Find the case!"); >> >> at least that's why MAKE_STRING exists in the first place. >> >> It's not surprising that ConvertANSIToUnicode() would crash >> if these assignments were producing an invalid pointer. >> >> Jay >> >> >>> -Original Message- >>> From: [EMAIL PROTECTED] >>> [mailto:[EMAIL PROTECTED] On Behalf Of >>> Benjamin Davison Sent: Thursday, March 30, 2006 10:50 AM >>> To: hlcoders@list.valvesoftware.com >>> Subject: [hlcoders] Works in debug mode, does not it release >>> mode. >>> >>> -- >>> [ Picked text/plain from multipart/alternative ] Very weird >>> indeed, I'm working on some VGUI code and for some reason it >>> works in debug mode with the IDE attatched and fails to work in >>> release mode, and for the life of me I am stumped for a >>> soloution. Here is some code to see if you guys have run into >>> this problem. >>> >>> void CBBHudTaskList::Paint( void ) >>> { >>> // getting a pointer to the game rules >>> CHL2MPRules *pRules = HL2MPRules(); >>> if ( !pRules ) >>> return; >>> // local player >>> C_BasePlayer *pPlayer = C_BasePlayer::GetLocalPlayer(); >>> if ( !pPlayer ) return; >>> >>> string_t sString = ""; >>> wchar_t unicode[256]; >>> >>> int x, y; >>> int textSizeWide, textSizeTall; >>> int iShown = 0; // number of lines shown >>> int fontTall = vgui::surface()->GetFontTall( m_hLarg
RE: [hlcoders] Works in debug mode, does not it release mode.
::OnThink() would work as well. You can use the ::OnTick() function by making the ivgui()->AddTickSignal( GetVPanel() ) to subscribe your panel to tick events. The AddTickSignal() lets you optionally choose the tick interval (rather than just once per frame) which can be a useful feature. Just make the label large enough to contain any text it could potentially display rather than dynamically resizing it (or use the ::SizeToContents() function if you really need to resize it). - Alfred Benjamin Davison wrote: > -- > [ Picked text/plain from multipart/alternative ] > Thanks for the tip, but I implemented your sizeof(); suggestion :) It > ain't crashing anymore, but it's not displaying text weirdly enough. > Debug is > still working :E > > Well anyway I'll be rewriting it anyway :D I'm thinking of how I am > gonna do > that. Do you think using an ::OnThink() function like most hud > elements use > would be the best way? Possibly in the OnThink(); Check if > pRules->foo has > changed. If it has call a function to change the size and text of the > label? > > And ::OnTick() There are only a couple of examples around the SDK and > I was > trying to find the base function and I came across this in > vgui_BasePanel.cpp and found this: > > void CBasePanel::OnTick( void ) > { > // Nothing > } > > How is this function called within the engine? And what is it good > for? > > On 3/30/06, Alfred Reynolds <[EMAIL PROTECTED]> wrote: >> >> Debug mode has a lot more padding between memory allocations >> typically. This call: vgui::localize()->ConvertANSIToUnicode( >> sString, unicode, 1024) >> >> Would cause a random piece of memory 512 bytes beyond the end of >> "unicode" to be zero to 0 (null terminating the unicode string). In >> debug you were probably zeroing unused memory so it had no impact, in >> release you were smashing the stack or the like causing a crash. >> Moral is, use sizeof() when passing in buffer length >> parameters, never hard code them :) >> >> - Alfred >> >> Benjamin Davison wrote: >>> -- >>> [ Picked text/plain from multipart/alternative ] >>> Thanks Jay, I'll take those pointers away(rim shot) when I rewrite >>> it in accordance with Alfred's suggestions. >>> >>> Still confusing that it worked in debug mode but displayed nothing >>> in release mode. >>> >>> On 3/30/06, Jay Stelly <[EMAIL PROTECTED]> wrote: Actually looking at the code you're using, you probably should just skip string_t entirely (since the unicode conversion takes a char * anyway): const char *pString = ""; then replace sString with pString... Jay > -Original Message- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Jay > Stelly Sent: Thursday, March 30, 2006 11:02 AM > To: hlcoders@list.valvesoftware.com > Subject: RE: [hlcoders] Works in debug mode, does not it release > mode. > > Unless someone has defined a valid assignment or conversion > path for this that I don't normally use you have to do this > to your constant > strings: > >> sString = MAKE_STRING("Find the case!"); > > at least that's why MAKE_STRING exists in the first place. > > It's not surprising that ConvertANSIToUnicode() would crash > if these assignments were producing an invalid pointer. > > Jay > > >> -Original Message- >> From: [EMAIL PROTECTED] >> [mailto:[EMAIL PROTECTED] On Behalf Of >> Benjamin Davison Sent: Thursday, March 30, 2006 10:50 AM >> To: hlcoders@list.valvesoftware.com >> Subject: [hlcoders] Works in debug mode, does not it release >> mode. >> >> -- >> [ Picked text/plain from multipart/alternative ] Very weird >> indeed, I'm working on some VGUI code and for some reason it >> works in debug mode with the IDE attatched and fails to work in >> release mode, and for the life of me I am stumped for a >> soloution. Here is some code to see if you guys have run into >> this problem. >> >> void CBBHudTaskList::Paint( void ) >> { >> // getting a pointer to the game rules >> CHL2MPRules *pRules = HL2MPRules(); >> if ( !pRules ) >> return; >> // local player >> C_BasePlayer *pPlayer = C_BasePlayer::GetLocalPlayer(); >> if ( !pPlayer ) return; >> >> string_t sString = ""; >> wchar_t unicode[256]; >> >> int x, y; >> int textSizeWide, textSizeTall; >> int iShown = 0; // number of lines shown >> int fontTall = vgui::surface()->GetFontTall( m_hLargeFont ); >> int border = 20; >> >> x = border / 2; // ScreenWidth() - border - textSizeWide; >> y = iShown * fontTall; // border + iShown * fontTall; >> >> SetSize( 300 + border, 40 ); >> >> >> if (pRules->m_bCaptureObjectActive == true) >> { >> sString = "Fi
Re: [hlcoders] Works in debug mode, does not it release mode.
-- [ Picked text/plain from multipart/alternative ] Thanks for the tip, but I implemented your sizeof(); suggestion :) It ain't crashing anymore, but it's not displaying text weirdly enough. Debug is still working :E Well anyway I'll be rewriting it anyway :D I'm thinking of how I am gonna do that. Do you think using an ::OnThink() function like most hud elements use would be the best way? Possibly in the OnThink(); Check if pRules->foo has changed. If it has call a function to change the size and text of the label? And ::OnTick() There are only a couple of examples around the SDK and I was trying to find the base function and I came across this in vgui_BasePanel.cpp and found this: void CBasePanel::OnTick( void ) { // Nothing } How is this function called within the engine? And what is it good for? On 3/30/06, Alfred Reynolds <[EMAIL PROTECTED]> wrote: > > Debug mode has a lot more padding between memory allocations typically. > This call: > vgui::localize()->ConvertANSIToUnicode( sString, unicode, 1024) > > Would cause a random piece of memory 512 bytes beyond the end of > "unicode" to be zero to 0 (null terminating the unicode string). In > debug you were probably zeroing unused memory so it had no impact, in > release you were smashing the stack or the like causing a crash. Moral > is, use sizeof() when passing in buffer length parameters, > never hard code them :) > > - Alfred > > Benjamin Davison wrote: > > -- > > [ Picked text/plain from multipart/alternative ] > > Thanks Jay, I'll take those pointers away(rim shot) when I rewrite it > > in > > accordance with Alfred's suggestions. > > > > Still confusing that it worked in debug mode but displayed nothing in > > release mode. > > > > On 3/30/06, Jay Stelly <[EMAIL PROTECTED]> wrote: > >> > >> Actually looking at the code you're using, you probably should just > >> skip string_t entirely (since the unicode conversion takes a char * > >> anyway): > >> > >> const char *pString = ""; > >> > >> then replace sString with pString... > >> > >> Jay > >> > >> > >>> -Original Message- > >>> From: [EMAIL PROTECTED] > >>> [mailto:[EMAIL PROTECTED] On Behalf Of Jay > >>> Stelly Sent: Thursday, March 30, 2006 11:02 AM > >>> To: hlcoders@list.valvesoftware.com > >>> Subject: RE: [hlcoders] Works in debug mode, does not it release > >>> mode. > >>> > >>> Unless someone has defined a valid assignment or conversion > >>> path for this that I don't normally use you have to do this > >>> to your constant > >>> strings: > >>> > sString = MAKE_STRING("Find the case!"); > >>> > >>> at least that's why MAKE_STRING exists in the first place. > >>> > >>> It's not surprising that ConvertANSIToUnicode() would crash > >>> if these assignments were producing an invalid pointer. > >>> > >>> Jay > >>> > >>> > -Original Message- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of > Benjamin Davison Sent: Thursday, March 30, 2006 10:50 AM > To: hlcoders@list.valvesoftware.com > Subject: [hlcoders] Works in debug mode, does not it release mode. > > -- > [ Picked text/plain from multipart/alternative ] Very weird indeed, > I'm working on some VGUI code and for some reason it works in debug > mode with the IDE attatched and fails to work in release mode, and > for the life of me I am stumped for a soloution. Here is some code > to see if you guys have run into this problem. > > void CBBHudTaskList::Paint( void ) > { > // getting a pointer to the game rules > CHL2MPRules *pRules = HL2MPRules(); > if ( !pRules ) > return; > // local player > C_BasePlayer *pPlayer = C_BasePlayer::GetLocalPlayer(); if > ( !pPlayer ) return; > > string_t sString = ""; > wchar_t unicode[256]; > > int x, y; > int textSizeWide, textSizeTall; > int iShown = 0; // number of lines shown > int fontTall = vgui::surface()->GetFontTall( m_hLargeFont ); > int border = 20; > > x = border / 2; // ScreenWidth() - border - textSizeWide; > y = iShown * fontTall; // border + iShown * fontTall; > > SetSize( 300 + border, 40 ); > > > if (pRules->m_bCaptureObjectActive == true) > { > sString = "Find the case!"; > } > else if (pRules->m_bCaptureZoneActivated == true) { > sString = "Get to this location and do something"; } > else > { > sString = "No mission selected!"; > } > > vgui::localize()->ConvertANSIToUnicode( sString, unicode, 256); > > // --- Set up default font and get character height for line > spacing vgui::surface()->DrawSetTextFont( m_hLargeFont ); > //vgui::surface()->DrawSetTextFont( m_hLargeFont ); > vgui::surface()->DrawSetTextPos(
RE: [hlcoders] Works in debug mode, does not it release mode.
Debug mode has a lot more padding between memory allocations typically. This call: vgui::localize()->ConvertANSIToUnicode( sString, unicode, 1024) Would cause a random piece of memory 512 bytes beyond the end of "unicode" to be zero to 0 (null terminating the unicode string). In debug you were probably zeroing unused memory so it had no impact, in release you were smashing the stack or the like causing a crash. Moral is, use sizeof() when passing in buffer length parameters, never hard code them :) - Alfred Benjamin Davison wrote: > -- > [ Picked text/plain from multipart/alternative ] > Thanks Jay, I'll take those pointers away(rim shot) when I rewrite it > in > accordance with Alfred's suggestions. > > Still confusing that it worked in debug mode but displayed nothing in > release mode. > > On 3/30/06, Jay Stelly <[EMAIL PROTECTED]> wrote: >> >> Actually looking at the code you're using, you probably should just >> skip string_t entirely (since the unicode conversion takes a char * >> anyway): >> >> const char *pString = ""; >> >> then replace sString with pString... >> >> Jay >> >> >>> -Original Message- >>> From: [EMAIL PROTECTED] >>> [mailto:[EMAIL PROTECTED] On Behalf Of Jay >>> Stelly Sent: Thursday, March 30, 2006 11:02 AM >>> To: hlcoders@list.valvesoftware.com >>> Subject: RE: [hlcoders] Works in debug mode, does not it release >>> mode. >>> >>> Unless someone has defined a valid assignment or conversion >>> path for this that I don't normally use you have to do this >>> to your constant >>> strings: >>> sString = MAKE_STRING("Find the case!"); >>> >>> at least that's why MAKE_STRING exists in the first place. >>> >>> It's not surprising that ConvertANSIToUnicode() would crash >>> if these assignments were producing an invalid pointer. >>> >>> Jay >>> >>> -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Benjamin Davison Sent: Thursday, March 30, 2006 10:50 AM To: hlcoders@list.valvesoftware.com Subject: [hlcoders] Works in debug mode, does not it release mode. -- [ Picked text/plain from multipart/alternative ] Very weird indeed, I'm working on some VGUI code and for some reason it works in debug mode with the IDE attatched and fails to work in release mode, and for the life of me I am stumped for a soloution. Here is some code to see if you guys have run into this problem. void CBBHudTaskList::Paint( void ) { // getting a pointer to the game rules CHL2MPRules *pRules = HL2MPRules(); if ( !pRules ) return; // local player C_BasePlayer *pPlayer = C_BasePlayer::GetLocalPlayer(); if ( !pPlayer ) return; string_t sString = ""; wchar_t unicode[256]; int x, y; int textSizeWide, textSizeTall; int iShown = 0; // number of lines shown int fontTall = vgui::surface()->GetFontTall( m_hLargeFont ); int border = 20; x = border / 2; // ScreenWidth() - border - textSizeWide; y = iShown * fontTall; // border + iShown * fontTall; SetSize( 300 + border, 40 ); if (pRules->m_bCaptureObjectActive == true) { sString = "Find the case!"; } else if (pRules->m_bCaptureZoneActivated == true) { sString = "Get to this location and do something"; } else { sString = "No mission selected!"; } vgui::localize()->ConvertANSIToUnicode( sString, unicode, 256); // --- Set up default font and get character height for line spacing vgui::surface()->DrawSetTextFont( m_hLargeFont ); //vgui::surface()->DrawSetTextFont( m_hLargeFont ); vgui::surface()->DrawSetTextPos(x, y); vgui::surface()->DrawPrintText( unicode, wcslen(unicode) ); // print text BaseClass::Paint(); } Now for some reason vgui::localize()->ConvertANSIToUnicode( sString, unicode, 256); was crashing the release mode(not the debug) if I put the buffer to 1024 Have any of you guys run into this problem? Or can you see some error I have overlooked? -- - Benjamin Davison -- ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders >>> >>> ___ >>> To unsubscribe, edit your list preferences, or view the list >>> archives, please visit: >>> http://list.valvesoftware.com/mailman/listinfo/hlcoders >>> >>> >> >> ___ >> To unsubscribe, edit your list preferences, or view the list >> archives, please visit: >> http://list.valvesoftware.com/mailman/listinfo/hlcode
Re: [hlcoders] Works in debug mode, does not it release mode.
-- [ Picked text/plain from multipart/alternative ] Thanks Jay, I'll take those pointers away(rim shot) when I rewrite it in accordance with Alfred's suggestions. Still confusing that it worked in debug mode but displayed nothing in release mode. On 3/30/06, Jay Stelly <[EMAIL PROTECTED]> wrote: > > Actually looking at the code you're using, you probably should just skip > string_t entirely (since the unicode conversion takes a char * anyway): > > const char *pString = ""; > > then replace sString with pString... > > Jay > > > > -Original Message- > > From: [EMAIL PROTECTED] > > [mailto:[EMAIL PROTECTED] On Behalf Of Jay Stelly > > Sent: Thursday, March 30, 2006 11:02 AM > > To: hlcoders@list.valvesoftware.com > > Subject: RE: [hlcoders] Works in debug mode, does not it release mode. > > > > Unless someone has defined a valid assignment or conversion > > path for this that I don't normally use you have to do this > > to your constant > > strings: > > > > > sString = MAKE_STRING("Find the case!"); > > > > at least that's why MAKE_STRING exists in the first place. > > > > It's not surprising that ConvertANSIToUnicode() would crash > > if these assignments were producing an invalid pointer. > > > > Jay > > > > > > > -Original Message- > > > From: [EMAIL PROTECTED] > > > [mailto:[EMAIL PROTECTED] On Behalf Of > > Benjamin > > > Davison > > > Sent: Thursday, March 30, 2006 10:50 AM > > > To: hlcoders@list.valvesoftware.com > > > Subject: [hlcoders] Works in debug mode, does not it release mode. > > > > > > -- > > > [ Picked text/plain from multipart/alternative ] Very weird indeed, > > > I'm working on some VGUI code and for some reason it works in debug > > > mode with the IDE attatched and fails to work in release > > mode, and for > > > the life of me I am stumped for a soloution. Here is some > > code to see > > > if you guys have run into this problem. > > > > > > void CBBHudTaskList::Paint( void ) > > > { > > > // getting a pointer to the game rules > > > CHL2MPRules *pRules = HL2MPRules(); > > > if ( !pRules ) > > > return; > > > // local player > > > C_BasePlayer *pPlayer = C_BasePlayer::GetLocalPlayer(); > > > if ( !pPlayer ) > > > return; > > > > > > string_t sString = ""; > > > wchar_t unicode[256]; > > > > > > int x, y; > > > int textSizeWide, textSizeTall; > > > int iShown = 0; // number of lines shown > > > int fontTall = vgui::surface()->GetFontTall( m_hLargeFont ); > > > int border = 20; > > > > > > x = border / 2; // ScreenWidth() - border - textSizeWide; > > > y = iShown * fontTall; // border + iShown * fontTall; > > > > > > SetSize( 300 + border, 40 ); > > > > > > > > > if (pRules->m_bCaptureObjectActive == true) > > > { > > > sString = "Find the case!"; > > > } > > > else if (pRules->m_bCaptureZoneActivated == true) > > > { > > > sString = "Get to this location and do something"; > > > } > > > else > > > { > > > sString = "No mission selected!"; > > > } > > > > > > vgui::localize()->ConvertANSIToUnicode( sString, unicode, 256); > > > > > > // --- Set up default font and get character height for line > > > spacing > > > vgui::surface()->DrawSetTextFont( m_hLargeFont ); > > > //vgui::surface()->DrawSetTextFont( m_hLargeFont ); > > > vgui::surface()->DrawSetTextPos(x, y); > > > vgui::surface()->DrawPrintText( unicode, wcslen(unicode) ); // > > > print text > > > > > > BaseClass::Paint(); > > > } > > > > > > Now for some reason vgui::localize()->ConvertANSIToUnicode( > > > sString, unicode, 256); was crashing the release mode(not the > > > debug) if I put the buffer to 1024 > > > > > > Have any of you guys run into this problem? Or can you see > > some error > > > I have overlooked? > > > > > > -- > > > - Benjamin Davison > > > -- > > > > > > ___ > > > To unsubscribe, edit your list preferences, or view the > > list archives, > > > please visit: > > > http://list.valvesoftware.com/mailman/listinfo/hlcoders > > > > > > > > > > ___ > > To unsubscribe, edit your list preferences, or view the list > > archives, please visit: > > http://list.valvesoftware.com/mailman/listinfo/hlcoders > > > > > > ___ > To unsubscribe, edit your list preferences, or view the list archives, > please visit: > http://list.valvesoftware.com/mailman/listinfo/hlcoders > > -- - Benjamin Davison -- ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
Re: [hlcoders] Works in debug mode, does not it release mode.
-- [ Picked text/plain from multipart/alternative ] Ok guys ;) I'll change it, but I was wondering why it works 100% in debug but works 0% in release. On 3/30/06, Jay Stelly <[EMAIL PROTECTED]> wrote: > > Unless someone has defined a valid assignment or conversion path for > this that I don't normally use you have to do this to your constant > strings: > > > sString = MAKE_STRING("Find the case!"); > > at least that's why MAKE_STRING exists in the first place. > > It's not surprising that ConvertANSIToUnicode() would crash if these > assignments were producing an invalid pointer. > > Jay > > > > -Original Message- > > From: [EMAIL PROTECTED] > > [mailto:[EMAIL PROTECTED] On Behalf Of > > Benjamin Davison > > Sent: Thursday, March 30, 2006 10:50 AM > > To: hlcoders@list.valvesoftware.com > > Subject: [hlcoders] Works in debug mode, does not it release mode. > > > > -- > > [ Picked text/plain from multipart/alternative ] Very weird > > indeed, I'm working on some VGUI code and for some reason it > > works in debug mode with the IDE attatched and fails to work > > in release mode, and for the life of me I am stumped for a > > soloution. Here is some code to see if you guys have run into > > this problem. > > > > void CBBHudTaskList::Paint( void ) > > { > > // getting a pointer to the game rules > > CHL2MPRules *pRules = HL2MPRules(); > > if ( !pRules ) > > return; > > // local player > > C_BasePlayer *pPlayer = C_BasePlayer::GetLocalPlayer(); > > if ( !pPlayer ) > > return; > > > > string_t sString = ""; > > wchar_t unicode[256]; > > > > int x, y; > > int textSizeWide, textSizeTall; > > int iShown = 0; // number of lines shown > > int fontTall = vgui::surface()->GetFontTall( m_hLargeFont ); > > int border = 20; > > > > x = border / 2; // ScreenWidth() - border - textSizeWide; > > y = iShown * fontTall; // border + iShown * fontTall; > > > > SetSize( 300 + border, 40 ); > > > > > > if (pRules->m_bCaptureObjectActive == true) > > { > > sString = "Find the case!"; > > } > > else if (pRules->m_bCaptureZoneActivated == true) > > { > > sString = "Get to this location and do something"; > > } > > else > > { > > sString = "No mission selected!"; > > } > > > > vgui::localize()->ConvertANSIToUnicode( sString, unicode, 256); > > > > // --- Set up default font and get character height for > > line spacing > > vgui::surface()->DrawSetTextFont( m_hLargeFont ); > > //vgui::surface()->DrawSetTextFont( m_hLargeFont ); > > vgui::surface()->DrawSetTextPos(x, y); > > vgui::surface()->DrawPrintText( unicode, wcslen(unicode) > > ); // print text > > > > BaseClass::Paint(); > > } > > > > Now for some reason vgui::localize()->ConvertANSIToUnicode( > > sString, unicode, 256); was crashing the release mode(not the > > debug) if I put the buffer to 1024 > > > > Have any of you guys run into this problem? Or can you see > > some error I have overlooked? > > > > -- > > - Benjamin Davison > > -- > > > > ___ > > To unsubscribe, edit your list preferences, or view the list > > archives, please visit: > > http://list.valvesoftware.com/mailman/listinfo/hlcoders > > > > > > ___ > To unsubscribe, edit your list preferences, or view the list archives, > please visit: > http://list.valvesoftware.com/mailman/listinfo/hlcoders > > -- - Benjamin Davison -- ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
RE: [hlcoders] Works in debug mode, does not it release mode.
Actually looking at the code you're using, you probably should just skip string_t entirely (since the unicode conversion takes a char * anyway): const char *pString = ""; then replace sString with pString... Jay > -Original Message- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of Jay Stelly > Sent: Thursday, March 30, 2006 11:02 AM > To: hlcoders@list.valvesoftware.com > Subject: RE: [hlcoders] Works in debug mode, does not it release mode. > > Unless someone has defined a valid assignment or conversion > path for this that I don't normally use you have to do this > to your constant > strings: > > > sString = MAKE_STRING("Find the case!"); > > at least that's why MAKE_STRING exists in the first place. > > It's not surprising that ConvertANSIToUnicode() would crash > if these assignments were producing an invalid pointer. > > Jay > > > > -Original Message- > > From: [EMAIL PROTECTED] > > [mailto:[EMAIL PROTECTED] On Behalf Of > Benjamin > > Davison > > Sent: Thursday, March 30, 2006 10:50 AM > > To: hlcoders@list.valvesoftware.com > > Subject: [hlcoders] Works in debug mode, does not it release mode. > > > > -- > > [ Picked text/plain from multipart/alternative ] Very weird indeed, > > I'm working on some VGUI code and for some reason it works in debug > > mode with the IDE attatched and fails to work in release > mode, and for > > the life of me I am stumped for a soloution. Here is some > code to see > > if you guys have run into this problem. > > > > void CBBHudTaskList::Paint( void ) > > { > > // getting a pointer to the game rules > > CHL2MPRules *pRules = HL2MPRules(); > > if ( !pRules ) > > return; > > // local player > > C_BasePlayer *pPlayer = C_BasePlayer::GetLocalPlayer(); > > if ( !pPlayer ) > > return; > > > > string_t sString = ""; > > wchar_t unicode[256]; > > > > int x, y; > > int textSizeWide, textSizeTall; > > int iShown = 0; // number of lines shown > > int fontTall = vgui::surface()->GetFontTall( m_hLargeFont ); > > int border = 20; > > > > x = border / 2; // ScreenWidth() - border - textSizeWide; > > y = iShown * fontTall; // border + iShown * fontTall; > > > > SetSize( 300 + border, 40 ); > > > > > > if (pRules->m_bCaptureObjectActive == true) > > { > > sString = "Find the case!"; > > } > > else if (pRules->m_bCaptureZoneActivated == true) > > { > > sString = "Get to this location and do something"; > > } > > else > > { > > sString = "No mission selected!"; > > } > > > > vgui::localize()->ConvertANSIToUnicode( sString, unicode, 256); > > > > // --- Set up default font and get character height for line > > spacing > > vgui::surface()->DrawSetTextFont( m_hLargeFont ); > > //vgui::surface()->DrawSetTextFont( m_hLargeFont ); > > vgui::surface()->DrawSetTextPos(x, y); > > vgui::surface()->DrawPrintText( unicode, wcslen(unicode) ); // > > print text > > > > BaseClass::Paint(); > > } > > > > Now for some reason vgui::localize()->ConvertANSIToUnicode( > > sString, unicode, 256); was crashing the release mode(not the > > debug) if I put the buffer to 1024 > > > > Have any of you guys run into this problem? Or can you see > some error > > I have overlooked? > > > > -- > > - Benjamin Davison > > -- > > > > ___ > > To unsubscribe, edit your list preferences, or view the > list archives, > > please visit: > > http://list.valvesoftware.com/mailman/listinfo/hlcoders > > > > > > ___ > To unsubscribe, edit your list preferences, or view the list > archives, please visit: > http://list.valvesoftware.com/mailman/listinfo/hlcoders > > ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
RE: [hlcoders] Works in debug mode, does not it release mode.
Unless someone has defined a valid assignment or conversion path for this that I don't normally use you have to do this to your constant strings: > sString = MAKE_STRING("Find the case!"); at least that's why MAKE_STRING exists in the first place. It's not surprising that ConvertANSIToUnicode() would crash if these assignments were producing an invalid pointer. Jay > -Original Message- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of > Benjamin Davison > Sent: Thursday, March 30, 2006 10:50 AM > To: hlcoders@list.valvesoftware.com > Subject: [hlcoders] Works in debug mode, does not it release mode. > > -- > [ Picked text/plain from multipart/alternative ] Very weird > indeed, I'm working on some VGUI code and for some reason it > works in debug mode with the IDE attatched and fails to work > in release mode, and for the life of me I am stumped for a > soloution. Here is some code to see if you guys have run into > this problem. > > void CBBHudTaskList::Paint( void ) > { > // getting a pointer to the game rules > CHL2MPRules *pRules = HL2MPRules(); > if ( !pRules ) > return; > // local player > C_BasePlayer *pPlayer = C_BasePlayer::GetLocalPlayer(); > if ( !pPlayer ) > return; > > string_t sString = ""; > wchar_t unicode[256]; > > int x, y; > int textSizeWide, textSizeTall; > int iShown = 0; // number of lines shown > int fontTall = vgui::surface()->GetFontTall( m_hLargeFont ); > int border = 20; > > x = border / 2; // ScreenWidth() - border - textSizeWide; > y = iShown * fontTall; // border + iShown * fontTall; > > SetSize( 300 + border, 40 ); > > > if (pRules->m_bCaptureObjectActive == true) > { > sString = "Find the case!"; > } > else if (pRules->m_bCaptureZoneActivated == true) > { > sString = "Get to this location and do something"; > } > else > { > sString = "No mission selected!"; > } > > vgui::localize()->ConvertANSIToUnicode( sString, unicode, 256); > > // --- Set up default font and get character height for > line spacing > vgui::surface()->DrawSetTextFont( m_hLargeFont ); > //vgui::surface()->DrawSetTextFont( m_hLargeFont ); > vgui::surface()->DrawSetTextPos(x, y); > vgui::surface()->DrawPrintText( unicode, wcslen(unicode) > ); // print text > > BaseClass::Paint(); > } > > Now for some reason vgui::localize()->ConvertANSIToUnicode( > sString, unicode, 256); was crashing the release mode(not the > debug) if I put the buffer to 1024 > > Have any of you guys run into this problem? Or can you see > some error I have overlooked? > > -- > - Benjamin Davison > -- > > ___ > To unsubscribe, edit your list preferences, or view the list > archives, please visit: > http://list.valvesoftware.com/mailman/listinfo/hlcoders > > ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
RE: [hlcoders] Works in debug mode, does not it release mode.
The third arg to ConvertANSIToUnicode() is the size of the output buffer in bytes. In this case you should use sizeof(unicode). This kind of code is the wrong pattern for VGUI2. It will perform really badly (because of the expensive operations you are running every time you paint) and makes your layout really fragile. A better model is to use a label to contain the text you want to draw and use an event to update text. The position, size and font the label uses should be contained in a .res file that is loaded by the base frame that owns the label ( it looks like CBBHudTaskList should be a frame in your case). If you cannot implement an event driven method then at least use the ::OnTick() method and only change the label text if the state changes. You can use the ::SetText() label call to set the string to render, and you don't need to do the unicode translation manually then. - Alfred Benjamin Davison wrote: > -- > [ Picked text/plain from multipart/alternative ] > Very weird indeed, I'm working on some VGUI code and for some reason > it > works in debug mode with the IDE attatched and fails to work in > release > mode, and for the life of me I am stumped for a soloution. Here is > some code > to see if you guys have run into this problem. > > void CBBHudTaskList::Paint( void ) > { > // getting a pointer to the game rules > CHL2MPRules *pRules = HL2MPRules(); > if ( !pRules ) > return; > // local player > C_BasePlayer *pPlayer = C_BasePlayer::GetLocalPlayer(); > if ( !pPlayer ) > return; > > string_t sString = ""; > wchar_t unicode[256]; > > int x, y; > int textSizeWide, textSizeTall; > int iShown = 0; // number of lines shown > int fontTall = vgui::surface()->GetFontTall( m_hLargeFont ); > int border = 20; > > x = border / 2; // ScreenWidth() - border - textSizeWide; > y = iShown * fontTall; // border + iShown * fontTall; > > SetSize( 300 + border, 40 ); > > > if (pRules->m_bCaptureObjectActive == true) > { > sString = "Find the case!"; > } > else if (pRules->m_bCaptureZoneActivated == true) > { > sString = "Get to this location and do something"; > } > else > { > sString = "No mission selected!"; > } > > vgui::localize()->ConvertANSIToUnicode( sString, unicode, 256); > > // --- Set up default font and get character height for line > spacing vgui::surface()->DrawSetTextFont( m_hLargeFont ); > //vgui::surface()->DrawSetTextFont( m_hLargeFont ); > vgui::surface()->DrawSetTextPos(x, y); > vgui::surface()->DrawPrintText( unicode, wcslen(unicode) ); // > print > text > > BaseClass::Paint(); > } > > Now for some reason vgui::localize()->ConvertANSIToUnicode( sString, > unicode, 256); was crashing the release mode(not the debug) if I put > the > buffer to 1024 > > Have any of you guys run into this problem? Or can you see some error > I have overlooked? > > -- > - Benjamin Davison > -- > > ___ > To unsubscribe, edit your list preferences, or view the list > archives, please visit: > http://list.valvesoftware.com/mailman/listinfo/hlcoders ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
[hlcoders] Works in debug mode, does not it release mode.
-- [ Picked text/plain from multipart/alternative ] Very weird indeed, I'm working on some VGUI code and for some reason it works in debug mode with the IDE attatched and fails to work in release mode, and for the life of me I am stumped for a soloution. Here is some code to see if you guys have run into this problem. void CBBHudTaskList::Paint( void ) { // getting a pointer to the game rules CHL2MPRules *pRules = HL2MPRules(); if ( !pRules ) return; // local player C_BasePlayer *pPlayer = C_BasePlayer::GetLocalPlayer(); if ( !pPlayer ) return; string_t sString = ""; wchar_t unicode[256]; int x, y; int textSizeWide, textSizeTall; int iShown = 0; // number of lines shown int fontTall = vgui::surface()->GetFontTall( m_hLargeFont ); int border = 20; x = border / 2; // ScreenWidth() - border - textSizeWide; y = iShown * fontTall; // border + iShown * fontTall; SetSize( 300 + border, 40 ); if (pRules->m_bCaptureObjectActive == true) { sString = "Find the case!"; } else if (pRules->m_bCaptureZoneActivated == true) { sString = "Get to this location and do something"; } else { sString = "No mission selected!"; } vgui::localize()->ConvertANSIToUnicode( sString, unicode, 256); // --- Set up default font and get character height for line spacing vgui::surface()->DrawSetTextFont( m_hLargeFont ); //vgui::surface()->DrawSetTextFont( m_hLargeFont ); vgui::surface()->DrawSetTextPos(x, y); vgui::surface()->DrawPrintText( unicode, wcslen(unicode) ); // print text BaseClass::Paint(); } Now for some reason vgui::localize()->ConvertANSIToUnicode( sString, unicode, 256); was crashing the release mode(not the debug) if I put the buffer to 1024 Have any of you guys run into this problem? Or can you see some error I have overlooked? -- - Benjamin Davison -- ___ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders
Re: [hlcoders] the vphysics bug worse in latest srcds?
I've got to revisit what I was doing soon - so I'll save some of those stack traces you love so much :D On 3/27/06, Physical Mayhem Bug <[EMAIL PROTECTED]> wrote: > Was it a crash in the vphysics dll? If you "caused" it, it might mean you at > least have a repro scenario other than mine. Mine being leave a server on > dm_steamlab or dm_runoff for a day with 6 players. It should be easy for > Valve to repro by just leaving a DM server up, but I might be able to get > more traction if I could give some precise repro steps. > > I won't dismiss the possibility that I'm doing something to make the vphysics > bug worse. It happens in straight HL2 DM, but it seems to happen more in my > mod. As I mentioned on the Verc forums a while ago, the only thing I can > really think of that might make it worse is that I've increased the power of > weapons, so explosions and such can cause higher velocities than normal. > > At 2006/03/26 03:22 PM, Garry Newman wrote: > >Well this is in my mod, and probably caused by me. > > > >I started looking into integrating the CS:S maps - so loaded one up > >but the props don't appear because the physprops.txt in scripts/ > >doesn't have the entries for those props. > > > >So I appended the CS keyvalues to the physprops.txt and the props > >appeared but jumped all around the place when you moved them. > > > >It crashes when you split a computer case open. > > > >But like I said, this is probably caused by me missing some major > >detail somewhere. > > > > > >On 3/26/06, Physical Mayhem Bug <[EMAIL PROTECTED]> wrote: > >> I am interested in any vphysics bug reports. Maybe if we get enough info > >> someone at Valve will have an epiphany and realize what the bug is. > >> > >> Did it lead to a crash, or did it just remain in that state? > >> > >> Usually it leads to a crash within 30 minutes or so if you've got 6+ > >> players on the server, but I've never figured out any specific repro case. > >> > >> At 2006/03/26 02:24 PM, Garry Newman wrote: > >> >Hey I managed to recreate the physics items falling and bouncing > >> >through the floor bug if you're interested. > >> > > >> > > >> > > >> >On 3/26/06, [EMAIL PROTECTED] > >> ><[EMAIL PROTECTED]> wrote: > >> >> And another... > >> >> > >> >> > vphysics.dll!260a1f40() > >> >> vphysics.dll!260b6240() > >> >> vphysics.dll!2609444b() > >> >> vphysics.dll!260e577c() > >> >> vphysics.dll!260a2400() > >> >> vphysics.dll!260d3eae() > >> >> vphysics.dll!2608af8e() > >> >> vphysics.dll!2608b01b() > >> >> vphysics.dll!260a2697() > >> >> vphysics.dll!260aac2b() > >> >> vphysics.dll!2609cd5b() > >> >> vphysics.dll!2609cae9() > >> >> vphysics.dll!260967d8() > >> >> vphysics.dll!2601d878() > >> >> server.dll!22717c67() > >> >> server.dll!2269d1b4() > >> >> server.dll!22435ba8() > >> >> server.dll!22715283() > >> >> server.dll!227321f3() > >> >> server.dll!2269cd99() > >> >> server.dll!2269ccf8() > >> >> ws2_32.dll!71ab2b32() > >> >> ws2_32.dll!71abb230() > >> >> server.dll!22673f44() > >> >> server.dll!226740a2() > >> >> kernel32.dll!7c80a42b() > >> >> tier0.dll!00873e45() > >> >> engine.dll!0da9e42f() > >> >> engine.dll!0daa0691() > >> >> engine.dll!0da9b0e7() > >> >> engine.dll!0da9cc75() > >> >> engine.dll!0da03cd7() > >> >> engine.dll!0da04376() > >> >> engine.dll!0da0f025() > >> >> engine.dll!0da0f112() > >> >> user32.dll!77d496b8() > >> >> engine.dll!0da0f1af() > >> >> engine.dll!0daacefc() > >> >> engine.dll!0daac4ed() > >> >> dedicated.dll!1000c084() > >> >> engine.dll!0daacd4e() > >> >> engine.dll!0daac48b() > >> >> dedicated.dll!1000c535() > >> >> dedicated.dll!1000c553() > >> >> materialsystem.dll!00cd0dae() > >> >> materialsystem.dll!00cd0f38() > >> >> materialsystem.dll!00cd0dae() > >> >> materialsystem.dll!00cd0f05() > >> >> materialsystem.dll!00cd7f64() > >> >> materialsystem.dll!00cd9502() > >> >> tier0.dll!0087299f() > >> >> materialsystem.dll!00cda349() > >> >> tier0.dll!008764b5() > >> >> tier0.dll!0087105a() > >> >> tier0.dll!008731d0() > >> >> tier0.dll!008738de() > >> >> datacache.dll!00e7daa2() > >> >> datacache.dll!00e7e08e() > >> >> datacache.dll!00e733ae() > >> >> datacache.dll!00e73e6b() > >> >> engine.dll!0db556b8() > >> >> engine.dll!0db552dc() > >> >> engine.dll!0d9adc0d() > >> >> dedicated.dll!10021d0b() > >> >> dedicated.dll!10022c00() > >> >> dedicated.dll!10022c00() > >> >> dedicated.dll!1000c7f7() > >> >> ntdll.dll!7c9106eb() > >> >> > >> >> > >> >> At 2006/03/24 10:11