I wanna use the last stable build of the FreeBuild engine for my own projects, but I don't want all the TBM-related features rolled into this build. I don't need anything relating to building, nor do I need the cemetech login stuff, dynload, mods, or character customization for my current project. I just need the base fps stuff, but the current build feels unorganized and bloated. Any ideas where I should start to gut this thing, or should I instead use the TBG 0003 alpha I've used before for tests, which is already very barebones?
-
elfprince13
- OVER NINE THOUSAND! (Posts: 11880)
- Re: How do I go about gutting the script base?
- 21 Sep 2010 08:36:08 pm
DShiznit wrote:
I wanna use the last stable build of the FreeBuild engine for my own projects, but I don't want all the TBM-related features rolled into this build. I don't need anything relating to building, nor do I need the cemetech login stuff, dynload, mods, or character customization for my current project. I just need the base fps stuff, but the current build feels unorganized and bloated. Any ideas where I should start to gut this thing, or should I instead use the TBG 0003 alpha I've used before for tests, which is already very barebones?
Ironically, this new version is much better organized and more modular than TBG 0003. I'd actually recommend *keeping* the dynload, mods and Accessory related code, because they aren't TBM specific and help keep a clean codebase. Stripping the Accessory and Cemetech related code should be trivial. Just ctrl-shift-f for things related to Accessory(ies?) or anything that initializes a SimCurl) and remove the gui hooks for the login message dialogs. I'd also recommend leaving in a blank version of the find LDraw directory callback, because otherwise you'll get all sorts of error messages in the console. Dynload and the mod package system are pretty integral to the current setup and will take a lot of work to strip (though getting rid of the mod guis would be trivial). Using them will make your code cleaner. If you really want to trash them though, there are some files conveniently named dynload.cs, and you can probably use a stock main.cs from TBG 0003.
All the blatantly unstable engine development has been kept out of the script svn, though on the downside there are some stability fixes that *haven't* made it in, and I'm aware of some other stability issues related to textures.
I believe we discussed before that as long as I keep the engine code and splash screens intact, it's perfectly legal to release a full-conversion standalone mod using the engine Elf already released under his license.
Quick question though, what causes the loading of the main menu to be so a slow? Is this a side-effect of the cemetech login that would be corrected when I remove that? Just a little pet-peeve of mine.
Quick question though, what causes the loading of the main menu to be so a slow? Is this a side-effect of the cemetech login that would be corrected when I remove that? Just a little pet-peeve of mine.
DShiznit wrote:
I believe we discussed before that as long as I keep the engine code and splash screens intact, it's perfectly legal to release a full-conversion standalone mod using the engine Elf already released under his license.
This is correct. I grant a full license to modders use the engine as they see fit, as long as the terms of the GG license are kept intact, and they credits the FreeBuild developers for the additional engine modifications.
Quote:
Quick question though, what causes the loading of the main menu to be so a slow? Is this a side-effect of the cemetech login that would be corrected when I remove that? Just a little pet-peeve of mine.
It might be worth profiling, but I suspect the Cemetech access and recursing the LDraw directory would both be part of it.
Interesting, I don't see any main-menu loading slowness, but I've never set my LDraw directory, so perhaps that's the main culprit? And thx4info regarding the licensing.
I'll probably figure this out eventually from looking through the scripts, but how do I keep the cemetech login stuff from preventing you from using multiplayer, and how do I get rid of the gui that asks where your LDraw directory is?
Also, the splash screen doesn't show, it just goes straight to the menu. Is this gonna be a problem, and if so, what's the simplest way to put it back in place?
Also, the splash screen doesn't show, it just goes straight to the menu. Is this gonna be a problem, and if so, what's the simplest way to put it back in place?
DShiznit wrote:
I'll probably figure this out eventually from looking through the scripts, but how do I keep the cemetech login stuff from preventing you from using multiplayer, and how do I get rid of the gui that asks where your LDraw directory is?
Also, the splash screen doesn't show, it just goes straight to the menu. Is this gonna be a problem, and if so, what's the simplest way to put it back in place?
Also, the splash screen doesn't show, it just goes straight to the menu. Is this gonna be a problem, and if so, what's the simplest way to put it back in place?
You'll want to look at the code that handles making connections to the server and all of the SimCurl related code. In particular, I think you want to visually trace through the code that calls (and is called by) paircheck.
As for the LDraw directory, like I said in the first post, you need to delete the hook used by the LDraw system (onLDrawDirFailed) to load the gui, and you may as well get rid of the call to LDrawInit();
For the splash screen, check the console for errors, but also check to see that the code which initializes the canvas loads the splash screen, and not main menu.
Change the relevant guiprofiles. The ones for the mainmenu are quite possibly at the top of mainmenu.gui or mainmenu.cs
I can't find the main menu's gui profile. It isn't in mainmenu.cs, mainmenu.gui, or defaultgameprofiles.cs or defaultprofiles.cs
On a side note, I fixed the splash screen. Apparently, the engine takes so long to startup that the splash screen is scheduled to be gone before anything can be shown. Extending it's life to 6 seconds is a quick fix for this.
On a side note, I fixed the splash screen. Apparently, the engine takes so long to startup that the splash screen is scheduled to be gone before anything can be shown. Extending it's life to 6 seconds is a quick fix for this.
What are you doing that is taking so long? O_o Or what hardware are you running it on? and what happens if you ctrl-shift-f for MM_TextEditProfile?
I click the FreeBuild.exe, and I get a blank screen for about 5 or 6 seconds. Before the fix, it then goes to the menu. With my fix, I get the splash screen for about 3 seconds. This is on an ASUS EeePC with a 1.6 gig processor and 1 gig of RAM with integrated intel graphics. It doesn't matter though, the problem I'm having now is that I can't find the guidefaultprofile used by the main menu's buttons. It isn't in any of the places I described. This wouldn't be an issue, except that Times New Roman is a butt-fugly font.
There are TWO defaultprofiles.cs. Common, and Core. I should really go about merging those and getting rid of common altogether, but I haven't yet.
But like I've been telling you, don't bother digging like that. Get a REAL text editor with recursive find-in-files and ctrl-shift-f whatever you need to find. Notepad++, Komodo Edit, jEdit with the tide plugins, etc.
But like I've been telling you, don't bother digging like that. Get a REAL text editor with recursive find-in-files and ctrl-shift-f whatever you need to find. Notepad++, Komodo Edit, jEdit with the tide plugins, etc.
Success, I found the guiprofile I was looking for in the common defaultprofiles.cs. Also, Notepad++ fscking rocks.
It would appear all the multiplayer is handled through Cemetech... Should I just bypass all the multiplayer stuff, except for join by IP?
DShiznit wrote:
It would appear all the multiplayer is handled through Cemetech... Should I just bypass all the multiplayer stuff, except for join by IP?
Just put the fallback GG master server handlers as default. The master servers are *really* finicky though, as far as having everything set up correctly.
elfprince13 wrote:
There are TWO defaultprofiles.cs. Common, and Core. I should really go about merging those and getting rid of common altogether, but I haven't yet.
But like I've been telling you, don't bother digging like that. Get a REAL text editor with recursive find-in-files and ctrl-shift-f whatever you need to find. Notepad++, Komodo Edit, jEdit with the tide plugins, etc.
`grep -H -r "text to find" ./` works as well, if your on a Linux box that is. But like I've been telling you, don't bother digging like that. Get a REAL text editor with recursive find-in-files and ctrl-shift-f whatever you need to find. Notepad++, Komodo Edit, jEdit with the tide plugins, etc.
"Always code as if the person who will maintain your code is a maniac serial killer that knows where you live" -Unknown
"If you've done something right no one will know that you've done anything at all" -Futurama
"Have a nice day, or not, the choice is yours." Tom Steiner
<Michael_V> or create a Borg collective and call it The 83+
<Michael_V> Lower your slide cases and prepare to be silent linked. Memory clears are futile.
TheStorm wrote:
`grep -H -r "text to find" ./` works as well, if your on a Linux box that is.
Only you want a -n too. And you have to switch out of whatever editor you're using to a different application/shell session/tty.
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.
» Go to Registration page
» Go to Registration page
» Goto page 1, 2 Next
» View previous topic :: View next topic
» View previous topic :: View next topic
Page 1 of 2
» All times are UTC - 5 Hours
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Advertisement