Firestorm
  1. Firestorm
  2. FIRE-4381

LSL Preprocessor (willing to trade, see description)

    Details

    • SL Avatar Name:
      Agent Tairov
    • Reported In:
      Firestorm 3.2.2.24336 Release

      Description

      So, basically, my team have become highly dependent on the LSL Preprocessor, because LSL lacks so many features, and so we have tons of libraries, and we now have proper version control via a mercurial repository (on bitbucket, no less). Not having these features would be like being back in the stone age, so we can't migrate to Firestorm until it does. : (

      I've developed a set of tools for working with LSL, that I'm willing to offer in exchange for this getting implemented soonish. I might be willing to throw in libraries as well. We've actually been doing some work on developing a standard public library*, but I don't know if anyone else uses it. (I wish I could just offer straight-up cash, but I can't afford it.)
      "Offer" could mean a variety of things in this case. If you want, I can open source it, or I can make it available to just the Firestorm devs and their friends, or what have you. Of course, I still need to be able to use it myself, and provide it to possible clients, if necessary.

      The tools are in Ruby (mostly. We make a command line call to the GNU C preproc), and it's cross-platform (tested on Win7 and OSX).
      Currently, it does the following:
      + Use Phoenix XML export to export LSL files from SL. These are cleaned up, then routed using information in comments to specific paths and filenames.
      + Use Phoenix XML import to batch import LSL files into SL. These are preprocessed, then optimized (I included a simple optimizer), then inserted into either an "lsl" or "mono" object to be imported into SL. These also use information from the files to generate the LSL script asset's name.
      ++ What does this mean? It means that not only can you store all your scripts in real version control, and without copy-pasting, but you can literally choose whether to work on the script in an external editor, the internal editor, or mix 'n' match. Because of batch import and version control capability, you can even rebuild the exact set of scripts at a specific changeset for testing and debugging, and gain pretty much all the other advantages of real version control software. Combine this with an SL based updater script set, and mass updates of large linksets to specific versions are possible. This is incredibly useful for teams of multiple developers.
      + Documentation generator. Generates XHTML documents from marked up LSL files.
      ++ The new version is pretty flexible, and shouldn't be too difficult to extend.
      ++ Already supports macros, macro-functions, marking custom types, creating general documentation sections, bullet points, tables of messages, tables of flags, etc...
      + GUI wrapper (using Ruby Shoes, also cross-platform) for the other tools, which saves the last used conditions.
      ++ The other tools generally use Dir.glob, so you can have them work through multiple files or directories recursively.

      You can probably see why I'm hesitant to give up on the preproc.
      That LSL toolset is still under active development, too, so if it were open sourced, I could just open up a repository with it on github or bitbucket for people to access and submit patches to.

      • A standard public LSL library may be worth considering on its own, for inclusion with Firestorm/etc.

        Issue Links

          Activity

          Hide
          Michelle Resistance added a comment -

          We have a fix version! :O

          But, nobody's marked as assigned? :<

          Show
          Michelle Resistance added a comment - We have a fix version! :O But, nobody's marked as assigned? :<
          Hide
          Agent Tairov added a comment -

          I asked Zwagoth Klaar of the NaCl viewer project (https://bitbucket.org/Chalice/nacl/overview), who do have an implemented LSL preprocessor, and he said it's licensed under the BSD license, so there's nothing stopping you guys from just porting their implementation, if that makes it easier.

          Show
          Agent Tairov added a comment - I asked Zwagoth Klaar of the NaCl viewer project ( https://bitbucket.org/Chalice/nacl/overview ), who do have an implemented LSL preprocessor, and he said it's licensed under the BSD license, so there's nothing stopping you guys from just porting their implementation, if that makes it easier.
          Hide
          Satomi Ahn added a comment -

          This sounds really neat.
          We definitely need something like this for OpenCollar (currently using a git repository).
          The fact it is also a standalone tool is appealing, since it means developers can still use their favorite viewer while using the tool (with an alt account)...

          If you need a tester... well I am looking forward to your public repository.

          Show
          Satomi Ahn added a comment - This sounds really neat. We definitely need something like this for OpenCollar (currently using a git repository). The fact it is also a standalone tool is appealing, since it means developers can still use their favorite viewer while using the tool (with an alt account)... If you need a tester... well I am looking forward to your public repository.
          Hide
          Agent Tairov added a comment -

          Well, if you can get the Firestorm guys the necessary patches to get the preprocessor and import/export necessary to use it implemented (or find someone else to help them with that), I'll go ahead and put it on up. Basically, if it's already written and internally tested, and just waiting on the next big Firestorm rollout, that's a good enough fulfillment.

          Show
          Agent Tairov added a comment - Well, if you can get the Firestorm guys the necessary patches to get the preprocessor and import/export necessary to use it implemented (or find someone else to help them with that), I'll go ahead and put it on up. Basically, if it's already written and internally tested, and just waiting on the next big Firestorm rollout, that's a good enough fulfillment.
          Hide
          Agent Tairov added a comment -

          Just an update for the other watchers. Apparently, there is some work going on with this. I've been asked to test a build with the preproc ported over from NaCl, but it's not ready yet.

          Show
          Agent Tairov added a comment - Just an update for the other watchers. Apparently, there is some work going on with this. I've been asked to test a build with the preproc ported over from NaCl, but it's not ready yet.
          Hide
          Whirly Fizzle added a comment -

          Testing Tanks lslpp build.

          Crashed to desktop when changing any numbers within object window on edit floater as soon as I hit enter.
          Viewer logs show nothing, cant get a callstack unless I build it.

          Firestorm 4.1.1 (27050) Mar 26 2012 11:57:21 (Firestorm-lslpp)
          Release Notes

          CPU: Intel(R) Core(TM)2 Quad CPU Q8300 @ 2.50GHz (2493.75 MHz)
          Memory: 3326 MB
          OS Version: Microsoft Windows Vista 32-bit Service Pack 2 (Build 6002)
          Graphics Card Vendor: NVIDIA Corporation
          Graphics Card: GeForce GT 230/PCIe/SSE2

          Windows Graphics Driver Version: 8.17.0012.9573
          OpenGL Version: 3.3.0

          RestrainedLove API: (disabled)
          libcurl Version: libcurl/7.21.1 OpenSSL/0.9.8q zlib/1.2.5 c-ares/1.7.1
          J2C Decoder Version: KDU
          Audio Driver Version: FMOD version 3.750000
          Qt Webkit Version: 4.7.1 (version number hard-coded)
          Voice Server Version: Not Connected
          Settings mode: Firestorm
          Viewer Skin: firestorm (grey)
          Font Used: Deja Vu (96)
          Draw distance : 128
          Bandwidth : 1000
          LOD factor : 2
          Built with MSVC version 1600

          Show
          Whirly Fizzle added a comment - Testing Tanks lslpp build. Crashed to desktop when changing any numbers within object window on edit floater as soon as I hit enter. Viewer logs show nothing, cant get a callstack unless I build it. Firestorm 4.1.1 (27050) Mar 26 2012 11:57:21 (Firestorm-lslpp) Release Notes CPU: Intel(R) Core(TM)2 Quad CPU Q8300 @ 2.50GHz (2493.75 MHz) Memory: 3326 MB OS Version: Microsoft Windows Vista 32-bit Service Pack 2 (Build 6002) Graphics Card Vendor: NVIDIA Corporation Graphics Card: GeForce GT 230/PCIe/SSE2 Windows Graphics Driver Version: 8.17.0012.9573 OpenGL Version: 3.3.0 RestrainedLove API: (disabled) libcurl Version: libcurl/7.21.1 OpenSSL/0.9.8q zlib/1.2.5 c-ares/1.7.1 J2C Decoder Version: KDU Audio Driver Version: FMOD version 3.750000 Qt Webkit Version: 4.7.1 (version number hard-coded) Voice Server Version: Not Connected Settings mode: Firestorm Viewer Skin: firestorm (grey) Font Used: Deja Vu (96) Draw distance : 128 Bandwidth : 1000 LOD factor : 2 Built with MSVC version 1600
          Hide
          Agent Tairov added a comment -

          Yeah, my friend and I find the same issue last night, and Tank was able to repro it. I didn't find any other noticeable issues, and I ran some tests compiling scripts with the preprocessor successfully.

          Show
          Agent Tairov added a comment - Yeah, my friend and I find the same issue last night, and Tank was able to repro it. I didn't find any other noticeable issues, and I ran some tests compiling scripts with the preprocessor successfully.
          Hide
          Kadah Coba added a comment -

          Crashed to desktop when changing any numbers within object window on edit floater as soon as I hit enter.

          This would be from the Boost update to include Boost Wave. llcalc requires some old namespace that, according to what I remember Chal saying, causes just this problem to happen.

          Show
          Kadah Coba added a comment - Crashed to desktop when changing any numbers within object window on edit floater as soon as I hit enter. This would be from the Boost update to include Boost Wave. llcalc requires some old namespace that, according to what I remember Chal saying, causes just this problem to happen.
          Hide
          Whirly Fizzle added a comment - - edited

          Callstack:

          >	firestorm-bin.exe!LLCalc::evalString(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & expression, float & result)  Line 161 + 0xb7 bytes	C++
           	firestorm-bin.exe!LLLineEditor::evaluateFloat()  Line 2366 + 0x14 bytes	C++
           	firestorm-bin.exe!LLSpinCtrl::onEditorCommit(const LLSD & data)  Line 319 + 0xe bytes	C++
           	firestorm-bin.exe!boost::detail::function::void_function_obj_invoker2<boost::_bi::bind_t<void,boost::_mfi::mf1<void,LLFloaterUIPreview,LLSD const &>,boost::_bi::list2<boost::_bi::value<LLFloaterUIPreview *>,boost::arg<2> > >,void,LLUICtrl *,LLSD const &>::invoke(boost::detail::function::function_buffer & function_obj_ptr, LLUICtrl * a0, const LLSD & a1)  Line 154	C++
           	firestorm-bin.exe!boost::signals2::detail::signal2_impl<void,LLControlVariable *,LLSD const &,boost::signals2::optional_last_value<void>,int,std::less<int>,boost::function<void __cdecl(LLControlVariable *,LLSD const &)>,boost::function<void __cdecl(boost::signals2::connection const &,LLControlVariable *,LLSD const &)>,boost::signals2::mutex>::slot_invoker::operator()(const boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<enum boost::signals2::detail::slot_meta_group,boost::optional<int> >,boost::signals2::slot2<void,LLControlVariable *,LLSD const &,boost::function<void __cdecl(LLControlVariable *,LLSD const &)> >,boost::signals2::mutex> > & connectionBody)  Line 340 + 0x4c bytes	C++
           	firestorm-bin.exe!boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::signal2_impl<void,LLControlVariable *,LLSD const &,boost::signals2::optional_last_value<void>,int,std::less<int>,boost::function<void __cdecl(LLControlVariable *,LLSD const &)>,boost::function<void __cdecl(boost::signals2::connection const &,LLControlVariable *,LLSD const &)>,boost::signals2::mutex>::slot_invoker,std::_List_iterator<std::_List_val<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<enum boost::signals2::detail::slot_meta_group,boost::optional<int> >,boost::signals2::slot2<void,LLControlVariable *,LLSD const &,boost::function<void __cdecl(LLControlVariable *,LLSD const &)> >,boost::signals2::mutex> >,std::allocator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<enum boost::signals2::detail::slot_meta_group,boost::optional<int> >,boost::signals2::slot2<void,LLControlVariable *,LLSD const &,boost::function<void __cdecl(LLControlVariable *,LLSD const &)> >,boost::signals2::mutex> > > > >,boost::signals2::detail::connection_body<std::pair<enum boost::signals2::detail::slot_meta_group,boost::optional<int> >,boost::signals2::slot2<void,LLControlVariable *,LLSD const &,boost::function<void __cdecl(LLControlVariable *,LLSD const &)> >,boost::signals2::mutex> >::dereference()  Line 82 + 0x1c bytes	C++
           	firestorm-bin.exe!boost::signals2::optional_last_value<void>::operator()<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::signal2_impl<void,LLControlVariable *,LLSD const &,boost::signals2::optional_last_value<void>,int,std::less<int>,boost::function<void __cdecl(LLControlVariable *,LLSD const &)>,boost::function<void __cdecl(boost::signals2::connection const &,LLControlVariable *,LLSD const &)>,boost::signals2::mutex>::slot_invoker,std::_List_iterator<std::_List_val<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<enum boost::signals2::detail::slot_meta_group,boost::optional<int> >,boost::signals2::slot2<void,LLControlVariable *,LLSD const &,boost::function<void __cdecl(LLControlVariable *,LLSD const &)> >,boost::signals2::mutex> >,std::allocator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<enum boost::signals2::detail::slot_meta_group,boost::optional<int> >,boost::signals2::slot2<void,LLControlVariable *,LLSD const &,boost::function<void __cdecl(LLControlVariable *,LLSD const &)> >,boost::signals2::mutex> > > > >,boost::signals2::detail::connection_body<std::pair<enum boost::signals2::detail::slot_meta_group,boost::optional<int> >,boost::signals2::slot2<void,LLControlVariable *,LLSD const &,boost::function<void __cdecl(LLControlVariable *,LLSD const &)> >,boost::signals2::mutex> > >(boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::signal2_impl<void,LLControlVariable *,LLSD const &,boost::signals2::optional_last_value<void>,int,std::less<int>,boost::function<void __cdecl(LLControlVariable *,LLSD const &)>,boost::function<void __cdecl(boost::signals2::connection const &,LLControlVariable *,LLSD const &)>,boost::signals2::mutex>::slot_invoker,std::_List_iterator<std::_List_val<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<enum boost::signals2::detail::slot_meta_group,boost::optional<int> >,boost::signals2::slot2<void,LLControlVariable *,LLSD const &,boost::function<void __cdecl(LLControlVariable *,LLSD const &)> >,boost::signals2::mutex> >,std::allocator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<enum boost::signals2::detail::slot_meta_group,boost::optional<int> >,boost::signals2::slot2<void,LLControlVariable *,LLSD const &,boost::function<void __cdecl(LLControlVariable *,LLSD const &)> >,boost::signals2::mutex> > > > > first, boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::signal2_impl<void,LLControlVariable *,LLSD const &,boost::signals2::optional_last_value<void>,int,std::less<int>,boost::function<void __cdecl(LLControlVariable *,LLSD const &)>,boost::function<void __cdecl(boost::signals2::connection const &,LLControlVariable *,LLSD const &)>,boost::signals2::mutex>::slot_invoker,std::_List_iterator<std::_List_val<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<enum boost::signals2::detail::slot_meta_group,boost::optional<int> >,boost::signals2::slot2<void,LLControlVariable *,LLSD const &,boost::function<void __cdecl(LLControlVariable *,LLSD const &)> >,boost::signals2::mutex> >,std::allocator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair<enum boost::signals2::detail::slot_meta_group,boost::optional<int> >,boost::signals2::slot2<void,LLControlVariable *,LLSD const &,boost::function<void __cdecl(LLControlVariable *,LLSD const &)> >,boost::signals2::mutex> > > > > last)  Line 65535	C++
           	firestorm-bin.exe!boost::signals2::detail::signal2_impl<void,LLUICtrl *,LLSD const &,boost::signals2::optional_last_value<void>,int,std::less<int>,boost::function<void __cdecl(LLUICtrl *,LLSD const &)>,boost::function<void __cdecl(boost::signals2::connection const &,LLUICtrl *,LLSD const &)>,boost::signals2::mutex>::operator()(LLUICtrl * arg1, const LLSD & arg2)  Line 246 + 0xa4 bytes	C++
           	firestorm-bin.exe!LLUICtrl::onCommit()  Line 380 + 0x27 bytes	C++
           	firestorm-bin.exe!LLLineEditor::onCommit()  Line 313	C++
           	firestorm-bin.exe!LLPanel::handleKeyHere(unsigned char key, unsigned int mask)  Line 338	C++
           	firestorm-bin.exe!LLView::handleKey(unsigned char key, unsigned int mask, int called_from_parent)  Line 915 + 0x18 bytes	C++
           	firestorm-bin.exe!LLView::handleKey(unsigned char key, unsigned int mask, int called_from_parent)  Line 929	C++
           	firestorm-bin.exe!LLView::handleKey(unsigned char key, unsigned int mask, int called_from_parent)  Line 929	C++
           	firestorm-bin.exe!LLViewerWindow::handleKey(unsigned char key, unsigned int mask)  Line 2659 + 0xd bytes	C++
           	firestorm-bin.exe!LLViewerKeyboard::handleKey(unsigned char translated_key, unsigned int translated_mask, int repeated)  Line 721 + 0x1a bytes	C++
           	firestorm-bin.exe!LLViewerWindow::handleUnicodeChar(unsigned int uni_char, unsigned int mask)  Line 2728 + 0x1d bytes	C++
           	firestorm-bin.exe!LLWindow::handleUnicodeUTF16(unsigned short utf16, unsigned int mask)  Line 271 + 0x12 bytes	C++
           	firestorm-bin.exe!LLWindowWin32::mainWindowProc(HWND__ * h_wnd, unsigned int u_msg, unsigned int w_param, long l_param)  Line 2162	C++
           	user32.dll!_InternalCallWinProc@20()  + 0x23 bytes	
           	user32.dll!_UserCallWinProcCheckWow@32()  + 0xb3 bytes	
           	user32.dll!_CallWindowProcAorW@24()  + 0x51 bytes	
           	user32.dll!_CallWindowProcW@20()  + 0x1b bytes	
           	opengl32.dll!_wglWndProc@16()  + 0x20e bytes	
           	user32.dll!_InternalCallWinProc@20()  + 0x23 bytes	
           	user32.dll!_UserCallWinProcCheckWow@32()  + 0xb3 bytes	
           	user32.dll!_DispatchMessageWorker@8()  + 0x19e bytes	
           	user32.dll!_DispatchMessageW@4()  + 0xf bytes	
           	firestorm-bin.exe!LLWindowWin32::gatherInput()  Line 1770	C++
           	firestorm-bin.exe!LLAppViewer::mainLoop()  Line 1337	C++
           	firestorm-bin.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, char * lpCmdLine, int nCmdShow)  Line 172	C++
           	firestorm-bin.exe!__tmainCRTStartup()  Line 547 + 0x1c bytes	C
           	kernel32.dll!@BaseThreadInitThunk@12()  + 0x12 bytes	
           	ntdll.dll!___RtlUserThreadStart@8()  + 0x27 bytes	
           	ntdll.dll!__RtlUserThreadStart@8()  + 0x1b bytes	
          

          Running lslpp build:
          Firestorm 4.1.1 (27053) Mar 29 2012 02:04:56 (Firestorm-Fizzlefire)
          Release Notes

          CPU: Intel(R) Core(TM)2 Quad CPU Q8300 @ 2.50GHz (2493.74 MHz)
          Memory: 3326 MB
          OS Version: Microsoft Windows Vista 32-bit Service Pack 2 (Build 6002)
          Graphics Card Vendor: NVIDIA Corporation
          Graphics Card: GeForce GT 230/PCIe/SSE2

          Windows Graphics Driver Version: 8.17.0012.9573
          OpenGL Version: 3.3.0

          RestrainedLove API: (disabled)
          libcurl Version: libcurl/7.21.1 OpenSSL/0.9.8q zlib/1.2.5 c-ares/1.7.1
          J2C Decoder Version: KDU
          Audio Driver Version: FMOD version 3.750000
          Qt Webkit Version: 4.7.1 (version number hard-coded)
          Voice Server Version: Not Connected
          Settings mode: Hybrid
          Viewer Skin: metaharper (cool_ocean)
          Font Used: Deja Vu (96)
          Draw distance : 256
          Bandwidth : 1900
          LOD factor : 3
          Built with MSVC version 1600

          Show
          Whirly Fizzle added a comment - - edited Callstack: > firestorm-bin.exe!LLCalc::evalString( const std::basic_string< char ,std::char_traits< char >,std::allocator< char > > & expression, float & result) Line 161 + 0xb7 bytes C++ firestorm-bin.exe!LLLineEditor::evaluateFloat() Line 2366 + 0x14 bytes C++ firestorm-bin.exe!LLSpinCtrl::onEditorCommit( const LLSD & data) Line 319 + 0xe bytes C++ firestorm-bin.exe!boost::detail::function::void_function_obj_invoker2<boost::_bi::bind_t<void,boost::_mfi::mf1<void,LLFloaterUIPreview,LLSD const &>,boost::_bi::list2<boost::_bi::value<LLFloaterUIPreview *>,boost::arg<2> > >,void,LLUICtrl *,LLSD const &>::invoke(boost::detail::function::function_buffer & function_obj_ptr, LLUICtrl * a0, const LLSD & a1) Line 154 C++ firestorm-bin.exe!boost::signals2::detail::signal2_impl<void,LLControlVariable *,LLSD const &,boost::signals2::optional_last_value<void>, int ,std::less< int >,boost::function<void __cdecl(LLControlVariable *,LLSD const &)>,boost::function<void __cdecl(boost::signals2::connection const &,LLControlVariable *,LLSD const &)>,boost::signals2::mutex>::slot_invoker:: operator ()( const boost::shared_ptr<boost::signals2::detail::connection_body<std::pair< enum boost::signals2::detail::slot_meta_group,boost::optional< int > >,boost::signals2::slot2<void,LLControlVariable *,LLSD const &,boost::function<void __cdecl(LLControlVariable *,LLSD const &)> >,boost::signals2::mutex> > & connectionBody) Line 340 + 0x4c bytes C++ firestorm-bin.exe!boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::signal2_impl<void,LLControlVariable *,LLSD const &,boost::signals2::optional_last_value<void>, int ,std::less< int >,boost::function<void __cdecl(LLControlVariable *,LLSD const &)>,boost::function<void __cdecl(boost::signals2::connection const &,LLControlVariable *,LLSD const &)>,boost::signals2::mutex>::slot_invoker,std::_List_iterator<std::_List_val<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair< enum boost::signals2::detail::slot_meta_group,boost::optional< int > >,boost::signals2::slot2<void,LLControlVariable *,LLSD const &,boost::function<void __cdecl(LLControlVariable *,LLSD const &)> >,boost::signals2::mutex> >,std::allocator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair< enum boost::signals2::detail::slot_meta_group,boost::optional< int > >,boost::signals2::slot2<void,LLControlVariable *,LLSD const &,boost::function<void __cdecl(LLControlVariable *,LLSD const &)> >,boost::signals2::mutex> > > > >,boost::signals2::detail::connection_body<std::pair< enum boost::signals2::detail::slot_meta_group,boost::optional< int > >,boost::signals2::slot2<void,LLControlVariable *,LLSD const &,boost::function<void __cdecl(LLControlVariable *,LLSD const &)> >,boost::signals2::mutex> >::dereference() Line 82 + 0x1c bytes C++ firestorm-bin.exe!boost::signals2::optional_last_value<void>:: operator ()<boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::signal2_impl<void,LLControlVariable *,LLSD const &,boost::signals2::optional_last_value<void>, int ,std::less< int >,boost::function<void __cdecl(LLControlVariable *,LLSD const &)>,boost::function<void __cdecl(boost::signals2::connection const &,LLControlVariable *,LLSD const &)>,boost::signals2::mutex>::slot_invoker,std::_List_iterator<std::_List_val<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair< enum boost::signals2::detail::slot_meta_group,boost::optional< int > >,boost::signals2::slot2<void,LLControlVariable *,LLSD const &,boost::function<void __cdecl(LLControlVariable *,LLSD const &)> >,boost::signals2::mutex> >,std::allocator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair< enum boost::signals2::detail::slot_meta_group,boost::optional< int > >,boost::signals2::slot2<void,LLControlVariable *,LLSD const &,boost::function<void __cdecl(LLControlVariable *,LLSD const &)> >,boost::signals2::mutex> > > > >,boost::signals2::detail::connection_body<std::pair< enum boost::signals2::detail::slot_meta_group,boost::optional< int > >,boost::signals2::slot2<void,LLControlVariable *,LLSD const &,boost::function<void __cdecl(LLControlVariable *,LLSD const &)> >,boost::signals2::mutex> > >(boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::signal2_impl<void,LLControlVariable *,LLSD const &,boost::signals2::optional_last_value<void>, int ,std::less< int >,boost::function<void __cdecl(LLControlVariable *,LLSD const &)>,boost::function<void __cdecl(boost::signals2::connection const &,LLControlVariable *,LLSD const &)>,boost::signals2::mutex>::slot_invoker,std::_List_iterator<std::_List_val<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair< enum boost::signals2::detail::slot_meta_group,boost::optional< int > >,boost::signals2::slot2<void,LLControlVariable *,LLSD const &,boost::function<void __cdecl(LLControlVariable *,LLSD const &)> >,boost::signals2::mutex> >,std::allocator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair< enum boost::signals2::detail::slot_meta_group,boost::optional< int > >,boost::signals2::slot2<void,LLControlVariable *,LLSD const &,boost::function<void __cdecl(LLControlVariable *,LLSD const &)> >,boost::signals2::mutex> > > > > first, boost::signals2::detail::slot_call_iterator_t<boost::signals2::detail::signal2_impl<void,LLControlVariable *,LLSD const &,boost::signals2::optional_last_value<void>, int ,std::less< int >,boost::function<void __cdecl(LLControlVariable *,LLSD const &)>,boost::function<void __cdecl(boost::signals2::connection const &,LLControlVariable *,LLSD const &)>,boost::signals2::mutex>::slot_invoker,std::_List_iterator<std::_List_val<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair< enum boost::signals2::detail::slot_meta_group,boost::optional< int > >,boost::signals2::slot2<void,LLControlVariable *,LLSD const &,boost::function<void __cdecl(LLControlVariable *,LLSD const &)> >,boost::signals2::mutex> >,std::allocator<boost::shared_ptr<boost::signals2::detail::connection_body<std::pair< enum boost::signals2::detail::slot_meta_group,boost::optional< int > >,boost::signals2::slot2<void,LLControlVariable *,LLSD const &,boost::function<void __cdecl(LLControlVariable *,LLSD const &)> >,boost::signals2::mutex> > > > > last) Line 65535 C++ firestorm-bin.exe!boost::signals2::detail::signal2_impl<void,LLUICtrl *,LLSD const &,boost::signals2::optional_last_value<void>, int ,std::less< int >,boost::function<void __cdecl(LLUICtrl *,LLSD const &)>,boost::function<void __cdecl(boost::signals2::connection const &,LLUICtrl *,LLSD const &)>,boost::signals2::mutex>:: operator ()(LLUICtrl * arg1, const LLSD & arg2) Line 246 + 0xa4 bytes C++ firestorm-bin.exe!LLUICtrl::onCommit() Line 380 + 0x27 bytes C++ firestorm-bin.exe!LLLineEditor::onCommit() Line 313 C++ firestorm-bin.exe!LLPanel::handleKeyHere(unsigned char key, unsigned int mask) Line 338 C++ firestorm-bin.exe!LLView::handleKey(unsigned char key, unsigned int mask, int called_from_parent) Line 915 + 0x18 bytes C++ firestorm-bin.exe!LLView::handleKey(unsigned char key, unsigned int mask, int called_from_parent) Line 929 C++ firestorm-bin.exe!LLView::handleKey(unsigned char key, unsigned int mask, int called_from_parent) Line 929 C++ firestorm-bin.exe!LLViewerWindow::handleKey(unsigned char key, unsigned int mask) Line 2659 + 0xd bytes C++ firestorm-bin.exe!LLViewerKeyboard::handleKey(unsigned char translated_key, unsigned int translated_mask, int repeated) Line 721 + 0x1a bytes C++ firestorm-bin.exe!LLViewerWindow::handleUnicodeChar(unsigned int uni_char, unsigned int mask) Line 2728 + 0x1d bytes C++ firestorm-bin.exe!LLWindow::handleUnicodeUTF16(unsigned short utf16, unsigned int mask) Line 271 + 0x12 bytes C++ firestorm-bin.exe!LLWindowWin32::mainWindowProc(HWND__ * h_wnd, unsigned int u_msg, unsigned int w_param, long l_param) Line 2162 C++ user32.dll!_InternalCallWinProc@20() + 0x23 bytes user32.dll!_UserCallWinProcCheckWow@32() + 0xb3 bytes user32.dll!_CallWindowProcAorW@24() + 0x51 bytes user32.dll!_CallWindowProcW@20() + 0x1b bytes opengl32.dll!_wglWndProc@16() + 0x20e bytes user32.dll!_InternalCallWinProc@20() + 0x23 bytes user32.dll!_UserCallWinProcCheckWow@32() + 0xb3 bytes user32.dll!_DispatchMessageWorker@8() + 0x19e bytes user32.dll!_DispatchMessageW@4() + 0xf bytes firestorm-bin.exe!LLWindowWin32::gatherInput() Line 1770 C++ firestorm-bin.exe!LLAppViewer::mainLoop() Line 1337 C++ firestorm-bin.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, char * lpCmdLine, int nCmdShow) Line 172 C++ firestorm-bin.exe!__tmainCRTStartup() Line 547 + 0x1c bytes C kernel32.dll!@BaseThreadInitThunk@12() + 0x12 bytes ntdll.dll!___RtlUserThreadStart@8() + 0x27 bytes ntdll.dll!__RtlUserThreadStart@8() + 0x1b bytes Running lslpp build: Firestorm 4.1.1 (27053) Mar 29 2012 02:04:56 (Firestorm-Fizzlefire) Release Notes CPU: Intel(R) Core(TM)2 Quad CPU Q8300 @ 2.50GHz (2493.74 MHz) Memory: 3326 MB OS Version: Microsoft Windows Vista 32-bit Service Pack 2 (Build 6002) Graphics Card Vendor: NVIDIA Corporation Graphics Card: GeForce GT 230/PCIe/SSE2 Windows Graphics Driver Version: 8.17.0012.9573 OpenGL Version: 3.3.0 RestrainedLove API: (disabled) libcurl Version: libcurl/7.21.1 OpenSSL/0.9.8q zlib/1.2.5 c-ares/1.7.1 J2C Decoder Version: KDU Audio Driver Version: FMOD version 3.750000 Qt Webkit Version: 4.7.1 (version number hard-coded) Voice Server Version: Not Connected Settings mode: Hybrid Viewer Skin: metaharper (cool_ocean) Font Used: Deja Vu (96) Draw distance : 256 Bandwidth : 1900 LOD factor : 3 Built with MSVC version 1600
          Hide
          Agent Tairov added a comment -

          Just did a quick test on a recent build. Was able to manually enter numbers into the floaters like I should be, and compile some scripts using the preproc. Haven't had enough time to test it further.

          Show
          Agent Tairov added a comment - Just did a quick test on a recent build. Was able to manually enter numbers into the floaters like I should be, and compile some scripts using the preproc. Haven't had enough time to test it further.
          Hide
          Whirly Fizzle added a comment -

          Confirming Nickys crash fix appears to be working. Same observations as Agent, I can now enter numbers into edit floater & not crash when I hit enter.

          Show
          Whirly Fizzle added a comment - Confirming Nickys crash fix appears to be working. Same observations as Agent, I can now enter numbers into edit floater & not crash when I hit enter.
          Hide
          Tank Master added a comment -

          pushed to main LGPL repo (27176)

          Show
          Tank Master added a comment - pushed to main LGPL repo (27176)
          Hide
          Whirly Fizzle added a comment -
          Show
          Whirly Fizzle added a comment - Fixed rev 27176 ( http://hg.phoenixviewer.com/phoenix-firestorm-lgpl/rev/d45210cc257e )
          Hide
          Agent Tairov added a comment -

          Looks like it's confirmed to be going in, then. Excellent! LSL Tools is being refactored, and moving over the GUI and documentation generator are waiting until more of it is complete. (Which is currently on hold due to course work.) Of course, it can't work with Firestorm until it has some sort of import/export, but it does work with Phoenix. You can find the repository here: https://bitbucket.org/greeblers/lsltools/overview

          Show
          Agent Tairov added a comment - Looks like it's confirmed to be going in, then. Excellent! LSL Tools is being refactored, and moving over the GUI and documentation generator are waiting until more of it is complete. (Which is currently on hold due to course work.) Of course, it can't work with Firestorm until it has some sort of import/export, but it does work with Phoenix. You can find the repository here: https://bitbucket.org/greeblers/lsltools/overview
          Hide
          Whirly Fizzle added a comment -

          Thanks Agent!
          I made an issue to track the addition of the LSL tools at FIRE-6183 & I left you an IM about giving the Preproc some testing.

          Show
          Whirly Fizzle added a comment - Thanks Agent! I made an issue to track the addition of the LSL tools at FIRE-6183 & I left you an IM about giving the Preproc some testing.

            People

            • Assignee:
              Tank Master
              Reporter:
              Agent Tairov
            • Votes:
              5 Vote for this issue
              Watchers:
              5 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: