Steve_Yorkshire Posted February 11, 2015 Share Posted February 11, 2015 (edited) Edited February 12, 2015 by Steve_Yorkshire Quote Link to comment Share on other sites More sharing options...
buckmaster Posted February 11, 2015 Share Posted February 11, 2015 Yay! Great resource :). Show-off forum though? :P Quote Link to comment Share on other sites More sharing options...
LukasPJ Posted February 11, 2015 Share Posted February 11, 2015 It's fine, I'll move it when I actually get a resource section up ;) Quote Link to comment Share on other sites More sharing options...
Gibby Posted February 12, 2015 Share Posted February 12, 2015 @Steve: Thanks for this! Care to add a riibbon to the projectile? I'm still struggling to make mine work... Quote Link to comment Share on other sites More sharing options...
Steve_Yorkshire Posted February 12, 2015 Author Share Posted February 12, 2015 Found a crash caused by RefreshWeaponHUD not displaying the ammoAmount if a non-ammo weapon is the first one loaded at startup and then the player switches to an ammo-using weapon. No crash if first weapon loaded is an ammo-user. Makes no sense but hey, we're all used to that. :PFix posted in resource, also suggest fix goes into main repo. function clientCmdRefreshWeaponHUD(%amount, %preview, %ret, %zoomRet, %amountInClips) { if (!%amount) { //AmmoAmount.setVisible(false);//yorks bad! //causes a crash if this weapon is the default and you change to an other weapon AmmoAmount.setText(""); } else { AmmoAmount.setVisible(true); AmmoAmount.setText("Ammo: " @ %amount @ "/" @ %amountInClips); } Quote Link to comment Share on other sites More sharing options...
Steve_Yorkshire Posted February 12, 2015 Author Share Posted February 12, 2015 @gibby This is how I handle ribbons.http://forums.torque3d.org/viewtopic.php?f=17&t=35&p=216 Quote Link to comment Share on other sites More sharing options...
buckmaster Posted February 13, 2015 Share Posted February 13, 2015 A crash? I think we should try to make the script API as crash-resistant as possible. Any chance you could see what's happening in the engine to allow it to crash? A minimal example script would also be appreciated :). Quote Link to comment Share on other sites More sharing options...
Steve_Yorkshire Posted February 14, 2015 Author Share Posted February 14, 2015 @buckmasterSeems to crash looking for a valid character in gfx/gFont.h. Only happens if there is no ammoAmount to show and thus ammoAmount in scripts/client/client.cs is hidden. And it only crashes if the first weapon on startup is non-ammo. Loading an ammo-wpn first and then switching back and forth between ammo and non-ammo weapons is fine.// Update the Ammo Counter with current ammo, if not any then hide the counter. function clientCmdSetAmmoAmountHud(%amount, %amountInClips) { if (!%amount) AmmoAmount.setVisible(false); else { AmmoAmount.setVisible(true); AmmoAmount.setText("Ammo: " @ %amount @ "/" @ %amountInClips); } } gfx/gFont.hinline bool GFont::isValidChar(const UTF16 in_charIndex) const { if(mRemapTable[in_charIndex] != -1)//dies here return true; if(mPlatformFont) return mPlatformFont->isValidChar(in_charIndex); return false; } I'll post the full stack - but if I'm honest I just like make gaemz and don't understand what makes them go. ;) > energyWeapon_DEBUG DLL.dll!GFont::isValidChar(const unsigned short in_charIndex) Line 185 C++ energyWeapon_DEBUG DLL.dll!GFont::getStrNWidthPrecise(const unsigned short * str, unsigned int n) Line 486 C++ energyWeapon_DEBUG DLL.dll!GFont::getStrNWidthPrecise(const char * str, unsigned int n) Line 466 C++ energyWeapon_DEBUG DLL.dll!GFont::getStrWidthPrecise(const char * in_pString) Line 419 C++ energyWeapon_DEBUG DLL.dll!GuiControl::renderJustifiedText(Point2I offset, Point2I extent, const char * text) Line 605 C++ energyWeapon_DEBUG DLL.dll!GuiTextCtrl::onRender(Point2I offset, const RectI & updateRect) Line 235 C++ energyWeapon_DEBUG DLL.dll!GuiControl::renderChildControls(Point2I offset, const RectI & updateRect) Line 574 C++ energyWeapon_DEBUG DLL.dll!GuiBitmapBorderCtrl::onRender(Point2I offset, const RectI & updateRect) Line 135 C++ energyWeapon_DEBUG DLL.dll!GuiControl::renderChildControls(Point2I offset, const RectI & updateRect) Line 574 C++ energyWeapon_DEBUG DLL.dll!GuiTSCtrl::onRender(Point2I offset, const RectI & updateRect) Line 471 C++ energyWeapon_DEBUG DLL.dll!GameTSCtrl::onRender(Point2I offset, const RectI & updateRect) Line 179 C++ energyWeapon_DEBUG DLL.dll!GuiCanvas::renderFrame(bool preRenderOnly, bool bufferSwap) Line 1760 C++ energyWeapon_DEBUG DLL.dll!GuiCanvas::handlePaintEvent(unsigned int did) Line 342 C++ energyWeapon_DEBUG DLL.dll!fastdelegate::FastDelegate1::operator()(unsigned int p1) Line 990 C++ energyWeapon_DEBUG DLL.dll!Signal::trigger(unsigned int a) Line 669 C++ energyWeapon_DEBUG DLL.dll!Journal::Call,unsigned int>(Signal * obj, void (unsigned int) * method, unsigned int a) Line 634 C++ energyWeapon_DEBUG DLL.dll!JournaledSignal::trigger(unsigned int a) Line 81 C++ energyWeapon_DEBUG DLL.dll!GuiCanvas::paint() Line 1522 C++ energyWeapon_DEBUG DLL.dll!fastdelegate::FastDelegate0::operator()() Line 905 C++ energyWeapon_DEBUG DLL.dll!Signal::trigger() Line 651 C++ energyWeapon_DEBUG DLL.dll!Process::processEvents() Line 95 C++ energyWeapon_DEBUG DLL.dll!StandardMainLoop::doMainLoop() Line 610 C++ energyWeapon_DEBUG DLL.dll!torque_enginetick() Line 120 C++ energyWeapon_DEBUG DLL.dll!TorqueMain(int argc, const char * * argv) Line 377 C++ energyWeapon_DEBUG DLL.dll!torque_winmain(HINSTANCE__ * hInstance, HINSTANCE__ * __formal, char * lpszCmdLine, int __formal) Line 452 C++ energyWeapon_DEBUG.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, char * lpszCmdLine, int nCommandShow) Line 95 C++ [External Code] [Frames below may be incorrect and/or missing, no symbols loaded for kernel32.dll] Quote Link to comment Share on other sites More sharing options...
rlranft Posted February 18, 2015 Share Posted February 18, 2015 So, isValidChar() doesn't like null? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.