Commit graph

11 commits

Author SHA1 Message Date
Shiny Metagross
5670e6f54c Some of the to-dos
- Implemented Animation parameters for A_ChangeModel
- Made a modeldef flag to treat additional model indices as just attachments, meaning they will use armature data from index 0
- Fixed an issue with A_ChangeModel where generated indices lower than smf frame amounts could not actually generate anything
2022-10-19 22:48:57 +02:00
Shiny Metagross
e9e919b54c Changes before To-Dos
- Removed redundant AttachAnimationData functions from derived model classes
- Fixed indentation in IQM loader
- Fixed a merging issue in the MD3 FindFrame
- Fixed a formatting issue in FindFrame in Model.h?
2022-10-19 22:48:57 +02:00
Shiny Metagross
08f520f1c6 IQM Support Implemented
More info to come
2022-10-19 22:48:57 +02:00
Christoph Oelckers
c89ae6358e - Backend update from Raze, mostly maintenance changes without new functionality. 2022-08-11 22:51:19 +02:00
Christoph Oelckers
9875850c19 - got rid of the state variables in the model class entirely.
This is *not* the right way to reduce function parameter count. The data in question is far easier evaluated at the calling site and passed as a parameter.
2022-07-23 10:35:01 +02:00
Christoph Oelckers
76c8214d67 - fixed destructive logic and memory allocation issues in RenderFrameModels.
This completely avoids modification of the model data, instead using local variables.
2022-07-23 10:10:15 +02:00
Christoph Oelckers
e60e6967c0 - whitespace cleanup, updated from Raze. 2022-01-02 12:23:42 +01:00
Christoph Oelckers
1c517d19fa - Backend update from Raze.
This is mainly code cleanup from setting the compiler to a stricter warning level.
2022-01-02 11:39:17 +01:00
Chernoskill
4e583772d7
Update models_md3.cpp 2021-03-06 11:26:31 +01:00
Chernoskill
fa2058004b The two TArrays of type FTextureID skinIDs and surfaceskinIDs no longer have any null elements. These elements will have a textureid (FTextureID.texnum) of 0.
Re-worded error messages which were unprecise or unfitting before (model index below 0 was not acknowledged at all, or grouped together with a "too many models" message).

modelIDs are given a default value of -1.

Important: A MODELDEF's FrameIndex lines can no longer refer to model indices that are beyond the number of models of that MODELDEF entry. There is in fact a check to avoid going beyond the number of an actor's models which would abort program operation at startup, but it never caught any such occurances.

surfaceSkinIDs was two-dimensional and is now a one-dimensional TArray as well, elements are accessed via [Row + Column * NumRows], in this case surfaceIndex + modelIndex * MD3_MAX_SURFACES]
Used TArray.Alloc to make TArrays have the correct size depending on the number of models.

Also removed MAX_MODELS_PER_FRAME.
Edited skinSurfaceIDs access for one-dimensional TArray

Added MD3_MODELS_MIN
To ensure compatibility with mods, all model-related TArrays (four in total) have a minimum size of 4, defined by MD3_MODELS_MIN.
2021-02-26 22:22:33 +01:00
Christoph Oelckers
3ee1aa76c3 - moved model code to 'common'. 2020-04-27 20:50:46 +02:00
Renamed from src/r_data/models/models_md3.cpp (Browse further)