⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 previewmap.cpp

📁 symbian 的一个 二维飞行游戏 源码 及相关技术文章
💻 CPP
字号:
// Copyright 2002 Kenneth Guy,
// 

#include <iostream>
#include <fstream>
#include <string>
#include <stdlib.h>
#include <vector>

#define TInt int
#define TInt16 short
#define TUint32 unsigned int
#define TUint16 unsigned short

#include "backgrounds.h"
#include "map.h"

main(int argc, char** argv) {
  if(argc!=2) {
    cerr << "mapGen <preview.pnm>\n";
    std::exit(-1);
  }

  string r,g,b;

  std::vector<std::vector<short> > mapVec;

  int lineNo=0;
  while(lineNo!=-1) {
    vector<short> line;
    if(Map[(lineNo*8)]==EMapLineBackground) {
      line.push_back(Map[(lineNo*8)+1]);
      line.push_back(Map[(lineNo*8)+2]);
      line.push_back(Map[(lineNo*8)+3]);
      line.push_back(Map[(lineNo*8)+4]);
      mapVec.push_back(line);
    }
    if(Map[(lineNo*8)]==EMapLineEndOfMap) 
      lineNo=-1;
    else
      lineNo++;
  }

  std::ofstream preview(argv[1]);
  if(!preview) {
    cerr << "Couldn't open " << argv[1] << "\n";
    std::exit(-1);
  }

  preview << "P3\n";
  preview << "# created by mapGen\n";
  preview << mapVec.size()*64 << " " << 200 << "\n";
  preview << "255\n";

  for(int spriteY=0;spriteY<4;++spriteY) {
    for(int sline=0;sline<50;++sline) {
      for(int spriteX=0;spriteX<mapVec.size();++spriteX) {
        int spriteNo=(mapVec[spriteX])[spriteY];
        const unsigned short* line=KBackgrounds+(64*50*spriteNo)+(sline*64);
        for(int k=0;k<64;++k) {
          int r= (line[k]>>8 &0xf) << 4;
          int g= (line[k]>>4 &0xf) << 4;
          int b= (line[k] &0xf) << 4;
          preview << r << " " << g << " " << b << "\n";
        }
        preview << " ";
      }
    }
    preview << "\n";
  }
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -