Chris Robinson
761914bdaa
Use a separate method to build the animation
2013-01-05 03:31:51 -08:00
Jordan Milne
3ed77ca189
Include C++ header instead
2013-01-05 01:17:07 -04:00
Chris Robinson
8a086e3afb
Cache the mesh names from the mesh/skeleton pairs
2013-01-04 20:58:35 -08:00
Chris Robinson
3131e8dae6
Don't get the text keys if they're not being requested
2013-01-04 20:33:26 -08:00
Chris Robinson
683ced54a0
Store and retrieve the node text keys in the bones' user object bindings
2013-01-04 19:41:37 -08:00
Chris Robinson
a3d33db415
Store a NiNode's NiTextKeyExtraData in a user object binding on Ogre::Bone
2013-01-04 15:55:47 -08:00
Jordan Milne
b52904a6ea
Include headers necessary for compilation under VS2010
2013-01-04 19:52:27 -04:00
Chris Robinson
1d4d67f811
Avoid underflows if the texture name doesn't include a '.'
2013-01-04 15:03:57 -08:00
Chris Robinson
3f19b13695
Merge remote-tracking branch 'zini/master' into animation2
2013-01-04 14:47:01 -08:00
Marc Zinnschlag
215b43cc7b
Merge remote-tracking branch 'blunted2night/texname_fix'
2013-01-04 23:19:51 +01:00
Marc Zinnschlag
b4d63814cc
post merge fix
2013-01-04 23:12:56 +01:00
Nathan Jeffords
fec9a59237
changed EMSLoader to use ConstrainedDataStream
...
Changed the EMSLoader class to use the ConstrainedDataStream so that
future changes may benifit from its increased performance.
2013-01-04 13:41:03 -08:00
Nathan Jeffords
278337116b
increased performance of ConstrainedDataStream
...
Reimplemented ConstrainedDataStream to use low-level IO calls and a
custom buffering scheme to avoid using C++ iostreams.
2013-01-04 13:40:00 -08:00
Nathan Jeffords
5c7f1bd497
moved ConstrainedDataStream into its own file
...
moved the ConstrainedDataStream into its own source file and changed
BSAFile to use it though the exposed factory function. This is in
preperation foreimplementing it based on feedback from profiling that
(at least on windows) the C++ iostreams library is quite slow.
2013-01-04 13:39:10 -08:00
Nathan Jeffords
2181393518
change texture renaming logic to increase performance
...
ResourceGroupManager::resourceExistsInAnyGroup is slow (at least on
windows) if the tested path does not exist, but is fast if it does (due
to finding it in the index). This change tries the '.dds' version of the
name first, and reverts to the original if the '.dds' version was not
found.
2013-01-04 11:36:22 -08:00
Emanuel Guevel
cc792da858
Fix to_utf8 test: add test data directory and remove unused include
2013-01-04 15:24:07 +01:00
Emanuel Guevel
c947d87ab9
Add a test for to_utf8 component
2013-01-04 15:10:30 +01:00
Chris Robinson
61ad8bb3dd
Use a list of mesh names instead of mesh objects
2013-01-04 00:14:41 -08:00
Chris Robinson
019893b5c6
Get rid of some unnecessary case-insensitive compares
2013-01-03 23:44:58 -08:00
Emanuel Guevel
0bdf52a071
components/to_utf8: keep only Utf8Encoder
2013-01-04 01:58:30 +01:00
Emanuel Guevel
02bf02f288
ESMReader, ESMWriter: use Utf8Encoder
2013-01-04 01:52:03 +01:00
Emanuel Guevel
9906c3051d
components/translation: use Utf8Encoder
2013-01-04 01:52:02 +01:00
Emanuel Guevel
740e2b5769
components/to_utf8: add class Utf8Encoder
2013-01-04 01:52:02 +01:00
Mark Siewert
d6377fb2e3
- Support deleting references from a plugin
...
- Add preliminary support for loading some unique fields appearing only in savegames
- Add a few lines required for supporting respawning references. Incomplete.
2013-01-03 18:51:04 +01:00
Marc Zinnschlag
80a0be3264
Merge remote-tracking branch 'blunted2night/msvcbuild'
2013-01-01 21:19:27 +01:00
Nathan Jeffords
08fa9dcd3e
replaced std::string concatenation with std::ostringstream
...
Changed a block of code that was performing a series of string
concatenations to use an ostringstream instead. This allowed the removal
of calls to std::to_string (not C++03 compliant) and fixes an compile
error in MSVC 2010 (ambigous overload when calling std::to_string).
2013-01-01 11:59:05 -08:00
Nathan Jeffords
7228f5d696
added missing reference to <cctype>
...
added missing reference to <cctype> that was causing Visual Studio 2010
to fail to compile stringops.hpp
2013-01-01 10:58:30 -08:00
lazydev
7cd1e87fe8
Merge branch 'master' of git://github.com/zinnschlag/openmw
...
Conflicts:
apps/openmw/mwdialogue/dialoguemanagerimp.cpp
2013-01-01 22:18:21 +04:00
lazydev
cd5d95ed22
1. Dialogs in Russian version now works.
...
2. Destination names it travel window are now translated
2012-12-31 04:15:47 +04:00
eduard
69d9d22579
comparestring
2012-12-30 19:56:38 +01:00
eduard
98103e15eb
conflict resolution
2012-12-30 13:46:07 +01:00
eduard
c85400b809
Merge https://github.com/zinnschlag/openmw into comparestring
...
Conflicts:
apps/openmw/mwdialogue/dialoguemanagerimp.cpp
apps/openmw/mwworld/worldimp.cpp
components/esm_store/reclists.hpp
components/misc/stringops.hpp
2012-12-30 13:09:37 +01:00
Marc Zinnschlag
334588bf1c
Merge branch 'editor2'
2012-12-28 23:31:43 +01:00
eduard
c75a5ae212
string compare and tolower
2012-12-28 18:05:52 +01:00
eduard
8545667bbd
string compare and tolower
2012-12-28 17:54:56 +01:00
Mark Siewert
2cef65a056
- Remove some files that are no longer in upstream/master
2012-12-27 20:11:58 +01:00
Tom Mason
a14b7e4a0f
small fixes on text defines
2012-12-26 18:07:56 +00:00
Marc Zinnschlag
e9ba7339f3
improved error handling
2012-12-26 17:15:53 +01:00
Marc Zinnschlag
afc2e840ae
renamed namespace TranslationData to Translation
2012-12-26 17:06:33 +01:00
Marc Zinnschlag
206c613b52
moved translation storage from GUI manager to engine
2012-12-26 17:03:37 +01:00
Marc Zinnschlag
2d468fec02
made previous commits naming standard compliant
2012-12-26 16:19:59 +01:00
Marc Zinnschlag
4c28f3211b
Merge remote-tracking branch 'lazydev/master'
2012-12-26 15:50:03 +01:00
Mark Siewert
049b0e66e0
- Restore ability to generate references in the same cell from multiple plugins
...
- Disable some code related to deleting entries in the store so that it builds again
2012-12-25 20:27:30 +01:00
lazydev
1f71395660
renaming of translation component; removing of C++11 features
2012-12-25 23:20:39 +04:00
lazydev
74ae479780
Cell names localization fix
2012-12-23 23:23:24 +04:00
Tom Mason
8ac8fdff47
implemented all text defines except a few for keybindings that don't exist yet
2012-12-21 18:09:31 +00:00
Tom Mason
f2c6907244
Added in text escape sequences for dialogue, messageboxes and books. builtins are placeholders, global variables work
2012-12-20 23:16:34 +00:00
Thoronador
5a7a8629b6
remove unnecessary include directive
2012-12-17 23:20:43 +01:00
Thoronador
32f051d61d
Remove 'GMST fixing' for dirty GMST records
...
The 'fixing' for so-called dirty GMSTs does not work properly in its
current state anyway, so it should be removed. Fixing the 'GMST fixing'
might not be possible, because whether or not a GMST is 'dirty' depends
on the language version of MW. Therefore different 'fixing' algorithms
would be required for the different MW localisations, and I do not see
a good reason why GMST values should be hard-coded in the GMST load
procedure. In my opinion, it only clutters the code.
Last but not least, I believe that it is not the task of the engine to
clean ESM files from dirty entries. That is a job for the modders, who
should only release clean ESM/ESP files in the first place. The engine
should not need to worry about whether a file is 'dirty' or not.
That is why I believe a feature for cleaning ESM/ESP files shall not be
part of the engine.
2012-12-17 23:13:33 +01:00
Marc Zinnschlag
5cd2fe00ab
initialise blank global records
2012-12-03 22:16:02 +01:00
Marc Zinnschlag
8a09e03d5c
global variable editing (no undo support yet)
2012-11-29 14:45:34 +01:00
Marc Zinnschlag
ef9575498f
basic (non-editable) subview for global variables
2012-11-26 12:29:22 +01:00
Mark Siewert
b103426cf0
- Partially reimplement deleting objects defined in a parent esX file.
...
- Try to reimplement multiple esX files dropping references in the same file.
NOTE: None of these features works. Maybe the code itself does not build. Anyway, after 12 hours of hacking, I am just tired and want to get a snapshot of the code out.
2012-11-25 19:07:16 +01:00
Mark Siewert
896ab44d1e
- Add some updated files missing from last commit.
...
- Move plugin dependency test from esmreader.cpp to esmstpre.cpp; fixes crash in omwlauncher.
2012-11-25 17:19:29 +01:00
Mark Siewert
8ea9f00e6f
Merge remote-tracking branch 'upstream/master' into multiple_esm_esp
...
Conflicts:
apps/openmw/mwrender/terrain.cpp
apps/openmw/mwworld/cells.cpp
apps/openmw/mwworld/cells.hpp
apps/openmw/mwworld/cellstore.cpp
apps/openmw/mwworld/cellstore.hpp
apps/openmw/mwworld/containerstore.cpp
apps/openmw/mwworld/localscripts.cpp
apps/openmw/mwworld/scene.cpp
apps/openmw/mwworld/worldimp.cpp
apps/openmw/mwworld/worldimp.hpp
components/esm_store/reclists.hpp
components/esm_store/store.cpp
extern/shiny
- Re-implement some patches that were broken by the removal of reclists.hpp and store.cpp/.hpp.
- NOTE: Not everything works as before, I'll have to test some more stuff before we are back to where we were.
2012-11-25 14:12:44 +01:00
Marc Zinnschlag
d684b3ae11
fixed getString function in NIF loader
2012-11-22 10:35:03 +01:00
Mark Siewert
31fb715bd7
- Add support for moving existing references by plugin files. No cell changing yet.
...
- Change CellRefList::list from list<> to map<int,> so we can identify live references by their Refnumber.
- Introduce ContainerRefList, a clone of the original CellRefList. It is now used for containers, which do not track Refnumbers.
- Many small tweaks so that the new CellRefList does not conflict with existing code.
2012-11-17 21:50:25 +01:00
Mark Siewert
2175f13b67
- Add tracking for dependencies between plugins.
...
- Add reference number mangling required for moving references around.
2012-11-17 00:21:51 +01:00
scrawl
5f7d349126
several missing includes
2012-11-14 05:32:23 +01:00
Mark Siewert
42eefaf36f
- Add support for loading references from multiple esm/esp files. Full reference ID mangling coming soon (currently, moved references are simply cloned).
...
- Reference loader now (partially) supports MVRF tag.
2012-11-10 21:43:41 +01:00
Marc Zinnschlag
75f64aa38b
Merge branch 'master' into dialogue
...
Conflicts:
apps/openmw/mwdialogue/dialoguemanagerimp.hpp
apps/openmw/mwmechanics/npcstats.cpp
apps/openmw/mwmechanics/npcstats.hpp
2012-11-10 15:44:44 +01:00
greye
b1ef0026a9
race selection/inventory preview character model update
2012-11-10 11:41:12 +04:00
Marc Zinnschlag
4994a253da
Merge branch 'bountydisease' into dialogue
2012-11-09 18:17:14 +01:00
greye
c3f0dc0dfb
m prefix for NpcAnimation members
2012-11-08 23:11:43 +04:00
scrawl
00a2de432a
fix BulletShapeLoader namespace
2012-11-08 18:48:07 +01:00
Marc Zinnschlag
662054acf4
Issue #219 : moved checks for various dialogue info fields from DialogueManager to Filter
2012-11-08 14:55:31 +01:00
Mark Siewert
7f77bf76c7
- Add support for multiple esm contexts in cell store. This will allow to generate references from multiple esX files. Currently, only the first context is used.
...
- Add many TODOs to mark points where more work is required to fully implement this feature.
2012-11-06 22:13:19 +01:00
Mark Siewert
64c08eada4
Merge remote-tracking branch 'upstream/next' into multiple_esm_esp
2012-11-06 20:37:29 +01:00
greye
8691eac557
resolve Script::mData.mName -> mId, resolve moving ESMStore
2012-11-05 17:41:36 +04:00
greye
5ac54d1fff
alter ESM::Script for storing id as std::string
2012-11-05 17:18:01 +04:00
greye
d5628c678f
add mId field to every record indexed by id
2012-11-05 17:18:01 +04:00
greye
2057f5619e
move ESMStore to MWWorld
2012-11-05 17:18:01 +04:00
greye
f0a3ee0ef9
gmst id should be lowercase, wipe RecIdListT
2012-11-05 17:14:02 +04:00
scrawl
4ca0eb93ee
fix markers used for raycasting and blocking activation
2012-10-24 17:47:03 +02:00
Marc Zinnschlag
3f6afb13f1
Merge remote-tracking branch 'scrawl/alchemy'
2012-10-19 20:09:45 +02:00
Marc Zinnschlag
18686614db
Merge remote-tracking branch 'scrawl/splashscreen_dirlisting'
...
Conflicts:
apps/openmw/mwgui/loadingscreen.cpp
2012-10-18 15:46:43 +02:00
Marc Zinnschlag
510674aa5e
Merge branch 'master' into alchemy
...
Conflicts:
components/esm/loadmgef.hpp
2012-10-18 14:37:05 +02:00
Marc Zinnschlag
5fbca239dd
Issue #61 : potion creation (1st part; still missing some implementations)
2012-10-18 14:02:06 +02:00
scrawl
1a2034b4dd
training window
2012-10-17 18:03:02 +02:00
scrawl
84a4fd56c3
consider all files in Splash directory
2012-10-17 12:39:45 +02:00
Marc Zinnschlag
e05e683da3
Merge remote-tracking branch 'scrawl/spellcreation'
2012-10-12 17:19:30 +02:00
scrawl
8ccb0907e6
assertion -> exception; added the old effect flags again
2012-10-12 14:26:10 +02:00
Marc Zinnschlag
3fd887c030
silenced some warnings
2012-10-09 17:11:41 +02:00
Marc Zinnschlag
35d099a638
disabling gcc extensions
2012-10-09 17:10:25 +02:00
Mark Siewert
1f961d575e
Merge remote-tracking branch 'upstream/master' into multiple_esm_esp
...
Conflicts:
apps/openmw/mwrender/terrain.cpp
components/esm/loadland.hpp
components/esm_store/reclists.hpp
2012-10-07 20:35:54 +02:00
Mark Siewert
28d4d7ea3f
Manually convert last changes in branch to upstream/master. Regular merge attempt resulted in everything being overwritten by fast-forward merging.
...
- Remove check for 255 master/plugin files.
2012-10-07 20:00:55 +02:00
scrawl
21493c2dbd
added magic effect flags from Research wiki page
2012-10-01 23:33:07 +02:00
greye
31f7325e1f
fix land loading
2012-10-01 15:46:32 +04:00
greye
93078bb0dc
move record ids to defs.hpp
2012-10-01 00:55:27 +04:00
greye
3494e17b7c
wipe record superclass
2012-10-01 00:51:54 +04:00
greye
2fa4ac177a
initial resolving
2012-10-01 00:23:49 +04:00
greye
721324c1db
rm record inheritance, rework esmtool accordingly
2012-09-30 23:34:53 +04:00
Chris Robinson
cd8515396a
Use a multimap to store the text keys
2012-09-28 23:20:15 -07:00
Chris Robinson
9b491edbf8
Small cleanup for loading animation keyframes
2012-09-28 18:53:24 -07:00
scrawl
d163f8203c
change books to RecListWithIDT
2012-09-25 21:38:34 +02:00
greye
1339787863
remove underscores from filenames in esm
2012-09-23 23:12:10 +04:00
greye
7368e7b655
rename getASCII() to getLegacyEnc()
2012-09-23 22:20:18 +04:00
greye
c54750977f
remove underscores in guards
2012-09-23 22:11:08 +04:00
scrawl
bf3aad8be0
handle NCC flag
2012-09-23 18:30:13 +02:00
scrawl
872fcf3e3d
sleeping restoration of health, magicka, and fatigue
2012-09-21 17:53:16 +02:00
greye
18cc435aa1
resolving conflicts
2012-09-21 13:13:11 +04:00
greye
09195894cf
restore INGR and MGEF
2012-09-21 12:30:08 +04:00
greye
2d5ddd104b
Land::loadData rework
2012-09-21 12:12:16 +04:00
greye
bd94f257bf
a bit formatting
2012-09-21 09:36:18 +04:00
greye
e69880f77e
almost perfect byte copies, has redundant data
2012-09-20 20:33:30 +04:00
scrawl
8214966d44
Merge branch 'next' of https://github.com/zinnschlag/openmw into globalmap
2012-09-20 17:41:14 +02:00
scrawl
e8bba2b833
disabled loading of land normals again, didn't need them after all
2012-09-20 14:06:30 +02:00
scrawl
86cfc91ef3
global map rendering
2012-09-20 13:56:37 +02:00
greye
597b88e95a
update saving AI packages
2012-09-18 19:30:19 +04:00
Marc Zinnschlag
4abb9a00da
Merge remote-tracking branch 'jhooks/physicsaedra3' into next
2012-09-18 11:25:09 +02:00
greye
7606ebafd6
resolving conflicts, minor update
2012-09-17 11:37:50 +04:00
Marc Zinnschlag
835c530e06
Merge branch 'ingredients'
2012-09-13 13:31:46 +02:00
scrawl
b5ddc8d4fb
Fix the marker collision; also, nodes marked with NCO are now correctly ignored for collision.
2012-09-13 13:10:02 +02:00
Marc Zinnschlag
677158c477
added typesafe access functions for GMST values
2012-09-13 10:41:55 +02:00
Marc Zinnschlag
f2ab4c929d
Issue #356 : added hardcoded magic effect flags *grumble*
2012-09-13 09:26:17 +02:00
scrawl
906d290935
Markers are actually hidden now. Inspecting the markers in NifSkope revealed why it didn't work previously: the flag that is being looked for is not present in any of the markers, nor any other flag or extra data to identify them. However, the root node name always starts with "marker", making it possible to do a string search.
2012-09-12 12:41:12 +02:00
Jason Hooks
c5b25ef70b
Very basic actor physics (no set scale/rotate functions)
2012-09-10 20:29:24 -04:00
Alexander "Ace" Olofsson
7934d8abd9
Fixed an issue with some paths not concatenating properly.
2012-09-09 16:28:02 +02:00
Alexander "Ace" Olofsson
bc6d87ba32
Oops, that would've broken getUserPath() on Linux...
2012-09-08 23:04:53 +02:00
Alexander "Ace" Olofsson
cd3e780614
Removing the unnecessary local variables
2012-09-08 20:34:43 +02:00
Alexander "Ace" Olofsson
97f1be2b05
Testing a third way to solve the path issue
2012-09-08 18:47:31 +02:00
Alexander "Ace" Olofsson
6e317f00eb
Fix the problem in a different way
2012-09-08 15:57:12 +02:00
Alexander "Ace" Olofsson
b6fcd337df
Modified the cache path to work on windows
2012-09-08 15:08:24 +02:00
Marc Zinnschlag
e3d893b001
Merge remote-tracking branch 'jhooks/animationsmooth'
2012-09-06 09:09:46 +02:00
Edmondo Tommasina
7b73bfb099
settings.cpp: fix std::runtime_error compile error
...
Fix following error:
[ 11%] Building CXX object
components/CMakeFiles/components.dir/nifoverrides/nifoverrides.cpp.o
/home/edmondo/src/openmw/components/settings/settings.cpp: In static
member function ‘static const std::string
Settings::Manager::getString(const std::string&, const std::string&)’:
/home/edmondo/src/openmw/components/settings/settings.cpp:82:15: error:
‘runtime_error’ is not a member of ‘std’
make[2]: ***
[components/CMakeFiles/components.dir/settings/settings.cpp.o] Error 1
2012-09-05 23:39:58 +02:00
scrawl
c27ff546e4
shader cache
2012-09-02 19:40:26 +02:00
scrawl
950bf66334
throw an exception if default value for a setting is not found
2012-09-02 11:39:54 +02:00
scrawl
4f1bcb749f
turned off redundant edge list building
2012-09-02 10:09:41 +02:00
Jason Hooks
0697c7f7f4
Finally merged in master
2012-09-01 17:28:12 -04:00
greye
a90547bbbe
code formatting
2012-08-29 21:35:06 +04:00
greye
75fa0288a3
fix creatures has spells, creatures ai data
2012-08-29 14:35:43 +04:00
greye
02d7aa4135
npc ai packages
2012-08-29 14:35:43 +04:00
Marc Zinnschlag
34c30b132c
Issue #378 : workaround for bad ingredient records in Morrowind.esm
2012-08-28 10:12:22 +02:00
Michael Mc Donnell
eff2799c1b
Update UTF 8 table generator to print char values
...
This patch is in relation to commit 25fa8165f97 (Use char literals in
UTF 8 conversion to fix 798 warnings), which changed the UTF 8 table
to have char integer values instead of unsigned chars. Those values were
converted using a custom Python script. This patch changes the original
table generator so it can now output the same format.
2012-08-27 10:55:39 -04:00
Michael Mc Donnell
5fa8165f97
Use char literals in UTF 8 conversion to fix 798 warnings
...
The data type is specified as char but the literals are unsigned char. This
results in 798 truncation warnings in vs2010. The literals were converted
with a simple python script to signed char while taking two's complement and
the overflow into account.
Also tested on Ubuntu 12.04 with gcc 4.6.
2012-08-22 16:42:53 -04:00
Jason Hooks
5202b11235
just moving a comment
2012-08-18 15:31:54 -04:00
Jason Hooks
4a219404fc
Super smooth animations; 100 PERCENT COMPLETE
2012-08-18 15:21:43 -04:00
Jason Hooks
f21df64808
changing a few things around
2012-08-18 14:48:18 -04:00
Marc Zinnschlag
98219323b7
Merge remote-tracking branch 'mmd/vsdebugfixes'
2012-08-18 12:56:59 +02:00
Jason Hooks
cc776810e2
smoother animations
2012-08-17 17:10:21 -04:00
Michael Mc Donnell
7952d38e6c
Use debug dlls when debugging in vs2010 (try 2)
...
Using the Debug build in vs2010 is not working because the debug dlls are
not loaded when debugging. The reason they are not loaded is that
CMAKE_BUILD_TYPE is not defined when doing multiple builds. This in turns
causes OGRE_PLUGIN_DEBUG_SUFFIX not to be set. This patch makes sure that
OGRE_PLUGIN_DEBUG_SUFFIX is always set but only used when debugging.
It also defines DEBUG to make it easier turn things on and off when
debugging.
There are still other bugs that have broken Debug mode in vs2010 but those
will be addressed in other patches.
2012-08-17 10:47:20 -04:00
Marc Zinnschlag
1da56e2832
removed some unused variables
2012-08-17 15:37:14 +02:00
Marc Zinnschlag
2a11a28e81
Revert "Use debug dlls when debugging in vs2010"
...
This reverts commit ebe131b326
.
2012-08-17 10:05:29 +02:00
Jason Hooks
d14cc5a435
update master
2012-08-16 18:20:26 -04:00
Michael Mc Donnell
ebe131b326
Use debug dlls when debugging in vs2010
...
Using the Debug build in vs2010 is not working because the debug dlls are
not loaded when debugging. The reason they are not loaded is that
CMAKE_BUILD_TYPE is not defined when doing multiple builds. This in turns
causes OGRE_PLUGIN_DEBUG_SUFFIX not to be set. This patch makes sure that
OGRE_PLUGIN_DEBUG_SUFFIX is always set but only used when debugging.
There are still other bugs that have broken Debug mode in vs2010 but those
will be addressed in other patches.
2012-08-16 11:18:16 -04:00
Jason Hooks
8762f4a47a
boxrotation nif field; commented functions
2012-08-15 16:47:26 -04:00
Jason Hooks
1f5bc229e0
Separate adjustRigidBody function
2012-08-14 18:04:58 -04:00
Jason Hooks
e7329d5f8b
Creatures now have a properly positioned box shape
2012-08-12 00:36:49 -04:00
Jason Hooks
38c2c5d480
Creatures now use object physics
2012-08-09 18:09:11 -04:00
Jason Hooks
083e3537b4
post merge
2012-08-09 17:21:59 -04:00