PDA

View Full Version : Brace for it... I think WILL's going to become a Mac.



WILL
21-04-2010, 12:11 PM
Yes folks, I hate to break any of you PCs hearts, but after thinking about it for the last couple of years and finally having a network setup and having to wait for Windows to wet it's self while I just want it to do what I've set it up to do, I think it's time to make a major change to a vital piece of my home's technology. I'm going Mac!

However as I make this scary and daunting leap, I have questions. A TONS of questions! Maybe some of you guys can help me out...

1) Lazarus on the Mac. Whats the deal? I assume it'll function just like it does on Windows and Linux, no? Does it take some extra special setup for doing applications that use the GUI?

2) Is the i7 all that worth getting over an i5? Dual vs Quad? What level is all the software at now? What's worth it and what's not? What will still feel seamless in a couple of years?

3) How many 'dumb dumb' features are there that I'll have to fight? Compared to say oh... Windows. :)

4) Memory. Geez, I remember when I only had 2MB of RAM on my old 386... I have 2 GB on my current system which is a Celeron M. (And that's as good as she'll get.) 4 - 16 GB are what I'm offered now. Whats a good happy standard for most things these days? How easy/hard/expensive is it to upgrade later?

5) BluRay. Ok call me a picky Peter, but why don't I see options to have this put into a new Mac? I mean common, it's a 27" screen.

6) What will SC2 work on? Ok, maybe that one is too soon, but I'm probably going to be playing it on the Mac primarily though.

8) MSN. I have an MSN account which I talk to some of you guys on. Whats the best alternative to this Windows-based app?

9) Bootcamp, VMWare, etc... Which is the best and most seamless for running a Windows instance? Though I'm moving to Mac, I still want to develop for Win32/64 + Linux as well. I really like the idea of the one where you can run BOTH at the same time. That's pretty sweet.

10) What types of apps, that don't come out of the box do you guys recommend? Considering I do video editing, play music (MP3), watch movies (divx/xvid, DVD, BluRay), photo editing and so on.

I may need to replace:

- Windows Media Player
- WinAmp
- Photoshop 7 (lol I know, probably will tell me to use GIMP)
- Windows Live Messenger
- WinRAR
- Azureus Vuze
- Nero Burning Rom

Really I think that's it for now, a lot of what I use for development and other tools is all open source and has a Mac port too. Well anyhow if you guys can answer these I guess all I need to know is how much this new monster will cost and when I'll get it. :)

Traveler
21-04-2010, 01:12 PM
Personally, I don't get what all the fuzz is about with Macs. Apparently 'everything' is better or easier on a Mac, yet I often hear my co-workers sigh about this or that not working...

With that said, I'm by no means the right person to answer all of these points, but some I may be able to shed some light on.

1) -

2) Yes. I went from dual core to i7 and oh boy. Sure it'll cost a bit extra, but you'll love it. If you have the cash go for it.

3) -

4) That heavily depends on what you do. 6 or 8 is standard now, 12 probably in 2-3 years. It sort of depends on how easy it is to upgrade I think. around 12gb would be my choice.

5) -

6) I have no clue what gfx cards are used on Macs, but knowing Blizzard I don't think you have to worry about that much.

7) ?

8) -

9) My co-workers use Parallels Desktop.

10) From what I heard a lot of software comes with a Mac. Others need to be bought. Like Photoshop (for Mac)

Hope this helps a bit... :)

jdarling
21-04-2010, 01:22 PM
This is a for the record post :)



1) Lazarus on the Mac. Whats the deal? I assume it'll function just like it does on Windows and Linux, no? Does it take some extra special setup for doing applications that use the GUI?

Pretty much, though MAC uses the concept of application packages instead of stand alone binaries. DOM has some GREAT information on this if you can get him to share. If not I'll pull it from my archive and post it :)



2) Is the i7 all that worth getting over an i5? Dual vs Quad? What level is all the software at now? What's worth it and what's not? What will still feel seamless in a couple of years?

Ok, here is the thing, if your going to spend the $$ on a MAC buy the BEST thing you can afford. MAC's arn't like a PC, there are frigging IIE's still in use today LOL! They don't really wear out, and it seems you never really upgrade the things, so buy the best you can afford and you won't go wrong. PS: ALWAYS buy the warantee with a MAC :)



3) How many 'dumb dumb' features are there that I'll have to fight? Compared to say oh... Windows. :)

Sh!# tons!



4) Memory. Geez, I remember when I only had 2MB of RAM on my old 386... I have 2 GB on my current system which is a Celeron M. (And that's as good as she'll get.) 4 - 16 GB are what I'm offered now. Whats a good happy standard for most things these days? How easy/hard/expensive is it to upgrade later?

See point 2



5) BluRay. Ok call me a picky Peter, but why don't I see options to have this put into a new Mac? I mean common, it's a 27" screen.

Got me, maybe it has it built in by default :)



6) What will SC2 work on? Ok, maybe that one is too soon, but I'm probably going to be playing it on the Mac primarily though.

??? - No idea, what is SC2 :)



8) MSN. I have an MSN account which I talk to some of you guys on. Whats the best alternative to this Windows-based app?

LOTS of messengers for MAC that support Live, GTalk, and basically you name it, the one I used was Adium. Just note, if you have GROWL installed (and you will) then things can get a bit annoying with some.



9) Bootcamp, VMWare, etc... Which is the best and most seamless for running a Windows instance? Though I'm moving to Mac, I still want to develop for Win32/64 + Linux as well. I really like the idea of the one where you can run BOTH at the same time. That's pretty sweet.

Personally, I like VirtualBox for running apps. Parallels is also quite good (but expensive). Bootcamp I've had too many problems with.... And, well, VMWare just leaves a bad taste in my mouth :)



10) What types of apps, that don't come out of the box do you guys recommend? Considering I do video editing, play music (MP3), watch movies (divx/xvid, DVD, BluRay), photo editing and so on.

You won't know till you start using it :) But MAC's are for Media Editing, so there are a ton of apps for that.



I may need to replace:

- Windows Media Player
- WinAmp
- Photoshop 7 (lol I know, probably will tell me to use GIMP)
- Windows Live Messenger
- WinRAR
- Azureus Vuze
- Nero Burning Rom

Basically, all built in. For WinRAR use 7zip or the built in compressor (can't remember the name).\

Photoshop replacement;
DON'T USE GIMP!
PIxelmator (http://www.pixelmator.com/) is suppose to be really good, and for only $60US isn't a bad price.
Skitch (http://skitch.com/) is an excellent stitcher.
SeaShore is also one I've heard about (http://seashore.sourceforge.net/)

Actually, a link you might want to keep around is http://www.opensourcemac.org/ Don't be confused by the fact that it looks like a garbage site, really the links there are to some good software. Ducky for example is the BEST FTP app for MAC IMHO.



- Jeremy

WILL
22-05-2010, 12:09 AM
It's HERE!!!!!!!!!!!!!!!! :D

This thing is bloody awesome! ;) Barring Blu-Ray, my new system has everything. I'm currently downloading Lazarus to install and try to compile some of my projects. If all pans out this system will become my primary system. Lots of updating and installing to do though...

Anyone need assistance porting from Win32 to Mac OS X? :)

dazappa
22-05-2010, 12:34 AM
Anyone need assistance porting from Win32 to Mac OS X? :)

If you'd be so kind to port Andorra 2d so I can compile my projects on a Mac... ;)

[random tangent]
Man. I wish FPC/Laz had some handy cross-platform (win/lin/mac) 2d and 3d libs. I've seen attempts at irrlict translations, but afaik those have never gotten anywhere, SDL is niceish, but not if you want to use alpha channels to their fullest (only supports on or off, basically). But I digress...
[/random tangent]

So yeah, I've got access to one ancient old ppc g4, but I've never bothered trying to develop any games that work under Mac.

czar
22-05-2010, 01:14 AM
I keep meaning to start porting my commercial Vision Board Studio to MacOS. But so far still haven't got around to it. The idea of converting to using openGL from DirectX and converting the various applications to have Mac equivalents is a fair amount of work. We even went as far as to get a quote, one was $20k US and the other $30k.

Oh well maybe one day

Enjoy your mac. I love my mac book. Best laptop I have ever used.

Stoney
22-05-2010, 01:50 AM
Have fun with your Mac. :)
Just be careful, don't get addicted to buying Apple products. ;) Just saying from experience: After my first PowerMac... other Apple devices like a MacBook, MacBook Pro, iPod came.



If you'd be so kind to port Andorra 2d so I can compile my projects on a Mac... ;)

I gave it a shot once, but it's more complicated than you think at first, mostly because most libraries Andorra is using don't have cross-platform Pascal headers.
But a while back I've offered igel457 to donate my old PowerMac G4 to him, so he can do some basic testing on Mac OS X.



[random tangent]
I wish FPC/Laz had some handy cross-platform (win/lin/mac) 2d and 3d libs.
[/random tangent]

As for a 3D library Horde3D works on Windows, Linux and Mac OS X. Allright, you need to check out the latest source from their SVN repository in order to work on Mac OS X, but it's a pretty neat low-level 3D graphics library. (The Horde3D editor however is Windows-only.)

WILL
22-05-2010, 06:16 AM
So far so good. I'm still trying to get everything I want installed with some difficulties. ie. Scribus (my desktop publishing software I use to publish Pascal Gamer) requires Ghostscript which does not have an installer rather just a gziped/tarballed archive which contains only a console executable which I now have no idea where to stick it. Without Scribus there is no new issues of Pascal Gamer. :'(

Any ideas solutions for this? I'm sure I'll figure it out, but heck it makes transitioning to Mac a slight pain.

Installing Lazarus seems to be far less annoying however. Though they could have made the solution far more simplistic, I finally got all I needed (Laz, FPC FPC source and then Xcode tools) registering as an Apple Developer was an interesting process. The only remaining issue now is that moving all my projects over to the Mac will break all my file paths for my Win32 project files. I'm wondering how I'm going to handle this nicely in the future when I go to port all my projects to Win32. Or Linux for that matter. :) Sure didn't make this easy, the way they made everything project based easy did they? I like some aspects of Laz being project based, but this is a limitation of sorts it seems.

Another funny issue is that Mac OS X actually seemed to freeze! Yes, thats right I managed to freeze my new i7 Quad Core within the first day. :no: I'm not sure exactly what happened, but it could have been that I was installing a program, importing pictures and video to iMovie/iPhoto and surfing the web at the same time. Those programs started to go unresponsive, then shortly after Mac OS X it's self eventually became unresponsive too. Poor little i7 Quad Core it seems. ??? Anyone know how to report system barfs to Apple?

I know I won't have to worry about viruses well for a long long time at least, but I'm wondering just how stable do you guys find Mac OS X Snow Leopard to be? Is this rare? Will this sort of thing usually only happen during installations as some kind of OpenBSD type of quirk? What gives?

Mario Donick
22-05-2010, 09:35 AM
Without Scribus there is no new issues of Pascal Gamer.

Here's explained how to install Ghostscript on a Mac:

http://ghostscript.darwinports.com/


I use Scribus, too, on a Windows PC, and I don't have Ghostscript installed. Although I get a warning dialogue when Scribus starts, it works well. Only things not working are using .eps files and Scribus' builtin print preview (which I don't use at all, 'cause I always export a PDF file when I want to see the final file).

Stoney
22-05-2010, 12:16 PM
So far so good. I'm still trying to get everything I want installed with some difficulties. ie. Scribus (my desktop publishing software I use to publish Pascal Gamer) requires Ghostscript which does not have an installer rather just a gziped/tarballed archive which contains only a console executable which I now have no idea where to stick it. Without Scribus there is no new issues of Pascal Gamer. :'(

Any ideas solutions for this?

Install Fink (http://www.finkproject.org/) or Darwinports (http://darwinports.com/). Both work like "apt-get" on an Ubuntu Linux system that means you just have to enter "fink install ghostscript" or "port install ghostscript" in your terminal.
You will probably be doing some more terminal-stuff. I would suggest you to install OpenTerminal (http://homepage.mac.com/thomasw/OpenTerminal/). Place OpenTerminal in the dock, then click on a Finder window and then on the OpenTerminal icon and it will open a terminal in the current window.



The only remaining issue now is that moving all my projects over to the Mac will break all my file paths for my Win32 project files. I'm wondering how I'm going to handle this nicely in the future when I go to port all my projects to Win32. Or Linux for that matter. :)

My solution is like this: For bigger Lazarus projects I have three different project files like main_win.lpi, main_linux.lpi and main_mac.lpi. For smaller projects I have just one project file (Windows project) and two makefiles each one for Linux and Mac OS X. For the distribution executable on Mac OS X I use my makefile as well, it also creates a Univeral Binary (so it will work on older PowerPC macs) and includes all the frameworks I use (like SDL) while Lazarus doesn't have an easy way to include frameworks by default (or at least I haven't seen any).



Anyone know how to report system barfs to Apple?

Usually if you restart your system you get a message box that says you shut down your system manually and you have an option to send the report to Apple.

dazappa
22-05-2010, 08:43 PM
@Will - Pinwheel of death or completely freezing will be your most common problem on a mac, vs. kernel panic.

For handling paths across operating systems, make a string variable and in the creation or initialization events just have ifdefs for each of the operating systems you want to support with the paths you want to use ;)

WILL
23-05-2010, 08:21 AM
Well no such luck with any attempt at installing ghostscript. I'm running 10.6 (Snow Leopard) so all of this old stuff won't work without recompiling and configuring with terminal commands all of which are all over my head right now (heck the last Mac I touched was the first color macs back in the early to mid 90s. :P) So I guess for now I'll just live without preview or using EPS files. I don't think I've ever used them either. ;)

As for the Lazarus Project setup. I kinda like the ifdef approach as long as it doesn't get too crazy. However I'd likely only do this for the top 3 OSes anyhow. (Mac, Win32/64 and Linux)

Garland's Quest, Treasure Hunters and my new cool digital world game (without a current title) coming to a Mac near you. ;)

Oh as a pleasant side-note, I've managed to find a nice program that will convert all my existing WMV, MPeG-2 and AVI files over to MPEG4 files for use with iMovie and Final Cut 7. :D You may well see a return to all those cool game footage videos I used to make. Only they wouldn't have the poor framerate my older system gave them.

With that though, does anyone know a really good program for capturing screen video like FRAPS? (Obviously it MUST run on Mac OS X 10.6 ;))

Mario Donick
03-06-2010, 08:26 PM
Well, well, since yesterday I also own a Mac, which is nice, so far. Currently I'm trying to get Lazarus to work, and the next step will be compiling a Mac version of my game project. Once I'm being able to do so, I'll get out patch 1.5.4, for Windows, Linux and for the first time, Mac. Which is lots of effort and costs for perhaps only a few more users... ;)

WILL
03-06-2010, 11:52 PM
Yeah I'm still having trouble with compiling apps on my Mac. Lazarus doesn't seem to do everything needed to generate a properly running or distributable application/program. I currently am trying to figure out why my version of Lazarus (0.9.28.2 beta) will not compile my project using just JEDI-SDL. (no OpenGL)

I have placed the following at the top of my semi-ported Scorch2D tutorial code...

program scorch2d;

{$IFDEF Win32}
{$IFDEF FPC}
{$APPTYPE GUI} // FreePascal/Lazarus
{$ELSE}
{$APPTYPE CONSOLE} // Delphi
{$ENDIF}
{$ENDIF}
{$IFDEF DARWIN}
{$linklib SDLmain}
{$PASCALMAINNAME SDL_main} // This line gives me errors

{$linkframework Cocoa}
{$linkframework SDL}
{$ENDIF}

uses
SysUtils,
// JEDI-SDL
sdl,
sdlutils,

GraphicsUnit,
GameObjectUnit,
GameConstantsUnit;

...and so on...

I've already installed all 3 packages for the last stable Lazarus, installed XCode from Apple's developer site (http://developer.apple.com/) and installed the SDL framework from the libsdl site (http://www.libsdl.org) for Mac OS X into my developer folders. (I would hope this is done properly anyhow I followed the instructions from the FPC/Laz wiki (http://wiki.lazarus.freepascal.org/Installing_Lazarus_on_MacOS_X) using the disk images aka the dmg files)

I've also updated my library and includes paths to match where my copy of JEDI-SDL is installed. I can compile just fine without the $PASCALMAINNAME line in my code, but the ran executable fails with all kinds of debugging information. To the best of my understanding somehow somewhere $PASCALMAINNAME does not exist as a symbol in either the version of FPC or Lazarus that I'm using.

Does anyone know whats going on and what I have to do to fix this? This is a stone wall to any further software development for me.

dazappa
04-06-2010, 02:04 AM
Well, first off I'm going to admit that I've never done any FPC compiling on a Mac. First thing to consider is that Lazarus should come bundled with SDL already (just not the libs). So first thing (you've probably already done) is downloaded the dynlibs or w/e from libsdl.org.

I'm pretty much going to assume from here on out you're going to use FPC/Lazarus' SDL units instead of JEDI-SDL. (I have gotten JEDI-SDL to work in the past, but it's not worth it)

As for whatever else you're doing with {$linklib} etc., I've had no experience with having to do that. Again main problem being I haven't tried to compile on a Mac, but personally I'd try out the below first.

So here's basically an SDL core I've created for myself that has been tested to work on Windows Vista at the very least.


program project1;

{$mode objfpc}{$H+}
{$apptype gui}

uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Classes,sdl,sdl_image,sdl_mixer
{ you can add units after this };

{$IFDEF WINDOWS}{$R project1.rc}{$ENDIF}
var
scr: PSDL_Surface;
running: boolean;
event: TSDL_Event;
imgs: array of PSDL_Surface;
destr: TSDL_Rect;
mus: array of PMix_music; //or _chunk
scene: integer;

procedure LoadImg(f: string; t: boolean);
var
timg: PSDL_Surface;
begin
setlength(imgs,length(imgs)+1);
timg := IMG_Load(PChar(f));
if(t) then
begin
imgs[length(imgs)-1] := SDL_DisplayFormatAlpha(timg);
end else
begin
imgs[length(imgs)-1] := SDL_DisplayFormat(timg);
end;
SDL_FreeSurface(timg);
end;

procedure LoadMusic(f: string);
begin
setlength(mus,length(mus)+1);
mus[length(mus)-1] := Mix_Loadmus(PChar(f));
end;

procedure LoadMenu();
begin
LoadImg('ascent.png',true);

LoadMusic('tmp.mp3');
Mix_PlayMusic(mus[0],-1);
scene := 1;
end;

begin
scene := 0;
running := true;
SDL_Init(SDL_INIT_VIDEO);
SDL_InitSubSystem(SDL_INIT_AUDIO);
Mix_OpenAudio(22050, AUDIO_S16SYS, 2, 4096);

scr := SDL_SetVideoMode(640,480,8,SDL_SWSURFACE);
SDL_WM_SetCaption('SDL Framework',nil);


destr.x := 160-62;
destr.y := 40;
destr.w := 123;
destr.h := 29;
while(running) do
begin
while(SDL_PollEvent(@event) = 1) do
begin
case event.type_ of
SDL_QUITEV:
begin
running := false;
end;
SDL_KEYDOWN:
begin
running := false;
end;
end;
end;
case scene of
0:
begin
loadMenu();
end;
1:
begin
// Draw menu
end;
end;
SDL_BlitSurface(imgs[0],nil,scr,@destr);
SDL_UpdateRect(scr,0,0,0,0);
SDL_Delay(1);
end;
SDL_FreeSurface(scr);
SDL_Quit;
end.

I don't know if this will require you uninstalling any JEDI-SDL packages, and you're definitely going to want to change filenames and possibly never load and play the music.

Anyway. Sorry I can't help with Mac-specific problems, but with any luck the above will work for you with a few minor tweaks ;) For the record, I'm using a beta of .9.28.3 from March.

Stoney
04-06-2010, 03:17 AM
First thing to consider is that Lazarus should come bundled with SDL already (just not the libs).

FreePascal ships with SDL headers. Tiny but important difference. :)



I'm pretty much going to assume from here on out you're going to use FPC/Lazarus' SDL units instead of JEDI-SDL. (I have gotten JEDI-SDL to work in the past, but it's not worth it)

Actually FreePascal's SDL headers are practically identical to JEDI-SDL (which is to be expected since FreePascal's SDL headers are based off JEDI-SDL). There are some slight differences like FreePascal's headers automatically link against libSDL on Linux and stuff like that.



As for whatever else you're doing with {$linklib} etc., I've had no experience with having to do that.

On Windows and Linux the shared library (SDL.dll and libSDL.so respectively) is being linked against the application automatically. However, on Mac OS X this is not the case. That's why all that {$link..}-stuff is for.

A few things that need to be changed in order for your code to work on Mac OS X:
- Link against SDL
- You cannot assign the values in Mix_OpenAudio directly. You need to declare variables or constants, initialize them with the needed values and assign those. It will result in an access violation if you don't do this. It sounds like a strange issue, and for some reason this error only occurs since Mac OS X 10.5.6.
- The frequence needs when calling Mix_OpenAudio needs to be set to 44100 kHz


And a few hints:
- {$apptype gui} does not exist on Mac OS X.
- The second parameter of SDL_WM_SetCaption() does not set the icon itself of your application, but the text that is displayed in the menu bar. (See: http://sdl.beuc.net/sdl.wiki/SDL_WM_SetCaption) On Windows, the second parameter is ignored.
Basically calling it like

SDL_WM_SetCaption('My Title', 'My Title');

is the best way to go and would prevent some unintentional flaws on Linux.

Mario Donick
04-06-2010, 07:15 AM
I've got similar problems.

I've installed

1. XCode
2. Lazarus
3. FreePascal
4. FreePascal Sources
5. SDL (so now there is a folder /Library/Frameworks/SDL.framework)

For compiling, I'm using the SDL that FreePascal is already shipping with.

However, I get the error

ld: Library not found for -lSDLmain
Error: Error while linking

This error occurs when and when not using {$linklib SDLmain} or {$linkframework SDL}. I'm really clueless, because I have absolutely no experience with Macs.

Another strange thing:

SDL_WM_SETICON(SDL_LOADBMP('graphics/icon.png'), 0);

works with JEDI-SDL, but not with builtin-SDL; there this gives me an error that 0 is a wrong parameter; it seems to expect PUInt8 instead of ShortInt. Never used that type before -- can somebody explain this?

Stoney
04-06-2010, 09:56 AM
To get the libSDLmain library, follow the instructions on the FreePascal page: http://wiki.lazarus.freepascal.org/FPC_and_SDL#Mac_OS_X_specific_issues


PUInt8 requires you to use a a pointer, that means in your case you have to use "nil" instead of "0".

WILL
04-06-2010, 04:19 PM
Ok so what is the deal with FPC 2.2.4 and FPC 2.4.0 here? I though Mac OS X support was added ages ago, but from what Stoney keeps telling me I need 2.4.0 so that the $PASCALMAINNAME symbol will exist. Why is this thing so important that my program would keep crashing every time it's ran?

savage
10-06-2010, 01:38 PM
Hi Everyone working on Mac OS X.
It looks like you are missing SDLMain.o? Do you have that?
If not you will need it to be able to build run correctly under Mac OS X.
I couldn't work out a way to get it working without it.

If you plan to release a univeral binary for both PPC and i386 systems, then you'll need an SDLMain.o that is PPC as well.

I have both SDLMain.i386 and SDLMain.ppc, which are being used in Game Maker 7.5 on Mac OS X, so can forward that on if necessary. I should probably check that into Sourceforge at some point.

I hope that helps.