progress update for #TrainsInMotion #Traincraft rewrite

I've been working closely with a new tester which has helped uncover dozens of bugs in 0.2.6 which I have been rapidly fixing.

There will be a 0.2.6.5 release to fix all the bugs and add a little new content. This time I have a tester to help me be sure it actually works (thanks Xelbayria).





Also some news for 0.2.7, I have a new theoretical render method for spline based rails, if it works out, it will be very efficient, and no models will be needed to render the geometry. Textures will also be able to contain more detail while being significantly smaller.
Basically the idea is to define the points of the normals manually from offsets, using points for every microblock, and then an angle from the previous point to the current to define shape.
So here's to hopes that works out when the time comes!

Meanwhile I still have to rework the entire inventory system, again (forge inventory code hates my new GUI, so I guess I gotta make my own).
While I'm in there I might as well prep it for the crafting stuff in 0.2.7....


Since I don't provide these update lists as often as I should, this list will be really long. Sorry.
- Reworked the curve model and texture.
- Updated the slope models.
- Bogie now compensates for derail and ZnD rail.
- Added debugging info for ZnD rails.
- Changed around the casting in the bogie, should be slightly less overhead now.
- Datawatchers are now only updated when needed, rather than when changed.
- Fixed texture size of RailStraight.
- Rails now properly return a max rail speed based on what the rail is made of, this effects the movement rate of minecarts, trains, and rollingstock, similar to railcraft rails.
- Fuel storage is now managed in GenericRailTransport (useful for furnace carts).
- Heat and cooldown for steam trains is now calculated realistically, and is effected by the current biome and height above/below sea level, credit to zodiacmal for the heat-up calculation.
- Fuel reworked, now only 1 item of fuel is used at a time, all burnables have different heats which effect how quickly steam is generated and how long it burns.
- the lastFuelConsumed variable is now unnecessary since we can just check what's in the slot.
- Fixed some mouse functionality with inventories.
- Fixed a bunch of other potential errors with inventories related to the containers not being closed properly.
- Fuel handler info is now transferred through the datawatcher to sync it with the client.
- GUI now displays the countdown timer for burnable fuel (re-using the fire graphic from the furnace).
- GUI now displays the boiler temp.
- Fixed an issue with GUI getting steam values. 
- Fixed railcraft fluid loader/unloader compatibility (for real this time).
- Refactored some code because I found it hard to read.
- Reworked the check for if the bogie should update it's rotation, this still needs work and testing.
- Updated the Railcraft API, which fixed a typo and added the license.
- Acceleration has been totally revamped with some help from zodiacmal, should be significantly more realistic now.
- Fixed the brigadelok's stats.
- WeightTons is now WeightKg.
- Fixed some GUI positions.
- Fixed a small degree of documentation
- Fixed the bogie weight calculation.
- Fixed a crash due to a null link.
- Improved bogie rotation, should be more reliable now.
- Improved wheel rotation, should better match up with movement.
- Fixed some render bugs that caused geometry to not render sometimes.
- Improved rendering performance to make up for the extra overhead in the new method.
- Texture binding should now be more efficient and reliable.
- Fixed steam trains generating steam when not hot enough to realistically generate steam, nerfed steam generation to match the changes.
- Rollingstock are now more realistically difficult to push, some will require multiple people pushing to make it move (yes that does work).
- Fixed a collision detection issue with blocks.
- Minor hitbox performance improvements.
- Cleaned up the hitbox class, should fix some minor potential bugs, and improve overall performance.
 
 TMT changes:
- Removed TextureGroup, it's just a list of TexturedPolygons now, it doesn't need it's own class.

Comments