Updates GOALS and RUNUO_MIGRATIONS.md files

This commit is contained in:
Kamron Batman 2019-08-07 13:23:07 -07:00
parent b34bb90cdf
commit 57bec96827
2 changed files with 48 additions and 36 deletions

View file

@ -3,11 +3,14 @@ There are several considerations before migration from RunUO 2.0 to ModernUO.
Many of these issues can be fixed by writing scripts that do world file fixes.
Others will require careful code review to fix compile/runtime issues.
#### Deserialization Issues
We will introduce templates to create migration scripts in a future iteration.
#### Deserialization Issues (Startup Issues)
* All BODs will fail to deserialize due to the introduction of BaseBOD
* Recommend a migration script to fix this.
* Serial is now a `uint` which could break certain scripts expecting negative numbers or fixed encoding.
#### Constructor Inheritence Issues
#### Constructor Inheritance (Runtime Errors, Corruption, or Crashes)
* Items that inherit `Food` will pass the wrong arguments to their parent constructor.
* Items that inherit spells or scrolls will pass the wrong arguments to their parent constructors.
@ -20,17 +23,28 @@ Others will require careful code review to fix compile/runtime issues.
* Various functions such as `OnAdded` which previously took `object parent` now take `IEntity`
* Functions that utilized non-generic structures (ArrayList, etc) have been changed to use generics.
### Profiling
* Disabled
#### Reports
* Removed
#### RemoteAdmin
* Removed
#### MyRunUO
* Removed
#### EventLog
* Removed
### Future Migration Concerns
#### Account System
* Accounts from the XML format will need to be migrated to the new database.
* Accounts from the XML format will need to be migrated the new interface/format.
* IP Logs from the Accounts XML will need to be offloaded to a new database.
#### Deserialization
* All layered/stackable items will need to be migrated/fixed since the new hierarchy will look like this:
* Item -> LayeredItem -> Armor/Weapon/etc
* Item -> StackableItem -> Food/etc
* All resources including but not limited to the following will need to be migrated:
* Gold, Silver, Platinum
* Arrow, Bolt, Feature, Shaft
@ -49,23 +63,11 @@ Others will require careful code review to fix compile/runtime issues.
#### Timers
* Scripts that rely on Timers, TimerPriority, etc will need to be fixed to work with the format.
#### Skills
* Scripts that use or do math against `double` type Skill values will need to be fixed.
#### Fastwalk
* Other fastwalk/speedhack detection systems will need to be deleted or fixed.
#### Reports
* These will be removed.
#### RemoteAdmin
* This will also be removed. Discussion about a replacement as a plug-in is encouraged.
#### MyRunUO
* This will be removed. Discussion about a replacement using an external database is encouraged.
#### EventLog
* This will be changed to be cross platform compatible. What form it will take is still up for discussion.
#### Packets (Maybe)
* Packets will be changed to be stateless functions that do not require instantiation.
#### Packets
* Packet, ByteQueue, PacketWriter, and PacketReader have been removed.
* `ns.Send(packet)` has been changed to `Packets.Send(ns, PacketFunc, arg1, arg2...)`
* Packets that are not used in the core have been moved to content distribution
* God client packets have been removed