YesNoOk
avatar

Linux Compatibility (Read 21933 times)

Started by aokmaniac13, September 15, 2004, 12:20:18 am
Share this topic:
Linux Compatibility
#1  September 15, 2004, 12:20:18 am
  • ******
  • Just a butcher on a mission
    • www.justnopoint.com/lbends
In this post I would like to hopefully get everyone to make chars that will not only be compatible with Dos and Win mugen, but Linux mugen as well.

From reading other parts of this forum you should be able to this because Linuxmugen and Winmugen are almost the same, but also watch out for the following:

Keep all capitalization for filenames and inside the def consistent!
Act10.act != act10.ACT != Act10.ACT    :no:
Use either backslashes \\ :yes: or forward slashes // :yes: in file paths, but don't use both! :no: (Some Linuxes are touchy on this one)
Don't leave the storyboard parameters blank, make an empty filler for it. (Intro.def and Intro.sff with practically nothing in them.)

Code:
;EXAMPLE BLANK INTRO.DEF
[SceneDef]
spr = intro.sff
startscene = 0

[Scene 0]
end.time = 1

If there's anything I missed let me know cause those are all the issues I found so far.
Re: Linux Compatibility
#2  September 15, 2004, 01:50:13 am
  • ******
  • In after lock
    • mugenguild.com/~messatsu/index.html
Quote
Use either backslashes \\  or forward slashes //  in file paths, but don't use both!  (Some Linuxes are touchy on this one)
Who would use those interchangeably!?

Linux is case sensitive and Windows is not.  Probably just affects the def file.

The topic name isn't the best. :-\


Many people risk their lives everyday by having Mugen.
Re: Linux Compatibility
#3  September 15, 2004, 02:05:03 am
  • *****
  • Tends to lose track of things a lot. :/
    • www.mugenguild.com/~winane/
Don't leave the storyboard parameters blank, make an empty filler for it. (Intro.def and Intro.sff with practically nothing in them.)

Oho, didn't know about that one.  So, you're saying that this:
Code:
[Arcade]
intro.storyboard =
ending.storyboard =
crashes Linux Mugen?
But, what if you simply leave out those parameters entirely?  That is, what if the DEF file ends immediately after "[Arcade]", or if the [Arcade] section simply doesn't exist?

Anyway, thanks for posting that.
Still quite busy.

(Yes, I intend to deal with that stuff eventually, but kinda can't just yet, sorry. :/ )
Re: Linux Compatibility
#4  September 15, 2004, 02:06:30 am
  • ******
  • Just a butcher on a mission
    • www.justnopoint.com/lbends
Well so far I have run into all those problems in some of the chars I have so I guess it's not that uncommon or I got some reall crappy chars  :(

@winane it exits with the following error
cannot load chars/mychar/ /
error loading mychar.def
when you leave the storyboards blank or don't include them
Re: Linux Compatibility
#5  September 15, 2004, 02:14:38 am
  • *****
  • Tends to lose track of things a lot. :/
    • www.mugenguild.com/~winane/
Well, that just plain sucks.  You're using the 2002.04.14 version, right?
Guess one can just make a single blank storyboard in the root Mugen folder and have every story-less character point to that, but that's still a bit of a nuisance.
Anyway, it'd be a waste of space to have almost every character come with its own blank storyboard, and many users would want to replace the blank one with storyboards obtained elsewhere anyway, so I'd not recommend character releases come with that.  Best to leave that to the user to choose how to deal with.
Still quite busy.

(Yes, I intend to deal with that stuff eventually, but kinda can't just yet, sorry. :/ )
Last Edit: September 15, 2004, 02:16:31 am by Winane
Re: Linux Compatibility
#6  December 05, 2004, 12:25:23 am
  • *****
  • Tends to lose track of things a lot. :/
    • www.mugenguild.com/~winane/
Does Linux Mugen care about the capitalization of characters' DEF file extensions?  That is, if your select.def has this:
Code:
[Characters]
kfm, random
then does Linux Mugen care whether KFM's DEF file is named "kfm.def", "kfm.DEF", or "kfm.DeF"?
Still quite busy.

(Yes, I intend to deal with that stuff eventually, but kinda can't just yet, sorry. :/ )
Re: Linux Compatibility
#7  December 05, 2004, 01:28:16 am
  • ******
  • Just a butcher on a mission
    • www.justnopoint.com/lbends
Well hopefully you will use .def instead of .DEF anyway because that's how it is by convention.
To put simply, it matters (usually)
Re: Linux Compatibility
#8  December 05, 2004, 01:36:52 am
  • *****
  • Tends to lose track of things a lot. :/
    • www.mugenguild.com/~winane/
???
So in that example, both "kfm.DEF" and "kfm.DeF" would crash Linux Mugen, even though none of the text files mention "kfm.def" anywhere?  Didn't quite understand your response.
Still quite busy.

(Yes, I intend to deal with that stuff eventually, but kinda can't just yet, sorry. :/ )
Re: Linux Compatibility
#9  December 05, 2004, 01:46:03 am
  • avatar
  • ******
He said that "typing in all caps" (KFM.DEF) would be worst than anything else. But I still don't know if he's talking about Linux Mugen or about something else (because of the: "usually").
Last Edit: December 05, 2004, 10:32:47 am by Suave Dude
Re: Linux Compatibility
#10  December 05, 2004, 01:49:49 am
  • ******
  • In after lock
    • mugenguild.com/~messatsu/index.html
Winane wants to know if case sensitivity is checked on extensions when the extension isn't given in the select.def.  When you have kfm and not kfm.***


Many people risk their lives everyday by having Mugen.
Re: Linux Compatibility
#11  December 05, 2004, 01:58:07 am
  • avatar
  • ******
IMO he didn't realize Winane wasn't asking for help.  :P
Re: Linux Compatibility
#12  December 05, 2004, 02:11:02 am
  • ******
  • Just a butcher on a mission
    • www.justnopoint.com/lbends
He said that "typing in all caps" (KFM.DEF) would be better than anything else. But I still don't know if he's talking about Linux Mugen or about something else (because of the: "usually").
Umm, I'm saying the complete oppostie. All lowercase is much better than all caps.

I can't test this at all right now because I'm having problems executing mugen remotely without the allegro system f*ing up on me.

Edit2: Fixed it, but runs too slow to test anyway. (Didn't load up in 30 mins, calling it quits.)
Last Edit: December 05, 2004, 02:33:13 am by Super Android
Re: Linux Compatibility
#13  December 05, 2004, 10:32:25 am
  • avatar
  • ******
Re: Linux Compatibility
#14  January 31, 2005, 08:26:35 am
  • avatar
  • *
I have more than 800 chars in a mugen game and i have the both mugen.exe (winmugen) and mugen (linux) in the same directory to play the same game in linux and window$ (window$ just in an emergency)

I can tell somethings:

1 - Dont have ANYTHING wrong in intro/end blank, almost all my chars have the storyboard in blank and it never make any problem...

2 - The linux mugen is CaSe SeNsItIvE. Its permited RYU.DEF, Ryu.Def, ryu.def, but the name and the line on .def must be in the same way... If the line in .def is Ryu.def and the file name is Ryu.DEF it will close the mugen because its diferent...

3 - Linux mugen dont accept ANY \, in ANY .def files (including select.def, fight.def, system.def and all others .def files) I have to convert ALL \ to /, because in winmugen only the .def of stages must be in /, in others .def could be \ OR /, but in linux no. I dont know why creators put \ if the winmugen accept \ or / and linux only / in all defs...

4 - I hope this help the creators to make chars REALLY compatible with linux, because they post "compatible with winmugen/linux" but forgot (or even dont know about) this 2 things...

5 - The strange is that some chars in winmugen show this error :Assert failure in array.h line xxx (this xxx are diferent numbers sometimes) but in linux they work whitout errors ???
Last Edit: January 31, 2005, 08:57:52 am by fbs777
Re: Linux Compatibility
#15  March 12, 2005, 12:33:38 pm
  • *****
  • Tends to lose track of things a lot. :/
    • www.mugenguild.com/~winane/
Just to confirm, Linux Mugen really doesn't require every character to have storyboards.


Another problem with Linux that hasn't quite been mentioned:

Up through Mugen 2001.11.14, AI.Cheat works just fine.
But in Linux Mugen 2002.04.14, setting AI.Cheat in mugen.cfg doesn't work.  In fact, the string "ai.cheat" doesn't exist anywhere within the decompressed binary.  So, Linux Mugen 2002.04.14 always uses the default value of 0 for that setting.

Consequences:

1.  The CPU hardly ever uses any special moves, since the chances of it happening to choose the correct string of simulated keypresses is quite small.  Therefore, it's especially important for characters to have custom AI implemented to make up for the especially ineffective default AI.

2.  The humanly-impossible commands AI activation method cannot work.

3.  The XOR-ed commands AI activation method doesn't work nearly as well.  However, bizarrely enough, it does work somewhat (dunno why).  It appears that it only works with the basic "a", "b", "c", "x", "y", and "z" commands, but I'm not 100% sure about that.  And even with those commands, it seems to choose them by name (rather than by simulated keypress) very infrequently, so it can take several minutes before the method finally sets its variable.

So, it's important to use other AI activation methods that don't rely so much on AI.Cheat being enabled.


Now, I suspect that it would be possible to hack the binary to change it such that AI.Cheat is always enabled rather than always disabled.  But I have no idea of how to find which of the 5,121,061 bytes needs to be changed from 0x00 to 0x01.  Does anyone think they might be 1337 enough to hunt that down?  If so, you wouldn't even need to worry about violating the terms of Mugen's license agreement by distributing the hack, as you could just provide hacking directions instead.  I expect 99% of Linux Mugen users would be capable of following simple instructions on how to decompress the binary with UPX; use a hex editor to seek to and set a single byte at a specified offset; and optionally use UPX to recompress the binary.
Still quite busy.

(Yes, I intend to deal with that stuff eventually, but kinda can't just yet, sorry. :/ )
Last Edit: March 15, 2005, 03:30:36 am by Winane
Re: Linux Compatibility
#16  March 12, 2005, 02:24:10 pm
  • ******
  • Just a butcher on a mission
    • www.justnopoint.com/lbends
Hmm interesting...

As for the storyboard problem so far I've only had it on my school's computers (god knows what build of Debian Linux).
The problem does not exist on Gentoo etc.
also, fbs is right.  Linux will only accept forward slashes no matter what.

@Winane
Hey you're right, Evil Ken TOTALLY SUCKS in Linux.
Re: Linux Compatibility
#17  April 22, 2005, 07:52:03 pm
  • avatar
  • ******
Now, I suspect that it would be possible to hack the binary to change it such that AI.Cheat is always enabled rather than always disabled.  But I have no idea of how to find which of the 5,121,061 bytes needs to be changed from 0x00 to 0x01.  Does anyone think they might be 1337 enough to hunt that down?  If so, you wouldn't even need to worry about violating the terms of Mugen's license agreement by distributing the hack, as you could just provide hacking directions instead.  I expect 99% of Linux Mugen users would be capable of following simple instructions on how to decompress the binary with UPX; use a hex editor to seek to and set a single byte at a specified offset; and optionally use UPX to recompress the binary.
Someone ( <-- I would have said "I", but I'm lazy and don't know if I'll do it or not) may use a debugger on Mugen.exe (the DOS one), go in training mode, set a match versus a character using a humanly-impossible-type AI, set "Dummy Control" to AI, wait for the custom AI to be activated*, and then check the debugger for the memory address.

*For that matter, using a character who uses an explod to tell you the custom AI has been activated would be a plus (Andre's Shermie, IINM, for example).

Spoiler, click to toggle visibilty
Last Edit: April 22, 2005, 07:55:18 pm by [Banned Member]
Re: Linux Compatibility
#18  April 22, 2005, 08:16:29 pm
  • avatar
  • ******
*For that matter, using a character who uses an explod to tell you the custom AI has been activated would be a plus (Andre's Shermie, IINM, for example).
Fixing: using DisplayToClipboard/AppendToClipboard would be better, now that I think about it.

And if someone could provide the original un-hacked version of WinMUGEN, that would be a plus.
Last Edit: April 22, 2005, 08:19:34 pm by [Banned Member]
Re: Linux Compatibility
#19  April 22, 2005, 08:24:10 pm
  • *****
  • can see your halo
    • Germany
    • Skype - panchasell
    • www.mugenguild.com/
"Several times now, Achamian thought he had glimpsed golden haloes about Kellhus's hands. He found himself envying those, such as Proyas, who claimed to see them all the time."
--R. Scott Bakker
The Thousandfold Thought (2006)
Re: Linux Compatibility
#20  April 22, 2005, 08:26:54 pm
  • ******
  • In after lock
    • mugenguild.com/~messatsu/index.html
I could take a look at this too, as I've also been pondering about possibly finding where the debug key's bit in WinMugen is and how to permanently shut it off.
It would be much easier to find the detection of the keys than a flag that you don't know if it exists.  Then disassemble the binary, create a byte for turning it on and off and place the command detection in a branch statement.  Finally, recompile the program.



BJ is assuming that the "clean" Rou Hei version is modified further than just the F1 screen, I guess.


Many people risk their lives everyday by having Mugen.