yea it works
I think I've worked out enough about the tile system to have a stab at supporting larger tiles now. I can think of two different ways to support it though. What's the main reason people want large tiles? Because too many smaller ones will exceed some sort of hardcoded limit on the number of entries in tiles.lst, or to save the effort splitting up the larger tiles manually?
Continuum said:Continuum said:Any chances to hack this past-gen crap and remove tile size restriction (but this would require to hack a Mapper, otherwise you won't be able to build any map from larger tiles ) or give a possibility to totally disable utter broken highlight "feature" on scenery/walls?
Tile problem:
Default tile (80x36):
Custom tile (for example 3x3 tile in one piece):
or can be even bigger - 4x4 or 5x5 (or 5x3, or 4x1), for example, since engine will be able to handle it.
Highlight problem:
Continuum said:
Continuum said:Anyway, I was playing with different Frames Offset and nothing, the same results. So, three "back" hexes are safe, but three "front" hexes aren't. Here's the area where engine is starting to highlight (closer to blocking hex = increased effect):
Continuum said:Larger tile before left click (isn't placed on the map):
Larger tile after left click (is placed on the map):
Roof tile after left click (is placed on the map):
Larger tile surrounded by default ones:
Fact: there's a difference in "behavior" between roof and ground tiles. Roof is getting a typical too large bitmap syndrome (similar to wall/scenery) and after left click roof tile will "jump" to the bottom. While in case of ground tiles everything above that black thing is simply cutted. After left click there's no sudden "jump"
Also, Mapper will crash when larger tiles are on the map, you're in in-game mode (F8), and you'll press "D" (night). Maybe it's somehow related to highlight "feature"?
Tough problem!
------------------------EDIT
This "jump" is related to Frames Offset. Change from default 0,0. and ground tile will start "jumping" too. But it's looking different in both cases (roof and ground tile).
Yeah, this is a problem. As Chris said: shitload of annoying work to build damn map. And as Lexx said: shitload of dirty work to split the thing into pieces. In other words: just to make this past-gen shitty shit much more modder friendly, which will allow to add a lot of cool-ish visuals in the future.Timeslip said:to save the effort splitting up the larger tiles manually?
EVERYTHING should be highlighted in the same way as tiles!
Lexx said:If walls would be highlightes like tiles, you will get a very strange perspective effect (flat ground light on walls, huh).
if(random(1,100) > (100 - (get_critter_extra_stat(attacker, STAT_crit_chance) + get_critter_base_stat(attacker, STAT_crit_chance)))) then begin
random_damage := random_damage * 2;
attacker_special_flag := 768;
float_msg(dude_obj, ("Fired " + attacker_special_flag), 3);
end
Didn't I ask what you wanted it for? (Edit: ok, just went back and reread the post, and seems that I didn't.) I can't think of anything that that would be able to do that you couldn't do using a normal global script in mode 0, list_begin(LIST_CRITTERS) and set_self. Either I'm misunderstanding what you want, or there's a way for you to do it already without adding additional complications.MIB88 said:I asked about being able to create a function (as a hook script) that could be used for the critter_p_proc_procedure.
MIB88 said:Alright, Timeslip, here's a request for you:
You've added several hook scripts already, the one I'm finding most useful is the ondeath one. (It works great for causing enemies to drop their weapons when they are killed... thanks.) I don't really know how all these work, but, am I to understand that a hook script could be made for any procedure inside a critter's script? If so, is it possible to add one for the critter and use_object_on procedures?
Timeslip said:They can be made at any point inside fallouts code where I can inject a jump without breaking anything, rather than being related to existing script procedures. The only limit is that I have to know where the related bit of code is in fallout2.exe, and to have relevant values passed to get_sfall_arg I need to understand what it's doing.
I'm on holiday now, so no updates for a month or so, but I'll see what I can do when I get back.