[C++]红警源码1部分代码

整个程序的入口是在STARTUP.CPP(查看代码感觉vs2022太不方便了,可能是用的比较少吧。。。),需要注意的是默认编译出来是DLL,需要修改配置才能编译成exe文件,不过由于程序运行时默认需要传参数,运行是需要读取各种文件,但这个git仓库是不提供这些非源码文件的,比如下边这些(还未列全),但是代码写的比较规范,可以作为学习的一个源码, 源码地址:https://github.com/electronicarts/CnC_Remastered_Collection.git,在gitee有不少仓库已经同步过来了:

PROLOG.CPS
TITLE.CPS
PALETTE.CPS
PALETTE.CPS
VERSION.TXT    
MOUSE.SHP    
EXPAND.DAT    
tabs.shp
PIPS.SHP    
SHADOW.SHP

/***********************************************************************************************
 * BulletTypeClass::Init_Heap -- Initialize the heap objects for the bullet type.              *
 *                                                                                             *
 *    This performs any necessary initialization for the bullet types.                         *
 *                                                                                             *
 * INPUT:   none                                                                               *
 *                                                                                             *
 * OUTPUT:  none                                                                               *
 *                                                                                             *
 * WARNINGS:   none                                                                            *
 *                                                                                             *
 * HISTORY:                                                                                    *
 *   07/06/1996 JLB : Created.                                                                 *
 *=============================================================================================*/
void BulletTypeClass::Init_Heap(void)
{
    /*
    **    These bullet type class objects must be allocated in the exact order that they
    **    are specified in the BulletType enumeration. This is necessary because the heap
    **    allocation block index serves double duty as the type number index.
    */
    new BulletTypeClass("Invisible");    //    BULLET_INVISIBLE
    new BulletTypeClass("Cannon");        //    BULLET_CANNON
    new BulletTypeClass("Ack");            //    BULLET_ACK
    new BulletTypeClass("Torpedo");        //    BULLET_TORPEDO
    new BulletTypeClass("FROG");            //    BULLET_FROG
    new BulletTypeClass("HeatSeeker");    //    BULLET_HEAT_SEEKER
    new BulletTypeClass("LaserGuided");    //    BULLET_LASER_GUIDED
    new BulletTypeClass("Lobbed");        //    BULLET_LOBBED
    new BulletTypeClass("Bomblet");        //    BULLET_BOMBLET
    new BulletTypeClass("Ballistic");    //    BULLET_BALLISTIC
    new BulletTypeClass("Parachute");    //    BULLET_PARACHUTE
    new BulletTypeClass("Fireball");        //    BULLET_FIREBALL
    new BulletTypeClass("LeapDog");        //    BULLET_DOG
    new BulletTypeClass("Catapult");        //    BULLET_CATAPULT
    new BulletTypeClass("AAMissile");    //    BULLET_AAMISSILE
    new BulletTypeClass("GPSSatellite");//    BULLET_GPS_SATELLITE
    new BulletTypeClass("NukeUp");        //    BULLET_NUKE_UP
    new BulletTypeClass("NukeDown");        //    BULLET_NUKE_DOWN
}
 

游戏里边有些接口是用于播放动画视频的:

void Play_Movie(char const * name, ThemeType theme, bool clrscrn, bool immediate)

加载图片的:

int Load_Picture(char const *filename, BufferClass& scratchbuf, BufferClass& destbuf, unsigned char *palette, PicturePlaneType format);

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值