CloneKeen Plus for MacOS X finally out!

All discussion about the Commander Genius project (a Keen interpreter + more).
Post Reply
gerstrong
Vorticon Elite
Posts: 1246
Joined: Wed Dec 31, 2008 14:44
Location: Frankfurt - Germany
Contact:

CloneKeen Plus for MacOS X finally out!

Post by gerstrong »

Hello,

I was wondering if someone has sucessfully compiled the source code of CKP on Mac OS X systems?

As I don't have a Mac and don't know how to even test a program of those, I'm looking for someone who want to distribute a Mac-Version.

I also know that some people managed to compile the original CK on Mac! It would be nice to support this system.

EDIT: We have it now! Just go to our download page and pull it down! For PPC we are working on a release!
Last edited by gerstrong on Sun Jul 26, 2009 12:16, edited 1 time in total.
User avatar
grafix
Chilling in Crystalus
Posts: 40
Joined: Thu Nov 01, 2007 20:44
Location: United Kingdom
Contact:

Post by grafix »

I've almost managed to compile it. Here is the error message I get (shortened to save space):

Code: Select all

Undefined symbols:
  "CLogFile::fTextOut(int, bool, char const*, ...)", referenced from:
      _freemem in graphics.o
      cleanup(stCloneKeenPlus*)     in misc.o
  "CLogFile::fTextOut(char const*, ...)", referenced from:
      openOGGSound(__sFILE*, SDL_AudioSpec*, stHQSound*)    in oggsupport.o
      checkConsistencyofGameData(stGameData*)      in fileio.o
      loadmap(char*, char*, int, int, stCloneKeenPlus*)in fileio.o
      _loadtileattributes in fileio.o
      loadstrings_AddAttr(char*, int)in fileio.o
      _loadstrings in fileio.o
      allocmem()    in graphics.o
      Graphics_Start()     in graphics.o
      latch_loadheader(int, char*)in latch.o
      latch_loadlatch(int, char*)in latch.o
      latch_loadsprites(int, char*)in latch.o
      _lz_decompress in lz.o
      loadCKPDrivers(stCloneKeenPlus*)      in main.o
      abortCKP(stCloneKeenPlus*)     in main.o
      playgame_levelmanager(stCloneKeenPlus*)      in main.o
      runGameCycle(stCloneKeenPlus*)      in main.o
      readCommandLine(int, char**, stCloneKeenPlus*)in main.o
      showmapatpos(int, int, int, int, stCloneKeenPlus*)in menu.o
      GraphicsDlg(stCloneKeenPlus*)      in menu.o
      cleanup(stCloneKeenPlus*)     in misc.o
      _usage in misc.o
      JoyDrv_Start(_SDL_Joystick**)      in joydrv.o
      SoundDrv_Start(stCloneKeenPlus*)      in snddrv.o
      _SoundDrv_Stop in snddrv.o
      _sound_extraction_of_exe_files in snddrv.o
      _sound_load in snddrv.o
      loadSoundData(stCloneKeenPlus*)      in snddrv.o
      MusicDrv_Load(SDL_AudioSpec*, char*) in musicdrv.o
  "CLogFile::CLogFile()", referenced from:
      openOGGSound(__sFILE*, SDL_AudioSpec*, stHQSound*)    in oggsupport.o
      openOGGSound(__sFILE*, SDL_AudioSpec*, stHQSound*)    in oggsupport.o
      checkConsistencyofGameData(stGameData*)      in fileio.o
      addenemytile(unsigned int, stCloneKeenPlus*)in fileio.o
      loadmap(char*, char*, int, int, stCloneKeenPlus*)in fileio.o
      _loadtileattributes in fileio.o
      loadstrings_AddAttr(char*, int)in fileio.o
      _loadstrings in fileio.o
      _freemem in graphics.o
      allocmem()    in graphics.o
      Graphics_Start()     in graphics.o
      latch_loadheader(int, char*)in latch.o
      latch_loadlatch(int, char*)in latch.o
      latch_loadsprites(int, char*)in latch.o
      _lz_decompress in lz.o
      loadCKPDrivers(stCloneKeenPlus*)      in main.o
      abortCKP(stCloneKeenPlus*)     in main.o
      closeCKP(stCloneKeenPlus*)     in main.o
      playgame_levelmanager(stCloneKeenPlus*)      in main.o
      runGameCycle(stCloneKeenPlus*)      in main.o
      readCommandLine(int, char**, stCloneKeenPlus*)in main.o
      _SDL_main in main.o
      showmapatpos(int, int, int, int, stCloneKeenPlus*)in menu.o
      loadResourcesforStartMenu(stCloneKeenPlus*)      in menu.o
      GraphicsDlg(stCloneKeenPlus*)      in menu.o
      cleanup(stCloneKeenPlus*)     in misc.o
      _usage in misc.o
      CInput::pollEvents()      in CInput.o
      CVideoDriver::stop()      in CVideoDriver.o
      CVideoDriver::applyMode()      in CVideoDriver.o
      CVideoDriver::createSurfaces()       in CVideoDriver.o
      CVideoDriver::start()      in CVideoDriver.o
      CVideoDriver::reset()      in CVideoDriver.o
      CVideoDriver::update_screen()       in CVideoDriver.o
      CVideoDriver::isFullscreen(bool)   in CVideoDriver.o
      JoyDrv_Start(_SDL_Joystick**)      in joydrv.o
      SoundDrv_Start(stCloneKeenPlus*)      in snddrv.o
      _SoundDrv_Stop in snddrv.o
      _sound_extraction_of_exe_files in snddrv.o
      _sound_load in snddrv.o
      loadSoundData(stCloneKeenPlus*)      in snddrv.o
      HQSndDrv_Load(SDL_AudioSpec*, stHQSound*, char*)in hq_sound.o
      MusicDrv_Load(SDL_AudioSpec*, char*) in musicdrv.o
      readStoryText(char**, int, char*)in story.o
  "CLogFile::TextOut(char const*)", referenced from:
      allocmem()    in graphics.o
      _lz_decompress in lz.o
      CInput::pollEvents()      in CInput.o
      CVideoDriver::stop()      in CVideoDriver.o
      CVideoDriver::createSurfaces()       in CVideoDriver.o
      JoyDrv_Start(_SDL_Joystick**)      in joydrv.o
  "CLogFile::TextOut(int, bool, char const*)", referenced from:
      loadstrings_AddAttr(char*, int)in fileio.o
      cleanup(stCloneKeenPlus*)     in misc.o
      CVideoDriver::applyMode()      in CVideoDriver.o
      CVideoDriver::start()      in CVideoDriver.o
      HQSndDrv_Load(SDL_AudioSpec*, stHQSound*, char*)in hq_sound.o
      MusicDrv_Load(SDL_AudioSpec*, char*) in musicdrv.o
  "_main", referenced from:
      start in crt1.10.5.o
  "CLogFile::fTextOut(int, char const*, ...)", referenced from:
      addenemytile(unsigned int, stCloneKeenPlus*)in fileio.o
      _loadstrings in fileio.o
      allocmem()    in graphics.o
      loadResourcesforStartMenu(stCloneKeenPlus*)      in menu.o
  "CLogFile::TextOut(int, char const*)", referenced from:
      openOGGSound(__sFILE*, SDL_AudioSpec*, stHQSound*)    in oggsupport.o
      loadmap(char*, char*, int, int, stCloneKeenPlus*)in fileio.o
      allocmem()    in graphics.o
      _SDL_main in main.o
      cleanup(stCloneKeenPlus*)     in misc.o
      CVideoDriver::createSurfaces()       in CVideoDriver.o
      CVideoDriver::reset()      in CVideoDriver.o
      CVideoDriver::update_screen()       in CVideoDriver.o
      CVideoDriver::isFullscreen(bool)   in CVideoDriver.o
      HQSndDrv_Load(SDL_AudioSpec*, stHQSound*, char*)in hq_sound.o
      MusicDrv_Load(SDL_AudioSpec*, char*) in musicdrv.o
      readStoryText(char**, int, char*)in story.o
  "CLogFile::CreateLogfile(char const*)", referenced from:
      _SDL_main in main.o
Any ideas?
gerstrong
Vorticon Elite
Posts: 1246
Joined: Wed Dec 31, 2008 14:44
Location: Frankfurt - Germany
Contact:

Post by gerstrong »

Yes!

It only appears to be the last class I've implemented. Where did you compile it? In which directory? How did you compile it? Let me know, what you did, and I'm going to adapt the source code and send you. If we are able to support Mac, we'll be a step forward.

@Grafix : Would you like to take care of the Mac-distro?
User avatar
grafix
Chilling in Crystalus
Posts: 40
Joined: Thu Nov 01, 2007 20:44
Location: United Kingdom
Contact:

Post by grafix »

I got it to compile! All you need to do is install the libraries, run "ln -s /usr/lib /usr/lib32" as an administrator, then make these changes to the makefiles:

Code: Select all

Linux32/makefile:
	replace:
		g++ -L"" -L/usr/lib32 -m32 -o"CommanderGenius" $(OBJS) $(USER_OBJS) $(LIBS)
	with:
		g++ -L"" -L/usr/lib32 -m32 -o "CommanderGenius" $(OBJS) $(USER_OBJS) $(LIBS)

Linux32/objects.mk:
	replace:
		LIBS := -lSDL-1.2 -lvorbisfile -lvorbis
	with:
		LIBS := -lSDL-1.2 -lSDLmain -lvorbisfile -lvorbis -framework Cocoa -framework Glut

Linux32/src/subdir.mk:
	replace:
		CPP_SRCS += \
		../src/eseq_ep1.cpp \
	with:
		CPP_SRCS += \
		../src/CLogFile.cpp \
		../src/eseq_ep1.cpp \
	
	replace:
		OBJS += \
		./src/eseq_ep1.o \
	with:
		OBJS += \
		./src/CLogFile.o \
		./src/eseq_ep1.o \
	
	replace:
		CPP_DEPS += \
		./src/eseq_ep1.d \
	with:
		CPP_DEPS += \
		./src/CLogFile.d \
		./src/eseq_ep1.d \
I won't be able to maintain the Mac distribution at the moment, as I'm busy with exams. However, I would be interested in doing that in the summer.
gerstrong
Vorticon Elite
Posts: 1246
Joined: Wed Dec 31, 2008 14:44
Location: Frankfurt - Germany
Contact:

Post by gerstrong »

That's fine. I can wait and understand that you have things to do. Whenever you are ready, I'll give you access to my files and you can upload the distro to sourceforge anytime you want.
gerstrong
Vorticon Elite
Posts: 1246
Joined: Wed Dec 31, 2008 14:44
Location: Frankfurt - Germany
Contact:

Post by gerstrong »

Albert has taken the job in getting out releases for the Mac System. Many credits to him!
User avatar
Syllypryde
Vorticon Elite
Posts: 1030
Joined: Tue Jan 20, 2009 18:33
Location: Michigan
Contact:

Post by Syllypryde »

gerstrong wrote:Albert has taken the job in getting out releases for the Mac System. Many credits to him!
It is cool that someone was thinking about our Mac brothers and sisters. Commander Keen is an awesome game for everyone to enjoy. We PC users should not get to have all the fun!
.niarb ym fo
snoitulovnoc eht tuaba
selbbarcs ssensuoicsnoc
rehgih a ekil smees
User avatar
DaVince
lazy/busy Keener
Posts: 1476
Joined: Thu Nov 01, 2007 15:34
Location: Amsterdam, Netherlands
Contact:

Post by DaVince »

Syllypryde wrote:
gerstrong wrote:Albert has taken the job in getting out releases for the Mac System. Many credits to him!
It is cool that someone was thinking about our Mac brothers and sisters. Commander Keen is an awesome game for everyone to enjoy. We PC users should not get to have all the fun!
But Macs are PCs too...

Then again, CG exists for some handheld devices, too. :)
Wow look at me I'm lurking
User avatar
Stealthy71088
Vortininja
Posts: 174
Joined: Thu Nov 01, 2007 20:12
Contact:

Post by Stealthy71088 »

I have a question about clone keen. Apparently, its possible to put Keen on a DS. http://www.portabledev.com/pages/ds/jeu ... dskeen.php . Does this include mods?

Also, if I wanted to put Keen on my DS, how would I go about doing it? I could download the file, but I have no idea how to get it on my DS.
User avatar
tulip
Flower Pot
Posts: 2520
Joined: Thu Aug 21, 2008 12:50
Location: Hamburg, Germany
Contact:

Post by tulip »

Maybe you noticed that what we are talking about here is CloneKeen Plus, not CloneKeen. CloneKeen was ported by I don't know who to the DS. There's special hardware available on the internet to actually get your software onto a cardridge.
CloneKeen Plus here, however, is a continuation which also has a slightly different address (clonekeenplus.sourceforge.net), and so far this version has no DS support, but is still in development, so the let's see what the future will bring.
There is only very preliminary mod support now, which is heavily in development for CloneKeenPlus , but the original CloneKeen does not support mods
Image You crack me up little buddy!
User avatar
Stealthy71088
Vortininja
Posts: 174
Joined: Thu Nov 01, 2007 20:12
Contact:

Post by Stealthy71088 »

Sorry, I did see the clone keen plus, but I didn't want to bump an old topic.
User avatar
DaVince
lazy/busy Keener
Posts: 1476
Joined: Thu Nov 01, 2007 15:34
Location: Amsterdam, Netherlands
Contact:

Post by DaVince »

If CloneKeen was successfully ported to the NDS, CKP should probably be portable too, with the right amount of effort.
Wow look at me I'm lurking
gerstrong
Vorticon Elite
Posts: 1246
Joined: Wed Dec 31, 2008 14:44
Location: Frankfurt - Germany
Contact:

Post by gerstrong »

Maybe someone finds us and want to help on that port. Pickle does the Wiz-port. And CKP ist faster than old CK. I see good possibilities.
Post Reply