mirror of
https://github.com/Garux/netradiant-custom.git
synced 2026-09-28 00:00:03 +02:00
minor tweaks
This commit is contained in:
@@ -104,8 +104,8 @@ public:
|
||||
}
|
||||
|
||||
~PakArchive(){
|
||||
for ( PakFileSystem::iterator i = m_filesystem.begin(); i != m_filesystem.end(); ++i )
|
||||
delete i->second.file();
|
||||
for ( auto& [ path, entry ] : m_filesystem )
|
||||
delete entry.file();
|
||||
}
|
||||
|
||||
void release() override {
|
||||
|
||||
@@ -158,8 +158,8 @@ public:
|
||||
return;
|
||||
}
|
||||
|
||||
for ( files_t::iterator i = m_files.begin(); i != m_files.end(); ++i )
|
||||
visitor.file( i->first.c_str() );
|
||||
for ( const auto& [ name, wad ] : m_files )
|
||||
visitor.file( name.c_str() );
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
@@ -203,9 +203,9 @@ public:
|
||||
}
|
||||
}
|
||||
~ZipArchive(){
|
||||
for ( ZipFileSystem::iterator i = m_filesystem.begin(); i != m_filesystem.end(); ++i )
|
||||
for ( auto& [ path, entry ] : m_filesystem )
|
||||
{
|
||||
delete i->second.file();
|
||||
delete entry.file();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+22
-22
@@ -63,9 +63,9 @@ public:
|
||||
void lightsChanged() const override {
|
||||
}
|
||||
void forEachLight( const RendererLightCallback& callback ) const override {
|
||||
for ( Lights::const_iterator i = m_lights.begin(); i != m_lights.end(); ++i )
|
||||
for ( const auto *light : m_lights )
|
||||
{
|
||||
callback( *( *i ) );
|
||||
callback( *light );
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -129,12 +129,12 @@ public:
|
||||
|
||||
gl().glBegin( GL_LINES );
|
||||
|
||||
for ( Array<ArbitraryMeshVertex>::const_iterator i = m_vertices.begin(); i != m_vertices.end(); ++i )
|
||||
for ( const auto& v : m_vertices )
|
||||
{
|
||||
Vector3 normal = normal3f_to_vector3( ( *i ).normal );
|
||||
Vector3 normal = normal3f_to_vector3( v.normal );
|
||||
normal = matrix4_transformed_direction( modelview_inv, vector3_normalised( matrix4_transformed_direction( modelview_inv_transposed, normal ) ) ); // do some magic
|
||||
Vector3 normalTransformed = vector3_added( vertex3f_to_vector3( ( *i ).vertex ), vector3_scaled( normal, 8 ) );
|
||||
gl().glVertex3fv( vertex3f_to_array( ( *i ).vertex ) );
|
||||
Vector3 normalTransformed = vector3_added( vertex3f_to_vector3( v.vertex ), vector3_scaled( normal, 8 ) );
|
||||
gl().glVertex3fv( vertex3f_to_array( v.vertex ) );
|
||||
gl().glVertex3fv( vector3_to_array( normalTransformed ) );
|
||||
}
|
||||
gl().glEnd();
|
||||
@@ -199,10 +199,10 @@ private:
|
||||
ArbitraryMeshTriangle_sumTangents( a, b, c );
|
||||
}
|
||||
|
||||
for ( Array<ArbitraryMeshVertex>::iterator i = m_vertices.begin(); i != m_vertices.end(); ++i )
|
||||
for ( auto& v : m_vertices )
|
||||
{
|
||||
vector3_normalise( reinterpret_cast<Vector3&>( ( *i ).tangent ) );
|
||||
vector3_normalise( reinterpret_cast<Vector3&>( ( *i ).bitangent ) );
|
||||
vector3_normalise( reinterpret_cast<Vector3&>( v.tangent ) );
|
||||
vector3_normalise( reinterpret_cast<Vector3&>( v.bitangent ) );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -350,9 +350,9 @@ private:
|
||||
|
||||
|
||||
Array<RenderIndex>::iterator j = m_indices.begin();
|
||||
for ( RenderIndex* i = indices; i != indices + ( sizeof( indices ) / sizeof( RenderIndex ) ); ++i )
|
||||
for ( auto i : indices )
|
||||
{
|
||||
*j++ = *i;
|
||||
*j++ = i;
|
||||
}
|
||||
|
||||
m_shader = "";
|
||||
@@ -382,8 +382,8 @@ public:
|
||||
CopyPicoModel( scene, scene.m_scene->mRootNode );
|
||||
}
|
||||
~PicoModel(){
|
||||
for ( surfaces_t::iterator i = m_surfaces.begin(); i != m_surfaces.end(); ++i )
|
||||
delete *i;
|
||||
for ( auto *surf : m_surfaces )
|
||||
delete surf;
|
||||
}
|
||||
|
||||
typedef surfaces_t::const_iterator const_iterator;
|
||||
@@ -416,10 +416,10 @@ public:
|
||||
}
|
||||
|
||||
void testSelect( Selector& selector, SelectionTest& test, const Matrix4& localToWorld ){
|
||||
for ( surfaces_t::iterator i = m_surfaces.begin(); i != m_surfaces.end(); ++i )
|
||||
for ( auto *surf : m_surfaces )
|
||||
{
|
||||
if ( ( *i )->intersectVolume( test.getVolume(), localToWorld ) != c_volumeOutside ) {
|
||||
( *i )->testSelect( selector, test, localToWorld );
|
||||
if ( surf->intersectVolume( test.getVolume(), localToWorld ) != c_volumeOutside ) {
|
||||
surf->testSelect( selector, test, localToWorld );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -531,11 +531,11 @@ public:
|
||||
}
|
||||
void destroyRemaps(){
|
||||
ASSERT_MESSAGE( m_skins.size() == m_picomodel.size(), "ERROR" );
|
||||
for ( SurfaceRemaps::iterator i = m_skins.begin(); i != m_skins.end(); ++i )
|
||||
for ( auto& [ name, shader ] : m_skins )
|
||||
{
|
||||
if ( ( *i ).second != 0 ) {
|
||||
GlobalShaderCache().release( ( *i ).first.c_str() );
|
||||
( *i ).second = 0;
|
||||
if ( shader != 0 ) {
|
||||
GlobalShaderCache().release( name.c_str() );
|
||||
shader = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -605,9 +605,9 @@ public:
|
||||
}
|
||||
}
|
||||
void clearLights() override {
|
||||
for ( SurfaceLightLists::iterator i = m_surfaceLightLists.begin(); i != m_surfaceLightLists.end(); ++i )
|
||||
for ( auto& light : m_surfaceLightLists )
|
||||
{
|
||||
( *i ).clear();
|
||||
light.clear();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
+19
-25
@@ -47,9 +47,9 @@ inline void plotBasisFunction( std::size_t numSegments, int point, int degree ){
|
||||
KnotVector_openUniform( knots, 4, degree );
|
||||
|
||||
globalOutputStream() << "plotBasisFunction point " << point << " of 4, knot vector:";
|
||||
for ( Knots::iterator i = knots.begin(); i != knots.end(); ++i )
|
||||
for ( auto knot : knots )
|
||||
{
|
||||
globalOutputStream() << ' ' << *i;
|
||||
globalOutputStream() << ' ' << knot;
|
||||
}
|
||||
globalOutputStream() << '\n';
|
||||
globalOutputStream() << "t=0 basis=" << BSpline_basis( knots, point, degree, 0.0 ) << '\n';
|
||||
@@ -77,11 +77,11 @@ inline bool ControlPoints_parse( ControlPoints& controlPoints, const char* value
|
||||
if ( !string_equal( tokeniser.getToken(), "(" ) ) {
|
||||
return false;
|
||||
}
|
||||
for ( ControlPoints::iterator i = controlPoints.begin(); i != controlPoints.end(); ++i )
|
||||
for ( auto& cp : controlPoints )
|
||||
{
|
||||
if ( !string_parse_float( tokeniser.getToken(), ( *i ).x() )
|
||||
|| !string_parse_float( tokeniser.getToken(), ( *i ).y() )
|
||||
|| !string_parse_float( tokeniser.getToken(), ( *i ).z() ) ) {
|
||||
if ( !string_parse_float( tokeniser.getToken(), cp.x() )
|
||||
|| !string_parse_float( tokeniser.getToken(), cp.y() )
|
||||
|| !string_parse_float( tokeniser.getToken(), cp.z() ) ) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -93,9 +93,9 @@ inline bool ControlPoints_parse( ControlPoints& controlPoints, const char* value
|
||||
|
||||
inline void ControlPoints_write( const ControlPoints& controlPoints, StringOutputStream& value ){
|
||||
value << controlPoints.size() << " (";
|
||||
for ( ControlPoints::const_iterator i = controlPoints.begin(); i != controlPoints.end(); ++i )
|
||||
for ( const auto& cp : controlPoints )
|
||||
{
|
||||
value << ' ' << ( *i ).x() << ' ' << ( *i ).y() << ' ' << ( *i ).z() << ' ';
|
||||
value << ' ' << cp.x() << ' ' << cp.y() << ' ' << cp.z() << ' ';
|
||||
}
|
||||
value << ')';
|
||||
}
|
||||
@@ -169,9 +169,9 @@ public:
|
||||
}
|
||||
template<typename Functor>
|
||||
const Functor& forEach( const Functor& functor ) const {
|
||||
for ( ControlPoints::const_iterator i = m_controlPoints.begin(); i != m_controlPoints.end(); ++i )
|
||||
for ( const auto& control : m_controlPoints )
|
||||
{
|
||||
functor( *i );
|
||||
functor( control );
|
||||
}
|
||||
return functor;
|
||||
}
|
||||
@@ -186,18 +186,12 @@ public:
|
||||
}
|
||||
|
||||
bool isSelected() const {
|
||||
for ( Selectables::const_iterator i = m_selectables.begin(); i != m_selectables.end(); ++i )
|
||||
{
|
||||
if ( ( *i ).isSelected() ) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
return std::ranges::any_of( m_selectables, std::identity{}, &ObservedSelectable::isSelected );
|
||||
}
|
||||
void setSelected( bool selected ){
|
||||
for ( Selectables::iterator i = m_selectables.begin(); i != m_selectables.end(); ++i )
|
||||
for ( auto& selectable : m_selectables )
|
||||
{
|
||||
( *i ).setSelected( selected );
|
||||
selectable.setSelected( selected );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -304,9 +298,9 @@ public:
|
||||
tesselate();
|
||||
|
||||
m_bounds = AABB();
|
||||
for ( ControlPoints::iterator i = m_controlPointsTransformed.begin(); i != m_controlPointsTransformed.end(); ++i )
|
||||
for ( const auto& control : m_controlPointsTransformed )
|
||||
{
|
||||
aabb_extend_by_point_safe( m_bounds, ( *i ) );
|
||||
aabb_extend_by_point_safe( m_bounds, control );
|
||||
}
|
||||
|
||||
m_boundsChanged();
|
||||
@@ -319,9 +313,9 @@ public:
|
||||
}
|
||||
|
||||
m_weights.resize( m_controlPoints.size() );
|
||||
for ( NURBSWeights::iterator i = m_weights.begin(); i != m_weights.end(); ++i )
|
||||
for ( auto& weight : m_weights )
|
||||
{
|
||||
( *i ) = 1;
|
||||
weight = 1;
|
||||
}
|
||||
|
||||
KnotVector_openUniform( m_knots, m_controlPoints.size(), NURBS_degree );
|
||||
@@ -392,9 +386,9 @@ public:
|
||||
tesselate();
|
||||
|
||||
m_bounds = AABB();
|
||||
for ( ControlPoints::iterator i = m_controlPointsTransformed.begin(); i != m_controlPointsTransformed.end(); ++i )
|
||||
for ( const auto& control : m_controlPointsTransformed )
|
||||
{
|
||||
aabb_extend_by_point_safe( m_bounds, ( *i ) );
|
||||
aabb_extend_by_point_safe( m_bounds, control );
|
||||
}
|
||||
|
||||
m_boundsChanged();
|
||||
|
||||
@@ -57,11 +57,5 @@ void add_entity_filter( EntityFilter& filter, int mask, bool invert ){
|
||||
}
|
||||
|
||||
bool entity_filtered( Entity& entity ){
|
||||
for ( EntityFilters::iterator i = g_entityFilters.begin(); i != g_entityFilters.end(); ++i )
|
||||
{
|
||||
if ( ( *i ).active() && ( *i ).filter( entity ) ) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
return std::ranges::any_of( g_entityFilters, [&entity]( EntityFilterWrapper& f ){ return f.active() && f.filter( entity ); } );
|
||||
}
|
||||
|
||||
@@ -41,9 +41,9 @@ public:
|
||||
m_callbacks.erase( callback );
|
||||
}
|
||||
void changed( const char* name ) const {
|
||||
for ( NameCallbacks::const_iterator i = m_callbacks.begin(); i != m_callbacks.end(); ++i )
|
||||
for ( const auto& cb : m_callbacks )
|
||||
{
|
||||
( *i )( name );
|
||||
cb( name );
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -87,9 +87,9 @@ public:
|
||||
return "";
|
||||
}
|
||||
void forEachRemap( const SkinRemapCallback& callback ) const {
|
||||
for ( Remaps::const_iterator i = m_remaps.begin(); i != m_remaps.end(); ++i )
|
||||
for ( const auto& [ from, to ] : m_remaps )
|
||||
{
|
||||
callback( SkinRemap( ( *i ).first.c_str(), ( *i ).second.c_str() ) );
|
||||
callback( SkinRemap( from.c_str(), to.c_str() ) );
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -270,16 +270,16 @@ public:
|
||||
void realise() override {
|
||||
g_skins.realise();
|
||||
m_realised = true;
|
||||
for ( Cache::iterator i = m_cache.begin(); i != m_cache.end(); ++i )
|
||||
for ( auto& skin : m_cache )
|
||||
{
|
||||
( *i ).value->realise( ( *i ).key.c_str() );
|
||||
skin.value->realise( skin.key.c_str() );
|
||||
}
|
||||
}
|
||||
void unrealise() override {
|
||||
m_realised = false;
|
||||
for ( Cache::iterator i = m_cache.begin(); i != m_cache.end(); ++i )
|
||||
for ( auto& skin : m_cache )
|
||||
{
|
||||
( *i ).value->unrealise();
|
||||
skin.value->unrealise();
|
||||
}
|
||||
g_skins.unrealise();
|
||||
}
|
||||
|
||||
@@ -157,9 +157,9 @@ public:
|
||||
|
||||
template<typename Functor>
|
||||
void TargetingEntity_forEach( const TargetingEntity& targets, const Functor& functor ){
|
||||
for ( TargetingEntity::iterator i = targets.begin(); i != targets.end(); ++i )
|
||||
for ( const auto *targetable : targets )
|
||||
{
|
||||
functor( ( *i )->world_position() );
|
||||
functor( targetable->world_position() );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -167,9 +167,9 @@ typedef std::map<std::size_t, TargetingEntity> TargetingEntities;
|
||||
|
||||
template<typename Functor>
|
||||
void TargetingEntities_forEach( const TargetingEntities& targetingEntities, const Functor& functor ){
|
||||
for ( TargetingEntities::const_iterator i = targetingEntities.begin(); i != targetingEntities.end(); ++i )
|
||||
for ( const auto& [ index, entity ] : targetingEntities )
|
||||
{
|
||||
TargetingEntity_forEach( ( *i ).second, functor );
|
||||
TargetingEntity_forEach( entity, functor );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -433,10 +433,10 @@ public:
|
||||
|
||||
void renderSolid( Renderer& renderer, const VolumeTest& volume ) const override {
|
||||
if( g_showConnections ){
|
||||
for ( TargetableInstances::const_iterator i = m_instances.begin(); i != m_instances.end(); ++i )
|
||||
for ( const auto *instance : m_instances )
|
||||
{
|
||||
if ( ( *i )->path().top().get().visible() ) {
|
||||
( *i )->render( renderer, volume );
|
||||
if ( instance->path().top().get().visible() ) {
|
||||
instance->render( renderer, volume );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -137,9 +137,9 @@ NodeSmartReference g_nullNode( NewNullNode() );
|
||||
|
||||
NodeSmartReference Entity_create( EntityCreator& entityTable, EntityClass* entityClass, const KeyValues& keyValues ){
|
||||
scene::Node& entity( entityTable.createEntity( entityClass ) );
|
||||
for ( KeyValues::const_iterator i = keyValues.begin(); i != keyValues.end(); ++i )
|
||||
for ( const auto& [ key, value ] : keyValues )
|
||||
{
|
||||
Node_getEntity( entity )->setKeyValue( ( *i ).first.c_str(), ( *i ).second.c_str() );
|
||||
Node_getEntity( entity )->setKeyValue( key.c_str(), value.c_str() );
|
||||
}
|
||||
return NodeSmartReference( entity );
|
||||
}
|
||||
|
||||
@@ -573,13 +573,7 @@ int g_vmf_entities;
|
||||
int g_vmf_brushes;
|
||||
|
||||
inline VMFBlock::const_iterator VMFBlock_find( const VMFBlock& block, const char* name ){
|
||||
for ( VMFBlock::const_iterator i = block.begin(); i != block.end(); ++i )
|
||||
{
|
||||
if ( string_equal( name, ( *i )->name() ) ) {
|
||||
return i;
|
||||
}
|
||||
}
|
||||
return block.end();
|
||||
return std::ranges::find_if( block, [name]( const VMFBlock *block ){ return string_equal( name, block->name() ); } );
|
||||
}
|
||||
|
||||
void VMF_parseBlock( Tokeniser& tokeniser, const VMFBlock& block ){
|
||||
|
||||
@@ -205,16 +205,16 @@ void MD2Surface_read( Model& model, const byte* buffer, ArchiveFile& file ){
|
||||
surface.indices().reserve( header.num_tris * 3 );
|
||||
|
||||
Array<md2XyzNormal_t> md2Xyz( header.num_xyz );
|
||||
for ( Array<md2XyzNormal_t>::iterator i = md2Xyz.begin(); i != md2Xyz.end(); ++i )
|
||||
for ( auto& xyzn : md2Xyz )
|
||||
{
|
||||
istream_read_md2XyzNormal( frameStream, *i );
|
||||
istream_read_md2XyzNormal( frameStream, xyzn );
|
||||
}
|
||||
|
||||
Array<md2St_t> md2St( header.num_st );
|
||||
PointerInputStream stStream( buffer + header.ofs_st );
|
||||
for ( Array<md2St_t>::iterator i = md2St.begin(); i != md2St.end(); ++i )
|
||||
for ( auto& st : md2St )
|
||||
{
|
||||
istream_read_md2St( stStream, *i );
|
||||
istream_read_md2St( stStream, st );
|
||||
}
|
||||
|
||||
UniqueVertexBuffer<ArbitraryMeshVertex> inserter( surface.vertices() );
|
||||
|
||||
+10
-13
@@ -30,7 +30,7 @@
|
||||
#include "model.h"
|
||||
|
||||
//#define MD5_RETURN_FALSE_IF_FAIL( expression ) if ( !( expression ) ) { globalErrorStream() << "md5 parse failed: " # expression "\n"; return false; } else
|
||||
#define MD5_RETURN_FALSE_IF_FAIL( expression ) do{ if ( !( expression ) ) { globalErrorStream() << "md5 parse failed: " # expression "\n"; return false; } }while( 0 )
|
||||
#define MD5_RETURN_FALSE_IF_FAIL( expression ) do{ if ( !( expression ) ) { globalErrorStream() << "md5 parse failed: " # expression "\n"; return false; } }while( false )
|
||||
|
||||
bool MD5_parseToken( Tokeniser& tokeniser, const char* string ){
|
||||
const char* token = tokeniser.getToken();
|
||||
@@ -281,14 +281,14 @@ bool MD5Model_parse( Model& model, Tokeniser& tokeniser ){
|
||||
MD5_RETURN_FALSE_IF_FAIL( MD5_parseToken( tokeniser, "{" ) );
|
||||
tokeniser.nextLine();
|
||||
|
||||
for ( MD5Joints::iterator i = joints.begin(); i != joints.end(); ++i )
|
||||
for ( auto& joint : joints )
|
||||
{
|
||||
const char* jointName;
|
||||
MD5_RETURN_FALSE_IF_FAIL( MD5_parseString( tokeniser, jointName ) );
|
||||
MD5_RETURN_FALSE_IF_FAIL( MD5_parseInteger( tokeniser, ( *i ).parent ) );
|
||||
MD5_RETURN_FALSE_IF_FAIL( MD5_parseVector3( tokeniser, ( *i ).position ) );
|
||||
MD5_RETURN_FALSE_IF_FAIL( MD5_parseVector3( tokeniser, ( *i ).rotation.vec3() ) );
|
||||
( *i ).rotation.w() = -static_cast<float>( sqrt( 1.0f - ( float_squared( ( *i ).rotation.x() ) + float_squared( ( *i ).rotation.y() ) + float_squared( ( *i ).rotation.z() ) ) ) );
|
||||
MD5_RETURN_FALSE_IF_FAIL( MD5_parseInteger( tokeniser, joint.parent ) );
|
||||
MD5_RETURN_FALSE_IF_FAIL( MD5_parseVector3( tokeniser, joint.position ) );
|
||||
MD5_RETURN_FALSE_IF_FAIL( MD5_parseVector3( tokeniser, joint.rotation.vec3() ) );
|
||||
joint.rotation.w() = -static_cast<float>( sqrt( 1.0f - ( float_squared( joint.rotation.x() ) + float_squared( joint.rotation.y() ) + float_squared( joint.rotation.z() ) ) ) );
|
||||
tokeniser.nextLine();
|
||||
}
|
||||
|
||||
@@ -369,10 +369,8 @@ bool MD5Model_parse( Model& model, Tokeniser& tokeniser ){
|
||||
MD5_RETURN_FALSE_IF_FAIL( MD5_parseToken( tokeniser, "}" ) );
|
||||
tokeniser.nextLine();
|
||||
|
||||
for ( MD5Verts::iterator j = verts.begin(); j != verts.end(); ++j )
|
||||
for ( const auto& vert : verts )
|
||||
{
|
||||
MD5Vert& vert = ( *j );
|
||||
|
||||
Vector3 skinned( 0, 0, 0 );
|
||||
for ( std::size_t k = 0; k != vert.weight_count; ++k )
|
||||
{
|
||||
@@ -385,9 +383,8 @@ bool MD5Model_parse( Model& model, Tokeniser& tokeniser ){
|
||||
surface.vertices().push_back( ArbitraryMeshVertex( vertex3f_for_vector3( skinned ), Normal3f( 0, 0, 0 ), TexCoord2f( vert.u, vert.v ) ) );
|
||||
}
|
||||
|
||||
for ( MD5Tris::iterator j = tris.begin(); j != tris.end(); ++j )
|
||||
for ( const auto& tri : tris )
|
||||
{
|
||||
MD5Tri& tri = ( *j );
|
||||
surface.indices().insert( RenderIndex( tri.a ) );
|
||||
surface.indices().insert( RenderIndex( tri.b ) );
|
||||
surface.indices().insert( RenderIndex( tri.c ) );
|
||||
@@ -409,9 +406,9 @@ bool MD5Model_parse( Model& model, Tokeniser& tokeniser ){
|
||||
reinterpret_cast<Vector3&>( c.normal ) += weightedNormal;
|
||||
}
|
||||
|
||||
for ( Surface::vertices_t::iterator j = surface.vertices().begin(); j != surface.vertices().end(); ++j )
|
||||
for ( auto& v : surface.vertices() )
|
||||
{
|
||||
vector3_normalise( reinterpret_cast<Vector3&>( ( *j ).normal ) );
|
||||
vector3_normalise( reinterpret_cast<Vector3&>( v.normal ) );
|
||||
}
|
||||
|
||||
surface.updateAABB();
|
||||
|
||||
+18
-18
@@ -130,20 +130,20 @@ void MDLSurface_read( Surface& surface, const byte* buffer, const char* name ){
|
||||
}
|
||||
|
||||
Array<mdlSt_t> mdlSts( header.numverts );
|
||||
for ( Array<mdlSt_t>::iterator i = mdlSts.begin(); i != mdlSts.end(); ++i )
|
||||
for ( auto& st : mdlSts )
|
||||
{
|
||||
( *i ).onseam = istream_read_int32_le( inputStream );
|
||||
( *i ).s = istream_read_int32_le( inputStream );
|
||||
( *i ).t = istream_read_int32_le( inputStream );
|
||||
st.onseam = istream_read_int32_le( inputStream );
|
||||
st.s = istream_read_int32_le( inputStream );
|
||||
st.t = istream_read_int32_le( inputStream );
|
||||
}
|
||||
|
||||
Array<mdlTriangle_t> mdlTriangles( header.numtris );
|
||||
for ( Array<mdlTriangle_t>::iterator i = mdlTriangles.begin(); i != mdlTriangles.end(); ++i )
|
||||
for ( auto& tri : mdlTriangles )
|
||||
{
|
||||
( *i ).facesfront = istream_read_int32_le( inputStream );
|
||||
( *i ).vertindex[0] = istream_read_int32_le( inputStream );
|
||||
( *i ).vertindex[1] = istream_read_int32_le( inputStream );
|
||||
( *i ).vertindex[2] = istream_read_int32_le( inputStream );
|
||||
tri.facesfront = istream_read_int32_le( inputStream );
|
||||
tri.vertindex[0] = istream_read_int32_le( inputStream );
|
||||
tri.vertindex[1] = istream_read_int32_le( inputStream );
|
||||
tri.vertindex[2] = istream_read_int32_le( inputStream );
|
||||
}
|
||||
|
||||
{
|
||||
@@ -167,10 +167,10 @@ void MDLSurface_read( Surface& surface, const byte* buffer, const char* name ){
|
||||
}
|
||||
|
||||
Array<mdlXyzNormal_t> mdlXyzNormals( header.numverts );
|
||||
for ( Array<mdlXyzNormal_t>::iterator i = mdlXyzNormals.begin(); i != mdlXyzNormals.end(); ++i )
|
||||
for ( auto& norm : mdlXyzNormals )
|
||||
{
|
||||
inputStream.read( ( *i ).v, 3 );
|
||||
inputStream.read( &( *i ).lightnormalindex, 1 );
|
||||
inputStream.read( norm.v, 3 );
|
||||
inputStream.read( &norm.lightnormalindex, 1 );
|
||||
}
|
||||
|
||||
{
|
||||
@@ -178,20 +178,20 @@ void MDLSurface_read( Surface& surface, const byte* buffer, const char* name ){
|
||||
|
||||
{
|
||||
UniqueVertexBuffer<mdlVertex_t> inserter( mdl_vertices );
|
||||
for ( Array<mdlTriangle_t>::iterator i = mdlTriangles.begin(); i != mdlTriangles.end(); ++i )
|
||||
for ( const auto& tri : mdlTriangles )
|
||||
{
|
||||
surface.indices().insert( inserter.insert( mdlVertex_t( ( *i ).vertindex[0], ( *i ).facesfront ) ) );
|
||||
surface.indices().insert( inserter.insert( mdlVertex_t( ( *i ).vertindex[1], ( *i ).facesfront ) ) );
|
||||
surface.indices().insert( inserter.insert( mdlVertex_t( ( *i ).vertindex[2], ( *i ).facesfront ) ) );
|
||||
surface.indices().insert( inserter.insert( mdlVertex_t( tri.vertindex[0], tri.facesfront ) ) );
|
||||
surface.indices().insert( inserter.insert( mdlVertex_t( tri.vertindex[1], tri.facesfront ) ) );
|
||||
surface.indices().insert( inserter.insert( mdlVertex_t( tri.vertindex[2], tri.facesfront ) ) );
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
surface.vertices().reserve( mdl_vertices.size() );
|
||||
|
||||
for ( VertexBuffer<mdlVertex_t>::iterator i = mdl_vertices.begin(); i != mdl_vertices.end(); ++i )
|
||||
for ( const auto& v : mdl_vertices )
|
||||
{
|
||||
surface.vertices().push_back( MDLVertex_construct( header, mdlXyzNormals[( *i ).m_vertindex], mdlSts[( *i ).m_vertindex], ( *i ).m_facesfront == MDL_FACES_FRONT ) );
|
||||
surface.vertices().push_back( MDLVertex_construct( header, mdlXyzNormals[v.m_vertindex], mdlSts[v.m_vertindex], v.m_facesfront == MDL_FACES_FRONT ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+23
-23
@@ -53,9 +53,9 @@ public:
|
||||
void lightsChanged() const override {
|
||||
}
|
||||
void forEachLight( const RendererLightCallback& callback ) const override {
|
||||
for ( Lights::const_iterator i = m_lights.begin(); i != m_lights.end(); ++i )
|
||||
for ( const auto *light : m_lights )
|
||||
{
|
||||
callback( *( *i ) );
|
||||
callback( *light );
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -121,8 +121,8 @@ public:
|
||||
}
|
||||
void updateAABB(){
|
||||
m_aabb_local = AABB();
|
||||
for ( vertices_t::iterator i = m_vertices.begin(); i != m_vertices.end(); ++i )
|
||||
aabb_extend_by_point_safe( m_aabb_local, reinterpret_cast<const Vector3&>( ( *i ).vertex ) );
|
||||
for ( const auto& v : m_vertices )
|
||||
aabb_extend_by_point_safe( m_aabb_local, reinterpret_cast<const Vector3&>( v.vertex ) );
|
||||
|
||||
|
||||
|
||||
@@ -135,10 +135,10 @@ public:
|
||||
ArbitraryMeshTriangle_sumTangents( a, b, c );
|
||||
}
|
||||
|
||||
for ( Surface::vertices_t::iterator i = m_vertices.begin(); i != m_vertices.end(); ++i )
|
||||
for ( auto& v : m_vertices )
|
||||
{
|
||||
vector3_normalise( reinterpret_cast<Vector3&>( ( *i ).tangent ) );
|
||||
vector3_normalise( reinterpret_cast<Vector3&>( ( *i ).bitangent ) );
|
||||
vector3_normalise( reinterpret_cast<Vector3&>( v.tangent ) );
|
||||
vector3_normalise( reinterpret_cast<Vector3&>( v.bitangent ) );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -171,10 +171,10 @@ public:
|
||||
#if defined( _DEBUG ) && !defined( _DEBUG_QUICKER )
|
||||
gl().glBegin( GL_LINES );
|
||||
|
||||
for ( VertexBuffer<ArbitraryMeshVertex>::const_iterator i = m_vertices.begin(); i != m_vertices.end(); ++i )
|
||||
for ( const auto& v : m_vertices )
|
||||
{
|
||||
Vector3 normal = vector3_added( vertex3f_to_vector3( ( *i ).vertex ), vector3_scaled( normal3f_to_vector3( ( *i ).normal ), 8 ) );
|
||||
gl().glVertex3fv( vertex3f_to_array( ( *i ).vertex ) );
|
||||
Vector3 normal = vector3_added( vertex3f_to_vector3( v.vertex ), vector3_scaled( normal3f_to_vector3( v.normal ), 8 ) );
|
||||
gl().glVertex3fv( vertex3f_to_array( v.vertex ) );
|
||||
gl().glVertex3fv( vector3_to_array( normal ) );
|
||||
}
|
||||
gl().glEnd();
|
||||
@@ -226,9 +226,9 @@ public:
|
||||
Callback<void()> m_lightsChanged;
|
||||
|
||||
~Model(){
|
||||
for ( surfaces_t::iterator i = m_surfaces.begin(); i != m_surfaces.end(); ++i )
|
||||
for ( auto *surf : m_surfaces )
|
||||
{
|
||||
delete *i;
|
||||
delete surf;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -250,9 +250,9 @@ public:
|
||||
}
|
||||
void updateAABB(){
|
||||
m_aabb_local = AABB();
|
||||
for ( surfaces_t::iterator i = m_surfaces.begin(); i != m_surfaces.end(); ++i )
|
||||
for ( const auto *surf : m_surfaces )
|
||||
{
|
||||
aabb_extend_by_aabb_safe( m_aabb_local, ( *i )->localAABB() );
|
||||
aabb_extend_by_aabb_safe( m_aabb_local, surf->localAABB() );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -265,10 +265,10 @@ public:
|
||||
}
|
||||
|
||||
void testSelect( Selector& selector, SelectionTest& test, const Matrix4& localToWorld ){
|
||||
for ( surfaces_t::iterator i = m_surfaces.begin(); i != m_surfaces.end(); ++i )
|
||||
for ( auto *surf : m_surfaces )
|
||||
{
|
||||
if ( ( *i )->intersectVolume( test.getVolume(), localToWorld ) != c_volumeOutside ) {
|
||||
( *i )->testSelect( selector, test, localToWorld );
|
||||
if ( surf->intersectVolume( test.getVolume(), localToWorld ) != c_volumeOutside ) {
|
||||
surf->testSelect( selector, test, localToWorld );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -355,11 +355,11 @@ public:
|
||||
}
|
||||
}
|
||||
void destroyRemaps(){
|
||||
for ( SurfaceRemaps::iterator i = m_skins.begin(); i != m_skins.end(); ++i )
|
||||
for ( auto& [ name, shader ] : m_skins )
|
||||
{
|
||||
if ( ( *i ).second != 0 ) {
|
||||
GlobalShaderCache().release( ( *i ).first.c_str() );
|
||||
( *i ).second = 0;
|
||||
if ( shader != 0 ) {
|
||||
GlobalShaderCache().release( name.c_str() );
|
||||
shader = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -427,9 +427,9 @@ public:
|
||||
}
|
||||
}
|
||||
void clearLights() override {
|
||||
for ( SurfaceLightLists::iterator i = m_surfaceLightLists.begin(); i != m_surfaceLightLists.end(); ++i )
|
||||
for ( auto& lightList : m_surfaceLightLists )
|
||||
{
|
||||
( *i ).clear();
|
||||
lightList.clear();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
+20
-20
@@ -58,9 +58,9 @@ public:
|
||||
void lightsChanged() const override {
|
||||
}
|
||||
void forEachLight( const RendererLightCallback& callback ) const override {
|
||||
for ( Lights::const_iterator i = m_lights.begin(); i != m_lights.end(); ++i )
|
||||
for ( const auto *light : m_lights )
|
||||
{
|
||||
callback( *( *i ) );
|
||||
callback( *light );
|
||||
}
|
||||
}
|
||||
};
|
||||
@@ -117,12 +117,12 @@ public:
|
||||
|
||||
gl().glBegin( GL_LINES );
|
||||
|
||||
for ( Array<ArbitraryMeshVertex>::const_iterator i = m_vertices.begin(); i != m_vertices.end(); ++i )
|
||||
for ( const auto& v : m_vertices )
|
||||
{
|
||||
Vector3 normal = normal3f_to_vector3( ( *i ).normal );
|
||||
Vector3 normal = normal3f_to_vector3( v.normal );
|
||||
normal = matrix4_transformed_direction( modelview_inv, vector3_normalised( matrix4_transformed_direction( modelview_inv_transposed, normal ) ) ); // do some magic
|
||||
Vector3 normalTransformed = vector3_added( vertex3f_to_vector3( ( *i ).vertex ), vector3_scaled( normal, 8 ) );
|
||||
gl().glVertex3fv( vertex3f_to_array( ( *i ).vertex ) );
|
||||
Vector3 normalTransformed = vector3_added( vertex3f_to_vector3( v.vertex ), vector3_scaled( normal, 8 ) );
|
||||
gl().glVertex3fv( vertex3f_to_array( v.vertex ) );
|
||||
gl().glVertex3fv( vector3_to_array( normalTransformed ) );
|
||||
}
|
||||
gl().glEnd();
|
||||
@@ -187,10 +187,10 @@ private:
|
||||
ArbitraryMeshTriangle_sumTangents( a, b, c );
|
||||
}
|
||||
|
||||
for ( Array<ArbitraryMeshVertex>::iterator i = m_vertices.begin(); i != m_vertices.end(); ++i )
|
||||
for ( auto& v : m_vertices )
|
||||
{
|
||||
vector3_normalise( reinterpret_cast<Vector3&>( ( *i ).tangent ) );
|
||||
vector3_normalise( reinterpret_cast<Vector3&>( ( *i ).bitangent ) );
|
||||
vector3_normalise( reinterpret_cast<Vector3&>( v.tangent ) );
|
||||
vector3_normalise( reinterpret_cast<Vector3&>( v.bitangent ) );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -321,8 +321,8 @@ public:
|
||||
CopyPicoModel( model );
|
||||
}
|
||||
~PicoModel(){
|
||||
for ( surfaces_t::iterator i = m_surfaces.begin(); i != m_surfaces.end(); ++i )
|
||||
delete *i;
|
||||
for ( auto *surface : m_surfaces )
|
||||
delete surface;
|
||||
}
|
||||
|
||||
typedef surfaces_t::const_iterator const_iterator;
|
||||
@@ -355,10 +355,10 @@ public:
|
||||
}
|
||||
|
||||
void testSelect( Selector& selector, SelectionTest& test, const Matrix4& localToWorld ){
|
||||
for ( surfaces_t::iterator i = m_surfaces.begin(); i != m_surfaces.end(); ++i )
|
||||
for ( auto *surface : m_surfaces )
|
||||
{
|
||||
if ( ( *i )->intersectVolume( test.getVolume(), localToWorld ) != c_volumeOutside ) {
|
||||
( *i )->testSelect( selector, test, localToWorld );
|
||||
if ( surface->intersectVolume( test.getVolume(), localToWorld ) != c_volumeOutside ) {
|
||||
surface->testSelect( selector, test, localToWorld );
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -482,11 +482,11 @@ public:
|
||||
}
|
||||
void destroyRemaps(){
|
||||
ASSERT_MESSAGE( m_skins.size() == m_picomodel.size(), "ERROR" );
|
||||
for ( SurfaceRemaps::iterator i = m_skins.begin(); i != m_skins.end(); ++i )
|
||||
for ( auto& [ name, shader ] : m_skins )
|
||||
{
|
||||
if ( ( *i ).second != 0 ) {
|
||||
GlobalShaderCache().release( ( *i ).first.c_str() );
|
||||
( *i ).second = 0;
|
||||
if ( shader != 0 ) {
|
||||
GlobalShaderCache().release( name.c_str() );
|
||||
shader = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -556,9 +556,9 @@ public:
|
||||
}
|
||||
}
|
||||
void clearLights() override {
|
||||
for ( SurfaceLightLists::iterator i = m_surfaceLightLists.begin(); i != m_surfaceLightLists.end(); ++i )
|
||||
for ( auto& light : m_surfaceLightLists )
|
||||
{
|
||||
( *i ).clear();
|
||||
light.clear();
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
+14
-14
@@ -988,9 +988,9 @@ public:
|
||||
m_pSpecular = evaluateTexture( m_template.m_specular, m_template.m_params, m_args );
|
||||
m_pLightFalloffImage = evaluateTexture( m_template.m_lightFalloffImage, m_template.m_params, m_args );
|
||||
|
||||
for ( ShaderTemplate::MapLayers::const_iterator i = m_template.m_layers.begin(); i != m_template.m_layers.end(); ++i )
|
||||
for ( const auto& layer : m_template.m_layers )
|
||||
{
|
||||
m_layers.push_back( evaluateLayer( *i, m_template.m_params, m_args ) );
|
||||
m_layers.push_back( evaluateLayer( layer, m_template.m_params, m_args ) );
|
||||
}
|
||||
|
||||
if ( m_layers.size() == 1 ) {
|
||||
@@ -1031,9 +1031,9 @@ public:
|
||||
|
||||
GlobalTexturesCache().release( m_pLightFalloffImage );
|
||||
|
||||
for ( MapLayers::iterator i = m_layers.begin(); i != m_layers.end(); ++i )
|
||||
for ( auto& layer : m_layers )
|
||||
{
|
||||
GlobalTexturesCache().release( ( *i ).texture() );
|
||||
GlobalTexturesCache().release( layer.texture() );
|
||||
}
|
||||
m_layers.clear();
|
||||
|
||||
@@ -1092,9 +1092,9 @@ public:
|
||||
return &m_layers.front();
|
||||
}
|
||||
void forEachLayer( const ShaderLayerCallback& callback ) const override {
|
||||
for ( MapLayers::const_iterator i = m_layers.begin(); i != m_layers.end(); ++i )
|
||||
for ( const auto& layer : m_layers )
|
||||
{
|
||||
callback( *i );
|
||||
callback( layer );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1132,9 +1132,9 @@ void ActiveShaders_IteratorIncrement(){
|
||||
}
|
||||
|
||||
void debug_check_shaders( shaders_t& shaders ){
|
||||
for ( shaders_t::iterator i = shaders.begin(); i != shaders.end(); ++i )
|
||||
for ( const auto& [ name, shader ] : shaders )
|
||||
{
|
||||
ASSERT_MESSAGE( i->second->refcount() == 1, "orphan shader still referenced" );
|
||||
ASSERT_MESSAGE( shader->refcount() == 1, "orphan shader still referenced" );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1731,9 +1731,9 @@ public:
|
||||
}
|
||||
|
||||
void foreachShaderName( const ShaderNameCallback& callback ) override {
|
||||
for ( ShaderDefinitionMap::const_iterator i = g_shaderDefinitions.begin(); i != g_shaderDefinitions.end(); ++i )
|
||||
for ( const auto& [ name, shader ] : g_shaderDefinitions )
|
||||
{
|
||||
callback( ( *i ).first.c_str() );
|
||||
callback( name.c_str() );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1762,14 +1762,14 @@ public:
|
||||
|
||||
void setLightingEnabled( bool enabled ) override {
|
||||
if ( CShader::m_lightingEnabled != enabled ) {
|
||||
for ( shaders_t::const_iterator i = g_ActiveShaders.begin(); i != g_ActiveShaders.end(); ++i )
|
||||
for ( const auto& [ name, shader ] : g_ActiveShaders )
|
||||
{
|
||||
( *i ).second->unrealiseLighting();
|
||||
shader->unrealiseLighting();
|
||||
}
|
||||
CShader::m_lightingEnabled = enabled;
|
||||
for ( shaders_t::const_iterator i = g_ActiveShaders.begin(); i != g_ActiveShaders.end(); ++i )
|
||||
for ( const auto& [ name, shader ] : g_ActiveShaders )
|
||||
{
|
||||
( *i ).second->realiseLighting();
|
||||
shader->realiseLighting();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -142,8 +142,7 @@ static void InitPakFile( ArchiveModules& archiveModules, const char *filename ){
|
||||
}
|
||||
|
||||
inline void pathlist_append_unique( StrList& pathlist, CopiedString path ){
|
||||
if( std::none_of( pathlist.cbegin(), pathlist.cend(),
|
||||
[&path]( const CopiedString& str ){ return path_compare( str.c_str(), path.c_str() ) == 0; } ) )
|
||||
if( std::ranges::none_of( pathlist, [&path]( const CopiedString& str ){ return path_compare( str.c_str(), path.c_str() ) == 0; } ) )
|
||||
pathlist.emplace_back( std::move( path ) );
|
||||
}
|
||||
|
||||
@@ -364,18 +363,18 @@ void InitDirectory( const char* directory, ArchiveModules& archiveModules ){
|
||||
g_dir_close( dir );
|
||||
|
||||
// add the entries to the vfs
|
||||
for ( Archives::iterator i = archivesOverride.begin(); i != archivesOverride.end(); ++i )
|
||||
for ( const auto& archive : archivesOverride )
|
||||
{
|
||||
char filename[PATH_MAX];
|
||||
strcpy( filename, path );
|
||||
strcat( filename, ( *i ).c_str() );
|
||||
strcat( filename, archive.c_str() );
|
||||
InitPakFile( archiveModules, filename );
|
||||
}
|
||||
for ( Archives::iterator i = archives.begin(); i != archives.end(); ++i )
|
||||
for ( const auto& archive : archives )
|
||||
{
|
||||
char filename[PATH_MAX];
|
||||
strcpy( filename, path );
|
||||
strcat( filename, ( *i ).c_str() );
|
||||
strcat( filename, archive.c_str() );
|
||||
InitPakFile( archiveModules, filename );
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user