Jump to content

Recommended Posts

I can see where Size isn't used for anims. I would use it so my previews all have a similar size instead of a Deerclops being 50 times larger than a bee (I have to have my preview background large enough for the Deerclops). No biggie though, I'll just live with it.Now I'm on to a refresh issue in between image views (right now they just all stack infinitely until you quit out of the test tools screen and reload). The below image also illustrates why I want to size all images to a specific size rather than scale.

You can do this for images, but not for anims; anims don't really have a concept of how big they are, only their scale. (A scale of 1 is however big the artist made it; and its actual dimensions vary frame to frame depending on symbols, animation, etc.)Perhaps you could have everything scale to the same value (so they are relative to eachother in-game), and a few special cases for things like Deerclops?

Edited by tehMugwump
  • Developer

I can see where Size isn't used for anims. I would use it so my previews all have a similar size instead of a Deerclops being 50 times larger than a bee (I have to have my preview background large enough for the Deerclops). No biggie though, I'll just live with it.

Now I'm on to a refresh issue in between image views (right now they just all stack infinitely until you quit out of the test tools screen and reload). The below image also illustrates why I want to size all images to a specific size rather than scale.

Looks like you're not removing the old anim before putting in the new one.

Basically, to remove it, pair a "RemoveChild" with your "AddChild" call. In case you missed it in my earlier post (there were a lot today!):

function ChangeTheImage(newatlas, newimage)  if self.object_image then    self:RemoveChild(self.object_image)  end    self.object_image = self:AddChild(Image(newatlas, newimage))end
This same logic would apply if you're using a UIAnim instead of an Image. So basically it cleans up the existing image before putting in the new one. The parent of the AddChild/RemoveChild (self in this code) would need to be matched to your code, of course.

Thanks, I missed the earlier post. I'll give this a try!

Looks like you're not removing the old anim before putting in the new one.

Basically, to remove it, pair a "RemoveChild" with your "AddChild" call. In case you missed it in my earlier post (there were a lot today!):

function ChangeTheImage(newatlas, newimage)  if self.object_image then    self:RemoveChild(self.object_image)  end    self.object_image = self:AddChild(Image(newatlas, newimage))end
This same logic would apply if you're using a UIAnim instead of an Image. So basically it cleans up the existing image before putting in the new one. The parent of the AddChild/RemoveChild (self in this code) would need to be matched to your code, of course.

Hmmm, here's where I put the code in and it crashes with a "assign to undeclared variable "ChangeTheImage"...

-- ########################### ENTITYS ########################### --self.entitySpinner = Spinner(entityOptions, 180, spinnerHeight, spinnerFont, spinner_atlas, spinner_images)function self.entitySpinner:OnChanged(data, inst)			this.working.entityPrefab = data			this:UpdateSelectedEntity()-----------------------------    self.bg = self:AddChild(Image("scripts/images/panel.xml", "panel.tex")) -- new preview frame    	self.bg:SetScale(0.75,1,1)		self.bg:SetPosition(450,0,0)function ChangeTheImage(newatlas, newimage)  if self.bg then    self:RemoveChild(self.bg)  end    self.bg = self:AddChild(Image(newatlas, newimage))end---------------------
Should 'AddChild(Image(newatlas, newimage))' be calling out an actual image?

Hmmm, here's where I put the code in and it crashes with a "assign to undeclared variable "ChangeTheImage"...

-- ########################### ENTITYS ########################### --self.entitySpinner = Spinner(entityOptions, 180, spinnerHeight, spinnerFont, spinner_atlas, spinner_images)function self.entitySpinner:OnChanged(data, inst)			this.working.entityPrefab = data			this:UpdateSelectedEntity()-----------------------------    self.bg = self:AddChild(Image("scripts/images/panel.xml", "panel.tex")) -- new preview frame    	self.bg:SetScale(0.75,1,1)		self.bg:SetPosition(450,0,0)function ChangeTheImage(newatlas, newimage)  if self.bg then    self:RemoveChild(self.bg)  end    self.bg = self:AddChild(Image(newatlas, newimage))end---------------------
Should 'AddChild(Image(newatlas, newimage))' be calling out an actual image?
It's because you're trying to set a global variable (ChangeTheImage) from inside a function. Don't Starve runs in strict mode, triggering an error.But ideally you shouldn't be exporting global variables from a mod anyway, can't ChangeTheImage be defined as a method, or as a local function?
  • Developer

Hmmm, here's where I put the code in and it crashes with a "assign to undeclared variable "ChangeTheImage"...

-- ########################### ENTITYS ########################### --self.entitySpinner = Spinner(entityOptions, 180, spinnerHeight, spinnerFont, spinner_atlas, spinner_images)function self.entitySpinner:OnChanged(data, inst)            this.working.entityPrefab = data            this:UpdateSelectedEntity()-----------------------------    self.bg = self:AddChild(Image("scripts/images/panel.xml", "panel.tex")) -- new preview frame        self.bg:SetScale(0.75,1,1)        self.bg:SetPosition(450,0,0)function ChangeTheImage(newatlas, newimage)  if self.bg then    self:RemoveChild(self.bg)  end    self.bg = self:AddChild(Image(newatlas, newimage))end---------------------
Should 'AddChild(Image(newatlas, newimage))' be calling out an actual image?
I just wrote this as a function (and an incorrect one it turns out) just because that's what I usually do when I come up with a "chunk" of code. However, looking at the TestScreen file, I see that you actually use a separate anim/image for each "kind" of thing, so you'll need to do something like this:
	self.entitySpinner = Spinner(entityOptions, 180, spinnerHeight, spinnerFont, spinner_atlas, spinner_images)	function self.entitySpinner:OnChanged(data)		this.working.entityPrefab = data		this:UpdateSelectedEntity()		self.image = self:AddChild(Image("images/ui.xml", "portrait_bg.tex"))		self.image:SetScale(1,1,1) -- large portrait box		self.image:SetPosition(350,-25,0)		if self.entity_preview then			self:RemoveChild(self.entity_preview)		end		self.entity_preview = self:AddChild(UIAnim(data))		self.entity_preview:GetAnimState():SetBank(data)		self.entity_preview:GetAnimState():SetBuild(data)		self.entity_preview:GetAnimState():PlayAnimation("idle")		--if entity_preview:GetAnimState():SetBank(data) then		self.entity_preview:SetScale(0.25,0.25,0.25)		self.entity_preview:SetPosition(350,-70,0)	end
What I changed: I store the result of self:AddChild to a variable on self rather than a local, so that it's saved. Then, I can check to see if that child exists, and if so, remove it before adding a new one.You'll have to do the same for the food preview, object, etc. Edited by Ipsquiggle

[MENTION=55]Ipsquiggle[/MENTION], [MENTION=44092]simplex[/MENTION], nearly done!. I threw a test build up if you want to check it out >>. All I need to do now is have the Object items clear out the image left from Entity and vis-versa.

Ipsquiggle, you'll see I had to throw in a self.entity_preview:Hide() in your if self.entity_preview code. Strange, but what it was doing wasn't removing the image, but moving almost off screen to the bottom of the table it seems. I could tell when I loaded taller objects. The Hide function took care of it perfectly. End result was the same though, nice clean image previews.

Edited by tehMugwump
  • Developer

@tehMugwump

Aha! I didn't know this before, but you actually need to kill the element as well, like:

self:RemoveChild(self.entity_preview)self.entity_preview:Kill()
So remove child just made it so the image or whatever was no longer choosing it's position relative to the screen (so it appeared some place funny). Kill() actually gets rid of it. Hide() would work as well, visually, but it means that you're getting a bunch of invisible images/anims stacking up in the bottom corner doing no one any good. :)

---

e: Actually Kill removes it from it's parent, so that can just be:

if self.entity_preview then    self.entity_preview:Kill()end
Edited by Ipsquiggle

Thanks [MENTION=55]Ipsquiggle[/MENTION], one more question and I promise I'll leave you alone! (for a bit anyway, :p)From one function [function self.objectSpinner:OnChanged(data)] I need to kill self.bg in another function [function self.entitySpinner:OnChanged(data)]Basically, the Object function calls a background for the previews. I kill it with each preview change so it doesn't stack and get messy. When I go to the Entity function, I need to kill the background that's left over from the Object preview, but I don't know how to jump into another function like that...From here in the Object function:

if self.bg2 thenself:RemoveChild(self.bg2)self.bg2:Kill()end
and here in the Entity function:
if self.bg thenself:RemoveChild(self.bg)self.bg:Kill()end
Each needs to kill the other's bg image...
  • Developer

@tehMugwump

Since you're just modifying data, you can just copy it into eachother's functions.

if self.bg then  self.bg:Kill()  self.bg = nilendif self.bg_2 then  self.bg_2:Kill()  self.bg_2 = nilendself.bg = blah.blah 
So when that bit runs (whichever function it's in) it will destroy both images, if possible. (And do nothing to an image if it's already been destroyed -- notice how I set the "unused" self.bg_2 to nil, so that the 'if' will be false if we try again. It's not actually necessary to set self.bg to nil, because we set it to something else in the very next line. I just did it here so that it's a bit more explanitory what's happening and so this code can be more safely copied and pasted around.) Then it will create one new image and save it as self.bg.

So the above would be copied into both/all applicable locations, swapping which image is being killed and replaced, of course.

Hmm, isn't working. (though it still removes it's own picture frame) The image stays in place (Objects loads it's preview frame on top of Entities frame and images, so none of those preview images are visible. Here's the two fucntions. If you want, you can just paste this into Test Tools replacing the two functions. (though you'll need the 'test' build I have uploaded)

-- ########################### ENTITYS ########################### --self.entitySpinner = Spinner(entityOptions, 180, spinnerHeight, spinnerFont, spinner_atlas, spinner_images)function self.entitySpinner:OnChanged(data)	this.working.entityPrefab = data	this:UpdateSelectedEntity()------- clean up preview framesif self.bg thenself:RemoveChild(self.bg)  self.bg:Kill()  self.bg = nilendif self.bg_2 thenself:RemoveChild(self.bg2)  self.bg_2:Kill()  self.bg_2 = nilend-- then load picture frame	self.bg = self:AddChild(Image("scripts/images/panel.xml", "panel.tex")) -- new preview frame    self.bg:SetScale(0.75,1,1)	self.bg:SetPosition(450,0,0)------- clean up preview framelocal info = build_info[data]if info then	if self.entity_preview then		self:RemoveChild(self.entity_preview)		self.entity_preview:Kill()	end--$$$$$$$$$$$$$$$$$$$$$$$$$  pulls from builds.lua $$$$$$$$$$$$$$$$$$$$$$$$$--build_info.penguin.baseanim = "idle_loop"build_info.bat.baseanim = "fly_loop"build_info.bishop.baseanim = "idle_loop"build_info.knight.baseanim = "idle_loop"build_info.chester.baseanim = "idle_loop"build_info.pigman.baseanim = "idle_happy"build_info.merm.baseanim = "idle_happy"build_info.perd.baseanim = "idle_loop"build_info.walrus.baseanim = "idle_angry"build_info.tentacle.baseanim = "atk_loop"build_info.tentacle_pillar_arm.baseanim = "atk_loop"build_info.pigguard.baseanim = "idle_happy"build_info.lureplant.baseanim = "idle_out"build_info.eyeplant.baseanim = "atk"build_info.slurper.baseanim = "idle", true -- everything in SGslurper.lua tried - NOTHING worksself.entity_preview = self:AddChild(UIAnim(data))self.entity_preview:GetAnimState():SetBank( info.bank )self.entity_preview:GetAnimState():SetBuild( info.build )self.entity_preview:GetAnimState():PlayAnimation( info.baseanim )	elseself.entity_preview:GetAnimState():SetBank(data)self.entity_preview:GetAnimState():SetBuild(data)self.entity_preview:GetAnimState():PlayAnimation("idle")	endself.entity_preview:SetScale(0.25,0.25,0.25)self.entity_preview:SetPosition(440,-100,0)end-- end ENTITY-- ########################### OBJECTS ########################### --self.objectSpinner = Spinner(objectOptions, 180, spinnerHeight, spinnerFont, spinner_atlas, spinner_images)function self.objectSpinner:OnChanged(data)	this.working.objectPrefab = data	this:UpdateSelectedObject()------- clean up preview frameif self.bg thenself:RemoveChild(self.bg)  self.bg:Kill()  self.bg = nilendif self.bg_2 thenself:RemoveChild(self.bg2)  self.bg_2:Kill()  self.bg_2 = nilend-- then load picture frame	self.bg2 = self:AddChild(Image("scripts/images/panel.xml", "panel.tex")) -- new preview frame    self.bg2:SetScale(0.75,1,1)	self.bg2:SetPosition(450,75,0)------- clean up preview frame			local info = build_info[data]if info then		if self.entity_preview then			self:RemoveChild(self.entity_preview)			self.entity_preview:Kill()		end	self.entity_preview = self:AddChild(UIAnim(data))    self.entity_preview:GetAnimState():SetBank( info.bank )    self.entity_preview:GetAnimState():SetBuild( info.build )    self.entity_preview:GetAnimState():PlayAnimation( info.baseanim )else	self.entity_preview = self:AddChild(UIAnim(data))    self.entity_preview:GetAnimState():SetBank(data)    self.entity_preview:GetAnimState():SetBuild(data)    self.entity_preview:GetAnimState():PlayAnimation("idle")endself.entity_preview:SetScale(0.25,0.25,0.25)self.entity_preview:SetPosition(450,-50,0)end

@tehMugwump

Since you're just modifying data, you can just copy it into eachother's functions.

if self.bg then  self.bg:Kill()  self.bg = nilendif self.bg_2 then  self.bg_2:Kill()  self.bg_2 = nilendself.bg = blah.blah 
So when that bit runs (whichever function it's in) it will destroy both images, if possible. (And do nothing to an image if it's already been destroyed -- notice how I set the "unused" self.bg_2 to nil, so that the 'if' will be false if we try again. It's not actually necessary to set self.bg to nil, because we set it to something else in the very next line. I just did it here so that it's a bit more explanitory what's happening and so this code can be more safely copied and pasted around.) Then it will create one new image and save it as self.bg.

So the above would be copied into both/all applicable locations, swapping which image is being killed and replaced, of course.

Edited by tehMugwump

[MENTION=55]Ipsquiggle[/MENTION], [MENTION=44092]simplex[/MENTION], nearly done!. I threw a test build up if you want to check it out >>. All I need to do now is have the Object items clear out the image left from Entity and vis-versa.

Great! I'll take a look at it! (:
  • Developer

Hmm, isn't working. (though it still removes it's own picture frame) The image stays in place (Objects loads it's preview frame on top of Entities frame and images, so none of those preview images are visible. Here's the two fucntions. If you want, you can just paste this into Test Tools replacing the two functions. (though you'll need the 'test' build I have uploaded)

The answer to this actually caught my by surprise!

In the "OnChanged" functions (e.g. self.objectSpinner:OnChanged() ) the functions are class functions (they are defined using a colon : ).

This means they automatically provide the "self" value.

So when you write self.bg in that function, it's not the TestScreen's bg, but the objectSpinner's bg! So the answer was to make sure we were pointing at the correct backgrounds and previews.

So the thing I did to fix it was move the creation of both spinners to the top (for cleanliness, you might want to move ALL the spinners to the top of the TestScreen:DoInit() function so they are together).

Then I assigned the spinners to some local variables, so I could access them without relying on 'self'.

Finally, the cleanup functions check the backgrounds/previews of the other spinner in addition to its own (self).

-- ########################### ENTITYS ########################### --	self.entitySpinner = Spinner(entityOptions, 180, spinnerHeight)	self.objectSpinner = Spinner(objectOptions, 180, spinnerHeight)	local entitySpinner = self.entitySpinner	local objectSpinner = self.objectSpinner	function self.entitySpinner:OnChanged(data)		this.working.entityPrefab = data		this:UpdateSelectedEntity()		------- clean up preview frames		if self.bg then			self.bg:Kill()			self.bg = nil		end		if objectSpinner.bg_2 then			objectSpinner.bg_2:Kill()			objectSpinner.bg_2 = nil		end		if objectSpinner.entity_preview then			objectSpinner.entity_preview:Kill()			objectSpinner.entity_preview = nil		end		-- then load picture frame		self.bg = self:AddChild(Image("scripts/images/panel.xml", "panel.tex")) -- new preview frame		self.bg:SetScale(0.75,1,1)		self.bg:SetPosition(480,0,0)		------- clean up preview frame		local info = build_info[data]		if info then			if self.entity_preview then				self:RemoveChild(self.entity_preview)				self.entity_preview:Kill()			end--$$$$$$$$$$$$$$$$$$$$$$$$$  pulls from builds.lua $$$$$$$$$$$$$$$$$$$$$$$$$--			build_info.penguin.baseanim = "idle_loop"			build_info.bat.baseanim = "fly_loop"			build_info.bishop.baseanim = "idle_loop"			build_info.knight.baseanim = "idle_loop"			build_info.chester.baseanim = "idle_loop"			build_info.pigman.baseanim = "idle_happy"			build_info.merm.baseanim = "idle_happy"			build_info.perd.baseanim = "idle_loop"			build_info.walrus.baseanim = "idle_angry"			build_info.tentacle.baseanim = "atk_loop"			build_info.tentacle_pillar_arm.baseanim = "atk_loop"			build_info.pigguard.baseanim = "idle_happy"			build_info.lureplant.baseanim = "idle_out"			build_info.eyeplant.baseanim = "atk"			build_info.slurper.baseanim = "idle", true -- everything in SGslurper.lua tried - NOTHING works			self.entity_preview = self:AddChild(UIAnim(data))			self.entity_preview:GetAnimState():SetBank( info.bank )			self.entity_preview:GetAnimState():SetBuild( info.build )			self.entity_preview:GetAnimState():PlayAnimation( info.baseanim )		else			self.entity_preview:GetAnimState():SetBank(data)			self.entity_preview:GetAnimState():SetBuild(data)			self.entity_preview:GetAnimState():PlayAnimation("idle")		end		self.entity_preview:SetScale(0.25,0.25,0.25)		self.entity_preview:SetPosition(440,-100,0)	end-- end ENTITY-- ########################### OBJECTS ########################### --	function self.objectSpinner:OnChanged(data)		this.working.objectPrefab = data		this:UpdateSelectedObject()------- clean up preview frame		if entitySpinner.entity_preview then			entitySpinner.entity_preview:Kill()			entitySpinner.entity_preview = nil		end		if entitySpinner.bg then			entitySpinner.bg:Kill()			entitySpinner.bg = nil		end		if self.bg_2 then			self.bg_2:Kill()			self.bg_2 = nil		end-- then load picture frame		self.bg_2 = self:AddChild(Image("scripts/images/panel.xml", "panel.tex")) -- new preview frame		self.bg_2:SetScale(0.75,1,1)		self.bg_2:SetPosition(450,75,0)------- clean up preview frame					local info = build_info[data]		if info then			if self.entity_preview then				self:RemoveChild(self.entity_preview)				self.entity_preview:Kill()			end			self.entity_preview = self:AddChild(UIAnim(data))			self.entity_preview:GetAnimState():SetBank( info.bank )			self.entity_preview:GetAnimState():SetBuild( info.build )			self.entity_preview:GetAnimState():PlayAnimation( info.baseanim )		else			self.entity_preview = self:AddChild(UIAnim(data))			self.entity_preview:GetAnimState():SetBank(data)			self.entity_preview:GetAnimState():SetBuild(data)			self.entity_preview:GetAnimState():PlayAnimation("idle")		end		self.entity_preview:SetScale(0.25,0.25,0.25)		self.entity_preview:SetPosition(450,-50,0)	end

There are quite a number of ways we could have solved this (as with most programming problems!) but this is one. :)

  • Developer

Crock pots will be partially added (Custom recipes and ingredients! They won't show up in the pot yet but that's on my to-do). Custom minimap icons will probably not make this update but I'm gonna try.Most of the updates to the API have been around creating "AddPostInit" style functions for a wider range of features so that it's more straightforward and standard to do common things, along the lines of the world gen functions from last update. I'll post a full list on Preview day once I've finalized what that list is. :)

[MENTION=55]Ipsquiggle[/MENTION], that did it. When I ran it, though, all I got was a blank screen with the red lined background.... Found out I had to keep the full lines up top:

self.entitySpinner = Spinner(entityOptions, 180, spinnerHeight, spinnerFont, spinner_atlas, spinner_images)self.objectSpinner = Spinner(objectOptions, 180, spinnerHeight, spinnerFont, spinner_atlas, spinner_images)
I think this is damn near it fellas! Couldn't have done it without ya!

[MENTION=10028]tehMugwump[/MENTION]

About why ("idle_loop", true) is failing for the Slurper, I really have no idea. All my tests failed, just like yours.

But I'm posting this here because, upon finally running the Test Tools for actual testing (huh), I realized something quite a bit more strange. Nothing appears for me, under Linux. I tried booting into Windows, and over there everything is fine (except for these minor issues, such as the invisible Slurper). But under Linux this is what I get:

Posted Image

Everything is functional: I can click on the spinners, I hear a sound and they actually do the spinning. Except that everything is invisible. :p

So perhaps Ipsquiggle here might have some clue on what could be OS sensitive about the mod's contents. I never had any graphical issues with Don't Starve, and log.txt doesn't give any errors or warnings. It's so weird.

[MENTION=55]Ipsquiggle[/MENTION], a request for the Mod community:

Can we please get an Enable ALL button on the mod screen? I've lost count how many times the game has crashed and disabled all mods, I go in and fix the problem (because I was testing a mod) and each time have to go in and MANUALLY enable all 14 mods I'm running.

An Enable ALL button would make our lives SO much easier!

I also find it very annoying that the game disables all mods sometimes. In my opinion, the game shouldn't do that, but instead just display a warning that a mod caused a crash but the game doesn't know which one.

The game does that to prevent the game from not loading at all due to a mod. This needs to be done at some extent to avoid lockups. But it would be nicer if the game prompted the user with a dialog for choosing between disabling all mods or not instead.

The game does that to prevent the game from not loading at all due to a mod. This needs to be done at some extent to avoid lockups. But it would be nicer if the game prompted the user with a dialog for choosing between disabling all mods or not instead.

That's why and Enable ALL button on the mod screen is needed. Either way, you're going to get in there and correct the problem and going back and manually enabling all your mods one by one is quite a pain.

[MENTION=55]Ipsquiggle[/MENTION], though nothing has been touched in, on, or around the character select screen, I started getting reports of Test Tools crashing after selecting a new 'toon. Verified myself and it's a mystery why it's started crashing out of nowhere. Perhaps a backend change somewhere? Anyway, here's the relevant part of the log text:

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/modindex.lua(106,1) loaded modindex

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/modindex.lua(47,1) ModIndex: Beginning normal load sequence.

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/mods.lua(254,1) Loading modworldgenmain.lua for Test Tools

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/mods.lua(262,1) Mod Test Tools had no modworldgenmain.lua. Skipping.

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/mods.lua(254,1) Loading modmain.lua for Test Tools

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/modutil.lua(9,1) Test Tools AddGamePostInit

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/modutil.lua(9,1) Test Tools AddSimPostInit

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/modutil.lua(9,1) Test Tools AddComponentPostInit ambientsoundmixer

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/mods.lua(340,1) Registering prefabs for Test Tools

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/mods.lua(346,1) Registering Test Tools prefab: characterselectdummy

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/mods.lua(362,1) Registering default mod prefab for Test Tools

LOADING LUA SUCCESS

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/playerdeaths.lua(72,1) loaded morgue_release

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/playerprofile.lua(212,1) loaded profile

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/saveindex.lua(65,1) loaded saveindex

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/gamelogic.lua(71,1) LOAD BE

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/gamelogic.lua(75,1) LOAD BE: done

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/gamelogic.lua(332,1) Loading Nav Grid

MiniMapComponent::SetAtlasInfo( minimap/minimap_data.xml )

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/modindex.lua(57,1) ModIndex: Load sequence finished successfully.

Reset() returning

HttpClientWriteCallback (0x05913EA7, 1, 16, 0x05AFF824)

HttpClientWriteCallback READ 16 (16 total)

QueryServerComplete for handle [1] ok, HTTP 200: {"result":"OK"}

MiniMapRenderer::GenerateForeground(): mAtlas = 095FAC68

MiniMapComponent::SetAtlasInfo( minimap/minimap_data.xml )

...mon/dont_starve/data/scripts/components/overseer.lua:28: attempt to call method 'Equip' (a nil value)

LUA ERROR stack traceback:

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/components/overseer.lua(28,1) in function 'FightStat_Equip'

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/components/inventory.lua(614,1) in function 'Equip'

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/components/inventory.lua(119,1) in function 'OnLoad'

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/entityscript.lua(1021,1) in function 'SetPersistData'

C:/Program Files/Steam/steamapps/common/dont_starve/data/../mods/Test Tools/scripts/commands.lua(199,1) in function 'cb'

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/screens/characterselectscreen.lua(72,1) in function 'onclick'

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/animbutton.lua(52,1) in function 'domouseup'

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/widget.lua(211,1) in function 'OnMouseUp'

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/widget.lua(19,1) in function 'fn'

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/entityscript.lua(585,1) in function 'PushEvent'

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/input.lua(85,1) in function 'OnMouseButton'

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/input.lua(219,1)

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/modindex.lua(63,1) ModIndex: There was a mod crash at an unrecoverable state in loading.

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/frontend.lua(257,1) SCRIPT ERROR! Showing error screen

MiniMapRenderer::GenerateForeground(): mAtlas = 095FAC68

Collecting garbage...

lua_gc took 0.17 seconds

~SimLuaProxy()

lua_close took 0.21 seconds

Orphaned unnamed resource. This resource must have used Add( resource ) to insert itself into the manager.

Orphaned unnamed resource. This resource must have used Add( resource ) to insert itself into the manager.

HttpClient::ClientThread::Main() complete

Shutting down

It says error - overseer.lua(28,1), attempt to call method 'Equip' (a nil value), but open overseer.lua and it's all comments to line 47.

Side note: characterselectscreen, when called by Test Tools, can't find biobox.tex unless I change this line and supply the files: Is this images being unloaded after game starts so it's not available?

--self.biobox = self.fixed_root:AddChild(Image("images/fepanels.xml", "biobox.tex")) -- line from Hungerself.biobox = self.fixed_root:AddChild(Image("scripts/images/biobox.xml", "biobox.tex")) -- line from Powers
Edited by tehMugwump

[MENTION=55]Ipsquiggle[/MENTION], though nothing has been touched in, on, or around the character select screen, I started getting reports of Test Tools crashing after selecting a new 'toon. Verified myself and it's a mystery why it's started crashing out of nowhere. Perhaps a backend change somewhere? Anyway, here's the relevant part of the log text:

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/modindex.lua(106,1) loaded modindex

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/modindex.lua(47,1) ModIndex: Beginning normal load sequence.

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/mods.lua(254,1) Loading modworldgenmain.lua for Test Tools

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/mods.lua(262,1) Mod Test Tools had no modworldgenmain.lua. Skipping.

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/mods.lua(254,1) Loading modmain.lua for Test Tools

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/modutil.lua(9,1) Test Tools AddGamePostInit

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/modutil.lua(9,1) Test Tools AddSimPostInit

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/modutil.lua(9,1) Test Tools AddComponentPostInit ambientsoundmixer

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/mods.lua(340,1) Registering prefabs for Test Tools

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/mods.lua(346,1) Registering Test Tools prefab: characterselectdummy

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/mods.lua(362,1) Registering default mod prefab for Test Tools

LOADING LUA SUCCESS

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/playerdeaths.lua(72,1) loaded morgue_release

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/playerprofile.lua(212,1) loaded profile

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/saveindex.lua(65,1) loaded saveindex

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/gamelogic.lua(71,1) LOAD BE

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/gamelogic.lua(75,1) LOAD BE: done

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/gamelogic.lua(332,1) Loading Nav Grid

MiniMapComponent::SetAtlasInfo( minimap/minimap_data.xml )

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/modindex.lua(57,1) ModIndex: Load sequence finished successfully.

Reset() returning

HttpClientWriteCallback (0x05913EA7, 1, 16, 0x05AFF824)

HttpClientWriteCallback READ 16 (16 total)

QueryServerComplete for handle [1] ok, HTTP 200: {"result":"OK"}

MiniMapRenderer::GenerateForeground(): mAtlas = 095FAC68

MiniMapComponent::SetAtlasInfo( minimap/minimap_data.xml )

...mon/dont_starve/data/scripts/components/overseer.lua:28: attempt to call method 'Equip' (a nil value)

LUA ERROR stack traceback:

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/components/overseer.lua(28,1) in function 'FightStat_Equip'

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/components/inventory.lua(614,1) in function 'Equip'

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/components/inventory.lua(119,1) in function 'OnLoad'

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/entityscript.lua(1021,1) in function 'SetPersistData'

C:/Program Files/Steam/steamapps/common/dont_starve/data/../mods/Test Tools/scripts/commands.lua(199,1) in function 'cb'

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/screens/characterselectscreen.lua(72,1) in function 'onclick'

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/animbutton.lua(52,1) in function 'domouseup'

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/widget.lua(211,1) in function 'OnMouseUp'

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/widget.lua(19,1) in function 'fn'

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/entityscript.lua(585,1) in function 'PushEvent'

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/input.lua(85,1) in function 'OnMouseButton'

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/input.lua(219,1)

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/modindex.lua(63,1) ModIndex: There was a mod crash at an unrecoverable state in loading.

C:/Program Files/Steam/steamapps/common/dont_starve/data/scripts/frontend.lua(257,1) SCRIPT ERROR! Showing error screen

MiniMapRenderer::GenerateForeground(): mAtlas = 095FAC68

Collecting garbage...

lua_gc took 0.17 seconds

~SimLuaProxy()

lua_close took 0.21 seconds

Orphaned unnamed resource. This resource must have used Add( resource ) to insert itself into the manager.

Orphaned unnamed resource. This resource must have used Add( resource ) to insert itself into the manager.

HttpClient::ClientThread::Main() complete

Shutting down

It says error - overseer.lua(28,1), attempt to call method 'Equip' (a nil value), but open overseer.lua and it's all comments to line 47.

Side note: characterselectscreen, when called by Test Tools, can't find biobox.tex unless I change this line and supply the files: Is this images being unloaded after game starts so it's not available?

--self.biobox = self.fixed_root:AddChild(Image("images/fepanels.xml", "biobox.tex")) -- line from Hungerself.biobox = self.fixed_root:AddChild(Image("scripts/images/biobox.xml", "biobox.tex")) -- line from Powers
?

It's not commented!

@components/overseer.lua

 27 function FightStat_Equip(item,slot) 28     GetPlayer().components.overseer:Equip(item,slot) 29 end
But anyway, I'll see if I can track this down.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
  • Create New...