Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

EI0 Map editor PSP: Difference between revisions

From GameBrew
(Created page with "{{Infobox PSP homebrew | title = EI0 Map editor plus OSlib | image = https://dlhb.gamebrew.org/psphomebrew/EI0MapeditorplusOSlibmaploadingsourcecode.jpg|250px | type = Other G...")
 
No edit summary
Line 1: Line 1:
{{Infobox PSP homebrew
{{Infobox PSP homebrew
| title = EI0 Map editor plus OSlib
| title = EI0 Map editor + OSlib
| image = https://dlhb.gamebrew.org/psphomebrew/EI0MapeditorplusOSlibmaploadingsourcecode.jpg|250px
| image = https://dlhb.gamebrew.org/psphomebrew/ei0mapeditor.png|250px
| type = Other Games
| type = Other Games
| version = initial release
| version = 20 Aug 2006
| licence = Mixed
| licence = Mixed
| author = smealum
| author = smealum
| website = http://psp-dev.org/hb/detail.html?id=mapeditor.-7z
| website = https://www.neoflash.com/forum/index.php?topic=2984.0
| download = https://dlhb.gamebrew.org/psphomebrew/EI0MapeditorplusOSlibmaploadingsourcecode.rar
| download = https://dlhb.gamebrew.org/psphomebrew/ei0mapeditor.7z
| source = http://psp-dev.org/hb/detail.html?id=mapeditor.-7z
| source =  
}}
}}
<youtube>vsQmOnFZonI</youtube>


EI 0 Map Editor a map editor for Earth Invaders 0 with the option to create maps/your own games.
EI 0 Map Editor a map editor for [[Earth Invaders 0 - Before the attack PSP|Earth Invaders 0]] with the option to create maps/your own games.


It was participated in the Neo Summer Coding Compo 2006 (PSP Applications, 7th place).
It was participated in the Neo Summer Coding Compo 2006 (PSP Applications, 7th place).


User guide
==User guide==
It includes a source code that permits you to load maps from external files. This will allow users to create their own maps for games. The map will always be saved to the output folder.
It includes a source code that permits you to load maps from external files. This will allow users to create their own maps for games. The map will always be saved to the output folder.


Here's the source code from the developer to load maps (using OSlib):
Here's the source code from the developer to load maps (using OSlib):


Quote
while (!osl_quit)
while (!osl_quit)
{
{
oslStartDrawing();
oslStartDrawing();
oslReadKeys();
oslReadKeys();
oslDrawFillRect(0,0,480,272,RGB(255,255,255));
oslDrawFillRect(0,0,480,272,RGB(255,255,255));
oslPrintf_xy(20, 20, "Map name : %s/n/n Up/down : Change map/nCross : Select map",maps[choix].name);
if(osl_keys->pressed.up && choix < nbmaps-1)choix++;
else if(osl_keys->pressed.down && choix > 2)choix--;
else if(osl_keys->pressed.cross)break;
oslEndDrawing();
oslSyncFrame();
}
strcpy(mapname,maps[choix].name);
while (!osl_quit)
{
if(chdir(mapname)!=0)oslMessageBox("Critiqual error. Press Triangle to quit.", "Error", oslMake3Buttons(OSL_KEY_TRIANGLE,OSL_MB_QUIT,0,0,0,0));
fond = oslLoadImageFile("fond.png", OSL_IN_RAM, OSL_PF_5551);
maptiles = LoadTileset("tiles.png");
if(!fond || !maptiles)oslMessageBox("Critiqual error. Press Triangle to quit.", "Error", oslMake3Buttons(OSL_KEY_TRIANGLE,OSL_MB_QUIT,0,0,0,0));
col=fopen("col","r");
bg=fopen("bg","r");
events=fopen("events","r");
if(!bg || !col || !events)oslMessageBox("Critiqual error. Press Triangle to quit.", "Error", oslMake3Buttons(OSL_KEY_TRIANGLE,OSL_MB_QUIT,0,0,0,0));
fscanf(col,"%ld;%ld",&map1.sizey,&map1.sizex);
for(i=0;i<map1.sizey;i++)
{
for(j=0;j<map1.sizex;j++)
{
fscanf(col,"%hd,",&map1_map(i,j));
fscanf(bg,"%hd,",&map1_map1(i,j));
fscanf(events,"%hd,",&map1_map2(i,j));
}
}
fclose(col);
fclose(bg);
fclose(events);
map1_map tables are shorts.
Also, here are the defines i use :
#define map1_map(i,j) map1_map[j]
#define map1_map1(i,j) map1_map1[j]
#define map1_map2(i,j) map1_map2[j]
==Controls==
D-Pad - Move the pointer
 
Cross - Put tile
 
Triangle - Delete tile


oslPrintf_xy(20, 20, "Map name : %s/n/n Up/down : Change map/nCross : Select map",maps[choix].name);
L/R - Change tile
if(osl_keys->pressed.up && choix < nbmaps-1)choix++;
else if(osl_keys->pressed.down && choix > 2)choix--;
else if(osl_keys->pressed.cross)break;
oslEndDrawing();
oslSyncFrame();
}
strcpy(mapname,maps[choix].name);
while (!osl_quit)
{
if(chdir(mapname)!=0)oslMessageBox("Critiqual error. Press Triangle to quit.", "Error", oslMake3Buttons(OSL_KEY_TRIANGLE,OSL_MB_QUIT,0,0,0,0));
fond = oslLoadImageFile("fond.png", OSL_IN_RAM, OSL_PF_5551);
maptiles = LoadTileset("tiles.png");
if(!fond || !maptiles)oslMessageBox("Critiqual error. Press Triangle to quit.", "Error", oslMake3Buttons(OSL_KEY_TRIANGLE,OSL_MB_QUIT,0,0,0,0));
col=fopen("col","r");
bg=fopen("bg","r");
events=fopen("events","r");
if(!bg || !col || !events)oslMessageBox("Critiqual error. Press Triangle to quit.", "Error", oslMake3Buttons(OSL_KEY_TRIANGLE,OSL_MB_QUIT,0,0,0,0));
fscanf(col,"%ld;%ld",&map1.sizey,&map1.sizex);
for(i=0;i<map1.sizey;i++)
{
for(j=0;j<map1.sizex;j++)
{
fscanf(col,"%hd,",&map1_map(i,j));
fscanf(bg,"%hd,",&map1_map1(i,j));
fscanf(events,"%hd,",&map1_map2(i,j));
}
}
fclose(col);
fclose(bg);
fclose(events);
map1_map tables are shorts.
Also, here are the defines i use :
#define map1_map(i,j) map1_map[j]
#define map1_map1(i,j) map1_map1[j]
#define map1_map2(i,j) map1_map2[j]


Known issues
Start - Save
 
==Known issues==
Developer noted that is version is rather buggy and some maps might not work well with it. Also the Story mode in this version is only the map browser.
Developer noted that is version is rather buggy and some maps might not work well with it. Also the Story mode in this version is only the map browser.


Controls
==External links==
D-Pad - Move the pointer
* NeoFlash - [https://web.archive.org/web/20210207115208/https://www.neoflash.com/forum/index.php?topic=2984.0 https://www.neoflash.com/forum/index.php?topic=2984.0] (archived)
Cross - Put tile
Triangle - Delete tile
L-Trigger/R-Trigger - Change tile
Start - Save


References
[[Category:PSP homebrew games]]
NeoFlash, https://www.neoflash.com/forum/index.php?topic=2984.0
[[Category:Other PSP homebrew games]]

Revision as of 00:19, 29 August 2021

EI0 Map editor + OSlib
ei0mapeditor.png
General
Author(s)smealum
TypeOther Games
Version20 Aug 2006
LicenceMixed
Links
Download
Website
Advertisements

<htmlet>adsense</htmlet>


EI 0 Map Editor a map editor for Earth Invaders 0 with the option to create maps/your own games.

It was participated in the Neo Summer Coding Compo 2006 (PSP Applications, 7th place).

User guide

It includes a source code that permits you to load maps from external files. This will allow users to create their own maps for games. The map will always be saved to the output folder.

Here's the source code from the developer to load maps (using OSlib):

while (!osl_quit)
{
oslStartDrawing();
oslReadKeys();
oslDrawFillRect(0,0,480,272,RGB(255,255,255));

oslPrintf_xy(20, 20, "Map name : %s/n/n Up/down : Change map/nCross : Select map",maps[choix].name);
if(osl_keys->pressed.up && choix < nbmaps-1)choix++;
else if(osl_keys->pressed.down && choix > 2)choix--;
else if(osl_keys->pressed.cross)break;
oslEndDrawing();
oslSyncFrame();
}
strcpy(mapname,maps[choix].name);
while (!osl_quit)
{
if(chdir(mapname)!=0)oslMessageBox("Critiqual error. Press Triangle to quit.", "Error", oslMake3Buttons(OSL_KEY_TRIANGLE,OSL_MB_QUIT,0,0,0,0));
fond = oslLoadImageFile("fond.png", OSL_IN_RAM, OSL_PF_5551);
maptiles = LoadTileset("tiles.png");
if(!fond || !maptiles)oslMessageBox("Critiqual error. Press Triangle to quit.", "Error", oslMake3Buttons(OSL_KEY_TRIANGLE,OSL_MB_QUIT,0,0,0,0));
col=fopen("col","r");
bg=fopen("bg","r");
events=fopen("events","r");
if(!bg || !col || !events)oslMessageBox("Critiqual error. Press Triangle to quit.", "Error", oslMake3Buttons(OSL_KEY_TRIANGLE,OSL_MB_QUIT,0,0,0,0));
fscanf(col,"%ld;%ld",&map1.sizey,&map1.sizex);
for(i=0;i<map1.sizey;i++)
{
for(j=0;j<map1.sizex;j++)
{
fscanf(col,"%hd,",&map1_map(i,j));
fscanf(bg,"%hd,",&map1_map1(i,j));
fscanf(events,"%hd,",&map1_map2(i,j));
}
}
fclose(col);
fclose(bg);
fclose(events);
map1_map tables are shorts.
Also, here are the defines i use :
#define map1_map(i,j) map1_map[j]
#define map1_map1(i,j) map1_map1[j]
#define map1_map2(i,j) map1_map2[j] 

Controls

D-Pad - Move the pointer

Cross - Put tile

Triangle - Delete tile

L/R - Change tile

Start - Save

Known issues

Developer noted that is version is rather buggy and some maps might not work well with it. Also the Story mode in this version is only the map browser.

External links

Advertising: