3Dネット対戦ゲーム作成日記 part13

ゲーム制作
スポンサーリンク

3D表示部分で一番時間のかかるクイックソートの部分をC言語で機械語にしてみた

#module 
;クイックソート
#deffunc qsort array qsort_index,array qsort_sort,int qsort_right,int qsort_left
xdim QsortCode, 145
  QsortCode.0 = $81ec8b55, $000380ec, $57565300, $fc80bd8d, $e0b9ffff, $b8000000
  QsortCode.6 = $cccccccc, $45c7abf3, $000000fc, $fc458b00, $89104d8b, $fe6c858c
  QsortCode.12 = $558bffff, $14458bfc, $dc958489, $8bfffffc, $c183fc4d, $fc4d8901
  QsortCode.18 = $8bfc558b, $e883fc45, $fc458901, $8e0fd285, $000001de, $8bfc4d8b
  QsortCode.24 = $fe6c8d94, $5589ffff, $10458b10, $fccc8589, $4d8bffff, $8d948bfc
  QsortCode.30 = $fffffcdc, $8b145589, $85891445, $fffffcc8, $0310458b, $2b991445
  QsortCode.36 = $8bf8d1c2, $148b0c4d, $c09589c1, $8bfffffc, $8904c144, $fffcc485
  QsortCode.42 = $cc8d8bff, $8bfffffc, $04dd0c55, $c09ddcca, $dffffffc, $41c4f6e0
  QsortCode.48 = $858b1175, $fffffccc, $8901c083, $fffccc85, $8bd6ebff, $fffcc88d
  QsortCode.54 = $0c558bff, $dcca04dd, $fffcc09d, $f6e0dfff, $117401c4, $fcc8858b
  QsortCode.60 = $e883ffff, $c8858901, $ebfffffc, $cc8d8bd6, $3bfffffc, $fffcc88d
  QsortCode.66 = $b28f0fff, $8b000000, $fffccc95, $0c458bff, $89d00c8b, $fffcd48d
  QsortCode.72 = $d0548bff, $d8958904, $8bfffffc, $fffcc885, $0c4d8bff, $fccc958b
  QsortCode.78 = $758bffff, $c13c8b0c, $8bd63c89, $8904c144, $8b04d644, $fffcc88d
  QsortCode.84 = $0c558bff, $fcd4858b, $0489ffff, $d8858bca, $89fffffc, $8b04ca44
  QsortCode.90 = $fffccc8d, $08558bff, $898a048b, $fffcd085, $cc8d8bff, $8bfffffc
  QsortCode.96 = $858b0855, $fffffcc8, $8b08758b, $04898604, $c88d8b8a, $8bfffffc
  QsortCode.102 = $858b0855, $fffffcd0, $8b8a0489, $fffccc8d, $01c183ff, $fccc8d89
  QsortCode.108 = $958bffff, $fffffcc8, $8901ea83, $fffcc895, $cc858bff, $3bfffffc
  QsortCode.114 = $fffcc885, $d68e0fff, $8bfffffe, $8d3b104d, $fffffcc8, $558b267d
  QsortCode.120 = $10458bfc, $6c958489, $8bfffffe, $958bfc4d, $fffffcc8, $dc8d9489
  QsortCode.126 = $8bfffffc, $c083fc45, $fc458901, $fccc8d8b, $4d3bffff, $8b267d14
  QsortCode.132 = $858bfc55, $fffffccc, $6c958489, $8bfffffe, $558bfc4d, $8d948914
  QsortCode.138 = $fffffcdc, $83fc458b, $458901c0, $fe0ee9fc, $5e5fffff, $5de58b5b
  QsortCode.144 = $000000c3
 prm = varptr(qsort_index),varptr(qsort_sort),qsort_right,qsort_left
 val = callfunc(prm,varptr(QsortCode),4)
 return
#global

1600ポリゴンで20msしか早くならなかった。

再帰するクイックソートを機械語でHSPで使用すると変な値になる。
なんでだろう。

と、とりあえず、機械語をHSPで使えるようになったから嬉しい!

他にもいろいろ出来たらいいなあ。
マップメーカーは、3D表示プレビューを作ったら大体完成します。

あと、暗号化もつけたいなー

コメント

タイトルとURLをコピーしました