Commit graph

54 commits

Author SHA1 Message Date
Kamron Batman
dd95a8a1e3
fix: Codegens Food & Beverages (#1021)
- [X] Simplifies beverages
- [X] Codegens food & beverages
2022-05-15 21:56:04 -07:00
Kamron Batman
933c41070f
fix: Codegens farmables (#1001) 2022-04-17 17:10:45 -07:00
Kamron Batman
4bde9a4c86
fix: Codegens vendor contracts (#1000) 2022-04-17 16:51:59 -07:00
Kamron Batman
54d728a322
fix: Updates serialization to use v2.0 (#998)
- [X] Deletes serialization annotations
- [X] Updates to ModernUO.Serialization.Annotations nuget
- [X] Updates serializer to v2.0
- [X] Changes all `Serializable()` to `SerializationGenerator()`
- [X] Updates to schema generator v2.0
2022-04-17 08:02:15 -07:00
Kamron Batman
9baa6f58e7
fix: Codegens deeds (#983) 2022-03-30 19:42:38 -07:00
Kamron Batman
b6d155687e
feat: Adds account enumerator (#980) 2022-03-29 13:29:35 -07:00
Kamron Batman
b61968db86
fix: Codegens artifacts (#978) 2022-03-27 17:56:00 -07:00
Kamron Batman
fa0bf86a08
fix: Codegens furniture containers (#977) 2022-03-27 15:02:29 -07:00
Kamron Batman
8f922c94ae
fix: Codegens lockable containers and cleans up lockpickable (#976) 2022-03-26 21:48:18 -07:00
Kamron Batman
fc0594f87c
fix: Codegens TreasureMapChest (#975) 2022-03-26 21:33:46 -07:00
Kamron Batman
ba5bb13e60
fix: Codegens mark containers (#974) 2022-03-26 21:23:21 -07:00
Kamron Batman
2f6a0fad3a
fix: Codegens trappable containers (#973)
Splits out trappable container so the logic is easier to expand.
Changes trappable containers to be code genned.
2022-03-26 21:15:15 -07:00
Kamron Batman
54b268c02f
fix: Codegens treasure chests (#949) 2022-02-27 18:02:36 -08:00
Kamron Batman
17f8d3563a
fix: Codegens treasure/paragon chests & strongboxes (#948) 2022-02-27 17:22:38 -08:00
Kamron Batman
9bc6d5bdb8
fix: Codegens salvage bags (#947) 2022-02-27 17:09:12 -08:00
Kamron Batman
003ad1164f
fix: Codegens containers (#946) 2022-02-27 17:01:49 -08:00
Kamron Batman
77181678da
fix: Converts BaseArmor and BaseClothing to use string crafter fields (#928) 2022-02-27 03:18:17 -08:00
Kamron Batman
c8043e8dd2
fix: Codegens remaining construction items (#859) 2021-11-21 10:45:07 -08:00
Kamron Batman
bfbe2a6512
fix: Updates professions & new player gargish equipment (#819)
* Now reads Prof.txt to get the professions
* The templated professions are based on profession `TrueName`
* Adds missing starting equipment
* Implements gargish starting equipment
* Consolidates some of the code
* Moves TC stuff to the TC file.
* Fixes some starting equipment that was wrong.

Note:
* Implementing the original T2A professions is possible on the client side, but requires moving the old clilocs to the current clilocs file. In the current file the entries are blank.
* Using the original LBR professions (they match AOS but without necromancy/chivalry) is kind of confusing because the profession indexes are ripped out of the UOTD/UOR ones and have non-sequential indexes. This will probably cause confusion and people will get no templated items when they select the wrong profession.
2021-10-16 10:48:58 -07:00
Kamron Batman
8eaa859332
fix: Fixes code genning armor, clothing, and BODs (#810)
* Fixes code genning clothing
* Fixes code genning armor
* Fixes code genning BODs
2021-09-28 22:09:34 -07:00
Kamron Batman
990d151ef3
fix: Codegens some decorations (#806) 2021-09-26 20:02:16 -07:00
Kamron Batman
2253a2332c
fix: Fixes ML containers and addons (#804)
* Fixes some ML addons so they are containers
* Adds some missing ML artifacts
* Fixes carpentry gump crafting entries
2021-09-26 18:54:33 -07:00
Kamron Batman
fa5eafdaff
fix: Adds Created, LastSerialized, and BeforeSerialize for all entities. (#775)
* Adds `BeforeSerialized` for entities to handle cleanup.
* Adds `Created` and `LastSerialized` fields to all entities. While this is a big bloat, this will be necessary for identifying dangling references to other invalid entities.
* Changes formula for determining a valid reference to be _not null, not deleted, and reference's created date must be at or before the entities last serialized date_.
* Adds versioning to idx file and serializes `Created` and `LastSerialized`.
* Fixes Save Stats and also disables it by default.
2021-09-26 01:09:45 -07:00
Kamron Batman
408a343e0c
Fix: Fixes evil mages so they look correct for T2A/UOTD (#735) 2021-08-26 19:11:16 -07:00
Kamron Batman
ca3faec01d
fix(codegen): Codegens clothing (#714) 2021-08-24 23:11:59 -07:00
Kamron Batman
b4566fe154
fix(wands): Fixes codegenning BaseWand. (#718) 2021-08-22 14:30:38 -07:00
Kamron Batman
d9a9e90c14
fix(codegen): Codegens bulletin boards. (#712) 2021-08-22 08:05:03 -07:00
Michael Dijkstra
8b0eb1aa79
fix(codegen): Codegens wands (#716) 2021-08-22 01:30:27 -07:00
Kamron Batman
957e5fd4e1
fix(codegen): Codegens champion artifacts (#713) 2021-08-21 13:03:05 -07:00
Kamron Batman
c2f853d8a8
fix(codegen): Fixes base armor using wrong int type (#708) 2021-08-19 23:02:16 -07:00
Michael Dijkstra
3fc2b76468
fix(codegen): Codegens Weapons (#698) 2021-08-19 09:12:24 -07:00
Kamron Batman
f7e7fa424b
fix(codegen): Codegens books (#697) 2021-08-17 22:38:48 -07:00
Michael Dijkstra
488f1044fa
fix(codegen): Code gens axes (#690) 2021-08-17 20:37:53 -07:00
Kamron Batman
c8a2605c0d
fix(codegen): Code gens base armor and fixes code genning of other armors. (#696)
* Fixes code gen of save flags
* Code gens rest of armor
* Fixes some existing code genned armors
* Code gens BaseArmor
2021-08-17 17:52:15 -07:00
Kamron Batman
803d594300
fix(codegen): Fixes leather gloves again, typo in the serialize version. (#695) 2021-08-17 13:45:08 -07:00
Kamron Batman
5f7dab0795
fix(codegen): Fixes leather gloves deserialization (#694) 2021-08-17 12:44:34 -07:00
Kamron Batman
9833b0439a
fix(codegen): Code gens more armor items (#693) 2021-08-17 11:04:03 -07:00
Kamron Batman
9b047d9d3f
fix(codegen): Removes unused json fields (#691) 2021-08-17 09:51:08 -07:00
Michael Dijkstra
28335ece88
fix(codegen): Codegens Weapon artifacts (#689) 2021-08-17 09:00:12 -07:00
Kamron Batman
2c8097f707
fix(codegen): Fixes various code gen issues. Adds better embedded serialization support (#688)
* Adds save flag support (see `ElvenGlasses` for an example)
* Updates AOSAttributes so they are code genned
* Fixes embedded object support by adding an `IRawSerializable`
* Fixes various inconsistencies in serializing with codegen
2021-08-17 02:43:52 -07:00
Kamron Batman
69af652a18
fix: Codegens some armors & Fixes code genning of some base addons (#687) 2021-08-16 16:11:20 -07:00
Kamron Batman
1323162628
fix(codegen): Adds codegen for embedded objects and timer fields (#686)
* Adds code genning for embedded objects. See `AquariumState` as an example.
* Adds code genning for fields that are `Timer`. See `Aquarium` as an example.
* Codegens aquariums
* Fixes missing option for most primitive field types.
2021-08-16 14:48:18 -07:00
Kamron Batman
4c265562bb
fix: Codgens more addons (#685)
* Fixes after deserialization not executing for older versions of an object
* Codegens more addons
2021-08-15 17:55:04 -07:00
Kamron Batman
25fa9b397b
fix: Code gens items. Fixes code genning of ore (#684)
### THIS IS A BREAKING CHANGE IF YOU ARE ALREADY USING CODEGEN. IF YOUR WORLD HAS ERRORS LOADING PLEASE CONTACT ME ON DISCORD. ORE MIGHT FAIL TO LOAD.
 
### Changes
* Fixes Components from addons not marking dirty
* Code gens BaseAddonContainer
* Code gens Ingots
* Fixes code gen deserialization for Ore
* Code gens dyetubs
* Code gens reagents
* Code gens tailor commodities
* Code gens fish
2021-08-14 22:16:42 -07:00
Kamron Batman
2de4717390
fix(content): Adds addons to code gen (#624)
* Codegens more addons.
* Fixes up some source generation issues.
2021-08-14 16:53:18 -07:00
Kamron Batman
360143478a
feat: Adds tidy option for serialization. Codegens ballotbox. Fixes pooled timer leaking (#681)
* Fixes pooled timer leaking
* Fixes `[dumptimers` command so it outputs properly, adds spacing, and stacktraces
* Adds `[Tidy]` for serializing Lists. This will remove deleted entities during world save before serializing the list.
* Adds helpers for managing Lists/Sets/Dictionaries


### New API

```cs
// Creates the list if it is null, then adds
Utility.Add(ref list, value);
Utility.Add(ref set, value);
Utility.Add(ref dict, key, value);

// Nulls the variable if the count is zero
Utility.Remove(ref list, value);
Utility.Remove(ref set, value);
Utility.Remove(ref dict, key);

// Marks entity as dirty in addition to doing the action
entity.Add(list, value);
// Marks entity as dirty, and will create list if it doesn't exist
entity.Add(ref list, value);

// Marks entity as dirty in addition to doing the action
entity.Remove(list, value);
// Marks entity as dirty, and will null the list count is zero
entity.Remove(ref list, value);
```


### Updates to [dumptimers
<img width="825" alt="Screen Shot 2021-08-14 at 2 55 10 AM" src="https://user-images.githubusercontent.com/3953314/129442449-ccf7fe14-29d6-4f3f-9366-c8eb7b9828a7.png">
2021-08-14 03:02:53 -07:00
Kamron Batman
c79a8a4002
Cleans up ore (#637) 2021-06-12 14:15:10 -07:00
Kamron Batman
510d2e006b
fix(codegen): Fixes bulk order deed hue and codegens (#647)
- [X] Codegens some Bulk Order stuff
- [X] Fixes deserializing with a class that requires the parent as a constructor argument


Closes #641
Closes #623
2021-06-11 19:51:03 -07:00
Kamron Batman
eb4e3ac070
fix(core): Fixes various issues with codegen (#646)
- [X] Fixes bad `ReadEnum` by size
- [X] Fixes array, list, and set not handling null values properly.
  - It will be up to the user (for now) to null out empty lists using `[AfterDeserialization]`. Convenience may be added later.
- [X] Fixes errors with `dotnet clean` and non-empty generation folder
- [X] Fixes bad field indexes on `Account.cs` causing `tags` to not be serialized/deserialized.
  - This was caused by a duplicate entry. Don't have protection against this _yet_.
2021-06-06 17:03:05 -07:00
Kamron Batman
75db56edc4
fix(core): Fixes accounts and moves it to codegen (#644)
- [X] Fixes TimeSpan not working with codegen
- [X] Fixes bad check for generic classes with a serialize method and deserialize ctor
- [X] Moves Accounts to codegen so it is versioned
- [X] Fixes deserialization of old Accounts with no version variable.
- [X] Fixes deserialize seek not doing anything. 🙈 
- [X] Adds Email to serialization
2021-06-05 19:39:16 -07:00