mirror of
https://github.com/ACEmulator/ACE
synced 2026-08-17 12:26:06 -04:00
8 commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
6fe177a600
|
ACE.DatLoader refactoring (#594)
* Change >> 1) & 1 to & 2 Cosmetic change pointed out by Rawaho. * Better fix of the Portal Flags in the dat code * ACE.DatLoader refactoring This new code format uses extention methods to re-use code. It allows decouples object unpacking from DatReader and reduces the dependancy to a simple BinaryReader. * Forgot to remove the temp StarterAreas code from the transition * Some files were ignored, not sure why. This should fix |
||
|
|
51e72b4893 |
Major migration from .net framework 4.6.1 to .net standard/core 2.0 (#573)
* Remove files not referenced by their project (rogue files) These existed in the repo but weren't included in the ACE.Entity project: ACE.Entity\ILandBlock.cs ACE.Entity\WeenieAnimationOverride.cs ACE.Entity\WeeniePalletOverride.cs ACE.Entity\WeenieTextureMapOverride.cs When converting to .net standard, these files will be included in the projects again due to the way .net core/standard project files behave. They include all files in the local paths. Unlike .net framework csproj files, there is no list of files the project maintains. * Remove Settings.StyleCop from child folders I believe only the Settings.StyleCop in the root folder is needed, and will take effect for all child projects in the solution. * ACE.Common and ACE.Entity converted to .net standard 2.0 * ACE.DatLoader switched to .net standard 2.0 This includes the removal of: ACE.DatLoader\default.ruleset which I believe to be a rogue file. * ACE.CmdLineLauncher now .net core 2.0 To launch it from a command line use: dotnet ACE.CmdLineLauncher.dll This commit also removes AnyCPU from ACE.Common, ACE.DatLoader and ACE.Entity * ACE.DatLoader.Tests converted to .net standard 2.0 The project icon for ACE.DatLoader.Tests is no longer a C# icon with a half full flask. Not sure if there is any significance with that. * ACE.Tests converted to .net standard 2.0 Just like the other test project I converted, the C# Flask icon for the project is gone and now it's just a C# icon. * ACE.Database.Tests converted to .net standard 2 Same project icon issue as noted in the previous test conversions. * ACE.Database converted to .net standard 2.0 ACE.Database\Redeploy.cs -> CheckLocalDataPath() File permission checking has been commented out as it's not supported in .net standard/core. ACE: MySql.Data package updated to 6.10.4 * ACE: Remove GameMessageMotion.cs (rogue file) * ACE: Remove ACE.Diagnostics reference ACE.Diagnostics is a winforms app and not available to .net core 2.0 We need a better way to expose diagnostic information anyway. ACE should not be referencing ACE.Diagnostics * ACE.Tests changed to a .net core 2.0 project When ACE is changed to .net core 2.0, it's test must also be .net core 2.0. * ACE.Database: Remove MySqlResult MySqlResult inherited from DataTable and added a property and a couple functions, but they were never used, thus, MySqlResult isn't needed. * Update remaining MySql.Data references to 6.10.1 * Force appveyor to use VS 2017 * Remove unused System.Net.Http reference from projects. ACE.Api.Common ACE.Api.Host ACE.Api ACE.AuthApi.Host ACE.AuthApi Ace * Fix appveyor test paths. * ACE: DataTableExtensions added with Load fix for .net core 2.0 * Changelog * AppVeyor test fix maybe * Change ACE.Database.Tests and ACE.DatLoader.Tests to .net core 2.0 + test NuGet dependancies * ACE.Database: DataTableExtensions improved Rawaho method is better than Mag-nus method. * AppVeyor fix that's just cosmetic. Tests still don't actually exec. * AppVeyor test * Appveyor test * AppVeyor test * Switch AppVeyor from vstest.console to dotnet test * AppVeyor another test * AppVeyor test * AppVeyor final fix maybe? * AppVeyor: Went wrong way with directories... * AppVeyor almost there... * AppVeyor fatt fingers maybe? * ACE.CmdLineLauncher -> ACE.ACClientLauncher |
||
|
|
c3184a08fa |
Object overhaul (#384)
* Object overhaul - clean up enums (#337) * Give property enums a static value to aviod positional fubar later on. Cleaned up using. * Cleaning up enums * Fixed Line ending update change log. * Review & Comment only || Object overhaul - POC (#339) * Give property enums a static value to aviod positional fubar later on. Cleaned up using. * Cleaning up enums * Fixed Line ending update change log. * Added new positionType * Started work on implementing object overhaul - want to make sure I am heading in the right direction. * Minor clean up, responded to feedback and fixed a few bugs. Thanks for the second and third set of eyes. * Object Overhaul - ready for review and merge. Still Work in Progress but a good spot. (#341) * Give property enums a static value to aviod positional fubar later on. Cleaned up using. * Cleaning up enums * Fixed Line ending update change log. * Added new positionType * Started work on implementing object overhaul - want to make sure I am heading in the right direction. * Minor clean up, responded to feedback and fixed a few bugs. Thanks for the second and third set of eyes. * Continued work. Please review as these are a LOT of manual changes. Compiles and you can log in. * Continued work. I have all of the items pulling from properties now. Still work to make baseAceObject and AceObject on thing / finish work around workmanship and actually kick the tires and start pulling data. Sorry this is taking so long. * Had time for a few more and cleaned up whitespace. * Good point to check in. All of the property tables are hooked up and loading data. I created the workmanship hackery we discussed. As always comments and suggestions much appreciated. * One quick shot to fix appveyor before bed. * * Continued work on Overhaul * Created mapping cross reference file to faciltate docuatation and cleaning up names - work in progress https://goo.gl/eaaNQb * Created new database schema for world_object - modified mysqlinstall.bat to refect new baseline * created script to ETL old schema to new schema. I have not included it as we will be refactoring the initial data load to use the new * schema according to Ripley. I have the script tested and posted on my dropbox if anyone wants it. I also have a complete data dump that * zips down to a manageable size. * BaseAceObject is now using the new schema * I re-hooked up telepoi to use the new schema. Still to do, convert to constructed statement * Next steps - refactor AceObject and make sure world objects load again. * Once that is complete - start same process using clone of this schema for character as discussed. * renabled more data loading. * Continued work on hooking data back up. Working on moveto debug command - this creates a world object. Not quite there yet. * WIP * Making progress. Test object able to be spwaned from new schema. Still to do, renable constructed statements, clean up and re-enable the other constructed statements. * updated worldbase * * Intital work done for new schema. Rebased and removed update sql files. (#353) * Tested and the auto setting of Physics and Weenie Header Flags looks really solid. Side note, the values we have * in the database for weenieHeaderFlags and PhysicsDescriptionFlag should probably be dropped we don't read them or use them now. * Doors, portals NPC's and signs are all back in the world now. * I would suggest we remearge with the main branch sooner rather than later - we can create another branch to introduce these * changes into the character side. * TODO items: * Creature spawns need to be refactored - I left them commented out. We need to ditch seperate tables that we have now, I think all * creature can use what we have now, plus maybe two additional world tables. Everything else fits into the current schema. * Test Ripley data and update ACE_World. * Refactor portals - I just left the old way in and faked it out with a view. * Once this looks good and stable and we fix any found bugs - we need to clone this over to the character database and start refactoring * That will get us to persisted inventory. * Objects - Game data refactored - issue with character login (#355) * wip * WIP - character login is trying to persist a world object * Still throwing an exception on player login. * Working Code - finished GameData - need to complete PhysicsData and ModelData. Thanks to @Lidefeath for finding my issue. * WIP compiles but has error on run. Data changes have broken something. Will fix tomorrow. * Wip - nothing really working yet. I can log in but item creation is not working. * Objects (#357) * wip * WIP - character login is trying to persist a world object * Still throwing an exception on player login. * Working Code - finished GameData - need to complete PhysicsData and ModelData. Thanks to @Lidefeath for finding my issue. * WIP compiles but has error on run. Data changes have broken something. Will fix tomorrow. * Wip - nothing really working yet. I can log in but item creation is not working. * Best attempt stabbed (#358) * wip 1 * wip 2 * wip 3 * wip 3 * i think thats it for now. good luck! * Read cached characters and launch to char list (#360) * First corrections and commenting out so the start to command line works * The basics for launching to character list is working. * Edit config.json for AppVeyor * Rework Base SQL scripts. (#361) Expect broken execution until views are corrected for ace_shard * Cleaning up error list (#362) Clearing stylecop issues and warnings in Error List * ACE Enum adjustments (#363) * More Enum Adjustments (#364) * More Enum Adjustments * Further Enum Refinement * Changed Enum Value * More Enum and Object Realignment (#365) * Adding Enums to better align with AC standards. GroupTypeChat and AccessLevel will be converted to these. * Object level changes to go with enum resorting * Extend ORM to allow aggregate functions i.e. MAX(column) and (#366) * Extend ORM to allow aggregate functions i.e. MAX(column) and implement GetNextCharacterId * For AppVeyor, thanks @ogmage78 for the sql * Implements IsCharacterNameAvailable and fixes some errors in the chargen code. (#367) * Character Loading (#368) * Cleaned up some whitespace issues. Still understanding the direction. * WIP added enums for PropertyAttribute * Wip got a lot of aceCharacter done - working on position - about 1/2 done. * WIP - Ace Character Loading. * Intital work done for loading character from ace_shard. Rebased and removed update sql files. * Tested up to position loading. Made changes to position, but have not loaded the dictionary yet. * Fixed a few bugs - attribute loading had a few. * TODO items: * Finish up loading positions then see what is left. * Work on saving as OptimShi - has character creation ready to go. * Fixed for rebase and apveyor * Hand wrote view per request and removed unneeded position. * Read character creation values from client_portal.dat (#369) * Read character creation values from client_portal.dat and assign to appropriate Character Properties * Added AceCharacter properties for the character appearance data * More fun in Zombieland - character loading. (#370) * [Og II] * Continued work loading character from ace_shard. Rebased * Added cascade delete to all child tables in ace_shard. * Completed and tested up to skillz loading. Made a few changes on the db side for key consistancy. * TODO items: * Finish up loading - spells, friends, allegiance info, spell comps, spell bars etc. etc.... * Fixed bug in setXXXProperty methods with the add new. Was not setting the AceObjectId * Fixed auto inc and unsealed position class and made aceObjectId virtual again. * SaveObject implemented in ShardDatabase.cs (#371) * First steps of SaveObject * Hopefully I didn't bork anything too hard. * Character creation -- data present on save appears to make its way to the DB. Thanks to Lidefeath for the starter here. * Removed all references to SaveCharacterOptions -- replace with SaveObject(). * Removed all references to SaveCharacterOptions -- replace with SaveObject(). * Cleanup of DbGetListAttribute (#372) * First steps of SaveObject * Hopefully I didn't bork anything too hard. * Character creation -- data present on save appears to make its way to the DB. Thanks to Lidefeath for the starter here. * Removed all references to SaveCharacterOptions -- replace with SaveObject(). * Removed all references to SaveCharacterOptions -- replace with SaveObject(). * Reworked DbGetListAttribute, got rid of hacky code. * Forgot to remove sloppy comments from refactoring. * Create Database.cs * Fix the "You do not own this character" error. (#373) * Refactoring, save/restore progress on object overhaul (#375) * First steps of SaveObject * added todo * Hopefully I didn't bork anything too hard. * Character creation -- data present on save appears to make its way to the DB. Thanks to Lidefeath for the starter here. * Removed all references to SaveCharacterOptions -- replace with SaveObject(). * Removed all references to SaveCharacterOptions -- replace with SaveObject(). * Working on player login. Getting closer. At SendSelf in player.cs * Reworked DbGetListAttribute, got rid of hacky code. * Forgot to remove sloppy comments from refactoring. * Create Database.cs * Continued work on character login. A little closer - we can get into the world now. Please see change log for list of outstanding items. * Can log in, and walk around. Some properties still wrong. Still need to submit several DB level fixes. * Many fixups/bugfixes. Positions now save. Character logs in. Game doesn't crash. Can open multiple sessions. (some) ORM issues fixed Issues: World Objects still don't appear in game. Race found in ShardDatabase (commented) * Minor cleanups. * Object overhaul (#376) * First steps of SaveObject * added todo * Hopefully I didn't bork anything too hard. * Character creation -- data present on save appears to make its way to the DB. Thanks to Lidefeath for the starter here. * Removed all references to SaveCharacterOptions -- replace with SaveObject(). * Removed all references to SaveCharacterOptions -- replace with SaveObject(). * Working on player login. Getting closer. At SendSelf in player.cs * Reworked DbGetListAttribute, got rid of hacky code. * Forgot to remove sloppy comments from refactoring. * Create Database.cs * Continued work on character login. A little closer - we can get into the world now. Please see change log for list of outstanding items. * Can log in, and walk around. Some properties still wrong. Still need to submit several DB level fixes. * Many fixups/bugfixes. Positions now save. Character logs in. Game doesn't crash. Can open multiple sessions. (some) ORM issues fixed Issues: World Objects still don't appear in game. Race found in ShardDatabase (commented) * Properly load Data Id instances. Objects now "spawn" in-world, but don't interact properly. * Fixes to worldbase vw_teleport_location, player description, character handler. Player now gets proper stats and can teleportpoi. Vital inital values are off. * Sets options on load. May be bad/broken. Need to seriously think how AceObject/AceCharacter and WorldObject/Player should interact. We don't do that well now. * Fix to attribute2nd, using uint24 instead of uint16 for value (because monster's health can get huuuge). * Position refactor into backend object AceObjectPropertiesPosition and front-end object Position. * * fixed issues with the weenieHeaderFlags setting method, fixed PhysicsDescriptionFlag setting issue as well. * cleaned up and rebased data scripts for WorldBase and ShardBase * Found issue in my data that was ETL to our new schema - had two flag fields Reversed - that is fixed but would be no issue * once we have Ripley's new data export. I have shared out a link to the cleaned up data for use while we finish the new export. * https://www.dropbox.com/s/pohcruvalt9s38h/WorldandShardData.zip?dl=0 * I put in a nasty hack - hard coded weenieClassId on character save - it was being set to 0 and I could not find it. I marked with with a todo. * player.cs line 490 * Create Landblock.cs * Updated changelog * Fear the Walking Dead - More work on our object overhaul - bug fixes and continued work (#377) * Testing - fixed a few null reference check errors. Added in OptimShi player apperance code. * added back code needed for ci * Sending DataId and InstanceId data to character description. * Forgot to update change log * Added Ripley's changes to scheam * Create ShardBase.sql * Create WorldBase.sql * Made requested changes * Lord BucketHead - temp fix. Added start of equipping items and POC code (#378) * * Added getting and setting ContainerID and Wielder into AceObject and surfaced in worldObject * Put in a hack to show how equiped weapons and shields work. We will need to establish a place to store this data. * I put in big TODO to indentify the hack - it is benign and will not impact anything else other than to demo the placement * of the spear in Rand the Game Hunters hand in Holtburg. * Modified SetPhysicsDescriptionFlags so it can be container and weilder aware. * Worked with OptimShi and we put in a fix for Lord BucketHead. * Found and fixed one more bug with hair styles * Update Player.cs removed comment that was out of date. * SQL Scripts Re-based (#379) * SQL Scripts Rebased * More alignment of base DB script. * Final SQL script rebase * Code cleanup and a few bug fixes. (#380) * Code cleanup and a few bug fixes. Working to trello card. Board updated. * Added first part of wield item. * Update to remove class diagram * Update GameActionGetAndWieldItem.cs * Update GameEventWieldItem.cs * Fixed Position Saving. (#381) * Fixed Position Saving. * Fixed other minor character initialization bugs * Cleanup backing AceObject (#382) * Reworked AceObject/Player/WorldObject to better repsect AceObject as a unit backing. * Enough cleanup to commit. Fixed vitals (Attribute2nd) in the process. * Fixed bad rebase errors. Appears to work now. Can confirm vitals (Attribute2nds) initialize well, and can be raised. * Fixed bug with player creation and made a bunch of comments and notes about things I discovered so they would not get lost. (#383) |
||
|
|
11a69d919c |
Dat Updates (#329)
* Added DatReader to the cell-export console function * Add caching to all file.dat read objects. Added EnvCell (dungeon blocks/indoors) * Merge with master, changelog. * Add a new line at EOF for a few files. * Resolved some StyleCop issues. * Attempt to resolve PR differences. |
||
|
|
c4a3da0b10 |
Full reset of repo (#327)
* Full Wipe * Restored git settings * Restored Root folder * Restored Source & Database |
||
|
|
9709959eee |
Dat reader - creating a PR so I can comment. (#235)
* Removed DungeonViewer link as the GitHub repo no longer exists * DatReader, CharGen FileType, SetupModel FileType, and PaletteSet FileType * Load basic player features from character creation * Loads all correct player data from Character Creation. * Adjusted palette/hue calculation * Changed DatReader.buffer to Buffer, since the get is exposed publically. Also added some additional comments. |
||
|
|
1faa88b3b6 |
* improved cell.dat and portal.dat exporting, created admin server commands for them as well as unit tests that can be uncommented. (#127)
* bug fix in DatFile with the FileOffset being wrong. started detailed documentation on dat file contents. * worked on some object parsing. found a bunch more object types in the client - now categorizes ALL portal files. |
||
|
|
c4793ec44f |
portal.dat and cell.dat loading (issue #3) (#104)
* cell.dat loading * portal.dat loading * reading sector size from dat file |