[
板情報
|
カテゴリランキング
]
したらばTOP
■掲示板に戻る■
全部
1-100
最新50
| |
盛り上がらないMPWスレ
1
:
ぷご★
:2003/09/09(火) 23:01
無料で提供されているにもかかわらず、ユーザ数の
少ないまま消え去ろうとしている。
でも、僕にとってはHyperCardよりも人生を変えた
そんな開発環境なんだ。
-- Macintosh Programmers Workshop --
2
:
ぷご★
:2003/09/09(火) 23:03
XCMDを作るなら最強かも。
pugoGLはさすがにダメか。
いまさらMPWでゲーム作ってもねぇ。
役に立たないコード置き場
http://hp.vector.co.jp/authors/VA019519/CODE/
3
:
eagle
:2003/09/13(土) 04:36
マラソンもどきでも作るとか。
今ならADSL回線使えば、ネットワーク対戦も可能ではないかと。
4
:
ぷご★
:2003/09/15(月) 22:28
>>3
出来たらいいね。としか言えないです。
5
:
eagle
:2003/09/16(火) 19:31
どうせマラソン2のソースコードは大切に所持しているんでしょ?
6
:
ぷご★
:2003/09/16(火) 23:17
>>5
多分どこかにはあると思うが。
見ることはなさそう。
今探したら、VBLのコードだけ残ってた。
垂直同期合わせるつもりだったんだな。
PgColorXで。
7
:
smoke stack software
:2003/09/29(月) 19:49
「MPW & pugoGL」は僕にはとっても重要です。
これがないとC言語でプログラムできません....。
pugoGLが開発中止になってちょっと残念です。
線を引いたり、点を打ったりできるコマンドがあったらいいなぁと
思っていたんですが。
あと、Win(ygs2k)と互換性があるのがすごいと思います。
http://www.geocities.jp/terror_cage/index.html
8
:
ぷご
:2003/09/30(火) 01:44
pugoGL使うより、いわゆるToolbox関数使うほうが便利だと思います。
資料も多いし。
個人的にはPgColorXは何かと便利なのでかなり使ってるのですが、
pugoGLは何かと面倒でして。
勝手なヤツですいません。
9
:
smoke stack software
:2003/10/16(木) 22:16
>>PgColorXは何かと便利なので
MPWでPgColorXを使ってC言語のアプリケーションを作る
ということでしょうか?
PgColorXのソースコードを利用できるのかなと思って、見たんですが、
レベルが高すぎて(そもそもC言語が難しい..)理解できませんでした..
ゲームライブラリを使わないでC言語で作ると
ウィンドウをひとつ表示するのにもなかなか難しいものですねぇ。
彊良さんのホームページにある「MPWでプログラミング」をよみながら
基本的なところから勉強中です。
10
:
ぷご
:2003/10/16(木) 23:02
>>9
PgColorX+HyperCardです。
速度が遅いこと以外は不満無いです。
C言語ではデータベース機能やインターフェースが厄介なんで。
PgColorXはXCMDだから、ソースコードを見ても価値無いですよ。
C言語を覚えるには他人のソースコードを改造するのが良いと思います。
自分でプログラムを書かないとプログラムは覚えられないですが、
はじめはどうやって書けばいいかも分からないわけで、実際のプログラムと
格闘することで覚えられるかなと。
11
:
ぷご
:2003/10/16(木) 23:14
C言語って簡単に覚えられるものじゃないですね。
HyperCardでのスクリプトの組み方が上手い人で、やっと。
僕はHyperCardよりC暦のほうが長いけど、まだまだ修行中です。
12
:
smoke stack software
:2003/10/17(金) 01:18
ポインタとか構造体とかハンドラとかさっぱり分かりません。
やっぱりpugoGLのようなライブラリを使うのが一番分かりやすいです。
PgColorX+HyperCardは使ってみました。
>>速度が遅いこと以外は不満無いです
同感です。なれてしまえば非常に分かりやすいです。
スピードが重要でなければ必要な事は全てできますね。
13
:
ぷご
:2003/10/18(土) 10:29
//矩形領域をネガポジ反転
void CPlane::FlushBlt(Rect r){
LockPlane();
CGrafPtr SaveGrafPort;
GDHandle SaveGDHandle;
GetGWorld(&SaveGrafPort, &SaveGDHandle);
SetGWorld(m_gpPlane, 0);
InvertRect(&r);//ネガポジ反転命令
SetGWorld(SaveGrafPort, SaveGDHandle);
}
void CPlane::FlushBlt(long PlaneID, Rect r){
if(m_PlaneChain[PlaneID] == NULL) return;
m_PlaneChain[PlaneID]->FlushBlt(r);
}
14
:
ぷご
:2003/10/18(土) 10:33
pugoGLのpugoPlane.cppから取り出したものですが、
これを改造して線の描画命令にするくらいは簡単です。
InvertRect(&r); //ネガポジ反転命令
この行をLineTo,MoveToのQuickDraw命令を使用した線描画ルーチンにすれば
OKです。
15
:
ぷご
:2003/10/18(土) 10:34
描画命令はPgColorXから取り出してきます。
PenSize(theWidth,theWidth);
PenMode(mode);
GetForeColor(&saveColor);
ZeroToPas(paramPtr,*paramPtr->params[2],tmpStr);
theColor = myGetColor(paramPtr,tmpStr);
RGBForeColor(&theColor);
MoveTo(sPoint.h,sPoint.v);
LineTo(ePoint.h,ePoint.v);
RGBForeColor(&saveColor);
PenMode(patCopy);
SetGWorld(saveGrafPort, saveGDHandle);
16
:
ぷご
:2003/10/18(土) 10:37
というわけでちょっと作ってみますかね
17
:
ぷご
:2003/10/18(土) 12:19
完成。pugoGLベータ1.1も初公開。
http://www012.upp.so-net.ne.jp/ToT/stack/pugogl_b11.lzh
18
:
ぷご
:2003/10/18(土) 12:27
DrawLine命令
DrawLine(planeID, sx, sy, ex, ey, width, red, green, blue);
(sx,sy)から(ex,ey)に太さwidthで色red,green,blueの線を引きます。
red,green,blueは0から256までです。
セカンダリに直接描画はサンプルのようにSwapToSecondaryを使うとできます。
makeファイルはサンプルのものを改造して使って下さい。
DrawLine命令を作るには、pugoYGS2k.cやヘッダファイルにも
手を加えないといけなかった。結構手間かかりますね。
19
:
Smoke Stack Software
:2003/10/20(月) 20:58
描画命令が追加されてとても助かります。
PgColorXのソースを利用して自分でなんとか作れないか
模索していたんですが、掲示板を見たら完成してました...
いとも簡単に作ってしまうところがスゴイです。
この具体的な改造方法を参考に「点・円・多角形」などの
描画命令についても考えてみたいと思います。
どうもありがとうございます。
20
:
UDI
:2003/10/21(火) 01:36
こんちわですー。QTのエフェクトを使ったXを作りたいと、
ず〜〜〜っとCompileIt!でトライしてるんですけど、どうもあかんようです。
で、MPWに逃げて来たんですが、68Kのコンパイルがうまく行きません。
雛形になりそうなmakeファイル分けて頂けないでしょうか(泣)
21
:
ぷご
:2003/10/21(火) 22:31
コマンドラインでやると、こんな感じでコンパイルできます。
コンパイルはできますが、XCMDを実行するとエラーです。
OSX上で実行しているのでClassic環境が落ちました。
SC :UxPlayMIDI-TC2.0.c -o :UxPlayMIDI-TC2.0.c.o -b -proto strict
Link -w -m MAIN -rt XCMD=2100 -sg UxPlayMIDI-TC2.0 -o "TestStack" カ
:UxPlayMIDI-TC2.0.c.o "{Libraries}"HyperXLib.o "{Libraries}"Interface.o カ
"{CLibraries}"StdCLib.o "{Libraries}"MacRuntime.o "{Libraries}IntEnv.o" カ
"{Libraries}ToolLibs.o" "{Libraries}Interface.o"
22
:
ぷご
:2003/10/22(水) 00:35
上のコマンドでNtFillCharXではきちんと動作しています。
うーん、QuickTimeを使うためにはどうすれば?
セグメントに関係ありそうな気もします。
ちょっとメモ
http://developer.apple.com/documentation/mac/runtimehtml/RTArch-121.html
23
:
ぷご
:2003/10/22(水) 00:38
これでうまくいった。もう少しいらない部分を削ればOK.
WorkSheetのウィンドウにこれを貼付けて、ドラッグして選択し、
Enterキーで実行すればできます。
ソースコードも多少変更しましたが。
SC :UxPlayMIDI-TC2.0.c -o :UxPlayMIDI-TC2.0.c.o -model far -b -align mac68k -mc68020 -bigseg
ILink -w -m MAIN -rt XCMD=2100 -sg UxPlayMIDI -o "TestStack" カ
:UxPlayMIDI-TC2.0.c.o "{Libraries}"HyperXLib.o "{Libraries}"Interface.o カ
"{CLibraries}"StdCLib.o "{Libraries}"MacRuntime.o "{Libraries}IntEnv.o" カ
"{Libraries}ToolLibs.o" "{Libraries}Interface.o"
24
:
ぷご
:2003/10/22(水) 00:42
-mc68020はいらないですね。LinkをILinkに変えたのが良かった。
上に貼ったAppleのページを見なければ分からなかった。
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からだと
いけそうな感じですね。ありがとうございます。
新着レスの表示
名前:
E-mail
(省略可)
:
※書き込む際の注意事項は
こちら
※画像アップローダーは
こちら
(画像を表示できるのは「画像リンクのサムネイル表示」がオンの掲示板に限ります)
スマートフォン版
掲示板管理者へ連絡
無料レンタル掲示板