Evil Eye 
								
							 
						 
						
							
							
							
							
								
							
							
								97fb06d8c9 
								
							 
						 
						
							
							
								
								Add RefId::is  
							
							
							
						 
						
							2023-04-13 17:43:13 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								20129568e6 
								
							 
						 
						
							
							
								
								Replace VisitorCellIdIsESM3Ext with RefId::getIf function  
							
							
							
						 
						
							2023-04-13 01:06:27 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Petr Mikheev 
								
							 
						 
						
							
							
							
							
								
							
							
								ff774d6406 
								
							 
						 
						
							
							
								
								Load more ESM4 records  
							
							
							
						 
						
							2023-04-09 18:52:11 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Petr Mikheev 
								
							 
						 
						
							
							
							
							
								
							
							
								f09a689a4f 
								
							 
						 
						
							
							
								
								Merge ESM::RefNum and ESM4::FormId  
							
							
							
						 
						
							2023-04-09 00:23:32 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								bd10becb65 
								
							 
						 
						
							
							
								
								Use lexicographical comparison in ESM3ExteriorCellRefId::operator<  
							
							
							
						 
						
							2023-04-08 16:22:01 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								794050df63 
								
							 
						 
						
							
							
								
								Fix and add tests for ESM3ExteriorCellRefId serialization and text representation  
							
							
							
						 
						
							2023-04-08 01:06:11 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									florent.teppe 
								
							 
						 
						
							
							
							
							
								
							
							
								0d17e20490 
								
							 
						 
						
							
							
								
								Implements serialize/deserialize  
							
							... 
							
							
							
							fixes test compilation. 
							
						 
						
							2023-04-03 18:41:25 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									florent.teppe 
								
							 
						 
						
							
							
							
							
								
							
							
								21bd28542a 
								
							 
						 
						
							
							
								
								Applies review advice  
							
							... 
							
							
							
							2d coord hash moved to hash.hpp file
format version adds suffix to be more coherent
don't use ESM::RefId::sEmpty
RefId equality with string_view, conversion to refId unecessary
action teleport remove test that mCellId is empty
removes some const references, when copy is enough
invalid refid => empty refid
removes useless change 
							
						 
						
							2023-04-03 14:17:35 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									florent.teppe 
								
							 
						 
						
							
							
							
							
								
							
							
								d782d37ee2 
								
							 
						 
						
							
							
								
								Make sure Vec2iRefId is trivially copyable on GCC 11.3  
							
							... 
							
							
							
							std::pair<int, int> isn't trivially copyable on some compilers
so a specific struct is defined, it's an int pair, but it should be recognised by GCC 11.3 as trivially copyable
Vec2iRefId => ESM3ExteriorCellRefId
more explcit name and use mX,mY instead of pair
renamed files and enum 
							
						 
						
							2023-04-03 14:17:31 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									florent.teppe 
								
							 
						 
						
							
							
							
							
								
							
							
								4c15064a83 
								
							 
						 
						
							
							
								
								Create new Vec2i RefId for ESM3 exterior cells.  
							
							... 
							
							
							
							Applies the necessary changes to use !2708  for the new Id type 
							
						 
						
							2023-04-03 14:17:16 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									florent.teppe 
								
							 
						 
						
							
							
							
							
								
							
							
								c39dd576f8 
								
							 
						 
						
							
							
								
								Gets rid of most ESM::CellId  
							
							
							
						 
						
							2023-04-03 14:16:05 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									psi29a 
								
							 
						 
						
							
							
							
							
								
							
							
								0a791528bc 
								
							 
						 
						
							
							
								
								Merge branch 'fix_index_ref_id_hash' into 'master'  
							
							... 
							
							
							
							Shift record type value for IndexRefId hash
See merge request OpenMW/openmw!2885  
							
						 
						
							2023-04-02 21:52:29 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								171a25645a 
								
							 
						 
						
							
							
								
								Make sure there are tests for all RefId types  
							
							
							
						 
						
							2023-04-02 15:46:21 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								258aec223a 
								
							 
						 
						
							
							
								
								Shift record type value for IndexRefId hash  
							
							
							
						 
						
							2023-04-02 15:00:03 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								90ed24f4c9 
								
							 
						 
						
							
							
								
								Split type traits for ESM4, ESM3 and unite common  
							
							
							
						 
						
							2023-03-26 19:07:23 +02:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									psi29a 
								
							 
						 
						
							
							
							
							
								
							
							
								8f80895b59 
								
							 
						 
						
							
							
								
								Merge branch 'build_fix' into 'master'  
							
							... 
							
							
							
							Add missing include
See merge request OpenMW/openmw!2860  
							
						 
						
							2023-03-26 11:09:47 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									Andrei Kortunov 
								
							 
						 
						
							
							
							
							
								
							
							
								e1bee039ac 
								
							 
						 
						
							
							
								
								Add missing include  
							
							
							
						 
						
							2023-03-26 11:31:25 +04:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								b7fdca0fe6 
								
							 
						 
						
							
							
								
								Use serialized ESM::RefId for Lua records  
							
							
							
						 
						
							2023-03-25 18:19:46 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								cd4027ffd6 
								
							 
						 
						
							
							
								
								Do not use ESM::RefId::getRefIdString for spell id  
							
							
							
						 
						
							2023-03-24 01:57:35 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								04d7781424 
								
							 
						 
						
							
							
								
								Support not only StringRefId for checking first person body part  
							
							
							
						 
						
							2023-03-19 17:49:41 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								e6cf516e12 
								
							 
						 
						
							
							
								
								Support index RefId as pair of record type and std::uint32_t  
							
							
							
						 
						
							2023-03-19 17:20:48 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								86293af084 
								
							 
						 
						
							
							
								
								Support generated RefId as std::uint64_t  
							
							
							
						 
						
							2023-03-19 17:20:48 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								0992624c8b 
								
							 
						 
						
							
							
								
								Support reading and writing typed ESM::RefId to ESM  
							
							
							
						 
						
							2023-03-19 17:20:48 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								069d4255b9 
								
							 
						 
						
							
							
								
								Make ESM::RefId to be fixed size cheap to copy  
							
							... 
							
							
							
							Use std::variant. Store refId strings in unordered_set and use pointer to an
item there. Inserts to unordered_set do not invalidate pointers to values so the
pointer is always valid. Elements are not removed. Assume there is finite number
of string refIds. 
							
						 
						
							2023-03-19 17:20:43 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								83d212fe0f 
								
							 
						 
						
							
							
								
								Use SFINAE to avoid conflicts between visit functions  
							
							
							
						 
						
							2023-03-17 23:37:11 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								cd6a5b5a0e 
								
							 
						 
						
							
							
								
								Support asymmetric comparison between ESM::RefId and std::string_view  
							
							
							
						 
						
							2023-03-03 15:44:18 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								dfcea389be 
								
							 
						 
						
							
							
								
								Add helper functions for string comparison to RefId  
							
							
							
						 
						
							2023-03-03 00:39:55 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								6518688120 
								
							 
						 
						
							
							
								
								Reorder RefId members  
							
							
							
						 
						
							2023-03-02 23:29:40 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								2fcb94064d 
								
							 
						 
						
							
							
								
								Support RefId comparison with std::string_view  
							
							
							
						 
						
							2023-02-28 23:04:48 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								996153f78d 
								
							 
						 
						
							
							
								
								Convert RefId to class  
							
							
							
						 
						
							2023-02-15 23:20:44 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								6d261d38dd 
								
							 
						 
						
							
							
								
								Add functions to read and write ESM::RefId and use them  
							
							... 
							
							
							
							To be later changed with another implementation. 
							
						 
						
							2023-02-13 22:07:58 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								80e6d6cbe3 
								
							 
						 
						
							
							
								
								Support variable size strings in ESM3  
							
							
							
						 
						
							2023-02-13 10:18:32 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								2e64155c0f 
								
							 
						 
						
							
							
								
								Use signed type for left record and files size in ESM3 reader context  
							
							... 
							
							
							
							Otherwise reading some of the records like ESM::CellRef without a subrecord
after could lead to underflow of ESM_Context::leftRec which makes
ESM::ESMReader::hasMoreSubs to return true and load hangs for a while trying to
read the same subrecord many times.
Fix ESM::Variant tests since it's now required to have a record for any ESM
data. Add 16 (size of record header) to all expected data sizes. 
							
						 
						
							2023-02-11 16:09:14 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									florent.teppe 
								
							 
						 
						
							
							
							
							
								
							
							
								084207af64 
								
							 
						 
						
							
							
								
								Avoids a lot a special cases for ESM3 vs ESM4 cells.  
							
							
							
						 
						
							2023-02-04 23:25:06 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									florent.teppe 
								
							 
						 
						
							
							
							
							
								
							
							
								1caed2de2a 
								
							 
						 
						
							
							
								
								Applies some review comments.  
							
							... 
							
							
							
							Proper visit for ESM::CellVariant
Fixed MWWorldCell constructor 
							
						 
						
							2023-02-04 17:09:54 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									florent.teppe 
								
							 
						 
						
							
							
							
							
								
							
							
								ebfee18e35 
								
							 
						 
						
							
							
								
								implements std::visit for CellVariant, fixes struct vs class forward decl  
							
							
							
						 
						
							2023-01-29 11:28:39 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									florent.teppe 
								
							 
						 
						
							
							
							
							
								
							
							
								aa29f86efe 
								
							 
						 
						
							
							
								
								fixed struct vs class.  
							
							
							
						 
						
							2023-01-29 10:59:39 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									florent.teppe 
								
							 
						 
						
							
							
							
							
								
							
							
								216ca71149 
								
							 
						 
						
							
							
								
								Applied review comments  
							
							... 
							
							
							
							getEditorName => getNameId
restored cosntructor in CoordinateConverter 
							
						 
						
							2023-01-28 12:14:00 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									florent.teppe 
								
							 
						 
						
							
							
							
							
								
							
							
								e6e27413d9 
								
							 
						 
						
							
							
								
								gives MWWorld::CellRef the MWWorld::Cell treatment  
							
							... 
							
							
							
							MWWorld::CellRef now has a variant, and datas that are part of the intersection of both ESM4::Reference and ESM::CellRef are part of MWWorld::CellRef
For ESM4 most data isn't filled in, so it returns default values. 
							
						 
						
							2023-01-27 19:40:45 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									florent.teppe 
								
							 
						 
						
							
							
							
							
								
							
							
								23614ae2ae 
								
							 
						 
						
							
							
								
								Renamed esm3esm4bridge => esmbridge  
							
							
							
						 
						
							2023-01-27 18:40:15 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									florent.teppe 
								
							 
						 
						
							
							
							
							
								
							
							
								5037dcf9bc 
								
							 
						 
						
							
							
								
								Fixes a crash on launch and some compile issue  
							
							... 
							
							
							
							also uses std::visit in cellstore comparison to avoid missing combinasion
split loadrefs in loadref of ESM4 and ESM3. 
							
						 
						
							2023-01-27 16:41:00 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									florent.teppe 
								
							 
						 
						
							
							
							
							
								
							
							
								cb8cdd8831 
								
							 
						 
						
							
							
								
								ESM::CellVariant aans MWWorld:Cell now take reference in constructor: signals that nullptr isn't accepted.  
							
							... 
							
							
							
							also applied other review comments. 
							
						 
						
							2023-01-27 14:07:50 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									florent.teppe 
								
							 
						 
						
							
							
							
							
								
							
							
								531e55e04c 
								
							 
						 
						
							
							
								
								Better handling of the esm3 vs esm4 cell problem  
							
							... 
							
							
							
							Common attribute are in one structure that has two constructors, one for ESM3 vs ESM4 Cell
Mood part of MWWorld::Cell 
							
						 
						
							2023-01-27 13:39:39 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									florent.teppe 
								
							 
						 
						
							
							
							
							
								
							
							
								3515c8e61a 
								
							 
						 
						
							
							
								
								Static references are created as refcells, nothing displayed yet.  
							
							
							
						 
						
							2023-01-26 22:37:32 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									florent.teppe 
								
							 
						 
						
							
							
							
							
								
							
							
								c896a2ca48 
								
							 
						 
						
							
							
								
								Crashfix on launch  
							
							
							
						 
						
							2023-01-26 22:37:32 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									florent.teppe 
								
							 
						 
						
							
							
							
							
								
							
							
								0018bcf7de 
								
							 
						 
						
							
							
								
								Should make cellvariant safer to use.  
							
							... 
							
							
							
							Hopefully clang tidy agrees. 
							
						 
						
							2023-01-26 22:37:32 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									florent.teppe 
								
							 
						 
						
							
							
							
							
								
							
							
								562e129bd0 
								
							 
						 
						
							
							
								
								encapsulations of esm3 cell and esm4 cells.  
							
							
							
						 
						
							2023-01-26 22:37:31 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									florent.teppe 
								
							 
						 
						
							
							
							
							
								
							
							
								08b68fcd48 
								
							 
						 
						
							
							
								
								Cannot load a cell yet, but getting more necessary parts in  
							
							
							
						 
						
							2023-01-26 22:36:11 +01:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									psi29a 
								
							 
						 
						
							
							
							
							
								
							
							
								83718878b2 
								
							 
						 
						
							
							
								
								Merge branch 'Load_ESM4' into 'master'  
							
							... 
							
							
							
							Loading ESM4 data and storing them in the ESMStore
See merge request OpenMW/openmw!2557  
							
						 
						
							2023-01-07 22:17:17 +00:00 
							
								 
							
						 
					 
				
					
						
							
								
								
									elsid 
								
							 
						 
						
							
							
								
								
							
							
							
								
							
							
								2bbed8cc06 
								
							 
						 
						
							
							
								
								Fix gcc warning: array subscript 5 is outside array bounds of ‘const char [5]’  
							
							... 
							
							
							
							In function ‘bool ESM::operator==(const FixedString<capacity>&, const T* const&) [with long unsigned int capacity = 5; T = char; <template-parameter-1-3> = void]’,
    inlined from ‘testing::AssertionResult testing::internal::CmpHelperEQ(const char*, const char*, const T1&, const T2&) [with T1 = ESM::FixedString<5>; T2 = const char*]’ at /home/elsid/dev/googletest/build/gcc/release/install/include/gtest/gtest.h:1358:11,
    inlined from ‘static testing::AssertionResult testing::internal::EqHelper::Compare(const char*, const char*, const T1&, const T2&) [with T1 = ESM::FixedString<5>; T2 = const char*; typename std::enable_if<((! std::is_integral<_Tp>::value) || (! std::is_pointer<_Dp>::value))>::type* <anonymous> = 0]’ at /home/elsid/dev/googletest/build/gcc/release/install/include/gtest/gtest.h:1377:64,
    inlined from ‘virtual void {anonymous}::EsmFixedString_equality_operator_for_not_convertible_to_uint32_with_const_char_pointer_Test::TestBody()’ at apps/openmw_test_suite/esm/test_fixed_string.cpp:165:9:
components/esm/esmcommon.hpp:134:19: warning: array subscript 5 is outside array bounds of ‘const char [5]’ [-Warray-bounds]
  134 |         return rhs[capacity] == '\0';
      |                ~~~^
apps/openmw_test_suite/esm/test_fixed_string.cpp: In member function ‘virtual void {anonymous}::EsmFixedString_equality_operator_for_not_convertible_to_uint32_with_const_char_pointer_Test::TestBody()’:
apps/openmw_test_suite/esm/test_fixed_string.cpp:164:20: note: at offset 5 into object ‘other’ of size 5
  164 |         const char other[5] = { 'a', 'b', 'c', 'd', '\0' };
      |                    ^~~~~ 
							
						 
						
							2023-01-06 22:09:07 +01:00