Staredit Network > Forums > SC1 Mapping Tools > Topic: SC-REPL, text-UI based UMS map debugging framework
SC-REPL, text-UI based UMS map debugging framework
May 28 2020, 1:37 am
By: KlaSsicaL  

May 28 2020, 1:37 am KlaSsicaL Post #1



# Features
  • EUD-based (screpl is a euddraft plugin)
  • provides text UI application framework
  • some plugins that I wrote, to support map making
  • provides bridge to communicate

# Links
screpl github
screpl plugin template github
documentation for some classes and functions doc



The first introducer of EUD based grp 2014.02

Stuffs I made on 1.16.1
ReadStruct shows CUnit array during the game online
mapstat prints count of triggers on directory
SuperQuitter protects against un-quittable UMS maps

----
SC-REPL chat-based TUI framework

May 28 2020, 1:47 am KlaSsicaL Post #2



boundeditor plugin tutorial

Enables to make 'bound' easily (about 7 minutes)

Tutorial 1. Make skeleton map


Tutorial 2. Install SC-REPL and apply SC-REPL on skeleton map


Tutorial 3. Create bound and test it
(for SC-REPL version 1.1.1 use 'eudturbo()' instead of 'delay(1)')


Tutorial 3-support. Create bound more complicated


Tutorial 4. Extract triggers for SCMD through bridge


Tutorial 5. Complete the map


I attached boundtest.scx that is SC-REPL applied map. (a map used on tutorial 3)

Attachments:
boundtest.scx
Hits: 0 Size: 576.87kb



The first introducer of EUD based grp 2014.02

Stuffs I made on 1.16.1
ReadStruct shows CUnit array during the game online
mapstat prints count of triggers on directory
SuperQuitter protects against un-quittable UMS maps

----
SC-REPL chat-based TUI framework

May 28 2020, 1:53 am KlaSsicaL Post #3



Variable plugin and String plugin

I applied those plugins on open-sourced map.

Variable plugin supports live inspect to minerals/gas or your death variables
String plugin supports in-game string editing

please turn on subtitles



Post has been edited 1 time(s), last time on May 28 2020, 2:17 am by KlaSsicaL.



The first introducer of EUD based grp 2014.02

Stuffs I made on 1.16.1
ReadStruct shows CUnit array during the game online
mapstat prints count of triggers on directory
SuperQuitter protects against un-quittable UMS maps

----
SC-REPL chat-based TUI framework

May 28 2020, 4:51 am Butch Post #4

PROFESSIONAL MAP MAKER

wow this is pretty amazing. Nice work. Wish we had this like 10 years ago LMAO



None.

May 28 2020, 6:59 am KlaSsicaL Post #5



CUnit plugin

CUnit plugin is the plugin that is the most recently developed.

It provides CUnit information

It follows format: "[Pointer] [index]: [Player] [UnitName]"





The first introducer of EUD based grp 2014.02

Stuffs I made on 1.16.1
ReadStruct shows CUnit array during the game online
mapstat prints count of triggers on directory
SuperQuitter protects against un-quittable UMS maps

----
SC-REPL chat-based TUI framework

May 28 2020, 8:27 am Oh_Man Post #6

Find Me On Discord (Brood War UMS Community & Staredit Network)

Wow, that is impressive.




Jun 1 2020, 2:53 pm KlaSsicaL Post #7



Display plugin

Computes the largest number of characters on a single line.
It gives hint for the size of text characters in SC:Remastered

Currently this plugin is not on release 1.1.1. next release may provide the plugin



Algorithm to compute the number
x <- 1
loop
read 0x640B58
print a given character X times
if 0x640B58 varies as 1, X<-X+1 (it means the displayed on a single line)
else: return X-1 (it means it was displayed across on two lines)
end loop

map attached
REPL command - display() makes the things on the video above.
REPL command - charreport() gives SC-REPL bridge client the content of report for simple characers and corresponding values

result
Twice for the screen with width 640, (it differs on little bit of change)
Once for the screen with width 852 (maximum)

640
Code
char     1st     2nd
!     205     205
"     158     157
#     80     80
$     80     80
%     62     62
&     70     70
'     312     311
(     178     177
)     178     177
*     80     80
+     80     80
,     244     244
-     95     95
.     248     247
/     76     76
0     80     80
1     80     80
2     80     80
3     80     80
4     80     80
5     80     80
6     80     80
7     80     80
8     80     80
9     80     80
:     248     247
;     271     270
<     98     98
=     80     80
>     98     98
?     94     94
@     78     78
A     81     80
B     79     79
C     80     80
D     74     74
E     94     93
F     101     100
G     77     77
H     74     73
I     245     245
J     98     98
K     81     81
L     101     101
M     57     57
N     70     70
O     74     74
P     83     83
Q     73     72
R     79     79
S     85     85
T     95     95
U     76     76
V     86     86
W     49     49
X     84     84
Y     87     87
Z     87     86
[     178     177
\     76     76
]     178     177
^     98     98
_     98     98
`     98     98
a     98     98
b     96     96
c     101     101
d     96     96
e     98     98
f     183     183
g     96     96
h     95     95
i     263     262
j     265     265
k     114     114
l     263     262
m     60     60
n     96     96
o     97     97
p     96     96
q     97     96
r     123     123
s     104     104
t     151     151
u     98     98
v     122     122
w     73     73
x     122     122
y     127     126
z     122     122
{     129     129
|     98     98
}     129     129
~     74     73
가     57     57

852 with sorted
Code
char     count
'     >400
;     363
j     356
i     352
l     352
.     332
:     332
I     329
,     327
!     275
f     246
(     238
)     238
[     238
]     238
"     211
t     203
{     173
}     173
y     170
r     165
v     164
z     164
x     163
k     154
s     139
L     136
c     136
F     135
<     132
>     132
J     132
^     132
_     132
`     132
a     132
u     132
|     132
e     131
o     130
q     130
b     129
d     129
g     129
n     129
p     129
-     128
T     128
h     128
?     127
E     126
Y     117
Z     116
V     115
S     114
X     113
P     112
K     109
A     108
C     108
#     107
$     107
*     107
+     107
0     107
1     107
2     107
3     107
4     107
5     107
6     107
7     107
8     107
9     107
=     107
B     107
R     106
@     105
G     104
/     102
U     102
\     102
D     100
O     100
H     99
~     99
Q     98
w     98
N     95
&     94
%     84
m     81
M     77
가     77 // Korean character
W     66

note
space character(ascii 32, ' ') may short bigger than '('
"(" -> 238
"( " -> 117
117 * 2 ≒ 238

Post has been edited 2 time(s), last time on Jun 1 2020, 10:02 pm by KlaSsicaL.



The first introducer of EUD based grp 2014.02

Stuffs I made on 1.16.1
ReadStruct shows CUnit array during the game online
mapstat prints count of triggers on directory
SuperQuitter protects against un-quittable UMS maps

----
SC-REPL chat-based TUI framework

Jun 8 2020, 12:04 am KlaSsicaL Post #8



SC-REPL 1.1.4 release

Release: https://github.com/mighty1231/screpl/releases
Release note: https://github.com/mighty1231/screpl/blob/master/RELEASE.md

trigger plugin

It provides in-game trigger modification with given address of trigger
Additionally it provides "condition-checking" feature.

condition-checking feature
  • By commenting "screpl-condcheck" on normal TRIG trigger, you can check all the conditions in the trigger, at every tick
  • It checks all the conditions right before the point that the trigger should be executed.
  • It will not bother the execution of the trigger
  • You can condition-check for multiple triggers
  • Modifying trigger is not applied to other player in the network. It causes desync
  • Not only it checks whether the condition met or not, it measurues the exact amount for comparison conditions

List of comparison conditions
Code
CountdownTimer
Command
Bring
Accumulate
Kills
ElapsedTime
Opponents
Deaths
Score


I attached the map file used in capture following youtube video.





Attachments:
trigger.zip
Hits: 0 Size: 839.66kb

Post has been edited 1 time(s), last time on Jun 17 2020, 9:34 pm by KlaSsicaL.



The first introducer of EUD based grp 2014.02

Stuffs I made on 1.16.1
ReadStruct shows CUnit array during the game online
mapstat prints count of triggers on directory
SuperQuitter protects against un-quittable UMS maps

----
SC-REPL chat-based TUI framework

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[07:33 pm]
NudeRaider -- :wob: around the clock
[06:20 pm]
Wing Zero -- :wob:
[05:14 pm]
jjf28 -- :wob:
[01:15 pm]
MTiger156 -- :wob: Rename it to Wob Box :wob:
[06:27 am]
UndeadStar -- :wob:
[04:18 am]
Ultraviolet -- :wob:
[01:55 am]
Vrael -- :wob:
[12:40 am]
Christien Chapman -- Lol
[12:40 am]
Christien Chapman -- Cm on I'm talking to you cmon
[12:40 am]
Christien Chapman -- This is the box where we shout it all out
Please log in to shout.


Members Online: ymebageti, Roy