Feature #947
NeL/Ryzom: Run natively on Mac OS X using Cocoa
Status: | Closed | Start date: | 05/29/2010 | |
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assignee: | rti | % Done: | 100% |
|
Category: | OS: Mac | |||
Target version: | Version 0.8.0 |
Description
As stated in the roadmap for 0.9 (http://dev.ryzom.com/versions/show/15) Ryzom should run natively on Mac OS X using Cocoa.
Therefor, the following things need to be done:- CMake needs to build objective-c/c++
- the NeL OpenGL driver needs to implement the Cocoa interface for window creation and management, GL context creation
- a new CocoaEventEmitter needs to be implemented in NeL to handle mouse and keyboard events
- CMake build scripts need a new flag (eg. WITH_COCOA) to switch between X11 and Cocoa GL driver on Mac OS X
- CMake needs to create an App Bundle for Ryzom to match Mac OS X style
- ...
I have already a prototype implementation. After cleaning it up a bit I will sync it with the repository step by step.
Some more information on that topic are available on MacClientState.
Related issues
History
#1 Updated by rti about 8 years ago
Stuff added with #947
- objective-c / objective-c++ compilation and linking integrated into cmake based build process
- remove all X11 dependencies if built with option
WITH_COCOA
- cmake creates an .app bundle
- native mac window opened by opengl_driver
- cocoa events handled in manual event loop
- ryzom client running with cocoa
Next steps
- dead keys and other key handling fixes
- mode switching
- fullscreen
- window resizing
- some basic menu items like quit and minimize
- review disabled gl extensions
- remove hardcoded values
- refactor
#2 Updated by rti about 8 years ago
- % Done changed from 10 to 20
#3 Updated by rti about 8 years ago
- % Done changed from 20 to 40
#4 Updated by rti about 8 years ago
- % Done changed from 40 to 50
#5 Updated by rti about 8 years ago
- % Done changed from 50 to 60
#6 Updated by rti about 8 years ago
Remaining known issues:
- set Mouse pos on non main monitor
- crash with micro vegetation
- adapt kervalas driver changes (mode setting)
- replace depricated api used for getting modes
#7 Updated by rti about 8 years ago
- mac style application menu still missing
#8 Updated by rti about 8 years ago
Remaining known issues:
- replace deprecated api used for getting modes
- rethink the modes thing for mac since there is no real mode switch, just back buffer shrinking
- crash with micro vegetation
- in fullscreen mode, there is an empty window behind the full screen view, remove it / hide it
- mouse move events from the first monitor are "copied" to ryzom in fullscreen on the second monitor
#9 Updated by rti about 8 years ago
- check warnings provided by valgrind
#10 Updated by rti about 8 years ago
- Status changed from Assigned to Resolved
closing this ticket now in favor of smaller ones to handle fine tuning tasks.
ryzom core client runs on mac os x now.
#11 Updated by rti about 8 years ago
- % Done changed from 60 to 100
#12 Updated by kervala about 8 years ago
- Category changed from NeL: General to OS: Mac
#13 Updated by rti about 8 years ago
- Status changed from Resolved to Closed
#14 Updated by rti about 8 years ago
- Target version changed from Version 0.9.0 to Version 0.8.0