/*
Copyright (C) 2003, 2010 - Wolfire Games
-Copyright (C) 2010-2016 - Lugaru contributors (see AUTHORS file)
+Copyright (C) 2010-2017 - Lugaru contributors (see AUTHORS file)
This file is part of Lugaru.
sscanf(args, "%f%f%f%f", &headprop, &bodyprop, &armprop, &legprop);
- if (Person::players[pnum]->creature == wolftype) {
- Person::players[pnum]->proportionhead = 1.1 * headprop;
- Person::players[pnum]->proportionbody = 1.1 * bodyprop;
- Person::players[pnum]->proportionarms = 1.1 * armprop;
- Person::players[pnum]->proportionlegs = 1.1 * legprop;
- } else if (Person::players[pnum]->creature == rabbittype) {
- Person::players[pnum]->proportionhead = 1.2 * headprop;
- Person::players[pnum]->proportionbody = 1.05 * bodyprop;
- Person::players[pnum]->proportionarms = 1.00 * armprop;
- Person::players[pnum]->proportionlegs = 1.1 * legprop;
- Person::players[pnum]->proportionlegs.y = 1.05 * legprop;
- }
+ Person::players[pnum]->setProportions(headprop, bodyprop, armprop, legprop);
}
static void set_protection(int pnum, const char* args)
{
Person::players[pnum]->numclothes = 0;
Person::players[pnum]->skeleton.drawmodel.textureptr.load(
- creatureskin[Person::players[pnum]->creature][Person::players[pnum]->whichskin], 1,
+ PersonType::types[Person::players[pnum]->creature].skins[Person::players[pnum]->whichskin], 1,
&Person::players[pnum]->skeleton.skinText[0], &Person::players[pnum]->skeleton.skinsize);
}
Person::players[pnum]->DoMipmaps();
}
+static void list_clothes(int pnum)
+{
+ printf("Clothes from player %d:\n", pnum);
+ for (int i = 0; i < Person::players[pnum]->numclothes; i++) {
+ printf("%s (%f %f %f)\n",
+ Person::players[pnum]->clothes[i],
+ Person::players[pnum]->clothestintr[i],
+ Person::players[pnum]->clothestintg[i],
+ Person::players[pnum]->clothestintb[i]);
+ }
+}
+
/* Console commands themselves */
void ch_quit(const char*)
fpackf(tfile, "Bf Bf Bf", Person::players[j]->protectionhead, Person::players[j]->protectionhigh, Person::players[j]->protectionlow);
fpackf(tfile, "Bf Bf Bf", Person::players[j]->metalhead, Person::players[j]->metalhigh, Person::players[j]->metallow);
fpackf(tfile, "Bf Bf", Person::players[j]->power, Person::players[j]->speedmult);
-
- float headprop, bodyprop, armprop, legprop;
- if (Person::players[j]->creature == wolftype) {
- headprop = Person::players[j]->proportionhead.x / 1.1;
- bodyprop = Person::players[j]->proportionbody.x / 1.1;
- armprop = Person::players[j]->proportionarms.x / 1.1;
- legprop = Person::players[j]->proportionlegs.x / 1.1;
- } else {
- // rabbittype
- headprop = Person::players[j]->proportionhead.x / 1.2;
- bodyprop = Person::players[j]->proportionbody.x / 1.05;
- armprop = Person::players[j]->proportionarms.x / 1.00;
- legprop = Person::players[j]->proportionlegs.x / 1.1;
- }
-
- fpackf(tfile, "Bf Bf Bf Bf", headprop, bodyprop, armprop, legprop);
+ fpackf(tfile, "Bf Bf Bf Bf", Person::players[j]->getProportion(0), Person::players[j]->getProportion(1), Person::players[j]->getProportion(2), Person::players[j]->getProportion(3));
fpackf(tfile, "Bi", Person::players[j]->numclothes);
if (Person::players[j]->numclothes) {
void ch_cellar(const char*)
{
- Person::players[0]->skeleton.drawmodel.textureptr.load("Textures/Furdarko.jpg", 1, &Person::players[0]->skeleton.skinText[0], &Person::players[0]->skeleton.skinsize);
+ Person::players[0]->skeleton.drawmodel.textureptr.load("Textures/FurDarko.jpg", 1, &Person::players[0]->skeleton.skinText[0], &Person::players[0]->skeleton.skinsize);
}
void ch_tint(const char* args)
}
}
+void ch_clotheslist(const char*)
+{
+ list_clothes(0);
+}
+
+void ch_clotheslistnear(const char*)
+{
+ int closest = findClosestPlayer();
+ if (closest >= 0) {
+ list_clothes(closest);
+ }
+}
+
void ch_belt(const char*)
{
Person::players[0]->skeleton.clothes = !Person::players[0]->skeleton.clothes;
void ch_cellophane(const char*)
{
cellophane = !cellophane;
- float mul = (cellophane ? 0 : 1);
-
- for (auto player : Person::players) {
- player->proportionhead.z = player->proportionhead.x * mul;
- player->proportionbody.z = player->proportionbody.x * mul;
- player->proportionarms.z = player->proportionarms.x * mul;
- player->proportionlegs.z = player->proportionlegs.x * mul;
- }
}
void ch_funnybunny(const char*)
{
Person::players[0]->creature = wolftype;
Person::players[0]->skeletonLoad();
+ Person::players[0]->scale = .23;
Person::players[0]->damagetolerance = 300;
set_proportion(0, "1 1 1 1");
}
-void ch_wolfieisgod(const char* args)
-{
- ch_wolfie(args);
-}
-
void ch_wolf(const char*)
{
- Person::players[0]->skeleton.drawmodel.textureptr.load("Textures/Wolf.jpg", 1, &Person::players[0]->skeleton.skinText[0], &Person::players[0]->skeleton.skinsize);
+ Person::players[0]->skeleton.drawmodel.textureptr.load("Textures/FurWolfGrey.jpg", 1, &Person::players[0]->skeleton.skinText[0], &Person::players[0]->skeleton.skinsize);
}
void ch_snowwolf(const char*)
{
- Person::players[0]->skeleton.drawmodel.textureptr.load("Textures/SnowWolf.jpg", 1, &Person::players[0]->skeleton.skinText[0], &Person::players[0]->skeleton.skinsize);
+ Person::players[0]->skeleton.drawmodel.textureptr.load("Textures/FurWolfSnow.jpg", 1, &Person::players[0]->skeleton.skinText[0], &Person::players[0]->skeleton.skinsize);
}
void ch_darkwolf(const char*)
{
- Person::players[0]->skeleton.drawmodel.textureptr.load("Textures/DarkWolf.jpg", 1, &Person::players[0]->skeleton.skinText[0], &Person::players[0]->skeleton.skinsize);
+ Person::players[0]->skeleton.drawmodel.textureptr.load("Textures/FurWolfDark.jpg", 1, &Person::players[0]->skeleton.skinText[0], &Person::players[0]->skeleton.skinsize);
}
void ch_lizardwolf(const char*)
{
- Person::players[0]->skeleton.drawmodel.textureptr.load("Textures/LizardWolf.jpg", 1, &Person::players[0]->skeleton.skinText[0], &Person::players[0]->skeleton.skinsize);
+ Person::players[0]->skeleton.drawmodel.textureptr.load("Textures/FurWolfLizard.jpg", 1, &Person::players[0]->skeleton.skinText[0], &Person::players[0]->skeleton.skinsize);
}
void ch_white(const char*)
{
- Person::players[0]->skeleton.drawmodel.textureptr.load("Textures/Fur.jpg", 1, &Person::players[0]->skeleton.skinText[0], &Person::players[0]->skeleton.skinsize);
+ Person::players[0]->skeleton.drawmodel.textureptr.load("Textures/FurWhite.jpg", 1, &Person::players[0]->skeleton.skinText[0], &Person::players[0]->skeleton.skinsize);
}
void ch_brown(const char*)
{
- Person::players[0]->skeleton.drawmodel.textureptr.load("Textures/Fur3.jpg", 1, &Person::players[0]->skeleton.skinText[0], &Person::players[0]->skeleton.skinsize);
+ Person::players[0]->skeleton.drawmodel.textureptr.load("Textures/FurBrown.jpg", 1, &Person::players[0]->skeleton.skinText[0], &Person::players[0]->skeleton.skinsize);
}
void ch_black(const char*)
{
- Person::players[0]->skeleton.drawmodel.textureptr.load("Textures/Fur2.jpg", 1, &Person::players[0]->skeleton.skinText[0], &Person::players[0]->skeleton.skinsize);
+ Person::players[0]->skeleton.drawmodel.textureptr.load("Textures/FurBlack.jpg", 1, &Person::players[0]->skeleton.skinText[0], &Person::players[0]->skeleton.skinsize);
}
void ch_sizemin(const char*)
Person::players[0]->metallow = 1;
Person::players[0]->power = 1;
Person::players[0]->speedmult = 1;
- Person::players[0]->scale = 1;
-
if (Person::players[0]->creature == wolftype) {
- Person::players[0]->proportionhead = 1.1;
- Person::players[0]->proportionbody = 1.1;
- Person::players[0]->proportionarms = 1.1;
- Person::players[0]->proportionlegs = 1.1;
+ Person::players[0]->scale = .23;
} else if (Person::players[0]->creature == rabbittype) {
- Person::players[0]->proportionhead = 1.2;
- Person::players[0]->proportionbody = 1.05;
- Person::players[0]->proportionarms = 1.00;
- Person::players[0]->proportionlegs = 1.1;
- Person::players[0]->proportionlegs.y = 1.05;
+ Person::players[0]->scale = .2;
}
+ Person::players[0]->setProportions(1, 1, 1, 1);
+
Person::players[0]->numclothes = 0;
Person::players[0]->skeleton.drawmodel.textureptr.load(
- creatureskin[Person::players[0]->creature][Person::players[0]->whichskin], 1,
+ PersonType::types[Person::players[0]->creature].skins[Person::players[0]->whichskin], 1,
&Person::players[0]->skeleton.skinText[0], &Person::players[0]->skeleton.skinsize);
editoractive = typeactive;