Oni Central Forum

A forum for the Oni community

You are not logged in.

#1 2/3/16 13:53

3371-Alpha
Member
Registered: 1/3/16

AE support for PowerPC Macs

Anyone know where I can obtain an old PowerPC build of this mod for my G5?


PowerMac G5 Dual 2.0GHz 2003 (Model: 7,2)
Mac OS X 10.5.8 (Leopard)
7GB RAM (OWC PC-3200U-30330 DDR SDRAM 400MHz)
ATi Radeon 9600 Pro 64MB (GPU overclocked to 438.75MHz, VRAM to 330.75MHz)

Offline

#2 2/3/16 16:28

Iritscen
Moderator
From: NC, USA
Registered: 22/10/07

Re: AE support for PowerPC Macs

Oh boy, that's a tall order.  I don't think the AE Setup app will run on PPC, so you would have to extract the contents of the app bundle (the parts that were meant to be installed, that is) and place them manually in an "AE" folder inside your "Oni" folder.  But the next step in installation is to open the Run AE Installer script, which probably also won't work on PPC.  If you are AppleScript-savvy, you can examine the script to see what it is supposed to do (invoke the AE Installer Updater through Java, or else run the AE Installer itself if it is present), and perform those functions manually in Terminal -- or just re-build the script as an app on your PowerMac to get a native version of the script app that you can use going forward.

Then you are going to have to use the old PPC build of Oni from Omni Group as your game app.  Here is our patched version: http://wiki.oni2.net/AE:OMNI.

If all you want is to be able to run Oni, then you can ignore the AE and just use that PPC build, but I assumed that you want to be able to install mods too.  There might be more obstacles to this which I haven't thought of, but once you've got the AE Installer running, I think it should work for you.  Unfortunately, mods that include textures are no longer PPC-friendly, and the textures will look color-inverted (Intel Oni uses the color channels differently).


byproducts are fine, but where's the beef?

Offline

#3 2/3/16 17:11

3371-Alpha
Member
Registered: 1/3/16

Re: AE support for PowerPC Macs

After doing what you said & examining the scripts, I can confirm that this will not work. Even if I managed to recompile the apple scripts to work natively, the java components of this mod are all java 7. PPCs only have java 5 (there's an unofficial OpenJDK 7 build for ppc but it only runs in X11).
Don't you guys have an archive/repository for older versions of the mod that I can search through?

On a side note, the texture problem you mentioned is an endianness issue. Minecraft once had a similar problem on PPC.


PowerMac G5 Dual 2.0GHz 2003 (Model: 7,2)
Mac OS X 10.5.8 (Leopard)
7GB RAM (OWC PC-3200U-30330 DDR SDRAM 400MHz)
ATi Radeon 9600 Pro 64MB (GPU overclocked to 438.75MHz, VRAM to 330.75MHz)

Offline

#4 2/3/16 22:02

Iritscen
Moderator
From: NC, USA
Registered: 22/10/07

Re: AE support for PowerPC Macs

Hmm, as far as I know, the AE Installer only requires Java 6.  But let me back up a second and mention that although the AppleScript is just for convenience, I remembered that it's in AppleScriptObjC, which isn't supported in 10.6, so you'd need to go back in our repo to when it was in pure AppleScript in order to get something you can run in 10.5; see here.  The purpose of the Setup script is just to place the files in an "AE" folder, and the purpose of the Run AE Installer script is to launch the AEInstaller2Updater.jar, which downloads AEInstaller2.jar and related files, or to launch AEInstaller2.jar if it is already present; so however you want to do that, the goal is just to get AEInstaller2.jar downloaded and running.

As far as older versions of the AE (keep in mind that it's a modding framework, not a mod), unfortunately our mod packages use the 2.0 format nowadays, so they require AE Installer v2.x to install them.  The AEI2 came out in 2013 so we didn't see any need to worry about PPC support anymore.

That's also why textures don't work properly on PPC Macs now.  It is indeed an endianness problem.  We used to have to make a separate version for Macs and Windows of each mod that had textures, in order to reverse the color channels for the PPC version, which was a real hassle.  When the AEI2 was released, we created a new dual-platform package format and stopped making PPC versions of the textures, under the assumption that pretty much everyone had moved to an Intel Mac by then.

It still might be possible to convert textures to a PPC-friendly format so you can install those mods, but you'd have to be willing to get your hands dirty, and it might even require an Intel machine (Mac or Windows) to convert the Intel-format textures to PPC.


byproducts are fine, but where's the beef?

Offline

#5 2/3/16 23:58

3371-Alpha
Member
Registered: 1/3/16

Re: AE support for PowerPC Macs

Iritscen wrote:

Hmm, as far as I know, the AE Installer only requires Java 6.

Well like I said, the last official java for PPC was java 5 (that applies to both Tiger & Leopard). I might be able to recompile in java 5, but that's easier said then done. It may also be possible to to use the OpenJDK 7 I mentioned earlier, but since it's not apple official it's not detectable by any quartz/cocoa apps (at least not by default). This means I'll have to setup a lot of environment variables for the script to detect it.

Iritscen wrote:

keep in mind that it's a modding framework, not a mod

It sounds similar to forge (Minecraft) or SIMBL (Cocoa hack). It's a mod that adds a modding API. It's basically a hub-mod.

Iritscen wrote:

unfortunately our mod packages use the 2.0 format nowadays, so they require AE Installer v2.x to install them.  The AEI2 came out in 2013 so we didn't see any need to worry about PPC support anymore.

There are many PPC users out there actually. There are even sites dedicated to them (such as PowerPC Luddite). In fact, there's even a project called TenFourFox aimed to back port the latest firefox builds to PPC. True, we're not as common anymore. But make no mistake, we're out there. In fact I'm certain you'll run into another one like me eventually.

Iritscen wrote:

That's also why textures don't work properly on PPC Macs now.  It is indeed an endianness problem.  We used to have to make a separate version for Macs and Windows of each mod that had textures, in order to reverse the color channels for the PPC version, which was a real hassle.  When the AEI2 was released, we created a new dual-platform package format and stopped making PPC versions of the textures, under the assumption that pretty much everyone had moved to an Intel Mac by then.
It still might be possible to convert textures to a PPC-friendly format so you can install those mods, but you'd have to be willing to get your hands dirty, and it might even require an Intel machine (Mac or Windows) to convert the Intel-format textures to PPC.

I'm not trying to tell you haw to do you job are anything, but aren't there other texture formats you guys could use that are endian independent? One example is that the AlephOne project (which also happens to be centered around an old Bungie game) uses the .DDS format for it's texture "plugins", and it works perfectly fine on my G5. What format are you guys currently using?

Last edited by 3371-Alpha (25/5/16 2:20)


PowerMac G5 Dual 2.0GHz 2003 (Model: 7,2)
Mac OS X 10.5.8 (Leopard)
7GB RAM (OWC PC-3200U-30330 DDR SDRAM 400MHz)
ATi Radeon 9600 Pro 64MB (GPU overclocked to 438.75MHz, VRAM to 330.75MHz)

Offline

#6 3/3/16 10:22

Iritscen
Moderator
From: NC, USA
Registered: 22/10/07

Re: AE support for PowerPC Macs

3371-Alpha wrote:

It may also be possible to to use the OpenJDK 7 I mentioned earlier, but since it's not apple official it's not detectable by any quartz/cocoa apps (at least not by default). This means I'll have to setup a lot of environment variables for the script to detect it.

Hmm, will you?  I'm not that familiar with the Java environment, but running the AEI should just be a matter of using "java -jar" on the command line and passing it the AEInstaller2.jar.  Technically there are a couple env. variables that also need to be set when calling it, so the invocation looks like:

export PATH=/usr/local/bin:${PATH};export LC_CTYPE="UTF-8";[/path/to/]java -jar [/path/to/]AEInstaller2.jar

And you can just stick that in an sh .command file or an AppleScript like my Run AE Installer script as a quick shortcut.


It sounds similar to forge (Minecraft) or SIMBL (Cocoa hack). It's a mod that adds a modding API. It's basically a hub-mod.

Yes, that sounds accurate.


There are many PPC users out there actually. There are even sites dedicated to them (such as PowerPC Latitude). In fact, there's even a project called TenFourFox aimed to back port the latest firefox builds to PPC. True, we're not as common anymore. But make no mistake, we're out there. In fact I'm certain you'll run into another one like me eventually.

I'm curious, is it just a matter of wanting to get the most out of your current computer, or are you staying with PPC for a specific reason?


I'm not trying to tell you haw to do you job are anything, but aren't there other texture formats you guys could use that are endian independent? One example is that the AlephOne project (which also happens to be centered around an old Bungie game) uses the .DDS format for it's texture "plugins", and it works perfectly fine on my G5. What format are you guys currently using?

We're using the original format of Oni's textures, which is a bitmap format tagged as TXMP.  The texture format cannot be changed because Oni's source code was never open-sourced, so the game is not in the hands of the community like it is for Marathon and Myth.  The Omni Group was (somewhat unofficially) in charge of the PPC build for OS X, but their last release was in 2003.  Due to the natural difference in endianness, that build reads Oni's TXMP channels backwards compared to the Intel build that is produced by Feral Interactive.

I suppose that it might be possible to hack the Omni build to read textures "backwards" using hex-editing, but I'm afraid that's way beyond my own abilities, and I'm not sure if anyone else can do it.


byproducts are fine, but where's the beef?

Offline

#7 3/3/16 12:22

Iritscen
Moderator
From: NC, USA
Registered: 22/10/07

Re: AE support for PowerPC Macs

I had to check in with fellow Mac user EdT to remember how we used to handle the flipped channel business.  You wouldn't need an Intel machine, just a copy of a bitmap editor like Photoshop that gives you control over the color channels.  It looks like you can also do this with the free CLI tool ImageMagick, if you want.  Basically, you would have to take any mod's TXMPs that are in the ARGB8888 format (many TXMPs will be in other formats that work cross-platform), convert them to a standard format (maybe PNG), flip the channels, and convert them back to TXMP*.oni files.  Then the AEI would install them as normal and they would look okay.  It wouldn't be too hard to make a script for automating this conversion.  But of course I don't know yet if you can even get the AEI to run.  Just wanted to clarify what I had stated earlier about fixing the texture issue.


byproducts are fine, but where's the beef?

Offline

#8 3/3/16 13:37

3371-Alpha
Member
Registered: 1/3/16

Re: AE support for PowerPC Macs

Well the updater worked & worked well. All I was type /usr/local/bin/java -Djava.awt.headless=false -jar /Applications/Oni/AE/AEInstaller2Updater.jar & it launched. But now it's asking me to install Mono, even though it's already installed. Guess I'll need an X11 version of that too. *sigh*


PowerMac G5 Dual 2.0GHz 2003 (Model: 7,2)
Mac OS X 10.5.8 (Leopard)
7GB RAM (OWC PC-3200U-30330 DDR SDRAM 400MHz)
ATi Radeon 9600 Pro 64MB (GPU overclocked to 438.75MHz, VRAM to 330.75MHz)

Offline

#9 3/3/16 16:55

EdT
Moderator
From: Los Angeles, CA
Registered: 13/1/07
Website

Re: AE support for PowerPC Macs

My memory is bad...  the Oni binary found on this page http://mods.oni2.net/node/64 has a modified date of Aug 11 2010 but the one found on this page: http://wiki.oni2.net/AE:OMNI has a modified date of Jul 17 2009.

There is one small change at offset 1638992 new hex is 15, the old hex was 00, but I don't remember what that change was for...  I can't find any documentation for it.

Regarding the TXMP, the red and blue channels needs to be swapped.

Offline

#10 3/3/16 18:02

3371-Alpha
Member
Registered: 1/3/16

Re: AE support for PowerPC Macs

EdT wrote:

There is one small change at offset 1638992 new hex is 15, the old hex was 00, but I don't remember what that change was for...  I can't find any documentation for it.

According to the text log inside the app bundle this is the reason for the change:

2010/08 Fixed Carousel cheat.
    0x0019025B 0x00 0x15


PowerMac G5 Dual 2.0GHz 2003 (Model: 7,2)
Mac OS X 10.5.8 (Leopard)
7GB RAM (OWC PC-3200U-30330 DDR SDRAM 400MHz)
ATi Radeon 9600 Pro 64MB (GPU overclocked to 438.75MHz, VRAM to 330.75MHz)

Offline

#11 3/3/16 18:33

EdT
Moderator
From: Los Angeles, CA
Registered: 13/1/07
Website

Re: AE support for PowerPC Macs

@3371-Alpha, not only is my memory is going bad, I'm also going blind! lol

Offline

#12 3/3/16 20:05

3371-Alpha
Member
Registered: 1/3/16

Re: AE support for PowerPC Macs

What version of mono do the C# components of this mod require? I currently have v2.10.2 installed (the last official PowerPC build).
It's also worth noting that when the installer told me about the missing mono framework, it referred to it as a .NET framework. Is the installer mistaking my computer for a PC because of the usage of X11?


PowerMac G5 Dual 2.0GHz 2003 (Model: 7,2)
Mac OS X 10.5.8 (Leopard)
7GB RAM (OWC PC-3200U-30330 DDR SDRAM 400MHz)
ATi Radeon 9600 Pro 64MB (GPU overclocked to 438.75MHz, VRAM to 330.75MHz)

Offline

#13 3/3/16 23:13

Iritscen
Moderator
From: NC, USA
Registered: 22/10/07

Re: AE support for PowerPC Macs

No, the failure to find Mono is because you need to set those env. variables that I mentioned in this post every time you invoke "java -jar".  Technically only the first variable is to find Mono, and the other is also sometimes important.  (.NET is simply the environment for C# apps, which Mono recreates.)


byproducts are fine, but where's the beef?

Offline

#14 4/3/16 12:09

3371-Alpha
Member
Registered: 1/3/16

Re: AE support for PowerPC Macs

But the Mono framework's in standard osx format (installed in /Library/Frameworks). It should detect it by default. The only reason I had to set environment variables on OpenJDK was because it was in BSD format (installed in /usr/local). Do I have to sim-link it in /usr/local/bin?


PowerMac G5 Dual 2.0GHz 2003 (Model: 7,2)
Mac OS X 10.5.8 (Leopard)
7GB RAM (OWC PC-3200U-30330 DDR SDRAM 400MHz)
ATi Radeon 9600 Pro 64MB (GPU overclocked to 438.75MHz, VRAM to 330.75MHz)

Offline

#15 4/3/16 15:27

Iritscen
Moderator
From: NC, USA
Registered: 22/10/07

Re: AE support for PowerPC Macs

The framework installed in /Library is not an issue, and it may not even consist of anything more than symlinks to Mono's real location (away from my Mac at the moment so I can't check).  Mono's binaries used to install to /usr/bin/, but when 10.11 came out and I pointed out to the Mono devs that their installer was failing because 10.11 does not allow write access to /usr/bin/ for third-party installers, they changed its location to /usr/local/bin/.  So new versions of Mono (for all versions of OS X) now go in local/.

However, what I then discovered is that the AE Installer was not finding Mono's binaries in that location because it was not a default part of $PATH, so I updated the Run AE Installer script to temporarily augment $PATH when calling the AEI.  I don't actually know what your $PATH is by default in 10.5, or whether you've customized it with whichever file does that in 10.5 (.bashrc?), but if the AEI doesn't detect Mono, then it just needs that $PATH-altering command that I gave before, as part of the invocation of the AEI .jar file (are you able to follow how that syntax works?).  Or you could customize your $PATH permanently by editing the appropriate Bash file.

Making symlinks from /usr/local/bin/ to /usr/bin/ for all the Mono binaries could also work, but I would say it's a less elegant solution.


byproducts are fine, but where's the beef?

Offline

#16 4/3/16 20:17

3371-Alpha
Member
Registered: 1/3/16

Re: AE support for PowerPC Macs

Ok. On my machine the full mono install (commands, libs, ect.) is located in the frameworks folder with sim-links in /usr/bin for all the commands. Essentially what your saying though is I can either add it to the path environment or add sim-links in /usr/local/bin, correct? Though sim-links are indeed less elegant, I may have to go through with that plan due the fact that I once crashed my system java with environment variables.


PowerMac G5 Dual 2.0GHz 2003 (Model: 7,2)
Mac OS X 10.5.8 (Leopard)
7GB RAM (OWC PC-3200U-30330 DDR SDRAM 400MHz)
ATi Radeon 9600 Pro 64MB (GPU overclocked to 438.75MHz, VRAM to 330.75MHz)

Offline

#17 4/3/16 21:26

Iritscen
Moderator
From: NC, USA
Registered: 22/10/07

Re: AE support for PowerPC Macs

Hmm, this is very strange.  If Mono is in /usr/bin/, then the AEI should be finding it even without any $PATH augmentation.

Meanwhile, back at my Mac, I see that I got it backwards; the symlinks are in /usr/local/bin/ on my machine, pointing to the framework in /Library/Frameworks/.  This makes sense; the point is to allow Unix to find the binaries in a typical Unix directory while also installing the actual binaries to a proper OS X directory.

Can you run the command "echo $PATH" in Terminal and tell me what the output is?  Can you also tell me what "which mono" gives you?


byproducts are fine, but where's the beef?

Offline

#18 4/3/16 22:28

3371-Alpha
Member
Registered: 1/3/16

Re: AE support for PowerPC Macs

My path environment outputs this with echo $PATH:
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/opt/local/bin:/usr/local/git/bin:/usr/texbin export PATH=/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/opt/local/bin:/usr/local/git/bin:/usr/texbin
I have git added to the path as well as /usr/local/bin set before /usr/bin so OpenJDK 7 is seen before the default Java 5 in the terminal. There may be other things as well though.


PowerMac G5 Dual 2.0GHz 2003 (Model: 7,2)
Mac OS X 10.5.8 (Leopard)
7GB RAM (OWC PC-3200U-30330 DDR SDRAM 400MHz)
ATi Radeon 9600 Pro 64MB (GPU overclocked to 438.75MHz, VRAM to 330.75MHz)

Offline

#19 4/3/16 23:05

Iritscen
Moderator
From: NC, USA
Registered: 22/10/07

Re: AE support for PowerPC Macs

And is the shell finding mono when you run "which mono"?


byproducts are fine, but where's the beef?

Offline

#20 4/3/16 23:55

3371-Alpha
Member
Registered: 1/3/16

Re: AE support for PowerPC Macs

Yes, it detects it in:
/usr/bin/mono


PowerMac G5 Dual 2.0GHz 2003 (Model: 7,2)
Mac OS X 10.5.8 (Leopard)
7GB RAM (OWC PC-3200U-30330 DDR SDRAM 400MHz)
ATi Radeon 9600 Pro 64MB (GPU overclocked to 438.75MHz, VRAM to 330.75MHz)

Offline

#21 5/3/16 10:15

Iritscen
Moderator
From: NC, USA
Registered: 22/10/07

Re: AE support for PowerPC Macs

Actually, I'm a bit perplexed by your output for $PATH.  Why is there an "export" command in there?  Was that part of the output of "echo $PATH" or did you add that into your post for some reason?  Because if that was part of the output, then you have a problem.  Also, just to make sure, when you run "mono --version", do you get version 4.0.4?


byproducts are fine, but where's the beef?

Offline

#22 5/3/16 13:13

3371-Alpha
Member
Registered: 1/3/16

Re: AE support for PowerPC Macs

"export" is indeed part of my $PATH (if I'm not mistaken it's to set OpenJDK before the system java). Also I have Mono v2.10.2 (last official PPC build).


PowerMac G5 Dual 2.0GHz 2003 (Model: 7,2)
Mac OS X 10.5.8 (Leopard)
7GB RAM (OWC PC-3200U-30330 DDR SDRAM 400MHz)
ATi Radeon 9600 Pro 64MB (GPU overclocked to 438.75MHz, VRAM to 330.75MHz)

Offline

#23 5/3/16 14:19

Iritscen
Moderator
From: NC, USA
Registered: 22/10/07

Re: AE support for PowerPC Macs

Oh... first off, I didn't realize that Mono was not being built for PPC anymore.  For some reason I thought they would still be doing that.  If I knew you were on an older version of Mono, I wouldn't have been confused about where Mono is installing to.

Anyway, I don't think you should be getting that "export PATH=" string as part of the output of "echo $PATH".  "export" is for making the value of the named variable available to sub-processes.  A sub-process like "echo" or anything else you run on the command line should not be returning the "export" command as part of the value of PATH; that means that the "export" command was used incorrectly.  It's common to set PATH using "export", but you should make sure that the value of PATH returns a straight list of paths like "/path/1:/path/2:etc", and no other funny business.

As a simple example, when my ~/.bash_profile runs, it issues the command:

export PATH="/opt/local/bin:/opt/local/sbin:$PATH"

This prepends those /opt/ paths to the existing PATH variable.  This is how I end up with the following output from "echo $PATH":

/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin

Notice that it's a clean list of colon-separated paths, nothing more.

-----------
Secondly, this is a bit of a long shot, but if you fix that issue and the AEI is still not finding Mono, you might want to try placing /usr/bin/ before /usr/local/bin/ in PATH just to see if Java can find Mono then.  I know that you put the "local" path first in order to invoke the right Java, but you can also invoke the desired Java manually by saying:

/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -jar [path/to/]AEInstaller2.jar

or:

/usr/bin/java -jar [path/to/]AEInstaller2.jar

...depending on where your desired Java is.


byproducts are fine, but where's the beef?

Offline

#24 5/3/16 23:14

3371-Alpha
Member
Registered: 1/3/16

Re: AE support for PowerPC Macs

Alright, I deleted my .bash_profile and the export argument seems to have disappeared from my $PATH output:
/sw/bin:/sw/sbin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/opt/local/bin:/usr/local/git/bin:/usr/texbin:/usr/X11R6/bin
However the inability to detect Mono still persists.


PowerMac G5 Dual 2.0GHz 2003 (Model: 7,2)
Mac OS X 10.5.8 (Leopard)
7GB RAM (OWC PC-3200U-30330 DDR SDRAM 400MHz)
ATi Radeon 9600 Pro 64MB (GPU overclocked to 438.75MHz, VRAM to 330.75MHz)

Offline

#25 5/3/16 23:44

Iritscen
Moderator
From: NC, USA
Registered: 22/10/07

Re: AE support for PowerPC Macs

Maybe I should back up a second and ask if you're trying the AEI with Java 5 or the OpenJDK 7.  Because I do believe Alloc has always intended the AEI to run in Java 6 or above (as I mentioned earlier).  And how are you invoking Java?


byproducts are fine, but where's the beef?

Offline

Board footer

Powered by FluxBB