Çözüldü TGA ları düzenlemek nasıl mümkün?

Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

RodeRein

MT Üye
MT Üye
Mesaj
163
Çözümler
10
Beğeni
91
Puan
714
Ticaret Puanı
0
Tekrar selam bu ara baya soru cevap yapcaz :D


Şimdi TGA ları düzenlediğimde ps ve ya paint.net oyun syrerr veriyor

Ox event subunu bulamadığını söylüyor ama bunu tga yı düzenleyince yapyıor sadece kaydetme seçeneklerinde 32-26-16 bit değerleri sıkıştırma ve sıkıştırmasız denendi

Şimdi biz bu tga ve dds dosyalarını nasıl düzenleyebiliriz?
 
Tga ları düzenlerken png ye dönüştürüp o şekilde düzenliyorum ve png olarak kullanmaya devam ediyorum. Tekrardan png den tga ya dönüştürünce dosya bozuluyor. Görünürde bir sorun yok gibi oluyor ama bozuluyor.
 
Tga ları düzenlerken png ye dönüştürüp o şekilde düzenliyorum ve png olarak kullanmaya devam ediyorum. Tekrardan png den tga ya dönüştürünce dosya bozuluyor. Görünürde bir sorun yok gibi oluyor ama bozuluyor.
Bizde o tga ile oynayınca direkt syrerr veriyor png olarak da düzenlesek herhangi bir şey olmuyor yine syrerr veriyor verilen syrerr da çok saçma bir syrerr

ox sub dosyasını bulamadığını söylüyor

Kod:
0123 16:58:14712 :: Traceback (most recent call last):

0123 16:58:14712 ::   File "networkModule.py", line 239, in SetGamePhase

0123 16:58:14713 ::   File "game.py", line 102, in __init__

0123 16:58:14713 ::   File "interfaceModule.py", line 437, in MakeInterface

0123 16:58:14713 ::   File "interfaceModule.py", line 370, in __MakeTipBoard

0123 16:58:14713 ::   File "uiTip.py", line 182, in __init__

0123 16:58:14713 ::   File "uiTip.py", line 189, in __LoadFrameImages

0123 16:58:14713 :: RuntimeError
0123 16:58:14713 :: :
0123 16:58:14713 :: Failed to load image (filename: d:/ymir work/interface/oxevent/frame_2.sub)
0123 16:58:14713 ::
 
uitip.py atarmsın.
 
orjinal etc atınca çalışıyor oyun. Ve etc de sadece görseli açıyorum tga olarak tekrar kaydediyorum ve bu syrerr i veriyor


Kod:
import ui
import grp
import app

import wndMgr

class TextBar(ui.Window):
    def __init__(self, width, height):
        ui.Window.__init__(self)
        self.handle = grp.CreateTextBar(width, height)

    def __del__(self):
        ui.Window.__del__(self)
        grp.DestroyTextBar(self.handle)

    def ClearBar(self):
        grp.ClearTextBar(self.handle)

    def SetClipRect(self, x1, y1, x2, y2):
        grp.SetTextBarClipRect(self.handle, x1, y1, x2, y2)

    def TextOut(self, x, y, text):
        grp.TextBarTextOut(self.handle, x, y, text)

    def OnRender(self):
        x, y = self.GetGlobalPosition()
        grp.RenderTextBar(self.handle, x, y)

    def SetTextColor(self, r, g, b):
        grp.TextBarSetTextColor(self.handle, r, g, b)

    def GetTextExtent(self, text):
        return grp.TextBarGetTextExtent(self.handle, text)

class TipBoard(ui.Bar):

    SCROLL_WAIT_TIME = 3.0
    TIP_DURATION = 5.0
    STEP_HEIGHT = 17

    def __init__(self):
        ui.Bar.__init__(self)

        self.AddFlag("not_pick")
        self.tipList = []
        self.curPos = 0
        self.dstPos = 0
        self.nextScrollTime = 0

        self.width = 370

        self.SetPosition(0, 70)
        self.SetSize(370, 20)
        self.SetColor(grp.GenerateColor(0.0, 0.0, 0.0, 0.5))
        self.SetWindowHorizontalAlignCenter()

        self.__CreateTextBar()

    def __del__(self):
        ui.Bar.__del__(self)

    def __CreateTextBar(self):

        x, y = self.GetGlobalPosition()

        self.textBar = TextBar(370, 300)
        self.textBar.SetParent(self)
        self.textBar.SetPosition(3, 5)
        self.textBar.SetClipRect(0, y, wndMgr.GetScreenWidth(), y+18)
        self.textBar.Show()

    def __CleanOldTip(self):
        leaveList = []
        for tip in self.tipList:
            madeTime = tip[0]
            if app.GetTime() - madeTime > self.TIP_DURATION:
                pass
            else:
                leaveList.append(tip)

        self.tipList = leaveList

        if not leaveList:
            self.textBar.ClearBar()
            self.Hide()
            return

        self.__RefreshBoard()

    def __RefreshBoard(self):

        self.textBar.ClearBar()

        index = 0
        for tip in self.tipList:
            text = tip[1]
            self.textBar.TextOut(0, index*self.STEP_HEIGHT, text)
            index += 1

    def SetTip(self, text):

        if not app.IsVisibleNotice():
            return

        curTime = app.GetTime()
        self.tipList.append((curTime, text))
        self.__RefreshBoard()

        self.nextScrollTime = app.GetTime() + 1.0

        if not self.IsShow():
            self.curPos = -self.STEP_HEIGHT
            self.dstPos = -self.STEP_HEIGHT
            self.textBar.SetPosition(3, 5 - self.curPos)
            self.Show()

    def OnUpdate(self):

        if not self.tipList:
            self.Hide()
            return

        if app.GetTime() > self.nextScrollTime:
            self.nextScrollTime = app.GetTime() + self.SCROLL_WAIT_TIME

            self.dstPos = self.curPos + self.STEP_HEIGHT

        if self.dstPos > self.curPos:
            self.curPos += 1
            self.textBar.SetPosition(3, 5 - self.curPos)

            if self.curPos > len(self.tipList)*self.STEP_HEIGHT:
                self.curPos = -self.STEP_HEIGHT
                self.dstPos = -self.STEP_HEIGHT

                self.__CleanOldTip()


class BigTextBar(TextBar):
    def __init__(self, width, height, fontSize):
        ui.Window.__init__(self)
        self.handle = grp.CreateBigTextBar(width, height, fontSize)


class BigBoard(ui.Bar):

    SCROLL_WAIT_TIME = 5.0
    TIP_DURATION = 10.0
    FONT_WIDTH    = 18
    FONT_HEIGHT    = 18
    LINE_WIDTH  = 500
    LINE_HEIGHT    = FONT_HEIGHT + 5
    STEP_HEIGHT = LINE_HEIGHT * 2
    LINE_CHANGE_LIMIT_WIDTH = 350

    FRAME_IMAGE_FILE_NAME_LIST = [
        "d:/ymir work/interface/oxevent/frame_0.sub",
        "d:/ymir work/interface/oxevent/frame_1.sub",
        "d:/ymir work/interface/oxevent/frame_2.sub",
    ]

    FRAME_IMAGE_STEP = 256

    FRAME_BASE_X = -20
    FRAME_BASE_Y = -12

    def __init__(self):
        ui.Bar.__init__(self)

        self.AddFlag("not_pick")
        self.tipList = []
        self.curPos = 0
        self.dstPos = 0
        self.nextScrollTime = 0

        self.SetPosition(0, 150)
        self.SetSize(512, 55)
        self.SetColor(grp.GenerateColor(0.0, 0.0, 0.0, 0.5))
        self.SetWindowHorizontalAlignCenter()

        self.__CreateTextBar()
        self.__LoadFrameImages()


    def __LoadFrameImages(self):
        x = self.FRAME_BASE_X
        y = self.FRAME_BASE_Y
        self.imgList = []
        for imgFileName in self.FRAME_IMAGE_FILE_NAME_LIST:
            self.imgList.append(self.__LoadImage(x, y, imgFileName))
            x += self.FRAME_IMAGE_STEP

    def __LoadImage(self, x, y, fileName):
        img = ui.ImageBox()
        img.SetParent(self)
        img.AddFlag("not_pick")
        img.LoadImage(fileName)
        img.SetPosition(x, y)
        img.Show()
        return img

    def __del__(self):
        ui.Bar.__del__(self)

    def __CreateTextBar(self):

        x, y = self.GetGlobalPosition()

        self.textBar = BigTextBar(self.LINE_WIDTH, 300, self.FONT_HEIGHT)
        self.textBar.SetParent(self)
        self.textBar.SetPosition(6, 8)
        self.textBar.SetTextColor(242, 231, 193)
        self.textBar.SetClipRect(0, y+8, wndMgr.GetScreenWidth(), y+8+self.STEP_HEIGHT)
        self.textBar.Show()

    def __CleanOldTip(self):
        curTime = app.GetTime()
        leaveList = []
        for madeTime, text in self.tipList:
            if curTime + self.TIP_DURATION <= madeTime:
                leaveList.append(text)

        self.tipList = leaveList

        if not leaveList:
            self.textBar.ClearBar()
            self.Hide()
            return

        self.__RefreshBoard()

    def __RefreshBoard(self):

        self.textBar.ClearBar()

        if len(self.tipList) == 1:
            checkTime, text = self.tipList[0]
            (text_width, text_height) = self.textBar.GetTextExtent(text)
            self.textBar.TextOut((500-text_width)/2, (self.STEP_HEIGHT-8-text_height)/2, text)

        else:
            index = 0
            for checkTime, text in self.tipList:
                (text_width, text_height) = self.textBar.GetTextExtent(text)
                self.textBar.TextOut((500-text_width)/2, index*self.LINE_HEIGHT, text)
                index += 1

    def SetTip(self, text):

        if not app.IsVisibleNotice():
            return

        curTime = app.GetTime()
        self.__AppendText(curTime, text)
        self.__RefreshBoard()

        self.nextScrollTime = curTime + 1.0

        if not self.IsShow():
            self.curPos = -self.STEP_HEIGHT
            self.dstPos = -self.STEP_HEIGHT
            self.textBar.SetPosition(3, 8 - self.curPos)
            self.Show()

    def __AppendText(self, curTime, text):
        import dbg
        prevPos = 0
        while 1:
            curPos = text.find(" ", prevPos)
            if curPos < 0:
                break

            (text_width, text_height) = self.textBar.GetTextExtent(text[:curPos])
            if text_width > self.LINE_CHANGE_LIMIT_WIDTH:
                self.tipList.append((curTime, text[:prevPos]))
                self.tipList.append((curTime, text[prevPos:]))
                return

            prevPos = curPos + 1

        self.tipList.append((curTime, text))

    def OnUpdate(self):

        if not self.tipList:
            self.Hide()
            return

        if app.GetTime() > self.nextScrollTime:
            self.nextScrollTime = app.GetTime() + self.SCROLL_WAIT_TIME

            self.dstPos = self.curPos + self.STEP_HEIGHT

        if self.dstPos > self.curPos:
            self.curPos += 1
            self.textBar.SetPosition(3, 8 - self.curPos)

            if self.curPos > len(self.tipList)*self.LINE_HEIGHT:
                self.curPos = -self.STEP_HEIGHT
                self.dstPos = -self.STEP_HEIGHT

                self.__CleanOldTip()

if __name__ == "__main__":
    import app
    import wndMgr
    import systemSetting
    import mouseModule
    import grp
    import ui

    #wndMgr.SetOutlineFlag(True)

    app.SetMouseHandler(mouseModule.mouseController)
    app.SetHairColorEnable(True)
    wndMgr.SetMouseHandler(mouseModule.mouseController)
    wndMgr.SetScreenSize(systemSetting.GetWidth(), systemSetting.GetHeight())
    app.Create("METIN2 CLOSED BETA", systemSetting.GetWidth(), systemSetting.GetHeight(), 1)
    mouseModule.mouseController.Create()

    wnd = BigBoard()
    wnd.Show()
    wnd.SetTip("안녕하세요")
    wnd.SetTip("저는 빗자루 입니다")

    app.Loop()
 
tga dosyasının boyutunu değiştiriyorsan ondan olabilir
 
tga dosyasının boyutunu değiştiriyorsan ondan olabilir
Bire bir boyut ve hatta KB da aynı kalıyor TGA da tek yaptığım envanter bölümünde thanos eldiveni simgesini kaldırmak :/

1706020764162.png


ve şuan çok saçma bir şey fark ettim, ETC yi dümdüz açıp hiç bir değişiklik yapmayıp geri kapatınca yine aynı hatayı verdi, TGA değişimi değil o zaman sorun farklı bir şey diycem ama sorun ne o zaman?


syrerr hala aynı dosya yolunda dosyada mevcut

1706021011431.png
 
Eternexus yerine epack32 kullanıp dene
 
Çözüm
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst