Results 1 to 24 of 24

Thread: To all programmers wishing to use the TR4 source code

  1. #1
    Join Date
    Apr 2002

    Exclamation To all programmers wishing to use the TR4 source code

    Please read all texts before posting, and only post for official submittal.

    In order for us to make a good case for the release of such code by Core Design, I would ask for programmers to submit a detailed proposal on their expectations, use of, support, intentions etc. of the use of any released code.

    Perhaps a cartel of programmers i.e. a collusive association of an independent enterprise, formed to monopolize (however in connection with Core Design) production of the said product could join forces on a retro Tomb Raider project.

    Be aware of the seriousness and hard work that would be involved here, that would not include earnings in any form; but for the love of Tomb Raider so to speak.

    Warning: This is merely a proposal, it does not mean that Core Design have yet agreed to anything. Also, submitting any proposals, does not guarantee acceptance by Core Design in any form.

    If you are interested, please think carefully about your proposal before posting it here; proposals that merely say "I'm in, let me have the code, I can make good use of it" simply will not impress.

    Absolutely no signatures or extraneous messages.

  2. #2


    I can make a good use of the code

    1-I have programming skills on DirectX so I may improve the 3D graphical engine.
    also I may use my DirectX abilities to add new graphics features .
    there are many graphical features can be improved to be like in TRC or adding new features so tomb4.exe will born again and challenge TRC and also the new 3D games.
    the previous part (DirectX programming and Graphics improving) is the first part I want to work on .
    then I will try to work on the easy parts(like animations,...)
    2-my great hope is to add all the moveables info from other TR games to be played in TR4 engine without problems
    3-adding the snow/Rain code.
    4-ability to change the health of Lara and enemies through an external tool(you tell this tool the health amount you want then it will patch the exe and enter the new health info to it).

    This what I can try I hope Eidos release it

  3. #3
    If they release the full code (and allow releasing new tomb4.exe files), I guess I'll try (with or without help of others) to make new slots for enemies. And these slots won't be hardcoded, they will get more things that can be set in the animation data. Just hope core does release it.....

  4. #4
    Also a good thing would be the Sprite datas and the Lara position datas (For a Lara-positionchange object). It would be so much easier when we don't have to connect some rooms anymore.
    And the rain and snow codes of course.

  5. #5
    Join Date
    Apr 2002


    Please understand, we need detailed proposals to put forward to Core Design. It must look professional and It must be detailed or Core Design will not take the time to look at it.

  6. #6

    Let's get the ball rolling...

    Even though I would not have the time to work on such project (work full time for living), I can give you a skeleton proposal that could be used to hang other features on.

    Keep in mind this is a minimum coverage proposal.
    Meaning if I was Eidos, I would not release anything until I was convinced that my intellectual property was SAFE and that I would get my moneys worth out of that thing.

    Just what I have under here in SPECS is about a four year-man (full time) project. Just my .02 cent...

    There goes.

    Source code and programming Managing Entity
    A group of programmers known as (insert your group-name here) and headed by (named manager(s) here) would be responsible for managing and securing the code, handling all possible, desired features and implementation of same, managing of code merging, final repackaging and testing of completed work and final re-release to Eidos ownership of finished product.

    The named managers would be responsible to manage (control, harass, egg-on and otherwise cheer on) all programmers who signed on to a specific part(s) of this project.

    Each programmer would be responsible for making his end works. Code or personnality conflicts to be resolved by managers.

    Each and every managers would be responsible to establish and maintain networks communications for development chat, specs and features trashing, bugs tracking and resolving.
    Meaning password-protected firewall-guarder servers.
    Scope of release
    Source code would be release after signing Non Disclosure Agreement binding all parties to obligation and penalties in case of leak.
    What would be released
    All source code, specs and fileformats of software, documents and organization of softwares/programs for the making of levels.
    Eidos should make available an installable that would set up a developer's machine as a level maker for testing or make itself available for final testing. Third parties independant softwares are excluded and programmers should avail themselves of their own tools, matched to what is needed as final documents from the Eidos specs.
    What would be re-released
    All intermediate and final specs, fileformats and helper programs (with source codes) plus all instructions for their use.
    Complete bug report database in known format for all engine and helper program testing.

    Source code for new engines and all helper softwares.

    Compiled and ready for distribution engines and helper softwares.
    Manager manuals, user manuals, maintenance manuals, level builder new-features manual with examples.

    New engine to be able to play old custom compiled levels with old scripts.

    New Level Editor to be able to open, upgrade and re-build old level projects to new level format, including their scripts.

    New Tom2PC to be able to compile old level documents in new level format though excluding new features.
    This does not take into account the preexistence of public tools.
    The whole thing would be part of a complete package.
    Script editor that would open old dat files and upgrade, help automate script file writing and recompile such.
    This editor would work with the new Level editor to make crash proof script. Error checking included for invalid level characteristics like invalid camera reload-view coordinates.

    Texture management software.

    PAK builder.

    AI maker. It might need to have a pre-assigned sets of meshes.

    Vehicle and vehicle animation maker. This might need a project modifier so the level support *that* vehicle.

    Project debugger that would fine-comb a project and signal any inconsistencies and give a printable report.
    This would cover checking the script files and the audio and other needed files for existence and size.

    Animation maker or a complete set of How2 using pre-built available packages.

    FMV cut scene creator.


    No hardcoded AI. These could be custom-edited or picked off from a library and assigned to specific meshes then imported as a block into a specific project and saved as a local file.
    Barkang monks anyone?
    How about a crowd of New-Yorkers? ... rubber-necking crowds? ...real car traffic with traffic lights? ...metro car on schedule?

    Environments effects that can be triggered, like start rain/stop rain on-cue. Same thing for thunder, snow and winds.
    Severity of same could be modifiable while in-game or triggerable, like from drizzle to shower level for rain.

    Environment effects that can be custom-made in separate files and built into the level when compiled. Zero gravity and volcano eruptions come to mind. Mud, quick-sands and lava flows...climbable moving ice floes on artic waters...

    Enemies like fishes and packs of (insert here pack animal) that can be included with pre-built behavior.

    Vehicles that can take damage and have to be repaired.

    Vehicles that can hit water and do not explode but can stall.

    Custom vehicle inclusions not limited to one per level.

    Any number of FMV could be run from inside the level.

    Pushables and vehicles can can be climbed upon.

    Pre-built moving rooms (elevator and lifts)

    Stoppable while in-game trains. Metro, anyone?

    Have fun

    Edited for sp and format 8-)

  7. #7
    Sorry I took so long to reply to this. Been working hard, really tired, and I wanted to be fresh when I wrote this. Hope it all fits, it might take 2 posts.

    What would I do with the TRLE source code? The first thing I would do is study it. No competent modifications could be made until we understand how it works and how the various parts interact. Trying to modify the code without understanding it can lead to disastrous results. Unless you know about possible side effects and interactions with other parts of the code, you shouldn't be changing anything.
    After studying the code, I would want to make modifications, of course. Everyone has their own wish list of features they would like to have. While all of the desired features are feasible to varying degrees, some are simply not practical given the basic functionality of the system. We would have to determine which new features are practical and which are not. I have my own wish list, and have tried to incorporate the most requested features in the forum.
    First, there are some modifications required to WinRoomEdit to make it more stable. I consider this high priority, because unless you can create stable projects, it really doesn't matter what new features you add. The problem that causes projects to become corrupted must be fixed. There are also some conditions that should not be allowed to arise. You can create more than 255 rooms; you can make rooms taller than the world space allows (255 clicks); you can create rooms that wrap from the top of the world space to the bottom; deleting objects doesn't (always) delete the triggers for those objects. Problems like this need to be fixed.
    Next I would start with some simple features that should be fairly easy to implement. Like rain and snow, and possibly mud rooms. These should be fairly easy because I suspect that the code already exists, commented out or otherwise disabled. I have already devised a means of implementing this without adding any new controls in WinRoomEdit. Also, a slow death sector would be nice. Instead of killing Lara immediately, it drains her health, killing her slowly.
    From there, I would add more and more involved features, one at a time. Here is a list of the other major features on my wish list.
    1) Climbing onto pushables. Shouldn't be too hard, since, once again, I suspect the code is there. Actually, Lara should be able to climb onto any object except actors.
    2) A trigger that is activated when an actor dies.
    3) The ability to stack "special" triggers. I consider this a high priority item as well. It won't require changes to the TR4 format.
    4) Patrol paths more complex than walking between 2 AI_PATROL objects. Like using AI_FOLLOW objects to create a complex patrol path for an actor. Adding the ability to play a specific animation at a particular AI_FOLLOW would add much realism to the actions of the actor. Stopping to chat with another guard, looking at a screen, monitoring equipment, etc.
    5) The ability to "script" some things that are currently hard-coded. The strength of weapons, Lara's starting inventory, even the color of light generated by flares, and the "fog" color for polygons that fade in the distance. This could be done without extra tools, by adding a section at the end of the project that contains the information. This could then be placed in an optional section of the TR4 file. This way we remain backward compatible with older levels.
    6) The ability to turn lights on and off. This would be great for levels in more modern settings, so we can have a light switch. This would, of course, mean that lighting would have to be dynamic instead of precalculated. It would also require lights to have some sort of OCB to turn on and off. The dynamic lighting could be made on a room-by-room basis, and only used when necessary, to reduce overhead. It would, though, require changes to the TR4 file, but they would probably be minor if done properly.
    7) Working elevators. I have actually designed a method of doing this that should not be too complicated to implement. There would not be any actual motion, but it would require additional mesh translation (easy) and remapping a door to multiple doors instead of just one (a bit involved).

    There are many other features that could be implemented, but these are the ones I find most desirable.

    Why should Core release its source code to someone outside the company, especially for modification? Won't it take away from sales of future TR games? Absolutely not! Other companies have released their source code when they moved to a new game engine, and it hasn't hurt their sales at all. Granted, they weren't usually released with an invitation to modify the code. Still, noone has yet tried to use those engines as a basis for their own, or tried to go into competition with the company using knowledge gleaned from the source code.
    Furthermore, the quality of levels will never match that of levels in the newer games. We are still stuck with those huge sectors, limited world space, etc. Those things cannot be changed without such extensive modifications as to basically produce a whole new game engine.
    While playing the same game over again can still be fun, especially if you haven't played for awhile, eventually you reach a point where you just don't want to play it again. That is where user made levels come in. You get new scenery, new puzzles, new adventures. That keeps the interest alive, and continues to draw in new fans, even as the new games are released. It also appeals to a persons creative side. With a game engine that is growing and developing, constantly becoming better, with new features, existing fans will remain interested, and new fans will be added to the ranks.
    Much talent has been demonstrated by this small but growing community. There have been some excellent user levels, of professional quality. And the current set of 3rd party tools has shown a high level of expertise, even when the authors are not professionals. While these tools have been very useful, having the functionality integrated into the development system would make them even more useful. And, while much talent has been shown to date, I suspect there is much more talent waiting to be revealed, which would be a great advantage for Core. There is always a need for talented individuals in the game industry. Unfortunately, it is difficult to break into the industry until you have demonstrated your abilities. This "project" would provide that opportunity.
    Why do I feel qualified for this "project"? I have been a professional programmer for over 20 years. I am fluent in C, and more than competent in C++ and OOD. I have experience as a project lead, UI design, customer support, QA, testing, and have coordinated and integrated changes from teams of programmers. I understand all stages of project development. I understand the different aspects of game development. I am familiar with graphics programming in general, and with DirectX and COM.

    In summary, if you would release the TRLE source code to an individual or team of programmers, while retaining the rights, and control over the source code, you stand to gain alot. I would enjoy adding these features, keeping TR alive, and keeping the community happy and interested. I would also be glad to coordinate the efforts of a group of programmers, as well as coordinating the efforts with Core. I would make sure the quality of the finished product would be equal to or greater than that you have already produced.

  8. #8
    Turbo Pascal Guest

    Re: To all programmers wishing to use the TR4 source code

    Originally posted by Data
    Please read all texts before posting, and only post for official submittal.

    Perhaps a cartel of programmers i.e. a collusive association of an independent enterprise, formed to monopolize (however in connection with Core Design) production of the said product could join forces on a retro Tomb Raider project.
    Absolutely no signatures or extraneous messages.
    Yes, you should build this team first, include in the team some good c++ programers, one or two good tomb raider file format experts and one good manager, then make the request as a Team, i don't see the point to sign this as individual or independient person, this is too much work and nobody is going to take serius to just one person.


  9. #9 a group...

    I think with what TP said, we have our work cut out for us.

    First a grup with a named administrator needs to get incorporated so as to be legally able to sign papers.

    The papers would have to be specific about conflict resolution (you know, religious war types).

    Then to address the security issues, a secure server site with real firewall needs to be set-up and not something on just any machine that might crashes anytime.

    Then to support the programmers, we need some sort of code management software (accesible from the net so we can work in real time (like VPN)), like SourceSafe in VB.

    Also for testing, a bug tracking software needs to be used, even one home-made on Access...but it has to permit versionning and build versionning.

    Big questions: who will write the specs, the fileformats, who will write the test scenarios....

    Had enough already?
    First step might be to have a thread for those who really want to join in and have them select their desired roles as with this we will be able to plug any holes left (anyone eager to do binary-dull stuff in ASM?) and redistribute roles.
    Good idea would be to also put their other capability so if we have undesirable roles that HAVE to be done, we'll know to whom to assign.

    After a time thos people could trash it out among themselves as to how to continue.

  10. #10


    Originally posted by Turbo Pascal
    Yes, you should build this team first, include in the team some good c++ programers, one or two good tomb raider file format experts and one good manager, then make the request as a Team, i don't see the point to sign this as individual or independient person, this is too much work and nobody is going to take serius to just one person.

    I can be the DirectX and Graphics programmer (my work will include improving or adding new graphics features or both according to the code(especially 2D features and some 3D features)
    I can manage other parts of the code but first:

    -I have to read it
    -understanding it
    -study it
    -at last deciding the parts I can work on

  11. #11
    Join Date
    Apr 2002

    Wink Re: a group...

    Originally posted by Number6
    First step might be to have a thread for those who really want to join in and have them select their desired roles as with this we will be able to plug any holes left (anyone eager to do binary-dull stuff in ASM?) and redistribute roles.
    Good idea would be to also put their other capability so if we have undesirable roles that HAVE to be done, we'll know to whom to assign.
    This is what this thread is for Number6.

  12. #12

    Thumbs Up

    I could help with the enemies (State IDs, Animcommands, saved features in the Tomb4. exe)

  13. #13
    I'm willing to thouroghly test anything you can throw at me. You will need a tester.

  14. #14
    Join Date
    Apr 2002


    As it has been suggested, is any of you prepared to get together on a project?

    Not being a programmer myself, I cannot begin to realise the undertaking needed to fulfil such a project, so if any of you would like to meet and discuss this using the TRLE Community chat room I believe it would be a good idea.

    The more professional the group, the more chance of a release.

    I would suggest you contact each other to arrange such a meeting and then take it from there.

    I will not take part personally in these discussion as that is not my purpose; I merely wish to relay your wishes to Core Design at the appropriate time.

    Personally I believe WBM would make an excellent manager for the group, however, firstly I do not know if he like to take this on and secondly is is up to the 'group'.

    So if you wish to undertake this journey of discovery; you know what to do.

  15. #15

    Thumbs Up

    Originally posted by Data
    Personally I believe WBM would make an excellent manager for the group, however, firstly I do not know if he like to take this on and secondly is up to the 'group'.
    Data, I am very flattered that you feel this.

    However, my feelings are that the team should be led by a programmer (with project management experience) because I believe that it is easier for programmers to be managed by someone who is a programmer themselves, and is therefore able to speak the same language. Although I understand what is possible to achieve with code, I am unable to write a line of it myself.

    Many of us have been wishing for the TR code to be released for many years now. For what they are worth, I would like to give a few of my thoughts and observations that affect the decision to release the code (please forgive me for the length of this post):

    If we step back from the TR scene and look at things objectively, we can safely say that not a single person at Core Design will have a complete picture of just how much has been achieved by custom tool makers and level designers since TRLE was released. It is almost certain that the people who have the power to release the code have never actually played a custom created level. This is not because they don’t care, it is simply because they are spending every minute they have on making new games.

    To remedy this I suggest that it would be extremely useful and informative to Core if they could see a ten minute video (or MPG on CD-R) which highlights the achievements of the programmers (and some of the results made possible).

    Examples of content:

    1) An in-game sequence from Turbo P’s unofficial level editor that shows how close his work is to recreating a fully unlimited TR editor. There are other programmers who are working on unofficial TR level editors. Their work needs to be highlighted too. If Core see that the official editor is effectively ‘worthless’ because unofficial level editors are fast approaching a stage where they are going to be better than the real thing, then it may make them realise that the old code isn’t worth hanging onto. Why hold something back if someone else will soon replace it with a better substitute?

    2) Brief captures of the most powerful custom tools and what they can do. Let Core see that the WAD editors that have been created are actually more user-friendly than the original tools that their designers had access to.

    3) A showcase of stunning outfits and mesh modifications. Whiz Core through an amazing gallery of the beautiful wardrobe that Lara now has access to thanks to custom tools like Strpix. Show off the custom objects and character mesh modifications that have been created by 3D artists thanks to Popov’s TRViewer. Demonstrate the new animations that have been made possible too.

    All of these achievements (and more) could be presented to Core on a VHS video which lasts for less than ten minutes.

    Key figures at Core and former TR level designers have stated in the past that there are two main reasons why they cannot release the code:

    1) COST: They cannot justify the cost of moving valuable programmers off current projects (e.g. AoD) to sift through the old level editor files and to decide which can be released.

    2) SIZE: The size of the assets for TRLE are insane. For TR Lost Artefact the object data for creating the WADs (using Anim Editor) took up 4 Gigs. Multiply that by the objects used throughout the TR series and you have anything up to 20 Gigs of data to release alongside the TRLE source code and utilities.

    If anyone here can suggest solutions to those two problems then please give them here. We need to convince Core that it is a good idea to release the code.

    I feel that they need to see why it would be worth their time (with something like the demo video suggested above).

    And they need to be given easy solutions to the cost and size problem so that it doesn’t seem like it would take much effort or time to hand over the code and supporting data.

    Other considerations are copyright related: music and FMV codec (Bink) rights are not cheap although these could be worked around by using different codecs and original (non-copyrighted) music.

    Finally, I feel that a method of distribution which does not involve publishing would be very desirable due to the storage space required. I suggest a dedicated server and web site which sells the right to users to download the new (team created) editor and supporting data (perhaps users could be subscribers). Money talks, problems walk.

    One last idea that could be stuck on the end of a showcase video: it has always struck me as amazing the number of posts there have been on the official TRLE forums. In the past two years it has been higher than any other forum. I don’t know the figures for definite but they could easily be found out. I estimate it (including the last three incarnations of this forum) at around 50,000…

    If that doesn’t convince them of how much it means to us that they release the code, I don’t what will.


  16. #16
    Well said WBM. I think a couple of points you brought up can be easily dealt with.

    1) Deciding what can be released would probably not fall to programmers. Management would most likely decide this. As for gathering it all together, it doesn't have to be in an easy-to-use format. They are, after all, releasing it to (semi-)professionals, who should be able to figure out how to organize it. Otherwise, we don't deserve to have it.
    2) The Bink player most likely did have some sort of distribution cost. But anyone with at least one TR game would have a legal copy of the player. There should not be an additional cost involved, as they would not have to distribute it again. The real problem here is that we still cannot make our own FMV without some way to create the Bink files, which would require us to purchase our own copy of Bink.
    3) Distribution of the large amounts of data. The objects will certainly require much storage. Even low-end computers now come with more than enough disk space to handle this. The only real problem is an always on Internet connection with enough upstream bandwidth for people to download from a personal server. Most fast connections have slower upstream speeds, but it is possible to get a small business connection for DSL that has up to 7Mb upstream speed for running websites. It doesn't cost much more than standard DSL, so is a viable option.
    Selling the right to download the stuff would violate the current legal agreement with Core. If someone were to setup a server with the data, it would have to be free. Or perhaps it could run on a donation basis, with people donating money to pay for the server and the broadband connection.

  17. #17
    Join Date
    Apr 2002


    Well said both of you , however I must stress at this point that if the source code is released, it will only go to a professional setup and not to the 'general public'; this sector would though, reap the benefits of the said professional group.

  18. #18


    Is something going on here with this cool idea?
    I think we have now enough signatures for a release of the TR4 source codes. Let us (somebody) start a meeting in the chat. There are so talented programmers outside. It would be worth a try for getting the sources. So why stoping this idea now.


  19. #19


    This is still going strong Tomo. Fear not, I have officially taken over the reigns from Data and wil try to see it through to the end.

    We still need a definate group willing to take this on, and as you suggest Tomo, the chat is the best place to get this going. So if you're interested in being part of this group and you have something to offer (only programmers need apply for reasons that are obvious) make arrangements to meet at TRLE community chat. I am not a programmer (apart from the old assembly language days) so I won't be part of the group but I will keep up the liason that Data started with Core Design.
    I will only submit a group and the above submissions when the time is right. The right time won't be till after AOD is out; I don't think we have a chance until then.

    So guy's get a group together. It may be worth contacting other programmers that you know will be interested to help move this project on.

  20. #20


    Thought it about time to bring this back into view.
    If there are any programmers out there that haven't contributed to this thread, please feel free to do so; but read the opening post first.

  21. #21
    Bluemoon Guest


    I could use it to make new Default Weapons and Perhaps
    Find out ifchange is good or not.

  22. #22
    q3Noodle Guest

    Exclamation Tomb Raider Online

    Heya all. I see that there are alot of Tomb Raider fans out there. Id like to be able to make Tomb Raider online, so we can all play together and get a community going just like in games like Quake 3 and Unreal etc. If this is possable or any body all ready knows an online mod for Tomb Raider please tell me. I hope to hear a reply.

  23. #23
    As a programmer, I would want the source code - heres the required reasons etc.

    1 - : I would do my best to add functionality to the level editor. I would want more editing abilities, so I would add things such as setting view points to allow easier views to edit with. Also possibly the ability to have better ways to see things like which side is climable(eg the wall lights up)

    2 - : I would edit the game so that I could go through walls in dozy or some other cheat so I could see the entire level and test without going through the level.

    3 - : Also I would want the ability to export paticualar PARTS of rooms etc. that I would add.

    I don't know directx that well, so I couldn't do much with graphics.

  24. #24
    Join Date
    Jul 2004
    I would port the original Tomb Raider to the newer Tomb Raider
    engine. I have a passion and love for TR1.
    There are 10 types of people in the world...
    Those who know binary and those who don't

    dgVoodoo - the free Glidos alternative!

    -- Tomb Raider player since 1996 --

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts