From 135b47fffc6452f558092e18ac0da732cafabe8e Mon Sep 17 00:00:00 2001 From: SaffronCR Date: Sun, 24 Nov 2019 13:02:53 +0100 Subject: [PATCH] Added latests changes. --- .gitattributes | 63 ++++++++++++ .gitignore | 261 +++++++++++++++++++++++++++++++++++++++++++++++ README.md | 6 ++ art/bg.png | Bin 5033 -> 5432 bytes art/walls.png | Bin 8542 -> 6275 bytes art_links.txt | 23 +++++ dsk/BG.SC5 | Bin 27143 -> 0 bytes dsk/WALLS.SC5 | Bin 27143 -> 0 bytes dsk/msx-rpg.com | Bin 17216 -> 17805 bytes generate_sf5.bat | 3 + msx-rpg.c | 165 +++++++++++++++++++++++------- 11 files changed, 482 insertions(+), 39 deletions(-) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 art_links.txt delete mode 100644 dsk/BG.SC5 delete mode 100644 dsk/WALLS.SC5 create mode 100644 generate_sf5.bat diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..1ff0c42 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,63 @@ +############################################################################### +# Set default behavior to automatically normalize line endings. +############################################################################### +* text=auto + +############################################################################### +# Set default behavior for command prompt diff. +# +# This is need for earlier builds of msysgit that does not have it on by +# default for csharp files. +# Note: This is only used by command line +############################################################################### +#*.cs diff=csharp + +############################################################################### +# Set the merge driver for project and solution files +# +# Merging from the command prompt will add diff markers to the files if there +# are conflicts (Merging from VS is not affected by the settings below, in VS +# the diff markers are never inserted). Diff markers may cause the following +# file extensions to fail to load in VS. An alternative would be to treat +# these files as binary and thus will always conflict and require user +# intervention with every merge. To do so, just uncomment the entries below +############################################################################### +#*.sln merge=binary +#*.csproj merge=binary +#*.vbproj merge=binary +#*.vcxproj merge=binary +#*.vcproj merge=binary +#*.dbproj merge=binary +#*.fsproj merge=binary +#*.lsproj merge=binary +#*.wixproj merge=binary +#*.modelproj merge=binary +#*.sqlproj merge=binary +#*.wwaproj merge=binary + +############################################################################### +# behavior for image files +# +# image files are treated as binary by default. +############################################################################### +#*.jpg binary +#*.png binary +#*.gif binary + +############################################################################### +# diff behavior for common document formats +# +# Convert binary document formats to text before diffing them. This feature +# is only available from the command line. Turn it on by uncommenting the +# entries below. +############################################################################### +#*.doc diff=astextplain +#*.DOC diff=astextplain +#*.docx diff=astextplain +#*.DOCX diff=astextplain +#*.dot diff=astextplain +#*.DOT diff=astextplain +#*.pdf diff=astextplain +#*.PDF diff=astextplain +#*.rtf diff=astextplain +#*.RTF diff=astextplain diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3c4efe2 --- /dev/null +++ b/.gitignore @@ -0,0 +1,261 @@ +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. + +# User-specific files +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +bld/ +[Bb]in/ +[Oo]bj/ +[Ll]og/ + +# Visual Studio 2015 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUNIT +*.VisualState.xml +TestResult.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# DNX +project.lock.json +project.fragment.lock.json +artifacts/ + +*_i.c +*_p.c +*_i.h +*.ilk +*.meta +*.obj +*.pch +*.pdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*.log +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# JustCode is a .NET coding add-in +.JustCode + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# TODO: Comment the next line if you want to checkin your web deploy settings +# but database connection strings (with potential passwords) will be unencrypted +#*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# The packages folder can be ignored because of Package Restore +**/packages/* +# except build/, which is used as an MSBuild target. +!**/packages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/packages/repositories.config +# NuGet v3's project.json files produces more ignoreable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +node_modules/ +orleans.codegen.cs + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm + +# SQL Server files +*.mdf +*.ldf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# JetBrains Rider +.idea/ +*.sln.iml + +# CodeRush +.cr/ + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc \ No newline at end of file diff --git a/README.md b/README.md index 9526026..b599631 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,12 @@ It's being created in GRAPHIC 4, SCREEN 5 mode (resolution: 256 x 212 pixels, 16 http://www.repro-factory.com/ +**Palette based on DB16 - DawnBringer's 16 Col Palette v1.0** + +*Author: DawnBringer* + +http://pixeljoint.com/forum/forum_posts.asp?TID=12795 + **First Person Dungeon Crawl Art Pack** *Author: Clint Bellanger* diff --git a/art/bg.png b/art/bg.png index 14dd4a07ecec3da29f4a34cfb061f4b3ad7f1449..534dab46bf272625870557c48994aeb95985e526 100644 GIT binary patch literal 5432 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 b*I)i*&2>pOT`z8c21Y$y{an^LB{Ts5tvoBD literal 5033 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 TpJ!YJ%`teo`njxgN@xNA8#yI* literal 8542 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 diff --git a/art_links.txt b/art_links.txt new file mode 100644 index 0000000..2858ed7 --- /dev/null +++ b/art_links.txt @@ -0,0 +1,23 @@ +Arkos Tracker is the ultimate musical tool (or “Tracker”) for 8/16-bit computers from the 80’s, such as Amstrad CPC, Atari ST, ZX Spectrum, MSX, Oric, Apple 2, Vectrex, and SHARP MZ-700! +http://www.julien-nevo.com/arkostracker/ + + +https://opengameart.org/content/scifi-creature-tileset-mini-32x32-scifi-creature-icons +https://opengameart.org/content/first-person-dungeon-crawl-art-pack +https://opengameart.org/content/more-rpg-enemies +https://opengameart.org/content/cyberpunk-street-environment + +MEGAFLASHROM +https://blog.falvarez.es/2013/03/tutorial-megaflashrom-scc-sd.html + +MSX2-Technical-Handbook +https://github.com/Konamiman/MSX2-Technical-Handbook/blob/master/md/Chapter4a.md#3--screen-modes-of-the-msx2 + +Women's portrait studies no.57, MSX palette // Justin Cyr ‏#MSX #pixelart #retro +https://www.pinterest.es/pin/294774738094668751/?lp=true +https://www.msx.org/news/en/500-womens-portrait-studies-in-msx-palette-by-justin-cyr + + + +| * GRAPHIC 4 | SCREEN 5 | 256 x 212; 16 colours are | +| | | available for each dot \ No newline at end of file diff --git a/dsk/BG.SC5 b/dsk/BG.SC5 deleted file mode 100644 index 5483a76bb1051599141d98849cb952ab9cbd8193..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27143 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 E0ARN3qyPW_ diff --git a/dsk/msx-rpg.com b/dsk/msx-rpg.com index 38f1eaeea3b0d9eee88171922b42cb7be15b554d..fa871bd7122f04aa6da29bce0269f751c0c47c61 100644 GIT binary patch delta 7143 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 GI3oc5&o90J delta 6532 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 R9}5dBKN}m<<}w#?MgV1P5}p76 diff --git a/generate_sf5.bat b/generate_sf5.bat new file mode 100644 index 0000000..3341ffa --- /dev/null +++ b/generate_sf5.bat @@ -0,0 +1,3 @@ +@echo off +img2sf5 ./art/bg.png ./dsk/bg.sf5 +img2sf5 ./art/walls.png ./dsk/walls.sf5 \ No newline at end of file diff --git a/msx-rpg.c b/msx-rpg.c index 390d754..a82cc74 100644 --- a/msx-rpg.c +++ b/msx-rpg.c @@ -28,8 +28,8 @@ #define BG_PG 2 #define WL_PG 3 -#define DUNGEON_SCREEN_X 48 -#define DUNGEON_SCREEN_Y 36 +#define DUNGEON_SCREEN_X 2 * 8 +#define DUNGEON_SCREEN_Y 4 * 8 #define DUNGEON_SCREEN_DX 160 #define DUNGEON_SCREEN_DY 120 @@ -115,22 +115,22 @@ unsigned char load_buffer[BUFFER_SIZE]; unsigned char dungeon_palette[] = { - 0,0,0,0, - 1,0,0,0, - 2,0,0,0, - 3,0,0,0, - 4,0,0,0, - 5,0,0,0, - 6,0,0,0, - 7,0,0,0, - 8,0,0,0, - 9,2,1,1, - 10,1,1,3, - 11,4,2,1, - 12,6,2,2, - 13,6,3,1, - 14,4,4,5, - 15,6,6,2 + 0, 0, 0, 0, + 1, 2, 1, 1, + 2, 1, 1, 3, + 3, 2, 2, 2, + 4, 4, 2, 1, + 5, 1, 3, 1, + 6, 6, 2, 2, + 7, 3, 3, 3, + 8, 2, 3, 6, + 9, 6, 3, 1, + 10, 4, 4, 4, + 11, 3, 5, 1, + 12, 6, 5, 4, + 13, 6, 6, 3, + 14, 1, 0, 1, + 15, 6, 7, 6, }; unsigned char dungeon_01[DUNGEON_SIZE*DUNGEON_SIZE] = @@ -172,7 +172,7 @@ void sf_error_handler (char n, char *name) { InitPSG (); Screen (0); - SetColors (15,6,6); + SetColors (15, 6, 6); switch (n) { @@ -231,7 +231,7 @@ void sf_sc5_data (char *buffer, int y, int nbl) } // #TODO Check if the values are correct. -int sf_load_sc5_image (char *file_name, unsigned int start_Y, char *buffer) +int sf_load_sf5_image (char *file_name, unsigned int start_Y, char *buffer) { int rd = BUFFER_SIZE; int nbl = 0; @@ -246,11 +246,11 @@ int sf_load_sc5_image (char *file_name, unsigned int start_Y, char *buffer) } // Skip 7 first bytes of the file. - fcb_read (&file, buffer, 7); + //fcb_read (&file, buffer, 7); while (rd != 0) { - SetColors (0, 0, buffer[192]); + SetColors (15, 0, buffer[69]); rd = fcb_read (&file, buffer, BUFFER_SIZE); if (rd!=0) @@ -258,7 +258,7 @@ int sf_load_sc5_image (char *file_name, unsigned int start_Y, char *buffer) // screen 5 (4 bits x 256 x 212). nbl = rd / 128; - SetColors (0, 0, 0); + SetColors (15, 0, 0); //sf_sc5_data( buffer, start_Y, nbl); @@ -565,12 +565,77 @@ void sf_update_dungeon () } } +void sf_draw_tiles_background () +{ + // TEST: Draw tiles background. + for (int x=0; x<32; x++) + { + for (int y=0; y<26; y++) + { + sf_screen_copy (160, 0, + 8, 8, + x*8, y*8, + BG_PG, BF_PG, opHMMM); + } + } +} + +void sf_draw_avatars () +{ + sf_screen_copy ( 0, 120, + 32, 32, + 180, 1*32+4, + BG_PG, BF_PG, opHMMM); + + sf_screen_copy (32, 120, + 32, 32, + 180, 2*32+4+8, + BG_PG, BF_PG, opHMMM); + + sf_screen_copy (64, 120, + 32, 32, + 180, 3*32+4+8+8, + BG_PG, BF_PG, opHMMM); +} + +void sf_draw_combat_menu () +{ + Rect ( 16, 159, + 224, 167, + 2, FILL_ALL); + + SetColors (15, 0, 0); + PutText (20, 160, "ATTACK", LOGICAL_TIMP); + + SetColors (8, 0, 0); + PutText (20, 160+9, "MAGIC", LOGICAL_IMP); + PutText (20, 160+9+9, "DEFEND", LOGICAL_IMP); + PutText (20, 160+9+9+9, "ITEMS", LOGICAL_IMP); + + // HP bars + Rect (180+32+2, 1*32+4, + 180+32+2+4, 1*32+4+32-1, + 11, FILL_ALL); + + Rect (180+32+2, 2*32+4+8, + 180+32+2+4, 2*32+4+32+8-1, + 11, FILL_ALL); + + Rect (180+32+2, 3*32+4+8+8, + 180+32+2+4, 3*32+4+32+8+8-1, + 11, FILL_ALL); +} + // Draw the current dungeon room. void sf_update_dungeon_screen () { db_state = Updating; - // Background. + // #SAFFRON test. + sf_draw_avatars (); + + + // Dungeon background. sf_screen_copy (0,0, DUNGEON_SCREEN_DX, DUNGEON_SCREEN_DY, DUNGEON_SCREEN_X, DUNGEON_SCREEN_Y, @@ -586,6 +651,18 @@ void sf_update_dungeon_screen () db_state = ReadyToTransfer; } +void sf_draw_palette () +{ + int x = 0; + int y = 0; + + for (int i = 0; i < 16; i++) + { + Rect (x, y, x+7, y+7, i, FILL_ALL); + y+=9; + } +} + void sf_draw_minimap () { for (int x = 0; x < DUNGEON_SIZE; x++) @@ -594,11 +671,11 @@ void sf_draw_minimap () { if (dungeon_01[x+y*DUNGEON_SIZE] == 1) { - Pset (x, y, 10, LOGICAL_IMP); + Pset (x+32, y, 10, 0); } else if (player_pos_x == x && player_pos_y == y) { - Pset (x, y, 11, LOGICAL_IMP); + Pset (x+32, y, 13, 0); } } } @@ -617,15 +694,21 @@ void sf_update_screen () BF_PG, 0, opYMMM); // Using this to check screen redrawing. Actual game text will be handled differently. - SetColors (15, 0, 0); + SetColors (9, 0, 0); - if (player_dir == North) PutText (100, 20, "North", LOGICAL_IMP); - else if (player_dir == East) PutText (100, 20, "East", LOGICAL_IMP); - else if (player_dir == South) PutText (100, 20, "South", LOGICAL_IMP); - else PutText (100, 20, "West", LOGICAL_IMP); + if (player_dir == North) PutText (80, 20, "North", LOGICAL_IMP); + else if (player_dir == East) PutText (80, 20, "East", LOGICAL_IMP); + else if (player_dir == South) PutText (80, 20, "South", LOGICAL_IMP); + else PutText (80, 20, "West", LOGICAL_IMP); - // Minimap. - sf_draw_minimap (); + // #SAFFRON test. + sf_draw_combat_menu (); + + // Debug: draw minimap. + //sf_draw_minimap (); + + // Debug: draw palette. + //sf_draw_palette (); db_state = Finished; } @@ -718,12 +801,12 @@ void main (void) // Enables Sprites. SpriteOn (); - // Sets display to specified screen mode (from 0 to 8). - Screen (5); - // Clears console or any screen mode Cls (); + // Sets display to specified screen mode (from 0 to 8). + Screen (5); + // Disable key sound. KeySound (0); @@ -733,22 +816,26 @@ void main (void) // Clears the key buffer. KillKeyBuffer (); + // Set loading text. + SetColors (15, 0, 0); PutText (5, 5, "LOADING...", LOGICAL_TIMP); // Load screens. SetSC5Palette ((Palette *)dungeon_palette); - sf_load_sc5_image ("BG.SC5", 256 * BG_PG, load_buffer); - sf_load_sc5_image ("WALLS.SC5", 256 * WL_PG, load_buffer); + sf_load_sf5_image ("BG.SF5", 256 * BG_PG, load_buffer); + sf_load_sf5_image ("WALLS.SF5", 256 * WL_PG, load_buffer); // Clears console or any screen mode. Cls (); - SetColors (0, 0, 0); // Set interrupt. InitInterruptHandler (); SetInterruptHandler (sf_video_interrupt); + // Draw tiles from background. + //sf_draw_tiles_background (); + // Initial screen update. sf_update_dungeon_screen ();