Releases: InsanityBringer/PiccuEngine
Piccu Engine v1.3.0-proto4 SDL
Piccu Engine prototype release, using SDL backend.
Experimental, probably less buggy now.
Changes
- Add dedicated server support to SDL build.
- Fix mouse side buttons not mapping correctly.
- Fix ~ not being mapped correctly.
- Deprioritize selecting weapons in multi if you're out of ammo.
- Some fixes to avoid spamming sounds in certain situations.
- New sound channel scoring that accounts for a sound's distance.
- Fix Mass Driver zoom sticking across new ships.
Known issues
- When switching from fullscreen to windowed, clicking may cause a cursor to become visible in the middle of the screen. Opening and closing a menu should get rid of it.
- Some config won't import from older versions of Piccu Engine (all controls will port over just fine), and config file isn't portable yet.
Piccu Engine v1.3.0-proto3 SDL
Piccu Engine prototype release, using SDL backend.
Experimental, is probably buggy.
Now with fix for "Unable to find version key for Descent 3" error.
Changes
- All input, window management, and graphics context management is now done through SDL.
- In multiplayer games, when you change which weapon slot is selected, you will always pick the higher priority weapon for that slot.
- Fix pressing esc at pilot screen causing controls to not load.
- Fix terrain fog not rendering in Compat profile.
- Fix ship selector not being visible in Core profile.
- Fix screenshots of 640x480 screens being cut off.
- Fix homing missile warnings not working for a while when changing levels.
- Fix slow movement when keyboard ramping is exactly 0.
Known issues
- Dedicated server not supported yet.
- When switching from fullscreen to windowed, clicking may cause a cursor to become visible in the middle of the screen. Opening and closing a menu should get rid of it.
- Sounds may cut off in some levels due to attempt to fix fusion cannon sound vanishing. Further work is needed.
- Some config won't import from older versions of Piccu Engine (all controls will port over just fine), and config file isn't portable yet.
Piccu Engine v1.3.0-proto2 SDL
Piccu Engine prototype release, using SDL backend.
Experimental, is probably buggy.
Changes
- All input, window management, and graphics context management is now done through SDL.
- In multiplayer games, when you change which weapon slot is selected, you will always pick the higher priority weapon for that slot.
- Fix pressing esc at pilot screen causing controls to not load.
- Fix terrain fog not rendering in Compat profile.
- Fix ship selector not being visible in Core profile.
- Fix screenshots of 640x480 screens being cut off.
- Fix homing missile warnings not working for a while when changing levels.
- Fix slow movement when keyboard ramping is exactly 0.
Known issues
- Dedicated server not supported yet.
- Sounds may cut off in some levels due to attempt to fix fusion cannon sound vanishing. Further work is needed.
- Some config won't import from older versions of Piccu Engine (all controls will port over just fine), and config file isn't portable yet.
Piccu Engine v1.2.2
Bugfix release
Changes
- XInput is now dynamically loaded, and will choose XInput1_3.dll and XInput1_4.dll by availability
- Crash dialog gives more relevant information
Bugfixes
- Fix problem with scorches sometimes crashing the game after level changes.
Known bugs
This problem was reported but I completely forgot to investigate it oops.
- Pressing esc at the pilot select screen won't load game controls.
- A fresh pilot file may have problems moving with keyboard controls. If this happens, go to Options->Config->Keyboard->Adjust settings and nudge the key ramping slider up and down once.
Piccu Engine v1.2.1
Hotfix to address the very poor performance on Nvidia GPUs.
Changes
- Add a new option to pick between the Compatibility profile rendering code (from Piccu v1.1.1) and the Core profile rendering code (from Piccu v1.2), defaults to Compatibility. AMD users can pick Core for more performance on newer cards.
- Link against xinput.lib from DX9 SDK to maintain compatibility with Windows 7.
- Version now shown in title.
Fixes
- Fix alt-tabbing while in automap causing you to disconnect in multiplayer games.
- Should have fixed divide by 0 from previous release.
Piccu Engine v1.2
New feature and bugfix release, to fill the gap in the development of Newrender. This release does not use Newrender, but will use the GL 3.3 Newrender backend to improve performance on some GPUs.
Changes
- Added some support for xinput controllers. (Thanks Zardoru!)
- Added MSAA support to the renderer.
- Enable BP even when merc isn't present.
- New renderer backend. On some machines, this may perform noticably better than the original code.
- Can now post to Gamespy protocol v1 trackers like tsetsefly.de and terminal's tracker.
- Mission download can now use https on Windows. (Thanks Arne!)
- Can now toggle doppler and reverb effects from the sound menu
- Videos are no longer put in a 4:3 box, and will expand to use the width of the screen.
- New netgame connectors, with a new .piccucon format. This includes a tracker that will list games from tsetsefly.de.
- Dedicated server doesn't spam letters as it reads the tablefile, somewhat increasing startup speed.
Fixes
- Terrain fog now works
- Fixed transparent ship logos.. but now the handles don't show up on level 1. I can't win
- Reduce CPU usage on dedicated servers. I recommend a framecap of at most 500 FPS, 999 will still use more than vanilla.
- Fix crash in some situations when alt-tabbing at the multiplayer intermission screen.
- Fix some pilot management settings disrupting the user's key ramping and weapon priorities.
- Fix crash in mission downloader if ran in a directory with a long path
Known bugs
- An occasional divide by 0 in the mission downloader has been spotted.
Tracker support
A new multiplayer game isn't implicitly tracked, even when created with the Tracker connector. To enable tracking support, gamespy.cfg must be filled out with lines for Gamespy v1 compatible tracker servers. Two example servers follow.
tracker.tsetsefly.de:27900
will post the game to hltv's tracker https://tsetsefly.de, used by the in-game tracker connector
tracker.h0m3.net:27900
will post the game to Terminal and Pudlez's tracker https://tracker.h0m3.net/index.html
UDP port 2092 will still need to be opened for others to be able to connect to your game
Piccu Engine v1.1.1 (reissue)
Minor maintenance release. Reissued due to bug with dedicated server.
Changes
- Vertical sync won't uncap framerate on Nvidia.
- Attempted fixes for stuttering.
- Fix red guidebot in Mercenary expansion.
- Code cleanup, please report if anything is funky.
- Fix level 1 terminal levers not showing.
- Fix potential bug with mysterious watchers..
- Fixed writing garbage string when saving on level 4.
- Default PPS bumped to 30.
- PPS range in dedicated config can go up to 40 now.
- Use
-ppsto change client PPS if desired. -usesmoothingis now default, use-nosmoothingto turn it off.
Piccu Engine v1.1
New features
No mouse polling rate limit
Descent 3 normally polled the mouse at 20 hz, regardless of what your mouse was capable of. Piccu Engine will now allow you to poll at your mouse's native rate. Do note that you will have to adjust sensitivity to compensate for this, and this does add some framerate dependence to how fast your mouse polls. If these pose problems, you can restore the 20 hz polling limit by going to Options->Config->Joy/Mouse->Adjust Settings and changing the mouse polling limit to "Original (20hz)"
Additional
- Added minidumps on crash. These will be stored in your user directory (where pilots are stored) and stored with the current UTC timestamp. These can be uploaded to help debug crashes.
- Gamma correction now works, using shaders.
- Expanded vclip frame limit, though the overall bitmap limit still applies.
- Raise number of Windows Multimedia Joysticks to 15. The entire joystick needs rewriting.
- Framerate limiter is more precise now.
Bugfixes
- OOF model polygons won't cause stack corruption if a glow is attached and they have more than 30 vertices.
- Fix weird text clipping playing at high resolutions.
- Fix game constantly nagging about portable mode when a piccu_portable file exists.
- Fix some HUD elements (such as the reactor status in D3 level 5) being positioned differently based on resolution.
- Fix Mercenary expansion not being loaded from Steam data files.
Piccu Engine v1.0.1
Piccu Engine v1.0.1
New features
- Mouse buttons 4 and 5 can be used in-game now.
- Filesystem localization.
When first running Piccu Engine, the game will save user generated content, namely savegames, demos, and pilot files into the user's Saved Games directory. If you do not wish to do this, put an empty file named "piccu_portable" in the directory with Piccu Engine's executable, and the old behavior will be retained. If there are any pilot files in the current directory, and the Piccu Engine saved games directory doesn't exist, it will ask if you want to make the install portable. Select "Yes" to make the install portable. Otherwise, Piccu Engine will copy all of the demos, pilots, and saves into the user's save game directory.
This will not delete any existing data, to avoid any data loss.
Bugfixes
- Make weapon fire sounds stick to the player
- Fix glitchy walls in the mission "Lunar Outpost MN0019" and probably others
- Fusion damage should now scale based on framerate
- Omega will now no longer damage user when flying a Phoenix or Magnum
- Fix minor rendering problem with invulnerability display in cockpit mode.
Piccu Engine v1.0
Descent 3: Piccu Engine
Piccu Engine is a new engine for playing Descent 3 with enhanced quality of life features. It is licensed under the terms of the GNU GPL, version 3.
Features
Piccu Engine provides the following features:
- Centered window mode
- Scaling in window and fullscreen mode
- Fullscreen which does not change desktop settings (multi adapter support forthcoming)
- New mouse code
- Adjustable FOV, with automatic expansion for widescreen
- Missing features in OpenGL restored, including specular highlights and the ability to control mipmapping
- Cockpit actually works in widescreen, unlike InjectD3
- Faster iteration when many missions are present.
- Smoother UI (FPS limit raised to 60)
- OpenAL sound system with no crackling and environment reverb support.
- text scaling for the HUD.
- Many bugfixes
Installation
Piccu Engine can be dropped directly into an existing Descent 3 directory, but this may not be desired if you wish to run the 1.4 release.
In addition, Piccu Engine cannot currently be run from Program Files without issues. This will change in a future release.
If you want to install Piccu Engine into another directory, the following files should be copied over from a patched 1.4 installation.
- d3.hog
- extra.hog
- extra13.hog
- merc.hog (if you own the Descent 3: Mercenary expansion pack)
- missions/d3.mn3
- missions/d3_2.mn3
- missions/d3voice1.hog
- missions/d3voice2.hog
- missions/training.mn3
- missions/merc.mn3 (if you own the 3: Mercenary expansion pack)
The following directories should be copied over if you want to play Piccu Engine in multiplayer
- netgames
- online
- missions/Fury.hog (stock Anarchy levels)
- missions/bedlam.mn3 (stock Capture the Flag levels)
The following directories may be copied over, but are not critical
- movies
Known Issues
The following issues are known about the current release
- Terrain rendering limits were raised, but the rendering code was not improved, making it significantly laggy even on modern machines. Adjust the draw distance and level of detail to make it run faster.
Future Plans
The following features are intended for future releases of Piccu Engine
- Better versioning in game
- Significantly faster rendering, using GPU shaders to reimplement missing features like bump mapping. This will fix the terrain rendering slowness.
- Ability to run either in "portable" mode (save config locally instead of in registry, and save locally) or to save data in user directories, so it can be placed in Program Files on Windows.
- Fix long-standing resource management issues, including assets being loaded by custom missions persisiting across level changes and game saves and loads.
- Automatic detection and loading of Descent 3 installs on the Steam and GOG platforms.
Credits
- btb: MVE source from D2X
- GZDoom: Revision checking CMake script
- OpenAL Soft: Primary sound library