Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Import.exe doesn't function on Linux #3

Closed
rea987 opened this issue Aug 27, 2018 · 8 comments
Closed

Import.exe doesn't function on Linux #3

rea987 opened this issue Aug 27, 2018 · 8 comments

Comments

@rea987
Copy link

rea987 commented Aug 27, 2018

Hi,

On v0.5.0 release of the project, Import.exe doesn't function on Linux via Mono. Here is the output:

$ mono Import.exe "~/Masaüstü/Jazz2"
                                                                          ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░▒▒▒
Unhandled Exception:
System.ArgumentOutOfRangeException: Value must be positive and below the buffer height.
Parameter name: top
  at System.TermInfoDriver.SetCursorPosition (System.Int32 left, System.Int32 top) [0x0004d] in <8f2c484307284b51944a1a13a14c0266>:0 
  at System.TermInfoDriver.set_CursorTop (System.Int32 value) [0x00018] in <8f2c484307284b51944a1a13a14c0266>:0 
  at System.ConsoleDriver.set_CursorTop (System.Int32 value) [0x00000] in <8f2c484307284b51944a1a13a14c0266>:0 
  at System.Console.set_CursorTop (System.Int32 value) [0x00000] in <8f2c484307284b51944a1a13a14c0266>:0 
  at Jazz2.ConsoleImage.Render (System.IO.Stream s) [0x00158] in <f2457719c05a44819cbb96eadf890ecd>:0 
  at Jazz2.ConsoleImage.RenderFromManifestResource (System.String name) [0x00031] in <f2457719c05a44819cbb96eadf890ecd>:0 
  at Import.App.Main (System.String[] args) [0x0001c] in <f2457719c05a44819cbb96eadf890ecd>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: System.ArgumentOutOfRangeException: Value must be positive and below the buffer height.
Parameter name: top
  at System.TermInfoDriver.SetCursorPosition (System.Int32 left, System.Int32 top) [0x0004d] in <8f2c484307284b51944a1a13a14c0266>:0 
  at System.TermInfoDriver.set_CursorTop (System.Int32 value) [0x00018] in <8f2c484307284b51944a1a13a14c0266>:0 
  at System.ConsoleDriver.set_CursorTop (System.Int32 value) [0x00000] in <8f2c484307284b51944a1a13a14c0266>:0 
  at System.Console.set_CursorTop (System.Int32 value) [0x00000] in <8f2c484307284b51944a1a13a14c0266>:0 
  at Jazz2.ConsoleImage.Render (System.IO.Stream s) [0x00158] in <f2457719c05a44819cbb96eadf890ecd>:0 
  at Jazz2.ConsoleImage.RenderFromManifestResource (System.String name) [0x00031] in <f2457719c05a44819cbb96eadf890ecd>:0 
  at Import.App.Main (System.String[] args) [0x0001c] in <f2457719c05a44819cbb96eadf890ecd>:0 

Mono information:

$ mono --version
Mono JIT compiler version 4.6.2 (Debian 4.6.2.7+dfsg-1ubuntu1)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
	TLS:           __thread
	SIGSEGV:       altstack
	Notifications: epoll
	Architecture:  amd64
	Disabled:      none
	Misc:          softdebug 
	LLVM:          supported, not enabled.
	GC:            sgen

I tried importing game assets via Import.exe on Windows 10, then moved the directory back to Linux partition, finally launched Jazz2.exe; it worked just fine. I detect some animation load errors in the terminal but have no idea if that affected the game or not:

$ mono Jazz2.exe
Using 'DefaultAssemblyLoader' to load plugins.
Environment Info: 
  Current Directory: ~/Masaüstü/a/Jazz2
  Command Line: ~/Masaüstü/a/Jazz2/Jazz2.exe
  Operating System: Unix 4.15.0.33
  64 Bit OS: True
  64 Bit Process: True
  CLR Version: 4.0.30319.42000
  Processor Count: 4
Currently Loaded Assemblies:
  mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
  Jazz2, Version=0.5.0.0, Culture=neutral, PublicKeyToken=null
  System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
  System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Plugin Base Directories:
  Extensions
Available Assembly Paths:
  Extensions/GL21Backend.core.dll
  Extensions/OpenALSoft.x64.dll
  Extensions/OpenALSoft.x86.dll
  Extensions/OpenTKBackend.core.dll
Assembly loaded: GL21Backend, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
Assembly loaded: Anonymously Hosted DynamicMethods Assembly, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
Assembly loaded: Mono.Security, Version=4.0.0.0, Culture=neutral, PublicKeyToken=0738eb9f132ed756
Assembly loaded: OpenTKBackend, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
Loading auxiliary libraries...
Assembly loaded: OpenTK, Version=1.1.10.0, Culture=neutral, PublicKeyToken=null
Initializing OpenTK...
Platform Backend: Default
EnableHighResolution: True
Active graphics backend: OpenGL 2.1
Assembly loaded: System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Available display devices:
First : 1920x1080 at  60 Hz, 32 bpp, pos [   0,   0] (Primary)
Available audio devices:
  Dahili Ses Analog Stereo (Default)
Current device: OpenAL Soft
OpenAL Version: 1.1 ALSOFT 1.18.2
Vendor: OpenAL Community
Renderer: OpenAL Soft
Effects: True
Initializing core plugins...
DualityApp initialized
Debug Mode: False
Command line arguments: 
Window Specification: 
  Buffers: 2
  Samples: 0
  ColorFormat: 24 (8880)
  AccumFormat: 64 (16161616)
  Depth: 24
  Stencil: 0
  VSync: On
  SwapInterval: 1
OpenGL Version: 4.6.0 NVIDIA 396.54
Vendor: NVIDIA Corporation
Renderer: GeForce 940M/PCIe/SSE2
Shader Version: 4.60 NVIDIA
Can't load animation "MenuDifficultyLori" from metadata "UI/MainMenu": System.IO.FileNotFoundException: File "Animations\UI\character_art_difficulty_lori.png.res" was not found in CompressedContent
  at Jazz2.Storage.Content.CompressedContent.Duality.IO.IFileSystem.OpenFile (System.String path, Duality.IO.FileAccessMode mode) [0x0002b] in <ddc67b3ac9a34f5ebb64c0d240dc64e9>:0 
  at Duality.IO.FileOp.Open (System.String path, Duality.IO.FileAccessMode mode) [0x00020] in <ddc67b3ac9a34f5ebb64c0d240dc64e9>:0 
  at Jazz2.Game.ContentResolver.RequestGraphicResource (System.String path, System.Boolean async) [0x00046] in <ddc67b3ac9a34f5ebb64c0d240dc64e9>:0 
  at Jazz2.Game.ContentResolver.RequestMetadataInner (System.String path, System.Boolean async) [0x00174] in <ddc67b3ac9a34f5ebb64c0d240dc64e9>:0 
Determining OpenGL context capabilities...
Assembly loaded: System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a
Assembly loaded: System.Xml, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Loading level "Dungeon Dilemma"...
Can't load animation "WeaponBlasterLori" from metadata "UI/HUD": System.IO.FileNotFoundException: File "Animations\Pickup\fast_fire_lori.png.res" was not found in CompressedContent
  at Jazz2.Storage.Content.CompressedContent.Duality.IO.IFileSystem.OpenFile (System.String path, Duality.IO.FileAccessMode mode) [0x0002b] in <ddc67b3ac9a34f5ebb64c0d240dc64e9>:0 
  at Duality.IO.FileOp.Open (System.String path, Duality.IO.FileAccessMode mode) [0x00020] in <ddc67b3ac9a34f5ebb64c0d240dc64e9>:0 
  at Jazz2.Game.ContentResolver.RequestGraphicResource (System.String path, System.Boolean async) [0x00046] in <ddc67b3ac9a34f5ebb64c0d240dc64e9>:0 
  at Jazz2.Game.ContentResolver.RequestMetadataInner (System.String path, System.Boolean async) [0x00174] in <ddc67b3ac9a34f5ebb64c0d240dc64e9>:0 
Can't load animation "WeaponPowerUpBlasterLori" from metadata "UI/HUD": System.IO.FileNotFoundException: File "Animations\UI\blaster_upgraded_lori.png.res" was not found in CompressedContent
  at Jazz2.Storage.Content.CompressedContent.Duality.IO.IFileSystem.OpenFile (System.String path, Duality.IO.FileAccessMode mode) [0x0002b] in <ddc67b3ac9a34f5ebb64c0d240dc64e9>:0 
  at Duality.IO.FileOp.Open (System.String path, Duality.IO.FileAccessMode mode) [0x00020] in <ddc67b3ac9a34f5ebb64c0d240dc64e9>:0 
  at Jazz2.Game.ContentResolver.RequestGraphicResource (System.String path, System.Boolean async) [0x00046] in <ddc67b3ac9a34f5ebb64c0d240dc64e9>:0 
  at Jazz2.Game.ContentResolver.RequestMetadataInner (System.String path, System.Boolean async) [0x00174] in <ddc67b3ac9a34f5ebb64c0d240dc64e9>:0 
Can't load animation "CharacterLori" from metadata "UI/HUD": System.IO.FileNotFoundException: File "Animations\UI\icon_lori.png.res" was not found in CompressedContent
  at Jazz2.Storage.Content.CompressedContent.Duality.IO.IFileSystem.OpenFile (System.String path, Duality.IO.FileAccessMode mode) [0x0002b] in <ddc67b3ac9a34f5ebb64c0d240dc64e9>:0 
  at Duality.IO.FileOp.Open (System.String path, Duality.IO.FileAccessMode mode) [0x00020] in <ddc67b3ac9a34f5ebb64c0d240dc64e9>:0 
  at Jazz2.Game.ContentResolver.RequestGraphicResource (System.String path, System.Boolean async) [0x00046] in <ddc67b3ac9a34f5ebb64c0d240dc64e9>:0 
  at Jazz2.Game.ContentResolver.RequestMetadataInner (System.String path, System.Boolean async) [0x00174] in <ddc67b3ac9a34f5ebb64c0d240dc64e9>:0 
Can't load animation "FastFireLori" from metadata "Object/Collectible": System.IO.FileNotFoundException: File "Animations\Pickup\fast_fire_lori.png.res" was not found in CompressedContent
  at Jazz2.Storage.Content.CompressedContent.Duality.IO.IFileSystem.OpenFile (System.String path, Duality.IO.FileAccessMode mode) [0x0002b] in <ddc67b3ac9a34f5ebb64c0d240dc64e9>:0 
  at Duality.IO.FileOp.Open (System.String path, Duality.IO.FileAccessMode mode) [0x00020] in <ddc67b3ac9a34f5ebb64c0d240dc64e9>:0 
  at Jazz2.Game.ContentResolver.RequestGraphicResource (System.String path, System.Boolean async) [0x00046] in <ddc67b3ac9a34f5ebb64c0d240dc64e9>:0 
  at Jazz2.Game.ContentResolver.RequestMetadataInner (System.String path, System.Boolean async) [0x00174] in <ddc67b3ac9a34f5ebb64c0d240dc64e9>:0 
Can't load animation "CrateAmmoPepper" from metadata "Object/CrateContainer": System.IO.FileNotFoundException: File "Animations\Object\crate_ammo_pepper.png.res" was not found in CompressedContent
  at Jazz2.Storage.Content.CompressedContent.Duality.IO.IFileSystem.OpenFile (System.String path, Duality.IO.FileAccessMode mode) [0x0002b] in <ddc67b3ac9a34f5ebb64c0d240dc64e9>:0 
  at Duality.IO.FileOp.Open (System.String path, Duality.IO.FileAccessMode mode) [0x00020] in <ddc67b3ac9a34f5ebb64c0d240dc64e9>:0 
  at Jazz2.Game.ContentResolver.RequestGraphicResource (System.String path, System.Boolean async) [0x00046] in <ddc67b3ac9a34f5ebb64c0d240dc64e9>:0 
  at Jazz2.Game.ContentResolver.RequestMetadataInner (System.String path, System.Boolean async) [0x00174] in <ddc67b3ac9a34f5ebb64c0d240dc64e9>:0 
Can't load animation "CrateAmmoElectro" from metadata "Object/CrateContainer": System.IO.FileNotFoundException: File "Animations\Object\crate_ammo_electro.png.res" was not found in CompressedContent
  at Jazz2.Storage.Content.CompressedContent.Duality.IO.IFileSystem.OpenFile (System.String path, Duality.IO.FileAccessMode mode) [0x0002b] in <ddc67b3ac9a34f5ebb64c0d240dc64e9>:0 
  at Duality.IO.FileOp.Open (System.String path, Duality.IO.FileAccessMode mode) [0x00020] in <ddc67b3ac9a34f5ebb64c0d240dc64e9>:0 
  at Jazz2.Game.ContentResolver.RequestGraphicResource (System.String path, System.Boolean async) [0x00046] in <ddc67b3ac9a34f5ebb64c0d240dc64e9>:0 
  at Jazz2.Game.ContentResolver.RequestMetadataInner (System.String path, System.Boolean async) [0x00174] in <ddc67b3ac9a34f5ebb64c0d240dc64e9>:0 
^[Can't load animation "MenuDifficultyLori" from metadata "UI/MainMenu": System.IO.FileNotFoundException: File "Animations\UI\character_art_difficulty_lori.png.res" was not found in CompressedContent
  at Jazz2.Storage.Content.CompressedContent.Duality.IO.IFileSystem.OpenFile (System.String path, Duality.IO.FileAccessMode mode) [0x0002b] in <ddc67b3ac9a34f5ebb64c0d240dc64e9>:0 
  at Duality.IO.FileOp.Open (System.String path, Duality.IO.FileAccessMode mode) [0x00020] in <ddc67b3ac9a34f5ebb64c0d240dc64e9>:0 
  at Jazz2.Game.ContentResolver.RequestGraphicResource (System.String path, System.Boolean async) [0x00046] in <ddc67b3ac9a34f5ebb64c0d240dc64e9>:0 
  at Jazz2.Game.ContentResolver.RequestMetadataInner (System.String path, System.Boolean async) [0x00174] in <ddc67b3ac9a34f5ebb64c0d240dc64e9>:0

As it seems, gamepads aren't supported yet but I am fairly certain that if mapped correctly, the game should run with AntiMicro just fine.

@deathkiller
Copy link
Owner

Hi!

I fixed the issue with Import in latest commit. It should work now, but it will not show Jazz 2 logo on Linux. Which Linux terminal emulator are you using, so I can try to fix it properly?

Also, which version of the original game did you import? It seems that it's some version without Lori. Lori will not be available as playable character, but the game will work good. Errors about ammo crates are strange, but it should not be issue if these crates are not used in a level.

Did you try to map gamepad buttons in settings? It must be done manually and it does not save the preset for now. I will try to make this better.

@rea987
Copy link
Author

rea987 commented Aug 29, 2018

Hey,

  • I am using mate-terminal 1.20.0-4 on Linux Mint 19 (x64) Mate. As I am quite bad at compiling source code, I've used your pre-compiled desktop release.
  • I installed Jazz Jackrabbit 2 [JJ2 V1.22].iso via Lutris which updated it into 1.23 then patched it latest JJ2+;

https://lutris.net/games/jazz-jackrabbit-2/
https://lutris.net/games/install/2782/view

  • I didn't try mapping any gamepad buttons but given the fact AntiMicro lets user to emulate keyboard keys with gamepads, there is no reason to not to work. But, a native SDL2 based solution is preferred for sure.

@deathkiller
Copy link
Owner

Thank you for information. I will try it myself to see what is wrong. Messages with "Can't load animation..." are probably OK, because the mentioned version of the game doesn't have these animations (and logging is just too verbose), but I will try it too. Then I will release new precompiled version.

You are right, AntiMicro should work, but native gamepad support is another thing I want to have.

@deathkiller
Copy link
Owner

I tried to run the latest version on Linux Mint 19 (x64) Mate and it works without any issues.

@rea987
Copy link
Author

rea987 commented Oct 31, 2018

As I am quite bad at compiling software, I will wait for the next pre-compiled release. Thanks a lot!

@deathkiller
Copy link
Owner

Here it is - https://github.com/deathkiller/jazz2/releases/tag/0.5.1
I hope it works correctly. I didn't have too much time to test it.

@rea987
Copy link
Author

rea987 commented Nov 2, 2018

Both Import.exe and Jazz2.exe of v0.5.1 work just fine on Mint 19. I am not sure if that's a new enhancement but Logitech F310 buttons can be assigned and used in Xinput mode; though menus should still be navigated by keyboard. I was looking forward to play The Secret Files, so I would be Jazz² Resurrection's job as it seems. :-) Lastly, I couldn't find a way to switch to fullscreen yet.

@deathkiller
Copy link
Owner

deathkiller commented Feb 10, 2019

Fullscreen mode was added in v0.5.2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants