Commit Graph

3836 Commits

Author SHA1 Message Date
Shyotl
94f61ce307 A few nullchecks in the particle system. Had a null drawable pop up. 2012-10-24 03:20:32 -05:00
Shyotl
b57f7cdc79 Fixed various specular/glow effects bleeding through fullbright objects in deferred. 2012-10-24 03:19:53 -05:00
Shyotl
c901a7136f I freaking swear LL breaks hud attachment lighting in some way every few months. *Grumble* 2012-10-23 17:24:08 -05:00
Aleric Inglewood
243db9a3a8 Moved mFinished/is_finished() from LegacyPolledResponder to Responder.
Slightly more robust, adds one boolean to all responders, 99%
of which don't need that though, and an extra call redirection,
but well... We might need it this way when I add the possibility
to abort a transfer.
2012-10-22 22:52:18 +02:00
Shyotl
a5ef61ac82 Avoid std::vector::erase in particle system (erase in any sequence-independent vector is a waste as it shifts all elements to maintain element-ordering and contiguity). Replaced with swap and pop. 2012-10-22 15:46:12 -05:00
Shyotl
9e272aeef0 Still need to initialize flexis upon their very first idle update, else you get an ugly polygon soup when they first appear. 2012-10-22 15:32:33 -05:00
Shyotl
5c45979783 Resolve issue with sculpties loading with incorrect discard levels. 2012-10-22 15:26:53 -05:00
Shyotl
02f214d8a7 Clear object rebuild queues upon teleport. 2012-10-22 15:25:02 -05:00
Aleric Inglewood
daac25c343 Bug fix, introduced in commit 0bee4a92 2012-10-22 20:31:33 +02:00
Aleric Inglewood
768f1b5710 Fixes blocking_request. Adds LegacyPolledResponder and BlockingResponder.
XMLRPCResponder also uses the new LegacyPolledResponder now.
Renamed http_result() -> http_status().
2012-10-22 20:19:44 +02:00
Shyotl
5b4b9fd169 Durr, missed a line when adding attached light muting. Clobbered when diffing. Incrementing in a for loop is kinda important! Our handling in this function differes from LL in the firstplace because they are performing iteration on an iterator that can be invalid after the erase. 2012-10-22 03:17:33 -05:00
Shyotl
7dea357f4c Picked up a few small changes from viewer-beta pertaining to pathfinding. 2012-10-22 03:08:51 -05:00
Shyotl
9ef10b1663 Muting an avatar now also removes their attached lights. Also cleaned up light update code(no change in behavior) 2012-10-22 03:07:07 -05:00
Shyotl
d2004e88f9 MatrixMode sanity checks and adjustments to physics debug display (fixes a crash with that debug view, too) 2012-10-22 03:05:18 -05:00
Shyotl
ef27cc54dd Fixed unsafe erasure from vector while iterating in llinventorybackup.cpp. 2012-10-22 02:56:41 -05:00
Shyotl
19390eaec3 Remove pointless framebuffer status check. glReadBuffer doesn't work with gl_depth_attachment, thus will always complain about readbuffer being absent. (it checks GL_COLOR_ATTACHMENT0, which isn't present because this check is before we attach color attachments.) 2012-10-22 02:55:21 -05:00
Shyotl
dff6171605 More alignment crap. 2012-10-22 02:51:41 -05:00
Shyotl
4fe84efafd Unbork shadow shaders by tweaking normal unpack. 2012-10-22 02:51:28 -05:00
Shyotl
ed4997168b LLViewerObject::idleUpdate now returns void. Texture animations/flexis now have their own update queues. 2012-10-22 02:50:04 -05:00
Aleric Inglewood
b92de9beb5 Done as part of AIHTTPTimeout 2012-10-22 02:20:20 +02:00
Aleric Inglewood
7f50b2ba7b Add XMLRPC support to LLHTTPClient and that instead of LLXMLRPCTransaction 2012-10-22 01:59:17 +02:00
Aleric Inglewood
c35bc71334 Fix crash when libcurl calls read callback before calling socket callback.
In days of usage this has never happened before, but apparently
it's possible. The solution chosen is to create the AIHTTPTimeout
object on the fly when it doesn't exist and let it be picked up
later when the CurlSocketInfo for the transfer is created.
2012-10-22 00:53:54 +02:00
Shyotl
413a8111c0 PASS_INVISI_SHINY never issued. Commented out some unused code. 2012-10-21 17:16:22 -05:00
Shyotl
5be31898f1 Don't compile avatar eye shader, as it isn't used anywhere. 2012-10-21 17:14:29 -05:00
Shyotl
44faf3e169 Removed annoying attribute consumption warnings. Alpha pass was leaving shader bound, which hosed up updateCull for water reflections (updateCull only binds occlusion shader if another shader isn't currently bound) 2012-10-21 17:14:00 -05:00
Aleric Inglewood
937a60c8f9 Add AIHTTPReceivedHeaders
This fixes the problem that existed with received headers:
The server sends some headers ("set-cookie") more than once
in the same reply, which cannot be stored in std::map.
The old code just ignored the additional cookies, while
curlthreading3 (since the introduction of AIHTTPHeaders)
caused an assertion.

AIHTTPReceivedHeaders is written around a std::multimap
and allows to retrieve multiple headers with the same key.
Also, it is case insensitive so that if a server sends
"Content-Type" it will still find it (the viewer looks for
"content-type").
2012-10-21 17:45:46 +02:00
Aleric Inglewood
f7626699da Bug fix: (correctly) revoke CurlResponderBuffer events. 2012-10-21 17:28:22 +02:00
Lirusaito
ad97c72821 Use smaller horizontal chat tabs, where possible. 2012-10-21 11:19:03 -04:00
Lirusaito
b7ce7b7dab Tiny LLWorld silliness fix up 2012-10-21 11:18:49 -04:00
Shyotl
b73f4dd8e4 Catch up with viewer-beta. Primarily sim transition alterations to reduce frame hitching, and some optimization in LLViewerObjectList (std::set -> std::vector and and some allocation tweakage). 2012-10-20 17:02:43 -05:00
Aleric Inglewood
a4bf92dae4 Add CURLcode and TransferInfo to completed_headers event. 2012-10-20 23:56:19 +02:00
Aleric Inglewood
1e745ba48b Curl work in progress.
Minor changes like comment fixes and addition of accessors
that will be needed for future commits.
Also removed Responder::fatalError as it was never used.
2012-10-20 23:52:34 +02:00
Aleric Inglewood
f8273e977e Make NoVerifySSLCert work for all LLURLRequest
Moved CURLOPT_ENCODING from CurlEasyRequest::setPost_raw, and
CURLOPT_SSL_VERIFYPEER and CURLOPT_SSL_VERIFYHOST from
CurlResponderBuffer::prepRequest, to LLURLRequest::configure,
enabling the debug setting NoVerifySSLCert for the latter
two to work as follows: old behavior if "NoVerifySSLCert"
is not set, and check neither if it is set. However, if
the (new) bool mIsAuth is set the behavior of LLXMLRPCTransaction::Impl::init
is used. This is so in a next commit we can replace
LLXMLRPCTransaction with LLURLRequest: LLXMLRPCTransaction::Impl::init
will be removed. For the same reason, when the new boolean
mNoCompression is set then CURLOPT_ENCODING is set to "identity",
otherwise the old behavior (of clearing it) is used.
2012-10-20 23:28:33 +02:00
Aleric Inglewood
605843b527 HTTP status of 400 is an error too. 2012-10-20 21:47:31 +02:00
Siana Gearz
71d2bd83aa Fix inconsistent link/unlink checking 2012-10-17 13:41:30 +02:00
Siana Gearz
a12704c6a3 Don't eat my mouse when i might be debugging 2012-10-17 13:39:54 +02:00
Shyotl
43271f290e A few more alignment bits and bobs. 2012-10-16 20:07:04 -05:00
Shyotl
7533b475be TCMalloc can now be manually disabled via develop.py -DDISABLE_TCMALLOC:BOOL=ON 2012-10-16 17:15:23 -05:00
Shyotl
1b89e5c973 Dragged in a bunch of alignment fixes from LL. Should allow disabling of tcmalloc on windows/linux32 if such is ever implemented. 2012-10-16 02:33:05 -05:00
Aleric Inglewood
8ba127d4c5 HTTPTimeout work in progress
* Avoid using CurlEasyRequest::mTimeout for HTTPTime::done and
  HTTPTime::print_diagnostics when it might be NULL.
* Comment fixes.
* Indentation fix.
2012-10-15 21:07:17 +02:00
Aleric Inglewood
bb8ea493d6 Fix top check in MultiHandle::check_run_count.
This check isn't really needed at all, since curl_multi_info_read
is fast enough, but well... The old check was flawed anyway.
2012-10-15 21:03:08 +02:00
Aleric Inglewood
02cffa9a71 Replace TimeOut with Timeout everywhere. 2012-10-15 21:01:16 +02:00
Aleric Inglewood
76fc30e460 HTTPTimeout work in progress.
* Moved DoutCurlEasy and DoutCurlEasyEntering from aicurl.cpp
  to aicurl.h and renamed them to DoutCurl and DoutCurlEntering
  respectively.
* Moved the callback functions from aicurl.cpp to aicurlthread.cpp.
* In CurlEasyRequest, renamed timeout_timings to print_curl_timings
  and mTimeoutLowercaseHostname to mLowercaseHostname.
* Put all remaining CurlEasyRequest::mTimeout* variables and
  timeout_* methods in curlthread::HTTPTimeout, stripping them
  of said prefix, and moved the definition to aicurlprivate.h.
  Added a ThreadSafeCurlEasyRequest* member and a get_lockobj()
  method so to that class so we can still use DoutCurl /
  DoutCurlEntering. timeout_add_easy_request was removed completely
  and reimplemented as the constructor of HTTPTimeout.
  timeout_has_stalled was renamed to HTTPTimeout::has_stalled,
  but also reimplemented as CurlEasyRequest::has_stalled.
* CurlEasyRequest::mRequestFinalized was removed and it's
  functionality taken over by CurlEasyRequest::mTimeoutPolicy.
* Fixed the indentation of struct Stats, class CurlEasyHandle
  and class CurlEasyRequest.
* Added CurlEasyRequest::set_timeout_opts
* Added CurlSocketInfo::mTimeout (LLPointer<HTTPTimeout>).
* mUploadFinished is now reset in HTTPTimeout::data_received,
  this was needed because "HEAD /something" header-only
  messages triggered upload_finished (unlike "GET ..."),
  and in combination with redirection that caused an assert.
2012-10-15 03:34:32 +02:00
Shyotl
e8ec81bf04 Experimentation with normalpacking and component precision. 2012-10-14 04:00:02 -05:00
Aleric Inglewood
9fba54ad5d On failed transfer, print CURLINFO_OS_ERRNO when available. 2012-10-14 03:13:32 +02:00
Aleric Inglewood
ccd98c3c3d Fix comment. 2012-10-14 02:55:45 +02:00
Aleric Inglewood
2539e41e59 Avoid problems in case a host also resolves to IPv6 2012-10-14 02:53:36 +02:00
Aleric Inglewood
83312fbb74 Allow getinfo() to be called on a const CurlEasyRequest. 2012-10-14 02:45:58 +02:00
Aleric Inglewood
6134162f1c Merge remote-tracking branch 'singu/exp' 2012-10-14 00:57:07 +02:00
Lirusaito
fb713226a0 Merge branch 'master' of git://github.com/Shyotl/SingularityViewer 2012-10-12 13:50:56 -04:00