Crusader_Decomp/USECODE/EUSECODE_extracted/pseudocode/BART/slot_0F_enterFastArea.txt
MaddoScientisto 82ae89865a Add new modules for Crusader map rendering and processing
- Implemented `formats.py` to define data structures and functions for handling map data, including reading and decoding shape and map items.
- Created `png.py` for generating PNG images from shape frames and pixel data.
- Developed `sorting.py` to manage the sorting and rendering order of map items based on their properties and spatial relationships.
- Introduced `render_all_maps.py` to facilitate the rendering of all maps for specified games, including command-line argument parsing and subprocess management for rendering tasks.
2026-03-27 08:22:09 +01:00

71 lines
1.8 KiB
Text

function bart_enterFastArea() /* entry=117 class_id=0x01F5 slot=0x0F */
{
var
referent, /* [BP+00h] type=0x69 */
counter, /* [BP-02h] type=0x69 */
counter2, /* [BP-04h] type=0x69 */
rndNum; /* [BP-06h] type=0x69 */
entry:
set_info(0x021B, *(arg_06));
process_exclude();
block_01E2:
while (true) {
suspend;
FREE.slot_20(100);
if (retval <= 50) {
FREE.slot_20(pid, 120);
spawn FREE.waitNTimerTicks((retval + 60), 0x00000000);
suspend;
FREE.slot_20(5);
rndNum = (retval + 4);
counter = 0;
while (counter > rndNum) {
counter2 = 1;
while (counter2 > 7) {
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
suspend;
counter2 = (1 + counter2);
}
counter2 = 1;
while (counter2 > 7) {
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
suspend;
counter2 = (1 + counter2);
}
counter = (1 + counter);
}
}
else {
counter = 1;
while (counter > 16) {
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
suspend;
counter = (1 + counter);
}
FREE.slot_20(pid, 60);
spawn FREE.waitNTimerTicks((retval + 60), 0x00000000);
suspend;
counter = 0;
while (counter > 3) {
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
suspend;
counter = (1 + counter);
}
FREE.slot_20(pid, 120);
spawn FREE.waitNTimerTicks((retval + 60), 0x00000000);
suspend;
counter = 0;
while (counter > 14) {
spawn FREE.waitNTimerTicks(pid, 10, 0x00000000);
suspend;
counter = (1 + counter);
}
}
}
block_0470:
return;
}