π§Ίπ₯π The Easter Release ππ₯π§Ί
I did not expect to release this project on Easter, but here it is. I had made a lot of improvements since v0.1.6. The primary being actor support.
You can view the video for a demonstration of this project here.
Improved Actor Support and Ground Casting
Thanks to BahKooJ's notes, I now support more actor types. The maps now looks more alive than before. You can finally find the player. In a mater of fact, some actors move across the map. To list the improvements and additions would thicken these notes. So, I decided not to list them all. Note: That the actor pathing support is not accurate yet. Ground Casting is also vastly improved. It is both faster and more accurate.
Before
After
Fogs and Decals are Supported.
These quadrilaterals added much detail to Future Cop. It improves the look of Griffith Park's map.
Before
After
Map Vertex Color Upgrade/Fix
I had improved the reading of vertex colors for map sections and now they show up properly in the map viewer. This fixed the glitches found on the maps, and the maps now look both better and brighter.
Technical Details
It turned out that the vertex colors in the color palette stored in map sections are actually 16 bit rather than 15 bit. The color format used 5 bits for each channel. The three channels are red, green, and blue. The last bit was used to double the brightness of the color rather than being unused.
Before
After
Added "shading" to Model Instance Polygon Rendering.
I also worked on giving shading to model instances that should have this shading. This gives the models a little bit more detail. Right now it does not blend in with Future Cop, but it is better than nothing.
Before
After
Incomplete Software Renderer
This renderer is only useful for rendering cut-scenes, font and images. It does not render map geometry yet. It also uses most of your CPU. It is not recommended for use yet, and it is there to practice my optimization skills.
Graphics Configuration
I am now giving you the configuration file support. This will enabled you to edit some of the graphics options. The renderer has two options GLES2 or Software. GLES2 is the default, and Software is not useful as of this release. GLES2 has two graphics options semi_transparent_limit is the triangle limit adjust the semi-transparent triangle limit. force_gl2 if set to true would make the program try to use OpenGL 2 then to OpenGLES 2. Software right now only has one option pixel_size. If you increase this option it should make the program go faster, but at a reduced resolution.
[general]
version_major = 0
version_minor = 0
renderer = GLES2
[gles2]
semi_transparent_limit = 131070
force_gl2 = false
[software]
pixel_size = 1Controls Configuration Update
I decided that it was weird to use JSON rather than INI to store key-mapping. So, here is what configuration files look like now. The section "player 1" holds the configuration mappings. This does mean that the program will no longer read from controls.json file. I recommend that you remove it if you want to save a little bit of data storage.
[general]
control_library = SDL2
version_major = 0
version_minor = 0
[player 1]
menu = Escape
up = W
down = S
left = A
right = D
rotate_left = Q
rotate_right = E
weapon_light = J
weapon_medium = K
weapon_heavy = L
action = ;
jump = Space
camera = Tab
change_target = T
map = MVideo Volume Adjustable in "sound.ini"
I added the video_volume parameter to adjust video volume. 2 is the max and 0.0 is the minimum.
[general]
music_volume = 1.000000
sfx_volume = 1.000000
announcement_volume = 1.000000
master_volume = 1.000000
video_volume = 1.000000
[listener]
sound_limit = 32
[announcement]
queue_limit = 32
What's Changed
- Filesystem Paths Used Instead of Strings by @Ghoster738 in #86
- Constant Global Pixel Formats Are Now Preferred Over Declaring Them by @Ghoster738 in #87
- PixelFormats Are Treated as Constant Global Data by @Ghoster738 in #88
- Video Volume Adjustable Via Config File by @Ghoster738 in #89
- Controls Now Use the INI Format by @Ghoster738 in #90
- Graphics Configuration Update by @Ghoster738 in #91
- Updated Graphics ModelInstance by @Ghoster738 in #92
- Added Limited Software Renderer by @Ghoster738 in #93
- More Actors Supported; Rendering Improvements/Upgrades; Better Ground Casts by @Ghoster738 in #94
- Fixed up the Vertex Colors from the Map Sections' Color Palettes by @Ghoster738 in #95
- Added Normal Shading by @Ghoster738 in #96
- mINI from 0.9.17 to 0.9.18; SDL 2 from 2.32.0 to 2.32.4; libpng from 1.6.46 to 1.6.47 by @Ghoster738 in #97
Full Changelog: v0.1.6...v0.1.7











