calmevening Posted May 1, 2025 Posted May 1, 2025 Can anyone help me with these sprites from the game Oreowa? They seem to use a sprite atlas but I have no idea how to turn the bytes into an actual file (I kind of forgot how I converted the integers to a file, and I also want the method of how it was done out there)oreowa.zip
calmevening Posted May 2, 2025 Author Posted May 2, 2025 (edited) this is what I get converting the integers in the .json file to hex by the way, the .json was initially a monobehavior just to clarify it's not really a spine .atlas or anything I actually recognize, idk what this is also some source code from the game, might be useful from Assembly-CSharp.dll\OREOWAOreowaUguiFlowChartItem.cs public void Init(AdvEngine engine, AdvFlowData data, SpriteAtlas spriteAtlas, int groupNumber) { //IL_006d: Unknown result type (might be due to invalid IL or missing references) this.engine = engine; atlas = spriteAtlas; gourpNumber = groupNumber; Data = data; sceneObject.SetActive(false); imageObject.SetActive(false); selectionObject.SetActive(false); selectionItemObject.SetActive(false); selectionItem3LObject.SetActive(false); buttonObject = null; buttonActiveObject = null; ((Component)this).transform.localPosition = Vector3.zero; for (int i = 1; i <= 7; i++) { GameObject gameObject = ((Component)selectionObject.transform.Find($"Active{i}")).gameObject; gameObject.SetActive(false); } switch (data.Type) { case "Scene": InitScene(); break; case "Image": case "Line": InitImage(); break; case "SelectionStart": InitSelection(isStart: true); break; case "SelectionEnd": InitSelection(isStart: false); break; case "SelectionItem": InitSelectionItem(); break; } IsRead = this.engine.SystemSaveData.ReadData.CheckReadLabel(data.FlowPoint.Replace("*", string.Empty)); ((Component)this).gameObject.SetActive(true); if (!IsRead) { ((Component)this).gameObject.SetActive(false); } } private void InitImage() { //IL_0063: Unknown result type (might be due to invalid IL or missing references) imageObject.SetActive(true); Sprite sprite = atlas.GetSprite(Data.File); Image component = imageObject.GetComponent<Image>(); component.sprite = sprite; ((Graphic)component).SetNativeSize(); imageObject.transform.localPosition = new Vector3(Data.X, Data.Y * -1f); } monobehavior stuff.zip Edited May 2, 2025 by calmevening
Solution calmevening Posted May 4, 2025 Author Solution Posted May 4, 2025 (edited) The game uses UTAGE4's texture dicing converter Can be reassembled using the script below I did not make the script, but I did modify it to take arguments dicing.py Edited May 4, 2025 by calmevening 1
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now