Loading

person-graphics-updates

  1. diff --git doc/data_format.rst doc/data_format.rst
  2. index 1595824..57d1faf 100644
  3. --- doc/data_format.rst
  4. +++ doc/data_format.rst
  5. @@ -1442,7 +1442,7 @@ Persons
  6.  =======
  7.  Persons are an important concept in the game. Their properties are defined in
  8.  the game blocks below.
  9. -FreeRCT can read blocks with version 1.
  10. +FreeRCT can read blocks with version 1 or 2.
  11.  
  12.  ======  ======  ==========================================================
  13.  Offset  Length  Description
  14. @@ -1471,9 +1471,18 @@ Offset  Length  Description
  15.  
  16.  A person type defines the kind of persons:
  17.  
  18. -- *Any* (0) Any kind of person (eg persons are not shown).
  19. -- *Pillar* (8) Guests from the Pillar Planet (test graphics).
  20. -- *Earth* (16) Earth-bound persons.
  21. +============  =====  =======  ============================================
  22. +Name          Value  Version  Description
  23. +============  =====  =======  ============================================
  24. +Any             0      1-     Any kind of person (persons are not shown).
  25. +Pillar          8      1      Guests from the Pillar planet (testing).
  26. +Guest           8      2-     Guests.
  27. +Earth          16      1      Earth-bound persons.
  28. +Handyman       17      2-     Handymen.
  29. +Mechanic       18      2-     Mechanics.
  30. +Guard          19      2-     Security guards.
  31. +Entertainer    20      2-     Entertainers.
  32. +============  =====  =======  ============================================
  33.  
  34.  The *any* kind is used as fall back.
  35.  
  36. @@ -1490,6 +1499,8 @@ Version history
  37.  ...............
  38.  
  39.  - 1 (20120708) Initial version.
  40. +- 2 (20141230) Renamed type 'Pillar' to 'Guest', removed type 'Earth', and
  41. +  added staff types (Handyman, Mechanic, Guard, Entertainer).
  42.  
  43.  
  44.  Animation
  45. diff --git graphics/rcd/freerct.txt graphics/rcd/freerct.txt
  46. index 10ff505..36f424d 100644
  47. --- graphics/rcd/freerct.txt
  48. +++ graphics/rcd/freerct.txt
  49. @@ -651,7 +651,7 @@ file("freerct.rcd") {
  50.     // Person type graphics.
  51.     PRSG {
  52.         person_graphics {
  53. -           person_type: pillar;
  54. +           person_type: guest;
  55.             recolour {
  56.                 original: grey;
  57.                 replace: bitset(yellow, green, blue, orange, pink);
  58. @@ -661,14 +661,14 @@ file("freerct.rcd") {
  59.  
  60.     // NE walking.
  61.     ANIM {
  62. -       person_type: pillar;
  63. +       person_type: guest;
  64.         anim_type: walk_ne;
  65.  
  66.         frame_data { duration: 40; change_x: -4; change_y: 0; }
  67.     }
  68.     ANSP {
  69.         tile_width: 64;
  70. -       person_type: pillar;
  71. +       person_type: guest;
  72.         anim_type: walk_ne;
  73.  
  74.         sprite {
  75. @@ -679,14 +679,14 @@ file("freerct.rcd") {
  76.  
  77.     // SE walking.
  78.     ANIM {
  79. -       person_type: pillar;
  80. +       person_type: guest;
  81.         anim_type: walk_se;
  82.  
  83.         frame_data { duration: 40; change_x: 0; change_y: 4; }
  84.     }
  85.     ANSP {
  86.         tile_width: 64;
  87. -       person_type: pillar;
  88. +       person_type: guest;
  89.         anim_type: walk_se;
  90.  
  91.         sprite {
  92. @@ -697,14 +697,14 @@ file("freerct.rcd") {
  93.  
  94.     // SW walking.
  95.     ANIM {
  96. -       person_type: pillar;
  97. +       person_type: guest;
  98.         anim_type: walk_sw;
  99.  
  100.         frame_data { duration: 40; change_x: 4; change_y: 0; }
  101.     }
  102.     ANSP {
  103.         tile_width: 64;
  104. -       person_type: pillar;
  105. +       person_type: guest;
  106.         anim_type: walk_sw;
  107.  
  108.         sprite {
  109. @@ -715,14 +715,346 @@ file("freerct.rcd") {
  110.  
  111.     // NW walking.
  112.     ANIM {
  113. -       person_type: pillar;
  114. +       person_type: guest;
  115.         anim_type: walk_nw;
  116.  
  117.         frame_data { duration: 40; change_x: 0; change_y: -4; }
  118.     }
  119.     ANSP {
  120.         tile_width: 64;
  121. -       person_type: pillar;
  122. +       person_type: guest;
  123. +       anim_type: walk_nw;
  124. +
  125. +       sprite {
  126. +           x_base: 0; y_base: 0;  width: 10; height: 27;
  127. +           x_offset: -5; y_offset: -27; file: "../sprites/gui/pillar.png";
  128. +       }
  129. +   }
  130. +
  131. +   // Handyman - person type graphics.
  132. +   PRSG {
  133. +       person_graphics {
  134. +           person_type: handyman;
  135. +           recolour {
  136. +               original: grey;
  137. +               replace: bitset(grey);
  138. +           }
  139. +       }
  140. +   }
  141. +
  142. +   // NE walking.
  143. +   ANIM {
  144. +       person_type: handyman;
  145. +       anim_type: walk_ne;
  146. +
  147. +       frame_data { duration: 40; change_x: -4; change_y: 0; }
  148. +   }
  149. +   ANSP {
  150. +       tile_width: 64;
  151. +       person_type: handyman;
  152. +       anim_type: walk_ne;
  153. +
  154. +       sprite {
  155. +           x_base: 0; y_base: 0;  width: 10; height: 27;
  156. +           x_offset: -5; y_offset: -27; file: "../sprites/gui/pillar.png";
  157. +       }
  158. +   }
  159. +
  160. +   // SE walking.
  161. +   ANIM {
  162. +       person_type: handyman;
  163. +       anim_type: walk_se;
  164. +
  165. +       frame_data { duration: 40; change_x: 0; change_y: 4; }
  166. +   }
  167. +   ANSP {
  168. +       tile_width: 64;
  169. +       person_type: handyman;
  170. +       anim_type: walk_se;
  171. +
  172. +       sprite {
  173. +           x_base: 0; y_base: 0;  width: 10; height: 27;
  174. +           x_offset: -5; y_offset: -27; file: "../sprites/gui/pillar.png";
  175. +       }
  176. +   }
  177. +
  178. +   // SW walking.
  179. +   ANIM {
  180. +       person_type: handyman;
  181. +       anim_type: walk_sw;
  182. +
  183. +       frame_data { duration: 40; change_x: 4; change_y: 0; }
  184. +   }
  185. +   ANSP {
  186. +       tile_width: 64;
  187. +       person_type: handyman;
  188. +       anim_type: walk_sw;
  189. +
  190. +       sprite {
  191. +           x_base: 0; y_base: 0;  width: 10; height: 27;
  192. +           x_offset: -5; y_offset: -27; file: "../sprites/gui/pillar.png";
  193. +       }
  194. +   }
  195. +
  196. +   // NW walking.
  197. +   ANIM {
  198. +       person_type: handyman;
  199. +       anim_type: walk_nw;
  200. +
  201. +       frame_data { duration: 40; change_x: 0; change_y: -4; }
  202. +   }
  203. +   ANSP {
  204. +       tile_width: 64;
  205. +       person_type: handyman;
  206. +       anim_type: walk_nw;
  207. +
  208. +       sprite {
  209. +           x_base: 0; y_base: 0;  width: 10; height: 27;
  210. +           x_offset: -5; y_offset: -27; file: "../sprites/gui/pillar.png";
  211. +       }
  212. +   }
  213. +
  214. +   // Mechanic - person type graphics.
  215. +   PRSG {
  216. +       person_graphics {
  217. +           person_type: mechanic;
  218. +           recolour {
  219. +               original: grey;
  220. +               replace: bitset(grey);
  221. +           }
  222. +       }
  223. +   }
  224. +
  225. +   // NE walking.
  226. +   ANIM {
  227. +       person_type: mechanic;
  228. +       anim_type: walk_ne;
  229. +
  230. +       frame_data { duration: 40; change_x: -4; change_y: 0; }
  231. +   }
  232. +   ANSP {
  233. +       tile_width: 64;
  234. +       person_type: mechanic;
  235. +       anim_type: walk_ne;
  236. +
  237. +       sprite {
  238. +           x_base: 0; y_base: 0;  width: 10; height: 27;
  239. +           x_offset: -5; y_offset: -27; file: "../sprites/gui/pillar.png";
  240. +       }
  241. +   }
  242. +
  243. +   // SE walking.
  244. +   ANIM {
  245. +       person_type: mechanic;
  246. +       anim_type: walk_se;
  247. +
  248. +       frame_data { duration: 40; change_x: 0; change_y: 4; }
  249. +   }
  250. +   ANSP {
  251. +       tile_width: 64;
  252. +       person_type: mechanic;
  253. +       anim_type: walk_se;
  254. +
  255. +       sprite {
  256. +           x_base: 0; y_base: 0;  width: 10; height: 27;
  257. +           x_offset: -5; y_offset: -27; file: "../sprites/gui/pillar.png";
  258. +       }
  259. +   }
  260. +
  261. +   // SW walking.
  262. +   ANIM {
  263. +       person_type: mechanic;
  264. +       anim_type: walk_sw;
  265. +
  266. +       frame_data { duration: 40; change_x: 4; change_y: 0; }
  267. +   }
  268. +   ANSP {
  269. +       tile_width: 64;
  270. +       person_type: mechanic;
  271. +       anim_type: walk_sw;
  272. +
  273. +       sprite {
  274. +           x_base: 0; y_base: 0;  width: 10; height: 27;
  275. +           x_offset: -5; y_offset: -27; file: "../sprites/gui/pillar.png";
  276. +       }
  277. +   }
  278. +
  279. +   // NW walking.
  280. +   ANIM {
  281. +       person_type: mechanic;
  282. +       anim_type: walk_nw;
  283. +
  284. +       frame_data { duration: 40; change_x: 0; change_y: -4; }
  285. +   }
  286. +   ANSP {
  287. +       tile_width: 64;
  288. +       person_type: mechanic;
  289. +       anim_type: walk_nw;
  290. +
  291. +       sprite {
  292. +           x_base: 0; y_base: 0;  width: 10; height: 27;
  293. +           x_offset: -5; y_offset: -27; file: "../sprites/gui/pillar.png";
  294. +       }
  295. +   }
  296. +
  297. +   // Security guard - person type graphics.
  298. +   PRSG {
  299. +       person_graphics {
  300. +           person_type: guard;
  301. +           recolour {
  302. +               original: grey;
  303. +               replace: bitset(grey);
  304. +           }
  305. +       }
  306. +   }
  307. +
  308. +   // NE walking.
  309. +   ANIM {
  310. +       person_type: guard;
  311. +       anim_type: walk_ne;
  312. +
  313. +       frame_data { duration: 40; change_x: -4; change_y: 0; }
  314. +   }
  315. +   ANSP {
  316. +       tile_width: 64;
  317. +       person_type: guard;
  318. +       anim_type: walk_ne;
  319. +
  320. +       sprite {
  321. +           x_base: 0; y_base: 0;  width: 10; height: 27;
  322. +           x_offset: -5; y_offset: -27; file: "../sprites/gui/pillar.png";
  323. +       }
  324. +   }
  325. +
  326. +   // SE walking.
  327. +   ANIM {
  328. +       person_type: guard;
  329. +       anim_type: walk_se;
  330. +
  331. +       frame_data { duration: 40; change_x: 0; change_y: 4; }
  332. +   }
  333. +   ANSP {
  334. +       tile_width: 64;
  335. +       person_type: guard;
  336. +       anim_type: walk_se;
  337. +
  338. +       sprite {
  339. +           x_base: 0; y_base: 0;  width: 10; height: 27;
  340. +           x_offset: -5; y_offset: -27; file: "../sprites/gui/pillar.png";
  341. +       }
  342. +   }
  343. +
  344. +   // SW walking.
  345. +   ANIM {
  346. +       person_type: guard;
  347. +       anim_type: walk_sw;
  348. +
  349. +       frame_data { duration: 40; change_x: 4; change_y: 0; }
  350. +   }
  351. +   ANSP {
  352. +       tile_width: 64;
  353. +       person_type: guard;
  354. +       anim_type: walk_sw;
  355. +
  356. +       sprite {
  357. +           x_base: 0; y_base: 0;  width: 10; height: 27;
  358. +           x_offset: -5; y_offset: -27; file: "../sprites/gui/pillar.png";
  359. +       }
  360. +   }
  361. +
  362. +   // NW walking.
  363. +   ANIM {
  364. +       person_type: guard;
  365. +       anim_type: walk_nw;
  366. +
  367. +       frame_data { duration: 40; change_x: 0; change_y: -4; }
  368. +   }
  369. +   ANSP {
  370. +       tile_width: 64;
  371. +       person_type: guard;
  372. +       anim_type: walk_nw;
  373. +
  374. +       sprite {
  375. +           x_base: 0; y_base: 0;  width: 10; height: 27;
  376. +           x_offset: -5; y_offset: -27; file: "../sprites/gui/pillar.png";
  377. +       }
  378. +   }
  379. +
  380. +   // Entertainer - person type graphics.
  381. +   PRSG {
  382. +       person_graphics {
  383. +           person_type: entertainer;
  384. +           recolour {
  385. +               original: grey;
  386. +               replace: bitset(grey);
  387. +           }
  388. +       }
  389. +   }
  390. +
  391. +   // NE walking.
  392. +   ANIM {
  393. +       person_type: entertainer;
  394. +       anim_type: walk_ne;
  395. +
  396. +       frame_data { duration: 40; change_x: -4; change_y: 0; }
  397. +   }
  398. +   ANSP {
  399. +       tile_width: 64;
  400. +       person_type: entertainer;
  401. +       anim_type: walk_ne;
  402. +
  403. +       sprite {
  404. +           x_base: 0; y_base: 0;  width: 10; height: 27;
  405. +           x_offset: -5; y_offset: -27; file: "../sprites/gui/pillar.png";
  406. +       }
  407. +   }
  408. +
  409. +   // SE walking.
  410. +   ANIM {
  411. +       person_type: entertainer;
  412. +       anim_type: walk_se;
  413. +
  414. +       frame_data { duration: 40; change_x: 0; change_y: 4; }
  415. +   }
  416. +   ANSP {
  417. +       tile_width: 64;
  418. +       person_type: entertainer;
  419. +       anim_type: walk_se;
  420. +
  421. +       sprite {
  422. +           x_base: 0; y_base: 0;  width: 10; height: 27;
  423. +           x_offset: -5; y_offset: -27; file: "../sprites/gui/pillar.png";
  424. +       }
  425. +   }
  426. +
  427. +   // SW walking.
  428. +   ANIM {
  429. +       person_type: entertainer;
  430. +       anim_type: walk_sw;
  431. +
  432. +       frame_data { duration: 40; change_x: 4; change_y: 0; }
  433. +   }
  434. +   ANSP {
  435. +       tile_width: 64;
  436. +       person_type: entertainer;
  437. +       anim_type: walk_sw;
  438. +
  439. +       sprite {
  440. +           x_base: 0; y_base: 0;  width: 10; height: 27;
  441. +           x_offset: -5; y_offset: -27; file: "../sprites/gui/pillar.png";
  442. +       }
  443. +   }
  444. +
  445. +   // NW walking.
  446. +   ANIM {
  447. +       person_type: entertainer;
  448. +       anim_type: walk_nw;
  449. +
  450. +       frame_data { duration: 40; change_x: 0; change_y: -4; }
  451. +   }
  452. +   ANSP {
  453. +       tile_width: 64;
  454. +       person_type: entertainer;
  455.         anim_type: walk_nw;
  456.  
  457.         sprite {
  458. diff --git src/people.cpp src/people.cpp
  459. index 7696121..f798c08 100644
  460. --- src/people.cpp
  461. +++ src/people.cpp
  462. @@ -86,16 +86,16 @@ Guests::~Guests()
  463.  void Guests::Initialize()
  464.  {
  465.     this->valid_ptypes = 0;
  466. -   for (PersonType pertype = PERSON_MIN_GUEST; pertype <= PERSON_MAX_GUEST; pertype++) {
  467. -       bool usable = true;
  468. -       for (AnimationType antype = ANIM_BEGIN; antype <= ANIM_LAST; antype++) {
  469. -           if (_sprite_manager.GetAnimation(antype, pertype) == nullptr) {
  470. -               usable = false;
  471. -               break;
  472. -           }
  473. +   PersonType pertype = PERSON_GUEST;
  474. +   bool usable = true;
  475. +
  476. +   for (AnimationType antype = ANIM_BEGIN; antype <= ANIM_LAST; antype++) {
  477. +       if (_sprite_manager.GetAnimation(antype, pertype) == nullptr) {
  478. +           usable = false;
  479. +           break;
  480.         }
  481. -       if (usable) this->valid_ptypes |= 1u << (pertype - PERSON_MIN_GUEST);
  482.     }
  483. +   if (usable) this->valid_ptypes |= 1u << (pertype - PERSON_ANY);
  484.  }
  485.  
  486.  /**
  487. @@ -105,8 +105,8 @@ void Guests::Initialize()
  488.   */
  489.  bool Guests::CanUsePersonType(PersonType ptype)
  490.  {
  491. -   if (ptype < PERSON_MIN_GUEST || ptype > PERSON_MAX_GUEST) return false;
  492. -   return (this->valid_ptypes & (1 << (ptype - PERSON_MIN_GUEST))) != 0;
  493. +   if (ptype != PERSON_GUEST) return false;
  494. +   return (this->valid_ptypes & (1 << (ptype - PERSON_ANY))) != 0;
  495.  }
  496.  
  497.  /**
  498. @@ -196,7 +196,7 @@ void Guests::DoTick()
  499.   */
  500.  void Guests::OnNewDay()
  501.  {
  502. -   PersonType ptype = PERSON_PILLAR;
  503. +   PersonType ptype = PERSON_GUEST;
  504.     if (!this->CanUsePersonType(ptype)) return;
  505.     if (this->CountActiveGuests() >= _scenario.max_guests) return;
  506.     if (!this->rnd.Success1024(_scenario.GetSpawnProbability(512))) return;
  507. diff --git src/people.h src/people.h
  508. index de3fa27..0895d12 100644
  509. --- src/people.h
  510. +++ src/people.h
  511. @@ -60,6 +60,7 @@ protected:
  512.  /**
  513.   * All our guests.
  514.   * @todo Allow to have several blocks of guests.
  515. + * @todo valid_ptypes should be removed.
  516.   */
  517.  class Guests {
  518.  public:
  519. @@ -113,7 +114,7 @@ private:
  520.     void AddFree(Guest *g);
  521.     Guest *GetFree();
  522.  };
  523. -assert_compile(PERSON_MAX_GUEST - PERSON_MIN_GUEST + 1 <= 16); ///< Verify that all person types fit in #Guests::valid_ptypes
  524. +assert_compile(PERSON_GUEST + 1 <= 16); ///< Verify that all person types fit in #Guests::valid_ptypes
  525.  
  526.  extern Guests _guests;
  527.  
  528. diff --git src/person.cpp src/person.cpp
  529. index d19d514..5d92f68 100644
  530. --- src/person.cpp
  531. +++ src/person.cpp
  532. @@ -58,7 +58,7 @@ PersonTypeData &ModifyPersonTypeData(PersonType pt)
  533.  bool LoadPRSG(RcdFileReader *rcd_file)
  534.  {
  535.     uint32 length = rcd_file->size;
  536. -   if (rcd_file->version != 1 || length < 1) return false;
  537. +   if (rcd_file->version < 1 || rcd_file->version > 2 || length < 1) return false;
  538.     uint8 count = rcd_file->GetUInt8();
  539.     length--;
  540.  
  541. @@ -71,8 +71,12 @@ bool LoadPRSG(RcdFileReader *rcd_file)
  542.  
  543.         PersonType pt;
  544.         switch (ps) {
  545. -           case  8: pt = PERSON_PILLAR;  break;
  546. -           case 16: pt = PERSON_EARTH;   break;
  547. +           case  8:
  548. +           case 16: pt = PERSON_GUEST; break;
  549. +           case 17: pt = PERSON_HANDYMAN; break;
  550. +           case 18: pt = PERSON_MECHANIC; break;
  551. +           case 19: pt = PERSON_GUARD; break;
  552. +           case 20: pt = PERSON_ENTERTAINER; break;
  553.             default: pt = PERSON_INVALID; break;
  554.         }
  555.  
  556. diff --git src/person.h src/person.h
  557. index 4485913..b7a9058 100644
  558. --- src/person.h
  559. +++ src/person.h
  560. @@ -121,7 +121,7 @@ public:
  561.      */
  562.     bool IsGuest() const
  563.     {
  564. -       return this->type >= PERSON_MIN_GUEST && this->type <= PERSON_MAX_GUEST;
  565. +       return this->type == PERSON_GUEST;
  566.     }
  567.  
  568.     void SetName(const char *name);
  569. diff --git src/person_type.h src/person_type.h
  570. index 20d25d2..47be967 100644
  571. --- src/person_type.h
  572. +++ src/person_type.h
  573. @@ -19,15 +19,15 @@ class RcdFileReader;
  574.  
  575.  /** Types of persons. */
  576.  enum PersonType {
  577. -   PERSON_ANY    = 0, ///< No people displayed in the animation.
  578. -   PERSON_PILLAR = 1, ///< %Guests from the planet of Pillars (test graphics).
  579. -   PERSON_EARTH  = 2, ///< Earth-bound guests.
  580. -   PERSON_TYPE_COUNT, ///< Number of known types of persons.
  581. +   PERSON_ANY,         ///< No people displayed in the animation.
  582. +   PERSON_GUEST,       ///< %Guests.
  583. +   PERSON_HANDYMAN,    ///< %Staff handymen.
  584. +   PERSON_MECHANIC,    ///< %Staff mechanics.
  585. +   PERSON_GUARD,       ///< %Staff security guards.
  586. +   PERSON_ENTERTAINER, ///< %Staff entertainers.
  587. +   PERSON_TYPE_COUNT,  ///< Number of known types of persons.
  588.  
  589.     PERSON_INVALID = 0xFF, ///< Invalid person type.
  590. -
  591. -   PERSON_MIN_GUEST = PERSON_ANY,   ///< First value of a guest.
  592. -   PERSON_MAX_GUEST = PERSON_EARTH, ///< Last value of a guest.
  593.  };
  594.  DECLARE_POSTFIX_INCREMENT(PersonType)
  595.  
  596. diff --git src/rcdgen/check_data.cpp src/rcdgen/check_data.cpp
  597. index 260441c..72f59b8 100644
  598. --- src/rcdgen/check_data.cpp
  599. +++ src/rcdgen/check_data.cpp
  600. @@ -1071,12 +1071,15 @@ static std::shared_ptr<PRSGBlock> ConvertPRSGNode(std::shared_ptr<NodeGroup> ng)
  601.  
  602.  /** Symbols for an ANIM and ANSP blocks. */
  603.  static const Symbol _anim_symbols[] = {
  604. -   {"pillar",  8},
  605. -   {"earth",  16},
  606. -   {"walk_ne", 1}, // Walk in north-east direction.
  607. -   {"walk_se", 2}, // Walk in south-east direction.
  608. -   {"walk_sw", 3}, // Walk in south-west direction.
  609. -   {"walk_nw", 4}, // Walk in north-west direction.
  610. +   {"guest",        8},
  611. +   {"handyman",    17},
  612. +   {"mechanic",    18},
  613. +   {"guard",       19},
  614. +   {"entertainer", 20},
  615. +   {"walk_ne",      1}, // Walk in north-east direction.
  616. +   {"walk_se",      2}, // Walk in south-east direction.
  617. +   {"walk_sw",      3}, // Walk in south-west direction.
  618. +   {"walk_nw",      4}, // Walk in north-west direction.
  619.     {nullptr, 0}
  620.  };
  621.  
  622. @@ -1501,8 +1504,11 @@ static std::shared_ptr<BitMask> ConvertBitMaskNode(std::shared_ptr<NodeGroup> ng
  623.  
  624.  /** Names of person types and colour ranges. */
  625.  static const Symbol _person_graphics_symbols[] = {
  626. -   {"pillar",  8},
  627. -   {"earth",  16},
  628. +   {"guest",        8},
  629. +   {"handyman",    17},
  630. +   {"mechanic",    18},
  631. +   {"guard",       19},
  632. +   {"entertainer", 20},
  633.     {"grey",         COL_GREY},
  634.     {"green_brown",  COL_GREEN_BROWN},
  635.     {"orange_brown", COL_ORANGE_BROWN},
  636. diff --git src/rcdgen/nodes.cpp src/rcdgen/nodes.cpp
  637. index 4295917..fb00cb6 100644
  638. --- src/rcdgen/nodes.cpp
  639. +++ src/rcdgen/nodes.cpp
  640. @@ -493,7 +493,7 @@ bool PersonGraphics::AddRecolour(uint8 orig, uint32 replace)
  641.     return false;
  642.  }
  643.  
  644. -PRSGBlock::PRSGBlock() : GameBlock("PRSG", 1)
  645. +PRSGBlock::PRSGBlock() : GameBlock("PRSG", 2)
  646.  {
  647.  }
  648.  
  649. diff --git src/sprite_store.cpp src/sprite_store.cpp
  650. index cea7fd4..92ebc45 100644
  651. --- src/sprite_store.cpp
  652. +++ src/sprite_store.cpp
  653. @@ -605,8 +605,12 @@ static PersonType DecodePersonType(uint8 pt)
  654.  {
  655.     switch (pt) {
  656.         case  0: return PERSON_ANY;
  657. -       case  8: return PERSON_PILLAR;
  658. -       case 16: return PERSON_EARTH;
  659. +       case  8:
  660. +       case 16: return PERSON_GUEST;
  661. +       case 17: return PERSON_HANDYMAN;
  662. +       case 18: return PERSON_MECHANIC;
  663. +       case 19: return PERSON_GUARD;
  664. +       case 20: return PERSON_ENTERTAINER;
  665.         default: return PERSON_INVALID;
  666.     }
  667.  }

Version history

Revision # Author Created at
prdtzhh24 Anonymous 01 Jan 2015, 15:07:56 UTC Diff

Comments