[
板情報
|
カテゴリランキング
]
したらばTOP
■掲示板に戻る■
全部
1-100
最新50
| |
盛り上がらないMPWスレ
1
:
ぷご★
:2003/09/09(火) 23:01
無料で提供されているにもかかわらず、ユーザ数の
少ないまま消え去ろうとしている。
でも、僕にとってはHyperCardよりも人生を変えた
そんな開発環境なんだ。
-- Macintosh Programmers Workshop --
25
:
UDI
:2003/10/22(水) 02:27
大感謝ーーーm(_ _)m
そうか、セグメントの問題だったのか。これから試してみます。
26
:
UDI
:2003/10/25(土) 00:31
ありがとうございました。うまく行ってるみたいです。
Cは割と好きな言語なんですが、コンパイラは設定が面倒でいつも
泣かされます。ちゃんとした知識が無いのでオプションの意味がいまひとつ。
まぁCompileIt!も一筋縄でいかないツールなので、そのへんの面倒さは
同じなんですけどね・・・
27
:
ぷご
:2004/01/17(土) 20:52
MPWにCarbonStdCLibを入れてみた。
Carbonなら、MPWでもコンパイル出来たという事を忘れていた。
さて、どうなるかな。
28
:
ぷご
:2004/01/18(日) 01:18
MPWは無料とはいえ、インストールだけで手間がかかる・・・。
MPWでCarbonアプリを作る記事でも書こうかな。
まぁ、Carbonでコンパイル出来ずに悩んでるんだけど。
29
:
ぷご
:2004/01/18(日) 04:11
MPWでのCarbonコンパイルに成功。
OS9でもOSXでも快適に動作するゲームが作れます。
よし、MacBeat作るか。
30
:
ぷご
:2004/01/18(日) 06:25
MPWのインストール
まずMPWのページに行きます。
http://developer.apple.com/tools/mpw-tools/
QuickClicksと書かれた左の枠の「FTP Site」からMPW-GMのディレクトリ内を
全てダウンロードします。MPW-GM.imgでもOKです。
中身がStuffItアーカイブになっているので解凍します。
フォルダ丸ごとStuffItのアイコンにドラッグすると
フォルダ構造が分からなくなります。ファイルを複数
選択して解凍しましょう。フォルダ内のファイルも
アーカイブされてたりするので注意。
MPWフォルダの中のMPW Shellが、本体みたいなもの。
適当にいじりましょう。
Carbonアプリのコンパイル方法は、CreateMakeで作ればOK。
CarbonFrameworkLibをチェックする事。
古い情報を鵜呑みにすると引っかかります。
今の時点からはアップデートしないでしょうから、
僕の欠いている情報は割と正しいはず。
何も特別な事は書いてないけど。
MPW CarbonのMacBeatのソースコードと
MacBeat.makeを眺めればそれなりにできるかな。
Xcodeとソースレベルでの互換性は高いです。
OS9ではダブルバッファされず、OSXではダブルバッファ
されるなど動作が違うのが困ったところ。
OSXではAquaインターフェイスになるし。
無視してるけど。
こんな明け方までプログラムするのも久しぶりだなぁ。
31
:
ぷご
:2004/01/18(日) 22:54
OSXでメニューが文字化けする場合。
アプリ本体にversリソースを入れてJapaneseにするとOK。
32
:
( ´ω`)y-~
:2004/04/18(日) 23:34
http://www.signaltalk.com/company.html
なんていうものを見つけた。
同一人物じゃないよね?
33
:
( ´ω`)y-~
:2004/04/18(日) 23:35
なんでもスレッドにかこうと思って誤爆してしまった・・・
34
:
ぷご
:2004/04/19(月) 21:24
もっと調べてみれば分かると思うよ。
35
:
ぷご
:2004/04/21(水) 23:07
yokomizo.comじゃなかったかな、、、
ああ、ハイフンがいるのな。
36
:
ぷご
:2004/09/03(金) 00:38
最近のMPWの用途はPgColorXをコンパイルするだけだな。
68KでInstallコマンドが使えるようになったのは、
-nearモデルにするだけだった。
昔は-bigsegオプション付けてなかったから、気づかなかったよ。
37
:
ぷご
:2004/11/23(火) 18:02
やっとSeedCFillが使えなかった理由が分かった。
3年くらい掛かった…。
SetGWorldでdstBitMapを指定していたのがよくなかった。
srcBitMap(あるいはPixMap)を指定する必要があった。
38
:
ぷご
:2004/11/23(火) 22:30
(int)0xFFFFFFFFは非常に小さい数だと思っていたのね。
2の補数表現を思い出してみた。
これは-1じゃないかー!
エラーとしてあり得ない数字を出そうと思っていたのに,
よりにもよって,ありそうな数字をー!
・・・ごめんなさい。
39
:
ぷご
:2004/11/27(土) 23:53
リージョン付きPICTはPaintRgnやEraseRgnで
実現できるのかぁッ!
長年の疑問が氷解していく・・・。
40
:
ぷご
:2004/11/28(日) 01:16
SetClip(region)を使う手もあるのか。
さらに、他にもPICTの領域指定方法はあるようだ。
拡張性があると言うか、統一感が無いと言うか。
41
:
ぷご
:2004/11/29(月) 00:37
PackBits,UnpackBitsでPICTを圧縮/解凍しないと
PICTの領域指定は扱えないのかな。
これが使えると、透過PNG出力が出来るかな。
42
:
ぷご
:2004/12/01(水) 22:27
PICTの圧縮では8bit単位で圧縮するため、
32000色以上の画像に対しての圧縮効果は
とても少ない。
なんて事が分かってもあまり嬉しくない。
43
:
通りすがりの名無しさん
:2004/12/04(土) 17:26
copybitsでrgnを指定した場合もリージョン付きPICTになったはずです。
ところで、長年の心残りの質問なのですが、
PICTからリージョンを得る方法をご存知ですか?
白黒背景にDrawPictしたのを合成やパレット利用などあると思いますが、
PICTから直接取り出す方を探してました。
OS Xではtiffが標準になってPICTの出番もめっきり減りました。
44
:
ぷご
:2004/12/04(土) 18:36
CopyBitsでリージョンを付けても無視されます。
それで長年悩んでいます。
仕方が無いので、自前でやってます。
>リージョンを得る方法
透過部分付きのPICTはいろいろなやり方があるので、
僕自身は 白黒背景にDrawPictしたのを合成 でやるのが
良いかなと思っています。
PICTのフォーマットから調べれば、直接rgnを得られますが、
そこまでやるのは面倒です。データの種類を示すopcodeと、
可変長のデータが並んだ作りになっていますので、リージョンを
取り出す位置を求めるのは大変です。
(参考)
http://www.openspc2.org/format/MacPICT/
45
:
ぷご
:2004/12/04(土) 20:14
>>42
で書いた、「32000色以上の画像に対しての圧縮効果は
とても少ない。」は正しくありません。
32000色の場合は2バイト単位で圧縮するようになっているため、
問題なく圧縮できます。なるほど。
とすると、PackBitsを自前で実装しないと。
46
:
ぷご
:2004/12/05(日) 01:44
32000色以上にしか対応していないけど、
Region+PixMapなPICTを生成できるようになった。
この画像をQuickTime変換かけてみたが、透過PNGは出来なかった。
そんなもんか。透過PNGへの道は遠い……。
クラリスワークスの出力するフォーマットに合わせたので、
クラリスワークスに貼付けたらマスク付きで貼付けられるだろう、
と思ったら、ならなかった。クリップボードにコピーする時に
PICT以外の情報もクリップボードに入れているらしい。
ちきしょー、頑張って作ったのに役に立たないや。
透過PNGはぜひやりたいんだけどなぁ。
47
:
ぷご
:2004/12/05(日) 12:55
32000色未満に対応しても実用にならないので、
自前PICT保存はやめる事にする。
ソースはPgExportXに含めて公開します。
気を取り直して、次はcicnリソースで保存できるようにしてみよう。
PICTの解析をしたので、cicnくらいならどうにでもなるはずだ。
48
:
ぷご
:2004/12/05(日) 13:13
透過させる場合は32bitにする?意味深な記述があるなぁ。
http://developer.apple.com/ja/qa/qa2001/qa1183.html
じゃ、32bitで保存させて変換……。
だめだ、バグがあってフリーズするよ。
49
:
通りすがりの名無しさん
:2004/12/05(日) 23:04
情報ありがとうございました。
>CopyBitsでリージョンを付けても無視されます。
OS Xのcarbonで試してみたんですけど、
DrawPictureでちゃんとマスクされてますよ。
>透過PNG
PixMapからPNGへの変換はどうでしょう?
alphaこみのPixMapを使えばうまくいきそうな気がします。
やりかたはこちらのサイトが参考にしてください。
http://homepage.mac.com/mkino2/cocoaProg/Carbon/CarbonGraphics/CarbonGraphics.html
#gworldToNSImage
50
:
ぷご
:2004/12/06(月) 00:53
こちらはClassicがターゲットなもんで。
しかもHyperCardのXCMDで68Kまでサポート必要です。
流氷通信を参考にしてPicture(PICT)から変換させようとしていましたが、
PixMapは32bitだとalpha含められるようですし、PixMapからだと
いけそうな感じですね。ありがとうございます。
51
:
( ´ω`)y-~ </b><font color=#005500>(G5PVvZZ2)</font><b>
:2004/12/06(月) 14:18
高速化を目的としたMPWで簡単XCMD講座キボンヌ
52
:
ぷご
:2004/12/06(月) 22:48
>51
XCMDは面倒なわりに効果は薄いです。
XCMDをコールすること自体が重い感じがします。
・オールC言語
・HCなのに、XCMD中ですべて処理してしまう
のどちらかが良いでしょう。
とすると、オールC言語のほうがよほど魅力的ですね。
お手軽な方法として、CompileIt!のデモ版で
10行までのスクリプトをXCMDに出来るので
それを使うのも良いんじゃないかと。
53
:
ぷご
:2004/12/06(月) 22:51
あまり効果がないXCMDの一例
//xCheckOverlap XCMD
//(C)PugoStation 2004
//2004/11/28
//make方法:次の2行をMPWコンソールでEnterで実行すればOK
/*
SC xCheckOverlap.c -o xCheckOverlap.c.o -model near -b -proto strict -align mac68k
Link -w -m MAIN -rt XFCN=13904 -sg xCheckOverlap -o "xCheckOverlap" "xCheckOverlap.c.o" "{Libraries}HyperXLib.o" "{Libraries}MathLib.o" "{CLibraries}StdCLib.o" "{Libraries}MacRuntime.o" "{Libraries}IntEnv.o" "{Libraries}ToolLibs.o" "{Libraries}Interface.o"
*/
//includes
#include <HyperXCmd.h>
//protoTypes
static void DoMain(XCmdPtr paramPtr);
static char *lineStrOfHandle(Handle str,short line);
//main codes
pascal void main(XCmdPtr paramPtr)
{
DoMain(paramPtr);
}
//2つの文字列の重なりを判定
static void DoMain(XCmdPtr paramPtr)
{
Str255tmpStr;
char*c1, *c2;
Handlestr1, str2;
Pointpt;
intx1, y1;
intx2, y2;
intflag;
//大きいフィールド
str1 = paramPtr->params[0];
if(**str1 == 0)
{
paramPtr->returnValue=PasToZero(paramPtr,"?pError: no string1");
return;
}
//小さいフィールド
str2 = paramPtr->params[1];
if(**str2 == 0)
{
paramPtr->returnValue=PasToZero(paramPtr,"?pError: no string2");
return;
}
//小さいフィールドのオフセット
if(**(paramPtr->params[2]) > 0)
{
ZeroToPas(paramPtr,*paramPtr->params[2],tmpStr);
StrToPoint(paramPtr,tmpStr,&pt);
}
else
{
pt.h = 0; pt.v = 0;
}
//オフセット
y1 = pt.v;
x2 = pt.h;
y2 = 0;
//lock
HLock(str1);
HLock(str2);
//判定ルーチン
flag = false;
while(1)
{
//一行取り出す
c1 = lineStrOfHandle(str1, y1);
c2 = lineStrOfHandle(str2, y2);
if( *c1 == 0 || *c2 == 0 )
break;
//オフセット分移動
x1 = 0;
while(x1 < x2)
{
if( *c1 == 0 || *c1 == '?n' )
break;
c1++;
x1++;
}
//逆オフセット
while(x1 > x2)
{
if( *c2 == 0 || *c2 == '?n' )
break;
if( *c2 != '0' )
flag = true;// *c1の外にはみだした場合はtrue
c2++;
x1--;
}
//文字比較ループ
while(1)
{
//文字列終了
//if( *c1 == 0 || *c1 == '?n' )// *c1の外にはみだした場合
//break;
if( *c2 == 0 || *c2 == '?n' )
break;
//判定比較
if(*c1 != '0' && *c2 != '0')
{
flag = true;
break;
}
//次の文字
if( *c1 != 0 && *c1 != '?n' )
c1++;
c2++;
}
if(flag)
break;
//次の行
y1++;
y2++;
}
//unlock
HUnlock(str1);
HUnlock(str2);
if(flag)
paramPtr->returnValue=PasToZero(paramPtr,"?ptrue");
else
paramPtr->returnValue=PasToZero(paramPtr,"?pfalse");
}
//line行目の文字列を取り出す(0行目から始まる!)
static char *lineStrOfHandle(Handle str,short line)
{
short returnCnt;
char *c;
c = *str;
returnCnt = 0;
while(returnCnt < line && *c)
{
if(*c == '?n') returnCnt++;
c++;
}
return c;
}
54
:
( ´ω`)y-~ </b><font color=#005500>(G5PVvZZ2)</font><b>
:2004/12/08(水) 03:07
・・・ある種の幻滅を・・・
・・・なんか元のCより2倍近く肥大化してないか?(汗
55
:
ぷご
:2004/12/08(水) 23:04
XCMDだとどんな引数渡されるか分からないから
エラー処理はいるし、文字列しか扱えないから
データのやり取りは面倒だし、C言語の標準関数が
68Kだとリンクエラーになって使えないし、
やってられません。
最近はHyperTalk書くよりはC言語のほうが慣れたので、
これくらいはどうってこと無いんだけどね。
むしろ、仕事でプログラム触らなくなってきたので
もっとC言語使いたかったり。
56
:
ぷご
:2004/12/22(水) 01:58
PgColorXでWACOMタブレット筆圧感知に対応できました。
本格的にペイントソフトが作れそうです。
もうわけわからんな、このXCMDは。
57
:
ぷご
:2004/12/23(木) 14:34
PgExportXがあれば、当然PgImportXも無いといけませんね。
というわけで作成中。QuickTime様々です。
58
:
ぷご
:2004/12/23(木) 16:21
HyperCardのブラシくらいなら力技でもできるけど、
Painterのブラシなんかは難しいだろうなと思いつつ、
タブレットの筆圧を考慮したブラシの作成を悩み中。
「フルスクラッチによるグラフィックスプログラミング入門」
http://d.hatena.ne.jp/asin/479800958X
タブレットの筆圧を考慮したブラシストロークについて書いてあるらしい。
よし、買いに行ってくる。
59
:
ぷご
:2004/12/23(木) 19:25
本を読む。なるほど円を連続で描くのか・・・って力技じゃないか!!
僕の場合は円以外も使えるように考えているので、スタンプを
連続で行うような感じになるのかな。ま、それでええかな。
この本はPgColorXを作るような場合にとても役に立つなぁ。
なんとも素晴らしくマイナーだ。
60
:
ぷご
:2004/12/25(土) 22:30
検索していると、いいむらさんのページがよく引っかかる。
IconPartyを追っかけているかのような感じ。
単なるアイコン作成ツールかと思っていたけど、
IconPartyは意外と高機能だったんだ。
61
:
ぷご
:2004/12/27(月) 01:56
とすると、次はネットワーク系XCMDですかね・・・。
62
:
( ´ω`)y-~ </b><font color=#005500>(G5PVvZZ2)</font><b>
:2005/01/11(火) 02:09
http://www.h5.dion.ne.jp/~putora/jb.html
こいつにソースが付属してあるので改良してください。
63
:
ぷご
:2005/01/12(水) 00:20
だから、そんなことにはきょうみがないといっておろう。
64
:
ぷご
:2005/01/12(水) 00:24
面白い/面白くないというのは一切関係ない。
自分の役に立つか/そうでないか、が基準です。
興味があることは、とりあえず情報だけは拾っておきます。
行動するかどうかは、役に立つとか得をするとか、そういったこと。
65
:
ぷご
:2005/01/28(金) 08:01:15
ソースごとに最適化オプションを切り替えることで
コードサイズとスピードの両方の最適化を良くできる。
pugoGLで作っていた時はそんなことをしていた。
下手に最適化しようとするよりも効果があった。
66
:
ぷご
:2005/01/31(月) 01:20:03
ClearTypeは横方向の解像度だけしか上がらないが、
それでも文字の読みやすさがかなり良くなる。
で、カラー画像にClearTypeの技術を適用することは可能か考えてみる。
RGBで1Pixelと考えるのではなく、RのPixel,GのPixel,BのPixelが
並んでいるだけと考えられるので、もちろん可能。
ただし、モアレ現象が発生する可能性があるのでその辺りの考慮が
欲しいところ。
そう難しくはなさそうなのでやってみたい。
67
:
ぷご
:2005/01/31(月) 02:34:41
画像のグレー要素をとりだし高解像度にする。
(RGB=#666633ならGの部分のグレー値は(66+66+33)/3=55)
差のカラー要素(66-55=11)は低解像度にする。
こんな感じでできるかな?
68
:
ぷご
:2005/02/01(火) 01:00:14
>67は寝ぼけて書いてるのか意味不明だな。
うまくいくんだろうか。
69
:
ぷご
:2005/02/01(火) 02:37:45
なんだかそれっぽい画像ができたが、IBookの液晶では分からない。
でも、試しにBGRの順で並べると線がギザギザになったので、
これで合ってると思うんだけどなぁ。
70
:
ぷご
:2005/05/13(金) 21:37:39
いや、バグだらけだった。
新着レスの表示
名前:
E-mail
(省略可)
:
※書き込む際の注意事項は
こちら
※画像アップローダーは
こちら
(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板