📄 levelgen.cpp
字号:
// Copyright 2002 Kenneth Guy,
//
#include <iostream>
#include <fstream>
typedef int TInt;
typedef short TInt16;
typedef unsigned int TUint32;
typedef unsigned short TUint16;
#include "backgrounds.h"
#include "sprites.h"
#include "status.h"
/*
Backgrounds; 0
Sprites; 4
Status; 8
backgrounds 12
sprites 12+backgrounds
status 12+backgrounds+sprites
*/
void write32bit(int val,std::ofstream& file) {
const unsigned char* data = (const unsigned char*)(&val);
file.write(data,4);
}
main(int argc, char** argv) {
if(argc!=2) {
cerr << "levelGen <filename>\n";
std::exit(-1);
}
int statusSize=KStatusSize+KStatusHeaderSize;
int spriteSize=KSpritesSize;
int backgroundSize=KBackgroundsSize;
int backgroundsOffset=12;
int spritesOffset=backgroundsOffset+backgroundSize;
int statusOffset=spritesOffset+spriteSize;
std::ofstream level(argv[1]);
if(!level) {
cerr << "Couldn't open " << argv[1] << "\n";
std::exit(-1);
}
write32bit(backgroundsOffset,level); //0
write32bit(spritesOffset,level); //4
write32bit(statusOffset,level); //8
level.write((const unsigned char *)KBackgrounds,backgroundSize); //12
level.write((const unsigned char *)KSprites,spriteSize);
level.write((const unsigned char *)KStatus,statusSize);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -