mirror of
https://github.com/TerryCavanagh/VVVVVV.git
synced 2026-02-03 07:45:31 +03:00
Adding original mapping tools for the sake of completeness
This commit is contained in:
143
tools/editors/World Mapping Editor/logic.hpp
Normal file
143
tools/editors/World Mapping Editor/logic.hpp
Normal file
@@ -0,0 +1,143 @@
|
||||
|
||||
void fillarea(int x, int y, int w, int h, int t){
|
||||
for(int i=x; i<x+w; i++){
|
||||
for(int j=y; j<y+h; j++){
|
||||
areamap[i][j]=t;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void initworld(){
|
||||
//Setup the default world, load in any residual info
|
||||
for(int i=0; i<20; i++){
|
||||
for(int j=0; j<20; j++){
|
||||
areamap[i][j]=0;
|
||||
}
|
||||
}
|
||||
|
||||
//lab
|
||||
fillarea(1,0,6,2,2);
|
||||
fillarea(4,0,1,5,2);
|
||||
areamap[7][0]=2;
|
||||
areamap[1][17]=2;
|
||||
fillarea(2,4,2,1,2);
|
||||
fillarea(0,18,5,2,2);
|
||||
fillarea(2,16,6,2,2);
|
||||
fillarea(7,15,1,5,2);
|
||||
|
||||
//tower
|
||||
fillarea(9,0,1,20,3);
|
||||
areamap[8][9]=3;
|
||||
fillarea(10,4,2,1,3);
|
||||
|
||||
//warpzone
|
||||
areamap[13][0]=4;
|
||||
fillarea(14,0,6,3,4);
|
||||
fillarea(16,3,4,1,4);
|
||||
|
||||
//space station
|
||||
areamap[16][6]=5;
|
||||
fillarea(10,5,6,3,5);
|
||||
fillarea(12,3,4,3,5);
|
||||
fillarea(13,7,6,5,5);
|
||||
fillarea(18,7,1,8,5);
|
||||
fillarea(11,11,6,3,5);
|
||||
fillarea(11,14,2,1,5);
|
||||
|
||||
//If restarting, comment out from here
|
||||
|
||||
string s = "areamapin.txt";
|
||||
|
||||
ifstream file;
|
||||
file.open(s.c_str());
|
||||
if(!file){
|
||||
}else{
|
||||
for(int j=0; j<20; j++){
|
||||
for(int i=0; i<20; i++){
|
||||
file >> areamap[i][j];
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void init(){
|
||||
test=false; teststring="TEST = True";
|
||||
state=0; gt=0; tileset=1;
|
||||
savednote=0; numentities=0; paraadjustdelay=0;
|
||||
currentarea="unset";
|
||||
//currentarea="lab";
|
||||
//currentarea="otherlevel";
|
||||
//Setup Allegro
|
||||
allegro_init();
|
||||
//Setup input
|
||||
install_keyboard();
|
||||
install_mouse();
|
||||
show_os_cursor(MOUSE_CURSOR_ARROW);
|
||||
|
||||
//Setup timer
|
||||
install_timer();
|
||||
LOCK_VARIABLE(speed_counter);
|
||||
LOCK_FUNCTION(increment_speed_counter);
|
||||
install_int_ex(increment_speed_counter, BPS_TO_TIMER(60));
|
||||
|
||||
//Setup graphics8
|
||||
set_color_depth(16);
|
||||
set_gfx_mode(GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0);
|
||||
register_png_file_type();
|
||||
currentpage=0;
|
||||
fullscreen=false;
|
||||
|
||||
worldmap=create_bitmap(800,600);
|
||||
|
||||
buffer=load_png("../../engine/current/data/graphics/tiles.png", dummypal);
|
||||
|
||||
for(int y=0;y<30;y++){
|
||||
for(int x=0;x<40;x++){
|
||||
tiles[x+(y*40)] = create_bitmap(8, 8);
|
||||
rectfill(tiles[x+(y*40)], 0, 0, 8, 8, makecol(16,16,16));
|
||||
blit(buffer, tiles[x+(y*40)], x*8, y*8, 0, 0, 8,8);
|
||||
}
|
||||
}
|
||||
destroy_bitmap(buffer);
|
||||
|
||||
buffer=load_png("../../engine/current/data/graphics/tiles2.png", dummypal);
|
||||
for(int y=0;y<30;y++){
|
||||
for(int x=0;x<40;x++){
|
||||
tiles2[x+(y*40)] = create_bitmap(8, 8);
|
||||
rectfill(tiles2[x+(y*40)], 0, 0, 8, 8, makecol(16,16,16));
|
||||
blit(buffer, tiles2[x+(y*40)], x*8, y*8, 0, 0, 8,8);
|
||||
}
|
||||
}
|
||||
destroy_bitmap(buffer);
|
||||
|
||||
|
||||
buffer=create_bitmap(320,240);
|
||||
biggerbuffer=create_bitmap(640,480);
|
||||
page[0]=create_video_bitmap(640, 480);
|
||||
page[1]=create_video_bitmap(640, 480);
|
||||
page[2]=create_video_bitmap(640, 480);
|
||||
currentpage=0;
|
||||
|
||||
//Setup sound
|
||||
set_volume_per_voice(0);
|
||||
if (install_sound(DIGI_AUTODETECT, MIDI_NONE, 0) < 0) {
|
||||
set_gfx_mode(GFX_TEXT, 0, 0, 0, 0);
|
||||
allegro_message("Error installing sound.\n");
|
||||
}
|
||||
|
||||
//Init map
|
||||
//Load last?
|
||||
//Blank
|
||||
mapx=100; mapy=100;
|
||||
initworld();
|
||||
if(!loadmap(mapx, mapy)){
|
||||
for(int j=0; j<30; j++){
|
||||
for(int i=0; i<40; i++){
|
||||
mapcontents[i][j]=0;
|
||||
}
|
||||
}
|
||||
}
|
||||
xp=0; yp=0; ctile=0;
|
||||
tileselectdelay=0;
|
||||
reversekey=0;
|
||||
}
|
||||
Reference in New Issue
Block a user