MovingBlocks / TeraMath

Experimental standalone math and stuff. Automation category: Terasology Library
Apache License 2.0
13 stars 11 forks source link

Add TeraMath from engine #34

Closed msteiger closed 9 years ago

msteiger commented 9 years ago

All chunk-related methods were removed (deprecated in engine since January 2015). These methods are now in ChunkMath.

Cervator commented 9 years ago

All new stuff (and who says no to unit tests - other PR) so probably no reason to not merge? Seems sensible anyway :-) Might be other mathy stuff going on but this shouldn't harm it.

Got some sneaky @author tags hiding in there in individual javadoc blocks btw

msteiger commented 9 years ago

Right - thanks. I'd like to remove the class engine from engine at the same time to avoid having the same class twice.

There might be modules that are still using deprecated methods from TeraMath. Maybe your mega-workspace could help finding usages so we can update them first?

Cervator commented 9 years ago

Sure thing, another quick todo for the weekend :-)

Just delete engine/src/main/java/org/terasology/math/TeraMath.java and its associated test class? Should we copy the test class here as well?

I also haven't looked here much lately, but we have both a snapshot and a release jar in Artifactory, so I take it temporarily tweaking engine locally to use the snapshot would be valid testing?

Cervator commented 9 years ago

@msteiger - I'm working on this, quite a few little tweaks here and there needed, and it has hooks into your develop branch for Cities as well as some other math updates still pending. Will see how far I can get :-)

Edit: Naturally after I say that the next fix was the final one (other than L&S). Will finalize and push updates after a likely long shopping run

Cervator commented 9 years ago

All done and I also moved the test class into TeraMath the lib, and grabed the Circle PR.

Weirdly the only module I had to fix was CustomOreGen. Despite doing a Find Usages on TeraMath before with more than 400 hits and only 300-something in engine. Your PRs did most the work I just had to grab everything.

Latest Omega zip works although both Cities and Polyworld are broken at this point. With their develop branches pulled they both work fine. Can we promote those two to their master branches? Then everything short L&S should be working again :-)

msteiger commented 9 years ago

I can create a release for PolyWorld, but Cities is not ready yet. It will take at least 2-3 weeks to finish everything up. Next up on my list is Light&Shadow. So maybe skip Cities for this release and get it back in together with L&S after that?

Cervator commented 9 years ago

Mind if we roll in the partial implementation instead of leaving it broken? I can just note in the release that it is being reworked and isn't fully functional. Beats temporarily removing it entirely IMHO :-)

Wouldn't mind a quick compile fix for L&S either. Neither is complete in any case, I just want incomplete things that don't crash :D

If needed we could release without either though. Your call :-)

msteiger commented 9 years ago

Ok - will try to get something working for the weekend. Maybe we should create a release (silently), update all modules and module dependencies and only then release the Omega version.

Cervator commented 9 years ago

We can re-run Omega just to update modules, yup. But I think there have been enough engine changes where latest modules wouldn't work on the previous engine release :-)

Unless I'm misunderstanding you anyway. I occasionally do an Omega-only release but usually only right after an engine release where a few modules get fixes before engine has changed much.

(also: yay 3 am!)