Jump to content

GRF: GRF Editor


Tokei

Recommended Posts


  • Group:  Members
  • Topic Count:  2
  • Topics Per Day:  0.00
  • Content Count:  5
  • Reputation:   0
  • Joined:  08/15/12
  • Last Seen:  

Grf encryption in 2013 Ragexe is not working.

 

It can read the grf but can't read correctly.

 

For example, i change the content of clientinfo.xml in a new grf and encrypt it but this grf 's clientinfo.xml not working.

 

It can't read the clientinfo.xml anything content but it can read the clientinfo.xml!

 

Is the 2013 Ragexe problem or else?

 

PS: My cps.dll is year 2002 (the official's) and my en is not good /wah .

Thank you for Reply!

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  16
  • Topics Per Day:  0.00
  • Content Count:  660
  • Reputation:   668
  • Joined:  11/12/12
  • Last Seen:  

Grf encryption in 2013 Ragexe is not working.

 

It can read the grf but can't read correctly.

 

For example, i change the content of clientinfo.xml in a new grf and encrypt it but this grf 's clientinfo.xml not working.

 

It can't read the clientinfo.xml anything content but it can read the clientinfo.xml!

 

Is the 2013 Ragexe problem or else?

 

PS: My cps.dll is year 2002 (the official's) and my en is not good /wah .

Thank you for Reply!

 

The encryption within GRF Editor will work perfectly fine, but you're probably having compatibility issues from the client (caused by the protection used on the DLL; only a few version of clients will be able to use this encryption system). There's also a bug that will make it impossible to patch with the current patchers (such as Thor Patcher). So for now, I simply wouldn't use the encryption feature. I'm going to fix this so that it works for any client, but that's going to be in a couple months when I'm not as busy as I am right now. Basically : do not encrypt your files with GRF Editor.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  2
  • Topics Per Day:  0.00
  • Content Count:  5
  • Reputation:   0
  • Joined:  08/15/12
  • Last Seen:  

Grf encryption in 2013 Ragexe is not working.

 

It can read the grf but can't read correctly.

 

For example, i change the content of clientinfo.xml in a new grf and encrypt it but this grf 's clientinfo.xml not working.

 

It can't read the clientinfo.xml anything content but it can read the clientinfo.xml!

 

Is the 2013 Ragexe problem or else?

 

PS: My cps.dll is year 2002 (the official's) and my en is not good /wah .

Thank you for Reply!

 

The encryption within GRF Editor will work perfectly fine, but you're probably having compatibility issues from the client (caused by the protection used on the DLL; only a few version of clients will be able to use this encryption system). There's also a bug that will make it impossible to patch with the current patchers (such as Thor Patcher). So for now, I simply wouldn't use the encryption feature. I'm going to fix this so that it works for any client, but that's going to be in a couple months when I'm not as busy as I am right now. Basically : do not encrypt your files with GRF Editor.

 

OK, thanks for Reply~

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  22
  • Topics Per Day:  0.00
  • Content Count:  164
  • Reputation:   55
  • Joined:  11/25/11
  • Last Seen:  

Grf encryption in 2013 Ragexe is not working.

 

It can read the grf but can't read correctly.

 

For example, i change the content of clientinfo.xml in a new grf and encrypt it but this grf 's clientinfo.xml not working.

 

It can't read the clientinfo.xml anything content but it can read the clientinfo.xml!

 

Is the 2013 Ragexe problem or else?

 

PS: My cps.dll is year 2002 (the official's) and my en is not good /wah .

Thank you for Reply!

 

The encryption within GRF Editor will work perfectly fine, but you're probably having compatibility issues from the client (caused by the protection used on the DLL; only a few version of clients will be able to use this encryption system). There's also a bug that will make it impossible to patch with the current patchers (such as Thor Patcher). So for now, I simply wouldn't use the encryption feature. I'm going to fix this so that it works for any client, but that's going to be in a couple months when I'm not as busy as I am right now. Basically : do not encrypt your files with GRF Editor.

 

I also have tested GRF Encryption.

It does not work with mid-2013 clients.

 

Looking forward for a fix!

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  0
  • Topics Per Day:  0
  • Content Count:  2
  • Reputation:   0
  • Joined:  10/15/13
  • Last Seen:  

hey tokei! whatsup! im a fan of your work and you haha.... anyways, i tried the GRF Encryption 1.3.4 to encrypt a grf for talonRO and the client errors all the time. SecureGRF does the same exact thing. Must be the client is too updated or something. Help?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  1
  • Topics Per Day:  0.00
  • Content Count:  2
  • Reputation:   0
  • Joined:  06/06/13
  • Last Seen:  

Got this error after I've changed my theme on W8

 

 
 
 
--------------    10/18/2013 03:54:05    --------------
        Loaded assemblies : 
            mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
            GRF Editor, Version=1.3.7.685, Culture=neutral, PublicKeyToken=null
            System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
            PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
            WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
            PresentationCore, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
            System.Xaml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
            ErrorManager, Version=1.2.4995.7277, Culture=neutral, PublicKeyToken=null
            Utilities, Version=1.2.4995.7277, Culture=neutral, PublicKeyToken=null
            TokeiLibrary, Version=1.2.0.0, Culture=neutral, PublicKeyToken=null
            GRF, Version=1.2.4995.7280, Culture=neutral, PublicKeyToken=null
            System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
            ICSharpCode.AvalonEdit, Version=4.3.1.9429, Culture=neutral, PublicKeyToken=9cc39be672370310
            Be.Windows.Forms.HexBox, Version=1.5.0.34411, Culture=neutral, PublicKeyToken=e0e5adf0ebc99863
            System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
            System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
            WindowsFormsIntegration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
            System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
            System.Xaml.resources, Version=4.0.0.0, Culture=pt-BR, PublicKeyToken=b77a5c561934e089
 
System.Windows.Markup.XamlParseException: A inicialização de 'System.Windows.Controls.Label' iniciou uma exceção. ---> System.IO.FileLoadException: Não foi possível carregar arquivo ou assembly 'PresentationFramework.AeroByDesignSBTB, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' ou uma de suas dependências. Exceção Geral (Exceção de HRESULT: 0x80131500) ---> System.Exception: Unable to load the following resourse : GRFEditor.Files.PresentationFramework.AeroByDesignSBTB.dll
   em GRFEditor.GRFEditorMain.<Main>b__0(Object sender, ResolveEventArgs arguments)
   em System.AppDomain.OnAssemblyResolveEvent(RuntimeAssembly assembly, String assemblyFullName)
   --- Fim do rastreamento de pilha de exceções internas ---
   em System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   em System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   em System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   em System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean forIntrospection)
   em System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
   em System.Reflection.Assembly.Load(String assemblyString)
   em System.Windows.SystemResources.ResourceDictionaries.LoadExternalAssembly(Boolean classic, Boolean generic, Assembly& assembly, String& assemblyName)
   em System.Windows.SystemResources.ResourceDictionaries.LoadThemedDictionary(Boolean isTraceEnabled)
   em System.Windows.SystemResources.FindDictionaryResource(Object key, Type typeKey, ResourceKey resourceKey, Boolean isTraceEnabled, Boolean allowDeferredResourceReference, Boolean mustReturnDeferredResourceReference, Boolean& canCache)
   em System.Windows.SystemResources.FindResourceInternal(Object key, Boolean allowDeferredResourceReference, Boolean mustReturnDeferredResourceReference)
   em System.Windows.SystemResources.FindThemeStyle(DependencyObjectType key)
   em System.Windows.StyleHelper.GetThemeStyle(FrameworkElement fe, FrameworkContentElement fce)
   em System.Windows.FrameworkElement.UpdateThemeStyleProperty()
   em System.Windows.FrameworkElement.OnInitialized(EventArgs e)
   em System.Windows.FrameworkElement.TryFireInitialized()
   em System.Windows.FrameworkElement.EndInit()
   em MS.Internal.Xaml.Runtime.ClrObjectRuntime.InitializationGuard(XamlType xamlType, Object obj, Boolean begin)
   --- Fim do rastreamento de pilha de exceções internas ---
   em System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
   em System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri)
   em System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)
   em System.Windows.Application.LoadBamlStreamWithSyncInfo(Stream stream, ParserContext pc)
   em System.Windows.Application.LoadComponent(Uri resourceLocator, Boolean bSkipJournaledProperties)
   em System.Windows.Application.DoStartup()
   em System.Windows.Application.<.ctor>b__1(Object unused)
   em System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   em MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
--------------      Inner exception      --------------
System.IO.FileLoadException: Não foi possível carregar arquivo ou assembly 'PresentationFramework.AeroByDesignSBTB, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' ou uma de suas dependências. Exceção Geral (Exceção de HRESULT: 0x80131500)
Nome do arquivo: 'PresentationFramework.AeroByDesignSBTB, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' ---> System.Exception: Unable to load the following resourse : GRFEditor.Files.PresentationFramework.AeroByDesignSBTB.dll
   em GRFEditor.GRFEditorMain.<Main>b__0(Object sender, ResolveEventArgs arguments)
   em System.AppDomain.OnAssemblyResolveEvent(RuntimeAssembly assembly, String assemblyFullName)
   em System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   em System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   em System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   em System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean forIntrospection)
   em System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
   em System.Reflection.Assembly.Load(String assemblyString)
   em System.Windows.SystemResources.ResourceDictionaries.LoadExternalAssembly(Boolean classic, Boolean generic, Assembly& assembly, String& assemblyName)
   em System.Windows.SystemResources.ResourceDictionaries.LoadThemedDictionary(Boolean isTraceEnabled)
   em System.Windows.SystemResources.FindDictionaryResource(Object key, Type typeKey, ResourceKey resourceKey, Boolean isTraceEnabled, Boolean allowDeferredResourceReference, Boolean mustReturnDeferredResourceReference, Boolean& canCache)
   em System.Windows.SystemResources.FindResourceInternal(Object key, Boolean allowDeferredResourceReference, Boolean mustReturnDeferredResourceReference)
   em System.Windows.SystemResources.FindThemeStyle(DependencyObjectType key)
   em System.Windows.StyleHelper.GetThemeStyle(FrameworkElement fe, FrameworkContentElement fce)
   em System.Windows.FrameworkElement.UpdateThemeStyleProperty()
   em System.Windows.FrameworkElement.OnInitialized(EventArgs e)
   em System.Windows.FrameworkElement.TryFireInitialized()
   em System.Windows.FrameworkElement.EndInit()
   em MS.Internal.Xaml.Runtime.ClrObjectRuntime.InitializationGuard(XamlType xamlType, Object obj, Boolean begin)
 
 
 
 
--------------    10/18/2013 03:54:18    --------------
        Loaded assemblies : 
            mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
            GRF Editor, Version=1.3.7.685, Culture=neutral, PublicKeyToken=null
            System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
            PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
            WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
            PresentationCore, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
            System.Xaml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
            ErrorManager, Version=1.2.4995.7277, Culture=neutral, PublicKeyToken=null
            Utilities, Version=1.2.4995.7277, Culture=neutral, PublicKeyToken=null
            TokeiLibrary, Version=1.2.0.0, Culture=neutral, PublicKeyToken=null
            GRF, Version=1.2.4995.7280, Culture=neutral, PublicKeyToken=null
            System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
            ICSharpCode.AvalonEdit, Version=4.3.1.9429, Culture=neutral, PublicKeyToken=9cc39be672370310
            Be.Windows.Forms.HexBox, Version=1.5.0.34411, Culture=neutral, PublicKeyToken=e0e5adf0ebc99863
            System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
            System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
            WindowsFormsIntegration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
            System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
            System.Xaml.resources, Version=4.0.0.0, Culture=pt-BR, PublicKeyToken=b77a5c561934e089
 
System.Windows.Markup.XamlParseException: A inicialização de 'System.Windows.Controls.Label' iniciou uma exceção. ---> System.IO.FileLoadException: Não foi possível carregar arquivo ou assembly 'PresentationFramework.AeroByDesignSBTB, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' ou uma de suas dependências. Exceção Geral (Exceção de HRESULT: 0x80131500) ---> System.Exception: Unable to load the following resourse : GRFEditor.Files.PresentationFramework.AeroByDesignSBTB.dll
   em GRFEditor.GRFEditorMain.<Main>b__0(Object sender, ResolveEventArgs arguments)
   em System.AppDomain.OnAssemblyResolveEvent(RuntimeAssembly assembly, String assemblyFullName)
   --- Fim do rastreamento de pilha de exceções internas ---
   em System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   em System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   em System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   em System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean forIntrospection)
   em System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
   em System.Reflection.Assembly.Load(String assemblyString)
   em System.Windows.SystemResources.ResourceDictionaries.LoadExternalAssembly(Boolean classic, Boolean generic, Assembly& assembly, String& assemblyName)
   em System.Windows.SystemResources.ResourceDictionaries.LoadThemedDictionary(Boolean isTraceEnabled)
   em System.Windows.SystemResources.FindDictionaryResource(Object key, Type typeKey, ResourceKey resourceKey, Boolean isTraceEnabled, Boolean allowDeferredResourceReference, Boolean mustReturnDeferredResourceReference, Boolean& canCache)
   em System.Windows.SystemResources.FindResourceInternal(Object key, Boolean allowDeferredResourceReference, Boolean mustReturnDeferredResourceReference)
   em System.Windows.SystemResources.FindThemeStyle(DependencyObjectType key)
   em System.Windows.StyleHelper.GetThemeStyle(FrameworkElement fe, FrameworkContentElement fce)
   em System.Windows.FrameworkElement.UpdateThemeStyleProperty()
   em System.Windows.FrameworkElement.OnInitialized(EventArgs e)
   em System.Windows.FrameworkElement.TryFireInitialized()
   em System.Windows.FrameworkElement.EndInit()
   em MS.Internal.Xaml.Runtime.ClrObjectRuntime.InitializationGuard(XamlType xamlType, Object obj, Boolean begin)
   --- Fim do rastreamento de pilha de exceções internas ---
   em System.Windows.Markup.WpfXamlLoader.Load(XamlReader xamlReader, IXamlObjectWriterFactory writerFactory, Boolean skipJournaledProperties, Object rootObject, XamlObjectWriterSettings settings, Uri baseUri)
   em System.Windows.Markup.WpfXamlLoader.LoadBaml(XamlReader xamlReader, Boolean skipJournaledProperties, Object rootObject, XamlAccessLevel accessLevel, Uri baseUri)
   em System.Windows.Markup.XamlReader.LoadBaml(Stream stream, ParserContext parserContext, Object parent, Boolean closeStream)
   em System.Windows.Application.LoadBamlStreamWithSyncInfo(Stream stream, ParserContext pc)
   em System.Windows.Application.LoadComponent(Uri resourceLocator, Boolean bSkipJournaledProperties)
   em System.Windows.Application.DoStartup()
   em System.Windows.Application.<.ctor>b__1(Object unused)
   em System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   em MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
--------------      Inner exception      --------------
System.IO.FileLoadException: Não foi possível carregar arquivo ou assembly 'PresentationFramework.AeroByDesignSBTB, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' ou uma de suas dependências. Exceção Geral (Exceção de HRESULT: 0x80131500)
Nome do arquivo: 'PresentationFramework.AeroByDesignSBTB, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' ---> System.Exception: Unable to load the following resourse : GRFEditor.Files.PresentationFramework.AeroByDesignSBTB.dll
   em GRFEditor.GRFEditorMain.<Main>b__0(Object sender, ResolveEventArgs arguments)
   em System.AppDomain.OnAssemblyResolveEvent(RuntimeAssembly assembly, String assemblyFullName)
   em System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   em System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   em System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
   em System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean forIntrospection)
   em System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
   em System.Reflection.Assembly.Load(String assemblyString)
   em System.Windows.SystemResources.ResourceDictionaries.LoadExternalAssembly(Boolean classic, Boolean generic, Assembly& assembly, String& assemblyName)
   em System.Windows.SystemResources.ResourceDictionaries.LoadThemedDictionary(Boolean isTraceEnabled)
   em System.Windows.SystemResources.FindDictionaryResource(Object key, Type typeKey, ResourceKey resourceKey, Boolean isTraceEnabled, Boolean allowDeferredResourceReference, Boolean mustReturnDeferredResourceReference, Boolean& canCache)
   em System.Windows.SystemResources.FindResourceInternal(Object key, Boolean allowDeferredResourceReference, Boolean mustReturnDeferredResourceReference)
   em System.Windows.SystemResources.FindThemeStyle(DependencyObjectType key)
   em System.Windows.StyleHelper.GetThemeStyle(FrameworkElement fe, FrameworkContentElement fce)
   em System.Windows.FrameworkElement.UpdateThemeStyleProperty()
   em System.Windows.FrameworkElement.OnInitialized(EventArgs e)
   em System.Windows.FrameworkElement.TryFireInitialized()
   em System.Windows.FrameworkElement.EndInit()
   em MS.Internal.Xaml.Runtime.ClrObjectRuntime.InitializationGuard(XamlType xamlType, Object obj, Boolean begin)
 
 
 
 
--------------    10/18/2013 03:59:28    --------------
        Loaded assemblies : 
            mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
            GRF Editor, Version=1.3.7.685, Culture=neutral, PublicKeyToken=null
            System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
            PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
            WindowsBase, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
            PresentationCore, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
            System.Xaml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
            ErrorManager, Version=1.2.4995.7277, Culture=neutral, PublicKeyToken=null
            Utilities, Version=1.2.4995.7277, Culture=neutral, PublicKeyToken=null
            TokeiLibrary, Version=1.2.0.0, Culture=neutral, PublicKeyToken=null
            GRF, Version=1.2.4995.7280, Culture=neutral, PublicKeyToken=null
            System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
            ICSharpCode.AvalonEdit, Version=4.3.1.9429, Culture=neutral, PublicKeyToken=9cc39be672370310
            Be.Windows.Forms.HexBox, Version=1.5.0.34411, Culture=neutral, PublicKeyToken=e0e5adf0ebc99863
            System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
            System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
            WindowsFormsIntegration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
            System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
            System.Xaml.resources, Version=4.0.0.0, Culture=pt-BR, PublicKeyToken=b77a5c561934e089
            mscorlib.resources, Version=4.0.0.0, Culture=pt-BR, PublicKeyToken=b77a5c561934e089
 
System.NullReferenceException: Referência de objeto não definida para uma instância de um objeto.
   em GRFEditor.EditorMainWindow.OnClosing(CancelEventArgs e)
   em System.Windows.Window.InternalClose(Boolean shutdown, Boolean ignoreCancel)
   em System.Windows.Application.DoShutdown()
   em System.Windows.Application.ShutdownImpl()
   em System.Windows.Application.ShutdownCallback(Object arg)
   em System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   em MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
--------------      Inner exception      --------------
 

 
 
/sob help me
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  1
  • Topics Per Day:  0.00
  • Content Count:  4
  • Reputation:   1
  • Joined:  05/30/13
  • Last Seen:  

I'm with this exatcly situation:

 

 

If that works fine but not while using an encrypted GRF, then the protection used to prevent dll injection is generating false positives and won't allow your client to decrypt encrypted files. For now, this isn't an issue I will solve right away.

 

 

This is really bad :/ ...

Link to comment
Share on other sites

  • 2 months later...

  • Group:  Members
  • Topic Count:  54
  • Topics Per Day:  0.01
  • Content Count:  177
  • Reputation:   4
  • Joined:  05/23/12
  • Last Seen:  

I got an error after changing my windows 7 theme.

Help.!

Link to comment
Share on other sites

  • 3 weeks later...

  • Group:  Members
  • Topic Count:  12
  • Topics Per Day:  0.00
  • Content Count:  82
  • Reputation:   40
  • Joined:  01/03/12
  • Last Seen:  

It's simply amazing what GRF Editor can do, just love it. I just have a couple of suggestions to improve UI. Would it be possible to expand "data" folder as a default config? It is annoying to do double click to data root folder to open it and then introduce the files.

The other suggestion is about give files and folders minimal icons. Right now the User Interface looks like notepad, only a txt UI, would be easier to check files and folders viewing representative icons.

The last suggestion is about MS Windows integration. Would it be possible to make a context menu for right click in grf files with the options "extract here" or "extract here using grf name folder"? It would be just awesome if can do this.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  10
  • Reputation:   1
  • Joined:  07/28/13
  • Last Seen:  

Hi there.

 

I tried this program and it runs superfantastic!

I also created a new greyworld which looks crystal clear.

 

 

But now my knowledge about those programs htting their limit.

 

The first thing is that I cannot replace unique cells. Everything is used very often and on my actual grf I'm using the system of the saknew.grf (this .grf should be well known under woe players). The benefits of this file is that you can mark flag points as unique colored cell. By click the spoiler below you will see that I marked this cell red. Every flagpoint is red but no cell else. By trying to recolor single cells of the grf editor based system it was sightly impossble because I had a lot of random dots around the whole map which look just really annoying. Is it possible to overlay unique cells with a color?

 

 

2nd thing I want to focus this system for woe SE and tried to make the ground visible be painting ground textures in magentha.

What I hope to achieve is to change to groundfile to replace it with a picture.

The whole idea behind is to create a background which can be resized indepently from the cell size of the grf (32x32 pixel in case of grf editor; 8x8 in case of the a-0.bmp grf from the saknew.grf).

It could be resized to 520x300 pixel w/o any problems.

 

Let me show this in an example:

 

my actual grf

4ncb3s5a.png

 

 

how it would look like if I could replace the lowest ground with a random picture

ii7fecyt.jpg

 

Anyone have an idea how to replace those files? Is this even possible if you create a map by using this editor? I tried it with borf but honestly I have no idea how to handle it.

The main target is more then a simple replacement:

I want to have a gif like the water animation on standart maps. You would be able to replace it with a .gif file like a tetris game.

How cool would this be? A running tetris "game" with like 100 pics while you are playing woe. It would be extremly impressive especially in woe videos.

Edited by Zapion
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  87
  • Topics Per Day:  0.02
  • Content Count:  1335
  • Reputation:   932
  • Joined:  10/26/11
  • Last Seen:  

Its possible to load a -gray world- map with browedit and edit one tile by placing a custom texture like the one you show as you wish.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  10
  • Reputation:   1
  • Joined:  07/28/13
  • Last Seen:  

Do I have to rebuild the whole map with browedit or can I use my map from grf editor?

I can't figure out how to change background files. And what I've read yet the file size of backgrounds graphics is limited on browedit.

I guess the fileresolution doesn't matter anymore on browedit, but I actually I can't find a guide which gives me the required knowledge.

What I've found is just the simple part about water and how to make a sky map but not how to create an own (moving) background.

 

Searching on google for "borf" or smthn is pain in the ass =/

Edited by Zapion
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  87
  • Topics Per Day:  0.02
  • Content Count:  1335
  • Reputation:   932
  • Joined:  10/26/11
  • Last Seen:  

Perhaps, you can create a custom model, like a flat plane, and add the texture of your logo on its surface, by having its height/width accordly to the resolution of your image. The black area could be, transparency :D

Hence, you can use the new model as an object and just place it anywhere you would like in the map? this way would be easier since you would not touch/edit the tiles on the terrain surface.

If you don't know how to use browedit I'm sure you don't know then how to create custom models, but if you want I can do it for you, since it would be easy. However, I need to ask you to post in Graphics Support, not this thread.

Oh wait. I'm reading a little more:

I was refering about just adding that logo on your map. Now, If you want to create animated gifs in ragnarok maps, thats not possible o_o ... Regarding the way how the water shows that movement, is, a very special case of how the clients calls it, and it goes specifically for water... not other element in the map.

Link to comment
Share on other sites

  • 4 weeks later...

  • Group:  Members
  • Topic Count:  16
  • Topics Per Day:  0.00
  • Content Count:  660
  • Reputation:   668
  • Joined:  11/12/12
  • Last Seen:  

Hey everyone!
 
Sorry for my lack of response, I've been quite busy and this project got put on stand-by ;). Anyway, I can work on this again! As a quick note to everyone, the GRF encryption has been fixed and is now working as intended. It's also a lot easier to use now.
 

 

It's simply amazing what GRF Editor can do, just love it. I just have a couple of suggestions to improve UI. Would it be possible to expand "data" folder as a default config? It is annoying to do double click to data root folder to open it and then introduce the files.

The other suggestion is about give files and folders minimal icons. Right now the User Interface looks like notepad, only a txt UI, would be easier to check files and folders viewing representative icons.

The last suggestion is about MS Windows integration. Would it be possible to make a context menu for right click in grf files with the options "extract here" or "extract here using grf name folder"? It would be just awesome if can do this.

 

I'm glad you like it and thanks a lot for the suggestions! The newest version now saves each tree nodes, so you won't have to always reopen the nodes all the time. To open specific folders (like data\texture, etc), this can be done from Settings -> Tree behavior -> Edit..., it's pretty straightforward.

 
I've already added icons for folders (in the newest version), but I'm not sure if that's what you're looking for. As for adding icons to each file, I'll see what I can do but it won't be in this release.
 
I liked the idea of adding context menus to GRF/RGZ files a lot, so it's already implemented (in Settings -> Shell integration -> check the extensions you wish to add menus).
 

 

The first thing is that I cannot replace unique cells. Everything is used very often and on my actual grf I'm using the system of the saknew.grf (this .grf should be well known under woe players). The benefits of this file is that you can mark flag points as unique colored cell. By click the spoiler below you will see that I marked this cell red. Every flagpoint is red but no cell else. By trying to recolor single cells of the grf editor based system it was sightly impossble because I had a lot of random dots around the whole map which look just really annoying. Is it possible to overlay unique cells with a color?

 

 

2nd thing I want to focus this system for woe SE and tried to make the ground visible be painting ground textures in magentha.

What I hope to achieve is to change to groundfile to replace it with a picture.

The whole idea behind is to create a background which can be resized indepently from the cell size of the grf (32x32 pixel in case of grf editor; 8x8 in case of the a-0.bmp grf from the saknew.grf).

It could be resized to 520x300 pixel w/o any problems.

 

Hmm, it can be possible to replace single cells with another color, but there's no graphic interface to edit the maps, so you'd have to known the exact flag position and it'd be rather tedious =). What you're tyring to achieve is usually done via map editors, such as BrowEdit. As for your second issue, Olrox has already answered you I guess!
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  3
  • Topics Per Day:  0.00
  • Content Count:  10
  • Reputation:   1
  • Joined:  07/28/13
  • Last Seen:  

 

The first thing is that I cannot replace unique cells. Everything is used very often and on my actual grf I'm using the system of the saknew.grf (this .grf should be well known under woe players). The benefits of this file is that you can mark flag points as unique colored cell. By click the spoiler below you will see that I marked this cell red. Every flagpoint is red but no cell else. By trying to recolor single cells of the grf editor based system it was sightly impossble because I had a lot of random dots around the whole map which look just really annoying. Is it possible to overlay unique cells with a color?

 

 

2nd thing I want to focus this system for woe SE and tried to make the ground visible be painting ground textures in magentha.

What I hope to achieve is to change to groundfile to replace it with a picture.

The whole idea behind is to create a background which can be resized indepently from the cell size of the grf (32x32 pixel in case of grf editor; 8x8 in case of the a-0.bmp grf from the saknew.grf).

It could be resized to 520x300 pixel w/o any problems.

 

Hmm, it can be possible to replace single cells with another color, but there's no graphic interface to edit the maps, so you'd have to known the exact flag position and it'd be rather tedious =). What you're tyring to achieve is usually done via map editors, such as BrowEdit. As for your second issue, Olrox has already answered you I guess!

 

Already done. I used brow+an offline server to edit cell by cell. There will be woe videos with it soon. PM me if you are interessted to see how it looks.

But I'm still sad that I'm not able to implement animated backgrounds :<

Edited by Zapion
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  12
  • Topics Per Day:  0.00
  • Content Count:  82
  • Reputation:   40
  • Joined:  01/03/12
  • Last Seen:  

I'm glad you like it and thanks a lot for the suggestions! The newest version now saves each tree nodes, so you won't have to always reopen the nodes all the time. To open specific folders (like data\texture, etc), this can be done from Settings -> Tree behavior -> Edit..., it's pretty straightforward.

 
I've already added icons for folders (in the newest version), but I'm not sure if that's what you're looking for. As for adding icons to each file, I'll see what I can do but it won't be in this release.
 
I liked the idea of adding context menus to GRF/RGZ files a lot, so it's already implemented (in Settings -> Shell integration -> check the extensions you wish to add menus).

 

The Shell Integration was simply perfect, I loved it. Thanks a lot!!!

 

About Tree behavior, could it be possible that it auto-select the expanded node? Actually it is still needed to clic in respective node to see the file list of that node/folder :S

 

Edit: Well, here is another suggestion, would it be possible to do a grf file by just select a group of files in a Windows Folder by shell integration (right clic > GRF Editor > Add to "(Windows Folder Name).grf")? ^^;

Edited by Deep Forest
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  16
  • Topics Per Day:  0.00
  • Content Count:  660
  • Reputation:   668
  • Joined:  11/12/12
  • Last Seen:  

The Shell Integration was simply perfect, I loved it. Thanks a lot!!!

 

About Tree behavior, could it be possible that it auto-select the expanded node? Actually it is still needed to clic in respective node to see the file list of that node/folder :S

 

Edit: Well, here is another suggestion, would it be possible to do a grf file by just select a group of files in a Windows Folder by shell integration (right clic > GRF Editor > Add to "(Windows Folder Name).grf")? ^^;

 

 

Alright, all features added in the newest version, please report any bug found like always (with a good description!). The shell integration may not work on Windows XP, it is meant for Windows 7 and later.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  2
  • Topics Per Day:  0.00
  • Content Count:  14
  • Reputation:   0
  • Joined:  12/10/11
  • Last Seen:  

 

The Shell Integration was simply perfect, I loved it. Thanks a lot!!!

 

About Tree behavior, could it be possible that it auto-select the expanded node? Actually it is still needed to clic in respective node to see the file list of that node/folder :S

 

Edit: Well, here is another suggestion, would it be possible to do a grf file by just select a group of files in a Windows Folder by shell integration (right clic > GRF Editor > Add to "(Windows Folder Name).grf")? ^^;

 

 

Alright, all features added in the newest version, please report any bug found like always (with a good description!). The shell integration may not work on Windows XP, it is meant for Windows 7 and later.

 

 

Hi,

 

Is this working with 2013 clients? I tried this with 20130807 & 20131223 clients but the client won't open and gives me this error:

 

2cihgnt.jpg 261klea.jpg

 

Did I miss anything?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  16
  • Topics Per Day:  0.00
  • Content Count:  660
  • Reputation:   668
  • Joined:  11/12/12
  • Last Seen:  

Hi,

 

Is this working with 2013 clients? I tried this with 20130807 & 20131223 clients but the client won't open and gives me this error:

 

2cihgnt.jpg 261klea.jpg

 

Did I miss anything?

 

 

Hmm, what is or is not working with the 2013 clients? You seem to be talking about the encryption, which has been disabled due to too many incompatibilities.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  16
  • Topics Per Day:  0.00
  • Content Count:  660
  • Reputation:   668
  • Joined:  11/12/12
  • Last Seen:  

Hey guys,

 

I just finished a new feature up to a satisfying point, so here goes (coding wise, it's kinda big)!

 

Client Database Editor - Getting started!
This tool is meant to modify items from a client quickly and easily. If you set it properly, the modifications can be done directly in the GRF files as well.The first thing you'll want to do is create a new project : File > Save projet info... This file will keep your settings for your next usage. Go in the Settings tab and select from which mode you want to read the database items (from txt files or lua files). You can convert one to another by going to File > Export...
 
Once you're set, you need to add paths for the resources. Basically drop your GRF files in there, in the same order as the client will read it (if you're not sure, open DATA.INI from your RO folder). You'll want to drop a data folder as well and move it to the top so that it gets read first. The options are entirely up to you at this point :).
 
7OBddtR.png
 
Also, you can view the path detected for a file by putting your mouse on top of the description (a tool tip should show up!). A red background indicates that the file hasn't been found. The database can work without all the files loaded though, so it's not an issue. You can work with only one file if you want, it's very flexible. Only the files in use will be overwritten.
 
XiLLqZA.png
 
If you change tab, the database will start loading (should take a few seconds xD). And... there you go! You can start messing around with your items. If you don't want to erase your files from the sources directly, use the export method instead : File > Export project to...
 
Search feature
The search feature is quite advanced and the results should be almost instantaneous. The option you'll like the most is the range one, which allows you to view only a subset of items instead of the whole database. The syntax is rather straightforward as well.
 
The search is actually better than the one currently being used by GRF Editor, you can use quotes for group of words and change the mode of the search from narrow to widen. A narrow search requires all the keywords to be present in the item, while a widen search only requires one of the keywords.
 
GmAISGa.png
 
Autocompletion feature
The buttons "Quick edit..." and "Autocomplete" will be quite useful while making new items. The "Quick edit" feature knows what item is being edited and it will provide the fields for you automatically. The text colors and format will be generated based on the official items' descriptions. The Applicable Job can be converted from the hex value to the string value and vice versa. The "Autocomplete" feature fills the unidentified fields for the item. This should help remove mistakes and confusion by making the descriptions more uniform :P.
 
Database comparer feature
You can get to it from Tools > Compare database. This option requires item_db.txt to be loaded (from the settings page, at the bottom). What it does is... compare your database with the item descriptions. There are a wide variety of settings and it doesn't allow many mistakes, so you'll want to grab only a subset of items before running a database check. Each issue found will have an automatic fix (right-click > Fix). What the database comparer can detect : missing items, missing resources, missing description parameters, invalid description (an applicable job isn't showing, an extra job is being shown, etc)
 
7kjO5ka.png
 
This tool is still a work in progress, meaning you may find some bugs, have some unexpected behaviors so, as always, back up your work (via the export feature for more safety).
 
If you have suggestions or a feedback, please let me know!
  • Upvote 2
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  22
  • Topics Per Day:  0.00
  • Content Count:  806
  • Reputation:   220
  • Joined:  03/13/12
  • Last Seen:  

maybe I got it wrong but its for modifying your item info tables directly? (txt tables or ItemInfo lua).

 

anyways looks like a cool idea :).

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  16
  • Topics Per Day:  0.00
  • Content Count:  660
  • Reputation:   668
  • Joined:  11/12/12
  • Last Seen:  

maybe I got it wrong but its for modifying your item info tables directly? (txt tables or ItemInfo lua).

 

anyways looks like a cool idea :).

 

Yep, that's exactly what it's for xD! All the files are grouped together in the same interface and you can add new items made from your item_db directly in the txt/lua files with little effort (and it fills in all the fields with a proper description based on the item type). But yeah, it's a test project, no idea if people will like it or not (I had fun while making it at least!). So... I'm a bit curious about what people would think.

 

Ultimately though, all the methods and libraries were meant to be used for managing the server txt database files. It's mostly already ready for that, but I wanted to finish the client side part of the project since it's much easier to do. It would be similar to "rAthena Database Editor" though in the end, except you would be able to load all the existing tables with their references (and it won't be part of GRF Editor since it wouldn't be related to the client files).

 

(The project you see up there can already be used from GRF Editor > Tools > Client Database Editor)

Edited by Tokei
  • Upvote 2
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  40
  • Topics Per Day:  0.01
  • Content Count:  587
  • Reputation:   104
  • Joined:  11/19/11
  • Last Seen:  

 

maybe I got it wrong but its for modifying your item info tables directly? (txt tables or ItemInfo lua).

 

anyways looks like a cool idea :).

 

Yep, that's exactly what it's for xD! All the files are grouped together in the same interface and you can add new items made from your item_db directly in the txt/lua files with little effort (and it fills in all the fields with a proper description based on the item type). But yeah, it's a test project, no idea if people will like it or not (I had fun while making it at least!). So... I'm a bit curious about what people would think.

 

Ultimately though, all the methods and libraries were meant to be used for managing the server txt database files. It's mostly already ready for that, but I wanted to finish the client side part of the project since it's much easier to do. It would be similar to "rAthena Database Editor" though in the end, except you would be able to load all the existing tables with their references (and it won't be part of GRF Editor since it wouldn't be related to the client files).

 

(The project you see up there can already be used from GRF Editor > Tools > Client Database Editor)

 

Hi~Tokei,

Can you make it also read herc's   item_db.conf

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  12
  • Topics Per Day:  0.00
  • Content Count:  82
  • Reputation:   40
  • Joined:  01/03/12
  • Last Seen:  

I had some problems extracting files that cause some file corruption, particularly when I extract a lot of files (texture, palette and sprite folders of data.grf). Would it be possible to add a function to search and find files that can not be read in the grf because they are damaged?

Edited by Ragno
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  42
  • Topics Per Day:  0.01
  • Content Count:  1096
  • Reputation:   344
  • Joined:  02/26/12
  • Last Seen:  

 

maybe I got it wrong but its for modifying your item info tables directly? (txt tables or ItemInfo lua).

 

anyways looks like a cool idea :).

 

Yep, that's exactly what it's for xD! All the files are grouped together in the same interface and you can add new items made from your item_db directly in the txt/lua files with little effort (and it fills in all the fields with a proper description based on the item type). But yeah, it's a test project, no idea if people will like it or not (I had fun while making it at least!). So... I'm a bit curious about what people would think.

 

Ultimately though, all the methods and libraries were meant to be used for managing the server txt database files. It's mostly already ready for that, but I wanted to finish the client side part of the project since it's much easier to do. It would be similar to "rAthena Database Editor" though in the end, except you would be able to load all the existing tables with their references (and it won't be part of GRF Editor since it wouldn't be related to the client files).

 

(The project you see up there can already be used from GRF Editor > Tools > Client Database Editor)

 

This is awesome feature. 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...