Add PF map

This commit is contained in:
Miloslav Ciz 2025-06-06 15:56:42 +02:00
parent cbc67ae388
commit 94773472ba
7 changed files with 653 additions and 596 deletions

View file

@ -2,7 +2,7 @@ fuck issue trackers :D
=========== GENERAL ==============
- set target times for maps
- check again the target times for maps
- frontends:
- auto test frontend, with no I/O, that will just internally run a series of
inputs and check if the output is as expected

1134
assets.h

File diff suppressed because it is too large Load diff

View file

@ -12,7 +12,7 @@
const char *part1 = // big maps
// MAP 1:
"MLC1;4321 0 "
"MLC1;487 0 "
":*C2mL:!x6G:+L2H:+D38" // start, finish, CPs
// pillars:
":nw0w2L:f151:m151"
@ -80,7 +80,7 @@ const char *part1 = // big maps
":'w5G:f311"
// MAP2:
"#MLC2;4321 1"
"#MLC2;809 1"
// start platform:
":-v8k:f213:'v8n:f211:Iv0m2|:f181:.v2l2I:.v4l2I:|x8kL-:f114:xv0k:m3a4"
// house:
@ -138,7 +138,7 @@ const char *part1 = // big maps
":*v9h:+v8r:+j2K:+F3r:+l3m:!C1p"
// MAP 3:
"#MLC3;4321 2"
"#MLC3;560 2"
":*qrt:!o1y:!o1z:+Wsz"
// start box:
":=mqr:f96d:xnrs:f74b:^mvrJ:f11d:^uvrL:f11d"
@ -227,7 +227,7 @@ const char *part1 = // big maps
":\\6031I|:\\6021:=5021:n5031I:A5011"
// MAP 4:
"#MLC4;4321 1"
"#MLC4;821 1"
// overall structure:
":=000:f53a:x111:f424:x116:f323"
":)115L:)315J:)125L-:)325J-:x215:f121" // start door
@ -300,7 +300,7 @@ const char *part1 = // big maps
":!612:f212:+W1V:+21Q:+D13:*217I"
// MAP 5:
"#MLC5;4321 0"
"#MLC5;954 0"
":*I8wJ"
":vq1t1J:m111:vs1r1J:m111"
":vI4g3J:AI3g1L:AI2g1L:m131"
@ -390,8 +390,7 @@ const char *part2 = // small maps
- 1536 (0x600) triangles */
// TINY MAP 1:
"#MLCtiny1;4321 0 :*G1b:+n9H:!I1H"
"#MLCtiny1;330 0 :*G1b:+n9H:!I1H"
// start
":=E0b:f61i"
":^D1bJ:f11i:^J1bL:f11i"
@ -410,7 +409,7 @@ const char *part2 = // small maps
":=y0F1:fb15:^y0F1:fb11:^y0J1I:fb11" // end
// TINY MAP 2:
"#MLCtiny2;4321 1"
"#MLCtiny2;175 1"
":*w@v-:!v0u:f313"
// tunnel:
":=wct:f1K1:=wcx:f1K1:=ucv:f1K1:=ycv:f1K1"
@ -424,8 +423,7 @@ const char *part2 = // small maps
":f113:~xnw3-:~xow3:~weu3-:~wfu3:\\vcv2L|"
// TINY MAP 3:
"#MLCtiny3;4321 2"
"#MLCtiny3;381 2"
":*w1d:!w1d:+w1A"
// big bumps:
":vw1hJ:m111"
@ -450,8 +448,7 @@ const char *part2 = // small maps
":~y1i1:~w1j3:~x1l:~x1p3:~u1q2:~w1s2:~x1v:~v1w1:~x1x3"
// TINY MAP 4:
"#MLCtiny4;4321 2"
"#MLCtiny4;172 2"
":*M1AJ"
// box:
":=C2w:faca"
@ -477,8 +474,7 @@ const char *part2 = // small maps
":!Hgx:!Hgw:!HgE:!HgF"
// TINY MAP 5:
"#MLCtiny5;4321 1"
"#MLCtiny5;296 1"
":*x1q:+u1F:!x1o"
// platform:
":=j0o:fg1j"

74
data
View file

@ -1,5 +1,4 @@
#MLCbonus1;4321 0
#MLCbonus1;457 0
ovaerall structure
:=h0h :fl1v :fm51
@ -53,7 +52,7 @@ details
:.B1w1J :f112
:=h0h2 :fl12 :f11o :=B0i2 :f11m :=m0n2 :fb12
:*n1EI :!n1F :+p1r :+y1l :+y3I :+k1l
#MLCbonus2;4321 1
#MLCbonus2;1309 1
:*B1lJ
:^y0oI :f611
@ -89,7 +88,7 @@ details
:~vcd2 :f212
:uzba| :uBba :AybcJ :ABbeL
:'yap :^yaqI- :+Aca :!ybq :nw0k|
#Mdevtest;4321 2
#Mdevtest;12345 2
:*313
:\a13L :m111
:=000 :fE15 :f41& :f3c1 :f771
@ -131,15 +130,78 @@ details
:]h0gI :}g0gI :|g1gI :f211 :|g3gI- :f211 :]g4gI- :f211 :;g0fJ :f251
:-e5g :f413 :|g0hL
:+018 :f213 :!v05 :f311
#MLCpressforw1;594 0
:*cac
press forward map, blocks go in the direction that car travels
:=b9b :f31n
:>b9b :f31c
:^b9b-J :f11n :)bab1L :f11c
:^d9b-L :f11n :)dab1J :f11c
:ybax :f311
:~cai :~cap :,cas|2
:!cag
:ycbBJ :ydbBL
:)abD3 :f811
:^abEI- :f811
:(acE3 :f811
:=n0z :f1h4 :f714
:An1z :f1g1
:>aaA :fg13
:=aaA3 :fb13
:)pbAJ :f113
:=qaA2 :f173
:=o1A2L :f391
:)pgAJ- :f113
:)ogAL- :f113
:+oaB
:)nbAI- :)nbB-
:-nhA1 :f413
:|o2BL :f112 :]o1BL :f112
:~r1B1 :\q1CJ2 :f191
:Vt1B2J :f112
air path
:!AgB :!BiB :!CjB :!DkB :!EkB :!FkB :!GkB :!HjB :!IiB :!JgB :!KeB :!LcB :!M9B
:vAcCJ :m111
:;N0CJ :f681
:>N0t1 :f61a
:oN0t :f611
:(O3C :f211 :=O1C :f221 :|O2B :f211 :]O1B :f211
:~R3p-
:~R4p
:+S7n
:=X021
:!X12
#RLC1 00'15'147;00LC1;8bd6e314 0000459:0001:00c9:0041:0039:0041:01c9:0071:0039:0051:0059:0011:0029:0051:0189:0061:0055:0021:0039:0161:0069:0051:0089:0041:0039:0041:0243:0041:02b5:0021:0123:0031:0073:0051:0023:0101:0083:0031:00a3:0031:00a9:0031:0569:0011:0059:0021:00d3:0021
#RLC2 00'24'354;00LC2;3c5ba5dd 0000738:0001:00d3:0051:01a9:0041:0115:0031:01e9:0041:0049:0041:0049:0021:0069:0051:0039:0021:00c3:0041:00b9:0021:0073:0031:0023:0031:0053:0091:0073:00a1:0013:0081:00a3:0021:0369:0011:02a5:0031:0053:0031:0033:00e1:00a3:00b1:0113:0021:00c9:0031:0059:0031:00e9:0061:0069:0091:0213:0101:0073:0031:00c9:0011:0069:0061:0053:0041:0113:0077:0076:0052:0123:0131:0323:0041:03a9:0031
#RLC3 00'16'566;00LC3;cb1b38e6 0000502:0001:00b3:0031:00e9:0031:0104:0125:0031:0153:0071:0063:0031:0053:0021:0043:0051:0023:0031:0053:0071:0083:0041:0053:0031:0143:0071:0033:0061:00d9:01c1:0039:0041:0033:0021:0033:0051:0053:0061:0043:0021:00b3:0061:00c3:0081:0053:0021:00d3:0041:0133:00c1:0039:0091:0119:0031:0133:0031:01b5:0041
#RLC4 00'25'443;00LC4;bcf27d79 0000771:0001:00d9:0071:0029:00c1:00c9:0031:0329:0021:00f3:0031:00a9:0011:00c9:0011:00d5:0031:00a9:0031:00e3:0041:00d3:0031:0039:0091:0029:0061:0059:0031:0069:0061:0029:0041:01c3:0021:0089:0021:0253:0021:0183:0011:0159:0091:0069:0031:0079:0051:00b2:0071:0079:0061:0093:0051:0183:0041:00b9:0041:00d9:0071:0073:0091:0119:0041:0053:0051:0039:0071:0039:0021:0039:0021:0053:0051:0079:0081:0049:0071:0083:0021:0059:0031:00c3:0031:00b9:0021:0039:0031:02a9:0021:0063:0041:0123:0021:0073:0021
#RLC5 00'25'971;00LC5;90f26004 0000787:0001:0023:0071:0063:0031:0155:0031:0139:0031:01d9:0021:0179:0031:0064:006c:0038:0029:0171:0063:0091:0033:0061:00e9:0041:0029:0031:0093:0081:0079:0091:00a9:0051:0019:0061:0039:0031:0099:0031:0029:0041:0089:0041:0029:0031:0049:0031:0019:0071:0029:0031:0193:0031:00a3:0021:00d3:0051:0063:0021:0139:0068:001c:0070:0028:0059:00b1:0033:00d1:0043:0041:0043:0051:0319:00d1:0043:0051:0189:0061:0029:0031:0099:0031:00b5:0051:00c9:0051:0039:0051:0049:0061:0039:0041:0169:0051:0105:0031:01f3:0031:0053:0012:0076:0062:0043:0101:00b9:0021
#RLCtiny1 00'09'900;00LCtiny1;ae1ab677 0000300:0001:0179:0031:0299:0021:0129:0075:0031:0029:0031:0039:0041:0049:0021:0079:0051:00f3:0041:0033:0021:0053:00b5:0017:0033:0151:0069:0051:0033:0071:0033:0031:0115:0017:0015:0021:0073:0041:0063:0031:0053:0021:0063:0051:0099:0031:0073:0031
#RLCtiny2 00'05'181;00LCtiny2;833ee4b2 0000157:0011:0320:0034:00a0:00d4:00f0
#RLCtiny2 00'04'719;00LCtiny2;833ee4b2 0000143:0006:040c:00b8:0330
#RLCtiny3 00'11'880;00LCtiny3;df0bd8ce 0000360:0001:00c3:0031:00d3:0031:00e9:0031:00e9:0041:0069:0021:0059:0021:00c3:0041:0233:0041:0159:0251:0113:0031:01a3:0031:0143:0021:00a9:0021:00d3:0041:0253:0031:00a3:0041
#RLCtiny4 00'05'280;00LCtiny4;f999f0ec 0000160:0003:01d1:0019:01f1:0119:0061:0109:0041:0209:0041
#RLCtiny5 00'08'811;00LCtiny5;5c14d8b6 0000267:0001:00f9:0041:0139:00b1:0109:0041:0049:0021:0103:0151:0083:0061:0069:0081:0093:0031:0083:00d1:0083:0031:0143:0021:0175:0021:0109:0031
#RLCbonus1 00'13'629;00LCbonus1;999b1acd 0000413:0001:00d9:0051:0113:0031:0069:0021:00a9:0031:0049:0041:0039:0051:0043:0121:0053:0061:0083:0021:0083:0041:0079:01b1:0059:0041:0049:0021:00e9:0031:0063:0041:0169:00c1:03e9:0038:0020:0081:0119:00b1:00c9:0041:0079:0041:0039:0051:0039:0058:0179:0031
#RLCbonus2 00'26'103;00LCbonus2;288d28fe 0000791:0001:0163:0101:0053:0021:00c3:0071:0063:0031:0059:00b8:0050:0034:0016:00f4:003c:00a4:00a6:0044:0056:0024:00a6:0112:0020:0029:0071:00d9:0031:0053:0091:0113:0061:00b5:0049:0101:00a3:00c2:0083:0101:0029:0051:0183:0041:0063:0041:00c3:0041:0119:0051:0019:0041:0055:0049:0018:0099:0031:0052:0023:0022:0023:0052:0073:0041:0070:0032:0046:00e4:0010:0038:0069:00a8:0139:0078:0079:00ac:0014:006c:0078:0010:0061:0079:00a1:0063:0031:0133:0031:0030:0058:002c:0018:0190:0022:0026:0030:0062:0010:0028:0029:0121:0043:0062:0020:0042:0053:00b1:0175:004c:0018:0080:0061:0033:0031:0022:0093:0011:0020:0018:0069

View file

@ -45,14 +45,6 @@
#define LCR_EFFECTIVE_RESOLUTION_Y \
(LCR_SETTING_RESOLUTION_Y / LCR_SETTING_RESOLUTION_SUBDIVIDE)
#define LCR_MAP_SIZE_BLOCKS 64
/** Physics FPS, i.e. the number of physics ticks per second. */
#define LCR_RACING_FPS 30
#define LCR_RACING_TICK_MS \
(100000 / (LCR_RACING_FPS * LCR_SETTING_TIME_MULTIPLIER))
#if LCR_SETTING_332_COLOR
#define LCR_CONVERT_COLOR(c) \
(((c & 0xe000) >> 8) | ((c & 0x0700) >> 6) | ((c & 0x001f) >> 3))

2
map.h
View file

@ -63,6 +63,8 @@
#undef LCR_MODULE_NAME
#endif
#define LCR_MAP_SIZE_BLOCKS 64
#define LCR_MODULE_NAME "map"
#define LCR_MAP_NAME_MAX_LEN 15 /**< Maximum map name length (without

View file

@ -52,6 +52,11 @@
typedef int32_t LCR_GameUnit; ///< abstract game unit
#define LCR_RACING_FPS 30 /**< Physics FPS, i.e. the number of
physics ticks per second. */
#define LCR_RACING_TICK_MS \
(100000 / (LCR_RACING_FPS * LCR_SETTING_TIME_MULTIPLIER))
#define LCR_RACING_VERSION1 '0' ///< first part of physics eng. version
#define LCR_RACING_VERSION2 '0' ///< second part of physics eng. version