Bay 12 Games Forum

Please login or register.

Login with username, password and session length
Advanced search  

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Liberal Elitist

Pages: [1]
1
Curses / Real-world Liberal Crime Squad (the Tupamaros of Uruguay)
« on: October 22, 2017, 09:31:24 pm »
In the 1960s and early 1970s, there existed a radical left-wing group in Uruguay, the Tupamaros,  that engaged in violence, bank robberies, kidnappings, interrogations of people they captured, propaganda efforts including taking over radio stations, had a cell-based structure with code names with cells from 2 to 6 people, had people from all different walks of life from uneducated peasants to educated professionals, had sleeper agents inside the military and police, and engaged in urban combat in the city of Montevideo, the capital of Uruguay which had most of its population.

The methods of the Tupamaros were virtually identical to those of the Liberal Crime Squad in the game Liberal Crime Squad, and for about a decade they successfully operated and gained more and more influence. The nation of Uruguay went from spending 1% of its annual budget on the military to 26% in order to defeat the Tupamaros, and the country went from being a fairly corrupt but still democratic country to having a military coup in 1973 as a result of what could be termed the "counterrevolutionary" response to the ultimately failed revolution the Tupamaros had spent years working towards.

Originally they had actually started out as a fairly nonviolent group but they did engage in robberies from the beginning in order to raise funds, and soon began doing kidnappings, although they would typically release the people they kidnapped after a few days. A few times they did kill people they had kidnapped, including an FBI agent who the U.S. government had sent to Uruguay to advise its government in how to fight the Tupamaros. At their peak they were very popular, but public opinion ended up turning against them after they became more violent.

The Tupamaros of Uruguay had so many parallels to the Liberal Crime Squad it is amazing. There is a Wikipedia article about them here: https://en.wikipedia.org/wiki/Tupamaros. However there is a 1973 short book about them which is available as a PDF here: http://www.latinamericanstudies.org/uruguay/Tupamaros.pdf (hosted on a website run by Professor Antonio de la Cova, formerly of the University of Indiana, currently at the University of South Carolina). In that book, which you can read in your web browser as a PDF, which nowadays no longer requires a browser plugin, they sound almost exactly like the Liberal Crime Squad. They turned out rather like playing a game of Liberal Crime Squad where you do pretty well but the government ends up apprehending and imprisoning your leadership and there is nobody left able to lead.

As a footnote, one of the former Tupamaros, years later, after the military dictatorship had ended and there was political amnesty both for those involved in the dictatorship as well as anyone who had engaged in any political violence for the last few decades, José Mujica, was eventually elected President of Uruguay in late 2009, taking office in 2010, and leaving office in 2015 after another politician from the same political party as him (the Broad Front) won the 2014 Presidential elections. They have elections every 5 years for President and Presidents there serve 5-year terms. José Mujica was not as radical at this age and governed as a center-left leader, but successfully pursued progressive policies including legalizing marijuana, and he left the country in very good shape after his 5 years in office and handed it over to someone else in a peaceful transition of power. He had spent 13 years imprisoned, one of 9 Tupamaros leaders who spent 13 years in prison.

There was a 10th prominent leader of the Tupamaros who turned traitor against the other Tupamaros and sold them out to the Uruguayan government and helped bring about their downfall by being an informant from within, Héctor Amodio Pérez, widely denounced as a traitor, someone not respected or liked by anyone in Uruguay, since nobody likes traitors. He fled Uruguay to Spain in 1973 with the assistance of the Uruguayan government after helping them destroy the Tupamaros.

So, Liberal Crime Squad is not that far detached from reality, and what happens in the game really did happen once upon a time in the nation of Uruguay as a true story in an almost identical way. I thought people who enjoy the game might be interested in this. I would note that this connection between the Liberal Crime Squad and Tupamaros is entirely coincidental, and Liberal Crime Squad was not patterned after them at all. This is just a coincidence. Truth is stranger than fiction. The story of the real-world Liberal Crime Squad, the Tupamaros of Uruguay, who operated in a virtually identical fashion to the LCS in the game, is certainly an interesting one.

There is actually a movie about the Tupamaros called "State of Siege", a 1972 French film which received excellent reviews but which the U.S. government at the time harshly condemned. You could consider it "Liberal Crime Squad: The Movie". It is based on a true story, although many elements of the movie are fictionalized, for instance the names of the characters are all fictional and it was not actually filmed in Uruguay and the film is in French rather than the Spanish spoken in Uruguay. "State of Siege" is almost exactly 2 hours long and a 1972 French film, also going by the title "État de Siège", for anyone who wants to find this movie. The exact length of the film is 2 hours, 1 minute, and 34 seconds. To watch it legally, it is available from the Criterion Collection from their own website as well as on various other sites, it can be legally bought on DVD or BluRay or legally rented as a digital movie to watch on YouTube or iTunes or VUDU (and of course it has English subtitles). A friend of mine used to have a VHS tape of it but he lost it. I am NOT telling anyone how to get this movie illegally, of course, since that would go against the forum rules among other reasons.

Anyway, I just think the Tupamaros being so similar to the Liberal Crime Squad is very cool, although the fact that their actions helped lead to a backlash where the formerly peaceful and democratic nation of Uruguay became a military dictatorship for over a decade, from 1973 to 1985, that was awful, and they did commit many horrible crimes and I do not approve of that either, I just find the historical parallels of this group to the game to be amazing, even the detail of squads or cells having a maximum of 6 members, all using code names, is both true in the real Tupamaros as well as the game Liberal Crime Squad. So many details are identical, it is just the most amazing coincidence.

2
OK, I went on vacation in late September and returned in mid-October. I haven't really been on these forums since then. Since I spent the summer as basically a go-to person who was active fixing bugs and adding features to the Liberal Crime Squad game, and I've only made one code commit since coming back from vacation (a simple code cleanup commit that didn't actually change anything the game did, just made the code a little simpler and more concise after someone else made a commit they said was to fix compiler warnings on their compiler), well I've been pretty inactive, even though I said back in September that I'd be back in mid-October actively fixing bugs in the game.

Anyway I'm going to try and be more active again, and try and fix bugs people report in Liberal Crime Squad, and I am also planning on merging the GitHub project into the SourceForge project. In case you didn't know, the GitHub project happened earlier this year and it was to fix things in the game, done by 2 Linux users who use Git instead of SVN, and it was a "fork" of Liberal Crime Squad, with the main project still on SourceForge, still using SVN, and the main project on SourceForge is still actively being updated now whereas the GitHub project seems to be abandoned at this point, being inactive for 7 months now, last updated May 20th this year. But the GitHub project had 505 commits (actually only 42 of them were done on GitHub, the others were from SVN revisions). At least SOME of those commits probably fixed bugs in the game or added useful new features, which ought to be merged back into the main, actively developed version of the game on SourceForge. I already successfully merged all of the bugfixes that the Terra Vitae mod had in it back into the vanilla game on SourceForge back in September, so I know how to do it, so it will be easier to merge a fork the 2nd time. Perhaps some of the bugs mentioned here on the forums already were fixed in the GitHub fork, in which case merging those fixes back into the main project will accomplish quite a bit. The GitHub fork was actually only active for less than a month, from May 6 to May 20th, so not that much could have been changed, so it should be fairly simple to merge it with the latest code. Also their fork is based on SVN revision 751 from April 30th, so I know which revision to start the merge process with. Currently the revision is 858 on SourceForge's SVN repository, so that means 107 updates to get it caught up... not too many, it was more than that with the Terra Vitae mod since its code was from last fall instead of late spring of this year.

Zaroth, one of the 2 programmers of the GitHub fork (the other one being Lasica), wrote a thread about it on the forums here: http://www.bay12forums.com/smf/index.php?topic=138426.0, and Lasica also posted in that thread too... the last day either of them posted in that thread was May 19th this year, one day before the last day either of them updated their GitHub fork, May 20th of this year. The source code for the last version of their fork, the 1 commit on May 20, 2014, is only 940 kilobytes when downloaded from GitHub, less than a megabyte! Quite compact, I am impressed! I will need to find out which version of the SVN code their fork was originally based on. Then I can start the process of merging the 2 codebases, by overwriting the files from the SVN revision it's based on with the files from the GitHub project's final version, and then doing a series of SVN updates from one SVN revision to the next, 1 by 1, and dealing with any conflicts that arise. Conflicts arise a whole bunch of the time when merging stuff like this if there's been a lot of changes in the fork/mod, which is why I just update SVN revisions 1 by 1 instead of updating to the latest revision all at once. TortoiseSVN has a good interface for fixing these conflicts luckily. The important part is to keep the source code internally consistent when doing these merges and resolving the conflicts, and to do it in a way that preserves all fixes and enhancements, both from the fork and the SVN updates, rather than removing them. I succeeded at this when doing the merge of the latest SVN code with the Terra Vitae mod back in September, so I'm pretty sure I can also succeed at a merge with the GitHub fork too.

3
Curses / Music Format Poll: Ogg Vorbis vs. MIDI
« on: September 06, 2014, 02:24:19 am »
Hi I'm adding a new poll here on Ogg Vorbis vs. MIDI vs. MOD as the best format to use for music in Liberal Crime Squad. Unlike the last poll I did I tried to make this poll not sound biased in favor of any answer.

Right now the SVN versions of the game use MIDI music but this could easily be changed to Ogg Vorbis which has better sound quality but larger filesize. The main drawback of Ogg Vorbis is it would make the game take up more disk space and make the download size a lot bigger (Ogg Vorbis files, unlike MIDI files, are not compressible any further if you put them in ZIP files, so they stay just as big). But Ogg sounds better than MIDI. So it's a simple tradeoff between filesize and sound quality. Which do you think is more important? If you want good sound quality choose Ogg Vorbis, if you want small filesize choose MIDI.

There are also other formats besides these 2 that could be used but none of them would make any sense to use:
1) MP3 - it has worse sound quality than Ogg Vorbis at the same filesize and is also patent-encumbered causing legal issues
2) FLAC - it has better sound quality than Ogg Vorbis because it's lossless but the filesize is outrageously big, and with a high-bitrate Ogg Vorbis the difference between Ogg Vorbis and FLAC is not noticeable to most listeners (although the bitrate we would use for Ogg Vorbis might not necessarily be high, it could also be medium or low)
3) WAV - WAV sounds identical to FLAC as both are lossless but the files are many times bigger making them REALLY outrageously big for no reason
4) MOD - it is too hard to find MOD files of specific public domain music, and MOD is pretty much equivalent to MIDI in terms of filesize and sound quality but with the disadvantage of being much more obscure... MOD is basically a chiptunes format for the audio chip found on the Commodore Amiga so all of the audio would have a chiptunes sound to it and sound very artificial like a bunch of beeps and boops and some people like that but others don't, it certainly doesn't sound anything like an actual audio recording though, but the main obstacle here is if you are looking for a specific song in the MOD format you are unlikely to find it and will probably have to spend a lot of time and effort putting that file into the MOD format yourself (in this case it would be me having to do all this work probably and I have no interest in doing that)
5) Opus - Opus is the best quality lossy audio codec in existence developed as the state-of-the-art next-generation successor format to Ogg Vorbis (it has better sound quality at lower bitrates than any other lossy audio codec) but it is such a new format that it's hard to find a library that could play it back; there is an unofficial SDL2_mixer branch that supports Opus but it is untested and may have problems according to its own author's admission, and while it has .DLL files for libopus and libopusfile, it doesn't provide .DLL files for SDL2_mixer or .lib or .a files to link against in MS Visual C++ or Code::Blocks so we would need to compile and build it the music-opus branch of SDL2_mixer in both MS Visual C++ and in MinGW-GCC to produce the necessary files to link against and use as the .DLL for SDL2_mixer at runtime, and also using an unofficial branch of SDL2_mixer means it wouldn't receive any support from the main SDL project and it might not necessarily be maintained or work properly in the future; as for obtaining files in the Opus format we could simply convert files that are in a lossless format like FLAC or WAV into Opus, that is not too difficult, but overall I don't think it's a good idea to have a dependency on an unstable, unofficial branch that has known problems according to its own author... later on Opus might become an official format supported by the SDL and SDL_mixer projects someday, maybe in a year or two or three or when the next major version like SDL version 3 comes out but that probably won't be for quite awhile (so anyway I have no interest in putting in all the work necessary to use this format which isn't supported by the official SDL project and isn't supported by other cross-platform audio file playback libraries either, and think it would be a bad idea because it would make the project have a dependency on unstable untested code that doesn't have any support)

So those other 5 formats for various reasons don't make sense to use since either the filesize is too big (FLAC, WAV), the sound quality for the filesize is bad (WAV, MP3), there are legal problems (MP3), the sound quality isn't that good (MOD), or the feasibility of using the format is bad (MOD, Opus).

So the only 2 serious contenders are Ogg Vorbis and MIDI, both of which are quite common formats that it is quite easy to find public domain music in, and are also very well supported by SDL2_mixer. And between Ogg Vorbis and MIDI there is basically just a tradeoff between sound quality and filesize: Ogg Vorbis is better sound quality but bigger filesize, and MIDI is smaller filesize but worse sound quality.

So I encourage people to vote on this. I am actually somewhat undecided between the 2 formats myself. Although I originally put in MIDI music and was leaning in that direction, now I am not as sure and I could really go either way on MIDI vs. Ogg Vorbis as far as game music. The main reason I went with MIDI is actually I was worried that big filesize might get some of the players of the game upset because the game would be too large of a download and take up too much disk space, since it has always been quite a small game in terms of disk space in the past, and I wanted to avoid any sort of backlash or criticism over that. But then there was backlash and criticism over the low sound quality of MIDI and then I realized my predictions of how other people would react were incorrect. So I am fairly neutral on this but I will go ahead and cast my vote for Ogg Vorbis instead of MIDI this time because I think that maybe the sound quality should take precedence over disk space and because a lot of the MIDI files I found don't sound as good as some Ogg recordings I might be able to get for the same songs.

Anyway, either choice, Ogg Vorbis or MIDI, is equally valid from my point of view, but the other 5 choices that I listed all have significant drawbacks and I don't think any of them would be suitable choices for the game.

4
Curses / Idea: add MIDI music to LCS
« on: August 09, 2014, 10:58:07 pm »
Alright so I'm a programmer on this game, I just wanted to suggest this idea to see what people's reaction is so I know whether or not implementing this is a good idea.

MIDI Music.

It's a music format with very small file size, the format has been in use for decades, much smaller than OGG or MP3, the exact sound of the instruments might be different depending on your system, but it sounds mostly the same. It has been implemented on pretty much all platforms, and was the most widely used music format back the days of DOS and Windows 3.1.

Advantages: we can add a LOT of music to the game, without significantly increasing the size of the game. The music files would be MIDI files with the .mid file extension, stored in the art directory. This would also make it possible for modders to customize the game by replacing the .mid files with their own MIDI files that they like better. There is a large amount of public domain or Liberally licensed MIDI music that has been released over the decades that would be 100% legal to use in a GNU GPL game, so we wouldn't even need to make any. The music would work on all operating systems that the game currently works on (Windows, Linux, Mac OS X, BSD, other UNIX, and even the HX DOS Extender that runs Win32 Console Applications in pure DOS supports MIDI music... oh yeah and as for the Android port, Android also supports MIDI with its own Java-based API).

Disadvantages: some people don't like music, or expect this game to be silent so that they can listen to other stuff while they play it. So we'd need to make it easy to turn the music OFF for people who don't want it. Also the sound quality of MIDI music isn't as good as other formats.

But it sounds very RETRO, very appropriate for a game with a retro-looking user interface that's text mode. It might be a LITTLE bit hard to implement but I'm sure it's doable... MIDI is about the easiest format in the world to support and plenty of other cross-platform GNU GPL software supports it so most of the code could just be copied from some other project under the same license that uses MIDI music (for instance, some other game under a GPL2+ compatible license, or perhaps a cross-platform audio framework under a GPL2+ compatible license). So many people have coded cross-platform MIDI interfaces in so many different projects under compatible licenses that we probably have hundreds of MIDI implementations to choose from, so no need for us to reinvent the wheel (we'd probably look for something super-simple that only works with MIDI and not any other formats, so as not to complicate the code too much).

Anyway, who WANTS MIDI music in Liberal Crime Squad, who DOESN'T CARE, and who thinks it's a BAD IDEA or HATES it? Or does anyone want to use some other format like OGG or something (personally I think using a different format would be a waste of disk space, for a nice small retro game like this, plus MIDI is lossless unlike MP3 and OGG and you can freely edit MIDI files using a MIDI sequencer without any loss of data and the file size is incredibly compact and the wide support on basically all operating systems is also a big plus).

The only REAL downside to MIDI music is, on some systems, certain instruments are louder than others, while it is different on other systems, and on some systems, certain instruments decrease in volume over time while others remain at constant volume as long as the note is played, and that implementation detail varies depending on which MIDI sequencer (typically a soft synthesizer although some computers use hardware synthesizers) you are using. So if you get it to sound really good in the built-in soft synthesizer MS Windows uses, and then play the same MIDI file on Linux or Mac OS X, as just one example, it is possible the melody track might be less loud than it should be and some background harmony track might be louder than it should be, making it not sound as good as it ought to. But this is not really that big of a deal unless you are some kind of perfectionist... if you have a well-made MIDI file where the melody track is at a higher volume than all the harmony tracks and you don't use overly long notes that last for multiple measures, it ought to sound perfectly fine on any system. So if a MIDI file doesn't sound good on all systems, it's just not a very good MIDI file, but this is easy to fix by editing it in a MIDI sequencer.

So, please answer the poll at the top and if you have any comments or questions on this idea please post them below. I'm interested in hearing from both other developers/programmers and from users/players of the game, before I decide whether or not this is something that ought to be done.

5
Curses / Fixes for Code::Blocks IDE
« on: July 29, 2013, 05:48:24 pm »
I tried compiling Liberal Crime Squad's latest SVN version in Code::Blocks under Windows (32-bit). Well it turns out the "game.cbp" file in the "workspaces" directory has a few problems. First of all, it's only set up to tell where to find header files and such for Debug builds, not for Release builds, so you can't compile or build Release builds, just Debug ones. But then, there is even a problem there, because the "news.cpp" file is in the "news" directory rather than the "daily" directory like the "game.cbp" file says. So I fixed both of those problems. Also it was only set up to do optimization level -O2 for GCC instead of -O3, and -O3 optimizes the code to run the fastest. So I fixed that too. Then I noticed that the compiled program I got from this, in Code::Blocks, had no icon. So I looked up how to give an icon to a program. Apparently I had to write a short file with the ".rc" extension to tell it to include the icon in "lcs_news_icon.ico". So I called the file "lcs_news_icon.rc" and put it in the same "workspaces" directory as both "lcs_news_icon.ico" and "game.cbp", and added it as a resource to the project/workspace/whatever. Anyway, this worked, and now the program compiles and builds perfectly in Code::Blocks under 32-bit Windows, and has the icon built-in, and is optimized to run as fast as possible. So, since I don't have the ability to modify code in the SourceForge project, I am going to list the contents of both files, my updated "game.cbp" and the "lcs_news_icon.rc" that goes in the same "workspaces" directory. This way you'll be able to compile and build this in Code::Blocks without any problems.

Here is my new updated "game.cbp" file in the "workspaces" directory:

Code: [Select]
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<CodeBlocks_project_file>
<FileVersion major="1" minor="6" />
<Project>
<Option title="Liberal Crime Squad" />
<Option pch_mode="2" />
<Option compiler="gcc" />
<Build>
<Target title="Debug">
<Option output="Debug/crimesquad.exe" prefix_auto="0" extension_auto="0" />
<Option object_output="Debug/obj" />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
<Add option="-g" />
<Add directory="../src" />
<Add directory="../src/pdcurses" />
</Compiler>
<Linker>
<Add library="..\src\pdcurses\pdcurses.lib" />
</Linker>
</Target>
<Target title="Release">
<Option output="Release/crimesquad.exe" prefix_auto="0" extension_auto="0" />
<Option object_output="Release/obj" />
<Option type="1" />
<Option compiler="gcc" />
<Compiler>
<Add option="-fexpensive-optimizations" />
<Add option="-O3" />
<Add directory="../src" />
<Add directory="../src/pdcurses" />
</Compiler>
<Linker>
<Add option="-s" />
<Add library="..\src\pdcurses\pdcurses.lib" />
</Linker>
</Target>
</Build>
<Compiler>
<Add option="-Wall" />
</Compiler>
<Unit filename="../src/basemode/activate.cpp" />
<Unit filename="../src/basemode/activate_sleepers.cpp" />
<Unit filename="../src/basemode/baseactions.cpp" />
<Unit filename="../src/basemode/basemode.cpp" />
<Unit filename="../src/basemode/liberalagenda.cpp" />
<Unit filename="../src/basemode/reviewmode.cpp" />
<Unit filename="../src/cmarkup/Markup.cpp" />
<Unit filename="../src/cmarkup/Markup.h" />
<Unit filename="../src/combat/chase.cpp" />
<Unit filename="../src/combat/fight.cpp" />
<Unit filename="../src/combat/haulkidnap.cpp" />
<Unit filename="../src/common/commonactions.cpp" />
<Unit filename="../src/common/commondisplay.cpp" />
<Unit filename="../src/common/consolesupport.cpp" />
<Unit filename="../src/common/equipment.cpp" />
<Unit filename="../src/common/getnames.cpp" />
<Unit filename="../src/common/help.cpp" />
<Unit filename="../src/common/misc.cpp" />
<Unit filename="../src/common/translateid.cpp" />
<Unit filename="../src/compat.cpp" />
<Unit filename="../src/compat.h" />
<Unit filename="../src/configfile.cpp" />
<Unit filename="../src/configfile.h" />
<Unit filename="../src/creature/creature.cpp" />
<Unit filename="../src/creature/creature.h" />
<Unit filename="../src/creature/creaturenames.cpp" />
<Unit filename="../src/creature/creaturetypes.cpp" />
<Unit filename="../src/cursesgraphics.cpp" />
<Unit filename="../src/cursesgraphics.h" />
<Unit filename="../src/cursesmovie.cpp" />
<Unit filename="../src/cursesmovie.h" />
<Unit filename="../src/daily/activities.cpp" />
<Unit filename="../src/daily/daily.cpp" />
<Unit filename="../src/daily/date.cpp" />
<Unit filename="../src/daily/interrogation.cpp" />
<Unit filename="../src/daily/recruit.cpp" />
<Unit filename="../src/daily/shopsnstuff.cpp" />
<Unit filename="../src/daily/siege.cpp" />
<Unit filename="../src/externs.h" />
<Unit filename="../src/game.cpp" />
<Unit filename="../src/includes.h" />
<Unit filename="../src/items/armor.cpp" />
<Unit filename="../src/items/armor.h" />
<Unit filename="../src/items/armortype.cpp" />
<Unit filename="../src/items/armortype.h" />
<Unit filename="../src/items/clip.cpp" />
<Unit filename="../src/items/clip.h" />
<Unit filename="../src/items/cliptype.cpp" />
<Unit filename="../src/items/cliptype.h" />
<Unit filename="../src/items/item.cpp" />
<Unit filename="../src/items/item.h" />
<Unit filename="../src/items/itemtype.cpp" />
<Unit filename="../src/items/itemtype.h" />
<Unit filename="../src/items/loot.cpp" />
<Unit filename="../src/items/loot.h" />
<Unit filename="../src/items/loottype.cpp" />
<Unit filename="../src/items/loottype.h" />
<Unit filename="../src/items/money.cpp" />
<Unit filename="../src/items/money.h" />
<Unit filename="../src/items/weapon.cpp" />
<Unit filename="../src/items/weapon.h" />
<Unit filename="../src/items/weapontype.cpp" />
<Unit filename="../src/items/weapontype.h" />
<Unit filename="../src/lcsio.cpp" />
<Unit filename="../src/lcsio.h" />
<Unit filename="../src/locations/locations.cpp" />
<Unit filename="../src/locations/world.cpp" />
<Unit filename="../src/log/log.cpp" />
<Unit filename="../src/log/log.h" />
<Unit filename="../src/monthly/endgame.cpp" />
<Unit filename="../src/monthly/justice.cpp" />
<Unit filename="../src/monthly/lcsmonthly.cpp" />
<Unit filename="../src/monthly/monthly.cpp" />
<Unit filename="../src/monthly/sleeper_update.cpp" />
<Unit filename="../src/news/ads.cpp" />
<Unit filename="../src/news/headline.cpp" />
<Unit filename="../src/news/layout.cpp" />
<Unit filename="../src/news/majorevent.cpp" />
<Unit filename="../src/news/news.cpp" />
<Unit filename="../src/news/news.h" />
<Unit filename="../src/news/squadstory_text.cpp" />
<Unit filename="../src/pdcurses/curses.h" />
<Unit filename="../src/politics/alignment.h" />
<Unit filename="../src/politics/law.cpp" />
<Unit filename="../src/politics/law.h" />
<Unit filename="../src/politics/politics.cpp" />
<Unit filename="../src/sandbox/creature_test.h" />
<Unit filename="../src/sandbox/globals.h" />
<Unit filename="../src/sandbox/injury_test.h" />
<Unit filename="../src/sandbox/lcscommon.h" />
<Unit filename="../src/sandbox/location_test.h" />
<Unit filename="../src/sandbox/weapon.h" />
<Unit filename="../src/sitemode/advance.cpp" />
<Unit filename="../src/sitemode/mapspecials.cpp" />
<Unit filename="../src/sitemode/miscactions.cpp" />
<Unit filename="../src/sitemode/newencounter.cpp" />
<Unit filename="../src/sitemode/shop.cpp" />
<Unit filename="../src/sitemode/shop.h" />
<Unit filename="../src/sitemode/sitedisplay.cpp" />
<Unit filename="../src/sitemode/sitemap.cpp" />
<Unit filename="../src/sitemode/sitemap.h" />
<Unit filename="../src/sitemode/sitemode.cpp" />
<Unit filename="../src/sitemode/stealth.cpp" />
<Unit filename="../src/sitemode/talk.cpp" />
<Unit filename="../src/title/highscore.cpp" />
<Unit filename="../src/title/initfile.cpp" />
<Unit filename="../src/title/newgame.cpp" />
<Unit filename="../src/title/saveload.cpp" />
<Unit filename="../src/title/titlescreen.cpp" />
<Unit filename="../src/vector.h" />
<Unit filename="../src/vehicle/vehicle.cpp" />
<Unit filename="../src/vehicle/vehicle.h" />
<Unit filename="../src/vehicle/vehicletype.cpp" />
<Unit filename="../src/vehicle/vehicletype.h" />
<Unit filename="lcs_news_icon.rc">
<Option compilerVar="WINDRES" />
</Unit>
<Extensions>
<code_completion />
<envvars />
<debugger />
<lib_finder disable_auto="1" />
<editor_config active="1" use_tabs="1" tab_indents="0" tab_width="3" indent="3" eol_mode="0" />
<DoxyBlocks>
<comment_style block="0" line="0" />
<doxyfile_project />
<doxyfile_build />
<doxyfile_warnings />
<doxyfile_output />
<doxyfile_dot />
<general />
</DoxyBlocks>
</Extensions>
</Project>
</CodeBlocks_project_file>

Here is the new file "lcs_news_icon.rc" in that same "workspaces" directory":
Code: [Select]
#ifndef _resource_rc
#define _resource_rc

MAINICON ICON "lcs_news_icon.ico"

#endif

Anyway, somebody should update the project with both of these files, so that people who download the source code can compile it in Code::Blocks without any problems. Please. Thank you.

Oh, and if anyone is wondering which installer for Code::Blocks to download, if you want to compile Liberal Crime Squad in Windows, pick the one that has "mingw" in the filename but NOT "user" in the filename. Currently that is "codeblocks-12.11mingw-setup.exe", which you can find here. Then with the 2 files I gave the code for above, you'll be able to compile the source code for the latest SVN builds of Liberal Crime Squad (currently build 693). It might even work to compile for Linux or Mac OS X, I am not sure, but it definitely works for compiling it on Windows.

Anyway, I hope you include these 2 files I'm contributing so that compiling in Code::Blocks works again.

UPDATE: Updated "game.cbp" file so Release builds have the filename "crimesquad.exe" instead of "Liberal Crime Squad.exe" just as already done with Debug builds, and so that Release build objects are stored in an "obj" subdirectory just as already done with Debug builds.

6
Curses / Juice
« on: February 26, 2011, 10:55:34 pm »
OK this is a really simple question. There is a page on the wiki about Juice at http://lcs.wikidot.com/juice and I was wondering if the site actions (like for instance stealing things or tampering with a jury) give you Juice whenever your Juice is below the maximum of 1000, or if they can stop adding to your juice earlier. You see I was stealing things and jury tampering and my Juice stopped going up after it was above 200. I wonder which crimes you have to commit to have Juice keep going up after that. The wiki doesn't actually say anything about that for site actions you do on raids, and it only lists there being some limits for getting juice from activities such as street demonstrations or hacking or doing graffiti murals. I would like to correct any errors with Juice on the wiki page about Juice if possible. Also I would like to know this so I know how to get my Juice all the way up to 1000 without getting my characters killed or in jail for a really really long time (yes I know you can escape if the police raid you, and you can bust someone out of the police station or courthouse jail or even the prison, and of course there is a whole big thing about how trials work, where it is good to have a sleeper lawyer and sleeper judge or if you defend yourself, lots of law skill, heart, intelligence, persuasion... anyway I want to avoid all that and be able to just keep doing petty crime such as theft after I break into places while wearing the proper disguise... I don't want to get in the news or activate the Conservative Crime Squad or be too violent, as I'm much more into covert actions, and there HAS to be a better way to get Juice than just going around killing the Conservatives). So the question is basically, what errors are there on the page http://lcs.wikidot.com/juice especially with regard to caps for how high your juice can get from different things, and what would be a good way I could get some juice once my juice gets up to 200 and the usual methods such as theft no longer work?

7
Hello everyone, this question is fairly simple. First off, there is a list of skills at http://lcs.wikidot.com/skills which might not be up to date for the latest version, 4.03.1. Anyway, I have a question that I would like everyone who knows anything about this to answer, well actually 2 questions technically.

Part 1) Which skills can't be learned from scratch? For instance, if your skill level for something is 0, which skills are you unable to learn by doing (for instance Computers and First Aid, and possibly Security, I think)? And which skills can't be learned by doing at all even if you have a point in them (for instance Religion and maybe also Business, I think)?

Part 2) Which skills can't be taught? Like if you are teaching other Liberals skills (which costs money), which are the ones you can't teach them (I think this would include Teaching, and it used to include Leadership, maybe a few others)?

Oh and there's also a part 3 I thought of:

Part 3) Which skills can be used by Conservatives to resist brainwashing (i.e. Business, Religion, Science, I think) and what are the ways those can be learned? Like can you learn them by talking to people about issues or by interrogating prisoners or stuff like that?

And of course I just thought of a part 4:

Part 4) Which skills were added or removed or renamed in recent versions (like Leadership was removed I think, and Psychology used to be called Interrogation I think)?

Anyway, anyone who knows the answers to any of these questions please post a response to this so I can figure out this whole thing with skills. I've noticed at least one change. It seems in recent versions the skill Security, used to pick locks, cannot be trained unless you already have 1 point in it already (similar to Computers and First Aid, I think). And if Leadership is gone, what is used to determine maximum follower count? Just Juice and Liberal Rank?

O.K. I guess that's more than one question. :P Well please post answers to that stuff here so I can figure this out. Then I'll see if I can get all the info onto the wiki at http://lcs.wikidot.com/skills so people can keep track of it. Thanks everyone. The reason I'm asking is if you are one of the people who helps write the game or knows the source code or plays it a lot you might know stuff about this I don't so I'd like to be able to sort of have a more complete guide to skills on the wiki at http://lcs.wikidot.com/skills than it has currently, but I don't have enough information yet to make a guide like that. I've played this game a few years on occasion and some of the changes in the newer versions I don't quite understand fully with regard to skills, especially the big surprise I found in the latest version when I couldn't just send an amateur out to try to pick locks in apartments to learn Security when they didn't have that skill yet. A comprehensive list of each of these kinds of skills that's harder to learn in some way (can't learn by doing, need at least one point to learn by doing, or can't be taught by someone else) would really help and maybe we could make one of those lists together or something. Anyway please help me figure this out so we can get it on the wiki and then not have any trouble understanding this anymore, and so other people can understand this stuff about how to learn each skill also. The descriptions on the wiki of how to learn each skill are not that good and don't cover these questions I am wondering about, and might even have some inaccuracies but I'm not really sure.

8
Curses / CIA moonlights in corporate world
« on: February 02, 2010, 04:13:16 am »
Check out this news story from Politico about CIA operatives moonlighting for corporations to make more money.  Obviously this feature needs to be added to the game somehow, by having the game have some sort of alliance between the CIA and the corporations.  The 2 organizations could care about some of each others' issues, there would be CIA agents at corporate headquarters and corporate managers and CEOs at CIA headquarters, and there would also be news stories you could uncover for the Liberal Guardian about this.  Those are just some suggestions on how to add in a CIA-corporate alliance sort of similar to the one in the news story from Politico.  I am not exactly sure of the best way to add this to the game.  If we just want to stick to what's in the news story, we could just have CIA agents at corporate headquarters, and any fighting with any CIA agents stationed there would have a good chance to provoke a response from the CIA.  Actually I doubt many people in the corporate world have the CIA security clearances required to get into CIA headquarters, so maybe there wouldn't be a corporate presence at the CIA building itself, just a CIA presence at corporate headquarters.  There also could be a military-industrial complex where the corporation and military are involved with each other, but we certainly don't have soldiers marching through corporate headquarters in the real world... instead we might have some corporate managers in the military base.  Actually there could be military officers at the corporate headquarters as well, there to oversee various government contracts to make tanks and guns and such, but these officers would not be heavily armed while in the corporate headquarters, since there are metal detectors to get in (at actual corporations).  And the CIA and military (in the real world) famously do not get along with each other and have a lot of rivalry, so there shouldn't be any alliance between them.  Another real-world note: technically the CIA is forbidden by law from operating on American soil.  If the FBI isn't in the game you could add that (it is a law enforcement agency but also anti-terrorism, and if the LCS engages in any activities that could be classified as "terrorism", the FBI might get involved), or maybe the NSA (National Security Agency), which is the agency responsible for all espionage conducted against Americans on our own soil.  There is also the ATF (Alcohol Tobacco and Firearms) and there is ICE (Immigration and Customs Enforcement).  (ICE replaced the INS, Immigration and Naturalization Service, which no longer exists.)  I don't know, maybe half these things are in the game already and I didn't notice.  Adding all those government agencies might be overkill.

Also a little note about seduction and sex: it is ridiculously easy to seduce people into having sex, with corny pickup lines that would never work in the real world.  While this is patently absurd, I do think it is a big part of the charm of this game, so perhaps sticking to reality isn't that important.  And maybe there isn't any need to add in any "alliances" between various Conservative organizations in the game, since they are already all allied in the Conservative cause anyway.  What do other people think about this?  Are my ideas just silly?  Oh and I do think soliciting donations from people you meet and talk about the issues with should be added back.  After all, you can only meet with a certain number of people now, and the other meetings don't happen because of scheduling conflicts.  And the amount of money you get doesn't have to be that much; it should depend on the occupation of the person.  For instance, Hippies don't have much money since they oppose capitalism, and Corporate CEOs have huge amounts so they would pay the most out of any job.  Certain underworld occupations might say they don't have money, but then give something else instead of money, like a prostitute would give you free sex, a crack head would give you some crack cocaine, a gang member would offer you guns and ammo at a discount, and a transient would feel rejected and "woe is me" when you ask for money and commit suicide right in front of you in a hilarious emo fashion, leaving behind a magical voodoo "good luck" charm that is actually cursed, which you need to sell at a pawnshop or else your whole crime squad will have bad luck until you get rid of it (bad luck = more likely for bad things to happen to you, less likely for you to succeed at things).  Anyway, if you have really high Seduction, pretty much everyone says yes if you ask them out, so you can commit a lot of crimes somewhere (stealing, etc.) and as long as you ask out every Conservative you see, the Conservatives do not get alarmed and there is no fighting.  Shouldn't some Conservatives at least sometimes get alarmed as soon as they see you, before you do anything?  Shouldn't they reject you when you hit on them at least 10% or 20% of the time, no matter how good you are?  The game is a little too easy in that regard, allowing Liberals to get away with lots of crimes just by asking out any Conservatives they meet.  Sure, you lose a little juice after the operation is over and everyone you scheduled dates with realizes you scheduled multiple dates, but that tiny amount of juice is easy to win back on your next operation, and no Conservatives will even try to stop you as long as you seduce everyone.  So yeah those are just some ideas.

9
Curses / Run the game in DOS!
« on: January 28, 2010, 04:49:43 am »
Try this: HX DOS Extender - a Win32 emulator for DOS, basically.

You can run Liberal Crime Squad in DOS!  (Probably... LCS is a Win32 console application and those work under HX DOS Extender in DOS.)  TRY IT!  If you dare...  I have not tried it yet myself, but I am pretty sure it will work.  If you don't have DOS installed, use a DOS emulator, or something.  The HX DOS Extender webpage tells which DOS emulators it works with.  HAVE FUN!  (You might also need a program called DOSLFN that allows Long File Names under DOS, I'm not sure.  Also you should try running under both MS-DOS 7.10 and FreeDOS 1.0, as well as any DOS emulators like DOSBox or DOSEMU, or PC emulators like QEMU, and try other versions of DOS too if you dare.  Lots of experiments you could do.  If you still have a floppy disk drive on your computer, you'll find it makes it easier to boot into DOS, and perhaps if you are daring, you could make a Liberal Crime Squad boot disk that loads DOS, loads HX DOS Extender, and starts Liberal Crime Squad right from AUTOEXEC.BAT.  HINT: to fit Liberal Crime Squad onto a floppy, use UPX to compress the main executable.)

Anyway, if you still have an old DOS computer laying around, it's probably just a simple matter of running HX DOS Extender and then running Liberal Crime Squad, although to be honest, you probably also need to run DOSLFN as well since it seems some of the files used by Liberal Crime Squad have long file names.  Still, it can be done.  Probably.  Someone with spare time on their hands who likes experimenting, please test my theories and post results.  I may get around to testing them myself if I find the time.

10
Curses / Features that will probably never be added
« on: May 16, 2009, 06:11:53 am »
I have a friend who plays Liberal Crime Squad (in fact he was the one who first told me about the game) and he recently complained to me that it does not have mouse support or a Graphical User Interface (GUI). He said it doesn't necessarily have to be actual graphics, but just have a point-and-click mouse interface that you can use if you don't like using the text interface for everything. I am not sure if the curses library supports using the mouse, although you can use a mouse in Win32 console applications and this feature is duplicated if you run a Win32 console application in Wine. I doubt that mouse support will be added, so how about everyone else posts some features that they think would be cool but are so complicated or hard to implement that they will probably never make it into the game?

I thought of another feature that will never make it into the game: sound effects!

Or how about this one: at the beginning you could choose whether to play as Liberals or Conservatives, and if you play as Conservative all the government and public opinion would start out Liberal instead of Conservative and you'd have to fight to get everything all Conservative. Seeing as we have Obama as president and Democrats with big majorities in both houses of Congress along with a Supreme Court vacancy right now, I think now is the perfect time for a Conservative Crime Squad or Mad Teabagging Party, whatever you want to call it.

Instead of just adding graphics, we could add 3D graphics that are rendered using the latest technology and require DirectX 9.0c or later, or some equivalent relatively new version of OpenGL.

Mutiplayer 2-player game support over the Internet, with one person playing as Liberal and the other playing as Conservative, and the government and public opinion all starting out Moderate.

Multiplayer support that turns the game into a MMORPG (in 3D of course, with lots of sound effects). People could play as teams and complete quests to level up, or something like that, or it could be completely pointless like Second Life.

The feature to have the game actually affect politics in the real world the same way it affects them in the game (e.g. if you get all drugs legalized in the game, it also happens in the real world simultaneously).

Make the game into an old-fashioned first-person shooter for DOS like Wolfenstein 3D where you try to kill as many Conservatives as possible.

Port the game to the iPhone.

Give Priests, Nuns, and Amateur Magicians magical powers, and add a Magic skill. Priests and Nuns would each have spells to call upon the power of God, and Amateur Magicians would call upon the power of Satan. Priests would be able to have God smite someone (a powerful magical attack requiring no physical weapon), Nuns would have magical healing abilities (to heal themselves and allies), and Amateur Magicians would be able to use demonic possession to take control of an enemy (similar to brainwashing except instantaneous). People under demonic possession would be a little... different. They would have exceptional fighting abilities but would attack everyone in sight, except perhaps the person who summoned the demons that are possessing them. There would also be a feature to perform an exorcism on someone who is possessed by demons, although I am not sure how exactly that would work. Certain items might aid practitioners of magic, but be useless to everyone else.

Translate the game into lots of foreign languages so people who do not know English can play, and keep the vast number of translated versions up-to-date with each new version of the game.

Add Braille support so blind people can play the game.

Add the feature to permanently delete the entire contents of your system32 directory because it is filled with nothing but spyware.

Cure the disease of red-green colorblindness so people who suffer from it can tell Liberals (green) from Conservatives (red).

Put in targeted advertisements for various prescription drugs for erectile dysfunction in order to make money off the game.

Train dogs to play the game.

OK now everyone else post your own ideas for features that will probably never be added!  ::)

11
Curses / Possible bug with cap for Survival skill
« on: September 12, 2008, 07:16:04 am »
Look at this code from commonactions.cpp in version 3.15.1:

Code: [Select]
/* common - returns the creature's maximum level in the given skill */
int maxskill(int skill,creaturest& cr)
{
   switch(skill)
   {
   case SKILL_HANDTOHAND:
   case SKILL_SWORD:
   case SKILL_IMPROVISED:
      return (cr.attval(ATTRIBUTE_STRENGTH)+cr.attval(ATTRIBUTE_AGILITY))/2;
   case SKILL_CLUB:
      return cr.attval(ATTRIBUTE_STRENGTH);
   case SKILL_KNIFE:
   case SKILL_PISTOL:
   case SKILL_RIFLE:
   case SKILL_SMG:
   case SKILL_SHOTGUN:
   case SKILL_DRIVING:
   case SKILL_SLEIGHTOFHAND:
   case SKILL_STEALTH:
      return cr.attval(ATTRIBUTE_AGILITY);
   case SKILL_PERSUASION:
   case SKILL_DISGUISE:
   case SKILL_SEDUCTION:
      return cr.attval(ATTRIBUTE_CHARISMA);
   case SKILL_ART:
   case SKILL_MUSIC:
   case SKILL_COOKING:
      return (2*cr.attval(ATTRIBUTE_HEART)+cr.attval(ATTRIBUTE_AGILITY))/3;
   case SKILL_WRITING:
      return (cr.attval(ATTRIBUTE_INTELLIGENCE)+cr.attval(ATTRIBUTE_HEART))/2;
   case SKILL_RELIGION:
      return (2*cr.attval(ATTRIBUTE_WISDOM)+cr.attval(ATTRIBUTE_HEART))/3;
   case SKILL_BUSINESS:
      return (cr.attval(ATTRIBUTE_CHARISMA)+cr.attval(ATTRIBUTE_WISDOM)+cr.attval(ATTRIBUTE_INTELLIGENCE))/3;
   case SKILL_MEDICAL:
   case SKILL_SECURITY:
   case SKILL_GARMENTMAKING:
      return (cr.attval(ATTRIBUTE_INTELLIGENCE)+cr.attval(ATTRIBUTE_AGILITY))/2;
   case SKILL_INTERROGATION:
   case SKILL_TEACHING:
      return (cr.attval(ATTRIBUTE_INTELLIGENCE)+cr.attval(ATTRIBUTE_CHARISMA))/2;
   case SKILL_SCIENCE:
   case SKILL_LAW:
   case SKILL_COMPUTERS:
   case SKILL_STREETSENSE:
   case SKILL_TACTICS:
      return cr.attval(ATTRIBUTE_INTELLIGENCE);
   case SKILL_LEADERSHIP:
      if(cr.juice<10)return 0;
      if(cr.juice<50)return 1;
      if(cr.juice<100)return 2;
      if(cr.juice<200)return 3;
      if(cr.juice<500)return 4;
      return 5;
   default:
      return -1;
   }
}

There is a problem. SKILL_SURVIVAL is not mentioned at all. This means that the skill cap for the Survival skill is -1, so nobody can ever increase their Survival skill, ever, if I am understanding the code correctly. I looked at the latest SVN and while more skills have been added into this function, SKILL_SURVIVAL is still missing. Is it missing from there on purpose or is this an actual bug? Is it by design that the Survival skill cannot be learned? In earlier versions I think Survival might have been dependent on Intelligence, like Science, Law, Computers, Street Sense, and Tactics, but I am not exactly sure. Anyway the wiki now says what stats each skill is based on, and it is completely accurate since I based it on the source code from commonactions.cpp in version 3.15.1. The previous version said Survival was based on Intelligence but now it says the cap is -1 because that is the truth. I wonder whether there is some secret mechanism for increasing the Survival skill in some other file of the source code, though. I did a text search on all the files for SKILL_SURVIVAL and while it does come up a lot, I do not see anywhere where it looks like it is being modified, except during character creation. Is this a skill you are planning on deleting from the game or something? I am just rather confused about this.

12
Curses / Bug if you give up during police raid
« on: September 09, 2008, 03:55:42 am »
This bug is pretty simple, if I give up during a police raid, it crashes the game.  I am running version 3.15.1 of Liberal Crime Squad on Windows XP. I can send you the save.dat file for the day the raid happens, if you need it. Then you can just load up that save.dat file, press G to give up, and the program will crash. :( I am not sure why this happens; the only people in the Homeless Shelter when the raid happens are my founder and a Corporate Manager hostage that I had been interrogating. Everyone else is safely in another location. My reason for doing this: my founder had committed a lot of crimes and I wanted just the founder to go on trial and nobody else, so that the founder could be acquitted and the cops would leave everyone else alone to continue doing lesser crimes. My founder has high Heart, Intelligence, Charisma, Persuasion, and Law, plus I also have a sleeper lawyer and a sleeper judge, so I'd have pretty good chances of finding a way to get him acquitted, since I back up save.dat files all the time. ;D

On a related note, I have read posts that mention a bug regarding getting Elite Liberals in the Senate. I have not gotten that far in the game in version 3.15.1, but this problem certainly did not exist in version 3.12.2 (so it is a regression). Have you fixed it, and if so, can you fix this other bug too and then release a new beta that incorporates these bugfixes?

Thank you very much and I really like the game! Version 3.15.1 does have some very good changes over previous versions, by the way. I need not mention the changes here, people can find them out by playing for themselves. ;) However, since the game is basically impossible to beat due to the Senate bug, I think it is kinda important to at least fix that one and release a new beta soon, since who would want to play a game that is completely impossible to win? (besides me)

Pages: [1]