Tracker Posted August 9, 2011 Share Posted August 9, 2011 There is a file with that extension that contains and defines the npl commands. I don't remember the exact file name or even the location, but I think we can use it to make levels that have sequential objectives, even in-level cut scenes. The problem is it may be a "vestigial file" that is not even read anymore and it would be borderline legal as it, while not part of the executalbe itself, would contain executable code (then again, so do the npl, nrn, and various other files that we mod without a second thought). It may be best to get seperate permission from TLC to modify this file, but if we do and it is actually used, it could extend the modding life of the current .exe many, many times. Link to comment Share on other sites More sharing options...
Cirevam Posted August 9, 2011 Share Posted August 9, 2011 I'm assuming you're talking about nerpnrn.h, which is found in the Levels folder. It doesn't appear to define much of anything. Here is the body of the file: ;;;;;;;;;;;;;;;;;;;;; ; NERPs Source File ; ;;;;;;;;;;;;;;;;;;;;; ; Generated ; __DATE__ ;;;;;;;;;;;;;;;;;;;;; ; Stamp it here: __TIME__: ;;;;;;;;;;;;;;;;;;;;; // Include command macros #include <nerpdef.h> // These are standard macros ///////////////////////////////////////////////////////////////////////////////// // Internally Used Macros // ///////////////////////////////////////////////////////////////////////////////// // Prints message onscreen - used internally #define msg(x) TRUE ? _SetR4(x) \ TRUE ? _AddR4(_GetR5()) \ _GetR0() = 1 ? _SetMessage(_GetR4(),0) // Prints message onscreen WITHOUT arrows - used internally #define msgn(x) TRUE ? _SetR4(x) \ TRUE ? _AddR4(_GetR5()) \ _GetR0() = 1 ? _SetMessage(_GetR4(),1) ///////////////////////////////////////////////////////////////////////////////// // Message Printing // ///////////////////////////////////////////////////////////////////////////////// // Increment message until x - waits for previous message to finish #define wait(x) _GetR5() < x ? :wbe // Removes messages from window #define Clear() _SetMessage(_GetR4(),1) \ TRUE ? _SetMessagePermit(1) ///////////////////////////////////////////////////////////////////////////////// // Function Types // ///////////////////////////////////////////////////////////////////////////////// // Defines function start and decides whether to skip it or not #define Func(x) TRUE ? _AddR6(1) \ TRUE ? _SetR2(1) \ TRUE ? _AddR2(_GetR3()) \ _GetR2() != _GetR6() ? :\ x/ \ x: \ msg( _GetR7() ) // (Without arrows)Defines function start and decides whether to skip it or not #define Funcn(x) TRUE ? _AddR6(1) \ TRUE ? _SetR2(1) \ TRUE ? _AddR2(_GetR3()) \ _GetR2() != _GetR6() ? :\ x/ \ x: \ msgn( _GetR7() ) // This is a function that does not print any messages whatsoever #define Function(x) TRUE ? _AddR6(1) \ TRUE ? _SetR2(1) \ TRUE ? _AddR2(_GetR3()) \ _GetR2() != _GetR6() ? :\ x/ \ x: \ // Defines function end - place to skip to #define FuncEnd(x) TRUE ? :Next \ x/: // Restart functions #define Start() TRUE ? _SetR3() 0 \ TRUE ? _SetR6() 0 \ Stop // Defines start of main function #define Main() __MainFunc: // Defines end of main function #define MainEnd() TRUE ? :Complete // Jump to label #define goto(x) // These are bit I seemed to have in every NRN file. // Bypass everything if objective still showing - will get past this when space pressed //GetObjectiveSwitch ? SetMessagePermit 0 //GetObjectiveSwitch ? :Skip //GetObjectiveShowing = 1 ? :Skip _GetObjectiveSwitch() ? _SetMessagePermit(0) _GetObjectiveSwitch() ? :SkippedSkip _GetObjectiveShowing() = 1 ? :Skip SkippedSkip: //Set wait times (sample length multiplier, time added after sample, time for no sample) TRUE ? _SetMessageTimerValues(1000,1000,10000) //GetOxygenLevel = 0 ? SetLevelFail //R0 is used as a general counter TRUE ? _AddR0(1) // Record function numbers TRUE ? _SetR6(0) // Jump to after the standard labels below TRUE ? :end Wbe: _GetMessageTimer() > 0 ? Stop TRUE ? _SetTimer0(0) TRUE ? _SetR0(0) TRUE ? _AddR5(1) Stop Skip: TRUE ? _SetTutorialFlags(4095) TRUE ? _SetMessagePermit(1) TRUE ? _SetTimer0(0) TRUE ? _SetTimer1(0) TRUE ? _SetTimer2(0) TRUE ? _SetR0(0) TRUE ? _SetR1(0) // This is just reset here, but not used TRUE ? _SetR5(0) TRUE ? _SetR7(1) TRUE ? _CameraUnlock() Stop Next: TRUE ? _AddR3(1) Clear: TRUE ? _SetR0(0) TRUE ? _SetTimer0(0) TRUE ? _AddR7(_GetR5()) TRUE ? _SetR5(0) Stop finish: Stop Complete: _GetMessageTimer() > 0 ? Stop TRUE ? _SetLevelCompleted() Stop // Continue running from here... end: // IMPORTANT NOTES: ///////////////////// // Register 0 is reserved for per-message counting // Register 2 is reserved for auto-function calling // Register 3 is reserved for current-function counter // Register 4 is reserved for initial function message number // Register 5 is reserved for per-function message offset // Register 6 is reserved for auto-function calling // Register 7 is reserved for automatic message numbering // thus leaving register 1 spare, which shall probably be needed for further NERPS++ development. // Maybe sometime it could be an idea to set aside // some extra registers especially for the above. // First of all, lets timestamp this file. To me, it looks like a file used for notes, especially with the double-slash comments. LRR-GODS doesn't use // to designate a comment, it uses a semicolon. That really convinces me that the game doesn't use this file at all. However, we might be able to use it to get more familiar with NPL scripting. Link to comment Share on other sites More sharing options...
Addictgamer Posted August 9, 2011 Share Posted August 9, 2011 It's a c header file. Those are useless to a binary file, as they are only used during compilation. Link to comment Share on other sites More sharing options...
Tracker Posted August 9, 2011 Author Share Posted August 9, 2011 So we could use it as a config for a complier? Link to comment Share on other sites More sharing options...
Addictgamer Posted August 9, 2011 Share Posted August 9, 2011 Instead of facepalming and rewriting an explanation 100 times, I'm gonna point you to google: http://lmgtfy.com/?q=what+is+a+c+header+file Link to comment Share on other sites More sharing options...
Tracker Posted August 9, 2011 Author Share Posted August 9, 2011 This is what happens when you are used to SDL, you see #include and think it defines something completely (which is something usefull), but it does not, the result is nothing but disappointment. Link to comment Share on other sites More sharing options...
Sonic322 Posted August 10, 2011 Share Posted August 10, 2011 permission from TLC to What the what? Get permission from who? Link to comment Share on other sites More sharing options...
Lair Posted August 10, 2011 Share Posted August 10, 2011 You don't know who TLC is? Also TLG. Google either. Tracker, firstly, DDI owns the WAD files, not TLG, they just own the game. And we don't need permission. Also it doesn't seem to do anything usefull. Link to comment Share on other sites More sharing options...
Sonic322 Posted August 10, 2011 Share Posted August 10, 2011 You don't know who TLC is? Also TLG. Google either. Couldn't find any info on whoever that it. Link to comment Share on other sites More sharing options...
Cirevam Posted August 10, 2011 Share Posted August 10, 2011 TLC = The LEGO Company. They wouldn't acknowledge us if we asked them for permission but it's not needed for 99% of our modding. Link to comment Share on other sites More sharing options...
Sonic322 Posted August 10, 2011 Share Posted August 10, 2011 TLC = The LEGO Company. They wouldn't acknowledge us if we asked them for permission but it's not needed for 99% of our modding. Well if they won't acknowledge us then we should spam their inbox until we get a response. We could have an 1 email with a bunch of questions about LRR (Will it be in LEGO Universe?, can we have the rights to it?, etc.) and then everyone can send it in with the same subject and wait till they replay. Or not, what ever. Link to comment Share on other sites More sharing options...
Amauros Posted August 11, 2011 Share Posted August 11, 2011 Spamming anyones inbox with anything is going to get you a bad response (if any); they've got enough problems to deal with already. Link to comment Share on other sites More sharing options...
McJobless Posted August 12, 2011 Share Posted August 12, 2011 blah blah blah Header File blah blah blah Need the Source Code blah blah blah Meat Pie. You get the picture. Link to comment Share on other sites More sharing options...
Phoenyx Posted August 23, 2011 Share Posted August 23, 2011 Even though they probably wouldn't give it to us, I do think having the source code would be pretty useful. I haven't made any major mods (mainly just an extra upgrade level to the ore refinery to increase production and a scanner upgrade for the chrome crusher) since my experience is with programing, not 3D modeling or graphic design. I'd probably go crazy with implementing new features (online co-op multiplayer and native Windows 7 and Linux support, anyone?) if I could get the source code. Link to comment Share on other sites More sharing options...
McJobless Posted August 24, 2011 Share Posted August 24, 2011 Even though they probably wouldn't give it to us, I do think having the source code would be pretty useful. I haven't made any major mods (mainly just an extra upgrade level to the ore refinery to increase production and a scanner upgrade for the chrome crusher) since my experience is with programing, not 3D modeling or graphic design. I'd probably go crazy with implementing new features (online co-op multiplayer and native Windows 7 and Linux support, anyone?) if I could get the source code. I think all of us would like to do this, but actually coding it would be a MASSIVE headache. Can you code multiplayer? That being said, coding for 7 should be relatively easier. Link to comment Share on other sites More sharing options...
Recommended Posts