MCPcopy Create free account
hub / github.com/Panzerschrek/Chasm-Reverse / MapDrawerSoft

Method MapDrawerSoft

PanzerChasm/client/map_drawer_soft.cpp:116–175  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

114}
115
116MapDrawerSoft::MapDrawerSoft(
117 Settings& settings,
118 const GameResourcesConstPtr& game_resources,
119 const RenderingContextSoft& rendering_context )
120 : settings_(settings)
121 , game_resources_( game_resources )
122 , rendering_context_( rendering_context )
123 , screen_transform_x_( 0.5f * float( rendering_context_.viewport_size.Width () ) )
124 , screen_transform_y_( 0.5f * float( rendering_context_.viewport_size.Height() ) )
125 , rasterizer_(
126 rendering_context.viewport_size.Width(), rendering_context.viewport_size.Height(),
127 rendering_context.row_pixels, rendering_context.window_surface_data )
128 , surfaces_cache_( rendering_context_.viewport_size )
129{
130 PC_ASSERT( game_resources_ != nullptr );
131
132 sky_texture_.file_name[0]= '\0';
133
134 LoadModelsGroup( game_resources_->items_models, items_models_ );
135 LoadModelsGroup( game_resources_->rockets_models, rockets_models_ );
136 LoadModelsGroup( game_resources_->gibs_models, gibs_models_ );
137 LoadModelsGroup( game_resources_->weapons_models, weapons_models_ );
138 LoadModelsGroup( game_resources_->monsters_models, monsters_models_ );
139
140 // Load effects sprites.
141
142 const PaletteTransformed& palette= *rendering_context_.palette_transformed;
143
144 sprite_effects_textures_.resize( game_resources_->effects_sprites.size() );
145 for( unsigned int i= 0u; i < sprite_effects_textures_.size(); i++ )
146 {
147 const ObjSprite& in_sprite= game_resources_->effects_sprites[i];
148 SpriteTexture& out_sprite_texture= sprite_effects_textures_[i];
149
150 out_sprite_texture.size[0]= in_sprite.size[0];
151 out_sprite_texture.size[1]= in_sprite.size[1];
152 out_sprite_texture.size[2]= in_sprite.frame_count;
153
154 const unsigned int pixel_count= in_sprite.size[0] * in_sprite.size[1] * in_sprite.frame_count;
155 out_sprite_texture.data.resize( pixel_count );
156 for( unsigned int j= 0u; j < pixel_count; j++ )
157 out_sprite_texture.data[j]= palette[in_sprite.data[j]];
158 }
159
160 bmp_objects_sprites_.resize( game_resources_->bmp_objects_sprites.size() );
161 for( unsigned int i= 0u; i < bmp_objects_sprites_.size(); i++ )
162 {
163 const ObjSprite& in_sprite= game_resources_->bmp_objects_sprites[i];
164 SpriteTexture& out_sprite_texture= bmp_objects_sprites_[i];
165
166 out_sprite_texture.size[0]= in_sprite.size[0];
167 out_sprite_texture.size[1]= in_sprite.size[1];
168 out_sprite_texture.size[2]= in_sprite.frame_count;
169
170 const unsigned int pixel_count= in_sprite.size[0] * in_sprite.size[1] * in_sprite.frame_count;
171 out_sprite_texture.data.resize( pixel_count );
172 for( unsigned int j= 0u; j < pixel_count; j++ )
173 out_sprite_texture.data[j]= palette[in_sprite.data[j]];

Callers

nothing calls this directly

Calls 2

WidthMethod · 0.80
HeightMethod · 0.80

Tested by

no test coverage detected