HenryEx

Rune Factory 4 Savefile Binary Template

Sep 19th, 2020 (edited)
523
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 131.74 KB | None | 0 0
  1. //--------------------------------------
  2. //--- 010 Editor v8.0.0 Binary Template
  3. //
  4. // File: RF4 save files (rf4a.sav, rf4b.sav, rf4c.sav, rf4_sXX.sav)
  5. // Author: HenryEx
  6. // Revision: 2020-10-04
  7. // Purpose: Works for both Rune Factory 4 (3DS) and
  8. // Rune Factory 4 Special (NS)
  9. //--------------------------------------
  10.  
  11. /* Addresses:
  12.  
  13. 0x00000: CRC32 4b
  14. 0x00022: Something about tornados? 0B - no tornado, 05 - Tornado
  15. 0x00036: Gender
  16. 0x0003C: Lumber 4b
  17. 0x00040: Stone 4b
  18. 0x00044: Compost 4b
  19. 0x00048: Fodder 4b
  20. 0x0004C: Money 4b, 8b?
  21. 0x00054: Cur HP 4b
  22. 0x00058: HP mod 4b
  23. 0x0005C: Cur RP 2b
  24. 0x0005E: RP mod 2b
  25. 0x00060: Str mod
  26. 0x00064: Int mod
  27. 0x00068: Vit mod
  28. 0x0006C: Level (minus 1)
  29. 0x00070: Exp
  30.  
  31. - Birthday -
  32. 0x1E8DE: Middle 8 bits spread over 2 bytes, and in
  33. REVERSE BIT ORDER HOLY OMFG WHAT WHY, so:
  34. b0-4: ???
  35. b5-6: Month (0-3)
  36. b7-11: Day (not 0-based)
  37. b12-15: ???
  38. Reverse bits means, for days: day 30 is value 15; Day 2 is value 8,
  39. Day 11 is value 26... this is terrible
  40.  
  41. - Villager Stats -
  42. (Block size: 0x64 / 100
  43. Starts at dummy, 0xb8?)
  44.  
  45. Vishnal:
  46. 0x0011C: Cur HP 4b
  47. 0x00120: HP mod 4b
  48. 0x00128: Str mod
  49. 0x0012C: Int mod
  50. 0x00130: Vit mod
  51. 0x00134: Level (minus 1)
  52. 0x00138: Exp
  53. 0x0013D: flags (80 if been in party -> stats visible)
  54.  
  55.  
  56. - Skills & Skill Exp (4b, 4b) -
  57. 0x05964: Short Sword
  58. 0x0596C: Long Sword
  59. 0x05974: Spear
  60. 0x0597C: Axe/Hammer
  61. 0x05984: Dual Blades
  62. 0x0598C: Fist
  63. 0x05994: Fire
  64. 0x0599C: Water
  65. 0x059A4: Earth
  66. 0x059AC: Wind
  67. 0x059B4: Light
  68. 0x059BC: Dark
  69. 0x059C4: Love
  70. 0x059CC: Farming
  71. 0x059D4: Logging
  72. 0x059DC: Mining
  73. 0x059E4: Fishing
  74. 0x059EC: Cooking
  75. 0x059F4: Forging
  76. 0x059FC: Chemistry
  77. 0x05A04: Crafting
  78. 0x05A0C: Searching
  79. 0x05A14: Walking
  80. 0x05A1C: Sleeping
  81. 0x05A24: Eating
  82. 0x05A2C: Defense
  83. 0x05A34: Resist poison
  84. 0x05A3C: Resist Seals
  85. 0x05A44: Resist Paralysis
  86. 0x05A4C: Resist Sleep
  87. 0x05A54: Resist Fatigue
  88. 0x05A5C: Resist Cold
  89. 0x05A64: Resist Knockout
  90. 0x05A6C: Bathing
  91. 0x05A74: Taming
  92. 0x05A7C: Throwing
  93. 0x05A84: Leadership
  94. 0x05A8C: Bartering
  95.  
  96.  
  97. - Item Storages -
  98. # Block size p. Item: 0x1C / 28 (except magic, size 02)
  99. # Start offsets for Inv types:
  100. 0x05AA4: Backpack/Equipment (0x7C4 / 1988) [71]
  101. 0x06268: Spellpack (magic) (0x3C / 60) [30]
  102. 0x062A4: Fridge (0x6C48 / 27720) [990]
  103. 0x0CEEC: Storage (0x6C48 / 27720) [990]
  104. 0x13B34: Weapon Box (0xD20 / 3360) [120]
  105. 0x14854: Wardrobe (0xD20 / 3360) [120]
  106. 0x15574: Tool Box (0x1068 / 4200) [150]
  107. 0x165DC: Shipping Box (0x20D0 / 8400) [300]
  108. 0x186AC: Shop Box (0x1A4 / 420) [15]
  109. 0x18850: Bookshelf (magic) (0xB4 / 180) [90]
  110.  
  111.  
  112. - Fields & Soil Attributes -
  113. # Start at 0x1AEB4, block size 0x10 / 16
  114. # size?: 0xA20 / 2592
  115.  
  116. - Animal Flags & FP -
  117. (Block size: 0x24 / 36, Start at: 0x1BDB0)
  118. #Note: 20 slots per Barn, 10 Barns
  119. 0x00: Name
  120. 0x13: slot no., 1b
  121. 0x14: Monster Type? 4b
  122. 0x18: FP? 2b?
  123.  
  124. - Villager Flags & FP -
  125. (Block size: 0x2C / 44, Start at: 0x1DB10)
  126. #Note: 1st & last persons are dummies
  127. FP levels:
  128. 140 - Lv4
  129. 0x00: FP 4b
  130. 0x04-2B: ???
  131.  
  132. - NPC Equipment -
  133. #Start at: 0x1EB88, block size: 0xFC / 252
  134.  
  135. - Farm objects -
  136. Table for objects on the farm
  137. 76 (?) objects, length 0xC / 12 bytes, per farm; Start 0x18EA4
  138. 0x00: crop / object ID - 00 is nothing, 58 tilled earth for example
  139. 0x07: 00 dry earth, 20 wet earth
  140. 0x08: crop (object) health
  141. 0x09-0B: 11bit(?) X/Y coords for object, (0,0) top left
  142. one "grid" square seems to be 32x32
  143. For ref.: middle of top-left square on main farm is 79|176
  144. Top-right 431|176; Bottom-left 79|336; Bottom-right 431|336
  145.  
  146. 0x20694: Prince(ss) Points 4b
  147. 0x20698: Tourists 4b
  148.  
  149. - Requests -
  150. Some flags
  151. 0x1E042: 01 - Daily request #1 done?
  152. 0x1E043: 80 - Daily request #2 done?, "come back tomorrow"?
  153.  
  154. - Orders -
  155. 0x1E93F: 80 - Backpack +1, 40 - Backpack +2
  156. 0x1E94F: 10 - Unlock Sharance maze
  157.  
  158. - Difficulty -
  159. 1 byte for original 3 difficulties, 1 bitflag for additional RF4S difficulty
  160. 0x0005: 00 - Normal, 40 - Easy, 80 - Hard
  161. 0x1EA3B: 20 - HELL difficulty (RF4S only) if on Hard
  162.  
  163. - Fishing -
  164.  
  165. Biggest & smallest size each 2b
  166.  
  167. Masu trout records: 0x21934 & 0x2197C (0x219B4 & 0x219FC Special)
  168.  
  169.  
  170. 0x1E8C4: Story flag? 20 - Time frozen w/ Volkanon, 28 - normal?
  171. 0x1E8DE: 5bit reverse bit order - # of cooking breads Porco sells (max. 31)
  172. */
  173.  
  174.  
  175. // #include "VarDefs.bt" // shorthand typedefs
  176. // Typedef some custom variables:
  177.  
  178.  
  179. //-----------------------------------
  180. // Define enums
  181.  
  182. typedef enum <ubyte> {
  183. Male,
  184. Female
  185. } GENDER;
  186.  
  187. typedef enum <uint> {
  188. Spring,
  189. Summer,
  190. Fall,
  191. Winter
  192. } MONTH;
  193.  
  194. typedef enum <ubyte> {
  195. Normal,
  196. Easy = 64,
  197. Hard = 128
  198. } DIFF;
  199.  
  200. typedef enum <ubyte> {
  201. DefaultCostume,
  202. Variant1 = 4,
  203. Variant2 = 8
  204. } COST;
  205.  
  206. typedef enum <short> {
  207. NoChange,
  208. Vishnal,
  209. Clorica,
  210. Volkanon,
  211. Forte,
  212. Kiel,
  213. Bado,
  214. Margaret,
  215. Dylas,
  216. Arthur,
  217. Porcoline,
  218. XiaoPai,
  219. LinFa,
  220. Amber,
  221. Illuminata,
  222. Doug,
  223. Blossom,
  224. Dolce,
  225. Jones,
  226. Nancy,
  227. Leon,
  228. Ventuswill,
  229. Son,
  230. Daughter,
  231. Barrett,
  232. Raven,
  233. MistressTrupin,
  234. TravelerM1,
  235. TravelerM2,
  236. TravelerF1 = 34,
  237. TravelerF2,
  238. Ethelberd = 239,
  239. Pico = 309,
  240. Lest = 9999
  241. } MODEL;
  242.  
  243. typedef enum <ushort> {
  244. __000,
  245. __001,
  246. __002,
  247. __003,
  248. Farm_004,
  249. Farm_005,
  250. Farm_006,
  251. Farm_007,
  252. Field_008,
  253. Field_009,
  254. Field_010,
  255. Field_011,
  256. Field_012,
  257. Field_013,
  258. Field_014,
  259. Field_015,
  260. Field_016,
  261. Field_017,
  262. Field_018,
  263. Field_019,
  264. Field_020,
  265. Field_021,
  266. Field_022,
  267. Field_023,
  268. Selphia_AirshipWay_024,
  269. Selphia_AirshipWay_025,
  270. Selphia_AirshipWay_026,
  271. Selphia_AirshipWay_027,
  272. Selphia_HousingArea_028,
  273. Selphia_HousingArea_029,
  274. Selphia_HousingArea_030,
  275. Selphia_HousingArea_031,
  276. Selphia_MelodyStreet_032,
  277. Selphia_MelodyStreet_033,
  278. Selphia_MelodyStreet_034,
  279. Selphia_MelodyStreet_035,
  280. Selphia_Observatory_036,
  281. Selphia_Observatory_037,
  282. Selphia_Observatory_038,
  283. Selphia_Observatory_039,
  284. Selphia_DragonLake_040,
  285. Selphia_DragonLake_041,
  286. Selphia_DragonLake_042,
  287. Selphia_DragonLake_043,
  288. SelphiaCastleGate_044,
  289. SelphiaCastleGate_045,
  290. SelphiaCastleGate_046,
  291. SelphiaCastleGate_047,
  292. Selphia_TownSquare_048,
  293. Selphia_TownSquare_049,
  294. Selphia_TownSquare_050,
  295. Selphia_TownSquare_051,
  296. Selphia_052,
  297. Selphia_053,
  298. Selphia_054,
  299. Selphia_055,
  300. Selphia_056,
  301. Selphia_057,
  302. Selphia_058,
  303. Selphia_059,
  304. Castle_DragonRoom_060,
  305. Castle_DragonRoom_061,
  306. Castle_DragonRoom_062,
  307. Castle_DragonRoom_063,
  308. YourRoom_064,
  309. ButlersRoom_065,
  310. YourRoom_066,
  311. YourRoom_067,
  312. YourRoom_068,
  313. YourRoom_069,
  314. TrophyRoom_070,
  315. TrophyRoomB2_071,
  316. YourRoom_072,
  317. TrophyRoomB3_073,
  318. Room_Dummy_074,
  319. Room_Dummy_075,
  320. Room_Dummy_076,
  321. MonsterBarn_077,
  322. MonsterBarn_078,
  323. MonsterBarn_079,
  324. MonsterBarn_080,
  325. MonsterBarn_081,
  326. MonsterBarn_082,
  327. MonsterBarn_083,
  328. MonsterBarn_084,
  329. MonsterBarn_085,
  330. MonsterBarn_086,
  331. MonsterBarn_087,
  332. MonsterBarn_088,
  333. MonsterBarn_089,
  334. MonsterBarn_090,
  335. MonsterBarn_091,
  336. MonsterBarn_092,
  337. MonsterBarn_093,
  338. MonsterBarn_094,
  339. MonsterBarn_095,
  340. MonsterBarn_096,
  341. MonsterBarn_097,
  342. MonsterBarn_098,
  343. MonsterBarn_099,
  344. MonsterBarn_100,
  345. MonsterBarn_101,
  346. MonsterBarn_102,
  347. MonsterBarn_103,
  348. MonsterBarn_104,
  349. MonsterBarn_105,
  350. MonsterBarn_106,
  351. MonsterBarn_107,
  352. MonsterBarn_108,
  353. MonsterBarn_109,
  354. MonsterBarn_110,
  355. MonsterBarn_111,
  356. MonsterBarn_112,
  357. MonsterBarn_113,
  358. MonsterBarn_114,
  359. MonsterBarn_115,
  360. MonsterBarn_116,
  361. MonsterBarn_117,
  362. MonsterBarn_118,
  363. MonsterBarn_119,
  364. MonsterBarn_120,
  365. MonsterBarn_121,
  366. MonsterBarn_122,
  367. MonsterBarn_123,
  368. MonsterBarn_124,
  369. MonsterBarn_125,
  370. MonsterBarn_126,
  371. SincerityGeneralStore_127,
  372. SincerityGeneral2F_128,
  373. Blacksmith_129,
  374. PorcolinesKitchen_130,
  375. PorcolinesKitchen2F_131,
  376. TinyBandageClinic_132,
  377. TinyBandageClinic2F_133,
  378. Carnations_134,
  379. Carnations2F_135,
  380. BellHotelLobby_136,
  381. BellHotelResidence_137,
  382. BellHotelGuestRoom_138,
  383. BellBath_139,
  384. MargaretsHouse_140,
  385. SainteCoquilleManor_141,
  386. SteCoquilleManor2F_142,
  387. FortesHouse_143,
  388. House_144,
  389. House_145,
  390. House_146,
  391. House_147,
  392. __148,
  393. House_149,
  394. House_150,
  395. House_151,
  396. House_152,
  397. House_153,
  398. House_154,
  399. House_155,
  400. House_156,
  401. House_157,
  402. House_158,
  403. Airship_159,
  404. Airship_160,
  405. SelphiaPlain_161,
  406. SelphiaPlain_162,
  407. SelphiaPlain_163,
  408. SelphiaPlain_164,
  409. SelphiaPlain_165,
  410. SelphiaPlain_166,
  411. SelphiaPlain_167,
  412. SelphiaPlainMushRoad_168,
  413. SelphiaPlainMushSpan_169,
  414. SelphiaPlainEast_170,
  415. SelphiaPlainEast_171,
  416. WaterRuins_172,
  417. SelphiaPlain_173,
  418. SelphiaPlainMushRoad_174,
  419. SelphiaPlainMushRoad_175,
  420. SelphiaPlainMushRoad_176,
  421. SelphiaPlainMushRoad_177,
  422. SelphiaPlain_178,
  423. Cliff_179,
  424. SelphiaPlainWest_180,
  425. SelphiaPlainWest_181,
  426. SelphiaPlainWest_182,
  427. SelphiaPlainMushRoad_183,
  428. SelphiaPlainMushRoad_184,
  429. SelphiaPlainWest_185,
  430. SelphiaPlainWest_186,
  431. TwinRocks_187,
  432. SelphiaPlainWest_188,
  433. LeonKarnak_189,
  434. SelphiaPlainWest_190,
  435. CedarTree_191,
  436. SelphiaPlainEast_192,
  437. SelphiaPlainEast_193,
  438. SelphiaPlainEast_194,
  439. SercerezoHill_195,
  440. DailyRoad_196,
  441. SelphiaPlainEast_197,
  442. IdraCave_198,
  443. SercerezoHill_199,
  444. SercerezoHill_200,
  445. SercerezoHill_201,
  446. SercerezoHill_202,
  447. SelphiaPlain_203,
  448. SelphiaPlain_204,
  449. AutumnBridge_205,
  450. AutumnBridge_206,
  451. AutumnRoad_207,
  452. AutumnRoad_208,
  453. AutumnRoad_209,
  454. DeliriumLavaRuins_210,
  455. AutumnRoad_211,
  456. AutumnRoad_212,
  457. AutumnRoad_213,
  458. AutumnRoad_214,
  459. AutumnRoad_215,
  460. AutumnRoad_216,
  461. AutumnRoad_217,
  462. AutumnRiver_218,
  463. AutumnRoad_219,
  464. AutumnRoad_220,
  465. AutumnRoad_221,
  466. AutumnRoad_222,
  467. AutumnRoad_223,
  468. AutumnRoad_224,
  469. AutumnRoad_225,
  470. MayaRoadEntrance_226,
  471. SelphiaPlainEast_227,
  472. CerezoBridge_228,
  473. CerezoBridge_229,
  474. SercerezoHill_230,
  475. CluckCluckNest_231,
  476. SilverArch_232,
  477. SilverArch_233,
  478. SilverLake_234,
  479. WinterSpring_235,
  480. AutumnSpring_236,
  481. SelphiaPlainEast_237,
  482. SummerSpring_238,
  483. SpringSpring_239,
  484. BuriedCave_240,
  485. KeenoLake_241,
  486. SelphiaPlain_242,
  487. SelphiaPlain_243,
  488. SilverLake_244,
  489. SilverLake_245,
  490. SilverLake_246,
  491. SercerezoHill_247,
  492. SercerezoHill_248,
  493. SercerezoLake_249,
  494. SercerezoHill_250,
  495. DemonsDen_251,
  496. SercerezoHill_252,
  497. SercerezoHillBridge_253,
  498. SercerezoHill_254,
  499. SercerezoHill_255,
  500. AutumnBridge_256,
  501. RevivalCave_257,
  502. MayaBridge_258,
  503. SercerezoHill_259,
  504. Cave_260,
  505. SpringField_261,
  506. SummerField_262,
  507. AutumnField_263,
  508. WinterField_264,
  509. SelphiaPlain_265,
  510. SelphiaPlain_266,
  511. SelphiaPlain_267,
  512. SelphiaPlain_268,
  513. SelphiaPlain_269,
  514. SelphiaPlain_270,
  515. YokmirForest_271,
  516. YokmirForestDepths_272,
  517. YokmirForest_273,
  518. YokmirForest_274,
  519. YokmirForest_275,
  520. YokmirForest_276,
  521. YokmirForest_277,
  522. YokmirForest_278,
  523. Forest_Dummy_279,
  524. Forest_Dummy_280,
  525. Forest_Dummy_281,
  526. Forest_Dummy_282,
  527. Forest_Dummy_283,
  528. WaterRuins_284,
  529. WaterRuinsDepths_285,
  530. WaterRuins_286,
  531. WaterRuins_287,
  532. WaterRuins_288,
  533. WaterRuins_289,
  534. WaterRuins_290,
  535. WaterRuins_291,
  536. WaterRuins_292,
  537. WaterRuins_293,
  538. WaterRuins_294,
  539. WaterRuins_295,
  540. WaterRuins_296,
  541. WaterRuins_297,
  542. WaterRuins_298,
  543. WaterRuins_299,
  544. WaterRuins_300,
  545. Temple_Dummy_301,
  546. Temple_Dummy_302,
  547. ObsidianMansion_303,
  548. ObsidianMnsnTheatre_304,
  549. ObsidianMnsnEntrance_305,
  550. ObsidianMansion_306,
  551. ObsidianMansion_307,
  552. ObsidianMansion_308,
  553. ObsidianMansion_309,
  554. ObsidianMansion_310,
  555. ObsidianMansion_311,
  556. ObsidianMansion_312,
  557. ObsidianMansion_313,
  558. ObsidianMansion_314,
  559. ObsidianMansion_315,
  560. ObsidianMansion_316,
  561. ObsidianMansion_317,
  562. ObsidianMansion_318,
  563. ObsidianMansion_319,
  564. ObsidianMansion_320,
  565. ObsidianMansion_321,
  566. Ruin_Dummy_322,
  567. Ruin_Dummy_323,
  568. LeonKarnak_324,
  569. LeonKarnakDepths_325,
  570. LeonKarnak_326,
  571. LeonKarnak_327,
  572. LeonKarnak_328,
  573. LeonKarnak_329,
  574. LeonKarnak_330,
  575. LeonKarnak_331,
  576. LeonKarnak_332,
  577. LeonKarnak_333,
  578. LeonKarnak_334,
  579. LeonKarnak_335,
  580. LeonKarnak_336,
  581. LeonKarnak_337,
  582. LeonKarnak_338,
  583. LeonKarnak_339,
  584. LeonKarnak_340,
  585. LeonKarnak_341,
  586. LeonKarnak_342,
  587. LeonKarnak_343,
  588. LeonKarnak_344,
  589. LeonKarnak_345,
  590. LeonKarnak_346,
  591. FloatingEmpire_347,
  592. FloatingEmpire_348,
  593. FloatingEmpireFront_349,
  594. FloatingEmpire_350,
  595. FloatingEmpire_351,
  596. FloatingEmpireSouth_352,
  597. FloatingEmpireSouth_353,
  598. FloatingEmpireSouth_354,
  599. FloatingEmpireSouth_355,
  600. FloatingEmpireSouth_356,
  601. FloatingEmpireSouth_357,
  602. FloatingEmpireSouth_358,
  603. FloatingEmpireSouth_359,
  604. FloatingEmpireSouth_360,
  605. FloatingEmpireSouth_361,
  606. FloatingEmpireSouth_362,
  607. FloatingEmpireSouth_363,
  608. FloatingEmpireSouth_364,
  609. FloatingEmpireSouth_365,
  610. FloatingEmpireSouth_366,
  611. FloatingEmpireSouth_367,
  612. FloatingEmpireSouth_368,
  613. FloatingEmpireSouth_369,
  614. FloatingEmpireSouth_370,
  615. FloatingEmpireSouth_371,
  616. FloatingEmpireSouth_372,
  617. FloatingEmpireSouth_373,
  618. FloatingEmpireSouth_374,
  619. FloatingEmpireSouth_375,
  620. FloatingEmpireSouth_376,
  621. FloatingEmpireWest_377,
  622. FloatingEmpireWest_378,
  623. FloatingEmpireWest_379,
  624. FloatingEmpireWest_380,
  625. FloatingEmpireWest_381,
  626. FloatingEmpireWest_382,
  627. FloatingEmpireWest_383,
  628. FloatingEmpireWest_384,
  629. FloatingEmpireWest_385,
  630. FloatingEmpireWest_386,
  631. FloatingEmpireWest_387,
  632. FloatingEmpireWest_388,
  633. FloatingEmpireWest_389,
  634. FloatingEmpireWest_390,
  635. FloatingEmpireWest_391,
  636. FloatingEmpireWest_392,
  637. FloatingEmpireWest_393,
  638. FloatingEmpireWest_394,
  639. FloatingEmpireWest_395,
  640. FloatingEmpireWest_396,
  641. FloatingEmpireWest_397,
  642. FloatingEmpireWest_398,
  643. FloatingEmpireWest_399,
  644. FloatingEmpireWest_400,
  645. FloatingEmpireWest_401,
  646. FloatingEmpireWest_402,
  647. FloatingEmpireWest_403,
  648. FloatingEmpireWest_404,
  649. FloatingEmpireWest_405,
  650. FloatingEmpireWest_406,
  651. FloatingEmpireWest_407,
  652. FloatingEmpireWest_408,
  653. FloatingEmpireEast_409,
  654. FloatingEmpireEast_410,
  655. FloatingEmpireEast_411,
  656. FloatingEmpireEast_412,
  657. FloatingEmpireEast_413,
  658. FloatingEmpireEast_414,
  659. FloatingEmpireEast_415,
  660. FloatingEmpireEast_416,
  661. FloatingEmpireEast_417,
  662. FloatingEmpireEast_418,
  663. FloatingEmpireEast_419,
  664. FloatingEmpireEast_420,
  665. FloatingEmpireEast_421,
  666. FloatingEmpireEast_422,
  667. FloatingEmpireEast_423,
  668. FloatingEmpireEast_424,
  669. FloatingEmpireEast_425,
  670. FloatingEmpireEast_426,
  671. FloatingEmpireEast_427,
  672. FloatingEmpireEast_428,
  673. FloatingEmpireEast_429,
  674. FloatingEmpireEast_430,
  675. FloatingEmpireEast_431,
  676. FloatingEmpireEast_432,
  677. FloatingEmpireEast_433,
  678. FloatingEmpireEast_434,
  679. FloatingEmpireEast_435,
  680. FloatingEmpireEast_436,
  681. FloatingEmpireEast_437,
  682. FloatingEmpireEast_438,
  683. FloatingEmpireSouth_439,
  684. FloatingEmpire_440,
  685. FloatingEmpire_441,
  686. WorldofFields_442,
  687. SharanceMaze_443,
  688. SharanceMaze_444,
  689. SharanceMaze_445,
  690. SharanceMaze_446,
  691. SharanceMaze_447,
  692. SharanceMaze_448,
  693. SharanceMaze_449,
  694. SharanceMaze_450,
  695. SharanceMaze_451,
  696. SharanceMaze_452,
  697. SharanceMaze_453,
  698. YokmirCave_454,
  699. YokmirCave_455,
  700. YokmirCave_456,
  701. YokmirCave_457,
  702. YokmirCave_458,
  703. YokmirCave_459,
  704. YokmirCave_460,
  705. YokmirCave_461,
  706. YokmirCave_462,
  707. YokmirCave_463,
  708. YokmirCave_464,
  709. YokmirCave_465,
  710. YokmirCave_466,
  711. YokmirCave_467,
  712. YokmirCave_468,
  713. YokmirCave_469,
  714. YokmirCave_470,
  715. YokmirCave_471,
  716. YokmirCave_472,
  717. YokmirCave_473,
  718. YokmirCave_474,
  719. YokmirCave_475,
  720. YokmirCave_476,
  721. YokmirCave_477,
  722. YokmirCave_478,
  723. YokmirCave_479,
  724. YokmirCave_480,
  725. YokmirCave_481,
  726. YokmirCave_482,
  727. YokmirCave_483,
  728. YokmirCave_484,
  729. YokmirCave_485,
  730. DeliriumLavaRuins_486,
  731. DeliriumLavaRuins_487,
  732. DeliriumLavaRuins_488,
  733. DeliriumLavaRuins_489,
  734. DeliriumLavaRuins_490,
  735. DeliriumLavaRuins_491,
  736. DeliriumLavaRuins_492,
  737. DeliriumLavaRuins_493,
  738. DeliriumLavaRuins_494,
  739. DeliriumLavaRuins_495,
  740. DeliriumLavaRuins_496,
  741. DeliriumLavaRuins_497,
  742. DeliriumLavaRuins_498,
  743. DeliriumLavaRuins_499,
  744. DeliriumLavaRuins_500,
  745. DeliriumLavaRuins_501,
  746. DeliriumLavaRuins_502,
  747. DeliriumLavaRuins_503,
  748. DeliriumLavaRuins_504,
  749. DeliriumLavaRuins_505,
  750. DeliriumLavaRuins_506,
  751. DeliriumLavaRuins_507,
  752. DeliriumLavaRuins_508,
  753. DeliriumLavaRuins_509,
  754. DeliriumLavaRuins_510,
  755. DeliriumLavaRuins_511,
  756. DeliriumLavaRuins_512,
  757. DeliriumLavaRuins_513,
  758. DeliriumLavaRuins_514,
  759. DeliriumLavaRuins_515,
  760. DeliriumLavaRuins_516,
  761. DeliriumLavaRuins_517,
  762. DeliriumLavaRuins_518,
  763. DeliriumLavaRuins_519,
  764. DeliriumLavaRuins_520,
  765. DeliriumLavaRuins_521,
  766. DeliriumLavaRuins_522,
  767. DeliriumLavaRuins_523,
  768. DeliriumLavaRuins_524,
  769. DeliriumLavaRuins_525,
  770. DeliriumLavaRuins_526,
  771. Unknown_527,
  772. Unknown_528,
  773. Unknown_529,
  774. Unknown_530,
  775. Unknown_531,
  776. Unknown_532,
  777. Unknown_533,
  778. Unknown_534,
  779. Unknown_535,
  780. Unknown_536,
  781. Unknown_537,
  782. Unknown_538,
  783. Unknown_539,
  784. Unknown_540,
  785. IdraCave_541,
  786. IdraCave_542,
  787. IdraCave_543,
  788. IdraCave_544,
  789. IdraCave_545,
  790. IdraCave_546,
  791. IdraCave_547,
  792. IdraCave_548,
  793. IdraCave_549,
  794. IdraCave_550,
  795. IdraCave_551,
  796. IdraCaveB1_552,
  797. IdraCaveB1_553,
  798. IdraCaveB1_554,
  799. IdraCaveB1_555,
  800. IdraCaveB1_556,
  801. IdraCaveB1_557,
  802. IdraCaveB1_558,
  803. IdraCaveB1_559,
  804. IdraCaveB1_560,
  805. IdraCaveB1_561,
  806. IdraCaveB1_562,
  807. IdraCaveB1_563,
  808. IdraCaveB1_564,
  809. IdraCaveB1_565,
  810. IdraCaveB1_566,
  811. IdraCaveB1_567,
  812. IdraCaveB1_568,
  813. IdraCaveB1_569,
  814. IdraCaveB1_570,
  815. IdraCaveB1_571,
  816. IdraCaveB2_572,
  817. IdraCaveB2_573,
  818. IdraCaveB2_574,
  819. IdraCaveB2_575,
  820. IdraCaveB2_576,
  821. IdraCaveB2_577,
  822. IdraCaveB2_578,
  823. IdraCaveB2_579,
  824. IdraCaveB2_580,
  825. IdraCaveB2_581,
  826. IdraCaveB2_582,
  827. IdraCaveB2_583,
  828. IdraCaveB2_584,
  829. IdraCaveB2_585,
  830. IdraCaveB2_586,
  831. IdraCaveB2_587,
  832. IdraCaveB2_588,
  833. IdraCaveB2_589,
  834. IdraCaveB2_590,
  835. IdraCaveB2_591,
  836. IdraCaveB2_592,
  837. IdraCaveB2_593,
  838. ImperialResearchCntr_594,
  839. MayaRoad_595,
  840. MayaRoad_596,
  841. MayaRoad_597,
  842. MayaRoad_598,
  843. MayaRoad_599,
  844. MayaRoad_600,
  845. MayaRoad_601,
  846. MayaRoad_602,
  847. MayaRoad_603,
  848. MayaRoad_604,
  849. MayaRoad_605,
  850. MayaRoad_606,
  851. MayaRoad_607,
  852. MayaRoad_608,
  853. MayaRoad_609,
  854. MayaRoad_610,
  855. MayaRoad_611,
  856. MayaRoad_612,
  857. MayaRoad_613,
  858. MayaRoad_614,
  859. MayaRoad_615,
  860. MayaRoad_616,
  861. MayaRoad_617,
  862. MayaRoad_618,
  863. MayaRoad_619,
  864. MayaRoad_620,
  865. MayaRoad_621,
  866. MayaRoad_622,
  867. MayaRoad_623,
  868. MayaRoad_624,
  869. MayaRoad_625,
  870. MayaRoad_626,
  871. MayaRoad_627,
  872. MayaRoad_628,
  873. MayaRoad_629,
  874. MayaRoad_630,
  875. MayaRoad_631,
  876. MayaRoad_632,
  877. MayaRoad_633,
  878. MayaRoad_634,
  879. MayaRoad_635,
  880. MayaRoad_636,
  881. MayaRoad_637,
  882. MayaRoad_638,
  883. MayaRoad_639,
  884. MayaRoad_640,
  885. MayaRoad_641,
  886. MayaRoad_642,
  887. MayaRoad_643,
  888. MayaRoad_644,
  889. MayaRoad_645,
  890. MayaRoad_646,
  891. MayaRoad_647,
  892. MayaRoad_648,
  893. MayaRoad_649,
  894. MayaRoad_650,
  895. MayaRoad_651,
  896. MayaRoad_652,
  897. MayaRoad_653,
  898. MayaRoad_654,
  899. MayaRoad_655,
  900. MayaRoad_656,
  901. MayaRoad_657,
  902. SechsTerritory_658,
  903. SechsTerritory_659,
  904. SechsTerritory_660,
  905. SechsTerritory_661,
  906. SechsTerritory_662,
  907. SechsTerritory_663,
  908. SechsTerritory_664,
  909. SechsTerritory_665,
  910. SechsTerritory_666,
  911. SechsTerritory_667,
  912. SechsTerritory_668,
  913. SechsTerritory_669,
  914. SechsTerritory_670,
  915. SechsTerritory_671,
  916. SechsTerritory_672,
  917. SechsTerritory_673,
  918. SechsTerritory_674,
  919. SechsTerritory_675,
  920. SechsTerritory_676,
  921. SechsTerritory_677,
  922. SechsTerritory_678,
  923. SechsTerritory_679,
  924. SechsTerritory_680,
  925. SechsTerritory_681,
  926. SechsTerritory_682,
  927. SechsTerritory_683,
  928. SechsTerritory_684,
  929. SechsTerritory_685,
  930. SechsTerritory_686,
  931. SechsTerritory_687,
  932. SechsTerritory_688,
  933. SechsTerritory_689,
  934. SechsTerritory_690,
  935. SechsTerritory_691,
  936. SechsTerritory_692,
  937. SechsTerritory_693,
  938. SechsTerritory_694,
  939. SechsTerritory_695,
  940. SechsTerritory_696,
  941. SechsTerritory_697,
  942. SechsTerritory_698,
  943. SechsTerritory_699,
  944. SechsTerritory_700,
  945. SechsTerritory_701,
  946. SechsTerritory_702,
  947. SechsTerritory_703,
  948. SechsTerritory_704,
  949. SechsTerritory_705,
  950. SechsTerritory_706,
  951. SechsTerritory_707,
  952. SechsTerritory_708,
  953. SechsTerritory_709,
  954. SechsTerritory_710,
  955. SechsTerritory_711,
  956. SechsTerritory_712,
  957. SechsTerritory_713,
  958. SechsTerritory_714,
  959. SechsTerritory_715,
  960. SechsTerritory_716,
  961. SechsTerritory_717,
  962. SechsTerritory_718,
  963. SechsTerritory_719,
  964. SechsTerritory_720,
  965. SechsTerritory_721,
  966. SechsTerritory_722,
  967. SechsTerritory_723,
  968. SechsTerritory_724,
  969. SechsTerritory_725,
  970. RunePrana_726,
  971. RunePrana_727,
  972. RunePrana_728,
  973. RunePrana_729,
  974. RunePrana_730,
  975. RunePrana_731,
  976. RunePrana_732,
  977. RunePrana_733,
  978. RunePrana_734,
  979. RunePrana_735,
  980. RunePrana_736,
  981. RunePrana_737,
  982. RunePrana_738,
  983. RunePrana_739,
  984. RunePrana_740,
  985. RunePrana_741,
  986. RunePrana_742,
  987. RunePrana_743,
  988. RunePrana_744,
  989. RunePrana_745,
  990. RunePrana_746,
  991. RunePrana_747,
  992. RunePrana_748,
  993. RunePrana_749,
  994. RunePrana_750,
  995. RunePrana_751,
  996. RunePrana_752,
  997. RunePrana_753,
  998. RunePrana_754,
  999. RunePrana_755,
  1000. RunePrana_756,
  1001. RunePrana_757,
  1002. RunePrana_758,
  1003. RunePrana_759,
  1004. RunePrana_760,
  1005. RunePrana_761,
  1006. RunePrana_762,
  1007. RunePrana_763,
  1008. RunePrana_764,
  1009. RunePrana_765,
  1010. RunePrana_766,
  1011. RunePrana_767,
  1012. RunePrana_768,
  1013. RunePrana_769,
  1014. RunePrana_770,
  1015. RunePrana_771,
  1016. RunePrana_772,
  1017. RunePrana_773,
  1018. RunePrana_774,
  1019. RunePrana_775,
  1020. RunePrana_776,
  1021. RunePrana_777,
  1022. RunePrana_778,
  1023. RunePrana_779,
  1024. RunePrana_780,
  1025. RunePrana_781,
  1026. RunePrana_782,
  1027. RunePrana_783,
  1028. RunePrana_784,
  1029. RunePrana_785,
  1030. RunePrana_786,
  1031. RunePrana_787,
  1032. RunePrana_788,
  1033. RunePrana_789,
  1034. RunePrana_790,
  1035. RunePrana_791,
  1036. RunePrana_792,
  1037. RunePrana_793,
  1038. RunePrana_794,
  1039. RunePrana_795,
  1040. RunePrana_796,
  1041. RunePrana_797,
  1042. RunePrana_798,
  1043. RunePrana_799,
  1044. RunePrana_800,
  1045. RunePrana_801,
  1046. RunePrana_802,
  1047. RunePrana_803,
  1048. RunePrana_804,
  1049. RunePrana_805,
  1050. RunePrana_806,
  1051. RunePrana_807,
  1052. RunePrana_808,
  1053. RunePrana_809,
  1054. RunePrana_810,
  1055. RunePrana_811,
  1056. RunePrana_812,
  1057. RunePrana_813,
  1058. RunePrana_814,
  1059. RunePrana_815,
  1060. RunePrana_816,
  1061. RunePrana_817,
  1062. RunePrana_818,
  1063. RunePrana_819,
  1064. RunePrana_820,
  1065. RunePrana_821,
  1066. RunePrana_822,
  1067. RunePrana_823,
  1068. RunePrana_824,
  1069. RunePrana_825,
  1070. RunePrana_826,
  1071. RunePrana_827,
  1072. RunePrana_828,
  1073. RunePrana_829,
  1074. RunePrana_830,
  1075. RunePrana_831,
  1076. RunePrana_832,
  1077. RunePrana_833,
  1078. RunePrana_834,
  1079. RunePrana_835,
  1080. RunePrana_836,
  1081. RunePrana_837,
  1082. RunePrana_838,
  1083. RunePrana_839,
  1084. RunePrana_840,
  1085. RunePrana_841,
  1086. RunePrana_842,
  1087. RunePrana_843,
  1088. RunePrana_844,
  1089. RunePrana_845,
  1090. RunePrana_846,
  1091. RunePrana_847,
  1092. RunePrana_848,
  1093. RunePrana_849,
  1094. RunePrana_850,
  1095. RunePrana_851,
  1096. RunePrana_852,
  1097. CluckCluckNest_853,
  1098. CluckCluckNest_854,
  1099. CluckCluckNest_855,
  1100. CluckCluckNest_856,
  1101. CluckCluckNest_857,
  1102. RevivalCave_858,
  1103. RevivalCave_859,
  1104. RevivalCave_860,
  1105. DemonsDen_861,
  1106. DemonsDen_862,
  1107. DemonsDen_863,
  1108. DemonsDen_864,
  1109. DemonsDen_865,
  1110. DemonsDen_866,
  1111. DemonsDen_867,
  1112. DemonsDen_868,
  1113. DemonsDen_869,
  1114. __870,
  1115. __871,
  1116. VolkanonBridge_872,
  1117. AmoureuxdesSaisons_873
  1118. } ROOM;
  1119.  
  1120. typedef enum <short> {
  1121. Cabbage = 1,
  1122. KingCabbage,
  1123. PinkTurnip,
  1124. ColossalPink,
  1125. PinkMelon,
  1126. ConquerorMelon,
  1127. Onion,
  1128. UltraOnion,
  1129. Pumpkin,
  1130. DoomPumpkin,
  1131. Cucumber,
  1132. KaiserCucumber,
  1133. Corn,
  1134. GigantCorn,
  1135. Tomato,
  1136. TitanTomato,
  1137. Eggplant,
  1138. EmperorEggplant,
  1139. Yam,
  1140. LordlyYam,
  1141. Potato,
  1142. PrincelyPotato,
  1143. Carrot,
  1144. RoyalCarrot,
  1145. GreenPepper,
  1146. GreenPepperRex,
  1147. Spinach,
  1148. SovereignSpinach,
  1149. Turnip,
  1150. TyrantTurnip,
  1151. Radish,
  1152. NobleRadish,
  1153. Leek,
  1154. LegendaryLeek,
  1155. BokChoy,
  1156. BossBokChoy,
  1157. HotHotFruit,
  1158. GiantHotHotFruit,
  1159. BambooSprout,
  1160. GoldenCabbage,
  1161. GoldenKingCabbage,
  1162. GoldenPumpkin,
  1163. GldnDoomPumpkin,
  1164. GoldenPotato,
  1165. GoldPrincePotato,
  1166. GoldenTurnip,
  1167. GoldenTyrantTurnip,
  1168. MushroomA,
  1169. MushroomB,
  1170. MushroomC,
  1171. MushroomD,
  1172. MushroomE,
  1173. Mushroom,
  1174. MonarchMushroom,
  1175. Strawberry,
  1176. SultanStrawberry,
  1177. Pineapple,
  1178. KingPineapple,
  1179. Grapes,
  1180. Apple,
  1181. Orange,
  1182. MealyApple,
  1183. Toyherb,
  1184. UltraToyherb,
  1185. MoondropFlower,
  1186. UltraMoondropFlower,
  1187. PinkCat,
  1188. KingPinkCat,
  1189. CharmBlue,
  1190. GreatCharmBlue,
  1191. MedicinalHerb,
  1192. AntidoteGrass,
  1193. BlackGrass,
  1194. OrangeGrass,
  1195. RedGrass,
  1196. YellowGrass,
  1197. BlueGrass,
  1198. GreenGrass,
  1199. PurpleGrass,
  1200. IndigoGrass,
  1201. WhiteGrass,
  1202. Weeds,
  1203. WitheredGrass,
  1204. CherryGrass,
  1205. KingCherryGrass,
  1206. LampGrass,
  1207. KaiserLampGrass,
  1208. BlueCrystal,
  1209. BigBlueCrystal,
  1210. EmeryFlower,
  1211. GreatEmeryFlower,
  1212. Ironleaf,
  1213. SuperIronleaf,
  1214. FourLeafClover,
  1215. Great4LeafClover,
  1216. Fireflower,
  1217. BigFireflower,
  1218. GreenCrystal,
  1219. BigGreenCrystal,
  1220. NoelGrass,
  1221. LargeNoelGrass,
  1222. AutumnGrass,
  1223. BigAutumnGrass,
  1224. PomPomGrass,
  1225. KingPomPomGrass,
  1226. RedCrystal,
  1227. BigRedCrystal,
  1228. WhiteCrystal,
  1229. BigWhiteCrystal,
  1230. AyngondaiaLawn,
  1231. TheProtein,
  1232. Intelligencer,
  1233. VitalGummi,
  1234. HeartDrink,
  1235. AntidotePotion,
  1236. ParaGone,
  1237. Roundoff,
  1238. ColdMedicine,
  1239. Formuade,
  1240. LovePotion,
  1241. Invinciroid,
  1242. Leveliser,
  1243. HeavySpice,
  1244. SweetPowder,
  1245. SourDrop,
  1246. MixedHerbs,
  1247. RecoveryPotion,
  1248. HealingPotion,
  1249. MysteryPotion,
  1250. MagicalPotion,
  1251. ObjectX,
  1252. FailedDish,
  1253. DisastrousDish,
  1254. TroutSashimi,
  1255. CharSashimi,
  1256. RainbowSashimi,
  1257. SalmonSashimi,
  1258. CherrySashimi,
  1259. TaimenSashimi,
  1260. SnapperSashimi,
  1261. GlitterSashimi,
  1262. LoverSashimi,
  1263. GirellaSashimi,
  1264. SkipjackSashimi,
  1265. YellowtailSashimi,
  1266. TunaSashimi,
  1267. SardineSashimi,
  1268. NeedlefishSashimi,
  1269. PikeSashimi,
  1270. FlounderSashimi,
  1271. TurbotSashimi,
  1272. FallSashimi,
  1273. SquidSashimi,
  1274. SunsquidSashimi,
  1275. LampSquidSashimi,
  1276. BlowfishSashimi,
  1277. LobsterSashimi,
  1278. ShrimpSashimi,
  1279. FriedVeggies,
  1280. FriedRice,
  1281. CabbageCakes,
  1282. FrenchFries,
  1283. Croquettes,
  1284. Popcorn,
  1285. CornCereal,
  1286. MisoEggplant,
  1287. FriedEggs,
  1288. Omelet,
  1289. OmeletRice,
  1290. BakedApple,
  1291. CurryBread,
  1292. FrenchToast,
  1293. Donut,
  1294. FriedUdon,
  1295. Tempura,
  1296. Pancakes,
  1297. Gyoza,
  1298. Risotto,
  1299. DryCurry,
  1300. SaltedMasuTrout,
  1301. SaltedChar,
  1302. SaltedRTrout,
  1303. SaltedCSalmon,
  1304. SaltedChub,
  1305. SaltedSalmon,
  1306. SaltedTaimen,
  1307. GrilledCCarp,
  1308. GrilledGibelio,
  1309. GrilledSnapper,
  1310. GrilledGirella,
  1311. GrilledGSnapper,
  1312. GrilledLSnapper,
  1313. GrilledSkipjack,
  1314. GrilledMackerel,
  1315. GrilledYellowtail,
  1316. SaltedPondSmelt,
  1317. TunaTeriyaki,
  1318. DriedSardines,
  1319. GrilledNeedlefish,
  1320. SaltedPike,
  1321. GrilledFlounder,
  1322. GrilledTurbot,
  1323. GrilledFFlounder,
  1324. GrilledSquid,
  1325. GrilledSunsquid,
  1326. GrilledLampSquid,
  1327. GrilledBlowfish,
  1328. GrilledLobster,
  1329. GrilledShrimp,
  1330. GrilledSFlounder,
  1331. HotMilk,
  1332. HotChocolate,
  1333. GrapeLiqueur,
  1334. BoiledPumpkin,
  1335. BoiledSpinach,
  1336. BoiledEgg,
  1337. GlazedYam,
  1338. BoiledGyoza,
  1339. StrawberryJam,
  1340. AppleJam,
  1341. GrapeJam,
  1342. Marmalade,
  1343. CheeseFondue,
  1344. Udon,
  1345. CurryUdon,
  1346. TempuraUdon,
  1347. RicePorridge,
  1348. MilkPorridge,
  1349. TempuraBowl,
  1350. EggBowl,
  1351. Stew,
  1352. CurryRice,
  1353. UltimateCurry,
  1354. RoyalCurry,
  1355. RelaxTea,
  1356. GrilledMiso,
  1357. UnionStew,
  1358. RockfishStew,
  1359. CornontheCob,
  1360. BakedOnigiri,
  1361. SweetPotato,
  1362. Toast,
  1363. JamRoll,
  1364. ButterRoll,
  1365. Pizza,
  1366. SeafoodPizza,
  1367. Doria,
  1368. SeafoodDoria,
  1369. Gratin,
  1370. SeafoodGratin,
  1371. YamoftheAges,
  1372. Cookie,
  1373. ChocoCookie,
  1374. Cake,
  1375. ChocolateCake,
  1376. Cheesecake,
  1377. ApplePie,
  1378. PineappleJuice,
  1379. TomatoJuice,
  1380. GrapeJuice,
  1381. OrangeJuice,
  1382. AppleJuice,
  1383. StrawberryMilk,
  1384. FruitJuice,
  1385. FruitSmoothie,
  1386. VegetableJuice,
  1387. VeggieSmoothie,
  1388. MixedJuice,
  1389. MixedSmoothie,
  1390. Ketchup,
  1391. Butter,
  1392. GoldJuice,
  1393. PreludetoLove,
  1394. HotJuice,
  1395. SteamedBread,
  1396. CheeseBread,
  1397. MeatDumpling,
  1398. ChineseManju,
  1399. CurryManju,
  1400. SteamedGyoza,
  1401. PoundCake,
  1402. ChocolateSponge,
  1403. Flan,
  1404. PumpkinFlan,
  1405. Dumplings,
  1406. Salad,
  1407. Sandwich,
  1408. FruitSandwich,
  1409. PickledTurnip,
  1410. Pickles,
  1411. BambooRice,
  1412. RaisinBread,
  1413. IceCream,
  1414. RelaxTeaLeaves,
  1415. Onigiri,
  1416. Bread,
  1417. SalmonOnigiri,
  1418. PickleMix,
  1419. TurnipHeaven,
  1420. Rice,
  1421. Chocolate,
  1422. Wine,
  1423. ElliLeaves,
  1424. Milk_S,
  1425. Milk_M,
  1426. Milk_L,
  1427. Egg_S,
  1428. Egg_M,
  1429. Egg_L,
  1430. Mayonnaise,
  1431. Cheese,
  1432. Yogurt,
  1433. Honey,
  1434. Flour,
  1435. Oil,
  1436. CurryPowder,
  1437. RiceFlour,
  1438. MedicineBread,
  1439. MedicineBreadPlus,
  1440. CookingBread,
  1441. CookingBreadPlus,
  1442. WeaponBread,
  1443. WeaponBreadPlus,
  1444. AccessoryBread,
  1445. AccessoryBreadPlus,
  1446. FarmingBread,
  1447. FarmingBreadPlus,
  1448. Broadsword,
  1449. SteelSword,
  1450. WindSword,
  1451. AquaSword,
  1452. Defender,
  1453. AerialBlade,
  1454. BurningSword,
  1455. Sakura,
  1456. LuckBlade,
  1457. PlatinumSword,
  1458. Raventine,
  1459. Icifier,
  1460. SoulEater,
  1461. SmashBlade,
  1462. DragonSlayer,
  1463. Sunspot,
  1464. StarSaber,
  1465. GaiaSword,
  1466. Grantale,
  1467. ChaosBlade,
  1468. RuneBlade,
  1469. SteelSwordPlus,
  1470. PlatinumSwordPlus,
  1471. Cutlass,
  1472. BackScratcher,
  1473. Durendal,
  1474. Gladius,
  1475. GorgeousSword,
  1476. Spoon,
  1477. RuneLegend,
  1478. Snakesword,
  1479. Veggieblade,
  1480. Invisiblade,
  1481. PlantSword,
  1482. Claymore,
  1483. Zweihaender,
  1484. FlameSaber,
  1485. CycloneBlade,
  1486. DancingDicer,
  1487. GreatSword,
  1488. HeavenAsunder,
  1489. GrandSmasher,
  1490. BlueEyedBlade,
  1491. PoisonBlade,
  1492. SteelSlicer,
  1493. Flamberge,
  1494. ShineBlade,
  1495. EarthShade,
  1496. BioSmasher,
  1497. Punisher,
  1498. SeaCutter,
  1499. Volcanon,
  1500. SnowCrown,
  1501. MoonShadow,
  1502. ForceElement,
  1503. ZweihaenderPlus,
  1504. FlambergePlus,
  1505. Katzbalger,
  1506. BigKnife,
  1507. Katana,
  1508. Balmung,
  1509. Psycho,
  1510. Dekash,
  1511. Braveheart,
  1512. Belzebuth,
  1513. Daicone,
  1514. Caliburn,
  1515. Orochi,
  1516. Spear,
  1517. Lance,
  1518. NeedleSpear,
  1519. Halberd,
  1520. WaterSpear,
  1521. BloodLance,
  1522. WoodStaff,
  1523. PoisonSpear,
  1524. Corsesca,
  1525. SilentGrave,
  1526. FlareLance,
  1527. HeavyLance,
  1528. Iceberg,
  1529. Metus,
  1530. MonkStaff,
  1531. Overbreak,
  1532. Brionac,
  1533. FeatherLance,
  1534. Belvarose,
  1535. Bjor,
  1536. Gungnir,
  1537. LancePlus,
  1538. CorsescaPlus,
  1539. Trident,
  1540. Pitchfork,
  1541. DragonsFang,
  1542. GaeBolg,
  1543. MagicalLance,
  1544. SafetyLance,
  1545. Legion,
  1546. PoisonQueen,
  1547. PineClub,
  1548. Fivestaff,
  1549. BattleHammer,
  1550. WarHammer,
  1551. GreatHammer,
  1552. Schnabel,
  1553. GigantHammer,
  1554. Mjolnir,
  1555. SpikedHammer,
  1556. FlameHammer,
  1557. IceHammer,
  1558. SkyHammer,
  1559. GravitonHammer,
  1560. BoneHammer,
  1561. CrystalHammer,
  1562. WarHammerPlus,
  1563. GigantHammerPlus,
  1564. Hammer,
  1565. ToyHammer,
  1566. FatalCrush,
  1567. StrongStone,
  1568. Kongo,
  1569. Bat,
  1570. IronBat,
  1571. SplashStar,
  1572. BattleAxe,
  1573. PoleAxe,
  1574. Alldale,
  1575. GreatAxe,
  1576. DemonAxe,
  1577. CrescentAxe,
  1578. Executioner,
  1579. HeatAxe,
  1580. FrostAxe,
  1581. Tomahawk,
  1582. RockAxe,
  1583. DoubleEdge,
  1584. SaintAxe,
  1585. PoleAxePlus,
  1586. CrescentAxePlus,
  1587. Axe,
  1588. Lollipop,
  1589. BattleScythe,
  1590. BasiliskFang,
  1591. DevilFinger,
  1592. Rod,
  1593. Staff,
  1594. SilverStaff,
  1595. FlareStaff,
  1596. IceStaff,
  1597. LightningWand,
  1598. EarthStaff,
  1599. WizardsStaff,
  1600. MagesStaff,
  1601. RuneStaff,
  1602. MagesStaffPlus,
  1603. MagicBroom,
  1604. Basket,
  1605. MagicShot,
  1606. HellBranch,
  1607. CrimsonStaff,
  1608. BubbleStaff,
  1609. GaiaRod,
  1610. ShootingStarStaff,
  1611. CycloneRod,
  1612. StormWand,
  1613. RubyRod,
  1614. EmeraldRod,
  1615. SapphireRod,
  1616. AmethystRod,
  1617. AquamarineRod,
  1618. DiamondRod,
  1619. FriendlyRod,
  1620. LoveLoveRod,
  1621. SorcerersWand,
  1622. HellCurse,
  1623. Algernon,
  1624. GoldenTurnipStaff,
  1625. SweetPotatoStaff,
  1626. ElvishHarp,
  1627. Syringe,
  1628. ShortDagger,
  1629. SteelEdge,
  1630. WindEdge,
  1631. FrostEdge,
  1632. SteelKatana,
  1633. SonicDagger,
  1634. Salamander,
  1635. TwinBlade,
  1636. Rampage,
  1637. PlatinumEdge,
  1638. Efreet,
  1639. DeepBlizzard,
  1640. DarkInvitation,
  1641. ForceDivide,
  1642. DragoonClaw,
  1643. HeartFire,
  1644. DesertWind,
  1645. BrokenWall,
  1646. OrcusSword,
  1647. ChaosEdge,
  1648. RuneEdge,
  1649. IronEdge,
  1650. EmeraldEdge,
  1651. ThiefKnife,
  1652. DoubleScratch,
  1653. PriestSaber,
  1654. EarnestEdge,
  1655. GorgeousLx,
  1656. Acutorimass,
  1657. TwinLeeks,
  1658. TwinJustice,
  1659. LeatherGloves,
  1660. BrassKnuckles,
  1661. Kote,
  1662. BearClaws,
  1663. FistsofFire,
  1664. FistsofWater,
  1665. FistsofWind,
  1666. FistsoftheEarth,
  1667. FistsofLight,
  1668. FistsofDark,
  1669. Gloves_A,
  1670. CatPunch,
  1671. DragonClaws,
  1672. AnimalPuppets,
  1673. IronleafFists,
  1674. GolemPunch,
  1675. HandofGod,
  1676. Caestus,
  1677. BazalKatar,
  1678. Fenrir,
  1679. CheapHoe,
  1680. SturdyHoe,
  1681. SeasonedHoe,
  1682. ShinyHoe,
  1683. BlessedHoe,
  1684. CheapWaterpot,
  1685. TinWaterpot,
  1686. LionWaterpot,
  1687. RainbowWaterpot,
  1688. JoyWaterpot,
  1689. CheapSickle,
  1690. IronSickle,
  1691. QualitySickle,
  1692. SuperSickle,
  1693. LegendarySickle,
  1694. CheapHammer,
  1695. IronHammer,
  1696. SilverHammer,
  1697. GoldenHammer,
  1698. PlatinumHammer,
  1699. CheapAxe,
  1700. ChoppingAxe,
  1701. LumberAxe,
  1702. MountainAxe,
  1703. MiracleAxe,
  1704. CheapPole,
  1705. BeginnersPole,
  1706. SkilledPole,
  1707. FamousPole,
  1708. SacredPole,
  1709. SmallShield,
  1710. IronShield,
  1711. RoundShield,
  1712. PlatinumShield,
  1713. HeavyShield,
  1714. KnightShield,
  1715. RuneShield,
  1716. MagicShield,
  1717. PrismShield,
  1718. ElementShield,
  1719. ChaosShield,
  1720. TurtleShield,
  1721. BoneShield,
  1722. KiteShield,
  1723. MagicalShield,
  1724. MonkeyPlush,
  1725. Umbrella,
  1726. MagicPlantShield,
  1727. AquamarineRing,
  1728. AmethystRing,
  1729. EmeraldRing,
  1730. SapphireRing,
  1731. DiamondRing,
  1732. RubyRing,
  1733. HappyRing,
  1734. CursedRing,
  1735. FireRing,
  1736. WindRing,
  1737. WaterRing,
  1738. EarthRing,
  1739. SilverRing,
  1740. GoldRing,
  1741. PlatinumRing,
  1742. CriticalRing,
  1743. SilentRing,
  1744. ParalysisRing,
  1745. PoisonRing,
  1746. MagicRing,
  1747. CheapBracelet,
  1748. BronzeBracelet,
  1749. SilverBracelet,
  1750. GoldBracelet,
  1751. PlatinumBracelet,
  1752. AquamarineBrooch,
  1753. AmethystBrooch,
  1754. EmeraldBrooch,
  1755. SapphireBrooch,
  1756. DiamondBrooch,
  1757. RubyBrooch,
  1758. SilverPendant,
  1759. HeartPendant,
  1760. StarPendant,
  1761. SunPendant,
  1762. FieldPendant,
  1763. DewPendant,
  1764. EarthPendant,
  1765. HolyAmulet,
  1766. Charm,
  1767. LeatherBelt,
  1768. LuckyStrike,
  1769. Talisman,
  1770. ChampBelt,
  1771. Gloves_B,
  1772. WorkGloves,
  1773. Badge,
  1774. PowerGloves,
  1775. MagicCharm,
  1776. ShieldRing,
  1777. Rosary,
  1778. CourageBadge,
  1779. HerosProof,
  1780. ProofofWisdom,
  1781. HandKnitScarf,
  1782. FluffyScarf,
  1783. ArtofAttack,
  1784. ArtofDefense,
  1785. ArtofMagic,
  1786. Earrings,
  1787. WitchEarrings,
  1788. MagicEarrings,
  1789. VentisCharmA,
  1790. VentisCharmB,
  1791. AnettesNecklace,
  1792. ThrowingRing,
  1793. StayUpRing,
  1794. StrangePendant,
  1795. DolphinBrooch,
  1796. EngagementRing,
  1797. SilverHairpin,
  1798. GoldHairpin,
  1799. FancyHat,
  1800. Headband,
  1801. FeatheredHat,
  1802. BrandGlasses,
  1803. Spectacles,
  1804. IntelligentGlasses,
  1805. StrawHat,
  1806. FireproofHood,
  1807. CuteKnitting,
  1808. BlackRibbon,
  1809. OrangeRibbon,
  1810. RedRibbon,
  1811. YellowRibbon,
  1812. BlueRibbon,
  1813. GreenRibbon,
  1814. PurpleRibbon,
  1815. IndigoRibbon,
  1816. WhiteRibbon,
  1817. TurnipHeadgear,
  1818. PumpkinHeadgear,
  1819. SpringHeaddress,
  1820. SummerHeaddress,
  1821. AutumnHeaddress,
  1822. WinterHeaddress,
  1823. LolitaHeaddress,
  1824. Headdress,
  1825. CatEars,
  1826. Crown,
  1827. FourSeasons,
  1828. SilkHat,
  1829. FeatherBoots,
  1830. HeavyBoots,
  1831. LeatherBoots,
  1832. KnightBoots,
  1833. SnowBoots,
  1834. IceSkates,
  1835. PiyoSandals,
  1836. StepInBoots,
  1837. GhostBoots,
  1838. IronGeta,
  1839. StriderBoots,
  1840. SecretShoes,
  1841. WetBoots,
  1842. SneakingBoots,
  1843. FastStepBoots,
  1844. WaterShoes,
  1845. RocketWing,
  1846. SilverBoots,
  1847. GoldBoots,
  1848. BoneBoots,
  1849. FairyBoots,
  1850. FreeFarmingShoes,
  1851. Shirt,
  1852. Vest,
  1853. WoolyShirt,
  1854. MercenarysCloak,
  1855. Mail,
  1856. CottonCloth,
  1857. ChainMail,
  1858. ScaleVest,
  1859. Protector,
  1860. WindCloak,
  1861. SparklingShirt,
  1862. PlatinumMail,
  1863. LamellarVest,
  1864. ElvishCloak,
  1865. PowerProtector,
  1866. DragonCloak,
  1867. RuneVest,
  1868. RoyalGarter,
  1869. FourDragonsVest,
  1870. Brush,
  1871. Clippers,
  1872. MagnifyingGlass,
  1873. TurnipSeeds,
  1874. PotatoSeeds,
  1875. CucumberSeeds,
  1876. StrawberrySeeds,
  1877. CabbageSeeds,
  1878. MoondropSeeds,
  1879. ToyherbSeeds,
  1880. TomatoSeeds,
  1881. CornSeeds,
  1882. OnionSeeds,
  1883. PumpkinSeeds,
  1884. PineappleSeeds,
  1885. PinkCatSeeds,
  1886. EggplantSeeds,
  1887. CarrotSeeds,
  1888. YamSeeds,
  1889. SpinachSeeds,
  1890. GreenPepperSeeds,
  1891. CharmBlueSeeds,
  1892. FodderSeeds,
  1893. CherryGrassSeeds,
  1894. LampGrassSeeds,
  1895. BlueCrystalSeeds,
  1896. EmeryFlowerSeeds,
  1897. IronleafSeeds,
  1898. CloverSeeds,
  1899. FireflowerSeeds,
  1900. GreenCrystalSeeds,
  1901. NoelGrassSeeds,
  1902. AutumnGrassSeeds,
  1903. PomPomGrassSeeds,
  1904. RedCrystalSeeds,
  1905. WhiteCrystalSeeds,
  1906. PinkTurnipSeeds,
  1907. RadishSeeds,
  1908. LeekSeeds,
  1909. BokChoySeeds,
  1910. GoldCabbageSeeds,
  1911. GoldPumpkinSeeds,
  1912. GoldPotatoSeeds,
  1913. GoldTurnipSeeds,
  1914. GoldMelonSeeds,
  1915. HotHotSeeds,
  1916. AppleTreeSeeds,
  1917. OrangeTreeSeed,
  1918. GrapeTreeSeed,
  1919. ShiningSeed,
  1920. DungeonSeed,
  1921. SwordSeed,
  1922. ShieldSeed,
  1923. WettablePowder,
  1924. Greenifier,
  1925. GreenifierPlus,
  1926. FormulaA,
  1927. FormulaB,
  1928. FormulaC,
  1929. NoRotAlpha,
  1930. NoRotBeta,
  1931. Giantizer,
  1932. Minimizer,
  1933. Fodder,
  1934. Fur_S,
  1935. Fur_M,
  1936. Fur_L,
  1937. Yarn,
  1938. ScrapMetal,
  1939. Iron,
  1940. Bronze,
  1941. Silver,
  1942. Gold,
  1943. Platinum,
  1944. Orichalcum,
  1945. Diamond,
  1946. Ruby,
  1947. Emerald,
  1948. Sapphire,
  1949. Amethyst,
  1950. Aquamarine,
  1951. CheapCloth,
  1952. QualityCloth,
  1953. SilkCloth,
  1954. Arrowhead,
  1955. WarriorsProof,
  1956. Glue,
  1957. OldBandage,
  1958. Gunpowder,
  1959. EarthCrystal,
  1960. DevilHorn,
  1961. DevilBlood,
  1962. MagicPowder,
  1963. MagicCrystal,
  1964. ShoulderPiece,
  1965. GiantsNail,
  1966. GiantsGloves,
  1967. HammerPiece,
  1968. InsectCarapace,
  1969. InsectJaw,
  1970. SpidersThread,
  1971. PrettyThread,
  1972. PrettyCarapace,
  1973. RigidHorn,
  1974. ScorpionTail,
  1975. ScorpionPincer,
  1976. PantherClaw,
  1977. DragonFang,
  1978. WolfFang,
  1979. QualityFur,
  1980. BullsHorn,
  1981. BirdsFeather,
  1982. WindCrystal,
  1983. Fur,
  1984. Root,
  1985. Spore,
  1986. PoisonPowder,
  1987. PlantStem,
  1988. StrongVine,
  1989. FishFossil,
  1990. WaterCrystal,
  1991. TurtleShell,
  1992. FireCrystal,
  1993. GhostHood,
  1994. Skull,
  1995. BrokenHilt,
  1996. BrokenBox,
  1997. FairyDust,
  1998. SmallCrystal,
  1999. WoolyFurball,
  2000. LightCrystal,
  2001. DarkCrystal,
  2002. LoveCrystal,
  2003. RaccoonLeaf,
  2004. DragonBones,
  2005. RedLionFur,
  2006. BlueLionFur,
  2007. BrokenIceWall,
  2008. Ammonite,
  2009. IcyNose,
  2010. ChestHair,
  2011. ChimeraTail,
  2012. GrimoireScale,
  2013. LegendaryScale,
  2014. DragonFin,
  2015. MovingBranch,
  2016. ElectroCrystal,
  2017. MelodyBottle,
  2018. GolemTablet,
  2019. EarthwyrmScale,
  2020. FirewyrmScale,
  2021. AmbrosiasThorns,
  2022. LightningMane,
  2023. CursedDoll,
  2024. PuppetryStrings,
  2025. LeftRockShard,
  2026. RightRockShard,
  2027. CrystalSkull,
  2028. ThroneoftheEmpire,
  2029. WindDragonTooth,
  2030. RuneSphereShard,
  2031. RafflesiaPetal,
  2032. MTGUPlate,
  2033. CheapPropeller,
  2034. QualityPropeller,
  2035. RustyScrew,
  2036. ShinyScrew,
  2037. PalmClaw,
  2038. MalmClaw,
  2039. BigCrystal,
  2040. RuneCrystal,
  2041. GreenCore,
  2042. RedCore,
  2043. YellowCore,
  2044. BlueCore,
  2045. WaterDragonAsh,
  2046. FireDragonAsh,
  2047. EarthDragonAsh,
  2048. HolySpore,
  2049. WhiteStone,
  2050. InvisibleStone,
  2051. ShadeStone,
  2052. DoubleSteel,
  2053. TenFoldSteel,
  2054. RoundStone,
  2055. GlittaAugite,
  2056. LightOre,
  2057. ScrapMetalPlus,
  2058. Stick,
  2059. QualityPuffyFur,
  2060. YellowDown,
  2061. PenguinDown,
  2062. IvoryTusk,
  2063. UnbrokenIvoryTusk,
  2064. TinyGolemStone,
  2065. ParalysisPoison,
  2066. BlackBirdFeather,
  2067. Vine,
  2068. InsectHorn,
  2069. MysteriousPowder,
  2070. WetScale,
  2071. Magic,
  2072. GoldWolfFang,
  2073. BlueGiantsGlove,
  2074. ThickStick,
  2075. MagicClaw,
  2076. GlisteningBlade,
  2077. FairyElixir,
  2078. GreatHammerShard,
  2079. GolemStone,
  2080. BlackTortoiseShell,
  2081. ThunderbirdFeather,
  2082. BigGiantsNail,
  2083. YellowFeather,
  2084. QualityWornCloth,
  2085. PiratesArmor,
  2086. BladeShard,
  2087. ProofofRank,
  2088. TurnipsMiracle,
  2089. DragonScale,
  2090. GolemSpiritStone,
  2091. AncientOrcCloth,
  2092. QueensJaw,
  2093. PoisonKing,
  2094. DangerousScissors,
  2095. ChimerasClaw,
  2096. TabletofTruth,
  2097. BigBirdsComb,
  2098. BattleTurnip,
  2099. BlackScale,
  2100. BlueScale,
  2101. GlitterScale,
  2102. CrimsonScale,
  2103. LoveScale,
  2104. DragonicStone,
  2105. MasuTrout,
  2106. Squid,
  2107. Taimen,
  2108. Sardine,
  2109. Char,
  2110. Chub,
  2111. GlitterSnapper,
  2112. Skipjack,
  2113. Turbot,
  2114. Gibelio,
  2115. Salmon,
  2116. Mackerel,
  2117. Needlefish,
  2118. Pike,
  2119. Sunsquid,
  2120. Shrimp,
  2121. Snapper,
  2122. ThrobbySnapper,
  2123. RainbowTrout,
  2124. Flounder,
  2125. Blowfish,
  2126. Yellowtail,
  2127. CrucianCarp,
  2128. Tuna,
  2129. Girella,
  2130. FallFlounder,
  2131. CherrySalmon,
  2132. LampSquid,
  2133. Lobster,
  2134. PondSmelt,
  2135. SandFlounder,
  2136. Rockfish,
  2137. Can,
  2138. Boot,
  2139. RareCan,
  2140. Rock,
  2141. Branch,
  2142. Lumber,
  2143. MaterialStone,
  2144. Escape_S,
  2145. Fireball_S,
  2146. BigFire_S,
  2147. Explosion_S,
  2148. WaterLaser_S,
  2149. ParallelLaser_S,
  2150. DeltaLaser_S,
  2151. ScrewRock_S,
  2152. EarthSpike_S,
  2153. AvengerRock_S,
  2154. SonicWind_S,
  2155. DoubleSonic_S,
  2156. PenetrateSonic_S,
  2157. LightBarrier_S,
  2158. Shine_S,
  2159. Prism_S,
  2160. DarkBall_S,
  2161. DarkSnake_S,
  2162. Darkness_S,
  2163. Cure_S,
  2164. CureAll_S,
  2165. MasterCure_S,
  2166. Medipoison_S,
  2167. Mediparalyze_S,
  2168. Mediseal_S,
  2169. GreetingSpell_S,
  2170. PowerWave_S,
  2171. DashSlash_S,
  2172. RushAttack_S,
  2173. RoundBreak_S,
  2174. MindThrust_S,
  2175. Gust_S,
  2176. Storm_S,
  2177. Blitz_S,
  2178. TwinAttack_S,
  2179. RailStrike_S,
  2180. WindSlash_S,
  2181. FlashStrike_S,
  2182. NaiveBlade_S,
  2183. SteelHeart_S,
  2184. DeltaStrike_S,
  2185. Hurricane_S,
  2186. ReaperSlash_S,
  2187. Millionstrike_S,
  2188. AxelDisaster_S,
  2189. StardustUpper_S,
  2190. TornadoSwing_S,
  2191. GrandImpact_S,
  2192. GigaSwing_S,
  2193. UpperCut_S,
  2194. DoubleKick_S,
  2195. StraightPunch_S,
  2196. NekoDamashi_S,
  2197. RushPunch_S,
  2198. Cyclone_S,
  2199. RapidMove_S,
  2200. BonusConcerto_S,
  2201. StrikingMarch_S,
  2202. IronWaltz_S,
  2203. Minerals,
  2204. Liquids,
  2205. ClawsandFangs,
  2206. SticksandStems,
  2207. ClothsandSkins,
  2208. Furs,
  2209. Strings,
  2210. Shards,
  2211. PowdersandSpores,
  2212. Scales,
  2213. ShellsandBones,
  2214. Stones,
  2215. Turnip_B,
  2216. Crystals,
  2217. Jewels,
  2218. Feathers,
  2219. Jam,
  2220. Curry,
  2221. Squid_B,
  2222. BattleTurnip_B,
  2223. GoldBattleTurnip,
  2224. Bullet,
  2225. GoldenBullet,
  2226. CherryTurnip,
  2227. DisgustingFood
  2228. } ITEMID;
  2229.  
  2230. typedef enum <short> {
  2231. Escape,
  2232. Fireball,
  2233. BigFire,
  2234. Explosion,
  2235. WaterLaser,
  2236. ParallelLaser,
  2237. DeltaLaser,
  2238. ScrewRock,
  2239. EarthSpike,
  2240. AvengerRock,
  2241. SonicWind,
  2242. DoubleSonic,
  2243. PenetrateSonic,
  2244. LightBarrier,
  2245. Shine,
  2246. Prism,
  2247. DarkBall,
  2248. DarkSnake,
  2249. Darkness,
  2250. Cure,
  2251. CureAll,
  2252. MasterCure,
  2253. Medipoison,
  2254. Mediparalyze,
  2255. Mediseal,
  2256. GreetingSpell,
  2257. PowerWave,
  2258. DashSlash,
  2259. RushAttack,
  2260. RoundBreak,
  2261. MindThrust,
  2262. Gust,
  2263. Storm,
  2264. Blitz,
  2265. TwinAttack,
  2266. RailStrike,
  2267. WindSlash,
  2268. FlashStrike,
  2269. NaiveBlade,
  2270. SteelHeart,
  2271. DeltaStrike,
  2272. Hurricane,
  2273. ReaperSlash,
  2274. Millionstrike,
  2275. AxelDisaster,
  2276. StardustUpper,
  2277. TornadoSwing,
  2278. GrandImpact,
  2279. GigaSwing,
  2280. UpperCut,
  2281. DoubleKick,
  2282. StraightPunch,
  2283. NekoDamashi,
  2284. RushPunch,
  2285. Cyclone,
  2286. RapidMove,
  2287. BonusConcerto,
  2288. StrikingMarch,
  2289. IronWaltz
  2290. } SPELLID;
  2291.  
  2292. typedef enum <ubyte> {
  2293. Nothing_C,
  2294. Stone_C,
  2295. Rock_C,
  2296. Branch_C,
  2297. TreeStump_C,
  2298. BrokenStump_C,
  2299. PoisonSwamp_C,
  2300. EllieLeaves_C,
  2301. MedicinalHerb_C,
  2302. AntidotalHerb_C,
  2303. BlackGrass_C,
  2304. OrangeGrass_C,
  2305. RedGrass_C,
  2306. YellowGrass_C,
  2307. BlueGrass_C,
  2308. GreenGrass_C,
  2309. PurpeGrass_C,
  2310. IndigoGrass_C,
  2311. WhiteGrass_C,
  2312. Weed_C,
  2313. WitheredGrass_C,
  2314. BambooSprout_C,
  2315. ClayStone_C,
  2316. RuneFlower_C,
  2317. RuneCrystal_C,
  2318. AyngondaiaLawn_C,
  2319. Mineral_Scrap_C,
  2320. Mineral_Iron_C,
  2321. MineralC_C,
  2322. MineralD_C,
  2323. MineralE_C,
  2324. MineralF_C,
  2325. MineralG_C,
  2326. MineralH_C,
  2327. MineralI_C,
  2328. MineralJ_C,
  2329. MineralK_C,
  2330. MineralL_C,
  2331. Strawberry_C,
  2332. Cabbage_C,
  2333. PinkTurnip_C,
  2334. Onion_C,
  2335. Toyherb_C,
  2336. MoondropFlower_C,
  2337. CherryGrass_C,
  2338. LampGrass_C,
  2339. EmeryFlower_C,
  2340. BlueCrystal_C,
  2341. GoldenCabbage_C,
  2342. PinkMelon_C,
  2343. Pumpkin_C,
  2344. Cucumber_C,
  2345. Corn_C,
  2346. Tomato_C,
  2347. Eggplant_C,
  2348. Pineapple_C,
  2349. PinkCat_C,
  2350. Ironleaf_C,
  2351. FourLeafClover_C,
  2352. Fireflower_C,
  2353. GreenCrystal_C,
  2354. GoldenPumpkin_C,
  2355. Yam_C,
  2356. Potato_C,
  2357. Carrot_C,
  2358. GreenPepper_C,
  2359. Spinach_C,
  2360. CharmBlue_C,
  2361. AutumnGrass_C,
  2362. PomPomGrass_C,
  2363. RedCrystal_C,
  2364. GoldenPotato_C,
  2365. Turnip_C,
  2366. Radish_C,
  2367. Leek_C,
  2368. BokChoy_C,
  2369. NoelGrass_C,
  2370. WhiteCrystal_C,
  2371. GoldenTurnip_C,
  2372. HotHotFruit_C,
  2373. Fodder_C,
  2374. AppleTree_C,
  2375. OrangeTree_C,
  2376. GrapeTree_C,
  2377. TwinkleTree_C,
  2378. DungeonFlower_C,
  2379. SwordFlower_C,
  2380. ShieldFlower_C,
  2381. TilledEarth_C,
  2382. SultanStrawberry_C,
  2383. KingCabbage_C,
  2384. PinkTurnipB_C,
  2385. UltraOnion_C,
  2386. UltraToyherb_C,
  2387. GreatMoondropFlower_C,
  2388. KingCherryGrass_C,
  2389. KaiserLampGrass_C,
  2390. GreatEmeryFlower_C,
  2391. BigBlueCrystal_C,
  2392. KingGoldCabbage_C,
  2393. ConquerorMelon_C,
  2394. DoomPumpkin_C,
  2395. KaiserCucumber_C,
  2396. GigantCorn_C,
  2397. TitanTomato_C,
  2398. EmperorEggplant_C,
  2399. KingPineapple_C,
  2400. KingPinkCat_C,
  2401. UltraIronleaf_C,
  2402. GiantFourLeafClover_C,
  2403. BigFireflower_C,
  2404. BigGreenCrystal_C,
  2405. GoldenDoomPumpkin_C,
  2406. LordlyYam_C,
  2407. PrincelyPotato_C,
  2408. RoyalCarrot_C,
  2409. GreenPepperRex_C,
  2410. SovereignSpinach_C,
  2411. GreatCharmBlue_C,
  2412. GreatAutumnGrass_C,
  2413. KingPomPomGrass_C,
  2414. BigRedCrystal_C,
  2415. GoldenPrincelyPotato_C,
  2416. TyrantTurnip_C,
  2417. NobleRadish_C,
  2418. LegendaryLeek_C,
  2419. BossBokChoy_C,
  2420. LargeNoelGrass_C,
  2421. BigWhiteCrystal_C,
  2422. GoldenTyrantTurnip_C,
  2423. GiantHotHotFruit_C,
  2424. FodderB_C,
  2425. LargeAppleTree_C,
  2426. LargeOrangeTree_C,
  2427. LargeGrapeTree_C,
  2428. LargeTwinkleTree_C,
  2429. DungeonFlowerB_C,
  2430. SwordFlowerB_C,
  2431. ShieldFlowerB_C,
  2432. } CROPID;
  2433.  
  2434. typedef enum <ushort> {
  2435. None_000,
  2436. Table_292 = 292,
  2437. Table_293,
  2438. Table_294,
  2439. Chair_295,
  2440. Chair_296,
  2441. PommePommeToy_297,
  2442. WoolyToy_298,
  2443. ChipsqueekToy_299,
  2444. DuckToy_300,
  2445. WolfToy_301,
  2446. RuneSaur_302,
  2447. SpringPottedPlant_303,
  2448. SummerPottedPlant_304,
  2449. AutumnPottedPlant_305,
  2450. WinterPottedPlant_306,
  2451. Cactus_307,
  2452. CuteStatue_308,
  2453. ColumnStatue_309,
  2454. Snowman_310,
  2455. RainbowArt_311,
  2456. Barrel_312,
  2457. Brazier_313,
  2458. LargeAnchor_314,
  2459. FoldingScreen_315,
  2460. RollingBall_316,
  2461. RollingBall_317,
  2462. RollingBall_318,
  2463. RollingBall_319,
  2464. BouncingBall_320,
  2465. BouncingBall_321,
  2466. BouncingBall_322,
  2467. BouncingBall_323,
  2468. VentisCharm_324,
  2469. WeaponBox_325,
  2470. Dummy_326,
  2471. Bed_327,
  2472. DoubleBed_328,
  2473. Bird_329,
  2474. Bird_330,
  2475. Bird_331,
  2476. Bird_332,
  2477. Sign_333,
  2478. Sign_334,
  2479. Bookshelf_335,
  2480. Butterfly_336,
  2481. Butterfly_337,
  2482. Butterfly_338,
  2483. Butterfly_339,
  2484. Calendar_340,
  2485. Closet_341,
  2486. FertilizerBin_342,
  2487. CookingTable_343,
  2488. Knife_344,
  2489. FryingPan_345,
  2490. Pot_346,
  2491. Oven_347,
  2492. Steamer_348,
  2493. Mixer_349,
  2494. ChemistrySet_350,
  2495. Forge_351,
  2496. CraftingTable_352,
  2497. Statue_353,
  2498. Statue_354,
  2499. Statue_355,
  2500. Statue_356,
  2501. Statue_357,
  2502. Statue_358,
  2503. Statue_359,
  2504. Statue_360,
  2505. Diary_361,
  2506. Dice_362,
  2507. Sign_363,
  2508. Sign_364,
  2509. FarmToolBox_365,
  2510. Fridge_366,
  2511. Fridge_367,
  2512. Device_368,
  2513. WingFin_369,
  2514. SmallFodderBin_370,
  2515. BitingGrass_371,
  2516. LumberStoneBox_372,
  2517. MusicPlayer_373,
  2518. OrderBoard_374,
  2519. BigFodderBin_375,
  2520. Mailbox_376,
  2521. Fence_377,
  2522. Fence_378,
  2523. SavePoint_379,
  2524. ShopBox_380,
  2525. Storage_381,
  2526. ShippingBox_382,
  2527. Telecommunicator_383,
  2528. Can_384,
  2529. Can_385,
  2530. Warp_386,
  2531. Well_387,
  2532. FurnitureStore_388,
  2533. FashionStore_389,
  2534. FishMarket_390,
  2535. MagicStore_391,
  2536. JewelryStore_392,
  2537. AbilityStore_393
  2538. } OBJID;
  2539.  
  2540.  
  2541. //-----------------------------------
  2542. // Define aux structures
  2543.  
  2544. typedef struct {
  2545.  
  2546. } UNKNWN;
  2547.  
  2548. // Mini-scruct for bitflag arrays
  2549. typedef struct ( int idx ) {
  2550. local int idx = idx;
  2551. ubyte flag : 1;
  2552. } BFLAG <read=ReadBitflag, write=WriteBitflag>;
  2553.  
  2554. // Flags on whether an area was discovered (visible on map)
  2555. typedef struct {
  2556. struct {
  2557. ubyte __000 : 1;
  2558. ubyte __001 : 1;
  2559. ubyte __002 : 1;
  2560. ubyte __003 : 1;
  2561. } blank;
  2562. struct {
  2563. ubyte Farm_004 : 1;
  2564. ubyte Farm_005 : 1;
  2565. ubyte Farm_006 : 1;
  2566. ubyte Farm_007 : 1;
  2567. ubyte Field_008 : 1;
  2568. ubyte Field_009 : 1;
  2569. ubyte Field_010 : 1;
  2570. ubyte Field_011 : 1;
  2571. ubyte Field_012 : 1;
  2572. ubyte Field_013 : 1;
  2573. ubyte Field_014 : 1;
  2574. ubyte Field_015 : 1;
  2575. ubyte Field_016 : 1;
  2576. ubyte Field_017 : 1;
  2577. ubyte Field_018 : 1;
  2578. ubyte Field_019 : 1;
  2579. ubyte Field_020 : 1;
  2580. ubyte Field_021 : 1;
  2581. ubyte Field_022 : 1;
  2582. ubyte Field_023 : 1;
  2583. } farmAndFields;
  2584. struct {
  2585. ubyte Selphia_AirshipWay_024 : 1;
  2586. ubyte Selphia_AirshipWay_025 : 1;
  2587. ubyte Selphia_AirshipWay_026 : 1;
  2588. ubyte Selphia_AirshipWay_027 : 1;
  2589. ubyte Selphia_HousingArea_028 : 1;
  2590. ubyte Selphia_HousingArea_029 : 1;
  2591. ubyte Selphia_HousingArea_030 : 1;
  2592. ubyte Selphia_HousingArea_031 : 1;
  2593. ubyte Selphia_MelodyStreet_032 : 1;
  2594. ubyte Selphia_MelodyStreet_033 : 1;
  2595. ubyte Selphia_MelodyStreet_034 : 1;
  2596. ubyte Selphia_MelodyStreet_035 : 1;
  2597. ubyte Selphia_Observatory_036 : 1;
  2598. ubyte Selphia_Observatory_037 : 1;
  2599. ubyte Selphia_Observatory_038 : 1;
  2600. ubyte Selphia_Observatory_039 : 1;
  2601. ubyte Selphia_DragonLake_040 : 1;
  2602. ubyte Selphia_DragonLake_041 : 1;
  2603. ubyte Selphia_DragonLake_042 : 1;
  2604. ubyte Selphia_DragonLake_043 : 1;
  2605. ubyte SelphiaCastleGate_044 : 1;
  2606. ubyte SelphiaCastleGate_045 : 1;
  2607. ubyte SelphiaCastleGate_046 : 1;
  2608. ubyte SelphiaCastleGate_047 : 1;
  2609. ubyte Selphia_TownSquare_048 : 1;
  2610. ubyte Selphia_TownSquare_049 : 1;
  2611. ubyte Selphia_TownSquare_050 : 1;
  2612. ubyte Selphia_TownSquare_051 : 1;
  2613. ubyte Selphia_052 : 1;
  2614. ubyte Selphia_053 : 1;
  2615. ubyte Selphia_054 : 1;
  2616. ubyte Selphia_055 : 1;
  2617. ubyte Selphia_056 : 1;
  2618. ubyte Selphia_057 : 1;
  2619. ubyte Selphia_058 : 1;
  2620. ubyte Selphia_059 : 1;
  2621. ubyte Castle_DragonRoom_060 : 1;
  2622. ubyte Castle_DragonRoom_061 : 1;
  2623. ubyte Castle_DragonRoom_062 : 1;
  2624. ubyte Castle_DragonRoom_063 : 1;
  2625. ubyte YourRoom_064 : 1;
  2626. ubyte ButlersRoom_065 : 1;
  2627. ubyte YourRoom_066 : 1;
  2628. ubyte YourRoom_067 : 1;
  2629. ubyte YourRoom_068 : 1;
  2630. ubyte YourRoom_069 : 1;
  2631. ubyte TrophyRoom_070 : 1;
  2632. ubyte TrophyRoomB2_071 : 1;
  2633. ubyte YourRoom_072 : 1;
  2634. ubyte TrophyRoomB3_073 : 1;
  2635. ubyte Room_Dummy_074 : 1;
  2636. ubyte Room_Dummy_075 : 1;
  2637. ubyte Room_Dummy_076 : 1;
  2638. } selphia;
  2639. struct {
  2640. ubyte MonsterBarn_077 : 1;
  2641. ubyte MonsterBarn_078 : 1;
  2642. ubyte MonsterBarn_079 : 1;
  2643. ubyte MonsterBarn_080 : 1;
  2644. ubyte MonsterBarn_081 : 1;
  2645. ubyte MonsterBarn_082 : 1;
  2646. ubyte MonsterBarn_083 : 1;
  2647. ubyte MonsterBarn_084 : 1;
  2648. ubyte MonsterBarn_085 : 1;
  2649. ubyte MonsterBarn_086 : 1;
  2650. ubyte MonsterBarn_087 : 1;
  2651. ubyte MonsterBarn_088 : 1;
  2652. ubyte MonsterBarn_089 : 1;
  2653. ubyte MonsterBarn_090 : 1;
  2654. ubyte MonsterBarn_091 : 1;
  2655. ubyte MonsterBarn_092 : 1;
  2656. ubyte MonsterBarn_093 : 1;
  2657. ubyte MonsterBarn_094 : 1;
  2658. ubyte MonsterBarn_095 : 1;
  2659. ubyte MonsterBarn_096 : 1;
  2660. ubyte MonsterBarn_097 : 1;
  2661. ubyte MonsterBarn_098 : 1;
  2662. ubyte MonsterBarn_099 : 1;
  2663. ubyte MonsterBarn_100 : 1;
  2664. ubyte MonsterBarn_101 : 1;
  2665. ubyte MonsterBarn_102 : 1;
  2666. ubyte MonsterBarn_103 : 1;
  2667. ubyte MonsterBarn_104 : 1;
  2668. ubyte MonsterBarn_105 : 1;
  2669. ubyte MonsterBarn_106 : 1;
  2670. ubyte MonsterBarn_107 : 1;
  2671. ubyte MonsterBarn_108 : 1;
  2672. ubyte MonsterBarn_109 : 1;
  2673. ubyte MonsterBarn_110 : 1;
  2674. ubyte MonsterBarn_111 : 1;
  2675. ubyte MonsterBarn_112 : 1;
  2676. ubyte MonsterBarn_113 : 1;
  2677. ubyte MonsterBarn_114 : 1;
  2678. ubyte MonsterBarn_115 : 1;
  2679. ubyte MonsterBarn_116 : 1;
  2680. ubyte MonsterBarn_117 : 1;
  2681. ubyte MonsterBarn_118 : 1;
  2682. ubyte MonsterBarn_119 : 1;
  2683. ubyte MonsterBarn_120 : 1;
  2684. ubyte MonsterBarn_121 : 1;
  2685. ubyte MonsterBarn_122 : 1;
  2686. ubyte MonsterBarn_123 : 1;
  2687. ubyte MonsterBarn_124 : 1;
  2688. ubyte MonsterBarn_125 : 1;
  2689. ubyte MonsterBarn_126 : 1;
  2690. } monsterBarns;
  2691. struct {
  2692. ubyte SincerityGeneralStore_127 : 1;
  2693. ubyte SincerityGeneral2F_128 : 1;
  2694. ubyte Blacksmith_129 : 1;
  2695. ubyte PorcolinesKitchen_130 : 1;
  2696. ubyte PorcolinesKitchen2F_131 : 1;
  2697. ubyte TinyBandageClinic_132 : 1;
  2698. ubyte TinyBandageClinic2F_133 : 1;
  2699. ubyte Carnations_134 : 1;
  2700. ubyte Carnations2F_135 : 1;
  2701. ubyte BellHotelLobby_136 : 1;
  2702. ubyte BellHotelResidence_137 : 1;
  2703. ubyte BellHotelGuestRoom_138 : 1;
  2704. ubyte BellBath_139 : 1;
  2705. ubyte MargaretsHouse_140 : 1;
  2706. ubyte SainteCoquilleManor_141 : 1;
  2707. ubyte SteCoquilleManor2F_142 : 1;
  2708. ubyte FortesHouse_143 : 1;
  2709. ubyte House_144 : 1;
  2710. ubyte House_145 : 1;
  2711. ubyte House_146 : 1;
  2712. ubyte House_147 : 1;
  2713. ubyte __148 : 1;
  2714. ubyte House_149 : 1;
  2715. ubyte House_150 : 1;
  2716. ubyte House_151 : 1;
  2717. ubyte House_152 : 1;
  2718. ubyte House_153 : 1;
  2719. ubyte House_154 : 1;
  2720. ubyte House_155 : 1;
  2721. ubyte House_156 : 1;
  2722. ubyte House_157 : 1;
  2723. ubyte House_158 : 1;
  2724. ubyte Airship_159 : 1;
  2725. ubyte Airship_160 : 1;
  2726. } selphiaHouses;
  2727. struct {
  2728. ubyte SelphiaPlain_161 : 1;
  2729. ubyte SelphiaPlain_162 : 1;
  2730. ubyte SelphiaPlain_163 : 1;
  2731. ubyte SelphiaPlain_164 : 1;
  2732. ubyte SelphiaPlain_165 : 1;
  2733. ubyte SelphiaPlain_166 : 1;
  2734. ubyte SelphiaPlain_167 : 1;
  2735. ubyte SelphiaPlainMushRoad_168 : 1;
  2736. ubyte SelphiaPlainMushSpan_169 : 1;
  2737. ubyte SelphiaPlainEast_170 : 1;
  2738. ubyte SelphiaPlainEast_171 : 1;
  2739. ubyte WaterRuins_172 : 1;
  2740. ubyte SelphiaPlain_173 : 1;
  2741. ubyte SelphiaPlainMushRoad_174 : 1;
  2742. ubyte SelphiaPlainMushRoad_175 : 1;
  2743. ubyte SelphiaPlainMushRoad_176 : 1;
  2744. ubyte SelphiaPlainMushRoad_177 : 1;
  2745. ubyte SelphiaPlain_178 : 1;
  2746. ubyte Cliff_179 : 1;
  2747. ubyte SelphiaPlainWest_180 : 1;
  2748. ubyte SelphiaPlainWest_181 : 1;
  2749. ubyte SelphiaPlainWest_182 : 1;
  2750. ubyte SelphiaPlainMushRoad_183 : 1;
  2751. ubyte SelphiaPlainMushRoad_184 : 1;
  2752. ubyte SelphiaPlainWest_185 : 1;
  2753. ubyte SelphiaPlainWest_186 : 1;
  2754. ubyte TwinRocks_187 : 1;
  2755. ubyte SelphiaPlainWest_188 : 1;
  2756. ubyte LeonKarnak_189 : 1;
  2757. ubyte SelphiaPlainWest_190 : 1;
  2758. ubyte CedarTree_191 : 1;
  2759. ubyte SelphiaPlainEast_192 : 1;
  2760. ubyte SelphiaPlainEast_193 : 1;
  2761. ubyte SelphiaPlainEast_194 : 1;
  2762. ubyte SercerezoHill_195 : 1;
  2763. ubyte DailyRoad_196 : 1;
  2764. ubyte SelphiaPlainEast_197 : 1;
  2765. ubyte IdraCave_198 : 1;
  2766. ubyte SercerezoHill_199 : 1;
  2767. ubyte SercerezoHill_200 : 1;
  2768. ubyte SercerezoHill_201 : 1;
  2769. ubyte SercerezoHill_202 : 1;
  2770. ubyte SelphiaPlain_203 : 1;
  2771. ubyte SelphiaPlain_204 : 1;
  2772. ubyte AutumnBridge_205 : 1;
  2773. ubyte AutumnBridge_206 : 1;
  2774. ubyte AutumnRoad_207 : 1;
  2775. ubyte AutumnRoad_208 : 1;
  2776. ubyte AutumnRoad_209 : 1;
  2777. ubyte DeliriumLavaRuins_210 : 1;
  2778. ubyte AutumnRoad_211 : 1;
  2779. ubyte AutumnRoad_212 : 1;
  2780. ubyte AutumnRoad_213 : 1;
  2781. ubyte AutumnRoad_214 : 1;
  2782. ubyte AutumnRoad_215 : 1;
  2783. ubyte AutumnRoad_216 : 1;
  2784. ubyte AutumnRoad_217 : 1;
  2785. ubyte AutumnRiver_218 : 1;
  2786. ubyte AutumnRoad_219 : 1;
  2787. ubyte AutumnRoad_220 : 1;
  2788. ubyte AutumnRoad_221 : 1;
  2789. ubyte AutumnRoad_222 : 1;
  2790. ubyte AutumnRoad_223 : 1;
  2791. ubyte AutumnRoad_224 : 1;
  2792. ubyte AutumnRoad_225 : 1;
  2793. ubyte MayaRoadEntrance_226 : 1;
  2794. ubyte SelphiaPlainEast_227 : 1;
  2795. ubyte CerezoBridge_228 : 1;
  2796. ubyte CerezoBridge_229 : 1;
  2797. ubyte SercerezoHill_230 : 1;
  2798. ubyte CluckCluckNest_231 : 1;
  2799. ubyte SilverArch_232 : 1;
  2800. ubyte SilverArch_233 : 1;
  2801. ubyte SilverLake_234 : 1;
  2802. ubyte WinterSpring_235 : 1;
  2803. ubyte AutumnSpring_236 : 1;
  2804. ubyte SelphiaPlainEast_237 : 1;
  2805. ubyte SummerSpring_238 : 1;
  2806. ubyte SpringSpring_239 : 1;
  2807. ubyte BuriedCave_240 : 1;
  2808. ubyte KeenoLake_241 : 1;
  2809. ubyte SelphiaPlain_242 : 1;
  2810. ubyte SelphiaPlain_243 : 1;
  2811. ubyte SilverLake_244 : 1;
  2812. ubyte SilverLake_245 : 1;
  2813. ubyte SilverLake_246 : 1;
  2814. ubyte SercerezoHill_247 : 1;
  2815. ubyte SercerezoHill_248 : 1;
  2816. ubyte SercerezoLake_249 : 1;
  2817. ubyte SercerezoHill_250 : 1;
  2818. ubyte DemonsDen_251 : 1;
  2819. ubyte SercerezoHill_252 : 1;
  2820. ubyte SercerezoHillBridge_253 : 1;
  2821. ubyte SercerezoHill_254 : 1;
  2822. ubyte SercerezoHill_255 : 1;
  2823. ubyte AutumnBridge_256 : 1;
  2824. ubyte RevivalCave_257 : 1;
  2825. ubyte MayaBridge_258 : 1;
  2826. ubyte SercerezoHill_259 : 1;
  2827. ubyte Cave_260 : 1;
  2828. ubyte SpringField_261 : 1;
  2829. ubyte SummerField_262 : 1;
  2830. ubyte AutumnField_263 : 1;
  2831. ubyte WinterField_264 : 1;
  2832. ubyte SelphiaPlain_265 : 1;
  2833. ubyte SelphiaPlain_266 : 1;
  2834. ubyte SelphiaPlain_267 : 1;
  2835. ubyte SelphiaPlain_268 : 1;
  2836. ubyte SelphiaPlain_269 : 1;
  2837. ubyte SelphiaPlain_270 : 1;
  2838. ubyte YokmirForest_271 : 1;
  2839. ubyte YokmirForestDepths_272 : 1;
  2840. ubyte YokmirForest_273 : 1;
  2841. ubyte YokmirForest_274 : 1;
  2842. ubyte YokmirForest_275 : 1;
  2843. ubyte YokmirForest_276 : 1;
  2844. ubyte YokmirForest_277 : 1;
  2845. ubyte YokmirForest_278 : 1;
  2846. ubyte Forest_Dummy_279 : 1;
  2847. ubyte Forest_Dummy_280 : 1;
  2848. ubyte Forest_Dummy_281 : 1;
  2849. ubyte Forest_Dummy_282 : 1;
  2850. ubyte Forest_Dummy_283 : 1;
  2851. } overworld;
  2852. struct {
  2853. ubyte WaterRuins_284 : 1;
  2854. ubyte WaterRuinsDepths_285 : 1;
  2855. ubyte WaterRuins_286 : 1;
  2856. ubyte WaterRuins_287 : 1;
  2857. ubyte WaterRuins_288 : 1;
  2858. ubyte WaterRuins_289 : 1;
  2859. ubyte WaterRuins_290 : 1;
  2860. ubyte WaterRuins_291 : 1;
  2861. ubyte WaterRuins_292 : 1;
  2862. ubyte WaterRuins_293 : 1;
  2863. ubyte WaterRuins_294 : 1;
  2864. ubyte WaterRuins_295 : 1;
  2865. ubyte WaterRuins_296 : 1;
  2866. ubyte WaterRuins_297 : 1;
  2867. ubyte WaterRuins_298 : 1;
  2868. ubyte WaterRuins_299 : 1;
  2869. ubyte WaterRuins_300 : 1;
  2870. } waterRuins;
  2871. ubyte Temple_Dummy_301 : 1;
  2872. ubyte Temple_Dummy_302 : 1;
  2873. struct {
  2874. ubyte ObsidianMansion_303 : 1;
  2875. ubyte ObsidianMnsnTheatre_304 : 1;
  2876. ubyte ObsidianMnsnEntrance_305 : 1;
  2877. ubyte ObsidianMansion_306 : 1;
  2878. ubyte ObsidianMansion_307 : 1;
  2879. ubyte ObsidianMansion_308 : 1;
  2880. ubyte ObsidianMansion_309 : 1;
  2881. ubyte ObsidianMansion_310 : 1;
  2882. ubyte ObsidianMansion_311 : 1;
  2883. ubyte ObsidianMansion_312 : 1;
  2884. ubyte ObsidianMansion_313 : 1;
  2885. ubyte ObsidianMansion_314 : 1;
  2886. ubyte ObsidianMansion_315 : 1;
  2887. ubyte ObsidianMansion_316 : 1;
  2888. ubyte ObsidianMansion_317 : 1;
  2889. ubyte ObsidianMansion_318 : 1;
  2890. ubyte ObsidianMansion_319 : 1;
  2891. ubyte ObsidianMansion_320 : 1;
  2892. ubyte ObsidianMansion_321 : 1;
  2893. } obsidianMansion;
  2894. ubyte Ruin_Dummy_322 : 1;
  2895. ubyte Ruin_Dummy_323 : 1;
  2896. struct {
  2897. ubyte LeonKarnak_324 : 1;
  2898. ubyte LeonKarnakDepths_325 : 1;
  2899. ubyte LeonKarnak_326 : 1;
  2900. ubyte LeonKarnak_327 : 1;
  2901. ubyte LeonKarnak_328 : 1;
  2902. ubyte LeonKarnak_329 : 1;
  2903. ubyte LeonKarnak_330 : 1;
  2904. ubyte LeonKarnak_331 : 1;
  2905. ubyte LeonKarnak_332 : 1;
  2906. ubyte LeonKarnak_333 : 1;
  2907. ubyte LeonKarnak_334 : 1;
  2908. ubyte LeonKarnak_335 : 1;
  2909. ubyte LeonKarnak_336 : 1;
  2910. ubyte LeonKarnak_337 : 1;
  2911. ubyte LeonKarnak_338 : 1;
  2912. ubyte LeonKarnak_339 : 1;
  2913. ubyte LeonKarnak_340 : 1;
  2914. ubyte LeonKarnak_341 : 1;
  2915. ubyte LeonKarnak_342 : 1;
  2916. ubyte LeonKarnak_343 : 1;
  2917. ubyte LeonKarnak_344 : 1;
  2918. ubyte LeonKarnak_345 : 1;
  2919. ubyte LeonKarnak_346 : 1;
  2920. } leonKarnak;
  2921. struct {
  2922. ubyte FloatingEmpire_347 : 1;
  2923. ubyte FloatingEmpire_348 : 1;
  2924. ubyte FloatingEmpireFront_349 : 1;
  2925. ubyte FloatingEmpire_350 : 1;
  2926. ubyte FloatingEmpire_351 : 1;
  2927. ubyte FloatingEmpireSouth_352 : 1;
  2928. ubyte FloatingEmpireSouth_353 : 1;
  2929. ubyte FloatingEmpireSouth_354 : 1;
  2930. ubyte FloatingEmpireSouth_355 : 1;
  2931. ubyte FloatingEmpireSouth_356 : 1;
  2932. ubyte FloatingEmpireSouth_357 : 1;
  2933. ubyte FloatingEmpireSouth_358 : 1;
  2934. ubyte FloatingEmpireSouth_359 : 1;
  2935. ubyte FloatingEmpireSouth_360 : 1;
  2936. ubyte FloatingEmpireSouth_361 : 1;
  2937. ubyte FloatingEmpireSouth_362 : 1;
  2938. ubyte FloatingEmpireSouth_363 : 1;
  2939. ubyte FloatingEmpireSouth_364 : 1;
  2940. ubyte FloatingEmpireSouth_365 : 1;
  2941. ubyte FloatingEmpireSouth_366 : 1;
  2942. ubyte FloatingEmpireSouth_367 : 1;
  2943. ubyte FloatingEmpireSouth_368 : 1;
  2944. ubyte FloatingEmpireSouth_369 : 1;
  2945. ubyte FloatingEmpireSouth_370 : 1;
  2946. ubyte FloatingEmpireSouth_371 : 1;
  2947. ubyte FloatingEmpireSouth_372 : 1;
  2948. ubyte FloatingEmpireSouth_373 : 1;
  2949. ubyte FloatingEmpireSouth_374 : 1;
  2950. ubyte FloatingEmpireSouth_375 : 1;
  2951. ubyte FloatingEmpireSouth_376 : 1;
  2952. ubyte FloatingEmpireWest_377 : 1;
  2953. ubyte FloatingEmpireWest_378 : 1;
  2954. ubyte FloatingEmpireWest_379 : 1;
  2955. ubyte FloatingEmpireWest_380 : 1;
  2956. ubyte FloatingEmpireWest_381 : 1;
  2957. ubyte FloatingEmpireWest_382 : 1;
  2958. ubyte FloatingEmpireWest_383 : 1;
  2959. ubyte FloatingEmpireWest_384 : 1;
  2960. ubyte FloatingEmpireWest_385 : 1;
  2961. ubyte FloatingEmpireWest_386 : 1;
  2962. ubyte FloatingEmpireWest_387 : 1;
  2963. ubyte FloatingEmpireWest_388 : 1;
  2964. ubyte FloatingEmpireWest_389 : 1;
  2965. ubyte FloatingEmpireWest_390 : 1;
  2966. ubyte FloatingEmpireWest_391 : 1;
  2967. ubyte FloatingEmpireWest_392 : 1;
  2968. ubyte FloatingEmpireWest_393 : 1;
  2969. ubyte FloatingEmpireWest_394 : 1;
  2970. ubyte FloatingEmpireWest_395 : 1;
  2971. ubyte FloatingEmpireWest_396 : 1;
  2972. ubyte FloatingEmpireWest_397 : 1;
  2973. ubyte FloatingEmpireWest_398 : 1;
  2974. ubyte FloatingEmpireWest_399 : 1;
  2975. ubyte FloatingEmpireWest_400 : 1;
  2976. ubyte FloatingEmpireWest_401 : 1;
  2977. ubyte FloatingEmpireWest_402 : 1;
  2978. ubyte FloatingEmpireWest_403 : 1;
  2979. ubyte FloatingEmpireWest_404 : 1;
  2980. ubyte FloatingEmpireWest_405 : 1;
  2981. ubyte FloatingEmpireWest_406 : 1;
  2982. ubyte FloatingEmpireWest_407 : 1;
  2983. ubyte FloatingEmpireWest_408 : 1;
  2984. ubyte FloatingEmpireEast_409 : 1;
  2985. ubyte FloatingEmpireEast_410 : 1;
  2986. ubyte FloatingEmpireEast_411 : 1;
  2987. ubyte FloatingEmpireEast_412 : 1;
  2988. ubyte FloatingEmpireEast_413 : 1;
  2989. ubyte FloatingEmpireEast_414 : 1;
  2990. ubyte FloatingEmpireEast_415 : 1;
  2991. ubyte FloatingEmpireEast_416 : 1;
  2992. ubyte FloatingEmpireEast_417 : 1;
  2993. ubyte FloatingEmpireEast_418 : 1;
  2994. ubyte FloatingEmpireEast_419 : 1;
  2995. ubyte FloatingEmpireEast_420 : 1;
  2996. ubyte FloatingEmpireEast_421 : 1;
  2997. ubyte FloatingEmpireEast_422 : 1;
  2998. ubyte FloatingEmpireEast_423 : 1;
  2999. ubyte FloatingEmpireEast_424 : 1;
  3000. ubyte FloatingEmpireEast_425 : 1;
  3001. ubyte FloatingEmpireEast_426 : 1;
  3002. ubyte FloatingEmpireEast_427 : 1;
  3003. ubyte FloatingEmpireEast_428 : 1;
  3004. ubyte FloatingEmpireEast_429 : 1;
  3005. ubyte FloatingEmpireEast_430 : 1;
  3006. ubyte FloatingEmpireEast_431 : 1;
  3007. ubyte FloatingEmpireEast_432 : 1;
  3008. ubyte FloatingEmpireEast_433 : 1;
  3009. ubyte FloatingEmpireEast_434 : 1;
  3010. ubyte FloatingEmpireEast_435 : 1;
  3011. ubyte FloatingEmpireEast_436 : 1;
  3012. ubyte FloatingEmpireEast_437 : 1;
  3013. ubyte FloatingEmpireEast_438 : 1;
  3014. ubyte FloatingEmpireSouth_439 : 1;
  3015. ubyte FloatingEmpire_440 : 1;
  3016. ubyte FloatingEmpire_441 : 1;
  3017. } floatingEmpire;
  3018. ubyte WorldofFields_442 : 1;
  3019. struct {
  3020. ubyte SharanceMaze_443 : 1;
  3021. ubyte SharanceMaze_444 : 1;
  3022. ubyte SharanceMaze_445 : 1;
  3023. ubyte SharanceMaze_446 : 1;
  3024. ubyte SharanceMaze_447 : 1;
  3025. ubyte SharanceMaze_448 : 1;
  3026. ubyte SharanceMaze_449 : 1;
  3027. ubyte SharanceMaze_450 : 1;
  3028. ubyte SharanceMaze_451 : 1;
  3029. ubyte SharanceMaze_452 : 1;
  3030. ubyte SharanceMaze_453 : 1;
  3031. } sharance;
  3032. struct {
  3033. ubyte YokmirCave_454 : 1;
  3034. ubyte YokmirCave_455 : 1;
  3035. ubyte YokmirCave_456 : 1;
  3036. ubyte YokmirCave_457 : 1;
  3037. ubyte YokmirCave_458 : 1;
  3038. ubyte YokmirCave_459 : 1;
  3039. ubyte YokmirCave_460 : 1;
  3040. ubyte YokmirCave_461 : 1;
  3041. ubyte YokmirCave_462 : 1;
  3042. ubyte YokmirCave_463 : 1;
  3043. ubyte YokmirCave_464 : 1;
  3044. ubyte YokmirCave_465 : 1;
  3045. ubyte YokmirCave_466 : 1;
  3046. ubyte YokmirCave_467 : 1;
  3047. ubyte YokmirCave_468 : 1;
  3048. ubyte YokmirCave_469 : 1;
  3049. ubyte YokmirCave_470 : 1;
  3050. ubyte YokmirCave_471 : 1;
  3051. ubyte YokmirCave_472 : 1;
  3052. ubyte YokmirCave_473 : 1;
  3053. ubyte YokmirCave_474 : 1;
  3054. ubyte YokmirCave_475 : 1;
  3055. ubyte YokmirCave_476 : 1;
  3056. ubyte YokmirCave_477 : 1;
  3057. ubyte YokmirCave_478 : 1;
  3058. ubyte YokmirCave_479 : 1;
  3059. ubyte YokmirCave_480 : 1;
  3060. ubyte YokmirCave_481 : 1;
  3061. ubyte YokmirCave_482 : 1;
  3062. ubyte YokmirCave_483 : 1;
  3063. ubyte YokmirCave_484 : 1;
  3064. ubyte YokmirCave_485 : 1;
  3065. } yokmir;
  3066. struct {
  3067. ubyte DeliriumLavaRuins_486 : 1;
  3068. ubyte DeliriumLavaRuins_487 : 1;
  3069. ubyte DeliriumLavaRuins_488 : 1;
  3070. ubyte DeliriumLavaRuins_489 : 1;
  3071. ubyte DeliriumLavaRuins_490 : 1;
  3072. ubyte DeliriumLavaRuins_491 : 1;
  3073. ubyte DeliriumLavaRuins_492 : 1;
  3074. ubyte DeliriumLavaRuins_493 : 1;
  3075. ubyte DeliriumLavaRuins_494 : 1;
  3076. ubyte DeliriumLavaRuins_495 : 1;
  3077. ubyte DeliriumLavaRuins_496 : 1;
  3078. ubyte DeliriumLavaRuins_497 : 1;
  3079. ubyte DeliriumLavaRuins_498 : 1;
  3080. ubyte DeliriumLavaRuins_499 : 1;
  3081. ubyte DeliriumLavaRuins_500 : 1;
  3082. ubyte DeliriumLavaRuins_501 : 1;
  3083. ubyte DeliriumLavaRuins_502 : 1;
  3084. ubyte DeliriumLavaRuins_503 : 1;
  3085. ubyte DeliriumLavaRuins_504 : 1;
  3086. ubyte DeliriumLavaRuins_505 : 1;
  3087. ubyte DeliriumLavaRuins_506 : 1;
  3088. ubyte DeliriumLavaRuins_507 : 1;
  3089. ubyte DeliriumLavaRuins_508 : 1;
  3090. ubyte DeliriumLavaRuins_509 : 1;
  3091. ubyte DeliriumLavaRuins_510 : 1;
  3092. ubyte DeliriumLavaRuins_511 : 1;
  3093. ubyte DeliriumLavaRuins_512 : 1;
  3094. ubyte DeliriumLavaRuins_513 : 1;
  3095. ubyte DeliriumLavaRuins_514 : 1;
  3096. ubyte DeliriumLavaRuins_515 : 1;
  3097. ubyte DeliriumLavaRuins_516 : 1;
  3098. ubyte DeliriumLavaRuins_517 : 1;
  3099. ubyte DeliriumLavaRuins_518 : 1;
  3100. ubyte DeliriumLavaRuins_519 : 1;
  3101. ubyte DeliriumLavaRuins_520 : 1;
  3102. ubyte DeliriumLavaRuins_521 : 1;
  3103. ubyte DeliriumLavaRuins_522 : 1;
  3104. ubyte DeliriumLavaRuins_523 : 1;
  3105. ubyte DeliriumLavaRuins_524 : 1;
  3106. ubyte DeliriumLavaRuins_525 : 1;
  3107. ubyte DeliriumLavaRuins_526 : 1;
  3108. } deliriumLavaRuins;
  3109. struct {
  3110. ubyte Unknown_527 : 1;
  3111. ubyte Unknown_528 : 1;
  3112. ubyte Unknown_529 : 1;
  3113. ubyte Unknown_530 : 1;
  3114. ubyte Unknown_531 : 1;
  3115. ubyte Unknown_532 : 1;
  3116. ubyte Unknown_533 : 1;
  3117. ubyte Unknown_534 : 1;
  3118. ubyte Unknown_535 : 1;
  3119. ubyte Unknown_536 : 1;
  3120. ubyte Unknown_537 : 1;
  3121. ubyte Unknown_538 : 1;
  3122. ubyte Unknown_539 : 1;
  3123. ubyte Unknown_540 : 1;
  3124. } unknownPlace;
  3125. struct {
  3126. ubyte IdraCave_541 : 1;
  3127. ubyte IdraCave_542 : 1;
  3128. ubyte IdraCave_543 : 1;
  3129. ubyte IdraCave_544 : 1;
  3130. ubyte IdraCave_545 : 1;
  3131. ubyte IdraCave_546 : 1;
  3132. ubyte IdraCave_547 : 1;
  3133. ubyte IdraCave_548 : 1;
  3134. ubyte IdraCave_549 : 1;
  3135. ubyte IdraCave_550 : 1;
  3136. ubyte IdraCave_551 : 1;
  3137. ubyte IdraCaveB1_552 : 1;
  3138. ubyte IdraCaveB1_553 : 1;
  3139. ubyte IdraCaveB1_554 : 1;
  3140. ubyte IdraCaveB1_555 : 1;
  3141. ubyte IdraCaveB1_556 : 1;
  3142. ubyte IdraCaveB1_557 : 1;
  3143. ubyte IdraCaveB1_558 : 1;
  3144. ubyte IdraCaveB1_559 : 1;
  3145. ubyte IdraCaveB1_560 : 1;
  3146. ubyte IdraCaveB1_561 : 1;
  3147. ubyte IdraCaveB1_562 : 1;
  3148. ubyte IdraCaveB1_563 : 1;
  3149. ubyte IdraCaveB1_564 : 1;
  3150. ubyte IdraCaveB1_565 : 1;
  3151. ubyte IdraCaveB1_566 : 1;
  3152. ubyte IdraCaveB1_567 : 1;
  3153. ubyte IdraCaveB1_568 : 1;
  3154. ubyte IdraCaveB1_569 : 1;
  3155. ubyte IdraCaveB1_570 : 1;
  3156. ubyte IdraCaveB1_571 : 1;
  3157. ubyte IdraCaveB2_572 : 1;
  3158. ubyte IdraCaveB2_573 : 1;
  3159. ubyte IdraCaveB2_574 : 1;
  3160. ubyte IdraCaveB2_575 : 1;
  3161. ubyte IdraCaveB2_576 : 1;
  3162. ubyte IdraCaveB2_577 : 1;
  3163. ubyte IdraCaveB2_578 : 1;
  3164. ubyte IdraCaveB2_579 : 1;
  3165. ubyte IdraCaveB2_580 : 1;
  3166. ubyte IdraCaveB2_581 : 1;
  3167. ubyte IdraCaveB2_582 : 1;
  3168. ubyte IdraCaveB2_583 : 1;
  3169. ubyte IdraCaveB2_584 : 1;
  3170. ubyte IdraCaveB2_585 : 1;
  3171. ubyte IdraCaveB2_586 : 1;
  3172. ubyte IdraCaveB2_587 : 1;
  3173. ubyte IdraCaveB2_588 : 1;
  3174. ubyte IdraCaveB2_589 : 1;
  3175. ubyte IdraCaveB2_590 : 1;
  3176. ubyte IdraCaveB2_591 : 1;
  3177. ubyte IdraCaveB2_592 : 1;
  3178. ubyte IdraCaveB2_593 : 1;
  3179. } idraCave;
  3180. ubyte ImperialResearchCntr_594 : 1;
  3181. struct {
  3182. ubyte MayaRoad_595 : 1;
  3183. ubyte MayaRoad_596 : 1;
  3184. ubyte MayaRoad_597 : 1;
  3185. ubyte MayaRoad_598 : 1;
  3186. ubyte MayaRoad_599 : 1;
  3187. ubyte MayaRoad_600 : 1;
  3188. ubyte MayaRoad_601 : 1;
  3189. ubyte MayaRoad_602 : 1;
  3190. ubyte MayaRoad_603 : 1;
  3191. ubyte MayaRoad_604 : 1;
  3192. ubyte MayaRoad_605 : 1;
  3193. ubyte MayaRoad_606 : 1;
  3194. ubyte MayaRoad_607 : 1;
  3195. ubyte MayaRoad_608 : 1;
  3196. ubyte MayaRoad_609 : 1;
  3197. ubyte MayaRoad_610 : 1;
  3198. ubyte MayaRoad_611 : 1;
  3199. ubyte MayaRoad_612 : 1;
  3200. ubyte MayaRoad_613 : 1;
  3201. ubyte MayaRoad_614 : 1;
  3202. ubyte MayaRoad_615 : 1;
  3203. ubyte MayaRoad_616 : 1;
  3204. ubyte MayaRoad_617 : 1;
  3205. ubyte MayaRoad_618 : 1;
  3206. ubyte MayaRoad_619 : 1;
  3207. ubyte MayaRoad_620 : 1;
  3208. ubyte MayaRoad_621 : 1;
  3209. ubyte MayaRoad_622 : 1;
  3210. ubyte MayaRoad_623 : 1;
  3211. ubyte MayaRoad_624 : 1;
  3212. ubyte MayaRoad_625 : 1;
  3213. ubyte MayaRoad_626 : 1;
  3214. ubyte MayaRoad_627 : 1;
  3215. ubyte MayaRoad_628 : 1;
  3216. ubyte MayaRoad_629 : 1;
  3217. ubyte MayaRoad_630 : 1;
  3218. ubyte MayaRoad_631 : 1;
  3219. ubyte MayaRoad_632 : 1;
  3220. ubyte MayaRoad_633 : 1;
  3221. ubyte MayaRoad_634 : 1;
  3222. ubyte MayaRoad_635 : 1;
  3223. ubyte MayaRoad_636 : 1;
  3224. ubyte MayaRoad_637 : 1;
  3225. ubyte MayaRoad_638 : 1;
  3226. ubyte MayaRoad_639 : 1;
  3227. ubyte MayaRoad_640 : 1;
  3228. ubyte MayaRoad_641 : 1;
  3229. ubyte MayaRoad_642 : 1;
  3230. ubyte MayaRoad_643 : 1;
  3231. ubyte MayaRoad_644 : 1;
  3232. ubyte MayaRoad_645 : 1;
  3233. ubyte MayaRoad_646 : 1;
  3234. ubyte MayaRoad_647 : 1;
  3235. ubyte MayaRoad_648 : 1;
  3236. ubyte MayaRoad_649 : 1;
  3237. ubyte MayaRoad_650 : 1;
  3238. ubyte MayaRoad_651 : 1;
  3239. ubyte MayaRoad_652 : 1;
  3240. ubyte MayaRoad_653 : 1;
  3241. ubyte MayaRoad_654 : 1;
  3242. ubyte MayaRoad_655 : 1;
  3243. ubyte MayaRoad_656 : 1;
  3244. ubyte MayaRoad_657 : 1;
  3245. } mayaRoad;
  3246. struct {
  3247. ubyte SechsTerritory_658 : 1;
  3248. ubyte SechsTerritory_659 : 1;
  3249. ubyte SechsTerritory_660 : 1;
  3250. ubyte SechsTerritory_661 : 1;
  3251. ubyte SechsTerritory_662 : 1;
  3252. ubyte SechsTerritory_663 : 1;
  3253. ubyte SechsTerritory_664 : 1;
  3254. ubyte SechsTerritory_665 : 1;
  3255. ubyte SechsTerritory_666 : 1;
  3256. ubyte SechsTerritory_667 : 1;
  3257. ubyte SechsTerritory_668 : 1;
  3258. ubyte SechsTerritory_669 : 1;
  3259. ubyte SechsTerritory_670 : 1;
  3260. ubyte SechsTerritory_671 : 1;
  3261. ubyte SechsTerritory_672 : 1;
  3262. ubyte SechsTerritory_673 : 1;
  3263. ubyte SechsTerritory_674 : 1;
  3264. ubyte SechsTerritory_675 : 1;
  3265. ubyte SechsTerritory_676 : 1;
  3266. ubyte SechsTerritory_677 : 1;
  3267. ubyte SechsTerritory_678 : 1;
  3268. ubyte SechsTerritory_679 : 1;
  3269. ubyte SechsTerritory_680 : 1;
  3270. ubyte SechsTerritory_681 : 1;
  3271. ubyte SechsTerritory_682 : 1;
  3272. ubyte SechsTerritory_683 : 1;
  3273. ubyte SechsTerritory_684 : 1;
  3274. ubyte SechsTerritory_685 : 1;
  3275. ubyte SechsTerritory_686 : 1;
  3276. ubyte SechsTerritory_687 : 1;
  3277. ubyte SechsTerritory_688 : 1;
  3278. ubyte SechsTerritory_689 : 1;
  3279. ubyte SechsTerritory_690 : 1;
  3280. ubyte SechsTerritory_691 : 1;
  3281. ubyte SechsTerritory_692 : 1;
  3282. ubyte SechsTerritory_693 : 1;
  3283. ubyte SechsTerritory_694 : 1;
  3284. ubyte SechsTerritory_695 : 1;
  3285. ubyte SechsTerritory_696 : 1;
  3286. ubyte SechsTerritory_697 : 1;
  3287. ubyte SechsTerritory_698 : 1;
  3288. ubyte SechsTerritory_699 : 1;
  3289. ubyte SechsTerritory_700 : 1;
  3290. ubyte SechsTerritory_701 : 1;
  3291. ubyte SechsTerritory_702 : 1;
  3292. ubyte SechsTerritory_703 : 1;
  3293. ubyte SechsTerritory_704 : 1;
  3294. ubyte SechsTerritory_705 : 1;
  3295. ubyte SechsTerritory_706 : 1;
  3296. ubyte SechsTerritory_707 : 1;
  3297. ubyte SechsTerritory_708 : 1;
  3298. ubyte SechsTerritory_709 : 1;
  3299. ubyte SechsTerritory_710 : 1;
  3300. ubyte SechsTerritory_711 : 1;
  3301. ubyte SechsTerritory_712 : 1;
  3302. ubyte SechsTerritory_713 : 1;
  3303. ubyte SechsTerritory_714 : 1;
  3304. ubyte SechsTerritory_715 : 1;
  3305. ubyte SechsTerritory_716 : 1;
  3306. ubyte SechsTerritory_717 : 1;
  3307. ubyte SechsTerritory_718 : 1;
  3308. ubyte SechsTerritory_719 : 1;
  3309. ubyte SechsTerritory_720 : 1;
  3310. ubyte SechsTerritory_721 : 1;
  3311. ubyte SechsTerritory_722 : 1;
  3312. ubyte SechsTerritory_723 : 1;
  3313. ubyte SechsTerritory_724 : 1;
  3314. ubyte SechsTerritory_725 : 1;
  3315. } sechsTerritory;
  3316. struct {
  3317. ubyte RunePrana_726 : 1;
  3318. ubyte RunePrana_727 : 1;
  3319. ubyte RunePrana_728 : 1;
  3320. ubyte RunePrana_729 : 1;
  3321. ubyte RunePrana_730 : 1;
  3322. ubyte RunePrana_731 : 1;
  3323. ubyte RunePrana_732 : 1;
  3324. ubyte RunePrana_733 : 1;
  3325. ubyte RunePrana_734 : 1;
  3326. ubyte RunePrana_735 : 1;
  3327. ubyte RunePrana_736 : 1;
  3328. ubyte RunePrana_737 : 1;
  3329. ubyte RunePrana_738 : 1;
  3330. ubyte RunePrana_739 : 1;
  3331. ubyte RunePrana_740 : 1;
  3332. ubyte RunePrana_741 : 1;
  3333. ubyte RunePrana_742 : 1;
  3334. ubyte RunePrana_743 : 1;
  3335. ubyte RunePrana_744 : 1;
  3336. ubyte RunePrana_745 : 1;
  3337. ubyte RunePrana_746 : 1;
  3338. ubyte RunePrana_747 : 1;
  3339. ubyte RunePrana_748 : 1;
  3340. ubyte RunePrana_749 : 1;
  3341. ubyte RunePrana_750 : 1;
  3342. ubyte RunePrana_751 : 1;
  3343. ubyte RunePrana_752 : 1;
  3344. ubyte RunePrana_753 : 1;
  3345. ubyte RunePrana_754 : 1;
  3346. ubyte RunePrana_755 : 1;
  3347. ubyte RunePrana_756 : 1;
  3348. ubyte RunePrana_757 : 1;
  3349. ubyte RunePrana_758 : 1;
  3350. ubyte RunePrana_759 : 1;
  3351. ubyte RunePrana_760 : 1;
  3352. ubyte RunePrana_761 : 1;
  3353. ubyte RunePrana_762 : 1;
  3354. ubyte RunePrana_763 : 1;
  3355. ubyte RunePrana_764 : 1;
  3356. ubyte RunePrana_765 : 1;
  3357. ubyte RunePrana_766 : 1;
  3358. ubyte RunePrana_767 : 1;
  3359. ubyte RunePrana_768 : 1;
  3360. ubyte RunePrana_769 : 1;
  3361. ubyte RunePrana_770 : 1;
  3362. ubyte RunePrana_771 : 1;
  3363. ubyte RunePrana_772 : 1;
  3364. ubyte RunePrana_773 : 1;
  3365. ubyte RunePrana_774 : 1;
  3366. ubyte RunePrana_775 : 1;
  3367. ubyte RunePrana_776 : 1;
  3368. ubyte RunePrana_777 : 1;
  3369. ubyte RunePrana_778 : 1;
  3370. ubyte RunePrana_779 : 1;
  3371. ubyte RunePrana_780 : 1;
  3372. ubyte RunePrana_781 : 1;
  3373. ubyte RunePrana_782 : 1;
  3374. ubyte RunePrana_783 : 1;
  3375. ubyte RunePrana_784 : 1;
  3376. ubyte RunePrana_785 : 1;
  3377. ubyte RunePrana_786 : 1;
  3378. ubyte RunePrana_787 : 1;
  3379. ubyte RunePrana_788 : 1;
  3380. ubyte RunePrana_789 : 1;
  3381. ubyte RunePrana_790 : 1;
  3382. ubyte RunePrana_791 : 1;
  3383. ubyte RunePrana_792 : 1;
  3384. ubyte RunePrana_793 : 1;
  3385. ubyte RunePrana_794 : 1;
  3386. ubyte RunePrana_795 : 1;
  3387. ubyte RunePrana_796 : 1;
  3388. ubyte RunePrana_797 : 1;
  3389. ubyte RunePrana_798 : 1;
  3390. ubyte RunePrana_799 : 1;
  3391. ubyte RunePrana_800 : 1;
  3392. ubyte RunePrana_801 : 1;
  3393. ubyte RunePrana_802 : 1;
  3394. ubyte RunePrana_803 : 1;
  3395. ubyte RunePrana_804 : 1;
  3396. ubyte RunePrana_805 : 1;
  3397. ubyte RunePrana_806 : 1;
  3398. ubyte RunePrana_807 : 1;
  3399. ubyte RunePrana_808 : 1;
  3400. ubyte RunePrana_809 : 1;
  3401. ubyte RunePrana_810 : 1;
  3402. ubyte RunePrana_811 : 1;
  3403. ubyte RunePrana_812 : 1;
  3404. ubyte RunePrana_813 : 1;
  3405. ubyte RunePrana_814 : 1;
  3406. ubyte RunePrana_815 : 1;
  3407. ubyte RunePrana_816 : 1;
  3408. ubyte RunePrana_817 : 1;
  3409. ubyte RunePrana_818 : 1;
  3410. ubyte RunePrana_819 : 1;
  3411. ubyte RunePrana_820 : 1;
  3412. ubyte RunePrana_821 : 1;
  3413. ubyte RunePrana_822 : 1;
  3414. ubyte RunePrana_823 : 1;
  3415. ubyte RunePrana_824 : 1;
  3416. ubyte RunePrana_825 : 1;
  3417. ubyte RunePrana_826 : 1;
  3418. ubyte RunePrana_827 : 1;
  3419. ubyte RunePrana_828 : 1;
  3420. ubyte RunePrana_829 : 1;
  3421. ubyte RunePrana_830 : 1;
  3422. ubyte RunePrana_831 : 1;
  3423. ubyte RunePrana_832 : 1;
  3424. ubyte RunePrana_833 : 1;
  3425. ubyte RunePrana_834 : 1;
  3426. ubyte RunePrana_835 : 1;
  3427. ubyte RunePrana_836 : 1;
  3428. ubyte RunePrana_837 : 1;
  3429. ubyte RunePrana_838 : 1;
  3430. ubyte RunePrana_839 : 1;
  3431. ubyte RunePrana_840 : 1;
  3432. ubyte RunePrana_841 : 1;
  3433. ubyte RunePrana_842 : 1;
  3434. ubyte RunePrana_843 : 1;
  3435. ubyte RunePrana_844 : 1;
  3436. ubyte RunePrana_845 : 1;
  3437. ubyte RunePrana_846 : 1;
  3438. ubyte RunePrana_847 : 1;
  3439. ubyte RunePrana_848 : 1;
  3440. ubyte RunePrana_849 : 1;
  3441. ubyte RunePrana_850 : 1;
  3442. ubyte RunePrana_851 : 1;
  3443. ubyte RunePrana_852 : 1;
  3444. } runePrana;
  3445. struct {
  3446. ubyte CluckCluckNest_853 : 1;
  3447. ubyte CluckCluckNest_854 : 1;
  3448. ubyte CluckCluckNest_855 : 1;
  3449. ubyte CluckCluckNest_856 : 1;
  3450. ubyte CluckCluckNest_857 : 1;
  3451. } cluckCluckNest;
  3452. struct {
  3453. ubyte RevivalCave_858 : 1;
  3454. ubyte RevivalCave_859 : 1;
  3455. ubyte RevivalCave_860 : 1;
  3456. } revivalCave;
  3457. struct {
  3458. ubyte DemonsDen_861 : 1;
  3459. ubyte DemonsDen_862 : 1;
  3460. ubyte DemonsDen_863 : 1;
  3461. ubyte DemonsDen_864 : 1;
  3462. ubyte DemonsDen_865 : 1;
  3463. ubyte DemonsDen_866 : 1;
  3464. ubyte DemonsDen_867 : 1;
  3465. ubyte DemonsDen_868 : 1;
  3466. ubyte DemonsDen_869 : 1;
  3467. } demonsDen;
  3468. ubyte __870 : 1;
  3469. ubyte __871 : 1;
  3470. } MAPB <size=109>;
  3471.  
  3472. // Unlocked recipes bitfield
  3473. typedef struct {
  3474. ubyte : 7; // probably part of a different flagset - fix later
  3475. struct {
  3476. ubyte Yarn : 1;
  3477. ubyte Cheap_Bracelet : 1;
  3478. ubyte Bronze_Bracelet : 1;
  3479. ubyte Silver_Bracelet : 1;
  3480. ubyte Gold_Bracelet : 1;
  3481. ubyte Platinum_Bracelet : 1;
  3482. ubyte Silver_Ring : 1;
  3483. ubyte Gold_Ring : 1;
  3484. ubyte Platinum_Ring : 1;
  3485. ubyte Shield_Ring : 1;
  3486. ubyte Critical_Ring : 1;
  3487. ubyte Silent_Ring : 1;
  3488. ubyte Paralysis_Ring : 1;
  3489. ubyte Poison_Ring : 1;
  3490. ubyte Magic_Ring : 1;
  3491. ubyte Throwing_Ring : 1;
  3492. ubyte Stay_up_Ring : 1;
  3493. ubyte Aquamarine_Ring : 1;
  3494. ubyte Amethyst_Ring : 1;
  3495. ubyte Emerald_Ring : 1;
  3496. ubyte Sapphire_Ring : 1;
  3497. ubyte Ruby_Ring : 1;
  3498. ubyte Cursed_Ring : 1;
  3499. ubyte Diamond_Ring : 1;
  3500. ubyte Aquamarine_Brooch : 1;
  3501. ubyte Amethyst_Brooch : 1;
  3502. ubyte Emerald_Brooch : 1;
  3503. ubyte Sapphire_Brooch : 1;
  3504. ubyte Ruby_Brooch : 1;
  3505. ubyte Diamond_Brooch : 1;
  3506. ubyte Dolphin_Brooch : 1;
  3507. ubyte Fire_Ring : 1;
  3508. ubyte Wind_Ring : 1;
  3509. ubyte Water_Ring : 1;
  3510. ubyte Earth_Ring : 1;
  3511. ubyte Happy_Ring : 1;
  3512. ubyte Silver_Pendant : 1;
  3513. ubyte Star_Pendant : 1;
  3514. ubyte Sun_Pendant : 1;
  3515. ubyte Field_Pendant : 1;
  3516. ubyte Dew_Pendant : 1;
  3517. ubyte Earth_Pendant : 1;
  3518. ubyte Heart_Pendant : 1;
  3519. ubyte Strange_Pendant : 1;
  3520. ubyte Anettes_Necklace : 1;
  3521. ubyte Work_Gloves : 1;
  3522. ubyte Gloves : 1;
  3523. ubyte Power_Gloves : 1;
  3524. ubyte Earrings : 1;
  3525. ubyte Witch_Earrings : 1;
  3526. ubyte Magic_Earrings : 1;
  3527. ubyte Charm : 1;
  3528. ubyte Holy_Amulet : 1;
  3529. ubyte Rosary : 1;
  3530. ubyte Talisman : 1;
  3531. ubyte Magic_Charm : 1;
  3532. ubyte Leather_Belt : 1;
  3533. ubyte Lucky_Strike : 1;
  3534. ubyte Champ_Belt : 1;
  3535. ubyte Hand_Knit_Scarf : 1;
  3536. ubyte Fluffy_Scarf : 1;
  3537. ubyte Heros_Proof : 1;
  3538. ubyte Proof_of_Wisdom : 1;
  3539. ubyte Art_of_Attack : 1;
  3540. ubyte Art_of_Defense : 1;
  3541. ubyte Art_of_Magic : 1;
  3542. ubyte Badge : 1;
  3543. ubyte Courage_Badge : 1;
  3544. ubyte Ventis_Charm_A : 1;
  3545. ubyte Ventis_Charm_B : 1;
  3546. } craft_Accessories;
  3547. struct {
  3548. ubyte Shirt : 1;
  3549. ubyte Vest : 1;
  3550. ubyte Cotton_Cloth : 1;
  3551. ubyte Mail : 1;
  3552. ubyte Chain_Mail : 1;
  3553. ubyte Scale_Vest : 1;
  3554. ubyte Sparkling_Shirt : 1;
  3555. ubyte Wind_Cloak : 1;
  3556. ubyte Protector : 1;
  3557. ubyte Platinum_Mail : 1;
  3558. ubyte Lamellar_Vest : 1;
  3559. ubyte Mercenarys_Cloak : 1;
  3560. ubyte Wooly_Shirt : 1;
  3561. ubyte Elvish_Cloak : 1;
  3562. ubyte Dragon_Cloak : 1;
  3563. ubyte Power_Protector : 1;
  3564. ubyte Rune_Vest : 1;
  3565. ubyte Royal_Garter : 1;
  3566. ubyte Four_Dragons_Vest : 1;
  3567. } craft_Armor;
  3568. struct {
  3569. ubyte Trout_Sashimi : 1;
  3570. ubyte Char_Sashimi : 1;
  3571. ubyte Rainbow_Sashimi : 1;
  3572. ubyte Salmon_Sashimi : 1;
  3573. ubyte Cherry_Sashimi : 1;
  3574. ubyte Taimen_Sashimi : 1;
  3575. ubyte Snapper_Sashimi : 1;
  3576. ubyte Glitter_Sashimi : 1;
  3577. ubyte Lover_Sashimi : 1;
  3578. ubyte Girella_Sashimi : 1;
  3579. ubyte Skipjack_Sashimi : 1;
  3580. ubyte Yellowtail_Sashimi : 1;
  3581. ubyte Tuna_Sashimi : 1;
  3582. ubyte Sardine_Sashimi : 1;
  3583. ubyte Needlefish_Sashimi : 1;
  3584. ubyte Pike_Sashimi : 1;
  3585. ubyte Flounder_Sashimi : 1;
  3586. ubyte Turbot_Sashimi : 1;
  3587. ubyte Fall_Sashimi : 1;
  3588. ubyte Squid_Sashimi : 1;
  3589. ubyte Sunsquid_Sashimi : 1;
  3590. ubyte Lamp_Squid_Sashimi : 1;
  3591. ubyte Blowfish_Sashimi : 1;
  3592. ubyte Lobster_Sashimi : 1;
  3593. ubyte Shrimp_Sashimi : 1;
  3594. } cooking_Knife;
  3595. struct {
  3596. ubyte Fried_Veggies : 1;
  3597. ubyte Fried_Rice : 1;
  3598. ubyte Cabbage_Cakes : 1;
  3599. ubyte French_Fries : 1;
  3600. ubyte Croquettes : 1;
  3601. ubyte Popcorn : 1;
  3602. ubyte Corn_Cereal : 1;
  3603. ubyte Miso_Eggplant : 1;
  3604. ubyte Fried_Eggs : 1;
  3605. ubyte Omelet : 1;
  3606. ubyte Omelet_Rice : 1;
  3607. ubyte Baked_Apple : 1;
  3608. ubyte Curry_Bread : 1;
  3609. ubyte French_Toast : 1;
  3610. ubyte Donut : 1;
  3611. ubyte Fried_Udon : 1;
  3612. ubyte Tempura : 1;
  3613. ubyte Pancakes : 1;
  3614. ubyte Gyoza : 1;
  3615. ubyte Risotto : 1;
  3616. ubyte Dry_Curry : 1;
  3617. ubyte Salted_Masu_Trout : 1;
  3618. ubyte Salted_Char : 1;
  3619. ubyte Salted_R_Trout : 1;
  3620. ubyte Salted_C_Salmon : 1;
  3621. ubyte Salted_Chub : 1;
  3622. ubyte Salted_Salmon : 1;
  3623. ubyte Salted_Taimen : 1;
  3624. ubyte Grilled_C_Carp : 1;
  3625. ubyte Grilled_Gibelio : 1;
  3626. ubyte Grilled_Snapper : 1;
  3627. ubyte Grilled_Girella : 1;
  3628. ubyte Grilled_G_Snapper : 1;
  3629. ubyte Grilled_L_Snapper : 1;
  3630. ubyte Grilled_Skipjack : 1;
  3631. ubyte Grilled_Mackerel : 1;
  3632. ubyte Grilled_Yellowtail : 1;
  3633. ubyte Salted_Pond_Smelt : 1;
  3634. ubyte Tuna_Teriyaki : 1;
  3635. ubyte Dried_Sardines : 1;
  3636. ubyte Grilled_Needlefish : 1;
  3637. ubyte Salted_Pike : 1;
  3638. ubyte Grilled_Flounder : 1;
  3639. ubyte Grilled_Turbot : 1;
  3640. ubyte Grilled_F_Flounder : 1;
  3641. ubyte Grilled_Squid : 1;
  3642. ubyte Grilled_Sunsquid : 1;
  3643. ubyte Grilled_Lamp_Squid : 1;
  3644. ubyte Grilled_Blowfish : 1;
  3645. ubyte Grilled_Lobster : 1;
  3646. ubyte Grilled_Shrimp : 1;
  3647. ubyte Grilled_S_Flounder : 1;
  3648. } cooking_FryingPan;
  3649. struct {
  3650. ubyte Hot_Milk : 1;
  3651. ubyte Hot_Chocolate : 1;
  3652. ubyte Grape_Liqueur : 1;
  3653. ubyte Boiled_Pumpkin : 1;
  3654. ubyte Boiled_Spinach : 1;
  3655. ubyte Boiled_Egg : 1;
  3656. ubyte Glazed_Yam : 1;
  3657. ubyte Boiled_Gyoza : 1;
  3658. ubyte Strawberry_Jam : 1;
  3659. ubyte Apple_Jam : 1;
  3660. ubyte Grape_Jam : 1;
  3661. ubyte Marmalade : 1;
  3662. ubyte Cheese_Fondue : 1;
  3663. ubyte Udon : 1;
  3664. ubyte Curry_Udon : 1;
  3665. ubyte Tempura_Udon : 1;
  3666. ubyte Rice_Porridge : 1;
  3667. ubyte Milk_Porridge : 1;
  3668. ubyte Tempura_Bowl : 1;
  3669. ubyte Egg_Bowl : 1;
  3670. ubyte Stew : 1;
  3671. ubyte Curry_Rice : 1;
  3672. ubyte Ultimate_Curry : 1;
  3673. ubyte Royal_Curry : 1;
  3674. ubyte Relax_Tea : 1;
  3675. ubyte Grilled_Miso : 1;
  3676. ubyte Union_Stew : 1;
  3677. ubyte Rockfish_Stew : 1;
  3678. ubyte Yogurt : 1;
  3679. } cooking_Pot;
  3680. struct {
  3681. ubyte Corn_on_the_Cob : 1;
  3682. ubyte Baked_Onigiri : 1;
  3683. ubyte Sweet_Potato : 1;
  3684. ubyte Toast : 1;
  3685. ubyte Jam_Roll : 1;
  3686. ubyte Butter_Roll : 1;
  3687. ubyte Pizza : 1;
  3688. ubyte Seafood_Pizza : 1;
  3689. ubyte Doria : 1;
  3690. ubyte Seafood_Doria : 1;
  3691. ubyte Gratin : 1;
  3692. ubyte Seafood_Gratin : 1;
  3693. ubyte Yam_of_the_Ages : 1;
  3694. ubyte Cookie : 1;
  3695. ubyte Choco_Cookie : 1;
  3696. ubyte Cake : 1;
  3697. ubyte Chocolate_Cake : 1;
  3698. ubyte Cheesecake : 1;
  3699. ubyte Apple_Pie : 1;
  3700. } cooking_Oven;
  3701. struct {
  3702. ubyte Pineapple_Juice : 1;
  3703. ubyte Tomato_Juice : 1;
  3704. ubyte Grape_Juice : 1;
  3705. ubyte Orange_Juice : 1;
  3706. ubyte Apple_Juice : 1;
  3707. ubyte Strawberry_Milk : 1;
  3708. ubyte Fruit_Juice : 1;
  3709. ubyte Fruit_Smoothie : 1;
  3710. ubyte Vegetable_Juice : 1;
  3711. ubyte Veggie_Smoothie : 1;
  3712. ubyte Mixed_Juice : 1;
  3713. ubyte Mixed_Smoothie : 1;
  3714. ubyte Ketchup : 1;
  3715. ubyte Butter : 1;
  3716. ubyte Gold_Juice : 1;
  3717. ubyte Prelude_to_Love : 1;
  3718. ubyte Hot_Juice : 1;
  3719. } cooking_Mixer;
  3720. struct {
  3721. ubyte Steamed_Bread : 1;
  3722. ubyte Cheese_Bread : 1;
  3723. ubyte Meat_Dumpling : 1;
  3724. ubyte Chinese_Manju : 1;
  3725. ubyte Curry_Manju : 1;
  3726. ubyte Steamed_Gyoza : 1;
  3727. ubyte Pound_Cake : 1;
  3728. ubyte Chocolate_Sponge : 1;
  3729. ubyte Flan : 1;
  3730. ubyte Pumpkin_Flan : 1;
  3731. ubyte Dumplings : 1;
  3732. } cooking_Steamer;
  3733. struct {
  3734. ubyte Salad : 1;
  3735. ubyte Sandwich : 1;
  3736. ubyte Fruit_Sandwich : 1;
  3737. ubyte Pickled_Turnip : 1;
  3738. ubyte Pickles : 1;
  3739. ubyte Bamboo_Rice : 1;
  3740. ubyte Raisin_Bread : 1;
  3741. ubyte Ice_Cream : 1;
  3742. ubyte Relax_Tea_Leaves : 1;
  3743. ubyte Onigiri : 1;
  3744. ubyte Bread : 1;
  3745. ubyte Salmon_Onigiri : 1;
  3746. ubyte Pickle_Mix : 1;
  3747. ubyte Turnip_Heaven : 1;
  3748. ubyte Cheese : 1;
  3749. ubyte Mayonnaise : 1;
  3750. } cooking_HandmadeAndOthers;
  3751. struct {
  3752. ubyte The_Protein : 1;
  3753. ubyte Intelligencer : 1;
  3754. ubyte Vital_Gummi : 1;
  3755. ubyte Heart_Drink : 1;
  3756. ubyte Antidote_Potion : 1;
  3757. ubyte Para_Gone : 1;
  3758. ubyte Roundoff : 1;
  3759. ubyte Cold_Medicine : 1;
  3760. ubyte Formuade : 1;
  3761. ubyte Love_Potion : 1;
  3762. ubyte Invinciroid : 1;
  3763. ubyte Leveliser : 1;
  3764. ubyte Heavy_Spice : 1;
  3765. ubyte Sweet_Powder : 1;
  3766. ubyte Sour_Drop : 1;
  3767. ubyte Mixed_Herbs : 1;
  3768. ubyte Recovery_Potion : 1;
  3769. ubyte Healing_Potion : 1;
  3770. ubyte Mystery_Potion : 1;
  3771. ubyte Magical_Potion : 1;
  3772. } chem_Medicine;
  3773. struct {
  3774. ubyte Cheap_Hoe : 1;
  3775. ubyte Sturdy_Hoe : 1;
  3776. ubyte Seasoned_Hoe : 1;
  3777. ubyte Shiny_Hoe : 1;
  3778. ubyte Blessed_Hoe : 1;
  3779. ubyte Cheap_Waterpot : 1;
  3780. ubyte Tin_Waterpot : 1;
  3781. ubyte Lion_Waterpot : 1;
  3782. ubyte Rainbow_Waterpot : 1;
  3783. ubyte Joy_Waterpot : 1;
  3784. ubyte Cheap_Sickle : 1;
  3785. ubyte Iron_Sickle : 1;
  3786. ubyte Quality_Sickle : 1;
  3787. ubyte Super_Sickle : 1;
  3788. ubyte Legendary_Sickle : 1;
  3789. ubyte Cheap_Hammer : 1;
  3790. ubyte Iron_Hammer : 1;
  3791. ubyte Silver_Hammer : 1;
  3792. ubyte Golden_Hammer : 1;
  3793. ubyte Platinum_Hammer : 1;
  3794. ubyte Cheap_Axe : 1;
  3795. ubyte Chopping_Axe : 1;
  3796. ubyte Lumber_Axe : 1;
  3797. ubyte Mountain_Axe : 1;
  3798. ubyte Miracle_Axe : 1;
  3799. ubyte Cheap_Pole : 1;
  3800. ubyte Beginners_Pole : 1;
  3801. ubyte Skilled_Pole : 1;
  3802. ubyte Famous_Pole : 1;
  3803. ubyte Sacred_Pole : 1;
  3804. } forge_FarmTools;
  3805. struct {
  3806. ubyte Headband : 1;
  3807. ubyte Blue_Ribbon : 1;
  3808. ubyte Green_Ribbon : 1;
  3809. ubyte Purple_Ribbon : 1;
  3810. ubyte Summer_Headdress : 1;
  3811. ubyte Spectacles : 1;
  3812. ubyte Straw_Hat : 1;
  3813. ubyte Fancy_Hat : 1;
  3814. ubyte Brand_Glasses : 1;
  3815. ubyte Cute_Knitting : 1;
  3816. ubyte Intelligent_Glasses : 1;
  3817. ubyte Fireproof_Hood : 1;
  3818. ubyte Black_Ribbon : 1;
  3819. ubyte Lolita_Headdress : 1;
  3820. ubyte Headdress : 1;
  3821. ubyte Yellow_Ribbon : 1;
  3822. ubyte Autumn_Headdress : 1;
  3823. ubyte Cat_Ears : 1;
  3824. ubyte Silver_Hairpin : 1;
  3825. ubyte Red_Ribbon : 1;
  3826. ubyte Spring_Headdress : 1;
  3827. ubyte Orange_Ribbon : 1;
  3828. ubyte Winter_Headdress : 1;
  3829. ubyte White_Ribbon : 1;
  3830. ubyte Four_Seasons : 1;
  3831. ubyte Feathered_Hat : 1;
  3832. ubyte Gold_Hairpin : 1;
  3833. ubyte Indigo_Ribbon : 1;
  3834. ubyte Crown : 1;
  3835. ubyte Turnip_Headgear : 1;
  3836. ubyte Pumpkin_Headgear : 1;
  3837. ubyte Silk_Hat : 1;
  3838. } craft_Headgear;
  3839. ubyte : 1; // dummy_341
  3840. ubyte Engagement_Ring : 1;
  3841. struct {
  3842. ubyte Wettable_Powder : 1;
  3843. ubyte Greenifier : 1;
  3844. ubyte GreenifierPlus : 1;
  3845. ubyte FormulaA : 1;
  3846. ubyte FormulaB : 1;
  3847. ubyte FormulaC : 1;
  3848. ubyte NoRotAlpha : 1;
  3849. ubyte NoRotBeta : 1;
  3850. ubyte Giantizer : 1;
  3851. ubyte Minimizer : 1;
  3852. } chem_FarmChemicals;
  3853. struct {
  3854. ubyte Small_Shield : 1;
  3855. ubyte Umbrella : 1;
  3856. ubyte Iron_Shield : 1;
  3857. ubyte Monkey_Plush : 1;
  3858. ubyte Round_Shield : 1;
  3859. ubyte Turtle_Shield : 1;
  3860. ubyte Chaos_Shield : 1;
  3861. ubyte Bone_Shield : 1;
  3862. ubyte Magic_Shield : 1;
  3863. ubyte Heavy_Shield : 1;
  3864. ubyte Platinum_Shield : 1;
  3865. ubyte Kite_Shield : 1;
  3866. ubyte Knight_Shield : 1;
  3867. ubyte Element_Shield : 1;
  3868. ubyte Magical_Shield : 1;
  3869. ubyte Prism_Shield : 1;
  3870. ubyte Rune_Shield : 1;
  3871. } craft_Shields;
  3872. struct {
  3873. ubyte Feather_Boots : 1;
  3874. ubyte Heavy_Boots : 1;
  3875. ubyte Leather_Boots : 1;
  3876. ubyte Iron_Geta : 1;
  3877. ubyte Snow_Boots : 1;
  3878. ubyte Ice_Skates : 1;
  3879. ubyte Piyo_Sandals : 1;
  3880. ubyte Step_In_Boots : 1;
  3881. ubyte Ghost_Boots : 1;
  3882. ubyte Knight_Boots : 1;
  3883. ubyte Strider_Boots : 1;
  3884. ubyte Secret_Shoes : 1;
  3885. ubyte Wet_Boots : 1;
  3886. ubyte Sneaking_Boots : 1;
  3887. ubyte Fast_Step_Boots : 1;
  3888. ubyte Water_Shoes : 1;
  3889. ubyte Rocket_Wing : 1;
  3890. ubyte Silver_Boots : 1;
  3891. ubyte Gold_Boots : 1;
  3892. ubyte Bone_Boots : 1;
  3893. ubyte Fairy_Boots : 1;
  3894. ubyte Free_Farming_Shoes : 1;
  3895. } craft_Shoes;
  3896. struct {
  3897. ubyte Broadsword : 1;
  3898. ubyte Steel_Sword : 1;
  3899. ubyte Steel_Sword_Plus : 1;
  3900. ubyte Cutlass : 1;
  3901. ubyte Aqua_Sword : 1;
  3902. ubyte Invisiblade : 1;
  3903. ubyte Defender : 1;
  3904. ubyte Burning_Sword : 1;
  3905. ubyte Gorgeous_Sword : 1;
  3906. ubyte Gaia_Sword : 1;
  3907. ubyte Snakesword : 1;
  3908. ubyte Luck_Blade : 1;
  3909. ubyte Platinum_Sword : 1;
  3910. ubyte Wind_Sword : 1;
  3911. ubyte Chaos_Blade : 1;
  3912. ubyte Sakura : 1;
  3913. ubyte Sunspot : 1;
  3914. ubyte Durendal : 1;
  3915. ubyte Aerial_Blade : 1;
  3916. ubyte Grantale : 1;
  3917. ubyte Smash_Blade : 1;
  3918. ubyte Icifier : 1;
  3919. ubyte Soul_Eater : 1;
  3920. ubyte Raventine : 1;
  3921. ubyte Star_Saber : 1;
  3922. ubyte Platinum_Sword_Plus : 1;
  3923. ubyte Dragon_Slayer : 1;
  3924. ubyte Rune_Blade : 1;
  3925. ubyte Gladius : 1;
  3926. ubyte Rune_Legend : 1;
  3927. ubyte Back_Scratcher : 1;
  3928. ubyte Spoon : 1;
  3929. ubyte Veggieblade : 1;
  3930. } forge_ShortSwords;
  3931. struct {
  3932. ubyte Claymore : 1;
  3933. ubyte Zweihaender : 1;
  3934. ubyte Zweihaender_Plus : 1;
  3935. ubyte Great_Sword : 1;
  3936. ubyte Sea_Cutter : 1;
  3937. ubyte Cyclone_Blade : 1;
  3938. ubyte Poison_Blade : 1;
  3939. ubyte Katzbalger : 1;
  3940. ubyte Earth_Shade : 1;
  3941. ubyte Big_Knife : 1;
  3942. ubyte Katana : 1;
  3943. ubyte Flame_Saber : 1;
  3944. ubyte Bio_Smasher : 1;
  3945. ubyte Snow_Crown : 1;
  3946. ubyte Dancing_Dicer : 1;
  3947. ubyte Flamberge : 1;
  3948. ubyte Flamberge_Plus : 1;
  3949. ubyte Volcanon : 1;
  3950. ubyte Psycho : 1;
  3951. ubyte Shine_Blade : 1;
  3952. ubyte Grand_Smasher : 1;
  3953. ubyte Belzebuth : 1;
  3954. ubyte Orochi : 1;
  3955. ubyte Punisher : 1;
  3956. ubyte Steel_Slicer : 1;
  3957. ubyte Moon_Shadow : 1;
  3958. ubyte Blue_Eyed_Blade : 1;
  3959. ubyte Balmung : 1;
  3960. ubyte Braveheart : 1;
  3961. ubyte Force_Element : 1;
  3962. ubyte Heaven_Asunder : 1;
  3963. ubyte Caliburn : 1;
  3964. ubyte Dekash : 1;
  3965. ubyte Daicone : 1;
  3966. } forge_LongSwords;
  3967. struct {
  3968. ubyte Spear : 1;
  3969. ubyte Wood_Staff : 1;
  3970. ubyte Lance : 1;
  3971. ubyte Lance_Plus : 1;
  3972. ubyte Needle_Spear : 1;
  3973. ubyte Trident : 1;
  3974. ubyte Water_Spear : 1;
  3975. ubyte Halberd : 1;
  3976. ubyte Corsesca : 1;
  3977. ubyte Corsesca_Plus : 1;
  3978. ubyte Poison_Spear : 1;
  3979. ubyte Fivestaff : 1;
  3980. ubyte Heavy_Lance : 1;
  3981. ubyte Feather_Lance : 1;
  3982. ubyte Iceberg : 1;
  3983. ubyte Blood_Lance : 1;
  3984. ubyte Magical_Lance : 1;
  3985. ubyte Flare_Lance : 1;
  3986. ubyte Brionac : 1;
  3987. ubyte Poison_Queen : 1;
  3988. ubyte Monk_Staff : 1;
  3989. ubyte Metus : 1;
  3990. ubyte Silent_Grave : 1;
  3991. ubyte Overbreak : 1;
  3992. ubyte Bjor : 1;
  3993. ubyte Belvarose : 1;
  3994. ubyte Gae_Bolg : 1;
  3995. ubyte Gungnir : 1;
  3996. ubyte Dragons_Fang : 1;
  3997. ubyte Legion : 1;
  3998. ubyte Pitchfork : 1;
  3999. ubyte Safety_Lance : 1;
  4000. ubyte Pine_Club : 1;
  4001. ubyte : 1; // dummy_492
  4002. ubyte : 1; // dummy_493
  4003. ubyte : 1; // dummy_494
  4004. ubyte : 1; // dummy_495
  4005. ubyte : 1; // dummy_496
  4006. } forge_Spears;
  4007. struct {
  4008. ubyte Battle_Hammer : 1;
  4009. ubyte Battle_Axe : 1;
  4010. ubyte Bat : 1;
  4011. ubyte War_Hammer : 1;
  4012. ubyte Battle_Scythe : 1;
  4013. ubyte War_Hammer_Plus : 1;
  4014. ubyte Pole_Axe : 1;
  4015. ubyte Iron_Bat : 1;
  4016. ubyte Pole_Axe_Plus : 1;
  4017. ubyte Great_Hammer : 1;
  4018. ubyte Great_Axe : 1;
  4019. ubyte Ice_Hammer : 1;
  4020. ubyte Tomahawk : 1;
  4021. ubyte Basilisk_Fang : 1;
  4022. ubyte Bone_Hammer : 1;
  4023. ubyte Rock_Axe : 1;
  4024. ubyte Strong_Stone : 1;
  4025. ubyte Demon_Axe : 1;
  4026. ubyte Flame_Hammer : 1;
  4027. ubyte Gigant_Hammer : 1;
  4028. ubyte Sky_Hammer : 1;
  4029. ubyte Frost_Axe : 1;
  4030. ubyte Crescent_Axe : 1;
  4031. ubyte Crescent_Axe_Plus : 1;
  4032. ubyte Graviton_Hammer : 1;
  4033. ubyte Spiked_Hammer : 1;
  4034. ubyte Heat_Axe : 1;
  4035. ubyte Crystal_Hammer : 1;
  4036. ubyte Schnabel : 1;
  4037. ubyte Double_Edge : 1;
  4038. ubyte Alldale : 1;
  4039. ubyte Gigant_Hammer_Plus : 1;
  4040. ubyte Devil_Finger : 1;
  4041. ubyte Kongo : 1;
  4042. ubyte Executioner : 1;
  4043. ubyte Mjolnir : 1;
  4044. ubyte Fatal_Crush : 1;
  4045. ubyte Saint_Axe : 1;
  4046. ubyte Splash_Star : 1;
  4047. ubyte Hammer : 1;
  4048. ubyte Toy_Hammer : 1;
  4049. ubyte Axe : 1;
  4050. ubyte Lollipop : 1;
  4051. ubyte : 1; // dummy_540
  4052. ubyte : 1; // dummy_541
  4053. ubyte : 1; // dummy_542
  4054. ubyte : 1; // dummy_543
  4055. ubyte : 1; // dummy_544
  4056. ubyte : 1; // dummy_545
  4057. ubyte : 1; // dummy_546
  4058. ubyte : 1; // dummy_547
  4059. ubyte : 1; // dummy_548
  4060. ubyte : 1; // dummy_549
  4061. ubyte : 1; // dummy_550
  4062. ubyte : 1; // dummy_551
  4063. ubyte : 1; // dummy_552
  4064. ubyte : 1; // dummy_553
  4065. ubyte : 1; // dummy_554
  4066. ubyte : 1; // dummy_555
  4067. ubyte : 1; // dummy_556
  4068. ubyte : 1; // dummy_557
  4069. ubyte : 1; // dummy_558
  4070. ubyte : 1; // dummy_559
  4071. } forge_AxesHammers;
  4072. struct {
  4073. ubyte Rod : 1;
  4074. ubyte Amethyst_Rod : 1;
  4075. ubyte Aquamarine_Rod : 1;
  4076. ubyte Friendly_Rod : 1;
  4077. ubyte Love_Love_Rod : 1;
  4078. ubyte Staff : 1;
  4079. ubyte Emerald_Rod : 1;
  4080. ubyte Silver_Staff : 1;
  4081. ubyte Flare_Staff : 1;
  4082. ubyte Ruby_Rod : 1;
  4083. ubyte Sapphire_Rod : 1;
  4084. ubyte Earth_Staff : 1;
  4085. ubyte Lightning_Wand : 1;
  4086. ubyte Ice_Staff : 1;
  4087. ubyte Diamond_Rod : 1;
  4088. ubyte Wizards_Staff : 1;
  4089. ubyte Mages_Staff : 1;
  4090. ubyte Shooting_Star_Staff : 1;
  4091. ubyte Hell_Branch : 1;
  4092. ubyte Crimson_Staff : 1;
  4093. ubyte Bubble_Staff : 1;
  4094. ubyte Gaia_Rod : 1;
  4095. ubyte Cyclone_Rod : 1;
  4096. ubyte Storm_Wand : 1;
  4097. ubyte Rune_Staff : 1;
  4098. ubyte Mages_Staff_Plus : 1;
  4099. ubyte Magic_Broom : 1;
  4100. ubyte Magic_Shot : 1;
  4101. ubyte Hell_Curse : 1;
  4102. ubyte Algernon : 1;
  4103. ubyte Sorcerers_Wand : 1;
  4104. ubyte Basket : 1;
  4105. ubyte Golden_Turnip_Staff : 1;
  4106. ubyte Sweet_Potato_Staff : 1;
  4107. ubyte Elvish_Harp : 1;
  4108. ubyte Syringe : 1;
  4109. } forge_Staves;
  4110. struct {
  4111. ubyte Short_Dagger : 1;
  4112. ubyte Steel_Edge : 1;
  4113. ubyte Frost_Edge : 1;
  4114. ubyte Twin_Leeks : 1;
  4115. ubyte Iron_Edge : 1;
  4116. ubyte Thief_Knife : 1;
  4117. ubyte Wind_Edge : 1;
  4118. ubyte Gorgeous_Lx : 1;
  4119. ubyte Steel_Katana : 1;
  4120. ubyte Twin_Blade : 1;
  4121. ubyte Rampage : 1;
  4122. ubyte Salamander : 1;
  4123. ubyte Platinum_Edge : 1;
  4124. ubyte Sonic_Dagger : 1;
  4125. ubyte Chaos_Edge : 1;
  4126. ubyte Desert_Wind : 1;
  4127. ubyte Broken_Wall : 1;
  4128. ubyte Force_Divide : 1;
  4129. ubyte Heart_Fire : 1;
  4130. ubyte Orcus_Sword : 1;
  4131. ubyte Deep_Blizzard : 1;
  4132. ubyte Dark_Invitation : 1;
  4133. ubyte Priest_Saber : 1;
  4134. ubyte Efreet : 1;
  4135. ubyte Dragoon_Claw : 1;
  4136. ubyte Emerald_Edge : 1;
  4137. ubyte Rune_Edge : 1;
  4138. ubyte Earnest_Edge : 1;
  4139. ubyte Twin_Justice : 1;
  4140. ubyte Double_Scratch : 1;
  4141. ubyte Acutorimass : 1;
  4142. } forge_DualBlades;
  4143. struct {
  4144. ubyte Leather_Gloves : 1;
  4145. ubyte Brass_Knuckles : 1;
  4146. ubyte Kote : 1;
  4147. ubyte Gloves : 1;
  4148. ubyte Bear_Claws : 1;
  4149. ubyte Fists_of_the_Earth : 1;
  4150. ubyte Fists_of_Fire : 1;
  4151. ubyte Fists_of_Water : 1;
  4152. ubyte Dragon_Claws : 1;
  4153. ubyte Fists_of_Dark : 1;
  4154. ubyte Fists_of_Wind : 1;
  4155. ubyte Fists_of_Light : 1;
  4156. ubyte Cat_Punch : 1;
  4157. ubyte Animal_Puppets : 1;
  4158. ubyte Ironleaf_Fists : 1;
  4159. ubyte Caestus : 1;
  4160. ubyte Golem_Punch : 1;
  4161. ubyte Hand_of_God : 1;
  4162. ubyte Bazal_Katar : 1;
  4163. ubyte Fenrir : 1;
  4164. } forge_Fists;
  4165. } RECIP <size=188>;
  4166.  
  4167. typedef struct {
  4168. ubyte : 5;
  4169. ubyte season : 2 <read=ReadBMonth, write=WriteBMonth, comment="Spring = 0, Winter = 3">;
  4170. ubyte day : 5 <read=ReadBDay, write=WriteBDay>;
  4171. ubyte : 4;
  4172. } BDAY <read=GetBDay>;
  4173.  
  4174. typedef struct {
  4175. long level;
  4176. long exp;
  4177. } SKILL <read=ReadSkillVal>;
  4178.  
  4179. typedef struct {
  4180. SPELLID spellID : 10; // 10 bits spell ID
  4181. ubyte isActive : 1; // 1 bit spell exists?
  4182. ubyte level : 5 <comment="Level - 1 (0-9)">;
  4183. } SPELL <read=ReadSpell, size=2>;
  4184.  
  4185. typedef struct {
  4186. ITEMID itemID : 11;
  4187. ubyte amount : 5 <comment="Item stack size (for spells: level)">;
  4188. short isCrafted;
  4189. if( (isCrafted > 0) || ( (itemID >= 985) && (itemID < 1020) ) ) { // crafted or fish
  4190. ubyte iLevel;
  4191. ubyte UnknownA;
  4192. if (isCrafted > 0) {
  4193. ubyte iQuality;
  4194. ushort UnknownB;
  4195. ushort : 2;
  4196. ushort iRarity : 8;
  4197. ubyte UnknownC;
  4198. ITEMID inheritedItem;
  4199. }
  4200. else {
  4201. ushort UnknownB;
  4202. ushort fishSize <comment="in mm">;
  4203. }
  4204. }
  4205. else {
  4206. ubyte iLevels[9] <comment="Descending order, Level - 1 (0-9)">;
  4207. }
  4208.  
  4209. } ITEM <read=ReadItem, size=28, optimize=false>;
  4210.  
  4211. // An object on a farm
  4212. typedef struct {
  4213. CROPID crop;
  4214. ubyte UnknownA : 2 <hidden=true>;
  4215. ushort cropLevel : 12 <read=ReadCropLvl, write=WriteCropLvl, comment="Always rounded down">;
  4216. ushort sizeBonus : 10 <read=ReadCropSize, write=WriteCropSize,comment="Range -2 to 2">;
  4217. uint growthProgress : 17 <read=ReadCropGrowth, write=WriteCropGrowth, comment="Max. 511; measured in days assuming normal growth">;
  4218. ushort additionalCrops : 12 <read=ReadCropNum, write=WriteCropNum, comment="Range -7 to 7">;
  4219. ubyte isWatered : 1;
  4220. ubyte UnknownB : 2 <hidden=true>;
  4221. ubyte health;
  4222. ushort coordX : 11 <comment="'Square' length is 32">;
  4223. ushort coordY : 10 <comment="'Square' length is 32">;
  4224. ubyte levelChanged : 1 <comment="CropLv changed by soil? (turns number blue)">;
  4225. ubyte UnknownC : 1 <hidden=true>;
  4226. ubyte playerMade : 1 <comment="(Not sure) Player created this?">;
  4227. } CROP <size=12, name=ReadCropName, read=ReadCropValue, comment=ReadCropComment>;
  4228.  
  4229. // An interactable object (storage boxes etc.)
  4230. typedef struct {
  4231. ROOM room : 15;
  4232. ushort UnknownA :1 ;
  4233. OBJID object <comment="unsure">;
  4234. ushort coordX <comment="'Square' length is 32">;
  4235. ushort coordY <comment="'Square' length is 32">;
  4236. } OBJ <size=8, name=ReadObjName, read=ReadObjValue>;
  4237.  
  4238. typedef struct {
  4239. local int i;
  4240. for( i = 0; i < 15; i ++ )
  4241. ITEM item;
  4242. } EQPAGE <optimize=true>;
  4243.  
  4244. typedef struct {
  4245. local int i;
  4246. for( i = 0; i < 15; i ++ )
  4247. SPELL spell;
  4248. } SPLPAGE <optimize=true>;
  4249.  
  4250. typedef struct {
  4251. ITEM carried;
  4252. ITEM weapon;
  4253. ITEM shield;
  4254. ITEM accessory;
  4255. ITEM head;
  4256. ITEM boots;
  4257. struct {
  4258. ITEM spell_X1;
  4259. ITEM spell_Y1;
  4260. ITEM spell_X2;
  4261. ITEM spell_Y2;
  4262. } spells;
  4263. ITEM armor;
  4264. } EQUIPINV <size=308>;
  4265.  
  4266. typedef struct {
  4267. local int i;
  4268. for( i = 0; i < 4; i ++ )
  4269. EQPAGE page;
  4270. } BACKPACK <size=1680, optimize=true>;
  4271.  
  4272. typedef struct {
  4273. local int i;
  4274. for( i = 0; i < 2; i ++ )
  4275. SPLPAGE page;
  4276. } SPELLINV <size=60, optimize=true>;
  4277.  
  4278. typedef struct {
  4279. local int i;
  4280. for( i = 0; i < 66; i ++ )
  4281. EQPAGE page;
  4282. } STORAGE <size=27720, optimize=true>;
  4283.  
  4284. typedef struct {
  4285. local int i;
  4286. for( i = 0; i < 66; i ++ )
  4287. EQPAGE page;
  4288. } FRIDGE <size=27720, optimize=true>;
  4289.  
  4290. typedef struct {
  4291. local int i;
  4292. for( i = 0; i < 6; i ++ )
  4293. SPLPAGE page;
  4294. } LIBRARY <size=180, optimize=true>;
  4295.  
  4296. typedef struct {
  4297. local int i;
  4298. for( i = 0; i < 20; i ++ )
  4299. EQPAGE page;
  4300. } SHIPBOX <size=8400, optimize=true>;
  4301.  
  4302. typedef struct {
  4303. local int i;
  4304. for( i = 0; i < 1; i ++ )
  4305. EQPAGE page;
  4306. } SHOPBOX <size=420, optimize=true>;
  4307.  
  4308. typedef struct {
  4309. local int i;
  4310. for( i = 0; i < 8; i ++ )
  4311. EQPAGE page;
  4312. } WPNBOX <size=3360, optimize=true>;
  4313.  
  4314. typedef struct {
  4315. local int i;
  4316. for( i = 0; i < 10; i ++ )
  4317. EQPAGE page;
  4318. } TOOLBOX <size=4200, optimize=true>;
  4319.  
  4320. typedef struct {
  4321. local int i;
  4322. for( i = 0; i < 8; i ++ )
  4323. EQPAGE page;
  4324. } WARDROBE <size=3360, optimize=true>;
  4325.  
  4326. typedef struct {
  4327. ITEM weapon;
  4328. ITEM shield;
  4329. ITEM accessory;
  4330. ITEM armor;
  4331. ITEM head;
  4332. ITEM boots;
  4333. ITEM UnkA;
  4334. ITEM UnkB;
  4335. ITEM UnkC;
  4336. } NPCINV <size=252>;
  4337.  
  4338. typedef struct {
  4339. long curHP;
  4340. long modHP;
  4341. ushort curRP;
  4342. ushort modRP;
  4343. short modStr;
  4344. ushort UnknownStr;
  4345. short modInt;
  4346. ushort UnknownInt;
  4347. short modVit;
  4348. ushort UnknownVit;
  4349. ushort level;
  4350. ushort UnknownB;
  4351. long exp;
  4352. ushort UnknownC;
  4353. COST costume;
  4354. } CHARSTAT <size=100>;
  4355.  
  4356. typedef struct {
  4357. local int i;
  4358. for( i = 0; i < 20; i ++ )
  4359. CHARSTAT monster <name=ReadMonNameB>;
  4360. } BARNSTAT <optimize=true>;
  4361.  
  4362. typedef struct ( ubyte bytelen, ubyte hasSign, float factor ){
  4363. local ubyte bytelen = bytelen;
  4364. local ubyte hasSign = hasSign;
  4365. local float factor = factor;
  4366. ulong value : bytelen;
  4367. } FSTAT;
  4368.  
  4369. typedef struct {
  4370. ushort tmpSpeed : 11 <read=GetTmpSpeed, write=SetTmpSpeed, comment="Range 0 to 8">;
  4371. ushort tmpNumber : 11 <read=GetTmpNumber, write=SetTmpNumber, comment="Range -4 to 4">;
  4372. ushort tmpQuality : 10 <read=GetTmpQuality, write=SetTmpQuality, comment="Range -2 to 2">;
  4373.  
  4374. ushort tmpSize : 10 <read=GetTmpSize, write=SetTmpSize, comment="Range -2 to 2">;
  4375. ushort defense : 6 <comment="Range 0 to 63">;
  4376. ubyte HPc <comment="Range 0 to 255">;
  4377. ubyte UnknownA : 8;
  4378.  
  4379. ubyte UnknownB : 4;
  4380. ubyte numberA : 4 <read=GetNumber, write=SetNumber, comment="Range 1 to 16.99">;
  4381. ubyte qualityA : 4 <read=GetQuality, write=SetQuality, comment="Range 1 to 16.99">;
  4382. ubyte sizeA : 4 <read=GetSize, write=SetSize, comment="Range 1 to 16.99">;
  4383. ubyte overallB <read=GetOverall, write=SetOverall, comment="Range 1 to 16.99">;
  4384. ubyte speedB <read=GetSpeed, write=SetSpeed, comment="Range 1 to 16.99">;
  4385.  
  4386. ubyte numberB <read=GetNumber, write=SetNumber, comment="Range 1 to 16.99">;
  4387. ubyte qualityB <read=GetQuality, write=SetQuality, comment="Range 1 to 16.99">;
  4388. ubyte sizeB <read=GetSize, write=SetSize, comment="Range 1 to 16.99">;
  4389. ubyte overallA : 4 <read=GetOverall, write=SetOverall, comment="Range 1 to 16.99">;
  4390. ubyte speedA : 4 <read=GetSpeed, write=SetSpeed, comment="Range 1 to 16.99">;
  4391. } SOIL <size=16, read=ReadSoil, comment=CommentSoil>;
  4392.  
  4393.  
  4394. typedef struct ( byte amnt ){
  4395. local int j;
  4396. for( j = 0; j < amnt; j ++ )
  4397. SOIL soilpatch;
  4398. } FROW;
  4399.  
  4400. typedef struct ( byte cols, byte rows )
  4401. {
  4402. local int i;
  4403. for( i = 0; i < rows; i ++ )
  4404. FROW fieldRow ( cols );
  4405. if( (cols * rows) < 18 ) {
  4406. i = cols * rows;
  4407. struct {
  4408. for( i; i < 18; i ++ )
  4409. SOIL soilpatch;
  4410. } dummyPatches <hidden=true>;
  4411. }
  4412. } FARM;
  4413.  
  4414. typedef struct {
  4415. long FP;
  4416. uint Flags[2];
  4417. ushort ID <comment="maybe?">;
  4418. struct {
  4419. ROOM location;
  4420. ushort coordX;
  4421. ushort coordY;
  4422. } pos;
  4423. } VILSTAT <size=44, comment=ReadVillagerLocation>;
  4424.  
  4425. typedef struct {
  4426. char name[19];
  4427. ubyte slotID;
  4428. uint type;
  4429. ushort FP;
  4430. } MONSTAT <name=ReadMonName, size=36>;
  4431.  
  4432. // Highest level shipped for flowers/crops
  4433. typedef struct {
  4434. ubyte Unknown[19];
  4435. ubyte Strawberry_lv;
  4436. ubyte Cabbage_lv;
  4437. ubyte PinkTurnip_lv;
  4438. ubyte Onion_lv;
  4439. ubyte Toyherb_lv;
  4440. ubyte MoondropFlower_lv;
  4441. ubyte CherryGrass_lv;
  4442. ubyte LampGrass_lv;
  4443. ubyte EmeryFlower_lv;
  4444. ubyte BlueCrystal_lv;
  4445. ubyte GoldenCabbage_lv;
  4446. ubyte PinkMelon_lv;
  4447. ubyte Pumpkin_lv;
  4448. ubyte Cucumber_lv;
  4449. ubyte Corn_lv;
  4450. ubyte Tomato_lv;
  4451. ubyte Eggplant_lv;
  4452. ubyte Pineapple_lv;
  4453. ubyte PinkCat_lv;
  4454. ubyte Ironleaf_lv;
  4455. ubyte FourLeafClover_lv;
  4456. ubyte Fireflower_lv;
  4457. ubyte GreenCrystal_lv;
  4458. ubyte GoldenPumpkin_lv;
  4459. ubyte Yam_lv;
  4460. ubyte Potato_lv;
  4461. ubyte Carrot_lv;
  4462. ubyte GreenPepper_lv;
  4463. ubyte Spinach_lv;
  4464. ubyte CharmBlue_lv;
  4465. ubyte AutumnGrass_lv;
  4466. ubyte PomPomGrass_lv;
  4467. ubyte RedCrystal_lv;
  4468. ubyte GoldenPotato_lv;
  4469. ubyte Turnip_lv;
  4470. ubyte Radish_lv;
  4471. ubyte Leek_lv;
  4472. ubyte BokChoy_lv;
  4473. ubyte NoelGrass_lv;
  4474. ubyte WhiteCrystal_lv;
  4475. ubyte GoldenTurnip_lv;
  4476. ubyte HotHotFruit_lv;
  4477. ubyte Fodder_lv;
  4478. ubyte AppleTree_lv;
  4479. ubyte OrangeTree_lv;
  4480. ubyte GrapeTree_lv;
  4481. ubyte TwinkleTree_lv;
  4482. ubyte DungeonFlower_lv;
  4483. ubyte SwordFlower_lv;
  4484. ubyte ShieldFlower_lv;
  4485. } SHIPL;
  4486.  
  4487. // Money earned via items shipped
  4488. typedef struct {
  4489. local int i;
  4490. for( i = 0; i < 1106; i ++ )
  4491. ulong item : 30 <name=ReadShippedName>;
  4492. } SHIPT;
  4493.  
  4494. // FSize for shipped fish
  4495. typedef struct {
  4496. int MasuTrout;
  4497. int Squid;
  4498. int Taimen;
  4499. int Sardine;
  4500. int Char;
  4501. int Chub;
  4502. int GlitterSnapper;
  4503. int Skipjack;
  4504. int Turbot;
  4505. int Gibelio;
  4506. int Salmon;
  4507. int Mackerel;
  4508. int Needlefish;
  4509. int Pike;
  4510. int Sunsquid;
  4511. int Shrimp;
  4512. int Snapper;
  4513. int ThrobbySnapper;
  4514. int RainbowTrout;
  4515. int Flounder;
  4516. int Blowfish;
  4517. int Yellowtail;
  4518. int CrucianCarp;
  4519. int Tuna;
  4520. int Girella;
  4521. int FallFlounder;
  4522. int CherrySalmon;
  4523. int LampSquid;
  4524. int Lobster;
  4525. int PondSmelt;
  4526. int SandFlounder;
  4527. int Rockfish;
  4528. } SHIPF <size=132>;
  4529.  
  4530. // Flags whether an item was shipped or not
  4531. typedef struct {
  4532. local int i;
  4533. for( i = 0; i < 1108; i ++ )
  4534. BFLAG item(i) <name=ReadItemBitName>;
  4535. } SHIPB <size=139>;
  4536.  
  4537. // Flags whether an item was picked up / in player possession?
  4538. typedef struct {
  4539. local int i;
  4540. for( i = 0; i < 1108; i ++ )
  4541. BFLAG item(i) <name=ReadItemBitName>;
  4542. } PICKB <size=139>;
  4543.  
  4544. //-----------------------------------
  4545. // Define main structures
  4546.  
  4547. typedef struct {
  4548. uint CRC32<format=hex>;
  4549. ubyte UnknownA[1];
  4550. DIFF difficulty <comment="RF4S: Extra HELL flag @ 0x1EA3B">;
  4551. ubyte UnknownB[6];
  4552. uint clock_Minutes;
  4553. uint clock_Hours;
  4554. uint day;
  4555. MONTH month;
  4556. uint UnknownC[4];
  4557. struct {
  4558. ROOM room <read=ReadRoom>;
  4559. ushort CoordX <comment="counts from left of screen">;
  4560. ushort CoordY <comment="counts from top of screen">;
  4561. } playerLocation ;
  4562. ubyte UnknownD[4];
  4563. GENDER gender;
  4564. ubyte wateringCanCharges <comment="max. = 20?">;
  4565. uint UnknownE;
  4566. struct {
  4567. uint lumber;
  4568. uint stone;
  4569. uint compost;
  4570. uint fodder;
  4571. } materials;
  4572. uint money;
  4573. uint UnknownF;
  4574. } HEADER <size=84>;
  4575.  
  4576. typedef struct {
  4577. CHARSTAT player;
  4578. CHARSTAT villager[27];
  4579. BARNSTAT monsterbarn[10];
  4580. } BTLSTATS;
  4581.  
  4582. typedef struct {
  4583. struct {
  4584. SKILL shortSword;
  4585. SKILL longSword;
  4586. SKILL spear;
  4587. SKILL axeHammer;
  4588. SKILL dualBlades;
  4589. SKILL fists;
  4590. } Weapons;
  4591. struct {
  4592. SKILL fire;
  4593. SKILL water;
  4594. SKILL earth;
  4595. SKILL wind;
  4596. SKILL light;
  4597. SKILL dark;
  4598. SKILL love;
  4599. } Magic;
  4600. struct {
  4601. SKILL farming;
  4602. SKILL logging;
  4603. SKILL mining;
  4604. SKILL fishing;
  4605. } Farming;
  4606. struct {
  4607. SKILL cooking;
  4608. SKILL forging;
  4609. SKILL chemistry;
  4610. SKILL crafting;
  4611. } Crafting;
  4612. struct {
  4613. SKILL searching;
  4614. SKILL walking;
  4615. SKILL sleeping;
  4616. SKILL eating;
  4617. } Adventure;
  4618. struct {
  4619. SKILL defense;
  4620. SKILL resPoison;
  4621. SKILL resSeal;
  4622. SKILL resParalysis;
  4623. SKILL resSleep;
  4624. SKILL resFatigue;
  4625. SKILL resCold;
  4626. SKILL resKnockout;
  4627. } Defense;
  4628. struct {
  4629. SKILL bathing;
  4630. SKILL taming;
  4631. SKILL throwing;
  4632. SKILL leadership;
  4633. SKILL bartering;
  4634. } Other;
  4635. SKILL Unknown[2] <hidden=true>;
  4636. } SKILLS;
  4637.  
  4638. typedef struct {
  4639. EQUIPINV equipment;
  4640. BACKPACK backpack;
  4641. SPELLINV spellpack;
  4642. FRIDGE fridge;
  4643. STORAGE storage;
  4644. WPNBOX weaponbox;
  4645. WARDROBE wardrobe;
  4646. TOOLBOX toolbox;
  4647. SHIPBOX shippingbox;
  4648. SHOPBOX shopbox;
  4649. LIBRARY bookshelf;
  4650. } ITEMS;
  4651.  
  4652. typedef struct {
  4653. local int i;
  4654. for( i = 0; i < 76; i ++ )
  4655. CROP fieldObject;
  4656. } FOBJ;
  4657.  
  4658. typedef struct {
  4659. local int i;
  4660. for( i = 0; i < 67; i ++ )
  4661. OBJ object;
  4662. } WOBJ <size=536>;
  4663.  
  4664. typedef struct {
  4665. struct {
  4666. FOBJ mainFarm <comment="X 79-431 | Y 176-336 (field squares)">;
  4667. FOBJ secondFarm <comment="">;
  4668. FOBJ thirdFarm <comment="">;
  4669. FOBJ fourthFarm <comment="">;
  4670. FOBJ fifthFarm <comment="">;
  4671. FOBJ springFarm <comment="">;
  4672. FOBJ summerFarm <comment="">;
  4673. FOBJ autumnFarm <comment="">;
  4674. FOBJ winterFarm <comment="">;
  4675. } farmObjects;
  4676. struct {
  4677. FARM mainFarm ( 6,3 ) <comment="First and central plot.">;
  4678. FARM secondFarm ( 6,3 ) <comment="Bottom-left plot.">;
  4679. FARM thirdFarm ( 6,3 ) <comment="Bottom-right plot.">;
  4680. FARM fourthFarm ( 6,3 ) <comment="">;
  4681. FARM fifthFarm ( 6,3 ) <comment="">;
  4682. FARM springFarm ( 2,4 ) <comment="">;
  4683. FARM summerFarm ( 2,2 ) <comment="">;
  4684. FARM autumnFarm ( 3,3 ) <comment="Farm is 2x3 - 3rd (rightmost) column in each row is dummied out.">;
  4685. FARM winterFarm ( 4,3 ) <comment="">;
  4686. } fields <comment="Fields start top-left, count going right and down.">;
  4687. } FARMS <size=10800>;
  4688.  
  4689. typedef struct {
  4690. local int i;
  4691. struct {
  4692. for( i = 0; i < 20; i ++ )
  4693. MONSTAT monster;
  4694. } monsterbarn[10] <size=720, optimize=false>;
  4695. UNKNWN Unknown <size=368, hidden=true>;
  4696. struct {
  4697. VILSTAT Vishnal;
  4698. VILSTAT Clorica;
  4699. VILSTAT Volkanon;
  4700. VILSTAT Forte;
  4701. VILSTAT Kiel;
  4702. VILSTAT Bado;
  4703. VILSTAT Margaret;
  4704. VILSTAT Dylas;
  4705. VILSTAT Arthur;
  4706. VILSTAT Porcoline;
  4707. VILSTAT XiaoPai;
  4708. VILSTAT LinFa;
  4709. VILSTAT Amber;
  4710. VILSTAT Illuminata;
  4711. VILSTAT Doug;
  4712. VILSTAT Blossom;
  4713. VILSTAT Dolce;
  4714. VILSTAT Jones;
  4715. VILSTAT Nancy;
  4716. VILSTAT Leon;
  4717. VILSTAT Ventuswill;
  4718. VILSTAT Son;
  4719. VILSTAT Daughter;
  4720. } villagers;
  4721. } OSTATS;
  4722.  
  4723. typedef struct {
  4724. NPCINV DummyA;
  4725. NPCINV Vishnal;
  4726. NPCINV Clorica;
  4727. NPCINV Volkanon;
  4728. NPCINV Forte;
  4729. NPCINV Kiel;
  4730. NPCINV Bado;
  4731. NPCINV Margaret;
  4732. NPCINV Dylas;
  4733. NPCINV Arthur;
  4734. NPCINV Porcoline;
  4735. NPCINV XiaoPai;
  4736. NPCINV LinFa;
  4737. NPCINV Amber;
  4738. NPCINV Illuminata;
  4739. NPCINV Doug;
  4740. NPCINV Blossom;
  4741. NPCINV Dolce;
  4742. NPCINV Jones;
  4743. NPCINV Nancy;
  4744. NPCINV Leon;
  4745. NPCINV Ventuswill;
  4746. NPCINV Son;
  4747. NPCINV Daughter;
  4748. NPCINV Barrett;
  4749. NPCINV Raven;
  4750. NPCINV DummyB;
  4751. } NPCEQ;
  4752.  
  4753. typedef struct {
  4754. ulong princessPoints <comment="Max 99999">;
  4755. ulong tourists;
  4756. ubyte Unknown <hidden=true>;
  4757. ubyte monstersSlainToday <comment="First 10 monsters give PP">;
  4758. ubyte UnknownA[4] <hidden=true>;
  4759.  
  4760. ubyte : 5;
  4761. ubyte bDisableTownEvents : 1;
  4762. ubyte : 2;
  4763.  
  4764. ubyte : 3;
  4765. ubyte bDisableExpGain : 1;
  4766. ubyte bDisableSkillGain : 1;
  4767. ubyte bSeeMonsterLevels : 1;
  4768. ubyte bSeeMonsterHP : 1;
  4769.  
  4770. ulong UnknownB[3] <hidden=true>;
  4771.  
  4772. ubyte monsterLevelIncrease <comment="# of times the monster level was increased">;
  4773. ubyte UnknownC[7] <hidden=true>;
  4774.  
  4775. struct {
  4776. ulong : 1;
  4777. ulong bFestBeanToss :1;
  4778. ulong : 1;
  4779. ulong bFestDeFluff : 1;
  4780. ulong bFestTurnip : 1;
  4781. ulong bFestTurnipFlurry : 1;
  4782. ulong bFestQuizContest : 1;
  4783. ulong : 1;
  4784.  
  4785. ulong bFestFishingFrenzy : 1;
  4786. ulong : 1;
  4787. ulong bFestSquidCatch : 1;
  4788. ulong : 1;
  4789. ulong bFestSpringHarvest : 1;
  4790. ulong : 2;
  4791. ulong bFestWinterHarvest : 1;
  4792.  
  4793. ulong bFestCooking : 1;
  4794. ulong : 7;
  4795.  
  4796. ulong : 1;
  4797. ulong bFestChristmas : 1;
  4798. ulong : 6;
  4799. } festivalFlags;
  4800.  
  4801. ubyte UnknownD[4] <hidden=true>;
  4802. ulong festivalsOrdered <hidden=true, comment="Ordered once, not currently ordered">;
  4803. MODEL appearanceChange;
  4804. } MISC;
  4805.  
  4806. //--------------------------------------------
  4807. // Custom functions
  4808.  
  4809. // Read out pseudo-float soil values
  4810. string ReadFieldStat( uint fval, ubyte bitlength, float factor, ubyte hasSign, ubyte round ) {
  4811. local string s;
  4812. local double value, div;
  4813. local uint temp = fval;
  4814. local ubyte bLen = bitlength;
  4815. local ubyte neg;
  4816.  
  4817. //Printf( "Raw value: %d, Hex: 0x%04X \nValue's bit length: %d, Factor: %f (0x%08X) \n", temp, temp, bLen, factor, factor);
  4818.  
  4819. if (factor) {
  4820. temp <<= (32 - bLen);
  4821.  
  4822. if (hasSign) {
  4823. if ( temp & 0x80000000 )
  4824. neg = 1;
  4825. //else Printf( "Value is positive! \n");
  4826. temp <<= 1;
  4827. bLen -= 1;
  4828. if( neg )
  4829. //Printf( "Value is negative! Before: 0x%08X, after: 0x%08X \n", temp, ~temp + 1 );
  4830. temp = ~temp;
  4831. }
  4832.  
  4833. temp >>= (32 - bLen);
  4834. //Printf( "Value shifted RIGHT to the end by %d ( 16 - bitLength %d )! Now: %u, Hex: 0x%04X \n", ( 16 - bLen ), bLen, temp, temp);
  4835.  
  4836. // Get maximum bit value and divide by factor ( max. variable value)
  4837. // Get max bit value +1 if variable doesn't reach max value
  4838. div = 1 << bLen;
  4839. if( round )
  4840. div -= 1;
  4841.  
  4842. if( neg )
  4843. div /= -factor;
  4844. else
  4845. div /= factor;
  4846.  
  4847. // divide integer by value to get pseudo-"float"
  4848. // Printf("temp: %d, div: %lf, result: %lf \n", temp, div, value / div );
  4849. value = temp / div;
  4850.  
  4851. //Printf( "Divided value by %d , now: %.18f, \n", temp, value);
  4852.  
  4853. SPrintf( s, "%f", value );
  4854.  
  4855. }
  4856. else s = "No float!";
  4857. // Put the var value into a buffer string via SPrintf
  4858. //SPrintf( s, "Val: %d (0x%04X)", temp, temp );
  4859. return s;
  4860. }
  4861.  
  4862. // Write back pseudo-float soil values
  4863. string WriteFieldStat( double fval, ubyte bitlength, float factor, ubyte hasSign, ubyte round ) {
  4864. local string s;
  4865. local uint mask = -1;
  4866. local uint temp;
  4867. local ubyte bLen = bitlength;
  4868.  
  4869. if (hasSign)
  4870. bLen -= 1;
  4871.  
  4872. // Shift FFFF mask left / right by # of unused bits (effectively, 16 - [number of bits in original value])
  4873. // to get the bit length of our value in active bits
  4874. mask <<= ( 32 - bLen );
  4875. //Printf( "Shift mask LEFT by %d ( 32 - bitLength %d ), now: %u, Hex: 0x%08X \n", (32 - bLen), bLen, mask, mask);
  4876. mask >>= ( 32 - bLen );
  4877. //Printf( "Shift mask RIGHT by %d ( 32 - bitLength %d ), now: %u, Hex: 0x%08X \n", (32 - bLen), bLen, mask, mask);
  4878.  
  4879. if( round )
  4880. SPrintf( s, "%.lf", Abs( fval ) / factor * mask ); // round value by putting into a string at 0 precision
  4881. else
  4882. SPrintf( s, "%.lf", Abs( fval ) / factor * (mask + 1) ); // round value by putting into a string at 0 precision
  4883.  
  4884. SScanf( s, "%u", temp); // read value back out as integer
  4885. if ( temp > mask)
  4886. temp = mask; // limit to maximum value
  4887. //Printf( "Temp value: %u (0x%08X) \n", temp, temp);
  4888.  
  4889. if ( hasSign && ( fval < 0 )) {
  4890. //Printf( "Value is signed and input %lf is negative! \n", fval );
  4891. temp <<= ( 32 - (bLen+1) );
  4892. temp = ~ temp;
  4893. temp >>= ( 32 - (bLen+1) );
  4894. //Printf( "Value now: %u (0x%04X) \n", temp, temp );
  4895. }
  4896. SPrintf( s, "%u", temp);
  4897. return s;
  4898. }
  4899.  
  4900. // Read & write values on a bitflag struct, so you don't have to
  4901. // open it to modify / check
  4902. string ReadBitflag( BFLAG &flag ) {
  4903. local string s;
  4904. SPrintf( s, "%d", flag.flag );
  4905. return s;
  4906. }
  4907.  
  4908. void WriteBitflag( BFLAG &flag, string s ) {
  4909. local ubyte input;
  4910. SScanf( s, "%d", input );
  4911. if( input )
  4912. flag.flag = 1;
  4913. else
  4914. flag.flag = 0;
  4915. }
  4916.  
  4917. // Display soil health, defense and overall quality at a quick glance
  4918. string ReadSoil( SOIL &soil ) {
  4919. local string s;
  4920. local float val;
  4921. SScanf( GetOverall( soil.overallA ), "%f", val);
  4922. // Put the var value into a buffer string via SPrintf
  4923. SPrintf( s, "%dHP %d Def %.2f Ovrl", soil.HPc, soil.defense, val );
  4924. return s;
  4925. }
  4926.  
  4927. // Display unknown soil values as comment for quick comparison
  4928. string CommentSoil( SOIL &soil ) {
  4929. local string s;
  4930. SPrintf( s, "%u | %u", soil.UnknownA, soil.UnknownB );
  4931. return s;
  4932. }
  4933.  
  4934. // Display skill level and exp
  4935. string ReadSkillVal( SKILL &skl ) {
  4936. local string s;
  4937. // Put the var value into a buffer string via SPrintf
  4938. SPrintf( s, "%d ( %d )", skl.level, skl.exp );
  4939. return s;
  4940. }
  4941.  
  4942. // Display spell name
  4943. string ReadSpell( SPELL &spl ) {
  4944. local string s = "";
  4945. if( spl.isActive != 0 )
  4946. s = EnumToString( spl.spellID );
  4947. return s;
  4948. }
  4949.  
  4950. // Display item name
  4951. string ReadItem( ITEM &item ) {
  4952. local string s = "";
  4953. s = EnumToString( item.itemID );
  4954. return s;
  4955. }
  4956.  
  4957. // Display location
  4958. string ReadRoom( ROOM &room ) {
  4959. local string s = "";
  4960. s = EnumToString( room );
  4961. if( s == "" )
  4962. SPrintf(s, "%d", room);
  4963. else
  4964. s = StrDel( s, Strlen( s ) - 4, 4 ); // Remove the _XXX from name
  4965. return s;
  4966. }
  4967.  
  4968. // Display villager location on otherStats
  4969. string ReadVillagerLocation( VILSTAT &vil ) {
  4970. local string s = "";
  4971. s = EnumToString( vil.pos.location );
  4972. if( s == "" )
  4973. SPrintf(s, "%d", room);
  4974. else
  4975. s = StrDel( s, Strlen( s ) - 4, 4 ); // Remove the _XXX from name
  4976. SPrintf( s, "%s (%d,%d)", s, vil.pos.coordX, vil.pos.coordY );
  4977. return s;
  4978. }
  4979.  
  4980. // Display field object's name
  4981. string ReadCropName( CROP &object ) {
  4982. local string s = "";
  4983. local float lvl;
  4984. s = EnumToString( object.crop );
  4985. if( s == "" )
  4986. SPrintf(s, "%d", object.crop);
  4987. else
  4988. s = StrDel( s, Strlen( s ) - 2, 2 ); // Remove the _C from name
  4989. if( object.crop > 37 ) {
  4990. SScanf( ReadCropLvl( object.cropLevel ), "%f", lvl);
  4991. SPrintf( s, "%s LV%.f", s, Floor( lvl ) );
  4992. }
  4993. return s;
  4994. }
  4995.  
  4996. // Display field object's coords
  4997. string ReadCropValue( CROP &object ) {
  4998. local string s = "";
  4999. local float grw;
  5000. if( object.crop > 0 )
  5001. SPrintf( s, "[%d|%d] %dHP", object.coordX, object.coordY, object.health );
  5002. if( object.growthProgress > 0 ) {
  5003. SScanf( ReadCropGrowth( object.growthProgress ), "%f", grw);
  5004. SPrintf( s, "%s %.1fD", s, grw);
  5005. }
  5006. return s;
  5007. }
  5008.  
  5009. // Display field object's unknown values for quick comparison
  5010. string ReadCropComment( CROP &object ) {
  5011. local string s = "";
  5012. if( object.crop > 0 ) {
  5013. SPrintf( s, "%X | %X | %X", object.UnknownA, object.UnknownB, object.UnknownC );
  5014. if( object.levelChanged )
  5015. s += " [Lv]";
  5016. if( object.playerMade )
  5017. s += " [P]";
  5018. }
  5019. return s;
  5020. }
  5021.  
  5022. // Display world object's name
  5023. string ReadObjName( OBJ &object ) {
  5024. local string s = "";
  5025. s = EnumToString( object.object );
  5026. if( s == "" )
  5027. SPrintf(s, "%d", object.object);
  5028. else
  5029. s = StrDel( s, Strlen( s ) - 4, 4 ); // Remove the _XX from name
  5030. return s;
  5031. }
  5032.  
  5033. // Display world object's coords
  5034. string ReadObjValue( OBJ &object ) {
  5035. local string s = "";
  5036. s = EnumToString( object.room );
  5037. if( s == "" )
  5038. SPrintf(s, "%d", object.room);
  5039. else
  5040. s = StrDel( s, Strlen( s ) - 4, 4 ); // Remove the _XXX from name
  5041. SPrintf( s, "%s (%d,%d) | %d", s, object.coordX, object.coordY, object.UnknownA );
  5042. return s;
  5043. }
  5044.  
  5045. // Lmao holy shit this is a terrible way to find the array index of a value
  5046. // Convert float to string to integer why do i have to do this
  5047. // But it works for now, i hope
  5048. string ReadShippedName( ulong &item ) {
  5049. local string s;
  5050. local double val;
  5051. local ITEMID i;
  5052. val = ( startof(item) - startof( parentof(item).item[0] ) );
  5053. val = val * 8 / 30;
  5054. SPrintf( s, "%.lf", val ); // why can't i just round nearest instead...
  5055. SScanf( s, "%d", i);
  5056. return EnumToString( i );
  5057. }
  5058.  
  5059. // Fetch monster name from otherstats for display in battlestats
  5060. // Lmao this jank-ass array index gathering again, kill me
  5061. // And i need TWO OF THEM this time
  5062. string ReadMonNameB( CHARSTAT &monster ) {
  5063. local string s;
  5064. local int idx1, idx2;
  5065. idx1 = ( startof(monster) - startof( parentof(monster).monster[0] ) );
  5066. idx2 = (idx1 % 2000) / 100;
  5067. idx1 /= 0x7D0;
  5068. if( exists( otherStats.monsterbarn[idx1].monster[idx2] ) )
  5069. // SPrintf(s, "%d", otherStats.monsterbarn[idx1].monster[idx2].FP);
  5070. s += otherStats.monsterbarn[idx1].monster[idx2].name;
  5071. else
  5072. s = "monster";
  5073. if( s != "" )
  5074. return s;
  5075. else
  5076. return "(none)";
  5077. }
  5078.  
  5079. // Lets try something else to read bitflag item names
  5080. string ReadItemBitName( BFLAG &flag ) {
  5081. local ITEMID i = flag.idx;
  5082. return EnumToString( i );
  5083. }
  5084.  
  5085. // Read and display monster names in otherstats
  5086. string ReadMonName( MONSTAT &stats ) {
  5087. local string s;
  5088. s += stats.name;
  5089. if( s != "" )
  5090. return s;
  5091. else
  5092. return "(none)";
  5093. }
  5094.  
  5095. // Reverse bit order in a byte
  5096. ubyte ReverseBits( ubyte bits ) {
  5097. bits = (bits & 0xF0) >> 4 | (bits & 0x0F) << 4;
  5098. bits = (bits & 0xCC) >> 2 | (bits & 0x33) << 2;
  5099. bits = (bits & 0xAA) >> 1 | (bits & 0x55) << 1;
  5100. return bits;
  5101. }
  5102.  
  5103. // Read & write reverse bit-order birthday, which is a PITA
  5104. string ReadBDay( ubyte &val )
  5105. {
  5106. local string s;
  5107. local ubyte bits = ReverseBits( val ) >> 3;
  5108. SPrintf( s, "%d", bits );
  5109. return s;
  5110. }
  5111.  
  5112. void WriteBDay( ubyte &val, string s ) {
  5113. local ubyte bits;
  5114. SScanf( s, "%d", bits );
  5115. val = ReverseBits( bits ) >> 3;
  5116. }
  5117.  
  5118. // Read & write reverse bit-order birth month, still a PITA
  5119. string ReadBMonth( ubyte &val )
  5120. {
  5121. local string s;
  5122. local ubyte bits = ReverseBits( val ) >> 6;
  5123. SPrintf( s, "%d", bits );
  5124. return s;
  5125. }
  5126.  
  5127. void WriteBMonth( ubyte &val, string s ) {
  5128. local ubyte bits;
  5129. SScanf( s, "%d", bits );
  5130. val = ReverseBits( bits ) >> 6;
  5131. }
  5132.  
  5133. // Get a nice display string for BDay
  5134. string GetBDay( BDAY &bday ) {
  5135. local string s;
  5136. local ubyte day = ReverseBits( bday.day ) >> 3;
  5137. local ubyte season = ReverseBits( bday.season ) >> 6;
  5138. local MONTH month = season;
  5139. SPrintf( s, "%d. %s", day, EnumToString(month) );
  5140. return s;
  5141. }
  5142.  
  5143. // Display & modify crop level
  5144. string ReadCropLvl( ushort &lvl ) {
  5145. local string s;
  5146. local float f1;
  5147. SScanf( ReadFieldStat( lvl, 12, 16, 0, 0 ) , "%f", f1 );
  5148. SPrintf(s, "%f", f1 + 1 );
  5149. return s;
  5150. }
  5151.  
  5152. void WriteCropLvl( ushort &lvl, string s ) {
  5153. local double value;
  5154. SScanf( s, "%lf", value );
  5155. value = Max( Abs(value) - 1, 0 ); // minimum 0
  5156. SScanf( WriteFieldStat( value, 12, 16, 0, 0 ), "%u", lvl );
  5157. }
  5158.  
  5159. // Display & modify crop size bonus
  5160. string ReadCropSize( ushort &size ) {
  5161. return ReadFieldStat( size, 10, 2, 1, 0 );
  5162. }
  5163.  
  5164. void WriteCropSize( ushort &size, string s ) {
  5165. local double value;
  5166. SScanf( s, "%lf", value );
  5167. SScanf( WriteFieldStat( value, 10, 2, 1, 0 ), "%u", size );
  5168. }
  5169.  
  5170. // Display & modify crop growth
  5171. string ReadCropGrowth( uint &grw ) {
  5172. return ReadFieldStat( grw, 17, 512, 0, 0 );
  5173. }
  5174.  
  5175. void WriteCropGrowth( uint &grw, string s ) {
  5176. local double value;
  5177. SScanf( s, "%lf", value );
  5178. SScanf( WriteFieldStat( value, 17, 512, 0, 0 ), "%u", grw );
  5179. }
  5180.  
  5181. // Display & modify additional crop yield
  5182. string ReadCropNum( ushort &num ) {
  5183. return ReadFieldStat( num, 12, 8, 1, 0 );
  5184. }
  5185.  
  5186. void WriteCropNum( ushort &num, string s ) {
  5187. local double value;
  5188. SScanf( s, "%lf", value );
  5189. SScanf( WriteFieldStat( value, 12, 8, 1, 0 ), "%u", num );
  5190. }
  5191.  
  5192. // All the silly helper functions for soil values
  5193. string GetTmpSpeed( uint16 &fval ) {
  5194. return ReadFieldStat( fval, 11, 8, 0, 1 );
  5195. }
  5196.  
  5197. void SetTmpSpeed( uint16 &fval, string s ) {
  5198. local double value;
  5199. SScanf( s, "%lf", value );
  5200. SScanf( WriteFieldStat( value, 11, 8, 0, 1 ), "%u", fval );
  5201. }
  5202.  
  5203. string GetTmpNumber( uint16 &fval ) {
  5204. return ReadFieldStat( fval, 11, 4, 1, 1 );
  5205. }
  5206.  
  5207. void SetTmpNumber( uint16 &fval, string s ) {
  5208. local double value;
  5209. SScanf( s, "%lf", value );
  5210. SScanf( WriteFieldStat( value, 11, 4, 1, 1 ), "%u", fval );
  5211. }
  5212.  
  5213. string GetTmpQuality( uint16 &fval ) {
  5214. return ReadFieldStat( fval, 10, 2, 1, 1 );
  5215. }
  5216.  
  5217. void SetTmpQuality( uint16 &fval, string s ) {
  5218. local double value;
  5219. SScanf( s, "%lf", value );
  5220. SScanf( WriteFieldStat( value, 10, 2, 1, 1 ), "%u", fval );
  5221. }
  5222.  
  5223. string GetTmpSize( uint16 &fval ) {
  5224. return ReadFieldStat( fval, 10, 2, 1, 1 );
  5225. }
  5226.  
  5227. void SetTmpSize( uint16 &fval, string s ) {
  5228. local double value;
  5229. SScanf( s, "%lf", value );
  5230. SScanf( WriteFieldStat( value, 10, 2, 1, 1 ), "%u", fval );
  5231. }
  5232.  
  5233. string GetOverall( ubyte &fval ) {
  5234. local string s;
  5235. local float f1;
  5236. local uint value = parentof(fval).overallA;
  5237. value = (value << 8) + parentof(fval).overallB;
  5238. SScanf( ReadFieldStat( value, 12, 16, 0, 0 ) , "%f", f1 );
  5239. SPrintf(s, "%f", f1 + 1 );
  5240. return s;
  5241. }
  5242.  
  5243. void SetOverall( ubyte &fval, string s ) {
  5244. local float f1, f2;
  5245. local double value;
  5246. SScanf( s, "%lf", value );
  5247. value = Abs( value );
  5248. //Printf( "Received input string %s, read out value: %lf \n", s, value);
  5249. f1 = Max( Floor(value) - 1, 0 ); // minimum 0
  5250. f2 = Max( value - f1 - 1, 0 ); // minimum 0
  5251. //Printf( "Split values into: ValA %f, ValB %f \n", f1, f2);
  5252. SScanf( WriteFieldStat( f1, 4, 15, 0, 0 ) , "%u", parentof(fval).overallA );
  5253. SScanf( WriteFieldStat( f2, 8, 1, 0, 0 ) , "%u", parentof(fval).overallB );
  5254. }
  5255.  
  5256. string GetSpeed( ubyte &fval ) {
  5257. local string s;
  5258. local float f1;
  5259. local uint value = parentof(fval).speedA;
  5260. value = (value << 8) + parentof(fval).speedB;
  5261. SScanf( ReadFieldStat( value, 12, 16, 0, 0 ) , "%f", f1 );
  5262. SPrintf(s, "%f", f1 + 1 );
  5263. return s;
  5264. }
  5265.  
  5266. void SetSpeed( ubyte &fval, string s ) {
  5267. local float f1, f2;
  5268. local double value;
  5269. SScanf( s, "%lf", value );
  5270. value = Abs( value );
  5271. f1 = Max( Floor(value) - 1, 0 ); // minimum 0
  5272. f2 = Max( value - f1 - 1, 0 ); // minimum 0
  5273. SScanf( WriteFieldStat( f1, 4, 15, 0, 0 ) , "%u", parentof(fval).speedA );
  5274. SScanf( WriteFieldStat( f2, 8, 1, 0, 0 ) , "%u", parentof(fval).speedB );
  5275. }
  5276.  
  5277. string GetSize( ubyte &fval ) {
  5278. local string s;
  5279. local float f1;
  5280. local uint value = parentof(fval).sizeA;
  5281. value = (value << 8) + parentof(fval).sizeB;
  5282. SScanf( ReadFieldStat( value, 12, 16, 0, 0 ) , "%f", f1 );
  5283. SPrintf(s, "%f", f1 + 1 );
  5284. return s;
  5285. }
  5286.  
  5287. void SetSize( ubyte &fval, string s ) {
  5288. local float f1, f2;
  5289. local double value;
  5290. SScanf( s, "%lf", value );
  5291. value = Abs( value );
  5292. f1 = Max( Floor(value) - 1, 0 ); // minimum 0
  5293. f2 = Max( value - f1 - 1, 0 ); // minimum 0
  5294. SScanf( WriteFieldStat( f1, 4, 15, 0, 0 ) , "%u", parentof(fval).sizeA );
  5295. SScanf( WriteFieldStat( f2, 8, 1, 0, 0 ) , "%u", parentof(fval).sizeB );
  5296. }
  5297.  
  5298. string GetQuality( ubyte &fval ) {
  5299. local string s;
  5300. local float f1;
  5301. local uint value = parentof(fval).qualityA;
  5302. value = (value << 8) + parentof(fval).qualityB;
  5303. SScanf( ReadFieldStat( value, 12, 16, 0, 0 ) , "%f", f1 );
  5304. SPrintf(s, "%f", f1 + 1 );
  5305. return s;
  5306. }
  5307.  
  5308. void SetQuality( ubyte &fval, string s ) {
  5309. local float f1, f2;
  5310. local double value;
  5311. SScanf( s, "%lf", value );
  5312. value = Abs( value );
  5313. f1 = Max( Floor(value) - 1, 0 ); // minimum 0
  5314. f2 = Max( value - f1 - 1, 0 ); // minimum 0
  5315. SScanf( WriteFieldStat( f1, 4, 15, 0, 0 ) , "%u", parentof(fval).qualityA );
  5316. SScanf( WriteFieldStat( f2, 8, 1, 0, 0 ) , "%u", parentof(fval).qualityB );
  5317. }
  5318.  
  5319. string GetNumber( ubyte &fval ) {
  5320. local string s;
  5321. local float f1;
  5322. local uint value = parentof(fval).numberA;
  5323. value = (value << 8) + parentof(fval).numberB;
  5324. SScanf( ReadFieldStat( value, 12, 16, 0, 0 ) , "%f", f1 );
  5325. SPrintf(s, "%f", f1 + 1 );
  5326. return s;
  5327. }
  5328.  
  5329. void SetNumber( ubyte &fval, string s ) {
  5330. local float f1, f2;
  5331. local double value;
  5332. SScanf( s, "%lf", value );
  5333. value = Abs( value );
  5334. f1 = Max( Floor(value) - 1, 0 ); // minimum 0
  5335. f2 = Max( value - f1 - 1, 0 ); // minimum 0
  5336. SScanf( WriteFieldStat( f1, 4, 15, 0, 0 ) , "%u", parentof(fval).numberA );
  5337. SScanf( WriteFieldStat( f2, 8, 1, 0, 0 ) , "%u", parentof(fval).numberB );
  5338. }
  5339.  
  5340. //-----------------------------------
  5341. // Define file itself
  5342.  
  5343. BitfieldDisablePadding();
  5344.  
  5345. HEADER header;
  5346. BTLSTATS battleStats;
  5347. SKILLS skills <comment="Level ( Exp )">;
  5348. ITEMS items;
  5349. MAPB mapBits;
  5350. UNKNWN UnknownStruct <size=1331, comment="Visited rooms / locations?">;
  5351. FARMS farms;
  5352. UNKNWN UnknownStruct2 <size=1024, comment="Overworld items? location(?) + CropID in pairs">;
  5353. UNKNWN UnknownStruct3 <size=220, comment="Some kind of flag field?">;
  5354. OSTATS otherStats;
  5355. UNKNWN UnknownStruct4 <size=1576>;
  5356. if ( FileSize() > 0x22400 ) // RF4S
  5357. struct { char name[25]; } names_Unknown[10];
  5358. else // RF4
  5359. struct { char name[25]; } names_Unknown[5];
  5360. SHIPL maxLevelsShipped <size=80, comment="Highest level shipped for seeds/produce">;
  5361. if ( FileSize() == 0x22400 ) // RF4
  5362. ubyte UnknownPadding <hidden=true>;
  5363. WOBJ worldObjects <comment="Unknown amount">;
  5364. UNKNWN UnknownStruct6 <size=650, comment="Hellstruct with reverse bit order values">;
  5365. RECIP unlockedRecipes;
  5366. NPCEQ npcInventories;
  5367. uint seedRNG <comment="Seed for random things like harvest report">;
  5368. UNKNWN UnknownStruct7 <size=116>;
  5369. if ( FileSize() > 0x22400 ) // RF4S
  5370. MISC misc <size=80>;
  5371. else // RF4
  5372. MISC misc <size=76>;
  5373. SHIPT shippedTotal <comment="Total money earned per item shipped">;
  5374. SHIPF shippedFishSize;
  5375. PICKB hasOwnedItem <comment="Check ItemID; whether player has picked up / owned an item">;
  5376. UNKNWN UnknownStruct8 <size=525>;
  5377. uint Unknowns[2] <hidden=true>;
  5378. SHIPB shippedFlags <comment="Whether played has ever shipped this item">;
  5379.  
  5380. // Extremely jank birthday, but at least it's editable
  5381. if ( FileSize() > 0x22400 ) // RF4S
  5382. FSeek(0x1E8DE);
  5383. else // RF4
  5384. FSeek(0x1E862);
  5385. BDAY playerBirthday;
  5386.  
Add Comment
Please, Sign In to add comment