Jump to content


Avenger_teambg's Content

There have been 88 items by Avenger_teambg (Search limited from 06-June 23)


By content type

See this member's


Sort by                Order  

#599083 Writing into that memory space

Posted by Avenger_teambg on 26 December 2017 - 09:08 AM in IE Help

370 ChangeStat(O:Object*,I:Stat*Stats,I:Value*,I:Modifier*StatMod)
 



#599119 Writing into that memory space

Posted by Avenger_teambg on 27 December 2017 - 04:04 PM in IE Help

And does this one actually work? There are stats that can't be changed.

 

As far as i know, it works for the xp worth stat and that was the question.




#600635 Which are the "existence" sounds?

Posted by Avenger_teambg on 26 February 2018 - 09:45 AM in IE Help

https://gibberlings3...gee/sndslot.htm




#598925 What do I need for an area?

Posted by Avenger_teambg on 18 December 2017 - 11:02 AM in IE Help

Area making tutorial

 

http://www.simpilot....main.htm#search




#598768 What defines casting animation selection?

Posted by Avenger_teambg on 09 December 2017 - 03:12 PM in IE Help

If you are looking for a 2da, check gemrb. Otherwise this stuff is mostly hardcoded. Yeah, internally most of it is projectiles.

Opcode 215 is vvcs, opcode 141 is projectiles, opcode 140 is projectiles, opcode 41 is particles (sparkles).

Casting animations are opcode 140 or opcode 41.




#600819 The scripts of the engine creature

Posted by Avenger_teambg on 06 March 2018 - 08:11 AM in IE Help

"but the engine creature, after all, is some real guy without an avatar sitting outside the map and dreaming this world like Carroll's Red King - running all of these scripts, of which BALDUR is really on the lowest rung and the higher rungs are yet empty. And if this demiurge gets recorded in the GAM together with his world, will the old script arrangement be restored when the King wakes, that is, when the mod is uninstalled?"

 

irrelevant




#600828 The scripts of the engine creature

Posted by Avenger_teambg on 06 March 2018 - 12:30 PM in IE Help

1. it is not a creature.

2. it isn't saved.

 

Every time the game object is created (loaded), a "scriptable object" is created and baldur.bcs is assigned to the default slot. This object has all the scripting slots (just like any scriptable object) has position, but lacks a lot of creature attributes. As it isn't saved itself, you don't have to care about any remains in saved games. 

All the other slots are wiped clean even if you quicksave/reload. 




#599641 The SaveGame() action

Posted by Avenger_teambg on 18 January 2018 - 08:15 AM in IE Help

"But this doesn't explain where hand-made saves would go, what numbers they would have for this table."

 

That's true, this table is to give name for various hardcoded saves. It has nothing to do with hand-made saves.

 

"Or don't values above 18 work?" - Correct, they don't work if used as parameter SaveGame(). Actually, they might do something funny, feel free to explore the possibilities.

 

The numbers in the first column of the .2da are not the same numbers as the zero padded numbers in the saved game name.

 

You sentence 'What if I make the game save under 20? Is that going to overwrite anything?' therefore is semantically incorrect.




#602078 The mysterious disappearance of hags

Posted by Avenger_teambg on 28 April 2018 - 01:03 AM in IE Help

Let me guess, this "almost unmodded" means some animation pack?




#600420 That 326 effect, Apply Effects List

Posted by Avenger_teambg on 19 February 2018 - 09:03 AM in IE Help

iwdee uses this opcode extensively. Do you mean all those spells are buggy?




#600447 That 326 effect, Apply Effects List

Posted by Avenger_teambg on 20 February 2018 - 08:55 AM in IE Help

In BG2EE we used specific a lot for factions. This leaves little room for spell states as you would overwrite the faction value.  

 

Btw, it is perfectly legit to use specifics with effects, except you must be aware their current use in AI scripting.

You should still add your new values to specific.ids so others know you have allocated them.
 
And, if you use values over 255 when you've been told not to, it is your fault.
 



#599643 Tavern Music going on fast forward

Posted by Avenger_teambg on 18 January 2018 - 08:21 AM in IE Help

It is probably a stereo vs mono thingie. (You play mono samples in stereo, thus going double speed).




#600629 Suggestions for permanent visual effects?

Posted by Avenger_teambg on 26 February 2018 - 09:11 AM in IE Help

I wonder if it would work to assign your tree visual as corpse frame of a creature's animation and mark the creatures so that the corpse would not vanish for the game duration?

 

Dead creatures don't have personal space, if that's ok, then this is a good solution.




#598879 Spell immunity for a new school

Posted by Avenger_teambg on 16 December 2017 - 04:26 AM in IE Help

"do I lose anything without DISABLING or OFFENSIVEDAMAGE or ILLUSIONARYPROTECTIONS."

 

You do lose truesight, for example, if you remove ILLUSIONARYPROTECTIONS

 

OHBSUZA2 in bg2ee needs DISABLING. That is the black pits starting scene.

 

CLCK26 protects from OFFENSIVEDAMAGE 




#598869 Spell immunity for a new school

Posted by Avenger_teambg on 15 December 2017 - 05:47 AM in IE Help

The spell structure allows for 255 secondary types (+0 meaning no secondary type), so that is an upper limit for secondary types.

Other than that, you can freely add new secondary types.

 

By the way, you can also use new schools, you just won't be able to set up usabilities for the scrolls containing the spells of the new school.

And the initial spell selection during chargen wouldn't work with them (you know where specialist spells are highlighted). 

But, you still can use these extra schools the same way you could use the secondary types.




#598944 Slow Poison

Posted by Avenger_teambg on 19 December 2017 - 02:24 AM in IE Help

Slow poison with 0 is indeed a bug (causes division by zero). 

Also with 1, it shouldn't do anything (as division or multiplication by 1 doesn't do much).

 

With 2 or higher, it should generally divide the damage and multiply the duration or delay (overall damage shouldn't change).

If the poison is 'permanent' or single time, then damage is divided, of course.

 

At least, this is what it was supposed to do :)

 

This is used in IWDEE, and the proper slow poison spell was not ported to BGEE




#598795 Setting a spell state with Weidu

Posted by Avenger_teambg on 11 December 2017 - 10:38 AM in IE Help

:lol2:  What is the 3rd byte in human language? And you're going to have to explain this to me: "These are all a one-way influence, they will set the spellstates, but the spellstates have no effect on the value used by them if you were to set them manually through opcode 328/335."

 

If this means that the engine doesn't differentiate between those high states, then that's not true. As I've said in the beginning, a script made to check for 521, BOY does not return true for 521, GIRL, when a creature is in both those states.

 

Reading the mirror image of a bit of a stat doesn't mean you have full control over that bit. What you see is a temporary copy. Depending on where you try to tamper with it (equipping effect or not equipping effect), or the effects surrounding your 'state setting' attempt (whether they force a reevaluation of the effect stack or not), may very well change the outcome.  I think he meant 3rd byte as 3rd byte in the spell state index. 

Like a spell state >65535. And yeah, using sufficiently large numbers, you totally index out of the creature into random memory land. But even small numbers could be fatal, if you hit a complex variable type and not simple resrefs and integers, you can get pretty nice memory allocation errors or the stuff i called malware.




#598566 Setting a spell state with Weidu

Posted by Avenger_teambg on 28 November 2017 - 10:00 AM in IE Help

Imp, you're being completely stupid. Do you even use Near Infinity? Do you have any clue what I'm talking about at all? Fuck.

As much I disdain your style, i totally agree this time. Imp, you really have to check what you are talking about. IWD2 mode is a setting in the EE set spell state opcode to use extended spell states (you should always do this, as the IWD1 mode is pretty limited).

 

Spell states over 256 don't work. And before temnix asks me how do i know this, i just say, i wrote it and allocated only 256 bits for this.

 

As for what field name you should use to set the iwd2 mode, you should use 'special' as that is the name of the field in WeiDU.  The documentation for ADD_CRE_EFFECT should be clear.

http://www.weidu.org...DME-WeiDU.html. I don't think 'casting_mode' is a valid field name either.

 

I myself don't use NI, so i don't know what menu you are talking about, either. 




#598813 Setting a spell state with Weidu

Posted by Avenger_teambg on 12 December 2017 - 12:49 PM in IE Help

Either your state won't be set, in this case you detect one bit of whatever value is written to the cold resistance field (always 0 for your innocents)

or you will be able to set the value, in this case, you will make your innocents cold resistant yourself.

 

And this is the less of the problem. If you were only about to change or read otherwise unreachable bits, it could work.

 

But you want to store 2 bits of information on a single bit. Once overwritten, the old value is lost. You cannot stuff the worms back into an opened can of worms. And you cannot go backwards in time.




#598789 Setting a spell state with Weidu

Posted by Avenger_teambg on 11 December 2017 - 03:58 AM in IE Help

There is nothing wrong with testing the fringes of engine capabilities. Hell, i did the same 10 years ago and it was much more fun than writing yet another romance mod.

There isn't even any problem if you don't realize the limits of the engine.

The problem is where you react totally hostile when someone points at the limits.

I recall arguing with David Gaider on the old Bioware forum about inner workings of the scripting engine, but i never behaved even close to what you are performing here.




#598769 Setting a spell state with Weidu

Posted by Avenger_teambg on 09 December 2017 - 03:41 PM in IE Help

Which game are you referring to? Because Baldur's Gate doesn't crash. Maybe Doom or Quake or, eh, Anvil of Dawn...
Have you tried to define 300 identifiers to the splstate.ids file ? Cause according to Avenger_teambg, this will crash your game. And how you do that, read my second reply... there's what ~115 identifiers available. (255-128)...

Nope, you can write as many entries into splstate.ids as you want. You cannot use the opcode with param2>255 without overwriting something outside the allocated memory.

Feel free to bomb your own game, but writing public mods containing this isn't encouraged. That's how malware works :D

 

This is quite pathetic. You wrote the code for spell states, or so you say, and you didn't even know extra states were possible. Then you made that discovery, called it sloppy coding on your own part, and now can't point a finger at anything specific that would crash. And you're talking about "encouraged" and "malware"? Leave the important words to grown-ups who stand by their shit.

 

Temnix, i'm terribly sorry that i had to rain on your parade, really. Still, you have to contend with the 256 states given to you.

 

"This is quite pathetic." Pot, kettle, black

"You wrote the code for spell states, or so you say, and you didn't even know extra states were possible. " i know they are not possible in a safe way, i didn't know they could slip past the safeguard i wrote.

"Then you made that discovery, called it sloppy coding on your own part, and now can't point a finger at anything specific that would crash."  I checked the code, and noticed that the safeguards that would prevent memory overwriting don't exist in released code (asserts work only in debug). Admitted, it is sloppy. I could point my finger at anything specific that would crash, but i'm not going to waste time on writing exploits. 

'And you're talking about "encouraged" and "malware"?' malware is a program that causes intentional harm. Since you know about it, i just told you, if you crash someone's computer with your half-assed spell states, you wrote malware. And i'm not encouraging you. In fact, i try everything to mitigate the problem. 

"Leave the important words to grown-ups who stand by their shit." Then grow up man. I already admitted that it is not perfect. You do the same and fix your mod. 




#598674 Setting a spell state with Weidu

Posted by Avenger_teambg on 02 December 2017 - 12:57 AM in IE Help

Which game are you referring to? Because Baldur's Gate doesn't crash. Maybe Doom or Quake or, eh, Anvil of Dawn...
Have you tried to define 300 identifiers to the splstate.ids file ? Cause according to Avenger_teambg, this will crash your game. And how you do that, read my second reply... there's what ~115 identifiers available. (255-128)...

Nope, you can write as many entries into splstate.ids as you want. You cannot use the opcode with param2>255 without overwriting something outside the allocated memory.

Feel free to bomb your own game, but writing public mods containing this isn't encouraged. That's how malware works :D




#598644 Setting a spell state with Weidu

Posted by Avenger_teambg on 30 November 2017 - 02:29 PM in IE Help

Is there any difference between index overflow and extra spell states?

Yeah, the former will crash your game :)




#598637 Setting a spell state with Weidu

Posted by Avenger_teambg on 30 November 2017 - 12:05 PM in IE Help

So, there are 256 bits assigned to spell states. 1 byte = 8 bits. 8 dwords = 8*32 = 256 bits.

You are right, it does something for >256, but what it does is just an index overflow. 

It's really bad coding :)

Actually, the same as scripting states with opcode 282 in the original engine. It has only 10 valid scripting states, but you can use other values for 'funny' effects. 




#599561 Saving and spell effects

Posted by Avenger_teambg on 14 January 2018 - 07:14 AM in IE Help

If i recall correctly, the original engine saved only certain projectiles.

The EE saves all AOE projectiles with the 'explode on trigger' flag set.