nwn-lib 0.3.5 → 0.3.6
Sign up to get free protection for your applications and to get access to all the features.
- data/CHANGELOG +12 -0
- data/Rakefile +4 -4
- data/bin/nwn-gff-import +0 -0
- data/bin/nwn-gff-irb +10 -2
- data/bin/nwn-gff-print +0 -0
- data/lib/nwn/gff.rb +12 -2
- data/lib/nwn/twoda.rb +2 -2
- metadata +46 -39
data/CHANGELOG
CHANGED
@@ -93,3 +93,15 @@ Bernhard Stoeckner <elven@swordcoast.net> (6):
|
|
93
93
|
doc: update BINARIES, CHEATSHEET
|
94
94
|
nwn-gff-import: fix reading stdin as -
|
95
95
|
0.3.5-rel
|
96
|
+
|
97
|
+
=== 0.3.6
|
98
|
+
Bernhard Stoeckner <elven@swordcoast.net> (5):
|
99
|
+
NWN::Gff::Struct: do not sort yaml_properties
|
100
|
+
kivinen_format: print out structs in sorted order
|
101
|
+
nwn-gff-irb: support for reading/writing .yml files
|
102
|
+
NWN::Gff::Gff: do not sort yaml_properties
|
103
|
+
Rakefile: use gem1.8 instead of gem
|
104
|
+
0.3.6-rel
|
105
|
+
|
106
|
+
Stuart Coyle <stuart.coyle@gmail.com> (1):
|
107
|
+
TwoDA: use four spaces for field separation instead of tabs, indent columns
|
data/Rakefile
CHANGED
@@ -9,7 +9,7 @@ include FileUtils
|
|
9
9
|
# Configuration
|
10
10
|
##############################################################################
|
11
11
|
NAME = "nwn-lib"
|
12
|
-
VERS = "0.3.
|
12
|
+
VERS = "0.3.6"
|
13
13
|
CLEAN.include ["**/.*.sw?", "pkg", ".config", "rdoc", "coverage"]
|
14
14
|
RDOC_OPTS = ["--quiet", "--line-numbers", "--inline-source", '--title', \
|
15
15
|
'nwn-lib: a ruby library for accessing NWN resource files', \
|
@@ -52,18 +52,18 @@ end
|
|
52
52
|
desc "Install nwn-lib gem"
|
53
53
|
task :install do
|
54
54
|
sh %{rake package}
|
55
|
-
sh %{sudo
|
55
|
+
sh %{sudo gem1.8 install pkg/#{NAME}-#{VERS}}
|
56
56
|
end
|
57
57
|
|
58
58
|
desc "Install nwn-lib gem without docs"
|
59
59
|
task :install_no_docs do
|
60
60
|
sh %{rake package}
|
61
|
-
sh %{sudo
|
61
|
+
sh %{sudo gem1.8 install pkg/#{NAME}-#{VERS} --no-rdoc --no-ri}
|
62
62
|
end
|
63
63
|
|
64
64
|
desc "Uninstall nwn-lib gem"
|
65
65
|
task :uninstall => [:clean] do
|
66
|
-
sh %{sudo
|
66
|
+
sh %{sudo gem1.8 uninstall #{NAME}}
|
67
67
|
end
|
68
68
|
|
69
69
|
desc "Upload nwn-lib gem to rubyforge"
|
data/bin/nwn-gff-import
CHANGED
File without changes
|
data/bin/nwn-gff-irb
CHANGED
@@ -23,12 +23,20 @@ else
|
|
23
23
|
end
|
24
24
|
$file = File.expand_path(file)
|
25
25
|
|
26
|
-
|
26
|
+
if File.extname($file) == ".yml"
|
27
|
+
GFF = YAML.load(bytes)
|
28
|
+
else
|
29
|
+
GFF = NWN::Gff::Reader.read(bytes)
|
30
|
+
end
|
27
31
|
|
28
32
|
def save destination = nil
|
29
33
|
destination ||= $file
|
30
34
|
puts "Saving to ´#{destination}' .."
|
31
|
-
|
35
|
+
if File.extname($file) == ".yml"
|
36
|
+
bytes = GFF.to_yaml
|
37
|
+
else
|
38
|
+
bytes = NWN::Gff::Writer.dump(GFF)
|
39
|
+
end
|
32
40
|
File.open(destination, "w") {|f|
|
33
41
|
f.write(bytes)
|
34
42
|
}
|
data/bin/nwn-gff-print
CHANGED
File without changes
|
data/lib/nwn/gff.rb
CHANGED
@@ -95,7 +95,7 @@ module NWN
|
|
95
95
|
case s.type
|
96
96
|
when :struct
|
97
97
|
yield(prefix + " ____struct_type", struct_id.nil? ? s.value.struct_id : struct_id) if types_too
|
98
|
-
s.value.each {|k,v|
|
98
|
+
s.value.sort.each {|k,v|
|
99
99
|
kivinen_format v, prefix + s.label + (s.label == "" ? "" : "/"), types_too do |l,v|
|
100
100
|
yield(l, v)
|
101
101
|
end
|
@@ -163,6 +163,16 @@ class NWN::Gff::Gff
|
|
163
163
|
@hash
|
164
164
|
end
|
165
165
|
|
166
|
+
def to_yaml( opts = {} )
|
167
|
+
YAML::quick_emit( self, opts ) do |out|
|
168
|
+
out.map( taguri, to_yaml_style ) do |map|
|
169
|
+
to_yaml_properties.each do |m|
|
170
|
+
map.add( m[1..-1], instance_variable_get( m ) )
|
171
|
+
end
|
172
|
+
end
|
173
|
+
end
|
174
|
+
end
|
175
|
+
|
166
176
|
# A simple accessor that can be used to
|
167
177
|
# retrieve or set properties in the struct, delimited by slashes.
|
168
178
|
#
|
@@ -412,7 +422,7 @@ class NWN::Gff::Struct
|
|
412
422
|
NWN::Gff::Element::NonInline.index(x.type)
|
413
423
|
}.size == 0
|
414
424
|
|
415
|
-
to_yaml_properties.
|
425
|
+
to_yaml_properties.each do |m|
|
416
426
|
map.add( m[1..-1], instance_variable_get( m ) ) # unless instance_variable_get( m ).nil?
|
417
427
|
end
|
418
428
|
end
|
data/lib/nwn/twoda.rb
CHANGED
@@ -122,9 +122,9 @@ module NWN
|
|
122
122
|
ret = []
|
123
123
|
ret << "2DA V2.0"
|
124
124
|
ret << ""
|
125
|
-
ret << @columns.join("
|
125
|
+
ret << " " + @columns.join(" ")
|
126
126
|
@rows.each_with_index {|row, idx|
|
127
|
-
ret << [idx].concat(row).join("
|
127
|
+
ret << [idx].concat(row).join(" ")
|
128
128
|
}
|
129
129
|
ret.join("\r\n")
|
130
130
|
end
|
metadata
CHANGED
@@ -1,33 +1,32 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
|
-
rubygems_version: 0.9.0
|
3
|
-
specification_version: 1
|
4
2
|
name: nwn-lib
|
5
3
|
version: !ruby/object:Gem::Version
|
6
|
-
version: 0.3.
|
7
|
-
date: 2008-08-11 00:00:00 +02:00
|
8
|
-
summary: a ruby library for accessing Neverwinter Nights resource files
|
9
|
-
require_paths:
|
10
|
-
- lib
|
11
|
-
email: elven@swordcoast.net
|
12
|
-
homepage: http://nwn-lib.elv.es
|
13
|
-
rubyforge_project: nwn-lib
|
14
|
-
description: a ruby library for accessing Neverwinter Nights resource files
|
15
|
-
autorequire:
|
16
|
-
default_executable:
|
17
|
-
bindir: bin
|
18
|
-
has_rdoc: true
|
19
|
-
required_ruby_version: !ruby/object:Gem::Version::Requirement
|
20
|
-
requirements:
|
21
|
-
- - ">="
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version: 1.8.4
|
24
|
-
version:
|
4
|
+
version: 0.3.6
|
25
5
|
platform: ruby
|
26
|
-
signing_key:
|
27
|
-
cert_chain:
|
28
|
-
post_install_message:
|
29
6
|
authors:
|
30
7
|
- Bernhard Stoeckner
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2008-12-10 00:00:00 +01:00
|
13
|
+
default_executable:
|
14
|
+
dependencies: []
|
15
|
+
|
16
|
+
description: a ruby library for accessing Neverwinter Nights resource files
|
17
|
+
email: elven@swordcoast.net
|
18
|
+
executables:
|
19
|
+
- nwn-gff-print
|
20
|
+
- nwn-gff-irb
|
21
|
+
- nwn-gff-import
|
22
|
+
extensions: []
|
23
|
+
|
24
|
+
extra_rdoc_files:
|
25
|
+
- README
|
26
|
+
- BINARIES
|
27
|
+
- CHEATSHEET
|
28
|
+
- CHANGELOG
|
29
|
+
- COPYING
|
31
30
|
files:
|
32
31
|
- COPYING
|
33
32
|
- CHANGELOG
|
@@ -45,8 +44,9 @@ files:
|
|
45
44
|
- lib/nwn/helpers.rb
|
46
45
|
- BINARIES
|
47
46
|
- CHEATSHEET
|
48
|
-
|
49
|
-
|
47
|
+
has_rdoc: true
|
48
|
+
homepage: http://nwn-lib.elv.es
|
49
|
+
post_install_message:
|
50
50
|
rdoc_options:
|
51
51
|
- --quiet
|
52
52
|
- --line-numbers
|
@@ -57,19 +57,26 @@ rdoc_options:
|
|
57
57
|
- README
|
58
58
|
- --exclude
|
59
59
|
- ^(examples|extras)/
|
60
|
-
|
61
|
-
-
|
62
|
-
|
63
|
-
|
64
|
-
-
|
65
|
-
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
60
|
+
require_paths:
|
61
|
+
- lib
|
62
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
63
|
+
requirements:
|
64
|
+
- - ">="
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: 1.8.4
|
67
|
+
version:
|
68
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
69
|
+
requirements:
|
70
|
+
- - ">="
|
71
|
+
- !ruby/object:Gem::Version
|
72
|
+
version: "0"
|
73
|
+
version:
|
72
74
|
requirements: []
|
73
75
|
|
74
|
-
|
76
|
+
rubyforge_project: nwn-lib
|
77
|
+
rubygems_version: 1.3.0
|
78
|
+
signing_key:
|
79
|
+
specification_version: 2
|
80
|
+
summary: a ruby library for accessing Neverwinter Nights resource files
|
81
|
+
test_files: []
|
75
82
|
|