Goober5000
e621dbe997
Merge pull request #5464 from Goober5000/render_constify
...
add const where appropriate to the modelrender API
2023-10-21 15:57:24 -04:00
mjn-mixael
3eee74a31c
remove unneeded header
2023-10-20 14:16:22 -05:00
mjn-mixael
941d5f7ec3
Move the option definition to a file that doesn't require glad.h for building and resolve xstr issue
2023-10-20 14:01:50 -05:00
mjn-mixael
21f92194f1
Add deferred lighting as an in-game option
2023-10-20 12:38:53 -05:00
Goober5000
c43f5bdd58
Merge pull request #5516 from Goober5000/pof_version_fix
...
POF version fix
2023-10-18 03:24:55 -04:00
BMagnu
febd8cd2ad
Allow an asymmetric FOV / Frustrum ( #5657 )
...
* Enable Asymmetric Projection FOV
* Properly apply asymmetric FOV to g3_rotate_ functions
* De-CPP14-ify
* cleanup
* Make GCC happy
* Fix Vertical Asymmetric FOV
* Fix printf
2023-10-15 05:39:24 +09:00
Goober5000
b7e9d4c9cb
tweak some model warning messages
...
Per a thread in the TBP forum, elaborate on these model warnings a bit.
Two other small code tweaks as well.
2023-09-30 20:06:41 -04:00
Goober5000
f6c86464aa
add model filename back into debug log
...
In #4702 this log line was changed to the 'Model' category, which made it hidden by default. This was missed in review but should be restored as it is a fairly important line.
Fixes #5507 .
2023-07-29 15:29:29 -04:00
Goober5000
c80f787d34
POF version fix
...
Modelread.cpp supports POF versions as low as 1900, but early model versions were not loaded properly because they relied on preprocessor directives rather than version checks. This changes the POF loading to correctly check version numbers and chunk IDs.
Fixes crashes when attempting to load a FS1 model.
2023-07-26 00:00:17 -04:00
Goober5000
9b72fb6592
add some additional safety checks for dockpoint paths
...
1. Check that a path index is in range
2. Check that a path's parent submodel is the same as the dockpoint's parent submodel
2023-07-03 12:35:34 -04:00
wookieejedi
f6b445ed2e
Fix crash that can occur due to invalid glow point bank ( #5465 )
...
PR adds extra validity check within `model_render_glowpoints` function. Other places in code that use `bank->submodel_parent` check for validity before looking up `pmi->submodel`, but this check was missing from this section (which caused a CTD in a mission restart due to `bank->submodel_parent` being -1).
2023-06-18 22:14:16 -04:00
Goober5000
17d36156cb
add const where appropriate to the modelrender API
...
See title. There were some cascade effects, but the changes are mostly contained to the model code. The calls to `gr_render_model` and `g3_render_primitives` use `const_cast` because constifying that API would require a whole other PR.
2023-06-18 14:05:46 -04:00
Shivansps
15e7fb16d1
Validate chunk size to avoid align crash and add align skip flag ( #5450 )
...
* validate chunk size to avoid align crash and add align skip flag
* change type from uint to int
* change mprintf output to a warning
* revert uint to int change and requested changes
2023-06-08 16:05:56 -04:00
BMagnu
8562dde955
OpenGL Capability Handling ( #5445 )
...
* Init Particle shaders only if they're actually used
* set layout correctly
* Don't compile shadow shader if not needed
* Properly deal with capabilities
* Fix typo
* remove obsolete capability
2023-06-07 19:58:55 -04:00
Birk Magnussen
f4b6a4af61
Property Append Mode proper
2023-05-25 20:55:22 +02:00
Birk Magnussen
f8220ccd60
Property Append Mode
2023-05-25 20:54:04 +02:00
Birk Magnussen
be29fc9eaa
fix warning
2023-05-25 12:15:18 +02:00
Birk Magnussen
4d25b34c1b
Add Subsystem data change
2023-05-25 12:12:55 +02:00
Goober5000
3e0c7f0721
add lcase_equal and lcase_lessthan
...
The `SCP_string_lcase_equal_to()()` and `SCP_string_lcase_less_than()()` functors are rather unwieldy to use in non-functor situations, so this adds conventional function equivalents.
2023-05-20 18:21:37 -04:00
Goober5000
34663c68bd
some cleanup and refactoring
...
Refactor and clean up some of the code, and add some fixes and utility functions. This covers the non-X-Wing part of #5277 .
2023-05-18 18:28:09 -04:00
Goober5000
8aa5a22f5d
Merge pull request #5399 from BMagnu/modularpof_parent_subsystem
...
Fix modular pof handling of dock / path parent names
2023-05-12 14:19:16 -04:00
BMagnu
26cfc8d017
Make check case insensitive
2023-05-13 01:52:40 +09:00
Birk Magnussen
6f8c8e802a
fix modular pof handling of dock / path parent names
2023-05-12 10:26:13 +02:00
Goober5000
712a70444b
update type_flags when dock name changes
...
The `type_flags` on a model's dockpoints are determined by the dockpoint name. If the name changes, the flags should be updated accordingly.
This fixes a bug in Scroll where a dockpoint that was imported and renamed to start with the word "cargo" was not compatible with cargo docking as expected.
2023-05-12 04:08:38 -04:00
Birk Magnussen
ff3be1a4e3
Add additional checks for animation list handling of nonexistent polymodel instances
2023-05-06 13:42:21 +02:00
Asteroth
02a40ae905
Remove model octants ( #5373 )
...
* remove model octants
* actually remove the struct
* comments
* remove scratch comment
* initialize
2023-05-01 23:54:43 -04:00
Fabian Woltermann
09a1485a7b
this makes sure we do not run into a division by zero under certain circumstances. Also skips glowpoint rendering if the glowpoint is currently invisible
2023-04-29 18:04:39 +02:00
Asteroth
d43cf1018d
ensure pmi for this lookup ( #5372 )
2023-04-25 22:27:41 -04:00
BMagnu
ab4d1fb779
Skip anim if type is unknown ( #5363 )
2023-04-22 02:28:27 +09:00
Asteroth
4a53ff742d
Add debris density ( #5340 )
...
* add debris density
* doc new param
2023-04-20 02:48:19 -04:00
Goober5000
581c834353
Merge pull request #5337 from Goober5000/various_tweaks
...
Various tweaks and polishing
2023-04-19 22:20:53 -04:00
Asteroth
0bffa82422
fix wep glowpoints ( #5344 )
2023-04-18 08:04:16 -04:00
BMagnu
bbb7599512
Add proper time wrapping for animations ( #5339 )
2023-04-18 04:40:04 +09:00
BMagnu
ff296f8f98
Add a Translation Moveable ( #5313 )
...
* Add Translation Moveable
* Update SEXP docs
* Update some strings
2023-04-16 20:56:44 +09:00
Goober5000
0c8a6c6f97
small streamlining
2023-04-15 14:23:05 -04:00
Asteroth
a2df152323
Add fov values to .pof models ( #5244 )
...
* add model fov values
* initialize proper defaults
* set defaults directly
2023-04-11 06:30:17 +09:00
BMagnu
e2b205ffaa
Modular POF Features 2 ( #5209 )
...
* Add weapon bank copy
* Add Path / Dock point copying
* cleanup
* Fix dock points
* Fix copy paste error
* Incorporate feedback
* Incorporate feedback 2
* delete copy assignment
2023-04-07 08:12:20 +09:00
Fabian Woltermann
a786e2d541
fix rare division-by-zero caused by unchecked data
2023-04-03 18:16:44 +02:00
Goober5000
0f88965aed
fix submodel sanity check
...
If a submodel doesn't have a parent, set `parent_sm` to nullptr instead of a random value.
2023-03-08 19:09:29 -05:00
Asteroth
482034a383
Adjust movement sanity checks to account for more situations ( #5240 )
...
* adjust movement sanity checks
* traverse through children
* use `model_iterate_submodel_tree`
2023-03-08 15:18:57 -05:00
niffiwan
625a77bdb1
Merge pull request #5238 from Baezon/remove-vestigal-attach-thrusters
...
Remove `Attach_thrusters` submodel flag
2023-03-07 20:40:29 +10:00
Fabian Woltermann
2392a6cc7d
Merge pull request #5231 from BMagnu/volumetric_nebulae
...
Localized Volumetric Nebulae
2023-03-06 16:38:14 +01:00
Fabian Woltermann
c8fd2af450
Merge pull request #5090 from MjnMixael/scpui_closeup_icons
...
SCPUI methods required for handling closeup briefing icon stuff
2023-03-06 16:36:44 +01:00
Asteroth
ece792d35b
remove vestigal flag
2023-03-06 02:17:52 -05:00
Asteroth
89f10a5495
small fix for thruster flicker
2023-03-05 00:55:14 -05:00
BMagnu
2f0e2f591f
Adjust alpha of neb-affected effects
2023-02-28 14:17:49 +01:00
Goober5000
5b175673ed
add initializers to mc_info
...
This initializes `mc_info` to the correct values when it is constructed, removing the need for `mc_info_init`.
This PR also fixes a group of incorrectly inverted assignments in beam.cpp.
2023-02-21 19:09:10 -05:00
Asteroth
1dc4a210b7
Add collision flag for colliding with all polies ( #5212 )
...
* add collision flag for colliding with all polies
* copy paste error
2023-02-22 04:45:18 +09:00
Asteroth
68aec1edef
Merge remote-tracking branch 'upstream/master' into no-bsp-tree-optimization
2023-02-19 04:07:07 -05:00
Asteroth
eba379330e
update naming and remove unused function
2023-02-18 15:31:06 -05:00