ROM Hack [Beta] Sky Editor: ROM Hack Projects

evandixon

PMD Researcher
OP
Developer
Joined
May 29, 2009
Messages
1,725
Trophies
1
Website
projectpokemon.org
XP
2,333
Country
United States
This doesn't start up at all for me. I'm on Windows 10, not sure what's wrong.

Problem signature:
Problem Event Name: CLR20r3
Problem Signature 01: SkyEditor.exe
Problem Signature 02: 4.0.1.0
Problem Signature 03: 56ddbab9
Problem Signature 04: mscorlib
Problem Signature 05: 4.6.1055.0
Problem Signature 06: 563c0eac
Problem Signature 07: 40fd
Problem Signature 08: 0
Problem Signature 09: System.IO.FileLoadException
OS Version: 6.1.7601.2.1.0.256.1
Locale ID: 1040
Additional Information 1: 0a9e
Additional Information 2: 0a9e372d3b4ad19135b953a78882e789
Additional Information 3: 0a9e
Additional Information 4: 0a9e372d3b4ad19135b953a78882e789
SkyEditor is the only file that gives me this problem

I've attached a program that will help collect more information. Please unzip its contents into the same directory as SkyEditor.exe. Then run SkyEditorConsole.exe. If you see "Sky Editor Console has successfully loaded" then close it and try SkyEditor.exe again, and let me know what happens. If you see a huge error message, then please upload or paste the contents of error.txt.

Ah, thanks! This looks pretty good for a start, even if it has a few glitches, as you said abilities and moves are wrong for most Pokémon, but also that certain cutscenes apparently crash the game, which may be more problematic.

So I've decompiled all the game's LUA scripts, would you know which one of those this one replaces? Thanks again.
You can put it anywhere, but I recommend in script/event/other/seikakushindan/seikakushindan.lua, somewhere inside the function seikakushindankekka02_5_start(). The more familiar you are with lua, the more creative you can be about how you put it in there.

Another thing you can do is add entries in the Message tab so that they can be displayed with the script. For example, if you add an entry with ID 1 that contains "I edited the script!!!1!", you can call WINDOW:SysMsg(1) to display "I edited the script!!!1!". If you use WINDOW:SysMsg("Some text here"), then it both can't be translated, and won't display spaces properly.
 

Attachments

  • SkyEditorConsole.zip
    4.7 KB · Views: 151
  • Like
Reactions: FlappyFalco

Volcanion

Member
Newcomer
Joined
Mar 10, 2016
Messages
13
Trophies
0
XP
87
Country
Italy
I've attached a program that will help collect more information. Please unzip its contents into the same directory as SkyEditor.exe. Then run SkyEditorConsole.exe. If you see "Sky Editor Console has successfully loaded" then close it and try SkyEditor.exe again, and let me know what happens. If you see a huge error message, then please upload or paste the contents of error.txt.

Here's the content of error.txt
System.IO.FileLoadException: Could not load file or assembly 'file:///C:\SEF\SkyEditorBase.dll' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)
File name: 'file:///C:\SEF\SkyEditorBase.dll' ---> System.NotSupportedException: An attempt was made to load an assembly from a network location which would have caused the assembly to be sandboxed in previous versions of the .NET Framework. This release of the .NET Framework does not enable CAS policy by default, so this load may be dangerous. If this load is not intended to sandbox the assembly, please enable the loadFromRemoteSources switch. See http://go.microsoft.com/fwlink/?LinkId=155569 for more information.

at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks, StackCrawlMark& stackMark)
at System.Reflection.Assembly.LoadFrom(String assemblyFile, Evidence securityEvidence)
at System.Activator.CreateInstanceFromInternal(String assemblyFile, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityInfo)
at System.AppDomain.CreateInstanceFrom(String assemblyFile, String typeName)
at System.AppDomain.CreateInstanceFrom(String assemblyFile, String typeName)
at SkyEditorBase.Utilities.AssemblyReflectionManager.LoadAssembly(String AssemblyPath, String DomainName) in C:\Users\Evan\Git\Sky-Editor\Sky Editor Base\Utilities\AssemblyReflectionManager.vb:line 31
at SkyEditorBase.Utilities.ReflectionHelpers.GetSupportedPlugins(IEnumerable`1 PluginPaths, String CoreAssemblyName) in C:\Users\Evan\Git\Sky-Editor\Sky Editor Base\Utilities\ReflectionHelpers.vb:line 111
at SkyEditorBase.PluginManager.LoadPlugins(String FromFolder, iSkyEditorPlugin CoreMod) in C:\Users\Evan\Git\Sky-Editor\Sky Editor Base\PluginManager.vb:line 83
at SkyEditorBase.PluginManager.LoadPlugins(iSkyEditorPlugin CoreMod) in C:\Users\Evan\Git\Sky-Editor\Sky Editor Base\PluginManager.vb:line 56
at SkyEditorConsole.Module1.Main()
 

evandixon

PMD Researcher
OP
Developer
Joined
May 29, 2009
Messages
1,725
Trophies
1
Website
projectpokemon.org
XP
2,333
Country
United States
Here's the content of error.txt
System.IO.FileLoadException: Could not load file or assembly 'file:///C:\SEF\SkyEditorBase.dll' or one of its dependencies. Operation is not supported. (Exception from HRESULT: 0x80131515)
File name: 'file:///C:\SEF\SkyEditorBase.dll' ---> System.NotSupportedException: An attempt was made to load an assembly from a network location which would have caused the assembly to be sandboxed in previous versions of the .NET Framework. This release of the .NET Framework does not enable CAS policy by default, so this load may be dangerous. If this load is not intended to sandbox the assembly, please enable the loadFromRemoteSources switch. See http://go.microsoft.com/fwlink/?LinkId=155569 for more information.

at System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
at System.Reflection.RuntimeAssembly.InternalLoadFrom(String assemblyFile, Evidence securityEvidence, Byte[] hashValue, AssemblyHashAlgorithm hashAlgorithm, Boolean forIntrospection, Boolean suppressSecurityChecks, StackCrawlMark& stackMark)
at System.Reflection.Assembly.LoadFrom(String assemblyFile, Evidence securityEvidence)
at System.Activator.CreateInstanceFromInternal(String assemblyFile, String typeName, Boolean ignoreCase, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo culture, Object[] activationAttributes, Evidence securityInfo)
at System.AppDomain.CreateInstanceFrom(String assemblyFile, String typeName)
at System.AppDomain.CreateInstanceFrom(String assemblyFile, String typeName)
at SkyEditorBase.Utilities.AssemblyReflectionManager.LoadAssembly(String AssemblyPath, String DomainName) in C:\Users\Evan\Git\Sky-Editor\Sky Editor Base\Utilities\AssemblyReflectionManager.vb:line 31
at SkyEditorBase.Utilities.ReflectionHelpers.GetSupportedPlugins(IEnumerable`1 PluginPaths, String CoreAssemblyName) in C:\Users\Evan\Git\Sky-Editor\Sky Editor Base\Utilities\ReflectionHelpers.vb:line 111
at SkyEditorBase.PluginManager.LoadPlugins(String FromFolder, iSkyEditorPlugin CoreMod) in C:\Users\Evan\Git\Sky-Editor\Sky Editor Base\PluginManager.vb:line 83
at SkyEditorBase.PluginManager.LoadPlugins(iSkyEditorPlugin CoreMod) in C:\Users\Evan\Git\Sky-Editor\Sky Editor Base\PluginManager.vb:line 56
at SkyEditorConsole.Module1.Main()
It can't find SkyEditorBase.dll, in the same directory as SkyEditor.exe. Did you extract the entire zip file?
 

Volcanion

Member
Newcomer
Joined
Mar 10, 2016
Messages
13
Trophies
0
XP
87
Country
Italy
It can't find SkyEditorBase.dll, in the same directory as SkyEditor.exe. Did you extract the entire zip file?
Yes of course.
I tried to run it using the Windows XP Service Pack 2 as Windows suggested me: it was running but shortly after it freezes
tV7XKlI.png
 

evandixon

PMD Researcher
OP
Developer
Joined
May 29, 2009
Messages
1,725
Trophies
1
Website
projectpokemon.org
XP
2,333
Country
United States
Yes of course.
I tried to run it using the Windows XP Service Pack 2 as Windows suggested me: it was running but shortly after it freezes
tV7XKlI.png
It freezes when i run it even if unblocked.
OS: Win7 x64
Just clarifying what you said earlier, did you unblock the entire zip file, or just SkyEditor.exe. If you just unblocked the executable, you'll need to delete everything, unblock the zip, then re-extract the zip.
 

Volcanion

Member
Newcomer
Joined
Mar 10, 2016
Messages
13
Trophies
0
XP
87
Country
Italy
Just clarifying what you said earlier, did you unblock the entire zip file, or just SkyEditor.exe. If you just unblocked the executable, you'll need to delete everything, unblock the zip, then re-extract the zip.
Previously I unblocked the exe, now I unblocked the entire zip and works, thanks very much!
(Sorry for my bad english)
 
  • Like
Reactions: evandixon

FlappyFalco

Smile, No Matter How Bad it Gets~
Member
Joined
Oct 11, 2015
Messages
234
Trophies
0
Location
The deepest recesses of my mind
XP
516
Country
Ireland
@UniqueGeek Right, so two things.

The first is that when I put the script where you suggested, the prompt for "HERO" and "PARTNER" ID, comes up multiple times over a white background, once, right before the title screen, second, before the quiz, and then twice again before the "select a starter screen" appears. No matter where I enter the numbers, it appears to have no effect, except for one time when it crashed (possibly because the two Pokémon I entered were the same type, but idk) I almost certainly did something wrong (never even heard of LUA until now tbh), but apparently psy_commando is trying (or tried) something else, so I'll probably wait to test something more refined. Interesting all the same, though.

The second, and probably more relevant to this thread, is that I cannot get SkyEditor to rebuild after creating a Script and Language project. It loads and decompiles the LUA scripts just fine, but when building I get this:

Code:
System.IO.FileNotFoundException: Could not find file 'C:\Users\FF\Desktop\3DS Hacking\AnyStarter\AnyStarter\Languages\en\free_play_billboard'.
File name: 'C:\Users\FF\Desktop\3DS Hacking\AnyStarter\AnyStarter\Languages\en\free_play_billboard'
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.File.InternalReadAllBytes(String path, Boolean checkHost)
   at System.IO.File.ReadAllBytes(String path)
   at ROMEditor.FileFormats.FarcF5.Pack(String SourceDirectory, String DestinationFarcFilename) in C:\Users\Evan\Git\Sky-Editor\ROM Editor\FileFormats\Farc.vb:line 149
   at ROMEditor.Projects.PsmdLuaProject.VB$StateMachine___Lambda$__12-0.MoveNext() in C:\Users\Evan\Git\Sky-Editor\ROM Editor\Projects\PsmdLuaProject.vb:line 185
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
   at ROMEditor.Projects.PsmdLuaProject.VB$StateMachine_12_Build.MoveNext() in C:\Users\Evan\Git\Sky-Editor\ROM Editor\Projects\PsmdLuaProject.vb:line 178
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
   at SkyEditorBase.Solution.VB$StateMachine_94_BuildProjects.MoveNext() in C:\Users\Evan\Git\Sky-Editor\Sky Editor Base\Solution.vb:line 418
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
   at SkyEditorBase.Solution.VB$StateMachine_94_BuildProjects.MoveNext() in C:\Users\Evan\Git\Sky-Editor\Sky Editor Base\Solution.vb:line 412
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
   at SkyEditorBase.Solution.VB$StateMachine_93_Build.MoveNext() in C:\Users\Evan\Git\Sky-Editor\Sky Editor Base\Solution.vb:line 399
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
   at ROMEditor.DSModSolution.VB$StateMachine_6_Build.MoveNext() in C:\Users\Evan\Git\Sky-Editor\ROM Editor\DSModSolution.vb:line 106
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
   at SkyEditorWPF.MenuActions.SolutionBuild.VB$StateMachine_1_DoAction.MoveNext() in C:\Users\Evan\Git\Sky-Editor\Sky Editor WPF\MenuActions\SolutionBuild.vb:line 15

From what I can understand, it's looking for a file called "free_play_billboard" in the languages folder. I check that directory, and the languages folders are all there (en, fr, ge, etc.), but nothing in any of them. I'm using the CXI of the PAL version of the game. Is this a genuine bug or am I doing something completely wrong and obvious (more likely)?
 

evandixon

PMD Researcher
OP
Developer
Joined
May 29, 2009
Messages
1,725
Trophies
1
Website
projectpokemon.org
XP
2,333
Country
United States
The second, and probably more relevant to this thread, is that I cannot get SkyEditor to rebuild after creating a Script and Language project. It loads and decompiles the LUA scripts just fine, but when building I get this:

Code:
System.IO.FileNotFoundException: Could not find file 'C:\Users\FF\Desktop\3DS Hacking\AnyStarter\AnyStarter\Languages\en\free_play_billboard'.
File name: 'C:\Users\FF\Desktop\3DS Hacking\AnyStarter\AnyStarter\Languages\en\free_play_billboard'
   at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
   at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost)
   at System.IO.File.InternalReadAllBytes(String path, Boolean checkHost)
   at System.IO.File.ReadAllBytes(String path)
   at ROMEditor.FileFormats.FarcF5.Pack(String SourceDirectory, String DestinationFarcFilename) in C:\Users\Evan\Git\Sky-Editor\ROM Editor\FileFormats\Farc.vb:line 149
   at ROMEditor.Projects.PsmdLuaProject.VB$StateMachine___Lambda$__12-0.MoveNext() in C:\Users\Evan\Git\Sky-Editor\ROM Editor\Projects\PsmdLuaProject.vb:line 185
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
   at ROMEditor.Projects.PsmdLuaProject.VB$StateMachine_12_Build.MoveNext() in C:\Users\Evan\Git\Sky-Editor\ROM Editor\Projects\PsmdLuaProject.vb:line 178
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
   at SkyEditorBase.Solution.VB$StateMachine_94_BuildProjects.MoveNext() in C:\Users\Evan\Git\Sky-Editor\Sky Editor Base\Solution.vb:line 418
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
   at SkyEditorBase.Solution.VB$StateMachine_94_BuildProjects.MoveNext() in C:\Users\Evan\Git\Sky-Editor\Sky Editor Base\Solution.vb:line 412
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
   at SkyEditorBase.Solution.VB$StateMachine_93_Build.MoveNext() in C:\Users\Evan\Git\Sky-Editor\Sky Editor Base\Solution.vb:line 399
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
   at ROMEditor.DSModSolution.VB$StateMachine_6_Build.MoveNext() in C:\Users\Evan\Git\Sky-Editor\ROM Editor\DSModSolution.vb:line 106
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult()
   at SkyEditorWPF.MenuActions.SolutionBuild.VB$StateMachine_1_DoAction.MoveNext() in C:\Users\Evan\Git\Sky-Editor\Sky Editor WPF\MenuActions\SolutionBuild.vb:line 15

From what I can understand, it's looking for a file called "free_play_billboard" in the languages folder. I check that directory, and the languages folders are all there (en, fr, ge, etc.), but nothing in any of them. I'm using the CXI of the PAL version of the game. Is this a genuine bug or am I doing something completely wrong and obvious (more likely)?
Yep. That's a bug. I'll need a little bit of time to fix it and release Beta 2. Thanks for reporting it!
 
  • Like
Reactions: FlappyFalco

FlappyFalco

Smile, No Matter How Bad it Gets~
Member
Joined
Oct 11, 2015
Messages
234
Trophies
0
Location
The deepest recesses of my mind
XP
516
Country
Ireland
@FlappyFalco

I've released Beta 2. Please download and run it like you did before. When you open your solution for the first time, it will extract the language files so that you can (hopefully) edit the game's text and build the solution.

Yup! It built! Thanks!



I actually did something useful...
 

evandixon

PMD Researcher
OP
Developer
Joined
May 29, 2009
Messages
1,725
Trophies
1
Website
projectpokemon.org
XP
2,333
Country
United States
Unblock the zip? I extracted it like any other program
Right-click, Properties > General > Security > Unblock

Windows knows it came from the web and is blocking Sky Editor from loading its plugins. Granted, it should display an error message when that happens. I'll see if I can do that for the next release.
 
D

Deleted User

Guest
Right-click, Properties > General > Security > Unblock

Windows knows it came from the web and is blocking Sky Editor from loading its plugins. Granted, it should display an error message when that happens. I'll see if I can do that for the next release.
That worked perfectly. Nice work on the program!
 
  • Like
Reactions: evandixon

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    SylverReZ @ SylverReZ: @BakerMan, Remember to take your meds like AncientBoi.