Commit Graph

4163 Commits

Author SHA1 Message Date
Aleric Inglewood
c516a71804 Move AIAlert* into namespace AIAlert and rename classes.
Instead of having several AI* classes, it turned out to be easier to
have a namespace: this allows me to define the classes in llcommon but
add (new) 'add' and 'add_modal' functions to 'AIAlert' in llui.
This is needed to avoid a collision with the 'add' functions in
LLNotificationsUtil.

The new add/add_modal makes it a lot easier to just show a caught
alert, prepending or appending new text: it turns out that that is
way more common then a re-throw.

Adjusted code as appropriate.
2013-11-05 22:30:02 +01:00
Aleric Inglewood
8ab9039ff6 Use " and ' instead of " and ' for new msgs in strings.xml.
Since it works... this might actually be better readable and therefore
easier to work with for the translators.
2013-11-05 18:10:05 +01:00
Aleric Inglewood
1a9cf9b013 Bug fix for 54b43f1ad7
Initialize mLastSimAccess.
2013-11-05 03:55:40 +01:00
Aleric Inglewood
2453c13e11 Add AIXMLLindenGenepool - redo of archetype export/import using AIXML*.
In order to remove code duplication, and as prove of concept,
I redid the linden_genepool archetype export and import (from the Edit
Appearance Floater), using AIXML and AIAlert.

The import/export code did shrink significantly, and became a lot
simpler. Although a new file pair (aixmllindengenepool.{cpp,h}) is
added to define the (de)serialization of the linden_genepool XML format,
that code is now centralized in one place, and still a lot simpler.

As a bonus however, every possible error is now semi-automatically
reported to the user with all details that might help to overcome
the problem, like file names and system errors.
2013-11-05 03:01:49 +01:00
Aleric Inglewood
d174b7fcf8 Add AIXMLRootElement, AIXMLElement, AIXMLParser and AIXMLElementParser
The AIXML* classes provide an Object Oriented way to serialize objects
to and from an XML file. Documentation is added at the top of aixml.cpp

These classes will be used by AIMultiGrid.
2013-11-05 03:01:48 +01:00
Aleric Inglewood
78673e4a94 Add AIFile - LLFile but throws AIAlertCode exceptions on error.
The code is the current errno.
2013-11-05 03:01:47 +01:00
Aleric Inglewood
193010e947 Add THROW_[MF]ALERT[EC] (AIArgs, AIAlert, AIAlertCode, AIAlertPrefix, AIAlertLine)
A system to throw errors that allow for easy error reporting to the user
by showing a translated pop-up alert box with the error message.

The messages use strings.xml for translation and allow the usual
replacement args (ie [FILE] is replaced with a filename).

The exceptions can be cascaded, by adding more (translated) text
when caught and then re-throwing the result.

Macros are being used to support adding a function name prefix
to a message of the current function that the exception is thrown
from.

The syntax is:

  <macro>(<line>);		to show 'line'
  <macro>(<alert>, <line>);	to append 'line' to a caught alert.
  <macro>(<line>, <alert>);	to prepend 'line' to a caught alert.

  where <macro> is one of:
  THROW_ALERT, THROW_MALERT, THROW_FALERT, THROW_FMALERT,
  THROW_ALERTE, THROW_MALERTE, THROW_FALERTE, THROW_FMALERTE, where
  M = modal, F = Function name.
  and where <line> is one of:

  <xmldesc>
  <xmldesc>, AIArgs<args>

  where <xmldesc> is a string literal that will be looked up
  in strings.xml, and <args> is:

  (<key>, <replacement>)[<args>]

  There are more variations of the macros to throw an arbitrary
  class (append _CLASS), include an int code (append C) or
  to store the current errno as code (append E).

  For example, THROW_MALERTC(code, ...), or THROW_FALERT_CLASS(Foobar, ...),
  where the ... is the same as for the macros above.

Documentation and example usage has been added to aialert.h.
2013-11-05 03:01:47 +01:00
Aleric Inglewood
54b43f1ad7 Cache the lookup of the sim access level.
Being part of the state line, it is called every frame, causing a
translation lookup every frame.
2013-11-05 03:01:46 +01:00
Latif Khalifa
8dab5df746 Revert "Prevent LLFace::getGeometryVolume from overwriting vbos past their end."
This reverts commit 02067f973e.
2013-10-31 02:10:57 +01:00
Latif Khalifa
f1eab3f2c5 Added architecture fields to the crash report 2013-10-30 19:09:05 +01:00
Latif Khalifa
0933b8c43d Merge branch 'master' of https://github.com/MelanieT/SingularityViewer 2013-10-30 05:24:31 +01:00
Melanie
dfc965954e Remove attachments from the avatar's attached list before destroying them.
This should prevent the idle callbacks from accessing deleted attachments when looking for the CCS signature.
2013-10-29 22:26:58 +01:00
Latif Khalifa
02067f973e Prevent LLFace::getGeometryVolume from overwriting vbos past their end.
Possible fix for a crash in LLFace::getGeometryVolume()
Patch by NickyD/Firestorm
Crash signature: 14 and 20
2013-10-29 16:29:59 +01:00
Latif Khalifa
bdcc4189be Merge branch 'master' of git://github.com/Shyotl/SingularityViewer 2013-10-28 22:22:29 +01:00
Latif Khalifa
6b2628db44 Merge branch 'master' of git://github.com/Lirusaito/SingularityViewer 2013-10-28 22:22:22 +01:00
Latif Khalifa
d8728f17ee Don't install 64 bit viewer on 32 bit OS 2013-10-28 20:23:35 +01:00
Inusaito Sayori
8670f45287 Fix mouselook crosshair drawing properly 2013-10-28 12:22:58 -04:00
Shyotl
5e8c7264da Fix artifacts from local stash merge. 2013-10-26 19:58:54 -05:00
Shyotl
6474568125 Call updateLOD when geom enters rigged state. 2013-10-26 19:09:43 -05:00
Shyotl
c1feb11d98 SH-3860. Cloud on first load issue. I'm sure the inaccessible jira has more details... 2013-10-26 18:56:39 -05:00
Shyotl
30c5b9514e Let the rendertarget dictate internal format when resizing. 2013-10-26 18:09:34 -05:00
Shyotl
8e55d5499e Occlusion FBOs in deferred. 2013-10-26 18:07:56 -05:00
Shyotl
574022ed2c Made a few more fullbright face types occlude any glow behind them. 2013-10-26 18:01:36 -05:00
Shyotl
7c7c64bde3 Minor upstream catchup. Added LLImageRaw::duplicate and no_copy parameter to LLImageRaw::LLImageRaw 2013-10-26 16:39:31 -05:00
Shyotl
8441bc80a4 Use LLStaticHashedString for faster uniform lookup. 2013-10-26 16:26:46 -05:00
Inusaito Sayori
fcce986266 Fix crash signature 256 2013-10-24 02:38:47 -04:00
Latif Khalifa
bcfe5232fb Merge branch 'windows64' of github.com:lkalif/SingularityViewer 2013-10-24 01:37:45 +02:00
Latif Khalifa
6708019a40 Merge branch 'master' of git://github.com/AlericInglewood/SingularityViewer 2013-10-24 01:37:27 +02:00
Latif Khalifa
8565616c9d Merge branch 'master' of git://github.com/Shyotl/SingularityViewer 2013-10-24 01:37:19 +02:00
Shyotl
8e94c43a54 Fix a tp crash, and rework sound preloading slightly. 2013-10-23 17:23:20 -05:00
Inusaito Sayori
2b7e78cb3b That commit where I touch all the ascentprefs headers to make them conform to standard because it's been annoying me too long. 2013-10-23 17:47:33 -04:00
Inusaito Sayori
41303d0c9c Added "Log button opens external text editor (Windows only)" to Adv. Chat UI 2013-10-23 17:44:27 -04:00
Inusaito Sayori
fd42029a61 LLViewerWindow::handleKey(): Partial Fix for Issue 704: Keyboard shortcuts that should be passed to focused text fields are instead passed to selected prims when building
All edit keys now work, but Ctrl-A still doesn't work right, it must be grabbed by something else...
Adds LLFocusMgr::keyboardFocusHasAccelerators()
Adds virtual bool LLView::hasAccelerators() which returns false by default, overrides returning true placed in LLPreviewScript and LLPreviewNotecard
Shortcut keys added to notecard and script menu xmls

I'm thinking Qarl's Align tool handling may be receiving the Ctrl-A, we do seem to handle it differently than Exodus and Firestorm something modern could have broken the old way..
Come to think of it, those two features(Align and Select all prims) have a longstanding shortcut conflict in shortcuts... that's pretty nasty
2013-10-22 23:35:53 -04:00
Inusaito Sayori
574d0dab8d LLViewerWindow::handleKey(): Also handle keys for navigating through the displayed menu 2013-10-22 22:39:15 -04:00
Inusaito Sayori
1aee941cb6 LLViewerWindow::handleKey(): The work in progress bits of the sync, commented out 2013-10-22 09:19:38 -04:00
Inusaito Sayori
75ee99f4d5 LLViewerWindow::handleKey(): More harmlessness (sync)
Handle Tabbing through elements/floaters earlier.
Combine g*Menu*View handleKey() checks.
2013-10-22 09:08:41 -04:00
Inusaito Sayori
45cd0157ef LLViewerWindow::handleKey(): Code cleanup, bit of harmless sync
Moved Notifications Console into the advanced menu for login, so it's not shoved in as a hack, also a bit easier to access
2013-10-22 08:16:12 -04:00
Latif Khalifa
b800e877f9 More manifest gymnastics 2013-10-22 14:01:46 +02:00
Inusaito Sayori
9ec10cf246 Reworked LLToolCompGun so piemenu in mouselook plays nicer with zoom feature
Switches to exodus implementation
Includes relicensing of LLViewerCamera and LLToolComp
Maintains use of the old saved zoomed setting
2013-10-22 07:47:43 -04:00
Latif Khalifa
f545952136 Copy vc++ runtime libs, ignore size_t related warnings in the release build on win64 2013-10-22 11:25:32 +02:00
Latif Khalifa
f7cea9ac74 Added a way to identify 64 bit viewer in help -> about 2013-10-22 01:08:39 +02:00
Latif Khalifa
22db8f56f1 WIP[win64]: installer 2013-10-22 00:59:26 +02:00
Latif Khalifa
5cd7f05851 VS2012 related changes 2013-10-22 00:58:05 +02:00
Inusaito Sayori
dde18dfc0f Added a setting, LiruMouselookMenu, in case people don't want this feature. 2013-10-21 16:01:31 -04:00
Inusaito Sayori
d95e1800e1 Miscellaneous touchups
Fixes chatbar not handling ctrl+shift+arrow for word selection
lltoolmgr.cpp sync
Removes some pointless dead code from llviewertexteditor.cpp
2013-10-21 15:15:17 -04:00
Latif Khalifa
73e1a9ad78 WIP[win64]: we haz 64 bit webkit 2013-10-21 20:42:31 +02:00
Latif Khalifa
ea6adb7ae4 WIP[win64]: Sync this snipped with upstream to avoid texture indexing issues on Windows 64 2013-10-21 15:56:13 +02:00
Latif Khalifa
52c8c68d12 Reduce unbearable notification span when a plugin fails to load 2013-10-20 20:16:21 +02:00
Latif Khalifa
17c59f25f5 WIP[win64]: it builds, runs. webkit disabled in cmake for now 2013-10-20 17:03:48 +02:00
Inusaito Sayori
a33efc61a2 Feature request by StephiDreamEvermore Doune: Implement the convenience of being able to set view offsets while modifier keys are held during scroll in third person camera (Play with camera position/angle) 2013-10-19 20:54:02 -04:00