As 'su - chown' does not work in Cygwin, there is a alternative in Windows 7.
Log in as the user the files should be changed TO and run Command Prompt as administrator.
Run the follow command (or similar one with different parameter combination)
> takeown /F <directory name> /R
Sunday, March 11, 2012
Friday, March 9, 2012
Black screen on simulator for iPad retina using cocos2d
I am excited to see that iPad has a retina display. As I am developing my first iPhone/iPad game (universal application) using cocos2d 1.0.1, I updated my Xcode to 4.3.1 to see if my code still works on the new device display.
It showed a black screen. Nothing displayed. But the code seems to be running and responding to touch events. I did not know what happened so I started to search on the web. I found one posting on cocos2d-iphone forum started a day ago was discussing exactly the same problem. I read every post and experimented all the proposed solutions. I don't think it is anything to do with '-hd' image files, as the sample cocos2d HelloWorld did not work in iPad retina display either. But apparently lowering the resolution makes everything work again. I noticed one member mentioned something particularly interesting, which was about the call to
gluPerspective() in CCDirectorIOS -setProjection().
The call stack is
enableRetinaDisplay => setContentScaleFactor => setProjection, as enableRetinaDisplay is the center of the discussion.
I found that switching to the commented code one line before the now in-use code in CCDirectorIOS makes my code work again in all the simulators. I posted it to the thread. But here is the complete posting. Hope this helps you as well.
I was following DonomaGames's post on gluPerspective() (CCDirectorIOS line 212-213). Line 212 was commented out and replaced with line 213,
gluPerspective(60, (GLfloat)size.width/size.height, 0.5f, 1500);
which has zFar as 1500. I did a calculation using the formula on 212, zNear=zeye-height/2, zFar=zeye+height/2. On iPad retina, the zFar value is 2794.707275. It is larger than 1500. The rendering may be clipped off.
For comparison I computed the whole four types.
Type | zNear | zFar |
iPhone SD | 175 | 655 |
iPhone HD | 350 | 1310 |
iPad SD | 373 | 1397 |
iPad HD | 746 | 2794 |
Given that, I changed line 212 in CCDirectorIOS.m to
gluPerspective(60, (GLfloat)size.width/size.height, 0.5f, 2800);
It worked for iPad retina simulator.
I also tried the following code and worked also.
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad &&
[[UIScreen mainScreen] scale] > 1.0 )
{
gluPerspective(60, (GLfloat)size.width/size.height, zeye-size.height/2, zeye+size.height/2 );
} else {
gluPerspective(60, (GLfloat)size.width/size.height, 0.5f, 1500);
}
This combines the original 212 and 213 code.
Monday, March 5, 2012
Hostname on Mac OS X
If the dynamic hostname is provided by DHCP, and you prefer a fixed one, there are a few ways to do it.
From System Preferences/Network
-- Mac OS X 10.5 and older
On Mac, the hostname shown on the terminal prompt is configured by the file,
/etc/hostconfig. If it is specified as
HOSTNAME=-AUTOMATIC-,
the name shown in the prompt is provided by DHCP or BootP server.
Change that line to
HOSTNAME=(preferred-name)
-- Mac OS X 10.6 and newer
Use the command scutil (system configuration utility)
scutil --set HostName (preferred-name)
Remember to check the name set in
/Library/Preferences/SystemConfiguration/preferences.plist,
under System/System/ComputerName
From System Preferences/Network
- Select the network adapter which interfaces the DHCP server.
- Click on the "Advanced" button on the lower right.
- In the TCP/IP tab, specify the "DHCP client ID" text field.
-- Mac OS X 10.5 and older
On Mac, the hostname shown on the terminal prompt is configured by the file,
/etc/hostconfig. If it is specified as
HOSTNAME=-AUTOMATIC-,
the name shown in the prompt is provided by DHCP or BootP server.
Change that line to
HOSTNAME=(preferred-name)
-- Mac OS X 10.6 and newer
Use the command scutil (system configuration utility)
scutil --set HostName (preferred-name)
Remember to check the name set in
/Library/Preferences/SystemConfiguration/preferences.plist,
under System/System/ComputerName
Thursday, February 23, 2012
Modify grapeConfig.xml to speed up groovy script with @Grab
I had a post on speed up groovy script startup time if Grape @Grab annotation is used in the script.
The cause is described in this post, http://swainya.blogspot.com/2011/09/skip-download-when-groovy-code.html.
The solution described in that post is to add one line in the .groovy/grapeConfig.xml to decrease cache TTL. Add
<property name="ivy.cache.ttl.default" value="15m"/>
in the <ivysettings> section.
Your grapeConfig.xml will look like this after adding that line
<ivysettings>
<property name="ivy.cache.ttl.default" value="15m"/>
<settings defaultResolver="downloadGrapes"/>
......
The cause is described in this post, http://swainya.blogspot.com/2011/09/skip-download-when-groovy-code.html.
The solution described in that post is to add one line in the .groovy/grapeConfig.xml to decrease cache TTL. Add
<property name="ivy.cache.ttl.default" value="15m"/>
in the <ivysettings> section.
Your grapeConfig.xml will look like this after adding that line
<ivysettings>
<property name="ivy.cache.ttl.default" value="15m"/>
<settings defaultResolver="downloadGrapes"/>
......
Friday, January 13, 2012
Show user Library folder in Finder
Since moved to MacOS Lion (10.7.x), the folder Library disappeared from my Finder window. It bothers me a lot. Apparently Apple hides it in this OS release. Here is the way to reveal it.
From console terminal, use this command.
$ chflags nohidden ~/Library/
From console terminal, use this command.
$ chflags nohidden ~/Library/
Friday, December 30, 2011
Comment out multiple lines in vi
Press Ctrl-v to start a VISUAL BLOCK
Move the cursor (up/down arrow key) to expand the block
Press I (Shift-i) to start insert.
Type in the character(s) that you want to insert, such as #, or //.
Press ESC to leave the visual block.
Move the cursor (up/down arrow key) to expand the block
Press I (Shift-i) to start insert.
Type in the character(s) that you want to insert, such as #, or //.
Press ESC to leave the visual block.
Tuesday, December 6, 2011
Global search in vi and list results
We use the simple command to search a pattern (or a fragment of text),
:/{pattern}
Sometimes, there would be a few dozens of matches that you want to list and browse quickly. Use this command,
:g/{pattern}
It lists the search results in one buffer. If you want to search the pattern case insensitive, add \c in the command, like
:g/\c{pattern}
Subscribe to:
Posts (Atom)