Thursday, March 1, 2012

Update to 1.2

The update to 1.2 is finished.

The new MCP is changing the method parameters and local variable names, so almost everything had to be merged manually.

Last week I was experimenting with decompiling the latest snapshot (12w08a) and the results were mixed.

Decompiling the snapshot and bringing it to a compilable state is a lot of work. When new fields or methods are added, the obfuscation schema is shifting and has to be manually corrected. This means finding at which place the new elements are inserted, shifting the rest of the elements and decompiling again to see if the fix is working. Some bigger classes like Block or World have received a lot of changes in 1.2 (new world format, new blocks, etc.). Minecraft 1.2 has 959 classes and many of them have to be manually analyzed, fixed and rechecked. Even trivial changes like changing field visibility or adding method parameters require manual intervention.

This all is only to bring the source to compilable state, equivalent to the last decompiled version.

Then the new features have to be named. For this they have to be analyzed, where and how they are used and so on. Sometimes the only way to find what a new field does is to run Minecraft, change it's value in the debugger and see what happens.

The whole process is hard, but doable. As the MCP project shows after every release.

So be patient and if you can, go and donate to the projects which make Minecraft modding possible.

120 comments:

  1. I would just wait until it would be easily updated. People will just have to wait (Or play 1.1) and learn that it doesn't just take a few minutes to update a completely new version of Minecraft, with lots of things changed.

    ReplyDelete
  2. I Sent a donation your way. Optifine is a grand thing and it feels good to help out.

    gackless

    ReplyDelete
    Replies
    1. This comment has been removed by the author.

      Delete
    2. Can you not see the capes on 1.4.4 only on 1.2?

      Delete
  3. Optifine is amazing, you have done a wonderful job. Thank you so much for making it. I would donate, but I can't afford it. Still, thanks so much, I really appreciate your dedication.

    ReplyDelete
    Replies
    1. sorie wegen der dumen frage aber wo ist der link zum downloden :)

      Delete
  4. Holy netherrack, 959 classes in 1.2? At least the vast majority of classes (block types, base data layouts like NBT and MathHelper, stuff like that) hardly ever change, so you just have to compare the layout of the class to the previous one. But still, they do have their work cut out for them, especially with a new file format, new mob AI, new rendering stuff (I've looked at RenderBlocks, and it is a pigsty... no wonder OptiFine takes so long to update even after MCP has.)

    Still, good luck with the updating. I'm still looking forward to the day when Jeb and co. finally realize Minecraft is becoming increasingly unplayable for lower-end desktops and even mid-end laptops, and that OptiFine is the only fix for that, so they should add it to vanilla or at least add the features it has... and I still swear I've seen laptop-specific, deliberate deoptimization in the vanilla code...

    ReplyDelete
  5. we completely understand. Modding minecraft was already extremely complicated, but having to figure out all the new stuff makes it harder. take your time, optifine is worth the wait :)

    ReplyDelete
  6. Can I punch you in the face corE ?

    ReplyDelete
  7. Lol EpicPowers, I will be tieing his shoelaces together while you draw your fist back to deliver the first & final strike onto his n00bish faise. xD corE I suggest you either 1: reread the post and remove your comment. 2. Wait for the punch to your face. Either way you still suck.... lol

    ReplyDelete
  8. I read about the conundrum MC would have with getting optifine integrated properly.

    Its a shame you can't get a read-only copy of the un-obfuscated sources under a strict NDA, so selected MODs with Mojang approval can see the code and adapt thier mods to suit.

    Its just silly how they obfuscate it and then their entire mod ecosystem waits for somebody to simply reverse the obfuscation ....

    I mean really, what are they achieving now by such extreme obfuscation?

    ReplyDelete
    Replies
    1. I think it's stupid as well, but Minecraft is a very large game. Obfuscation is done to prevent people from fully distributing their game.

      Delete
    2. That doesn't make sense,

      1. The binaries ( minecraft.jar ) are easily obtainable, so obfuscationss not helping that problem.

      2. The code is now reverse engineered , rendering the source code in a usable form for whatever purposes to whoever wants it do build whatever they want with it, so obfuscation only *delays* that.

      So how exactly does obfuscation "prevent people from fully distributing their game" ?

      It at very best delays the time from release to being "pirated" by about a week or so.

      Delete
    3. You have to make a reasonable effort to protect your intellectual property to have protection under the law. Having a copyright or trademark alone isn't enough to have protection under the law. Obfuscation makes it clear that the code is not freely available for any use...it is a reasonable effort at protecting the code. Obfuscation itself doesn't protect the code, but what the obfuscation means helps to protect the code legally.

      It could also be that Mojang considers the development of Minecraft as a hard difficulty 'Survival' mode, and you have to mine out the information you need rather than spawn any bit of code you want. Who knows.

      Delete
    4. Perhaps, but they've taken the extreme end of the stick and used obfuscation that is impractical.

      A few things would make the situation much better.

      1. Have an obfuscation scheme that doesn't randomly reassign every classes name every time the code changes, but uses the same random tokens every time. ( So that the reverse engineering process is not difficult for pointlessessness sake )

      2. Obfuscating method names, but not classnames ( still offering protection of the implementation details )

      3. Only obfuscating method bodies, not method/class names.

      Delete
  9. Optifine makes my MC experience 10x better. I run my own server and the lag can get kind of hectic. With optifine, I can reduce my lag and tend to my members' needs more efficiently. Thank you for all of your hard work. And don't worry about taking your time- Optifine is well worth the wait. I'll be donating to you shortly. :)

    -Devon Jade

    ReplyDelete
  10. Can't wait for optifine for 1.2!!!!!! I LOVE OPTIFINE!! WILL DONATE

    ReplyDelete
  11. Such a difference before and after. Hurry before I run out of other things to do! D:

    ReplyDelete
    Replies
    1. Patience. Updating a mod takes a lot of work.

      Delete
  12. Imagine minecraft without this.....even in 1.2 :( Hope you update it soon.

    ReplyDelete
  13. Can't wait till this is released!! Take your time, I can defintely wait for something that will help in the long run!!

    ReplyDelete
  14. I love optifine but when you make a new optifine and sense light levels are client side not server side and all lighting is darker then it was in 1.8 in caves and underwater even with brightness all the way up maybe you can make a cave and water brightener. Just a thought.

    ReplyDelete
  15. I agree with everyone else take your time, when optifine for 1.2 is realeased it will be epic and I am happy to wait untill the end of April for it to come out so take you time and fix all the bugs whatever you need to do. I agree it is doable hard but doable and I sugest you relax your way through and not think about the people that rush you think about the others who support you RandomGuy_13, Jade, PwnyBrony32, sparkawe, PS3CH4MP, everyone else and me. Good luck. :D

    ReplyDelete
  16. Can you specify any timeframe for release?

    ReplyDelete
    Replies
    1. Patience. Updating a mod takes a lot of work.

      Delete
  17. You could try the Pre - Release Version of MCP http://www.mediafire.com/?emz17agmzr3ed7e :)

    ReplyDelete
    Replies
    1. Read the whole post! He said he's working on it, and has been for a while

      Delete
  18. Hey. I love your plugin. I have so much lag without it, so please, update ASAP. MCP is out. Thanks so much.

    ReplyDelete
  19. MCP is updated as i bet you know

    ReplyDelete
  20. hell i love everything about this mod! even the Fast debug info screen!

    ReplyDelete
  21. I usually don't use this mod, as I don't think it visually improves Minecraft all too much. As soon as I started a new world in 1.2.3, with my render distance set to Far, it crashed my game. When i started an old world, with my settings that I had on 1.1, I got about 15 fps out of it. Really looking forward to seeing how OptiFine Light 1.2.3 works for me when it comes out :)
    I dont use HD textures anyway. If I have MCpatcher HD enabled, and Optifine Light, can I use HD textures? Doesn't really matter anyway, because the default 16x texture size is fine for me.
    Looking forward to seeing it all work out!

    ReplyDelete
    Replies
    1. lol, optifine improves the graphic so much it made me kinda sad that i played so long without it. Try to turn on the AA and AF to x16.

      Delete
  22. hope it will be updated next week i cant play mc with only 5 to 3 fps for normal and i can only play in small render distance :(

    GREAT JOB WITH THE MODDING! *DIAMONDS FOR U !* (sry for the caps ;P )

    ReplyDelete
  23. This comment has been removed by the author.

    ReplyDelete
  24. Anyone sensible understands why it takes so long and the effort that needs to be put in and is willing to wait for a nice smooth minecraft instead of the lagfest most of us have.

    Saying that though, I really miss bettergrass and HD textures when new updates come out and usually jump over to mcpatcher for a few days while optifine is updated.

    Anyone else really wish there was an Optifine Cosmetic which just had the simple things in that don't need MCP to be updated?

    ReplyDelete
  25. Love your work man. Take all the time you need, because when it comes out, it's going to be worth it. Looking forward to the release! :)

    ReplyDelete
  26. Threw a Donation at OF...
    Will do so next month...
    May do so every month ^_^

    OF are an important and mostly needed mod...
    I would say that HDPather should (almost) be discontinued due to OF already granting same features plus soooo much more!

    Well, time for me to return to Hexen 1 and kill some monsters and down right enjoy an old game, and maybe i'll play... DN3DAE or SS1 after... hmm....

    ReplyDelete
  27. Please fix the lightning-block-bug, when 256/512px Texture-packs are in use, because I can't decide, what to take: Shadermod or the awesome texturepack!

    ReplyDelete
  28. I don't mine Optifine taking awhile to update as long as I get more than the current 8 ( literally ) FPS.

    I'm going to donate in a bit as well!
    Great mod.

    Mojang should have you make Minecraft run good without Optifine, they should pay you though.

    ReplyDelete
  29. Did you have ideia of when the optifine for 1.2 will launch?
    OBS:I'm brazilian.

    ReplyDelete
  30. WTF? Still at 40% ? (BTW I'm not rushin' ya I'm just surprised)

    ReplyDelete
  31. i dont even need optifine for my computer i get 80-100 fps on average but i still use it to make sure i get the most out of minecraft and remove any chance of a lag spike and the little features this mod comes with is awesome nice work guys

    ReplyDelete
  32. Donated. Keep up the good work.

    ReplyDelete
  33. This really is the best mod in existence for Minecraft, donated.

    Can't wait for the update, keep it up.

    ReplyDelete
  34. ^ I know right, it was at 80% earlier today.

    It almost seems as if the donations make sp614x work faster... quickly, more people donate!

    ReplyDelete
    Replies
    1. It's normal. When he gets money (he deserves it) he has a motivation to work. :)

      Delete
  35. When update will be realese? I can't wait!

    ReplyDelete
    Replies
    1. When it's done? Hopefully today, if not probably tomorrow.

      Delete
  36. Dude, if its 90% done cant u still release like u did with 1.1?
    I respect the fact that u are still working on it, but i hate lagging :| =\

    ReplyDelete
  37. Dude, your mod is my key to play any version of Minecraft playable on my PC! :D
    90% - excellent! Waiting. :)

    ReplyDelete
  38. Plus, Mojang should make u work for them, and make u put this code into minecraft, and this way, we both win, (we dont have to download the mod)(and we dont need to wait to update) and u also earn money :DDDDD

    ReplyDelete
  39. im waiting i get so much lag without optifine :( and i try to run a personal server sometimes for me and my friends to play on and i lag TONS but with optifine i can play on short rendering ill wait for every update and deal with the lag untill then i hope mod API will come soon

    ReplyDelete
  40. Is it possible to have something like http://www.minecraftforum.net/topic/981282-123-white-text-fix/
    implemented in optifine seeing as it is something that happens on low end graphics cards that do not support OpenGL 1.4? (make sure you ask the author first :b)

    ReplyDelete
  41. If minecraftforum.net is overloaded, you can download it just here :P
    http://optifine.net/adload.php?f=OptiFine_1.2.3_HD_A.zip

    ReplyDelete
  42. also if possible could you do anything about the lighting checks in the nether?
    I get like 200 a minute and it slows me down considerably (from 30fps to 0fps)

    ReplyDelete
  43. Full F5 na page kkk'


    Espectativa *-*

    ReplyDelete
  44. The Fast Debug Info doesnt work. The lagometer still shows. Thanks!

    ReplyDelete
  45. Can't donate just at the moment, but did want to express gratitude for the mod and the hard work.
    It greatly increases my enjoyment of the game and allows me record LP's which otherwise wouldn't be possible.

    Thanks so much.

    ReplyDelete
  46. This is great news. Please hurry! Using MCPathcher with Misa is painful at best.

    ReplyDelete
  47. This is the site the most visited about me ! i'm so impatient !

    ReplyDelete
  48. My Minecraft LIVES on this mod :) Keep up the great work man :) I have been anticipating the update, so i can run my server with much less lag. Seriously though, you are doing a great job. Creating the mod itslef must be hard, but updating when minecraft has changed alot? Must take ages, and you are speeding along!

    ReplyDelete
  49. 99.5%? Next will be 99.6, 99.7, 99.8, 99.9, 99.91...
    Just joking. Nice to see that mod is near to finish. :D

    ReplyDelete
  50. someone post an ip so i can connect to them ( i need to test something assuming you have optifine snapshot on)

    ReplyDelete
  51. And the 1.2.3 version??
    or that will be compatible?

    ReplyDelete
  52. Come on... 99.5%? You have to be kidding!!!

    ReplyDelete
  53. Havent used optifine yet but heard great things about it!!! Cant wait until your done with 1.2.3!! keep up the good work!!!

    ReplyDelete
  54. Gosh i cant wait! the over-world is fine, but the nether is laggy! i love your mod and anyone who is mad about this mod not being out yet can suck it. These last decimal percentages will be the hardest of my wait. Keep up the amazing work!

    ReplyDelete
  55. A person with your talents should be hired by Mojang to code the graphics anyhow--thought about possibly pursuing that angle?

    ReplyDelete
  56. I donated for Optifine to show support and for the awesome cape. Mc: Badel89

    ReplyDelete
  57. Replies
    1. You can download it here : http://www.minecraftforum.net/topic/249637-123-optifine-hd-b-fps-boost-hd-textures-aa-af-and-more/

      Delete
  58. Does this need to be updated for 1.2.4?

    ReplyDelete
  59. when will 1.2.4 be out?
    and can we have a preview of it :DDD

    ReplyDelete
  60. SHUT THE FUCK UP ABOUT 1.2.4 AND CHECK THE FORUM POST

    ReplyDelete
  61. wow people! first if you need this mod so badly when you see there is an update realize that none of the mods will work right if you update right away. you can wait a week to update if you have to. secondly instead of just whining about it why don't you toss them a few dollars each time they have to update to let them know you appreciate their hard work. Ok I am done, now where is that donate button?

    ReplyDelete
  62. cause we are eager for the new features and we cant join our friends in multiplayer

    ReplyDelete
  63. Sorry for stupid question, but can I use Optfine 1.2.3 with Minecraft 1.2.4? What if I try?

    ReplyDelete
    Replies
    1. You can try, but Minecraft will crash.

      Delete
    2. NVM. Minecraft 1.2.3. was unplayable on my Windows 7 64-bit, it couldn't recognize Java 64-bit installed. Minecraft 1.2.4. with OptiFine 1.2.4. preview works just fine.

      Delete
  64. 99%.... THIS... IS.... OPTIFINE!!!!!!! Glad to See that optifine is really progressing! I wish I could donate but I can't.. Sorry.

    ReplyDelete
  65. are you from New Zealand
    the url is .co.nz

    ReplyDelete
  66. i donated for optifine which is AMAZING! and for the epic cape which is awesome i have some questions bout the cape though, how long till i get it and can only ppl with optifine see it and do i actually need optifine to have/see the cape myself?
    like if i didnt have optifine would i still have the cape on

    ReplyDelete
    Replies
    1. No you dont need optifine to see the cape

      Delete
  67. This comment has been removed by the author.

    ReplyDelete
  68. This comment has been removed by the author.

    ReplyDelete
  69. Nice blog dude, I love minecraft and you have made such a nice and informative blog and discussions...

    Install Minecraft Mods

    ReplyDelete
  70. Last time I saw my fps without using Optifine in Tiny as render distance was only 1~2 fps (s**t slow computer), when I installed Optifine, at Far it was over 20 fps! Great job.

    ReplyDelete
  71. Can you maybe bring far view back? Cos that would help.

    ReplyDelete
  72. I donated but I never got the cape even though i typed in my IGN. Can anyone help?

    ReplyDelete
  73. I want to donate to the cause, but I really don't want paypal to have my card info (because fuck paypal). What can I do to help besides watching ads?

    ReplyDelete
  74. Hi sp614x. I think I found a bug in Optifine. When I have Vsync Enabled, it forgets Vsync if I go fullscreen or back again. Then it will use Max fps, it seems. So I have to go into options and click through until I have Vsync enabled again, then it works until the next time I press F11.

    Maybe this was reported before, I didn't feel like reading 1000+ pages :)

    (copied from minecraft forum, since I don't know if you can keep up with all those posts there. Thanks for making Optifine and MagicLauncher!)

    ReplyDelete
  75. Ive donated but no cape???? i used paypal

    ReplyDelete
  76. heres the website for Minecraft Optifine at http://www.minecraftoptifine.com

    ReplyDelete
  77. very interested in getting this cape for my son, once the donation is made how and where do we get this awesome cape

    ReplyDelete
  78. can we only see the capes on 1.2 not the latest 1.4.4?

    ReplyDelete
  79. Though about this. how much of a hassle would it be to you. to implemt user uploaded capes?
    or get toghether with one of the cape mods outthere where people can upload thair own cape, or even get animated capes?.

    Think your plugin users would rise if you implented one of these features..

    :)

    ReplyDelete
  80. I had a cape but today it disappeared and I don't know how to get it back unless the donation runs out. Can someone tell me whats happening? I tried to customize it but it wouldn't let me.

    ReplyDelete
  81. can I translate version 1.5 to the Traditional Chinese?

    ReplyDelete
  82. A technical question - is it feasible for Optifine to disable the use of display lists?
    The reason I ask is that I'm interested in porting Minecraft to ES 2.0 (Android, iOS etc)
    using the Regal emulation support, but display lists are one area that Regal doesn't
    support yet. https://github.com/p3/regal

    ReplyDelete
  83. It's really irksome that you send folks this way for updates on what's going on, yet you haven't posted here since last year sometime!

    ReplyDelete
  84. rom today I optifine layer appears someone may desirme that thanks

    ReplyDelete
  85. i got a optifine cape and know i dont have it anymore what do i do

    ReplyDelete
  86. me and nathan both lost our capes can someone help

    ReplyDelete