[SOLVED] Help upgrading a game from AGS 3.2 to 3.4

Started by Egmundo Huevoz, Mon 18/12/2017 03:05:59

Previous topic - Next topic

Egmundo Huevoz

Hello! I've made a game a few years back, using AGS 3.2. Now, when I try to open it with 3.4, I get a load of errors, which I don't even know what they mean. I don't know where to start "fixing" the game so I can edit it (and build on top of it) on 3.4.

This is the error screen:


"La cadena de entrada no tiene el formato correcto" is spanish, and it means something like "the entry chain doesn't have the right formatting".
"en" means "in".

eri0o

A long shot, but try the AGS Beta 3.4.1 RC 3 and see if it opens.

Crimson Wizard

#2
Looks like a bug in AGS, question is whether this is one we already fixed or not. Could you tell which version exactly do you use? Check in Help - About window, there will be string like "AGS Editor .NET (Build 3.4.X.X)".

E: by the way, also, could you open Game.agf with notepad and tell if there are any letters in "EditorVersion" value string in the beginning of the file, something like "SP1" or similar?

Egmundo Huevoz

Quote from: Crimson Wizard on Mon 18/12/2017 12:53:14
Looks like a bug in AGS, question is whether this is one we already fixed or not. Could you tell which version exactly do you use? Check in Help - About window, there will be string like "AGS Editor .NET (Build 3.4.X.X)".

E: by the way, also, could you open Game.agf with notepad and tell if there are any letters in "EditorVersion" value string in the beginning of the file, something like "SP1" or similar?

This is my version of 3.4:
AGS Editor .NET (Build 3.4.0.16)
v3.4.0, March 2017

This appears in Game.agf:
<AGSEditorDocument Version="3.0.3.2" VersionIndex="4" EditorVersion="3.1.2 SP1">

It appears your suspicions were correct.
Idk if it matters, but I have Windows 7 ultimate.

Quote from: eri0o on Mon 18/12/2017 08:37:59
A long shot, but try the AGS Beta 3.4.1 RC 3 and see if it opens.
Yes, it opens with this version! But I'm scared to use a beta version. I read somewhere on the site that it is not recommended.



Click'd

RC means release candidate. Very ****ing stable.

Crimson Wizard

#5
@Egmundo Huevoz, there was a bug in 3.4.0 editor that fails to read game version if there are extra letters in it, you can fix this by changing EditorVersion="3.1.2 SP1" to EditorVersion="3.1.2".

This bug was found as 3.4.1 got to "release candidate" state, so I thought its too late to patch previous version and fixed it in 3.4.1 instead.
3.4.1 RC3 is an "almost out" version, will be released shortly if no more serious problems will be noticed.

Egmundo Huevoz

#6
Quote from: Crimson Wizard on Mon 18/12/2017 22:53:18
@Egmundo Huevoz, there was a bug in 3.4.0 editor that fails to read game version if there are extra letters in it, you can fix this by changing EditorVersion="3.1.2 SP1" to EditorVersion="3.1.2".

This bug was found as 3.4.1 got to "release candidate" state, so I thought its too late to patch previous version and fixed it in 3.4.1 instead.
3.4.1 RC3 is an "almost out" version, will be released shortly if no more serious problems will be noticed.
Cool, it worked, thank you very much! One more question, though: in "script compatibility level" it says "3.2.1". Does this affect me in anyway? Like when using new commands and such.

Edit: also, I have a game from 2.72. My idea is make a new game in 3.4, and fuse it with the previous 2 games (2.72 and 3.1), to make a single game. You just solved the 3.1 problem for me, but when I port 2.72 to 3.4, it seemingly works, but when I try to run the game from AGS or open the 1st room (the other rooms, chars and everything else seems to work), this shows up:

The first line is Spanish and it means something like "error: attempt to read or write in a protected memory. Often, this means there's another damaged memory."

Code: ags
Error: Intento de leer o escribir en la memoria protegida. A menudo, esto indica que hay otra memoria dañada.
Version: AGS 3.4.0.16

System.AccessViolationException: Intento de leer o escribir en la memoria protegida. A menudo, esto indica que hay otra memoria dañada.
   en load_room_file(SByte* )
   en load_crm_file(UnloadedRoom roomToLoad)
   en AGS.Native.NativeMethods.LoadRoomFile(UnloadedRoom roomToLoad)
   en AGS.Editor.Components.RoomsComponent.LoadNewRoomIntoMemory(UnloadedRoom newRoom, CompileMessages errors)
   en AGS.Editor.Components.RoomsComponent.LoadDifferentRoom(UnloadedRoom newRoom)
   en AGS.Editor.Components.RoomsComponent.LoadRoom(String controlID)
   en AGS.Editor.Components.RoomsComponent.ItemCommandClick(String controlID)
   en AGS.Editor.Components.BaseComponentWithFolders`2.CommandClick(String controlID)
   en AGS.Editor.ProjectTree.ProcessClickOnNode(String nodeID, MouseButtons button)
   en AGS.Editor.ProjectTree.projectTree_NodeMouseDoubleClick(Object sender, TreeNodeMouseClickEventArgs e)
   en System.Windows.Forms.TreeView.OnNodeMouseDoubleClick(TreeNodeMouseClickEventArgs e)
   en System.Windows.Forms.TreeView.WndProc(Message& m)
   en System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
   en System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   en System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)


Then this shows up, apparently it's the same text as before:




Crimson Wizard

Quote from: Egmundo Huevoz on Tue 19/12/2017 00:33:45
One more question, though: in "script compatibility level" it says "3.2.1". Does this affect me in anyway? Like when using new commands and such.

This is explained in the manual, but in short, "Script API level" means the upper boundary of script commands (which of the newest commands are enabled), and "Script compatibility level" means the lower boundary of script commands (which old commands are enabled).
If script compatibility is set to 3.2.1, this means that you will be able to use all commands that were active in 3.2.1, but if you change it to upper versions, some of these commands may become disabled because they were deprecated: rejected or replaced by something different.
You may check "Upgrading to AGS XXX" topics in the manual to see which commands got deprecated in between versions, and what to use instead.



Quote from: Egmundo Huevoz on Tue 19/12/2017 00:33:45
Edit: also, I have a game from 2.72. My idea is make a new game in 3.4, and fuse it with the previous 2 games (2.72 and 3.1), to make a single game. You just solved the 3.1 problem for me, but when I port 2.72 to 3.4, it seemingly works, but when I try to run the game from AGS or open the 1st room (the other rooms, chars and everything else seems to work), this shows up:

The first line is Spanish and it means something like "error: attempt to read or write in a protected memory. Often, this means there's another damaged memory."

Uh, this problem resurfaces every now and then but we did not find out what causes it exactly. Either there is a room format compatibility issue, or the room file gets corrupted somehow.
Does this project still open in the 2.72?
Also, you could try first upgrading to 3.2.1, and then to 3.4.0 and see if that makes any difference.
(Of course I recommend keeping an original backup at all times)
If nothing else works, may try to instead create an empty project and then import rooms one by one to see which cause troubles. If it's just couple of rooms, they could be remade and room script copied, since it's just a text.

Egmundo Huevoz

Thanks a lot, @Crimson Wizard. I'm just gonna make that room again from scratch (a couple minutes, tops). Everything else seems to be working fine (laugh) Be well.

SMF spam blocked by CleanTalk