OBME alters the format of the *.esp and *.esm files by adding new chunk types to the EffectSetting record (MGEF) and various magic item records (SPEL,ENCH,INGR,ALCH,SGST). At the moment, this means that mod files *with new OBME features* are not compatible with TES4Edit.
Please let me know exactly what changes you made and I will adjust TES4Edit to support them.
Currently, TES4Edit expects the following format:
wbRecord(MGEF, 'Magic Effect', [ wbEDID, wbFULL, wbDESC, wbICON, wbMODL, wbStruct(DATA, 'Data', [ wbInteger('Flags', itU32, wbFlags([ {0x00000001} 'Hostile', {0x00000002} 'Recover', {0x00000004} 'Detrimental', {0x00000008} 'Magnitude %', {0x00000010} 'Self', {0x00000020} 'Touch', {0x00000040} 'Target', {0x00000080} 'No duration', {0x00000100} 'No magnitude', {0x00000200} 'No area', {0x00000400} 'FX persist', {0x00000800} 'Spellmaking', {0x00001000} 'Enchanting', {0x00002000} 'No Ingredient', {0x00004000} '', {0x00008000} '', {0x00010000} 'Use weapon', {0x00020000} 'Use armor', {0x00040000} 'Use creature', {0x00080000} 'Use skill', {0x00100000} 'Use attribute', {0x00200000} '', {0x00400000} '', {0x00800000} '', {0x01000000} 'Use actor value', {0x02000000} 'Spray projectile type (or Fog if Bolt is specified as well)', {0x04000000} 'Bolt projectile type', {0x08000000} 'No hit effect' ])), wbFloat('Base cost'), wbUnion('Assoc. Item', wbMGEFFAssocItemDecider, [ wbFormIDCk('Unused', [NULL]), wbFormIDCk('Assoc. Weapon', [WEAP]), wbFormIDCk('Assoc. Armor', [ARMO, NULL{?}]), wbFormIDCk('Assoc. Creature', [CREA, LVLC, NPC_]), wbInteger('Assoc. Actor Value', itS32, wbActorValueEnum) ]), wbInteger('Magic School', itS32, wbMagicSchoolEnum), wbInteger('Resist value', itS32, wbActorValueEnum), wbInteger('Unknown', itU16), wbByteArray('Unused', 2), wbFormIDCk('Light', [LIGH, NULL]), wbFloat('Projectile speed'), wbFormIDCk('Effect Shader', [EFSH, NULL]), wbFormIDCk('Enchant effect', [EFSH, NULL]), wbFormIDCk('Casting sound', [NULL, SOUN]), wbFormIDCk('Bolt sound', [NULL, SOUN]), wbFormIDCk('Hit sound', [NULL, SOUN]), wbFormIDCk('Area sound', [NULL, SOUN]), wbFloat('Constant Effect enchantment factor'), wbFloat('Constant Effect barter factor') ], cpNormal, True, nil, 10), wbArrayS(ESCE, 'Counter Effects', wbInteger('Counter Effect', itU32, wbChar4)) ], False, nil, cpNormal, False, wbMGEFAfterLoad); wbRecord(SPEL, 'Spell', [ wbEDID, wbFULL, wbStruct(SPIT, '', [ wbInteger('Type', itU32, wbEnum([ {0} 'Spell', {1} 'Disease', {2} 'Power', {3} 'Lesser Power', {4} 'Ability', {5} 'Poison' ])), wbInteger('Cost', itU32), wbInteger('Level', itU32, wbEnum([ {0} 'Novice', {1} 'Apprentice', {2} 'Journeyman', {3} 'Expert', {4} 'Master' ])), wbInteger('Flags', itU8, wbFlags([ {0x00000001} 'Manual Spell Cost', {0x00000002} 'Immune to Silence 1', {0x00000004} 'Player Start Spell', {0x00000008} 'Immune to Silence 2', {0x00000010} 'Area Effect Ignores LOS', {0x00000020} 'Script Effect Always Applies', {0x00000040} 'Disallow Spell Absorb/Reflect', {0x00000080} 'Touch Spell Explodes w/ no Target' ])), wbByteArray('Unused', 3) ], cpNormal, True), wbEffects ]); wbRecord(ENCH, 'Enchantment', [ wbEDID, wbFULL, wbStruct(ENIT, '', [ wbInteger('Type', itU32, wbEnum([ {0} 'Scroll', {1} 'Staff', {2} 'Weapon', {3} 'Apparel' ])), wbInteger('Charge Amount', itU32), wbInteger('Enchant Cost', itU32), wbInteger('Flags', itU8, wbFlags(['Manual Enchant Cost (Autocalc Off)'])), wbByteArray('Unused', 3) ], cpNormal, True), wbEffects ]); wbRecord(INGR, 'Ingredient', [ wbEDID, wbFULL, wbMODL, wbICON, wbSCRI, wbFloat(DATA, 'Weight', cpNormal, True), wbStruct(ENIT, '', [ wbInteger('Value', itS32), wbInteger('Flags', itU8, wbFlags(['No auto-calculation', 'Food item'])), wbByteArray('Unused', 3) ], cpNormal, True), wbEffects ]); wbRecord(ALCH, 'Potion', [ wbEDID, wbFULL, wbMODL, wbICON, wbSCRI, wbFloat(DATA, 'Weight', cpNormal, True), wbStruct(ENIT, '', [ wbInteger('Value', itS32), wbInteger('Flags', itU8, wbFlags(['No auto-calculation', 'Food item'])), wbByteArray('Unused', 3) ], cpNormal, True), wbEffects ]); wbRecord(SGST, 'Sigil Stone', [ wbEDID, wbFULL, wbMODL, wbICON, wbSCRI, wbEffects, wbStruct(DATA, '', [ wbInteger('Uses ', itU8), wbInteger('Value', itU32), wbFloat('Weight') ], cpNormal, True) ]); wbEffects := wbRStructs('Effects','Effect', [ wbEFID, wbEFIT, wbSCIT ], []); wbEFID := wbInteger(EFID, 'Magic effect name', itU32, wbChar4, cpNormal, True); wbEFIT := wbStructSK(EFIT, [4, 5], '', [ wbInteger('Magic effect name', itU32, wbChar4), wbInteger('Magnitude', itU32), wbInteger('Area', itU32), wbInteger('Duration', itU32), wbInteger('Type', itU32, wbEnum(['Self', 'Touch', 'Target'])), wbInteger('Actor Value', itS32, wbActorValueEnum) ], cpNormal, True, nil, -1, wbEFITAfterLoad); wbMagicSchoolEnum := wbEnum([ 'Alteration', 'Conjuration', 'Destruction', 'Illusion', 'Mysticism', 'Restoration' ]); wbSCIT := wbRStructSK([0], 'Script effect', [ wbStructSK(SCIT, [0], 'Script effect data', [ wbFormIDCk('Script effect', [NULL, SCPT]), wbInteger('Magic school', itU32, wbMagicSchoolEnum), wbInteger('Visual effect name', itU32, wbChar4), wbInteger('Flags', itU8, wbFlags(['Hostile'])), wbByteArray('Unused', 3) ], cpNormal, True, nil, 1), wbFULLReq ], []);