Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[wip] cc9cii_fork_branch #1955

Merged
merged 404 commits into from Jan 20, 2019

Conversation

@psi29a
Copy link
Member

commented Oct 7, 2018

just testing

cc9cii and others added 30 commits Jul 31, 2015
-An attempt to fix Coverity-Scan warning (see: #618 (comment))
- Unable to test until a PR can be submitted.
- Microsoft Visual Studio Community 2015 Version 14.0.23107.0 D14REL
- Qt 5.5, commit 1d3966833b5f27fb262f2d3727557ef2c8947828
- SDL2 default branch, Changeset: 9834 (d3fa6d0d3793)
- Ogre default branch, Changeset: 8048 (19479be2c7c5)
- Boost 1.59, commit 9a02cf8eb34eb31f0858c223ce95319f103addfa
- OpenAL commit 8fa4f276f89985be44007ce166109837cbfd5763

(*) only tested compilation and startup of the each app
…on this file was in fact not related to MSVC 2015, but rather the use of the Ogre default branch).
Conflicts:
	apps/opencs/view/world/dialoguesubview.cpp
Now using the boost argument parser.
Note:  BSA files within the directory must be passed manually.
The program is explicit so the user knows exactly where the bad file is.
A bad file inside of a bsa archive now looks like:
<game dir>/Data Files/TR_Data.bsa/meshes/tr/x/tr_act_ind_mark_alm.nif
Conflicts:
	apps/opencs/view/world/dialoguesubview.cpp
…ange

Conflicts:
	apps/opencs/model/world/columns.hpp
cc9cii and others added 29 commits Dec 11, 2015
- Profiling indicates snprintf() is more efficient when using MSVC (not tested with linux)
- The order of info records with the same topic are maintained in Collection::mRecords
- The index lookup data structure are not ordered.  The topic string is hashed.  The infos for the topic are simply placed in a vector.
- The index values for appending or inserting a record takes prev/next values (if exist)
- FIXME: prev/next values are not adjusted for adding or removing records
- FIXME: undo after reordering does not reset the modified flag
…rder to avoid multiple scan of the same resources.

- The resources are still scanned twice, once when the archive/directory is added and another time when the names are listed.
- Use integers where possible
- Unfortunately many functions are simply duplicated for now, but over time the deprecated ones will be removed
…ready in lower case.

- only a minor performance gain according to the MSVC profiler
Minor enhancements and performance improvements
Note, I suspect Rng::rollClosedProbability() is not needed.  The only difference between it and rollProbability() is that one time in 37k (on Windows), it will give an output of 1.0.
On some versions of Linux, the value of 1.0 will occur about 1 time in 4 billion.

(cherry picked from commit 3f28634)

# Conflicts:
#	apps/openmw/mwclass/creature.cpp
#	apps/openmw/mwclass/npc.cpp
#	apps/openmw/mwgui/pickpocketitemmodel.cpp
#	apps/openmw/mwgui/waitdialog.cpp
#	apps/openmw/mwmechanics/combat.cpp
#	apps/openmw/mwmechanics/mechanicsmanagerimp.cpp
#	components/CMakeLists.txt
#	libs/openengine/misc/rng.cpp
(cherry picked from commit 8c810e3)

# Conflicts:
#	apps/openmw/engine.cpp
#	apps/openmw/mwclass/npc.cpp
#	components/misc/rng.cpp
#	components/sceneutil/lightcontroller.cpp
#	libs/openengine/CMakeLists.txt
The resizing of LTEX store to the correct number of plugins was done in the load() method, but the load method won't be called if a plugin contains LAND records but doesn't contain LTEX records. For such plugins the Store<ESM::LandTexture>::search() function would then fail an assertion.

(cherry picked from commit 4687c4b)

# Conflicts:
#	apps/openmw/mwworld/store.cpp
#	apps/openmw/mwworld/store.hpp
(cherry picked from commit 07b064f)

# Conflicts:
#	apps/opencs/model/world/commanddispatcher.cpp
#	apps/opencs/model/world/regionmap.cpp
#	apps/opencs/model/world/scriptcontext.cpp
#	apps/openmw/mwrender/animation.cpp
#	apps/openmw/mwscript/statsextensions.cpp
#	apps/openmw/mwworld/store.cpp
#	components/misc/stringops.hpp
* Implement hash based lookup for TES3 BSA files.
* Added TES4/TES5 BSA support.
* Implemented a hack (non-portable code) in an attempt to reduce startup time under Windows because  Boost::filesystem seems to take forever on GetFileAttributeW.  This implementation uses FindFirstFile/FindNextFile/FindClose instead.
TES4 BSA
This change aims to allow TES4/TE5 content to OpenMW.  i.e. a standalone TES4 would be implemented quite differently.  That said, the key changes are:

* Use pointers rather than references for ESM readers so that they can be switched to another variant on the fly.
* Content file dependencies to be checked within each group (only 3 groups for now, TES3/TES4/TES5)
To support the possibility of a standalone implementation of TES4, the ESM/ESP code is placed in the 'extern' folder.

Much more work needs to be done.
Read the ESM/ESP records but do nothing with them for the moment.
Read the ESM/ESP records but do nothing with them for the moment.
TES4 ESM
@psi29a psi29a merged commit 6d38b5a into OpenMW:master Jan 20, 2019
1 check failed
1 check failed
continuous-integration/appveyor/pr AppVeyor was unable to build non-mergeable pull request
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
You can’t perform that action at this time.