Commit graph

24 commits

Author SHA1 Message Date
FlaggAC
7f1b58ab24
Change static readonly fields to const fields. (#4211)
This will at least somewhat improve performance, as confirmed through microbenchmark testing.

const fields are replaced with literal values in the Assembly's IL code, while static readonly fields may be optimized by the JIT, and is not guaranteed to happen. const fields may also lend themselves to stronger optimizations at runtime.
2024-08-24 14:32:35 +00:00
Ty Conner
ab54cf9002
Add support for client DAT patching from server (#3979)
* Update DatFile.cs

* Update DatFileType.cs

Co-Authored-By: OptimShi <OptimShi@users.noreply.github.com>

* Create DDDManager.cs

Co-Authored-By: OptimShi <OptimShi@users.noreply.github.com>

* Create GameMessageDDDBeginDDD.cs

Co-Authored-By: OptimShi <OptimShi@users.noreply.github.com>

* Create GameMessageDDDDataMessage.cs

Co-Authored-By: OptimShi <OptimShi@users.noreply.github.com>

* Update DDDHandler.cs

Co-Authored-By: OptimShi <OptimShi@users.noreply.github.com>

* Update WorldManager.cs

* Update Program.cs

* committing changes provided

Co-Authored-By: OptimShi <OptimShi@users.noreply.github.com>

* more wip changes

* Update DDDManager.cs

* Update DDDManager.cs

Co-Authored-By: OptimShi <OptimShi@users.noreply.github.com>

* Update CMostlyConsecutiveIntSet.cs

Co-Authored-By: OptimShi <OptimShi@users.noreply.github.com>

* Update WorldManager.cs

* Update DDDHandler.cs

* Update Session.cs

* Update DDDManager.cs

* Update Session.cs

* Update DDDManager.cs

* Update DDDManager.cs

* Update GameMessageDDDDataMessage.cs

* Update DDDHandler.cs

* Update Session.cs

* Update CAllIterationList.cs

Co-Authored-By: OptimShi <OptimShi@users.noreply.github.com>

* Update CMostlyConsecutiveIntSet.cs

Co-Authored-By: OptimShi <OptimShi@users.noreply.github.com>

* Create PTaggedIterationList.cs

Co-Authored-By: OptimShi <OptimShi@users.noreply.github.com>

* Update Session.cs

* Update ConnectionListener.cs

* Create DDDConfiguration.cs

* Update MasterConfiguration.cs

* Update Config.js.example

* Update DDDManager.cs

* Update DDDHandler.cs

* Update Program.cs

* Update PropertyManager.cs

* Update WorldManager.cs

* Update SessionTerminationReason.cs

* Update DDDHandler.cs

* Update DDDManager.cs

* Update ConnectionListener.cs

* Update SessionTerminationReason.cs

* Update GameMessageDDDDataMessage.cs

* Update AuthenticationHandler.cs

* Update CharacterHandler.cs

* Update PacketInboundLoginRequest.cs

* Update Session.cs

* Update DatFileType.cs

---------

Co-authored-by: OptimShi <OptimShi@users.noreply.github.com>
2023-06-09 13:15:10 -04:00
Ty Conner
73d276944e
Clear out some log spam (#3890)
* Update Player.cs

* Update Player_Skills.cs

* Update DatDatabase.cs
2022-08-21 23:45:32 -04:00
OptimShi
dd8ab66198
Dat file iteration checking (#2992)
* Added dat file Iteration checking to server files
* Handled DDD_InterrogationResponse to check clients connecting for up-to-date dat files and display a warning upon login.
* Use command "modifybool show_dat_warning true" to show warning to clients upon login.
* Fixed ACE.Server.Network binaryReader.Align() function.
2020-05-23 10:23:45 -07:00
Mag-nus
abb17b464a
Fix HighRes and Langauge dats to use base DatDatabase class. (#1113) 2018-12-02 13:46:01 -06:00
Mag-nus
23100087a8
keepOpen option added to DatDatabase FileStream (#1097) 2018-11-20 07:45:09 -06:00
Mag-nus
bd39967d76
DatDatabase ReadFromDat thread safety added (#1073) 2018-10-23 07:27:50 -05:00
Mag-nus
a7c6ccca1e Revert DatDatabase.ReadFromDat() to previous pattern
This removes the recently added code that supports loading of objects from highresdat and languagedat.

To load objects from those dats, new classes should be created that inherit from DatDatabase, similar to how Cell and Portal are done.

This also fixes an envcell null crash I was experiencing.
2018-07-05 20:37:21 -05:00
OptimShi
cad0e661d0 Dat updates (#847)
* Fix Replace Animation Hook

* SoundTable

* Numerous Dat Updates

* Added highres and language export commands
2018-07-05 07:50:42 -05:00
Mag-nus
c2bb096631 ACE.DatLoader DatDatabase not loding LandBlockInfo is a warning, not an info event. 2018-03-06 06:51:32 -06:00
Mag-nus
c29389843d
few small things (#627)
* ACE.DatLoader renames PositionNew to Position

* Remove comment

* ACE.DatLoader DatDatabase I prefer this type instead.
2018-02-08 08:00:13 -06:00
Mag-nus
fa43f0db84
ACE.DatLoader improvements (#626)
* ACE.DatLoader DatDirectory reading cleaned up

* ACE.DatLoader: Removed the pointless cached list in DatDirectory

* MySql.Data upgraded from 6.10.4 to 6.10.6

This also fixes 3 build warnings regarding a security dll.

* ACE.DatLoader: All data loaded data objects now reside in ACE.DatLoader, not ACE.Entity.

* ACE.DatLoader performance improvements

* ACE.DatLoader improvements

* conflicts

* conflicts

* conflicts

* conflicts
2018-02-07 22:14:50 -06:00
Mag-nus
2326741c6a
ACE.DatLoader work (#625)
* ACE.DatLoader DatDirectory reading cleaned up

* ACE.DatLoader: Removed the pointless cached list in DatDirectory

* MySql.Data upgraded from 6.10.4 to 6.10.6

This also fixes 3 build warnings regarding a security dll.

* ACE.DatLoader: All data loaded data objects now reside in ACE.DatLoader, not ACE.Entity.

* ACE.DatLoader performance improvements
2018-02-07 09:02:24 -06:00
Mag-nus
f5c7b44d81
ACE.DatLoader DatDirectory reading cleaned up (#624) 2018-02-06 10:18:38 -06:00
Mag-nus
4e79b48535
ACE.DatLoader work (#623)
* ACE.DatLoader LandblockInfo removed testing code

* ACE.DatLoader rename PackableExtensions to UnpackableExtensions

* ACE.DatLoader.Tests: Better testing to make sure full objects are being parsed

* ACE.DatLoader bug fixes

* ACE.DatLoader: Add missing file for build

* ACE.DatLoader Switch to native Vector3 object

* ACE.DatLoader: This changes the spell variables back to their enum types from ACE.Entity

* ACE.DatLoader improvements
2018-02-05 21:26:06 -06:00
Mag-nus
a51a566199
ACE.DatLoader IUnpackable work completed (#621)
* ACE.DatLoader: SpellTable converted to IUnpackable

* ACE.DatLoader CellLandblock converted

* ACE.DatLoader IUnpackable work completed
2018-02-05 11:17:57 -06:00
Mag-nus
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
2018-01-23 04:02:39 -06:00
Mag-nus
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
2017-12-04 19:10:33 -05:00
Mogwai-TheFurry
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)
2017-06-16 09:54:39 -04:00
OptimShi
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.
2017-05-06 21:20:41 -04:00
Ty Conner
c4a3da0b10 Full reset of repo (#327)
* Full Wipe

* Restored git settings

* Restored Root folder

* Restored Source & Database
2017-05-05 10:26:35 -04:00
Mogwai-AC
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.
2017-04-12 20:04:37 -04:00
lurker-mcdoogle
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.
2017-03-15 08:12:21 -04:00
Mogwai-AC
c4793ec44f portal.dat and cell.dat loading (issue #3) (#104)
* cell.dat loading

* portal.dat loading

* reading sector size from dat file
2017-03-04 07:59:37 -05:00