berelinde, on Apr 5 2007, 07:23 PM, said:
Crossing the Great Divide
#16
Posted 05 April 2007 - 08:54 PM
Aurora (new release!) * BG1 NPC * Gnomes * Haiass * Level 1 NPCs * Lost Items * P5Tweaks
PnP Free Action * Thrown Hammers * Unique Containers * In Progress: Adjusted Portraits * DSotSC (Tutu)
================================================================
Player & Modder Resources
BAM Batcher * Creature Lister * PSPad Highlighters * Tutu/BGT Area Map & List * Tutu Mod List
================================================================
"Wherefore do ye toil; is it not that ye may live and be happy? And if ye toil only that ye may toil more,
when shall happiness find you?" -H.P. Lovecraft, The Quest of Iranon
#17
Posted 06 April 2007 - 02:23 AM
In fact, as my ultimate plan includes having a single download work for Tutu, BGT *and* BG2, using cross-platform variables while coding is going to make my life a lot easier.
cmorgan: "None of us get old around here, just more proficient at doing more stuff with less braincells!"
berelinde's mods
TolkienAcrossTheWater website
TolkienAcrossTheWater Forum
#18
Posted 06 April 2007 - 04:56 AM
Quote
But that's several megabytes that may be totally unnecessary for BG2 users. I remember, back in the days I was a poor student who didn't have any permanent internet access(talking about studying CS in the best university of Russia, heh), it made a difference. Might still, to someone else. I know, three downloads - TUTU one, BGT one and BG2 one - might be too much disc space on the server, but I kind of think it might be the best solution.
#19
Posted 06 April 2007 - 05:33 AM
A more frugal way (banwidth weight-wise) would be to create the core components, then have a separate download for soundsets. If you add areas instead of using existing in-game ones for both Baldurs Gate and Shadows of Amn (or again a third option in Throne of Bhaal
//EDIT: well, I looked it up, and if we want to be really accurate, what will kill BG1 NPC's bandwidth is pretty simple - support for other languages. Our .tra files weigh in at 3.97 MB. The code files weigh in at 3.34 MB (we are really, really innefficient and use lots of small files instead of a few big ones, both because of the way we are constructed and because we want to preserve easy, targeted troubleshooting), which means that the standard English-Only distribution with crossplatform variables will reuce our load from a total mod weight of 14.4 MB (SFX compressed with the .exe to about 4.63MB -- remember, .exe compression savings is not as great as the code files, which get reduces by up to 70% !! )to about 11 MB on disk, but adding Russion, German, Spanish, and Polish translations will double us to 23 MB. Of course, the BP folks thik this is a little quaint... after all, some single file folders on a BP mod will outweigh this, and that is if we are uncompressed and they are compressed!
So the answer for us to keep mod size small looks like having separate language distributions, not separate code distributions.
// END EDIT
I guess this betrays something in my assumptions about modding, and why I end up in the Tutu camp even though I see lots of people working very hard on the BP side to provide new content. I somehow assume that it is preferable to expand the existing game world with more depth and interaction than it is to add new areas to explore (go figure -- no wonder I was begging Domi to be let into BG1 NPC for apprenticeship
As a side note, I think Miloch's idea is cool about the BG1, Tutu, BGT, BG2 idea, but if a new modder is reading this, please understand something - the Tutu/BG2 crossover is simple. The Tutu/BGT crossover is a little more difficult, but approachable. If you start talking Baldurs Gate (BG1), you have a whole new set of problems... and currently Miloch and Baronius seem to be the folks to discuss this kind of modding with (The Grey Clan and Herbs and Potions are the only ones I know of that currently have parallel versions for BG1 and BG2 versions of the Infinity Engine). The BG1 scripting is the oldest, the most restrictive, and certainly the hardest scripting to work with. It is a nightmare contemplating even attempting to take an existing mod backwards, and is likely to end up with the same results as if you pulled the engine out of a Ferrari and hooked it up to a team of ox. (OK, perhaps too far to the negative on the analogy, but just letting you know - you will need to go find these guys and Echon, and wing their brains dry, 'cause it is quite the challenge
ok, enogh chatting on my part - I gotta get back to recoding because I have fallen behind on my targets (again). Just needed to get this stuff out there in a readable format 'cause it looks useful to others (and Eirik the Scald, berelinde, and Kulyok all were needing to know what the heck I was doing in all this code stuff). Feedback and discussion is welcome, and heavy duty Master Moddarz, please rip this thing apart.
Edited by cmorgan, 06 April 2007 - 06:04 AM.
#20
Posted 15 April 2007 - 08:07 PM
cmorgan, on Apr 6 2007, 03:38 PM, said:
I am definitely not the person to discuss complex coding with, but the slime quest has one download for vanilla BG1, BG1+TotSC, and BGII engine, too.
I agree to everything you said about BG1 coding, especially since there are syntax differences between BG1 with and without TotSC, making it necessary to treat these two separately more than only because of area/variable names.
That is a very nice tutorial, cmorgan!
Edited by jastey, 15 April 2007 - 08:08 PM.
#21
Posted 15 April 2007 - 09:08 PM
jastey, on Apr 16 2007, 12:12 AM, said:
Aurora (new release!) * BG1 NPC * Gnomes * Haiass * Level 1 NPCs * Lost Items * P5Tweaks
PnP Free Action * Thrown Hammers * Unique Containers * In Progress: Adjusted Portraits * DSotSC (Tutu)
================================================================
Player & Modder Resources
BAM Batcher * Creature Lister * PSPad Highlighters * Tutu/BGT Area Map & List * Tutu Mod List
================================================================
"Wherefore do ye toil; is it not that ye may live and be happy? And if ye toil only that ye may toil more,
when shall happiness find you?" -H.P. Lovecraft, The Quest of Iranon
#22
Posted 16 April 2007 - 01:03 AM
BG1: CreateCreature("creature",[xxx.yyy])
BG1 + TotSC: CreateCreature("creature",[xxx.yyy],z) (like for BGII)
IESDP only gives the BG1 + TotSC action syntax, unfortunately.
I will have a look whether I find some more tonight, but I think that was my only problem. I'll try to recall who gave the hint about that, and I'll let you know. I would assume Bg1-modder Zed Nocear knows these things, or at least a lot more than me, for example (sorry Zed, I hope it's OK if I post something like this).
#23
Posted 19 August 2007 - 10:39 AM
My problem is a journal entry in Candlekeep, i.e. the prolog. As the BGII engine doesn't have journal entries for "Chapter 0", my journal entries disappear into the great unknown in Tutu. I could use McReady's syntax and do ~SetGlobal("Chapter","GLOBAL"1) AddJournalEntry(@34,Quest) SetGlobal("Chapter","GLOBAL",0)~
if, well, if that wouldn't make no sense for BGT.
So, I need something that goes
IF ~(BGTgame)~ THEN DO ~AddjournalEntry(@34,Quest)~
IF ~(Tutugame)~ DO ~SetGlobal("Chapter","GLOBAL"1) AddJournalEntry(@34,Quest) SetGlobal("Chapter","GLOBAL",0)~
Wait a minute - it should be working to use an AreaCheck, wouldn't it? For ~AreaCheck("FW2600")~ it's Tutu, for ~AreaCheck("AR0015")~ it's BGT. ?
EDIT: Yes, that works. Now I am happy!
EDIT: And, yes, I am playtesting. It's only that I noticed journal entries are working in EasyTutu (they don't in Tutu v4.) Cool stuff, Macready!
EDIT2: spelling... EDIT3: Tutu areas use FW, of course. ..
Edited by jastey, 19 August 2007 - 11:18 AM.
#24
Posted 19 August 2007 - 11:24 AM
So, instead of making null duplicate states;
/* Tutu Chapters */ OUTER_SPRINT "tutu_chapter_1" "1" OUTER_SPRINT "tutu_chapter_2" "2" OUTER_SPRINT "tutu_chapter_3" "3" OUTER_SPRINT "tutu_chapter_4" "4" OUTER_SPRINT "tutu_chapter_5" "5" OUTER_SPRINT "tutu_chapter_6" "6" OUTER_SPRINT "tutu_chapter_7" "7" or if the install detects BGT, /* BGT Chapters */ OUTER_SPRINT "tutu_chapter_1" "2" OUTER_SPRINT "tutu_chapter_2" "3" OUTER_SPRINT "tutu_chapter_3" "4" OUTER_SPRINT "tutu_chapter_4" "5" OUTER_SPRINT "tutu_chapter_5" "6" OUTER_SPRINT "tutu_chapter_6" "7" OUTER_SPRINT "tutu_chapter_7" "8"
You could extend that everywhere, so that if you detect BG1 and it has "Chapter 0", then Tutu Chapter 1 could be set to 0, etc.
And actually, looking at it, Chapter 1 being restet on BGT should make no difference... I think.... but anyways, if you wanted, instead of the AreaCheck
O_S "PrologueChapter" "0"
O_S "PrologueChapterAdvance" "1"
ELSE
O_S "PrologueChapter" "1"
O_S "PrologueChapterAdvance" "1"
IF ~condition ~ DO ~SetGlobal("Chapter","GLOBAL",%PrologueChapterAdvance%) AddJournalEntry(@34,Quest) SetGlobal("Chapter","GLOBAL",%PrologueChapter%)~
wound return
IF ~condition ~ DO ~SetGlobal("Chapter","GLOBAL",1) AddJournalEntry(@34,Quest) SetGlobal("Chapter","GLOBAL",0)~
on Tutu and
IF ~condition ~ DO ~SetGlobal("Chapter","GLOBAL",1) AddJournalEntry(@34,Quest) SetGlobal("Chapter","GLOBAL",1)~
on BGT and should result in it working with only one dialogue state.
You can use your syntax too, which is a nice workaround, but you need to check that it installs ok on other platforms. As far as I know your usage will simply pop an error message and continue, but you will need to check.
Edited by cmorgan, 19 August 2007 - 11:34 AM.
#25
Posted 19 August 2007 - 11:40 AM
#26
Posted 20 August 2007 - 07:37 AM
Edited by cmorgan, 20 August 2007 - 07:38 AM.
#27
Posted 20 August 2007 - 07:48 AM
OUTER_SPRINT "NashkelMines_MulaheysCave" "FW5404"
should read
OUTER_SPRINT "NashkelMines_MulaheysCave" "FW5405"
#29
#30
Posted 20 August 2007 - 08:24 AM
g3_cmv_tutu_####.tpa vs g3_cmv_bgt_####.tpa
with #### replaced with
startletter
banter
joined
post
script
bg1areas
totscareas
??
Reply to this topic

1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users











