# smc/cfg - "Build" settings for package #--------------------------------------------------------------------- [technotes] 1. The source tarball used by this package was created based on "git" upstream sources. The sources were obtained as follows: ocgitfetch --run https://github.com/FluXy/SMC.git #--------------------------------------------------------------------- 2. This distro provides 2 alternate versions of the early-2000s video game "Secret Maryo Chronicles": (2a) "smc" -- Laclin fork of "Secret Maryo Chronicles" (2b) "tscgame" -- Laclin form of "Secret Chronicles of Dr. M." "smc" is recommended over "tscgame" for the following reasons: * "smc" starts up faster * "smc" is more stable * "tscgame" is likely to more fragile in terms of FTBFS * "tscgame" locks up if you close its window OTOH: * "tscgame" includes additional media and other in-game features relative to "smc". * Full-screen mode works with "tscgame". It doesn't work -- or at least it works on fewer systems -- with "smc". #--------------------------------------------------------------------- 3. Laclin's "smc" package is an enhanced fork of "Secret Maryo Chron- icles" as it stood circa the year 2014. The fork includes the follow- ing changes: * Prebuilt image cache * Wrapper populates or repopulates ".smc" as necessary * Single-instance operation * Added some levels * Added SMC Music 5.0 * Replaced a "saw" image with a better one #--------------------------------------------------------------------- 4. Upstream, work on "Secret Maryo Chronicles" largely stopped circa 2012. As of 2021, a fork named "The Secret Chronicles of Dr. M" was in in progress. If Laclin packages "The Secret Chronicles of Dr. M", that should be treated as a new package. I.e.: The existing "smc" package should be maintained separately. #--------------------------------------------------------------------- 5. When a user runs "smc" for the first time, they may need to reduce volume. This can be done in the program's Option Settings section. Suggested settings: Music volume = 40 (i.e., 40% of maximum) Sound effects volume = 80 (i.e., 80% of maximum) #--------------------------------------------------------------------- 6. The following point is moot because we don't recommend ever upda- ting "smc" to code from new upstream releases. This package is a fork Additionally, there probably won't ever be a new upstream release that isn't also a fork. This said, if you update "smc" to new upstream code, the update may break some or all of the game's Overworld maps (i.e., the maps stored in "SMC_world.zip" before the game is built, and in the install tree subdirectory "share/smc/world" after the game is installed). Note: The Overworld maps define the paths that connect game levels, as opposed to the levels themselves. If this problem occurs, the Overworld maps will be displayed correct- ly, but Maryo will be unable to move back and forth between some of the Overworld waystations. The problem is usually correctable. To fix a broken Overworld map, go to the map in-game and press F8 to start the Overworld editor. Try ad- justing waystation positions and/or path endpoints. Press Escape to exit the editor. It should ask you whether or not you'd like to save the modified map. #--------------------------------------------------------------------- 7. Upgrades may also break the prebuilt image cache used. The pre- built image cache is a directory tree included in the following ZIP file: special/misc/dotsmc.zip Note: The directory path shown here is expressed relative to the dir- ectory that contains this "cfg" file. To update the ZIP file appropriately, proceed as follows: (7a) Delete the following directory tree: $HOME/.smc/cache (7b) Run "smc", select a display resolution, and restart the program (7c) Repeat (7b) for the display resolutions that you'd like to support (7d) The directory tree indicated in (a) should now exist again. Replace the copy of "cache" in "dotsmc.zip" with the new version. (7e) Rebuild the package. #--------------------------------------------------------------------- [buildtimes] 00.08 hours (or 004.52 minutes) - HP EliteBook 8560w 32GB RAM 00.08 hours (or 004.83 minutes) - Dell Inspiron 6400 2.0 GHz Intel Duo 7200 2GB RAM 00.09 hours (or 005.65 minutes) - ThinkPad E540 i7 4x2 16GB RAM 00.25 hours (or 014.92 minutes) - Compaq 1.7 GHz Intel Pentium 4 512MB RAM #--------------------------------------------------------------------- [settings] altpkg = yes dontfind = libpng14 exepack = yes # Fixes a "Defined in DSO" error ldbefore = -lboost_system -lX11 -lgcc:-lpthread -lc license = GNU General Public License, version 3 (June 2007) tmpsize = 423M setpaths = boost libmikmod libpng pcre xorg cegui07 #--------------------------------------------------------------------- [depends] actools alsa boost brotli cegui07 freetype2 gawk gtkcore # Used by wrapper jpeg libmikmod libpng libpng14 libsilly libvorbis pcre pkgconf sdl #--------------------------------------------------------------------- [configure] MANBASE=$PKGDIR_PROD/man mkdir -p $MANBASE cd smc if [ -f ./autogen.sh ]; then sh ./autogen.sh fi sed -e "s|__META_PRODTREE__|$PRODTREE|g" \ -i configure bash ./configure \ --prefix=$PKGDIR_PROD \ --build=$LACARCHBUILD \ --host=$LACARCHHOST \ --disable-dependency-tracking \ --mandir=$MANBASE #--------------------------------------------------------------------- [build] L=$LACINCDIRS L=$PRODTREE/cegui07/include/CEGUI:$L export LACINCDIRS=$L cd smc make && make install #--------------------------------------------------------------------- [postbuild] BINDIR=$PKGDIR_PROD/bin DATADIR=$PKGDIR_PROD/data MISCDIR=$PKGDIR_PROD/misc SHADIR=$PKGDIR_PROD/share/smc MUSDIR=$SHADIR/music mkdir -p $BINDIR $DATADIR $MISCDIR $SHADIR $MUSDIR #--------------------------------------------------------------------- PROGBASE=smc SDIRALTGRA=$PKGDIR_SPECIAL/misc SDIRCACHE=$PKGDIR_SPECIAL/misc SDIRICONS=$PKGDIR_SPECIAL/icons SDIRLEVELS=$PKGDIR_SPECIAL/levels SDIRMISC=$PKGDIR_SPECIAL/misc SDIRWRAPPER=$PKGDIR_SPECIAL/wrappers #--------------------------------------------------------------------- MUSZIP_ONE=$SDIRMISC/SMC_Music_5.0_high.zip cp -a $SDIRICONS/ocaalert.png $MISCDIR/alert.png cp -a $SDIRMISC/dotsmc.zip $DATADIR/ #--------------------------------------------------------------------- cd $BINDIR mv $PROGBASE $PROGBASE.bin cp $SDIRWRAPPER/$PROGBASE.wrapper.in $PROGBASE chmod 755 $PROGBASE #--------------------------------------------------------------------- mkdir -p $SHADIR/levels/ cp -p $SDIRLEVELS/*.smclvl $SHADIR/levels/ cd $SHADIR/levels/ #--------------------------------------------------------------------- if [ \! -d "$MUSDIR/land" ]; then echo Adding music rm -fr $MUSDIR mkdir -p $MUSDIR cd $MUSDIR mkdir tmp cd tmp unzip -qo $MUSZIP_ONE mv data/music/* .. cd .. rm -fr tmp else echo Using existing music fi #--------------------------------------------------------------------- cd $PKGDIR_PROD rm -fr share/smc/pixmaps/enemy/static/saw unzip -qo $SDIRALTGRA/altpixmaps.zip #--------------------------------------------------------------------- cd $SHADIR rm -fr world mkdir world rmdir world unzip -qo $SDIRMISC/SMC_world.zip #--------------------------------------------------------------------- # Original URLs. These URLs were valid at one point, but may have died # since then. If you download newer versions of tarballs [etc.], don't # delete the original versions, as you may not be able to replace # them. [urls] url_debian = Not checked yet url_doc_editor = http://www.secretmaryo.org/index.php?page=editor url_home = http://www.secretmaryo.org/ url_lfs = n/a url_music_one = https://downloads.sourceforge.net/smclone/\ SMC_Music_4.1_high.zip url_music_two = https://downloads.sourceforge.net/smclone/\ SMC_Music_5.0_high.zip url_tarball = n/a # See "technotes" in "cfg" file #--------------------------------------------------------------------- [history] 211023 Updated from 111212 to 5c3e381ec ("git" hash) 211023 Updated music from 4.1 to 5.0 211023 "smc" now populates or repopulates ".smc" as necessary 241128 Modified wrapper to set full-screen parameters properly