Tacticular Cancer: We'll have your balls

  1. Welcome to rpgcodex.net, a site dedicated to discussing computer based role-playing games in a free and open fashion. We're less strict than other forums, but please refer to the rules.

    "This message is awaiting moderator approval": All new users must pass through our moderation queue before they will be able to post normally. Until your account has "passed" your posts will only be visible to yourself (and moderators) until they are approved. Give us a week to get around to approving / deleting / ignoring your mundane opinion on crap before hassling us about it. Once you have passed the moderation period (think of it as a test), you will be able to post normally, just like all the other retards.
    Dismiss Notice

Project Temple+ * RELEASED *

Discussion in 'ToEE Modding' started by Sitra Achara, May 2, 2015.

  1. Sitra Achara Arcane Patron

    Sitra Achara
    Joined:
    Sep 1, 2003
    Parrots:
    1,373
    Codex 2012 Codex 2013 Codex 2014 PC RPG Website of the Year, 2015
    Click here and disable ads!
    Greetings!

    Pugmeister and I are pleased to officially announce project Temple+, an engine enhancement and bugfixes mod for ToEE.

    TemplePlusPreview4.jpg

    Temple+ enables replacing original ToEE C code with our own brand new 1's and 0's. This has allowed us to do things that have never before been possible with ToEE modding, such as fixing many old and stubborn hardcoded bugs, improving UI behavior, enhancing the core pathfinding algorithm, and much much more. In particular, the entire rendering system has been overhauled for compatibility with modern systems, which also fixes the graphical issues encountered by Win10 users.

    We are very excited by the opportunities this opens up for gameplay and modding, and look forward to working with the community to shape the future of ToEE. For us, it is a chance to realize the GotY Edition ToEE never had :) It is furthermore an open-source project, hosted on GitHub - everyone can contribute, whether it be code or documentation on the on-site Wiki.

    The first release of Temple+ (v1.0) is focused on laying the foundations for future expansion, replacing many of the original systems with our own. Building on this base, we have many plans for the future, including a thorough UI overhaul, new Classes, Feats and Spell Effects, smarter AI, and so on. You'll already find a glimpse of that in 1.0, and it's only going to get better! In between major releases, you'll also be able to enjoy automated updates to keep current with minor enhancements and fixes.

    * * * * * * * * * * * * * * * * * * * *

    Download Temple+ 1.0

    [​IMG]

    * * * * * * * * * * * * * * * * * * * *

    Feature Showcase


    HiRes.jpg

    NewActions.jpg

    Pathfinding.jpg



    UI.jpg

    We'd like to thank to our community members for the extensive testing they have given to Temple+. Heinous Hat and gazra in particular, who have gone above and beyond and may well have put in more QA hours than the original ToEE testers! ;)

    Temple+ 1.0 out!
    Check out the changelog for a list of what you can expect.
    If you encounter any issues, please report them here.

    Cheers,
    Sitra Achara (aka Cattletech) and Pugmeister
     
    Last edited: Apr 2, 2016
    • Brofist Brofist x 41
    • Goldfist Goldfist x 1
    • Bad Spelling Bad Spelling x 1
    • Best Deal! Best Deal! x 1
    ^ Top  
  2. Make America Great Again Black Arcane

    Black
    Joined:
    May 8, 2007
    Parrots:
    1,865,086
    Hell yeah, bugbears.
     
    • Brofist Brofist x 3
    ^ Top  
  3. SCO Arcane In My Safe Space

    SCO
    Joined:
    Feb 3, 2009
    Parrots:
    16,078
    Shadorwun: Hong Kong
    Sitra Achara How are you replacing the MSVC allocator that the game was compiled with? I tried to do the same with Bloodlines (i got so far as to make the game use python 2.7 instead of 2.3 or whatever), and was able to import new modules, but the game crashed on walking around gameplay, probably because of the different allocators used by the game exe and python 2.7, and the game freeing python objects or vice versa.
    It was also slightly slower, but i guess that is to be expected when you replace cython/cyclone or whatever it was with normal python.

    My approach to replacement didn't edit the exe much (besides the dll loading) and maybe that was my mistake. I compiled python 2.7 with additional hacking to import modules on functions Bloodlines.exe called on startup, and replaced the python dll with it. As i said, it loaded, but (i think) the different allocators made it crash. Compiling python 2.7 with MSVC2005 or whatever it was at the time was not a option due to hundreds of missing C functionalities that the recent python source uses (such as non-start of function variable declarations!)

    It was annoying to got that far just to have it blow up in my face. Since you're talented reversers, i urge you to look at Troika Bloodlines too, since it's in a very similar situation to ToEE (i think they use the very high level python scripting engine integration too), just having the fucking dialog clickable by mouse in addition to clicking the keyboard would be a major UI win, not to mention expanding the hardcoded inventory object limit (which already is used to the maximum by Wesp).
     
    Last edited: May 2, 2015
    ^ Top  
  4. Pugmeister Educated Patron

    Pugmeister
    Joined:
    May 1, 2015
    Parrots:
    56
    We're using the original alloc/free if we pass pointers into ToEE that will then be allocated/deallocated there. But to be honest, I was planning on overwriting the alloc/free functions in temple.dll with the ones from our CRT.
    Regarding the Python stuff: Basically what I did was identify all locations in temple.dll that access the Python DLL and rewrite those functions in TemplePlus. Since Python uses a lot of macros, plenty of Python-version-specific code ended up in temple.dll and I wanted to be on the safe side.

    So far the Python replacement is looking good, and I am ironing out the kinks.

    *edit*: Although regarding bloodlines: Not sure. Usually the Macros all use a custom Python deallocator (Python_Free or sth) function that will not use the game's CRT, but the CRT that has been used to compile Python. What I found to be the culprit are other macros, where it inlines something like Py_DECREF into the game, making it hard to replace it via DLL hooking.
     
    • Brofist Brofist x 1
    ^ Top  
  5. SCO Arcane In My Safe Space

    SCO
    Joined:
    Feb 3, 2009
    Parrots:
    16,078
    Shadorwun: Hong Kong
    This is way over my head. Plz do the same there and you'll be a hero. And you'll get into the Wesp patch. Having a feature like 'clickable dialogs' would help ;-) . I imported a module that allows to simulate keypresses and that worked (besides the random crashes walking around anyway) during dialog to 'select' a dialog option from scripts. Trouble is:
    1. There wasn't a way to know how many dialog options are actually displayed - this would allow to at least 'cycle through the options, if not click on them - the dialog engine uses a statemachine - i think it's a slightly more complex version of the ToEE dialog engine (with clan variants etc)
    2. there was no way i found to know if the mouse was clicked over dialog lines, since that is valve specific UI stuff. And maybe not implemented, considering how early bloodlines actually is HL2 engine wise. I can't see troika not implementing clickable dialogs if they absolutely didn't have to ship right then. Then again i didn't look very hard at the vampire.dll besides backtracking from python the location of the dll init sequence.
     
    Last edited: May 5, 2015
    ^ Top  
  6. SCO Arcane In My Safe Space

    SCO
    Joined:
    Feb 3, 2009
    Parrots:
    16,078
    Shadorwun: Hong Kong
    Pugmeister ugh, forgot quoting for alert (edit in doesn't alert).
     
    ^ Top  
  7. Pugmeister Educated Patron

    Pugmeister
    Joined:
    May 1, 2015
    Parrots:
    56
    Heh SCO, i don't even own Bloodline :)

    I think as long as there's plenty of work still to be done on ToEE I won't start modding Bloodlines as well. I would provide expertise if someone else wanted to pick it up though.
     
    • Brofist Brofist x 1
    ^ Top  
  8. VentilatorOfDoom RPG Codex Staff Patron

    VentilatorOfDoom
    Joined:
    Apr 4, 2009
    Parrots:
    7,446
    Location:
    Deutschland
    Pugmeister hasn't played a Troika game, hmmm....
     
    ^ Top  
  9. Salk Novice Patron

    Salk
    Joined:
    Sep 22, 2013
    Parrots:
    23
    So excited by the change log list published today!

    Thank you, Sitra Achara!

    I have just one question: will Temple Plus be fully compatible with Co8 8.1 Standard? I know I am part of a minority who would rather play without added content. If possible, I'd actually remove all the stuff introduced by the Co8 mod which is still a ton even in the no new content version.

    Was it you who worked on a piece of software which would practically revert all those additions made or am I confusing modders/games? (I follow several other modding communities and I am getting too old... :) )

    Godspeed!
     
    • Brofist Brofist x 1
    ^ Top  
  10. Sitra Achara Arcane Patron

    Sitra Achara
    Joined:
    Sep 1, 2003
    Parrots:
    1,373
    Codex 2012 Codex 2013 Codex 2014 PC RPG Website of the Year, 2015
    Hi Salk! Good to see you.

    Yes, it should be compatible with Co8 8.1 Standard, don't see why not.

    Untangling all the Co8 changes could be tricky, particularly as regards the protos.tab changes. But, I can say that one of the things we want to do is recreate all the DLL fixes so you could enjoy those in vanilla / GoG too. I've done several of those already. Also, there's a file called co8_config.ini where you can disable some of the added content that's present in Co8 Standard (I'll integrate that with TemplePlus.ini at some point).

    I haven't made any "program" to revert additions, though I did author a less-new-content patch for co8 5.0.5 a while back. So either you were thinking of that or the WeiDu thing for Baldu's Gate.
     
    Last edited: May 23, 2015
    • Brofist Brofist x 3
    ^ Top  
  11. Salk Novice Patron

    Salk
    Joined:
    Sep 22, 2013
    Parrots:
    23
    Okay, Sitra!

    Thank you so much for your answer! This project is the greatest thing that happened to ToEE modding, no doubt and I hope it'll have the visibility it deserves.

    I was indeed thinking of the less content mod you created for 5.0.5!

    Godspeed!
     
    ^ Top  
  12. Pugmeister Educated Patron

    Pugmeister
    Joined:
    May 1, 2015
    Parrots:
    56
    Actually I also don't like playing with the added content ;-)
     
    • Brofist Brofist x 1
    ^ Top  
  13. Make America Great Again Black Arcane

    Black
    Joined:
    May 8, 2007
    Parrots:
    1,865,086
    Hey Sitra Achara, is it possible to up the level cap beyond 20? Co8 dudes set it to 20 and said something about not being able to go beyond that, but I want to do a solo run and 20 just isn't enough power.
     
    ^ Top  
  14. Sitra Achara Arcane Patron

    Sitra Achara
    Joined:
    Sep 1, 2003
    Parrots:
    1,373
    Codex 2012 Codex 2013 Codex 2014 PC RPG Website of the Year, 2015
    I can patch back the Arcanum system so you can go to level 50 and spam Harm. Would that be ok?
     
    ^ Top  
  15. Make America Great Again Black Arcane

    Black
    Joined:
    May 8, 2007
    Parrots:
    1,865,086
    Sure. Can't be as bad as Cloaked Doug's Arcanum lvl cap remover with its virus.
     
    ^ Top  
  16. Make America Great Again Black Arcane

    Black
    Joined:
    May 8, 2007
    Parrots:
    1,865,086
    And your dad gave you another, shitlord.
     
    ^ Top  
  17. Sitra Achara Arcane Patron

    Sitra Achara
    Joined:
    Sep 1, 2003
    Parrots:
    1,373
    Codex 2012 Codex 2013 Codex 2014 PC RPG Website of the Year, 2015
    I'm glad we all agree. I can even throw in a car mod for old times' sake!

    In all seriousness though, I'd prefer to flesh out levels 10-20 first, like with high level feats and prestige classes and stuff. Then again it might be easy enough to do, we'll see.
     
    • Brofist Brofist x 1
    ^ Top  
  18. Make America Great Again Black Arcane

    Black
    Joined:
    May 8, 2007
    Parrots:
    1,865,086
    Oooh, I had no idea you were planning high level feats and prestige classes. That sound good.
     
    ^ Top  
  19. Sitra Achara Arcane Patron

    Sitra Achara
    Joined:
    Sep 1, 2003
    Parrots:
    1,373
    Codex 2012 Codex 2013 Codex 2014 PC RPG Website of the Year, 2015
    Update:

    The Librocket UI library turned out to be shit, so it will not be used for UI. Oh well, at least we got a python upgrade in the process!
    Pugmeister is working on making the switch to Chromium Embedded Framework (CEF). Naturally this means it'll take more time - Q1 2016 as a rough guess (and I thought I was pessimistic before!). On the plus side, this gave me some time to add more features than I had originally planned for v1.0 - those who've been following the Alpha Testing and Feature Suggestion threads should know!

    However, it seems that vanilla ToEE doesn't mesh with well with Win10 (GOG users report crashes and movies flickering), so that gives us motivation to put out an early version as a stop gap. We know it eliminates the startup crash for at least one user, and it renders movies in a more modern way, so it should take care of that. We still have to iron out a few bugs but hopefully it won't take too long and then we can release that.

    In other news, I made a graphic for TemplePlus for our soon-to-be-up modDB page based on some of the ToEE art. Feel free to improve :)

    TemplePlusPreview2.jpg
     
    Last edited: Aug 7, 2015
    • Brofist Brofist x 2
    ^ Top  
  20. Make America Great Again Black Arcane

    Black
    Joined:
    May 8, 2007
    Parrots:
    1,865,086
    Now would be the appropriate time to announce how much T+ is going to cost on Steam Workshop.
     
    ^ Top  
  21. Sitra Achara Arcane Patron

    Sitra Achara
    Joined:
    Sep 1, 2003
    Parrots:
    1,373
    Codex 2012 Codex 2013 Codex 2014 PC RPG Website of the Year, 2015
    Temple+ will forever be free. The premium TempleShekel version however...
     
    ^ Top  
  22. Heinous Hat Learned

    Heinous Hat
    Joined:
    May 1, 2015
    Parrots:
    188
    In the event you want an old school look, I worked these up using original module art. Let me know if you do and I'll fix up the TOEE text at the top... couldn't find that typeface anywhere, it must have been TSR in-house. I sourced it straight from a module PDF and it needs cleaning. The other typefaces are from old (1st Ed) TSR rulebooks :obviously:

    [​IMG]

    [​IMG]

    Or not. What you have looks good :)
     
    • Brofist Brofist x 3
    • Best Deal! Best Deal! x 1
    ^ Top  
  23. Sitra Achara Arcane Patron

    Sitra Achara
    Joined:
    Sep 1, 2003
    Parrots:
    1,373
    Codex 2012 Codex 2013 Codex 2014 PC RPG Website of the Year, 2015
    Yeah I'm kind of attached to mine tbh. And call me a gfx whore but I like pretty colors :P

    Still that's pretty cool too. Maybe I'll use it as a variant...

    In other news I recently uploaded a build that took care of one GOGer's crash issues with Win10 (although possibly it's more about having an integrated gfx card). In general I'd like more feedback from Win10 users on vanilla ToEE / Temple+.
     
    ^ Top  
  24. m_s0 Arcane

    m_s0
    Joined:
    Jun 18, 2009
    Parrots:
    1,020
    :neveraskedforthis:
     
    ^ Top  
  25. Make America Great Again Black Arcane

    Black
    Joined:
    May 8, 2007
    Parrots:
    1,865,086
    Good luck :D
     
    • Brofist Brofist x 1
    ^ Top  

(buying stuff via the above buttons helps us pay the hosting bills, thanks!)