t_edit can open kpack-ed files
git-svn-id: svn://kolibrios.org@9485 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
115
programs/bcc32/games/blocks/models/model_b1_scarlet_macaw.bjs
Normal file
115
programs/bcc32/games/blocks/models/model_b1_scarlet_macaw.bjs
Normal file
@@ -0,0 +1,115 @@
|
|||||||
|
// block name, color, step, coord: x,y,z, rotation: x,y,z
|
||||||
|
|
||||||
|
const m1 = 0xff0000; //red
|
||||||
|
const m2 = 0xff; //blue
|
||||||
|
const m3 = 0x808080; //gray
|
||||||
|
const m4 = 0xffff00; //yellow
|
||||||
|
const m5 = 0x080808; //black
|
||||||
|
const m6 = 0xffffff; //white
|
||||||
|
|
||||||
|
model_list=[
|
||||||
|
['b10x10x1', m3, 0,-20, -20, 0, 0,0,0],
|
||||||
|
['b2x3x1', m1, 1, 0, 4, 39, 0,0,90],
|
||||||
|
['b1x1x1', m1, 1, 0, 0, 39, 0,0,0],
|
||||||
|
['b1x1x1', m1, 1, -8, 0, 39, 0,0,0],
|
||||||
|
['b1x3x1', m2, 1, 0, 12, 39, 0,0,90],
|
||||||
|
['b1x4x1', m2, 1, 4, 8, 39, 0,0,0],
|
||||||
|
['b1x4x1', m2, 1,-12, 8, 39, 0,0,0],
|
||||||
|
['b1x4x1', m2, 2,-12, 4, 42, 0,0,0],
|
||||||
|
['b1x4x1', m2, 2, 4, 4, 42, 0,0,0],
|
||||||
|
['b1x4x1', m1, 2, -8, -4, 42, 0,0,0],
|
||||||
|
['b1x4x1', m1, 2, 0, -4, 42, 0,0,0],
|
||||||
|
['b1x3x1', m2, 2, 0, 12, 42, 0,0,90],
|
||||||
|
['b2x4x1', m2, 3,-12, 0, 45, 0,0,0],
|
||||||
|
['b2x4x1', m2, 3, 0, 0, 45, 0,0,0],
|
||||||
|
['b1x2x1', m4, 3, -4, 8, 45, 0,0,0],
|
||||||
|
['b2x3x1', m1, 3, 0, -8, 45, 0,0,90],
|
||||||
|
['b2x3x1', m1, 4, 0,-12, 48, 0,0,90],
|
||||||
|
['b2x4x1', m2, 4, 0, -4, 48, 0,0,0],
|
||||||
|
['b2x4x1', m2, 4,-12, -4, 48, 0,0,0],
|
||||||
|
['b1x3x1', m4, 4, 0, 12, 48, 0,0,90],
|
||||||
|
['b1x3x1', m4, 5, 0, 12, 51, 0,0,90],
|
||||||
|
['b2x2x1', m4, 5,-12, 4, 51, 0,0,0],
|
||||||
|
['b2x2x1', m4, 5, 0, 4, 51, 0,0,0],
|
||||||
|
['b2x3x1', m2, 5,-12, -8, 51, 0,0,0],
|
||||||
|
['b2x3x1', m2, 5, 0, -8, 51, 0,0,0],
|
||||||
|
['b1x3x1', m1, 5, 0,-12, 51, 0,0,90],
|
||||||
|
['b2x3x1', m1, 6, 0,-16, 54, 0,0,90],
|
||||||
|
['b2x3x1', m1, 6, 0, 8, 54, 0,0,90],
|
||||||
|
['b1x2x1', m2, 6,-12,-12, 54, 0,0,0],
|
||||||
|
['b1x2x1', m2, 6, 4,-12, 54, 0,0,0],
|
||||||
|
['b1x4x1', m4, 6,-12, -4, 54, 0,0,0],
|
||||||
|
['b1x4x1', m4, 6, 4, -4, 54, 0,0,0],
|
||||||
|
['b2x3x1', m1, 7, 0,-16, 57, 0,0,90],
|
||||||
|
['b2x3x1', m1, 7, 0, 4, 57, 0,0,90],
|
||||||
|
['b1x1x1', m2, 7,-12,-12, 57, 0,0,0],
|
||||||
|
['b1x1x1', m2, 7, 4,-12, 57, 0,0,0],
|
||||||
|
['b1x4x1', m4, 7,-12, -8, 57, 0,0,0],
|
||||||
|
['b1x4x1', m4, 7, 4, -8, 57, 0,0,0],
|
||||||
|
['b1x2x1', m4, 8,-12,-12, 60, 0,0,0],
|
||||||
|
['b1x2x1', m4, 8, 4,-12, 60, 0,0,0],
|
||||||
|
['b2x3x1', m1, 8, 0,-16, 60, 0,0,90],
|
||||||
|
['b2x3x1', m1, 8,-12, -4, 60, 0,0,0],
|
||||||
|
['b2x3x1', m1, 8, 0, -4, 60, 0,0,0],
|
||||||
|
['b1x3x1', m1, 8, 0, 8, 60, 0,0,90],
|
||||||
|
['b2x3x1', m1, 9, 0,-12, 63, 0,0,90],
|
||||||
|
['b2x3x1', m1, 9, 0, 0, 63, 0,0,90],
|
||||||
|
['b1x4x1', m1, 9,-12,-12, 63, 0,0,0],
|
||||||
|
['b1x4x1', m1, 9, 4,-12, 63, 0,0,0],
|
||||||
|
['b2x3x1', m1, 10,-12, -8, 66, 0,0,0],
|
||||||
|
['b1x3x1', m1, 10, -4, -8, 66, 0,0,0],
|
||||||
|
['b2x3x1', m1, 10, 0, -8, 66, 0,0,0],
|
||||||
|
['b1x3x1', m6, 10, 0,-12, 66, 0,0,90],
|
||||||
|
['b1x3x1', m5, 10, 0,-16, 66, 0,0,90],
|
||||||
|
['b1x3x1', m5, 10, 0,-20, 66, 0,0,90],
|
||||||
|
['b1x1x1', m5, 10, -4,-32, 66, 0,0,0],
|
||||||
|
['b1x1x1', m6, 11, -4,-32, 69, 0,0,0],
|
||||||
|
['b2x3x1', m6, 11, 0,-16, 69, 0,0,90],
|
||||||
|
['b1x3x1', m5, 11, -4,-28, 69, 0,0,0],
|
||||||
|
['b1x1x1', m5, 11, -8,-20, 69, 0,0,0],
|
||||||
|
['b1x1x1', m5, 11, 0,-20, 69, 0,0,0],
|
||||||
|
['b1x3x1', m1, 11, 0, 0, 69, 0,0,90],
|
||||||
|
['b2x3x1', m1, 11, 0, -8, 69, 0,0,90],
|
||||||
|
['b1x3x1', m6, 12, -4,-32, 72, 0,0,0],
|
||||||
|
['b2x3x1', m6, 12, 0,-20, 72, 0,0,90],
|
||||||
|
['b1x3x1', m6, 12, 0,-12, 72, 0,0,90],
|
||||||
|
['b2x3x1', m1, 12, 0, -8, 72, 0,0,90],
|
||||||
|
['b1x3x1', m6, 13, -4,-28, 75, 0,0,0],
|
||||||
|
['b1x3x1', m6, 13, 0,-12, 75, 0,0,90],
|
||||||
|
['c1x1x1', m5, 13, -8,-16, 75, 0,0,0],
|
||||||
|
['c1x1x1', m5, 13, 0,-16, 75, 0,0,0],
|
||||||
|
['b2x3x1', m1, 13, 0, -8, 75, 0,0,90],
|
||||||
|
['b2x3x1', m6, 14, 0,-20, 78, 0,0,90],
|
||||||
|
['b1x1x1', m6, 14, -4,-24, 78, 0,0,0],
|
||||||
|
['b2x3x1', m1, 14, 0,-12, 78, 0,0,90],
|
||||||
|
['b2x3x1', m1, 15, 0,-16, 81, 0,0,90],
|
||||||
|
['b1x3x1', m1, 15, 0,-20, 81, 0,0,90],
|
||||||
|
['b2x2x1', m3, 16, 8, -4, 3, 0,0,0],
|
||||||
|
['b2x2x1', m3, 17, 8, -4, 6, 0,0,0],
|
||||||
|
['b2x2x1', m3, 18, 8, -4, 9, 0,0,0],
|
||||||
|
['b2x2x1', m3, 19, 8, -4, 12, 0,0,0],
|
||||||
|
['b2x2x1', m3, 20, 8, -4, 15, 0,0,0],
|
||||||
|
['b2x2x1', m3, 21, 8, -4, 18, 0,0,0],
|
||||||
|
['b2x2x1', m3, 22, 8, -4, 21, 0,0,0],
|
||||||
|
['b2x2x1', m3, 23, 8, -4, 24, 0,0,0],
|
||||||
|
['b2x2x1', m3, 24, 8, -4, 27, 0,0,0],
|
||||||
|
['b2x2x1', m3, 25, 8, -4, 30, 0,0,0],
|
||||||
|
['b2x8x1', m3, 25, 4, -4, 30, 0,0,90],
|
||||||
|
['b2x8x1', m3, 26, 16, -4, 33, 0,0,90],
|
||||||
|
['c1x1x1', m5, 26, -8, -8, 33, 0,0,0],
|
||||||
|
['c1x1x1', m5, 26, 0, -8, 33, 0,0,0],
|
||||||
|
['b1x3x1', m6, 27, -8, -8, 36, 0,0,0],
|
||||||
|
['b1x3x1', m6, 27, 0, -8, 36, 0,0,0],
|
||||||
|
['b1x1x1', m2, 28, -4, 12, 9, 0,0,90],
|
||||||
|
['b1x1x1', m2, 29, -4, 12, 12, 0,0,90],
|
||||||
|
['b1x2x1', m2, 30, -2, 12, 15, 0,0,90],
|
||||||
|
['b1x2x1', m2, 31, -2, 12, 18, 0,0,90],
|
||||||
|
['b1x2x1', m1, 32, -2, 12, 21, 0,0,90],
|
||||||
|
['b1x3x1', m1, 33, 0, 12, 24, 0,0,90],
|
||||||
|
['b1x3x1', m1, 34, 0, 12, 27, 0,0,90],
|
||||||
|
['b1x1x1', m1, 35, -4, 12, 30, 0,0,0],
|
||||||
|
['b1x1x1', m2, 36, -8, 12, 30, 0,0,0],
|
||||||
|
['b1x1x1', m2, 37, 0, 12, 30, 0,0,0],
|
||||||
|
['b2x3x1', m2, 38, 0, 8, 33, 0,0,90],
|
||||||
|
['b2x3x1', m2, 39, 0, 8, 36, 0,0,90],
|
||||||
|
];
|
@@ -1,8 +1,13 @@
|
|||||||
|
#ifndef __KOS_LIB_H_INCLUDED_
|
||||||
|
#define __KOS_LIB_H_INCLUDED_
|
||||||
|
|
||||||
|
int memcmp(const void *buf1, const void *buf2, long int count);
|
||||||
|
void *memcpy(void *dest, const void *src, unsigned int n);
|
||||||
|
void *memset(void *s, char c, unsigned int n);
|
||||||
|
|
||||||
unsigned int strlen(const char *str);
|
unsigned int strlen(const char *str);
|
||||||
char *strcpy(char *dest, const char *src);
|
char *strcpy(char *dest, const char *src);
|
||||||
void *memcpy(void *dest, const void *src, unsigned int n);
|
char *strncpy(char *dest, const char *src, long int n);
|
||||||
void *memset(void *s, char c, unsigned int n);
|
|
||||||
int strcmp(const char *str1, const char *str2);
|
int strcmp(const char *str1, const char *str2);
|
||||||
char *strchr(const char *str, int ch);
|
char *strchr(const char *str, int ch);
|
||||||
char *strstr(const char *str1, const char *str2);
|
char *strstr(const char *str1, const char *str2);
|
||||||
@@ -12,4 +17,6 @@ const char *DoubleToStr(double x, unsigned short digits = 5, bool crop_0 = false
|
|||||||
double StrToDouble(char *str);
|
double StrToDouble(char *str);
|
||||||
long StrToInt(char *str);
|
long StrToInt(char *str);
|
||||||
|
|
||||||
void MessageBox(char *str);
|
void MessageBox(char *str);
|
||||||
|
|
||||||
|
#endif
|
@@ -142,6 +142,41 @@ proc @strcpy$qpcpxc uses esi edi
|
|||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
|
proc @strncpy$qpcpxcl uses esi edi
|
||||||
|
cld
|
||||||
|
mov edi,[esp+16]
|
||||||
|
mov ecx,[esp+20]
|
||||||
|
jecxz @f
|
||||||
|
mov esi,edi
|
||||||
|
xor al,al
|
||||||
|
repnz scasb
|
||||||
|
not ecx
|
||||||
|
mov edi,[esp+12]
|
||||||
|
mov edx,ecx
|
||||||
|
mov eax,edi
|
||||||
|
shr ecx,2
|
||||||
|
rep movsd
|
||||||
|
mov ecx,edx
|
||||||
|
and ecx,3
|
||||||
|
rep movsb
|
||||||
|
@@:
|
||||||
|
ret
|
||||||
|
endp
|
||||||
|
|
||||||
|
align 4
|
||||||
|
proc @memcmp$qpxvt1l uses esi edi
|
||||||
|
cld
|
||||||
|
mov ecx,[esp+20]
|
||||||
|
mov edi,[esp+16]
|
||||||
|
mov esi,[esp+12]
|
||||||
|
repe cmpsb
|
||||||
|
movzx eax,byte[esi-1]
|
||||||
|
movzx edx,byte[edi-1]
|
||||||
|
sub eax,edx
|
||||||
|
ret
|
||||||
|
endp
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
proc @memcpy$qpvpxvui uses esi edi
|
proc @memcpy$qpvpxvui uses esi edi
|
||||||
cld
|
cld
|
||||||
@@ -242,11 +277,11 @@ align 4
|
|||||||
pop esi
|
pop esi
|
||||||
inc esi
|
inc esi
|
||||||
cmp byte[edi-1],0
|
cmp byte[edi-1],0
|
||||||
jne .cycle
|
jne .cycle
|
||||||
|
|
||||||
lea eax,[esi-1]
|
lea eax,[esi-1]
|
||||||
.not_f:
|
.not_f:
|
||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
|
@@ -22,6 +22,8 @@ include '../../../../KOSfuncs.inc'
|
|||||||
include 'box_lib.mac' ;macro which should make life easier :)
|
include 'box_lib.mac' ;macro which should make life easier :)
|
||||||
;include '../../../../debug.inc'
|
;include '../../../../debug.inc'
|
||||||
include 'keys.inc'
|
include 'keys.inc'
|
||||||
|
include '../../../../system/skincfg/trunk/kglobals.inc'
|
||||||
|
include '../../../../system/skincfg/trunk/unpacker.inc'
|
||||||
|
|
||||||
;-----------------------------------------------------------------------------
|
;-----------------------------------------------------------------------------
|
||||||
mem.alloc dd ? ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
mem.alloc dd ? ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
@@ -170,6 +172,10 @@ proc draw_edge uses eax ebx ecx edx edi esi, box_l:dword, box_t:dword, box_w:dwo
|
|||||||
endp
|
endp
|
||||||
|
|
||||||
|
|
||||||
|
;<3B><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> KPCK
|
||||||
|
IncludeIGlobals
|
||||||
|
IncludeUGlobals
|
||||||
|
|
||||||
align 16
|
align 16
|
||||||
EXPORTS:
|
EXPORTS:
|
||||||
|
|
||||||
|
@@ -1263,20 +1263,12 @@ proc ted_memory_increase
|
|||||||
cmp ted_increase_size,0
|
cmp ted_increase_size,0
|
||||||
je @f
|
je @f
|
||||||
push eax ebx ecx
|
push eax ebx ecx
|
||||||
mov ecx,ted_increase_size
|
|
||||||
add ecx,ted_max_chars
|
|
||||||
mov ted_max_chars,ecx
|
|
||||||
imul ecx,sizeof.symbol
|
|
||||||
invoke mem.realloc, ted_tex,ecx
|
|
||||||
mov ebx,ted_tex
|
mov ebx,ted_tex
|
||||||
mov ted_tex,eax
|
mov ecx,ted_max_chars
|
||||||
mov ted_tex_1,eax
|
call ted_mem_resize.no_2
|
||||||
add ted_tex_1,sizeof.symbol
|
sub edx,ebx
|
||||||
sub edx,ebx
|
add edx,ted_tex
|
||||||
add edx,eax
|
mov ted_ptr_free_symb,edx
|
||||||
mov ted_ptr_free_symb,edx
|
|
||||||
add eax,ecx
|
|
||||||
mov ted_tex_end,eax
|
|
||||||
pop ecx ebx eax
|
pop ecx ebx eax
|
||||||
@@:
|
@@:
|
||||||
ret
|
ret
|
||||||
@@ -2546,11 +2538,39 @@ proc ted_find_help_id uses ebx ecx, end_pos:dword
|
|||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
;description:
|
||||||
|
; <20><><EFBFBD><EFBFBD><EFBFBD>塞 ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> ⥪<><E2A5AA><EFBFBD> (<28><>⠭<EFBFBD><E2A0AD><EFBFBD><EFBFBD> ted_ptr_free_symb <20><> 1 ᨬ<><E1A8AC><EFBFBD>)
|
||||||
|
;input:
|
||||||
|
; ecx - <20><> ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD> <20> 䠩<><E4A0A9>
|
||||||
|
; edi - pointer to tedit struct
|
||||||
|
;output:
|
||||||
|
; eax, ecx - ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
align 16
|
||||||
|
ted_mem_resize:
|
||||||
|
add ecx,2 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> ⥪<><E2A5AA><EFBFBD> + <20><>㦥<EFBFBD><E3A6A5><EFBFBD><EFBFBD> <20><>砫<EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᨬ<><E1A8AC><EFBFBD><EFBFBD>
|
||||||
|
.no_2:
|
||||||
|
add ecx,ted_increase_size ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> ।<><E0A5A4><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD> 䠩<><E4A0A9>
|
||||||
|
mov ted_max_chars,ecx
|
||||||
|
imul ecx,sizeof.symbol
|
||||||
|
invoke mem.realloc, ted_tex,ecx
|
||||||
|
mov ted_tex,eax
|
||||||
|
mov ted_tex_1,eax
|
||||||
|
add ted_tex_1,sizeof.symbol
|
||||||
|
add eax,ecx
|
||||||
|
mov ted_tex_end,eax
|
||||||
|
mov ecx,ted_tex_1
|
||||||
|
add ecx,sizeof.symbol
|
||||||
|
mov ted_ptr_free_symb,ecx
|
||||||
|
ret
|
||||||
|
|
||||||
;output:
|
;output:
|
||||||
; eax = <20><><EFBFBD> <20>訡<EFBFBD><E8A8A1>
|
; eax = <20><><EFBFBD> <20>訡<EFBFBD><E8A8A1>
|
||||||
; ebx = <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ <20><><EFBFBD><EFBFBD><EFBFBD>⠭<EFBFBD><E2A0AD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
; ebx = <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ <20><><EFBFBD><EFBFBD><EFBFBD>⠭<EFBFBD><E2A0AD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||||
align 16
|
align 16
|
||||||
proc ted_open_file uses ecx edx edi, edit:dword, file:dword, f_name:dword ;<3B>㭪<EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<><E4A0A9>
|
proc ted_open_file uses ecx edx edi esi, edit:dword, file:dword, f_name:dword ;<3B>㭪<EFBFBD><E3ADAA><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<><E4A0A9>
|
||||||
|
locals
|
||||||
|
unpac_mem dd ?
|
||||||
|
endl
|
||||||
mov edi,[edit]
|
mov edi,[edit]
|
||||||
|
|
||||||
; *** <20><EFBFBD><E0AEA2>塞 ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20> <20><> 墠⠥<E5A2A0> <20><> 㢥<><E3A2A5>稢<EFBFBD><E7A8A2><EFBFBD> ***
|
; *** <20><EFBFBD><E0AEA2>塞 ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20> <20><> 墠⠥<E5A2A0> <20><> 㢥<><E3A2A5>稢<EFBFBD><E7A8A2><EFBFBD> ***
|
||||||
@@ -2580,21 +2600,8 @@ align 4
|
|||||||
mov edx,[edx+32] ;+32 = +0x20: qword: ࠧ<><E0A0A7><EFBFBD> 䠩<><E4A0A9> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
mov edx,[edx+32] ;+32 = +0x20: qword: ࠧ<><E0A0A7><EFBFBD> 䠩<><E4A0A9> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
cmp edx,ecx
|
cmp edx,ecx
|
||||||
jl @f
|
jl @f
|
||||||
;㢥<><E3A2A5>稢<EFBFBD><E7A8A2><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><> 墠⨫<E5A2A0>
|
mov ecx,edx
|
||||||
mov ecx,edx ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>室<EFBFBD><E5AEA4><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<><E4A0A9>
|
call ted_mem_resize
|
||||||
add ecx,2 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><>㦥<EFBFBD><E3A6A5><EFBFBD><EFBFBD> <20><>砫쭮<E7A0AB><ECADAE> <20> <20><><EFBFBD><EFBFBD>筮<EFBFBD><E7ADAE> ᨬ<><E1A8AC><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
add ecx,ted_increase_size ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> ।<><E0A5A4><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD> 䠩<><E4A0A9>
|
|
||||||
mov ted_max_chars,ecx
|
|
||||||
imul ecx,sizeof.symbol
|
|
||||||
invoke mem.realloc, ted_tex,ecx
|
|
||||||
mov ted_tex,eax
|
|
||||||
mov ted_tex_1,eax
|
|
||||||
add ted_tex_1,sizeof.symbol
|
|
||||||
add eax,ecx
|
|
||||||
mov ted_tex_end,eax
|
|
||||||
mov ecx,ted_tex_1
|
|
||||||
add ecx,sizeof.symbol
|
|
||||||
mov ted_ptr_free_symb,ecx
|
|
||||||
@@:
|
@@:
|
||||||
|
|
||||||
; *** <20>㥬 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<> ***
|
; *** <20>㥬 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<> ***
|
||||||
@@ -2617,6 +2624,32 @@ align 4
|
|||||||
cmp ebx,-1
|
cmp ebx,-1
|
||||||
je .ret_f
|
je .ret_f
|
||||||
;if open file
|
;if open file
|
||||||
|
push eax
|
||||||
|
mov eax,ted_tex
|
||||||
|
cmp dword[eax],'KPCK'
|
||||||
|
jne .end_unpack
|
||||||
|
;<3B>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><>ᯠ<EFBFBD><E1AFA0><EFBFBD><EFBFBD><EFBFBD> 䠩<><E4A0A9>
|
||||||
|
invoke mem.alloc,[eax+4]
|
||||||
|
mov [unpac_mem],eax
|
||||||
|
stdcall unpack,ted_tex,[unpac_mem]
|
||||||
|
mov ecx,ted_max_chars
|
||||||
|
sub ecx,2 ;ecx = <20><><EFBFBD>ᨬ<EFBFBD><E1A8AC>쭮<EFBFBD> <20><> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>뫠 <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
mov eax,ted_tex
|
||||||
|
mov ebx,[eax+4]
|
||||||
|
cmp ebx,ecx
|
||||||
|
jl @f ;<3B> <20><><EFBFBD> <20><>ᯠ<EFBFBD><E1AFA0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> 䠩<><E4A0A9> <20><> 墠⠥<E5A2A0> <20>뤥<EFBFBD><EBA4A5><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
mov ecx,ebx
|
||||||
|
call ted_mem_resize
|
||||||
|
@@:
|
||||||
|
mov edi,ted_tex
|
||||||
|
mov esi,[unpac_mem]
|
||||||
|
mov ecx,ebx
|
||||||
|
cld
|
||||||
|
rep movsb
|
||||||
|
mov edi,[edit]
|
||||||
|
invoke mem.free,[unpac_mem]
|
||||||
|
.end_unpack:
|
||||||
|
pop eax
|
||||||
call ted_on_open_file
|
call ted_on_open_file
|
||||||
.ret_f:
|
.ret_f:
|
||||||
ret
|
ret
|
||||||
|
Reference in New Issue
Block a user