Mac and the Community Patch?

Quindorrian

Chieftain
Joined
Jun 3, 2016
Messages
42
Is there any hope to get a Mac compatible version of the fan Community Patch? Anyone know of one in the works or any way to get modify the current one to get it work on the Mac?
 
I asked the same question. Heck, I'd be happy w/ a Mac-compatible City-State Diplomacy mod...
 
No there is no way to make CBP or any mod with a special DLL compatible with macs. Period.

You can try using windows on a mac though.

Yes, we all know this, dude. There must be a way to duplicate the same effects of the community patch on a Mac though. Otherwise, the game wouldn't even run on a Mac at all since OS X does not use dll's.
 
If you know the answer why do you ask the question then ?

There is no way to make community patch on a Mac or any mod that has modification only possible through C++ modding. Period.

I've never said I knew the answer, dude. I in fact, KNOW, it is possible, but was wondering if anyone made a Mac version or is working on one. You believe it is impossible? So be it.
 
Let me try to re-phrase Quindorrian's question:

"Is anyone at all interested in, or working on, a version of the Community Patch that takes the functionality currently nested in the custom Windows-only DLL's and moves them out of anything remotely resembling a DLL and into a more traditional LUA-based mod that can be loaded for use on Macs?"


I think we all get that the DLLs don't work on Macs, and aren't ever going to work on Macs (and emulating a Windows machine on a Mac doesn't count). What's been asked several times is not "now do I make a DLL work on a Mac" but rather "how do I take the things being done by the DLL and do them in a way that would work on the Mac?"
 
From an early post about why the Mac version of Civ V will not accommodate DLL mods:

Mac Civ5 is using static (rather then dynamic) links to the DLL, just like Civ4. This means that, once again, any mod or component that uses a custom DLL will not function on Mac, severely limiting the gameplay changes that can be made.
 
Let me try to re-phrase Quindorrian's question:

"Is anyone at all interested in, or working on, a version of the Community Patch that takes the functionality currently nested in the custom Windows-only DLL's and moves them out of anything remotely resembling a DLL and into a more traditional LUA-based mod that can be loaded for use on Macs?"


I think we all get that the DLLs don't work on Macs, and aren't ever going to work on Macs (and emulating a Windows machine on a Mac doesn't count). What's been asked several times is not "now do I make a DLL work on a Mac" but rather "how do I take the things being done by the DLL and do them in a way that would work on the Mac?"
And this cant be done as already said.
 
Let me try to re-phrase Quindorrian's question:

"Is anyone at all interested in, or working on, a version of the Community Patch that takes the functionality currently nested in the custom Windows-only DLL's and moves them out of anything remotely resembling a DLL and into a more traditional LUA-based mod that can be loaded for use on Macs?"


I think we all get that the DLLs don't work on Macs, and aren't ever going to work on Macs (and emulating a Windows machine on a Mac doesn't count). What's been asked several times is not "now do I make a DLL work on a Mac" but rather "how do I take the things being done by the DLL and do them in a way that would work on the Mac?"

Many changes that the Community Patch makes are only possible via C++, compiled as the DLL. The necessary hooks and events are not exposed to LUA. It is therefore impossible to reimplement these changes for Mac.
 
Many changes that the Community Patch makes are only possible via C++, compiled as the DLL. The necessary hooks and events are not exposed to LUA. It is therefore impossible to reimplement these changes for Mac.

Thank you for clarifying that. Too many people have just said "it's impossible" without explaining why not. This answers the "why not" question, and I appreciate it.
 
From an early post about why the Mac version of Civ V will not accommodate DLL mods:
Mac Civ5 is using static (rather then dynamic) links to the DLL, just like Civ4.

That is interesting news to me! I thought the Mac version replicated the shipping DLL functionality elsewhere in the base game code, and that the DLLs were included only for some kind of checksum verification?

But you are saying that the DLLs do include active game functionality for the Mac version?

If that is the case, it does seem like there would more of an option for creating cross-platform mods for using DLLs. Still that would only be something Firaxis could facilitate, and not a third party.
 
Hey, don't ask me. I don't own a MAC and couldn't tell you what M, A or C stood for, much less how the darned things work. I was just passing on intel from a modder who posted that back when Civ V was released.
 
That is interesting news to me! I thought the Mac version replicated the shipping DLL functionality elsewhere in the base game code, and that the DLLs were included only for some kind of checksum verification?

But you are saying that the DLLs do include active game functionality for the Mac version?

That's how Aspyr described it to me when I asked them, prior to Civ5 launch on Mac. But the DLL code is indeed merged into the Civ4/Civ5 application and the DLL file itself has no active functionality.
 
That would make the possibility of DLL-based mods all but hopeless then.

Yes. I'm not expecting that to change for Civ6 either.
 
That is interesting news to me! I thought the Mac version replicated the shipping DLL functionality elsewhere in the base game code, and that the DLLs were included only for some kind of checksum verification?

But you are saying that the DLLs do include active game functionality for the Mac version?

If that is the case, it does seem like there would more of an option for creating cross-platform mods for using DLLs. Still that would only be something Firaxis could facilitate, and not a third party.

I think the statements are equivalent and both are correct. Static linking means the library code gets compiled into the body of the Civ software on the Mac instead of being executed from a separate library file. The DLL file itself is installed as well, but is never executed. It's just there for checksumming, so replacing it with a custom version in a mod will achieve nothing.
 
I understood Browd’s source to be saying that the static links were to the external DLL files. Which gave me a glimmer of hope for a moment.

Do you know what tools Firaxis used to make Civ5 cross platform?
Is Xcode of any use for dealing with compiled binaries?
Did Aspyr do the Civ5 port?
 
Do you know what tools Firaxis used to make Civ5 cross platform?
Firaxis don't make any significant attempt to make Civ5 cross platform. The most you can say is that they are using industry standards such as C++ to code the game engine, and cross platform open source tools such as LUA and XML for scripting and configuring the games.But they rely on Windows-specific libraries such as DirectX to access the computer hardware, so it's up to Aspyr to do what they can to get the code to work on a Mac. Aspyr have developed and optimised in-house software to convert DirectX calls to OpenGL calls to achieve this.

I'm not sure what you mean by "Is Xcode of any use for dealing with compiled binaries?". Xcode is the MacOS and iOS code development environment equivalent to the Microsoft Visual Studio suite, and is no doubt used by Aspyr to write, compile, debug and build the Civ5 software for MacOS. If you are asking if Xcode could be used to reverse engineer the Civ5 code and modify it, then (a) it would be theoretically feasible, given infinite time and patience; and (b) it would be illegal under the End User Licence.
 
Top Bottom