• We are currently performing site maintenance, parts of civfanatics are currently offline, but will come back online in the coming days. For more updates please see here.

So... no MODS for Mac? NOT True!

Joined
Sep 4, 2010
Messages
938
Location
New York
Just read this in the FAQ:

What about mods? Will there be access to a complete set of SDK tools and/or 100% mod compatibility?

Unfortunately, user-created mods are not a component of the Mac version of Civilization V. User mods would require us to build custom versions of the full application ourselves in order to support a limited number of specific mods and still leave others unsupported. Similarly, modding tools are implemented with Microsoft .NET, and would present a significant porting challenge involving total rewrites. Bottom line: There is no way to create a Mac experience that allows for a good end-user experience for user-created mods. Believe us—we tried.

....


So I assume this means that the mods we all grew to love and use during our CIV 5 sessions on PC are no longer going to work AT ALL ON THE MAC?!?!? Hello Firaxis!! Your game is pretty buggy and uneven without the countless user mods which enhance the PC version. Thanks for making the experience a bit more frustrating for us.

:mad::mad::mad::mad::mad::mad::mad::mad:
 
Actually all current mods *should* work. It's only when the DLL source code is released that mods will start becoming incompatible. I think the mod browser is disabled in the release version for some reason but will be enabled in forthcoming patch.
 
Without a mod browser, how does one install a XML/Lua mod on the Mac version? Installing the game automatically creates a "~/Documents/Aspyr/Sid Meier's Civilization 5/MODS/" folder. I want to use Thal's Balance - Combined modpack, so I unzipped it into that MODS folder, but presumably the game actually needs to be told to use it. In the game I started, the mod is clearly not active. Does anyone (Xyth?) know if there's a solution? Am I missing something obvious, or is this a really difficult problem?
 
Mods are not officially supported, however you could always "mod" the button back in by editing MainMenu.lua. Online browsing isn't supported but that should at least allow you to enable and install mods manually.
 
The initial version you'll get will be based on the PC day 0 patch. Don't freak out if you notice a couple of things missing, like cloud saves and the mods option, those are all ready to go for the next patch which will be based on 1.0.0.621 + a fix for the ballooning save games which you'll get before the PC users do.

That's a quote from RickB, an Aspyr developer who's been dropping by these forums recently. Sounds like the disabled Mod Browser is temporary and it will be functional once we get the first patch. So we've just got to wait and see.
 
Mods are not officially supported, however you could always "mod" the button back in by editing MainMenu.lua. Online browsing isn't supported but that should at least allow you to enable and install mods manually.

Specifically, add two hyphens, '--', at the start of line 33 35 in the following file to comment it out:

~/Library/Application Support/Steam/SteamApps/common/sid meier's civilization v/assets/UI/FrontEnd/MainMenu.lua
 
While the above edit enables the Mods menu option in the Main Menu, I have so far not succeeded in getting a mod to load in the Mac version of Civ5. Still investigating ...
 
Actually all current mods *should* work. It's only when the DLL source code is released that mods will start becoming incompatible. I think the mod browser is disabled in the release version for some reason but will be enabled in forthcoming patch.

What about maps with Mongolia on them?
 
I've looked at the DLC from Steam for the PC version, which includes the Mongols as a freebie, and Babylon as a paid download. They don't conform to the file structure defined for user mods. They are installed into a folder called DLC in the main application folder, and it looks as if they need to be registered within the Civ5 application by Steam. I tried copying them into equivalent locations in the Mac version of Civ5, and they were not visible as Civ options.
 
I tried AlanH's instructions for re-enabling the Mods button. It does work to some degree, however it's worth noting that the Mac version of Civ 5 currently appears to delete any .civ5mod files that it finds within your ~/Documents/Aspyr/Sid Meier's Civilization 5/MODS/ folder.

However, if you're able to install the mod on the Windows version, or know how to manually expand a .civ5mod file, then you can place the mod's folder in the MODS folder just fine. The mod will appear installed, can be enabled, and appears playable, I managed to install [TSL] Yet (not) Another Earth Maps Pack this way, however its scripts don't appear to execute correctly. Resulting in every civ getting dumped in the same location with half of them thereby dying in the first turn.

So unfortunately it seems that while you can manually install mods, only the most basic mods are likely to work, such as those that only contain maps. This would seem to mean that any true start location maps are out, though I'm going to give some of the scenario-based ones a try, though I was looking forward to just playing the YnAEMP version as it's the one I like best :(

[edit]
Bah, unfortunately scenario-based TSL maps are a bust as well, the set-up game option won't even allow me to select the map (it just reverts to whatever was chosen before), so I don't know if the scenario checkbox appears or not.
I also tried copying across my modded save game data for an earlier game using YnAEMP thinking it might bypass the broken placement script, but Civilisation 5 just crashes when attempting to the load the save game from the mods menu.

Very frustrating, it feels like everything but the browser is there to be used, but it seems something's missing that the scripts require in order to execute properly. I don't suppose it would be possible to disassemble a mod into the main assets folder and play them that way (with a suitable label to undo the damage later)? I have no idea what I would move where, or even if it would be possible to disassemble YnAEMP in this way, and it's the one I most want to be able to play :(

Is there any kind of ETA on when mods will be available? Or more information on exactly what is missing (and therefore needs fixed/ported in order for mods to work properly)? I've been really disappointed by the lack of mods in the Mac version, as I thought nothing of it thinking the game would at least include a world map with proper start locations (like every other Civ game has) which is basically my only requirement. Instead to play such a map I have to use WINE which is playable but prone to some kind of corruption (need to keep re-downloading parts of the game from Steam every time I try to open it), as well as infrequent crashes.

[edit2]
Aha! I managed to get Legendary Earth Mod (LEM) to work, by copying the folder into my /MODS/ directory, it then appeared in the mods menu as installed, enabled fine, sets up correctly, load scenario checkbox is selectable, and then appears to work correctly. So it seems that some mods will work just fine, but others won't, I'm at a loss as to what the difference is between the ones I've tried (various TSL mods) but at least I've found one that works, for those interested!
 
Uh, I just started up civ 5, tried to skip the intro video (it froze and I had to restart my computer) I did it again and lo-and behold MODS comes up as a button (:D)A multi coloured button with 'Get Polynesia DLC' or something came up too :confused: , the only problem is that when I click on a button, nothing happens, even the EXIT button doesn't work. Does anyone know how to fix it? :confused:
 
Are you certain that you are running the Mac version, and that you haven't edited the mainmenu.lua file? There should be no MODS button in a standard installation of Mac Civ5.
 
Well I did follow your instructions on the mainmenu.lua file, but I undid it. Also at the bottom of the Main Menu in-game it has 'Invalid Version'.

Here is what my MainMenu.lua looks like, could you tell me if something is out of place or wrong?
=====================================================
Spoiler :

-------------------------------------------------
-- Main Menu
-------------------------------------------------

-------------------------------------------------
-- Script Body
-------------------------------------------------
local bHideUITest = true;
local bHideGridExamples = true;
local bHideLoadGame = true;
local bHidePreGame = true;
local fTime = 0;
-- MAC_PORT local i1, i2 = string.find( UI.GetVersionInfo(), " " );
-- MAC_PORT versionNumber = string.sub(UI.GetVersionInfo(), 1, i2-1);
versionNumber = UI.GetVersionInfo();
Controls.VersionNumber:SetText(versionNumber);


function ShowHideHandler( bIsHide, bIsInit )
if( not bIsHide ) then
Controls.Civ5Logo:SetTexture( "CivilzationV_Logo.dds" );

-- This is a catch all to ensure that mods are not activated at this point in the UI.
-- Also, since certain maps and settings will only be available in either the modding or multiplayer
-- screen, we want to ensure that "safe" settings are loaded that can be used for either SP, MP or Mods.
-- Activating the DLC (there doesn't have to be any) will make sure no mods are active and all the user's
-- purchased content is available
Modding.ActivateDLC();
PreGame.LoadPreGameSettings();
Look for any cached invite
UI:CheckForCommandLineInvitation();
else
Controls.Civ5Logo:UnloadTexture();
end
Controls.ModsButton:SetHide( true ); -- MAC_PORT - rickb Comment this line out to re-enable mods. Happy modding!
end
ContextPtr:SetShowHideHandler( ShowHideHandler );

-------------------------------------------------
-- Event Handler: ConnectedToNetworkHost
-------------------------------------------------

-------------------------------------------------
-- StartGame Button Handler
-------------------------------------------------
function SinglePlayerClick()
UIManager:QueuePopup( Controls.SinglePlayerScreen, PopupPriority.SinglePlayerScreen );
end
Controls.SinglePlayerButton:RegisterCallback( Mouse.eLClick, SinglePlayerClick );

-------------------------------------------------
-- Multiplayer Button Handler
-------------------------------------------------
function MultiplayerClick()
UIManager:QueuePopup( Controls.MultiplayerSelectScreen, PopupPriority.MultiplayerSelectScreen );
end
Controls.MultiplayerButton:RegisterCallback( Mouse.eLClick, MultiplayerClick );


-------------------------------------------------
-- Mods button handler
-------------------------------------------------
function ModsButtonClick()
UIManager:QueuePopup( Controls.ModsEULAScreen, PopupPriority.ModsEULAScreen );
end
Controls.ModsButton:RegisterCallback( Mouse.eLClick, ModsButtonClick );


-------------------------------------------------
-- UITest Button Handler
-------------------------------------------------
--[[
function UITestRClick()
bHideUITest = not bHideUITest;
Controls.UITestScreen:SetHide( bHideUITest );
end
Controls.OptionsButton:RegisterCallback( Mouse.eRClick, UITestRClick );
--]]


-------------------------------------------------
-- Options Button Handler
-------------------------------------------------
function OptionsClick()
UIManager:QueuePopup( Controls.OptionsMenu_FrontEnd, PopupPriority.OptionsMenu );
end
Controls.OptionsButton:RegisterCallback( Mouse.eLClick, OptionsClick );


-------------------------------------------------
-- Hall Of Fame Button Handler
-------------------------------------------------
function OtherClick()
UIManager:QueuePopup( Controls.Other, PopupPriority.OtherMenu );
end
Controls.OtherButton:RegisterCallback( Mouse.eLClick, OtherClick );


-------------------------------------------------
-- Exit Button Handler
-------------------------------------------------
function OnExitGame()
Events.UserRequestClose();
end
Controls.ExitButton:RegisterCallback( Mouse.eLClick, OnExitGame );


----------------------------------------------------------------
----------------------------------------------------------------
Steam.SetOverlayNotificationPosition( "bottom_left" );

-------------------------------------------------
-- Event Handler: MultiplayerGameLaunched
-------------------------------------------------
function OnGameLaunched()

UIManager:DequeuePopup( ContextPtr );

end
Events.MultiplayerGameLaunched.Add( OnGameLaunched );


-- Returns -1 if time1 < time2, 0 if equal, 1 if time1 > time 2
function CompareTime(time1, time2)

--First, convert the table into a single numerical value
-- YYYYMMDDHH
function convert(t)
local r = 0;
if(t.year ~= nil) then
r = r + t.year * 1000000
end

if(t.month ~= nil) then
r = r + t.month * 10000
end

if(t.day ~= nil) then
r = r + t.day * 100
end

if(t.hour ~= nil) then
r = r + t.hour;
end

print(r);

return r;
end

local ct1 = convert(time1);
local ct2 = convert(time2);

if(ct1 < ct2) then
return -1;
elseif(ct1 > ct2) then
return 1;
else
return 0;
end
end

function DisplayDLCButtons()
local ButtonsDisplayUntil = {

[Controls.PolynesiaDLCButton] = {
start = {
month = 3,
day = 3,
year = 2011,
hour = 17,
},

stop = {
year = 2011,
month = 4,
day = 3,
hour = 17,
},

},
}

local currentDate = os.date("!*t");

for k,v in pairs(ButtonsDisplayUntil) do
local bShow = false;

if(CompareTime(currentDate, v.start) >= 0 and CompareTime(v.stop, currentDate) >= 0) then
bShow = true;
end


k:SetHide(not bShow);

k:RegisterCallback(Mouse.eLClick, function()
Steam.ActivateGameOverlayToStore();
end);
end
end

DisplayDLCButtons();
 
WAIT! Nope, somehow its all better!!!!
Oh well, I figured I must have done something in the MainMenu.lua File to screw it up.
Hooray!
 
Code:
Controls.ModsButton:SetHide( true ); -- MAC_PORT - rickb Comment this line out to re-enable mods. Happy modding!
end
... should read ...
Code:
-- Controls.ModsButton:SetHide( true ); -- MAC_PORT - rickb Comment this line out to re-enable mods. Happy modding!
end
Commenting out means adding two minus signs at the beginning of the line.
 
Specifically, add two hyphens, '--', at the start of line 33 in the following file to comment it out:

~/Library/Application Support/Steam/SteamApps/common/sid meier's civilization v/assets/UI/FrontEnd/MainMenu.lua
Please answer how do you find mainmenu.lua i can't find it on finder i have a civ V mac and want to do mods
 
Hello, welcome :wavey:

If you have the Steam version it's at the location I stated in the post you quoted:

~/Library/Application Support/Steam/SteamApps/common/sid meier's civilization v/assets/UI/FrontEnd/

If you have the AppStore version - Civ5 Campaign Edition - then you need to follow this path instead:

/Applications/Civilization V Campaign Edition.app/Contents/Home/assets/UI/FrontEnd/

The quick way to get to either of these locations is to select the 'Go' -> 'Go to Folder ...' menu option in Finder. Copy and paste the folder path you want into that window and click 'Go'.

NOTE: If you have the Civ5 Campaign edition, you will find you need to fiddle with file and folder access permissions to allow you to edit the file and save it, as the file and folder are in side the application package, and are owned by root. I use BBEdit to do my text editing, and that deals with the permissions issues well. TextWrangler is a free version of BBEdit, and may work as well. I know others have had problems when using TextEdit to do this.
 
You'll have to give me a clue as to what you don't understand about my previous post.

- Which version of Civ5 you are trying to hack? That tells you which of the two folder paths you need to use.
- Have you tried to drop down the "Go" menu in the Finder, select "Go To Folder ..."
- Did you copy and paste the folder path into the window that opens, and click 'Go'?

Which of these steps fails for you, and how?
 
Back
Top Bottom